:root{--bg-admin:#eff4fb;--bg-display:#f8fafc;--primary:#1d4ed8;--accent:#0ea5e9;--text-main:#1e293b;--text-muted:#64748b;--glass:#ffffffe6;--critical:#ef4444;--success:#22c55e;--card-bg:#fff;--card-border:#e2e8f0}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;color:var(--text-main);background:radial-gradient(circle at 20% 0%, #dbeafe 0%, transparent 40%), radial-gradient(circle at 90% 80%, #e0f2fe 0%, transparent 35%), var(--bg-admin);font-family:Inter,system-ui,sans-serif}.admin-view{background:0 0;min-height:100vh;padding:1rem 2rem 8rem}.header-glass{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #dbe7f4;border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem 1.25rem;display:flex;box-shadow:0 8px 28px #0f172a14}.logo-section{align-items:center;gap:.75rem;display:flex}.logo-icon{color:var(--primary)}.logo-section h1{font-size:1.1rem;font-weight:900}.btn-save{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#0ea5e9);border:none;border-radius:16px;align-items:center;gap:.75rem;padding:.95rem 2.2rem;font-size:1rem;font-weight:900;transition:all .2s;display:flex}.btn-save:hover{filter:brightness(1.05);transform:translateY(-1px)scale(1.01)}.btn-icon{cursor:pointer;background:#fff;border:1px solid #d5e1ef;border-radius:16px;align-items:center;gap:.5rem;padding:.95rem 1.6rem;font-size:.98rem;font-weight:700;transition:all .2s;display:flex}.btn-icon:hover{border-color:#b9cfe8;box-shadow:0 6px 14px #1e293b14}.form-group input,.form-body select,.form-body input{color:#1f2937;background:#fff;border:1px solid #d5dfeb;border-radius:12px;outline:none;width:100%;padding:.65rem .85rem;font-weight:600;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-body select:focus,.form-body input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #2563eb29}.projection-container.dual-view{width:100vw;height:100dvh;min-height:100vh;color:var(--text-main);background:#fff;flex-direction:column;display:flex;overflow:hidden}.display-header.dual{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#ffffffeb;border-bottom:1px solid #d6e2ef;padding:.7rem 1rem;box-shadow:0 6px 16px #0f172a0d}.center-info h1{color:#334155;text-transform:uppercase;letter-spacing:1.5px;font-size:clamp(1rem,1.6vw,1.4rem);font-weight:950}.center-info p{opacity:.72;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95rem;font-weight:700}.dual-columns{background:#fff;flex:1;grid-template-columns:1fr 1fr;gap:6px;padding:6px;display:grid;overflow:hidden}.column{background:#fff;border:1px solid #e7edf5;border-radius:14px;flex-direction:column;min-height:0;padding:.58rem;display:flex;overflow:hidden;box-shadow:0 3px 10px #1e293b0a}.column.left{--column-accent:#ef5aa1;--column-accent-strong:#e64592;--column-chip:#f7dcea;border-top:4px solid #ef5aa1}.column.right{--column-accent:#23b7df;--column-accent-strong:#0fa9d4;--column-chip:#d9f7ff;border-top:4px solid #23b7df}.column-header{flex-direction:column;align-items:center;gap:.1rem;margin-bottom:.52rem;display:flex}.branch-badge{background:var(--column-chip,#bfdbfe);color:#52606f;text-align:center;letter-spacing:.35px;border:1px solid #94a3b82e;border-radius:999px;padding:.16rem .62rem;font-size:clamp(.64rem,.76vw,.74rem);font-weight:900;line-height:1;box-shadow:inset 0 1px #ffffff8c}.category-label{text-align:center;color:#2b3140;letter-spacing:0;text-shadow:0 1px #ffffffb3;font-size:2rem;font-weight:950;line-height:.92}.mode-pill{letter-spacing:0;border-radius:999px;padding:.1rem .4rem;font-size:.56rem;font-weight:900}.mode-pill.normal{color:#475569;background:#e2e8f0;border:1px solid #cbd5e1}.mode-pill.double{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;animation:1.8s infinite pulse-red}.items-scroll{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:68px;align-content:start;gap:.36rem;min-height:0;padding:.05rem;display:grid;overflow:hidden}.item-card-dual{border:1px solid color-mix(in srgb, var(--column-accent,#64748b) 30%, #fff);border-left:5px solid var(--column-accent,#64748b);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;min-width:0;height:100%;min-height:0;padding:.16rem .36rem;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 2px 8px #0f172a0d}.item-card-dual:hover{transform:translateY(-1px);box-shadow:0 6px 12px #0f172a14}.item-card-dual.needs{border-color:color-mix(in srgb, var(--column-accent,#d97706) 30%, #fff);border-left-color:var(--column-accent,#d97706);background:#fff}.item-card-dual.critical{border-color:color-mix(in srgb, var(--column-accent-strong,#dc2626) 36%, #fff);border-left-color:var(--column-accent-strong,#dc2626);background:#fff;box-shadow:0 3px 10px #0f172a14}.name-box{flex-direction:column;flex:1;justify-content:center;margin-right:.28rem;display:flex;overflow:hidden}.name-box .name{white-space:nowrap;text-overflow:ellipsis;color:#111827;letter-spacing:0;font-size:clamp(1.46rem,2.05vw,1.92rem);font-weight:950;line-height:.86;overflow:hidden}.name-box .sub{display:none}.value-box{text-align:right;min-width:54px}.needed-val .lab{display:none}.needed-val .num{color:#1e3a8a;text-shadow:0 1px #ffffffe6;font-size:clamp(2.02rem,2.62vw,2.48rem);font-weight:950;line-height:.8}.critical .needed-val .num{color:#1e3a8a}.ok-val{color:#059669;opacity:.52;font-size:1.1rem;font-weight:900}.empty-supply-state{color:#64748b;letter-spacing:.3px;background:#ffffffb8;border:1px dashed #cbd5e1;border-radius:14px;grid-column:1/-1;justify-content:center;align-items:center;min-height:100%;font-size:1rem;font-weight:900;display:flex}.display-footer{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.4px;background:#fffc;border-top:1px solid #dbe5f1;padding:.5rem .75rem;font-size:.65rem;font-weight:800}.sync-status{background:#eef4fb;border:1px solid #d5e1ef;border-radius:999px;align-items:center;gap:.45rem;padding:.25rem .6rem;display:inline-flex}.spin-slow{animation:3.2s linear infinite spin-slow}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.7}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.package-summary{border-top:1px solid #e2e8f0;gap:.32rem;margin-top:.3rem;padding:.3rem .05rem 0;display:flex}.pkg-stat{background:#f8fafc;border:1px solid #d5dee9;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;padding:.28rem .2rem;display:flex}.pkg-num{font-size:clamp(1.08rem,1.52vw,1.42rem);font-weight:950;line-height:1}.pkg-lbl{color:#475569;letter-spacing:.52px;text-transform:uppercase;margin-top:.08rem;font-size:.52rem;font-weight:900}.pkg-box{background:#eff6ff;border-color:#bfdbfe}.pkg-box .pkg-num{color:#1d4ed8}.pkg-loose{background:#fffbeb;border-color:#fde68a}.pkg-loose .pkg-num{color:#d97706}.pkg-total{background:#f0fdf4;border-color:#bbf7d0}.pkg-total .pkg-num{color:#059669}.column.compact .column-header{margin-bottom:.42rem}.column.compact .branch-badge{padding:.14rem .5rem;font-size:clamp(.58rem,.66vw,.66rem)}.column.compact .category-label{font-size:1.72rem}.column.compact .mode-pill{padding:.1rem .34rem;font-size:.5rem}.column.compact .items-scroll{grid-auto-rows:58px;gap:.3rem}.column.compact .item-card-dual{border-left-width:5px;padding:.12rem .3rem}.column.compact .name-box .name{font-size:clamp(1.26rem,1.58vw,1.52rem)}.column.compact .value-box{min-width:52px}.column.compact .needed-val .num{font-size:clamp(1.7rem,1.96vw,2rem)}.column.compact .package-summary{gap:.32rem;margin-top:.35rem;padding-top:.36rem}.column.compact .pkg-stat{padding:.32rem .2rem}.column.compact .pkg-num{font-size:clamp(1.05rem,1.4vw,1.35rem)}.column.compact .pkg-lbl{font-size:.54rem}.column.ultra-compact{padding:.5rem}.column.ultra-compact .column-header{gap:.12rem;margin-bottom:.36rem}.column.ultra-compact .branch-badge{padding:.12rem .42rem;font-size:clamp(.52rem,.58vw,.6rem)}.column.ultra-compact .category-label{font-size:1.38rem}.column.ultra-compact .mode-pill{padding:.08rem .28rem;font-size:.48rem}.column.ultra-compact .items-scroll{grid-auto-rows:46px;gap:.24rem}.column.ultra-compact .item-card-dual{border-left-width:4px;border-radius:10px;padding:.08rem .24rem}.column.ultra-compact .name-box{margin-right:.3rem}.column.ultra-compact .name-box .name{font-size:clamp(1.06rem,1.22vw,1.28rem)}.column.ultra-compact .value-box{min-width:48px}.column.ultra-compact .needed-val .num{font-size:clamp(1.44rem,1.56vw,1.68rem)}.column.ultra-compact .package-summary{gap:.24rem;margin-top:.24rem;padding-top:.24rem}.column.ultra-compact .pkg-stat{border-radius:8px;padding:.2rem .12rem}.column.ultra-compact .pkg-num{font-size:clamp(.88rem,1vw,1rem)}.column.ultra-compact .pkg-lbl{letter-spacing:.34px;font-size:.44rem}.loading-full-dual{width:100vw;height:100vh;color:var(--primary);letter-spacing:4px;background:#fff;justify-content:center;align-items:center;font-weight:900;display:flex}.empty-state{opacity:.2;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.empty-state p{margin-top:1rem;font-size:1.2rem;font-weight:900}.category-chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.5rem 1rem;font-size:.85rem;font-weight:800}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.toggle-group{background:#e2e8f0;border-radius:10px;padding:.2rem;display:flex}.toggle-group button{cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:.4rem;font-size:.85rem;font-weight:700}.toggle-group button.active{background:#fff;box-shadow:0 1px 2px #0000000d}.slot-form{box-shadow:0 10px 15px -3px #0000000d}@media (width<=1024px){.admin-view{padding:.8rem .8rem 8.5rem}.header-glass{flex-direction:column;align-items:stretch;gap:.75rem}.form-group{width:100%!important}.dual-columns{grid-template-columns:1fr}.projection-container.dual-view{height:auto;min-height:100vh}.display-header.dual{z-index:20;position:sticky;top:0}.column{min-height:48vh}.category-label{font-size:2rem}.items-scroll{grid-template-rows:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-footer-bar{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem}.btn-save,.btn-icon{justify-content:center;width:100%}}@media (width<=640px){.items-scroll{grid-template-columns:1fr!important}}@media (prefers-reduced-motion:reduce){.mode-pill.double,.spin-slow,.item-card-dual{transition:none!important;animation:none!important}}
