@import url('./tokens.css');
:root{--border:1px solid var(--line)}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.55 var(--font-ui)}a{color:var(--accent);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3,p{margin-block:0 var(--space-2)}h1,h2{font-family:var(--font-ui);font-weight:650;line-height:1.15;overflow-wrap:anywhere}h1{font-size:clamp(1.9rem,3vw,2.65rem);letter-spacing:-.035em}h2{font-size:1.65rem}h3{font-size:1rem;font-weight:650}small,.help{font-size:.875rem;color:var(--muted)}.help{margin-block:var(--space-2)}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--muted)}.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:100dvh}aside{padding:var(--space-4);border-inline-end:var(--border);background:var(--inset);display:flex;flex-direction:column;gap:var(--space-5)}.brand{display:flex;gap:var(--space-2);align-items:center;text-decoration:none;font:italic 2.5rem Georgia,serif}.brand span{font:700 .8rem system-ui;letter-spacing:.12em}.brand small{display:block;max-width:135px;margin-block-start:var(--space-2);font:400 .75rem/1.5 system-ui;letter-spacing:0}nav{display:flex;flex-direction:column;gap:var(--space-1)}nav a{padding:var(--space-2);min-height:44px;border-radius:var(--radius);text-decoration:none;color:var(--muted)}nav a[aria-current=page]{color:var(--accent);font-weight:700;background:var(--tint)}.account{margin-block-start:auto;font-size:.875rem}.account form{margin-block-start:var(--space-2)}.workspace{min-width:0}header{padding:var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:space-between;border-block-end:var(--border);font-size:.7rem;letter-spacing:.12em;color:var(--muted)}main{max-width:1350px;padding:var(--space-5);margin-inline:auto;min-height:75vh}.intro{margin-block-end:var(--space-5)}.intro>p:last-child{max-width:65ch;color:var(--muted)}.columns{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-4);margin-block:var(--space-4);align-items:start}.panel{padding:var(--space-4);background:var(--surface);border:var(--border);border-radius:var(--radius);margin-block:var(--space-3)}.narrow{max-width:540px}.metrics{display:flex;gap:var(--space-5);align-items:center;flex-wrap:wrap;padding-block:var(--space-4);border-block:var(--border);margin-block:var(--space-4)}.metrics strong{display:block;font:650 2rem var(--font-ui)}.metrics span{color:var(--muted);font-size:.875rem}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-block-end:var(--space-3)}.lesson-row,.student-row{display:flex;gap:var(--space-3);align-items:center;padding-block:var(--space-3);border-block-end:var(--border);color:var(--ink);text-decoration:none;overflow-wrap:anywhere}.lesson-row>div:nth-child(2),.student-row>div{flex:1;min-width:0}.lesson-row p,.student-row p{font-size:.875rem;color:var(--muted);margin:0}.date-tile{background:var(--tint);border-radius:var(--radius);min-width:62px;padding:var(--space-2);text-align:center}.date-tile strong{font:1.8rem Georgia,serif;display:block;line-height:1.1}.date-tile span{font-size:.75rem}.initial{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:var(--tint);font:1.4rem Georgia,serif}.empty{padding:var(--space-4);background:var(--inset);border-radius:var(--radius);color:var(--muted)}form{display:grid;gap:var(--space-3)}label{display:grid;gap:var(--space-1);font-size:.875rem;font-weight:600}input,select,textarea,button,.button{font:inherit;border:var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:var(--space-2);min-height:44px;max-width:100%}input,select,textarea{width:100%;font-size:16px}textarea{min-height:100px;resize:vertical}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font-size:.875rem;font-weight:650;cursor:pointer;text-decoration:none;width:fit-content}button:hover,.button:hover{background:var(--tint)}button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.quiet{background:none;border-color:transparent}.danger{color:var(--danger)}.pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}fieldset{border:var(--border);border-radius:var(--radius);padding:var(--space-3);min-width:0}legend{font-weight:650;font-size:.875rem}.check{display:flex;align-items:center;gap:var(--space-2);min-height:44px;font-weight:400}.check input{width:20px;min-height:20px;flex-shrink:0}.notice{padding:var(--space-3);background:var(--tint);border-radius:var(--radius);margin-block-end:var(--space-4)}.notice.error{background:var(--error-bg);color:var(--danger)}.prose{white-space:pre-wrap;overflow-wrap:anywhere}.timeline{border-inline-start:3px solid var(--line);padding-inline-start:var(--space-3);margin-block:var(--space-4)}.file-row{padding-block:var(--space-3);border-block-end:var(--border);overflow-wrap:anywhere}.material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.material-grid h2{font-size:1.4rem}.search{display:flex;gap:var(--space-2);align-items:end;flex-wrap:wrap;margin-block:var(--space-4)}.search label:first-child{flex:2 1 250px}.search label{flex:1 1 120px}.actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.steps{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-block:var(--border);list-style:none;color:var(--muted);font-size:.875rem;flex-wrap:wrap}.badge{font-size:.75rem;background:var(--tint);border-radius:var(--radius);padding:var(--space-1) var(--space-2);width:fit-content}.invoice{padding-block:var(--space-4);border-block-end:var(--border);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}footer{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);color:var(--muted);font-size:.75rem;border-block-start:var(--border)}.skip{position:absolute;inset-block-start:-100px;inset-inline-start:var(--space-3);padding:var(--space-3);background:var(--surface);z-index:10}.skip:focus{inset-block-start:var(--space-2)}
@media(max-width:1100px){.columns{grid-template-columns:1fr}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shell{grid-template-columns:200px minmax(0,1fr)}main{padding:var(--space-4)}header,footer{padding:var(--space-3) var(--space-4)}}
@media(max-width:700px){.shell{display:block}aside{padding:var(--space-3);gap:var(--space-3);border-inline-end:0;border-block-end:var(--border)}.brand small{display:none}.brand span{font-size:.875rem}nav{flex-direction:row;flex-wrap:wrap;gap:0}nav a{padding:var(--space-2);font-size:.875rem}.account{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.account p{margin:0;flex:1}.account form{margin:0}.account>a{font-size:.75rem}header>span{font-size:.6rem}main{padding:var(--space-3)}.panel{padding:var(--space-3)}.pair,.invoice,.material-grid{grid-template-columns:1fr}.metrics{gap:var(--space-4)}.lesson-row{gap:var(--space-2)}.student-row>span:last-child:not(.initial){font-size:.75rem}.section-heading{flex-wrap:wrap}footer{flex-direction:column}}

.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-3);align-items:end}.form-grid button{align-self:end}.table-wrap{overflow:auto;max-width:100%;margin-block:var(--space-3)}.table-wrap td{overflow-wrap:anywhere;max-width:320px}.feedback-item{padding-block:var(--space-3);border-block-end:var(--border)}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.demo-banner{border-width:2px}.demo-banner p{margin-block:var(--space-1)}details>form{padding-block:var(--space-3)}

