:root{--bg:#f4f7fb;--panel:#fff;--ink:#142033;--muted:#66758a;--line:#dce5ef;--primary:#174ea6;--danger:#b42318;--warn:#9a5a00;--good:#177245;--shadow:0 14px 38px #0f234614;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0}button,input,select,textarea{font:inherit}code{background:#eef2f7;border-radius:6px;padding:2px 5px}.shell{grid-template-columns:280px 1fr;min-height:100vh;display:grid}aside{color:#fff;background:#0f1d32;flex-direction:column;gap:24px;height:100vh;padding:22px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand img{border-radius:14px;width:44px;height:44px}.brand strong{display:block}.brand span{color:#ffffffb3;font-size:.88rem}.brand.login span{color:var(--muted)}nav{gap:8px;display:grid}nav button{color:#ffffffc7;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;padding:12px 14px}nav button.active,nav button:hover{color:#fff;background:#ffffff1f}.session{border:1px solid #ffffff24;border-radius:18px;gap:8px;margin-top:auto;padding:14px;display:grid}.session span{word-break:break-word;color:#ffffffbf}main{width:100%;max-width:1500px;padding:32px}h1,h2,h3{margin:0 0 10px}.head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.head p{color:var(--muted);margin:0}.head-actions{align-items:center;gap:8px;display:flex}.panel,.auth-card,.stat,.app-card,.access-card,.setting-row{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px}.panel{margin-bottom:20px;padding:20px}.auth-screen{background:radial-gradient(circle at top left,#d9e8ff,transparent 34%),var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{gap:14px;width:min(470px,100%);padding:28px;display:grid}.field{gap:7px;margin-bottom:12px;font-weight:650;display:grid}.field small,.muted{color:var(--muted);font-weight:400}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:3px solid #174ea62e}.button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;padding:10px 14px;text-decoration:none;display:inline-flex}.button:hover{border-color:var(--primary);color:var(--primary)}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.button.danger{color:var(--danger);background:#fff5f3;border-color:#fac5bd}.notice{color:#174ea6;background:#eef5ff;border:1px solid #cfe0fb;border-radius:14px;margin:0 0 14px;padding:12px 14px}.notice.error{color:var(--danger);background:#fff4f3;border-color:#fac5bd}.notice.success{color:var(--good);background:#effaf4;border-color:#bee8cf}.notice.warn{color:var(--warn);background:#fff8eb;border-color:#f6d9a4}.stats{grid-template-columns:repeat(4,minmax(170px,1fr));gap:16px;margin-bottom:20px;display:grid}.stat{padding:18px}.stat span{color:var(--muted)}.stat strong{margin-top:6px;font-size:2rem;display:block}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.filters{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:12px;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.form-grid h2{grid-column:1/-1}.check{align-items:center;gap:8px;margin:8px 0;display:flex}.check input{width:auto}.access-picker{border:1px solid var(--line);border-radius:14px;grid-template-columns:1.1fr .8fr 1fr;align-items:center;gap:8px;padding:10px;display:grid}.table-wrap{border:1px solid var(--line);border-radius:16px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}th{color:#40506a;letter-spacing:.03em;text-transform:uppercase;background:#f8fbff;font-size:.84rem}.link{color:var(--primary);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.link span{color:var(--muted);font-weight:400;display:block}.badge-line{flex-wrap:wrap;gap:6px;display:flex}.badge{color:#4a5568;white-space:nowrap;background:#edf2f7;border-radius:999px;align-items:center;padding:4px 9px;font-size:.8rem;font-weight:700;display:inline-flex}.badge.good{color:var(--good);background:#e7f7ee}.badge.bad{color:var(--danger);background:#fff0ee}.badge.warn{color:var(--warn);background:#fff4db}.badge.info{color:var(--primary);background:#eaf2ff}.badge.muted{color:#7a8495;background:#f0f2f5}.actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.access-grid,.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.access-card,.app-card{text-align:left;padding:18px}.app-card{cursor:pointer;color:inherit}.app-card:hover{border-color:var(--primary);transform:translateY(-1px)}dl{grid-template-columns:180px 1fr;gap:10px 20px;display:grid}dt{color:var(--muted);font-weight:700}dd{margin:0}.settings-list{gap:14px;display:grid}.setting-row{grid-template-columns:1fr minmax(160px,260px);align-items:center;gap:18px;padding:18px;display:grid}.setting-row p{color:var(--muted);margin:4px 0}.setting-row small{color:var(--muted)}.install-help{border:1px dashed var(--line);background:#f8fbff;border-radius:16px;margin-top:12px;padding:14px}.install-help li{margin:6px 0}.technical-card{border:1px dashed var(--line);background:#f8fbff;border-radius:14px;margin:12px 0;padding:12px}.technical-card h4{margin:0 0 8px}.technical-card p{margin:6px 0}pre{color:#dce9ff;background:#101827;border-radius:14px;padding:16px;overflow:auto}@media (width<=980px){.shell{grid-template-columns:1fr}aside{height:auto;position:relative}nav{grid-template-columns:repeat(3,minmax(0,1fr))}main{padding:18px}.stats,.access-grid,.cards,.grid.two,.filters,.form-grid,.access-picker{grid-template-columns:1fr}}@media (width<=600px){.head{flex-direction:column}nav{grid-template-columns:1fr 1fr}.setting-row,dl{grid-template-columns:1fr}}
