:root{color:#14181f;font-synthesis:none;letter-spacing:0;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit;letter-spacing:0}button{cursor:pointer}.center{place-items:center;min-height:100vh;display:grid}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{background:#eef2f5;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fff;border:1px solid #dce1e6;border-radius:8px;width:min(420px,100%);padding:30px;box-shadow:0 20px 60px #141e281a}.brand{align-items:center;gap:11px;display:flex}.brand>span{color:#fff;background:#111;border-radius:7px;place-items:center;width:43px;height:43px;font-size:10px;font-weight:800;display:grid}.brand div{flex-direction:column;display:flex}.brand strong{font-size:15px}.brand small{color:#737c87;margin-top:2px;font-size:11px}.login-panel h1{margin:32px 0 6px;font-size:24px}.login-panel>p{color:#68727e;margin:0 0 24px;font-size:14px}label{color:#4f5965;gap:7px;font-size:12px;font-weight:650;display:grid}input,textarea,select{color:#13171c;background:#fff;border:1px solid #cfd6dd;border-radius:6px;outline:none;width:100%;padding:11px 12px}input:focus,textarea:focus,select:focus{border-color:#2775e8;box-shadow:0 0 0 3px #2775e81f}textarea{resize:vertical;min-height:90px}.login-panel label+label{margin-top:15px}button{color:#252b32;background:#fff;border:1px solid #cfd6dd;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 12px;font-size:13px;font-weight:650;display:inline-flex}button:hover{background:#f5f7f9}.primary{color:#fff;background:#1468e5;border-color:#1468e5}.primary:hover{background:#0d59ca}.login-panel .primary{width:100%;min-height:44px;margin-top:22px}.error,.notice{color:#a52020;background:#fff0f0;border:1px solid #f2caca;border-radius:6px;margin-top:13px;padding:10px 12px;font-size:13px}.app-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}aside{z-index:10;background:#fff;border-right:1px solid #dfe4e8;flex-direction:column;width:230px;padding:24px 18px;display:flex;position:fixed;inset:0 auto 0 0}aside nav{gap:5px;margin-top:34px;display:grid}aside nav button,.logout{color:#626c77;background:0 0;border:0;justify-content:flex-start}aside nav button.active{color:#135fc8;background:#eaf2fe}.logout{margin-top:auto}.workspace{grid-column:2;min-width:0;padding:0 32px 48px}header{border-bottom:1px solid #dfe4e8;justify-content:space-between;align-items:center;min-height:88px;margin-bottom:28px;display:flex}header small{color:#75808b;font-size:10px;font-weight:750}header h1{margin:4px 0 0;font-size:25px}.icon-button{width:38px;height:38px;padding:0}.notice{justify-content:space-between;align-items:center;margin:0 0 20px;display:flex}.notice button{background:0 0;border:0;min-height:24px;padding:0 5px;font-size:20px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.metric{background:#fff;border:1px solid #dde3e8;border-radius:7px;grid-template-columns:1fr auto;align-content:space-between;min-height:138px;padding:18px;display:grid}.metric>div{color:#1468e5;background:#eaf2fe;border-radius:6px;grid-column:2;place-items:center;width:36px;height:36px;display:grid}.metric svg{width:18px}.metric small{color:#69737f;text-transform:uppercase;grid-column:1/3;font-size:11px}.metric strong{grid-column:1/3;font-size:24px}.section,.customer{background:#fff;border:1px solid #dde3e8;border-radius:7px}.section{padding:22px}.section-title{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.section h2,.customer h2{margin:0;font-size:16px}.section p,.customer p{color:#737d88;margin:5px 0 0;font-size:13px}.customer-name,.customer-actions{align-items:center;gap:8px;display:flex}.customer-actions{flex-wrap:wrap;justify-content:flex-end}.rows{display:grid}.row{border-top:1px solid #edf0f2;grid-template-columns:minmax(180px,1fr) auto 160px;align-items:center;gap:18px;padding:14px 4px;font-size:13px;display:grid}.row>div{flex-direction:column;gap:3px;display:flex}.row small{color:#7b858f}.empty{text-align:center;color:#7b858f;padding:36px}.empty.compact{border-top:1px solid #edf0f2;padding:18px}.toolbar{justify-content:space-between;gap:15px;margin-bottom:16px;display:flex}.search{background:#fff;border:1px solid #d7dde2;border-radius:6px;align-items:center;gap:8px;width:min(440px,100%);padding:0 11px;display:flex}.search input{box-shadow:none;border:0;padding:10px 2px}.customer-list{gap:14px;display:grid}.customer{overflow:hidden}.customer-head{justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.license-row{border-top:1px solid #e7ebee;grid-template-columns:minmax(190px,.8fr) minmax(360px,1.5fr) auto;align-items:center;gap:18px;padding:16px 20px;display:grid}.license-main{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.license-main code{color:#6b7580;font-size:11px}.license-info{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.license-info span{text-transform:uppercase;color:#7a8490;gap:4px;font-size:10px;display:grid}.license-info strong{color:#303840;text-transform:none;font-size:12px}.actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.actions button{min-height:34px;padding:7px 9px}.danger{color:#b32929;border-color:#ebc8c8}.status{border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800}.status.good{color:#087c58;background:#dcf5eb}.status.warn{color:#9a6000;background:#fff1cc}.status.bad{color:#ad2929;background:#ffe1e1}.dialog-backdrop{z-index:30;background:#10161c7a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border-radius:8px;width:min(500px,100%);max-height:calc(100dvh - 36px);padding:22px;overflow:auto;box-shadow:0 22px 70px #00000040}.dialog-title{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dialog-title h2{margin:0;font-size:18px}.form{gap:15px;display:grid}.form-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.hint{color:#717b85;margin:0;font-size:13px}.key-box{background:#f1f4f7;border:1px solid #d8dfe5;border-radius:6px;align-items:center;gap:8px;padding:10px;display:flex}.key-box code{word-break:break-all;flex:1;font-size:12px}@media (width<=1100px){.metrics{grid-template-columns:repeat(2,1fr)}.license-row{grid-template-columns:1fr}.actions{justify-content:flex-start}}@media (width<=760px){.app-shell{padding-bottom:70px;display:block}aside{border:1px solid #dfe4e8;width:auto;height:66px;padding:7px 10px;display:block;position:fixed;inset:auto 0 0}aside>.brand,.logout{display:none}aside nav{grid-template-columns:repeat(4,1fr);gap:4px;margin:0;display:grid}aside nav button{flex-direction:column;justify-content:center;gap:2px;min-height:50px;font-size:10px}.workspace{padding:0 14px 28px}header{min-height:76px;margin-bottom:18px}.metrics{grid-template-columns:1fr 1fr;gap:9px}.metric{min-height:120px;padding:14px}.toolbar{align-items:stretch}.toolbar .primary{width:42px;padding:0;font-size:0}.toolbar .primary svg{margin:0}.customer-head{align-items:flex-start;padding:15px}.customer-actions{max-width:150px}.license-row{padding:15px}.license-info{grid-template-columns:1fr 1fr}.actions{grid-template-columns:1fr 1fr;display:grid}.row{grid-template-columns:1fr auto}.row>span:last-child{grid-column:1/3}.section{padding:16px}.dialog{align-self:end;margin-bottom:0}.dialog-backdrop{padding:10px 10px max(10px,env(safe-area-inset-bottom));place-items:end center}}@media (width<=420px){.metrics{grid-template-columns:1fr}.toolbar{gap:8px}.license-info{grid-template-columns:1fr}.form-actions{grid-template-columns:1fr 1fr;display:grid}.form-actions button{width:100%}}
