@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans KR,sans-serif;color:#1c2927;background:#f4f6f3;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #1c2927;--muted: #6d7d79;--green-950: #0e302b;--green-900: #123c35;--green-700: #236a5d;--green-500: #3d9684;--green-100: #def0e9;--green-50: #eef8f4;--line: #dfe6e2;--surface: #ffffff;--amber: #b66c10;--amber-bg: #fff6df;--red: #bd3e48;--red-bg: #fff0f1;--blue: #3d6e9c;--shadow: 0 12px 36px rgba(24, 51, 44, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f4f6f3}button,input,select{font:inherit}button{color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:238px;padding:24px 16px 18px;color:#d9e7e2;background:linear-gradient(180deg,#143f38,#0d2f2a);display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;padding:0 8px 29px;cursor:pointer}.brand-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;color:#0d3a32;background:#9ed8c3;box-shadow:inset 0 0 0 1px #ffffff73}.brand strong{display:block;color:#fff;font-size:17px;letter-spacing:-.2px}.brand span{display:block;margin-top:2px;color:#8fb2a8;font-size:10px;letter-spacing:.8px;text-transform:uppercase}.main-nav{display:flex;flex-direction:column;gap:5px}.nav-caption{padding:0 12px 8px;color:#71988d;font-size:10px;letter-spacing:1.35px}.main-nav button{width:100%;padding:11px 12px;border:0;border-radius:9px;color:#a9c3bb;background:transparent;display:flex;align-items:center;gap:11px;font-size:14px;font-weight:500;cursor:pointer;transition:.18s ease}.main-nav button:hover{color:#fff;background:#ffffff0e}.main-nav button.active{color:#fff;background:#7ac1a729;box-shadow:inset 3px 0 #84cdb4}.sidebar-foot{margin-top:auto;padding:14px 12px 0;border-top:1px solid rgba(255,255,255,.09)}.sample-badge{display:inline-block;padding:4px 7px;border:1px solid rgba(158,216,195,.4);border-radius:5px;color:#9ed8c3;font-size:9px;letter-spacing:1px}.sidebar-foot p{margin:8px 0 0;color:#7ea097;font-size:11px;line-height:1.6}.main-content{min-height:100vh;margin-left:238px}.topbar{height:66px;padding:0 30px;border-bottom:1px solid #e3e8e5;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30}.breadcrumb{display:flex;align-items:center;gap:8px;color:#87938f;font-size:13px}.breadcrumb strong{color:#31423e;font-weight:600}.topbar-actions{display:flex;align-items:center;gap:12px}.today-chip{display:flex;align-items:center;gap:7px;color:#60706c;font-size:12px}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#fff;background:#315e54;font-size:11px;font-weight:600}.icon-button{width:36px;height:36px;padding:0;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.icon-button:hover{background:#f5f8f6}.mobile-menu{display:none}.page{max-width:1440px;margin:0 auto;padding:34px 34px 56px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin-bottom:28px}.page-heading.compact{align-items:center}.eyebrow{margin:0 0 8px!important;color:#3e8a77!important;font-size:10px!important;font-weight:700;letter-spacing:1.45px}.page-heading h1{margin:0;color:#182824;font-size:29px;letter-spacing:-.8px}.page-heading p{margin:8px 0 0;color:var(--muted);font-size:14px}.demo-notice{min-width:275px;padding:13px 15px;display:flex;gap:10px;align-items:center;color:#596d67;background:#fdfdf7;border:1px solid #e8e9d9;border-radius:11px;font-size:11px}.demo-notice svg{color:#799464}.demo-notice strong{display:block;color:#354b43;font-size:12px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.metric-card{min-height:116px;padding:22px;display:flex;align-items:flex-start;gap:15px;background:#fff;border:1px solid #e4e9e6;border-radius:14px;box-shadow:0 3px 16px #1d3a3209}.metric-icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border-radius:11px}.metric-icon.mint{color:#20705f;background:#e2f3ed}.metric-icon.blue{color:#4776a0;background:#e9f1f8}.metric-icon.amber{color:#ad6c18;background:#fff1d9}.metric-icon.violet{color:#7661a5;background:#efebf7}.metric-card div:last-child>span{display:block;color:#76847f;font-size:11px}.metric-card strong{display:inline-block;margin:4px 8px 0 0;color:#192b27;font-size:25px;letter-spacing:-.5px}.metric-card small{color:#8a9793;font-size:10px}.section-header{margin:34px 0 15px;display:flex;justify-content:space-between;align-items:flex-end}.section-header h2{margin:0;font-size:18px}.section-header p{margin:5px 0 0;color:#788681;font-size:12px}.line-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.line-card{padding:19px;overflow:hidden;text-align:left;border:1px solid #e0e6e2;border-radius:15px;background:#fff;box-shadow:0 4px 18px #1e373009;cursor:pointer;transition:.2s ease}.line-card:hover{transform:translateY(-3px);border-color:#a9cbbf;box-shadow:var(--shadow)}.line-card-top{display:flex;justify-content:space-between;align-items:center}.line-icon{width:43px;height:43px;display:grid;place-items:center;color:#2b7464;background:#e9f5f0;border-radius:12px}.status-pill{width:fit-content;padding:5px 8px;display:inline-flex;align-items:center;gap:5px;border-radius:20px;font-size:10px;font-weight:600;white-space:nowrap}.status-pill i{width:5px;height:5px;border-radius:50%;background:currentColor}.status-pill.success{color:#27705f;background:#e6f4ef}.status-pill.neutral{color:#6f7d79;background:#eff2f1}.status-pill.warning{color:#a26a20;background:#fff2dc}.line-title{margin-top:18px}.line-title>span{color:#788b85;font-size:10px;font-weight:700;letter-spacing:.7px}.line-title h3{margin:4px 0;font-size:17px}.line-title p{margin:0;color:#83918d;font-size:11px}.line-next{min-height:83px;margin:18px -19px 0;padding:14px 19px;border-top:1px solid #edf0ee;border-bottom:1px solid #edf0ee;background:#fafbf9}.line-next span{display:block;color:#8b9693;font-size:9px}.line-next strong{display:block;margin-top:5px;font-size:12px}.line-next strong.muted{color:#a0aaa7;font-weight:500}.line-next small{display:block;margin-top:2px;color:#6f807a;font-size:10px}.line-card-footer{padding-top:13px;display:flex;justify-content:space-between;color:#71817c;font-size:10px}.line-card-footer span:last-child{display:flex;align-items:center;color:#397c6c;font-weight:600}.danger-text{color:var(--red)!important}.calendar-page{height:calc(100vh - 66px);display:flex;flex-direction:column;overflow:hidden}.calendar-toolbar{min-height:76px;padding:13px 22px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.calendar-title-row{display:flex;align-items:center;gap:11px}.line-selector-wrap{position:relative}.line-selector-wrap>span{display:block;margin-bottom:2px;color:#8b9693;font-size:9px;font-weight:600;letter-spacing:.5px}.line-selector-wrap select{min-width:225px;padding:0 26px 0 0;color:#21332e;border:0;outline:0;appearance:none;background:transparent;font-size:15px;font-weight:700;cursor:pointer}.line-selector-wrap svg{position:absolute;right:0;bottom:1px;pointer-events:none;color:#71817c}.week-controls{display:flex;align-items:center;gap:7px}.week-controls>button:first-child{height:34px;padding:0 13px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#52625e;font-size:11px;cursor:pointer}.week-controls .block-add-button{height:34px;padding:0 13px;display:inline-flex;align-items:center;gap:6px;color:#505a57;border:1px solid #bfc6c3;border-radius:8px;background:#eef0ef;font-size:10px;font-weight:700;cursor:pointer}.week-controls .block-add-button:hover{color:#303735;border-color:#969f9c;background:#e1e4e3}.week-controls .icon-button{width:34px;height:34px}.week-controls strong{min-width:192px;margin-left:7px;font-size:13px}.planner-layout{min-height:0;flex:1;display:grid;grid-template-columns:258px minmax(0,1fr)}.product-tray{min-height:0;padding:19px 15px;border-right:1px solid var(--line);background:#fbfcfb;display:flex;flex-direction:column}.tray-heading>div{display:flex;align-items:center;justify-content:space-between}.tray-heading strong{font-size:14px}.tray-heading span{padding:3px 7px;color:#3b7f6e;background:#e6f3ee;border-radius:12px;font-size:9px}.tray-heading p{margin:5px 0 14px;color:#84908d;font-size:10px}.search-box{height:37px;padding:0 10px;display:flex;align-items:center;gap:8px;border:1px solid #dfe6e2;border-radius:9px;background:#fff}.search-box svg{color:#8c9995}.search-box input{min-width:0;flex:1;border:0;outline:0;color:#32443f;font-size:11px}.search-box input::placeholder{color:#a5afac}.product-list{min-height:0;margin-top:12px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.product-item{padding:12px 10px;display:flex;gap:7px;border:1px solid #e0e6e3;border-radius:10px;background:#fff;cursor:grab;box-shadow:0 2px 8px #23413906;transition:.16s}.product-item:hover{border-color:#a9cbbf;box-shadow:0 5px 15px #23413912}.product-item:active{cursor:grabbing}.product-item>svg{flex:0 0 auto;margin-top:13px;color:#9aa6a2}.product-item div{min-width:0}.product-item span{display:block;color:#719087;font-size:8px;font-weight:700;letter-spacing:.5px}.product-item strong{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.product-item small{display:block;margin-top:5px;color:#7f8c88;font-size:9px}.empty-products{padding:35px 12px;text-align:center;color:#9aa5a2}.empty-products p{font-size:11px;line-height:1.6}.tray-tip{margin-top:12px;padding:11px;display:flex;gap:8px;color:#5e746d;background:#edf6f2;border-radius:9px}.tray-tip svg{flex:0 0 auto;color:#3a8372}.tray-tip p{margin:0;font-size:9px;line-height:1.55}.calendar-scroll{min-width:0;min-height:0;overflow:auto;background:#fff}.week-calendar{min-width:980px;display:grid;grid-template-columns:58px repeat(7,minmax(130px,1fr));grid-template-rows:58px auto;position:relative}.calendar-corner{position:sticky;top:0;left:0;z-index:12;display:grid;place-items:center;color:#9ba5a2;background:#fafbf9;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:9px}.day-head{position:sticky;top:0;z-index:10;height:58px;display:flex;align-items:center;justify-content:center;gap:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fffffff5}.day-head span{color:#7d8a86;font-size:10px}.day-head strong{font-size:16px}.day-head.today{color:#fff;background:var(--green-900)}.day-head.today span{color:#bcd5ce}.day-head.today strong{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#79bca8;color:#10372f}.time-axis{height:calc((var(--hours, 12)) * 68px);min-height:816px;position:sticky;left:0;z-index:8;border-right:1px solid var(--line);background:#fafbf9}.time-axis span{position:absolute;right:8px;transform:translateY(-7px);color:#899591;font-size:9px}.calendar-day{height:816px;position:relative;border-right:1px solid var(--line);background:#fff}.calendar-day.today-column{background:#fcfefc}.hour-slot{position:absolute;left:0;right:0;height:68px;border-top:1px solid #e8ece9;background-image:linear-gradient(to bottom,transparent 33px,#f1f3f2 34px,transparent 35px)}.schedule-block{position:absolute;left:5px;right:5px;z-index:4;min-height:50px;padding:8px;overflow:hidden;text-align:left;border:1px solid transparent;border-left-width:3px;border-radius:7px;cursor:pointer;box-shadow:0 3px 7px #1d3e3414}.schedule-block:hover{z-index:6;filter:brightness(.98);box-shadow:0 7px 16px #1d3e3424}.schedule-block.ready{color:#1c5b4e;border-color:#9dcfbe;border-left-color:#32816f;background:#e2f2ec}.schedule-block.incoming{color:#875a18;border-color:#eed39a;border-left-color:#ca8829;background:#fff4d9}.schedule-block.shortage{color:#923942;border-color:#efb5ba;border-left-color:#c44650;background:#fdecee}.schedule-block.calendar-block{z-index:5;color:#414947;border-color:#aeb5b2;border-left-color:#555d5a;background:repeating-linear-gradient(135deg,#d9dddb 0 9px,#d1d5d3 9px 18px);box-shadow:0 3px 8px #262d2a21}.schedule-block.calendar-block strong{display:flex;align-items:center;gap:4px}.schedule-block.calendar-block .risk-dot{color:#fff;background:#59615e;letter-spacing:.5px}.schedule-block.overlap{box-shadow:0 0 0 2px #df5858,0 4px 10px #50141424}.schedule-block .schedule-time{display:block;font-size:8px;font-weight:700;opacity:.76}.schedule-block strong{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.schedule-block small{display:block;margin-top:2px;font-size:8px;opacity:.75}.schedule-block .risk-dot{display:inline-block;margin-top:6px;padding:2px 5px;border-radius:8px;background:#ffffff8c;font-size:7px;font-weight:700}.drawer-scrim{position:fixed;inset:0;z-index:60;border:0;background:#0b1c1847;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.detail-drawer{position:fixed;inset:0 0 0 auto;z-index:70;width:min(470px,100vw);padding-bottom:80px;overflow-y:auto;background:#fff;box-shadow:-16px 0 45px #0f272129;animation:drawer-in .22s ease-out}@keyframes drawer-in{0%{transform:translate(35px);opacity:.5}}.drawer-header{padding:22px 23px 18px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line)}.drawer-header span{color:#65847b;font-size:9px;font-weight:700;letter-spacing:.6px}.drawer-header h2{margin:4px 0 0;font-size:20px}.availability-summary{margin:17px 22px 0;padding:13px;display:flex;gap:10px;border-radius:10px}.availability-summary svg{flex:0 0 auto}.availability-summary.ready{color:#276b5b;background:#e9f5f0}.availability-summary.incoming{color:#92601b;background:#fff4dc}.availability-summary.shortage{color:#a13c45;background:#fff0f1}.availability-summary strong{display:block;font-size:12px}.availability-summary span{display:block;margin-top:3px;font-size:9px;opacity:.82}.block-summary{margin:17px 22px 0;padding:13px;display:flex;gap:10px;color:#4b5350;border:1px solid #cfd4d2;border-radius:10px;background:#eff1f0}.block-summary svg{flex:0 0 auto}.block-summary strong{display:block;font-size:12px}.block-summary span{display:block;margin-top:3px;color:#727b78;font-size:9px;line-height:1.45}.drawer-section{padding:20px 22px 2px}.drawer-section+.drawer-section{margin-top:13px;border-top:1px solid #edf0ee}.drawer-section-title{margin-bottom:12px;display:flex;align-items:center;gap:7px;color:#536762}.drawer-section-title strong{color:#273b36;font-size:12px}.drawer-section-title>span{margin-left:auto;color:#8c9895;font-size:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.form-grid label>span{display:block;margin-bottom:5px;color:#768580;font-size:9px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:0 9px;color:#30413d;border:1px solid #dfe5e2;border-radius:7px;outline:none;background:#fff;font:inherit;font-size:10px}.form-grid input,.form-grid select{height:36px}.form-grid textarea{padding:9px;resize:vertical;line-height:1.55}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#78b6a4;box-shadow:0 0 0 3px #569b871a}.form-grid input:disabled{color:#74817d;background:#f6f7f6}.form-grid .full-field{grid-column:1 / -1}.material-list{display:flex;flex-direction:column;gap:7px}.material-row{padding:10px;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid #e5e9e7;border-radius:9px}.material-state{width:25px;height:25px;display:grid;place-items:center;border-radius:50%}.material-state.ready{color:#26715f;background:#e2f2ec}.material-state.incoming{color:#a16a1b;background:#fff1d7}.material-state.shortage{color:#b13f48;background:#fdebed}.material-main{min-width:0}.material-main>span{display:block;color:#82908c;font-size:8px}.material-main strong{display:block;margin-top:1px;font-size:10px}.material-main small{display:block;margin-top:3px;color:#7b8884;font-size:8px}.material-label{font-size:8px;font-weight:700}.material-label.ready{color:#27705f}.material-label.incoming{color:#a16a1b}.material-label.shortage{color:#b13f48}.timeline{padding-left:4px}.timeline>div{min-height:39px;padding-left:24px;position:relative;display:flex;justify-content:space-between;color:#87938f;font-size:9px}.timeline>div:before{content:"";position:absolute;left:6px;top:10px;bottom:-8px;width:1px;background:#dfe5e2}.timeline>div:last-child:before{display:none}.timeline i{position:absolute;left:1px;top:4px;z-index:1;width:11px;height:11px;border:2px solid #c5cfcb;border-radius:50%;background:#fff}.timeline .done i{border-color:#62a894;background:#62a894;box-shadow:inset 0 0 0 2px #fff}.timeline .current{color:#2c5f52;font-weight:700}.timeline .current i{border-color:#3f8d79;box-shadow:0 0 0 3px #ddf0e9}.timeline strong{font-weight:600}.drawer-actions{position:fixed;right:0;bottom:0;z-index:2;width:min(470px,100vw);padding:14px 22px;border-top:1px solid var(--line);background:#fffffff5;display:flex;justify-content:space-between}.primary-button,.secondary-button,.danger-button{min-height:38px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;cursor:pointer;font-size:11px;font-weight:600}.primary-button{color:#fff;border:1px solid #1c5b4e;background:#1f6556;box-shadow:0 3px 8px #1a544829}.primary-button:hover{background:#174f43}.secondary-button{color:#326b5d;border:1px solid #cfdad6;background:#fff}.secondary-button:hover{border-color:#8fb4a8;background:#f5faf8}.danger-button{color:#b23e48;border:1px solid #f0c9cd;background:#fff}.danger-button:hover{background:#fff4f5}.master-card{overflow:hidden;border:1px solid #e0e6e2;border-radius:14px;background:#fff;box-shadow:0 4px 18px #1e373009}.master-heading-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}.master-heading-actions .primary-button{margin-left:4px}.download-icon{transform:rotate(180deg)}.upload-button{position:relative}.upload-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);opacity:0}.master-guide{margin-bottom:14px;padding:12px 15px;display:flex;align-items:flex-start;gap:9px;color:#667771;border:1px solid #dce7e2;border-radius:10px;background:#f7fbf9;font-size:9px;line-height:1.55}.master-guide svg{flex:0 0 auto;margin-top:1px;color:#448a77}.master-guide>div{min-width:0;flex:1;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:7px}.master-guide>div>strong{width:22px;height:22px;display:grid;place-items:center;color:#fff;border-radius:50%;background:#4b8d7b;font-size:8px}.master-guide>div>span{color:#3f5750;font-weight:700}.master-guide>div small{margin-top:2px;display:block;color:#83918d;font-size:7px;font-weight:400;line-height:1.4}.tab-list{padding:0 20px;display:flex;gap:25px;border-bottom:1px solid var(--line)}.tab-list button{padding:17px 2px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:#72817c;font-size:11px;font-weight:600;cursor:pointer}.tab-list button.active{color:#246b5c;border-bottom-color:#368572}.tab-list span{margin-left:5px;padding:2px 5px;border-radius:10px;background:#edf2f0;font-size:8px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:14px 18px;border-bottom:1px solid #edf0ee;text-align:left;font-size:11px}th{color:#76837f;background:#fafbfa;font-size:9px;font-weight:600}tbody tr:hover{background:#fcfdfc}td{color:#5f6f6a}td strong{color:#283a35;font-weight:600}.code-cell{color:#39796a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.sub-code{display:block;margin-top:4px;color:#8c9894;font-size:8px}.master-table-wrap table{min-width:920px}.row-actions{display:flex;justify-content:flex-end;gap:5px}.row-actions button{width:29px;height:29px;display:inline-grid;place-items:center;color:#55716a;border:1px solid #dbe3e0;border-radius:7px;background:#fff;cursor:pointer}.row-actions button:hover{color:#17604f;border-color:#9fc0b6;background:#f2f8f5}.row-actions button.danger{color:#b2464f}.row-actions button.danger:hover{border-color:#e7b9be;background:#fff5f6}.order-status{padding:4px 7px;color:#9a671e;border-radius:999px;background:#fff2dc;font-size:8px;font-weight:700}.order-status.received{color:#26705f;background:#e3f2ec}.master-editor{position:fixed;left:50%;top:50%;z-index:80;width:min(760px,calc(100vw - 44px));max-height:calc(100vh - 44px);display:flex;flex-direction:column;overflow:hidden;transform:translate(-50%,-50%);border:1px solid #dce4e1;border-radius:15px;background:#fff;box-shadow:0 24px 70px #0f2a233d}.master-editor .drawer-header{flex:0 0 auto;padding:17px 20px;background:#fff}.master-editor .drawer-header h2{font-size:17px}.editor-body{width:100%;min-height:0;overflow:auto;background:#fff}.editor-form{padding:20px}.editor-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.editor-field{margin-bottom:13px;display:block}.editor-field>span{margin-bottom:6px;display:block;color:#61716c;font-size:9px;font-weight:700}.editor-field input,.editor-field select{width:100%;height:39px;padding:0 11px;color:#2a3c37;border:1px solid #d7dfdc;border-radius:8px;background:#fff;outline:none;font-size:11px}.editor-field input:focus,.editor-field select:focus{border-color:#67a593;box-shadow:0 0 0 3px #e7f3ef}.check-grid{margin-bottom:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.check-grid label{padding:9px;display:flex;align-items:center;gap:7px;color:#546660;border:1px solid #e0e6e3;border-radius:8px;font-size:9px}.bom-editor{margin-top:8px;padding:14px;border:1px solid #e0e7e4;border-radius:10px;background:#fafcfb}.bom-editor-title{margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}.bom-editor-title strong{font-size:10px}.bom-edit-row{margin-bottom:7px;display:grid;grid-template-columns:minmax(180px,1fr) 105px 90px 30px;align-items:center;gap:7px}.bom-edit-row input,.bom-edit-row select{width:100%;height:35px;padding:0 8px;border:1px solid #d7dfdc;border-radius:7px;background:#fff;font-size:9px}.bom-edit-row button{width:30px;height:30px;display:grid;place-items:center;color:#ad4650;border:1px solid #e6c7ca;border-radius:7px;background:#fff;cursor:pointer}.editor-actions{position:sticky;bottom:0;padding:13px 20px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #e3e9e6;background:#fffffff7}.inventory-heading{margin-bottom:21px}.month-picker{padding:5px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 3px 14px #1e373009}.month-picker .icon-button{width:32px;height:32px;border:0;background:#f4f7f5}.month-picker strong{min-width:105px;text-align:center;font-size:13px}.month-picker>div{min-width:112px;text-align:center}.month-picker>div span{display:block;color:#8a9692;font-size:7px}.month-picker>div strong{display:block;margin-top:1px}.inventory-type-tabs{margin-bottom:16px;display:flex;gap:10px}.inventory-type-tabs button{min-width:230px;padding:13px 17px;display:flex;align-items:center;gap:11px;text-align:left;color:#6c7a76;border:1px solid #dfe5e2;border-radius:11px;background:#fff;cursor:pointer;transition:.16s ease}.inventory-type-tabs button:hover{border-color:#a8c8bd}.inventory-type-tabs button.active{color:#1f6a5a;border-color:#78b3a2;background:#edf7f3;box-shadow:inset 0 0 0 1px #a8d0c3}.inventory-type-tabs button>span{display:block}.inventory-type-tabs strong{font-size:12px}.inventory-type-tabs small{display:block;margin-top:3px;color:#899591;font-size:9px}.inventory-summary-grid{margin-bottom:16px;display:grid;grid-template-columns:repeat(4,minmax(120px,.7fr)) minmax(300px,1.6fr);gap:10px}.inventory-summary-card,.balance-formula{min-height:92px;padding:16px 17px;border:1px solid #e1e7e3;border-radius:12px;background:#fff}.inventory-summary-card>span,.balance-formula>span{display:block;color:#788681;font-size:9px}.inventory-summary-card>strong{display:inline-block;margin:4px 7px 0 0;color:#20332e;font-size:22px}.inventory-summary-card>small{color:#899591;font-size:8px}.inventory-summary-card.attention{border-color:#edc8a5;background:#fffaf3}.inventory-summary-card.attention>strong{color:#b66c10}.balance-formula{color:#fff;border-color:var(--green-900);background:linear-gradient(135deg,#163f37,#245c50)}.balance-formula>span{color:#a9c9bf}.balance-formula>div{margin-top:9px;display:flex;align-items:center;gap:8px}.balance-formula strong{padding:4px 7px;border-radius:6px;background:#ffffff17;font-size:11px}.balance-formula strong.receipt{color:#a8ddca}.balance-formula strong.issue{color:#f6c5a3}.balance-formula strong.closing{color:#173e36;background:#b5decf}.balance-formula i{color:#93b5ab;font-style:normal;font-size:13px}.balance-formula small{display:block;margin-top:8px;color:#a8c4bc;font-size:8px}.inventory-card{overflow:hidden;border:1px solid #dee5e1;border-radius:14px;background:#fff;box-shadow:0 4px 18px #1e373009}.inventory-card-toolbar{min-height:64px;padding:12px 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6ebe8}.inventory-card-toolbar>div:first-child strong{display:block;font-size:13px}.inventory-card-toolbar>div:first-child span{display:block;margin-top:3px;color:#899591;font-size:9px}.inventory-search{width:225px}.inventory-table-wrap{max-height:450px;overflow:auto}.inventory-table{min-width:1120px}.inventory-table thead{position:sticky;top:0;z-index:2}.inventory-table th{padding-top:12px;padding-bottom:12px;white-space:nowrap}.inventory-table td{padding-top:13px;padding-bottom:13px}.inventory-table .number-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.inventory-code{display:block;color:#498072;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;letter-spacing:.25px}.inventory-name{display:block;margin-top:3px;color:#263a35;white-space:nowrap;font-size:10px}.unit-cell{color:#84908c;font-size:9px}.receipt-head{color:#25715f;background:#f1f8f5}.issue-head{color:#9a5e25;background:#fff8f0}.closing-head{color:#1f5f52;background:#edf6f2}.available-head{color:#285f8d;background:#eff6fb}.receipt-value{color:#25715f;font-weight:600;background:#fbfefc}.issue-value{color:#a1642c;font-weight:600;background:#fffcf8}.closing-value{color:#1c5b4e;background:#f5faf8;font-weight:700}.warning-value{color:#a76b18;font-weight:700}.available-value{color:#336f99;background:#f7fbfe;font-weight:700}.available-value.low{color:#bd3e48;background:#fff4f5}.incoming-cell{min-width:155px}.incoming-entry+.incoming-entry{margin-top:8px;padding-top:8px;border-top:1px dashed #dfe6e2}.incoming-entry strong{display:block;color:#276b5b;font-size:9px}.incoming-entry span{display:block;margin-top:2px;color:#60736d;font-size:8px}.incoming-entry small{display:block;margin-top:1px;color:#9aa4a1;font-size:7px}.incoming-entry.production strong{color:#426f9a}.no-incoming{color:#a1aaa7;font-size:9px}.inventory-empty{padding:45px;display:flex;flex-direction:column;align-items:center;color:#93a09c}.inventory-empty strong{margin-top:9px;color:#60716c;font-size:11px}.inventory-empty span{margin-top:4px;font-size:9px}.inventory-footnote{padding:10px 17px;display:flex;gap:20px;color:#7b8985;border-top:1px solid #e8ece9;background:#fafbf9;font-size:8px}.inventory-footnote span:before{content:"•";margin-right:5px;color:#629b8b}.finished-inventory-page{max-width:none}.finished-trend-layout{min-height:620px;display:grid;grid-template-columns:238px minmax(0,1fr);gap:14px}.finished-product-panel{min-height:0;padding:15px;display:flex;flex-direction:column;border:1px solid #dee5e1;border-radius:13px;background:#fff;box-shadow:0 4px 18px #1e373009}.trend-panel-heading{margin-bottom:11px;display:flex;align-items:center;justify-content:space-between}.trend-panel-heading span{color:#263c36;font-size:12px;font-weight:700}.trend-panel-heading strong{padding:3px 7px;color:#397665;border-radius:10px;background:#e9f4f0;font-size:8px}.finished-product-list{min-height:0;margin-top:10px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.finished-product-list button{padding:10px 11px;text-align:left;color:#52635e;border:1px solid #e1e6e4;border-radius:9px;background:#fff;cursor:pointer}.finished-product-list button:hover{border-color:#a8c6bd;background:#fafdfc}.finished-product-list button.active{color:#235f51;border-color:#77ad9e;background:#eaf5f1;box-shadow:inset 3px 0 #367b69}.finished-product-list button span{display:block;color:#66847b;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px}.finished-product-list button strong{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.finished-product-list button small{display:block;margin-top:4px;color:#8a9692;font-size:7px}.finished-trend-main{min-width:0}.trend-product-header{min-height:82px;margin-bottom:10px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border:1px solid #dde5e1;border-radius:12px;background:#fff}.trend-product-header span{color:#4d8174;font-size:8px;font-weight:700}.trend-product-header h2{margin:3px 0 0;color:#20332e;font-size:18px}.trend-product-header p{margin:4px 0 0;color:#83908c;font-size:8px}.trend-unit{padding-left:15px;color:#8a9692;border-left:1px solid #e1e6e4;text-align:right;font-size:8px}.trend-unit strong{margin-top:3px;display:block;color:#345e53;font-size:11px}.trend-summary-grid{margin-bottom:10px;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.trend-summary-grid>div{min-height:76px;padding:13px 14px;border:1px solid #dfe6e2;border-radius:10px;background:#fff}.trend-summary-grid span{display:block;color:#7b8985;font-size:8px}.trend-summary-grid strong{margin:4px 5px 0 0;display:inline-block;color:#243a34;font-size:18px;font-variant-numeric:tabular-nums}.trend-summary-grid small{color:#8c9894;font-size:7px}.trend-summary-grid .plan{border-color:#b8d4cb;background:#f1f8f5}.trend-summary-grid .plan strong{color:#26705e}.trend-summary-grid .danger{border-color:#e6b4b9;background:#fff5f6}.trend-summary-grid .danger strong{color:#b83f49}.trend-card{overflow:hidden}.trend-formula{padding:10px 15px;display:flex;align-items:center;gap:10px;color:#5d716a;border-bottom:1px solid #e4e9e7;background:#f8faf9;font-size:8px}.trend-formula strong{color:#2d5148;font-size:9px}.trend-formula span{padding:5px 8px;color:#205f50;border-radius:6px;background:#e4f1ec;font-weight:700}.trend-formula small{margin-left:auto;color:#87938f}.finished-trend-table-wrap{max-height:515px;overflow:auto}.finished-trend-table{min-width:1020px}.finished-trend-table thead{position:sticky;top:0;z-index:3}.finished-trend-table th,.finished-trend-table td{padding:10px 12px}.finished-trend-table .number-cell{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.finished-trend-table .plan-head{color:#356f91;background:#eff6fa}.finished-trend-table .plan-value{color:#32749b;background:#f7fbfd;font-weight:700}.finished-trend-table .closing-value.negative{color:#bd3d48;background:#fff1f2}.finished-trend-table .current-month-row td{border-top:2px solid #68a692;border-bottom-color:#b9d8ce;background-color:#f8fcfa}.finished-trend-table .future-month-row td{background-color:#fbfcfd}.month-offset{min-width:38px;padding:4px 6px;display:inline-block;color:#74817d;border-radius:999px;background:#edf1ef;text-align:center;font-size:7px;font-weight:700}.month-offset.current{color:#fff;background:#2e7967}.month-offset.future{color:#376f91;background:#e5f1f7}.ledger-state{padding:4px 6px;border-radius:999px;font-size:7px;font-weight:700}.ledger-state.recorded{color:#24705e;background:#e3f2ec}.ledger-state.forecast{color:#376f91;background:#e8f2f7}.ledger-state.missing{color:#899591;background:#f0f2f1}.plan-basis-cell{min-width:180px}.plan-basis-cell div+div{margin-top:5px;padding-top:5px;border-top:1px dashed #dce5e1}.plan-basis-cell strong{display:block;color:#326e8f;font-size:8px}.plan-basis-cell span{display:block;margin-top:2px;color:#81908b;font-size:7px}.trend-empty{border:1px solid #dfe6e2;border-radius:13px;background:#fff}.inventory-policy-grid{margin-top:16px;display:grid;grid-template-columns:1.45fr 1fr;gap:12px}.policy-card{padding:18px;border:1px solid #dfe6e2;border-radius:13px;background:#fff}.policy-title{display:flex;gap:10px;color:#377866}.policy-title svg{flex:0 0 auto}.policy-title strong{display:block;color:#2a3e38;font-size:11px}.policy-title span{display:block;margin-top:3px;color:#899591;font-size:8px}.policy-steps{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.policy-steps>div{padding:11px;display:flex;gap:8px;border-radius:9px;background:#f6f8f7}.policy-steps i{width:19px;height:19px;flex:0 0 auto;display:grid;place-items:center;color:#fff;border-radius:50%;background:#4f907e;font-size:8px;font-style:normal}.policy-steps strong{display:block;color:#40524d;font-size:9px}.policy-steps small{display:block;margin-top:3px;color:#899591;font-size:7px;line-height:1.5}.usable-card{background:#fbfdfc}.usable-formula{margin-top:18px;display:flex;align-items:center;gap:6px}.usable-formula span,.usable-formula strong{padding:7px 8px;border-radius:7px;background:#edf3f0;color:#53655f;font-size:8px}.usable-formula strong{color:#1e6757;background:#dff1ea}.usable-formula i{color:#8b9894;font-style:normal}.usable-card p{margin:14px 0 0;color:#72817c;font-size:8px;line-height:1.6}.usable-card p strong{color:#2f6f60}.toast{position:fixed;right:25px;bottom:25px;z-index:100;padding:12px 16px;display:flex;align-items:center;gap:9px;color:#fff;background:#143e37;border:1px solid rgba(255,255,255,.15);border-radius:10px;box-shadow:0 14px 38px #0e2c2540;font-size:11px;animation:toast-in .2s ease}.toast svg{color:#8bd0ba}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}}.mobile-scrim{display:none}@media(max-width:1180px){.metric-grid,.line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-layout{grid-template-columns:225px minmax(0,1fr)}.inventory-summary-grid{grid-template-columns:repeat(4,1fr)}.balance-formula{grid-column:1 / -1}}@media(max-width:820px){.sidebar{transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.mobile-scrim{display:block;position:fixed;inset:0;z-index:35;border:0;background:#0b1c1866}.main-content{margin-left:0}.mobile-menu{display:inline-grid}.topbar{padding:0 17px;justify-content:flex-start;gap:12px}.topbar-actions{margin-left:auto}.today-chip{display:none}.page{padding:26px 18px 45px}.page-heading{flex-direction:column}.demo-notice{width:100%;min-width:0}.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-page{height:auto;min-height:calc(100vh - 66px);overflow:visible}.planner-layout{grid-template-columns:1fr}.product-tray{max-height:280px;border-right:0;border-bottom:1px solid var(--line)}.calendar-scroll{min-height:650px}.inventory-policy-grid{grid-template-columns:1fr}.master-heading-actions{justify-content:flex-start}.finished-trend-layout{grid-template-columns:205px minmax(0,1fr)}.trend-summary-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.metric-grid,.line-grid{grid-template-columns:1fr}.metric-card{min-height:98px}.page-heading h1{font-size:24px}.calendar-title-row{width:100%}.line-selector-wrap{flex:1}.line-selector-wrap select{min-width:0;width:100%}.calendar-toolbar .status-pill{display:none}.week-controls{width:100%}.week-controls strong{min-width:0;font-size:11px}.form-grid{grid-template-columns:1fr}.page-heading.compact{align-items:flex-start}.month-picker{align-self:stretch;justify-content:space-between}.inventory-type-tabs{display:grid;grid-template-columns:1fr 1fr}.inventory-type-tabs button{min-width:0}.inventory-summary-grid{grid-template-columns:1fr 1fr}.balance-formula{grid-column:1 / -1}.inventory-card-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.inventory-search{width:100%}.policy-steps{grid-template-columns:1fr}.usable-formula{flex-wrap:wrap}.finished-trend-layout{grid-template-columns:1fr}.finished-product-panel{max-height:300px}.trend-formula{align-items:flex-start;flex-direction:column}.trend-formula small{margin-left:0}.editor-form-row{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr 1fr}.bom-edit-row{grid-template-columns:1fr 75px 70px 30px}}
