:root{--navy: #1e2e5f;--navy-700: #172449;--navy-300: #5567a0;--green: #aece3a;--green-700: #7d9a1c;--green-050: #f4f9e4;--bg: #f3f4f6;--card: #ffffff;--ink: #1f2430;--muted: #6b7280;--line: #e4e6ea;--danger: #b42318;--warn: #b54708;--warn-bg: #fffaeb;--radius: 10px;--header-h: 60px;--sidebar-w: 218px}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,a{color:var(--navy)}.topbar{height:var(--header-h);background:var(--navy);color:#fff;display:flex;align-items:center;gap:.85rem;padding:0 1rem;position:sticky;top:0;z-index:20}.logo-slot{width:34px;height:34px;border-radius:8px;background:#ffffff24;border:1px dashed rgba(255,255,255,.4);display:grid;place-items:center;font-size:.62rem;font-weight:700;letter-spacing:.04em;color:#ffffffd9;flex:none}.product{font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product .dot-sep{color:var(--green);margin:0 .4rem}.product .sub{font-weight:400;color:#ffffffc7}.topbar .spacer{flex:1}.store{font-size:.88rem;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40vw}.signout{background:none;border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:7px;padding:.35rem .7rem;font:inherit;font-size:.85rem;cursor:pointer;white-space:nowrap}.signout:hover{background:#ffffff1f}.layout{display:grid;grid-template-columns:var(--sidebar-w) 1fr;align-items:start;min-height:calc(100vh - var(--header-h))}.sidebar{background:#fff;border-right:1px solid var(--line);padding:1rem .6rem;position:sticky;top:var(--header-h);height:calc(100vh - var(--header-h));overflow-y:auto}.sidebar nav{display:flex;flex-direction:column;gap:2px}.navitem{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:.55rem .7rem;font:inherit;color:var(--ink);cursor:pointer;position:relative}.navitem:hover{background:#f5f6f8}.navitem[aria-current=page]{background:var(--navy);color:#fff;font-weight:600}.navitem[aria-current=page]:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;background:var(--green)}.navitem .ico{width:1.1rem;text-align:center;flex:none;opacity:.85}.navitem.soon{color:var(--muted)}.soon-tag{margin-left:auto;font-size:.63rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f0f1f4;border-radius:20px;padding:.1rem .45rem}.content{padding:1.5rem 1.5rem 4rem;min-width:0}.page-head{margin:0 0 1.15rem}.page-head h1{font-size:1.3rem;margin:0;letter-spacing:-.01em}.page-head .sub{color:var(--muted);font-size:.86rem;margin-top:.15rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;margin-bottom:1rem}.card h2{font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 .85rem;font-weight:700}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}.status{display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:1.02rem;color:var(--navy)}.dot{width:9px;height:9px;border-radius:50%;flex:none}.dot.on{background:var(--green);box-shadow:0 0 0 3px var(--green-050)}.dot.off{background:#ccd0d8}.detail{color:var(--muted);font-size:.85rem;margin-top:.4rem}.cardfoot{margin-top:.85rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}ul.checklist{list-style:none;margin:0;padding:0}ul.checklist li{display:flex;gap:.7rem;padding:.7rem 0;border-top:1px solid var(--line)}ul.checklist li:first-child{border-top:none}.tick{width:1.2rem;height:1.2rem;border-radius:50%;flex:none;margin-top:.12rem;display:grid;place-items:center;font-size:.72rem;font-weight:800;color:var(--navy);background:var(--green)}.tick.todo{background:#fff;border:1.5px solid #d3d7de;color:transparent}.checklist .label{font-weight:600}.checklist .hint{color:var(--muted);font-size:.85rem;margin-top:.1rem}.progress{height:6px;border-radius:4px;background:#e8eaee;overflow:hidden;margin-top:.7rem}.progress>span{display:block;height:100%;background:var(--green);border-radius:4px;transition:width .3s ease}.keyfield+.keyfield{margin-top:.75rem}.keylabel{font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:.3rem}.keyrow{display:flex;gap:.5rem;align-items:stretch;flex-wrap:wrap}code.key{flex:1;min-width:14rem;background:#f6f7f9;border:1px solid var(--line);border-radius:8px;padding:.6rem .7rem;font:.82rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;display:flex;align-items:center}button{font:inherit;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--navy);padding:.5rem .9rem;cursor:pointer;white-space:nowrap}button:hover:not(:disabled){border-color:var(--navy-300)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--navy);border-color:var(--navy);color:#fff}button.primary:hover:not(:disabled){background:var(--navy-700)}button.small{padding:.32rem .65rem;font-size:.83rem}.banner{border-radius:var(--radius);padding:.8rem 1rem;margin-bottom:1rem;font-size:.9rem}.banner.ok{background:var(--green-050);color:var(--green-700);border:1px solid #dcebb4}.banner.warn{background:var(--warn-bg);color:var(--warn);border:1px solid #fedf89}.banner.err{background:#fef3f2;color:var(--danger);border:1px solid #fecdca}label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem;color:var(--navy)}input[type=email],input[type=text],input[type=password],input[type=url]{width:100%;font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}input:focus-visible,button:focus-visible,.navitem:focus-visible{outline:2px solid var(--green-700);outline-offset:1px}.field{margin-bottom:1rem;max-width:26rem}.field .note{color:var(--muted);font-size:.8rem;margin-top:.3rem;font-weight:400}.row{display:flex;align-items:center;gap:.5rem}label.row{margin-bottom:0}.muted{color:var(--muted)}.center{text-align:center;color:var(--muted);padding:4rem 1rem}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login{width:min(26rem,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.75rem}.login .brand{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem}.login .brand .logo-slot{background:var(--navy);border-color:var(--navy-300)}.login .brand .name{font-weight:700;color:var(--navy);line-height:1.2}.login .brand .name small{display:block;font-weight:400;color:var(--muted);font-size:.78rem}.login h1{font-size:1.1rem;margin:0 0 .35rem}.login p.lede{color:var(--muted);margin:0 0 1.35rem;font-size:.88rem}.login button.primary{width:100%}.button-link{display:block;text-align:center;text-decoration:none;border-radius:8px;padding:.6rem .9rem;font-weight:600}.button-link.primary{background:var(--navy);color:#fff}.button-link.primary:hover{background:var(--navy-700)}.login .login-note{margin:.4rem 0 0;text-align:center;color:var(--muted);font-size:.8rem}.login-or{display:flex;align-items:center;gap:.75rem;margin:1.1rem 0;color:var(--muted);font-size:.8rem}.login-or:before,.login-or:after{content:"";flex:1;border-top:1px solid var(--line)}.segmented{display:flex;margin-bottom:1rem}.segmented button{flex:1;font-size:.83rem;padding:.45rem .5rem;border-radius:0}.segmented button:first-child{border-radius:8px 0 0 8px}.segmented button:last-child{border-radius:0 8px 8px 0;border-left:none}.segmented button[aria-selected=true]{background:#eef1f7;font-weight:600}.mode-tag{font-size:.72rem;padding:.15rem .5rem;border-radius:999px;border:1px solid rgba(255,255,255,.35);color:#ffffffe6;white-space:nowrap}@media(max-width:860px){:root{--sidebar-w: 0px}.layout{grid-template-columns:1fr}.sidebar{position:sticky;top:var(--header-h);height:auto;border-right:none;border-bottom:1px solid var(--line);padding:.5rem;z-index:10}.sidebar nav{flex-direction:row;gap:.3rem;overflow-x:auto;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.navitem{width:auto;flex:none;padding:.5rem .8rem}.navitem[aria-current=page]:before{inset:auto 15% 0;width:auto;height:3px;border-radius:3px 3px 0 0}.soon-tag{display:none}.content{padding:1.15rem 1rem 3rem}.store{display:none}}@media(max-width:560px){.product .sub,.product .dot-sep{display:none}}@media(pointer:coarse){.navitem,button{min-height:42px}}table.orders{width:100%;border-collapse:collapse;font-size:.9rem}table.orders th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;padding:.75rem 1.2rem;border-bottom:1px solid var(--line);white-space:nowrap}table.orders td{padding:.75rem 1.2rem;border-bottom:1px solid var(--line);vertical-align:top}table.orders tr:last-child td{border-bottom:none}table.orders code{font-size:.78rem;color:var(--muted)}.pill{display:inline-block;font-size:.75rem;font-weight:600;border-radius:20px;padding:.12rem .55rem;white-space:nowrap;background:#eef0f3;color:var(--muted)}.pill.complete{background:var(--green-050);color:var(--green-700)}.pill.failed{background:#fef3f2;color:var(--danger)}.pill.manual{background:#eef1f7;color:#1e2e5f}.failed-orders{border-left:4px solid #d63638;overflow-x:auto}.pill.pending{background:#eef2fb;color:var(--navy-300)}.pill.print-printed{background:var(--green-050);color:var(--green-700)}.pill.print-no_device,.pill.print-failed{background:var(--warn-bg);color:var(--warn)}select{width:100%;max-width:26rem;font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--navy);flex:none}.pill.notify-sent{background:var(--green-050);color:var(--green-700)}.pill.notify-not_installed,.pill.notify-failed{background:var(--warn-bg);color:var(--warn)}.warn-text{color:var(--warn)}button.linklike{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--navy);cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px}button.danger{color:var(--danger);border-color:#fecdca}button.danger:hover:not(:disabled){background:#fef3f2}.card h3{font-size:.95rem;color:var(--navy);margin:1.4rem 0 .4rem}.card h3:first-of-type{margin-top:.4rem}ul.probe{list-style:none;margin:.5rem 0;padding:0;font-size:.85rem}ul.probe li{padding:.15rem 0}.banner .keyfield{margin-top:.5rem}
