:root{--bg:#081326;--side:#0a1730;--panel:#122343;--panel2:#172b50;--line:#294066;--text:#eff5ff;--muted:#9db0d2;--accent:#2ecbb0;--accent2:#1aa88f;--danger:#ff5a63;--warn:#ffbd42;--ok:#42dc8d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 70% 0,#12274b 0,var(--bg) 45%);color:var(--text);font:14px Inter,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:#182d52;color:var(--text);padding:10px 15px;font-weight:650}button:hover{filter:brightness(1.12)}button.primary{background:var(--accent);border-color:var(--accent);color:#041d1a}button.danger{background:#351b2a;border-color:#703044;color:#ff9da3}.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(410px,100%);padding:34px;background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px #0007}.brand-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#32ddbf,#2a8cf0);color:#062038;font-weight:900;font-size:28px}.brand-mark.small{width:42px;height:42px;border-radius:12px;font-size:20px}.auth-card h1{margin:20px 0 6px}.auth-card p,.panel-title p,header p{color:var(--muted);margin:0 0 22px}.auth-card label,label{display:grid;gap:7px;color:var(--muted);font-weight:600}.auth-card input,.auth-card button{width:100%;margin:7px 0 12px}.message{min-height:20px;color:#ff9aa0}.app{min-height:100vh;display:grid;grid-template-columns:220px 1fr}aside{position:sticky;top:0;height:100vh;padding:22px 16px;background:#07142c;border-right:1px solid var(--line);display:flex;flex-direction:column}.logo-row{display:flex;gap:11px;align-items:center;padding:0 4px 28px}.logo-row b{font-size:18px}.logo-row small{display:block;color:var(--muted);margin-top:2px}nav{display:grid;gap:7px}nav button{text-align:left;background:transparent;border-color:transparent;color:var(--muted)}nav button.active{background:#17325a;color:var(--text);border-color:#27436b}.logout{margin-top:auto;background:transparent;color:var(--muted)}main{padding:27px;min-width:0}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}header h1{margin:0 0 4px;font-size:25px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:13px;padding:17px}.stat small{color:var(--muted)}.stat b{display:block;font-size:25px;margin-top:9px}.stat.ok b{color:var(--ok)}.stat.warn b{color:var(--warn)}.stat.money b{color:#66b4ff}.panel{background:linear-gradient(145deg,#132647,#0f203d);border:1px solid var(--line);border-radius:15px;padding:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-title h2{margin:0 0 4px;font-size:18px}.panel-title p{margin:0}.panel-title input{width:270px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#0b1931;color:var(--text);padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}table{width:100%;border-collapse:collapse}th{padding:11px 10px;text-align:left;color:#a9c0e8;font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid #22395c;vertical-align:middle}tbody tr:hover{background:#172b4d}.muted{color:var(--muted)}.right{text-align:right}.badge{display:inline-flex;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:800}.badge.active{background:#164538;color:#65e7a8}.badge.suspended,.badge.expired{background:#442435;color:#ff9aa3}.badge.trial{background:#42391e;color:#ffd36e}.machine{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:11px Consolas,monospace;color:#b9c9e4}.activity-list{display:grid}.activity{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:13px 5px;border-bottom:1px solid #22395c}.activity time{color:var(--muted)}.modal,.drawer{position:fixed;inset:0;background:#030915bb;z-index:20;display:grid;place-items:center;padding:20px}.modal-card{width:min(680px,100%);max-height:92vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.modal-head,.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h2,.drawer-head h2{margin:0}.modal-head button,.drawer-head button{font-size:22px;padding:2px 10px;background:transparent;border:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .wide{grid-column:1/-1}.form-grid.compact{gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.drawer{place-items:stretch end;padding:0}.drawer-card{width:min(520px,100%);height:100vh;overflow:auto;background:#0d1d37;border-left:1px solid var(--line);padding:23px;box-shadow:-20px 0 70px #0007}.drawer-head p{color:var(--muted);margin:5px 0}.drawer-section{padding:17px 0;border-top:1px solid var(--line);display:grid;gap:11px}.drawer-section h3{margin:0;font-size:15px}.full{width:100%}.hint{color:var(--muted);font-size:12px;margin:0}.payment-line{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #203655}.toast{position:fixed;right:25px;bottom:25px;background:#1c3b52;border:1px solid #39718c;border-radius:10px;padding:13px 18px;z-index:50;box-shadow:0 12px 35px #0008}@media(max-width:850px){.app{grid-template-columns:1fr}aside{position:static;height:auto;flex-direction:row;align-items:center;gap:10px}.logo-row{padding:0;margin-right:auto}nav{display:flex}.logout{margin:0}main{padding:16px}.stats{grid-template-columns:1fr 1fr}.panel-title{align-items:stretch;gap:12px;flex-direction:column}.panel-title input{width:100%}.table-scroll{overflow:auto}}@media(max-width:520px){.stats{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}header{align-items:flex-start;gap:12px;flex-direction:column}nav button{padding:8px}.logo-row div:last-child{display:none}}
