:root{
  --navy:#071a3f;--navy-2:#0a2f73;--navy-3:#0d3f91;--blue:#2563eb;--blue-2:#3b82f6;
  --cyan:#06b6d4;--teal:#14b8a6;--green:#16a34a;--green-2:#22c55e;--red:#ef4444;
  --coral:#ff5c5c;--amber:#f59e0b;--orange:#f97316;--violet:#7c3aed;--purple:#9333ea;
  --pink:#db2777;--indigo:#4f46e5;--ink:#10203d;--muted:#6f7f99;--line:#e1e8f2;
  --bg:#eef5ff;--card:#fff;--shadow:0 14px 36px rgba(27,61,126,.09);--shadow-lg:0 24px 70px rgba(14,42,93,.17);--radius:19px;
}
*{box-sizing:border-box}[hidden]{display:none!important}html{min-height:100%;scroll-behavior:smooth}
body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(135deg,#f4f8ff 0%,#eef5ff 52%,#f8f3ff 100%);color:var(--ink);overflow-x:hidden}
button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:12px;padding:11px 15px;background:linear-gradient(135deg,var(--navy-2),var(--blue));color:#fff;font-weight:760;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,background .18s ease}button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(22,67,151,.2);filter:saturate(1.08)}button:active{transform:translateY(0)}button.secondary,.secondary{background:linear-gradient(135deg,#e6f0ff,#edf5ff);color:#17408f}.ghost{background:transparent;color:var(--ink);box-shadow:none}.danger{background:linear-gradient(135deg,#fff0f0,#ffe2e2);color:#b42332}.danger-text{color:#c43b48!important;background:transparent;box-shadow:none}.small{padding:7px 10px;font-size:12px;background:#eef4fc;color:#334155;box-shadow:none}.icon{display:grid;place-items:center;width:42px;height:42px;padding:0;background:transparent;color:var(--ink);font-size:20px;box-shadow:none}.link{background:transparent;color:#2354a5;padding:8px;box-shadow:none}.ico{display:block;flex:none}

/* Loading */
.loading{position:fixed;inset:0;min-height:100dvh;display:grid;place-items:center;z-index:9999;background:radial-gradient(circle at 20% 10%,#d9f8f0 0,transparent 32%),radial-gradient(circle at 80% 15%,#dceaff 0,transparent 34%),linear-gradient(135deg,#f8fbff,#edf4ff);color:var(--navy)}
.loading-inner{display:grid;justify-items:center;gap:12px;font-weight:800}.loading-inner img{width:72px;height:72px;filter:drop-shadow(0 14px 24px rgba(13,63,145,.22));animation:logoPulse 1.4s ease-in-out infinite}.loading-inner small{font-weight:600;color:var(--muted)}
.loading-ring{width:34px;height:34px;border-radius:50%;border:3px solid #dbe8fb;border-top-color:var(--blue);animation:spin .8s linear infinite}

/* Login / cadastro */
.auth{min-height:100dvh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 14% 18%,rgba(45,212,191,.16),transparent 31%),radial-gradient(circle at 82% 14%,rgba(59,130,246,.18),transparent 34%),linear-gradient(135deg,#f7fbff,#eef5ff 56%,#f6f0ff)}
.auth-shell{width:min(1180px,100%);min-height:700px;display:grid;grid-template-columns:minmax(420px,.88fr) minmax(440px,1.12fr);background:rgba(255,255,255,.84);border:1px solid rgba(215,226,242,.92);border-radius:30px;overflow:hidden;box-shadow:0 35px 100px rgba(14,46,105,.18);backdrop-filter:blur(12px);animation:rise .42s ease}
.auth-panel{padding:54px 56px;display:flex;flex-direction:column;justify-content:center;background:rgba(255,255,255,.95)}
.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:34px}.auth-brand img{width:62px;height:62px;filter:drop-shadow(0 11px 22px rgba(37,99,235,.22))}.auth-brand b{display:block;font-size:28px;letter-spacing:-.035em;color:var(--navy)}.auth-brand small{display:block;color:#61728d;font-size:13px;margin-top:2px}
.auth-panel h1{font-size:31px;line-height:1.08;letter-spacing:-.03em;margin:0 0 8px;color:var(--navy)}.auth-panel>.auth-subtitle{margin:0 0 28px;color:var(--muted);font-size:15px}.auth-form{display:grid;gap:16px}.auth-form label,form label{display:grid;gap:8px;font-size:13px;font-weight:760;color:#31445f}.auth-form input,.auth-form select,.form-grid input,.form-grid select{width:100%;border:1px solid #cfdbeb;background:#fff;padding:12px 14px;border-radius:12px;outline:0;transition:border-color .16s,box-shadow .16s,transform .16s}.auth-form input{min-height:49px}.auth-form input:focus,.form-grid input:focus,.form-grid select:focus{border-color:#4e83ea;box-shadow:0 0 0 4px rgba(37,99,235,.11);transform:translateY(-1px)}.auth-form>button:not(.link){min-height:50px;font-size:15px;margin-top:3px;background:linear-gradient(100deg,#1d4ed8,#1677f2 65%,#06b6d4)}
.auth-separator{display:flex;align-items:center;gap:12px;color:#9aa8bc;font-size:12px;margin:22px 0 14px}.auth-separator:before,.auth-separator:after{content:"";height:1px;flex:1;background:#e1e8f2}.auth-alt{width:100%;background:linear-gradient(135deg,#eef5ff,#f6f9ff);color:#164890;border:1px solid #dbe7f7;box-shadow:none}.auth-alt:hover{background:#e7f1ff;box-shadow:none}.secure-note{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:22px;color:#8a99af;font-size:11px}.secure-note svg{color:#6681a9}
.auth-visual{position:relative;overflow:hidden;padding:58px 56px;color:#fff;background:radial-gradient(circle at 18% 12%,rgba(60,187,255,.72),transparent 30%),radial-gradient(circle at 82% 78%,rgba(42,231,179,.28),transparent 30%),linear-gradient(145deg,#0b65d8 0%,#0b3e9b 46%,#071f56 100%)}.auth-visual:before{content:"";position:absolute;inset:auto -16% -23% -8%;height:47%;background:radial-gradient(ellipse at 20% 100%,#173c6e 0 18%,transparent 19%),radial-gradient(ellipse at 46% 100%,#0f315e 0 30%,transparent 31%),radial-gradient(ellipse at 78% 100%,#082851 0 40%,transparent 41%);opacity:.78}.auth-visual:after{content:"";position:absolute;right:-90px;top:-85px;width:310px;height:310px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 65px rgba(255,255,255,.035),0 0 0 130px rgba(255,255,255,.025)}
.auth-visual-content{position:relative;z-index:2;max-width:470px}.auth-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.17);font-weight:700;font-size:12px}.auth-visual h2{font-size:41px;line-height:1.06;letter-spacing:-.04em;margin:22px 0 14px}.auth-visual>div>p{font-size:16px;line-height:1.55;color:#deecff;margin:0 0 30px}.auth-features{display:grid;gap:13px}.auth-feature{display:grid;grid-template-columns:44px 1fr;gap:13px;align-items:center;padding:12px 14px;border-radius:15px;background:rgba(255,255,255,.095);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(4px);transition:transform .2s,background .2s}.auth-feature:hover{transform:translateX(5px);background:rgba(255,255,255,.14)}.auth-feature i{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--feature,#28c5ff);box-shadow:0 10px 22px rgba(1,19,51,.22)}.auth-feature b{display:block;font-size:14px}.auth-feature small{display:block;color:#cfe0fa;font-size:12px;margin-top:2px}.auth-motto{position:absolute;z-index:2;right:45px;bottom:34px;font-size:13px;color:#cfe2ff;font-style:italic;text-align:right;max-width:210px}

/* App shell */
#shell:not([hidden]){display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100dvh;width:100%}
.sidebar{position:sticky;top:0;height:100dvh;width:250px;background:radial-gradient(circle at 0 0,rgba(37,99,235,.24),transparent 29%),linear-gradient(180deg,#09275f 0%,#071f52 48%,#061944 100%);border-right:1px solid rgba(255,255,255,.07);padding:16px 12px 14px;display:flex;flex-direction:column;z-index:30;box-shadow:10px 0 40px rgba(8,31,77,.08)}
.brand{display:flex;align-items:center;gap:11px;padding:8px 9px 20px;color:#fff}.brand img{width:42px;height:42px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.22))}.brand small,.brand b{display:block}.brand b{font-size:17px;letter-spacing:-.02em}.brand small{font-size:10px;color:#8fb4ec;margin-top:2px}
.sidebar nav{display:grid;gap:5px;overflow:auto;padding:2px 1px 10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.sidebar nav button{--nav-accent:#3b82f6;--nav-soft:rgba(59,130,246,.16);position:relative;width:100%;background:transparent;color:#d8e6fb;text-align:left;display:flex;gap:11px;align-items:center;font-weight:660;box-shadow:none;padding:9px 10px;border-radius:12px;overflow:hidden}.sidebar nav button:before{content:"";position:absolute;left:0;top:21%;bottom:21%;width:3px;border-radius:10px;background:var(--nav-accent);transform:scaleY(0);transition:transform .18s ease;box-shadow:0 0 14px var(--nav-accent)}.sidebar nav button i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#fff;background:var(--nav-accent);box-shadow:0 7px 16px color-mix(in srgb,var(--nav-accent) 28%,transparent);transition:transform .2s ease,filter .2s ease}.sidebar nav button span{transition:transform .2s ease,color .2s ease}.sidebar nav button:hover{background:var(--nav-soft);color:#fff;box-shadow:none;transform:none}.sidebar nav button:hover i{transform:scale(1.09) rotate(-3deg);filter:brightness(1.1)}.sidebar nav button:hover span{transform:translateX(2px)}.sidebar nav button.active{background:linear-gradient(90deg,var(--nav-soft),rgba(255,255,255,.05));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.055)}.sidebar nav button.active:before{transform:scaleY(1)}.sidebar nav button.active i{filter:brightness(1.08);transform:scale(1.03)}
.sidebar nav button[data-route="dashboard"]{--nav-accent:#2f80ff;--nav-soft:rgba(47,128,255,.18)}.sidebar nav button[data-route="lancamentos"]{--nav-accent:#10b981;--nav-soft:rgba(16,185,129,.17)}.sidebar nav button[data-route="contas"]{--nav-accent:#06b6d4;--nav-soft:rgba(6,182,212,.17)}.sidebar nav button[data-route="cartoes"]{--nav-accent:#8b5cf6;--nav-soft:rgba(139,92,246,.18)}.sidebar nav button[data-route="categorias"]{--nav-accent:#f97316;--nav-soft:rgba(249,115,22,.18)}.sidebar nav button[data-route="patrimonio"]{--nav-accent:#a855f7;--nav-soft:rgba(168,85,247,.18)}.sidebar nav button[data-route="metas"]{--nav-accent:#d946ef;--nav-soft:rgba(217,70,239,.17)}.sidebar nav button[data-route="investimentos"]{--nav-accent:#22c55e;--nav-soft:rgba(34,197,94,.17)}.sidebar nav button[data-route="planejamento"]{--nav-accent:#f59e0b;--nav-soft:rgba(245,158,11,.18)}.sidebar nav button[data-route="familia"]{--nav-accent:#fb7185;--nav-soft:rgba(251,113,133,.18)}.sidebar nav button[data-route="importacao"]{--nav-accent:#14b8a6;--nav-soft:rgba(20,184,166,.18)}.sidebar nav button[data-route="relatorios"]{--nav-accent:#0ea5e9;--nav-soft:rgba(14,165,233,.18)}.sidebar nav button[data-route="notificacoes"]{--nav-accent:#ff7a18;--nav-soft:rgba(255,122,24,.19)}.sidebar nav button[data-route="perfil"]{--nav-accent:#94a3b8;--nav-soft:rgba(148,163,184,.15)}
.sidebar-foot{margin-top:auto;display:grid;gap:8px;padding-top:10px}.sidebar-foot .secondary{background:linear-gradient(135deg,#1266d8,#2787ff);color:#fff;box-shadow:0 9px 22px rgba(0,101,219,.24)}.sidebar-foot .danger{background:linear-gradient(135deg,rgba(255,82,105,.28),rgba(157,43,105,.34));color:#ffdce2;border:1px solid rgba(255,255,255,.08)}.sidebar-version{text-align:left;padding:8px 8px 0;color:#6f98d3;font-size:9px;line-height:1.45}.sidebar-version b{color:#8db6ef}
.main{min-width:0;min-height:100dvh;overflow:visible;background:radial-gradient(circle at 45% 0,rgba(45,178,255,.09),transparent 30%),radial-gradient(circle at 86% 8%,rgba(168,85,247,.08),transparent 22%),linear-gradient(135deg,#f4f8ff 0%,#edf5ff 58%,#f7f3ff 100%)}
.topbar{height:76px;background:rgba(255,255,255,.91);border-bottom:1px solid rgba(213,225,242,.9);display:flex;align-items:center;gap:13px;padding:9px 28px;position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.topbar h1{font-size:20px;line-height:1.1;margin:3px 0 0;color:var(--navy)}.topbar small{color:#8795aa}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.top-actions .icon{position:relative;border-radius:12px;background:#f3f7fd;color:#263b5b}.top-actions .icon:hover{background:#eaf2ff;box-shadow:none}.badge{position:absolute;right:1px;top:1px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;background:linear-gradient(135deg,#ff3b58,#ef4444);color:#fff;border-radius:99px;font-size:10px;border:2px solid #fff}.top-profile{display:flex;align-items:center;gap:9px;padding:5px 9px 5px 5px;border:1px solid #e2e9f3;background:#fff;border-radius:13px}.top-avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;font-weight:850}.top-profile b,.top-profile small{display:block}.top-profile b{font-size:12px}.top-profile small{font-size:10px;margin-top:1px}

/* Conteúdo e dashboard */
#content{width:min(1450px,100%);margin:0 auto;padding:27px 30px 42px;min-height:0;animation:contentIn .25s ease}.welcome,.section-intro,.card-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.welcome{margin-bottom:22px}.welcome>div>span{font-size:11px;font-weight:850;color:var(--blue);text-transform:uppercase;letter-spacing:.075em}.welcome h2,.section-intro h2{margin:4px 0;font-size:27px;letter-spacing:-.035em;color:var(--navy)}.welcome p,.section-intro p{margin:5px 0;color:var(--muted)}.welcome>button{background:linear-gradient(110deg,#0b2a64,#1d4ed8 72%,#06b6d4);box-shadow:0 12px 25px rgba(29,78,216,.18)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat{--stat:#3b82f6;--stat-soft:#eaf2ff;position:relative;background:linear-gradient(145deg,#fff 0%,var(--stat-soft) 155%);border:1px solid color-mix(in srgb,var(--stat) 18%,#e4eaf3);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.stat:hover{transform:translateY(-3px);box-shadow:0 18px 42px color-mix(in srgb,var(--stat) 13%,transparent)}.stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--stat),transparent 85%)}.stat:after{content:"";position:absolute;inset:auto -24px -39px auto;width:112px;height:112px;border-radius:50%;background:color-mix(in srgb,var(--stat) 11%,transparent)}.stat-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.stat-top span,.stat small{display:block;color:#61718a;font-size:12px}.stat-top i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--stat);color:#fff;position:relative;z-index:1;box-shadow:0 9px 18px color-mix(in srgb,var(--stat) 25%,transparent)}.stat strong{display:block;font-size:25px;letter-spacing:-.035em;margin:12px 0 4px;position:relative;z-index:1;color:var(--navy)}.stat small{position:relative;z-index:1}.stat-wallet{--stat:#2f80ff;--stat-soft:#eef6ff}.stat-income{--stat:#16b875;--stat-soft:#edfff7}.stat-expense{--stat:#ff4f6d;--stat-soft:#fff0f3}.stat-wealth{--stat:#7c3aed;--stat-soft:#f4efff}.stat-trend{display:inline-flex!important;align-items:center;gap:4px;margin-top:6px;font-weight:750;color:var(--stat)!important}
.grid2{display:grid;grid-template-columns:1.55fr 1fr;gap:18px;margin-bottom:18px}.grid3{display:grid;grid-template-columns:1.12fr 1fr 1.12fr;gap:18px;margin-bottom:18px}.card{background:rgba(255,255,255,.96);border:1px solid rgba(220,229,241,.96);border-radius:var(--radius);padding:20px;margin-bottom:18px;box-shadow:var(--shadow);transition:border-color .18s,box-shadow .18s}.card:hover{border-color:#d4e1f1}.card h3{margin:0;font-size:15px;color:var(--navy)}.card-head{margin-bottom:16px}.card-head small{color:#8a99af}.card-link{background:transparent;color:var(--blue);font-size:12px;padding:5px 8px;box-shadow:none}.card-link:hover{box-shadow:none;transform:none;text-decoration:underline}
.chart-card{position:relative;overflow:hidden}.chart-card:before{content:"";position:absolute;left:-60px;top:-70px;width:220px;height:220px;border-radius:50%;background:rgba(37,99,235,.035)}.chart-legend{display:flex;gap:14px;align-items:center;font-size:11px;color:#63748d}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:8px;height:8px;border-radius:50%}.chart-legend .lg-income{background:#16b875}.chart-legend .lg-expense{background:#ff4f6d}.bars{height:235px;display:flex;align-items:end;justify-content:space-around;gap:14px;overflow-x:auto;padding:28px 8px 5px;border-top:1px dashed #e6edf7;position:relative}.bar-col{min-width:45px;text-align:center}.bar-wrap{height:178px;display:flex;align-items:end;justify-content:center;gap:6px}.bar{width:13px;border-radius:7px 7px 3px 3px;display:block;min-height:4px;transform-origin:bottom;animation:barGrow .55s cubic-bezier(.2,.8,.2,1);box-shadow:0 7px 14px rgba(20,38,76,.08)}.bar.income{background:linear-gradient(180deg,#3ee6aa,#16b875)}.bar.expense{background:linear-gradient(180deg,#ff8a9e,#ff4f6d)}.bar-col small{font-size:10px;color:#8b9bb0}.bar-values{display:block;font-size:9px;color:#a0aec0;margin-top:3px}
.summary-list{display:grid;gap:2px}.summary-list div{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f6}.summary-list div:last-child{border-bottom:0}.summary-list i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--sum-bg,#eaf2ff);color:var(--sum,#2563eb)}.summary-list span{color:#66758d;font-size:13px}.summary-list b{color:var(--navy);font-size:13px}.summary-list .sum-card{--sum:#8b5cf6;--sum-bg:#f2ecff}.summary-list .sum-limit{--sum:#16b875;--sum-bg:#e9fbf4}.summary-list .sum-debt{--sum:#ef4444;--sum-bg:#fff0f0}.summary-list .sum-account{--sum:#2563eb;--sum-bg:#eaf2ff}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.quick-grid button{--quick:#2563eb;--quick-soft:#eef5ff;background:linear-gradient(145deg,#fff,var(--quick-soft));color:#25436e;box-shadow:none;border:1px solid color-mix(in srgb,var(--quick) 18%,#e4eaf3);display:flex;align-items:center;justify-content:flex-start;gap:10px}.quick-grid button i{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--quick);color:#fff}.quick-grid button:nth-child(2){--quick:#10b981;--quick-soft:#edfff8}.quick-grid button:nth-child(3){--quick:#8b5cf6;--quick-soft:#f5f0ff}.quick-grid button:nth-child(4){--quick:#d946ef;--quick-soft:#fff0ff}.quick-grid button:nth-child(5){--quick:#14b8a6;--quick-soft:#effffb}.quick-grid button:nth-child(6){--quick:#fb7185;--quick-soft:#fff1f4}.quick-grid button:hover{box-shadow:0 9px 20px color-mix(in srgb,var(--quick) 12%,transparent);transform:translateY(-2px)}
.dashboard-list{display:grid;gap:3px}.dash-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf1f6}.dash-row:last-child{border-bottom:0}.dash-row-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--row-bg,#eef5ff);color:var(--row,#2563eb)}.dash-row b{display:block;font-size:12px;color:#1d2f4d}.dash-row small{display:block;color:#8493a9;font-size:10px;margin-top:2px}.dash-row-value{font-size:12px;font-weight:800;white-space:nowrap}.positive{color:#119d65}.negative{color:#e63c55}.neutral{color:#31527f}.goal-row{padding:10px 0;border-bottom:1px solid #edf1f6}.goal-row:last-child{border-bottom:0}.goal-top{display:flex;justify-content:space-between;gap:10px;font-size:12px}.goal-top b{color:#263a59}.goal-top span{color:#71819a}.progress{height:8px;background:#edf2f8;border-radius:99px;overflow:hidden;margin-top:7px}.progress>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2563eb,#06b6d4);transform-origin:left;animation:progressGrow .55s ease}.goal-row:nth-child(2n) .progress>span{background:linear-gradient(90deg,#10b981,#22c55e)}.goal-row:nth-child(3n) .progress>span{background:linear-gradient(90deg,#8b5cf6,#d946ef)}
.notification-mini{display:grid;gap:2px}.notification-mini .dash-row-icon{background:#fff3e9;color:#f97316}.notification-mini .dash-row[data-severity="CRITICO"] .dash-row-icon{background:#fff0f0;color:#ef4444}.notification-mini .dash-row[data-severity="ATENCAO"] .dash-row-icon{background:#fff7e6;color:#f59e0b}

/* CRUD, formulários e telas internas */
.section-intro{margin-bottom:18px}.section-intro>div:first-child{min-width:0}.table-wrap{overflow:auto;border:1px solid #e6edf6;border-radius:13px;background:#fff}.table-wrap table{width:100%;border-collapse:collapse;min-width:650px}.table-wrap th,.table-wrap td{text-align:left;padding:12px 10px;border-bottom:1px solid #edf0f4;font-size:13px}.table-wrap tr:last-child td{border-bottom:0}.table-wrap tbody tr{transition:background .14s}.table-wrap tbody tr:hover{background:#f5f9ff}.table-wrap th{background:linear-gradient(180deg,#f9fbff,#f4f8fd);color:#64748b;font-weight:760;position:sticky;top:0}.row-actions{text-align:right!important;white-space:nowrap}.empty{text-align:center;color:#94a3b8;padding:35px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .wide{grid-column:1/-1}.form-grid>button{justify-self:start}.modal-backdrop{position:fixed;inset:0;background:rgba(6,24,59,.67);display:grid;place-items:center;padding:18px;z-index:100;animation:fade .16s ease;backdrop-filter:blur(4px)}.modal-card{background:#fff;width:min(700px,100%);max-height:90dvh;overflow:auto;border-radius:22px;padding:24px;box-shadow:0 28px 90px rgba(0,0,0,.25);animation:rise .2s ease}.modal-card h2{margin-top:0;color:var(--navy)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.alert{padding:11px 13px;border-radius:11px;margin-bottom:14px}.error{background:#fee8e8;color:#991b1b;border:1px solid #ffd1d1}.toast{position:fixed;right:20px;bottom:20px;background:linear-gradient(135deg,#0b2a64,#123e90);color:#fff;padding:13px 16px;border-radius:13px;z-index:200;box-shadow:0 14px 35px rgba(11,23,54,.25);animation:rise .18s ease}.members{display:grid;gap:8px}.member{display:flex;gap:12px;align-items:center;padding:12px;background:#f7faff;border:1px solid #e8eef7;border-radius:12px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;font-weight:850}.member small{display:block;color:#64748b;margin-top:3px}.report-list{display:grid}.report-list div{display:grid;grid-template-columns:1fr auto auto;gap:20px;padding:12px 0;border-bottom:1px solid #edf0f4}.report-list em{font-style:normal;color:var(--red)}.notification-list{display:grid;gap:8px}.notification{background:#f7faff;color:var(--ink);text-align:left;display:flex;gap:12px;width:100%;box-shadow:none;border:1px solid #e9eff7}.notification:hover{background:#f2f7ff;box-shadow:none}.notification.read{opacity:.65}.notification p{margin:5px 0;color:#64748b;font-weight:400}.notification small{color:#94a3b8}.dot{width:9px;height:9px;border-radius:50%;background:var(--blue);margin-top:5px;flex:none}.dot.critico{background:#ef4444}.dot.atencao{background:#f59e0b}.dot.info{background:#3b82f6}.skeleton{height:280px;background:linear-gradient(90deg,#e8f0fa,#f8fbff,#e8f0fa);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:18px}

@keyframes sk{to{background-position:-200% 0}}@keyframes contentIn{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes logoPulse{50%{transform:translateY(-4px);filter:drop-shadow(0 18px 28px rgba(13,63,145,.28))}}@keyframes barGrow{from{transform:scaleY(.04);opacity:.3}to{transform:scaleY(1);opacity:1}}@keyframes progressGrow{from{transform:scaleX(.05)}to{transform:scaleX(1)}}

@media(max-width:1120px){.auth-shell{grid-template-columns:minmax(390px,.95fr) minmax(390px,1.05fr)}.auth-panel,.auth-visual{padding:44px 38px}.auth-visual h2{font-size:36px}.grid3{grid-template-columns:1fr 1fr}.grid3>.card:last-child{grid-column:1/-1}}
@media(max-width:1050px){#shell:not([hidden]){grid-template-columns:232px minmax(0,1fr)}.sidebar{width:232px}.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}#content{padding:24px}.top-profile>div{display:none}}
@media(max-width:899px){.auth{padding:16px}.auth-shell{display:block;min-height:0;width:min(520px,100%)}.auth-panel{padding:38px 30px}.auth-visual{display:none}#shell:not([hidden]){display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;height:100dvh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:none}.main{min-height:100dvh}.nav-open .sidebar{transform:translateX(0);box-shadow:18px 0 50px rgba(11,23,54,.28)}.nav-open:after{content:"";position:fixed;inset:0;background:rgba(8,20,45,.45);z-index:25;backdrop-filter:blur(2px)}.topbar{height:68px;padding:9px 16px}.topbar h1{font-size:19px}#content{padding:20px 16px 32px}.grid3{grid-template-columns:1fr}.grid3>.card:last-child{grid-column:auto}}
@media(max-width:620px){.auth-panel{padding:32px 22px}.auth-brand{margin-bottom:25px}.auth-brand img{width:54px;height:54px}.auth-brand b{font-size:24px}.auth-panel h1{font-size:27px}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:14px}.stat strong{font-size:19px}.welcome,.section-intro{align-items:flex-start;flex-direction:column}.welcome button,.section-intro button{width:100%}.card{padding:15px}.quick-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal-card{padding:18px}.table-wrap table{min-width:620px}.top-profile{display:none}.bars{height:215px}.bar-wrap{height:155px}}
@media(max-width:440px){.stats{grid-template-columns:1fr}.auth-brand b{font-size:22px}.auth-panel h1{font-size:25px}.topbar{gap:7px}.topbar .icon{width:36px;height:36px}.welcome h2,.section-intro h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
