:root{--navy:#13263d;--ink:#172334;--muted:#68758a;--line:#dce3eb;--bg:#f5f7fa;--card:#fff;--blue:#1769e0;--green:#138a5b;--amber:#b96708;--red:#c13f45;--radius:14px;--shadow:0 6px 22px rgba(22,37,55,.07)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}a{color:inherit}.shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#dce7f5;padding:26px 18px;position:sticky;top:0;height:100vh}.brand{font-weight:800;font-size:18px;line-height:1.25;margin:0 10px 30px;color:#fff}.brand small{display:block;color:#8fa6c0;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-top:5px}.nav a{display:flex;gap:11px;align-items:center;padding:11px 13px;border-radius:9px;text-decoration:none;margin:4px 0;font-weight:650;font-size:14px}.nav a:hover,.nav a.active{background:#203b5c;color:#fff}.nav .section{color:#7890ab;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin:24px 12px 8px}.sidebar-foot{position:absolute;bottom:20px;left:18px;right:18px;font-size:12px;color:#91a6bd}.sidebar-foot form{margin-top:10px}.main{padding:32px 38px 60px;min-width:0}.top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px;gap:16px}.top h1{font-size:27px;margin:0 0 7px}.top p{color:var(--muted);margin:0}.button,button{border:0;border-radius:9px;background:var(--blue);color:#fff;font:inherit;font-weight:700;padding:10px 15px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button.secondary,button.secondary{background:#e8eef5;color:#28415f}.button.danger,button.danger{background:#fff0f0;color:var(--red);border:1px solid #f1cbcd}.button.small,button.small{font-size:12px;padding:7px 10px}.button:hover,button:hover{filter:brightness(.96)}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card h2,.card h3{margin:0 0 8px}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:11px;font-weight:800}.stat{font-size:30px;font-weight:800;margin-top:7px}.group-title{display:flex;align-items:center;gap:10px;margin:30px 0 13px}.group-title h2{font-size:19px;margin:0}.pill,.status{border-radius:99px;padding:4px 9px;font-size:11px;font-weight:800;text-transform:capitalize;background:#e9eef4;color:#4a5d73}.status.available,.status.valid,.status.active,.status.success{background:#dcf5e9;color:#08764a}.status.in_use,.status.paused{background:#fff0d9;color:#9a5700}.status.offline,.status.used,.status.expired{background:#edf0f4;color:#647083}.status.maintenance{background:#eee6ff;color:#6343a6}.status.disabled,.status.revoked,.status.cancelled{background:#ffe7e8;color:#a32831}.computer{border-top:4px solid #c7d1dc;min-height:205px}.computer.available{border-top-color:var(--green)}.computer.in_use,.computer.paused{border-top-color:var(--amber)}.computer.offline{border-top-color:#8090a3}.computer-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.computer h3{font-size:17px}.details{font-size:13px;color:var(--muted);line-height:1.65;margin:14px 0}.actions{display:flex;gap:8px;flex-wrap:wrap}.inline{display:flex;gap:7px;align-items:center}.inline input{width:80px}.flash{padding:12px 15px;border-radius:10px;margin-bottom:16px;background:#e2f5eb;color:#096943;border:1px solid #bce4ce}.flash.error{background:#ffebec;color:#9e2931;border-color:#f5c5c8}label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}input,select,textarea{width:100%;border:1px solid #cdd6e1;border-radius:9px;background:#fff;color:var(--ink);font:inherit;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:#6da1e8;box-shadow:0 0 0 3px #e4efff}textarea{min-height:80px;resize:vertical}.field{margin-bottom:15px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.check label{margin:0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:11px;border-bottom:1px solid var(--line)}.table td{padding:13px 11px;border-bottom:1px solid #edf0f4;vertical-align:middle}.table tr:last-child td{border:0}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800;letter-spacing:.08em}.empty{padding:35px;text-align:center;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,#244b77,#12263e 50%,#0c1a2c)}.login-card{width:min(420px,calc(100% - 32px));background:#fff;border-radius:18px;padding:34px;box-shadow:0 25px 70px rgba(0,0,0,.28)}.login-card h1{margin:0 0 8px}.login-card .button{width:100%;margin-top:8px}.help{font-size:12px;color:var(--muted);line-height:1.5}.page-actions{display:flex;gap:8px}.dialog{border:0;border-radius:16px;padding:0;width:min(620px,calc(100% - 30px));box-shadow:0 30px 90px rgba(0,0,0,.25)}.dialog::backdrop{background:rgba(10,22,35,.55)}.dialog-body{padding:24px}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-head h2{margin:0}.receipt{display:none}.progress{height:7px;background:#e8edf3;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:var(--blue)}
@media(max-width:1000px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.shell{display:block}.sidebar{position:relative;height:auto;padding:16px}.brand{margin:0 5px 12px}.nav{display:flex;overflow:auto;gap:4px}.nav .section,.sidebar-foot{display:none}.nav a{white-space:nowrap}.main{padding:24px 16px}.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.top{align-items:flex-start}.page-actions{flex-wrap:wrap}}
@media print{.shell,.no-print{display:none!important}.receipt{display:block!important;width:76mm;text-align:center;font-family:ui-monospace,monospace;padding:5mm}.receipt .code{font-size:24px;margin:15px 0}.receipt article{break-after:page;border-bottom:1px dashed #777;padding-bottom:16px;margin-bottom:18px}}
