:root { --bg:#0b1220; --panel:#0f1a2e; --panel2:#101f36; --text:#e9eefc; --muted:#9fb0d0; --line:rgba(255,255,255,.08); }
*{box-sizing:border-box} body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:#060b16;color:var(--text)}
a{color:inherit;text-decoration:none}
.app{display:flex;min-height:100vh}
.sidebar{width:260px;background:linear-gradient(180deg,var(--panel),#0b1426);border-right:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:16px}
.brand{display:flex;gap:10px;align-items:center}
.logo{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center}
.brand-name{font-weight:700}
.brand-sub{color:var(--muted);font-size:12px}
.menu{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.item{padding:10px 12px;border-radius:10px;background:transparent;border:1px solid transparent}
.item:hover{background:rgba(255,255,255,.06);border-color:var(--line)}
.item.active{background:rgba(255,255,255,.06);border-color:var(--line)}
.logout{margin-top:auto}
.logout button{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);cursor:pointer}
.main{flex:1;display:flex;flex-direction:column}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}
.title{font-weight:700}
.user{color:var(--muted);font-size:13px}
.content{padding:18px}
.card{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;padding:14px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.kpi{padding:14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.kpi .label{color:var(--muted);font-size:12px}
.kpi .value{font-size:22px;font-weight:800;margin-top:6px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:top}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--text);cursor:pointer}
.btn.primary{background:rgba(66,133,244,.25);border-color:rgba(66,133,244,.35)}
.btn.danger{background:rgba(244,67,54,.16);border-color:rgba(244,67,54,.28)}
.input, select, textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text)}
label{display:block;margin:10px 0 6px;color:var(--muted);font-size:13px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.notice{padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);margin-bottom:10px}
.notice.ok{border-color:rgba(76,175,80,.35);background:rgba(76,175,80,.10)}
.notice.err{border-color:rgba(244,67,54,.35);background:rgba(244,67,54,.10)}
.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted)}
@media (max-width: 1000px){ .grid{grid-template-columns:repeat(2,1fr)} .sidebar{width:220px} }
@media (max-width: 700px){ .app{flex-direction:column} .sidebar{width:auto} .row{grid-template-columns:1fr} }
