
/* ============================================================
   CAPA 2 — LAYOUT
   ============================================================ */
.app{display:flex;min-height:100vh}
.side{
  width:248px;flex-shrink:0;
  background:linear-gradient(180deg,var(--bg-soft),var(--bg));
  border-right:1px solid var(--line);
  padding:24px 16px;position:sticky;top:0;height:100vh;
  display:flex;flex-direction:column;gap:6px;
}
.brand{display:flex;align-items:center;gap:11px;padding:6px 8px 22px}
.brand .logo{
  width:38px;height:38px;border-radius:11px;flex-shrink:0;
  background:conic-gradient(from 210deg,var(--accent),var(--accent-2),var(--accent-3),var(--accent));
  display:grid;place-items:center;color:#0d0e12;font-weight:700;
  font-family:var(--display);font-size:19px;box-shadow:0 6px 22px -6px rgba(0,212,255,.7);
}
.brand h1{font-family:var(--display);font-size:18px;font-weight:600;letter-spacing:.2px;line-height:1.1}
.brand h1 span{display:block;font-family:var(--mono);font-size:9.5px;color:var(--txt-faint);
  letter-spacing:2px;text-transform:uppercase;margin-top:3px}
.nav-label{font-family:var(--mono);font-size:9.5px;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--txt-faint);padding:16px 10px 7px}
.nav-item{
  display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:11px;
  color:var(--txt-dim);cursor:pointer;border:1px solid transparent;
  transition:.18s;font-weight:500;user-select:none;
}
.nav-item:hover{background:var(--panel);color:var(--txt)}
.nav-item.active{background:var(--panel-2);color:var(--txt);border-color:var(--line)}
.nav-item.active .ico{color:var(--accent)}
.nav-item .ico{width:18px;text-align:center;color:var(--txt-faint);font-size:15px}
.nav-item .badge{margin-left:auto;background:var(--line);color:var(--txt-dim);
  font-family:var(--mono);font-size:10px;padding:1px 7px;border-radius:20px}
.side-foot{margin-top:auto;padding:14px 10px 0;border-top:1px solid var(--line-soft)}
.who{display:flex;align-items:center;gap:10px}
.who .av{width:32px;height:32px;border-radius:9px;background:var(--accent-2);
  display:grid;place-items:center;font-weight:600;color:#fff;font-size:13px}
.who .nm{font-size:12.5px;font-weight:600}
.who .rl{font-family:var(--mono);font-size:9.5px;color:var(--txt-faint);text-transform:uppercase;letter-spacing:1px}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{
  display:flex;align-items:center;gap:16px;padding:18px 30px;
  border-bottom:1px solid var(--line);background:rgba(13,14,18,.7);
  backdrop-filter:blur(10px);position:sticky;top:0;z-index:20;
}
.topbar h2{font-family:var(--display);font-size:23px;font-weight:600}
.topbar .sub{color:var(--txt-dim);font-size:12.5px;margin-top:1px}
.spacer{flex:1}
.role-switch{display:flex;align-items:center;gap:8px;background:var(--panel);
  border:1px solid var(--line);border-radius:11px;padding:5px 6px 5px 12px}
.role-switch label{font-family:var(--mono);font-size:9.5px;color:var(--txt-faint);text-transform:uppercase;letter-spacing:1px}
select,input,textarea{font-family:var(--sans);color:var(--txt);background:var(--panel-2);
  border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:13px;outline:none}
select:focus,input:focus,textarea:focus{border-color:var(--accent-2)}
.role-switch select{background:var(--panel-2);border:none;padding:6px 8px;font-weight:600;border-radius:7px}
.content{padding:28px 30px 60px;max-width:1280px;width:100%}
