/*! tailwindcss v4.3.3 | 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)))){*,::backdrop,:after,:before{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.visible\!{visibility:visible!important}.fixed{position:fixed}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.w-9{width:calc(var(--spacing) * 9)}.resize{resize:both}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.bom-grid .bom-cell-range{background:#dcefe8;box-shadow:inset 0 0 0 1px #81baa6}.bom-grid .bom-cell-range.bom-cell-invalid{background:#ffe1db}.bom-column-resize{cursor:col-resize;touch-action:none;background:0 0;border:0;width:10px;height:100%;padding:0;position:absolute;top:0;right:0}.bom-column-resize:focus-visible,.bom-column-resize:hover{background:#92b7a8}.bom-menu-dismiss{z-index:40;position:fixed;inset:0}.bom-context-menu{z-index:41;background:#fff;border:1px solid #d0ded7;border-radius:7px;width:240px;padding:5px;position:fixed;box-shadow:0 6px 24px #18372c26}.bom-context-menu button{text-align:left;color:#254c3f;background:#fff;border:0;border-radius:4px;width:100%;padding:11px 12px;font-size:12px;display:block}.bom-context-menu button:focus-visible,.bom-context-menu button:hover{background:#e8f3ed}.edit-summary{background:#fff4df;border-radius:8px;justify-content:space-between;gap:18px;padding:16px;display:flex}.edit-summary strong{color:#946226;margin-top:8px;font-size:24px;display:block}.shortage-value{color:#946226;font-weight:700}.edit-button{min-height:44px}.detail-stage td:first-child,.detail-stage th:first-child{white-space:normal;min-width:140px;max-width:230px}.detail-stage table{font-size:12px}.detail-stage td,.detail-stage th{padding:10px}.stage-tabs{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.stage-tabs button{border:1px solid var(--line);min-height:46px;color:var(--ink);background:#f3f6f3;border-radius:8px;padding:10px 14px}.stage-tabs button.active{background:var(--green);color:#fff}.stage-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.part-card{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:18px}.part-card-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.quantity-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:20px 0;display:grid}.quantity-grid small,.quantity-grid strong{display:block}.quantity-grid small{color:var(--muted);margin-bottom:8px}.quantity-grid strong{overflow-wrap:anywhere;font-size:20px}.touch-update{justify-content:center;width:100%;min-height:46px}.save-actions{background:#f5f8f5;gap:12px;padding:12px 0;display:flex;position:sticky;bottom:0}.save-actions button{min-height:48px}.save-actions .primary{flex:1;justify-content:center}.progress-form input,.progress-form textarea{width:100%;min-width:0;min-height:48px;font-size:16px}.edit-section{scroll-margin-top:90px}.history-collapse{margin-top:22px}.history-collapse summary{cursor:pointer;align-items:center;gap:8px;min-height:46px;display:flex}.save-success{color:var(--green)}.mobile-plan-list{display:none}.detail-drawer>.panel-head{z-index:2;background:#fff;flex-direction:row;position:sticky;top:0}.detail-drawer .detail-line,.detail-drawer .pad>h2{overflow-wrap:anywhere}.detail-drawer{overscroll-behavior:contain;width:760px;max-width:100%}.mobile-plan-card{border-bottom:1px solid var(--line);padding:18px}.mobile-plan-title{text-align:left;color:var(--green);background:0 0;border:0;min-height:44px;padding:0;font-size:16px;font-weight:700}.mobile-plan-card p{color:var(--muted);font-size:12px}.mobile-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mobile-stage-grid button{border:1px solid var(--line);text-align:left;background:#f7faf7;border-radius:8px;min-height:64px;padding:10px}.mobile-stage-grid small,.mobile-stage-grid strong{display:block}.mobile-stage-grid small{color:var(--muted);margin-bottom:7px;font-size:11px}@media (max-width:1024px){.production-table{display:block}.detail-drawer{width:100%;max-width:760px}}@media (max-width:600px){.stage-cards{grid-template-columns:1fr}.detail-drawer{width:100%;height:100dvh}.detail-drawer .pad{padding:16px}.detail-drawer .form-pair{grid-template-columns:1fr}.stage-tabs{gap:6px}.stage-tabs button{flex:30%;padding:10px 6px;font-size:12px}.detail-drawer .panel-head{padding:14px}.detail-drawer .edit-section{padding:15px}.quantity-grid strong{font-size:18px}}.compact-progress td{height:43px;padding:10px 12px;font-size:12px}.compact-progress th{padding:13px 12px}.row-link{color:#226b7b;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.row-link:hover{text-decoration:underline}.percent-cell{color:#226b7b;font:inherit;text-align:left;background:0 0;border:0;min-width:55px;padding:4px 0}.percent-cell:hover{text-decoration:underline}.production-table .compact-progress td:first-child{min-width:240px}.detail-drawer{width:1000px}.detail-sections{gap:16px;margin:22px 0;display:grid}.detail-stage .panel-head{padding:14px 18px}.detail-stage td,.detail-stage th{padding:11px 14px}.detail-stage .table-scroll{max-height:300px}.edit-section{border:1px solid var(--line);background:#f5f8f5;border-radius:9px;padding:20px}.compact-progress .badge{font-size:10px}.production-table th{z-index:2;position:sticky;top:0}.production-table td:first-child,.production-table th:first-child{z-index:1;border-right:1px solid var(--line);background:#fff;min-width:260px;position:sticky;left:0}.production-table th:first-child{z-index:3;background:#f8faf8}.stage-cell{text-align:left;min-width:115px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;padding:8px}.stage-cell:hover{background:#edf4ef;border-color:#d5e3da}.stage-cell strong{color:var(--ink);margin-bottom:5px;display:block}.stage-cell>span{font-size:11px;display:block}.stage-cell.complete{background:#eef8f0}.stage-cell.has-defect{color:#a74938;background:#fff0ed}.data-warning{color:#9b712c;margin-top:6px;font-size:10px}.drawer-backdrop{z-index:20;background:#142e2b55;justify-content:flex-end;display:flex;position:fixed;inset:0}.progress-drawer{background:#fff;width:560px;max-width:100%;height:100%;overflow:auto;box-shadow:-10px 0 40px #142e2b22}.progress-form{flex-direction:column;gap:16px;display:flex}.progress-form label{flex-direction:column;gap:7px;font-size:12px;display:flex}.progress-form textarea{font:inherit;border:1px solid var(--line);resize:vertical;border-radius:6px;padding:10px}.form-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-pair input{width:100%}.history-heading{align-items:center;gap:8px;margin-top:30px;display:flex}.history-entry{border-bottom:1px solid var(--line);padding:15px 0;font-size:12px}.history-entry p{line-height:1.6}.history-entry small{color:var(--muted)}.home-welcome{background:#eaf2ec;border:1px solid #d9e5dc;border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:30px;display:flex}.home-welcome h2{margin:12px 0;font-size:27px}.home-welcome p{color:var(--muted);margin:0;line-height:1.7}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.module-card{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:25px;transition:border-color .15s,transform .15s}.module-card:hover{border-color:#6fa38c}.module-icon{color:var(--green);background:#edf5ef;border-radius:10px;margin-bottom:22px;padding:13px;display:inline-flex}.module-card p{color:var(--muted);min-height:48px;font-size:13px;line-height:1.7}.module-link{color:var(--green);justify-content:space-between;align-items:center;margin-top:22px;font-size:12px;font-weight:700;display:flex}.period-panel{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:22px;padding:22px}.period-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.period-heading label{align-items:center;gap:12px;font-size:12px;display:flex}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.month-tile{border:1px solid var(--line);text-align:left;background:#f8faf8;border-radius:7px;padding:13px 8px}.month-tile small,.month-tile strong{display:block}.month-tile small{color:var(--muted);margin-top:7px;font-size:11px}.month-tile.selected{color:var(--green);background:#e6f1e9;border-color:#4d9674}@media (max-width:1000px){.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:720px){.home-welcome,.period-heading{flex-direction:column;align-items:flex-start}.module-grid{grid-template-columns:1fr}.month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.period-heading label{flex-wrap:wrap}.home-welcome{padding:22px}}:root{--ink:#172b2b;--muted:#6f8181;--green:#176859;--line:#e2e9e6;--background:#f5f7f5}*{box-sizing:border-box}body{background:var(--background);color:var(--ink);font-family:var(--font-inter),Arial,Helvetica,sans-serif;margin:0;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #5dba9a}.shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;width:238px;height:100vh;padding:28px 18px;display:flex;position:fixed}.brand{letter-spacing:1px;padding:0 12px;font-size:23px;font-weight:800}.brand span{color:var(--green)}.tagline{letter-spacing:2px;color:var(--muted);padding:8px 12px 35px;font-size:11px}.nav-label{color:var(--muted);letter-spacing:1.5px;padding:12px;font-size:10px}.nav-button{color:#657373;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;margin:3px 0;padding:12px;display:flex}.nav-button.active{color:var(--green);background:#e8f2ec;font-weight:700}.company{border-top:1px solid var(--line);margin-top:auto;padding:15px 10px;font-size:12px}.main{width:calc(100% - 238px);margin-left:238px}.topbar{border-bottom:1px solid var(--line);height:75px;color:var(--muted);background:#fff;justify-content:space-between;align-items:center;padding:0 34px;font-size:12px;display:flex}.avatar{color:var(--green);background:#e9f1ec;border-radius:50%;padding:10px;font-weight:700}.content{max-width:1700px;margin:auto;padding:30px 34px}.eyebrow{color:var(--green);letter-spacing:2px;font-size:10px;font-weight:700}h1{letter-spacing:-.7px;margin:9px 0;font-size:29px}h2{margin:0;font-size:16px}.subtitle{color:var(--muted);margin:0;line-height:1.7}.heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.primary,.secondary{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:7px;align-items:center;gap:8px;padding:11px 16px;display:inline-flex}.primary{background:var(--green);color:#fff;border-color:var(--green)}.demo-banner{color:#596547;background:#f0f4e9;border:1px solid #dde7cf;border-radius:8px;margin-bottom:22px;padding:12px 16px;font-size:12px;line-height:1.6}.stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat{border:1px solid var(--line);background:#fff;border-radius:10px;padding:20px}.stat-label{color:var(--muted);font-size:12px}.stat-value{margin:14px 0 7px;font-size:30px;font-weight:700}.stat-note{color:var(--muted);font-size:11px}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.panel-head{justify-content:space-between;padding:20px}.filters,.panel-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;display:flex}.filters{flex-wrap:wrap;padding:16px 20px}input,select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:9px 11px}.search{flex:1;min-width:180px;max-width:360px}.table-scroll{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}th{text-align:left;color:var(--muted);letter-spacing:.5px;background:#f8faf8;font-size:10px;font-weight:600}td,th{padding:15px}td{border-bottom:1px solid #edf1ed}tbody tr:hover{background:#f9fbf9}.code{color:var(--green);font-weight:700}.muted{color:var(--muted)}.badge{color:#728079;background:#f0f3f1;border-radius:5px;padding:5px 8px;font-size:10px;display:inline-block}.badge.warn{color:#9c7025;background:#fff3db}.badge.ok{color:#2d7a50;background:#e8f3ec}.pagination{color:var(--muted);justify-content:space-between;align-items:center;padding:16px 20px;font-size:12px;display:flex}.pagination div{gap:8px;display:flex}.progress{background:#eef2ee;width:100px;margin-top:7px}.progress,.progress span{border-radius:5px;height:5px}.progress span{background:#3e9775;display:block}.two-column{grid-template-columns:280px 1fr;gap:20px;display:grid}.product-list{max-height:650px;overflow:auto}.product-button{text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;width:100%;padding:14px 18px;display:block}.product-button.selected{background:#e8f2ec}.product-button small{color:var(--muted);margin-top:6px;display:block}.pad{padding:22px}.upload{text-align:center;background:#f9fcf9;border:2px dashed #c9d9cf;border-radius:10px;margin:20px;padding:40px 20px}.upload input{max-width:100%;margin-top:15px}.mapping{flex-wrap:wrap;gap:14px;padding:20px;display:flex}.mapping label{flex-direction:column;gap:7px;font-size:12px;display:flex}.notice{color:#886629;background:#fff4df;border-radius:7px;margin:15px 20px;padding:13px 18px;font-size:12px;line-height:1.7}.user-pick{align-items:center;gap:12px;padding:20px;display:flex}.permission-check{accent-color:var(--green);width:16px;height:16px}.empty{text-align:center;color:var(--muted);padding:40px}.mobile-nav{display:none}.kiosk{max-width:600px;margin:auto}.kiosk label{margin:18px 0 7px;display:block}.kiosk input,.kiosk select{width:100%;padding:16px;font-size:18px}.kiosk .primary{justify-content:center;width:100%;margin-top:22px;padding:18px}.error{color:#b84e43}.detail-line{color:var(--muted);margin:10px 0;font-size:12px}@media (max-width:1100px){.sidebar{width:195px}.main{width:calc(100% - 195px);margin-left:195px}.content{padding:24px 20px}.stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.sidebar{display:none}.main{width:100%;margin:0}.topbar{height:60px;padding:0 18px}.content{padding:20px 14px}.heading{flex-direction:column;align-items:flex-start}h1{font-size:25px}.stats{gap:10px}.stat{padding:15px}.stat-value{font-size:25px}.two-column{grid-template-columns:1fr}.product-list{max-height:200px}.mobile-nav{border-bottom:1px solid var(--line);background:#fff;gap:5px;padding:8px;display:flex;overflow:auto}.mobile-nav button{white-space:nowrap;background:#eef4ef;border:0;border-radius:6px;padding:10px}.panel-head{flex-direction:column;align-items:flex-start}}.progress-drawer.detail-drawer{width:760px}@media (max-width:1024px){.progress-drawer.detail-drawer{width:100%;max-width:100%;height:100dvh}}.progress-short{font-weight:700;color:#c0392b!important}.progress-full{font-weight:700;color:#168047!important}.progress-unknown{color:#7a8782!important}.edit-summary.summary-short{background:#fff0ed}.edit-summary.summary-short strong{color:#c0392b}.edit-summary.summary-full{background:#eaf6ee}.edit-summary.summary-full strong{color:#168047}.status-badge{border-radius:6px;padding:8px 12px;font-size:11px;font-weight:700;line-height:1.3;display:inline-block}.status-idle{color:#465850;background:#e3e8e6;border:1px solid #cbd5cf}.status-running{color:#784900;background:#ffe1ac;border:1px solid #efbd63}.status-done{color:#116436;background:#c9ecd5;border:1px solid #8dccaa}.mobile-plan-card .status-badge{margin-top:8px}.production-content{max-width:none}.production-table{max-height:none}.overall-track{background:#edf1ed;border-radius:5px;width:70px;height:5px;margin-top:6px;display:block;overflow:hidden}.overall-track>span{background:currentColor;height:100%;display:block}.overall-mobile{border:1px solid var(--line);background:#f7faf7;border-radius:6px;margin:12px 0;padding:9px 12px;font-weight:700;display:block}.period-back{margin-top:16px}.bom-filters{border:1px solid var(--line);background:#fff;border-radius:9px;margin-bottom:18px}.bom-filters label{font-size:12px;font-weight:600}.bom-filters select{max-width:100%}.production-input{max-width:760px;margin:auto}.production-input label{flex-direction:column;gap:9px;margin:20px 0;display:flex}.production-input select{width:100%;min-height:48px;font-size:16px}.production-input .primary{justify-content:center;width:100%;min-height:48px}.customer-groups{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:18px;padding:18px 20px}.customer-groups h2{margin-bottom:13px;font-size:14px}.customer-buttons{flex-wrap:wrap;gap:9px;display:flex}.customer-group{text-align:left;border:1px solid var(--line);min-width:120px;min-height:60px;color:var(--ink);background:#f8faf8;border-radius:7px;flex:0 auto;padding:10px 14px}.customer-group small,.customer-group strong{display:block}.customer-group strong{font-size:12px}.customer-group small{color:var(--muted);margin-top:7px;font-size:11px}.customer-group.selected{color:var(--green);background:#e6f1e9;border-color:#4d9674}@media (max-width:600px){.customer-groups{padding:15px}.customer-group{flex:42%;min-width:0}.customer-group strong{overflow-wrap:anywhere}}.production-dashboard{gap:18px;display:grid}.dashboard-filter .filters{align-items:flex-end}.dashboard-filter label{flex-direction:column;gap:7px;min-width:120px;font-size:12px;display:flex}.dashboard-search{flex:1}.dashboard-filter input,.dashboard-filter select{max-width:100%;min-height:42px}.dashboard-extra summary{cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:12px}.dashboard-extra>div{flex-wrap:wrap;gap:12px;padding-top:12px;display:flex}.dashboard-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard-count{border:1px solid var(--line);text-align:left;background:#fff;border-radius:7px;padding:17px 20px}.dashboard-count span{color:var(--muted);font-size:12px;display:block}.dashboard-count strong{margin-top:10px;font-size:28px;display:block}.dashboard-count.selected,.dashboard-stage.selected{background:#e6f1e9;border-color:#4d9674}.dashboard-stage-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;display:grid}.dashboard-stage{border:0;border-right:1px solid var(--line);text-align:left;background:#fff;min-width:0;padding:18px}.dashboard-stage>span:first-child{font-size:12px;display:block}.dashboard-stage strong{margin:10px 0;font-size:22px;display:block}.dashboard-stage small{color:var(--muted);font-size:11px}.dashboard-bar{background:#edf1ed;border-radius:4px;height:6px;margin:12px 0;display:block;overflow:hidden}.dashboard-bar>span{background:#36896a;height:100%;display:block}.dashboard-note{color:var(--muted);margin:12px 18px;font-size:12px;line-height:1.6}.dashboard-note.error{color:#b84e43}.dashboard-recent td{white-space:normal;min-width:120px}.dashboard-recent td:nth-child(2){min-width:200px}@media (max-width:1024px){.dashboard-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-stage{border-bottom:1px solid var(--line)}.dashboard-filter .filters{gap:10px}}@media (max-width:600px){.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-count,.dashboard-filter .filters{padding:14px}.dashboard-filter label{flex:42%;min-width:0}.dashboard-filter .dashboard-search{flex-basis:100%}.dashboard-filter input,.dashboard-filter select{width:100%;font-size:16px}.dashboard-stage-grid{grid-template-columns:1fr}.dashboard-stage{grid-template-columns:1fr auto;gap:8px;padding:14px 16px;display:grid}.dashboard-stage strong{margin:0;font-size:18px}.dashboard-bar,.dashboard-stage small{grid-column:1/-1}.dashboard-bar{margin:0}.dashboard-extra{width:100%}.dashboard-recent table,.dashboard-recent tbody,.dashboard-recent td,.dashboard-recent tr{width:100%;min-width:0;display:block}.dashboard-recent thead{display:none}.dashboard-recent tr{border-bottom:1px solid var(--line);padding:12px 16px}.dashboard-recent td{border:0;padding:5px 0}.dashboard-recent td:nth-child(2){min-width:0;font-weight:600}.dashboard-recent .table-scroll{overflow:visible}}.production-table{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.production-table .row-link{min-height:36px}.plan-reference{margin-top:3px;font-size:10px}.content,.main{min-width:0}@media (max-width:1024px){.production-table .compact-progress td:first-child,.production-table .compact-progress th:first-child{white-space:normal;width:180px;min-width:180px;max-width:180px}.compact-progress td{padding:7px 10px;font-size:12px}.compact-progress th{padding:11px 10px}.compact-progress .row-link{font-weight:600;line-height:1.4}.compact-progress .percent-cell{min-height:36px}.compact-progress .status-badge{white-space:nowrap;padding:7px 9px}.plan-reference{line-height:1.4}.production-table td:first-child,.production-table th:first-child{box-shadow:3px 0 5px #142e2b0c}}@media (max-width:600px){.production-table .compact-progress td:first-child,.production-table .compact-progress th:first-child{width:150px;min-width:150px;max-width:150px}.compact-progress th{letter-spacing:0;font-size:9px}.compact-progress td{padding:6px 8px;font-size:11px}.compact-progress .row-link{font-size:12px}.plan-reference{font-size:9px}.compact-progress .overall-track{width:55px}}.compact-filter-panel{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:18px}.compact-filter-bar{flex-wrap:wrap;align-items:flex-end;gap:10px;padding:14px;display:flex}.compact-filter-bar label{flex-direction:column;flex:0 160px;gap:6px;min-width:130px;font-size:11px;display:flex}.compact-filter-bar .compact-customer{flex:210px}.compact-filter-bar .compact-search{flex:190px}.compact-filter-bar input,.compact-filter-bar select{width:100%;min-height:42px}.compact-filter-bar .secondary{min-height:42px}.compact-filter-bar .search{min-height:42px;margin:0}.dashboard-filter .filters{gap:10px;padding:14px}.dashboard-filter label{font-size:11px}.dashboard-filter .dashboard-note{margin:8px 14px}@media (max-width:600px){.compact-filter-bar{gap:9px;padding:12px}.compact-filter-bar .compact-customer,.compact-filter-bar .compact-search,.compact-filter-bar label{flex:42%;min-width:0}.compact-filter-bar input,.compact-filter-bar select{font-size:16px}.compact-filter-bar .search{flex:100%;width:100%;max-width:none}.compact-filter-bar .muted{font-size:11px}.compact-filter-bar .secondary{padding:9px 11px;font-size:12px}}.backup-admin{gap:18px;max-width:1100px;display:grid}.backup-admin .notice{margin:0}.backup-body{padding:20px}.backup-body p{margin:0 0 16px;font-size:13px;line-height:1.7}.backup-body small{color:var(--muted);margin-top:14px;font-size:12px;line-height:1.6;display:block}.backup-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.backup-body label{flex-direction:column;gap:10px;font-size:13px;display:flex}.backup-body input[type=file]{max-width:100%}.restore-preview{border:1px solid var(--line);overflow-wrap:anywhere;background:#f5f8f5;border-radius:8px;margin-top:20px;padding:16px}.restore-preview strong{margin-bottom:12px;display:block}@media (max-width:600px){.backup-body{padding:16px}.backup-actions>*{flex:100%;justify-content:center;min-height:44px}.backup-actions select{font-size:16px}}.auth-page{background:var(--bg,#f5f8f7);place-items:center;min-height:100dvh;padding:20px;display:grid}.auth-form{gap:16px;width:min(100%,420px);padding:30px;display:grid}.auth-form h1{font-size:22px}.admin-form>label,.auth-form label{gap:8px;display:grid}.auth-form input{width:100%}.admin-form{gap:20px;padding:24px;display:grid}.access-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.access-grid label,.access-inline{align-items:center;gap:10px;display:flex!important}.access-grid input,.access-inline input{width:20px;height:20px}.account-menu{align-items:center;gap:12px;display:flex}.account-menu .secondary{padding:8px 12px}.import-workflow>.pad>label,.plan-actions label{gap:7px;margin:12px 0;display:grid}.import-preview input{background:0 0;border:1px solid #0000;width:100%;min-width:140px;min-height:40px}.import-preview input:focus{border-color:var(--green);background:#fff}.import-preview td{padding:4px 8px}.import-workflow .filters label,.period-review .filters label{gap:6px;min-width:130px;display:grid}.import-workflow input[type=file]{width:100%;max-width:100%}.period-review{margin-bottom:18px}.period-review>summary{cursor:pointer;align-items:center;gap:12px;padding:14px 18px;display:flex}.plan-actions{margin:16px 0}.plan-change>summary{cursor:pointer;padding:12px 0;font-weight:600}.plan-change form{gap:10px;padding:12px 0;display:grid}.plan-actions .notice{overflow-wrap:anywhere;margin:10px 0}.plan-actions .notice p{margin:8px 0}.flow-alerts h2{font-size:15px}.period-review table{min-width:650px}.import-workflow,.period-review,.plan-actions{min-width:0;max-width:100%}@media (max-width:600px){.import-workflow .filters{gap:10px;padding:0}.import-workflow .filters label,.period-review .filters label{flex:42%;min-width:0}.import-workflow input,.import-workflow select,.period-review input{max-width:100%;font-size:16px}.period-review>summary{justify-content:space-between;padding:12px}.plan-actions .form-pair{grid-template-columns:1fr}.plan-actions input,.plan-actions select{width:100%;min-width:0;font-size:16px}.plan-actions .primary{width:100%;min-height:44px}}.user-management{gap:20px;display:grid}.user-list-filters{flex-wrap:wrap;align-items:end;gap:14px;padding:20px;display:flex}.user-list-filters label{gap:7px;display:grid}.user-list-filters input{width:240px;max-width:100%}.user-list td{white-space:nowrap}.user-list .user-selected td{background:#e6f2ed}.user-list-filters .muted{align-self:center}@media (max-width:600px){.user-list-filters{padding:16px}.user-list-filters label{flex:1;min-width:120px}.user-list-filters input{width:100%}.user-list td,.user-list th{padding:10px;font-size:12px}}.password-reset{border-top:1px solid #dce6e2;gap:14px;padding-top:20px;display:grid}.password-reset label{gap:8px;display:grid}.temporary-password{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font:600 18px monospace}.account-menu{flex-wrap:wrap}.recovery-detail{border-top:1px solid #dce6e2;gap:14px;display:grid}.recovery-detail label{gap:8px;display:grid}.recovery-detail p{overflow-wrap:anywhere}.auth-form textarea{resize:vertical;width:100%}.recovery-detail .access-inline input{flex-shrink:0}.bom-view-switch{background:#e8efec;border-radius:8px;gap:4px;margin-bottom:14px;padding:4px;display:inline-flex}.bom-view-switch button{color:#60746d;background:0 0;border:0;border-radius:6px;padding:10px 20px;font-weight:600}.bom-view-switch button.active{color:#176859;background:#fff;box-shadow:0 1px 4px #18382e15}.bom-sheet[hidden]{display:none}.bom-sheet{border-radius:8px;min-width:0}.bom-sheet-toolbar{border-bottom:1px solid #dce5e0;justify-content:space-between;padding:14px 16px}.bom-sheet-title,.bom-sheet-toolbar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.bom-sheet-title{font-size:13px}.bom-sheet-title>span{color:#71867c;font-size:12px}.bom-sheet-title .bom-dirty-count{color:#8a650b;background:#fff1c9;border-radius:4px;padding:5px 8px}.bom-sheet-actions{flex-wrap:wrap;gap:6px;display:flex}.bom-sheet-actions button{min-height:36px;padding:8px 11px;font-size:12px}.bom-formula{background:#fbfcfb;border-bottom:1px solid #dce5e0;align-items:center;gap:10px;padding:8px 14px;font-size:12px;display:flex}.bom-formula>span:first-child{text-overflow:ellipsis;white-space:nowrap;width:190px;overflow:hidden}.bom-formula .bom-fx{color:#7c9086;font-style:italic}.bom-formula>input{border-radius:3px;flex:1;min-width:100px;height:34px;padding:5px 8px}.bom-formula label{white-space:nowrap;color:#6c7e74;align-items:center;gap:5px;display:flex}.bom-formula label input{width:16px;height:16px}.bom-grid-scroll{scrollbar-gutter:stable;min-height:240px;max-height:68vh;position:relative;overflow:auto}.bom-grid{table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:970px;font-size:12px}.bom-grid td,.bom-grid th{border-bottom:1px solid #e0e8e3;border-right:1px solid #e0e8e3;height:36px;padding:0}.bom-grid thead th{color:#476158;z-index:4;letter-spacing:.3px;background:#f0f5f2;height:34px;padding:0 10px;font-size:10px;position:sticky;top:26px}.bom-grid .bom-column-letters th{text-align:center;color:#809188;background:#e8efeb;height:26px;font-size:11px;top:0}.bom-grid td:first-child,.bom-grid th:first-child{text-align:center;z-index:2;color:#889a8f;background:#f2f6f3;width:46px;position:sticky;left:0}.bom-grid .bom-code-cell,.bom-grid th:nth-child(2){z-index:2;position:sticky;left:46px;box-shadow:2px 0 3px #37503a09}.bom-grid thead th:first-child,.bom-grid thead th:nth-child(2){z-index:5}.bom-tone-0 td{background:#fff}.bom-tone-1 td{background:#f2f7fc}.bom-grid .bom-code-cell{color:#38624e;text-overflow:ellipsis;padding:0 10px;font-weight:600;overflow:hidden}.bom-grid .bom-tone-0 .bom-code-cell{background:#fff}.bom-grid .bom-tone-1 .bom-code-cell{background:#f2f7fc}.bom-grid input{width:100%;height:35px;box-shadow:none;background:0 0;border:0;border-radius:0;outline:0;padding:7px 10px;font-size:12px;display:block}.bom-grid input:read-only{cursor:cell}.bom-grid input:focus{background:#fff}.bom-grid .bom-cell-selected,.bom-grid input:focus{box-shadow:inset 0 0 0 2px #228e71}.bom-grid .bom-cell-invalid{background:#fff0ee}.bom-grid .bom-cell-invalid input{color:#bb4439}.bom-grid .bom-group-header td{background:#e6f1eb;border-top:1px solid #c8dcd0;height:38px}.bom-grid .bom-group-header.bom-tone-1 td{background:#e4edf8;border-top-color:#cbd9ec}.bom-group-header td:nth-child(2){box-shadow:none;padding:0 12px;position:static}.bom-group-header strong{color:#1e5a46;margin-right:14px;font-size:12px}.bom-group-header span{color:#6a8074;font-size:11px}.bom-group-header b{color:#a5790f;margin-left:14px;font-size:10px;font-weight:500}.bom-grid .bom-row-dirty .bom-code-cell{border-left:3px solid #d9ab37;padding-left:7px}.bom-add-detail,.bom-delete-row{color:#547768;background:0 0;border:0;margin:auto;padding:8px;display:flex}.bom-delete-row:hover{color:#b74235;background:#ffeee9}.bom-grid .bom-spacer td{background:0 0;border:0;padding:0;position:static}.bom-sheet-footer{color:#74877a;background:#f9fbfa;border-top:1px solid #dde7df;justify-content:space-between;gap:15px;padding:10px 14px;font-size:11px;display:flex}.bom-sheet-inline{background:#f6faf7;flex-wrap:wrap;gap:10px;padding:14px;display:flex}.bom-sheet-paste,.bom-sheet-review{background:#f6faf7;border-bottom:1px solid #dce5e0;padding:16px;font-size:12px}.bom-sheet-paste label{gap:8px;display:grid}.bom-sheet-paste textarea{border:1px solid #cad9d0;border-radius:5px;width:100%;padding:10px;font-family:monospace}.bom-sheet-paste button{margin:10px 10px 0 0}.bom-sheet-review>div{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.bom-sheet-review>div span{background:#e7eee9;border-radius:4px;padding:5px 8px}.bom-sheet-review>small{color:#6d8075;margin:10px 0;display:block}.bom-sheet-review label{margin:10px 0}@media (max-width:720px){.bom-sheet-toolbar{padding:12px}.bom-sheet-actions{gap:5px}.bom-sheet-actions button{min-height:40px}.bom-formula{flex-wrap:wrap;padding:8px}.bom-formula>span:first-child{width:auto;max-width:200px}.bom-formula>input{flex-basis:100%;order:4;font-size:16px}.bom-grid input{padding:6px 8px;font-size:16px}.bom-grid-scroll{max-height:65vh}.bom-sheet-footer{flex-wrap:wrap}.bom-view-switch{width:100%}.bom-view-switch button{flex:1}}.bom-review-dialog{background:#fff;border-radius:10px;flex-direction:column;display:flex;position:fixed;inset:3vh 3vw;overflow:hidden;box-shadow:0 12px 50px #173c3033}.bom-review-controls{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;font-size:12px;display:flex}.bom-review-controls button{min-height:40px}.bom-review-scroll{flex:1;min-height:0;overflow:auto}.bom-comparison{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:700px}.bom-comparison td,.bom-comparison th{white-space:normal;border-right:1px solid var(--line);vertical-align:top;width:280px}.bom-comparison thead th{z-index:2;color:var(--ink);letter-spacing:0;background:#f4f8f5;font-size:12px;position:sticky;top:0}.bom-comparison td:first-child,.bom-comparison th:first-child{z-index:1;background:#f7faf8;width:210px;position:sticky;left:0}.bom-comparison th:first-child{z-index:3}.bom-comparison th strong{margin-bottom:10px;display:block}.bom-comparison th details p{word-break:break-word;font-weight:400}.bom-comparison label{color:var(--muted);gap:5px;margin-bottom:9px;font-size:11px;display:grid}.bom-comparison input{width:100%;min-height:40px;color:var(--ink);font-size:13px}.bom-comparison .bom-review-different{background:#fff5dc}.bom-comparison .bom-review-invalid{background:#fde9e6}.bom-comparison small{color:var(--muted)}@media (max-width:720px){.bom-review-dialog{inset:1vh 1vw}.bom-review-controls{padding:10px}.bom-review-dialog .panel-head{padding:12px}.bom-comparison input{font-size:16px}.bom-comparison td:first-child,.bom-comparison th:first-child{width:140px}.bom-comparison{min-width:650px}}.plan-table-tools{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;font-size:12px;display:flex}.plan-table-tools label{align-items:center;gap:8px;display:flex}.compact-progress .plan-group-row td{background:#eaf2ed;padding:0;min-width:0!important;max-width:none!important;box-shadow:none!important;position:static!important}.plan-group-toggle{color:#195747;text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:12px;width:100%;min-height:44px;padding:12px 16px;font-weight:700;display:flex}.plan-group-toggle span{color:#4d665b;font-size:12px;font-weight:400}@media (max-width:720px){.plan-group-toggle{gap:5px;padding:10px}.plan-group-toggle span{width:100%;font-size:11px}.plan-table-tools{gap:7px;padding:10px}}.status-pending{color:#8a4400;background:#fff0cf;border:1px solid #e8b557;font-weight:700}.pending-bom-tools table input{min-width:120px;max-width:100%}.pending-bom-tools .plan-change{margin:14px 0}.user-activity summary{cursor:pointer;padding:10px 0;font-weight:600}.activity-detail{white-space:pre-wrap;overflow-wrap:anywhere;max-width:650px;max-height:320px;font-size:12px;overflow:auto}.user-activity td{white-space:nowrap}.import-pending{color:#8a5400}.plan-import-policy{margin:12px 0}.plan-import-policy summary{cursor:pointer;padding:8px 0}.plan-import-policy .access-inline{padding:8px 0}.import-preview td:last-child{white-space:normal;overflow-wrap:anywhere;min-width:250px;max-width:360px}.danger-button{color:#b42318;border-color:#efb4b0}.primary.danger-button{color:#fff;background:#b42318}.plan-actions .plan-change[open]{margin-top:12px}.compact-filter-bar>*,.content,.main,.panel,.two-column>*{min-width:0}.mobile-account,.mobile-filter-toggle{display:none}.table-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;max-width:100%}.plan-reference{white-space:normal;overflow-wrap:anywhere;max-width:260px}.plan-month-actions .filters{border:0;padding:0}@media (max-width:1024px){.sidebar{display:none}.main{width:100%;margin-left:0}.mobile-nav{border-bottom:1px solid var(--line);background:#fff;padding:8px 14px;display:block;overflow:visible}.mobile-nav label{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.mobile-nav select{flex:1;min-width:0;min-height:44px;font-size:16px}.topbar{gap:12px;height:auto;min-height:56px;padding:10px 14px}.topbar>span{overflow-wrap:anywhere;min-width:0}.account-menu{display:none}.mobile-account{flex-shrink:0;display:block;position:relative}.mobile-account summary{cursor:pointer;min-height:44px;color:var(--green);align-items:center;padding:8px;display:flex}.mobile-account>div{z-index:20;border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;min-width:180px;padding:12px;display:grid;position:absolute;top:100%;right:0;box-shadow:0 5px 20px #16372b22}.mobile-filter-toggle{text-align:left;width:100%;min-height:48px;color:var(--green);background:#fff;border:0;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.mobile-filter-toggle span{overflow-wrap:anywhere;max-width:55%;font-size:12px}.plan-filters[data-expanded=false] .compact-filter-bar{display:none}.plan-filters .dashboard-note{margin:4px 12px 10px}.primary,.secondary,input,select,summary{min-height:44px}input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;font-size:16px}input[type=checkbox],input[type=radio]{flex-shrink:0;width:20px;height:20px;min-height:0}.access-inline{min-height:44px}.detail-drawer .panel-head{align-items:center}.production-table .compact-progress td:first-child{min-width:180px;max-width:220px}.compact-progress .percent-cell{min-width:62px;min-height:44px}.compact-progress td:first-child .filters{border:0;gap:6px;padding:4px 0}.compact-progress td:first-child .secondary{padding:6px 10px}.plan-month-actions{margin-bottom:12px;padding:12px}.plan-month-actions .filters{gap:8px}.plan-month-actions .secondary{padding:8px 10px;font-size:12px}.import-workflow .backup-actions{flex-wrap:wrap;gap:10px}.import-workflow .access-inline{white-space:normal}.import-next-step{overflow-wrap:anywhere;line-height:1.6}}@media (max-width:600px){.content{padding:14px 10px}.heading{flex-direction:row;align-items:center;gap:8px;margin-bottom:14px}.heading h1{margin:4px 0;font-size:21px}.heading>.primary{flex-shrink:0;padding:9px 10px;font-size:12px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.module-card{padding:16px 12px}.module-icon{margin-bottom:12px;padding:9px}.module-card h2{font-size:14px;line-height:1.5}.module-link{margin-top:12px}.pad{padding:14px}.notice{margin:12px 0;padding:12px}.panel-head{padding:14px}.stats{margin-bottom:12px}.stat{padding:12px}.stat-value{margin:8px 0;font-size:23px}.stat-note{line-height:1.5}.import-workflow .filters,.import-workflow .mapping{padding:12px 0}.import-workflow .mapping label,.import-workflow .mapping select{width:100%}.import-workflow input[type=file]{width:100%;font-size:14px}.import-workflow .backup-actions>.primary{flex:100%;justify-content:center}.import-workflow .backup-actions>.access-inline{flex:100%}.detail-drawer .form-pair{grid-template-columns:minmax(0,1fr)}.plan-change input,.plan-change select,.plan-change textarea{width:100%;min-width:0}.production-content .stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.production-content .stat{padding:9px 7px}.production-content .stat-label{min-height:30px;font-size:10px;line-height:1.5}.production-content .stat-value{margin:8px 0 0;font-size:21px}.pi-overview>.panel-head{flex-direction:row;align-items:center;padding:10px 12px}.pi-overview h2{font-size:13px}.pi-overview button{padding:7px;font-size:11px}.plan-month-actions>.filters>.secondary{white-space:normal;text-align:center;flex:1 1 0;justify-content:center;min-width:0;font-size:11px;line-height:1.5}.plan-progress tbody tr:not(.plan-group-row)>td:nth-child(2),.plan-progress thead th:nth-child(2){display:none}.production-table .plan-progress td:first-child{min-width:160px;max-width:180px}.plan-reference{margin-top:4px;font-size:11px;line-height:1.5}}.phone-progress-summary,.phone-row-more,.phone-stage-strip{display:none}@media (max-width:600px){.production-table .compact-progress{table-layout:fixed;white-space:normal;width:100%;min-width:0!important}.production-table .compact-progress tbody tr:not(.plan-group-row)>td:not(:first-child),.production-table .compact-progress thead{display:none}.production-table .compact-progress tbody tr:not(.plan-group-row)>td:first-child{width:100%;box-shadow:none;white-space:normal;background:#fff;padding:12px 10px;min-width:0!important;max-width:none!important;position:static!important}.production-table .compact-progress td:first-child>.filters{display:none}.production-table .compact-progress .row-link{overflow-wrap:anywhere;color:#175e50;width:100%;min-height:32px;font-size:14px;font-weight:700;line-height:1.5}.phone-progress-summary{justify-content:space-between;align-items:center;gap:6px;margin:8px 0;font-size:12px;display:flex}.phone-progress-summary .status-badge{padding:5px 7px;font-size:10px}.phone-progress-summary>button{background:0 0;border:0;min-height:36px;padding:4px;font-size:14px;font-weight:700}.phone-stage-strip{border-top:1px solid #e0e8e3;border-bottom:1px solid #e0e8e3;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;display:grid}.phone-stage-strip>button{background:#fff8f6;border:0;border-right:1px solid #e0e8e3;border-radius:0;flex-direction:column;justify-content:space-between;align-items:center;gap:5px;min-width:0;min-height:66px;padding:8px 2px;display:flex}.phone-stage-strip>button:last-child{border-right:0}.phone-stage-strip>button>span:first-child{white-space:nowrap;color:#546960;font-size:10px;line-height:1.4}.phone-stage-strip strong{font-variant-numeric:tabular-nums;font-size:15px}.phone-stage-strip .stage-incomplete{color:#b42318}.phone-stage-strip .stage-complete{color:#10743b;background:#edf8f0}.phone-stage-strip .stage-na{color:#66756e;opacity:1;background:#f3f5f4}.phone-stage-track{background:#e4e9e6;border-radius:3px;width:75%;height:3px;display:block;overflow:hidden}.phone-stage-track>span{background:currentColor;height:100%;display:block}.phone-row-more{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;font-size:11px;line-height:1.5;display:block}.production-table .plan-group-toggle{padding:10px;font-size:12px}.plan-table-tools{gap:5px;padding:8px}.plan-table-tools button{padding:7px 9px;font-size:11px}.plan-table-tools label{font-size:11px}.plan-table-tools select{max-width:125px;font-size:13px}.production-table .compact-progress,.production-table .compact-progress>tbody,.production-table .compact-progress>tbody>tr{width:100%;display:block}.production-table .compact-progress>tbody>tr:not(.plan-group-row)>td:first-child{display:block;width:100%!important}.production-table .compact-progress .plan-group-row>td{width:100%;min-width:0;display:block}.production-table .compact-progress>tbody>tr,.production-table .compact-progress>tbody>tr>td{min-height:0;height:auto!important}.production-table .compact-progress>tbody>tr:not(.plan-group-row)>td:first-child{overflow:visible}.production-table{overflow:hidden visible;max-height:none!important}}.phone-part-spec,.phone-quantity-detail{display:none}@media (max-width:600px){.detail-stage{scroll-margin-top:120px}.detail-stage .panel-head{text-align:left;flex-direction:row;justify-content:space-between;padding:12px}.detail-stage .table-scroll{overflow:visible;max-height:none!important}.detail-stage table,.detail-stage tbody,.detail-stage tr{white-space:normal;width:100%;min-width:0;display:block}.detail-stage td:not(:first-child),.detail-stage thead{display:none}.detail-stage td:first-child{white-space:normal;width:100%;height:auto;padding:12px;font-size:13px;font-weight:600;display:block}.phone-part-spec{color:var(--muted);margin-top:4px;font-size:11px;font-weight:400;display:block}.phone-quantity-detail{grid-template-columns:repeat(4,minmax(0,1fr)) 44px;align-items:center;gap:5px;margin-top:12px;font-size:11px;font-weight:400;display:grid}.phone-quantity-detail>span{min-width:0;color:var(--muted)}.phone-quantity-detail strong{color:var(--ink);overflow-wrap:anywhere;margin-top:6px;font-size:15px;font-weight:700;display:block}.phone-quantity-detail .progress-short strong{color:#b42318}.phone-quantity-detail .progress-full strong{color:#10743b}.phone-quantity-detail button{justify-content:center;min-width:44px;min-height:44px;padding:6px;font-size:12px}.phone-quantity-detail small{color:#b42318;grid-column:1/-1}.detail-stage tbody>tr>td:first-child{box-shadow:none;width:100%!important;min-width:0!important;max-width:none!important;position:static!important}}.mobile-quick-nav{display:none}.mobile-quick-menu{border:1px solid var(--line);color:var(--ink);width:100%;max-width:600px;max-height:min(70dvh,600px);padding:0 0 env(safe-area-inset-bottom,0);background:#fff;border-radius:16px 16px 0 0;margin:0 auto;inset:auto 0 0;overflow:auto;box-shadow:0 -8px 30px #153d2c22}.mobile-quick-menu::backdrop{background:#122e2455}.mobile-quick-menu>header{border-bottom:1px solid var(--line);z-index:1;background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.quick-menu-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid}.quick-menu-items>button{min-width:0;min-height:60px;color:var(--ink);border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;align-items:center;gap:10px;padding:12px;font-size:13px;line-height:1.5;display:flex}.quick-menu-items>button.active{color:#145f4a;background:#e6f3ed;border-color:#87b5a1;font-weight:700}.quick-menu-items svg{flex-shrink:0}@media (max-width:1024px){.main>.content{padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}.mobile-quick-nav{z-index:10;padding:6px max(8px,env(safe-area-inset-left,0px)) calc(6px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:#fff;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 14px #1f47340b}.mobile-quick-nav>button{color:#62756b;white-space:nowrap;background:#fff;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:58px;padding:4px 1px;font-size:11px;line-height:1.4;display:flex}.mobile-quick-nav>button>span{border-radius:20px;justify-content:center;align-items:center;width:48px;height:30px;display:flex}.mobile-quick-nav>button.active{color:#12634c;font-weight:700}.mobile-quick-nav>button.active>span{background:#dff1e9}.mobile-quick-nav>button:active{background:#f1f7f3}}@media (min-width:601px) and (max-width:1024px){.mobile-quick-nav{padding-left:max(18px,50vw - 350px);padding-right:max(18px,50vw - 350px)}.mobile-quick-nav>button{min-height:62px;font-size:12px}}.direct-plan-callout{background:#f0f8f3;border:1px solid #b3d5c2;border-radius:8px;margin:14px 0;padding:16px}.direct-plan-callout p{color:var(--muted);font-size:13px;line-height:1.6}.pending-bom-tools>.plan-change{scroll-margin-top:120px}.live-counts{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:18px;padding:16px 20px;font-size:13px;display:flex}.live-counts strong{color:#147543}.live-explanation{color:var(--muted);padding:0 20px 12px;font-size:12px;line-height:1.7}.live-users td:nth-child(2),.live-users td:nth-child(4){white-space:normal;overflow-wrap:anywhere;min-width:140px;max-width:230px}.live-users .table-scroll{max-height:500px}.compact-progress td:first-child>.filters{border:0;gap:6px;padding:4px 0}.compact-progress td:first-child>.filters .secondary{padding:6px 9px;font-size:11px}@media (min-width:1025px){.compact-progress td{padding:8px 10px}.production-table .compact-progress td:first-child{min-width:210px;max-width:280px}.detail-drawer .panel-head{padding:16px 20px}.user-management{gap:18px;display:grid}.live-users table th{z-index:1;position:sticky;top:0}}@media (max-width:600px){.live-counts{gap:10px;padding:12px;font-size:12px}.live-explanation{padding:0 12px 12px}.live-users .filters{padding:12px}.live-users .filters>input,.live-users .filters>select{width:100%;min-width:0}.direct-plan-callout{padding:12px}}.plan-management-strip{gap:12px;min-width:0;margin-bottom:14px;display:grid}.plan-management-strip>*{min-width:0;margin-bottom:0}@media (min-width:1025px){.plan-management-strip{grid-template-columns:.9fr .8fr 1.5fr;align-items:start}.plan-management-strip:has(details[open]),.plan-management-strip:has(table){grid-template-columns:minmax(0,1fr)}.plan-management-strip .panel-head{flex-wrap:wrap;gap:8px;padding:12px}.plan-management-strip h2{font-size:13px}.plan-management-strip .secondary{min-height:36px;padding:8px 10px;font-size:11px}.plan-management-strip .plan-month-actions{padding:12px}.plan-management-strip .period-review>summary{flex-wrap:wrap;gap:8px;padding:15px 12px;font-size:12px}.production-content .heading{margin-bottom:16px}.production-content .stats{gap:12px;margin-bottom:14px}.production-content .stat{padding:12px 16px}.production-content .stat-value{margin:8px 0 0;font-size:26px}.plan-filters .compact-filter-bar{gap:8px;padding:12px}.plan-filters .compact-filter-bar label{flex:0 120px;min-width:100px}.plan-filters .compact-filter-bar .compact-customer,.plan-filters .compact-filter-bar .compact-search{flex:160px}.plan-filters .compact-filter-bar .secondary{padding:9px 11px;font-size:12px}}.home-welcome{gap:12px;margin-bottom:18px;padding:18px 22px}.home-welcome h2{overflow-wrap:anywhere;margin:0 0 6px;font-size:20px}.home-welcome p{font-size:12px;line-height:1.5}.mobile-filter-toggle.filter-active{color:var(--green);background:#edf8f2;font-weight:700}.mobile-filter-toggle span{overflow-wrap:anywhere;min-width:0}.nav-button{transition:background .15s,color .15s}.module-card{transition:border-color .15s,transform .15s,box-shadow .15s}.module-icon{transition:transform .2s}.back-to-top:focus-visible,.module-card:focus-visible,.nav-button:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media (hover:hover) and (pointer:fine){.nav-button:hover:not(.active){color:var(--green);background:#f0f5f2}.module-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #17685915}.module-card:hover .module-icon{transform:scale(1.06)}.module-card:active{transform:translateY(-1px)}}.empty-reset{margin-top:12px}.history-actor{align-items:center;gap:6px;display:flex}.history-actor>span:last-child{overflow-wrap:anywhere;min-width:0}.actor-avatar{color:#fff;flex-shrink:0;width:22px;height:22px;font-size:9px;font-weight:700;display:inline-flex}.actor-avatar,.back-to-top{border-radius:50%;justify-content:center;align-items:center}.back-to-top{z-index:15;background:#fff;width:44px;height:44px;padding:0;display:flex;position:fixed;bottom:24px;right:18px;box-shadow:0 3px 12px #14352b22}body:has([aria-modal=true]) .back-to-top,body:has(dialog[open]) .back-to-top{visibility:hidden}@media (max-width:1024px){.back-to-top{bottom:calc(94px + env(safe-area-inset-bottom,0px));right:12px}}@media (max-width:600px){.home-welcome{margin-bottom:12px;padding:12px 14px}.home-welcome h2{font-size:17px}.home-welcome p{font-size:11px}}@media (prefers-reduced-motion:reduce){.module-card,.module-icon,.nav-button{transition:none}.module-card:active,.module-card:hover,.module-card:hover .module-icon{transform:none}}.bom-save-feedback{color:#174c36;overflow-wrap:anywhere;background:#ecf8f0;border:1px solid #96c4b0;border-radius:9px;margin:0 0 16px;padding:16px 18px;scroll-margin:100px}.bom-save-feedback:focus{outline-offset:2px;outline:2px solid #39866c}.bom-save-feedback>strong{font-size:17px;display:block}.bom-save-feedback p{margin:8px 0;line-height:1.6}.bom-save-saving{color:#234e72;background:#eff5fb;border-color:#a9c2d9}.bom-save-error{color:#92392e;background:#fff1ef;border-color:#e0aaa3}.bom-save-counts{flex-wrap:wrap;gap:8px 20px;margin:10px 0;display:flex}.bom-save-source{color:#536d61;font-size:12px}.bom-save-feedback .backup-actions{margin-top:12px}@media (max-width:600px){.bom-save-feedback{margin-bottom:12px;padding:13px}.bom-save-feedback>strong{font-size:16px}.bom-save-counts{gap:7px;display:grid}.bom-save-feedback button{white-space:normal;max-width:100%}}.attachment-panel,.production-extra{border:1px solid var(--border,#dce6e3);overflow-wrap:anywhere;border-radius:8px;min-width:0;margin:12px 0;padding:12px}.attachment-panel>summary,.production-extra>summary{cursor:pointer;align-content:center;min-height:32px;font-weight:600}.production-extra label{margin:10px 0;display:block}.production-extra button{min-height:44px;margin:4px}.hold-confirm{touch-action:none;-webkit-user-select:none;user-select:none}.quality-case{border-top:1px solid #dce6e3;padding:14px 0}.quality-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.quality-numbers span{background:#f4f7f6;border-radius:6px;padding:8px}.quality-numbers b{font-size:18px;display:block}.quality-actions{flex-wrap:wrap;display:flex}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.photo-thumb{cursor:pointer;background:#f1f5f4;border:0;width:100%;padding:0}.photo-thumb img{object-fit:cover;border-radius:6px;width:100%;height:110px;display:block}.photo-grid small{white-space:normal;display:block}.photo-upload-actions{flex-wrap:wrap;gap:10px;margin:10px 0;display:flex}.photo-upload-actions label{cursor:pointer;align-content:center;min-height:44px;position:relative;overflow:hidden}.photo-upload-actions input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.photo-lightbox{z-index:1000;color:#fff;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.photo-lightbox img{object-fit:contain;max-width:95vw;max-height:75vh}.photo-lightbox button{align-self:flex-end}.detail-stage .attachment-panel{white-space:normal;padding:6px;font-size:12px}.production-extra input{max-width:100%}@media (max-width:600px){.quality-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.production-extra{padding:10px}.production-extra button{white-space:normal}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.stage-photo-panel{background:#f8fbfa;margin:0;padding:10px!important}.stage-photo-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.stage-photo-title>button{min-height:36px}.stage-photo-panel .photo-upload-actions{gap:8px;margin:8px 0}.photo-upload-actions .secondary{justify-content:center;align-items:center;gap:7px;min-height:44px;margin:0;padding:10px 12px;display:inline-flex}.photo-caption{margin:6px 0;font-size:12px}.photo-caption summary{cursor:pointer}.photo-caption input{width:100%;margin-top:6px}.stage-photo-panel .photo-grid{margin-top:10px}.priority-badge{white-space:normal;border-radius:5px;align-items:center;gap:4px;margin:5px 5px 5px 0;padding:4px 7px;font-size:12px;font-weight:700;line-height:1.5;display:inline-flex}.priority-priority{color:#815500;background:#fff0c2;border:1px solid #ebcc74}.priority-urgent{color:#ac251c;background:#ffe2df;border:1px solid #efada6}.priority-done{color:#276142;background:#e7f3eb}.priority-row-button{min-height:36px;padding:5px 8px;font-size:12px}.priority-filters{flex-wrap:wrap;align-items:center;gap:16px;margin-top:12px;display:flex}.priority-filters label{align-items:center;gap:8px;display:flex}.stage-work-tools{margin:12px 0}.stage-work-buttons{gap:7px;padding:10px 0;display:flex;overflow-x:auto}.stage-work-buttons button{color:#1c4a43;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d7e4df;border-radius:6px;min-height:44px;padding:10px 14px}.stage-work-buttons button[aria-pressed=true]{color:#fff;background:#176b5d;border-color:#176b5d}.stage-work-summary{color:#4e655f;white-space:normal;margin:5px 0;font-size:12px}.priority-editor>summary{flex-wrap:wrap;align-items:center;gap:6px;display:flex}@media (max-width:600px){.priority-filters{gap:10px}.priority-filters select{max-width:190px}.priority-badge{font-size:11px}.priority-row-button{min-height:44px}.stage-work-tools .pad{padding:12px}}.progress-drawer.detail-drawer{width:min(1280px,96vw);max-width:100%;scroll-padding-top:220px}.detail-overview{z-index:3;border-bottom:1px solid var(--line);background:#fff;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:10px 18px;display:grid;position:sticky;top:96px}.detail-overview button{border:1px solid var(--line);text-align:left;min-height:68px;color:var(--ink);background:#f8faf9;border-radius:7px;padding:8px}.detail-overview button[aria-pressed=true]{border:2px solid var(--green);background:#edf7f2}.detail-overview small,.detail-overview span,.detail-overview strong{display:block}.detail-overview span{font-size:12px}.detail-overview strong{font-size:18px}.detail-overview small{color:var(--muted);font-size:10px}.detail-stage[hidden]{display:none!important}.detail-stage .table-scroll{max-height:none;overflow-x:auto}.detail-stage{scroll-margin-top:210px}.detail-management{margin:12px 0}.detail-management>summary{cursor:pointer;border:1px solid var(--line);background:#f5f8f6;border-radius:6px;min-height:44px;padding:12px}.detail-part-tools{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:12px;display:flex}.detail-part-tools label{font-size:12px}.detail-part-tools input:not([type=checkbox]){width:240px;max-width:100%;min-height:44px;display:block}.detail-part-tools span{color:var(--muted);font-size:12px}.detail-stage td .attachment-panel{vertical-align:top;margin:3px 5px 0 0;padding:3px;display:inline-block}.detail-stage td .attachment-panel[open]{display:block}.detail-stage td .attachment-panel summary{cursor:pointer;min-height:28px;font-size:11px}@media (max-width:600px){.detail-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:6px 12px;top:100px}.detail-overview button{min-height:58px;padding:5px}.detail-overview span{font-size:11px}.detail-overview strong{font-size:16px}.detail-drawer .detail-line{margin:4px 0;font-size:11px}.detail-drawer>.panel-head{min-height:100px}.progress-drawer.detail-drawer{scroll-padding-top:240px}.detail-stage{scroll-margin-top:240px}.detail-stage td:first-child{padding:10px!important}.detail-stage .phone-quantity-detail{gap:6px;padding:8px 0}.detail-part-tools{gap:8px}.detail-part-tools input:not([type=checkbox]),.detail-part-tools label:first-child{width:100%}.detail-stage td .attachment-panel{font-weight:400}.detail-drawer .detail-overview button{min-width:0}}.progress-drawer.detail-drawer{width:min(1100px,96vw)}.detail-stage .stage-photo-accordion{background:0 0;border:0;margin:0;padding:0}.stage-photo-accordion>summary{cursor:pointer;min-height:36px;padding:8px;font-size:12px}.detail-stage>.pad{padding:4px 12px}.detail-stage td,.detail-stage th{height:44px;padding:0 10px}.detail-stage td:first-child,.detail-stage th:first-child{min-width:150px;max-width:none}.detail-stage .edit-button,.detail-stage .part-camera{min-height:40px;padding:6px 10px}.part-actions{white-space:nowrap}.part-actions button+button{margin-left:6px}.part-camera{gap:4px;min-width:44px;display:inline-flex}.part-camera,.part-photo-backdrop{justify-content:center;align-items:center}.part-photo-backdrop{z-index:900;background:#142e2b77;padding:16px;display:flex;position:fixed;inset:0}.part-photo-dialog{background:#fff;border-radius:12px;width:min(620px,100%);max-height:90dvh;padding:18px;overflow:auto;box-shadow:0 12px 50px #0004}.part-photo-dialog>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.part-photo-dialog>header strong{overflow-wrap:anywhere}.part-photo-dialog .photo-caption input{width:100%;max-width:100%}.part-photo-dialog .secondary{min-height:44px}@media (max-width:1024px){.progress-drawer.detail-drawer{width:100%;max-width:100%}}@media (max-width:600px){.detail-stage td:first-child{height:auto!important}.phone-quantity-detail .part-camera{min-height:44px}.detail-stage .stage-photo-accordion summary{font-size:11px}.part-photo-backdrop{padding:10px}.part-photo-dialog{max-height:94dvh;padding:14px}.phone-quantity-detail{grid-template-columns:repeat(4,minmax(0,1fr))!important}.phone-quantity-detail>button{min-height:44px}.phone-quantity-detail .part-camera{grid-column:auto}}.production-table .plan-row-actions{background:0 0;border:0;flex-wrap:wrap;gap:6px;margin:0;padding:2px 0;display:flex}.production-table .plan-reference{margin-top:2px;font-size:11px;line-height:1.4}.detail-drawer button:focus-visible,.part-photo-dialog button:focus-visible,.production-table button:focus-visible{outline:2px solid var(--green);outline-offset:3px}.detail-stage tbody tr:hover{background:#f5faf7}.detail-stage td{font-variant-numeric:tabular-nums}.detail-stage td:nth-child(n+3):not(:last-child),.detail-stage th:nth-child(n+3):not(:last-child){text-align:right}@media (min-width:1025px) and (pointer:fine){.production-table .plan-row-actions button,.production-table .priority-row-button{min-height:28px;padding:3px 8px;font-size:11px}.production-table .compact-progress .row-link{min-height:28px;line-height:1.4}}@media (max-width:1024px),(pointer:coarse){.production-table .plan-row-actions button,.production-table .priority-row-button{min-width:44px;min-height:44px}.production-table .plan-row-actions{gap:8px}}.bom-catalog{grid-template-columns:280px minmax(0,1fr);align-items:start}.bom-master{position:sticky;top:12px}.bom-master .product-list{max-height:70dvh}.bom-quick-filters{border-bottom:1px solid var(--line);background:#fafcfb;gap:4px;padding:8px;display:flex}.bom-quick-filters button{border:1px solid var(--line);background:#fff;border-radius:6px;flex:1;min-height:44px;padding:5px;font-size:11px}.bom-quick-filters button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.bom-quick-filters small{opacity:.8;margin-top:3px;display:block}.bom-product-name{color:var(--muted);overflow-wrap:anywhere;margin:4px 0;font-size:12px;line-height:1.4;display:block}.bom-state{color:#657373;background:#f1f3f2;border-radius:5px;padding:4px 7px;font-size:11px;line-height:1.4;display:inline-block}.bom-state.approved{color:#17633e;background:#e7f5ed}.bom-state.pending{color:#925700;background:#fff2dc}.bom-state.empty{color:#667372;background:#eff2f1}.bom-product-header{flex-direction:row;justify-content:flex-start;gap:14px;padding:16px;display:flex}.bom-product-header h2{overflow-wrap:anywhere;line-height:1.5}.bom-product-header .detail-line{margin:4px 0}.bom-thumbnail{border:1px solid var(--line);width:64px;min-width:64px;height:64px;color:var(--green);background:#f1f6f3;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.bom-thumbnail img{object-fit:cover;width:100%;height:100%}.bom-version-toolbar{border-bottom:1px solid var(--line);gap:12px;padding:12px}.bom-version-choice,.bom-version-toolbar{flex-wrap:wrap;align-items:center;display:flex}.bom-version-choice{flex:1;gap:8px;min-width:160px}.bom-version-choice label{flex-direction:column;gap:5px;min-width:0;max-width:100%;font-size:11px;display:flex}.bom-version-choice select{max-width:100%;min-height:44px}.bom-toolbar-actions{align-items:center;gap:8px;display:flex}.bom-technical .bom-more-actions{margin:8px 12px;font-size:12px}.bom-more-actions summary{cursor:pointer;min-height:36px;padding:8px}.bom-approve{margin:10px 12px}.bom-parts-table td,.bom-parts-table th{height:44px;padding:0 10px}.bom-parts-table td:nth-child(2),.bom-parts-table td:nth-child(3){white-space:normal;overflow-wrap:anywhere;min-width:110px}.bom-parts-table td:nth-child(4),.bom-parts-table th:nth-child(4){text-align:right;font-variant-numeric:tabular-nums}.bom-parts-table th{position:sticky;top:0}.bom-parts-table .part-camera{min-height:40px;padding:5px 9px}.bom-total{border-top:1px solid var(--line);background:#eff7f2;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:14px;font-size:12px;line-height:1.5;display:flex}.bom-back{display:none}@media (max-width:1024px){.bom-catalog{grid-template-columns:240px minmax(0,1fr);gap:12px}}@media (max-width:720px){.bom-catalog{grid-template-columns:minmax(0,1fr)}.bom-master{position:static}.bom-master .product-list{max-height:none}.bom-catalog.show-bom-detail .bom-master,.bom-catalog:not(.show-bom-detail) .bom-detail{display:none}.bom-back{margin:12px;display:inline-flex}.bom-product-header{padding:12px}.bom-product-header h2{font-size:15px}.bom-parts-table table{white-space:normal;table-layout:fixed;min-width:0;font-size:11px}.bom-parts-table td,.bom-parts-table th{padding:6px 4px;min-width:0!important}.bom-parts-table th:first-child{width:10%}.bom-parts-table th:nth-child(2),.bom-parts-table th:nth-child(3){width:25%}.bom-parts-table th:nth-child(4){width:23%;font-size:9px}.bom-parts-table th:nth-child(5){width:17%}.bom-parts-table .part-camera{gap:2px;min-width:44px;min-height:44px;padding:4px}.bom-version-toolbar{gap:8px}.bom-total{flex-direction:column}.bom-toolbar-actions .secondary{min-height:44px}.bom-content:has(.show-bom-detail)>.bom-bulk-approval,.bom-content:has(.show-bom-detail)>.bom-view-switch,.bom-content:has(.show-bom-detail)>.compact-filter-panel{display:none}.bom-detail{scroll-margin-top:12px}}@media (min-width:721px) and (max-width:1024px){.bom-catalog{grid-template-columns:minmax(0,1fr)}.bom-master{position:static}.bom-catalog.show-bom-detail .bom-master,.bom-catalog:not(.show-bom-detail) .bom-detail{display:none}.bom-back{margin:12px;display:inline-flex}.bom-content:has(.show-bom-detail)>.bom-bulk-approval,.bom-content:has(.show-bom-detail)>.bom-view-switch,.bom-content:has(.show-bom-detail)>.compact-filter-panel{display:none}}.bom-bulk-approval{margin-bottom:10px;padding:8px 12px}.bom-bulk-approval>button{min-height:36px;color:var(--muted);background:0 0;padding:7px 12px;font-size:12px}@media (pointer:coarse){.bom-bulk-approval>button{min-height:44px}}.quantity-review{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.quantity-explanation{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.progress-form label small{color:var(--muted);font-size:12px}@media (max-width:600px){.quantity-review{grid-template-columns:repeat(2,minmax(0,1fr))}}.delivery-badge{color:#61716b;background:#f1f4f2;border-radius:5px;width:fit-content;margin:4px 0;padding:3px 6px;font-size:11px;line-height:1.5;display:block}.delivery-badge small{font-size:10px}.delivery-late{color:#ae291e!important;background-color:#ffefed!important}.delivery-soon{color:#935b00!important;background-color:#fff2d8!important}.delivery-complete{color:#15633f!important;background-color:#e5f5eb!important}.delivery-no-date{color:#69766f}.delivery-on-time{color:#376b59}.dashboard-charts{grid-template-columns:1fr 1fr;gap:16px;margin:16px 0;display:grid}.dashboard-horizontal-bars{gap:8px;padding:12px;display:grid}.dashboard-horizontal-bars>button{text-align:left;min-height:44px;color:var(--ink);background:#fff;border:1px solid #0000;border-radius:7px;grid-template-columns:110px minmax(40px,1fr) 65px;align-items:center;gap:10px;padding:9px;font-size:12px;display:grid}.dashboard-horizontal-bars>button.selected{border-color:var(--green);background:#eef7f2}.dashboard-horizontal-bars .dashboard-bar{background:#edf2ee;border-radius:4px;width:100%;height:12px;margin:0;display:block;overflow:hidden}.dashboard-horizontal-bars .dashboard-bar>span{background:var(--green);height:100%;display:block}.delivery-chart .dashboard-bar .delivery-late{background:#d54e42!important}.delivery-chart .dashboard-bar .delivery-soon{background:#e7a638!important}.dashboard-horizontal-bars strong{text-align:right}.attention-queue small{white-space:normal;max-width:220px;color:var(--muted);margin-top:4px;display:block}.attention-queue{margin:16px 0}.report-tools{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;display:flex}.report-tools span{color:var(--muted);font-size:12px}.report-print-root{z-index:950;background:#edf1ee;padding:20px;position:fixed;inset:0;overflow:auto}.report-print-root article{background:#fff;max-width:1100px;margin:15px auto;padding:28px}.report-print-actions{flex-wrap:wrap;align-items:center;gap:12px;max-width:1100px;margin:auto;display:flex}.report-print-actions span{font-size:12px}.report-print-root p{font-size:12px;line-height:1.6}.report-print-root table{white-space:normal;table-layout:fixed}.report-print-root td{overflow-wrap:anywhere}.report-chart{gap:8px;margin:20px 0;display:grid}.report-chart>div{grid-template-columns:140px 1fr 70px;align-items:center;gap:12px;font-size:12px;display:grid}.report-bar{background:#edf2ee;border-radius:4px;height:12px;overflow:hidden}.report-bar i{background:#27836a;height:100%;display:block}.report-print-root .muted{font-size:11px}@media (max-width:900px){.dashboard-charts{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.dashboard-horizontal-bars>button{grid-template-columns:95px minmax(25px,1fr) 60px;gap:6px;font-size:11px}.report-tools button{min-height:44px}.report-print-root{padding:8px}.report-print-root article{padding:12px;overflow:auto}.report-print-root table{min-width:650px}.report-chart>div{grid-template-columns:100px 1fr 60px;gap:6px}}@media print{@page{size:A4 landscape;margin:12mm}body:has(.report-print-root)>:not(.report-print-root){display:none!important}.report-print-root{background:#fff;padding:0;position:static;inset:auto;overflow:visible}.report-print-actions{display:none!important}.report-print-root article{max-width:none;margin:0;padding:0}.report-print-root table{width:100%;min-width:0;font-size:9px}.report-print-root td,.report-print-root th{padding:6px}.report-print-root thead{display:table-header-group}.report-chart,.report-print-root tr{break-inside:avoid}.report-print-root{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.dashboard-filter-toggle{display:none}@media (max-width:1024px){.dashboard-filter-toggle{width:100%;color:var(--green);text-align:left;background:#eef8f2;border:0;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:14px;font-size:12px;display:flex}.dashboard-filter-toggle span{text-align:right;font-size:11px}.dashboard-filter:not([data-expanded=true]) .filters{display:none}}.dashboard-horizontal-bars .dashboard-bar{grid-column:auto}.dashboard-filter-toggle span,.dashboard-filter-toggle strong{overflow-wrap:anywhere;min-width:0}.dashboard-filter-toggle span{max-width:55%}.progress-stat-filters .stat{font:inherit;text-align:left;cursor:pointer;color:var(--ink);min-width:0;transition:border-color .15s,background .15s;position:relative}.progress-stat-filters .stat-label,.progress-stat-filters .stat-value{display:block}.progress-stat-filters .stat.selected{border-color:var(--green);background:#eaf6ef}.progress-stat-filters .stat:hover{border-color:#75ab95}.stat-action{color:var(--green);margin-top:6px;font-size:11px;display:block}.progress-results{scroll-margin-top:16px}.progress-filter-result{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.progress-filter-result button{min-height:36px;padding:6px 10px}.progress-stat-filters button:focus-visible{outline-offset:3px;outline:3px solid #5dba9a}@media (max-width:1024px){.progress-filter-result button{min-height:44px}.stat-action{font-size:10px}.progress-stat-filters .stat{min-height:110px}}.quick-complete{background:#f3faf5;border:1px solid #72a890;border-radius:9px;margin:12px 20px}.quick-complete>summary{cursor:pointer;min-height:56px;color:var(--green);list-style:revert;padding:12px 16px}.quick-complete>summary strong{font-size:15px}.quick-complete>summary span{color:var(--muted);margin-top:5px;font-size:11px;display:block}.quick-complete-body{padding:0 16px 16px;font-size:13px}.quick-complete-body p{line-height:1.6}.quick-complete-body>label{display:block}.quick-complete-body>label input{width:100%;min-height:44px;margin:6px 0 12px;display:block}.quick-stage-picker{border:1px solid var(--line);background:#fff;border-radius:7px;margin:12px 0;padding:12px}.quick-stage-picker legend{padding:0 6px}.quick-stage-picker>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.quick-stage-picker label{border:1px solid var(--line);cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-height:44px;padding:8px;display:flex}.quick-stage-picker label:has(input:checked){border-color:var(--green);background:#e6f4eb}.quick-stage-picker input{width:18px;height:18px;accent-color:var(--green)}.quick-select-all{width:fit-content}.quick-preview-details{padding-left:18px;line-height:1.8}.quick-complete .notice{margin:12px 0}.quick-complete button{min-height:44px}.quick-complete .hold-confirm{justify-content:center;width:100%}@media (max-width:600px){.quick-complete{margin:8px 12px}.quick-complete>summary{padding:10px 12px}.quick-complete-body{padding:0 12px 12px}.quick-stage-picker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-stage-picker{padding:8px}.quick-stage-picker label{padding:6px;font-size:12px}}.executive-dashboard{gap:18px;min-width:0;display:grid}.exec-filter{flex-wrap:wrap;align-items:center;gap:24px;padding:18px;display:flex}.exec-filter>div:first-child{gap:6px;display:grid}.exec-filter span{color:var(--muted);font-size:12px}.exec-filter-fields{flex-wrap:wrap;flex:1;gap:12px;display:flex}.exec-filter-fields label{flex:1;gap:6px;min-width:110px;font-size:12px;display:grid}.exec-filter-fields select{width:100%;min-height:44px}.exec-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.exec-kpis>button{text-align:left;color:inherit;cursor:pointer;background:#fff;border:1px solid var(--border,#dbe6e1);border-top:4px solid #19735f;border-radius:12px;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;padding:18px;display:flex;position:relative}.exec-kpis>button:focus-visible,.exec-kpis>button:hover{outline-offset:2px;background:#f0f8f4;outline:2px solid #388873}.exec-kpis svg{color:#19735f;background:#e9f5ef;border-radius:10px;width:38px;height:38px;padding:7px}.exec-kpis span{color:var(--muted);font-size:13px}.exec-kpis strong{overflow-wrap:anywhere;font-size:26px;line-height:1.3}.exec-kpis strong small{font-size:13px;font-weight:500}.exec-kpis p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.exec-kpis>.exec-warning{border-top-color:#d48a15}.exec-warning svg{color:#a86608;background:#fff4d9}.exec-kpis>.exec-danger{border-top-color:#c24c3d}.exec-danger svg{color:#b43729;background:#fff0ed}.exec-danger strong{font-size:21px}.exec-charts{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;display:grid}.exec-charts>.panel{min-width:0;overflow:hidden}.executive-dashboard .panel-head{flex-wrap:wrap;gap:12px}.executive-dashboard .panel-head>span{color:var(--muted);font-size:11px}.exec-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px;display:grid}.exec-flow button{text-align:left;cursor:pointer;background:#f7faf8;border:1px solid #dce9e2;border-radius:9px;padding:14px}.exec-flow button>span{align-items:center;gap:7px;font-size:12px;display:flex}.exec-flow b{background:#e0eee6;border-radius:50%;place-items:center;width:22px;height:22px;display:inline-grid}.exec-flow strong{color:#176451;margin:12px 0;font-size:25px;display:block}.exec-delivery button>div,.exec-flow button>div{background:#e9efeb;border-radius:8px;height:7px;overflow:hidden}.exec-flow i{background:linear-gradient(90deg,#82c4a7,#176451);border-radius:8px;height:100%;display:block}.exec-bottlenecks{gap:8px;padding:0 18px;display:grid}.exec-bottlenecks>button{text-align:left;color:#88570a;cursor:pointer;background:#fff8e8;border:1px solid #efd69d;border-radius:8px;align-items:center;gap:10px;min-height:54px;padding:10px;display:flex}.exec-bottlenecks span{flex:1;font-size:12px}.exec-bottlenecks small{margin-top:5px;display:block}.exec-bottlenecks>p{color:var(--muted);font-size:12px;line-height:1.6}.exec-delivery{gap:6px;padding:12px 18px;display:grid}.exec-delivery button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:1fr auto;gap:10px;min-height:54px;padding:10px;display:grid}.exec-delivery button:hover{background:#f2f6f3}.exec-delivery button>div{grid-column:1/-1}.exec-delivery i{background:#59877a;height:100%;display:block}.exec-delivery .exec-fill-late{background:#c14b3b}.exec-delivery .exec-fill-soon{background:#d49a27}.exec-delivery .exec-fill-complete{background:#18715c}.exec-delivery .exec-fill-no-date{background:#94a6a0}.exec-attention{padding:0 18px}.exec-attention article{border-bottom:1px solid #e5ece8;align-items:center;gap:12px;padding:16px 0;display:flex}.exec-attention article:last-child{border:0}.exec-attention article>div{flex:1;min-width:0}.exec-attention p{margin:6px 0;font-size:12px;line-height:1.5}.exec-attention small{color:var(--muted);font-size:11px;line-height:1.6}.exec-attention button{flex-shrink:0;min-height:44px}.exec-feed{margin:0;padding:0 20px;list-style:none}.exec-feed li{border-left:2px solid #dfebe4;gap:5px;padding:16px 0 16px 20px;font-size:12px;display:grid;position:relative}.exec-feed li:before{content:"";background:#398b6c;border-radius:50%;width:8px;height:8px;position:absolute;top:20px;left:-5px}.exec-feed time{color:var(--muted);font-size:10px}.exec-feed p{margin:0}.exec-feed button{justify-self:start;min-height:36px;margin-top:5px}.exec-results{min-width:0;scroll-margin-top:20px}.exec-results>.panel-head{background:#e9f3ed;border-radius:9px;margin-bottom:12px}@media (max-width:1100px){.exec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.exec-charts{grid-template-columns:1fr}.exec-filter-fields{flex-basis:100%}}@media (max-width:600px){.executive-dashboard{gap:12px}.exec-filter{gap:12px;padding:12px}.exec-filter-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.exec-filter-fields label{min-width:0}.exec-kpis{gap:10px}.exec-kpis>button{gap:8px;padding:12px}.exec-kpis strong{font-size:23px}.exec-kpis .exec-danger strong{font-size:17px}.exec-kpis span{font-size:11px}.exec-kpis svg{width:30px;height:30px;padding:5px}.exec-flow{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.exec-flow strong{font-size:23px}.exec-attention{padding:0 12px}.exec-attention article{align-items:flex-start}.exec-attention button{padding:8px;font-size:11px}.exec-charts{gap:12px}}.executive-visual{--exec-ink:#253756;--exec-blue:#5679d2;color:var(--exec-ink);gap:16px}.executive-visual .exec-filter{border-radius:14px;padding:14px 18px;box-shadow:0 3px 15px #25375604}.executive-visual .exec-filter>div:first-child strong{font-size:16px}.executive-visual .exec-filter-fields select{background:#f7f9fc;border-color:#e3e8f1;border-radius:8px}.executive-visual .exec-kpis>button{border:1px solid #e5eaf2;border-radius:14px;gap:7px;min-height:145px;padding:18px 20px 16px;overflow:hidden;box-shadow:0 4px 18px #25375606}.executive-visual .exec-kpis>button:after{content:"";opacity:.65;pointer-events:none;background:#edf2fc;border-radius:50%;width:115px;height:115px;position:absolute;top:-26px;right:-22px}.executive-visual .exec-kpis svg{z-index:1;color:#597ed3;background:#eaf0fd;border-radius:11px;width:40px;height:40px;position:absolute;top:20px;right:18px}.executive-visual .exec-kpis>button>span{color:#718098;padding-right:43px;font-size:12px}.executive-visual .exec-kpis strong{color:#253756;margin:13px 0 5px;font-size:29px}.executive-visual .exec-kpis p{color:#8190a4;max-width:95%}.executive-visual .exec-kpis>.exec-warning svg{color:#c58d2c;background:#fff4dd}.executive-visual .exec-kpis>.exec-danger svg{color:#d36567;background:#feeeee}.executive-visual .exec-danger strong{font-size:23px}.executive-visual .report-tools{justify-content:flex-end;gap:8px;margin:0}.executive-visual .report-tools button{background:#fff;border-color:#dce3ee;border-radius:8px;min-height:34px;font-size:11px}.exec-visual-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1.3fr);gap:16px;display:grid}.exec-visual-grid>.panel{border-color:#e5eaf2;border-radius:15px;min-width:0;overflow:hidden;box-shadow:0 4px 18px #25375606}.visual-chart-head{justify-content:space-between;align-items:flex-start;gap:10px;padding:20px 20px 10px;display:flex}.visual-chart-head h2{color:#253756;margin:7px 0 0;font-size:17px;font-weight:650}.visual-chart-head p{color:#8a97aa;margin:6px 0 0;font-size:11px}.visual-eyebrow{letter-spacing:1.1px;color:#8796ae;align-items:center;gap:7px;font-size:9px;font-weight:600;display:flex}.visual-pill{color:#7c8aa1;white-space:nowrap;background:#f2f5fb;border:1px solid #e8edf6;border-radius:20px;padding:6px 9px;font-size:9px}.visual-column-chart{gap:10px;height:236px;padding:14px 20px 0 12px;display:flex}.visual-y-axis{color:#9aa7b9;flex-direction:column;justify-content:space-between;min-width:34px;height:188px;padding-bottom:0;font-size:9px;display:flex}.visual-plot{flex:1;min-width:0;position:relative}.visual-gridlines{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0 0 34px}.visual-gridlines i{border-top:1px dashed #e9edf4;width:100%;display:block}.visual-columns{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;height:100%;display:grid;position:relative}.visual-columns>button{cursor:pointer;color:#718099;background:0 0;border:0;flex-direction:column;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.visual-columns>button:hover{background:#f3f6fc;border-radius:7px}.visual-columns>button:focus-visible{outline-offset:2px;outline:2px solid #5473cb}.visual-columns>button:disabled{cursor:default;opacity:.7}.visual-bar-track{background:linear-gradient(#f6f8fc,#edf1f8);border-radius:7px 7px 2px 2px;align-items:flex-end;width:65%;max-width:48px;height:188px;display:flex;position:relative}.visual-bar-track>strong{text-align:center;color:#4e6185;z-index:1;width:100%;font-size:10px;position:absolute;top:-17px}.visual-bar-fill{background:linear-gradient(0deg,var(--bar-color),var(--bar-color));width:100%}@supports (color:color-mix(in lab,red,red)){.visual-bar-fill{background:linear-gradient(0deg,var(--bar-color),color-mix(in srgb,var(--bar-color),white 22%))}}.visual-bar-fill{border-radius:7px 7px 2px 2px;min-height:2px;transition:height .35s}.visual-columns>button>span{white-space:nowrap;font-size:10px}.visual-stage-chart>footer{color:#94a0b1;justify-content:space-between;gap:10px;padding:5px 20px;font-size:9px;display:flex}.visual-stage-chart>footer span{align-items:center;gap:5px;display:flex}.visual-stage-chart footer i{background:#597ed3;border-radius:2px;width:7px;height:7px}.visual-chart-note{color:#97a3b4;margin:0;padding:9px 20px 15px;font-size:10px;line-height:1.6}.visual-ring-button{cursor:pointer;background:0 0;border:0;border-radius:50%;margin:auto;padding:10px;display:block}.visual-ring-button:focus-visible{outline:2px solid #537ac4}.visual-ring{border-radius:50%;place-items:center;width:154px;height:154px;display:grid;transform:rotate(0);box-shadow:0 8px 22px #3a687b08}.visual-ring>span{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:124px;height:124px;display:flex}.visual-ring strong{color:#2d4261;font-size:29px}.visual-ring small{letter-spacing:1.2px;color:#95a2b5;font-size:8px}.visual-loaded-total{text-align:center;margin:3px 0 14px}.visual-loaded-total>strong{color:#239a8e;font-size:22px}.visual-loaded-total>strong>span{color:#9ba8b9;font-size:14px;font-weight:400}.visual-loaded-total p{color:#96a3b5;margin:5px 0;font-size:10px}.visual-split{border-top:1px solid #edf0f5;gap:8px;margin:0 18px;padding:12px 0;display:grid}.visual-split>span{color:#8995a8;align-items:center;gap:6px;font-size:10px;display:flex}.visual-split b{color:#4b5d7b;margin-left:auto}.visual-split i{background:#239e91;border-radius:50%;width:6px;height:6px}.visual-split>span:last-child i{background:#d7dfeb}.visual-delivery .visual-ring{width:136px;height:136px}.visual-delivery .visual-ring>span{width:108px;height:108px}.visual-delivery-legend{gap:1px;padding:0 18px;display:grid}.visual-delivery-legend button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;width:100%;min-height:29px;font-size:10px;display:flex}.visual-delivery-legend button:hover{background:#f3f6fc}.visual-delivery-legend i{border-radius:50%;flex-shrink:0;width:7px;height:7px}.visual-delivery-legend span{color:#7c8ba2;flex:1}.visual-delivery-legend strong{color:#384d6c}.visual-delivery-legend small{color:#a4afbe;text-align:right;min-width:31px;font-size:9px}.visual-delivery .visual-pill{display:none}.visual-bottleneck{grid-template-columns:1fr 1fr;padding:0}.visual-bottleneck>button{background:#fffbf2;border-color:#efe4c9;border-radius:10px;min-height:55px}.visual-bottleneck>p{background:#f9fbfd;border:1px dashed #dce4ed;border-radius:10px;grid-column:1/-1;margin:0;padding:12px 16px}.executive-visual>.exec-charts{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.executive-visual .exec-charts>.panel{border-color:#e5eaf2;border-radius:14px;box-shadow:0 4px 18px #25375606}.executive-visual .exec-charts .panel-head{border-color:#edf0f5;padding:16px 20px}.executive-visual .exec-charts h2{color:#334764;font-size:15px;font-weight:600}.executive-visual .exec-attention article{padding:12px 0}.executive-visual .exec-attention article strong{color:#4b68a1;font-size:12px}.executive-visual .exec-attention article p{font-size:11px}.executive-visual .exec-attention button,.executive-visual .exec-feed button{color:#5473a6;border-color:#e2e8f1;border-radius:7px;min-height:32px;padding:5px 10px;font-size:10px}.executive-visual .exec-feed li{padding:12px 0 12px 18px;font-size:11px}.executive-visual .exec-feed li>strong{color:#405a82}.executive-visual .exec-feed li:before{background:#6386cd}.executive-visual .exec-results{background:#f8faff;border:1px solid #dbe4f2;border-radius:14px;padding:12px}.executive-visual .exec-results>.panel-head{background:#eaf0fb}@media (min-width:1500px){.visual-column-chart{height:260px}.visual-bar-track,.visual-y-axis{height:212px}.visual-loaded .visual-ring{width:172px;height:172px}.visual-loaded .visual-ring>span{width:140px;height:140px}}@media (max-width:1399px) and (min-width:701px){.exec-visual-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.visual-delivery{grid-column:1/-1}.visual-delivery-body{grid-template-columns:1fr 2fr;align-items:center;padding:0 20px;display:grid}.visual-delivery-legend{padding:0 15px}.visual-delivery-legend button{min-height:34px;font-size:12px}.visual-delivery .visual-pill{display:block}.visual-delivery .visual-chart-note{padding-top:0}}@media (max-width:1000px){.executive-visual>.exec-charts,.visual-bottleneck{grid-template-columns:1fr}.visual-chart-head{padding:16px 16px 10px}}@media (max-width:700px){.exec-visual-grid{grid-template-columns:1fr}.visual-stage-chart{grid-column:1/-1}.visual-column-chart{gap:5px;padding-left:8px;padding-right:12px}.visual-columns{gap:7px}.visual-columns>button>span{font-size:9px}.visual-chart-head h2{font-size:16px}.visual-pill{padding:5px 7px;font-size:8px}.visual-y-axis{min-width:27px;font-size:8px}.visual-stage-chart>footer{flex-wrap:wrap;padding:5px 14px;font-size:8px}.visual-chart-note{padding:9px 14px 14px;font-size:9px}.visual-loaded{grid-template-columns:1fr 1fr;align-items:center;display:grid}.visual-loaded>.visual-chart-head{grid-column:1/-1}.visual-loaded>.visual-ring-button{grid-area:2/1/4}.visual-loaded .visual-ring{width:140px;height:140px}.visual-loaded .visual-ring>span{width:112px;height:112px}.visual-loaded-total{padding-top:14px}.visual-split{grid-column:2;margin:0 15px 15px;padding:10px 0}.visual-delivery-body{grid-template-columns:140px minmax(0,1fr);align-items:center;padding:0 8px;display:grid}.visual-delivery .visual-ring{width:118px;height:118px}.visual-delivery .visual-ring>span{width:94px;height:94px}.visual-delivery .visual-ring strong{font-size:24px}.visual-delivery .visual-ring small{font-size:6px}.visual-delivery-legend{padding:0 6px}.visual-delivery-legend button{gap:5px;min-height:32px;font-size:9px}.visual-delivery-legend small{min-width:24px;font-size:8px}.executive-visual .exec-kpis>button{min-height:139px;padding:12px}.executive-visual .exec-kpis svg{width:30px;height:30px;top:12px;right:10px}.executive-visual .exec-kpis>button>span{align-items:center;min-height:25px;padding-right:29px;font-size:10px;display:flex}.executive-visual .exec-kpis strong{margin:5px 0;font-size:24px}.executive-visual .exec-kpis strong small{font-size:10px}.executive-visual .exec-danger strong{font-size:19px}.executive-visual .exec-kpis p{font-size:9px}.executive-visual .exec-kpis>button:after{width:80px;height:80px}.executive-visual .exec-filter{padding:12px}.executive-visual .exec-filter>div:first-child{gap:4px}.executive-visual .exec-filter>div:first-child span{font-size:10px}.executive-visual .exec-charts .panel-head{padding:14px}.executive-visual .report-tools{justify-content:flex-start}.executive-visual .exec-results{padding:5px}}@media (prefers-reduced-motion:reduce){.visual-bar-fill{transition:none}}.exec-full-filter{display:block}.exec-full-filter .exec-filter-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.exec-filter-title>button{display:none}.exec-full-filter .exec-filter-fields{grid-template-columns:1.4fr .8fr .9fr 1.5fr 1fr;gap:10px;display:grid}.exec-full-filter label{gap:6px;min-width:0;font-size:11px;display:grid}.exec-full-filter input,.exec-full-filter select{color:#344969;width:100%;min-width:0;min-height:42px;font:inherit;background:#f7f9fc;border:1px solid #e3e8f1;border-radius:8px;padding:8px}.exec-advanced{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:10px;margin-top:12px;display:grid}.exec-date-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.exec-date-actions button{min-height:36px;font-size:11px}.exec-scope{color:#7b8aa1;margin:10px 0 0;font-size:11px;line-height:1.6}.exec-full-filter .notice{margin:12px 0 0}@media (max-width:1024px){.exec-full-filter .exec-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.exec-advanced{grid-template-columns:repeat(2,minmax(0,1fr))}.exec-filter-title>button{min-height:40px;font-size:11px;display:block}.exec-full-filter:not([data-expanded=true]) .exec-advanced,.exec-full-filter:not([data-expanded=true]) .exec-date-actions,.exec-full-filter:not([data-expanded=true]) .exec-filter-fields{display:none}.exec-full-filter .exec-filter-title{margin-bottom:0}}@media (max-width:600px){.exec-full-filter .exec-filter-fields{grid-template-columns:1fr 1fr;margin-top:12px}.exec-full-filter .exec-filter-fields>label:first-child{grid-column:1/-1}.exec-advanced{grid-template-columns:1fr 1fr}.exec-advanced>label:first-child{grid-column:1/-1}.exec-full-filter input,.exec-full-filter select{min-height:44px}.exec-scope{font-size:10px}.exec-date-actions button{min-height:40px}}.exec-reverse{color:#405d91;background:#f0f5ff;border:1px solid #d7e1f5;border-radius:12px;padding:14px 16px}.exec-reverse>div:first-child strong{font-size:13px}.exec-reverse p{color:#6e80a1;margin:6px 0 12px;font-size:11px;line-height:1.6}.exec-reverse>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.exec-reverse button{text-align:left;color:#405d91;background:#fff;border-color:#d6e1f3;align-items:center;gap:10px;min-height:54px;display:flex}.exec-reverse button>span{flex:1;font-size:12px}.exec-reverse button small{color:#8594ad;margin-top:5px;font-size:10px;display:block}.report-tools>button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.report-tools>button>svg{flex-shrink:0}.report-tools>button:focus-visible{outline-offset:2px;outline:2px solid #597ed3}@media (max-width:700px){.exec-reverse>div:last-child{grid-template-columns:1fr}}.workforce-page{gap:16px;display:grid}.workforce-toolbar{flex-wrap:wrap;align-items:end;gap:12px;padding:16px;display:flex}.workforce-page label{gap:6px;font-size:12px;display:grid}.workforce-page input:not([type=checkbox]),.workforce-page select{background:#fff;border:1px solid #dce4ea;border-radius:8px;width:100%;min-width:0;min-height:44px;padding:10px}.workforce-toolbar>label{flex:1;min-width:130px}.workforce-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.workforce-cards>button{text-align:left;color:#304c44;cursor:pointer;background:#fff;border:1px solid #dae5df;border-radius:12px;padding:16px}.workforce-cards>button.selected{background:#eff8f3;border-color:#23836e}.workforce-cards>button>strong{margin:10px 0;font-size:26px;display:block}.workforce-cards small{font-size:11px;font-weight:400}.workforce-cards p{color:#81968e;margin:5px 0;font-size:11px;line-height:1.6}.workforce-person{border-bottom:1px solid #e6ece8;grid-template-columns:1fr 2fr;gap:16px;padding:18px;display:grid}.workforce-person>div:first-child{flex-direction:column;gap:6px;display:flex}.workforce-person small{color:#88978f;font-size:11px}.workforce-confirmed{color:#277d65;font-size:10px}.workforce-unconfirmed{color:#bd8533;font-size:11px}.workforce-person-form{grid-template-columns:1fr 1fr;align-items:end;gap:10px;display:grid}.workforce-person-form .workforce-note{grid-column:1/-1}.workforce-person-form>button{justify-self:start;min-height:42px}.workforce-edit-button{margin:0 18px 12px;font-size:10px}.workforce-editor{padding:18px}.workforce-editor>div{flex-wrap:wrap;gap:12px;margin:12px 0;display:flex}.workforce-editor>div>label{flex:1 0 220px}.workforce-editor>label{align-items:center;gap:8px;min-height:44px;display:flex}.workforce-history{padding:18px}.workforce-history summary{cursor:pointer;min-height:35px}.workforce-history p{border-bottom:1px solid #e6ece8;padding:10px;font-size:11px;line-height:1.8}.workforce-mini{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:16px;display:grid}.workforce-mini>div{background:#f5f8fb;border-radius:9px;gap:8px;padding:12px;display:grid}.workforce-mini span{color:#637b8f;font-size:11px}.workforce-mini strong{color:#295f55;font-size:24px}.workforce-mini small{color:#8a9baa;font-size:10px;font-weight:400}.workforce-overview .panel-head{flex-wrap:wrap;gap:12px}.workforce-overview .panel-head label{align-items:center;gap:8px;font-size:11px;display:flex}.workforce-overview select{border:1px solid #dce4ea;border-radius:8px;min-height:40px;padding:6px}.workforce-overview .panel-head h2{font-size:15px}.workforce-overview .panel-head button{font-size:11px}@media (max-width:1024px){.workforce-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.workforce-mini{grid-template-columns:repeat(3,minmax(0,1fr))}.workforce-person{grid-template-columns:1fr}}@media (max-width:600px){.workforce-toolbar{gap:10px;padding:12px}.workforce-toolbar>label{min-width:calc(50% - 10px)}.workforce-cards{gap:9px}.workforce-cards>button{padding:12px}.workforce-person{padding:14px}.workforce-mini{grid-template-columns:repeat(2,minmax(0,1fr))}.workforce-person-form{gap:8px}.workforce-editor>div>label{flex-basis:100%}}.workforce-batch{gap:12px;padding:16px;display:grid}.workforce-batch>label:first-of-type,.workforce-pick{align-items:center;gap:8px;min-height:44px;display:flex!important}.workforce-batch>button{justify-self:start}.workforce-pick{padding:10px 18px 0}.workforce-batch .muted{margin:0}.workforce-cards strong small{margin-left:5px}.workforce-total{color:#6d847a;background:#edf6f1;border:1px solid #dce9e1;border-radius:9px;margin:0;padding:12px 16px;font-size:12px;line-height:1.8}.workforce-total strong{color:#236c54}.import-center{gap:16px;display:grid}.import-templates{padding:18px}.import-templates h2{margin:0 0 8px;font-size:16px}.import-templates>div>p{color:#84948c;font-size:12px;line-height:1.6}.import-templates>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.import-templates article{background:#f4f8f6;border:1px solid #e1e9e4;border-radius:10px;padding:14px}.import-templates article p{color:#7b9085;min-height:36px;font-size:11px;line-height:1.6}.import-templates a,.workforce-import a{justify-content:center;align-items:center;min-height:40px;font-size:12px;text-decoration:none;display:inline-flex}.workforce-import label{gap:7px;font-size:12px;display:grid}.workforce-import .access-inline{align-items:center;gap:8px;min-height:44px;display:flex}.workforce-import .pad>p{font-size:12px;line-height:1.7}.workforce-import td input{border:1px solid #dee7e1;border-radius:6px;min-width:130px;min-height:40px;padding:7px}.workforce-import td small{color:#8c9e94;font-size:10px;line-height:1.5;display:block}.workforce-import .pad>label input{border:1px solid #dee7e1;border-radius:6px;min-height:42px;padding:8px}.workforce-upload>summary{cursor:pointer;color:#1c705b;padding:18px;font-weight:600}.workforce-upload>.workforce-import{border:0}.workforce-import .panel-head{flex-wrap:wrap;gap:12px}@media (max-width:700px){.import-templates{padding:13px}.import-templates>div:last-child{grid-template-columns:1fr}.import-templates article p{min-height:0}.workforce-import .backup-actions{flex-wrap:wrap;gap:10px;display:flex}.workforce-import .pad{padding:13px}.import-center>.filters{grid-template-columns:1fr;display:grid}}.module-card{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.module-card .module-link{align-self:stretch;margin-top:auto;padding-top:16px}.module-card p{min-height:0;margin:8px 0 12px}@media (max-width:720px){.module-card p{font-size:12px;line-height:1.6}.module-card .module-link{padding-top:8px}}.user-group-heading th{color:var(--green);text-align:left;background:#edf4f0;padding:12px 16px;font-size:13px}.user-group-heading span{color:var(--muted);margin-left:12px;font-weight:400}.user-row-actions{flex-wrap:wrap;gap:8px;display:flex}.user-delete-confirm{background:#fff6f4;border:1px solid #efbbb4;border-radius:10px;margin:16px;padding:18px}.user-delete-confirm h3{margin:0 0 8px}.user-delete-confirm p{line-height:1.6}.user-delete-confirm .user-row-actions{margin-top:14px}@media (max-width:720px){.user-delete-confirm{margin:10px;padding:14px}.user-row-actions button{min-height:40px}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}