@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";:root{--c-canvas:#f4f6f3;--c-surface:#fff;--c-surface-sunken:#fafcfa;--c-surface-alt:#f1f4f1;--c-line:#e1e8e2;--c-line-strong:#dce4dd;--c-text:#17251d;--c-text-secondary:#57685e;--c-text-muted:#63736a;--c-brand:#173e2b;--c-brand-deep:#11271c;--c-brand-hover:#0e2e1e;--c-brand-deep-alt:#153d2a;--c-brand-soft:#e9f6e8;--c-brand-ink:#2e6d3c;--c-accent:#d8ff51;--c-focus:#5b8b6b;--c-focus-ring:#4b8a5b24;--c-brand-mid:#5b8b6b;--c-success-soft:var(--c-brand-soft);--c-success-ink:var(--c-brand-ink);--c-warn-soft:#fff6e3;--c-warn-line:#ead99e;--c-warn-ink:#7a5510;--c-danger-soft:#fff0f0;--c-danger-line:#e7bebe;--c-danger-ink:#a03434;--c-danger:#d85d58;--c-info-soft:#e7f2f6;--c-info-ink:#3a7187;--c-info:#4e8297;--c-accent-orange:#e8a34b;--c-neutral-soft:#eef1ef;--c-neutral-ink:#5f6c64;--c-on-dark:#fff;--c-on-dark-muted:#a9bfb2;--fs-100:11px;--fs-200:12px;--fs-300:13px;--fs-400:14px;--fs-500:16px;--fs-600:19px;--fs-700:24px;--fs-800:clamp(26px, 3vw, 34px);--lh-tight:1.3;--lh-base:1.55;--lh-relaxed:1.75;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--r-sm:8px;--r-md:10px;--r-lg:14px;--r-xl:18px;--r-pill:999px;--h-control-sm:36px;--h-control:40px;--h-control-lg:44px;--tap-min:44px;--shadow-card:0 1px 2px #1739230a, 0 4px 14px #1739230d;--shadow-pop:0 12px 32px #07130c24;--shadow-modal:0 24px 64px #00000042;color:var(--c-text);background:var(--c-canvas);font-synthesis:none;font-family:DM Sans,Noto Sans KR,sans-serif}:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;font-size:var(--fs-400);line-height:var(--lh-base);margin:0}h1,h2,h3,h4{line-height:var(--lh-tight)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{background:var(--c-brand-deep);width:250px;color:var(--c-on-dark);padding:var(--sp-6) var(--sp-4) var(--sp-5);z-index:30;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:var(--sp-3);padding:0 var(--sp-2) var(--sp-7);display:flex}.brand-mark{border-radius:var(--r-md);width:38px;height:38px;color:var(--c-brand-deep);font-size:var(--fs-700);background:var(--c-accent);place-items:center;font-weight:800;display:grid;transform:rotate(-5deg)}.brand strong{font-size:var(--fs-600);letter-spacing:-.3px;display:block}.brand span{color:var(--c-on-dark-muted);font-size:var(--fs-100);letter-spacing:1.7px;margin-top:var(--sp-1);display:block}nav{gap:var(--sp-2);display:grid}.nav-item{width:100%;color:var(--c-on-dark-muted);height:48px;padding:0 var(--sp-3);border-radius:var(--r-md);align-items:center;gap:var(--sp-3);font-size:var(--fs-500);text-align:left;background:0 0;border:0;font-weight:600;display:flex}.nav-item svg{width:19px}.nav-item span{flex:1}.nav-item em{font-style:normal;font-size:var(--fs-300);background:var(--c-accent);color:var(--c-brand-deep);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md)}.nav-item:hover{color:var(--c-on-dark-muted);background:#193326}.nav-item.active{background:var(--c-accent);color:var(--c-brand-deep);box-shadow:0 8px 25px #07130c55}.sidebar-bottom{margin-top:auto}.sidebar-bottom>button{color:var(--c-on-dark-muted);align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:0 0;border:0;width:100%;display:flex}.sidebar-bottom svg{width:18px}.coach-card{margin-top:var(--sp-3);padding:var(--sp-5) var(--sp-2) var(--sp-1);align-items:center;gap:var(--sp-3);border-top:1px solid #294035;display:flex}.avatar{background:var(--c-brand-ink);width:36px;height:36px;font-size:var(--fs-400);border-radius:50%;place-items:center;font-weight:700;display:grid}.coach-card div:nth-child(2){flex:1;min-width:0}.coach-card strong{font-size:var(--fs-400);display:block}.coach-card span{font-size:var(--fs-100);color:var(--c-on-dark-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:var(--sp-1);display:block;overflow:hidden}.coach-card>svg{width:15px;color:var(--c-on-dark-muted)}button.coach-card{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0;width:100%}main{min-height:100vh;margin-left:250px}header{height:103px;padding:var(--sp-5) clamp(24px, 4vw, 54px);background:var(--c-canvas);justify-content:space-between;align-items:center;display:flex}header p{font-size:var(--fs-300);color:var(--c-text-muted);margin:0 0 var(--sp-2)}header h1{font-size:var(--fs-700);letter-spacing:-.7px;margin:0}button.primary{background:var(--c-brand);color:var(--c-on-dark);min-height:var(--h-control-lg);padding:0 var(--sp-4);border-radius:var(--r-md);justify-content:center;align-items:center;gap:var(--sp-2);font-size:var(--fs-400);border:0;font-weight:700;display:inline-flex}.primary svg{width:17px}.primary:hover{background:var(--c-brand-hover);transform:translateY(-1px)}.menu-button{background:0 0;border:0;display:none}.content{max-width:1500px;margin:0 auto;padding:0 clamp(24px,4vw,54px) 50px}.hero{min-height:200px;padding:var(--sp-7) var(--sp-8);margin:var(--sp-5) 0;border-radius:var(--r-xl);color:var(--c-on-dark);background:radial-gradient(circle at 77% 20%, #3d7051 0, transparent 24%), linear-gradient(122deg, var(--c-brand-deep-alt), #1d4c35 54%, #183723);justify-content:space-between;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #1739231c}.hero:after{content:"";border:1px solid #a3d1aa28;border-radius:50%;width:280px;height:280px;position:absolute;top:-90px;right:-30px;box-shadow:0 0 0 42px #a3d1aa0c,0 0 0 82px #a3d1aa09}.hero>div:first-child{z-index:2}.eyebrow{align-items:center;gap:var(--sp-2);color:var(--c-accent);font-size:var(--fs-200);letter-spacing:1.6px;font-weight:700;display:flex}.eyebrow svg{width:14px}.hero h2{letter-spacing:-1.5px;margin:var(--sp-3) 0 var(--sp-2);font-size:clamp(25px,3vw,34px);font-weight:400;line-height:1.35}.hero h2 b{font-weight:800}.hero p{color:var(--c-on-dark-muted);font-size:var(--fs-400);margin:0 0 var(--sp-5)}.record-button{border-radius:var(--r-md);background:var(--c-accent);color:var(--c-brand-deep);height:var(--h-control);padding:0 var(--sp-4);align-items:center;gap:var(--sp-2);font-size:var(--fs-400);border:0;font-weight:800;display:flex}.record-button svg{width:17px}.sound-orb{z-index:2;background:#b7dd4433;border-radius:50%;place-items:center;width:132px;height:132px;margin-right:10%;display:grid;position:relative;box-shadow:0 0 0 20px #c6e9550d}.sound-orb span{background:var(--c-accent);border-radius:50%;width:86px;height:86px;position:absolute;box-shadow:0 8px 32px #0003}.sound-orb svg{color:var(--c-brand-deep);z-index:2;width:30px}.stats-grid{gap:var(--sp-4);margin:var(--sp-4) 0;grid-template-columns:repeat(3,1fr);display:grid}.stat-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:var(--sp-5) var(--sp-5);align-items:center;gap:var(--sp-4);display:flex}.stat-icon{border-radius:var(--r-md);place-items:center;width:43px;height:43px;display:grid}.stat-icon svg{width:20px}.stat-icon.green{background:var(--c-brand-soft);color:var(--c-brand-ink)}.stat-icon.orange{background:var(--c-warn-soft);color:var(--c-warn-ink)}.stat-icon.blue{background:var(--c-info-soft);color:var(--c-info-ink)}.stat-card p{font-size:var(--fs-300);color:var(--c-text-muted);margin:0}.stat-card strong{font-size:var(--fs-700);margin:var(--sp-1) 0 var(--sp-1);display:block}.stat-card small{color:var(--c-text-muted);font-size:var(--fs-100)}.two-columns{gap:var(--sp-4);grid-template-columns:1.08fr .92fr;display:grid}.panel{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.panel-title{padding:var(--sp-5) var(--sp-5) var(--sp-3);justify-content:space-between;align-items:center;display:flex}.panel-title h3{font-size:var(--fs-500);margin:0}.panel-title button{font-size:var(--fs-200);color:var(--c-text-muted);background:0 0;border:0;align-items:center;display:flex}.panel-title svg{width:14px}.timeline{padding:var(--sp-1) var(--sp-5) var(--sp-4)}.timeline-row{gap:var(--sp-3);grid-template-columns:48px 15px 1fr auto;align-items:center;min-height:68px;display:grid;position:relative}.timeline-row time{font-size:var(--fs-400);font-weight:700}.timeline-dot{background:var(--c-brand-mid);border-radius:50%;width:8px;height:8px;position:relative}.timeline-dot:after{content:"";background:var(--c-line);width:1px;height:50px;position:absolute;top:11px;left:3px}.timeline-row:last-child .timeline-dot:after{display:none}.timeline-dot.d1{background:var(--c-accent-orange)}.timeline-dot.d2{background:var(--c-info)}.timeline-row strong{font-size:var(--fs-400)}.timeline-row p{color:var(--c-text-muted);font-size:var(--fs-100);margin:var(--sp-1) 0 0}.timeline-row button{border:1px solid var(--c-line-strong);background:var(--c-surface);border-radius:var(--r-sm);font-size:var(--fs-100);padding:var(--sp-2) var(--sp-3);color:var(--c-text-secondary)}.note-list{padding:1px var(--sp-5) var(--sp-4)}.note-list article{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-1);border-bottom:1px solid var(--c-line);display:flex}.note-list article:last-child{border:0}.mini-avatar{background:var(--c-brand-soft);width:35px;height:35px;color:var(--c-brand-ink);font-size:var(--fs-300);border-radius:50%;flex:0 0 35px;place-items:center;font-weight:700;display:grid}.note-list article>div:nth-child(2){flex:1}.note-list strong{gap:var(--sp-2);font-size:var(--fs-300);align-items:center;display:flex}.note-list strong span{font-size:var(--fs-100);color:var(--c-brand-ink);background:var(--c-brand-soft);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm)}.note-list p{font-size:var(--fs-200);color:var(--c-text-secondary);margin:var(--sp-1) 0}.note-list small{font-size:var(--fs-100);color:var(--c-text-muted)}.note-list svg{width:14px;color:var(--c-text-muted)}.toolbar,.section-intro{margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;display:flex}.search{width:min(420px,65%);height:var(--h-control-lg);border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);display:flex}.search:focus-within{border-color:var(--c-focus);box-shadow:0 0 0 3px var(--c-focus-ring)}.search svg{width:17px;color:var(--c-text-muted)}.search input{width:100%;font-size:var(--fs-400);border:0;outline:0}.table-panel{overflow:hidden}.table-panel table{border-collapse:collapse;width:100%}.table-panel th{background:var(--c-surface-sunken);color:var(--c-text-muted);text-align:left;font-size:var(--fs-200);letter-spacing:.4px;padding:var(--sp-4) var(--sp-5)}.table-panel td{border-top:1px solid var(--c-line);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-400)}.table-panel td>strong,.table-panel td>span{display:block}.table-panel td>span{color:var(--c-text-muted);font-size:var(--fs-200);margin-top:var(--sp-1)}.customer{gap:var(--sp-3);align-items:center;display:flex}.customer strong,.customer span{display:block}.customer span{color:var(--c-text-muted);font-size:var(--fs-200);margin-top:var(--sp-1)}.status{border-radius:var(--r-md);width:max-content;padding:var(--sp-1) var(--sp-2);background:var(--c-brand-soft);color:var(--c-brand-ink)!important}.status.paused{background:var(--c-warn-soft);color:var(--c-warn-ink)!important}.table-panel td:last-child svg{width:15px;color:var(--c-text-muted)}.section-intro h2{margin:0 0 var(--sp-2);font-size:var(--fs-600)}.section-intro p{color:var(--c-text-muted);font-size:var(--fs-300);margin:0}.lesson-grid{gap:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.lesson-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-5)}.lesson-card-top{align-items:center;gap:var(--sp-3);display:flex}.lesson-card-top>div:nth-child(2){flex:1}.lesson-card-top strong,.lesson-card-top span{display:block}.lesson-card-top strong{font-size:var(--fs-400)}.lesson-card-top span{color:var(--c-text-muted);font-size:var(--fs-100);margin-top:var(--sp-1)}.lesson-card-top em{color:var(--c-brand-ink);background:var(--c-brand-soft);border-radius:var(--r-sm);font-style:normal;font-size:var(--fs-100);padding:var(--sp-1) var(--sp-2);align-items:center;gap:var(--sp-1);display:flex}.lesson-card-top em svg{width:10px}.lesson-card h3{margin:var(--sp-4) 0 var(--sp-3);font-size:var(--fs-500)}.lesson-summary{border-radius:var(--r-md);background:var(--c-canvas);padding:var(--sp-3);min-height:115px}.lesson-summary label{color:var(--c-text-muted);font-size:var(--fs-100);font-weight:700}.lesson-summary p{font-size:var(--fs-200);margin:var(--sp-1) 0 var(--sp-3);line-height:1.5}.lesson-card>button{color:var(--c-brand-ink);font-size:var(--fs-200);width:100%;margin-top:var(--sp-3);background:0 0;border:0;justify-content:flex-end;align-items:center;font-weight:700;display:flex}.lesson-card>button svg{width:14px}.calendar-panel{padding:var(--sp-5)}.week-header{border-bottom:1px solid var(--c-line);padding:0 0 var(--sp-4);grid-template-columns:repeat(7,1fr);display:grid}.week-header div,.week-header button{justify-items:center;gap:var(--sp-2);color:var(--c-text-muted);background:0 0;border:0;display:grid}.week-header span{font-size:var(--fs-200)}.week-header strong{width:34px;height:34px;font-size:var(--fs-400);border-radius:50%;place-items:center;display:grid}.week-header .today strong{background:var(--c-brand);color:var(--c-on-dark)}.day-schedule{max-width:660px;margin:var(--sp-6) auto}.day-schedule h3{font-size:var(--fs-500);margin:0 0 var(--sp-4)}.day-schedule article{gap:var(--sp-4);border:1px solid var(--c-line);border-left:4px solid var(--c-brand-mid);border-radius:var(--r-md);padding:var(--sp-4);margin-bottom:var(--sp-3);grid-template-columns:70px 1fr auto;align-items:center;display:grid}.day-schedule time{font-size:var(--fs-400);font-weight:700}.day-schedule strong{font-size:var(--fs-400)}.day-schedule p{margin:var(--sp-1) 0 0;font-size:var(--fs-100);color:var(--c-text-muted)}.day-schedule article>span{font-size:var(--fs-100);color:var(--c-brand-ink);background:var(--c-brand-soft);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md)}.day-schedule .appointment-status.completed{color:var(--c-brand-ink)}.day-schedule .appointment-status.cancelled,.day-schedule .appointment-status.no_show{color:var(--c-danger-ink);background:var(--c-danger-soft)}.modal-backdrop{z-index:100;padding:var(--sp-5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#07110b99;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--c-surface);border-radius:var(--r-xl);width:min(530px,100%);max-height:92vh;padding:var(--sp-6);box-shadow:var(--shadow-modal);overflow-y:auto}.modal-head{margin-bottom:var(--sp-5);justify-content:space-between;align-items:center;display:flex}.modal-head h2{font-size:var(--fs-600);margin:0}.modal-head button{background:var(--c-surface-alt);border-radius:var(--r-sm);border:0;place-items:center;width:31px;height:31px;display:grid}.modal-head svg{width:16px}.modal form{gap:var(--sp-4);display:grid}.modal label{gap:var(--sp-2);color:var(--c-text-secondary);font-size:var(--fs-300);font-weight:700;display:grid}.modal input,.modal select,.modal textarea{border:1px solid var(--c-line-strong);border-radius:var(--r-sm);width:100%;min-height:var(--h-control-lg);padding:var(--sp-2) var(--sp-3);color:var(--c-text);background:var(--c-surface);font-size:var(--fs-400);outline:0}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--c-focus);box-shadow:0 0 0 3px var(--c-focus-ring)}.modal textarea{resize:vertical;min-height:75px}.modal textarea.large{min-height:125px}.form-row{gap:var(--sp-3);grid-template-columns:1.4fr .8fr;display:grid}.modal-actions{justify-content:flex-end;gap:var(--sp-2);border-top:1px solid var(--c-line);padding-top:var(--sp-4);margin-top:var(--sp-1);display:flex}.modal-actions>button:not(.primary){border:1px solid var(--c-line-strong);background:var(--c-surface);border-radius:var(--r-sm);padding:0 var(--sp-4)}.voice-hint{gap:var(--sp-3);border-radius:var(--r-md);background:var(--c-brand-soft);padding:var(--sp-3);color:var(--c-brand-ink);align-items:center;display:flex}.voice-hint>svg{width:20px}.voice-hint strong,.voice-hint span{font-size:var(--fs-200);display:block}.voice-hint span{color:var(--c-text-muted);margin-top:var(--sp-1);font-size:var(--fs-100)}.backdrop{display:none}.auth-page{background:var(--c-canvas);grid-template-columns:minmax(390px,.92fr) 1.08fr;min-height:100vh;display:grid}.auth-story{min-height:100vh;padding:var(--sp-8) clamp(35px, 5vw, 70px);color:var(--c-on-dark);background:radial-gradient(circle at 80% 22%, #4a775833 0, transparent 25%), linear-gradient(145deg, var(--c-brand-deep), var(--c-brand));flex-direction:column;display:flex;position:relative;overflow:hidden}.auth-story:after{content:"";border:1px solid #d8ff5116;border-radius:50%;width:420px;height:420px;position:absolute;bottom:4%;right:-210px;box-shadow:0 0 0 55px #d8ff5108,0 0 0 105px #d8ff5105}.auth-brand{align-items:center;gap:var(--sp-3);z-index:1;display:flex}.auth-brand strong{font-size:var(--fs-600);display:block}.auth-brand span{color:var(--c-on-dark-muted);font-size:var(--fs-100);letter-spacing:1.7px;margin-top:var(--sp-1);display:block}.auth-copy{z-index:1;margin:auto 0}.auth-copy>span{color:var(--c-accent);font-size:var(--fs-100);letter-spacing:1.8px;align-items:center;gap:var(--sp-2);font-weight:800;display:flex}.auth-copy>span svg{width:14px}.auth-copy h1{letter-spacing:-2.5px;margin:var(--sp-5) 0 var(--sp-4);font-size:clamp(32px,4vw,51px);font-weight:300;line-height:1.28}.auth-copy h1 b{font-weight:800}.auth-copy p{color:var(--c-on-dark-muted);font-size:var(--fs-400);line-height:1.8}.auth-quote{color:var(--c-on-dark-muted);font-size:var(--fs-200);z-index:1}.auth-form-wrap{padding:var(--sp-7);place-items:center;display:grid}.auth-form{gap:var(--sp-4);width:min(440px,100%);display:grid}.auth-lock{border-radius:var(--r-lg);background:var(--c-brand-soft);width:46px;height:46px;color:var(--c-brand-ink);margin-bottom:var(--sp-2);place-items:center;display:grid}.auth-lock svg{width:21px}.auth-kicker{color:var(--c-brand-ink);font-size:var(--fs-100);letter-spacing:1.5px;font-weight:800}.auth-form h2{font-size:var(--fs-800);letter-spacing:-1px;margin:-8px 0 -10px}.auth-form>p{color:var(--c-text-muted);font-size:var(--fs-300);margin:0 0 var(--sp-2)}.auth-form label{gap:var(--sp-2);color:var(--c-text-secondary);font-size:var(--fs-200);font-weight:700;display:grid}.auth-form input{border-radius:var(--r-md);border:1px solid var(--c-line-strong);background:var(--c-surface);height:47px;padding:0 var(--sp-3);font-size:var(--fs-400);color:var(--c-text);outline:0}.auth-form input:focus{border-color:var(--c-focus);box-shadow:0 0 0 3px var(--c-focus-ring)}.auth-form .form-row{gap:var(--sp-3)}.auth-submit{border-radius:var(--r-md);height:49px;color:var(--c-on-dark);background:var(--c-brand);font-size:var(--fs-400);justify-content:center;align-items:center;gap:var(--sp-2);margin-top:var(--sp-1);border:0;font-weight:800;display:flex}.auth-submit svg{width:16px}.auth-submit:disabled{opacity:.6}.auth-error{background:var(--c-danger-soft);color:var(--c-danger-ink);border-radius:var(--r-sm);padding:var(--sp-3);font-size:var(--fs-200)}.auth-notice{background:var(--c-brand-soft);color:var(--c-brand-ink);border-radius:var(--r-sm);padding:var(--sp-3);font-size:var(--fs-200);line-height:1.5}.auth-app-return{gap:var(--sp-2);display:grid}.auth-app-return p{color:var(--c-text-muted);font-size:var(--fs-200);margin:0;line-height:1.5}.auth-app-return .auth-submit{margin-top:0;text-decoration:none}.auth-switch{justify-content:center;align-items:center;gap:var(--sp-2);color:var(--c-text-muted);font-size:var(--fs-200);display:flex}.auth-switch button{color:var(--c-brand-ink);font-weight:800;font-size:var(--fs-200);background:0 0;border:0;padding:0}.social-login{gap:var(--sp-2);display:grid}.google-login{height:var(--h-control-lg);border-radius:var(--r-sm);justify-content:center;align-items:center;display:flex;overflow:hidden}.google-login>div,.google-login>div>div{width:100%!important}.google-login [role=button]{width:100%!important;max-width:none!important;height:var(--h-control-lg)!important}.google-login>span{border:1px dashed var(--c-line-strong);border-radius:var(--r-sm);width:100%;height:100%;color:var(--c-text-muted);font-size:var(--fs-200);place-items:center;display:grid}.google-login.disabled{pointer-events:none;opacity:.55}.kakao-login{height:var(--h-control-lg);border-radius:var(--r-sm);color:#191919;justify-content:center;align-items:center;gap:var(--sp-2);font-size:var(--fs-400);background:#fee500;border:0;font-weight:700;display:flex}.kakao-login span{font-size:var(--fs-100);color:#191919}.kakao-login:disabled{opacity:.55}.auth-divider{height:18px;color:var(--c-text-muted);font-size:var(--fs-100);align-items:center;gap:var(--sp-3);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--c-line);flex:1;height:1px}.auth-divider span{white-space:nowrap}.public-report-loading{min-height:100vh;color:var(--c-text-muted);font-size:var(--fs-400);place-items:center;display:grid}.public-report-page{min-height:100vh;padding:var(--sp-8) var(--sp-5);background:linear-gradient(150deg, var(--c-surface-alt), var(--c-surface-sunken))}.report-brand{justify-content:center;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-6);display:flex}.report-brand .brand-mark{width:31px;height:31px;font-size:var(--fs-600)}.report-brand strong{font-size:var(--fs-600)}.public-report{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-xl);width:min(680px,100%);margin:auto;padding:clamp(25px,6vw,50px);box-shadow:0 18px 60px #18352213}.report-kicker{color:var(--c-brand-ink);letter-spacing:1.8px;font-size:var(--fs-100);font-weight:800}.public-report h1{margin:var(--sp-3) 0 var(--sp-2);letter-spacing:-1px;font-size:clamp(24px,5vw,34px)}.report-date{color:var(--c-text-muted);font-size:var(--fs-300)}.report-message{border-radius:var(--r-md);padding:var(--sp-4);background:var(--c-brand-deep-alt);color:#dceadf;font-size:var(--fs-300);margin:var(--sp-6) 0 var(--sp-4);line-height:1.7}.public-report section{gap:var(--sp-3);padding:var(--sp-5) 0;border-bottom:1px solid var(--c-line);grid-template-columns:34px 1fr;display:grid}.public-report section:last-child{border-bottom:0}.report-number{border-radius:var(--r-sm);background:var(--c-brand-soft);width:29px;height:29px;color:var(--c-brand-ink);font-size:var(--fs-300);place-items:center;font-weight:800;display:grid}.report-number.n1{background:var(--c-warn-soft);color:var(--c-warn-ink)}.report-number.n2{background:var(--c-info-soft);color:var(--c-info-ink)}.report-number.n3{color:#735494;background:#f0ebf7}.public-report section h2{font-size:var(--fs-400);margin:var(--sp-2) 0 var(--sp-3)}.public-report section ul{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.public-report section li{font-size:var(--fs-300);color:var(--c-text-secondary);padding-left:var(--sp-3);line-height:1.55;position:relative}.public-report section li:before{content:"";background:var(--c-brand-mid);border-radius:50%;width:4px;height:4px;position:absolute;top:7px;left:0}.public-report section p{font-size:var(--fs-200);color:var(--c-text-muted)}.public-report-page footer{text-align:center;color:var(--c-text-muted);font-size:var(--fs-100);margin-top:var(--sp-5)}@media (width<=1050px){.lesson-grid{grid-template-columns:repeat(2,1fr)}.sound-orb{margin-right:3%}.hero{padding:var(--sp-7)}}@media (width<=800px){.sidebar{transition:all .25s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.backdrop{z-index:20;background:#0007;display:block;position:fixed;inset:0}.menu-button{padding:0;display:block}.menu-button svg{width:22px}main{margin-left:0}header{justify-content:initial;gap:var(--sp-4)}header>div{flex:1}.two-columns{grid-template-columns:1fr}.hero{min-height:260px}.sound-orb{display:none}.auth-page{grid-template-columns:1fr}.auth-story{min-height:270px;padding:var(--sp-6)}.auth-copy{margin:38px 0 var(--sp-5)}.auth-copy h1{font-size:var(--fs-800);margin:var(--sp-4) 0 var(--sp-2)}.auth-copy p,.auth-quote{display:none}.auth-form-wrap{padding:var(--sp-7) var(--sp-5) 50px}}@media (width<=620px){header{height:86px;padding:var(--sp-4) var(--sp-4)}header p{display:none}header h1{font-size:var(--fs-700)}header>.primary{min-width:var(--tap-min);min-height:var(--tap-min);padding:0;font-size:0}.content{padding:0 var(--sp-4) var(--sp-7)}.hero{padding:var(--sp-6) var(--sp-6);border-radius:var(--r-lg)}.hero h2{font-size:var(--fs-700)}.hero p{line-height:1.6}.stats-grid{gap:var(--sp-2);grid-template-columns:1fr}.stat-card{padding:var(--sp-3) var(--sp-4)}.two-columns{gap:var(--sp-3)}.timeline-row{grid-template-columns:48px 15px minmax(0,1fr)}.timeline-row>div:last-child{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start}.lesson-grid{grid-template-columns:1fr}.toolbar .primary{display:none}.search{width:100%}.week-header{min-width:500px}.calendar-panel{overflow-x:auto}.day-schedule{min-width:500px}.form-row{grid-template-columns:1fr}input,select,textarea{font-size:16px!important}}.state-panel{min-height:180px;margin:0 0 var(--sp-7);border:1px dashed var(--c-line-strong);border-radius:var(--r-lg);background:var(--c-surface);justify-content:center;align-items:center;gap:var(--sp-4);color:var(--c-text-muted);text-align:center;padding:var(--sp-6);flex-direction:column;display:flex}.state-panel p{font-size:var(--fs-400);margin:0;line-height:1.6}.empty-inline{width:100%;padding:var(--sp-6) var(--sp-3);color:var(--c-text-muted);font-size:var(--fs-300);text-align:center}.form-error,.operation-error{color:var(--c-danger-ink);background:var(--c-danger-soft);border:1px solid var(--c-danger-line);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-3);font-size:var(--fs-300);line-height:1.5}.lesson-status{background:var(--c-surface-alt)!important;color:var(--c-neutral-ink)!important}.lesson-status.completed{background:var(--c-brand-soft)!important;color:var(--c-brand-ink)!important}.lesson-status.failed{background:var(--c-danger-soft)!important;color:var(--c-danger-ink)!important}.lesson-status.transcribing,.lesson-status.summarizing{background:var(--c-warn-soft)!important;color:var(--c-warn-ink)!important}.operation-error,.operation-success{margin:0 0 var(--sp-4);justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.operation-error button,.operation-success button{color:inherit;text-decoration:underline}.operation-success{color:var(--c-brand-ink);background:var(--c-brand-soft);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-3);font-size:var(--fs-300);border:1px solid #cfe7d1}.pending-create-strip{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--c-warn-line);border-radius:var(--r-md);background:var(--c-warn-soft);color:var(--c-warn-ink);display:flex}.pending-create-strip>div{min-width:0}.pending-create-strip strong,.pending-create-strip span{display:block}.pending-create-strip strong{font-size:var(--fs-400)}.pending-create-strip span{margin-top:var(--sp-1);color:var(--c-warn-ink);font-size:var(--fs-200);overflow-wrap:anywhere}.pending-create-strip button{flex:none}button:disabled{cursor:not-allowed;opacity:.55}.appointment-status{border-radius:var(--r-md);width:max-content;padding:var(--sp-1) var(--sp-2);font-size:var(--fs-100);background:var(--c-brand-soft);color:var(--c-brand-ink);white-space:nowrap}.appointment-status.pending,.appointment-status.legacy{background:var(--c-warn-soft);color:var(--c-warn-ink)}.appointment-status.failed{background:var(--c-danger-soft);color:var(--c-danger-ink)}.completion-summary{gap:var(--sp-1);border-radius:var(--r-md);background:var(--c-brand-soft);padding:var(--sp-4);color:var(--c-brand-ink);display:grid}.completion-summary strong{font-size:var(--fs-500)}.completion-summary span{font-size:var(--fs-200);color:var(--c-text-muted)}.completion-summary p{margin:var(--sp-2) 0 0;font-size:var(--fs-300)}.completion-pass-list{margin-top:var(--sp-4)}.completion-pass-list h3{font-size:var(--fs-400);color:var(--c-text-secondary);margin:0 0 var(--sp-3)}.completion-pass{border:1px solid var(--c-line);background:var(--c-surface);border-radius:var(--r-md);align-items:center;gap:var(--sp-2);width:100%;min-height:70px;padding:var(--sp-3);text-align:left;color:var(--c-text);margin-bottom:var(--sp-2);grid-template-columns:20px 1fr auto;display:grid}.completion-pass.selected{border-color:var(--c-brand-mid);background:var(--c-surface-sunken);box-shadow:0 0 0 2px var(--c-focus-ring)}.completion-pass:disabled{opacity:1;cursor:default}.completion-radio{color:var(--c-brand-ink);font-size:var(--fs-500)}.completion-pass strong,.completion-pass small{display:block}.completion-pass strong{font-size:var(--fs-400)}.completion-pass small{color:var(--c-text-muted);font-size:var(--fs-100);margin-top:var(--sp-1)}.completion-pass em{color:var(--c-brand-ink);background:var(--c-brand-soft);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);font-style:normal;font-size:var(--fs-100)}.completion-loading,.completion-empty{border:1px dashed var(--c-line-strong);border-radius:var(--r-md);justify-content:center;align-items:center;gap:var(--sp-2);min-height:116px;color:var(--c-text-muted);font-size:var(--fs-300);display:flex}.completion-empty{text-align:center;padding:var(--sp-5);flex-direction:column}.completion-empty>svg{width:23px;color:var(--c-brand-ink)}.completion-empty strong{color:var(--c-text-secondary);font-size:var(--fs-400)}.completion-empty span{font-size:var(--fs-200)}.completion-pending{margin-top:var(--sp-4);border-radius:var(--r-md);background:var(--c-warn-soft);color:var(--c-warn-ink);padding:var(--sp-3);align-items:center;gap:var(--sp-2);font-size:var(--fs-200);line-height:1.5;display:flex}.completion-pending svg{flex:0 0 18px;width:18px}.completion-pending strong,.completion-pending span{display:block}.completion-pending span{color:var(--c-warn-ink);margin-top:var(--sp-1)}.completion-loading svg,.completion-pending .lucide-loader-circle,.modal-actions .lucide-loader-circle{animation:.9s linear infinite completion-spin}.completion-pass-list .form-error{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.completion-pass-list .form-error button{flex:none}.calendar-nav{justify-content:flex-end;gap:var(--sp-2);margin-bottom:var(--sp-4);display:flex}.appointment-actions{justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.appointment-actions button{white-space:nowrap}.form-warning{color:var(--c-warn-ink);background:var(--c-warn-soft);border:1px solid var(--c-warn-line);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-3);font-size:var(--fs-300);line-height:1.5}.conflict-actions{align-items:center;gap:var(--sp-2);padding:var(--sp-3);background:var(--c-surface-alt);border-radius:var(--r-sm);flex-wrap:wrap;display:flex}.conflict-actions span{font-size:var(--fs-300);color:var(--c-warn-ink)}.confirmation-copy{padding:var(--sp-2) var(--sp-1) var(--sp-4)}.confirmation-copy p{margin:var(--sp-2) 0 0;color:var(--c-text-muted);font-size:var(--fs-400);line-height:1.6}@media (width<=620px){.section-intro:has(+.calendar-panel)>.primary{display:none}.calendar-panel{padding:var(--sp-4) var(--sp-3);overflow-x:visible}.week-header{gap:1px;min-width:0}.week-header strong{width:30px;height:30px}.day-schedule{min-width:0;margin:var(--sp-4) 0}.day-schedule article{gap:var(--sp-3);grid-template-columns:54px minmax(0,1fr)}.day-schedule article .appointment-actions{grid-column:1/-1;justify-content:flex-start;padding-left:64px}.calendar-nav{justify-content:center}}@keyframes completion-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.completion-loading svg,.completion-pending .lucide-loader-circle,.modal-actions .lucide-loader-circle{animation:none}}.pass-grid{gap:var(--sp-4);margin-top:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(310px,1fr));display:grid}.pass-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-5);justify-content:space-between;gap:var(--sp-4);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.pass-card-head{justify-content:space-between;align-items:flex-start;display:flex}.pass-card-head strong{font-size:var(--fs-500);color:var(--c-text);display:block}.pass-card-head span{font-size:var(--fs-300);color:var(--c-text-muted);margin-top:var(--sp-1);display:block}.pass-badge{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-200);font-weight:700}.pass-badge.active{background:var(--c-brand-soft);color:var(--c-brand-ink)}.pass-badge.exhausted{background:var(--c-warn-soft);color:var(--c-warn-ink)}.pass-badge.expired{background:var(--c-neutral-soft);color:var(--c-neutral-ink)}.pass-badge.cancelled{background:var(--c-danger-soft);color:var(--c-danger-ink)}.pass-badge.pending{background:var(--c-warn-soft);color:var(--c-warn-ink)}.pass-pending-strip{margin:var(--sp-3) 0;justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.pass-progress{background:var(--c-surface-alt);border-radius:var(--r-md);height:10px;margin:var(--sp-2) 0;overflow:hidden}.pass-progress-bar{background:var(--c-brand-ink);border-radius:var(--r-md);height:100%;transition:width .3s}.pass-stats{font-size:var(--fs-400);color:var(--c-text-secondary);justify-content:space-between;font-weight:700;display:flex}.pass-actions{gap:var(--sp-2);margin-top:var(--sp-2);justify-content:flex-end;display:flex}.btn-secondary{border:1px solid var(--c-line-strong);background:var(--c-surface);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-300);color:var(--c-brand-ink);align-items:center;gap:var(--sp-2);font-weight:700;display:flex}.btn-secondary:hover{background:var(--c-surface-alt)}.btn-danger{min-height:var(--h-control);border:1px solid var(--c-danger-line);background:var(--c-danger-soft);color:var(--c-danger-ink);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-300);font-weight:800}.btn-danger:disabled{opacity:.5}.pass-toolbar{align-items:center;gap:var(--sp-4);grid-template-columns:minmax(260px,420px) minmax(0,1fr);display:grid}.pass-toolbar .search{width:100%}.pass-status-filters{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-1);display:flex;overflow-x:auto}.pass-status-filters button{min-height:var(--h-control-sm);white-space:nowrap;border:1px solid var(--c-line-strong);border-radius:var(--r-xl);background:var(--c-surface);color:var(--c-text-muted);padding:0 var(--sp-3);font-size:var(--fs-200);font-weight:800}.pass-status-filters button.active{background:var(--c-brand);color:var(--c-on-dark);border-color:var(--c-brand)}.pass-result-summary{color:var(--c-text-muted);font-size:var(--fs-200);margin:var(--sp-3) var(--sp-1) var(--sp-2)}.pass-desktop-table .pass-progress.compact{width:130px;height:6px;margin:var(--sp-2) 0 0}.pass-desktop-table td{vertical-align:middle}.pass-desktop-table tr[role=button]{cursor:pointer}.pass-desktop-table tr[role=button]:focus{outline:2px solid var(--c-focus);outline-offset:-2px}.pass-mobile-list{display:none}.pass-detail-summary{border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-4);background:var(--c-surface-sunken)}.pass-detail-summary>div:first-child{gap:var(--sp-2);align-items:center;display:flex}.pass-detail-summary>strong{margin:var(--sp-4) 0 var(--sp-1);font-size:var(--fs-700);display:block}.pass-detail-summary p{margin:var(--sp-2) 0 0;color:var(--c-text-muted);font-size:var(--fs-300)}.pass-rank{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);background:var(--c-brand-soft);color:var(--c-brand-ink);font-size:var(--fs-200);font-weight:800}.pass-detail-actions{gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.pass-detail-actions>button{min-height:var(--h-control-lg)}.pass-audit{margin-top:var(--sp-5);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-4);background:var(--c-surface-sunken)}.pass-audit h3{align-items:center;gap:var(--sp-2);color:var(--c-brand-ink);font-size:var(--fs-400);margin:0 0 var(--sp-3);display:flex}.pass-audit h3 svg{width:16px}.pass-audit article{gap:var(--sp-1) var(--sp-3);border-top:1px solid var(--c-line);padding:var(--sp-3) 0;font-size:var(--fs-200);grid-template-columns:1fr auto;display:grid}.pass-audit article:first-of-type{border-top:0}.pass-audit article time{color:var(--c-text-muted)}.pass-audit article span,.pass-audit article p{grid-column:1/-1}.pass-audit article p{margin:var(--sp-1) 0 0;color:var(--c-text-muted);line-height:1.5}.pass-change-preview{border:1px solid var(--c-warn-line);background:var(--c-warn-soft);color:var(--c-warn-ink);padding:var(--sp-3) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-300);line-height:1.5}.pass-quick-dates{gap:var(--sp-2);flex-wrap:wrap;display:flex}.pass-quick-dates button{border:1px solid var(--c-line-strong);background:var(--c-surface-sunken);min-height:32px;color:var(--c-brand-ink);border-radius:var(--r-lg);padding:0 var(--sp-3);font-size:var(--fs-200);font-weight:800}.checkbox-label{grid-template-columns:18px 1fr;align-items:center;display:flex!important}.checkbox-label input{width:16px;height:16px;min-height:auto}@media (width<=800px){.pass-toolbar{grid-template-columns:1fr}.pass-status-filters{justify-content:flex-start}.pass-desktop-table{display:none}.pass-mobile-list{gap:var(--sp-2);flex-direction:column;display:flex}.pass-mobile-card{gap:var(--sp-2);border:1px solid var(--c-line);background:var(--c-surface);border-radius:var(--r-lg);width:100%;padding:var(--sp-4) var(--sp-8) var(--sp-4) var(--sp-4);color:var(--c-text);text-align:left;display:grid;position:relative}.pass-mobile-card>span:not(.pass-mobile-head){color:var(--c-text-muted);font-size:var(--fs-200)}.pass-mobile-card>small{color:var(--c-text-muted);font-size:var(--fs-100)}.pass-mobile-card>svg{width:17px;color:var(--c-text-muted);position:absolute;top:50%;right:13px;transform:translateY(-50%)}.pass-mobile-head{justify-content:space-between;align-items:center;gap:var(--sp-2);min-width:0;display:flex}.pass-mobile-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-400);overflow:hidden}.pass-mobile-head .pass-badge{flex:none}.pass-detail-actions{grid-template-columns:1fr 1fr;display:grid}.pass-detail-actions>button{justify-content:center}}@media (width<=620px){.pass-workspace>.section-intro>.primary{display:none}.pass-detail-actions{grid-template-columns:1fr}.pass-detail-actions>button{min-height:var(--h-control-lg)}.pass-result-summary{margin-top:var(--sp-3)}}.btn-copy{background:var(--c-brand-soft);color:var(--c-brand-ink);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-200);align-items:center;gap:var(--sp-2);border:0;font-weight:700;display:inline-flex}.btn-copy:hover{background:#dcedde}.btn-copy.failed{background:var(--c-danger-soft);color:var(--c-danger-ink)}.drawer-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#07110b88;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--c-surface);width:min(600px,100%);height:100vh;padding:var(--sp-6);gap:var(--sp-5);flex-direction:column;display:flex;overflow-y:auto;box-shadow:-10px 0 40px #0004}.drawer-head{border-bottom:1px solid var(--c-line);padding-bottom:var(--sp-4);justify-content:space-between;align-items:flex-start;display:flex}.drawer-head h2{font-size:var(--fs-700);color:var(--c-text);letter-spacing:-.5px;margin:0}.drawer-head p{margin:var(--sp-1) 0 0;font-size:var(--fs-400);color:var(--c-text-muted)}.drawer-section{background:var(--c-surface-sunken);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-4)}.drawer-section h4{margin:0 0 var(--sp-3);font-size:var(--fs-400);color:var(--c-brand-ink);align-items:center;gap:var(--sp-2);font-weight:800;display:flex}.history-item{padding:var(--sp-3) 0;border-bottom:1px solid var(--c-line);font-size:var(--fs-400);justify-content:space-between;align-items:center;display:flex}.history-item:last-child{border-bottom:0;padding-bottom:0}.badge-count{background:var(--c-accent);color:var(--c-brand-deep);border-radius:var(--r-md);font-size:var(--fs-200);padding:var(--sp-1) var(--sp-2);margin-left:var(--sp-2);justify-content:center;align-items:center;font-weight:800;display:inline-flex}.client-workspace{max-width:1320px}.client-toolbar{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);grid-template-columns:minmax(260px,1fr) auto auto;display:grid}.client-search{width:100%}.client-status-filters{gap:var(--sp-2);background:var(--c-surface-alt);border-radius:var(--r-md);padding:var(--sp-1);display:flex}.client-status-filters button{min-height:var(--h-control-sm);border-radius:var(--r-sm);padding:0 var(--sp-3);color:var(--c-text-muted);font-size:var(--fs-200);background:0 0;border:0;font-weight:800}.client-status-filters button.active{background:var(--c-surface);color:var(--c-brand-ink);box-shadow:0 2px 7px #17392314}.client-add-button{white-space:nowrap}.client-result-summary{margin:0 var(--sp-1) var(--sp-2);color:var(--c-text-muted);font-size:var(--fs-200)}.client-desktop-table tr{cursor:pointer}.client-desktop-table tr:hover{background:var(--c-surface-sunken)}.status.completed{background:var(--c-neutral-soft);color:var(--c-neutral-ink)!important}.client-mobile-list{display:none}.client-pagination{justify-content:center;align-items:center;gap:var(--sp-4);margin-top:var(--sp-4);display:flex}.client-pagination button{min-height:var(--h-control-sm);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-brand-ink);padding:0 var(--sp-3);align-items:center;gap:var(--sp-1);font-size:var(--fs-200);font-weight:800;display:inline-flex}.client-pagination button:disabled{opacity:.45}.client-pagination svg{width:14px}.client-pagination span{font-size:var(--fs-300);color:var(--c-text-muted)}.client-state{min-height:260px}.client-toolbar{grid-template-columns:minmax(260px,1fr) auto}.client-drawer-backdrop{z-index:110;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#07110b88;justify-content:flex-end;display:flex;position:fixed;inset:0}.client-drawer{background:var(--c-surface);width:min(620px,100%);height:100dvh;padding:var(--sp-6);overflow-y:auto;box-shadow:-10px 0 40px #0004}.client-drawer-head{border-bottom:1px solid var(--c-line);padding-bottom:var(--sp-4);margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;display:flex}.client-drawer-head h2{font-size:var(--fs-700);color:var(--c-text);margin:0}.client-drawer-head button{border:1px solid var(--c-line-strong);background:var(--c-surface);border-radius:var(--r-sm);place-items:center;width:35px;height:35px;display:grid}.client-drawer-head svg{width:17px}.client-profile-summary{align-items:center;gap:var(--sp-3);grid-template-columns:52px minmax(0,1fr) auto;display:grid}.client-profile-avatar{background:var(--c-brand-soft);width:52px;height:52px;color:var(--c-brand-ink);font-size:var(--fs-600);border-radius:50%;place-items:center;font-weight:900;display:grid}.client-profile-summary h3{font-size:var(--fs-600);margin:0}.client-profile-summary p,.client-profile-summary span{margin:var(--sp-1) 0 0;color:var(--c-text-muted);font-size:var(--fs-200);display:block}.client-profile-summary>.status{margin:0}.client-profile-actions,.client-quick-actions{gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.client-profile-actions svg{width:14px}.client-quick-actions button{min-width:115px;min-height:var(--h-control-lg);border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface-sunken);color:var(--c-brand-ink);font-size:var(--fs-200);justify-content:center;align-items:center;gap:var(--sp-2);flex:1;font-weight:800;display:inline-flex}.client-quick-actions button:disabled{opacity:.45}.client-quick-actions svg{width:15px}.client-inactive-notice{margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-3);border-radius:var(--r-sm);background:var(--c-warn-soft);color:var(--c-warn-ink);font-size:var(--fs-200);line-height:1.5}.client-detail-section{margin-top:var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-4);background:var(--c-surface-sunken)}.client-detail-section h4{margin:0 0 var(--sp-3);color:var(--c-brand-ink);align-items:center;gap:var(--sp-2);font-size:var(--fs-400);display:flex}.client-detail-section h4 svg{width:16px}.client-history-list{flex-direction:column;display:flex}.client-history-row{min-height:52px;padding:var(--sp-3) 0;border-top:1px solid var(--c-line);justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.client-history-row:first-child{border-top:0}.client-history-row strong,.client-history-row span{display:block}.client-history-row strong{color:var(--c-text);font-size:var(--fs-300)}.client-history-row span{color:var(--c-text-muted);font-size:var(--fs-100);margin-top:var(--sp-1)}.client-section-state{justify-content:center;align-items:center;gap:var(--sp-2);min-height:70px;color:var(--c-text-muted);font-size:var(--fs-200);text-align:center;display:flex}.client-section-state.error{color:var(--c-danger-ink);flex-direction:column}.client-section-state button,.client-more,.form-warning button{color:var(--c-brand-ink);font-size:var(--fs-200);background:0 0;border:0;font-weight:800;text-decoration:underline}.client-more{margin:var(--sp-2) auto 0;min-height:30px;display:block}.client-more:disabled{opacity:.5}.client-surface-inactive{pointer-events:none}.client-modal-portal>.modal-backdrop{z-index:130}@media (width<=800px){.client-toolbar{grid-template-columns:1fr}.client-status-filters{overflow-x:auto}.client-add-button{justify-self:start}.client-desktop-table{display:none}.client-mobile-list{gap:var(--sp-2);flex-direction:column;display:flex}.client-mobile-card{border:1px solid var(--c-line);background:var(--c-surface);border-radius:var(--r-lg);width:100%;padding:var(--sp-3);align-items:center;gap:var(--sp-3);text-align:left;grid-template-columns:42px minmax(0,1fr) auto 16px;display:grid}.client-mobile-card>.mini-avatar{place-items:center;width:42px;height:42px;display:grid}.client-mobile-card>svg{width:16px;color:var(--c-text-muted)}.client-mobile-copy strong,.client-mobile-copy small,.client-mobile-copy em{display:block}.client-mobile-copy strong{color:var(--c-text);font-size:var(--fs-400)}.client-mobile-copy small,.client-mobile-copy em{color:var(--c-text-muted);font-size:var(--fs-100);margin-top:var(--sp-1);font-style:normal}.client-mobile-meta{align-items:flex-end;gap:var(--sp-2);flex-direction:column;display:flex}.client-mobile-meta .status,.client-mobile-meta .pass-badge{font-size:var(--fs-100);white-space:nowrap}.client-drawer{padding:var(--sp-5) var(--sp-4) var(--sp-6)}.client-profile-summary{grid-template-columns:46px minmax(0,1fr)}.client-profile-summary>.status{grid-column:2;width:max-content}.client-profile-avatar{width:46px;height:46px}.client-quick-actions button{min-width:90px}}@media (width<=460px){.client-mobile-card{grid-template-columns:38px minmax(0,1fr) 16px}.client-mobile-meta{flex-flow:wrap;grid-column:2;align-items:flex-start}.client-mobile-card>svg{grid-area:1/3/span 2}.client-add-button{display:none}}.completion-issues-workspace{max-width:1320px}.completion-issues-workspace .section-intro svg{width:15px}.completion-issue-filters{gap:var(--sp-2);padding:var(--sp-1) var(--sp-1) var(--sp-4);display:flex;overflow-x:auto}.completion-issue-filters button{min-height:var(--h-control-sm);white-space:nowrap;border:1px solid var(--c-line-strong);border-radius:var(--r-xl);background:var(--c-surface);color:var(--c-text-muted);padding:0 var(--sp-3);font-size:var(--fs-200);font-weight:800}.completion-issue-filters button.active{background:var(--c-brand);color:var(--c-on-dark);border-color:var(--c-brand)}.completion-issue-state{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);gap:var(--sp-3);flex-direction:column}.completion-issue-state svg{width:28px;color:var(--c-brand-ink)}.completion-issue-state.error{color:var(--c-danger-ink)}.completion-issue-summary{margin:0 var(--sp-1) var(--sp-2);color:var(--c-text-muted);font-size:var(--fs-200)}.completion-issue-desktop td{vertical-align:middle}.completion-issue-desktop td:nth-child(4) span{color:var(--c-text-muted);font-size:var(--fs-100);margin-top:var(--sp-1);display:block}.completion-issue-badge{border-radius:var(--r-md);width:max-content;padding:var(--sp-1) var(--sp-2);font-size:var(--fs-100);background:var(--c-neutral-soft);color:var(--c-neutral-ink);white-space:nowrap;font-weight:800;display:inline-flex}.completion-issue-badge.stale_pending{background:var(--c-info-soft);color:var(--c-info-ink)}.completion-issue-badge.malformed_pending{background:var(--c-danger-soft);color:var(--c-danger-ink)}.completion-issue-badge.legacy_completed{background:var(--c-warn-soft);color:var(--c-warn-ink)}.completion-issue-mobile{display:none}.completion-issue-detail{border:1px solid var(--c-line);border-radius:var(--r-lg);padding:var(--sp-4);background:var(--c-surface-sunken)}.completion-issue-detail-head{gap:var(--sp-3);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;display:grid}.completion-issue-detail-head strong,.completion-issue-detail-head span{display:block}.completion-issue-detail-head strong{font-size:var(--fs-500)}.completion-issue-detail-head div>span{color:var(--c-text-muted);font-size:var(--fs-200);margin-top:var(--sp-1)}.completion-issue-detail dl{gap:var(--sp-3) var(--sp-4);margin:var(--sp-4) 0 0;grid-template-columns:1fr 1fr;display:grid}.completion-issue-detail dl div{border-top:1px solid var(--c-line);padding-top:var(--sp-2);min-width:0}.completion-issue-detail dt{color:var(--c-text-muted);font-size:var(--fs-100)}.completion-issue-detail dd{margin:var(--sp-1) 0 0;color:var(--c-text-secondary);font-size:var(--fs-200);overflow-wrap:anywhere}.completion-issue-readonly{gap:var(--sp-3);margin-top:var(--sp-4);padding:var(--sp-4);border:1px solid var(--c-warn-line);border-radius:var(--r-md);background:var(--c-warn-soft);color:var(--c-warn-ink);display:flex}.completion-issue-readonly>svg{flex:0 0 20px;width:20px}.completion-issue-readonly strong,.completion-issue-readonly span{font-size:var(--fs-300);display:block}.completion-issue-readonly span{margin-top:var(--sp-1);color:var(--c-warn-ink);line-height:1.5}.legacy-reconciliation-form{gap:var(--sp-4);margin-top:var(--sp-4);display:grid}.legacy-reconciliation-form>label{gap:var(--sp-2);color:var(--c-text-secondary);font-size:var(--fs-300);font-weight:700;display:grid}.legacy-reconciliation-form select,.legacy-reconciliation-form textarea{border:1px solid var(--c-line-strong);border-radius:var(--r-sm);width:100%;min-height:var(--h-control-lg);padding:var(--sp-2) var(--sp-3);color:var(--c-text);background:var(--c-surface);font-size:var(--fs-400)}.legacy-reconciliation-form textarea{resize:vertical;min-height:92px}.legacy-reconciliation-form fieldset{gap:var(--sp-2) var(--sp-4);padding:var(--sp-3);border:1px solid var(--c-line-strong);border-radius:var(--r-md);flex-wrap:wrap;margin:0;display:flex}.legacy-reconciliation-form legend{padding:0 var(--sp-2);color:var(--c-text-secondary);font-size:var(--fs-200);font-weight:800}.legacy-reconciliation-form fieldset label{align-items:center;gap:var(--sp-2);font-size:var(--fs-300);display:inline-flex}.legacy-reconciliation-form fieldset input{width:16px;height:16px}.legacy-reconciliation-form .modal-actions{margin-top:0}.completion-confirm-portal>.modal-backdrop{z-index:130}@media (width<=800px){.completion-issue-desktop{display:none}.completion-issue-mobile{gap:var(--sp-2);flex-direction:column;display:flex}.completion-issue-card{gap:var(--sp-2);border:1px solid var(--c-line);background:var(--c-surface);border-radius:var(--r-lg);width:100%;padding:var(--sp-4) var(--sp-8) var(--sp-4) var(--sp-4);text-align:left;color:var(--c-text);display:grid;position:relative}.completion-issue-card-head{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.completion-issue-card>span:not(.completion-issue-card-head),.completion-issue-card>small{color:var(--c-text-muted);font-size:var(--fs-200)}.completion-issue-card>svg{width:17px;color:var(--c-text-muted);position:absolute;top:50%;right:14px;transform:translateY(-50%)}}@media (width<=460px){.completion-issues-workspace .section-intro{align-items:flex-start}.completion-issue-detail dl{grid-template-columns:1fr}.completion-issue-detail-head{grid-template-columns:42px minmax(0,1fr)}.completion-issue-detail-head>.completion-issue-badge{grid-column:2}}.lesson-workspace{max-width:1320px}.lesson-toolbar{justify-content:flex-end;align-items:end;gap:var(--sp-3) var(--sp-4);flex-wrap:wrap;margin:-4px 0 14px;display:flex}.lesson-toolbar label{gap:var(--sp-2);color:var(--c-text-muted);font-size:var(--fs-200);font-weight:800;display:grid}.lesson-toolbar input,.lesson-toolbar select{width:min(280px,72vw);min-height:var(--h-control);border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text);padding:0 var(--sp-3)}.lesson-client-search{align-items:end;gap:var(--sp-2);display:flex}.lesson-client-search .btn-secondary{min-height:var(--h-control)}.lesson-client-selector{gap:var(--sp-2);display:grid}.lesson-client-pagination{justify-content:space-between;align-items:center;gap:var(--sp-2);color:var(--c-text-muted);font-size:var(--fs-100);display:flex}.lesson-client-pagination button{align-items:center;gap:var(--sp-1);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-surface);min-height:28px;color:var(--c-brand-ink);padding:0 var(--sp-2);font-size:var(--fs-100);display:inline-flex}.lesson-client-pagination button:disabled{cursor:not-allowed;opacity:.5}.lesson-client-pagination svg{width:12px}.lesson-filter-state{align-items:center;gap:var(--sp-2);min-height:var(--h-control);color:var(--c-text-muted);font-size:var(--fs-400);display:inline-flex}.lesson-filter-state.error{color:var(--c-danger-ink)}.lesson-filter-state button{min-height:var(--h-control-sm)}.lesson-state{gap:var(--sp-3);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);text-align:center;flex-direction:column;min-height:260px}.lesson-state.error{color:var(--c-danger-ink)}.lesson-state>svg{width:28px;color:var(--c-brand-ink)}.lesson-result-summary{margin:0 var(--sp-1) var(--sp-2);color:var(--c-text-muted);font-size:var(--fs-200)}.lesson-page-error,.lesson-detail-refresh-error{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);padding:var(--sp-3) var(--sp-3);border:1px solid var(--c-danger-line);border-radius:var(--r-md);background:var(--c-danger-soft);color:var(--c-danger-ink);font-size:var(--fs-200);display:flex}.lesson-page-error .btn-secondary{flex:none}.lesson-grid[aria-busy=true]{opacity:.72}.lesson-card,.lesson-card-top>div:nth-child(2){min-width:0}.lesson-card-top strong,.lesson-card h3,.lesson-summary p{overflow-wrap:anywhere}.lesson-card-top em{flex:none}.lesson-pagination{margin-bottom:var(--sp-1)}.note-list article>button{border:1px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-surface);min-height:32px;color:var(--c-brand-ink);padding:0 var(--sp-2);font-size:var(--fs-100);flex:none;font-weight:800}.note-list article>div:nth-child(2){min-width:0}.note-list p{overflow-wrap:anywhere}.client-history-row>div{min-width:0}.client-history-row>.btn-secondary{flex:none}.lesson-detail-drawer{width:min(680px,100%);overflow-x:hidden}.lesson-detail-state{justify-content:center;align-items:center;gap:var(--sp-3);min-height:240px;color:var(--c-text-muted);text-align:center;flex-direction:column;display:flex}.lesson-detail-state.error{color:var(--c-danger-ink)}.lesson-detail-state>svg{width:30px}.lesson-detail{min-width:0;color:var(--c-text)}.lesson-detail-summary{align-items:center;gap:var(--sp-3);padding:var(--sp-1) 0 var(--sp-4);grid-template-columns:44px minmax(0,1fr) auto;display:grid}.lesson-detail-summary strong,.lesson-detail-summary span{overflow-wrap:anywhere;display:block}.lesson-detail-summary strong{font-size:var(--fs-500)}.lesson-detail-summary div>span{margin-top:var(--sp-1);color:var(--c-text-muted);font-size:var(--fs-200)}.lesson-processing-banner{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-4);border:1px solid var(--c-warn-line);border-radius:var(--r-md);background:var(--c-warn-soft);color:var(--c-warn-ink);grid-template-columns:22px minmax(0,1fr) auto;display:grid}.lesson-processing-banner>svg{width:20px}.lesson-processing-banner strong,.lesson-processing-banner span{font-size:var(--fs-200);line-height:1.5;display:block}.lesson-processing-banner span{margin-top:var(--sp-1);color:var(--c-warn-ink)}.lesson-processing-banner .btn-secondary{min-height:var(--h-control-sm);background:var(--c-warn-soft)}.lesson-processing-banner .btn-secondary svg{width:14px}.lesson-detail-refresh-error{display:block}.lesson-status-badges{gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end;max-width:100%;display:flex}.lesson-status-badges .lesson-status{border-radius:var(--r-md);width:max-content;max-width:100%;padding:var(--sp-2) var(--sp-2);font-size:var(--fs-100);font-weight:800}.lesson-status.ai{background:var(--c-brand-soft)!important;color:var(--c-brand-ink)!important}.lesson-detail-refresh-error strong{margin-bottom:var(--sp-1);display:block}.lesson-info-notice{margin-bottom:var(--sp-3);padding:var(--sp-3);border:1px solid var(--c-info);border-radius:var(--r-md);background:var(--c-info-soft);color:var(--c-info-ink);font-size:var(--fs-200);line-height:1.5}.lesson-processing-cta{justify-content:flex-start}.lesson-detail-title,.lesson-detail-transcript,.lesson-coach-memo{margin-top:var(--sp-4);padding:var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface-sunken);min-width:0}.lesson-detail-title>span{color:var(--c-text-muted);font-size:var(--fs-100);font-weight:800}.lesson-detail-title h3{margin:var(--sp-2) 0 0;font-size:var(--fs-600);overflow-wrap:anywhere}.lesson-detail h4{margin:0 0 var(--sp-3);color:var(--c-brand-ink);font-size:var(--fs-400)}.lesson-detail-transcript p,.lesson-coach-memo p{color:var(--c-text-secondary);font-size:var(--fs-300);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.7}.lesson-detail-sections{gap:var(--sp-3);margin-top:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.lesson-detail-sections section{min-width:0;padding:var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}.lesson-detail-sections ul{gap:var(--sp-2);padding-left:var(--sp-4);margin:0;display:grid}.lesson-detail-sections li,.lesson-detail-sections p{color:var(--c-text-secondary);font-size:var(--fs-200);overflow-wrap:anywhere;line-height:1.6}.lesson-detail-sections p{color:var(--c-text-muted);margin:0}.lesson-coach-memo{background:var(--c-brand-soft)}.lesson-coach-memo>span{color:var(--c-text-muted);font-size:var(--fs-100);margin:-5px 0 9px;display:block}.lesson-detail-meta{gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-1);grid-template-columns:repeat(3,1fr);display:grid}.lesson-detail-meta div{border-top:1px solid var(--c-line);min-width:0;padding-top:var(--sp-3)}.lesson-detail-meta dt{color:var(--c-text-muted);font-size:var(--fs-100)}.lesson-detail-meta dd{margin:var(--sp-1) 0 0;color:var(--c-text-secondary);font-size:var(--fs-200);overflow-wrap:anywhere}.lesson-detail-actions{margin:0 0 var(--sp-3);justify-content:flex-end;display:flex}.lesson-detail-actions .primary{min-height:var(--h-control-lg)}.lesson-share{margin:var(--sp-5) 0 var(--sp-4);padding:var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-sunken);gap:var(--sp-3);display:grid}.lesson-share-heading{justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.lesson-share-heading h4{color:var(--c-text);font-size:var(--fs-400);margin:0}.lesson-share-help{color:var(--c-text-muted);font-size:var(--fs-200);margin:0}.lesson-share-preview{border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--sp-4);background:var(--c-surface-alt);overflow-x:auto}.lesson-share-status{gap:var(--sp-3);display:grid}.lesson-share-state{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.lesson-share-badge{font-size:var(--fs-200);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);background:var(--c-neutral-soft);color:var(--c-neutral-ink);font-weight:700}.lesson-share-badge.active{background:var(--c-brand-soft);color:var(--c-brand-ink)}.lesson-share-badge.expired{background:var(--c-warn-soft);color:var(--c-warn-ink)}.lesson-share-meta{color:var(--c-text-secondary);font-size:var(--fs-200)}.lesson-share-url{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.lesson-share-url input{min-width:180px;min-height:var(--h-control-sm);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);padding:0 var(--sp-2);color:var(--c-text-secondary);background:var(--c-surface);font-size:var(--fs-200);flex:1}.lesson-share-copy-notice{color:var(--c-brand-ink);font-size:var(--fs-200)}.lesson-share-expiry{gap:var(--sp-1);color:var(--c-text-secondary);font-size:var(--fs-200);font-weight:700;display:grid}.lesson-share-expiry select{max-width:180px;min-height:var(--h-control-sm);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);padding:0 var(--sp-2);color:var(--c-text);background:var(--c-surface)}.lesson-share-processing-note{align-items:center;gap:var(--sp-2);color:var(--c-warn-ink);font-size:var(--fs-200);display:flex}.lesson-share-processing-note svg{flex:none;width:14px}.lesson-share-actions{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.lesson-share-actions .primary{min-height:var(--h-control-sm)}.lesson-share-confirm,.account-confirm{border:1px solid var(--c-warn-line);border-radius:var(--r-md);background:var(--c-warn-soft);padding:var(--sp-4);gap:var(--sp-2);display:grid}.lesson-share-confirm h5,.account-confirm h5{color:var(--c-warn-ink);font-size:var(--fs-300);margin:0}.lesson-share-confirm p,.account-confirm p{color:var(--c-warn-ink);font-size:var(--fs-200);margin:0;line-height:1.5}.lesson-share-confirm-actions,.account-confirm-actions{justify-content:flex-end;gap:var(--sp-2);display:flex}.lesson-edit-form{gap:var(--sp-4);min-width:0;display:grid}.lesson-edit-heading{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.lesson-edit-heading h3{color:var(--c-text);font-size:var(--fs-600);margin:0}.lesson-edit-heading>div>span{margin-top:var(--sp-1);color:var(--c-text-muted);font-size:var(--fs-100);display:block}.lesson-edit-heading>.lesson-status{border-radius:var(--r-md);padding:var(--sp-2) var(--sp-2);font-size:var(--fs-100);flex:none;font-weight:800}.lesson-edit-form label{gap:var(--sp-2);color:var(--c-text-secondary);font-size:var(--fs-300);font-weight:700;display:grid}.lesson-edit-form input,.lesson-edit-form textarea{width:100%;min-height:var(--h-control-lg);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);color:var(--c-text);background:var(--c-surface);font-size:var(--fs-400);outline:0}.lesson-edit-form textarea{resize:vertical;min-height:90px}.lesson-edit-form textarea.large{min-height:150px}.lesson-edit-form input:focus,.lesson-edit-form textarea:focus{border-color:var(--c-focus);box-shadow:0 0 0 3px var(--c-focus-ring)}.lesson-edit-form input:disabled,.lesson-edit-form textarea:disabled{background:var(--c-surface-alt);color:var(--c-text-muted);cursor:not-allowed}.lesson-edit-client{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface-sunken);grid-template-columns:44px minmax(0,1fr);display:grid}.lesson-edit-client strong,.lesson-edit-client span{overflow-wrap:anywhere;display:block}.lesson-edit-client strong{color:var(--c-text);font-size:var(--fs-400)}.lesson-edit-client span{margin-top:var(--sp-1);color:var(--c-text-muted);font-size:var(--fs-100)}.lesson-edit-date-row,.lesson-edit-arrays{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.lesson-edit-arrays>section{min-width:0;padding:var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface-sunken)}.lesson-edit-arrays h4{margin:0 0 var(--sp-3);color:var(--c-brand-ink);font-size:var(--fs-400)}.lesson-edit-items{gap:var(--sp-2);display:grid}.lesson-edit-items>div{gap:var(--sp-2);grid-template-columns:minmax(0,1fr) 42px;display:grid}.lesson-edit-items button{min-width:42px;min-height:var(--h-control-lg);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-danger-ink);place-items:center;display:grid}.lesson-edit-items button svg{width:15px}.lesson-add-item{min-height:var(--h-control-sm);margin-top:var(--sp-2);align-items:center;gap:var(--sp-2);display:inline-flex}.lesson-add-item svg{width:14px}.lesson-field-help{color:var(--c-text-muted);font-size:var(--fs-100);font-weight:500}.lesson-edit-pending{align-items:center;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--c-warn-line);border-radius:var(--r-md);background:var(--c-warn-soft);color:var(--c-warn-ink);grid-template-columns:22px minmax(0,1fr);display:grid}.lesson-edit-pending>svg{width:20px}.lesson-edit-pending strong,.lesson-edit-pending span{font-size:var(--fs-200);line-height:1.5;display:block}.lesson-edit-pending span{margin-top:var(--sp-1);color:var(--c-warn-ink)}.lesson-edit-actions{justify-content:flex-end;gap:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--c-line);display:flex}.lesson-edit-actions button{min-height:var(--h-control-lg)}.lesson-edit-actions .primary{justify-content:center;align-items:center;gap:var(--sp-2);display:inline-flex}.lesson-edit-actions .primary svg{width:15px;animation:.9s linear infinite completion-spin}.lesson-conflict{gap:var(--sp-4);min-width:0;display:grid}.lesson-conflict-alert{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--c-danger-line);border-radius:var(--r-md);background:var(--c-danger-soft);color:var(--c-danger-ink);grid-template-columns:22px minmax(0,1fr);display:grid}.lesson-conflict-alert>svg{width:20px}.lesson-conflict-alert h3{font-size:var(--fs-400);margin:0}.lesson-conflict-alert p{margin:var(--sp-2) 0 0;font-size:var(--fs-200);line-height:1.5}.lesson-conflict-alert span{margin-top:var(--sp-2);color:var(--c-text-muted);font-size:var(--fs-100);display:block}.lesson-conflict-fields{gap:var(--sp-3);display:grid}.lesson-conflict-fields>section>h4{margin:0 0 var(--sp-2);color:var(--c-brand-ink);font-size:var(--fs-400)}.lesson-conflict-values{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.lesson-conflict-values>div{min-width:0;padding:var(--sp-3);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-sunken)}.lesson-conflict-values span{color:var(--c-text-muted);font-size:var(--fs-100);font-weight:800}.lesson-conflict-values p,.lesson-conflict-values li{color:var(--c-text-secondary);font-size:var(--fs-300);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.lesson-conflict-values p{margin:var(--sp-2) 0 0}.lesson-conflict-values ul{margin:var(--sp-2) 0 0;padding-left:var(--sp-4)}.lesson-conflict-actions{gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--c-line);grid-template-columns:1fr 1fr;display:grid}.lesson-conflict-actions>div{gap:var(--sp-2);display:grid}.lesson-conflict-actions button{min-height:var(--h-control-lg)}.lesson-conflict-actions span{color:var(--c-text-muted);font-size:var(--fs-100);line-height:1.5}.account-settings,.account-delete{gap:var(--sp-4);display:grid}.account-state{padding:var(--sp-5) 0;color:var(--c-text-muted);font-size:var(--fs-300);text-align:center;margin:0}.account-state-error{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.account-state-error button{flex:none}.account-summary{align-items:center;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface-sunken);grid-template-columns:44px minmax(0,1fr);display:grid}.account-summary .avatar{width:44px;height:44px;color:var(--c-on-dark)}.account-summary strong,.account-summary span{overflow-wrap:anywhere;display:block}.account-summary strong{color:var(--c-text);font-size:var(--fs-400)}.account-summary span{margin-top:var(--sp-1);color:var(--c-text-muted);font-size:var(--fs-200)}.account-meta{gap:var(--sp-3);grid-template-columns:1fr 1fr;margin:0;display:grid}.account-meta>div{min-width:0;padding:var(--sp-3);border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-sunken)}.account-meta dt{color:var(--c-text-muted);font-size:var(--fs-100);font-weight:800}.account-meta dd{margin:var(--sp-2) 0 0;color:var(--c-text);font-size:var(--fs-300);overflow-wrap:anywhere;font-weight:700}.account-danger{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--c-danger-line);border-radius:var(--r-lg);background:var(--c-danger-soft);display:grid}.account-danger h3{color:var(--c-danger-ink);font-size:var(--fs-400);margin:0}.account-danger p{color:var(--c-danger-ink);font-size:var(--fs-200);margin:0;line-height:1.6}.account-danger .btn-danger{justify-self:start;align-items:center;gap:var(--sp-2);background:var(--c-surface);display:inline-flex}.account-danger .btn-danger svg{width:15px}.account-delete-notice{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--c-danger-line);border-radius:var(--r-lg);background:var(--c-danger-soft);display:grid}.account-delete-notice h3{color:var(--c-danger-ink);font-size:var(--fs-400);margin:0}.account-delete-notice ul{padding-left:var(--sp-5);gap:var(--sp-1);margin:0;display:grid}.account-delete-notice li,.account-delete-notice strong{color:var(--c-danger-ink);font-size:var(--fs-200);line-height:1.6}.account-field{gap:var(--sp-2);color:var(--c-text-secondary);font-size:var(--fs-300);font-weight:700;display:grid}.account-field-label{color:var(--c-text-secondary);font-size:var(--fs-300);font-weight:700}.account-field input{width:100%;min-height:var(--h-control-lg);border:1px solid var(--c-line-strong);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);color:var(--c-text);background:var(--c-surface);font-size:var(--fs-400);outline:0}.account-field input:focus{border-color:var(--c-focus);box-shadow:0 0 0 3px var(--c-focus-ring)}.account-field input:disabled{background:var(--c-surface-alt);color:var(--c-text-muted);cursor:not-allowed}.account-email-row{align-items:center;gap:var(--sp-2);display:flex}.account-email-row input{min-width:0}.account-email-row .btn-secondary{min-height:var(--h-control-lg);flex:none}.account-notice{color:var(--c-brand-ink);font-size:var(--fs-100);font-weight:700}.account-hint{color:var(--c-danger-ink);font-size:var(--fs-100);font-weight:700}.account-failure{gap:var(--sp-3);display:grid}.account-failure-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.account-footnote{color:var(--c-text-muted);font-size:var(--fs-100);margin:0;line-height:1.6}.account-delete .modal-actions .btn-danger{min-height:var(--h-control-lg);align-items:center;gap:var(--sp-2);display:inline-flex}.account-delete .modal-actions .btn-danger svg{width:15px;animation:.9s linear infinite completion-spin}.account-confirm-actions .btn-danger{background:var(--c-surface)}@media (width<=620px){.lesson-toolbar{justify-content:stretch;align-items:stretch}.lesson-client-search,.lesson-client-selector,.lesson-toolbar label,.lesson-toolbar input,.lesson-toolbar select,.lesson-filter-state{width:100%}.lesson-client-search{grid-template-columns:minmax(0,1fr) auto;display:grid}.lesson-client-search .btn-secondary{align-self:end}.lesson-page-error{flex-direction:column;align-items:flex-start}.lesson-detail-drawer{padding:var(--sp-5) var(--sp-4) var(--sp-6)}.lesson-detail-summary{grid-template-columns:40px minmax(0,1fr)}.lesson-detail-summary>.lesson-status-badges{grid-column:2;justify-content:flex-start}.lesson-processing-banner{grid-template-columns:20px minmax(0,1fr)}.lesson-processing-banner .btn-secondary{grid-column:1/-1;justify-content:center}.lesson-detail-sections,.lesson-detail-meta{grid-template-columns:1fr}.lesson-edit-heading{display:grid}.lesson-edit-date-row,.lesson-edit-arrays,.lesson-conflict-values,.lesson-conflict-actions{grid-template-columns:1fr}.lesson-edit-actions{display:grid}.lesson-edit-actions button{width:100%}.note-list article{align-items:flex-start}.account-meta{grid-template-columns:1fr}.account-email-row{grid-template-columns:minmax(0,1fr);display:grid}}@media (prefers-reduced-motion:reduce){.lesson-grid[aria-busy=true]{transition:none}.lesson-edit-actions .primary svg,.account-delete .modal-actions .btn-danger svg{animation:none}}
