:root{--ups-navy: #415D85;--ups-navy-deep: #2E4361;--ups-navy-ink: #1B2A3F;--ups-red: #EC2D32;--ups-red-deep: #C21F24;--cas-gold: #C9A84C;--cas-ink: #0D1B2A;--surface: #FFFFFF;--surface-sunk: #F4F6F9;--border: #D9E0EA;--text: #1B2A3F;--text-muted: #64748B;--state-ok: #1F8A56;--state-amber: #D98A0B;--state-red: var(--ups-red);--state-idle: #94A3B8;--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-figure: "Inter", system-ui, sans-serif;--size-board-number: 4.5rem;--size-board-label: 1.125rem;--size-body: 1rem;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(27,42,63,.06), 0 4px 12px rgba(27,42,63,.08)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-ui);font-size:var(--size-body);line-height:1.5;color:var(--text);background:var(--surface-sunk);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{margin:0;color:var(--ups-navy-ink);font-weight:700}button{font-family:inherit}.app{min-height:100%;display:flex;flex-direction:column}.app-header{background:var(--ups-navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 1rem;position:relative;z-index:3}.app-header .brand{display:flex;align-items:center;gap:.65rem;min-width:0}.app-header .brand-name{font-weight:800;font-size:1.1rem;letter-spacing:.01em;color:#fff}.app-header .who{text-align:right;line-height:1.25;margin-left:auto}.app-header .who .name{font-weight:600}.app-header .who .role{font-size:.8rem;color:#cdd8e8;text-transform:capitalize}.app-header .signout{margin-left:1rem;background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.4rem .8rem;border-radius:var(--radius-sm);cursor:pointer}.nav{background:var(--ups-navy-deep);display:flex;flex-wrap:wrap;gap:.25rem;padding:0 .75rem;border-top:1px solid var(--ups-navy-ink);box-shadow:0 6px 16px #1b2a3f38;position:relative;z-index:2}.nav button{background:transparent;border:none;color:#cdd8e8;padding:.85rem 1.1rem;font-size:.95rem;cursor:pointer;border-bottom:3px solid transparent}.nav button.active{color:#fff;border-bottom-color:#fff}.screen{padding:1.1rem;max-width:1180px;width:100%;margin:0 auto;flex:1}.screen-title{font-size:1.8rem;font-weight:800;letter-spacing:-.01em;margin-bottom:1rem}.screen-lead{color:var(--text-muted);font-size:1.02rem;margin:-.4rem 0 1.5rem;max-width:60ch}.section-label{color:var(--text-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .6rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1rem}.card h2{font-size:.82rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;padding-bottom:.7rem;margin-bottom:1rem;border-bottom:1px solid var(--border)}.card h3{color:var(--ups-navy-ink)}.card-note{color:var(--text-muted);font-size:.85rem;margin-top:.5rem}.board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem;margin-bottom:2rem}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.6rem 1.25rem 1.4rem;text-align:center}.tile .tile-label{font-size:.9rem;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.tile .tile-number{font-family:var(--font-figure);font-size:calc(var(--size-board-number) * 1.35);font-weight:800;line-height:.95;color:var(--ups-navy-ink);margin:.5rem 0 .25rem;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tile .tile-unit{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.tile.idle{background:var(--surface-sunk);box-shadow:none}.tile.idle .tile-number{color:var(--state-idle)}.offcut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem}.offcut{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1rem;background:var(--surface)}.offcut .oc-tag{font-family:var(--font-figure);font-weight:800;font-size:1.4rem;color:var(--ups-navy-ink);font-variant-numeric:tabular-nums}.offcut .oc-size{font-size:1.05rem;font-weight:600}.offcut .oc-meta{color:var(--text-muted);font-size:.9rem;margin-top:.15rem}.offcut .oc-pallet{margin-top:.5rem;font-weight:600}.offcut .oc-pallet.none{color:var(--state-amber)}.chip{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.12rem .5rem;border-radius:999px;border:1px solid var(--border);color:var(--text-muted)}.chip.ageing{color:var(--state-amber);border-color:var(--state-amber)}.chip.stale{color:var(--state-red);border-color:var(--state-red)}.alerts{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.alert{display:flex;align-items:baseline;gap:.75rem;padding:.7rem 1rem;border-radius:var(--radius-sm);border-left:5px solid transparent;background:var(--surface);border:1px solid var(--border)}.alert .alert-subject{font-weight:700}.alert.red{border-left-color:var(--state-red);background:#fdecec}.alert.amber{border-left-color:var(--state-amber);background:#fdf4e3}.alerts-empty{color:var(--text-muted);padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.form{display:flex;flex-direction:column;gap:1rem;max-width:460px}.field{display:flex;flex-direction:column;gap:.35rem}.field-label{font-weight:600;font-size:.9rem}.field-hint{color:var(--text-muted);font-size:.82rem}input,select,textarea{font-family:inherit;font-size:1rem;padding:.7rem .8rem;min-height:46px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--ups-navy);outline-offset:0;border-color:var(--ups-navy)}textarea{resize:vertical;min-height:5rem}.btn{background:var(--ups-navy);color:#fff;border:1px solid var(--ups-navy);border-radius:var(--radius-sm);padding:.8rem 1.5rem;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow)}.btn:hover{background:var(--ups-navy-deep);border-color:var(--ups-navy-deep)}.btn:disabled{background:var(--surface-sunk);color:var(--state-idle);border-color:var(--border);box-shadow:none;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--ups-navy);border:1px solid var(--ups-navy);box-shadow:none}.btn.secondary:hover{background:var(--surface-sunk)}.btn.secondary:disabled{background:transparent;color:var(--state-idle);border-color:var(--border)}.btn.small{padding:.5rem .85rem;font-size:.85rem}.btn-row{display:flex;gap:.6rem;align-items:center}.btn-row .field{flex:1}.measure-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.6rem;align-items:end;margin-bottom:.6rem}.measure-row .rm{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:.6rem .7rem;cursor:pointer}.tags-out{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.tag-card{border:2px solid var(--ups-navy);border-radius:var(--radius);padding:1rem 1.5rem;text-align:center;min-width:180px}.tag-card .tag-big{font-family:var(--font-figure);font-size:3rem;font-weight:800;line-height:1;color:var(--ups-navy-ink);letter-spacing:.01em;font-variant-numeric:tabular-nums}.tag-card .tag-size{font-size:1.15rem;font-weight:600;margin-top:.35rem}.tag-card .tag-pallet{margin-top:.5rem;color:var(--text-muted)}.tag-card .tag-pallet strong{color:var(--ups-navy)}.lookup{background:var(--surface-sunk);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1rem;margin:.5rem 0 1rem}.lookup .lk-tag{font-weight:800;font-size:1.2rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--text-muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.stat{background:var(--surface-sunk);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.9rem 1rem}.stat .stat-label{color:var(--text-muted);font-size:.85rem;font-weight:600}.stat .stat-value{font-family:var(--font-figure);font-size:1.9rem;font-weight:800;color:var(--ups-navy-ink);line-height:1.1;margin-top:.2rem;font-variant-numeric:tabular-nums}.stat .stat-sub{color:var(--text-muted);font-size:.85rem;margin-top:.15rem}.coverage{font-family:var(--font-figure);font-size:2.4rem;font-weight:800;color:var(--ups-navy-ink);font-variant-numeric:tabular-nums}.coverage-conf{color:var(--text-muted);font-size:1rem;font-weight:600;margin-left:.5rem}.disclaimer{color:var(--text-muted);font-size:.85rem;margin-top:.6rem;font-style:italic}.scrap-truth{background:var(--surface-sunk);border:1px solid var(--border);border-left:4px solid var(--state-amber);border-radius:var(--radius-sm);padding:.75rem 1rem;color:var(--ups-navy-ink);margin-top:.75rem;font-size:.9rem}.bars{display:flex;flex-direction:column;gap:.35rem}.bar-row{display:grid;grid-template-columns:120px 1fr 120px;gap:.75rem;align-items:center;font-size:.9rem}.bar-track{background:var(--surface-sunk);border-radius:var(--radius-sm);height:18px;overflow:hidden}.bar-fill{height:100%;background:var(--ups-navy)}.error-banner{background:#fdecec;border:1px solid var(--state-red);border-left:5px solid var(--state-red);color:var(--ups-red-deep);padding:.75rem 1rem;border-radius:var(--radius-sm);margin:.75rem 0;font-weight:500}.notice{background:#eaf2ff;border:1px solid var(--ups-navy);border-left:5px solid var(--ups-navy);color:var(--ups-navy-ink);padding:.75rem 1rem;border-radius:var(--radius-sm);margin:.75rem 0}.muted{color:var(--text-muted)}.empty{color:var(--text-muted);padding:1.6rem 1rem;text-align:center;background:var(--surface-sunk);border:1px dashed var(--border);border-radius:var(--radius-sm);font-size:.92rem}.signin-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.signin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:2.25rem 2rem 1.5rem;width:100%;max-width:400px;text-align:center}.signin-card h1{font-size:1.35rem;margin:1.25rem 0 .25rem}.signin-card .form{text-align:left;margin-top:1.5rem;max-width:none}.signin-card .btn{width:100%;justify-content:center}.signin-foot{margin-top:1.5rem;font-size:.8rem;color:var(--text-muted)}.cas-sign{color:var(--cas-gold);font-weight:700;letter-spacing:.02em}.ups-logo{display:block;width:auto;object-fit:contain}.ups-logo-sm{height:42px}.ups-logo-lg{height:132px;margin:0 auto .25rem}.about p{max-width:62ch;line-height:1.6}.about .sign-block{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.toggle{display:inline-flex;align-items:center;gap:.5rem}.toggle input{width:1.1rem;height:1.1rem}.locked-note{background:var(--surface-sunk);border:1px solid var(--border);border-left:4px solid var(--state-idle);border-radius:var(--radius-sm);padding:.75rem 1rem;color:var(--text-muted);margin-bottom:1rem}.main{flex:1;display:flex;flex-direction:column}button{-webkit-tap-highlight-color:transparent}.btn,.btn.secondary,.nav button,.tab,.sheet-item,.offcut{transition:background-color .12s ease,color .12s ease,border-color .12s ease}.btn:active:not(:disabled),.btn.secondary:active:not(:disabled){transform:translateY(1px)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:var(--ups-navy-deep);border-top:1px solid var(--ups-navy-ink);box-shadow:0 -6px 18px #1b2a3f47;padding-bottom:env(safe-area-inset-bottom,0px)}.tab{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:.5rem .2rem .55rem;min-height:58px;background:transparent;border:none;color:#cdd8e8;cursor:pointer;font-size:.62rem;font-weight:600;letter-spacing:.01em}.tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab.active{color:#fff}.tab:active{background:#ffffff0f}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#0d1b2a80;display:flex;align-items:flex-end}.sheet{width:100%;max-height:80vh;overflow-y:auto;background:var(--surface);border-top-left-radius:18px;border-top-right-radius:18px;padding:.5rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 34px #0d1b2a59;animation:sheet-up .16s ease-out}@keyframes sheet-up{0%{transform:translateY(12%);opacity:.6}to{transform:translateY(0);opacity:1}}.sheet-handle{width:42px;height:4px;border-radius:2px;background:var(--border);margin:.35rem auto .85rem}.sheet-account{padding:0 .4rem .75rem;border-bottom:1px solid var(--border);margin-bottom:.4rem}.sheet-account .name{font-weight:700}.sheet-account .role{color:var(--text-muted);font-size:.85rem;text-transform:capitalize}.sheet-item{display:flex;align-items:center;gap:.9rem;width:100%;padding:.9rem .4rem;background:transparent;border:none;color:var(--text);font-size:1.02rem;font-weight:600;text-align:left;cursor:pointer;border-radius:var(--radius-sm)}.sheet-item svg{color:var(--ups-navy);flex:none}.sheet-item.active{color:var(--ups-navy);background:var(--surface-sunk)}.sheet-item:active{background:var(--surface-sunk)}.sheet-item.signout-item{color:var(--text-muted);border-top:1px solid var(--border);margin-top:.4rem;border-radius:0}.sheet-item.signout-item svg{color:var(--text-muted)}@media (max-width: 767px){.desktop-only{display:none!important}.main{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.form .btn:not(.secondary):not(.small),.btn-row .btn:not(.secondary):not(.small){width:100%}.bar-row{grid-template-columns:62px 1fr 96px;gap:.5rem;font-size:.8rem}}@media (min-width: 768px){.mobile-only{display:none!important}.screen{padding:1.9rem 2rem}}
