:root{color-scheme:light;--app-font-family: "Segoe UI Variable", "Yu Gothic UI", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--numeric-font-family: var(--app-font-family);--bg: #f3efe7;--panel: #fffdf8;--panel-2: #f8f4eb;--line: #d8cfbf;--text: #142126;--muted: #60707a;--accent: #2f6f5f;--accent-2: #c07b3d;--danger: #a4422e;--shadow: 0 20px 60px rgba(20, 33, 38, .1);--input-bg: #fffceb;--calc-bg: #f9f9f9;--factory-topbar-height: 68px;--factory-main-padding-x: 1rem;--factory-content-padding-x: .75rem;--sticky-id-width: 56px;--sticky-name-width: 280px;font-family:var(--app-font-family)}*{box-sizing:border-box}html,body{margin:0;color:var(--text);overflow-x:hidden;background:radial-gradient(circle at top left,rgba(47,111,95,.12),transparent 32%),radial-gradient(circle at top right,rgba(192,123,61,.12),transparent 30%),linear-gradient(180deg,#f7f3ec,#f0eadf)}input,select,button,textarea{font:inherit;font-family:var(--app-font-family)}::placeholder{font-family:var(--app-font-family)}a{color:inherit;text-decoration:none}.app-bg{min-height:100vh;padding:24px}.app-shell{max-width:1440px;margin:0 auto}.topbar,.nav-row,.card,.panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar{position:sticky;top:0;left:0;z-index:40;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px;border:1px solid rgba(216,207,191,.7);border-radius:8px;background:#fffdf8d1;box-shadow:var(--shadow)}.brand{display:inline-block;font-size:1.35rem;font-weight:800;letter-spacing:.02em}.brand-subtitle,.nav-hint,.lead,.panel-meta,.session-month{color:var(--muted)}.brand-subtitle{margin:6px 0 0;max-width:56ch}.health-pill,.status,.nav-chip{border-radius:999px;padding:.4rem .75rem;border:1px solid transparent}.health-pill{background:#eef6f3;border-color:#c6d9d3;color:var(--accent);font-weight:700}.health-error{background:#f9ebe8;border-color:#ecc7bf;color:var(--danger)}.nav-row{display:flex;gap:12px;align-items:center;margin-top:18px;padding:14px 18px;border:1px solid rgba(216,207,191,.7);border-radius:6px;background:#fffdf8b3}.nav-chip{background:transparent;color:var(--muted);border-color:var(--line);font-weight:700}.nav-chip.active{background:var(--text);color:#fff}.workspace{margin-top:18px}.page-grid,.detail-layout{display:grid;gap:18px}.page-grid{grid-template-columns:360px 1fr}.detail-grid{display:grid;grid-template-columns:360px 1fr;gap:18px}.card,.panel{border:1px solid rgba(216,207,191,.9);background:#fffdf8eb;border-radius:4px;padding:16px;box-shadow:var(--shadow)}.stack{display:grid;gap:16px}.hero h1,.detail-header h1{margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.detail-header h1 span{color:var(--muted);font-size:.55em}.lead{margin:14px 0 0;max-width:62ch}.session-card{border:1px solid var(--line);border-radius:6px;padding:16px;background:linear-gradient(180deg,#f8f4ebf2,#fffdf8f2)}.session-card+.session-card{margin-top:14px}.session-head,.panel-header{display:flex;justify-content:space-between;gap:16px;align-items:start}.session-head h2,.panel-header h2{margin:2px 0 0}.session-metrics{margin-top:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.session-metrics div{background:#fff;border:1px solid var(--line);border-radius:4px;padding:10px}.session-metrics span,.session-metrics strong{display:block}.session-metrics strong{margin-top:8px}.day-list{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px}.day-link,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;border:1px solid var(--line);padding:.7rem 1rem;background:#fff;font-weight:700}.day-link.primary,.button{background:var(--text);color:#fff;border-color:var(--text)}.session-days{display:grid;gap:10px}.session-day-link{display:grid;gap:4px;border:1px solid var(--line);border-radius:4px;padding:12px;background:#fff}.session-day-link strong{font-size:.95rem}.session-day-link small{color:var(--muted);text-transform:capitalize}.session-day-link.active{border-color:var(--accent);background:#2f6f5f14}.button:disabled{opacity:.7;cursor:wait}.panel-kicker{margin:0 0 6px;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--accent-2);font-weight:800}.empty-state{padding:32px;border-radius:6px;background:#fffdf8f2;border:1px solid var(--line);box-shadow:var(--shadow)}.empty-state.error{color:var(--danger)}.start-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.field{display:grid;gap:8px}.field input,.data-table input,.data-table select{width:100%;border-radius:10px;border:1px solid var(--line);padding:.72rem .8rem;background:#fff}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:4px}.data-table{width:100%;border-collapse:collapse;min-width:900px}.data-table th,.data-table td{padding:.8rem;border-bottom:1px solid #ece3d5;text-align:left;vertical-align:middle;font-size:1rem}.data-table thead th{position:sticky;top:0;background:#f5efe3;z-index:1}.status{font-weight:800;background:#eef1ee;color:#3a4a45}.status-blank{background:#f1f3f5;color:#63707d}.status-draft{background:#f2efe6;color:#756647}.status-calculated{background:#e7f4ef;color:#25624f}.status-confirmed{background:#e6eef8;color:#204e7d}.status-error{background:#f9e6e1;color:#9d3e2d}.timeline{display:grid;gap:16px}.timeline-scale{display:grid;gap:8px;color:var(--muted);font-size:.8rem}.timeline-scale span{text-align:center}.timeline-grid{display:grid;gap:14px}.timeline-lane{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:stretch}.timeline-lane-label{display:flex;align-items:center;justify-content:center;border-radius:4px;background:#f3efe7;border:1px solid var(--line);font-weight:800}.timeline-track{position:relative;min-height:110px;border-radius:4px;border:1px dashed #d5c8b5;background:repeating-linear-gradient(90deg,rgba(96,112,122,.08) 0 1px,transparent 1px 4.16%),linear-gradient(180deg,#fff,#faf6ef)}.timeline-block{position:absolute;top:12px;bottom:12px;display:grid;align-content:start;gap:4px;padding:10px;border-radius:4px;background:linear-gradient(180deg,#2f6f5ff2,#245246f2);color:#fff;overflow:hidden;box-shadow:0 10px 20px #1421262e}.timeline-block.first{outline:2px solid rgba(192,123,61,.9)}.timeline-block strong{font-size:.92rem}.timeline-block span{font-size:.78rem;opacity:.9}.timeline-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted)}.footer-note{display:flex;justify-content:flex-end}@media (max-width: 1100px){.page-grid,.detail-grid{grid-template-columns:1fr}.session-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.app-page-title-band{min-height:64px;padding:14px 18px}.app-page-title-band h1{font-size:1.34rem}.app-bg{padding:14px}.topbar,.nav-row{padding:16px}.start-time-grid,.session-metrics,.timeline-lane{grid-template-columns:1fr}}.app-page-title-band{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:74px;padding:16px 24px;background:linear-gradient(90deg,#fff8e8,#fffdf8 62%,#fff);border:1px solid rgba(214,162,60,.28);border-left:6px solid #d99a18;box-shadow:0 8px 20px #1f2d3d0e}.app-page-title-band h1{margin:0;color:#0f2137;font-size:1.58rem;line-height:1.22;font-weight:950;letter-spacing:0}.factory-shell{min-height:100vh;width:100%;max-width:100vw;overflow-x:visible;background:linear-gradient(180deg,#eef2f7,#e6ebf2);isolation:isolate;padding-top:var(--factory-topbar-height)}.factory-topbar{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px;padding:.8rem 1.5rem;background:#f1f4f8;color:var(--text);border-bottom:1px solid rgba(121,136,156,.22);box-shadow:0 8px 22px #0f172a14;width:100%;max-width:100vw;overflow:hidden}.factory-topbar-group,.factory-topbar-status,.factory-date-pill,.factory-topnav,.factory-plant-switch{display:flex;align-items:center;gap:.75rem}.factory-topbar-status{flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end}.factory-shell-subnav{padding:.9rem 1rem 0}.factory-shell-subnav-inner{display:grid;gap:.5rem}.factory-feature-menu{display:grid;gap:.45rem}.factory-feature-tabs,.factory-subfeature-tabs{display:flex;align-items:center;gap:.65rem;min-width:0;flex-wrap:wrap}.factory-feature-tabs{padding:.15rem 0}.factory-subfeature-tabs{padding:.2rem 0 0;border-top:1px solid rgba(121,136,156,.14)}.factory-subnav-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:1px solid transparent;padding:.42rem .9rem;background:transparent;color:#64748b;font-weight:800;font-size:.92rem;white-space:nowrap;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}.factory-subnav-button:hover{color:#334155;background:#ffffffb8}.factory-subnav-button.active{border-color:#2563eb2e;color:#1d4ed8;background:linear-gradient(180deg,#f8fbff,#eff6ff);box-shadow:0 6px 14px #2563eb1a;transform:translateY(-1px)}.factory-brand{color:inherit;font-size:1.16rem;font-weight:800;letter-spacing:.04em;white-space:nowrap}.factory-date-pill{padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(121,136,156,.18)}.factory-date-pill{background:#fff;min-width:0}.factory-date-label{font-size:.82rem;color:var(--muted)}.factory-date-value{font-size:.98rem;font-weight:700}.factory-account-menu{display:inline-flex;align-items:center;gap:.65rem;min-width:0;padding:.28rem .35rem .28rem .45rem;border:1px solid rgba(121,136,156,.18);border-radius:999px;background:#ffffffeb;box-shadow:0 8px 18px #0f172a12}.factory-account-avatar{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex:0 0 auto;border-radius:999px;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1e40af;font-size:.82rem;font-weight:900;border:1px solid rgba(37,99,235,.18)}.factory-account-copy{display:grid;gap:.05rem;min-width:0;line-height:1.15}.factory-account-name,.factory-account-role{display:block;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.factory-account-name{color:#172033;font-size:.94rem;font-weight:900}.factory-account-role{color:#64748b;font-size:.82rem;font-weight:700}.factory-logout-button,.factory-account-logout-button{border:1px solid rgba(164,66,46,.2);border-radius:999px;background:#fff;color:var(--danger);padding:.42rem .8rem;font-weight:800;cursor:pointer}.factory-nav-button{border:1px solid rgba(121,136,156,.24);border-radius:999px;background:#fff;color:#1f2d3d;padding:.5rem 1rem;font-size:.98rem;font-weight:800;cursor:pointer;white-space:nowrap}.factory-nav-button.active{border-color:#2563eb;color:#1d4ed8;background:#eff6ff}.factory-shell-subnav-primary{padding-top:.75rem}.factory-shell-subnav-secondary{padding-top:.35rem}.factory-shell-subnav-secondary .factory-feature-menu{width:fit-content;max-width:100%}.factory-primary-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.factory-primary-tab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid rgba(121,136,156,.24);border-radius:999px;background:#fff;color:#1f2d3d;padding:.52rem 1.08rem;font-size:1rem;font-weight:800;white-space:nowrap}.factory-primary-tab.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.factory-segment-tabs{display:inline-flex;align-items:center;gap:6px;max-width:100%;overflow-x:auto;border:1px solid rgba(121,136,156,.18);border-radius:10px;background:#ffffff7a;padding:3px}.factory-segment-tab{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid transparent;border-radius:7px;color:#475569;padding:.34rem .75rem;font-size:.84rem;font-weight:800;white-space:nowrap;transition:color .16s ease,background .16s ease,border-color .16s ease}.factory-segment-tab.active{border-color:#0f766e47;background:#ecfdf5;color:#0f766e}.factory-segment-tab:hover{background:#f8fafc;color:#0f172a}.factory-segment-tabs.is-single{border-color:transparent;background:transparent;padding:0}.factory-segment-tabs.is-single .factory-segment-tab{border-color:#0f766e2e;background:#f8fafc;color:#0f766e}.factory-segment-tabs.is-single .factory-segment-tab.active{border-color:#0f766e52;background:#ecfdf5;box-shadow:inset 3px 0 #0f766e}.factory-plant-switch{gap:.35rem;padding:.15rem;border-radius:10px;background:#fff9;border:1px solid rgba(121,136,156,.18)}.factory-plant-button{border:1px solid transparent;background:transparent;color:#44556a;border-radius:8px;padding:.48rem .9rem;font-weight:700;line-height:1}.factory-plant-button.active{background:#fff;border-color:#1f2d3d;box-shadow:inset 0 0 0 1px #1f2d3d;color:#1f2d3d}.factory-main{min-width:0;max-width:100vw;overflow-x:hidden;padding:1rem;background:radial-gradient(circle at top right,rgba(27,43,72,.08),transparent 28%),linear-gradient(180deg,#eef2f7,#e9eef5)}.factory-content{min-width:0;max-width:100%;min-height:calc(100vh - 68px - 2rem)}.login-page{min-height:calc(100vh - 2rem);display:grid;place-items:center;padding:1.25rem}.login-shell{width:min(920px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem;align-items:stretch}.login-hero{padding:2rem;border:1px solid rgba(216,207,191,.9);border-radius:10px;background:radial-gradient(circle at top right,rgba(192,123,61,.18),transparent 28%),linear-gradient(180deg,#fffdf8f5,#f8f4ebfa);box-shadow:var(--shadow);display:grid;align-content:center;gap:1rem}.login-kicker{margin:0;color:var(--accent);font-size:.85rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-hero h1{margin:0;font-size:clamp(2.2rem,5vw,4rem);line-height:.98}.login-copy{margin:0;max-width:34rem;color:var(--muted);font-size:1.02rem;line-height:1.6}.login-card{display:grid;gap:1rem;align-content:center}.login-field{display:grid;gap:.45rem;font-size:.92rem;font-weight:700}.login-field input{border:1px solid var(--line);border-radius:8px;background:#fff;padding:.8rem .9rem;color:var(--text)}.login-error{border:1px solid rgba(164,66,46,.24);background:#f4e8e4f5;color:var(--danger);padding:.75rem .9rem;border-radius:8px;font-weight:700}.login-submit{border:0;border-radius:8px;background:linear-gradient(135deg,var(--accent),#24584c);color:#fff;padding:.9rem 1rem;font-weight:800;cursor:pointer}.login-submit:disabled{opacity:.75;cursor:progress}.login-hint{display:grid;gap:.2rem;color:var(--muted);font-size:.82rem}.login-hint strong{color:var(--text)}.auth-page{min-height:100vh;display:grid;grid-template-rows:1fr auto;background:#f6f7fb}.auth-main{display:grid;place-items:center;padding:32px 20px}.auth-card{width:min(380px,100%);display:grid;gap:18px;padding:30px 28px 28px;border:1px solid #99a1af;border-radius:2px;background:#fff;box-shadow:0 4px 12px #00000014;color:#4a5565}.auth-title{margin:0 0 2px;text-align:center;font-size:1.2rem;font-weight:500;color:#0a0a0a}.auth-field-group{display:grid;gap:16px}.auth-field{display:grid;gap:6px;font-size:.9rem;font-weight:700;color:#4a5565}.auth-field input{width:100%;border:1px solid #d1d5db;border-radius:2px;background:#fff;padding:.78rem .85rem;color:#0a0a0a}.auth-password{position:relative}.auth-password input{padding-right:2.4rem;appearance:none;-webkit-appearance:none;-moz-appearance:textfield}.auth-password input::-ms-reveal,.auth-password input::-ms-clear{display:none}.auth-password input::-webkit-credentials-auto-fill-button,.auth-password input::-webkit-textfield-decoration-container{display:none}.auth-eye-button{position:absolute;top:50%;right:10px;transform:translateY(-50%);border:0;background:transparent;color:#9ca3af;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.auth-eye-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.auth-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:#4a5565;cursor:pointer;width:fit-content}.auth-submit{width:100%;padding:10px 12px;background-color:#e5e7eb;color:#0a0a0a;border-radius:2px;cursor:pointer;border:1px solid #99a1af;font-size:1rem;transition:background-color .15s ease}.auth-submit:hover{background-color:#d1d5db}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-error{padding:10px 12px;border:1px solid rgba(164,66,46,.22);border-radius:2px;background:#fff2ef;color:var(--danger);font-size:.9rem;line-height:1.5;word-break:break-word}.auth-message{margin:0;color:#6a7282;text-align:center;font-size:.85rem;line-height:1.6}.auth-link-row{margin:0;text-align:center;color:#6a7282;font-size:.85rem;line-height:1.5}.auth-link{color:var(--primary, #2b6cb0);text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-footer{border-top:1px solid rgba(154,160,174,.25);padding:14px 20px;text-align:center;color:#6a7282;font-size:.82rem;background:#fff}.detail-metric-grid,.detail-stamp-grid,.detail-line-summary-grid{display:grid;gap:10px}.detail-metric-grid,.detail-line-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 1100px){.detail-metric-grid,.detail-line-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.app-page-title-band{min-height:64px;padding:14px 18px}.app-page-title-band h1{font-size:1.34rem}:root{--factory-topbar-height: 164px;--factory-main-padding-x: 1rem;--factory-content-padding-x: 1rem}.factory-topbar,.factory-main,.factory-content{padding-left:1rem;padding-right:1rem}.factory-topbar{align-items:flex-start;flex-direction:column}.login-shell{grid-template-columns:1fr}.factory-date-pill,.factory-plant-switch{width:100%;justify-content:space-between}.detail-metric-grid,.detail-line-summary-grid,.detail-stamp-grid{grid-template-columns:1fr}.day-sheet-date-tabs{left:1rem;right:1rem}}.day-sheet-page{padding-bottom:2rem;min-height:100%;min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.day-sheet-frame{display:grid;gap:14px;min-width:0;max-width:100%;box-shadow:0 18px 40px #0f172a14}.day-sheet-header{display:grid;gap:12px;padding:16px;border-bottom:1px solid #c7d1dd;background:linear-gradient(180deg,#fff,#f8fafc)}.day-sheet-title-row,.day-sheet-summary-strip,.day-sheet-line-starts{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;min-width:0;max-width:100%}.day-sheet-title{margin:0 0 10px;font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.day-sheet-date-box{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;flex-wrap:wrap;padding:10px 14px;border:1px solid #94a3b8;background:#fff;font-size:.94rem;line-height:1.35}.day-sheet-date-value{font-size:1.2rem;font-weight:800;font-family:var(--app-font-family)}.day-sheet-header-actions{margin-left:auto;display:grid;gap:10px;justify-items:end}.day-sheet-action-group{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.day-sheet-text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:.5rem .9rem;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:6px;font-size:.84rem;font-weight:700;cursor:pointer;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.day-sheet-text-button:disabled{opacity:.6;cursor:not-allowed}.day-sheet-text-button:disabled[data-saving=all]{cursor:wait}.day-sheet-text-button.danger{border-color:#fecaca;color:#b91c1c;background:#fff1f2}.day-sheet-text-button.primary{border-color:#0f766e;color:#fff;background:#0f766e;box-shadow:0 1px 2px #0f766e2e}.day-sheet-text-button.primary:hover:not(:disabled){background:#0b675f;border-color:#0b675f}.day-sheet-text-button.link-button{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.day-sheet-text-button:disabled{opacity:.6}.day-sheet-summary-strip{border:1px solid #94a3b8;padding:0;gap:0;background:#fff;overflow:hidden}.day-sheet-summary-label,.day-sheet-summary-card,.day-sheet-stamp-box{min-height:72px}.day-sheet-summary-label{width:70px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;border-right:1px solid #94a3b8;background:#f8fafc;font-size:.72rem;font-weight:700}.day-sheet-summary-card{min-width:150px;display:grid;align-content:center;justify-items:center;padding:8px 14px;border-right:1px solid #94a3b8}.day-sheet-summary-card span{font-size:.7rem;color:#64748b}.day-sheet-summary-card strong{font-size:1.2rem;font-weight:800;font-family:var(--app-font-family)}.day-sheet-stamp-grid{margin-left:auto;display:flex}.day-sheet-stamp-box{width:72px;border-left:1px solid #94a3b8;display:flex;flex-direction:column}.day-sheet-stamp-label{padding:4px 6px;text-align:center;font-size:.68rem;font-weight:700;background:#f8fafc;border-bottom:1px solid #94a3b8}.day-sheet-line-starts{gap:10px}.day-sheet-start-cell{min-width:106px;display:grid;gap:6px;padding:10px;border:1px solid #94a3b8;background:#fff}.day-sheet-start-cell span{font-size:.78rem;font-weight:700;color:#475569}.day-sheet-start-cell strong{font-size:1rem;font-family:var(--app-font-family)}.day-sheet-start-cell input{border:0;border-bottom:2px solid #cbd5e1;border-radius:0;padding:.3rem 0;background:transparent}.day-sheet-table-wrap{overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:#fff;padding:10px;position:relative;margin:0;width:100%;box-sizing:border-box}.day-sheet-table{width:max(100%,1360px);min-width:1360px;border-collapse:separate;border-spacing:0;table-layout:fixed;overflow:visible}.day-sheet-table-wrap.inside-timeline .day-sheet-table{width:max(100%,1520px);min-width:1520px}.day-sheet-table-wrap.inside-timeline .day-sheet-table select.adj-input{--dropdown-arrow-size: 12px;--dropdown-arrow-gap: 3px;min-width:0;padding-left:2px!important;padding-right:18px!important;text-align:center;text-align-last:center;background-position:right 3px center;line-height:1.2}.day-sheet-table th,.day-sheet-table td{border-right:1px solid #94a3b8;border-bottom:1px solid #94a3b8;padding:2px 3px;font-size:11px;height:24px;color:#000;box-sizing:border-box}.day-sheet-table{border-top:1px solid #94a3b8;border-left:1px solid #94a3b8}.day-sheet-table th{background:#f8fafc;text-align:center;font-weight:700;line-height:1.15;color:#000}.day-sheet-table tbody tr:nth-child(odd){background:#fffefb}.day-sheet-table tbody tr.has-item{background:#fef9c340}.day-sheet-table tbody tr.has-data-row{background:#fdfae5!important}.day-sheet-table td{color:#000;overflow:hidden;text-overflow:clip;white-space:nowrap}.day-sheet-table tfoot td{background:#f1f5f9;font-weight:800;color:#000}.day-sheet-table tfoot tr.auxiliary-active-row td{background:#d8f5e0!important}.day-sheet-table tfoot tr.auxiliary-row td{font-weight:500;background:inherit}.day-sheet-table tfoot tr.auxiliary-row td.sticky-col{background:inherit}.day-sheet-table tfoot tr.auxiliary-row.auxiliary-active-row td,.day-sheet-table tfoot tr.auxiliary-row.auxiliary-active-row td.auxiliary-name-cell,.day-sheet-table tfoot tr.auxiliary-row.auxiliary-active-row td.auxiliary-name-cell .product-search-select,.day-sheet-table tfoot tr.auxiliary-row.auxiliary-active-row td.auxiliary-name-cell .product-search-select input{background:#c9e9d3!important}.day-sheet-table tfoot tr.auxiliary-row.auxiliary-empty-row td{background:inherit!important}.day-sheet-table tfoot tr.auxiliary-row td.auxiliary-name-cell{overflow:visible;background:inherit!important}.day-sheet-table tfoot tr.auxiliary-row.auxiliary-empty-row td.auxiliary-name-cell,.day-sheet-table tfoot tr.auxiliary-row.auxiliary-empty-row td.auxiliary-name-cell .product-search-select,.day-sheet-table tfoot tr.auxiliary-row.auxiliary-empty-row td.auxiliary-name-cell .product-search-select input{background:var(--input-bg)!important}.day-sheet-table tfoot tr.auxiliary-row td.auxiliary-name-cell .product-search-select input{background:transparent}.day-sheet-table td.center{text-align:center}.day-sheet-table td.right{text-align:right}.day-sheet-table td.strong{font-weight:800}.day-sheet-table .mono{font-family:var(--app-font-family)}.day-sheet-table .col-id{width:var(--sticky-id-width)!important}.day-sheet-table .col-name{width:var(--sticky-name-width)!important}.day-sheet-table .sticky-col{position:sticky;z-index:3;overflow:visible;background-clip:padding-box}.day-sheet-table th.sticky-col{z-index:6;background:#f8fafc;background-clip:padding-box}.day-sheet-table .sticky-col-id{left:0;width:var(--sticky-id-width)!important;min-width:var(--sticky-id-width)!important;max-width:var(--sticky-id-width)!important;text-overflow:ellipsis;white-space:nowrap}.day-sheet-table .sticky-col-id,.day-sheet-table .sticky-col-name{position:sticky}.day-sheet-table .sticky-col-name:after,.day-sheet-table tfoot td.sticky-summary-cell:after{content:"";position:absolute;top:-1px;bottom:-1px;width:2px;right:-2px;background:#94a3b8;pointer-events:none;z-index:9}.day-sheet-table .sticky-col-id:after,.day-sheet-table .sticky-col-name:before{content:"";position:absolute;top:-1px;bottom:-1px;width:1px;left:-1px;background:#94a3b8;pointer-events:none;z-index:9}.day-sheet-table .sticky-col-id:after{left:auto;right:-1px}.day-sheet-table .sticky-col-name{left:var(--sticky-id-width)!important;width:var(--sticky-name-width)!important;min-width:var(--sticky-name-width)!important;max-width:var(--sticky-name-width)!important;text-overflow:ellipsis;white-space:nowrap}.day-sheet-table tbody td.sticky-col{background:#fff}.day-sheet-table tbody tr:nth-child(odd) td.sticky-col{background:#fffefb}.day-sheet-table tbody tr.has-item td.sticky-col{background:#fff7d8}.day-sheet-table tbody tr.has-data-row td.sticky-col{background:#fdfae5!important}.day-sheet-table tbody tr.next-editable-row td{background:var(--input-bg)}.day-sheet-table tbody tr.next-editable-row td.sticky-col,.day-sheet-table tbody td.sticky-col.editable-name-cell,.day-sheet-table tbody td.sticky-col.editable-name-cell .product-search-select,.day-sheet-table tbody td.sticky-col.editable-name-cell .product-search-select input{background:var(--input-bg)!important}.day-sheet-table tbody td.sticky-col.disabled-name-cell .product-search-select,.day-sheet-table tbody td.sticky-col.disabled-name-cell .product-search-select input,.day-sheet-table input:disabled{background:transparent!important}.day-sheet-table tfoot td.sticky-col{position:sticky;left:0;z-index:5;background:#f1f5f9}.day-sheet-table tfoot td.sticky-summary-cell{width:calc(var(--sticky-id-width) + var(--sticky-name-width))!important;min-width:calc(var(--sticky-id-width) + var(--sticky-name-width))!important;max-width:calc(var(--sticky-id-width) + var(--sticky-name-width))!important;overflow:visible}.day-sheet-table .col-line{width:50px}.day-sheet-table .col-num{width:48px}.day-sheet-table .col-allergen{width:70px}.day-sheet-table .col-batch{width:42px}.day-sheet-table .col-kl{width:76px}.day-sheet-table .col-pack{width:40px}.day-sheet-table .col-text{width:116px}.day-sheet-table .col-rate{width:56px}.day-sheet-table .col-amount{width:78px}.day-sheet-table .col-pallet{width:36px}.day-sheet-table .col-soy{width:58px}.day-sheet-table input,.day-sheet-table select{width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:0;padding:2px 0;background:transparent;border-bottom:1px solid transparent;border-radius:0;overflow:hidden;text-overflow:clip;white-space:nowrap}.day-sheet-table input{text-align:left}.day-sheet-table input[type=number]{text-align:left;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.day-sheet-table input[type=number]::-webkit-outer-spin-button,.day-sheet-table input[type=number]::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.day-sheet-table input:disabled{text-align:center}.day-sheet-table .product-search-select input,.day-sheet-table .auxiliary-name-cell input{text-align:left}.day-sheet-table input:focus,.day-sheet-table select:focus{outline:none;border-bottom-color:#4e5e81;background:#d8e2ff4d}.product-search-select{position:relative;overflow:visible}.product-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;max-height:min(420px,60vh);overflow:auto;border:1px solid #94a3b8;background:#fff;box-shadow:0 12px 24px #0f172a24;overscroll-behavior:contain}.product-search-dropdown.portal{position:fixed;right:auto;z-index:5000}.product-search-option{width:100%;display:grid;gap:2px;padding:8px 10px;border:0;border-bottom:1px solid #e2e8f0;background:#fff;text-align:left}.product-search-option:last-child{border-bottom:0}.product-search-option strong{font-size:11px;font-weight:700;color:#0f172a}.product-search-option span{font-size:10px;color:#64748b}.product-search-option:hover{background:#eff6ff}.product-search-option.active{background:#dbeafe}.day-sheet-table .col-adj{width:64px}.day-sheet-table .col-datetime{width:105px;min-width:105px}.day-sheet-table .mono{white-space:nowrap}.day-sheet-table .col-adj-end{width:64px}.day-sheet-table .col-group-adj{background:#edf2f7;color:#2d3748;font-weight:800;text-align:center}.day-sheet-table .adj-input{text-align:center;font-family:var(--app-font-family);font-size:11px;color:#000;font-weight:700}.day-sheet-table .adj-input:disabled{background:var(--input-bg);color:#000;opacity:1;-webkit-text-fill-color:#000000;cursor:not-allowed}.day-sheet-table .adj-input.first-switch-input:disabled{background:transparent;color:#000;opacity:1;-webkit-text-fill-color:#000000;cursor:not-allowed;border-bottom-color:transparent}.day-sheet-table .adj-input:focus{border-bottom:2px solid #3182ce}.day-sheet-table .calc-cell{background:var(--calc-bg)!important;color:#000}.day-sheet-table .input-cell{background:var(--input-bg)!important}.day-sheet-table .has-item .col-adj{background:inherit}.day-sheet-inline-error{border:1px solid #fca5a5;background:#fff1f2;color:#991b1b;padding:8px 10px;font-size:12px;font-weight:700}.admin-toast,.app-toast,.calendar-save-toast{position:fixed;right:24px;bottom:24px;z-index:1100;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:280px;max-width:min(420px,calc(100vw - 48px));padding:12px 14px;border-radius:12px;border:1px solid transparent;box-shadow:0 18px 34px #0f172a29;font-weight:700}.admin-toast span,.app-toast span,.calendar-save-toast .calendar-template-notice-message{line-height:1.45}.day-sheet-validation-toast{display:grid;gap:6px}.day-sheet-validation-toast ul{margin:0;padding-left:18px}.day-sheet-validation-toast li+li{margin-top:3px}.admin-toast-close,.app-toast-close{flex:0 0 auto;width:24px;height:24px;border:0;border-radius:999px;background:#0f172a14;color:inherit;cursor:pointer;font-size:1rem;line-height:1}.admin-toast-close:hover,.app-toast-close:hover{background:#0f172a24}.admin-toast.success,.app-toast.success,.calendar-save-toast.success{color:#166534;background:#f0fdf4;border-color:#bbebcc}.admin-toast.warning,.app-toast.warning,.app-toast.info,.calendar-save-toast.warning{color:#92400e;background:#fffbfb;border-color:#f2d18f}.admin-toast.error,.app-toast.error,.calendar-save-toast.error{color:var(--danger);background:#fff5f1;border-color:#efc6bb}.app-empty-state{display:grid;place-items:center;gap:.45rem;min-height:220px;padding:2.5rem 1.5rem;border:1px dashed rgba(100,116,139,.32);border-radius:16px;background:linear-gradient(180deg,#f8fafceb,#f1f5f9d1);color:#64748b;text-align:center}.app-empty-state strong{color:#334155;font-size:1.05rem;font-weight:900}.app-empty-state span{font-size:.9rem;font-weight:700}.app-empty-state.error{color:var(--danger);border-color:#efc6bb;background:#fff5f1}.day-sheet-subtitle{margin:0;padding:0 0 10px;font-size:.95rem;font-weight:800;color:#334155}.day-sheet-header-grid{display:grid;grid-template-columns:260px minmax(0,1fr) 116px;gap:16px;align-items:start}.header-zone-left{display:flex;flex-direction:column;gap:8px;padding:2px}.calendar-back-link{display:inline-flex;align-items:center;gap:5px;width:fit-content;min-height:28px;padding:3px 2px;border:0;background:transparent;color:#475569;font-size:.82rem;font-weight:700;line-height:1;text-decoration:none}.calendar-back-link:hover{color:#0f766e;text-decoration:underline;text-underline-offset:3px}.calendar-back-link svg{flex:0 0 auto}.header-zone-center{display:flex;justify-content:center;align-items:center;gap:12px}.excel-header-tables{display:flex;align-items:stretch;gap:8px}.excel-cumulative-box{display:flex;border:1px solid #111827;background:#fff;flex-shrink:0}.excel-cumulative-label{width:46px;padding:4px 6px;border-right:1px dotted #111827;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15}.excel-cumulative-content{display:flex}.excel-cumulative-col{width:108px;min-width:108px;padding:2px 10px 4px;text-align:center;border-right:1px dotted #111827}.excel-cumulative-col:last-child{border-right:0}.excel-cumulative-head{font-size:10px;color:#111827;margin-bottom:2px;padding-bottom:2px;border-bottom:1px dotted #111827}.excel-cumulative-val{font-size:1.1rem;font-weight:800;font-family:var(--app-font-family);line-height:1.2}.excel-cumulative-subval{margin-top:4px;padding-top:4px;border-top:1px dotted #111827;font-size:10px;text-align:center}.excel-stamp-group{display:grid;grid-template-columns:repeat(3,minmax(72px,1fr));gap:0;border:1px solid #111827;background:#fff;width:min(100%,330px);overflow:visible}.excel-stamp-box{width:100%;min-width:0;min-height:87px;display:flex;flex-direction:column;border-right:1px dotted #111827;background:#fff}.excel-stamp-box-shell{flex:1 1 0;min-width:0;display:flex}.has-rich-tooltip{position:relative}.has-rich-tooltip:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:80;width:max-content;max-width:min(320px,70vw);padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#0f172a;color:#fff;box-shadow:0 12px 28px #0f172a3d;font-size:12px;font-weight:600;line-height:1.5;text-align:left;white-space:pre-line;pointer-events:none;opacity:0;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease}.has-rich-tooltip:before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);z-index:81;width:10px;height:10px;background:#0f172a;transform:translate(-50%,4px) rotate(45deg);pointer-events:none;opacity:0;transition:opacity .12s ease,transform .12s ease}.has-rich-tooltip:hover:after,.has-rich-tooltip:hover:before,.has-rich-tooltip:focus-within:after,.has-rich-tooltip:focus-within:before,.has-rich-tooltip:focus:after,.has-rich-tooltip:focus:before{opacity:1;transform:translate(-50%)}button.excel-stamp-box{padding:0;border:0;cursor:pointer;text-align:left;font:inherit}button.excel-stamp-box:hover:not(:disabled){background:#f8fafc}button.excel-stamp-box:disabled{cursor:not-allowed;opacity:.72}button.excel-stamp-box.planning-blocked{background:#f8fafc}.excel-stamp-box:last-child{border-right:0}.excel-stamp-box-shell:last-child .excel-stamp-box{border-right:0}.excel-stamp-label{font-size:10px;padding:3px 4px;text-align:center;border-bottom:1px dotted #111827;font-weight:700}.excel-stamp-footer{flex:1;min-height:48px;display:grid;align-content:center;justify-items:center;gap:2px;padding:4px;font-size:10px;text-align:center;overflow:hidden}.excel-stamp-empty{color:#64748b;font-weight:700}.approval-stamp{--stamp-accent: #0f766e;display:grid;align-content:center;justify-items:center;gap:2px;width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden;padding:4px 4px 3px;color:var(--stamp-accent);border:1.5px solid var(--stamp-accent);font-weight:800;text-align:center}.approval-stamp.compact{padding:2px 3px 1px;gap:1px}.approval-stamp-rectangle{border-radius:6px;background:#fffffff2}.approval-stamp-circle{border-radius:9999px;background:#fffffff2}.approval-stamp-text{border-style:none none solid none;border-radius:0;background:transparent;padding-bottom:2px}.approval-stamp-name{width:100%;min-width:0;font-size:clamp(.6rem,1.8vw,.78rem);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.approval-stamp.compact .approval-stamp-name{font-size:clamp(.54rem,1.6vw,.7rem)}.approval-stamp-meta{width:100%;min-width:0;color:var(--stamp-accent);font-size:clamp(.48rem,1.3vw,.62rem);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.red-stamp-box{border:1.5px solid #ef4444;color:#ef4444;padding:6px 10px;text-align:center;border-radius:6px;font-weight:800;background:#ef44440d;min-width:150px;flex-shrink:0;align-self:center}.red-stamp-top{font-size:13px;border-bottom:1px solid #ef4444;margin-bottom:4px;padding-bottom:2px}.red-stamp-bottom{font-size:14px;font-family:var(--app-font-family);line-height:1.2}.approval-request-button{min-height:36px;align-self:center;border:1px solid #34d399;border-radius:6px;background:#fff;color:#047857;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;font-size:.78rem;font-weight:700;line-height:1;white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}.approval-request-button:hover:not(:disabled){border-color:#10b981;background:#ecfdf5;color:#065f46}.approval-request-button.secondary{border-color:#bfdbfe;color:#1d4ed8}.approval-request-button.secondary:hover:not(:disabled){border-color:#93c5fd;background:#eff6ff;color:#1e40af}.approval-request-button:disabled{cursor:wait;opacity:.72}.approval-request-button svg{flex:0 0 auto}.header-zone-right{display:flex;flex-direction:column;align-items:flex-end;gap:0}.action-row{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.mode-switch{display:flex;background:#f1f5f9;padding:2px;border-radius:8px;border:1px solid #cbd5e1}.mode-switch-btn{border:0;background:transparent;padding:6px 12px;border-radius:6px;color:#64748b;cursor:pointer;display:flex;align-items:center}.mode-switch-btn.active{background:#fff;color:#2563eb;box-shadow:0 1px 3px #0000001a}.action-save-row{display:flex;justify-content:flex-end;min-height:36px}.save-detail-button.hide{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px)}.save-detail-button.show{opacity:1;visibility:visible;transform:translateY(0)}.day-sheet-save-loading-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7000;display:grid;place-items:center;padding:1rem;background:#0f172a75}.day-sheet-save-loading-panel{display:grid;justify-items:center;gap:12px;width:min(320px,100%);padding:28px 24px;border:1px solid rgba(148,163,184,.36);border-radius:14px;background:#fffdf8;color:var(--text);box-shadow:0 18px 60px #00000038;text-align:center}.day-sheet-save-spinner{width:34px;height:34px;border:4px solid rgba(15,118,110,.18);border-top-color:#0f766e;border-radius:999px;animation:day-sheet-save-spin .8s linear infinite}.day-sheet-save-loading-panel strong{font-size:1rem;font-weight:900}.day-sheet-save-loading-panel span{color:#64748b;font-size:.86rem;font-weight:700}@keyframes day-sheet-save-spin{to{transform:rotate(360deg)}}.timeband-section{border-top:1px solid #c7d1dd;background:#fff;margin:0;padding:0}.timeband-plans{margin:0;padding:0}.timeband-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px 10px;border-bottom:1px solid #cbd5e1;background:#f8fafc}.timeband-header h2{margin:2px 0 0;font-size:1rem}.timeband-header-tools{display:grid;gap:0;justify-items:end}.timeband-start-inputs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.timeband-start-field{min-width:90px;display:grid;gap:4px;padding:8px 10px;border:1px solid #cbd5e1;background:#fff;width:90px}.timeband-start-field span{font-size:.7rem;font-weight:700;color:#64748b}.timeband-start-field input{text-align:center;width:100%;border:0;border-bottom:1px solid #94a3b8;border-radius:0;padding:.15rem 0;background:transparent;font-family:var(--app-font-family);font-size:.84rem;letter-spacing:.04em}.timeband-start-field input:focus{outline:none;border-bottom-color:#2563eb}.timeband-scroll{overflow:auto}.timeband-canvas{min-width:1520px;padding:16px;display:grid;gap:18px}.timeband-section-group{display:grid;gap:4px}.timeband-section-group.preprocessing-group{position:relative}.timeband-preprocessing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:#0f172a47;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:flex;align-items:center;justify-content:center;pointer-events:all}.timeband-preprocessing-card{min-width:180px;padding:12px 18px;border-radius:14px;background:#fffffff0;border:1px solid rgba(148,163,184,.45);box-shadow:0 14px 34px #0f172a2e;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;color:#0f172a}.timeband-preprocessing-spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(100,116,139,.22);border-top-color:#0f766e;animation:timeband-spin .8s linear infinite}@keyframes timeband-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.timeband-row-wrap{display:grid;gap:0}.timeband-row,.timeband-ruler{display:grid;grid-template-columns:120px 1fr;gap:12px}.timeband-row-label{padding:4px 10px;background:#f8fafc;border:1px solid #cbd5e1;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#475569}.timeband-row-label.align-left{justify-content:flex-start}.timeband-row-label.align-right{justify-content:flex-end}.timeband-track,.timeband-ruler-track{position:relative;margin-left:1.3%}.timeband-ruler{display:block;padding-left:132px}.timeband-track{min-height:36px;border-left:1px solid #94a3b8;background:#fff;overflow:hidden}.timeband-track.vtis{min-height:36px;background:#fbfdff}.timeband-track.fill{min-height:36px}.timeband-tick-major,.timeband-ruler-major,.timeband-tick-minor,.timeband-ruler-minor{position:absolute;width:1px}.timeband-tick-major{top:0;bottom:0;background:#4755692e}.timeband-tick-minor{top:0;bottom:0;background:#94a3b824}.timeband-row-label.runtime{font-size:.62rem;color:#94a3b8}.timeband-track.pre{min-height:36px}.timeband-track.vtis,.timeband-track.post{min-height:36px;background:#fbfdff}.timeband-track.runtime{min-height:12px;background:#fbfdff}.timeband-band{position:absolute;border:1px solid #94a3b8}.timeband-band.pre{top:4px;bottom:4px;background:#f59e0b;border-color:#d97706;border-radius:4px;box-shadow:0 1px 3px #0000000d}.timeband-band.runtime{top:0;bottom:0;opacity:.32;background-image:repeating-linear-gradient(135deg,transparent,transparent 1px,#64748b 1px,#64748b 2px);background-size:3px 3px;background-color:#f8fafc;border-color:transparent}.timeband-band.post{top:0;bottom:0;background-image:linear-gradient(#475569 .5px,transparent .5px),linear-gradient(90deg,#475569 .5px,transparent .5px);background-size:3px 3px;background-color:#fff;border-color:#334155}.timeband-band.fill{top:4px;bottom:4px;background-image:repeating-linear-gradient(135deg,transparent,transparent 1px,rgba(148,163,184,.2) 1px,rgba(148,163,184,.2) 2px);background-size:4px 4px;background-color:#f8fafc;box-shadow:0 1px 3px #0000000d;border-radius:4px;transition:all .2s}.timeband-band.fill:hover{background-color:#fff;z-index:10;box-shadow:0 4px 12px #0000001a}.timeband-inner-label{position:absolute;top:0;right:0;bottom:0;left:0;padding:2px 4px;display:flex;flex-direction:column;justify-content:center;gap:1px;color:#0f172a;overflow:hidden;line-height:1.1;pointer-events:none;background:#ffffffa6}.timeband-inner-label strong{font-size:10px;font-weight:800;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.timeband-inner-label .metrics{display:flex;gap:6px;font-size:9px;font-weight:600;white-space:nowrap}.timeband-inner-label .time-range{color:#475569}.timeband-band.first{box-shadow:inset 0 0 0 1px #111827}.timeband-vtis-marker{position:absolute;top:0;bottom:0;width:1px;background:#111827}.timeband-vtis-marker span{position:absolute;top:2px;left:6px;font-size:8px;font-weight:700;color:#111827;white-space:nowrap}.timeband-ruler-track{height:24px;border-top:1px solid #94a3b8}.timeband-ruler-major{top:0;height:8px;background:#475569}.timeband-ruler-major span{position:absolute;top:8px;left:50%;transform:translate(-50%);font-size:9px;font-family:var(--app-font-family);color:#475569}.timeband-ruler-minor{bottom:100%;height:4px;background:#94a3b8}.day-sheet-date-tabs{position:fixed;left:calc(var(--factory-main-padding-x) + var(--factory-content-padding-x));right:calc(var(--factory-main-padding-x) + var(--factory-content-padding-x));bottom:0;z-index:60;border:1px solid #cbd5e1;border-bottom:0;background:#f8fafcfa;box-shadow:0 -10px 24px #0f172a24;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;border-radius:8px 8px 0 0}.day-sheet-date-tabs:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;background:linear-gradient(180deg,#e9eef500,#e9eef5f0);pointer-events:none}.day-sheet-date-tabs-inner{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(52px,1fr);gap:0;min-width:max-content;width:100%}.day-sheet-date-tab{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:34px;padding:0 12px;border-right:1px solid #dbe3ec;color:#475569;background:transparent;border-top:3px solid transparent}.day-sheet-date-tab:last-child{border-right:0}.day-sheet-date-tab strong{font-size:.82rem;line-height:1}.day-sheet-date-tab.has-data{background:#ffffffd6}.day-sheet-date-tab.active{color:#1d4ed8;font-weight:800;background:#fff;border-top-color:#2563eb}.day-sheet-date-tab.is-empty{color:#94a3b8;background:#f1f5f9d1}@media (max-width: 1200px){.day-sheet-header-grid{grid-template-columns:1fr;gap:12px}.header-zone-center{justify-content:flex-start;flex-wrap:wrap}.excel-header-tables{flex-wrap:wrap}.header-zone-right,.action-row{align-items:flex-start}}@media (max-width: 900px){.day-sheet-header-grid{grid-template-columns:1fr}.header-zone-center{justify-content:flex-start;flex-wrap:wrap}.excel-header-tables{flex-wrap:wrap}.header-zone-right,.action-row{align-items:flex-start}.day-sheet-title-row,.day-sheet-summary-strip,.day-sheet-line-starts,.timeband-header{flex-direction:column}.day-sheet-header-actions,.day-sheet-action-group{width:100%;justify-items:stretch;justify-content:flex-start}.day-sheet-stamp-grid{margin-left:0}.timeband-header-tools,.timeband-start-inputs{width:100%;justify-items:stretch;justify-content:flex-start}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.react-datepicker-wrapper{display:inline-block}.react-datepicker{font-family:var(--app-font-family);border-radius:4px;border:1px solid var(--line);background:#fffdf8;box-shadow:var(--shadow);overflow:hidden}.react-datepicker__header{background:#f5efe3;border-bottom:1px solid var(--line);padding:12px 0}.react-datepicker__current-month{font-weight:800;color:var(--text)}.react-datepicker__month-container{padding:8px}.react-datepicker__month-wrapper{display:flex;justify-content:space-between}.react-datepicker__month-text{padding:8px 12px;margin:4px;border-radius:8px;font-weight:600;transition:all .2s ease}.react-datepicker__month-text:hover{background:#f2faf7!important;color:var(--accent)!important}.react-datepicker__month--selected,.react-datepicker__month--keyboard-selected{background-color:var(--accent)!important;color:#fff!important;border-radius:8px}.react-datepicker__navigation{top:14px}.react-datepicker__navigation-icon:before{border-color:var(--muted);border-width:2px 2px 0 0}.calendar-picker-container{position:relative;display:flex;align-items:center}.calendar-picker{padding-right:2.6rem!important;padding-left:.8rem!important;width:170px!important;cursor:pointer}.calendar-picker-icon{position:absolute;right:.8rem;left:auto;color:var(--muted);pointer-events:none;z-index:1}.react-datepicker-popper{z-index:9999!important}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before{border-color:var(--muted)!important;border-width:2px 2px 0 0!important}.react-datepicker__header__dropdown{margin-top:10px;margin-bottom:5px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select{margin:0 5px}.react-datepicker__year-select,.react-datepicker__month-select{padding:4px 8px;border-radius:6px;border:1px solid var(--line);background:#fff;font-weight:700;color:var(--text);cursor:pointer}.calendar-toolbar{position:relative;z-index:100!important;overflow:visible!important}.calendar-board{z-index:1}.react-datepicker{border-radius:4px!important}.react-datepicker__header{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.react-datepicker__header-custom{display:flex;justify-content:center;align-items:center;padding:0 40px;height:40px}.calendar-year-select{padding:4px 12px;border-radius:4px;border:1px solid var(--line);background:#fff;font-weight:800;color:var(--text);font-size:.95rem;cursor:pointer;outline:none}.calendar-year-select:hover{border-color:var(--accent)}.react-datepicker__header-custom .react-datepicker__navigation{top:6px}.day-boundary{border-left:2px solid var(--accent)!important;opacity:.8!important;z-index:10}.day-boundary-text{font-weight:700;color:var(--accent);background:#fffc;padding:0 4px;border-radius:4px}.admin-page{min-height:0;display:grid;grid-auto-rows:max-content;gap:16px;padding:0 0 24px;align-content:start;background:radial-gradient(circle at top left,rgba(47,111,95,.08),transparent 28%),radial-gradient(circle at top right,rgba(192,123,61,.1),transparent 30%),linear-gradient(180deg,#f7f3ecb8,#f0eadf6b)}.admin-page>*{width:100%;justify-self:stretch;align-self:start}.admin-page .card,.admin-page .panel{border:1px solid rgba(216,207,191,.72);background:#fffdf8eb;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-shell{display:grid;grid-template-columns:minmax(320px,360px) minmax(0,1fr);gap:16px;align-items:start}.admin-shell>*,.admin-dashboard>*{align-self:start}.admin-sidebar,.admin-list{padding:18px}.admin-sidebar{display:grid;gap:16px;position:sticky;top:16px;border-radius:18px;background:linear-gradient(180deg,#fffdf8fa,#f9f4ebf5)}.admin-sidebar-head,.admin-list-head,.admin-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-sidebar-title-group{display:grid;gap:8px}.admin-sidebar-head h2,.admin-list-head h2,.admin-modal-header h2{margin:0;font-size:1.6rem}.admin-filter-stack,.admin-search-form{display:grid;gap:12px}.admin-search-actions{display:flex;gap:10px;align-items:center}.admin-search-actions .admin-block-button{width:auto;flex:1 1 0}.admin-import-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-hidden-file{display:none}.admin-block-button{width:100%;justify-self:stretch;margin-left:0}.admin-list{display:grid;gap:14px;border-radius:18px;background:linear-gradient(180deg,#fffdf8fa,#f9f4ebf0)}.admin-dashboard{display:grid;gap:16px}.admin-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.admin-stat-card{display:grid;gap:8px;padding:18px;min-height:0;align-content:start}.admin-stat-card span,.admin-dashboard-row span{color:var(--muted);font-weight:700}.admin-stat-card strong{font-size:2rem}.admin-stat-card em,.admin-dashboard-row em{font-style:normal;color:var(--accent);font-weight:700}.admin-dashboard-list{display:grid;gap:12px;padding:18px;min-height:0}.admin-dashboard-list h3{margin:0}.admin-dashboard-row{display:grid;grid-template-columns:1fr auto minmax(160px,.7fr);gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.admin-list-head span{color:var(--muted);font-weight:700}.admin-table-list{display:grid;gap:12px;position:relative;min-height:0}.admin-empty-list{display:grid;place-items:center;gap:.45rem;min-height:220px;padding:2.5rem 1.5rem;border:1px dashed rgba(100,116,139,.32);border-radius:16px;background:linear-gradient(180deg,#f8fafceb,#f1f5f9d1);color:#64748b;text-align:center}.admin-empty-list strong{color:#334155;font-size:1.05rem;font-weight:900}.admin-empty-list span{font-size:.9rem;font-weight:700}.admin-list-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:10px;background:linear-gradient(180deg,#ffffff85,#ffffff61);color:var(--muted);font-weight:700;letter-spacing:.02em;pointer-events:none}.admin-row{display:grid;gap:6px;text-align:left;padding:14px 16px;border:1px solid rgba(153,168,189,.32);border-radius:16px;background:linear-gradient(180deg,#fffffffa,#f5f8fcfa);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.admin-row:hover{transform:translateY(-1px);box-shadow:0 12px 24px #0f172a1a;border-color:#2563eb38}.admin-row strong{font-size:1rem}.admin-row span,.admin-row em{font-style:normal;color:var(--muted)}.admin-row.active{border-color:#2563eb;background:#2563eb14}.admin-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.admin-status-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:.2rem .7rem;border-radius:999px;font-size:.76rem;font-weight:900;letter-spacing:.02em;white-space:nowrap}.admin-status-badge.is-active{background:#dcfce7;color:#166534;border:1px solid #86efac}.admin-status-badge.is-inactive{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.admin-status-badge.is-test{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.admin-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-meta-item{border:1px solid rgba(153,168,189,.32);border-radius:14px;background:linear-gradient(180deg,#fffffffa,#f5f8fcfa);padding:12px 14px;display:grid;gap:6px}.admin-meta-item span{color:var(--muted);font-size:.82rem;font-weight:700}.admin-meta-item strong{font-size:1rem;word-break:break-word}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;height:100dvh;background:#0f172a57;display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden;overscroll-behavior:contain;z-index:1000;animation:admin-modal-backdrop-enter .16s ease-out both}.admin-modal{width:min(760px,100%);max-height:min(calc(100vh - 40px),900px);max-height:min(calc(100dvh - 40px),900px);overflow:auto;overscroll-behavior:contain;padding:20px;display:grid;gap:16px;border-radius:20px;background:linear-gradient(180deg,#fffdf8fa,#f9f4ebf5);transform-origin:center;animation:admin-modal-panel-enter .18s cubic-bezier(.16,1,.3,1) both}@keyframes admin-modal-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes admin-modal-panel-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.admin-modal-backdrop,.admin-modal{animation:none}}.admin-modal-form{display:grid;gap:12px}.admin-modal-error{color:var(--danger);border:1px solid #efc6bb;background:#fff5f1;padding:.8rem .95rem;border-radius:10px;font-weight:700}.admin-modal-banner{padding:.8rem .95rem;border-radius:10px;border:1px solid transparent;font-weight:700;line-height:1.5}.admin-modal-banner.success{color:#166534;background:#f0fdf4;border-color:#bbebcc}.admin-modal-banner.warning{color:#92400e;background:#fffbeb;border-color:#f2d18f}.admin-modal-banner.error{color:var(--danger);background:#fff5f1;border-color:#efc6bb}.admin-modal-footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.admin-confirm-modal{width:min(460px,calc(100vw - 32px))}.admin-confirm-modal .admin-modal-header{border-bottom:0;padding-bottom:.75rem}.day-sheet-unsaved-modal{width:min(460px,calc(100vw - 32px))}.day-sheet-unsaved-modal .admin-modal-header{border-bottom:0;padding-bottom:.75rem}.day-sheet-approval-modal{width:min(900px,100%);background:#fff;border:1px solid rgba(153,168,189,.32);border-radius:18px;box-shadow:0 28px 80px #0f172a38;max-height:min(88vh,900px);overflow:auto}.approval-request-modal{width:min(980px,100%)}.approval-request-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.approval-request-context div{border:1px solid #d8e2f0;border-radius:12px;padding:12px 14px;background:#f8fafc}.approval-request-context span{display:block;color:#64748b;font-size:.78rem;font-weight:700}.approval-request-chain{border:1px solid #d8e2f0;border-radius:14px;overflow:hidden}.approval-request-chain-row{display:grid;grid-template-columns:70px 150px minmax(240px,1fr) 130px;align-items:center;gap:12px;padding:12px 14px;border-top:1px solid #e2e8f0}.approval-request-chain-row:first-child{border-top:0}.approval-request-chain-head{background:#f8fafc;color:#334155;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.approval-request-cell-field{display:flex;align-items:center;gap:8px}.approval-request-cell-field select,.approval-request-cell-field input{width:100%;min-height:38px;border:1px solid #cbd5e1;border-radius:10px;padding:0 10px;background:#fff;font:inherit}.approval-request-sla-field input{max-width:82px}.approval-request-chain-readonly .approval-request-chain-row{grid-template-columns:70px 150px minmax(260px,1fr) 170px}.approval-request-chain-readonly .approval-request-chain-row:not(.approval-request-chain-head){background:#fff}.approval-request-chain-readonly .approval-request-chain-row.status-active,.approval-request-chain-readonly .approval-request-chain-row.status-overdue{background:#f8fbff}.approval-request-chain-readonly .approval-request-chain-row.status-approved{background:#f0fdfa}.approval-request-chain-readonly .approval-request-chain-row.status-rejected{background:#fff1f2}.approval-request-step-status{display:block;margin-top:3px;color:#64748b;font-size:.78rem;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-modal-subtitle{margin:4px 0 0;color:var(--muted);font-size:.9rem}.day-sheet-approval-modal .admin-modal-header{align-items:center}.admin-form-field{display:grid;gap:6px}.admin-form-field span{font-weight:700;color:#334155}.admin-form-field input,.admin-form-field select,.admin-form-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:10px 12px;font:inherit}.day-sheet-approval-modal .admin-form-field select,.day-sheet-approval-modal .admin-form-field textarea{background:#fffdf8}.day-sheet-approval-summary{display:grid;gap:14px}.day-sheet-approval-summary-note{border:1px solid #c7e2d2;background:#f0fbf4;color:#14532d;border-radius:14px;padding:14px 16px;display:grid;gap:4px;line-height:1.5}.day-sheet-approval-summary-note strong{font-size:1rem}.day-sheet-approval-summary-note span{color:#166534}.day-sheet-approval-summary-note-muted{border-color:#d9e3ee;background:#f8fafc;color:#334155}.day-sheet-approval-summary-note-muted span{color:#475569}.day-sheet-approval-summary-card{border:1px solid #cbd5e1;background:#fff;border-radius:16px;padding:16px;display:grid;gap:14px}.day-sheet-approval-summary-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.day-sheet-approval-summary-head-right{display:grid;justify-items:end;gap:4px}.day-sheet-approval-summary-kicker{color:#64748b;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.day-sheet-approval-summary-title{font-size:1.15rem;font-weight:800;color:#0f172a}.day-sheet-approval-summary-date{color:#64748b;font-weight:600}.day-sheet-approval-summary-status{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:800}.day-sheet-approval-summary-status.is-approved{color:#0f766e;background:#ecfdf5;border:1px solid #a7f3d0}.day-sheet-approval-summary-status.is-reopened{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.day-sheet-approval-summary-body{display:grid;gap:14px}.day-sheet-approval-summary-grid{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.day-sheet-approval-summary-grid div{border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;background:#f8fafc}.day-sheet-approval-summary-grid dt{color:#64748b;font-size:.82rem;margin-bottom:4px}.day-sheet-approval-summary-grid dd{margin:0;font-weight:700;color:#0f172a;word-break:break-word}.day-sheet-approval-summary-comment{display:grid;gap:6px}.day-sheet-approval-summary-comment span{color:#64748b;font-size:.9rem;font-weight:700}.day-sheet-approval-summary-comment p{margin:0;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;background:#fffdf8;color:#334155;white-space:pre-wrap}.day-sheet-approval-history-title{font-weight:800;color:#0f172a}.day-sheet-approval-history{display:grid;gap:12px}.day-sheet-approval-history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.day-sheet-approval-history-toolbar-actions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.day-sheet-approval-history-input-group{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:#475569}.day-sheet-approval-history-input-group input{width:64px;min-width:64px;border:1px solid #cbd5e1;border-radius:10px;padding:.42rem .55rem;font-size:.85rem;font-weight:700;color:#0f172a;background:#fffdf7}.day-sheet-approval-history-count{font-size:.8rem;font-weight:700;color:#64748b}.day-sheet-history-toggle-button{border:1px solid #cbd5e1;background:#fff;color:#1e293b;border-radius:999px;padding:.45rem .85rem;font-size:.8rem;font-weight:700;transition:border-color .2s ease,color .2s ease,background .2s ease}.day-sheet-history-toggle-button:hover{border-color:#0f766e;color:#0f766e;background:#f0fdfa}.day-sheet-approval-history-list{display:grid;gap:10px}.day-sheet-approval-history-list.is-scrollable{max-height:min(46vh,520px);overflow-y:auto;padding-right:6px}.day-sheet-approval-history-item{border:1px solid #cbd5e1;background:#fff;border-radius:12px;padding:12px;display:grid;gap:8px}.day-sheet-approval-history-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.day-sheet-approval-history-meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:#475569;font-size:.9rem}.day-sheet-approval-comment{margin:0;color:#334155;white-space:pre-wrap}@media (max-width: 720px){.app-page-title-band{min-height:64px;padding:14px 18px}.app-page-title-band h1{font-size:1.34rem}.day-sheet-approval-summary-grid{grid-template-columns:1fr}.day-sheet-approval-summary-head-right{justify-items:start}}.icon-button{border:1px solid #cbd5e1;background:#fff;color:#334155;width:34px;height:34px;border-radius:10px;display:inline-grid;place-items:center;cursor:pointer}.admin-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a24}.admin-confirm{width:min(440px,100%);display:grid;gap:14px;padding:20px;border-radius:18px;background:linear-gradient(180deg,#fffdf8fa,#f9f4ebf5);box-shadow:var(--shadow)}.admin-confirm h3{margin:0;font-size:1.1rem}.admin-confirm p{margin:0;color:var(--muted);line-height:1.5}.admin-confirm-actions{display:flex;justify-content:flex-end;gap:10px}.admin-create-button{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-create-button-inline{width:fit-content;min-width:92px;padding-inline:1.05rem;min-height:42px;box-shadow:0 12px 20px #1b7a622e}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-radius:18px;min-height:0;background:#fffdf8e0;border:1px solid rgba(216,207,191,.72);box-shadow:var(--shadow)}.admin-header h1,.admin-panel h2{margin:0}.admin-header h1{line-height:1.08}.admin-copy{margin:8px 0 0;color:var(--muted)}.admin-header-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.admin-nav{display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:8px;flex-wrap:wrap;min-height:0;align-content:center}.admin-subnav{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 6px 6px}.admin-nav-button,.admin-refresh-button,.admin-submit{border:1px solid rgba(153,168,189,.35);border-radius:999px;background:#fff;padding:.55rem .95rem;font-weight:700;cursor:pointer}.admin-delete-button{border:1px solid #d7a397;border-radius:999px;background:#fff4f0;color:var(--danger);padding:.6rem 1rem;font-weight:700;cursor:pointer}.admin-delete-button:disabled{opacity:.6;cursor:not-allowed}.admin-nav-button.active{border-color:#2563eb;color:#2563eb;background:#2563eb14}.admin-subnav-button{border:1px solid transparent;border-radius:999px;background:transparent;color:#64748b;padding:.45rem .9rem;font-weight:800;cursor:pointer}.admin-subnav-button.active{border-color:#2563eb2e;color:#1d4ed8;background:linear-gradient(180deg,#f8fbff,#eff6ff)}.admin-refresh-button{margin-left:auto}.admin-panel,.admin-table,.admin-error,.admin-notice{padding:18px}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.admin-inline-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-status-toggle{display:grid;gap:4px;padding:8px 10px;border:1px solid rgba(153,168,189,.35);border-radius:12px;background:#f8fbff;min-width:156px}.admin-status-toggle-label{font-size:.72rem;font-weight:800;color:var(--muted);letter-spacing:.02em}.admin-status-toggle-control{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--text)}.admin-status-toggle-control input[type=checkbox]{width:16px;height:16px}.admin-inline-actions .admin-refresh-button{margin-left:0}.admin-panel-count{color:var(--muted);font-weight:700}.admin-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-section-header h3,.admin-section-header h4{margin:0}.admin-section-header p{margin:4px 0 0;color:var(--muted);font-size:.88rem}.admin-section-stack{display:grid;gap:14px}.admin-section-card{display:grid;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#ffffffc2}.admin-section-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-section-card-head h3{margin:0;font-size:1rem}.admin-section-card-head p{margin:4px 0 0;color:var(--muted);font-size:.88rem}.admin-required-label{display:inline-flex;align-items:baseline;gap:.25rem}.admin-required-label:after{content:"*";color:#dc2626;font-size:.95em;font-weight:900;line-height:1}.admin-add-row-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid #0f766e;border-radius:999px;background:linear-gradient(180deg,#0f766e,#0d5f59);color:#fff;padding:.55rem .95rem;font-weight:900;box-shadow:0 8px 18px #0f766e2e;cursor:pointer}.admin-add-row-button span{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;border-radius:999px;background:#ffffff38;font-size:.95rem;line-height:1}.admin-add-row-button:disabled{opacity:.62;cursor:not-allowed;box-shadow:none}.admin-yield-rate-table{display:grid;gap:8px}.admin-yield-rate-table-header,.admin-yield-rate-table-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px 12px;align-items:center}.admin-yield-rate-table-header{padding-right:8px}.admin-yield-rate-table-body{max-height:min(42vh,420px);overflow:auto;overscroll-behavior:contain;padding-right:8px;scrollbar-gutter:stable}.admin-yield-rate-table-head{color:var(--muted);font-size:.84rem;font-weight:700}.admin-yield-rate-row{display:contents}.admin-yield-rate-row input{width:100%}.admin-collapse-section{border:1px solid rgba(153,168,189,.32);border-radius:8px;background:#ffffffe0;overflow:hidden}.admin-collapse-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.admin-collapse-header:hover{background:#2563eb0f}.admin-collapse-header strong,.admin-collapse-description{display:block}.admin-collapse-header strong{font-size:.96rem}.admin-collapse-description{margin-top:4px;color:var(--muted);font-size:.84rem;font-weight:500}.admin-collapse-chevron{flex:0 0 auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(153,168,189,.35);border-radius:8px;background:#fff;color:var(--text);font-size:1rem;font-weight:700;line-height:1}.admin-collapse-body{display:grid;gap:14px;padding:0 16px 16px}.admin-assignment-list{display:grid;gap:12px}.admin-assignment-card{border:1px solid rgba(153,168,189,.35);border-radius:14px;background:#ffffffd1;overflow:hidden}.admin-assignment-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer}.admin-assignment-card-header:hover{background:#2563eb0d}.admin-assignment-card-summary{min-width:0;display:grid;gap:6px}.admin-assignment-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-assignment-card-title h4{margin:0;font-size:.98rem}.admin-assignment-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:#2563eb14;color:#1d4ed8;font-size:.76rem;font-weight:700}.admin-assignment-card-summary p{margin:0;color:var(--text);font-size:.9rem;word-break:break-word}.admin-assignment-card-actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.admin-assignment-remove{width:32px;height:32px;flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(220,38,38,.32);border-radius:999px;background:#fff5f5;color:#dc2626;line-height:1;cursor:pointer}.admin-assignment-remove:hover:not(:disabled){border-color:#dc26268c;background:#fee2e2;color:#b91c1c}.admin-assignment-remove:disabled{opacity:.55;cursor:not-allowed}.admin-assignment-card-body{display:grid;gap:12px;padding:0 16px 16px}.admin-assignment-card-body.has-open-role-picker{padding-bottom:168px}.admin-two-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-three-column-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-subheading{margin:0;font-size:.96rem;font-weight:800;color:var(--text)}.admin-form{display:grid;gap:12px}.admin-field{display:grid;gap:6px;position:relative}.admin-field span{font-size:.88rem;font-weight:700;color:var(--muted)}.admin-field input,.admin-field select,.admin-field textarea{width:100%;border:1px solid rgba(153,168,189,.35);border-radius:12px;background:#fff;padding:.75rem .9rem;color:var(--text)}.admin-field select,.admin-field input[type=checkbox],.admin-checkbox input[type=checkbox],.admin-checkbox,.calendar-scope-option input[type=checkbox],.calendar-scope-option,.approval-request-cell-field select,.day-sheet-table select,.calendar-template-type-row select,.day-sheet-date-tab,.calendar-mini-day,.admin-line-config-remove,.admin-multiselect-trigger,.admin-multiselect-option,.admin-line-config-toggle,.admin-status-toggle-control{cursor:pointer}.admin-field input[readonly]{background:#f6f3eb;color:var(--muted);cursor:not-allowed}.admin-field textarea{resize:vertical}.admin-multiselect{position:relative;display:grid;gap:8px}.admin-multiselect-trigger{min-height:46px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border:1px solid rgba(153,168,189,.35);border-radius:12px;background:#fff;color:var(--text)}.admin-multiselect-trigger:disabled{opacity:.65;cursor:not-allowed}.admin-multiselect-values{min-height:34px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-multiselect-placeholder,.admin-multiselect-loading{color:var(--muted);font-size:.92rem}.admin-multiselect-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid rgba(37,99,235,.18);border-radius:999px;background:#2563eb14;color:var(--text)}.admin-multiselect-chip span{color:var(--muted)}.admin-multiselect-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:80;display:grid;gap:6px;max-height:240px;overflow:auto;padding:10px;border:1px solid rgba(153,168,189,.35);border-radius:12px;background:#fff;box-shadow:0 18px 36px #41504624}.admin-multiselect-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:6px;border-top:1px solid rgba(153,168,189,.2)}.admin-multiselect-primary-button,.admin-multiselect-secondary-button{border-radius:999px;padding:.46rem .85rem;font-weight:800;cursor:pointer}.admin-multiselect-primary-button{border:1px solid var(--accent);background:var(--accent);color:#fff}.admin-multiselect-secondary-button{border:1px solid rgba(153,168,189,.35);background:#fff;color:var(--text)}.admin-multiselect-primary-button:disabled,.admin-multiselect-secondary-button:disabled{opacity:.6;cursor:not-allowed}.admin-role-multiselect .admin-multiselect-panel{min-height:132px;max-height:180px}.admin-multiselect-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer}.admin-multiselect-option:hover{background:#f5f9f7}.admin-multiselect-option.is-disabled{color:var(--muted);cursor:not-allowed;opacity:.72}.admin-multiselect-option.is-disabled:hover{background:transparent}.admin-multiselect-option em{font-style:normal;color:var(--muted);font-size:.85rem}.admin-checkbox{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text)}.admin-line-config-list{display:grid;gap:10px}.admin-line-config-row{display:grid;grid-template-columns:minmax(0,1fr) 88px auto auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(153,168,189,.32);border-radius:12px;background:linear-gradient(180deg,#fffffffa,#f5f8fcfa)}.admin-line-config-label{min-width:0}.admin-line-config-label strong{display:block;font-size:.96rem;word-break:break-word}.admin-line-config-order{gap:4px}.admin-line-config-order input{width:100%;padding:.62rem .55rem;text-align:center}.admin-line-config-toggle{align-self:center;white-space:nowrap}.admin-line-config-remove{width:32px;height:32px;flex:0 0 32px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(220,38,38,.32);border-radius:999px;background:#fff5f5;color:#dc2626;line-height:1}.admin-line-config-remove:hover:not(:disabled){border-color:#dc26268c;background:#fee2e2;color:#b91c1c}.admin-line-config-remove:disabled{opacity:.45;cursor:not-allowed}.admin-trash-icon{width:18px;height:18px;flex:0 0 18px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.admin-submit{justify-self:start;background:var(--accent);color:#fff;border-color:var(--accent)}.admin-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-weight:700}.admin-error{color:var(--danger);border-color:#efc6bb;background:#fff5f1}.admin-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#2563eb;border-color:#2563eb38;background:#2563eb14;font-weight:700}.admin-notice.success{color:#166534;border-color:#bbebcc;background:#f0fdf4}.admin-notice.warning{color:#92400e;border-color:#f2d18f;background:#fffbeb}.admin-notice.error{color:var(--danger);border-color:#efc6bb;background:#fff5f1}.admin-notice .admin-refresh-button{margin-left:0;white-space:nowrap}.calendar-approval-alert{color:#b91c1c;font-weight:800}.calendar-approval-alert.warning{color:#b45309}.approval-action-dashboard{display:grid;gap:18px;color:#102033;font-size:1.04rem}.approval-action-head,.approval-action-section-title,.approval-action-filters,.approval-action-buttons,.approval-action-legend{display:flex;align-items:center;gap:14px}.approval-action-head{justify-content:space-between}.approval-action-head h1,.approval-action-section-title h2{margin:0}.approval-action-section-title h2{color:#102033;font-size:1.32rem;line-height:1.25;font-weight:950}.approval-action-summary{display:inline-flex;align-items:center;justify-content:center;min-width:0;gap:8px;padding:6px 12px;border:1px solid rgba(15,118,110,.24);border-radius:999px;background:#ffffffdb;color:#315366;font-size:.86rem;font-weight:900;box-shadow:0 8px 18px #0f766e12}.approval-action-summary strong{color:#0f766e;font-size:1.12rem;line-height:1}.approval-action-panel{display:grid;gap:18px;padding:24px 28px;background:#fff;border:1px solid rgba(121,136,156,.18);box-shadow:0 10px 26px #1f2d3d0d}.approval-action-section-title{justify-content:space-between}.approval-action-section-title span,.approval-action-table td span,.approval-year-table td span{color:#40566c;font-size:.98rem;font-weight:700}.approval-action-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.approval-action-filters label{display:grid;gap:6px;min-width:220px;color:var(--muted);font-weight:700}.approval-action-filters select,.approval-action-filters input{border:1px solid rgba(121,136,156,.32);border-radius:8px;padding:.65rem .75rem;background:#fff;color:var(--text);font:inherit}.approval-year-mode{display:inline-flex;align-items:center;padding:4px;border:1px solid rgba(121,136,156,.28);border-radius:999px;background:#f8fafc;box-shadow:inset 0 1px #ffffffc7}.approval-year-mode button{min-height:44px;border:0;border-radius:999px;background:transparent;color:#496074;padding:.52rem 1.05rem;font:inherit;font-weight:900;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.approval-year-mode button.is-active{background:#0f766e;color:#fff;box-shadow:0 8px 18px #0f766e2e}.approval-year-mode button:hover:not(.is-active){background:#eef7f5;color:#0f766e}.approval-action-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border:1px solid rgba(121,136,156,.28);border-radius:999px;background:#fff;color:#1f2d3d;padding:.68rem 1.15rem;font-size:.98rem;font-weight:900;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.approval-action-button.is-primary{border-color:#0f766e73;background:#0f766e;color:#fff}.approval-action-button:hover:not(:disabled){border-color:#0f766e73;color:#0f766e;background:#f4fbf9}.approval-action-button.is-primary:hover:not(:disabled){background:#0d665e;color:#fff}.approval-action-button:disabled{cursor:not-allowed;opacity:.5}.approval-action-search-button,.approval-action-pagination button{border:1px solid rgba(121,136,156,.28);border-radius:999px;background:#fff;color:#1f2d3d;padding:.68rem 1.15rem;font-size:.98rem;font-weight:900;cursor:pointer}.approval-action-search-button{border-color:#0f766e73;background:#0f766e;color:#fff}.approval-action-pagination{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-weight:800}.approval-action-table-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}.approval-action-page-controls{display:flex;align-items:center;gap:10px}.approval-action-pagination button:disabled{cursor:not-allowed;opacity:.5}.approval-action-empty{border:1px dashed rgba(121,136,156,.34);border-radius:14px;background:#fbfcfd;color:#40566c;padding:28px;text-align:center;font-size:1.06rem;font-weight:800}.approval-action-table-wrap,.approval-year-table-wrap{overflow-x:auto}.approval-year-section .approval-year-table-wrap{border:1px solid rgba(121,136,156,.16);border-radius:14px;background:#fff;box-shadow:inset 0 1px #ffffffc7}.approval-factory-chips{display:flex;flex-wrap:wrap;gap:8px}.approval-factory-chips span{display:inline-flex;align-items:center;min-height:34px;border:1px solid rgba(15,118,110,.22);border-radius:999px;background:#f4fbf9;color:#0f766e;padding:.42rem .9rem;font-size:.98rem;font-weight:900}.approval-year-section{display:grid;gap:12px;border:1px solid rgba(121,136,156,.18);border-radius:18px;background:linear-gradient(135deg,#0f766e14,#ffffffd6 34%),#f8fafc;padding:14px;box-shadow:0 14px 34px #1f2d3d0f}.approval-year-section+.approval-year-section{margin-top:14px}.approval-year-section.is-collapsed{background:#fbfcfd}.approval-year-card-head{display:flex;align-items:center;justify-content:flex-start;gap:14px;flex-wrap:wrap}.approval-year-toggle,.approval-year-title{justify-self:start;margin:0;color:var(--text);font-size:1.14rem;font-weight:900}.approval-year-toggle{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(15,118,110,.28);border-radius:999px;background:#fff;padding:.56rem .95rem;cursor:pointer;box-shadow:0 8px 18px #0f766e14;transition:transform .15s ease,border-color .15s ease,color .15s ease,background .15s ease}.approval-year-toggle:hover{transform:translateY(-1px);border-color:#0f766e75;background:#f4fbf9;color:#0f766e}.approval-year-caret{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#e7f7f4;color:#0f766e;font-size:.76rem}.approval-action-table,.approval-year-table{width:100%;border-collapse:collapse;min-width:1120px}.approval-action-table{table-layout:fixed}.approval-year-section .approval-year-table{min-width:1080px;table-layout:fixed}.approval-action-col-factory{width:13%}.approval-action-col-month{width:12%}.approval-action-col-pending{width:13%}.approval-action-col-reason{width:42%}.approval-action-col-action{width:20%}.approval-action-table th,.approval-action-table td,.approval-year-table th,.approval-year-table td{border-bottom:1px solid rgba(168,150,120,.35);padding:14px 12px;text-align:left;vertical-align:middle;font-size:1rem}.approval-action-table th{color:#102033;font-weight:900}.approval-action-table tbody td,.approval-action-table tbody td strong{color:#102033;font-size:1rem;font-weight:800;line-height:1.45}.approval-action-table tbody td span{font-size:.95rem;font-weight:700;line-height:1.35}.approval-year-section .approval-year-table th{background:#fbfaf7;color:#243447;font-size:.98rem;font-weight:900}.approval-year-section .approval-year-table td{background:#fff}.approval-year-section .approval-year-table tbody tr:last-child td{border-bottom:0}.approval-action-table td:first-child,.approval-year-table td:first-child{display:grid;gap:4px}.approval-action-month-cell,.approval-action-pending-cell,.approval-action-table th:nth-child(2),.approval-action-table th:nth-child(3){white-space:nowrap}.approval-action-table td:nth-child(4){overflow-wrap:anywhere}.approval-action-table th:last-child,.approval-action-table td:last-child{text-align:center;white-space:nowrap}.approval-action-table td:last-child .approval-action-buttons{justify-content:center}.approval-year-table th:first-child,.approval-year-table td:first-child{width:140px}.approval-year-table th:not(:first-child),.approval-year-table td:not(:first-child){text-align:center;width:calc((100% - 140px) / 12);min-width:72px}.approval-action-status{display:inline-flex;width:fit-content;border-radius:999px;padding:.34rem .62rem;border:1px solid rgba(121,136,156,.32);background:#f8fafc;font-weight:800}.approval-action-dashboard{--approval-status-closed: #0f766e;--approval-status-closed-bg: #ecfdf5;--approval-status-closed-border: #99f6e4;--approval-status-pending: #2563eb;--approval-status-pending-bg: #eff6ff;--approval-status-pending-border: #bfdbfe;--approval-status-progress: #2563eb;--approval-status-progress-bg: #eff6ff;--approval-status-progress-border: #bfdbfe;--approval-status-overdue: #dc2626;--approval-status-overdue-bg: #fff1f2;--approval-status-overdue-border: #fecdd3;--approval-status-no-data: #94a3b8}.approval-action-status.is-approved,.approval-action-status.is-closed{color:var(--approval-status-closed);background:var(--approval-status-closed-bg);border-color:var(--approval-status-closed-border)}.approval-action-status.is-rejected,.approval-action-status.is-overdue{color:var(--approval-status-overdue);background:var(--approval-status-overdue-bg);border-color:var(--approval-status-overdue-border)}.approval-action-status.is-reopened,.approval-action-status.is-in-progress{color:var(--approval-status-progress);background:var(--approval-status-progress-bg);border-color:var(--approval-status-progress-border)}.approval-action-status.is-pending{color:var(--approval-status-pending);background:var(--approval-status-pending-bg);border-color:var(--approval-status-pending-border)}.excel-stamp-box.status-rejected{border-color:#b91c1c80;background:#fef2f299}.excel-stamp-box.status-pending.can-sign{border-color:#2563eb73;background:#eff6ffb3}.approval-action-buttons button,.approval-action-link-button{border:1px solid rgba(121,136,156,.28);border-radius:999px;background:#fff;color:#1f2d3d;padding:.58rem .98rem;font-size:.98rem;font-weight:800;cursor:pointer}.approval-action-buttons button.primary{border-color:#0f766e73;background:#0f766e;color:#fff}.approval-action-buttons button:disabled{cursor:wait;opacity:.68}.approval-action-legend{flex-wrap:wrap}.approval-action-legend span{display:inline-flex;align-items:center;gap:6px}.approval-action-legend i,.approval-month-dot:before{display:inline-block;width:12px;height:12px;border-radius:999px;content:""}.approval-action-legend .is-closed,.approval-month-dot.is-closed:before{background:var(--approval-status-closed)}.approval-action-legend .is-active,.approval-month-dot.is-active:before{background:var(--approval-status-progress)}.approval-action-legend .is-overdue,.approval-month-dot.is-overdue:before{background:var(--approval-status-overdue)}.approval-action-legend .is-no-data,.approval-month-dot.is-no-data:before{background:var(--approval-status-no-data)}.approval-month-dot{display:grid;place-items:center;width:34px;height:34px;margin:0 auto;border:1px solid rgba(121,136,156,.28);border-radius:999px;background:#fff;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.approval-month-dot:disabled{cursor:not-allowed;opacity:.45}.approval-month-dot:hover{transform:translateY(-1px)}.approval-month-dot.is-current{width:38px;height:38px;border-width:2px;border-color:#2563eb6b;box-shadow:0 0 0 4px #2563eb1a}.approval-month-dot span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.monthly-plan-page{display:grid;gap:14px;color:#172033}.monthly-plan-header,.monthly-plan-status-strip,.monthly-plan-workspace,.monthly-plan-chart-panel{border:1px solid rgba(121,136,156,.18);background:#fff;box-shadow:0 14px 34px #1f2d3d0f}.monthly-plan-header{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr) auto;gap:12px;align-items:end;padding:10px 14px}.monthly-plan-title-block{display:grid;gap:4px}.monthly-plan-kicker{margin:0;color:#b45309;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.monthly-plan-title-block h1,.monthly-plan-section-head h2{margin:0;color:#0f172a;font-size:1.12rem;line-height:1.2}.monthly-plan-filter-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:10px;align-items:end}.monthly-plan-filter-grid label{display:grid;gap:5px;min-width:0;color:#475569;font-size:.78rem;font-weight:900}.monthly-plan-filter-grid select,.monthly-plan-filter-grid input,.monthly-plan-month-picker{width:100%;min-height:38px;border:1px solid rgba(121,136,156,.28);border-radius:4px;background-color:#fff;color:#172033;padding:.5rem .68rem;font-weight:800;outline:none}.monthly-plan-filter-grid input:focus,.monthly-plan-filter-grid select:focus,.monthly-plan-month-picker:focus{border-color:#0f766e8c;box-shadow:0 0 0 3px #0f766e1a}.monthly-plan-filter-grid .react-datepicker-wrapper,.monthly-plan-filter-grid .react-datepicker__input-container{width:100%}.monthly-plan-datepicker-header{display:grid;grid-template-columns:34px 1fr 34px;gap:8px;align-items:center;padding:8px}.monthly-plan-datepicker-header button,.monthly-plan-datepicker-header select{min-height:32px;border:1px solid rgba(121,136,156,.28);border-radius:4px;background:#fff;color:#172033;font-weight:900}.monthly-plan-datepicker-header button:disabled{opacity:.45}.monthly-plan-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.monthly-plan-actions button{min-height:38px;border:1px solid rgba(121,136,156,.28);border-radius:4px;background:#fff;color:#1f2d3d;padding:.52rem .85rem;font-weight:900;cursor:pointer;white-space:nowrap}.monthly-plan-actions button.is-primary{border-color:#0f766e7a;background:#0f766e;color:#fff}.monthly-plan-status-strip{display:flex;align-items:center;min-height:42px;overflow-x:auto}.monthly-plan-kpi{display:inline-flex;align-items:baseline;gap:8px;min-height:42px;padding:8px 16px;border-right:1px solid rgba(121,136,156,.16);background:#fbfcfd;white-space:nowrap}.monthly-plan-kpi:last-child{border-right:0}.monthly-plan-kpi span{color:#64748b;font-size:.78rem;font-weight:800}.monthly-plan-kpi strong{color:#0f172a;font-size:.98rem;line-height:1.05;letter-spacing:0}.monthly-plan-kpi.is-plus strong{color:#047857}.monthly-plan-kpi.is-minus strong,.monthly-plan-kpi.is-alert strong{color:#dc2626}.monthly-plan-status-control{display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow-x:auto;border:1px solid rgba(121,136,156,.24);border-radius:999px;background:#f8fafc;padding:4px;box-shadow:inset 0 1px 2px #0f172a0a}.monthly-plan-status-tab{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:1px solid transparent;border-radius:999px;background:transparent;color:#475569;padding:.3rem .72rem;font-size:.82rem;font-weight:900;white-space:nowrap;cursor:pointer}.monthly-plan-status-tab.active{border-color:#0f766e;background:#0f766e;color:#fff;box-shadow:0 8px 18px #0f766e2e}.monthly-plan-status-tab:disabled{cursor:default;opacity:.9}.monthly-plan-workspace{display:block;min-height:620px;overflow:hidden}.monthly-plan-grid-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0}.monthly-plan-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid rgba(121,136,156,.16)}.monthly-plan-section-head>span{color:#475569;font-size:.85rem;font-weight:900;white-space:nowrap}.monthly-plan-table-wrap{position:relative;overflow:auto;max-height:68vh;background:linear-gradient(90deg,#fff,#fff0 22px),#fff}.monthly-plan-table-wrap.is-loading{min-height:420px}.monthly-plan-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#f8fafcc7;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.monthly-plan-loading-panel{display:grid;justify-items:center;gap:10px;width:min(320px,100%);padding:22px 20px;border:1px solid rgba(148,163,184,.36);border-radius:12px;background:#fff;box-shadow:0 16px 44px #0f172a24;text-align:center}.monthly-plan-loading-panel strong{color:#0f172a;font-size:.98rem;font-weight:900}.monthly-plan-loading-panel span{color:#64748b;font-size:.84rem;font-weight:700}.monthly-plan-master-error{border-bottom:1px solid rgba(220,38,38,.18);background:#fff1f2;color:#b91c1c;padding:8px 14px;font-size:.84rem;font-weight:800}.monthly-plan-master-error.is-info{border-bottom-color:#2563eb2e;background:#eff6ff;color:#1d4ed8}.monthly-plan-master-error.is-success{border-bottom-color:#0f766e2e;background:#ecfdf5;color:#0f766e}.monthly-plan-table{--monthly-plan-day-width: 60px;--monthly-plan-total-width: 120px;--monthly-plan-compare-pack-width: 72px;--monthly-plan-compare-kl-width: 72px;--monthly-plan-compare-diff-width: 72px;--monthly-plan-compare-group-width: calc(var(--monthly-plan-compare-pack-width) + var(--monthly-plan-compare-kl-width));--monthly-plan-compare-block-width: calc(var(--monthly-plan-compare-group-width) * 2 + var(--monthly-plan-compare-diff-width));width:100%;min-width:2580px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.82rem}.monthly-plan-table th,.monthly-plan-table td{border-right:1px solid #d6dde6;border-bottom:1px solid #d6dde6;padding:5px 6px;text-align:center;vertical-align:middle}.monthly-plan-table thead th{position:sticky;top:0;z-index:3;height:34px;background:#d9f7f2;color:#0f172a;font-weight:900;text-align:center;vertical-align:middle}.monthly-plan-table thead tr:nth-child(2) th{top:34px;background:#eef2f7;color:#475569;font-size:.72rem;text-align:center}.monthly-plan-table thead tr:first-child th,.monthly-plan-table thead tr:nth-child(2) th{padding-inline:0}.monthly-plan-table tbody th,.monthly-plan-table tbody td{height:46px;background:#fffbcc}.monthly-plan-table tbody tr:hover th,.monthly-plan-table tbody tr:hover td{background:#fff6a8}.monthly-plan-table .is-weekend{background:#e7ebf0!important}.monthly-plan-table .sticky-product{position:sticky;left:0;z-index:4;width:260px;min-width:260px;max-width:260px;text-align:left;box-shadow:1px 0 #94a3b8}.monthly-plan-table thead .sticky-product{z-index:5;background:#fff8b8;text-align:center}.monthly-plan-table thead .sticky-product.product-header-cell{padding:8px 10px}.monthly-plan-product-header{display:grid;gap:8px;width:100%}.monthly-plan-product-header-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.monthly-plan-product-header-top span{color:#0f172a;font-size:.9rem;font-weight:900}.monthly-plan-product-controls{display:grid;gap:6px}.monthly-plan-product-controls input,.monthly-plan-product-controls select{width:100%;min-width:0;min-height:30px;border:1px solid rgba(121,136,156,.28);border-radius:4px;background:#fffffff5;color:#0f172a;padding:.38rem .55rem;font:inherit;font-size:.74rem;font-weight:700;outline:none}.monthly-plan-product-controls input:focus,.monthly-plan-product-controls select:focus{border-color:#0f766e94;box-shadow:0 0 0 3px #0f766e1f}.monthly-plan-product-sort-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(121,136,156,.24);border-radius:4px;background:#ffffffeb;color:#334155;cursor:pointer;font-size:.82rem;font-weight:900;line-height:1}.monthly-plan-product-sort-button:hover,.monthly-plan-product-sort-button:focus-visible{border-color:#0f766e7a;background:#0f766e14;color:#0f766e}.monthly-plan-table .sticky-total{position:sticky;right:var(--monthly-plan-compare-block-width);z-index:4;width:var(--monthly-plan-total-width);min-width:var(--monthly-plan-total-width);max-width:var(--monthly-plan-total-width);background:#eefbc8;color:#0f172a;font-weight:900;text-align:center;box-shadow:-1px 0 #94a3b8}.monthly-plan-table thead .sticky-total{z-index:5;background:#f6f7c8;text-align:center;vertical-align:middle}.monthly-plan-table .sticky-compare{position:sticky;z-index:4;background:#e6f4f7;color:#0f172a;font-weight:800;text-align:center;box-shadow:none}.monthly-plan-table thead .sticky-compare{z-index:5;background:#d8eef4;text-align:center;font-size:.72rem;line-height:1.2;vertical-align:middle}.monthly-plan-table .compare-group-start,.monthly-plan-table thead .compare-current-group,.monthly-plan-table thead .compare-initial-group{border-left:2px solid #94a3b8}.monthly-plan-table thead .compare-current-pack,.monthly-plan-table thead .compare-initial-pack,.monthly-plan-table tbody .compare-current-pack,.monthly-plan-table tbody .compare-initial-pack,.monthly-plan-table tfoot .compare-current-pack,.monthly-plan-table tfoot .compare-initial-pack{border-left:0}.monthly-plan-table .compare-current-pack{right:calc(var(--monthly-plan-compare-diff-width) + var(--monthly-plan-compare-group-width) + var(--monthly-plan-compare-kl-width));width:var(--monthly-plan-compare-pack-width);min-width:var(--monthly-plan-compare-pack-width);max-width:var(--monthly-plan-compare-pack-width)}.monthly-plan-table .compare-current-kl{right:calc(var(--monthly-plan-compare-diff-width) + var(--monthly-plan-compare-group-width));width:var(--monthly-plan-compare-kl-width);min-width:var(--monthly-plan-compare-kl-width);max-width:var(--monthly-plan-compare-kl-width)}.monthly-plan-table .compare-current-group{right:calc(var(--monthly-plan-compare-diff-width) + var(--monthly-plan-compare-group-width));width:var(--monthly-plan-compare-group-width);min-width:var(--monthly-plan-compare-group-width);max-width:var(--monthly-plan-compare-group-width)}.monthly-plan-table .compare-initial-pack{right:calc(var(--monthly-plan-compare-diff-width) + var(--monthly-plan-compare-kl-width));width:var(--monthly-plan-compare-pack-width);min-width:var(--monthly-plan-compare-pack-width);max-width:var(--monthly-plan-compare-pack-width)}.monthly-plan-table .compare-initial-kl{right:var(--monthly-plan-compare-diff-width);width:var(--monthly-plan-compare-kl-width);min-width:var(--monthly-plan-compare-kl-width);max-width:var(--monthly-plan-compare-kl-width)}.monthly-plan-table .compare-initial-group{right:var(--monthly-plan-compare-diff-width);width:var(--monthly-plan-compare-group-width);min-width:var(--monthly-plan-compare-group-width);max-width:var(--monthly-plan-compare-group-width)}.monthly-plan-table .compare-diff{right:0;width:var(--monthly-plan-compare-diff-width);min-width:var(--monthly-plan-compare-diff-width);max-width:var(--monthly-plan-compare-diff-width)}.monthly-plan-table .sticky-compare.is-plus{color:#0f766e;font-weight:900}.monthly-plan-table .sticky-compare.is-minus{color:#dc2626;font-weight:900}.monthly-plan-reference-cell{display:inline-grid;justify-items:end;gap:2px;line-height:1.1}.monthly-plan-reference-cell>span{font-weight:900}.monthly-plan-reference-cell a{color:#2563eb;font-size:.68rem;font-weight:900;text-decoration:underline;text-underline-offset:2px}.monthly-plan-table tbody .sticky-product{display:grid;align-content:center;gap:3px;background:#fffbcc;line-height:1.2}.monthly-plan-table tbody .sticky-product span{color:#64748b;font-size:.75rem;font-weight:800}.monthly-plan-table tbody .sticky-product strong{overflow:hidden;color:#172033;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.monthly-plan-empty-row{height:72px;background:#fffef0;color:#64748b;font-weight:800;text-align:center}.monthly-plan-cell-button{display:block;width:100%;min-width:0;height:100%;min-height:34px;border:0;background:transparent;color:#172033;cursor:pointer;text-align:center;font:inherit;font-weight:800;outline:none;padding:0}.monthly-plan-cell-button:hover,.monthly-plan-cell-button:focus-visible{background:#0f766e1a;box-shadow:inset 0 0 0 2px #0f766e52}.monthly-plan-cell-button.is-edited{background:#2563eb1f;color:#1d4ed8;box-shadow:inset 0 -2px #2563eb8c}.monthly-plan-compare-input{width:100%;min-width:0;border:0;background:transparent;color:#0f172a;text-align:right;font:inherit;font-weight:800;padding:0;outline:none}.monthly-plan-compare-input:focus{background:#ffffffd9;box-shadow:inset 0 0 0 2px #0f766e47}.monthly-plan-compare-input:disabled{color:#64748b;cursor:not-allowed}.monthly-plan-initial-cell-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:34px;border:1px solid transparent;background:transparent;color:#0f172a;cursor:pointer;text-align:center;font:inherit;font-weight:800;padding:4px 6px}.monthly-plan-initial-cell-button:hover,.monthly-plan-initial-cell-button:focus-visible{background:#0f766e14;box-shadow:inset 0 0 0 2px #0f766e38}.monthly-plan-initial-cell-button.is-empty{justify-content:center;border-style:dashed;border-color:#2563eb47;color:#2563eb;font-size:.76rem;font-weight:900}.monthly-plan-initial-cell-button.is-empty:before{content:"+";margin-right:6px;font-size:.9rem;line-height:1}.monthly-plan-initial-cell-button.has-value{color:#0f172a}.monthly-plan-table tbody .sticky-total,.monthly-plan-table tbody .sticky-compare,.monthly-plan-table tfoot .sticky-total,.monthly-plan-table tfoot .sticky-compare{text-align:center}.monthly-plan-table thead th:not(.sticky-product):not(.sticky-total):not(.sticky-compare),.monthly-plan-table tbody td:not(.sticky-total):not(.sticky-compare),.monthly-plan-table tfoot td:not(.sticky-total):not(.sticky-compare){width:var(--monthly-plan-day-width);min-width:var(--monthly-plan-day-width);max-width:var(--monthly-plan-day-width);text-align:center;vertical-align:middle}.monthly-plan-compare-editor{display:grid;gap:4px}.monthly-plan-history-button{justify-self:end;border:0;background:transparent;color:#2563eb;cursor:pointer;font-size:.68rem;font-weight:900;padding:0;text-decoration:underline;text-underline-offset:2px}.monthly-plan-history-list{display:grid;gap:10px}.monthly-plan-history-empty{color:#64748b;font-weight:800}.monthly-plan-history-item{display:grid;gap:8px;border:1px solid rgba(121,136,156,.18);border-radius:6px;padding:12px;background:#fff}.monthly-plan-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.monthly-plan-history-head strong{color:#0f172a;font-size:.9rem}.monthly-plan-history-head span{color:#475569;font-size:.8rem;font-weight:800}.monthly-plan-history-grid{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:6px 10px;align-items:center;color:#0f172a;font-size:.86rem;font-weight:800}.monthly-plan-history-note{margin:0;color:#475569;font-size:.8rem;line-height:1.5}.monthly-plan-table tfoot th,.monthly-plan-table tfoot td{position:sticky;bottom:0;z-index:4;background:#ecfeff;color:#0f172a;font-weight:900}.monthly-plan-table tfoot .sticky-product,.monthly-plan-table tfoot .sticky-total,.monthly-plan-table tfoot .sticky-compare{z-index:6;background:#cffafe}.monthly-plan-chart-panel,.monthly-plan-validation-panel{display:grid;overflow:hidden}.monthly-plan-validation-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:14px;padding:14px 16px 16px}.monthly-plan-cumulative-card,.monthly-plan-daily-card{min-width:0;border:1px solid rgba(121,136,156,.18);border-radius:6px;background:#fff;overflow:hidden}.monthly-plan-validation-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(121,136,156,.14);background:#f8fafc}.monthly-plan-validation-card-head div{display:grid;gap:3px}.monthly-plan-validation-card-head strong{color:#0f172a;font-size:.92rem;font-weight:900}.monthly-plan-validation-card-head span{color:#64748b;font-size:.78rem;font-weight:800;white-space:nowrap}.monthly-plan-validation-card-head span.is-ok{color:#0f766e}.monthly-plan-validation-card-head span.is-warning{color:#dc2626}.monthly-plan-analytics-tabs{display:inline-flex;align-items:center;gap:4px;width:fit-content;max-width:calc(100% - 32px);margin:12px 16px 0;overflow-x:auto;border:1px solid rgba(121,136,156,.24);border-radius:999px;background:#f8fafc;padding:4px}.monthly-plan-analytics-tabs button{min-height:34px;border:1px solid transparent;border-radius:999px;background:transparent;color:#475569;padding:.42rem .9rem;cursor:pointer;font-weight:900;white-space:nowrap}.monthly-plan-analytics-tabs button.active{border-color:#0f766e;background:#0f766e;color:#fff}.monthly-plan-analytics-panel{margin:14px 16px 16px;overflow:hidden;border:1px solid rgba(121,136,156,.18);border-radius:6px;background:#fff}.monthly-plan-analytics-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;min-height:360px}.monthly-plan-analytics-chart-wrap{min-width:0;padding:14px;border-right:1px solid rgba(121,136,156,.14)}.monthly-plan-line-chart,.monthly-plan-stack-chart{display:block;width:100%;min-height:320px;background:repeating-linear-gradient(0deg,transparent 0 51px,rgba(148,163,184,.12) 52px),linear-gradient(180deg,#fff,#f8fafc)}.chart-grid-line{stroke:#e2e8f0;stroke-width:1}.chart-axis-line{stroke:#94a3b8;stroke-width:1.2}.chart-axis-label{fill:#64748b;font-size:9px;font-weight:800}.chart-axis-title{fill:#334155;font-size:10px;font-weight:900}.chart-family-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-target-line{opacity:.42;stroke-width:1.5;stroke-dasharray:6 5}.chart-stack-segment{opacity:.92}.chart-hover-band{fill:transparent;cursor:crosshair}.chart-hover-line{stroke:#334155;stroke-width:1;stroke-dasharray:4 4;pointer-events:none}.monthly-plan-analytics-side{display:grid;grid-template-rows:auto auto 1fr;gap:12px;min-width:0;padding:14px;background:#fbfcfd}.monthly-plan-analytics-legend{display:grid;gap:8px}.monthly-plan-analytics-legend h3,.monthly-plan-analytics-tooltip h3,.monthly-plan-analytics-summary h3{margin:0;color:#0f172a;font-size:.82rem;font-weight:900}.monthly-plan-analytics-legend button{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:34px;border:1px solid rgba(121,136,156,.18);border-radius:4px;background:#fff;color:#0f172a;cursor:pointer;padding:6px 8px;text-align:left}.monthly-plan-analytics-legend button.is-hidden{opacity:.45}.monthly-plan-analytics-legend i{width:10px;height:10px;border-radius:999px}.monthly-plan-analytics-legend span{overflow:hidden;font-size:.8rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.monthly-plan-analytics-legend strong{color:#475569;font-size:.75rem;font-weight:900}.monthly-plan-analytics-tooltip,.monthly-plan-analytics-summary{display:grid;gap:8px;border:1px solid rgba(121,136,156,.16);border-radius:6px;background:#fff;padding:10px}.monthly-plan-analytics-tooltip p{margin:0;color:#64748b;font-size:.78rem;font-weight:800;line-height:1.45}.monthly-plan-analytics-tooltip>strong{color:#0f172a;font-size:.86rem;font-weight:900}.monthly-plan-analytics-tooltip div,.monthly-plan-analytics-summary div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:baseline}.monthly-plan-analytics-tooltip span,.monthly-plan-analytics-summary span{overflow:hidden;color:#475569;font-size:.78rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.monthly-plan-analytics-tooltip strong,.monthly-plan-analytics-summary strong{color:#0f172a;font-size:.8rem;font-weight:900;white-space:nowrap}.monthly-plan-analytics-tooltip .is-total{margin-top:2px;border-top:1px solid rgba(121,136,156,.16);padding-top:8px}.monthly-plan-analytics-tooltip .is-total span,.monthly-plan-analytics-tooltip .is-total strong{color:#0f172a;font-weight:900}.monthly-plan-analytics-summary small{grid-column:1 / -1;color:#64748b;font-size:.72rem;font-weight:800}.monthly-plan-analytics-summary strong.is-over{color:#0f766e}.monthly-plan-analytics-summary strong.is-under{color:#dc2626}.monthly-plan-validation-table-wrap{overflow:auto;max-width:100%}.monthly-plan-validation-table{width:100%;min-width:1680px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.76rem}.monthly-plan-validation-table th,.monthly-plan-validation-table td{height:30px;border-right:1px solid #d6dde6;border-bottom:1px solid #d6dde6;padding:4px 6px;color:#0f172a;text-align:center;vertical-align:middle}.monthly-plan-validation-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc;font-weight:900}.monthly-plan-validation-table th:first-child,.monthly-plan-validation-table th:nth-child(2){position:sticky;z-index:3;text-align:left}.monthly-plan-validation-table th:first-child{left:0;width:68px;min-width:68px;max-width:68px}.monthly-plan-validation-table th:nth-child(2){left:68px;width:92px;min-width:92px;max-width:92px;box-shadow:1px 0 #94a3b8}.monthly-plan-validation-table thead th:first-child,.monthly-plan-validation-table thead th:nth-child(2){z-index:4;background:#f8fafc}.monthly-plan-validation-table .is-cumulative th,.monthly-plan-validation-table .is-cumulative td{background:#dff8f5}.monthly-plan-validation-table .is-daily th,.monthly-plan-validation-table .is-daily td{background:#fff9b8}.monthly-plan-validation-table .is-total th,.monthly-plan-validation-table .is-total td{background:#cffafe;font-weight:900}.monthly-plan-validation-table .monthly-plan-validation-spacer td{height:8px;padding:0;background:#fff;border-bottom:1px solid #94a3b8}.monthly-plan-cumulative-chart{padding:14px 14px 8px}.monthly-plan-cumulative-chart svg{display:block;width:100%;height:220px;background:repeating-linear-gradient(0deg,transparent 0 43px,rgba(148,163,184,.18) 44px),linear-gradient(180deg,#fff,#f8fafc)}.monthly-plan-cumulative-chart line{stroke:#cbd5e1;stroke-width:1}.monthly-plan-cumulative-chart polyline{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.monthly-plan-cumulative-legend{display:flex;flex-wrap:wrap;gap:8px 12px;padding:0 14px 14px}.monthly-plan-cumulative-legend span{display:inline-flex;align-items:center;gap:6px;color:#334155;font-size:.78rem;font-weight:800}.monthly-plan-cumulative-legend i{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.monthly-plan-cumulative-legend strong{color:#0f172a;font-weight:900}.monthly-plan-validation-empty{padding:28px 14px;color:#64748b;font-weight:800;text-align:center}.monthly-plan-load-chart{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;padding:14px 16px 16px}.monthly-plan-load-row{display:grid;grid-template-columns:32px minmax(0,1fr) 92px;gap:10px;align-items:center;min-width:0}.monthly-plan-load-day{display:inline-grid;place-items:center;width:28px;height:24px;border-radius:4px;background:#eef2f7;color:#475569;font-size:.78rem;font-weight:900}.monthly-plan-load-track{overflow:hidden;height:14px;border-radius:999px;background:#e2e8f0}.monthly-plan-load-bar{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f766e,#2563eb)}.monthly-plan-load-bar.is-heavy{background:linear-gradient(90deg,#dc2626,#f59e0b)}.monthly-plan-load-row strong{overflow:hidden;color:#172033;font-size:.82rem;font-weight:900;text-align:right;text-overflow:ellipsis;white-space:nowrap}.monthly-plan-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#0f172a57}.monthly-plan-modal{width:min(520px,100%);overflow:hidden;border:1px solid rgba(121,136,156,.24);border-radius:8px;background:#fff;box-shadow:0 24px 64px #0f172a3d}.monthly-plan-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid rgba(121,136,156,.18)}.monthly-plan-modal-header h2{margin:0;color:#0f172a;font-size:1.18rem;line-height:1.25}.monthly-plan-modal-header button{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgba(121,136,156,.24);border-radius:4px;background:#fff;color:#475569;cursor:pointer;font-size:1.25rem;font-weight:800}.monthly-plan-modal-body{display:grid;gap:16px;padding:18px 20px}.monthly-plan-modal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.monthly-plan-modal-history{display:grid;gap:10px;padding-top:4px}.monthly-plan-modal-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.monthly-plan-modal-history-head strong{color:#0f172a;font-size:.9rem}.monthly-plan-modal-history-head span{color:#64748b;font-size:.78rem;font-weight:900}.monthly-plan-modal-meta{display:grid;gap:8px;margin:0}.monthly-plan-modal-meta div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:baseline}.monthly-plan-modal-meta dt{color:#64748b;font-size:.78rem;font-weight:900}.monthly-plan-modal-meta dd{min-width:0;margin:0;color:#172033;font-weight:900}.monthly-plan-modal-meta a{color:#1d4ed8;text-decoration:underline;text-underline-offset:3px}.monthly-plan-modal-field{display:grid;gap:6px;color:#475569;font-size:.82rem;font-weight:900}.monthly-plan-modal-field input{width:100%;min-height:42px;border:1px solid rgba(121,136,156,.3);border-radius:4px;background:#fff;color:#0f172a;padding:.58rem .7rem;font:inherit;font-size:1rem;font-weight:900;outline:none}.monthly-plan-modal-field input:focus{border-color:#0f766e94;box-shadow:0 0 0 3px #0f766e1f}.monthly-plan-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid rgba(121,136,156,.18);background:#f8fafc}.monthly-plan-modal-footer button{min-height:38px;border:1px solid rgba(121,136,156,.28);border-radius:4px;background:#fff;color:#1f2d3d;padding:.52rem .85rem;cursor:pointer;font-weight:900}.monthly-plan-modal-footer button.is-primary{border-color:#0f766e7a;background:#0f766e;color:#fff}.monthly-plan-confirm-modal{position:fixed;top:50%;left:50%;z-index:81;width:min(460px,calc(100vw - 48px));overflow:hidden;border:1px solid rgba(121,136,156,.24);border-radius:8px;background:#fff;box-shadow:0 28px 72px #0f172a4d;transform:translate(-50%,-50%)}.monthly-plan-confirm-body{display:grid;gap:8px;padding:20px}.monthly-plan-confirm-body h2{margin:0;color:#0f172a;font-size:1.12rem}.monthly-plan-confirm-body p{margin:0;color:#475569;font-size:.9rem;font-weight:800;line-height:1.6}@media (max-width: 1120px){.monthly-plan-header{grid-template-columns:1fr;align-items:stretch}.monthly-plan-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-plan-actions{justify-content:flex-start}.monthly-plan-workspace{grid-template-columns:1fr}.monthly-plan-grid-panel{border-right:0;border-bottom:1px solid rgba(121,136,156,.18)}.admin-shell{grid-template-columns:1fr}.admin-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-sidebar{position:static}}@media (max-width: 720px){.app-page-title-band{min-height:64px;padding:14px 18px}.app-page-title-band h1{font-size:1.34rem}.monthly-plan-header,.monthly-plan-section-head{padding:12px}.monthly-plan-filter-grid,.monthly-plan-load-chart,.monthly-plan-validation-grid,.monthly-plan-analytics-body{grid-template-columns:1fr}.monthly-plan-analytics-chart-wrap{border-right:0;border-bottom:1px solid rgba(121,136,156,.14)}.monthly-plan-modal-form-grid{grid-template-columns:1fr}.monthly-plan-status-strip{align-items:stretch;flex-direction:column}.monthly-plan-status-control{width:100%}.monthly-plan-actions{display:grid;grid-template-columns:1fr}.monthly-plan-actions button{width:100%}.monthly-plan-kpi{min-height:0;border-right:0;border-bottom:1px solid rgba(121,136,156,.16)}.monthly-plan-kpi:last-child{border-bottom:0}.monthly-plan-table-wrap{max-height:62vh}.monthly-plan-load-row{grid-template-columns:30px minmax(0,1fr) 86px}.admin-header,.admin-nav{flex-direction:column;align-items:stretch}.admin-dashboard-grid,.admin-dashboard-row{grid-template-columns:1fr}.admin-pagination{flex-direction:column;align-items:stretch}.admin-meta-grid{grid-template-columns:1fr}.admin-line-config-row{grid-template-columns:1fr;align-items:stretch}.admin-line-config-toggle{align-self:flex-start}.admin-two-column-grid,.admin-three-column-grid{grid-template-columns:1fr}.admin-section-card-head{flex-direction:column;align-items:stretch}.admin-yield-rate-table-header,.admin-yield-rate-table-body{grid-template-columns:1fr}.admin-yield-rate-table-body{max-height:min(52vh,460px);padding-right:0}.admin-yield-rate-table-head{display:none}.admin-yield-rate-row{display:grid;grid-template-columns:1fr;gap:10px;padding:12px;border:1px solid rgba(143,129,109,.22);border-radius:12px;background:#ffffffe6}.admin-refresh-button{margin-left:0}.admin-notice{align-items:stretch;flex-direction:column}.approval-request-context,.approval-request-chain-row{grid-template-columns:1fr}.approval-request-chain-head{display:none}}select,.admin-multiselect-trigger{--dropdown-arrow-size: 14px;--dropdown-arrow-gap: 14px}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5' fill='none' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--dropdown-arrow-gap) center;background-size:var(--dropdown-arrow-size) var(--dropdown-arrow-size);padding-right:calc(var(--dropdown-arrow-gap) * 2 + var(--dropdown-arrow-size))!important}select:disabled{background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.admin-multiselect-trigger{position:relative;padding-right:calc(var(--dropdown-arrow-gap) * 2 + var(--dropdown-arrow-size))}.admin-multiselect-trigger:after{content:"";position:absolute;right:var(--dropdown-arrow-gap);top:50%;width:var(--dropdown-arrow-size);height:var(--dropdown-arrow-size);transform:translateY(-50%);background-color:#334155;pointer-events:none;mask:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat}.admin-multiselect-trigger:disabled:after{background-color:#94a3b8}.admin-multiselect-trigger>span:last-child{width:0;overflow:hidden;color:transparent}@media (max-width: 767.98px){.app-bg{padding:12px}.topbar{flex-direction:column;align-items:stretch;padding:14px 16px;gap:12px}.topbar>*{width:100%}.nav-row{flex-direction:column;align-items:stretch}.nav-row>*{width:100%}.factory-topbar{flex-direction:column;align-items:stretch;padding:.75rem 1rem}.factory-topbar-group,.factory-topbar-status,.factory-date-pill,.factory-plant-switch{width:100%;justify-content:flex-start}.factory-topbar-status{align-items:stretch}.factory-shell-subnav{padding-inline:.75rem}.factory-shell-subnav-inner,.factory-feature-menu,.factory-feature-tabs,.factory-subfeature-tabs{width:100%}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;top:auto}.admin-sidebar-head,.admin-list-head,.admin-modal-header{flex-direction:column;align-items:stretch}.admin-sidebar-head>*,.admin-list-head>*,.admin-modal-header>*{width:100%}.admin-panel-count{justify-self:flex-start}.admin-search-actions,.admin-import-actions{grid-template-columns:1fr;flex-direction:column}.admin-search-actions .admin-block-button,.admin-create-button-inline,.admin-block-button{width:100%}.admin-create-button-inline{min-width:0}.admin-modal{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);padding:14px}.admin-row{grid-template-columns:1fr}.admin-row-meta{justify-content:flex-start}.admin-table-list{gap:10px}.calendar-page{gap:8px}.calendar-toolbar{flex-direction:column;align-items:stretch;gap:10px}.calendar-toolbar-left,.calendar-toolbar-right,.calendar-nav{width:100%}.calendar-toolbar-right{align-items:stretch}.calendar-toolbar-right>*{width:100%}.calendar-board{overflow-x:auto;overflow-y:hidden}.calendar-weekdays,.calendar-grid{min-width:700px}.calendar-cell{min-height:96px;padding:6px}.day-sheet-page{padding-inline:0}.day-sheet-frame{gap:10px}.day-sheet-table-wrap{padding:8px}.day-sheet-table th,.day-sheet-table td{height:22px;padding:2px;font-size:10px}.day-sheet-table .sticky-col-id{width:50px!important;min-width:50px!important;max-width:50px!important}.day-sheet-table .sticky-col-name{left:50px!important;width:220px!important;min-width:220px!important;max-width:220px!important}.day-sheet-table tfoot td.sticky-summary-cell{width:270px!important;min-width:270px!important;max-width:270px!important}.day-sheet-header-grid{grid-template-columns:1fr;gap:12px}.header-zone-center,.header-zone-right,.action-row,.day-sheet-header-actions{width:100%;align-items:stretch}.header-zone-center{justify-content:flex-start}.excel-header-tables,.excel-cumulative-box,.excel-cumulative-content,.excel-stamp-group{width:100%}.excel-header-tables{flex-wrap:wrap}.excel-cumulative-col{width:auto;min-width:0;flex:1 1 0}.excel-stamp-group{grid-template-columns:repeat(3,minmax(0,1fr))}.day-sheet-table-wrap,.approval-action-table-wrap,.approval-year-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.approval-action-table,.approval-year-table{min-width:1120px}.day-sheet-approval-modal,.approval-request-modal{width:calc(100vw - 1rem)}.approval-action-head,.approval-action-section-title{align-items:flex-start;flex-direction:column}.approval-action-head{padding:20px}.approval-action-summary{width:auto;align-self:flex-start}.approval-action-panel{padding:20px}.approval-action-table-toolbar{flex-direction:column;align-items:stretch}.approval-action-page-controls{width:100%;justify-content:space-between}}@media (min-width: 768px){.factory-topbar{flex-direction:row;align-items:center}.factory-topbar-status{justify-content:flex-end;align-items:center}.admin-shell{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.admin-sidebar{position:sticky;top:16px}.calendar-toolbar{flex-direction:row;align-items:center}.calendar-toolbar-left,.calendar-toolbar-right,.calendar-nav{width:auto;align-items:center}.calendar-toolbar-right{flex-direction:row}.calendar-board{overflow:hidden}.calendar-weekdays,.calendar-grid{min-width:0}.calendar-cell{min-height:118px;padding:8px}.day-sheet-header-grid{grid-template-columns:240px minmax(0,1fr) 180px}.header-zone-center,.header-zone-right,.action-row,.day-sheet-header-actions{width:auto}.approval-action-table,.approval-year-table{min-width:0}}@media (min-width: 1200px){.admin-shell{grid-template-columns:minmax(320px,360px) minmax(0,1fr)}}.admin-page-title,.calendar-page-title,.approval-action-head.app-page-title-band,.monthly-plan-title-block.app-page-title-band{display:flex;align-items:center;min-height:74px;padding:16px 24px;border-radius:0}.admin-page-title h1,.calendar-page-title h1,.approval-action-head.app-page-title-band h1,.monthly-plan-title-block.app-page-title-band h1{margin:0;color:#0f2137;font-size:1.58rem;line-height:1.22;font-weight:950;letter-spacing:0}.admin-sidebar-head{align-items:center}.admin-list-head{justify-content:flex-end}@media (max-width: 720px){.app-page-title-band,.admin-page-title,.calendar-page-title,.approval-action-head.app-page-title-band,.monthly-plan-title-block.app-page-title-band{min-height:64px;padding:14px 18px}.app-page-title-band h1,.admin-page-title h1,.calendar-page-title h1,.approval-action-head.app-page-title-band h1,.monthly-plan-title-block.app-page-title-band h1{font-size:1.34rem}}.admin-page{background:transparent}.admin-page .card,.admin-page .panel,.admin-sidebar,.admin-list,.admin-dashboard-list,.admin-stat-card,.admin-modal,.admin-confirm,.admin-header{border:1px solid rgba(121,136,156,.18);background:#fff;box-shadow:0 14px 34px #1f2d3d0f;-webkit-backdrop-filter:none;backdrop-filter:none}.admin-sidebar,.admin-list{border-radius:18px}.admin-row,.admin-meta-item,.admin-line-config-row{border-color:#79889c38;background:#f8fafc}.admin-row:hover{border-color:#2563eb3d;background:#fff;box-shadow:0 10px 24px #1f2d3d14}.admin-empty-list,.admin-list-loading-overlay{background:#f8fafc}.admin-field-hint{color:#64748b;font-size:.78rem;font-weight:700;line-height:1.35}.admin-row,.admin-row>*,.admin-row-meta,.admin-meta-item,.admin-assignment-card-summary,.admin-assignment-card-title,.admin-dashboard-row,.admin-stat-card,.approval-action-table td,.approval-year-table td,.monthly-plan-product-header,.monthly-plan-table .sticky-product,.calendar-event,.calendar-event-title{min-width:0}.admin-row>strong,.admin-row>span:not(.admin-status-badge):not(.admin-row-meta),.admin-row>em,.admin-row-meta>span,.admin-meta-item strong,.admin-meta-item span,.admin-assignment-card-title strong,.admin-assignment-card-summary p,.admin-dashboard-row strong,.admin-dashboard-row span,.admin-dashboard-row em,.admin-stat-card strong,.admin-stat-card span,.admin-stat-card em,.monthly-plan-product-header span,.monthly-plan-table tbody .sticky-product strong,.monthly-plan-table tbody .sticky-product span,.calendar-event-title{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row-meta{overflow:hidden}select{--dropdown-arrow-size: 16px;--dropdown-arrow-gap: 14px;-moz-appearance:none!important;appearance:none!important;-webkit-appearance:none!important;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.25 7.25 10 12l4.75-4.75' fill='none' stroke='%23334155' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right var(--dropdown-arrow-gap) center!important;background-size:var(--dropdown-arrow-size) var(--dropdown-arrow-size)!important;padding-right:calc(var(--dropdown-arrow-gap) * 2 + var(--dropdown-arrow-size))!important}select:disabled{background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.25 7.25 10 12l4.75-4.75' fill='none' stroke='%2394a3b8' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}.admin-multiselect-trigger{--dropdown-arrow-size: 8px;--dropdown-arrow-gap: 16px;position:relative;padding-right:calc(var(--dropdown-arrow-gap) * 2 + var(--dropdown-arrow-size))!important}.admin-multiselect-trigger:after{content:"";position:absolute;right:var(--dropdown-arrow-gap);top:50%;width:var(--dropdown-arrow-size);height:var(--dropdown-arrow-size);border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-62%) rotate(45deg);opacity:.82;pointer-events:none;background:none;mask:none;-webkit-mask:none}.admin-multiselect-trigger:disabled:after{opacity:.45}.factory-main,.factory-content,.admin-page,.admin-shell,.admin-shell>*,.admin-sidebar,.admin-list,.admin-table-list,.admin-row,.approval-action-dashboard,.monthly-plan-page,.calendar-page{min-width:0;max-width:100%}.admin-page,.admin-shell,.admin-list,.admin-table-list{overflow-x:clip}.admin-shell{width:100%;grid-template-columns:minmax(260px,360px) minmax(0,1fr)}.admin-sidebar,.admin-list{box-sizing:border-box}.admin-list-head,.admin-sidebar-head,.admin-search-actions,.admin-import-actions,.admin-row-meta{min-width:0;max-width:100%}.admin-list-head>*,.admin-sidebar-head>*,.admin-search-actions>*,.admin-import-actions>*{min-width:0}@media (max-width: 900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;top:auto}}label.admin-field,label.admin-form-field,label.auth-field,label.monthly-plan-modal-field,label.approval-request-cell-field,label.day-sheet-approval-history-input-group,label.timeband-start-field{cursor:default;pointer-events:none}label.admin-field>span,label.admin-field>input,label.admin-field>select,label.admin-field>textarea,label.admin-field>.admin-multiselect,label.admin-field>.admin-field-hint,label.admin-form-field>span,label.admin-form-field>input,label.admin-form-field>select,label.admin-form-field>textarea,label.auth-field>span,label.auth-field>input,label.auth-field>.auth-password,label.monthly-plan-modal-field>span,label.monthly-plan-modal-field>input,label.approval-request-cell-field>span,label.approval-request-cell-field>input,label.approval-request-cell-field>select,label.day-sheet-approval-history-input-group>span,label.day-sheet-approval-history-input-group>input,label.timeband-start-field>span,label.timeband-start-field>input,label.timeband-start-field>select{pointer-events:auto}label.admin-field>span,label.admin-form-field>span,label.auth-field>span,label.monthly-plan-modal-field>span,label.approval-request-cell-field>span,label.day-sheet-approval-history-input-group>span,label.timeband-start-field>span{cursor:text}label.admin-field:has(select)>span,label.admin-field:has(.admin-multiselect-trigger)>span,label.admin-form-field:has(select)>span,label.approval-request-cell-field:has(select)>span,label.timeband-start-field:has(select)>span{cursor:pointer}.day-sheet-date-value,.day-sheet-summary-card strong,.day-sheet-start-cell strong,.day-sheet-table .mono,.day-sheet-table .adj-input,.excel-cumulative-val,.red-stamp-bottom,.timeband-start-field input,.timeband-ruler-major span{font-variant-numeric:tabular-nums}.monthly-plan-kpi strong,.monthly-plan-table tbody td,.monthly-plan-table tfoot td,.monthly-plan-cell-button,.monthly-plan-compare-input,.monthly-plan-initial-cell-button,.monthly-plan-table .sticky-total,.monthly-plan-table .sticky-compare{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}.monthly-plan-kpi strong{font-size:1rem;font-weight:800;letter-spacing:0}.monthly-plan-table tbody td{color:#12213a;font-size:.8rem;font-weight:700;line-height:1.15}.monthly-plan-cell-button{color:#102033;font-size:.82rem;font-weight:700;line-height:1.15;letter-spacing:0}.monthly-plan-table tbody .sticky-total,.monthly-plan-table tbody .sticky-compare,.monthly-plan-table tfoot .sticky-total,.monthly-plan-table tfoot .sticky-compare{color:#0b1f33;font-size:.82rem;font-weight:800;line-height:1.15;letter-spacing:0}.monthly-plan-table .compare-diff.is-plus,.monthly-plan-table .sticky-compare.is-plus{color:#04736c}.monthly-plan-table .compare-diff.is-minus,.monthly-plan-table .sticky-compare.is-minus{color:#b42318}.monthly-plan-compare-input{color:#102033;font-size:.8rem;font-weight:700;line-height:1.15;text-align:center}.monthly-plan-initial-cell-button{font-size:.8rem;font-weight:700;letter-spacing:0}.day-sheet-date-value,.day-sheet-summary-card strong,.day-sheet-start-cell strong,.day-sheet-table .mono,.day-sheet-table .adj-input,.excel-cumulative-val,.red-stamp-bottom,.timeband-start-field input,.timeband-ruler-major span,.monthly-plan-kpi strong,.monthly-plan-table tbody td,.monthly-plan-table tfoot td,.monthly-plan-cell-button,.monthly-plan-compare-input,.monthly-plan-initial-cell-button,.monthly-plan-table .sticky-total,.monthly-plan-table .sticky-compare,.chart-axis-label,.monthly-plan-analytics-legend strong,.monthly-plan-analytics-tooltip>strong,.monthly-plan-analytics-tooltip strong,.monthly-plan-analytics-summary strong,.monthly-plan-cumulative-legend strong,.monthly-plan-load-row strong{font-family:var(--numeric-font-family);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}.chart-axis-label{font-size:9px;font-weight:700}.monthly-plan-table tbody td,.monthly-plan-cell-button,.monthly-plan-compare-input,.monthly-plan-initial-cell-button{font-weight:700}.monthly-plan-table tbody .sticky-total,.monthly-plan-table tbody .sticky-compare,.monthly-plan-table tfoot .sticky-total,.monthly-plan-table tfoot .sticky-compare,.monthly-plan-kpi strong{font-weight:800}.monthly-plan-table-wrap{background:#fff}.monthly-plan-table th,.monthly-plan-table td{overflow:hidden;text-overflow:clip;white-space:nowrap}.monthly-plan-table thead th{background:#f8fafc;color:#0f172a}.monthly-plan-table thead tr:nth-child(2) th{background:#f3f6fa}.monthly-plan-table tbody th,.monthly-plan-table tbody td{background:#fff}.monthly-plan-table tbody tr:hover th,.monthly-plan-table tbody tr:hover td{background:#f8fafc}.monthly-plan-table .is-weekend{background:#f1f5f9!important}.monthly-plan-table thead .sticky-product,.monthly-plan-table tbody .sticky-product{background:#fafafa}.monthly-plan-table .sticky-total,.monthly-plan-table tfoot .sticky-total{background:#f7fee7}.monthly-plan-table thead .sticky-total{background:#f1f5e8}.monthly-plan-table .sticky-compare,.monthly-plan-table tfoot .sticky-compare{background:#f8fafc}.monthly-plan-table thead .sticky-compare{background:#edf2f7}.monthly-plan-table tfoot th,.monthly-plan-table tfoot td,.monthly-plan-table tfoot .sticky-product{background:#f1f5f9}.monthly-plan-cell-button,.monthly-plan-initial-cell-button{overflow:hidden;text-overflow:clip;white-space:nowrap}.monthly-plan-cell-button:hover,.monthly-plan-cell-button:focus-visible,.monthly-plan-initial-cell-button:hover,.monthly-plan-initial-cell-button:focus-visible{background:#eef6f4;box-shadow:inset 0 0 0 1px #0f766e47}.monthly-plan-initial-cell-button.is-empty{color:#1d4ed8;background:transparent}.monthly-plan-modal-field input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;text-align:left}.monthly-plan-modal-field input[type=number]::-webkit-outer-spin-button,.monthly-plan-modal-field input[type=number]::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.monthly-plan-unsaved-modal{width:min(460px,calc(100vw - 32px))}.monthly-plan-unsaved-modal .admin-modal-header{border-bottom:0;padding-bottom:.75rem}.approval-action-confirm-modal{width:min(480px,calc(100vw - 32px))}
