:root{--bg:#071019;--bg2:#0a1521;--panel:#0e1b28;--panel2:#111f2d;--line:#203143;--line2:#2c4259;--text:#f4f7fb;--muted:#8fa0b4;--gold:#d6a444;--gold2:#f0c66b;--purple:#9d62ff;--orange:#ff8a24;--green:#72cf43;--blue:#4e9dff;--red:#ff625f;--shadow:0 24px 70px rgba(0,0,0,.28);--radius:18px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 70% -20%,#14283a 0,#071019 42%,#050b11 100%);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:265px;background:rgba(6,15,24,.97);border-right:1px solid #172636;z-index:30;padding:21px 14px;overflow:auto}.brand{display:flex;align-items:center;gap:13px;padding:7px 9px 22px}.brand-mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-weight:900;font-size:26px;color:#0a1118;background:linear-gradient(145deg,#f1cb71,#a66a17);box-shadow:0 9px 30px rgba(214,164,68,.18)}.brand-mark.big{width:70px;height:70px;border-radius:22px;font-size:42px}.brand strong{display:block;font-size:17px;letter-spacing:.04em}.brand span{display:block;color:var(--gold2);font-size:10px;letter-spacing:.13em;margin-top:3px}.nav{display:flex;flex-direction:column;gap:2px}.nav-section{font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--gold);padding:17px 12px 6px}.nav-item{position:relative;padding:9px 11px;border-radius:11px;color:#b9c5d1;font-size:13px;display:flex;align-items:center;gap:10px;transition:.18s}.nav-item:hover{background:#0f1d2b;color:#fff}.nav-item.active{background:linear-gradient(90deg,rgba(214,164,68,.22),rgba(214,164,68,.07));color:#f6d98e;border:1px solid rgba(214,164,68,.26)}.nav-dot{width:7px;height:7px;border-radius:50%;background:#466074}.nav-item.active .nav-dot{background:var(--gold2);box-shadow:0 0 12px var(--gold)}.sidebar-foot{margin-top:20px;padding:14px 10px;border-top:1px solid #172636;color:#7f92a8;font-size:11px}.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#58c96b;margin-right:7px;box-shadow:0 0 10px #58c96b}.workspace{margin-left:265px;min-height:100vh}.topbar{height:76px;position:sticky;top:0;z-index:20;background:rgba(7,16,25,.83);backdrop-filter:blur(18px);border-bottom:1px solid rgba(38,57,75,.6);display:flex;align-items:center;padding:0 28px;gap:18px}.menu-btn{display:none;background:#101f2d;color:#fff;border:1px solid var(--line);border-radius:10px;width:40px;height:40px}.top-title{display:flex;flex-direction:column;min-width:210px}.top-title small{color:var(--gold);letter-spacing:.12em;font-size:9px;font-weight:900}.top-title strong{font-size:15px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.searchbox{width:min(360px,30vw);display:flex;align-items:center;gap:8px;color:#70859a;background:#0b1824;border:1px solid var(--line);border-radius:13px;padding:9px 12px}.searchbox input{width:100%;background:none;border:0;outline:0;color:#dfe8f1;font-size:12px}.userbox{display:flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:15px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#263e56,#142231);font-weight:800;color:#e8f0f7}.userbox strong{display:block;font-size:12px}.userbox small{display:block;color:#8496a9;font-size:10px}.logout{border:1px solid var(--line);padding:8px 10px;border-radius:10px;color:#9fb0bf;font-size:11px}.content{padding:28px;max-width:1680px;margin:0 auto}.footer{padding:16px 28px 26px;color:#63788c;font-size:10px;text-align:right}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px}.page-head h1{font-size:31px;letter-spacing:-.03em;margin:3px 0 4px}.page-head p{margin:0;color:var(--muted);font-size:13px}.eyebrow{color:var(--gold);font-weight:900;letter-spacing:.12em;font-size:10px}.period-pill,.status-badge,.db-status{border:1px solid var(--line);background:#0c1925;padding:9px 12px;border-radius:11px;color:#93a5b7;font-size:11px}.status-badge{color:#a8d7b0;border-color:rgba(114,207,67,.25)}.panel{background:linear-gradient(180deg,rgba(18,32,45,.96),rgba(10,22,32,.96));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.module-intro{display:flex;align-items:center;gap:18px;padding:22px}.module-icon{width:58px;height:58px;border-radius:16px;background:linear-gradient(145deg,#e9c46c,#a46c1a);color:#071019;display:grid;place-items:center;font-size:32px;font-weight:900}.module-intro h2{margin:0 0 5px}.module-intro p{margin:0;color:var(--muted);font-size:13px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.feature-card{padding:17px;border:1px solid var(--line);border-radius:15px;background:#0b1722}.feature-card strong,.feature-card span{display:block}.feature-card strong{margin-bottom:5px}.feature-card span{color:var(--muted);font-size:12px}.btn{border:1px solid var(--line);border-radius:11px;padding:10px 14px;cursor:pointer;font-weight:800;font-size:12px}.btn.primary{background:linear-gradient(180deg,#e2b653,#bb8127);border-color:#e0b65b;color:#111}.btn.ghost{background:#101e2b;color:#bcc8d3}.btn.full{width:100%}.alert{padding:12px 14px;border-radius:12px;margin-bottom:16px;font-size:12px}.alert.error{background:rgba(255,98,95,.1);border:1px solid rgba(255,98,95,.3);color:#ffaca9}.login-body{min-height:100vh;display:grid;place-items:center;padding:24px}.login-wrap{width:min(920px,96vw);display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:center}.login-brand{text-align:center}.login-brand h1{font-size:40px;margin:15px 0 0;letter-spacing:.06em}.login-brand p{color:var(--gold2);letter-spacing:.18em;font-size:12px}.login-card{background:rgba(13,27,40,.95);border:1px solid var(--line2);border-radius:24px;padding:30px;box-shadow:0 40px 100px rgba(0,0,0,.42)}.login-card h2{font-size:25px;margin:7px 0 4px}.login-card>p{color:var(--muted);font-size:12px;margin:0 0 20px}.login-card label{display:block;color:#a9b8c6;font-size:11px;font-weight:700;margin:12px 0}.login-card input,.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);background:#091722;color:#eaf0f5;border-radius:11px;padding:11px 12px;outline:none;margin-top:6px}.login-card input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#6e90ad;box-shadow:0 0 0 3px rgba(78,157,255,.08)}.login-note{display:block;text-align:center;color:#687d91;margin-top:13px}.modal{position:fixed;inset:0;display:none;place-items:center;background:rgba(2,8,13,.76);backdrop-filter:blur(8px);z-index:100;padding:20px}.modal.show{display:grid}.modal-card{position:relative;width:min(720px,96vw);background:#0d1a27;border:1px solid var(--line2);border-radius:22px;padding:25px;box-shadow:0 40px 100px rgba(0,0,0,.55)}.modal-card h2{margin:5px 0 16px}.modal-x{position:absolute;right:18px;top:15px;background:none;border:0;color:#8da0b2;font-size:28px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label{color:#99aabd;font-size:11px;font-weight:700}.form-grid .full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}

/* Logo oficial Alfa Cards + login responsivo */
.brand-logo{width:44px;height:44px;object-fit:contain;border-radius:10px;flex:0 0 44px}
.login-logo{width:190px;max-width:58vw;height:auto;object-fit:contain;display:block;margin:0 auto 18px}
@media (max-width:760px){
  .login-body{padding:18px 14px;display:block;min-height:100dvh}
  .login-wrap{width:100%;max-width:460px;margin:0 auto;display:flex;flex-direction:column;gap:18px;min-height:calc(100dvh - 36px);justify-content:center}
  .login-brand h1{font-size:28px;margin:8px 0 0}
  .login-brand p{font-size:10px;margin:7px 0 0}
  .login-logo{width:118px;max-width:36vw;margin-bottom:8px}
  .login-card{width:100%;padding:22px 18px;border-radius:18px}
  .login-card h2{font-size:22px}
  .login-card input{min-height:46px;font-size:16px}
  .login-card .btn{min-height:46px}
}
@media (max-width:380px){
  .login-body{padding:12px 10px}
  .login-wrap{min-height:calc(100dvh - 24px);gap:12px}
  .login-logo{width:92px}
  .login-brand h1{font-size:23px}
  .login-card{padding:18px 14px}
}

/* Ajuste visual - logo do dashboard/sidebar menor e discreta */
.sidebar .brand-logo{
  width:32px;
  height:32px;
  flex:0 0 32px;
  object-fit:contain;
  border-radius:7px;
}
.sidebar .brand{
  gap:10px;
}
@media (max-width: 900px){
  .sidebar .brand-logo{
    width:30px;
    height:30px;
    flex-basis:30px;
  }
}
