:root{--surface: #FBFBF8;--panel: #FFFFFF;--ink: #1C2B2F;--ink-soft: #5A6B6E;--line: #DCE1DB;--teal: #0E7C66;--teal-deep: #0A5B4C;--amber: #A3700F;--oxide: #A6442C;--radius-panel: 10px;--radius-chip: 999px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--surface);color:var(--ink);font-family:Spline Sans,system-ui,sans-serif;font-size:15px;line-height:1.5}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.015em}h1{font-size:22px}h2{font-size:17px}a{color:var(--teal-deep)}button{font:inherit;border:1px solid var(--teal-deep);background:var(--teal);color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer}button:hover{background:var(--teal-deep)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}button.quiet{background:transparent;color:var(--ink);border-color:var(--line)}button.quiet:hover{border-color:var(--ink-soft);background:#f2f4ef}button:disabled{opacity:.55;cursor:default}input{font:inherit;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);width:100%}.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px 16px}.login-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:28px}.login-card .brand{margin-bottom:20px}.login-card label{display:block;margin:14px 0 6px;color:var(--ink-soft);font-size:14px}.login-card button{width:100%;margin-top:20px}.brand{display:flex;align-items:baseline;gap:10px}.brand .mark{font-weight:700;font-size:19px;color:var(--teal-deep);white-space:nowrap}.brand .mark:after{content:"";display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:2px;background:var(--teal)}.brand .sub{color:var(--ink-soft);font-size:13px}.shell{min-height:100%;display:grid;grid-template-columns:216px 1fr}@media (max-width: 860px){.shell{grid-template-columns:1fr}.sidenav{position:static;display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.sidenav .brand,.sidenav .whoami{display:none}}.sidenav{border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:2px}.sidenav .brand{padding:0 10px 18px}.sidenav .navlink{display:block;width:100%;text-align:left;background:none;border:none;color:var(--ink);padding:9px 10px;border-radius:8px;cursor:pointer}.sidenav .navlink:hover{background:#f2f4ef}.sidenav .navlink.active{background:#e6efe9;color:var(--teal-deep);font-weight:500}.sidenav .navlink.coming{color:var(--ink-soft)}.sidenav .navlink.coming small{margin-left:6px}.sidenav .whoami{margin-top:auto;padding:12px 10px 0;border-top:1px solid var(--line);font-size:13px;color:var(--ink-soft)}.sidenav .whoami button{margin-top:8px}main{padding:26px 30px 48px;max-width:1100px}main>h1{margin-bottom:4px}main .page-sub{color:var(--ink-soft);margin:0 0 22px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:26px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:14px 16px}.stat .num{font-size:26px;font-weight:700;letter-spacing:-.02em}.stat .lbl{color:var(--ink-soft);font-size:13px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-panel);padding:18px 20px;margin-bottom:22px}.panel h2{margin-bottom:12px}.site-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}.site-card:first-of-type{border-top:0}.dot{width:11px;height:11px;border-radius:50%;margin-top:6px}.dot.ok{background:var(--teal);box-shadow:0 0 0 4px #0e7c6624}.dot.off{background:var(--oxide);box-shadow:0 0 0 4px #a6442c1f}.site-card .name{font-weight:500}.site-card .meta{color:var(--ink-soft);font-size:13px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{font-size:12px;border:1px solid var(--line);border-radius:var(--radius-chip);padding:2px 10px;color:var(--ink-soft);background:var(--surface)}.chip.fresh{border-color:#bfd9ce;color:var(--teal-deep);background:#edf5f0}.chip.stale{border-color:#e3d3ac;color:var(--amber);background:#faf4e4}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--ink-soft);font-weight:500;padding:6px 10px;border-bottom:1px solid var(--line)}td{padding:8px 10px;border-bottom:1px solid #EEF0EA}tr:last-child td{border-bottom:0}.status-word{font-weight:500}.status-word.registered{color:var(--ink-soft)}.status-word.received{color:var(--amber)}.status-word.dispatched{color:var(--teal-deep)}.form-row{display:flex;gap:10px;align-items:end;max-width:520px}.form-row label{flex:1;color:var(--ink-soft);font-size:14px}.form-row input{margin-top:6px}.keybox{background:#f2f7f4;border:1px solid #BFD9CE;border-radius:8px;padding:12px 14px;margin-top:14px;font-size:14px}.keybox code{display:block;margin-top:4px;font-size:13px;word-break:break-all;-webkit-user-select:all;user-select:all}.error-note{color:var(--oxide);background:#f8ede9;border:1px solid #E4C4B8;border-radius:8px;padding:10px 12px;margin-top:14px;font-size:14px}.empty{color:var(--ink-soft);padding:18px 0}.coming-page{max-width:560px}.coming-page .panel{padding:24px}@media (prefers-reduced-motion: no-preference){.dot.ok{animation:settle 1.6s ease-out 1}@keyframes settle{0%{box-shadow:0 0 #0e7c664d}to{box-shadow:0 0 0 4px #0e7c6624}}}
