/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-border-style:solid;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}::backdrop{--tw-border-style:solid;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.contents{display:contents}.hidden{display:none}.table{display:table}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#17243d;--muted:#69768c;--line:#e5e9f0;--soft-line:#edf0f5;--surface:#fff;--canvas:#f4f6f9;--navy:#14233d;--navy-2:#1b3153;--blue:#2f6fed;--blue-soft:#edf4ff;--teal:#0f9d8f;--teal-soft:#e9f8f5;--green:#168b64;--green-soft:#eaf7f1;--amber:#c78218;--amber-soft:#fff5df;--red:#d34d4a;--red-soft:#fff0ef;--violet:#7255c6;--violet-soft:#f2edff;--shadow-sm:0 1px 2px #11223e0a, 0 3px 12px #11223e0a;--shadow-md:0 18px 50px #14233d26}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.erp-shell{min-height:100vh}.sidebar{color:#dbe3ef;z-index:40;background:linear-gradient(#152642 0%,#102039 100%);flex-direction:column;width:248px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:3px 0 18px #0d1c3314}.brand{border-bottom:1px solid #ffffff12;align-items:center;gap:11px;height:78px;padding:0 19px;display:flex}.brand-mark{background:linear-gradient(145deg,#42d2b6,#1a8f8b);border-radius:10px;flex:none;place-items:center;width:35px;height:35px;display:grid;box-shadow:0 7px 18px #18b19a3d}.brand-mark span{color:#fff;font-family:Georgia,serif;font-size:19px;font-weight:800}.brand strong{color:#fff;letter-spacing:.1px;font-size:14px;display:block}.brand small{color:#8192ac;margin-top:3px;font-size:10px;display:block}.mobile-close{display:none}.environment-pill{color:#c6d4e6;background:#ffffff0e;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:7px;margin:13px 17px 7px;padding:8px 10px;font-size:11px;display:flex}.environment-pill i{background:#42d2b6;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #42d2b621}.sidebar nav{scrollbar-width:thin;scrollbar-color:#39506f transparent;flex:1;padding:2px 10px 16px;overflow:auto}.nav-group>p{color:#6f829e;text-transform:uppercase;letter-spacing:1.05px;margin:0 10px 5px;font-size:10px}.nav-group button{-webkit-appearance:none;appearance:none;color:#aebcd0;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;height:38px;padding:0 10px;font-size:12px;transition:all .15s;display:flex}.nav-group button:hover{color:#fff;background:#ffffff0d}.nav-group button.active{color:#fff;background:linear-gradient(90deg,#2f6fed3b,#2058a530);box-shadow:inset 2px 0 #53bfb3}.nav-icon{color:#a8bdd6;background:#ffffff0e;border-radius:6px;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.nav-group button.active .nav-icon{color:#72e0ca;background:#4bd2b81f}.nav-group button>span:nth-child(2){flex:1}.nav-group button b{color:#fff;background:#e25f5a;border-radius:10px;place-items:center;min-width:19px;height:19px;font-size:10px;display:grid}.sidebar-footer{border-top:1px solid #ffffff12;align-items:center;gap:9px;min-height:65px;padding:10px 15px;display:flex}.avatar{color:#133146;background:#71d8c6;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.sidebar-footer>div:nth-child(2){flex:1;min-width:0}.sidebar-footer strong{color:#fff;font-size:11px;display:block}.sidebar-footer small{color:#8192ac;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:9px;display:block;overflow:hidden}.online-dot{background:#3dcc9c;border-radius:50%;width:7px;height:7px}.main-shell{min-height:100vh;margin-left:248px}.demo-banner{color:#8b641f;z-index:31;background:#fff8e7;border-bottom:1px solid #f0dfb4;justify-content:center;align-items:center;gap:10px;height:30px;font-size:10px;display:flex;position:sticky;top:0}.demo-banner strong{color:#69470b;background:#f6db9f;border-radius:4px;padding:2px 7px}.topbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;align-items:center;gap:18px;min-height:75px;padding:10px 25px;display:flex;position:sticky;top:30px}.menu-button{display:none}.page-heading{flex:1;min-width:260px}.page-heading h1{color:#172743;letter-spacing:-.2px;margin:0;font-size:19px}.page-heading p{color:#7b8798;margin:4px 0 0;font-size:10px}.top-actions{align-items:center;gap:8px;display:flex}.global-search{color:#8a95a6;background:#f8f9fb;border:1px solid #dfe4ec;border-radius:9px;align-items:center;gap:8px;width:310px;height:36px;padding:0 10px;transition:all .15s;display:flex}.global-search:focus-within{background:#fff;border-color:#8eb0ed;box-shadow:0 0 0 3px #2f6fed14}.global-search>span{font-size:20px;transform:rotate(-15deg)}.global-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:11px}.global-search kbd{color:#9aa4b4;background:#fff;border:1px solid #d9dee7;border-radius:4px;padding:2px 5px;font-family:inherit;font-size:8px}.icon-button{color:#526178;cursor:pointer;background:#fff;border:1px solid #e1e6ed;border-radius:9px;place-items:center;width:36px;height:36px;display:grid;position:relative}.icon-button:hover{background:#f6f8fb}.notification b{color:#fff;background:#e45754;border:2px solid #fff;border-radius:10px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:8px;display:grid;position:absolute;top:-5px;right:-4px}.quick-create,.button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:5px;height:36px;padding:0 14px;font-size:11px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.quick-create,.button.primary{color:#fff;background:#2367df;box-shadow:0 5px 12px #2367df26}.quick-create:hover,.button.primary:hover{background:#1859c8;transform:translateY(-1px)}.quick-create span{font-size:16px;font-weight:400}.button.secondary{color:#245fae;background:#eef4ff;border:1px solid #c9d9f3}.button.ghost{color:#526178;box-shadow:none;background:#fff;border:1px solid #dfe4eb}.button.danger-fill{color:#fff;background:#d94d49}.button.small{height:29px;padding:0 10px;font-size:10px}.button:disabled{opacity:.6;cursor:wait;transform:none}.content{max-width:1680px;margin:0 auto;padding:21px 24px 42px}.dashboard-grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:14px;display:grid}.welcome-card{color:#fff;min-height:108px;box-shadow:var(--shadow-sm);background:linear-gradient(110deg,#18375c,#1c4c6b 67%,#17655f);border-radius:13px;grid-column:span 12;justify-content:space-between;align-items:center;padding:19px 24px;display:flex;position:relative;overflow:hidden}.welcome-card:after{content:"";border:50px solid #64e7cc14;border-radius:50%;width:290px;height:290px;position:absolute;top:-130px;right:-90px}.welcome-card .eyebrow{color:#89daca;text-transform:uppercase;letter-spacing:.7px;margin:0 0 5px;font-size:10px}.welcome-card h2{margin:0;font-size:20px}.welcome-card>div>p:last-child{color:#b7c8db;margin:6px 0 0;font-size:11px}.quick-strip{z-index:1;gap:8px;display:flex}.quick-strip button{color:#e7eff8;cursor:pointer;background:#ffffff17;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:82px;height:65px;font-size:10px;display:flex}.quick-strip button:hover{background:#ffffff26}.quick-strip span{color:#89e4d2;background:#4bd3bb2e;border-radius:7px;place-items:center;width:26px;height:26px;font-weight:700;display:grid}.kpi-grid{grid-column:span 12;grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.kpi-card{border:1px solid var(--line);min-height:110px;box-shadow:var(--shadow-sm);background:#fff;border-radius:11px;padding:13px 14px 11px;position:relative;overflow:hidden}.kpi-card>div{justify-content:space-between;align-items:center;display:flex}.kpi-card>div span{color:#778398;font-size:10px}.kpi-card>div b{color:#60718a;background:#eef3fa;border-radius:8px;padding:3px 6px;font-size:8px}.kpi-card>strong{letter-spacing:-.7px;margin-top:10px;font-size:21px;display:block}.kpi-card>p{color:#929baa;margin:4px 0 0;font-size:9px}.kpi-card>i{background:var(--blue);height:3px;position:absolute;bottom:0;left:0;right:0}.kpi-card.teal>i{background:var(--teal)}.kpi-card.amber>i{background:#e3a239}.kpi-card.violet>i{background:var(--violet)}.kpi-card.red>i{background:var(--red)}.kpi-card.blue>div b{background:var(--blue-soft);color:var(--blue)}.kpi-card.teal>div b{background:var(--teal-soft);color:var(--teal)}.kpi-card.red>div b{background:var(--red-soft);color:var(--red)}.panel{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:11px;min-width:0;overflow:hidden}.panel-head{border-bottom:1px solid var(--soft-line);justify-content:space-between;align-items:center;gap:15px;min-height:60px;padding:12px 15px 10px;display:flex}.panel-head h3{margin:0;font-size:13px}.panel-head p{color:#8792a4;margin:4px 0 0;font-size:9px}.text-button,.table-link{color:#2a68c8;cursor:pointer;background:0 0;border:0;padding:5px;font-size:9px;font-weight:600;text-decoration:none}.dashboard-approvals{grid-column:span 7}.dashboard-stock,.dashboard-alerts{grid-column:span 5}.dashboard-production{grid-column:span 7}.dashboard-activity{grid-column:span 12}.approval-list button{border:0;border-bottom:1px solid var(--soft-line);cursor:pointer;text-align:left;background:#fff;align-items:center;gap:10px;width:100%;min-height:58px;padding:9px 14px;display:flex}.approval-list button:hover{background:#fafbfd}.approval-type{background:var(--blue-soft);width:31px;height:31px;color:var(--blue);border-radius:8px;flex:none;place-items:center;font-weight:700;display:grid}.approval-type.sales_order{background:var(--teal-soft);color:var(--teal)}.approval-type.stock_adjustment{background:var(--amber-soft);color:var(--amber)}.approval-list button>span:nth-child(2){flex:1;min-width:0}.approval-list strong{white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.approval-list small{color:#9099a9;margin-top:3px;font-size:8px;display:block}.approval-list button>b{font-size:10px}.approval-list button>i{color:#abb4c0;font-style:normal}.stock-health{justify-content:center;align-items:center;gap:35px;min-height:175px;padding:15px;display:flex}.donut{border-radius:50%;place-items:center;width:118px;height:118px;display:grid;position:relative}.donut:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:15px}.donut div{text-align:center;position:relative}.donut strong{font-size:21px;display:block}.donut span{color:#8994a5;font-size:8px}.legend-list{min-width:155px}.legend-list>div{border-bottom:1px dashed #e7ebf1;grid-template-columns:9px 1fr auto;align-items:center;gap:7px;padding:8px 0;font-size:9px;display:grid}.legend-list i,.chart-legend i{background:var(--blue);border-radius:50%;width:7px;height:7px}.legend-list i.green,.chart-legend i.teal{background:var(--teal)}.legend-list i.amber{background:#efb64d}.legend-list i.red{background:#e2625f}.legend-list strong{font-size:10px}.alert-list button{border:0;border-bottom:1px solid var(--soft-line);text-align:left;cursor:pointer;background:#fff;align-items:center;gap:10px;width:100%;padding:11px 14px;display:flex}.alert-list button:hover{background:#fafbfd}.alert-list button>i{background:var(--amber-soft);width:28px;height:28px;color:var(--amber);border-radius:50%;place-items:center;font-style:normal;font-weight:800;display:grid}.alert-list button>i.red{background:var(--red-soft);color:var(--red)}.alert-list button>span{flex:1}.alert-list strong{font-size:10px;display:block}.alert-list small{color:#939baa;margin-top:3px;font-size:8px;display:block}.alert-list button>b{color:#3a70be;font-size:8px}.production-mini>button{-webkit-appearance:none;appearance:none;border:0;border-bottom:1px solid var(--soft-line);text-align:left;cursor:pointer;background:#fff;grid-template-columns:minmax(170px,1fr) 150px 92px;align-items:center;gap:12px;width:100%;min-height:57px;padding:8px 14px;display:grid}.production-mini>button:hover{background:#fafbfd}.production-mini strong{font-size:10px;display:block}.production-mini small{color:#8a95a5;margin-top:3px;font-size:8px;display:block}.production-mini>button>div:nth-child(2){align-items:center;gap:7px;display:flex}.production-mini em{color:#758296;font-size:8px;font-style:normal}.progress{background:#edf0f4;border-radius:5px;flex:1;height:5px;overflow:hidden}.progress i{border-radius:inherit;background:linear-gradient(90deg,#2980df,#2eb6a6);height:100%;display:block}.activity-feed{grid-template-columns:repeat(3,1fr);padding:5px 14px 14px;display:grid}.activity-feed>div{border-bottom:1px solid var(--soft-line);gap:9px;padding:10px 8px;display:flex}.activity-icon{color:#2873ce;background:var(--blue-soft);border-radius:7px;flex:none;place-items:center;width:27px;height:27px;font-size:9px;font-weight:700;display:grid}.activity-icon.release{color:var(--teal);background:var(--teal-soft)}.activity-icon.ship{color:var(--violet);background:var(--violet-soft)}.activity-feed p{min-width:0;margin:0}.activity-feed strong{white-space:nowrap;text-overflow:ellipsis;font-size:9px;display:block;overflow:hidden}.activity-feed small{color:#8e98a8;margin-top:3px;font-size:8px;display:block}.mini-empty{text-align:center;color:#929baa;padding:25px 15px;font-size:10px}.mini-empty.success{color:var(--green)}.module-stack{flex-direction:column;gap:14px;display:flex}.module-actions{justify-content:space-between;align-items:center;gap:15px;display:flex}.module-actions>div:last-child{gap:8px;display:flex}.view-tabs{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:9px;padding:3px;display:inline-flex}.view-tabs button{color:#758196;cursor:pointer;background:0 0;border:0;border-radius:6px;height:29px;padding:0 12px;font-size:10px}.view-tabs button.active{color:#2564c3;background:#edf3fd;font-weight:600}.summary-row{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.summary-card{border:1px solid var(--line);min-height:88px;box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;padding:12px 14px;position:relative;overflow:hidden}.summary-card:before{content:"";background:var(--blue);width:3px;position:absolute;inset:0 auto 0 0}.summary-card.green:before{background:var(--green)}.summary-card.amber:before{background:#d99226}.summary-card.red:before{background:var(--red)}.summary-card.violet:before{background:var(--violet)}.summary-card>span{color:#788498;font-size:9px}.summary-card>strong{margin-top:6px;font-size:20px;display:block}.summary-card p{color:#929cab;margin:3px 0 0;font-size:8px}.section-toolbar{border-bottom:1px solid var(--soft-line);background:#fbfcfd;justify-content:space-between;align-items:center;min-height:43px;padding:7px 12px;display:flex}.toolbar-left{align-items:center;gap:7px;display:flex}.record-count{color:#7b8798;margin-right:6px;font-size:9px}.filter-chip{color:#68768b;background:#fff;border:1px solid #e1e5ec;border-radius:12px;padding:5px 9px;font-size:8px}.filter-chip.active{color:#2865c2;background:#eff5ff;border-color:#b9cdf1}.table-wrap{width:100%;overflow:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:820px}.table-wrap th{border-bottom:1px solid var(--line);color:#7a8597;text-align:left;white-space:nowrap;background:#fafbfd;height:37px;padding:0 11px;font-size:8px;font-weight:600}.table-wrap td{border-bottom:1px solid var(--soft-line);color:#42516a;vertical-align:middle;height:48px;padding:7px 11px;font-size:9px}.table-wrap tr:last-child td{border-bottom:0}.table-wrap tr.clickable{cursor:pointer}.table-wrap tbody tr:hover td{background:#fbfcfe}.empty-cell{text-align:center;color:#98a1af!important;padding:45px!important}.code{color:#245ca4;letter-spacing:-.15px;font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.primary-cell strong{color:#273750;text-overflow:ellipsis;white-space:nowrap;max-width:250px;font-size:9px;display:block;overflow:hidden}.primary-cell small{color:#8b95a6;text-overflow:ellipsis;white-space:nowrap;max-width:280px;margin-top:3px;font-size:8px;display:block;overflow:hidden}.primary-cell.numeric{text-align:right}.status-badge{color:#69768a;white-space:nowrap;background:#f1f3f6;border-radius:11px;align-items:center;gap:5px;height:21px;padding:0 7px;font-size:8px;display:inline-flex}.status-badge i{background:#8d97a5;border-radius:50%;width:5px;height:5px}.status-badge.green{background:var(--green-soft);color:var(--green)}.status-badge.green i{background:var(--green)}.status-badge.blue{background:var(--blue-soft);color:var(--blue)}.status-badge.blue i{background:var(--blue)}.status-badge.amber{background:var(--amber-soft);color:var(--amber)}.status-badge.amber i{background:var(--amber)}.status-badge.red{background:var(--red-soft);color:var(--red)}.status-badge.red i{background:var(--red)}.plain-badge{color:#5f6d82;background:#eff2f6;border-radius:5px;padding:4px 7px;font-size:8px;display:inline-block}.row-actions{align-items:center;gap:5px;display:flex}.row-actions button{color:#2763b2;cursor:pointer;white-space:nowrap;background:#f3f7fe;border:1px solid #bcd0ec;border-radius:5px;height:24px;padding:0 8px;font-size:8px}.row-actions button.danger{color:#c64b47;background:#fff5f4;border-color:#efcac8}.muted{color:#9ba4b1;font-size:8px}.overdue,.negative{color:var(--red)}.positive{color:var(--green)}.check{color:var(--green);font-weight:600}.progress-cell{align-items:center;gap:7px;min-width:105px;display:flex}.progress-cell>div{background:#edf0f4;border-radius:5px;width:70px;height:5px;overflow:hidden}.progress-cell i{border-radius:inherit;background:linear-gradient(90deg,#2e75dd,#27ad9f);height:100%;display:block}.progress-cell span{color:#6e7a8e;font-size:8px}.expiry-cell strong{font-size:9px;display:block}.expiry-cell small{color:#8995a6;margin-top:2px;font-size:8px;display:block}.expiry-cell.warning strong,.expiry-cell.warning small{color:var(--red)}.warehouse-cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.warehouse-cards article{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;padding:14px}.warehouse-cards article>div:first-child{justify-content:space-between;display:flex}.warehouse-icon{background:var(--blue-soft);width:31px;height:31px;color:var(--blue);border-radius:8px;place-items:center;font-weight:700;display:grid}.warehouse-cards h3{margin:10px 0 0;font-size:12px}.warehouse-cards p{color:#8591a3;margin:4px 0 10px;font-size:9px}.warehouse-cards dl{border-top:1px solid var(--soft-line);grid-template-columns:repeat(3,1fr);gap:5px;margin:0;padding-top:9px;display:grid}.warehouse-cards dt{color:#939dac;font-size:8px}.warehouse-cards dd{margin:3px 0 0;font-size:9px;font-weight:600}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.two-column.wide-left{grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr)}.control-list{padding:7px 14px 14px}.control-list>div{border-bottom:1px solid var(--soft-line);gap:9px;padding:10px 0;display:flex}.control-list>div:last-child{border-bottom:0}.control-list i{background:var(--green-soft);width:23px;height:23px;color:var(--green);border-radius:50%;flex:none;place-items:center;font-size:9px;font-style:normal;display:grid}.control-list i.blue{background:var(--blue-soft);color:var(--blue)}.control-list i.amber{background:var(--amber-soft);color:var(--amber)}.control-list strong{font-size:9px;display:block}.control-list small{color:#8994a4;margin-top:3px;font-size:8px;display:block}.production-board{grid-template-columns:repeat(4,1fr);gap:11px;display:grid}.production-board>section{background:#eef1f5;border:1px solid #e2e6ec;border-radius:10px;min-height:190px;padding:9px}.production-board>section>header{justify-content:space-between;padding:2px 2px 8px;display:flex}.production-board>section>header h3{margin:0;font-size:10px}.production-board>section>header b{background:#fff;border-radius:10px;place-items:center;width:19px;height:19px;font-size:8px;display:grid}.production-board section>div>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e5ec;border-radius:8px;width:100%;margin-bottom:8px;padding:10px;position:relative;box-shadow:0 2px 6px #14233d0a}.production-board section>div>button:hover{border-color:#b9cbe8}.production-board button>div:first-child{justify-content:space-between;display:flex}.production-board button>div:first-child strong{color:#2d61a7;font-family:Consolas,monospace;font-size:8px}.priority{color:#6d7889;background:#eef1f5;border-radius:4px;padding:2px 5px;font-size:7px;font-style:normal}.priority.high{background:var(--red-soft);color:var(--red)}.priority.low{background:var(--green-soft);color:var(--green)}.production-board h4{margin:8px 0 3px;font-size:10px}.production-board p{color:#7f8b9c;margin:0 0 9px;font-size:8px}.production-board footer{color:#8a95a4;justify-content:space-between;margin-top:9px;font-size:7px;display:flex}.production-board footer b{color:#667388;font-size:7px}.card-action{border-top:1px solid var(--soft-line);text-align:center;color:#2965bc;margin:9px -10px -10px;padding:7px 10px;font-size:8px;font-weight:600;display:block}.planning-callout,.trace-search-card,.document-callout,.audit-callout{background:linear-gradient(110deg,#f5f9ff,#eef8f7);border:1px solid #cedcf1;border-radius:11px;align-items:center;gap:14px;min-height:82px;padding:15px 18px;display:flex}.planning-callout>span,.trace-search-card>span,.document-callout>span,.audit-callout>span{color:#fff;background:#2367df;border-radius:10px;flex:none;place-items:center;width:39px;height:39px;font-size:11px;font-weight:800;display:grid}.planning-callout>div,.trace-search-card>div,.document-callout>div,.audit-callout>div{flex:1}.planning-callout h3,.trace-search-card h3,.document-callout h3,.audit-callout h3{margin:0;font-size:12px}.planning-callout p,.trace-search-card p,.document-callout p,.audit-callout p{color:#718096;margin:4px 0 0;font-size:9px}.planning-callout>b,.trace-search-card>strong,.document-callout>strong,.audit-callout>b{color:#2564bb;white-space:nowrap;font-size:11px}.plan-badge{border-radius:9px;padding:4px 7px;font-size:8px}.plan-badge.short{color:var(--red);background:var(--red-soft)}.plan-badge.ok{color:var(--green);background:var(--green-soft)}.quality-flow{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:12px;display:flex}.quality-flow span{color:#5e6c81;background:#f7f9fc;border:1px solid #d9e2ef;border-radius:7px;padding:7px 11px;font-size:9px}.quality-flow span.done{color:var(--green);background:var(--green-soft);border-color:#c6e6d9}.quality-flow i{color:#9aa5b4;font-style:normal}.severity{background:var(--amber-soft);width:21px;height:21px;color:var(--amber);border-radius:50%;place-items:center;font-size:8px;display:inline-grid}.severity.high{color:var(--red);background:var(--red-soft)}.severity.low{color:var(--green);background:var(--green-soft)}.recall-list{gap:9px;padding:12px;display:grid}.recall-list article{background:snow;border:1px solid #edd1cf;border-radius:9px;padding:11px}.recall-list article>div:first-child{justify-content:space-between;align-items:center;display:flex}.recall-icon{background:var(--red-soft);width:27px;height:27px;color:var(--red);border-radius:7px;place-items:center;font-size:9px;font-weight:700;display:grid}.recall-list article>strong{color:#c54845;margin-top:8px;font:8px Consolas,monospace;display:block}.recall-list h4{margin:5px 0 2px;font-size:10px}.recall-list p,.recall-list small{color:#7f8998;margin:0;font-size:8px}.recall-list dl{grid-template-columns:repeat(2,1fr);margin:9px 0;display:grid}.recall-list dt{color:#969ead;font-size:7px}.recall-list dd{margin:2px 0 0;font-size:9px;font-weight:600}.trace-focus{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:11px;padding:15px 18px}.trace-focus>div:first-child{justify-content:space-between;display:flex}.material-chip{background:var(--blue-soft);color:#2b66ba;border-radius:5px;padding:4px 8px;font:8px Consolas,monospace}.trace-focus h2{margin:10px 0 4px;font-size:17px}.trace-focus>p{color:#778398;margin:0;font-size:9px}.trace-focus dl{border-top:1px solid var(--soft-line);grid-template-columns:repeat(4,1fr);margin:13px 0 0;padding-top:11px;display:grid}.trace-focus dt{color:#909aaa;font-size:8px}.trace-focus dd{margin:3px 0 0;font-size:9px;font-weight:600}.trace-flow{grid-template-columns:1fr 55px .7fr 55px 1fr;align-items:stretch;gap:6px;display:grid}.trace-flow .panel-head{min-height:54px}.trace-arrow{color:#6c7c92;flex-direction:column;justify-content:center;align-items:center;display:flex}.trace-arrow i{color:#5a8fd7;font-size:21px;font-style:normal}.trace-arrow span{text-align:center;font-size:7px}.trace-nodes{gap:7px;padding:10px;display:grid}.trace-nodes article{border:1px solid var(--soft-line);border-radius:8px;align-items:center;gap:8px;padding:8px;display:flex}.trace-nodes article>span{background:var(--teal-soft);width:27px;height:27px;color:var(--teal);border-radius:7px;flex:none;place-items:center;font-size:9px;font-weight:700;display:grid}.trace-nodes strong{font-size:9px;display:block}.trace-nodes p{color:#77859a;margin:2px 0;font-size:8px}.trace-nodes small{color:#98a1af;font-size:7px}.trace-center{flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:150px;padding:10px;display:flex}.trace-center>span{color:#fff;background:#1e6fd3;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.trace-center>strong{font:10px Consolas,monospace}.trace-center>small{color:#7f8a9a;text-align:center;font-size:8px}.empty-state{text-align:center;background:#fff;border:1px dashed #d9dfe8;border-radius:11px;padding:80px 20px}.empty-state span{background:var(--blue-soft);width:50px;height:50px;color:var(--blue);border-radius:50%;place-items:center;margin:0 auto 12px;font-weight:700;display:grid}.empty-state h3{margin:0}.empty-state p{color:#8995a6}.temperature-strip{background:#f2faf9;border:1px solid #cce3e0;border-radius:10px;align-items:center;gap:18px;padding:12px 16px;display:flex}.temperature-strip>div{align-items:center;gap:7px;min-width:280px;display:flex}.temperature-strip span{color:#44726f;font-size:8px}.temperature-strip div div{background:linear-gradient(90deg,#4796e6,#48c9aa,#e3af43);border-radius:5px;flex:1;height:8px;position:relative}.temperature-strip div div i{background:#138f7d;border-radius:4px;position:absolute;inset:2px 17%}.temperature-strip p{color:#5e7776;margin:0;font-size:9px}.finance-hero{color:#fff;background:linear-gradient(110deg,#182d4b,#1c3f64);border-radius:12px;grid-template-columns:1.2fr .65fr auto .65fr .55fr;align-items:center;gap:18px;min-height:110px;padding:16px 20px;display:grid}.finance-hero>div:first-child span{color:#79d9c8;font-size:8px}.finance-hero h2{margin:4px 0;font-size:17px}.finance-hero p{color:#a9b9cd;margin:0;font-size:8px}.finance-hero>div:not(:first-child) span{color:#9eb0c5;font-size:8px;display:block}.finance-hero>div:not(:first-child) strong{margin-top:5px;font-size:17px;display:block}.finance-hero>i{color:#7188a3;font-style:normal}.finance-hero>b{border-radius:7px;justify-self:end;padding:7px 10px;font-size:9px}.finance-hero>b.balanced{color:#7de0c6;background:#38ceab1a;border:1px solid #5cd9bb33}.finance-hero>b.unbalanced{color:#ffaaa6;background:#dc4b4626}.account-bars{padding:12px 15px 17px}.account-bars>div,.horizontal-bars>div{grid-template-columns:85px 1fr 72px;align-items:center;gap:8px;margin:11px 0;display:grid}.account-bars span,.horizontal-bars span{color:#667389;font-size:8px}.account-bars>div>div,.horizontal-bars>div>div{background:#eef1f5;border-radius:5px;height:7px;overflow:hidden}.account-bars i,.horizontal-bars i{border-radius:inherit;background:linear-gradient(90deg,#326fce,#46a9cb);height:100%;display:block}.account-bars strong,.horizontal-bars strong{text-align:right;font-size:8px}.rating{background:var(--blue-soft);width:21px;height:21px;color:var(--blue);border-radius:50%;place-items:center;font-size:8px;font-weight:700;display:inline-grid}.rating.A{background:var(--green-soft);color:var(--green)}.rating.C{background:var(--red-soft);color:var(--red)}.master-stats,.department-grid{grid-template-columns:repeat(4,1fr);gap:11px;display:grid}.master-stats article,.department-grid article{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;grid-template-columns:32px 1fr;align-items:center;gap:9px;padding:12px;display:grid}.master-stats article>span,.department-grid article>span{background:var(--blue-soft);width:32px;height:32px;color:var(--blue);border-radius:8px;place-items:center;font-weight:700;display:grid}.master-stats strong,.department-grid strong{font-size:14px;display:block}.master-stats small,.department-grid small{color:#8792a3;font-size:8px;display:block}.master-stats p,.department-grid p{border-top:1px solid var(--soft-line);color:#8692a2;grid-column:span 2;margin:0;padding-top:7px;font-size:8px}.person-cell{align-items:center;gap:7px;display:flex}.person-cell>span{color:#3566a6;background:#e9f0fb;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:8px;font-weight:700;display:grid}.person-cell strong{font-size:9px}.person-cell.compact>span{width:28px;height:28px}.person-cell.compact small{color:#8b95a4;margin-top:2px;font-size:7px;display:block}.report-header{background:linear-gradient(105deg,#f0f6ff,#eef9f6);border:1px solid #d7e3ef;border-radius:11px;justify-content:space-between;align-items:center;min-height:104px;padding:17px 20px;display:flex}.report-header span{color:#2870c5;font-size:8px;font-weight:600}.report-header h2{margin:5px 0;font-size:17px}.report-header p{color:#738196;margin:0;font-size:9px}.report-kpis{grid-template-columns:repeat(4,1fr)}.bar-chart{padding:10px 16px 13px}.chart-legend{justify-content:flex-end;gap:12px;display:flex}.chart-legend span{color:#7b8798;align-items:center;gap:5px;font-size:8px;display:flex}.bar-stage{background:repeating-linear-gradient(0deg,#0000 0 39px,#f0f2f6 40px);border-bottom:1px solid #dfe4eb;justify-content:space-around;align-items:flex-end;height:175px;margin-top:10px;display:flex}.bar-stage>div{text-align:center;width:13%}.bar-stage section{justify-content:center;align-items:flex-end;gap:4px;height:150px;display:flex}.bar-stage i{background:#3979da;border-radius:4px 4px 0 0;width:13px;display:block}.bar-stage i.purchase{background:#35ae9e}.bar-stage span{color:#7f8a9a;margin-top:6px;font-size:8px;display:block}.horizontal-bars{padding:14px 16px}.horizontal-bars i{background:linear-gradient(90deg,#21a293,#54c5b5)}.report-cards{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.report-cards article{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;padding:14px}.report-cards article>span{color:#778498;font-size:9px}.report-cards article>strong{margin-top:7px;font-size:20px;display:block}.report-cards article>p{color:#919baa;margin:3px 0 10px;font-size:8px}.document-callout>span{background:#1d8f83;font-size:9px}.file-cell{align-items:center;gap:8px;display:flex}.file-cell>span{background:var(--blue-soft);width:29px;height:32px;color:var(--blue);border-radius:5px;place-items:center;font-size:7px;font-weight:700;display:grid}.file-cell strong{text-overflow:ellipsis;max-width:230px;font-size:9px;display:block;overflow:hidden}.file-cell small{color:#8b95a5;margin-top:2px;font-size:7px;display:block}.hash,.details-code{color:#5b687a;text-overflow:ellipsis;white-space:nowrap;background:#f2f4f7;border-radius:4px;max-width:240px;padding:4px 6px;font:7px Consolas,monospace;display:inline-block;overflow:hidden}.audit-callout{background:linear-gradient(110deg,#f4f8ff,#f8f5ff);border-color:#d8dced}.audit-callout>span{background:var(--violet)}.audit-callout>b{color:var(--violet);background:var(--violet-soft);border-radius:6px;padding:5px 8px}.action-code{color:#3d65a0;background:#edf3fb;border-radius:4px;padding:4px 6px;font:7px Consolas,monospace}.system-status{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.system-status>div{border:1px solid var(--line);min-height:68px;box-shadow:var(--shadow-sm);background:#fff;border-radius:9px;align-items:center;gap:8px;padding:12px;display:flex}.system-status>div>i{width:8px;height:8px;box-shadow:0 0 0 4px var(--green-soft);background:#25ad7e;border-radius:50%}.system-status span{flex:1}.system-status strong{font-size:9px;display:block}.system-status small{color:#8e98a7;margin-top:3px;font-size:7px;display:block}.system-status b{color:var(--green);font-size:8px}.role-badge{background:var(--blue-soft);color:#2d67bb;border-radius:5px;padding:4px 7px;font-size:8px;display:inline-block}.permission-table{overflow:auto}.permission-table table{border-collapse:collapse;width:100%;min-width:760px}.permission-table th,.permission-table td{border-bottom:1px solid var(--soft-line);text-align:center;height:36px;padding:0 10px;font-size:8px}.permission-table th:first-child,.permission-table td:first-child{text-align:left}.permission-table th{color:#738095;background:#fafbfd}.permission-table td.allowed{color:var(--green);font-weight:700}.permission-table td.denied{color:#bdc3cd}.admin-note{background:#fff9eb;border:1px solid #ead7ae;border-radius:9px;align-items:flex-start;gap:15px;padding:13px 15px;display:flex}.admin-note strong{color:#8a631d;white-space:nowrap;font-size:9px}.admin-note p{color:#846f48;margin:0;font-size:8px;line-height:1.6}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a162878;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(510px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-md);background:#fff;border-radius:14px;animation:.18s ease-out modal-in;overflow:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:15px;min-height:73px;padding:15px 18px;display:flex}.modal h2{margin:0;font-size:16px}.modal header p{color:#7e8a9d;margin:5px 0 0;font-size:9px}.modal header>button{color:#6f7a8b;cursor:pointer;background:#f1f3f6;border:0;border-radius:7px;width:29px;height:29px;font-size:18px}.action-form{padding:17px 18px 0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.span-2{grid-column:span 2}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>span{color:#445269;font-size:9px;font-weight:600}.field>span b{color:var(--red);margin-left:2px}.field input,.field select,.field textarea{color:#27364e;background:#fff;border:1px solid #dce2ea;border-radius:7px;outline:0;width:100%;min-height:36px;padding:7px 9px;font-size:10px;transition:all .15s}.field textarea{resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:#86abe7;box-shadow:0 0 0 3px #2f6fed14}.field small{color:#8e98a8;font-size:8px}.checkbox-row{border:1px solid #dce2ea;border-radius:7px;align-items:center;gap:20px;height:36px;padding:0 10px;display:flex}.checkbox-row label{align-items:center;gap:6px;font-size:9px;display:flex}.checkbox-row input{width:14px;height:14px;min-height:0}.form-footer{border-top:1px solid var(--line);background:#fafbfd;justify-content:flex-end;gap:8px;margin:18px -18px 0;padding:12px 18px;display:flex;position:sticky;bottom:0}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:11px;height:11px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form-context{background:#f6f9fd;border:1px solid #d8e2f0;border-radius:8px;padding:10px 12px}.form-context strong{color:#2863af;font:9px Consolas,monospace}.form-context span{margin-left:10px;font-size:10px;font-weight:600}.form-context p{color:#758398;margin:5px 0 0;font-size:8px}.confirm-card{grid-template-columns:42px 1fr;align-items:center;gap:11px;display:grid}.confirm-card>span{background:var(--blue-soft);width:42px;height:42px;color:var(--blue);border-radius:10px;place-items:center;font-weight:700;display:grid}.confirm-card strong{color:#255ea8;font:10px Consolas,monospace;display:block}.confirm-card p{margin:3px 0;font-size:10px}.confirm-card small{color:#758196}.confirm-card ul{color:#66758a;background:#f4f8fd;border-radius:8px;grid-column:span 2;margin:8px 0 0;padding:10px 10px 10px 28px;font-size:9px;line-height:1.8}.decision-summary{border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:11px;display:flex}.decision-summary>span{border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.decision-summary>span.approve{color:var(--green);background:var(--green-soft)}.decision-summary>span.reject{color:var(--red);background:var(--red-soft)}.decision-summary strong{font-size:10px}.decision-summary p{color:#7f8a9b;margin:3px 0 0;font-size:8px}.gate-list,.danger-note{background:#f7faff;border:1px solid #d7e3f2;border-radius:8px;padding:10px 12px}.gate-list>span{font-size:9px;font-weight:600}.gate-list ul{color:#68778c;margin:6px 0 0;padding-left:18px;font-size:8px;line-height:1.8}.danger-note{color:#9c4441;background:#fff5f4;border-color:#efc9c7}.danger-note strong{font-size:9px}.danger-note p{margin:4px 0 0;font-size:8px;line-height:1.6}.temperature-review{background:#f5f9fc;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:12px;display:grid}.temperature-review>div{background:linear-gradient(90deg,#4598e8,#35bda5,#f0b341,#dc605a);border-radius:5px;height:8px;position:relative}.temperature-review i{background:#1b2d47;border-radius:3px;width:4px;height:14px;position:absolute;top:-3px}.temperature-review span{font-size:9px;font-weight:600}.temperature-review p{color:#788598;text-align:center;grid-column:span 3;margin:4px 0 0;font-size:8px}.quick-modal-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:15px;display:grid}.quick-modal-grid button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:9px;grid-template-columns:32px 1fr;align-items:center;gap:2px 9px;padding:11px;display:grid}.quick-modal-grid button:hover{background:#f8fbff;border-color:#a9c3e9}.quick-modal-grid span{background:var(--blue-soft);width:32px;height:32px;color:var(--blue);border-radius:8px;grid-row:span 2;place-items:center;font-weight:700;display:grid}.quick-modal-grid strong{font-size:9px}.quick-modal-grid small{color:#8a95a6;font-size:7px}.drawer-backdrop{z-index:90;background:#0c182a47;position:fixed;inset:0}.detail-drawer{background:#fff;flex-direction:column;width:min(500px,94vw);animation:.22s ease-out drawer-in;display:flex;position:absolute;inset:0 0 0 auto;box-shadow:-15px 0 50px #1120392e}@keyframes drawer-in{0%{opacity:.7;transform:translate(30px)}}.detail-drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;min-height:78px;padding:15px 18px;display:flex}.detail-drawer>header>div{gap:10px;display:flex}.detail-drawer>header>div>span{background:var(--blue-soft);width:36px;height:36px;color:var(--blue);border-radius:9px;place-items:center;font-weight:700;display:grid}.detail-drawer h2{color:#245da9;margin:0;font-family:Consolas,monospace;font-size:14px}.detail-drawer header p{color:#6f7d91;margin:4px 0 0;font-size:9px}.detail-drawer header>button{color:#6c788a;cursor:pointer;background:#f1f3f6;border:0;border-radius:7px;width:29px;height:29px;font-size:18px}.drawer-body{flex:1;padding:14px 17px 25px;overflow:auto}.drawer-status{border-bottom:1px solid var(--soft-line);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.drawer-status>span{color:#8b95a5;font-size:8px}.detail-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin:13px 0;display:grid}.detail-grid dt{color:#8994a4;font-size:8px}.detail-grid dd{word-break:break-word;margin:3px 0 0;font-size:9px;font-weight:600}.drawer-section{border-top:1px solid var(--line);margin-top:16px;padding-top:13px}.drawer-section h3{margin:0 0 8px;font-size:10px}.drawer-section>article{background:#f7f9fc;border-radius:7px;grid-template-columns:1fr auto;gap:3px 10px;margin-bottom:5px;padding:9px;display:grid}.drawer-section>article strong{font-size:9px}.drawer-section>article span{color:#8792a3;grid-row:2;font-size:8px}.drawer-section>article b{grid-row:span 2;align-self:center;font-size:9px}.drawer-section.timeline>article{background:0 0;grid-template-columns:8px 1fr;padding:6px 2px}.drawer-section.timeline i{background:var(--teal);border-radius:50%;width:7px;height:7px;margin-top:4px}.drawer-section.timeline strong{display:block}.drawer-section.timeline small{color:#8d97a7;margin-top:2px;font-size:7px;display:block}.detail-drawer>footer{border-top:1px solid var(--line);background:#fafbfd;justify-content:flex-end;gap:8px;min-height:62px;padding:12px 17px;display:flex}.toast{z-index:200;color:#fff;background:#183248;border-radius:9px;align-items:center;gap:10px;max-width:440px;min-height:46px;padding:10px 12px;font-size:10px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 35px #10223840}.toast>span{background:#33aa85;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:700;display:grid}.toast.error>span{background:var(--red)}.toast>button{color:#aebdcb;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:16px}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.loading-screen,.error-screen{background:#f4f6f9;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-brand{color:#fff;background:linear-gradient(145deg,#2d7ed8,#19a58f);border-radius:15px;place-items:center;width:54px;height:54px;font:800 27px Georgia,serif;display:grid;box-shadow:0 12px 28px #1a7bac38}.loading-screen h1{margin:14px 0 5px;font-size:18px}.loading-screen p,.error-screen p{color:#788599;font-size:10px}.loading-track{background:#dfe4eb;border-radius:3px;width:220px;height:3px;margin-top:13px;overflow:hidden}.loading-track i{background:linear-gradient(90deg,#3476d9,#2ab39e);width:45%;height:100%;animation:1.2s ease-in-out infinite load;display:block}@keyframes load{0%{transform:translate(-110%)}to{transform:translate(330%)}}.error-screen>span{background:var(--red-soft);width:48px;height:48px;color:var(--red);border-radius:50%;place-items:center;font-size:20px;font-weight:700;display:grid}.error-screen h1{margin:14px 0 0;font-size:17px}@media (max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.production-board{grid-template-columns:repeat(2,1fr)}.global-search{width:230px}.trace-flow{grid-template-columns:1fr}.trace-arrow{flex-direction:row;gap:5px}.trace-arrow i{transform:rotate(90deg)}.system-status{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.sidebar{transition:transform .22s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-close{color:#fff;background:#ffffff14;border:0;border-radius:6px;width:28px;height:28px;margin-left:auto;font-size:17px;display:block}.sidebar-scrim{z-index:39;background:#0b172866;border:0;position:fixed;inset:0}.main-shell{margin-left:0}.menu-button{border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.page-heading p{display:none}.global-search{width:190px}.content{padding:16px}.dashboard-approvals,.dashboard-stock,.dashboard-alerts,.dashboard-production{grid-column:span 12}.summary-row{grid-template-columns:repeat(2,1fr)}.two-column,.two-column.wide-left,.warehouse-cards{grid-template-columns:1fr}.master-stats,.department-grid,.activity-feed{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.demo-banner span{display:none}.topbar{gap:8px;min-height:64px;padding:9px 12px}.page-heading{min-width:0}.page-heading h1{font-size:15px}.global-search{z-index:25;width:auto;box-shadow:var(--shadow-sm);position:fixed;top:98px;left:12px;right:12px}.content{padding:58px 10px 28px}.icon-button{display:none}.quick-create{padding:0 10px}.quick-create span{font-size:14px}.welcome-card{padding:17px;display:block}.quick-strip{margin-top:14px;overflow:auto}.quick-strip button{flex:0 0 74px}.kpi-grid,.summary-row,.report-kpis{grid-template-columns:repeat(2,1fr)}.kpi-card{min-height:98px}.kpi-card>strong{font-size:17px}.module-actions{flex-direction:column;align-items:stretch}.view-tabs{overflow:auto}.view-tabs button{white-space:nowrap}.production-board{grid-template-columns:1fr}.quality-flow{justify-content:flex-start;overflow:auto}.quality-flow span{flex:none}.activity-feed{grid-template-columns:1fr}.stock-health{gap:16px}.donut{width:100px;height:100px}.temperature-strip{display:block}.temperature-strip p{margin-top:9px}.finance-hero{grid-template-columns:repeat(2,1fr)}.finance-hero>div:first-child{grid-column:span 2}.finance-hero>i{display:none}.finance-hero>b{grid-column:span 2;justify-self:start}.master-stats,.department-grid,.report-cards,.system-status{grid-template-columns:1fr}.trace-focus dl{grid-template-columns:repeat(2,1fr);gap:10px}.report-header{display:block}.report-header .button{margin-top:12px}.quick-modal-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.modal-backdrop{padding:8px}.modal{max-height:calc(100vh - 16px)}.action-form{padding:14px 14px 0}.form-footer{margin-left:-14px;margin-right:-14px;padding:11px 14px}}:root{--text-body:17px;--text-compact:16px;--text-title:20px;--text-display:24px;--reading-line-height:1.5}body{font-size:var(--text-body);line-height:var(--reading-line-height);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-size:var(--text-compact);line-height:1.35}.brand{height:auto;min-height:86px}.brand strong{font-size:18px;line-height:1.25}.brand small,.environment-pill,.nav-group>p,.nav-group button,.sidebar-footer strong,.sidebar-footer small{font-size:var(--text-compact);line-height:1.4}.environment-pill{min-height:42px}.nav-group{margin-top:18px}.nav-group>p{letter-spacing:.7px;margin-bottom:7px}.nav-group button{height:auto;min-height:46px;padding-block:7px}.nav-icon{font-size:13px}.nav-group button b{min-width:24px;height:24px;font-size:var(--text-compact)}.sidebar-footer{min-height:78px}.demo-banner{height:auto;min-height:42px;font-size:var(--text-compact);padding:7px 12px;line-height:1.35}.topbar{min-height:86px;top:42px}.page-heading h1{font-size:23px;line-height:1.2}.page-heading p,.global-search input,.quick-create,.button{font-size:var(--text-compact);line-height:1.35}.global-search,.quick-create,.button{height:auto;min-height:42px}.button.small{height:auto;min-height:38px;font-size:var(--text-compact)}.global-search kbd{font-size:var(--text-compact)}.notification b{min-width:24px;height:24px;font-size:var(--text-compact);line-height:1}.content :where(p,span,small,strong,b,em,label,button,input,select,textarea,th,td,dt,dd,li,a,kbd),.modal :where(p,span,small,strong,b,em,label,button,input,select,textarea,th,td,dt,dd,li,a,kbd),.detail-drawer :where(p,span,small,strong,b,em,label,button,input,select,textarea,th,td,dt,dd,li,a,kbd){line-height:1.45;font-size:var(--text-compact)!important}.content p,.content li,.modal p,.modal li,.detail-drawer p,.detail-drawer li{line-height:var(--reading-line-height);font-size:var(--text-body)!important}.content :where(h1,h2){line-height:1.25;font-size:var(--text-display)!important}.content :where(h3,h4),.panel-head h3,.modal h2,.detail-drawer h2{line-height:1.3;font-size:var(--text-title)!important}.detail-drawer :where(h3,h4){line-height:1.35;font-size:18px!important}.welcome-card h2,.report-header h2{font-size:23px!important}.kpi-card>strong,.summary-card>strong,.report-cards article>strong,.finance-hero>div:not(:first-child) strong,.donut strong{line-height:1.15;font-size:var(--text-display)!important}.welcome-card{min-height:142px}.quick-strip button{width:106px;height:auto;min-height:82px;padding:9px}.kpi-card{min-height:132px;padding:15px 16px 13px}.summary-card{min-height:112px;padding:15px 16px}.panel-head{min-height:76px;padding:14px 16px}.approval-list button,.alert-list button,.production-mini>button{min-height:76px;padding-block:12px}.activity-feed>div{min-height:68px;padding-block:12px}.text-button,.table-link{min-height:38px;font-size:var(--text-compact);align-items:center;display:inline-flex}.view-tabs button,.record-count,.filter-chip,.status-badge,.plain-badge,.role-badge,.priority,.muted,.progress-cell span,.rating,.plan-badge,.action-code{font-size:var(--text-compact);line-height:1.3}.view-tabs button{height:auto;min-height:40px}.section-toolbar{flex-wrap:wrap;gap:10px;min-height:58px}.toolbar-left{flex-wrap:wrap}.filter-chip,.plain-badge,.role-badge,.plan-badge{padding:6px 9px}.status-badge{border-radius:15px;height:auto;min-height:30px;padding:4px 10px}.production-board>section>header b,.severity,.rating{width:30px;min-width:30px;height:30px}.activity-icon,.recall-icon,.person-cell>span{width:34px;min-width:34px;height:34px}.file-cell>span{width:38px;height:40px}.row-actions{flex-wrap:wrap}.row-actions button{height:auto;min-height:36px;font-size:var(--text-compact);padding:6px 10px;line-height:1.3}.table-wrap table{min-width:1040px}.table-wrap th,.permission-table th,.permission-table td{height:48px;font-size:var(--text-compact);line-height:1.35}.table-wrap td{height:62px;font-size:var(--text-compact);padding-block:10px;line-height:1.45}.code,.primary-cell strong,.primary-cell small,.expiry-cell strong,.expiry-cell small,.person-cell strong,.person-cell.compact small,.file-cell strong,.file-cell small,.hash,.details-code{font-size:var(--text-compact);line-height:1.4}.primary-cell strong,.primary-cell small{max-width:340px}.hash,.details-code{max-width:310px}.warehouse-cards article,.master-stats article,.department-grid article,.report-cards article{padding:16px}.warehouse-cards h3,.planning-callout h3,.trace-search-card h3,.document-callout h3,.audit-callout h3,.production-board>section>header h3,.production-board h4,.control-list strong,.system-status strong{line-height:1.35;font-size:18px!important}.production-board>section{min-height:250px;padding:12px}.production-board section>div>button{padding:13px}.production-board footer{flex-wrap:wrap;gap:10px}.planning-callout,.trace-search-card,.document-callout,.audit-callout{min-height:112px}.system-status>div{min-height:92px}.admin-note{line-height:1.5}.modal{width:min(620px,100%)}.modal.wide{width:min(820px,100%)}.modal>header{min-height:88px}.field{gap:7px}.field input,.field select,.field textarea{min-height:46px;font-size:var(--text-compact);padding:10px 11px;line-height:1.4}.checkbox-row{flex-wrap:wrap;height:auto;min-height:46px;padding-block:7px}.form-grid{gap:16px}.form-footer{align-items:center;min-height:68px}.quick-modal-grid button{min-height:70px}.detail-drawer{width:min(580px,96vw)}.detail-drawer>header{min-height:92px}.drawer-body{padding:18px 20px 30px}.drawer-status{min-height:52px}.detail-grid{gap:16px}.drawer-section>article{margin-bottom:8px;padding:12px}.detail-drawer>footer{min-height:72px}.toast{min-height:58px;font-size:var(--text-compact);line-height:1.4}.loading-screen p,.error-screen p{font-size:var(--text-compact);line-height:1.5}@media (max-width:900px){body{font-size:16px}.topbar{top:42px}.content{padding:18px}}@media (max-width:620px){.topbar{min-height:72px;padding-block:10px}.page-heading h1{font-size:20px}.global-search{min-height:46px;top:114px}.content{padding:68px 12px 32px}.quick-create span{font-size:18px}.kpi-grid,.summary-row,.report-kpis{grid-template-columns:1fr}.welcome-card{min-height:0}.quick-strip button{flex-basis:104px}.section-toolbar{align-items:flex-start}.table-wrap table{min-width:940px}.modal>header,.action-form{padding-inline:16px}.detail-drawer{width:100vw}.detail-grid{grid-template-columns:1fr}}@media print{.sidebar,.topbar,.demo-banner,.module-actions,.section-toolbar,.button{display:none!important}.main-shell{margin:0}.content{padding:0}.panel,.summary-card,.kpi-card{box-shadow:none;break-inside:avoid}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