.brand{font:700 1.5rem var(--font-ui);font-style:normal;letter-spacing:-.04em}.brand span{font:650 1rem var(--font-ui);letter-spacing:-.02em}.brand small{font:400 .75rem/1.5 var(--font-ui)}h2{font-size:1.4rem}.eyebrow{letter-spacing:.08em}input,textarea,select{border-color:var(--control-line)}nav a[aria-current=page]{box-shadow:inset 3px 0 var(--accent)}header{background:var(--surface)}.account{padding-block-start:var(--space-3);border-block-start:var(--border)}fieldset{border:var(--border);border-radius:var(--radius);padding:var(--space-3)}@media(prefers-contrast:more){:root{--line:var(--control-line)}nav a[aria-current=page]{outline:2px solid var(--accent)}}@media(forced-colors:active){nav a[aria-current=page]{outline:2px solid CanvasText}input,textarea,select{border:1px solid CanvasText}}
.account-links{display:flex;flex-direction:column}.account-links a{display:flex;align-items:center;min-height:44px}@media(max-width:700px){.account-links{flex-direction:row;gap:var(--space-2)}.account-links a{font-size:.75rem}}
.invoice-line{display:grid;grid-template-columns:minmax(0,1fr) 5rem 9rem;gap:var(--space-2);margin-block-end:var(--space-2)}.invoice-running{font-weight:650}.invoice-doc{overflow-x:auto}.invoice-doc table{width:100%;border-collapse:collapse}.invoice-doc td,.invoice-doc th{padding:var(--space-1) var(--space-2);vertical-align:top;text-align:start}.invoice-doc .inv-num{text-align:end;white-space:nowrap}.invoice-doc .inv-business{font-weight:650;font-size:1.2rem}.invoice-doc .inv-title{font-weight:700;font-size:1.4rem;letter-spacing:.1em;text-align:end}.invoice-doc .inv-void{color:var(--danger);font-weight:700;text-align:end}.invoice-doc .inv-small,.invoice-doc .inv-label,.invoice-doc .inv-foot{font-size:.875rem;color:var(--muted)}.invoice-doc .inv-head{border-block-end:2px solid var(--ink)}.invoice-doc .inv-items th{border-block-end:var(--border);background:var(--inset)}.invoice-doc .inv-items td{border-block-end:var(--border)}.invoice-doc .inv-spacer{width:58%}.invoice-doc .inv-total td{font-weight:700;border-block-start:2px solid var(--ink)}.invoice-doc .inv-total td.inv-spacer{border-block-start:0}.invoice-doc .inv-words{font-style:italic}.invoice-doc .inv-pay{border:var(--border);border-radius:var(--radius);padding:var(--space-2)}@media(max-width:700px){.invoice-line{grid-template-columns:1fr 1fr}.invoice-line label:first-child{grid-column:1/-1}}
