@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{--ink:#17142c;--muted:#6f6a82;--line:#e8e3f2;--surface:#fff;--canvas:#f8f6ff;--green:#7a36e8;--green-dark:#5921b8;--green-soft:#f0e9ff;--pink:#f21fae;--pink-soft:#fff0fa;--cyan:#11aeea;--lime:#9bd400;--brand-gradient:linear-gradient(105deg, #f21fae 0%, #8b32e8 48%, #10afea 100%);--yellow:#f2b84b;--blue:#11aeea;--red:#ef376f;--shadow:0 10px 34px #49287e17}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);background:var(--canvas);margin:0;font-family:DM Sans,Arial,sans-serif;font-size:15px}button,input,textarea,select{font:inherit}button{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4,.logo{font-family:Manrope,DM Sans,sans-serif}button{cursor:pointer}.logo{align-items:center;display:flex}.brand-logo-shell{align-items:center;min-height:48px;display:inline-flex}.brand-logo-shell img{object-fit:contain;width:166px;height:auto;display:block}.logo.compact .brand-logo-shell img{object-position:left;width:44px}.eyebrow{color:var(--green);letter-spacing:1.7px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.eyebrow.light{color:#9ee0c4}.muted{color:var(--muted)}.button{border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 18px;font-weight:700;transition:all .2s;display:inline-flex}.button svg{width:18px}.button.primary{background:var(--brand-gradient);color:#fff;box-shadow:0 8px 22px #8031d83d}.button.primary:hover{filter:saturate(1.08)brightness(.96);transform:translateY(-1px)}.button.ghost{color:var(--ink);background:#f3f6f4}.button.danger{color:#a74242}.button.full{width:100%;min-height:48px}.button.small{min-height:35px;box-shadow:none;padding:0 13px;font-size:13px}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.text-button{color:var(--green);background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.icon-button{background:0 0;border:0;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.icon-button:hover{background:#edf2ef}.login-page{background:#fff;grid-template-columns:minmax(430px,.88fr) 1.12fr;min-height:100vh;display:grid}.login-brand-panel{color:#fff;background:radial-gradient(circle at 86% 12%,#11aeeab8,#0000 34%),radial-gradient(circle at 15% 88%,#f21faeb8,#0000 34%),linear-gradient(145deg,#4b159e,#7c27d8 55%,#ba1caa);min-height:100vh;padding:54px 64px;position:relative;overflow:hidden}.login-brand-panel:before{content:"";border:100px solid #ffffff09;border-radius:50%;width:560px;height:560px;position:absolute;top:-160px;right:-280px}.login-brand-panel .brand-logo-shell{background:#fffffff5;border-radius:13px;padding:7px 12px;box-shadow:0 12px 35px #1d084629}.login-brand-content{z-index:2;flex-direction:column;height:calc(100vh - 108px);max-height:830px;display:flex;position:relative}.login-hero-copy{max-width:500px;margin:auto 0 70px}.login-hero-copy h1{letter-spacing:-3.4px;margin:0 0 24px;font-size:clamp(46px,5.1vw,74px);line-height:1.02}.login-hero-copy p{color:#ffffffc7;max-width:430px;font-size:18px;line-height:1.6}.login-benefits{color:#ffffffdb;flex-wrap:wrap;gap:22px;font-size:13px;display:flex}.login-benefits span{align-items:center;gap:8px;display:flex}.login-benefits svg{width:17px}.road-decoration{border:1px solid #ffffff17;border-radius:50%;width:370px;height:570px;position:absolute;bottom:-160px;right:-125px;transform:rotate(25deg)}.road-decoration div{background:#ffffff21;border-radius:4px;width:8px;height:66px;position:absolute;left:50%}.road-decoration div:first-child{top:90px}.road-decoration div:nth-child(2){top:215px}.road-decoration div:nth-child(3){top:340px}.login-form-panel{background:#fbfcfb;place-items:center;min-height:100vh;padding:50px;display:grid}.login-card{width:100%;max-width:480px}.login-card h2{letter-spacing:-1px;margin-bottom:8px;font-size:31px}.login-card>p{margin-bottom:30px}.login-card form{gap:18px;display:grid}label{color:#35413d;gap:8px;font-size:13px;font-weight:700;display:grid}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #d5dfda;border-radius:10px;outline:none;padding:0 13px;transition:all .2s}input,select{height:46px}textarea{resize:vertical;padding-top:12px}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #7a36e81c}input::placeholder,textarea::placeholder{color:#9ca8a3}input:disabled{color:var(--muted);background:#eef2f0}.form-row{justify-content:space-between;align-items:center;display:flex}.check-label{align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.check-label input{width:16px;height:16px;accent-color:var(--green)}.form-message,.success-banner{background:var(--green-soft);color:var(--green-dark);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.45}.login-hint{color:var(--muted);margin:-5px 0 0;font-size:12px;line-height:1.5}.otp-context{background:#f2f6f4;border-radius:10px;grid-template-columns:1fr auto;gap:3px 12px;padding:13px 15px;font-size:12px;display:grid}.otp-context span{color:var(--muted)}.otp-context strong{grid-column:1}.otp-context button{grid-area:1/2/3;align-self:center}.otp-input{text-align:center;letter-spacing:9px;padding-left:22px;font-family:Manrope,sans-serif;font-size:22px;font-weight:800}.divider{color:#929d98;align-items:center;gap:14px;margin:28px 0 18px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.role-grid{gap:9px;display:grid}.role-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;align-items:center;gap:12px;width:100%;padding:11px 13px;transition:all .2s;display:flex}.role-card:hover{box-shadow:var(--shadow);border-color:#c5a7f4;transform:translateY(-1px)}.role-icon{width:39px;height:39px;color:var(--green);background:var(--green-soft);border-radius:10px;place-items:center;display:grid}.role-icon.instructor{color:var(--blue);background:#eaf2fb}.role-icon.admin{color:#9a6b1d;background:#fff5df}.role-icon svg{width:19px}.role-card>span:nth-child(2){flex:1;gap:2px;display:grid}.role-card strong{font-size:14px}.role-card small{color:var(--muted);font-size:11px}.role-chevron{color:#9da9a4;width:17px}.login-legal{text-align:center;color:#8c9792;font-size:11px;margin:20px 0 0!important}.login-legal button{color:var(--green);font-size:inherit;background:0 0;border:0;padding:0}.mobile-login-logo{margin-bottom:35px;display:none}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{z-index:50;border-right:1px solid var(--line);background:linear-gradient(#fff 0%,#fdfbff 100%);flex-direction:column;width:250px;padding:27px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-head{justify-content:space-between;align-items:center;padding:0 9px 31px;display:flex}.sidebar nav{gap:4px;display:grid}.nav-caption{color:#9aa59f;text-transform:uppercase;letter-spacing:1.5px;padding:0 11px 8px;font-size:10px;font-weight:800}.sidebar nav button{color:#67736e;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;height:44px;padding:0 12px;font-weight:600;display:flex}.sidebar nav button svg{width:19px}.sidebar nav button:hover{color:var(--ink);background:#f2f6f4}.sidebar nav button.active{color:var(--green-dark);background:var(--green-soft)}.nav-badge{background:var(--green);color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:10px;display:grid}.sidebar-footer{border-top:1px solid var(--line);margin-top:auto;padding-top:16px}.role-preview-launcher{gap:8px;padding:0 8px 12px;display:grid}.role-preview-launcher>span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.role-preview-launcher>div{grid-template-columns:1fr 1fr;gap:7px;display:grid}.role-preview-launcher button{color:#6f28cf;background:#faf7ff;border:1px solid #eadffd;border-radius:9px;justify-content:center;align-items:center;gap:5px;min-width:0;padding:8px 6px;font-size:11px;font-weight:750;display:flex}.role-preview-launcher button:hover{background:#f4edff;border-color:#cdb1f6}.role-preview-launcher button svg{width:14px;height:14px}.user-chip{align-items:center;gap:10px;padding:8px;display:flex}.user-chip>span:last-child{gap:2px;min-width:0;display:grid}.user-chip strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.user-chip small{color:var(--muted);font-size:11px}.logout-button{color:#78847e;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;width:100%;height:38px;padding:0 10px;font-size:12px;display:flex}.logout-button:hover{color:#a13f3f;background:#f7eded}.logout-button svg{width:17px}.avatar{width:38px;height:38px;color:var(--green-dark);background:#cfe9df;border-radius:50%;flex:0 0 38px;place-items:center;font-size:11px;font-weight:800;display:grid}.avatar.instructor{color:#2c67ab;background:#dfeafa}.avatar.admin{color:#8a621c;background:#f7e7c4}.dashboard-main{grid-column:2;min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30;background:#ffffffe6;justify-content:space-between;align-items:center;height:72px;padding:0 35px;display:flex;position:sticky;top:0}.topbar>div{align-items:center;gap:10px;display:flex}.topbar-title{font-family:Manrope;font-size:15px;font-weight:700}.topbar-actions{align-items:center;gap:15px;display:flex}.notification-button{color:#59645f;background:#f0f4f2;border:0;border-radius:10px;place-items:center;width:38px;height:38px;display:grid;position:relative}.notification-button i{background:#e86565;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:7px}.content-wrap{max-width:1280px;margin:0 auto;padding:37px 38px 60px}.role-preview-banner{background:linear-gradient(135deg,#f8f3ff,#fff7fb);border:1px solid #d9c6f8;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px;padding:14px 16px;display:flex;box-shadow:0 8px 24px #5b259c14}.role-preview-banner>div{gap:3px;display:grid}.role-preview-banner strong{color:#552091;font-family:Manrope;font-size:15px}.role-preview-banner span{color:#776a82;font-size:12px}.role-preview-banner .button{flex:none}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.page-heading h1{letter-spacing:-1.1px;margin-bottom:6px;font-size:30px}.page-heading p{color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:17px}.card-label{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.card-label svg{width:17px;color:var(--green)}.card-title-row{justify-content:space-between;align-items:center;gap:18px;display:flex}.card-title-row h2,.card-title-row h3{margin:0;font-size:17px}.card-title-row p{color:var(--muted);margin:4px 0 0;font-size:13px}.soft-badge{color:#63706a;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:#eef2f0;border-radius:20px;align-items:center;gap:4px;width:fit-content;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.soft-badge.green{background:var(--green-soft);color:var(--green-dark)}.soft-badge svg{width:12px;height:12px}.student-hero-grid{grid-template-columns:1.45fr .85fr;gap:20px;margin-bottom:38px;display:grid}.next-lesson-card{background:linear-gradient(135deg,#fff,#f9fcfa);padding:25px 28px}.lesson-date{gap:4px;margin:21px 0 25px;display:grid}.lesson-date strong{font-family:Manrope;font-size:24px}.lesson-date span{color:var(--green);font-weight:700}.lesson-meta{border-top:1px solid var(--line);align-items:center;gap:10px;padding-top:19px;display:flex}.lesson-meta>span{gap:2px;display:grid}.lesson-meta small,.feedback-author small{color:var(--muted);font-size:10px}.lesson-meta strong{font-size:12px}.meeting-point{border-left:1px solid var(--line);min-width:180px;margin-left:auto;padding-left:28px}.progress-ring-card{color:#fff;background:linear-gradient(140deg,#4d179e,#8c2de0 62%,#e429a9);border-color:#0000;justify-content:space-between;align-items:center;gap:10px;padding:26px;display:flex}.progress-ring-card .card-label{color:#b3c9c1}.progress-ring-card .big-number{margin:15px 0 2px;font-family:Manrope;font-size:36px;display:block}.progress-ring-card p{color:#b3c9c1;margin:0;font-size:11px}.progress-ring{--progress:0deg;background:conic-gradient(#a7e200 var(--progress), #ffffff26 0);border-radius:50%;flex:0 0 108px;place-items:center;width:108px;height:108px;display:grid;position:relative}.progress-ring:before{content:"";background:#6820b9;border-radius:50%;width:82px;height:82px;position:absolute}.progress-ring span{font-family:Manrope;font-weight:800;position:relative}.section-heading{justify-content:space-between;align-items:flex-end;margin:32px 0 17px;display:flex}.section-heading h2{margin:0 0 3px;font-size:18px}.section-heading p{color:var(--muted);margin:0;font-size:13px}.journey-grid{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.journey-step{border:1px solid var(--line);background:#fff;flex-direction:column;justify-content:space-between;min-height:130px;padding:15px 13px;display:flex;position:relative}.journey-step:first-child{border-radius:14px 0 0 14px}.journey-step:last-child{border-radius:0 14px 14px 0}.journey-step.active{background:var(--green);color:#fff;border-color:var(--green);border-radius:12px;transform:translateY(-3px);box-shadow:0 8px 20px #0b6b4f33}.journey-step.done{background:#fbfdfc}.journey-step.linked{color:inherit;cursor:pointer;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s}.journey-step.linked:hover{z-index:2;border-color:#b996ef;transform:translateY(-3px);box-shadow:0 9px 24px #5e30a024}.journey-step.linked:focus-visible{z-index:2;outline-offset:2px;outline:3px solid #7a29d840}.journey-link-icon{color:var(--purple);position:absolute;top:18px;right:11px}.journey-link-icon svg{width:13px}.journey-number{color:#7b8781;background:#edf2ef;border-radius:50%;place-items:center;width:28px;height:28px;font-size:10px;font-weight:800;display:grid}.journey-number svg{width:14px}.done .journey-number{background:var(--green-soft);color:var(--green)}.active .journey-number{color:#fff;background:#ffffff2b}.journey-step>div{gap:3px;display:grid}.journey-step strong{font-size:11px;line-height:1.3}.journey-step small{color:#89948f;font-size:9px}.journey-step.active small{color:#bde3d3}.overview-bottom-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:36px;display:grid}.compact-card{padding:23px 25px}.compact-card .card-title-row{margin-bottom:19px}.quote{color:#53605a;border-left:3px solid #9dd5c0;padding-left:14px;font-style:italic;line-height:1.65}.feedback-author{align-items:center;gap:9px;display:flex}.feedback-author .avatar{flex-basis:32px;width:32px;height:32px}.feedback-author>span{font-size:12px;display:grid}.task-row{border-top:1px solid #edf1ef;align-items:center;gap:11px;padding:10px 0;display:flex}.task-row>span{border:1.5px solid #cbd5d0;border-radius:6px;place-items:center;width:21px;height:21px;display:grid}.task-row svg{width:13px}.task-row>div{gap:2px;display:grid}.task-row strong{font-size:12px}.task-row small{color:var(--muted);font-size:10px}.task-row.checked{opacity:.58}.task-row.checked strong{text-decoration:line-through}.task-row.checked>span{color:#fff;background:var(--green);border-color:var(--green)}.success-banner{align-items:center;gap:9px;margin:-10px 0 20px;display:flex}.success-banner svg{width:18px}.success-banner button{color:inherit;background:0 0;border:0;margin-left:auto;display:grid}.success-banner button svg{width:16px}.table-card{overflow:hidden}.table-card>.card-title-row{border-bottom:1px solid var(--line);padding:22px 25px}.appointment-row{border-bottom:1px solid #edf1ef;grid-template-columns:56px minmax(180px,1.2fr) minmax(150px,.8fr) auto;align-items:center;gap:17px;padding:17px 24px;display:grid}.appointment-row:last-child{border-bottom:0}.date-tile{background:var(--green-soft);width:52px;height:52px;color:var(--green-dark);text-align:center;border-radius:12px;place-content:center;line-height:1;display:grid}.date-tile strong{font-family:Manrope;font-size:18px}.date-tile span{text-transform:uppercase;margin-top:4px;font-size:9px}.appointment-info,.appointment-person>span{gap:3px;display:grid}.appointment-info strong{font-size:13px}.appointment-info span{color:var(--muted);font-size:11px}.appointment-person{align-items:center;gap:9px;display:flex}.appointment-person .avatar{flex-basis:34px;width:34px;height:34px}.appointment-person small{color:var(--muted);font-size:9px}.appointment-person strong{font-size:11px}.appointment-actions{align-items:center;gap:7px;display:flex}.booking-section{margin-top:35px}.timezone-note{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.timezone-note svg{width:15px}.slot-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.slot-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:15px;flex-direction:column;align-items:flex-start;min-height:177px;padding:18px;transition:all .2s;display:flex;box-shadow:0 5px 20px #14362b0a}.slot-card:hover{box-shadow:var(--shadow);border-color:#82bba6;transform:translateY(-2px)}.slot-day{color:var(--green);text-transform:uppercase;letter-spacing:.8px;font-size:10px;font-weight:800}.slot-card>strong{margin:5px 0 14px;font-size:14px}.slot-time{font-family:Manrope;font-size:20px;font-weight:800}.slot-card small{color:var(--muted);margin-top:2px}.slot-action{border-top:1px solid var(--line);width:100%;color:var(--green);justify-content:space-between;align-items:center;margin-top:auto;padding-top:13px;font-size:12px;font-weight:800;display:flex}.slot-action svg{width:15px}.booking-confirm{text-align:center}.large-icon{background:var(--green-soft);width:55px;height:55px;color:var(--green);border-radius:15px;place-items:center;margin:0 auto 14px;display:grid}.booking-confirm h3{margin:0 0 4px;font-size:20px}.booking-confirm>p{color:var(--muted)}.confirm-details{border:1px solid var(--line);text-align:left;border-radius:12px;grid-template-columns:1fr 1fr;margin:22px 0;padding:15px;display:grid}.confirm-details span{gap:3px;display:grid}.confirm-details span+span{border-left:1px solid var(--line);padding-left:18px}.confirm-details small{color:var(--muted)}.confirm-details strong{font-size:12px}.notice{background:#f5f7f6;border-radius:9px;padding:10px;font-size:11px}.goal-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.goal-card{padding:21px}.goal-card-head{justify-content:space-between;align-items:center;display:flex}.goal-status{text-transform:uppercase;border-radius:20px;align-items:center;gap:4px;padding:5px 9px;font-size:9px;font-weight:800;display:inline-flex}.goal-status svg{width:11px}.goal-status.confident{background:var(--green-soft);color:var(--green)}.goal-status.learning{color:#996d18;background:#fff3d9}.goal-status.not_started{color:#7c8882;background:#eef2f0}.goal-category{color:var(--muted);text-transform:uppercase;font-size:10px}.goal-card h3{margin:20px 0 7px;font-size:16px}.goal-card p{color:var(--muted);min-height:37px;font-size:12px;line-height:1.5}.goal-meter{background:#edf1ef;border-radius:4px;height:6px;overflow:hidden}.goal-meter span,.goal-meter i{background:var(--green);border-radius:inherit;height:100%;display:block}.goal-image-gallery{margin:13px 0 16px}.goal-image-gallery>summary{border:1px solid var(--line);cursor:pointer;background:#f2f5f4;border-radius:13px;min-height:124px;list-style:none;position:relative;overflow:hidden}.goal-image-gallery>summary::-webkit-details-marker{display:none}.goal-image-gallery>summary img{object-fit:cover;width:100%;height:124px;transition:transform .2s;display:block}.goal-image-gallery>summary:hover img{transform:scale(1.02)}.goal-image-gallery>summary span{color:#fff;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#191226d1;border-radius:20px;padding:6px 9px;font-size:9px;font-weight:800;position:absolute;bottom:9px;left:10px}.goal-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:8px;display:grid}.goal-image-grid a{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;overflow:hidden}.goal-image-grid img{object-fit:contain;background:#f6f7f7;width:100%;height:112px;display:block}.goal-image-gallery.compact{width:min(100%,420px);margin:8px 0 2px}.goal-image-gallery.compact>summary{grid-template-columns:78px 1fr;align-items:center;min-height:58px;display:grid}.goal-image-gallery.compact>summary img{width:78px;height:58px}.goal-image-gallery.compact>summary span{color:var(--green-dark);-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;font-size:10px;position:static}.goal-image-gallery.compact .goal-image-grid img{height:96px}.lesson-history{gap:15px;display:grid}.history-card{padding:24px}.history-date{color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.history-card h3{margin:19px 0 8px;font-size:18px}.history-card>p{color:#52605a;line-height:1.65}.history-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;display:flex}.goal-tags{flex-wrap:wrap;gap:6px;display:flex}.goal-tags span{color:#56625d;background:#f0f4f2;border-radius:7px;padding:5px 8px;font-size:10px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px;display:grid}.metric-card{align-items:center;gap:15px;padding:19px;display:flex}.metric-icon{border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.metric-icon.green{color:var(--green);background:var(--green-soft)}.metric-icon.blue{color:var(--blue);background:#e9f2fc}.metric-icon.yellow{color:#a36d12;background:#fff3d9}.metric-icon.red{color:var(--red);background:#faeaea}.metric-card>div{display:grid}.metric-card small{color:var(--muted);font-size:10px}.metric-card strong{font-family:Manrope;font-size:24px;line-height:1.2}.metric-card span:last-child{color:var(--muted);font-size:10px}.setup-panel{background:radial-gradient(circle at 94% 5%,#11aeea1f,#0000 27%),linear-gradient(135deg,#fff 0%,#fbf7ff 100%);margin-bottom:22px;padding:27px;overflow:hidden}.setup-panel-head{grid-template-columns:1fr 220px;align-items:end;gap:28px;margin-bottom:23px;display:grid}.setup-panel-head h2{margin:13px 0 5px;font-size:22px}.setup-panel-head p{color:var(--muted);margin:0;font-size:13px}.setup-panel-head .soft-badge svg{width:12px}.setup-progress{gap:6px;display:grid}.setup-progress strong{justify-self:end;font-family:Manrope;font-size:21px}.setup-progress>span{background:#eae4f4;border-radius:99px;height:8px;overflow:hidden}.setup-progress i{border-radius:inherit;background:var(--brand-gradient);height:100%;transition:width .3s;display:block}.setup-progress small{color:var(--muted);justify-self:end;font-size:10px}.setup-step-grid{grid-template-columns:repeat(3,1fr);gap:11px;display:grid}.setup-step{border:1px solid var(--line);background:#ffffffe0;border-radius:14px;flex-direction:column;align-items:flex-start;min-height:175px;padding:17px;display:flex}.setup-step.done{background:#faf8ff}.setup-step-icon{width:36px;height:36px;color:var(--green);background:var(--green-soft);border-radius:11px;place-items:center;display:grid}.setup-step-icon svg{width:18px}.setup-step>div{gap:3px;margin:13px 0 12px;display:grid}.setup-step>div small{color:var(--green);text-transform:uppercase;letter-spacing:.7px;font-size:9px;font-weight:800}.setup-step>div strong{font-size:13px}.setup-step>div p{min-height:34px;color:var(--muted);margin:0;font-size:10px;line-height:1.45}.setup-step .text-button,.setup-step>.soft-badge{margin-top:auto}.setup-step .text-button{align-items:center;gap:3px;font-size:11px;display:inline-flex}.setup-step .text-button svg{width:14px}.quick-actions{grid-template-columns:repeat(3,1fr);gap:12px;margin:-5px 0 22px;display:grid}.quick-actions>button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:14px;grid-template-columns:37px 1fr 17px;align-items:center;gap:11px;min-width:0;padding:14px;transition:all .2s;display:grid;box-shadow:0 5px 18px #49287e0d}.quick-actions>button:hover{box-shadow:var(--shadow);border-color:#cdb6f1;transform:translateY(-1px)}.quick-actions>button>span{width:37px;height:37px;color:var(--green);background:var(--green-soft);border-radius:11px;place-items:center;display:grid}.quick-actions svg{width:17px}.quick-actions>button>svg{color:#aaa1ba;width:15px}.quick-actions>button>div{gap:2px;min-width:0;display:grid}.quick-actions strong{font-size:12px}.quick-actions small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.upcoming-strip{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.mini-appointment{padding:18px}.mini-appointment>strong{margin:12px 0 16px;display:block}.report-form{gap:17px;display:grid}.report-form fieldset{border:0;margin:0;padding:0}.report-form legend{margin-bottom:9px;font-size:13px;font-weight:700}.checkbox-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.checkbox-grid .check-label{border:1px solid var(--line);border-radius:9px;padding:9px}.student-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.student-card{text-align:left;padding:21px;transition:all .2s}.student-card:hover{border-color:#9bcbb9;transform:translateY(-2px)}.student-card-head{align-items:center;gap:11px;display:flex}.student-card-head>span{flex:1;gap:2px;display:grid}.student-card-head small{color:var(--muted);font-size:10px}.student-card-head>svg{color:#929d98;width:16px}.student-stats{grid-template-columns:1fr 1fr;padding:18px 0 14px;display:grid}.student-stats span{gap:2px;display:grid}.student-stats span+span{border-left:1px solid var(--line);padding-left:15px}.student-stats small{color:var(--muted);font-size:10px}.student-stats strong{font-size:13px}.profile-hero{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding-bottom:19px;display:flex}.profile-hero .avatar{flex-basis:52px;width:52px;height:52px}.profile-hero h3{margin:0 0 3px}.profile-hero p{color:var(--muted);margin:0;font-size:11px}.student-detail h4{margin:22px 0 11px}.progress-edit-list{display:grid}.progress-edit-list>div{border-top:1px solid #edf1ef;grid-template-columns:1fr 135px;align-items:center;gap:15px;padding:10px 0;display:grid}.progress-edit-list>div>span{display:grid}.progress-edit-list small{color:var(--muted);font-size:10px}.progress-edit-list select{height:38px;font-size:11px}.availability-card{overflow:hidden}.availability-head,.availability-row{grid-template-columns:minmax(110px,.7fr) minmax(270px,1.2fr) 150px;align-items:center;gap:18px;padding:14px 24px;display:grid}.availability-head{color:var(--muted);text-transform:uppercase;letter-spacing:1px;background:#f7f9f8;font-size:9px;font-weight:800}.availability-row{border-top:1px solid var(--line);background:#fbfbfc;min-height:69px}.availability-row.active{background:#fff}.availability-row>strong{font-size:13px}.availability-time-fields{grid-template-columns:minmax(105px,1fr) auto minmax(105px,1fr);align-items:center;gap:9px;display:grid}.availability-time-fields input{height:40px}.availability-time-fields input:disabled{color:#a6a0ac;background:#f1eff3}.availability-time-fields i{color:var(--muted);font-size:10px;font-style:normal}.availability-toggle{cursor:pointer;grid-template-columns:39px 1fr;align-items:center;gap:8px;display:grid}.availability-toggle input{opacity:0;pointer-events:none;position:absolute}.availability-toggle>span{background:#d8d4dc;border-radius:99px;width:39px;height:22px;padding:3px;transition:all .2s}.availability-toggle>span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;display:block;box-shadow:0 2px 5px #0000002e}.availability-toggle input:checked+span{background:var(--green)}.availability-toggle input:checked+span:after{transform:translate(17px)}.availability-toggle>strong{font-size:10px}.availability-save-bar{border-top:1px solid var(--line);background:#f8f6fc;justify-content:space-between;align-items:center;gap:18px;padding:15px 24px;display:flex}.availability-save-bar>span{color:#706979;align-items:center;gap:7px;font-size:10px;display:flex}.availability-save-bar svg{width:15px;color:var(--green)}.availability-exceptions{margin-top:30px}.availability-exception-list{gap:10px;display:grid}.availability-exception{grid-template-columns:42px 1fr auto;align-items:center;gap:13px;min-height:82px;padding:14px 16px;display:grid}.availability-exception-icon{border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.availability-exception-icon.available{color:var(--green);background:var(--green-soft)}.availability-exception-icon.blocked{color:var(--red);background:#faeaea}.availability-exception-icon svg{width:18px}.availability-exception>div{gap:2px;min-width:0;display:grid}.availability-exception small{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.availability-exception strong{font-size:12px}.availability-exception p{color:var(--muted);margin:0;font-size:10px}.availability-empty{align-items:center;gap:13px;min-height:105px;padding:20px;display:flex}.availability-empty>svg{width:38px;height:38px;color:var(--green);background:var(--green-soft);border-radius:11px;padding:9px}.availability-empty div{gap:3px;display:grid}.availability-empty p{color:var(--muted);margin:0;font-size:11px}.notice-card{color:#285c96;background:#eaf3fb;border-radius:14px;align-items:flex-start;gap:14px;margin-top:17px;padding:18px 20px;display:flex}.notice-card svg{flex:0 0 21px}.notice-card strong{margin-bottom:3px;display:block}.notice-card p{margin:0;font-size:12px;line-height:1.5}.notification-list{overflow:hidden}.notification-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;grid-template-columns:42px 1fr 10px;align-items:center;gap:13px;width:100%;padding:18px 22px;display:grid}.notification-row:last-child{border-bottom:0}.notification-row:hover{background:#f9fbfa}.notification-row.unread{background:#f7fcfa}.notification-icon{width:42px;height:42px;color:var(--green);background:var(--green-soft);border-radius:12px;place-items:center;display:grid}.notification-icon.progress{color:var(--blue);background:#eaf2fb}.notification-icon.system{color:#9b6e20;background:#fff3d9}.notification-row>span:nth-child(2){gap:2px;display:grid}.notification-row p{color:var(--muted);margin:0;font-size:12px}.notification-row small{color:#94a09a;margin-top:4px;font-size:9px}.notification-row>i{background:var(--green);border-radius:50%;width:7px;height:7px}.admin-overview-grid{grid-template-columns:1.3fr .7fr;gap:18px;display:grid}.activity-row{border-top:1px solid var(--line);grid-template-columns:10px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.activity-row>span{background:var(--green);border-radius:50%;width:8px;height:8px}.activity-row>div{gap:2px;display:grid}.activity-row small{color:var(--muted);font-size:10px}.status-row{border-top:1px solid var(--line);justify-content:space-between;padding:12px 0;font-size:12px;display:flex}.status-row span{color:var(--muted)}.action-empty-state{grid-template-columns:48px 1fr auto;align-items:center;gap:14px;min-height:178px;padding:25px 8px 8px;display:grid}.action-empty-state>span{width:48px;height:48px;color:var(--green);background:var(--green-soft);border-radius:14px;place-items:center;display:grid}.action-empty-state>span svg{width:22px}.action-empty-state>div{gap:5px;display:grid}.action-empty-state p{max-width:430px;color:var(--muted);margin:0;font-size:11px;line-height:1.5}.table-tools{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.table-tools input{max-width:320px;height:40px}.table-tools span{color:var(--muted);font-size:11px}.table-row{border-bottom:1px solid var(--line);grid-template-columns:1.2fr .65fr 1fr .5fr;align-items:center;gap:15px;padding:14px 22px;font-size:12px;display:grid}.table-row:last-child{border-bottom:0}.table-head{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;background:#f7f9f8;font-size:9px;font-weight:800}.user-cell{align-items:center;gap:10px;display:flex}.user-cell .avatar{flex-basis:34px;width:34px;height:34px}.user-cell>span{display:grid}.user-cell small{color:var(--muted);font-size:9px}.status-dot{align-items:center;gap:6px;display:flex}.status-dot i{background:#3eb27f;border-radius:50%;width:7px;height:7px}.goal-admin-list{gap:16px;display:grid}.goal-admin-list>.card{padding:22px 24px 6px}.goal-admin-list .card-title-row{margin-bottom:10px}.admin-goal-row{border-top:1px solid var(--line);grid-template-columns:34px 1fr 38px;align-items:center;gap:13px;padding:15px 0;display:grid}.goal-order{background:var(--green-soft);width:29px;height:29px;color:var(--green);border-radius:9px;place-items:center;font-size:10px;font-weight:800;display:grid}.admin-goal-row>div{gap:2px;display:grid}.admin-goal-row p{color:var(--muted);margin:0;font-size:11px}.settings-grid{grid-template-columns:1fr 290px;align-items:start;gap:18px;display:grid}.settings-form{padding:25px}.settings-form h2{margin:0 0 17px;font-size:17px}.settings-form h2:not(:first-child){border-top:1px solid var(--line);margin-top:25px;padding-top:24px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.full-field{grid-column:1/-1}.settings-form .button{margin-top:23px}.save-confirm{color:var(--green);margin-left:13px;font-size:12px;font-weight:700}.demo-settings{padding:22px}.demo-settings h3{font-size:14px}.demo-settings p{color:var(--muted);font-size:12px;line-height:1.5}.demo-settings hr{border:0;border-top:1px solid var(--line);margin:22px 0}.login-access-note{border:1px solid color-mix(in srgb, var(--green) 25%, var(--line));background:color-mix(in srgb, var(--green) 7%, white);color:var(--ink);border-radius:14px;align-items:center;gap:12px;margin-top:24px;padding:14px;display:flex}.login-access-note svg{width:21px;color:var(--green);flex:none}.login-access-note span{gap:3px;display:grid}.login-access-note strong{font-size:13px}.login-access-note small{color:var(--muted);line-height:1.4}.invite-form{gap:18px;display:grid}.invite-form label{gap:7px;font-size:12px;font-weight:700;display:grid}.invite-form input,.invite-form select{width:100%}.error-banner{color:#9d2020;background:#fff2f2;border-color:#f2b6b6}.error-banner>button:last-child{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;font-weight:700}.finance-summary{grid-template-columns:1.25fr .75fr .75fr;gap:16px;margin-bottom:22px;display:grid}.balance-card{color:#fff;background:var(--brand-gradient);border-color:#0000;grid-row:span 2;padding:24px;box-shadow:0 16px 36px #7a36e838}.balance-card .card-label{color:#b8ddcf}.balance-card>strong{margin:18px 0 3px;font-family:Manrope;font-size:34px;display:block}.balance-card>p{color:#c7e0d7;font-size:11px}.balance-card .button{color:var(--green-dark);box-shadow:none;background:#fff;margin:14px 0 19px}.payment-methods{border-top:1px solid #ffffff29;gap:8px;padding-top:15px;display:flex}.payment-methods span{border:1px solid #ffffff3b;border-radius:6px;padding:5px 8px;font-size:9px;font-weight:800}.finance-metric{align-items:center;gap:13px;padding:21px;display:flex}.finance-metric>div{gap:2px;display:grid}.finance-metric small,.finance-metric span{color:var(--muted);font-size:10px}.finance-metric strong{font-family:Manrope;font-size:19px}.finance-history{margin-bottom:26px}.finance-list article{border-bottom:1px solid var(--line);grid-template-columns:40px 1fr 120px minmax(74px,auto);align-items:center;gap:14px;padding:14px 23px;display:grid}.finance-list article:last-child{border-bottom:0}.finance-list article>div{gap:2px;display:grid}.finance-list article>div strong{font-size:12px}.finance-list article>div small{color:var(--muted);font-size:9px}.finance-list article>strong{text-align:right;font-size:12px}.finance-payment-action{justify-content:flex-end;display:flex}.finance-payment-action .button{white-space:nowrap}.invoice-icon{color:#97691a;background:#fff3d9;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.invoice-icon.paid{color:var(--green);background:var(--green-soft)}.invoice-icon svg{width:18px}.package-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.package-card{padding:24px;position:relative;overflow:hidden}.package-card.featured{border:2px solid var(--green)}.package-card h3{margin-bottom:4px;font-size:18px}.package-card>p{color:var(--muted);font-size:12px}.package-card>div{margin:24px 0 17px;display:grid}.package-card>div strong{font-family:Manrope;font-size:27px}.package-card>div small{color:var(--green)}.package-label{background:var(--green);color:#fff;text-transform:uppercase;border-radius:0 0 0 10px;padding:7px 11px;font-size:9px;font-weight:800;position:absolute;top:0;right:0}.learning-hero{color:#fff;background:radial-gradient(circle at 77% 15%,#9bd4005c,#0000 30%),radial-gradient(circle at 12% 92%,#f21fae6b,#0000 34%),linear-gradient(135deg,#441095,#7a29d8 56%,#0d9edc);border-radius:20px;grid-template-columns:1.3fr .7fr;align-items:center;gap:30px;min-height:270px;padding:34px;display:grid;overflow:hidden;box-shadow:0 18px 40px #5d1fab38}.learning-hero h2{letter-spacing:-1px;margin-bottom:11px;font-size:29px;line-height:1.2}.learning-hero p{color:#bfdbd1;max-width:610px;line-height:1.6}.learning-button{color:var(--green-dark);box-shadow:none;background:#fff}.learning-score{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff12;border:1px solid #ffffff21;border-radius:17px;flex-direction:column;justify-content:center;min-height:185px;padding:23px;display:flex}.learning-score>strong{font-family:Manrope;font-size:42px}.learning-score>span{color:#b9d7cc;font-size:11px}.learning-score .goal-meter{background:#ffffff21;margin:17px 0 9px}.learning-score .goal-meter i{background:#72d7ac}.learning-score small{color:#b9d7cc}.learning-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.learning-card{overflow:hidden}.learning-cover{color:#fff;justify-content:space-between;align-items:flex-start;height:125px;padding:14px;display:flex;position:relative}.learning-cover span{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);text-transform:uppercase;background:#0003;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:800}.learning-cover svg{opacity:.95;align-self:center;width:38px;height:38px;margin:0 auto 0 -18px}.cover-1{background:linear-gradient(145deg,#164d42,#1a9270)}.cover-2{background:linear-gradient(145deg,#315170,#6492ba)}.cover-3{background:linear-gradient(145deg,#76552d,#d19a4f)}.cover-4{background:linear-gradient(145deg,#493963,#8e73b6)}.learning-card-body{padding:18px}.learning-card-body>div:first-child{color:var(--muted);justify-content:space-between;font-size:9px;display:flex}.learning-card-body h3{margin:12px 0 6px;font-size:14px}.learning-card-body p{min-height:49px;color:var(--muted);font-size:11px;line-height:1.5}.learning-card-body .goal-meter{margin:16px 0 14px}.learning-card-body button{font-size:11px}.theory-panel{grid-template-columns:55px 1fr auto;align-items:center;gap:18px;margin-top:24px;padding:24px;display:grid}.theory-icon{color:#6a4b99;background:#efe9f7;border-radius:15px;place-items:center;width:55px;height:55px;display:grid}.theory-panel h2{margin:0 0 5px;font-size:17px}.theory-panel p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.course-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.course-card{padding:23px}.course-top{justify-content:space-between;align-items:center;display:flex}.course-kind{color:var(--green-dark);background:var(--green-soft);border-radius:8px;padding:6px 9px;font-size:10px;font-weight:800}.course-kind.nothilfe{color:#9a6818;background:#fff2d7}.course-kind.wab{color:#5d4890;background:#efeaf7}.seats{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:flex}.seats i{background:#3db27c;border-radius:50%;width:6px;height:6px}.course-card>h2{margin:21px 0;font-size:18px}.course-detail{border-top:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.course-detail svg{width:17px;color:var(--green)}.course-detail span{gap:2px;display:grid}.course-detail strong{font-size:11px}.course-detail small{color:var(--muted);font-size:9px}.course-footer{justify-content:space-between;align-items:flex-end;margin-top:20px;display:flex}.course-footer>div{display:grid}.course-footer small{color:var(--muted);font-size:9px}.course-footer strong{font-family:Manrope;font-size:20px}.course-info-banner{background:#f0f7fc;border:1px solid #cfe1f2;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;padding:20px 23px;display:flex}.course-info-banner>div{align-items:center;gap:14px;display:flex}.course-info-banner .large-icon{color:#2d6da8;background:#deedf8;margin:0}.course-info-banner h3{margin:0 0 3px;font-size:14px}.course-info-banner p{color:#557088;margin:0;font-size:11px}.ops-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.ops-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.ops-summary-strip article{border:1px solid var(--line);min-height:88px;box-shadow:var(--shadow);background:#fff;border-radius:15px;align-items:center;gap:13px;padding:17px 20px;display:flex}.ops-summary-strip article>span{width:43px;height:43px;color:var(--green);background:var(--green-soft);border-radius:12px;flex:0 0 43px;place-items:center;display:grid}.ops-summary-strip article:nth-child(2)>span{color:var(--blue);background:#e9f6fc}.ops-summary-strip article:nth-child(3)>span{color:var(--pink);background:var(--pink-soft)}.ops-summary-strip article>div{gap:2px;display:grid}.ops-summary-strip small{color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:800}.ops-summary-strip strong{font-family:Manrope;font-size:22px}.time-automation-note{color:var(--green-dark);background:linear-gradient(135deg,#f1fbf6,#f8f5ff);border:1px solid #c9eadc;border-radius:14px;align-items:center;gap:12px;margin:0 0 16px;padding:13px 16px;display:flex}.time-automation-note>span{color:#fff;background:var(--green);border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.time-automation-note svg{width:17px}.time-automation-note div{gap:2px;display:grid}.time-automation-note strong{font-size:12px}.time-automation-note p{color:#527065;margin:0;font-size:10px;line-height:1.45}.automatic-label{background:var(--green-soft);text-transform:uppercase;letter-spacing:.4px;border-radius:999px;align-items:center;gap:3px;width:fit-content;padding:3px 6px;font-weight:800;color:var(--green-dark)!important;margin-top:5px!important;font-size:8px!important;display:inline-flex!important}.automatic-label svg{width:9px;height:9px}.ops-card{overflow:hidden}.ops-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;min-height:65px;padding:11px 18px;display:flex}.ops-toolbar>span{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:700}.ops-search{background:#faf9fd;border:1px solid #ded8ea;border-radius:11px;align-items:center;gap:8px;width:min(100%,460px);height:42px;padding:0 12px;display:flex}.ops-search svg{width:17px;color:var(--green);flex:0 0 17px}.ops-search input{height:38px;box-shadow:none;background:0 0;border:0;padding:0}.ops-table{width:100%;overflow-x:auto}.ops-table-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;align-items:center;gap:14px;width:100%;min-width:920px;min-height:62px;padding:10px 18px;font-size:11px;display:grid}.ops-table button.ops-table-row:hover{background:#fbf9ff}.ops-table-row:last-child{border-bottom:0}.ops-table-row>span{color:#504b61;min-width:0}.ops-table-row>span>strong,.ops-table-row>span>small{display:block}.ops-table-row>span>small{color:var(--muted);margin-top:3px;font-size:9px}.ops-table-head{min-height:42px;color:var(--muted);text-transform:uppercase;letter-spacing:.65px;background:#f7f5fb;font-size:9px;font-weight:800}.ops-table-head>span{color:var(--muted)}.student-ops-table .ops-table-row{grid-template-columns:105px 1.15fr 1fr .7fr 84px}.education-ops-table .ops-table-row{grid-template-columns:.75fr 1.2fr 1fr 70px 1fr 90px}.invoice-ops-table .ops-table-row{grid-template-columns:.75fr 1.35fr 1fr .75fr .75fr 92px 80px}.offer-ops-table .ops-table-row{grid-template-columns:.8fr 1.2fr 1.25fr .85fr .75fr 90px}.payment-ops-table .ops-table-row,.time-ops-table .ops-table-row,.cash-ops-table .ops-table-row{grid-template-columns:.8fr 1.3fr 1fr 1fr .75fr 90px}.ops-person{align-items:center;gap:9px;display:flex!important}.ops-person i{width:31px;height:31px;color:var(--green-dark);background:var(--green-soft);border-radius:10px;flex:0 0 31px;place-items:center;font-size:10px;font-style:normal;font-weight:800;display:grid}.ops-person strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ops-status{color:#686174;text-transform:uppercase;letter-spacing:.45px;white-space:nowrap;background:#efedf3;border-radius:999px;align-items:center;width:fit-content;padding:5px 8px;font-size:8px;font-weight:900;display:inline-flex}.ops-status.active,.ops-status.completed,.ops-status.paid,.ops-status.accepted,.ops-status.approved,.ops-status.settled{color:#08744e;background:#e8f7f0}.ops-status.open,.ops-status.sent,.ops-status.in_progress,.ops-status.submitted,.ops-status.partially_paid{color:#8a6417;background:#fff3d8}.ops-status.overdue,.ops-status.cancelled,.ops-status.rejected,.ops-status.failed{color:#ae2f52;background:#ffedf3}.ops-status.draft,.ops-status.paused,.ops-status.expired{color:#635276;background:#f0ebf7}.ops-progress{align-items:center;gap:8px;display:flex}.ops-progress>i{background:#ece8f2;border-radius:5px;width:70px;height:6px;overflow:hidden}.ops-progress b{border-radius:inherit;background:var(--brand-gradient);height:100%;display:block}.ops-progress small{color:var(--muted);font-size:9px}.ops-empty{text-align:center;align-content:center;place-items:center;gap:7px;min-height:280px;padding:35px 20px;display:grid}.ops-empty>span{width:52px;height:52px;color:var(--green);background:var(--green-soft);border-radius:15px;place-items:center;margin-bottom:5px;display:grid}.ops-empty p{max-width:430px;color:var(--muted);margin:0 0 12px;font-size:12px}.ops-form{gap:17px;display:grid}.ops-form-note{color:#6d607c;background:#f6f2fb;border-radius:10px;margin:-2px 0 0;padding:11px 12px;font-size:11px;line-height:1.45}.ops-modal-wide{width:min(100%,1060px)}.ops-modal-actions{justify-content:flex-end;gap:9px;padding-top:15px;display:flex}.ops-load-more{margin:16px auto 0;display:flex}.ops-profile-hero{background:linear-gradient(115deg,#f2ebff,#f8f5ff 55%,#eef9fd);border-radius:14px;align-items:center;gap:14px;padding:17px;display:flex}.ops-profile-hero>span{color:#fff;background:var(--brand-gradient);border-radius:15px;place-items:center;width:50px;height:50px;font-weight:800;display:grid}.ops-profile-hero h3{margin:2px 0;font-size:18px}.ops-profile-hero p,.ops-profile-hero small{color:var(--muted);margin:0;font-size:10px}.ops-detail-stack{gap:18px;display:grid}.ops-detail-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.ops-detail-grid>span{border:1px solid var(--line);border-radius:12px;align-content:center;gap:4px;min-height:72px;padding:13px;display:grid}.ops-detail-grid>span small{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.ops-detail-grid>span strong{font-size:12px;line-height:1.45}.education-detail-layout{grid-template-columns:1fr 1fr;gap:23px;display:grid}.education-detail-layout>section,.education-detail-layout>aside{min-width:0}.education-detail-layout>aside{background:#f8f6fc;border-radius:14px;padding:19px}.education-detail-layout>aside h3{margin-bottom:5px}.education-detail-layout>aside>p{color:var(--muted);margin-bottom:15px;font-size:11px}.ops-check{grid-template-columns:18px 1fr;align-content:end;align-items:center;min-height:46px}.ops-check input{width:17px;height:17px;accent-color:var(--green)}.ops-subtitle{margin:21px 0 11px;font-size:14px}.milestone-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.milestone-grid button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:11px;justify-items:start;gap:3px;min-height:83px;padding:10px;display:grid}.milestone-grid button>span{color:#9a8ca9}.milestone-grid button svg{width:16px}.milestone-grid button strong{font-size:10px}.milestone-grid button small{color:var(--muted);font-size:8px}.milestone-grid button.completed{background:var(--green-soft);border-color:#c9b0f2}.milestone-grid button.completed>span{color:var(--green)}.education-goal-editor{gap:7px;max-height:520px;display:grid;overflow:auto}.education-goal-editor>div{background:#fff;border-radius:10px;grid-template-columns:1fr 98px 58px;align-items:center;gap:7px;padding:9px;display:grid}.education-goal-editor>div>span{min-width:0;display:grid}.education-goal-editor strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.education-goal-editor small{color:var(--muted);font-size:8px}.education-goal-editor select{height:34px;padding:0 7px;font-size:9px}.ops-finance-metrics{margin-bottom:20px}.ops-metric{align-items:center;gap:13px;min-height:112px;padding:18px;display:flex}.ops-metric>span{width:42px;height:42px;color:var(--green);background:var(--green-soft);border-radius:12px;flex:0 0 42px;place-items:center;display:grid}.ops-metric.yellow>span{color:#a37416;background:#fff4d8}.ops-metric.red>span{color:var(--red);background:#ffedf3}.ops-metric.blue>span{color:var(--blue);background:#eaf6fc}.ops-metric>div{gap:2px;min-width:0;display:grid}.ops-metric small{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.ops-metric strong{white-space:nowrap;font-family:Manrope;font-size:18px}.ops-metric p{color:var(--muted);margin:0;font-size:9px}.ops-tabs{border-bottom:1px solid var(--line);gap:7px;min-height:57px;padding:8px 14px 0;display:flex;overflow-x:auto}.ops-tabs button{min-width:max-content;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:0 13px;font-size:11px;font-weight:800}.ops-tabs button.active{border-color:var(--green);color:var(--green-dark)}.ops-tabs button span{background:#efecf3;border-radius:10px;margin-left:4px;padding:2px 6px;font-size:8px}.ops-payment-open{color:#fff;background:var(--brand-gradient);border-radius:12px;justify-content:space-between;align-items:center;padding:15px;display:flex}.ops-payment-open span{font-size:11px}.ops-payment-open strong{font-family:Manrope;font-size:21px}.time-report-controls{background:#f8f6fc;border:1px solid #ded8ea;border-radius:14px;margin-bottom:20px;padding:17px}.time-report-controls .form-grid{grid-template-columns:1.25fr 1fr 1fr}.time-report-controls p{color:var(--muted);margin:11px 0 0;font-size:11px}.personnel-report{color:#1f1b26;background:#fff;border:1px solid #ded8ea;min-height:760px;padding:42px 45px 32px;font-family:Arial,Helvetica,sans-serif;box-shadow:0 12px 34px #36254c14}.personnel-report-header{justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:31px;display:flex}.personnel-report-header span{color:#7650a9;letter-spacing:1.5px;text-transform:uppercase;font-size:9px;font-weight:800}.personnel-report-header h1{letter-spacing:-.4px;margin:7px 0 5px;font-family:Arial,Helvetica,sans-serif;font-size:23px}.personnel-report-header p{color:#5d5964;margin:0;font-size:12px}.personnel-report-header img{object-fit:contain;width:145px;height:auto}.personnel-report table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:10px}.personnel-report th{color:#57515e;text-align:left;text-transform:uppercase;letter-spacing:.45px;border-bottom:1px solid #aaa4af;padding:8px 7px;font-size:8px}.personnel-report td{vertical-align:top;border-bottom:1px solid #e4e1e7;padding:7px}.personnel-report th:first-child,.personnel-report td:first-child{width:15%}.personnel-report th:nth-child(2),.personnel-report td:nth-child(2){width:10%}.personnel-report th:nth-child(3),.personnel-report td:nth-child(3){width:25%}.personnel-report th:nth-child(4),.personnel-report td:nth-child(4){width:13%}.personnel-report th:nth-child(5),.personnel-report td:nth-child(5){width:22%}.personnel-report th:nth-child(6),.personnel-report td:nth-child(6){text-align:right;width:15%}.personnel-report-day-total td{background:#f5f3f7;border-bottom-color:#c8c3cd;padding-top:10px;padding-bottom:8px;font-weight:800}.personnel-report-day{break-inside:avoid;page-break-inside:avoid}.personnel-report-summary{break-inside:avoid;page-break-inside:avoid;width:min(100%,480px);margin:38px 0 0 auto}.personnel-report-summary h2{margin:0 0 10px;font-family:Arial,Helvetica,sans-serif;font-size:16px}.personnel-report-summary table th:first-child,.personnel-report-summary table td:first-child{width:55%}.personnel-report-summary table th:nth-child(2),.personnel-report-summary table td:nth-child(2){text-align:right;width:22%}.personnel-report-summary table th:nth-child(3),.personnel-report-summary table td:nth-child(3){text-align:right;width:23%}.personnel-report-grand-total td{border-top:1.5px solid #5f5865;border-bottom:0;padding-top:10px;font-weight:800}.personnel-report-summary>p{color:#6b6570;margin:15px 0 0;font-size:8px;line-height:1.5}.personnel-report-empty{color:#625b68;text-align:center;place-content:center;justify-items:center;gap:5px;min-height:430px;display:grid}.personnel-report-empty p{margin:0;font-size:10px}.personnel-report>footer{color:#7c7582;border-top:1px solid #e4e1e7;margin-top:35px;padding-top:10px;font-size:8px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c1a158c;place-items:center;padding:20px;animation:.15s fadeIn;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:min(100%,550px);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 25px 80px #00000038}.modal>header{z-index:2;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:18px 21px;display:flex;position:sticky;top:0}.modal>header h2{margin:0;font-size:17px}.modal-body{padding:23px}.empty-state{text-align:center;justify-items:center;gap:5px;padding:38px 20px;display:grid}.empty-state>span{width:46px;height:46px;color:var(--green);background:var(--green-soft);border-radius:13px;place-items:center;margin-bottom:6px;display:grid}.empty-state p{color:var(--muted);margin:0;font-size:12px}.app-loader{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:12px;display:grid}.spinner{border:3px solid #dfe9e4;border-top-color:var(--green);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}.app-loader p{margin:0}.mobile-only{display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}}@media (width<=1050px){.journey-grid{grid-template-columns:repeat(4,1fr)}.journey-step,.journey-step:first-child,.journey-step:last-child{border-radius:12px}.slot-grid{grid-template-columns:repeat(3,1fr)}.metric-grid,.goal-grid,.student-grid,.learning-grid{grid-template-columns:repeat(2,1fr)}.course-grid{grid-template-columns:1fr 1fr}}@media (width<=820px){.mobile-only{display:grid}.app-shell{display:block}.dashboard-main{grid-column:auto}.sidebar{transition:all .25s;overflow-y:auto;transform:translate(-105%);box-shadow:15px 0 40px #0a1e1724}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:45;background:#0e1e1859;border:0;position:fixed;inset:0}.topbar{padding:0 18px}.content-wrap{padding:28px 20px 50px}.login-page{display:block}.login-brand-panel{display:none}.login-form-panel{padding:30px 20px}.mobile-login-logo{display:block}.student-hero-grid{grid-template-columns:1fr}.journey-grid{grid-template-columns:repeat(2,1fr)}.overview-bottom-grid,.admin-overview-grid,.settings-grid{grid-template-columns:1fr}.appointment-row{grid-template-columns:52px 1fr auto}.appointment-person{display:none}.slot-grid{grid-template-columns:repeat(2,1fr)}.upcoming-strip{grid-template-columns:1fr}.table-row{grid-template-columns:1.3fr .7fr .5fr}.table-row>span:nth-child(3){display:none}.finance-summary{grid-template-columns:1fr 1fr}.balance-card{grid-row:span 2}.learning-hero,.course-grid{grid-template-columns:1fr}.theory-panel{grid-template-columns:55px 1fr}.theory-panel .button{grid-column:2;justify-self:start}}@media (width<=560px){.role-preview-banner{flex-direction:column;align-items:stretch}.role-preview-banner .button{width:100%}.page-heading{flex-direction:column;align-items:flex-start;margin-bottom:23px}.page-heading h1{font-size:26px}.content-wrap{padding-left:14px;padding-right:14px}.topbar-actions>.avatar{display:none}.student-hero-grid{gap:13px}.next-lesson-card,.progress-ring-card{padding:20px}.lesson-meta{flex-wrap:wrap}.meeting-point{border-left:0;border-top:1px solid var(--line);width:100%;min-width:0;margin-top:7px;padding:13px 0 0}.journey-grid{gap:8px}.journey-step{min-height:112px}.overview-bottom-grid{gap:13px;margin-top:25px}.appointment-row{grid-template-columns:46px 1fr;padding:15px}.date-tile{width:44px;height:48px}.appointment-actions{grid-column:2}.slot-grid,.goal-grid,.student-grid,.metric-grid,.learning-grid,.package-grid{grid-template-columns:1fr}.slot-card{min-height:150px}.history-footer{flex-direction:column;align-items:flex-start;gap:15px}.availability-head,.availability-row{grid-template-columns:1fr;gap:9px;padding:14px}.availability-head{display:none}.availability-row>strong{font-size:14px}.availability-time-fields{grid-template-columns:1fr auto 1fr}.availability-toggle{grid-template-columns:39px 1fr}.availability-save-bar{flex-direction:column;align-items:stretch;padding:14px}.availability-save-bar .button{width:100%}.availability-exception{grid-template-columns:39px 1fr}.availability-exception>.button{grid-column:2;justify-self:start}.checkbox-grid,.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.confirm-details{grid-template-columns:1fr;gap:12px}.confirm-details span+span{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.table-row{grid-template-columns:1fr .65fr;padding:12px}.table-row>span:nth-child(4){display:none}.login-form-panel{align-items:start}.login-card h2{font-size:26px}.finance-summary{grid-template-columns:1fr}.balance-card{grid-row:auto}.finance-list article{grid-template-columns:38px 1fr auto;padding:13px}.finance-payment-action{grid-column:2/-1;justify-content:flex-start}.learning-hero{padding:24px}.learning-hero h2{font-size:24px}.theory-panel{grid-template-columns:1fr}.theory-panel .button{grid-column:1}.course-footer,.course-info-banner{flex-direction:column;align-items:flex-start}}@media (width<=1050px){.setup-step-grid{grid-template-columns:1fr}.setup-step{grid-template-columns:36px 1fr auto;align-items:center;gap:12px;min-height:auto;display:grid}.setup-step>div{margin:0}.setup-step>div p{min-height:0}.setup-step .text-button,.setup-step>.soft-badge{margin-top:0}}@media (width<=820px){.setup-panel-head{grid-template-columns:1fr}.setup-progress strong,.setup-progress small{justify-self:start}.quick-actions{grid-template-columns:1fr}}@media (width<=560px){.setup-panel{padding:20px}.setup-step{grid-template-columns:36px 1fr}.setup-step .text-button,.setup-step>.soft-badge{grid-column:2}.action-empty-state{grid-template-columns:48px 1fr}.action-empty-state .button{grid-column:1/-1;width:100%}}@media (width<=900px){.ops-summary-strip{grid-template-columns:1fr 1fr}.education-detail-layout{grid-template-columns:1fr}.education-detail-layout>aside{padding:15px}}@media (width<=620px){.ops-heading-actions{justify-content:stretch;width:100%}.ops-heading-actions .button{flex:1}.ops-summary-strip{grid-template-columns:1fr;gap:9px}.ops-summary-strip article{min-height:72px;padding:13px 15px}.ops-toolbar{flex-direction:column;align-items:stretch}.ops-toolbar>span{padding-left:4px}.ops-detail-grid{grid-template-columns:1fr}.milestone-grid{grid-template-columns:1fr 1fr}.education-goal-editor>div{grid-template-columns:1fr 90px 52px}.ops-modal-actions{flex-direction:column-reverse;align-items:stretch}.ops-modal-actions .button{width:100%}.time-report-controls .form-grid{grid-template-columns:1fr}.personnel-report{min-width:760px;padding:34px}}@media print{@page{size:A4 portrait;margin:14mm 12mm}html,body{background:#fff!important}body *{visibility:hidden!important}.modal-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;padding:0!important;display:block!important;position:static!important}.modal{width:100%!important;max-height:none!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}.modal>header,.print-hidden{display:none!important}.modal-body{padding:0!important}.personnel-report,.personnel-report *{visibility:visible!important}.personnel-report{width:100%;min-width:0;min-height:0;box-shadow:none;border:0;padding:0;position:absolute;inset:0}.personnel-report-header img{width:42mm}.personnel-report-table thead{display:table-header-group}.personnel-report-day,.personnel-report-summary{break-inside:avoid;page-break-inside:avoid}}
