:root{--bg:#f3f5f7;--surface:#fff;--surface-2:#f8fafb;--ink:#13201d;--muted:#6e7c78;--line:#dfe7e4;--emerald:#0b8f68;--emerald-dark:#076b50;--emerald-soft:#e6f5ef;--blue:#2563eb;--blue-soft:#eaf0ff;--amber:#d88b17;--amber-soft:#fff4df;--red:#d94b53;--red-soft:#ffeaec;--nav:#101b18;--shadow:0 10px 30px rgba(13,36,30,.07);--radius:18px;--radius-sm:12px}
[data-theme="dark"]{--bg:#09110f;--surface:#111c19;--surface-2:#16231f;--ink:#edf7f3;--muted:#93a49f;--line:#273a34;--emerald:#36c99b;--emerald-dark:#188e69;--emerald-soft:#14382d;--blue:#6f96ff;--blue-soft:#192746;--amber:#f3b654;--amber-soft:#3b2b13;--red:#ff8188;--red-soft:#402024;--nav:#070c0b;--shadow:0 12px 34px rgba(0,0,0,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{font-family:"Manrope",sans-serif}h1{font-size:26px;margin:0;letter-spacing:-.04em}h2{font-size:19px;margin:0;letter-spacing:-.025em}small{color:var(--muted)}.skip-link{position:fixed;z-index:999;top:-50px;left:20px;background:#fff;padding:10px;color:#000}.skip-link:focus{top:10px}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--nav);color:#ecf8f4;padding:30px 18px 20px;display:flex;flex-direction:column;z-index:20}.brand{color:inherit;text-decoration:none;display:flex;gap:12px;align-items:center;padding:0 10px 28px}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#14b889,#077556);display:grid;place-items:center;font:800 22px Manrope;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.brand span:last-child{display:flex;flex-direction:column}.brand strong{font-size:17px}.brand small{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#8ba49c}.main-nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#91a69f;display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;text-align:left;font-weight:600;width:100%;transition:.2s}.nav-item span{width:18px;text-align:center;font-size:17px}.nav-item:hover,.nav-item.active{background:#1b2b26;color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--emerald)}.sidebar-bottom{margin-top:auto;display:grid;gap:15px}.sidebar-tip{background:linear-gradient(145deg,#18372d,#142923);border:1px solid #29483f;border-radius:14px;padding:15px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--emerald);margin:0 0 5px}.sidebar-tip p{font-size:13px;margin:8px 0 12px}.sidebar-tip button{color:#7ce2bd;border:0;background:none;padding:0;font-weight:700;font-size:12px}.user-chip{display:flex;align-items:center;gap:9px;padding-top:12px;border-top:1px solid #24332f}.avatar{background:#d6f4e9;color:#126e54;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-weight:800;font-size:11px}.user-chip>span:nth-child(2){display:flex;flex-direction:column;flex:1}.user-chip strong{font-size:12px}.user-chip small{font-size:10px}.icon-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);width:38px;height:38px;border-radius:10px;display:grid;place-items:center}.user-chip .icon-button{border:0;background:transparent;color:#7d918a}.content-shell{grid-column:2;min-width:0}.topbar{height:94px;background:color-mix(in srgb,var(--surface) 92%,transparent);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:20px 38px;position:sticky;top:0;z-index:15;backdrop-filter:blur(14px)}.topbar-copy .eyebrow{margin-bottom:1px}.topbar-actions{display:flex;align-items:center;gap:10px}.sync-status{font-size:11px;color:var(--muted);margin-right:8px}.sync-status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#16b77e;margin-right:5px;box-shadow:0 0 0 4px var(--emerald-soft)}.primary-button,.outline-button,.light-button,.ghost-light,.text-button{border-radius:10px;padding:10px 16px;font-weight:800;border:0;transition:transform .16s,filter .16s}.primary-button{background:var(--emerald);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--emerald) 20%,transparent)}.primary-button:hover,.outline-button:hover,.light-button:hover{transform:translateY(-1px);filter:brightness(1.04)}.primary-button.full{width:100%;margin-top:6px}.outline-button{border:1px solid currentColor;background:transparent;color:var(--emerald-dark)}.text-button{background:transparent;color:var(--emerald);padding:5px}.mobile-only{display:none}main{padding:30px 38px;max-width:1560px;margin:auto}.page{display:none;animation:pageIn .28s ease}.page.active{display:block}@keyframes pageIn{from{opacity:0;transform:translateY(5px)}}.hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:18px}.balance-hero{min-height:272px;position:relative;overflow:hidden;background:linear-gradient(120deg,#086a4d,#0b8b66 68%,#13a77d);color:#fff;border-radius:22px;padding:28px;box-shadow:0 16px 40px rgba(8,104,76,.2)}.hero-top{display:flex;justify-content:space-between}.eyebrow.light{color:#a7ebd3}.live-pill{font-size:9px;font-weight:800;letter-spacing:.12em;background:rgba(255,255,255,.12);padding:5px 8px;border-radius:20px}.balance-label{color:#c4ebdd;margin:28px 0 0}.balance-hero h2{font-size:42px;letter-spacing:-.05em}.balance-meta{font-size:12px;margin-top:3px}.balance-meta span{color:#a5f4d5;font-weight:800}.balance-meta small{color:#c0e4d8}.hero-actions{display:flex;gap:10px;margin-top:24px}.light-button{background:#fff;color:#0a6f52}.ghost-light{background:transparent;color:#fff}.hero-glow{position:absolute;width:340px;height:340px;border:60px solid rgba(255,255,255,.035);border-radius:50%;right:-130px;bottom:-200px}.surface-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius);padding:22px}.month-summary{display:flex;flex-direction:column}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.flow-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.flow-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:900}.flow-icon.income{background:var(--emerald-soft);color:var(--emerald)}.flow-icon.expense{background:var(--red-soft);color:var(--red)}.flow-row div{display:flex;flex-direction:column;flex:1}.flow-row small{font-size:11px}.count-pill{font-size:10px;color:var(--muted);background:var(--surface-2);padding:5px 8px;border-radius:20px}.month-result{display:flex;justify-content:space-between;padding-top:17px}.month-result strong{color:var(--emerald)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat-card{padding:17px 18px;display:flex;align-items:center;gap:13px}.stat-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;font-weight:900}.stat-card:nth-child(1) .stat-icon{background:var(--emerald-soft);color:var(--emerald)}.stat-card:nth-child(2) .stat-icon{background:var(--blue-soft);color:var(--blue)}.stat-card:nth-child(3) .stat-icon{background:var(--amber-soft);color:var(--amber)}.stat-card:nth-child(4) .stat-icon{background:var(--red-soft);color:var(--red)}.stat-card div{display:flex;flex-direction:column}.stat-card small{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.stat-card strong{font-size:16px}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}.legend{display:flex;gap:14px;font-size:10px;color:var(--muted)}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.legend-dot.green{background:var(--emerald)}.legend-dot.blue{background:var(--blue)}.trend-chart{height:205px;display:flex;align-items:flex-end;gap:16px;padding:22px 6px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 49px,var(--line) 50px)}.bar-group{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px;position:relative}.bar{width:min(18px,32%);border-radius:6px 6px 0 0;min-height:3px}.bar.income{background:linear-gradient(#40c89f,var(--emerald))}.bar.expense{background:linear-gradient(#8eacf7,var(--blue))}.bar-group small{position:absolute;bottom:-22px;font-size:10px}.chart-card{padding-bottom:38px}.donut-wrap{display:flex;align-items:center;gap:22px}.donut{width:150px;height:150px;border-radius:50%;display:grid;place-content:center;text-align:center;position:relative}.donut:after{content:"";position:absolute;inset:23px;background:var(--surface);border-radius:50%}.donut span,.donut small{z-index:1}.donut span{font:800 15px Manrope}.category-legend{display:grid;gap:9px;flex:1}.category-item{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:7px;font-size:11px}.category-item i{width:7px;height:7px;border-radius:50%}.open-finance-card{margin:18px 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:21px 24px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--emerald) 25%,var(--line));background:linear-gradient(100deg,var(--emerald-soft),var(--surface) 55%)}.open-logo{display:flex;align-items:center;gap:6px;color:var(--emerald)}.open-logo span{font:800 44px/1 Manrope}.open-logo small{font:800 8px/1.1 Manrope;color:var(--emerald)}.open-copy>div{display:flex;align-items:center;gap:10px}.open-copy h2{margin:5px 0 2px}.open-copy p{margin:0;color:var(--muted);font-size:12px}.dev-badge{border:0;background:var(--amber-soft);color:var(--amber);font-size:8px;letter-spacing:.11em;font-weight:900;padding:5px 7px;border-radius:5px}.lower-grid{grid-template-columns:1.2fr 1fr}.compact-item{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid var(--line)}.compact-item:last-child{border:0}.category-symbol{width:36px;height:36px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center}.compact-item div{display:flex;flex-direction:column}.compact-item strong{font-size:12px}.compact-item small{font-size:10px}.money.income{color:var(--emerald)}.money.expense{color:var(--ink)}.goal-mini{margin-bottom:16px}.goal-mini:last-child{margin:0}.goal-mini-head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}.progress-track{height:7px;background:var(--surface-2);border-radius:10px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--emerald);border-radius:inherit}.goal-mini small{display:block;margin-top:5px;font-size:10px}.page-intro{display:flex;justify-content:space-between;align-items:flex-end;margin:4px 0 24px}.page-intro h2{font-size:29px}.page-intro p:last-child{color:var(--muted);margin:4px 0 0}.filters{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;margin-bottom:16px}.filters label,.modal-panel form>label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:10px;padding:11px 12px;outline:none;margin-top:6px}input:focus,select:focus,textarea:focus{border-color:var(--emerald);box-shadow:0 0 0 3px var(--emerald-soft)}.table-card{padding:8px 20px}.transaction-row{display:grid;grid-template-columns:42px minmax(170px,1.5fr) 1fr 110px 120px 36px;align-items:center;gap:12px;padding:15px 2px;border-bottom:1px solid var(--line)}.transaction-row:last-child{border:0}.transaction-row .description{display:flex;flex-direction:column}.transaction-row .date,.transaction-row .category{color:var(--muted);font-size:12px}.delete-button{border:0;background:transparent;color:var(--muted);font-size:18px}.delete-button:hover{color:var(--red)}.empty-state{text-align:center;padding:60px 20px}.empty-state span{font-size:38px;color:var(--muted)}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.goal-card,.course-card{position:relative;overflow:hidden}.goal-card .goal-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--emerald-soft);color:var(--emerald);font-size:22px}.goal-card h3{margin:18px 0 4px}.goal-amounts{display:flex;align-items:flex-end;justify-content:space-between;margin:20px 0 9px}.goal-amounts strong{font-size:20px}.goal-card footer{margin-top:17px;padding-top:14px;border-top:1px solid var(--line);font-size:11px;display:flex;justify-content:space-between}.contribute-button{margin-top:16px;width:100%;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:9px;font-weight:700}.progress-summary{display:flex;gap:9px;align-items:center}.progress-summary strong{font-size:30px;color:var(--emerald)}.progress-summary span{color:var(--muted);font-size:11px;width:55px;line-height:1.2}.course-card{padding-top:0}.course-banner{height:110px;margin:0 -22px 20px;padding:18px;background:linear-gradient(135deg,var(--emerald-soft),color-mix(in srgb,var(--emerald-soft) 50%,var(--surface)));display:flex;justify-content:space-between}.course-banner span:first-child{font-size:38px}.course-banner span:last-child{height:min-content;font-size:9px;background:rgba(255,255,255,.6);color:#195f4d;padding:5px 8px;border-radius:20px;font-weight:800}.course-card p{color:var(--muted);font-size:13px;min-height:40px}.course-meta{display:flex;gap:8px;margin:16px 0;font-size:10px;color:var(--muted)}.course-meta span{background:var(--surface-2);padding:5px 8px;border-radius:6px}.course-progress{display:flex;align-items:center;gap:10px}.course-progress .progress-track{flex:1}.course-progress strong{font-size:11px}.course-button{width:100%;margin-top:18px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:10px;border-radius:9px;font-weight:800}.community-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:20px}.composer label{font-weight:800}.composer textarea{min-height:90px;resize:vertical}.composer>div{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;margin-top:9px}.feed{display:grid;gap:14px;margin-top:14px}.post{padding:20px}.post-head{display:flex;gap:10px;align-items:center}.post-head>div{display:flex;flex-direction:column;flex:1}.post-head strong{font-size:13px}.verified{color:var(--blue)}.post-content{margin:17px 0;color:var(--ink)}.post-actions{border-top:1px solid var(--line);padding-top:12px}.like-button{border:0;background:transparent;color:var(--muted);font-weight:700}.like-button.liked{color:var(--red)}.mentor-list{display:grid;gap:10px}.mentor-card{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:15px}.mentor-card .avatar{background:var(--blue-soft);color:var(--blue)}.mentor-card div:nth-child(2){display:flex;flex-direction:column}.mentor-card strong{font-size:12px}.mentor-card button{grid-column:1/-1;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:8px;font-weight:700}.profile-grid{display:grid;grid-template-columns:.7fr 1.2fr 1.1fr;gap:18px}.profile-card{text-align:center}.profile-avatar{width:85px;height:85px;margin:5px auto 16px;background:linear-gradient(135deg,var(--emerald),var(--blue));color:#fff;border-radius:50%;display:grid;place-items:center;font:800 24px Manrope}.profile-card p{color:var(--muted)}dl{margin:24px 0 0;text-align:left}dl div{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0;font-weight:700}.quiz-option{display:block;text-transform:none!important;letter-spacing:0!important;border:1px solid var(--line);border-radius:10px;padding:12px;margin:8px 0;color:var(--ink)!important;cursor:pointer}.quiz-option input{width:auto;margin:0 7px 0 0}.quiz-nav{display:flex;justify-content:space-between;margin-top:15px}.quiz-result{padding:20px;background:var(--emerald-soft);border-radius:12px;text-align:center}.quiz-result strong{display:block;font-size:22px;color:var(--emerald)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line)}.setting-row div{display:flex;flex-direction:column}.switch input{position:absolute;opacity:0}.switch span{display:block;width:44px;height:24px;background:var(--line);border-radius:20px;position:relative}.switch span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+span{background:var(--emerald)}.switch input:checked+span:after{transform:translateX(20px)}.activity{margin-top:18px}.activity h3{font-size:13px}.activity p{font-size:11px;color:var(--muted)}.activity i{display:inline-block;width:6px;height:6px;background:var(--emerald);border-radius:50%;margin-right:7px}footer{display:flex;justify-content:space-between;padding:22px 38px;color:var(--muted);font-size:10px;border-top:1px solid var(--line)}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(2,12,9,.7);backdrop-filter:blur(5px)}.modal-panel{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:20px;width:min(470px,100%);max-height:92vh;overflow:auto;padding:28px;box-shadow:0 25px 80px rgba(0,0,0,.3)}.modal-panel h2{font-size:24px;margin-bottom:18px}.modal-close{position:absolute;right:17px;top:14px;width:34px;height:34px;border:0;background:var(--surface-2);color:var(--ink);border-radius:50%;font-size:22px}.modal-panel form{display:grid;gap:13px}.type-toggle{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.type-toggle legend{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.type-toggle label input{position:absolute;opacity:0}.type-toggle span{display:block;border:1px solid var(--line);padding:10px;text-align:center;border-radius:9px}.type-toggle input:checked+span{background:var(--emerald-soft);border-color:var(--emerald);color:var(--emerald);font-weight:800}.open-modal{text-align:center}.open-logo.large{justify-content:center}.open-modal>p{color:var(--muted)}.timeline{list-style:none;padding:0;text-align:left;margin:22px 0}.timeline li{display:flex;gap:12px;position:relative;padding-bottom:19px}.timeline li>span{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;background:var(--emerald-soft);color:var(--emerald);font-weight:900}.timeline li:not(:last-child):after{content:"";position:absolute;left:14px;top:31px;height:calc(100% - 30px);border-left:1px dashed var(--emerald)}.timeline p{font-size:12px;color:var(--muted);margin:2px 0}.lgpd-note{display:block;margin-top:12px}.toast-region{position:fixed;right:22px;bottom:22px;z-index:80;display:grid;gap:8px}.toast{background:var(--ink);color:var(--surface);padding:12px 16px;border-radius:10px;box-shadow:var(--shadow);animation:toastIn .25s ease;font-weight:700;font-size:12px}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}}
@media(max-width:1100px){.app-shell{grid-template-columns:82px minmax(0,1fr)}.sidebar{width:82px;padding-inline:12px}.brand{padding-inline:9px}.brand span:last-child,.nav-item:not(.active){font-size:0}.nav-item{justify-content:center}.nav-item span{font-size:18px}.sidebar-tip,.user-chip>span:nth-child(2),.user-chip .icon-button{display:none}.content-shell{grid-column:2}.hero-grid{grid-template-columns:1.3fr 1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:1fr 1fr}.settings-card{grid-column:1/-1}}
@media(max-width:780px){.app-shell{display:block}.sidebar{width:260px;transform:translateX(-100%);transition:.25s;padding-inline:18px}.sidebar.open{transform:none;box-shadow:20px 0 60px rgba(0,0,0,.3)}.brand span:last-child,.nav-item:not(.active){font-size:inherit}.nav-item{justify-content:flex-start}.sidebar-tip,.user-chip>span:nth-child(2),.user-chip .icon-button{display:flex}.sidebar-tip{display:block}.content-shell{display:block}.topbar{height:auto;padding:15px 18px}.mobile-only{display:grid}.topbar-copy{display:none}.sync-status{display:none}.topbar-actions{margin-left:auto}.topbar-actions .primary-button{font-size:0;padding:10px}.topbar-actions .primary-button span{font-size:18px}.hero-grid,.dashboard-grid,.community-layout,.profile-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.open-finance-card{grid-template-columns:auto 1fr}.open-finance-card .outline-button{grid-column:1/-1}.cards-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.transaction-row{grid-template-columns:36px 1fr auto 30px}.transaction-row .category,.transaction-row .date{display:none}main{padding:20px 15px}.page-intro{align-items:flex-start;gap:15px}.page-intro h2{font-size:25px}.profile-grid .settings-card{grid-column:auto}footer{padding:18px;gap:10px}.donut-wrap{justify-content:center}.lower-grid{grid-template-columns:1fr}}
@media(max-width:480px){.hero-grid{display:block}.month-summary{margin-top:14px}.balance-hero{padding:23px}.balance-hero h2{font-size:35px}.hero-actions{flex-direction:column;align-items:flex-start}.stat-grid,.filters{grid-template-columns:1fr}.stat-card{padding:13px}.page-intro{display:block}.page-intro>.primary-button{margin-top:14px}.trend-chart{gap:7px}.category-card .donut-wrap{align-items:flex-start}.donut{width:125px;height:125px}.open-finance-card{grid-template-columns:1fr}.open-logo{justify-content:flex-start}.modal-panel{padding:24px 18px}.legend{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Authentication */
body:not(.is-authenticated) .app-shell{visibility:hidden;height:100vh;overflow:hidden}.auth-screen{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:1.1fr .9fr;background:var(--surface);transition:opacity .45s ease,visibility .45s ease}.auth-screen.is-leaving{opacity:0;visibility:hidden}.auth-screen[hidden]{display:none}.auth-visual{position:relative;overflow:hidden;padding:46px 54px;background:radial-gradient(circle at 20% 20%,rgba(44,211,157,.2),transparent 30%),linear-gradient(145deg,#071b15,#0a4b37 66%,#087456);color:#fff}.auth-brand{display:flex;align-items:center;gap:12px;font-size:20px}.auth-message{position:relative;z-index:2;max-width:640px;margin-top:18vh}.auth-badge{display:inline-block;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);padding:7px 10px;border-radius:20px;font-size:9px;font-weight:800;letter-spacing:.17em}.auth-message h1{font-size:clamp(38px,5vw,66px);line-height:1.04;max-width:700px;margin:22px 0 16px}.auth-message>p{font-size:17px;color:#b8ded1}.auth-metric{display:flex;gap:13px;align-items:center;margin-top:38px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);width:max-content}.auth-metric>span{width:42px;height:42px;border-radius:12px;background:rgba(87,236,181,.15);display:grid;place-items:center;color:#82e8c3}.auth-metric div{display:flex;flex-direction:column}.auth-metric strong{font-size:18px}.auth-metric small{color:#a8c9be}.auth-orbit{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%}.auth-orbit.one{width:430px;height:430px;right:-170px;bottom:-150px}.auth-orbit.two{width:280px;height:280px;right:-90px;bottom:-75px}.auth-form-side{display:grid;place-items:center;padding:40px;background:var(--surface)}.auth-panel{width:min(410px,100%)}.auth-panel>h2{font-size:32px}.auth-subtitle{color:var(--muted);margin-bottom:25px}.auth-panel form{display:grid;gap:14px}.auth-panel form>label{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--muted)}.password-wrap{position:relative}.password-wrap input{padding-right:44px}.password-wrap button{position:absolute;right:7px;top:12px;width:34px;height:34px;border:0;background:transparent;color:var(--muted)}.field-error{display:block;min-height:15px;color:var(--red);font-size:10px;margin-top:3px}.auth-options{display:flex;align-items:center;justify-content:space-between}.check-row{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px;text-transform:none!important;letter-spacing:0!important}.check-row input{width:auto;margin:0}.auth-submit-loading span{opacity:.5}.auth-submit-loading i{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;margin-left:8px;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.auth-switch{text-align:center;margin:22px 0 10px;color:var(--muted)}.auth-switch button{border:0;background:transparent;color:var(--emerald);font-weight:800}.auth-demo{display:block;text-align:center;line-height:1.4}.auth-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:32px}.auth-mobile-brand .brand-mark,.auth-brand .brand-mark{color:#fff}.topbar-brand{display:none;border:0;background:transparent;color:var(--ink);align-items:center;gap:8px;padding:0;font-size:15px}.topbar-brand .brand-mark{width:31px;height:31px;font-size:17px;color:#fff}.profile-menu-wrap{position:relative}.profile-menu-toggle{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;height:40px;padding:3px 9px 3px 3px;display:flex;align-items:center;gap:7px}.profile-menu-toggle .avatar{width:32px;height:32px}.profile-menu-name{font-weight:700;font-size:12px}.profile-dropdown{position:absolute;right:0;top:48px;width:170px;padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.profile-dropdown button{width:100%;border:0;background:transparent;color:var(--ink);padding:10px;border-radius:8px;text-align:left;font-size:12px}.profile-dropdown button:hover{background:var(--surface-2)}.profile-dropdown .logout-button{color:var(--red);border-top:1px solid var(--line);border-radius:0;margin-top:3px}

/* Classroom */
.classroom-modal{padding:18px}.classroom-panel{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:22px;width:min(1180px,100%);max-height:94vh;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.36)}.classroom-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.classroom-header h2{max-width:820px}.classroom-header .modal-close{position:static;flex:0 0 auto}.classroom-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;max-height:calc(94vh - 83px)}.lesson-stage{padding:24px;overflow:auto}.video-frame{position:relative;padding-bottom:56.25%;background:#020806;border-radius:15px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.2)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.lesson-copy{padding:22px 3px 5px}.lesson-copy h3{font-size:22px;margin:10px 0 5px}.lesson-copy p{color:var(--muted)}.course-chip{display:inline-block;background:var(--emerald-soft);color:var(--emerald);padding:5px 8px;border-radius:6px;font-size:9px;font-weight:900;letter-spacing:.1em;margin-right:5px}.course-chip.muted{background:var(--surface-2);color:var(--muted)}.lesson-sidebar{border-left:1px solid var(--line);background:var(--surface-2);padding:22px;overflow:auto}.class-progress-head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.progress-track.large{height:9px;margin-bottom:22px}.lesson-list{display:grid;gap:8px}.lesson-item{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:12px;display:grid;grid-template-columns:31px 1fr auto;gap:9px;align-items:center;text-align:left}.lesson-item:hover,.lesson-item.active{border-color:var(--emerald);box-shadow:0 0 0 2px var(--emerald-soft)}.lesson-index{width:29px;height:29px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-size:10px;font-weight:800}.lesson-item.completed .lesson-index{background:var(--emerald);color:#fff}.lesson-item>span:nth-child(2){display:flex;flex-direction:column}.lesson-item strong{font-size:11px;line-height:1.3}.lesson-item small{font-size:9px}.course-card h3{min-height:72px}.course-instructor{display:flex;align-items:center;gap:7px;margin:13px 0;color:var(--muted);font-size:11px}.course-instructor span{width:25px;height:25px;border-radius:50%;background:var(--emerald-soft);color:var(--emerald);display:grid;place-items:center;font-weight:800}.post-tag{font-size:9px;background:var(--surface-2);color:var(--muted);padding:4px 7px;border-radius:20px;margin-left:auto}.mentor-photo{width:48px;height:48px;object-fit:cover;border-radius:50%;background:var(--blue-soft)}.mentor-card{grid-template-columns:50px 1fr}.mentor-card small+small{margin-top:2px}

@media(min-width:1101px){.topbar-brand{display:flex}.topbar-copy{margin-right:auto;margin-left:24px}}
@media(max-width:900px){.auth-screen{grid-template-columns:1fr}.auth-visual{display:none}.auth-mobile-brand{display:flex}.auth-form-side{min-height:100vh}.classroom-body{grid-template-columns:1fr}.lesson-sidebar{border-left:0;border-top:1px solid var(--line);max-height:260px}.classroom-panel{overflow:auto}.classroom-body{max-height:none}.profile-menu-name{display:none}}
@media(max-width:600px){.auth-form-side{padding:24px}.auth-panel>h2{font-size:28px}.classroom-modal{padding:0}.classroom-panel{max-height:100vh;height:100vh;border-radius:0}.classroom-header{padding:15px}.classroom-header h2{font-size:15px;padding-right:8px}.lesson-stage{padding:14px}.lesson-sidebar{padding:16px}.profile-menu-toggle{border:0;padding-right:3px}.topbar-actions{gap:5px}}
