:root{--blue-900:#203e50;--blue-800:#356f8f;--blue-700:#285870;--blue-100:#eaf3f6;--sage-700:#356f52;--sage-100:#eef5f0;--cream:#f8f7f2;--white:#fff;--line:#dae5e9;--muted:#617683;--danger:#9f3030;--warning:#8a6417;--success:#356f52;--shadow:0 8px 28px #203e5014;--ui-primary:#356f8f}*{box-sizing:border-box}html{background:var(--cream);color:var(--blue-900)}body{background:var(--cream);margin:0;font-family:Arial,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit}.auth-shell{background:radial-gradient(circle at top left, #eef7fb, var(--cream) 52%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);width:min(470px,100%);box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:30px}.brand-lockup{align-items:center;gap:14px;margin-bottom:22px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg, var(--blue-800), var(--sage-700));border-radius:16px;place-items:center;width:58px;height:58px;font-weight:800;display:grid}.brand-lockup strong{font-size:20px;display:block}.brand-lockup small{color:var(--muted)}.form-stack{gap:16px;display:grid}label{gap:7px;font-size:14px;font-weight:700;display:grid}input,select,textarea{width:100%;min-height:46px;color:var(--blue-900);background:#fff;border:1px solid #b9ccd8;border-radius:10px;padding:10px 12px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #2f78a847}.button{min-height:46px;color:var(--blue-900);cursor:pointer;background:#fff;border:1px solid #b9ccd8;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:#f2f7fa}.button.primary{background:var(--blue-800);border-color:var(--blue-800);color:#fff}.button.primary:hover{background:#194f74}.button.danger{color:var(--danger);border-color:#e4bcbc}.button:disabled{opacity:.55;cursor:not-allowed}.error,.notice,.success{border-radius:10px;padding:11px 13px;font-size:14px;line-height:1.45}.error{color:var(--danger);background:#fff0f0;border:1px solid #efcaca}.notice{background:var(--blue-100);border:1px solid #c9dfec}.success{background:var(--sage-100);color:var(--success);border:1px solid #c9dfd1}.muted{color:var(--muted)}.small{font-size:13px}.app-shell{grid-template-columns:272px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:var(--blue-900);border-right:1px solid var(--line);background:#eaf3f6;height:100vh;padding:24px 16px;position:sticky;top:0;overflow:auto}.sidebar .brand-lockup{margin-bottom:26px}.sidebar .brand-mark{color:var(--blue-800);background:#fff;border:1px solid #e2e9e8}.nav-list{gap:5px;display:grid}.nav-link{color:#294f63;border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:12px;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{color:var(--blue-900);background:#f6fafb}.nav-link[data-current=true]{color:#285870;background:#fff;font-weight:700;box-shadow:0 2px 8px #203e500a}.sidebar-user{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.sidebar-user strong{display:block}.sidebar-user small{color:var(--muted);margin:4px 0 12px;display:block}.sidebar-user .button{width:100%;min-height:44px}.app-main{min-width:0;padding:24px 30px}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.page-heading h1{letter-spacing:-.5px;margin:0 0 5px;font-size:28px}.page-heading p{color:var(--muted);margin:0}.op-eyebrow{letter-spacing:1.5px;color:var(--blue-800);margin:0 0 8px;font-size:12px;font-weight:700}.op-welcome{background:#eaf3f6;border-color:#d6e6ed}.card.kpi b{color:var(--blue-900);margin-top:8px;font-size:30px;display:block}.production-badge{color:var(--success);white-space:nowrap;background:#e9f2ed;border:1px solid #c4ddcf;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}.grid{gap:16px;display:grid}.grid.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;box-shadow:0 3px 12px #1732470a}.card h2,.card h3{margin-top:0}.card-link{text-decoration:none;transition:transform .15s,box-shadow .15s}.card-link:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.status{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.status.ready{background:var(--sage-100);color:var(--success)}.status.building{color:var(--warning);background:#fff5d9}.status.danger{color:var(--danger);background:#fff0f0}.check-grid{border:0;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 14px;margin:0;padding:0;display:grid}.check-grid legend{margin-bottom:8px;font-size:14px;font-weight:700}.check-grid label{align-items:center;gap:8px;font-weight:400;display:flex}.check-grid input{width:20px;min-height:20px}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.details-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 18px;margin:0;display:grid}.details-list dt{color:var(--muted);font-size:12px}.details-list dd{margin:2px 0 0;font-weight:600}.history-list{gap:10px;display:grid}.history-list article{border-left:3px solid var(--line);padding-left:12px}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.scale-sheet{gap:14px;display:grid}.scale-sheet .sheet-title{text-align:center;color:var(--blue-900);font-weight:800}.scale-sheet .sheet-sub{text-align:center;color:var(--muted);font-size:13px}.scale-sheet h3{background:var(--blue-100);letter-spacing:.02em;border-radius:8px;margin:0;padding:7px 10px;font-size:13px}.scale-sheet table{min-width:640px}.scale-sheet td:first-child,.scale-sheet th:first-child{z-index:1;background:#f1f7fa;font-weight:700;position:sticky;left:0}.scale-sheet select{min-height:36px;margin-bottom:4px;padding:5px 8px;font-size:12px}.scale-sheet .slot-edited{border-color:var(--blue-800)}.scale-sheet .slot-duplicate{background:#fff5d9;border-color:#d6a419}.scale-sheet .slot-conflict{border-color:var(--danger);background:#fff0f0}.slot-extra{align-items:flex-start;gap:4px;display:flex}.link-button{color:var(--blue-800);cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:12px;font-weight:700}.library{grid-template-columns:250px minmax(0,1fr);gap:14px;display:grid}.folder-tree{align-content:start;gap:4px;display:grid}.folder-tree button{text-align:left;cursor:pointer;color:var(--blue-900);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;gap:8px;padding:8px 10px;display:flex}.folder-tree button[data-active=true]{background:var(--blue-100);border-color:#c9dfec;font-weight:700}@media (max-width:980px){.library{grid-template-columns:1fr}}.check-inline{align-items:center;gap:8px;font-weight:400;display:flex}.details-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0;display:grid}.details-grid dt{color:var(--muted,#5b6b7a);font-size:.82rem}.details-grid dd{margin:2px 0 0;font-weight:600}.check-inline input{width:20px;min-height:20px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.filters{grid-template-columns:1.5fr repeat(4,minmax(130px,.7fr));gap:10px;margin:16px 0;display:grid}.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:850px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e6eef3;padding:10px 12px;font-size:13px}th{color:#3d5d70;background:#f1f7fa;position:sticky;top:0}.pagination{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.audit-badge{background:var(--blue-100);border-radius:999px;padding:4px 7px;font-size:11px;font-weight:800;display:inline-flex}.upload-progress{background:#e4edf2;border-radius:999px;height:9px;overflow:hidden}.upload-progress span{background:var(--sage-700);height:100%;transition:width .2s;display:block}.qr{width:min(240px,100%);box-shadow:0 0 0 1px var(--line);border:12px solid #fff;margin:16px auto;display:block}@media (max-width:980px){.grid.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr 1fr}}@media (max-width:720px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.app-main{padding:16px}.page-heading{flex-direction:column}.grid.cards,.filters{grid-template-columns:1fr}.auth-card{border-radius:18px;padding:22px}input,select,textarea{font-size:16px}}@media print{.sidebar,.no-print{display:none!important}.app-shell{display:block}.app-main{padding:0}.card{box-shadow:none;border:0}}
