:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#202624;background:#f7f7f5;font-synthesis:none;--muted:#68716d;--line:#dedfda;--accent:#245c49;--soft:#edf3ef;--red:#9a3d35}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--accent)}.hidden{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.shell{width:min(100% - 32px,480px);margin:0 auto}.nav{display:flex;gap:24px;padding:24px 0 18px;border-bottom:1px solid var(--line);margin-bottom:28px}.nav-item{border:0;background:none;color:var(--muted);padding:0 0 4px;font-size:13px;border-bottom:1px solid transparent}.nav-item.active{color:#202624;border-color:#202624}h1,h2,p{margin-top:0}h1{font-size:23px;font-weight:600;letter-spacing:-.03em;line-height:1.3;margin-bottom:24px}h2{font-size:17px;line-height:1.4;font-weight:600;letter-spacing:-.015em;margin-bottom:8px}.card{padding:26px;background:#fff;border:1px solid var(--line);border-radius:12px}.view{margin-bottom:18px}.quiet{font-size:13px;color:var(--muted);line-height:1.6}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:400;overflow-wrap:anywhere}
form label{display:block;font-size:13px;font-weight:500;margin:20px 0 7px}form label:first-child{margin-top:0}input,select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d4d8d3;border-radius:7px;background:#fff;color:#202624}input::placeholder{color:#939b96}input:focus,select:focus{outline:2px solid #b8d3c3;outline-offset:0;border-color:var(--accent)}input:disabled,select:disabled{background:#f4f5f2;color:#68716d}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 15px;border-radius:7px;font-size:13px;font-weight:500;text-decoration:none;line-height:1.4;text-align:center}.primary-btn{background:var(--accent);border:1px solid var(--accent);color:white}.primary-btn:hover{background:#1c4c3b}.secondary-btn{border:1px solid var(--line);background:#fff;color:#35433b}.secondary-btn:hover{background:#f4f6f2}.wide{width:100%;margin-top:24px}.text-btn{border:0;background:none;color:var(--accent);padding:7px 0;font-size:12px;text-align:left}.text-btn:hover{text-decoration:underline}.muted-btn{color:var(--muted)}.inline-message{font-size:13px;line-height:1.6;background:var(--soft);color:#355546;padding:10px 12px;border-radius:7px;margin:16px 0 0;overflow-wrap:anywhere}.inline-message.error{background:#fcf0ed;color:var(--red)}
.client-downloads{margin-top:10px}.client-downloads>.quiet{font-size:12px}.download-links{display:flex;flex-wrap:wrap;gap:4px 14px}.download-links a{font-size:12px;text-underline-offset:3px}.license-link{display:inline-block;font-size:11px;color:var(--muted);margin-top:5px;text-underline-offset:2px}
.ticket-form{display:flex;gap:8px;margin-top:16px}.ticket-form input{min-width:0}.ticket-form+.text-btn{margin-top:12px}.status-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--line)}.pill{font-size:11px;padding:4px 8px;border-radius:5px;background:#f0f1ed;color:#536157;white-space:nowrap}.pill.active{background:#e8f1e9;color:#2b6140}.pill.provisioning,.pill.pending,.pill.approved,.pill.revoking{background:#f8f2e4;color:#85672b}.pill.provision_error,.pill.revoke_error{background:#faece8;color:var(--red)}.status-main{padding:21px 0 16px}.status-main h2{display:inline;font-size:18px;margin:0}.status-main>span{margin-right:7px;font-size:15px}.status-main>p{margin:10px 0 0}.config-box{border:1px solid var(--line);border-radius:7px;padding:11px 12px;background:#f7f8f5;font:12px ui-monospace,monospace;user-select:none;margin-bottom:12px;overflow:hidden}.config-actions{display:flex;flex-wrap:wrap;gap:8px}.config-actions .primary-btn{width:100%}.config-actions .secondary-btn{flex:1;white-space:nowrap}.config-panel>.quiet{margin:12px 0 0}.status-footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px;border-top:1px solid var(--line);padding-top:9px}.status-footer+.quiet{margin:10px 0 3px}.status-main+.hidden+.status-footer{margin-top:0}
body.admin-page .shell{max-width:960px;width:calc(100% - 32px)}.admin-heading{margin:0 0 20px}.login-card{max-width:420px}.login-card h2{margin-bottom:22px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.metric{padding:15px 18px;background:#fff;border:1px solid var(--line);border-radius:9px}.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{font-size:25px;display:block;font-weight:500;margin-top:4px}.admin-card{padding:0}.admin-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:18px 20px}.admin-toolbar p{margin:0}.admin-controls{display:flex;align-items:center;gap:12px}.admin-controls select{width:auto;font-size:12px;min-height:38px}.admin-controls .secondary-btn{min-height:38px;padding:8px 11px;font-size:12px}.admin-items{padding:0 20px}.admin-row{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(90px,.65fr) minmax(130px,1.1fr) auto;gap:16px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.admin-row:last-child{border:0}.admin-person,.admin-state,.admin-device{min-width:0;overflow-wrap:anywhere}.admin-person strong{display:block;font-size:13px;font-weight:600}.admin-person small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.admin-device{font-size:12px;color:var(--muted)}.admin-state{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.admin-state small{font-size:11px;color:var(--muted)}.admin-state .error-detail{color:var(--red)}.row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:230px}.row-actions button{font-size:11px;padding:8px 11px;min-height:34px}.danger-btn{border:1px solid #e4d0c9;background:#fff;color:var(--red);border-radius:7px}.danger-btn:hover{background:#fcf2ee}.row-empty{padding:30px 10px;text-align:center;color:var(--muted);font-size:13px}#adminMessage{margin:16px 20px}.admin-pagination{border-top:1px solid var(--line);padding:16px 20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center}.admin-page-controls{display:flex;gap:7px}.admin-page-controls button{min-height:34px;padding:7px 11px;font-size:12px}
#statusIcon:empty{display:none}footer{display:flex;justify-content:center;gap:8px;margin:24px 0;color:#8a918c;font-size:11px}footer code{font:inherit}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;background:#263d31;color:white;font-size:12px;padding:12px 16px;border-radius:8px;box-shadow:0 4px 16px #0001;z-index:10}.toast.error{background:#843e34}.noscript-message{margin:16px;text-align:center;color:var(--red);font-size:13px}
footer{display:block;text-align:center}footer .referral-link{font-size:11px;color:var(--muted);text-underline-offset:3px}footer .legal-note{max-width:480px;margin:14px auto 0;font-size:11px;line-height:1.65;color:var(--muted)}
.metrics{grid-template-columns:repeat(4,1fr)}
@media(max-width:700px){.admin-toolbar{align-items:flex-start;flex-direction:column}.admin-controls{flex-wrap:wrap;gap:10px}.admin-row{grid-template-columns:1fr 1fr;gap:10px}.admin-state{grid-column:1}.row-actions{grid-column:2;justify-content:flex-end}.admin-device{grid-column:2;grid-row:1;text-align:right}.metrics{gap:8px;grid-template-columns:repeat(2,1fr)}.metric{padding:12px}.metric span{font-size:11px}}
@media(max-width:400px){.card{padding:22px}.nav{gap:20px;margin-bottom:22px;padding-top:20px}h1{font-size:22px}.admin-card{padding:0}.admin-items{padding:0 16px}.admin-toolbar{padding:16px}.row-actions{max-width:none}.admin-pagination{padding:14px 16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
