:root{color-scheme:light;--color-canvas: #f4f6f3;--color-surface: #ffffff;--color-surface-subtle: #f8faf8;--color-surface-muted: #edf1ed;--color-surface-strong: #e2e8e2;--color-text: #18201a;--color-text-soft: #59655d;--color-text-faint: #7b867e;--color-border: #dce3dc;--color-border-strong: #c7d0c8;--color-primary: #245c46;--color-primary-hover: #194a37;--color-primary-soft: #e3f0e9;--color-primary-contrast: #ffffff;--color-accent: #dda93c;--color-accent-soft: #fff3d5;--color-success: #287a56;--color-success-soft: #e4f4eb;--color-warning: #a86110;--color-warning-soft: #fff0d8;--color-danger: #bd3f4c;--color-danger-hover: #a52e3c;--color-danger-soft: #fde9eb;--color-info: #35689a;--color-info-soft: #e8f1fb;--color-sidebar: #14241b;--color-sidebar-hover: #20362a;--color-sidebar-text: #d7e2da;--color-sidebar-soft: #9daf9f;--font-sans: "Noto Sans Thai", "Segoe UI", Tahoma, sans-serif;--font-display: "Noto Sans Thai", "Segoe UI", Tahoma, sans-serif;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: clamp(1.55rem, 2.5vw, 2rem);--text-3xl: clamp(2rem, 4vw, 2.75rem);--leading-tight: 1.25;--leading-normal: 1.55;--leading-relaxed: 1.7;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(20, 36, 27, .05);--shadow-sm: 0 4px 14px rgba(20, 36, 27, .06);--shadow-md: 0 14px 38px rgba(20, 36, 27, .11);--focus-ring: 0 0 0 3px rgba(36, 92, 70, .2);--control-height: 46px;--control-padding-inline: 12px;--control-icon-size: 18px;--select-icon-size: 16px;--select-icon-offset: 14px;--secondary-control-height: 40px;--content-max: 1440px;--reading-max: 920px;--sidebar-width: 256px;--sidebar-collapsed-width: 84px;--table-row-height: 52px;--summary-card-min: 220px;--z-base: 0;--z-sticky: 20;--z-popover: 60;--z-drawer-backdrop: 90;--z-drawer: 100;--z-modal: 120;--z-toast: 200;--breakpoint-mobile: 640px;--breakpoint-tablet: 768px;--breakpoint-shell: 900px;--breakpoint-laptop: 1200px;--breakpoint-desktop: 1440px;--surface: var(--color-canvas);--background: var(--color-canvas);--surface-container-lowest: var(--color-surface);--surface-container-low: var(--color-surface-subtle);--surface-container: var(--color-surface-muted);--surface-container-high: var(--color-surface-muted);--surface-container-highest: var(--color-surface-strong);--surface-variant: var(--color-surface-muted);--on-surface: var(--color-text);--on-surface-variant: var(--color-text-soft);--outline: var(--color-border-strong);--outline-variant: var(--color-border);--primary: var(--color-primary);--on-primary: var(--color-primary-contrast);--primary-container: var(--color-primary-soft);--on-primary-container: var(--color-primary);--primary-fixed: var(--color-primary-soft);--primary-fixed-dim: #c8e0d2;--secondary: var(--color-text-soft);--secondary-container: var(--color-surface-muted);--on-secondary-container: var(--color-text);--tertiary: var(--color-primary);--tertiary-container: var(--color-primary-soft);--tertiary-fixed: var(--color-primary-soft);--tertiary-fixed-dim: #c8e0d2;--on-tertiary-fixed: var(--color-text);--on-tertiary-fixed-variant: var(--color-primary);--error: var(--color-danger);--error-container: var(--color-danger-soft);--on-error-container: #7d1f2a;--font-body: var(--font-sans);--font-headline: var(--font-display);--shadow-soft: var(--shadow-md);--shadow-card: var(--shadow-xs);--space-xs: var(--space-1);--space-base: var(--space-2);--space-sm: var(--space-3);--space-md: var(--space-6);--space-lg: var(--space-10);--space-xl: var(--space-16);--gutter: var(--space-6)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{overflow-x:hidden}button{cursor:pointer}button:disabled{cursor:not-allowed}[hidden]{display:none!important}html{background:var(--color-canvas);scroll-behavior:smooth}body{min-width:0;color:var(--color-text);background:radial-gradient(circle at 92% 0%,rgba(36,92,70,.055),transparent 28rem),var(--color-canvas);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);text-rendering:optimizeLegibility}::selection{color:var(--color-primary-contrast);background:var(--color-primary)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--color-text);font-family:var(--font-display);letter-spacing:-.018em}.display-lg{font-size:var(--text-3xl);font-weight:700;line-height:var(--leading-tight)}.headline-md{font-size:var(--text-2xl);font-weight:700;line-height:var(--leading-tight)}.title-lg,.title-md{font-size:var(--text-xl);font-weight:700;line-height:1.4}.title-md{font-size:var(--text-lg)}.body-md{font-size:var(--text-md)}.label-sm{font-size:var(--text-xs);font-weight:700;letter-spacing:.035em}.caption{color:var(--color-text-soft);font-size:var(--text-sm);line-height:1.5}.muted{color:var(--color-text-soft)}a{color:var(--color-primary);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,summary,select{-webkit-tap-highlight-color:transparent}:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:var(--focus-ring)}.btn{min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font-weight:700;line-height:1.2;text-decoration:none;box-shadow:var(--shadow-xs);transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .12s ease}.btn:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-primary,.btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.btn-secondary,.btn--secondary{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.btn-secondary:hover:not(:disabled),.btn--secondary:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.btn-ghost,.btn--ghost{border-color:transparent;background:transparent;color:var(--color-primary);box-shadow:none}.btn-ghost:hover:not(:disabled),.btn--ghost:hover:not(:disabled){background:var(--color-primary-soft);box-shadow:none}.btn-danger,.btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled),.btn--danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn--sm{min-height:40px;padding-inline:var(--space-4);font-size:var(--text-sm)}.btn--block{width:100%}.input,.select,.textarea{width:100%;min-height:var(--control-height);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input,.select{padding:0 var(--control-padding-inline)}.select-control{min-height:var(--control-height);padding-right:calc(var(--select-icon-offset) + var(--select-icon-size) + var(--space-3));appearance:none;background-color:var(--color-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%2359655d' d='M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--select-icon-offset) center;background-size:var(--select-icon-size);line-height:1.2;cursor:pointer}.select-control::-ms-expand{display:none}.app-icon{width:var(--icon-size, 24px);height:var(--icon-size, 24px);flex:0 0 var(--icon-size, 24px);display:inline-grid;place-items:center;overflow:hidden;font-family:Material Symbols Rounded;font-size:var(--icon-size, 24px);font-style:normal;font-weight:400;font-feature-settings:"liga";font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" var(--icon-optical-size, 24);line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;user-select:none}.textarea{min-height:112px;padding:var(--space-3);resize:vertical}.input:hover,.select:hover,.textarea:hover{border-color:#9eaba0}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary);outline:0;box-shadow:var(--focus-ring)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-surface-muted);color:var(--color-text-faint);cursor:not-allowed}.input::placeholder,.textarea::placeholder{color:var(--color-text-faint)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px #bd3f4c24}.input--saved{border-color:var(--color-success)}.input--save-error{border-color:var(--color-danger)}.field{display:grid;gap:var(--space-2);min-width:0;margin:0 0 var(--space-4)}.field__label{color:var(--color-text);font-size:var(--text-sm);font-weight:700;letter-spacing:0}.field-help{color:var(--color-text-soft);font-size:var(--text-xs);line-height:1.55}.field-error{color:var(--color-danger);font-size:var(--text-sm);font-weight:600}.card,.context-card,.decision-card{min-width:0;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}.decision-card{border-color:#c8dbcf;background:linear-gradient(145deg,#fff,#f4f9f6)}.chip{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:3px 10px;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-soft);font-size:var(--text-xs);font-weight:700;line-height:1.2;white-space:nowrap}.chip--ok{background:var(--color-success-soft);color:var(--color-success)}.chip--wait{background:var(--color-warning-soft);color:var(--color-warning)}.chip--alert{background:var(--color-danger-soft);color:var(--color-danger)}.chip--neutral{background:var(--color-surface-muted);color:var(--color-text-soft)}.banner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border:1px solid #f0cbd0;border-radius:var(--radius-md);background:var(--color-danger-soft);color:#7d1f2a;font-size:var(--text-sm);line-height:1.55}.banner--info{border-color:#cbddef;background:var(--color-info-soft);color:#234e77}.skeleton{overflow:hidden;border-radius:var(--radius-md);background:linear-gradient(100deg,#e7ece8 20%,#f7f9f7,#e7ece8 56%);background-size:220% 100%;animation:ds-shimmer 1.35s ease-in-out infinite}@keyframes ds-shimmer{to{background-position-x:-220%}}.table-wrap{width:100%;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}table{width:100%;border-collapse:separate;border-spacing:0;background:transparent;font-size:var(--text-sm)}th,td{height:var(--table-row-height);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}th{background:var(--color-surface-subtle);color:var(--color-text-soft);font-size:var(--text-xs);font-weight:700;letter-spacing:.025em;text-transform:none}tbody tr{transition:background-color .12s ease}tbody tr:hover{background:#f6faf7}tbody tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.ui-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:var(--radius-xl);background:transparent}.ui-dialog::backdrop{background:#0a160f8c;backdrop-filter:blur(4px)}.ui-dialog__surface{max-height:calc(100dvh - 32px);overflow-y:auto;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-md)}.ui-dialog__head,.ui-dialog__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ui-dialog__message{margin:var(--space-3) 0 var(--space-5)}.ui-dialog__actions{justify-content:flex-end;margin-top:var(--space-6)}.dialog-close{min-width:44px;min-height:44px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-soft)}.dialog-close:hover{background:var(--color-surface-muted)}.toast-host{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:var(--z-toast);width:min(380px,calc(100vw - 32px));display:grid;gap:var(--space-2)}.toast{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-sidebar);color:#fff;box-shadow:var(--shadow-md)}.toast--ok{background:var(--color-success)}.toast--error{background:var(--color-danger)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html,body{max-width:100%;overflow-x:clip}#app{width:100%;max-width:100%;overflow-x:clip}img,picture,video,canvas{max-width:100%;height:auto}.app-shell{min-height:100dvh}.page-frame,.page,.section,.split,.form-group,.form-section,.form-line,.row,.timeline__body{min-width:0}.page-view{width:100%;min-width:0}.page-frame{background:transparent}.page{width:100%;max-width:var(--content-max);margin-inline:auto;padding:var(--space-8) clamp(20px,4vw,56px) var(--space-16)}.page-container{width:min(100%,var(--content-max));margin-inline:auto}.app-footer{max-width:var(--content-max);margin-inline:auto;padding:var(--space-8) clamp(20px,4vw,56px);border-top:1px solid var(--color-border);color:var(--color-text-soft);font-size:var(--text-sm)}.app-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.topbar{position:sticky;top:0;z-index:var(--z-popover);min-height:calc(68px + env(safe-area-inset-top));padding:env(safe-area-inset-top) clamp(12px,3vw,24px) 0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-bottom:1px solid rgba(220,227,220,.85);background:#ffffffe6;backdrop-filter:blur(14px)}.brand{min-width:0;display:flex;align-items:center;gap:var(--space-3);color:inherit;text-decoration:none}.brand__mark{width:38px;height:38px;flex:0 0 auto;color:var(--color-accent)}.brand__name{color:inherit;font-size:1rem;font-weight:700;line-height:1.25}.brand__sub{color:inherit;font-size:.625rem;font-weight:700;letter-spacing:.16em;opacity:.72;text-transform:uppercase}.sidebar{color:var(--color-sidebar-text);background:radial-gradient(circle at 10% 0%,rgba(221,169,60,.11),transparent 18rem),var(--color-sidebar)}.sidebar .brand{padding:4px var(--space-3) var(--space-6);color:#fff}.sidebar__profile{margin:0 var(--space-2) var(--space-5);padding:var(--space-4);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:#ffffff0e}.sidebar__profile-name{color:#fff;font-weight:700}.sidebar .caption{color:var(--color-sidebar-soft)}.sidebar__nav{display:grid;gap:4px}.sidebar__link{min-height:48px;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--color-sidebar-text);font-size:var(--text-md);font-weight:500;text-decoration:none;transition:color .15s ease,background-color .15s ease,transform .15s ease}.sidebar__link .app-icon{opacity:.85}.sidebar__link:hover{color:#fff;background:var(--color-sidebar-hover);transform:translate(2px)}.sidebar__link[aria-current=page]{color:#172019;background:var(--color-accent);font-weight:700;box-shadow:0 8px 24px #dda93c2e}.sidebar__footer{margin-top:var(--space-3);padding:var(--space-3) var(--space-2) 0;border-top:1px solid rgba(255,255,255,.09)}.sidebar-collapse{width:auto;min-width:40px;min-height:var(--secondary-control-height);display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:auto auto 0;padding:0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-sidebar-soft);font-size:var(--text-xs);font-weight:600}.sidebar-collapse:hover{border-color:#ffffff14;background:#ffffff0d;color:#fff}.sidebar-collapse__icon{width:var(--control-icon-size);height:var(--control-icon-size);display:grid;place-items:center}.topbar__actions{min-width:0;display:flex;align-items:center;gap:var(--space-2)}.chip-select{min-height:var(--control-height);display:inline-flex;align-items:center;gap:var(--space-2);padding-left:var(--control-padding-inline);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-soft);font-size:var(--text-sm)}.chip-select select{min-width:0;width:100%;min-height:calc(var(--control-height) - 2px);border:0;border-radius:inherit;background-color:transparent;color:inherit;font:inherit;box-shadow:none}.sidebar .chip-select,.sidebar .account-menu__trigger{border-color:#ffffff1a;background:#ffffff0f;color:var(--color-sidebar-text)}.sidebar .select-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%23d7e2da' d='M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z'/%3E%3C/svg%3E")}.sidebar .dropdown-trigger__chevron{color:var(--color-sidebar-text)}.sidebar .topbar__context-label{display:none}.account-menu{position:relative}.dropdown-trigger{min-height:var(--control-height);display:flex;align-items:center;gap:var(--space-2);padding:0 var(--control-padding-inline);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:700;line-height:1.2;list-style:none;cursor:pointer}.dropdown-trigger::-webkit-details-marker{display:none}.dropdown-trigger__chevron{width:var(--control-icon-size);height:var(--control-icon-size);flex:0 0 var(--control-icon-size);margin-left:auto;color:var(--color-text-soft);transition:transform .16s ease}details[open]>.dropdown-trigger .dropdown-trigger__chevron{transform:rotate(180deg)}.account-menu__trigger{min-width:160px}.account-menu__name{min-width:0;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:80;min-width:240px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md)}.account-menu__role{margin:2px 0 var(--space-3);font-weight:700}.account-menu__signout{width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-danger);text-align:left;font-weight:700}.account-menu__signout:hover{background:var(--color-danger-soft)}.mobile-menu-toggle{width:44px;height:44px;place-items:center;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text)}.mobile-nav-backdrop{position:fixed;inset:0;z-index:var(--z-drawer-backdrop);border:0;background:#08120b85;backdrop-filter:blur(2px)}.bottom-nav{position:fixed;inset:auto 0 0;z-index:var(--z-popover);min-height:calc(68px + env(safe-area-inset-bottom));display:none;align-items:center;justify-content:space-around;gap:2px;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:#fffffff5;box-shadow:0 -8px 30px #14241b14;backdrop-filter:blur(14px)}.nav-item{min-width:0;min-height:52px;flex:1 1 0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;padding:4px 2px;border-radius:var(--radius-md);color:var(--color-text-soft);font-size:10px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none}.nav-item .app-icon{--icon-size: 22px}.nav-item[aria-current=page]{background:var(--color-primary-soft);color:var(--color-primary)}.page-heading,.dashboard-head,.section__head,.stock-page__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.page-heading{margin-bottom:var(--space-8)}.dashboard-head{align-items:flex-end}.page-heading>*,.dashboard-head>*,.section__head>*{min-width:0}.page-heading p,.dashboard-head p{margin:var(--space-2) 0 0}.section{margin-top:var(--space-8)}.section__head{align-items:center;margin-bottom:var(--space-4)}.section__head :is(h1,h2,h3,p),.stock-page__head :is(h1,h2,h3,p){margin-bottom:0}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);align-items:start}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);color:var(--color-text-soft);font-size:var(--text-sm)}.breadcrumb a{color:var(--color-text-soft)}.kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--summary-card-min)),1fr));gap:var(--space-4)}.summary-card{min-width:0;min-height:96px;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}.summary-card__icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary)}.summary-card--warning .summary-card__icon{background:var(--color-warning-soft);color:var(--color-warning)}.summary-card--danger .summary-card__icon{background:var(--color-danger-soft);color:var(--color-danger)}.summary-card--success .summary-card__icon{background:var(--color-success-soft);color:var(--color-success)}.summary-card__content{min-width:0}.summary-card__label,.summary-card__meta{margin:0;color:var(--color-text-soft);font-size:var(--text-sm)}.summary-card__value{margin:2px 0 0;overflow-wrap:anywhere;color:var(--color-text);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.25}.summary-card--success .summary-card__value{font-size:clamp(1rem,1.65vw,1.35rem)}.toolbar{min-width:0;display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.search-input{position:relative;min-width:min(100%,280px);flex:1}.search-input>.app-icon{position:absolute;top:50%;left:var(--space-4);z-index:1;color:var(--color-text-faint);pointer-events:none;transform:translateY(-50%)}.search-input__control{padding-left:46px}.action-button{white-space:nowrap}.status-badge{min-height:26px;display:inline-flex;align-items:center;justify-content:center;padding:2px 9px;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-soft);font-size:var(--text-xs);font-weight:700;white-space:nowrap}.status-badge--success{background:var(--color-success-soft);color:var(--color-success)}.status-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.status-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.status-badge--info{background:var(--color-info-soft);color:var(--color-info)}.data-table{min-width:0;scroll-margin-top:var(--space-4)}.data-table__desktop{overflow-x:auto;overflow-y:visible}.data-table__desktop table{min-width:860px}.data-table__desktop thead{position:sticky;top:0;z-index:var(--z-sticky)}.data-table__row--clickable{cursor:pointer}.data-table__row--clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.data-table__sort{width:100%;display:inline-flex;align-items:center;justify-content:inherit;gap:5px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:inherit}.data-table__sort.is-active,.data-table__sort:hover{color:var(--color-primary)}.data-table__sort-icon{color:var(--color-text-faint)}.data-table__mobile{display:none}.data-table__mobile-row{min-width:0;display:grid;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);text-align:left;box-shadow:var(--shadow-xs)}.data-table__mobile-row--clickable:hover{border-color:var(--color-primary)}.data-table__mobile-field{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.data-table__mobile-label{color:var(--color-text-soft);font-size:var(--text-xs)}.data-table__mobile-value{min-width:0;overflow-wrap:anywhere;font-size:var(--text-sm);font-weight:600;text-align:right}.pagination{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--color-surface)}.data-table__desktop+.data-table__mobile+.pagination{margin-top:-1px}.pagination__summary{margin:0;color:var(--color-text-soft);font-size:var(--text-sm)}.pagination__controls{display:flex;align-items:center;gap:var(--space-2)}.pagination__size{width:auto;min-height:var(--control-height)}.pagination__page{min-width:58px;color:var(--color-text-soft);font-size:var(--text-sm);text-align:center}.pagination__button{min-width:84px}.kpi{min-width:0;min-height:138px;display:grid;align-content:space-between;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);text-align:left;box-shadow:var(--shadow-xs)}.kpi:hover{border-color:#b9cabf;box-shadow:var(--shadow-sm)}.kpi__ear{width:34px;height:4px;border-radius:var(--radius-pill);background:var(--color-primary)}.kpi--alert .kpi__ear{background:var(--color-danger)}.kpi__label{color:var(--color-text-soft);font-size:var(--text-sm);font-weight:600}.kpi__value{font-size:2rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.kpi__bar{width:100%;height:5px;overflow:hidden;border:0;border-radius:var(--radius-pill);background:var(--color-surface-muted);appearance:none}.kpi__bar::-webkit-progress-bar{background:var(--color-surface-muted)}.kpi__bar::-webkit-progress-value{border-radius:inherit;background:var(--color-primary)}.kpi__bar::-moz-progress-bar{border-radius:inherit;background:var(--color-primary)}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.quick-grid--compact{max-width:720px}.quick{min-height:88px;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);font-weight:700;text-align:left;box-shadow:var(--shadow-xs)}.quick .app-icon{color:var(--color-primary)}.quick:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.quick--primary{background:var(--color-primary);color:#fff}.quick--primary .app-icon{color:var(--color-accent)}.quick--primary:hover{background:var(--color-primary-hover)}.list{display:grid;gap:var(--space-3)}.list--divided{gap:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.row{width:100%;min-height:72px;display:flex;align-items:center;gap:var(--space-3);margin:0;padding:var(--space-4);border:0;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-text);text-align:left}.list--divided>.row:last-child{border-bottom:0}button.row:hover{background:var(--color-surface-subtle)}.row__main{min-width:0;flex:1}.row__title{margin:0;color:var(--color-text);font-weight:700;overflow-wrap:anywhere}.row__sub{margin:3px 0 0;color:var(--color-text-soft);font-size:var(--text-sm);overflow-wrap:anywhere}.row__meta{flex:0 0 auto;color:var(--color-text-faint);font-size:var(--text-xs)}.row--critical{box-shadow:inset 3px 0 var(--color-danger)}.row--warning{box-shadow:inset 3px 0 var(--color-warning)}.dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--color-success)}.dot--critical{background:var(--color-danger)}.dot--warning{background:var(--color-warning)}.timeline{display:grid;gap:0}.timeline__item{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);gap:var(--space-3);margin-left:0;padding:var(--space-4) 0;border-left:0;border-bottom:1px solid var(--color-border)}.timeline__item:last-child{border-bottom:0}.timeline__pin{position:static;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--color-success-soft);color:var(--color-success)}.timeline__body{padding:0;border-radius:0;background:transparent}.timeline__pin--out{background:var(--color-warning-soft);color:var(--color-warning)}.timeline__head{display:flex;justify-content:space-between;gap:var(--space-2)}.timeline__label{color:var(--color-text);font-weight:700}.timeline__description{margin:4px 0 0;color:var(--color-text-soft);line-height:1.4}.empty{min-height:190px;display:grid;place-items:center;align-content:center;gap:var(--space-2);padding:var(--space-8);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface-subtle);color:var(--color-text-soft);text-align:center}.empty .app-icon{color:var(--color-primary);opacity:.5}.empty p{margin:0}.empty__actions{margin-top:var(--space-3)}.filter-tabs,.tabs,.stock-filter-chips{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-2) 0 var(--space-6);padding:0;overflow:visible}.filter-tab,.tab,.stock-filter-chip{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-soft);font-size:var(--text-sm);font-weight:700;white-space:normal}.filter-tab:hover,.tab:hover,.stock-filter-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-tab.is-active,.tab--active,.stock-filter-chip.is-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.form-grid,.form-section{display:grid;gap:var(--space-4)}.form-group{padding:var(--space-2) 0 var(--space-6)}.form-group--separated{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border)}.form-lines{gap:0;border-top:1px solid var(--color-border)}.form-section{grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.form-section>:last-child:nth-child(odd){grid-column:1 / -1}.form-line{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.form-line__fields{display:flex;align-items:end;gap:var(--space-3)}.form-line__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.form-actions--sticky{position:sticky;bottom:var(--space-3);z-index:var(--z-sticky)}.form-actions .btn{width:auto;min-width:180px}.btn-row,.action-row,.access-add{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.inline-actions{margin-top:var(--space-4)}.field--flush{margin:0}.field--grow{flex:1}.content-note{margin:0 0 var(--space-4)}.content-note--compact{margin-top:calc(var(--space-2) * -1)}.content-meta{margin-top:var(--space-3)}.spacer-md{height:var(--space-6)}.skeleton--sm{height:150px}.skeleton--md{height:200px}.skeleton--lg{height:260px}.skeleton--xl{height:280px}.skeleton--login{width:min(320px,100%);height:200px}.skeleton--row{height:56px}.skeleton--flex{min-width:144px;min-height:120px;flex:1}.text-strong{font-weight:700}.text-center{text-align:center}.login__eyebrow{letter-spacing:.16em;text-transform:uppercase}.login__helper{margin:var(--space-2) 0 var(--space-4)}.login__notice{margin:var(--space-3) 0 var(--space-2)}.login__next-step{margin-bottom:var(--space-6)}.mt-md{margin-top:var(--space-4)}.sku-picker{position:relative}.sku-picker__input{padding-right:40px}.sku-picker__results{position:absolute;z-index:50;inset:calc(100% + 6px) 0 auto;max-height:320px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md)}.sku-picker__option{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:0;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-text);text-align:left}.sku-picker__option:hover,.sku-picker__option.is-active{background:var(--color-primary-soft)}.sku-picker__option--out{opacity:.5;cursor:not-allowed}.sku-picker__stock{flex:0 0 auto;color:var(--color-primary);font-size:var(--text-xs);font-weight:700}.sku-picker__hint{margin:0;padding:var(--space-4);color:var(--color-text-soft)}.login{min-height:100dvh;display:grid;place-items:center;padding:var(--space-5);background:radial-gradient(circle at 20% 10%,rgba(221,169,60,.16),transparent 22rem),radial-gradient(circle at 85% 90%,rgba(36,92,70,.15),transparent 26rem),var(--color-canvas)}.login__card{width:min(440px,100%);padding:var(--space-8);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.login__mark{width:64px;height:64px;margin:0 auto var(--space-4);color:var(--color-primary)}.requisition-context__head,.count-context__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.context-details{display:grid;gap:var(--space-2);margin-top:var(--space-4)}.context-detail-row{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-sm)}.context-detail-row>:last-child{text-align:right;font-weight:700}.decision-card{margin-top:var(--space-4)}.decision-card__hint{margin:var(--space-1) 0 var(--space-4)}.requisition-dispatch-row,.requisition-receive-row{border-bottom-color:var(--color-border)}.requisition-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:var(--space-3);margin-bottom:var(--space-3)}.requisition-list{gap:var(--space-3)}.requisition-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}.requisition-card.row--critical{border-left-color:var(--color-danger)}.requisition-table__approval-input{margin-left:auto}.requisition-table__after{color:var(--color-primary);font-weight:700}.requisition-table__after--alert{color:var(--color-danger)}.requisition-table input[aria-invalid=true]{border-color:var(--color-danger)}.requisition-approval-bar__count{color:var(--color-primary);font-size:var(--text-lg);font-weight:700}.requisition-approval-bar__actions{display:flex;gap:var(--space-3)}.requisition-dispatch-row__identity,.requisition-receive-row__identity{min-width:0}.requisition-type-fields{display:grid;gap:var(--space-3)}.requisition-type-fields--urgent{margin:var(--space-3) 0;padding:var(--space-3);border:1px solid #efc3c8;border-radius:var(--radius-md);background:var(--color-danger-soft)}.requisition-stock-hint{margin:var(--space-1) 0 0}.requisition-stock-hint--out{color:var(--color-danger);font-weight:700}.requisition-line-name{font-weight:700}.requisition-reason{margin-top:var(--space-2)}.requisition-receive-item{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.requisition-approval-bar{position:sticky;bottom:var(--space-3);z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-6);padding:var(--space-3) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);border-color:var(--color-border);background:#fffffff0;box-shadow:var(--shadow-md);backdrop-filter:blur(10px)}.requisition-lot-allocations{min-width:260px;display:grid;gap:6px}.requisition-lot-allocation{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);color:var(--color-text-soft);font-size:var(--text-xs)}.requisition-lot-allocation .input--qty{max-width:84px}.requisition-dispatch-row{display:grid;grid-template-columns:minmax(140px,1fr) 108px minmax(260px,1.4fr);align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.requisition-receive-row{display:grid;grid-template-columns:minmax(0,1fr) 108px;align-items:center;gap:var(--space-3)}.stock-page__head{margin-bottom:var(--space-6)}.stock-page__sub{margin:var(--space-2) 0 0;color:var(--color-text-soft)}.stock-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stock-summary-card{min-height:88px;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}.stock-summary-card__icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary)}.stock-summary-card--warning .stock-summary-card__icon{background:var(--color-warning-soft);color:var(--color-warning)}.stock-summary-card--danger .stock-summary-card__icon{background:var(--color-danger-soft);color:var(--color-danger)}.stock-summary-card--success .stock-summary-card__icon{background:var(--color-success-soft);color:var(--color-success)}.stock-summary-card__value{margin:2px 0 0;color:var(--color-text);font-size:1.3rem;font-weight:700;line-height:1.2}.stock-summary-card--success .stock-summary-card__value{font-size:clamp(1.05rem,1.55vw,1.35rem);white-space:nowrap}.stock-toolbar{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.stock-search-wrap{position:relative;min-width:0;flex:1}.stock-search-wrap>.app-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-faint)}.stock-search{min-height:50px;padding-left:46px}.stock-filters{position:relative}.stock-filters summary{min-height:var(--control-height)}.stock-filters__body{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-popover);width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 96px);overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);border-color:var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.filter-current-warehouse{min-height:var(--control-height);display:flex;align-items:center;padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-soft)}.stock-range{display:flex;align-items:center;gap:var(--space-2)}.stock-range .input{min-width:0}.filter-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.stock-layout{display:block}.stock-catalog{min-width:0}.stock-mobile-list{display:none}.stock-table-wrap{max-height:none;overflow-x:auto;overflow-y:visible}.stock-table{min-width:1040px;table-layout:auto}.stock-table thead{position:sticky;top:0;z-index:4}.stock-table th,.stock-table td{height:50px;padding:8px 12px;white-space:nowrap}.stock-table th{background:#f5f8f5}.stock-table tbody tr{cursor:pointer;outline:0}.stock-table tbody tr:hover,.stock-table tbody tr:focus-visible{background:var(--color-primary-soft)}.stock-table__row--low{box-shadow:inset 3px 0 var(--color-warning)}.stock-table__row--out{box-shadow:inset 3px 0 var(--color-danger)}.stock-table__row--unset{box-shadow:inset 3px 0 var(--color-text-faint)}.stock-col--name{min-width:220px}.stock-col--action{width:124px}.stock-table__name{max-width:280px;white-space:normal}.stock-table__name strong{display:block;overflow:hidden;color:var(--color-text);font-weight:700;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.stock-table__meta{display:block;color:var(--color-text-faint);font-size:var(--text-xs)}.stock-table__sku{color:var(--color-text-soft);font-variant-numeric:tabular-nums}.stock-table__qty{color:var(--color-primary);font-size:var(--text-md);font-weight:700}.stock-table__action .btn{min-height:40px;padding-inline:10px;font-size:var(--text-xs)}.stock-sort{width:100%;min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:inherit}th.num .stock-sort{justify-content:flex-end}.stock-sort:hover,.stock-sort.is-active{color:var(--color-primary)}.stock-sort__icon{color:var(--color-text-faint);font-size:11px}.stock-status-badge{min-height:26px;display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;white-space:nowrap}.stock-status-badge--ok{background:var(--color-success-soft);color:var(--color-success)}.stock-status-badge--low{background:var(--color-warning-soft);color:var(--color-warning)}.stock-status-badge--out{background:var(--color-danger-soft);color:var(--color-danger)}.stock-status-badge--unset{background:var(--color-surface-muted);color:var(--color-text-soft)}.stock-load-more{display:flex;justify-content:center;padding:var(--space-4) 0}.stock-grid{gap:var(--space-4)}.stock-card{border:1px solid var(--color-border);border-left-width:4px;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.stock-card:hover{border-color:#b8c8bc;box-shadow:var(--shadow-sm);transform:translateY(-2px)}.stock-card--ok{border-left-color:var(--color-success)}.stock-card--low{border-left-color:var(--color-warning)}.stock-card--out{border-left-color:var(--color-danger)}.stock-card--unset{border-left-color:var(--color-text-faint)}.stock-card__body{padding:var(--space-5)}.stock-card__actions{padding:0 var(--space-5) var(--space-5)}.stock-card__qty{color:var(--color-primary);font-size:clamp(2rem,4vw,2.55rem)}.stock-card__status{border-radius:var(--radius-pill)}body.stock-detail-open{overflow:hidden}.stock-detail-backdrop{position:fixed;inset:0;z-index:120;width:100%;height:100%;padding:0;border:0;background:#08120b75;backdrop-filter:blur(2px)}.stock-detail-backdrop[hidden]{display:none}.stock-detail{position:fixed;inset:0 0 0 auto;z-index:130;width:min(480px,100vw);height:100dvh;overflow-y:auto;background:var(--color-surface);box-shadow:-18px 0 48px #14241b2e}.stock-detail:empty{display:none}.stock-detail__panel{min-height:100%;padding:var(--space-6);border:0;border-radius:0;background:var(--color-surface);box-shadow:none}.stock-detail__head,.stock-move__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.stock-detail__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-4);border-block:1px solid var(--color-border)}.stock-detail__stat{padding:var(--space-3)}.stock-detail__stat:nth-child(odd){border-right:1px solid var(--color-border)}.stock-detail__stat:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.stock-lot-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.stock-detail__stat-value{margin-top:2px;color:var(--color-primary);font-size:var(--text-xl);font-weight:700;font-variant-numeric:tabular-nums}.stock-detail__title{margin:var(--space-6) 0 var(--space-3);color:var(--color-primary);font-size:var(--text-md)}.stock-lot-row__main{min-width:0;display:grid;gap:2px}.stock-lot-row__value{color:var(--color-primary);font-size:var(--text-xs);font-weight:700;white-space:nowrap}.stock-detail__stat{background:transparent}.stock-detail__updated{margin-top:var(--space-3)}.stock-detail__lots .skeleton{width:100%}.stock-movement-text{margin:4px 0 0}.report-content{gap:var(--space-8)}.report-kpis{gap:var(--space-4)}.report-kpi{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.report-kpi--critical{border-color:#efc3c8;background:var(--color-danger-soft)}.schedule-kpis{gap:var(--space-4)}.schedule-metric{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.schedule-metric--alert{border-color:#efc3c8;background:var(--color-danger-soft)}.schedule-metric__value{color:var(--color-primary);font-size:2rem}.schedule-card{padding:var(--space-5)}.schedule-list{display:grid;gap:var(--space-3)}.schedule-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5)}.schedule-card__main{min-width:0;flex:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-5)}.schedule-card__main :is(h3,p){margin:0}.schedule-card__days{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.schedule-overdue-row{width:100%;text-align:left}.role-checks{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin:var(--space-3) 0}.admin-user{display:grid;gap:var(--space-2)}.access-list{display:flex;flex-wrap:wrap;gap:6px}.access-list .chip{padding-right:4px}.import-errors{margin:var(--space-3) 0 0;padding-left:var(--space-5);color:var(--color-danger);font-size:var(--text-sm)}.count-input-wrap{min-width:112px;display:grid;justify-items:end;gap:2px}.count-save-status{min-height:16px;text-align:right}.count-save-status--error{color:var(--color-danger)}.dashboard-clear{grid-column:1 / -1;margin:0}.icon-btn{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:var(--radius-md)}.icon-btn:hover{background:var(--color-danger-soft);color:var(--color-danger)}.check-field{min-height:44px;padding:4px 0}.check-field input{width:18px;height:18px;accent-color:var(--color-primary)}@media(min-width:900px){.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.topbar,.bottom-nav{display:none}.sidebar{position:sticky;top:0;width:100%;height:100dvh;min-height:0;display:flex;flex-direction:column;padding:var(--space-6) var(--space-3);overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.sidebar__footer .topbar__actions{display:grid;gap:var(--space-3)}.sidebar__footer :is(.chip-select,.account-menu,.account-menu__trigger){width:100%;max-width:none}.sidebar__footer .account-menu__trigger{justify-content:space-between}.sidebar__footer .account-menu__panel{top:auto;right:0;bottom:calc(100% + 8px);left:0}.mobile-menu-toggle,.mobile-nav-backdrop{display:none}.app-shell--sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.app-shell--sidebar-collapsed .sidebar{padding-inline:var(--space-2)}.app-shell--sidebar-collapsed .sidebar .brand{justify-content:center;padding-inline:0}.app-shell--sidebar-collapsed .sidebar :is(.brand__text,.sidebar__profile,.sidebar__link span,.sidebar-collapse__label,.sidebar__footer){display:none}.app-shell--sidebar-collapsed .sidebar__link{justify-content:center;padding-inline:0}.app-shell--sidebar-collapsed .sidebar__link:hover{transform:none}.app-shell--sidebar-collapsed .sidebar-collapse{width:40px;padding:0}}@media(max-width:1359px){.stock-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1199px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.requisition-dispatch-row{grid-template-columns:minmax(0,1fr) 108px}.requisition-dispatch-row .requisition-lot-allocations{grid-column:1 / -1;min-width:0}}@media(max-width:1023px){.split{grid-template-columns:1fr}.schedule-editor__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-section{grid-template-columns:1fr}.form-section>*{grid-column:auto!important}}@media(max-width:899px){body.mobile-menu-open{overflow:hidden}.app-shell{display:block}.topbar{display:grid;grid-template-columns:44px minmax(0,1fr) auto}.mobile-menu-toggle{display:grid}.topbar>.brand{justify-self:start}.topbar__actions{justify-self:end}.sidebar{position:fixed;inset:0 auto 0 0;z-index:100;width:min(320px,calc(100vw - 48px));height:100dvh;display:flex;flex-direction:column;padding:calc(var(--space-5) + env(safe-area-inset-top)) var(--space-3) calc(var(--space-5) + env(safe-area-inset-bottom));overflow-y:auto;box-shadow:var(--shadow-md);transform:translate(-105%);transition:transform .2s ease}.sidebar--open{transform:translate(0)}.sidebar__footer{display:block}.sidebar-collapse{display:none}.sidebar__footer .topbar__actions{display:grid;gap:var(--space-3)}.sidebar__footer :is(.chip-select,.account-menu,.account-menu__trigger){width:100%;max-width:none}.sidebar__footer .account-menu__trigger{justify-content:space-between}.sidebar__footer .account-menu__panel{position:static;width:100%;min-width:0;margin-top:var(--space-2)}.mobile-nav-backdrop{display:block;opacity:0;pointer-events:none;transition:opacity .2s ease}.mobile-nav-backdrop--visible{opacity:1;pointer-events:auto}.stock-layout{display:block}.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.page{padding-bottom:var(--space-12)}}@media(max-width:767px){.page{padding:var(--space-6) clamp(16px,4vw,28px) var(--space-12)}.app-footer{padding-inline:clamp(16px,4vw,28px)}.stock-table-wrap{display:none}.stock-mobile-list{display:grid;gap:var(--space-2)}.stock-mobile-list .stock-card,.data-table__mobile .stock-card{border-left-width:3px;border-radius:var(--radius-md);cursor:pointer;transform:none}.data-table__mobile .stock-card__body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);padding:var(--space-3)}.data-table__mobile .stock-card__actions{display:none}.stock-mobile-list .stock-card__body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);padding:var(--space-3)}.stock-mobile-list .stock-card__status{min-height:20px;margin-bottom:5px;padding:1px 7px}.stock-mobile-list .stock-card__name{font-size:var(--text-sm)}.stock-mobile-list .stock-card__sku{margin:2px 0}.stock-mobile-list .stock-card__identity>.caption{display:none}.stock-mobile-list .stock-card__price,.stock-mobile-list .stock-card__cost{display:block!important;margin:1px 0;font-size:11px}.stock-mobile-list .stock-card__quantity{align-self:center}.stock-mobile-list .stock-card__qty{font-size:1.7rem}.stock-mobile-list .stock-card__unit{margin-top:2px;font-size:11px}.stock-mobile-list .stock-card__value,.stock-mobile-list .stock-card__actions{display:none}.stock-toolbar{align-items:stretch;flex-direction:column}.stock-search-wrap,.stock-filters{width:100%;max-width:none}.stock-filters summary{width:100%;justify-content:center}.stock-filters__body{left:0;right:auto;width:100%;grid-template-columns:1fr}.schedule-kpis{grid-template-columns:1fr}.data-table__desktop{display:none}.data-table__mobile{display:grid;gap:var(--space-2)}.pagination{align-items:stretch;flex-direction:column;margin-top:var(--space-3);border-top:1px solid var(--color-border);border-radius:var(--radius-lg)}.pagination__summary{text-align:center}.pagination__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pagination__size{width:100%;grid-column:1 / -1}.pagination__page{min-height:40px;display:grid;place-items:center}.pagination__button{width:100%;min-width:0}}@media(max-width:640px){:root{--control-height: 48px;--text-md: .9375rem}.topbar{grid-template-columns:44px minmax(0,1fr);padding-inline:12px}.topbar>.brand{justify-self:center;padding-right:44px}.topbar>.topbar__actions{display:none}.brand__name{font-size:var(--text-md)}.page-heading,.dashboard-head,.section__head,.stock-page__head,.stock-results-head{align-items:stretch;flex-direction:column}.page-heading{margin-bottom:var(--space-6)}.page-heading .btn,.section__head .btn,.stock-page__head .btn{align-self:stretch}.section{margin-top:var(--space-6)}.card,.context-card,.decision-card,.form-section,.form-line,.ui-dialog__surface{padding:var(--space-4)}.kpi-row,.quick-grid,.quick-grid--compact,.stock-summary,.report-kpis,.schedule-kpis{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{min-height:84px;gap:var(--space-3);padding:var(--space-3)}.summary-card__icon{width:36px;height:36px;flex-basis:36px}.summary-card__label{font-size:var(--text-xs)}.summary-card__value{font-size:var(--text-lg)}.stock-export{display:none}.kpi{min-height:116px}.quick{min-height:76px}.filter-tabs,.tabs,.stock-filter-chips{gap:var(--space-2);flex-wrap:wrap}.filter-tab,.tab,.stock-filter-chip{min-height:44px;flex:1 1 auto}.row{align-items:flex-start;flex-wrap:wrap}.row__main{flex:1 1 calc(100% - 32px)}.row__meta{margin-left:auto;white-space:normal}.form-line__fields,.form-line__grid{display:grid;grid-template-columns:1fr}.form-actions,.btn-row,.action-row,.access-add{align-items:stretch;flex-direction:column}.form-actions .btn,.btn-row .btn,.action-row .btn,.access-add .btn,.access-add .select{width:100%;min-width:0}.input--qty{width:100%;max-width:none;text-align:left}.requisition-approval-bar{align-items:stretch;flex-direction:column}.requisition-filters{grid-template-columns:1fr}.requisition-approval-bar__actions{display:grid;grid-template-columns:1fr}.requisition-dispatch-row,.requisition-receive-row{grid-template-columns:1fr}.requisition-dispatch-row>.input--qty,.requisition-receive-row>.input--qty{width:100%;max-width:none}.requisition-lot-allocations{min-width:0}.requisition-lot-allocation,.requisition-context__head,.count-context__head{align-items:flex-start;flex-direction:column}.context-detail-row{align-items:flex-start;flex-direction:column;gap:2px}.context-detail-row>:last-child{text-align:left}.stock-summary-card{min-height:82px;padding:var(--space-3)}.stock-card__body{flex-direction:column}.stock-card__quantity{min-width:0;align-self:flex-end}.stock-card__actions .btn{width:100%}.stock-detail{width:100vw}.stock-detail__panel{padding:var(--space-4)}.stock-detail__stats{grid-template-columns:1fr}.stock-detail__stat:nth-child(odd){border-right:0}.stock-lot-row{align-items:flex-start;flex-direction:column}.schedule-editor__grid{grid-template-columns:1fr}.schedule-card,.schedule-card__main{align-items:stretch;flex-direction:column}.schedule-card__days{justify-content:flex-start}.table-wrap table th:first-child,.table-wrap table td:first-child{position:sticky;left:0;min-width:140px;white-space:normal;background:var(--color-surface);box-shadow:1px 0 var(--color-border);z-index:1}.table-wrap table th:first-child{background:var(--color-surface-subtle);z-index:2}.ui-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.ui-dialog__surface{max-height:calc(100dvh - 24px)}.ui-dialog__actions{display:grid;grid-template-columns:1fr}.ui-dialog__actions .btn{width:100%}.login{padding:var(--space-3)}.login__card{padding:var(--space-6) var(--space-5)}.app-footer__inner{align-items:flex-start;flex-direction:column}}@media(max-width:380px){.page{padding-inline:12px}.stock-filters__body{width:calc(100vw - 24px)}.btn{padding-inline:var(--space-4)}.brand__sub{display:none}}
