@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap");:root{--bg:#06090f;--panel:#0a0f18;--card:#101725;--line:#1c2b3e;--muted:#73849a;--text:#eef5ff;--cyan:#00f0f0;--orange:#f57000;--amber:#fbb000}*{box-sizing:border-box}body,html{margin:0;background:radial-gradient(circle at 82% 0,#10233a 0,transparent 34%),var(--bg);color:var(--text);font-family:Inter,system-ui;min-height:100%}button,input,select{font:inherit}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:fixed;width:260px;height:100vh;background:rgba(7,11,18,.97);border-right:1px solid var(--line);padding:28px 20px;display:flex;flex-direction:column}.brand{font-family:Sora;font-weight:700;letter-spacing:.08em;font-size:21px}.brand span{color:var(--orange)}.subtitle{font-size:10px;letter-spacing:.25em;color:#73849a;margin-top:5px}.nav{margin-top:36px;display:flex;flex-direction:column;gap:7px}.nav-label{font-size:9px;letter-spacing:.18em;color:#54657a;margin:18px 12px 6px}.nav a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:8px;color:#93a4b8;font-size:13px}.nav a.active,.nav a:hover{background:linear-gradient(90deg,rgba(0,240,240,.1),transparent);color:#fff;border-left:2px solid var(--cyan)}.userbox{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;font-size:11px;color:#8495aa}.userbox strong{display:block;color:#fff;margin-bottom:5px}.main{grid-column:2;padding:0 34px 40px;max-width:1700px;width:100%;margin:auto}.header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:28px}.eyebrow{font-size:10px;color:var(--cyan);letter-spacing:.16em}.header h1{font:600 21px Sora;margin:5px 0 0}.actions{display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;border-radius:50%;background:#4ce58b;box-shadow:0 0 10px #4ce58b}.btn,.pill,.select{height:38px;border:1px solid var(--line);background:#0d1420;color:#becbdd;border-radius:8px;padding:0 13px}.btn{cursor:pointer;font-size:12px;font-weight:700}.btn.primary{background:linear-gradient(135deg,#f57000,#fbb000);color:#100c06;border:none;box-shadow:0 7px 25px rgba(245,112,0,.18)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.card{background:linear-gradient(145deg,rgba(18,27,42,.92),rgba(8,13,21,.94));border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 35px rgba(0,0,0,.22);padding:19px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;left:0;top:0;width:54px;height:1px;background:var(--accent,var(--cyan));box-shadow:0 0 10px var(--accent,var(--cyan))}.kpi-label{color:#7f90a5;font-size:10px;letter-spacing:.12em}.kpi-value{font:600 25px Sora;margin:10px 0 7px}.trend{font-size:11px;color:#4ce58b}.trend.warn{color:#ff8b4b}.grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:15px;gap:15px;margin-top:15px}.chart-card{height:330px}.section-title{font:600 13px Sora;letter-spacing:.03em;margin:0 0 20px}.table-card{margin-top:15px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{color:#65778d;text-align:left;font-size:9px;letter-spacing:.12em;padding:12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid rgba(28,43,62,.7);color:#c5d0dd}.amount{font-family:Sora;color:#fff}.badge{font-size:9px;font-weight:700;padding:5px 8px;border-radius:20px}.badge.PAGO{color:#59e89a;background:#123427}.badge.PENDENTE{color:#ffc45c;background:#34280f}.badge.VENCIDO{color:#ff7a70;background:#3a1718}.badge.CANCELADO{color:#a4afbe;background:#202631}.login{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 25% 20%,rgba(0,240,240,.07),transparent 25%),radial-gradient(circle at 80% 80%,rgba(245,112,0,.08),transparent 28%)}.login-card{width:min(440px,100%);padding:42px;border:1px solid #1d3045;border-radius:16px;background:rgba(9,14,23,.92);box-shadow:0 30px 80px #000}.login-mark{width:45px;height:45px;border:1px solid var(--cyan);display:grid;place-items:center;border-radius:10px;color:var(--cyan);font:700 17px Sora;box-shadow:0 0 25px rgba(0,240,240,.12)}.login h1{font:700 27px Sora;letter-spacing:.05em;margin:28px 0 5px}.login h1 span{color:var(--orange)}.login p{margin:0 0 32px;color:#6f8197;font-size:11px;letter-spacing:.2em}.field{margin:16px 0}.field label{display:block;font-size:10px;color:#8798ac;letter-spacing:.1em;margin-bottom:8px}.field input{width:100%;height:48px;border:1px solid #203047;border-radius:8px;background:#090e17;color:#fff;padding:0 14px;outline:none}.field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,240,240,.06)}.login .btn{width:100%;height:48px;margin-top:10px}.error{background:#30171a;color:#ff9289;border:1px solid #5c2427;padding:10px;border-radius:7px;font-size:11px;margin-bottom:12px}.demo-note{font-size:10px!important;letter-spacing:0!important;margin-top:18px!important;text-align:center!important}.page-controls{display:flex;gap:10px;margin-bottom:15px}.search{min-width:290px}.empty{padding:60px;text-align:center;color:#718298}.mobile-toggle{display:none}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.sidebar{width:220px}.shell{grid-template-columns:220px 1fr}.main{padding:0 20px}}@media(max-width:760px){.sidebar{display:none}.shell{display:block}.main{padding:0 14px}.header{height:auto;padding:18px 0}.actions .pill{display:none}.kpis{grid-template-columns:1fr}.grid{display:block}.chart-card{margin-top:14px}.page-controls{flex-wrap:wrap}.search{min-width:100%}}.mobile-menu-button,.sidebar-backdrop{display:none}@media (max-width:760px){.header{min-height:76px;padding-right:50px}.sidebar{display:flex;position:fixed;z-index:1001;inset:0 auto 0 0;width:min(84vw,300px);height:100dvh;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 50px rgba(0,0,0,.5)}.sidebar.mobile-open{transform:translateX(0)}.mobile-menu-button{display:grid;place-items:center;position:fixed;z-index:1002;right:14px;top:16px;width:42px;height:42px;border:1px solid #28405a;border-radius:9px;background:#0b1420;color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.35)}.sidebar-backdrop{display:block;position:fixed;z-index:1000;inset:0;border:0;background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}