:root{--color-primary:#4caf50;--color-primary-tint:#f0fdf4;--color-surface:#fff;--color-bg:#f8f9fa;--color-heading:#0f172a;--color-text:#1a1a1a;--color-text-secondary:#6b7280;--color-border:#00000012;--color-border-strong:#0000001f;--color-shadow:#0000000d;--color-shadow-hover:#00000014;--color-focus:#4caf5026;--surface:var(--color-surface);--surface-soft:var(--color-bg);--bg:var(--color-bg);--primary:var(--color-primary);--primary-dark:var(--color-primary);--primary-soft:var(--color-primary-tint);--navy:var(--color-heading);--ink:var(--color-text);--text:var(--color-text-secondary);--muted:var(--color-text-secondary);--line:var(--color-border);--radius:14px;--radius-sm:8px;--sidebar-width:292px}*{box-sizing:border-box}html{background:var(--color-bg)}body{background:var(--color-bg);color:var(--color-text-secondary);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.7}a{color:inherit;text-decoration:none}button,input{font:inherit}button,.support-button{cursor:pointer;border-radius:var(--radius-sm);background:var(--color-bg);min-height:44px;color:var(--color-heading);border:1px solid #0000;justify-content:center;align-items:center;gap:.625rem;padding:.75rem 1rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s,color .2s,border-color .2s;display:inline-flex}button:hover,.support-button:hover,.quick-grid a:hover,.card:hover{transform:translateY(-2px)}button:disabled{cursor:not-allowed;opacity:.65;transform:none}input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text);outline:none;padding:.875rem 1rem;font-weight:400;transition:border-color .2s,box-shadow .2s}input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus)}h1,h2,h3{color:var(--color-heading);letter-spacing:-.02em;margin:0 0 .625rem;font-weight:600;line-height:1.15}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.125rem}p{color:var(--color-text-secondary);margin:.25rem 0;font-weight:400;line-height:1.7}.primary{background:var(--color-primary);color:var(--color-surface);border-color:var(--color-primary);box-shadow:0 2px 8px var(--color-shadow)}.primary:hover{background:var(--color-primary);box-shadow:0 6px 16px var(--color-shadow-hover)}.primary.link{align-items:center;width:max-content;margin-block-start:1.25rem;display:inline-flex}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:var(--color-surface);border-inline-end:1px solid var(--color-border);z-index:10;flex-direction:column;gap:1rem;height:100vh;padding:1rem;display:flex;position:sticky;top:0}.brand{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);align-items:center;gap:.75rem;padding:.875rem;display:flex}.brand img{object-fit:contain;width:54px;height:54px}.brand b{color:var(--color-heading);letter-spacing:-.02em;font-size:1rem;font-weight:600;display:block}.brand span{color:var(--color-primary);font-size:.8125rem;font-weight:600;display:block}.sidebar nav{gap:.25rem;display:grid}.sidebar a,.logout{border-radius:var(--radius-sm);min-height:46px;color:var(--color-text-secondary);text-align:start;background:0 0;border:0;align-items:center;gap:.625rem;padding-block:.75rem;padding-inline:1rem;font-weight:400;display:flex;position:relative}.sidebar a:before,.logout:before{content:"";background:0 0;border-radius:999px;width:3px;position:absolute;inset-block:.625rem;inset-inline-start:0}.sidebar a svg,.logout svg,.quick-grid svg,.support-button svg{color:currentColor;flex:none}.sidebar a.active{background:var(--color-primary-tint);color:var(--color-primary);font-weight:600}.sidebar a.active:before{background:var(--color-primary)}.sidebar a:hover,.logout:hover{background:var(--color-bg);color:var(--color-primary)}.sidebar em{background:var(--color-primary);min-width:24px;color:var(--color-surface);text-align:center;border-radius:999px;margin-inline-start:auto;padding:.05rem .4rem;font-size:.8125rem;font-style:normal;font-weight:600;line-height:1.5}.logout{width:100%;margin-block-start:auto}.main{min-width:0;padding:2rem 2.5rem 3rem}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-block-end:1.75rem;display:flex}.topbar h1{margin-block-end:.25rem}.topbar p{color:var(--color-heading);letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:600;line-height:1.3}.lang,.icon-button{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 2px 8px var(--color-shadow)}.lang{width:60px;padding-inline:.65rem}.lang-menu{position:relative}.lang-dropdown{z-index:20;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-width:132px;box-shadow:0 10px 24px var(--color-shadow-hover);padding:.4rem;position:absolute;inset-block-start:calc(100% + .5rem);inset-inline-end:0}.lang-dropdown button{width:100%;min-height:38px;box-shadow:none;background:0 0;border:0;justify-content:flex-start;padding:.55rem .75rem}.lang-dropdown button.active,.lang-dropdown button:hover{background:var(--color-primary-tint);color:var(--color-primary);transform:none}.lang:hover,.icon-button:hover{background:var(--color-bg);box-shadow:0 4px 12px var(--color-shadow-hover)}.mobile{display:none}.hero{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-primary-tint);box-shadow:0 2px 8px var(--color-shadow);grid-template-columns:minmax(0,1.35fr) minmax(260px,.72fr);align-items:stretch;gap:2rem;margin-block-end:1.5rem;padding:2rem;display:grid}.hero h2{max-width:760px;color:var(--color-primary);font-size:2rem}.hero p{max-width:650px;color:var(--color-heading);margin-block-start:.5rem}.hero .primary.link{color:var(--color-primary);border-color:var(--color-primary);box-shadow:none;background:0 0}.hero .primary.link:hover{background:var(--color-surface);box-shadow:0 4px 12px var(--color-shadow)}.eyebrow{width:max-content;color:var(--color-primary);letter-spacing:.03em;text-transform:uppercase;align-items:center;margin-block-end:.875rem;font-size:.8125rem;font-weight:600;display:inline-flex}.hero-card{text-align:center;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-height:220px;color:var(--color-heading);align-content:center;place-items:center;gap:.875rem;padding:1.25rem;display:grid}.hero-card img{object-fit:contain;max-width:100%;height:168px}.hero-card svg{color:var(--color-primary)}.hero-card b{color:var(--color-heading);font-weight:600}.student-hero{direction:ltr;background:#eff8f2;border:1px solid #c8e6d4;grid-template-columns:55% 45%;gap:0;height:240px;padding:0;overflow:hidden}.student-hero>div:first-child{flex-direction:column;justify-content:center;padding-block:2rem;padding-inline:2.5rem;display:flex}.student-hero .hero-card{background:var(--color-primary-tint);border:0;border-radius:0 14px 14px 0;height:100%;min-height:0;padding:0;position:relative;overflow:hidden}.student-hero .hero-card img{object-fit:cover;border-radius:0 14px 14px 0;width:100%;max-width:none;height:100%;display:block}.student-hero .hero-card svg{width:100%;height:100%;padding:4rem}.student-hero .hero-card b{bottom:0;color:#fff;background:#00000052;border-radius:0 0 14px;width:100%;padding:8px 14px;font-size:13px;font-weight:400;position:absolute;inset-inline-start:0}.stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0 2rem;display:grid}.stat-card,.card,.table-card,.wallet-panel,.profile-card,.summary,.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 2px 8px var(--color-shadow)}.stat-card{align-items:center;gap:1rem;padding:1.25rem;display:flex}.stat-icon{background:var(--color-primary-tint);width:48px;height:48px;color:var(--color-primary);border-radius:999px;place-items:center;display:grid}.stat-card p,.course-fields small,th{color:var(--color-text-secondary);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:.8125rem;font-weight:600}.stat-card h3{color:var(--color-heading);margin:.2rem 0 0;font-size:1.75rem;font-weight:600}.alert{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-secondary);margin:1rem 0;padding:1rem 1.1rem}.warning,.info,.error{background:var(--color-bg);border-color:var(--color-border);color:var(--color-heading)}.page-head,.section-title{justify-content:space-between;align-items:flex-start;gap:1rem;margin-block-end:1.05rem;display:flex}.section-title{margin-block-start:.25rem}.page-head p{margin:0}.page-head input{max-width:340px}.dashboard-section{margin-block:1.75rem}.chips{flex-wrap:wrap;gap:.5rem;margin:.875rem 0 1.25rem;display:flex}.chips button{background:var(--color-surface);border:1px solid var(--color-border);min-height:40px;box-shadow:0 2px 8px var(--color-shadow);padding:.6rem .875rem}.chips button.active{background:var(--color-primary-tint);color:var(--color-primary);border-color:var(--color-primary)}.cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.card{padding:1rem;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.card:hover{border-color:var(--color-border);box-shadow:0 8px 18px var(--color-shadow-hover)}.product,.recommended-course-card{flex-direction:column;gap:.75rem;display:flex}.product img{object-fit:cover;background:var(--color-bg);border-radius:10px;width:100%;height:178px}.course-thumb{aspect-ratio:16/10;background:var(--color-bg);border-radius:10px;width:100%;overflow:hidden}.course-thumb img{object-fit:cover;width:100%;height:100%;display:block}.product span,.course-badge{background:var(--color-primary-tint);width:max-content;max-width:100%;color:var(--color-primary);letter-spacing:.03em;text-transform:uppercase;overflow-wrap:anywhere;border-radius:999px;padding:.3rem .55rem;font-size:.8125rem;font-weight:600}.product p,.course-card p{margin:.1rem 0}.product p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.course-title-row{justify-content:space-between;align-items:center;gap:.65rem;min-height:30px;display:flex}.discount-badge{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.3rem .55rem;font-size:.8125rem;font-style:normal;font-weight:600}.course-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;margin:.1rem 0 .25rem;display:grid}.course-fields div{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);min-width:0;padding:.75rem}.course-fields small{margin-block-end:.2rem;display:block}.course-fields b{color:var(--color-heading);overflow-wrap:anywhere;font-size:.95rem;font-weight:600;display:block}.course-fields div:last-child b,.course-price-row b,.meta b{color:var(--color-primary)}.course-price-row,.meta{justify-content:space-between;align-items:center;gap:.75rem;margin-block-start:auto;display:flex}.course-price-row b{color:var(--color-heading);font-size:1.125rem;font-weight:600}.tags{font-size:.875rem}.quick-grid,.choice-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;display:grid}.quick-grid a{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-height:72px;box-shadow:0 2px 8px var(--color-shadow);color:var(--color-heading);align-items:center;gap:.625rem;padding:1rem;font-weight:600;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.quick-grid a svg{color:var(--color-primary)}.quick-grid a:hover{box-shadow:0 8px 18px var(--color-shadow-hover)}.cart-grid{grid-template-columns:minmax(0,1fr) 340px;gap:1rem;display:grid}.cart-row{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:0 2px 8px var(--color-shadow);grid-template-columns:84px 1fr auto auto;align-items:center;gap:1rem;margin-block-end:.875rem;padding:.875rem;display:grid}.cart-row img{border-radius:var(--radius-sm);object-fit:cover;width:84px;height:74px}.summary{height:max-content;padding:1.25rem;position:sticky;top:1rem}.summary-line{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;display:flex}.summary-line b{color:var(--color-heading);font-weight:600}.cart-location{color:var(--color-heading);letter-spacing:.03em;text-transform:uppercase;gap:.45rem;margin-block:1rem;font-size:.8125rem;font-weight:600;display:grid}.cart-quantity{gap:.4rem;margin-block-start:.5rem;display:flex}.cart-quantity button{min-height:32px;padding:.25rem .65rem}.session-list{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.session-list a{border-radius:var(--radius-sm);background:var(--color-primary-tint);color:var(--color-primary);text-align:center;padding:.55rem;font-weight:600}.table-card{padding:.5rem;overflow:auto}.calendar-shell{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:0 2px 8px var(--color-shadow);overflow:auto}.calendar-toolbar{justify-content:space-between;align-items:center;gap:1rem;min-width:820px;padding:1.25rem;display:flex}.calendar-toolbar h3{color:var(--color-heading);letter-spacing:-.02em;margin:.1rem 0 0;font-size:1.5rem;font-weight:600}.calendar-nav{align-items:center;gap:.5rem;display:flex}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(110px,1fr));min-width:820px;display:grid}.calendar-weekdays{border-block:1px solid var(--color-border);background:var(--color-bg)}.calendar-weekday{color:var(--color-text-secondary);letter-spacing:.03em;text-transform:uppercase;text-align:center;padding:.75rem;font-size:.8125rem;font-weight:600}.calendar-day{border-inline-end:1px solid var(--color-border);border-block-end:1px solid var(--color-border);background:var(--color-surface);min-height:148px;padding:.75rem}.calendar-day:nth-child(7n){border-inline-end:0}.calendar-day.outside{background:var(--color-bg)}.calendar-date{justify-content:flex-end;margin-block-end:.55rem;display:flex}.calendar-date span{width:30px;height:30px;color:var(--color-heading);border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.calendar-day.outside .calendar-date span{color:var(--color-text-secondary)}.calendar-day.today .calendar-date span{background:var(--color-primary);color:#fff}.calendar-events{gap:.45rem;display:grid}.calendar-event{border-radius:var(--radius-sm);background:var(--color-primary-tint);border:1px solid #4caf5029;gap:.1rem;padding:.5rem;display:grid}.calendar-event b{color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;line-height:1.25;overflow:hidden}.calendar-event span,.calendar-event small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.35;overflow:hidden}.calendar-more{color:var(--color-primary);font-size:.75rem;font-style:normal;font-weight:600}.calendar-legend{border-block-start:1px solid var(--color-border);background:var(--color-bg);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem;min-width:820px;padding:1rem 1.25rem;display:grid}.calendar-legend span{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);padding:.7rem .85rem;font-size:.8125rem}.calendar-legend b{color:var(--color-heading);font-weight:600;display:block}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--color-border);text-align:start;padding:1rem}.wallet-panel,.profile-card{max-width:780px;padding:1.25rem}.wallet-panel strong{color:var(--color-heading);letter-spacing:-.02em;margin:.25rem 0 1rem;font-size:3rem;font-weight:600;line-height:1;display:block}.wallet-support p{margin:.1rem 0 .8rem}.support-actions{flex-wrap:wrap;gap:.75rem;display:flex}.support-button{color:var(--color-heading)}.checkout-support-actions{margin-block-start:.75rem}.alert .checkout-support-actions .support-button{background:var(--color-surface)}.alert .checkout-support-actions .primary{background:var(--color-primary);color:#fff}.alert p:first-child{margin-block-start:0}.alert p:last-child{margin-block-end:0}.redeem,.inline-form{gap:.75rem;margin-block-start:1rem;display:flex}.profile-card{gap:1rem;display:grid}.grid-form{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.questions{gap:1rem;display:grid}.options{gap:.5rem;display:grid}.options label{border-radius:var(--radius-sm);background:var(--color-bg);align-items:center;gap:.55rem;padding:.75rem;display:flex}.auth-page{background:var(--color-bg);grid-template-columns:minmax(360px,520px) minmax(0,1fr);min-height:100vh;display:grid}.auth-card{width:min(440px,92vw);margin:auto;padding:2rem}.auth-card.wide{width:min(820px,92vw)}.auth-logo{width:104px;margin:0 auto 1rem;display:block}.auth-card form{gap:1rem;margin-block-start:1.25rem;display:grid}.auth-card form.grid-form{grid-template-columns:1fr 1fr}.auth-card form.grid-form .primary,.auth-card form.grid-form .alert,.auth-card form.grid-form>a{grid-column:1/-1}.auth-card label,.profile-card label,.grid-form label{color:var(--color-heading);letter-spacing:.03em;text-transform:uppercase;gap:.45rem;font-size:.8125rem;font-weight:600;display:grid}.auth-card>p{margin-block-start:0}.auth-links{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-block-start:1rem;display:flex}.auth-links a{color:var(--color-primary);font-weight:600}.auth-helper-link{width:max-content;color:var(--color-primary);font-weight:600}.auth-action-alert{gap:.5rem;display:grid}.auth-action-alert a{color:var(--color-primary);font-weight:600}.auth-links button{background:var(--color-surface);border:1px solid var(--color-border);min-height:38px;padding:.55rem .75rem}.auth-hero{background:var(--color-primary-tint);place-content:center;padding:3rem;display:grid}.auth-hero h2{max-width:720px;color:var(--color-primary);font-size:2rem}.auth-hero p{max-width:620px;color:var(--color-heading);font-size:1rem}.auth-badges{flex-wrap:wrap;gap:.75rem;margin-block-start:1.25rem;display:flex}.auth-badges span{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-heading);border-radius:999px;align-items:center;gap:.45rem;padding:.625rem .75rem;font-weight:600;display:inline-flex}.auth-badges svg{color:var(--color-primary)}.profile-meta{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);gap:.45rem;padding:.875rem;display:grid}.profile-meta b{color:var(--color-heading);font-weight:600}.empty,.center{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-secondary);text-align:center;box-shadow:0 2px 8px var(--color-shadow);padding:2rem}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:30px;height:30px;margin:auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.switch{align-items:center;gap:.5rem;display:flex}.actions{gap:.75rem;margin:1rem 0;display:flex}.muted{color:var(--color-text-secondary)}html[dir=rtl] .sidebar{left:auto;right:0}html[dir=rtl] .brand,html[dir=rtl] .sidebar a,html[dir=rtl] .logout{text-align:right}html[dir=rtl] .topbar,html[dir=rtl] .page-head,html[dir=rtl] .section-title,html[dir=rtl] .student-hero>div:first-child{direction:rtl}@media (width<=1100px){.cards,.stats,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero,.cart-grid{grid-template-columns:1fr}.student-hero{grid-template-columns:55% 45%}.auth-page{grid-template-columns:1fr}.auth-hero{display:none}}@media (width<=760px){.app-shell{grid-template-columns:1fr}.sidebar{width:285px;transition:transform .2s;position:fixed;inset-block:0;inset-inline-start:0;transform:translate(-110%)}.sidebar.open,html[dir=rtl] .sidebar.open{transform:translate(0)}html[dir=rtl] .sidebar{transform:translate(110%)}.mobile{display:inline-flex}.main{padding:1rem}.topbar{align-items:flex-start}.topbar h1{font-size:1.35rem}.hero{gap:1.25rem;padding:1.25rem}.student-hero{grid-template-columns:1fr;gap:0;height:auto;padding:0}.student-hero>div:first-child{padding-block:1.25rem;padding-inline:1.25rem}.hero h2{font-size:1.75rem}.hero-card{min-height:180px}.hero-card img{height:132px}.student-hero .hero-card{border-radius:0 0 14px 14px;height:180px;min-height:0}.student-hero .hero-card img{border-radius:0 0 14px 14px;height:100%}.student-hero .hero-card b{border-radius:0 0 14px 14px}.stats,.cards,.quick-grid,.choice-grid{grid-template-columns:1fr}.page-head,.section-title{display:grid}.page-head input{max-width:none}.course-fields,.grid-form,.auth-card form.grid-form,.redeem,.inline-form{grid-template-columns:1fr;display:grid}.cart-row{grid-template-columns:74px 1fr}.cart-row img{width:74px;height:66px}.cart-row b,.cart-row button{grid-column:2}.wallet-panel strong{font-size:2.5rem}.auth-card{padding:1.5rem}}
