*{box-sizing:border-box}:root{--bg:#080816;--stroke:#ffffff17;--text:#f8f7ff;--muted:#a7a3c4;--muted-2:#706d8f;--blue:#2f6bff;--purple:#7b4dff;--pink:#ff5fb7;--green:#32d583;--yellow:#fdb022;--red:#f04438;--shadow:0 24px 80px #00000059}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at top left,#2f6bff47,transparent 35%),radial-gradient(circle at top right,#ff5fb72e,transparent 30%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a{cursor:pointer}a{color:inherit;text-decoration:none}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--stroke);width:min(420px,100%);box-shadow:var(--shadow);text-align:center;background:linear-gradient(#ffffff14,#ffffff08);border-radius:28px;padding:34px}.login-logo{max-width:160px;margin:0 auto 18px;display:block}.brand-logo{object-fit:contain;border-radius:12px;width:42px;height:42px}.login-card h1{margin:10px 0 0;font-size:30px}.login-card p{color:var(--muted);margin:8px 0 28px}.form-stack{text-align:left;gap:16px;display:grid}label{color:var(--muted);gap:8px;font-size:13px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--stroke);width:100%;color:var(--text);background:#ffffff0e;border-radius:14px;outline:none;padding:12px 14px;transition:all .2s}select option{color:#151630}input:focus,select:focus,textarea:focus{border-color:#2f6bffcc;box-shadow:0 0 0 4px #2f6bff24}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--stroke);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070816d6;flex-direction:column;height:100vh;padding:20px;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid var(--stroke);align-items:center;gap:12px;margin-bottom:14px;padding-bottom:22px;display:flex}.sidebar-brand strong{font-size:15px;display:block}.sidebar-brand span{color:var(--muted-2);font-size:11px;display:block}.sidebar-nav{flex:1;align-content:start;gap:8px;display:grid}.nav-link{color:var(--muted);border-radius:15px;align-items:center;gap:10px;padding:12px 13px;font-size:14px;font-weight:800;transition:all .2s;display:flex}.nav-link:hover{color:var(--text);background:#ffffff0f}.nav-link.active{color:#fff;background:linear-gradient(135deg,#2f6bfff2,#7b4dffe6);box-shadow:0 12px 35px #2f6bff3d}.nav-link.logout{color:#ff8d86;background:#f0443814;border:0;width:100%}.content-area{min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--stroke);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080816bd;justify-content:space-between;align-items:center;min-height:78px;padding:18px 30px;display:flex;position:sticky;top:0}.topbar h2,.topbar p{margin:0}.topbar h2{font-size:22px}.topbar p{color:var(--muted-2);margin-top:3px;font-size:13px}.topbar-pill{color:var(--green);background:#32d5831a;border:1px solid #32d58333;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:900}.page-content{padding:30px}.dashboard-grid,.students-page{gap:22px;display:grid}.hero-card,.page-hero{border:1px solid var(--stroke);box-shadow:var(--shadow);background:linear-gradient(135deg,#2f6bff38,#7b4dff24 55%,#ff5fb71f),#ffffff0a;border-radius:30px;justify-content:space-between;align-items:center;gap:24px;padding:28px;display:flex}.eyebrow{color:#b9c9ff;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900}.hero-card h1,.page-hero h1{margin:10px 0;font-size:clamp(30px,4vw,48px);line-height:1}.hero-card p,.page-hero p{color:var(--muted);max-width:640px;margin:0}.btn{white-space:nowrap;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:900;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;box-shadow:0 12px 35px #2f6bff40}.btn.light{color:#11142b;background:#fff}.btn.ghost{border-color:var(--stroke);color:var(--text);background:#ffffff0f}.btn.whats{color:var(--green);background:#32d5831f;border-color:#32d58333}.btn.danger{color:#ff8d86;background:#f044381a;border-color:#f044382e}.full-width{width:100%}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat-card,.panel,.student-card,.empty-state,.payment-card,.finance-card,.teacher-card,.platform-card{border:1px solid var(--stroke);background:#ffffff0e;border-radius:24px;box-shadow:0 12px 45px #0000002e}.stat-card{align-items:center;gap:14px;padding:20px;display:flex}.stat-icon{background:#2f6bff29;border-radius:16px;place-items:center;width:46px;height:46px;font-size:20px;display:grid}.stat-card p,.stat-card strong,.stat-card span{margin:0;display:block}.stat-card p{color:var(--muted-2);font-size:12px;font-weight:800}.stat-card strong{margin-top:5px;font-size:24px}.stat-card span{color:var(--muted-2);margin-top:4px;font-size:12px}.full{grid-column:1/-1}.panel{padding:24px}.panel-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.panel-header h3,.panel-header p{margin:0}.panel-header p{color:var(--muted-2);margin-top:4px}.toolbar{border:1px solid var(--stroke);background:#ffffff0a;border-radius:22px;grid-template-columns:1fr 180px auto;align-items:center;gap:12px;padding:14px;display:grid}.payments-toolbar{grid-template-columns:1fr 160px 180px auto}.student-grid,.teacher-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.student-card,.teacher-card{gap:16px;padding:20px;transition:all .2s;display:grid}.student-card:hover,.payment-card:hover,.finance-card:hover,.teacher-card:hover,.platform-card:hover{border-color:#2f6bff73;transform:translateY(-3px)}.student-head{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.avatar{background:linear-gradient(135deg,var(--blue),var(--purple));border-radius:16px;place-items:center;width:46px;height:46px;font-weight:900;display:grid}.student-head h3,.student-head p{margin:0}.student-head p{color:var(--muted-2);margin-top:3px;font-size:12px}.badge{color:var(--muted);background:#ffffff14;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.badge.ativo,.badge.pago{color:var(--green);background:#32d5831f}.badge.pausado,.badge.pendente{color:var(--yellow);background:#fdb0221f}.badge.encerrado,.badge.atrasado,.badge.inadimplente{color:#ff8d86;background:#f044381f}.badge.lead{color:#b9c9ff;background:#2f6bff1f}.student-info,.payment-data,.finance-data{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.finance-data{grid-template-columns:repeat(5,1fr)}.student-info div,.payment-data div,.finance-data div{background:#ffffff0a;border-radius:16px;padding:12px}.student-info span,.student-info strong,.payment-data span,.payment-data strong,.finance-data span,.finance-data strong{display:block}.student-info span,.payment-data span,.finance-data span{color:var(--muted-2);font-size:11px;font-weight:800}.student-info strong,.payment-data strong,.finance-data strong{margin-top:4px;font-size:13px}.student-note{color:var(--muted);background:#2f6bff14;border-radius:16px;margin:0;padding:12px;font-size:13px;line-height:1.5}.card-actions{flex-wrap:wrap;gap:8px;display:flex}.empty-state{text-align:center;gap:10px;padding:50px;display:grid}.empty-state strong{font-size:22px}.empty-state span{color:var(--muted-2)}.alert{border-radius:16px;padding:14px 16px;font-size:13px;font-weight:800}.alert.error{color:#ffb4ae;background:#f044381a;border:1px solid #f0443838}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--stroke);width:min(760px,100%);max-height:92vh;box-shadow:var(--shadow);background:#111229;border-radius:28px;overflow:auto}.modal-header{border-bottom:1px solid var(--stroke);justify-content:space-between;gap:18px;padding:22px;display:flex}.modal-header h2,.modal-header p{margin:0}.modal-header p{color:var(--muted-2);margin-top:5px}.icon-btn{border:1px solid var(--stroke);width:38px;height:38px;color:var(--text);background:#ffffff0f;border-radius:14px;font-size:24px}.student-form{grid-template-columns:1fr 1fr;gap:16px;padding:22px;display:grid}.full-field{grid-column:1/-1}.modal-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:10px;display:flex}.payment-list,.finance-list{gap:14px;display:grid}.payment-card{grid-template-columns:1.2fr 1fr auto;align-items:center;gap:16px;padding:18px;transition:all .2s;display:grid}.payment-main{align-items:center;gap:14px;display:flex}.payment-main h3,.payment-main p{margin:0}.payment-main p{color:var(--muted-2);margin-top:4px;font-size:12px}.finance-card{gap:18px;padding:20px;display:grid}.finance-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.finance-head h3{margin:8px 0 0;font-size:24px}.result{border-radius:999px;padding:10px 14px;font-weight:900}.result.positive{color:var(--green);background:#32d5831f}.result.negative{color:#ff8d86;background:#f044381f}.forecast-box{color:var(--muted);background:#2f6bff14;border:1px solid #2f6bff38;border-radius:18px;gap:6px;padding:14px;display:grid}.forecast-box strong{color:var(--text)}.contract-box{background:#2f6bff14;border:1px solid #2f6bff2e;border-radius:18px;grid-template-columns:1fr 1fr auto;align-items:center;gap:9px;padding:12px;display:grid}.contract-box div span,.contract-box div strong{display:block}.contract-box div span{color:var(--muted-2);font-size:11px;font-weight:800}.contract-box div strong{margin-top:4px;font-size:13px}.contract-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:7px 10px;font-size:11px;font-weight:900;display:inline-flex}.contract-pill.ok{color:var(--green);background:#32d5831f}.contract-pill.warning{color:var(--yellow);background:#fdb0221f}.contract-pill.urgent,.contract-pill.expired{color:#ff8d86;background:#f0443824}.contract-pill.neutral{color:var(--muted);background:#ffffff14}.contract-table{gap:10px;margin-top:18px;display:grid}.contract-row{border:1px solid var(--stroke);background:#ffffff0a;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.contract-row strong,.contract-row span{display:block}.contract-row div span{color:var(--muted-2);margin-top:4px;font-size:12px}.empty-inline{color:var(--muted);background:#ffffff0a;border-radius:18px;margin-top:18px;padding:18px}.contract-link{color:#8bb1ff;margin-top:8px;font-weight:700;text-decoration:none;display:inline-flex}.chart-card{gap:18px;display:grid}.chart-row{grid-template-columns:90px 1fr 160px;align-items:center;gap:14px;display:grid}.chart-row div{background:#ffffff0f;border-radius:999px;height:18px;overflow:hidden}.chart-bar{border-radius:999px;height:100%;display:block}.chart-bar.income{background:linear-gradient(90deg,#2f6bff,#7c4dff)}.chart-bar.expense{background:linear-gradient(90deg,#ff5f6d,#ffc371)}.teacher-tags{flex-wrap:wrap;gap:8px;display:flex}.teacher-tags span{color:#b9c9ff;background:#2f6bff1f;border:1px solid #2f6bff2e;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.field-title{color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:700;display:block}.checkbox-row{flex-wrap:wrap;gap:10px;display:flex}.checkbox-pill{border:1px solid var(--stroke);width:auto;color:var(--text);background:#ffffff0e;border-radius:999px;align-items:center;gap:8px;padding:10px 12px;display:inline-flex}.checkbox-pill input{width:auto}.platform-layout{grid-template-columns:320px 1fr;gap:22px;display:grid}.platform-form{border:1px solid var(--stroke);background:#ffffff0d;border-radius:24px;gap:14px;height:max-content;padding:24px;display:grid}.platform-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.platform-card{padding:20px}.platform-card h3{color:#fff}.platform-card span{color:var(--muted)}.platform-meta{gap:6px;margin-top:18px;display:grid}@media (width<=1180px){.stats-grid,.student-grid,.teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-card{grid-template-columns:1fr}.finance-data{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.platform-layout,.platform-grid{grid-template-columns:1fr}}@media (width<=820px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.sidebar-nav{display:flex;overflow-x:auto}.nav-link{white-space:nowrap}.topbar,.page-content{padding:18px}.hero-card,.page-hero{flex-direction:column;align-items:flex-start}.stats-grid,.student-grid,.teacher-grid,.toolbar,.payments-toolbar,.student-form,.student-info,.payment-data,.finance-data,.contract-box{grid-template-columns:1fr}.modal-actions{flex-direction:column}.chart-row{grid-template-columns:1fr}.contract-row{flex-direction:column;align-items:flex-start}}.platform-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.platform-head h3{margin:0 0 8px}.platform-form label{color:var(--muted);font-size:13px;font-weight:700}.platform-form .forecast-box{margin:0}.badge.pago{color:var(--green);background:#32d5831f}.badge.pendente{color:var(--yellow);background:#fdb0221f}.badge.atrasado{color:#ff8d86;background:#f044381f}.student-head p+p{color:#b9c9ff;margin-top:3px;font-weight:800}
