@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#24213b;--sub:#726f83;--violet:#7356d9;--border:#ebe7f2;--bg:#faf9fe}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,system-ui,-apple-system,Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,textarea,select{font:inherit}a{text-decoration:none;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b9a5fb;outline-offset:3px}
.site-header{background:#fff;border-bottom:1px solid #eeebf4}.header-inner{max-width:1240px;margin:auto;min-height:82px;padding:12px 26px;display:flex;align-items:center;gap:30px;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:25px;font-weight:800;letter-spacing:-1.5px;line-height:1}.brand-icon{display:grid;place-items:center;flex:0 0 43px;border-radius:15px;background:linear-gradient(140deg,#56bba2,#7754de);color:#fff;width:43px;height:43px;box-shadow:0 6px 16px #6d65cf24}.brand-icon svg{display:block;width:31px;height:31px}.brand-wordmark{white-space:nowrap}.brand-accent{color:#4a9c88}.brand small{display:block;color:#9892aa;font-size:9px;letter-spacing:1.2px;font-weight:700;text-transform:uppercase;margin-top:6px}.header-note{font-size:12px;font-weight:700;color:#716c7f}.status-dot{display:inline-block;background:#55c896;width:8px;height:8px;border-radius:50%;margin-right:8px}.header-link{padding:12px 17px;border:1px solid #e5dff5;border-radius:12px;color:#5942af;font-size:12px;font-weight:800}.header-link:hover{background:#f5f0ff}
main{max-width:1240px;margin:auto;padding:0 26px 80px}.hero{display:grid;grid-template-columns:1fr 460px;min-height:420px;align-items:center;gap:45px;padding:55px 0 45px}.eyebrow,.section-kicker,.panel-step{font-size:10px;letter-spacing:2px;font-weight:800;color:#9277d5}.sparkle{font-size:17px;color:#e9ad52}.hero h1{font-size:clamp(42px,5.1vw,70px);line-height:1.09;letter-spacing:-3.5px;margin:16px 0 22px;font-weight:800}.hero h1 span{color:#7962db}.lead{color:#777284;line-height:1.85;max-width:555px;font-size:15px;margin:0}.hero-benefits{display:flex;gap:20px;flex-wrap:wrap;margin:23px 0 25px;color:#5d566c;font-size:12px;font-weight:700}.hero-benefits span::first-letter{color:#50bd89}.hero-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 20px;border-radius:13px;background:#7659da;color:#fff;font-weight:800;font-size:13px;box-shadow:0 12px 25px #6a4dc02e}.hero-cta:hover{background:#6144c8}.hero-art{height:350px;position:relative;border-radius:35px;background:radial-gradient(circle at 60% 40%,#eee4ff 1%,#faf5ff 60%,transparent 76%);overflow:hidden}.orbit{position:absolute;border:1px dashed #cebbee;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-one{width:300px;height:300px}.orbit-two{width:430px;height:430px}.floating-paper{position:absolute;background:#fff;box-shadow:0 22px 42px #6f57a32b;border-radius:11px}.paper-one{width:215px;height:250px;left:76px;top:42px;transform:rotate(-10deg);padding:27px}.mini-kicker{font-size:9px;font-weight:800;letter-spacing:2px;color:#8a72c7}.paper-one strong{display:block;font-size:15px;margin:21px 0 9px}.mini-rule{height:1px;background:#e1dbe8;width:95%}.paper-two{right:42px;top:83px;transform:rotate(12deg);width:185px;height:229px;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:8px double #e2cc9f}.paper-two .star{color:#dca754;font-size:37px}.paper-two>span:nth-child(2){font-size:21px;letter-spacing:2px;color:#aa844f;font-weight:800;margin:10px 0}.paper-two b{font-family:Georgia,serif;font-size:14px;line-height:1.6}.tiny-line{height:1px;width:65px;background:#d7bc85;margin-top:18px}.art-doodle{position:absolute;color:#d3b46c;font-size:34px}.doodle-a{top:16px;right:70px}.doodle-b{bottom:27px;left:30px}
.workspace{padding-top:24px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.section-head h2{font-size:29px;letter-spacing:-1.3px;margin:9px 0 5px}.section-head p{color:#8b8698;font-size:13px;margin:0}.tools-counter{font-size:11px;color:#9b8da9;border:1px solid #ece5f2;padding:11px 16px;border-radius:50px;white-space:nowrap}
nav#tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:23px}nav#tabs button{background:#fff;border:1px solid var(--border);border-radius:16px;padding:19px 10px;min-height:76px;color:#5b556d;font-size:12px;font-weight:800;box-shadow:0 3px 10px #34235805;transition:transform .2s,border-color .2s,background .2s}nav#tabs button:hover{transform:translateY(-3px);border-color:#cdbaf7}nav#tabs button[aria-current=true]{color:#6548c1;border:2px solid #9679e8;background:#f7f2ff;box-shadow:0 5px 18px #8660c520}
.layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:19px;align-items:start}.editor-panel,.preview{border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 10px 35px #2b174c0b}.editor-panel{padding:26px}.panel-header{display:flex;align-items:center;justify-content:space-between}.pill{font-size:10px;font-weight:800;color:#8c75c8;background:#f3eeff;padding:7px 10px;border-radius:7px}.editor-panel h2{font-size:21px;letter-spacing:-.6px;margin:16px 0 7px}.panel-help{font-size:12px;color:#95909f;line-height:1.6;margin:0 0 23px}.field{display:block;font-size:12px;font-weight:800;color:#5c576b;margin:0 0 18px}.field input,.field textarea,.field select{display:block;width:100%;margin-top:9px;border:1px solid #e5dfec;border-radius:11px;background:#fcfbff;color:#342f43;font-size:13px;font-weight:500;padding:13px 12px}.field textarea{min-height:125px;resize:vertical;line-height:1.7}.field input:focus,.field textarea:focus,.field select:focus{border-color:#b09bf0;background-color:#fff}.actions{border-top:1px solid #f1edf4;padding-top:22px}.actions button{width:100%;border-radius:12px;padding:15px;font-size:12px;font-weight:800}.actions #regenerate{background:#f5f1fd;color:#6950c1;border:1px solid #e4dcf6}.actions #print{margin-top:10px;border:0;background:#7659da;color:#fff;box-shadow:0 9px 17px #7659da25}.actions #print:hover{background:#6243cc}.actions #print span{padding-right:6px}.hint{font-size:11px;line-height:1.7;color:#aaa4b3;margin:17px 0 0}
.preview{overflow:hidden;padding:0}.preview-top{display:flex;align-items:center;justify-content:space-between;padding:23px 26px 20px}.preview-top h2{font-size:20px;margin:7px 0 0;letter-spacing:-.5px}.preview-badge{font-size:10px;color:#947acb;background:#f3eefe;border-radius:6px;padding:5px 7px;vertical-align:middle;margin-left:5px}.preview-caption{font-size:11px;color:#ada8b6}.scroll{background:#f3f0f8;border-top:1px solid #ede9f0;border-bottom:1px solid #ede9f0;padding:30px 16px;overflow:auto;display:flex;justify-content:center;align-items:flex-start;min-height:400px}#paper{background:#fff;width:210mm;min-height:297mm;flex:0 0 auto;padding:18mm;box-shadow:0 13px 36px #3428541f;font-family:Arial,sans-serif;color:#262336}#paper h2{text-align:center;font-size:27px;margin:5px 0 22px}#paper p.sub{text-align:center;font-size:14px;color:#777;margin-bottom:25px}.preview-bottom{display:flex;justify-content:space-between;gap:15px;padding:17px 24px;color:#a39baa;font-size:10px}.problems{display:grid;grid-template-columns:1fr 1fr;gap:16px 26px;font-size:18px}.problems div{border-bottom:1px dashed #ddd;padding:7px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cards article{border:1px dashed #aca0c4;border-radius:9px;padding:20px;text-align:center;min-height:90px;display:flex;align-items:center;justify-content:center;flex-direction:column}.cards b{font-size:20px}.cards small{color:#777;margin-top:8px}.labels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.labels article{border:2px solid #baa9e6;border-radius:14px;padding:16px 8px;text-align:center;background:#faf8ff;min-height:76px;display:flex;flex-direction:column;justify-content:center}.labels small{font-size:10px;color:#736e7d;margin-top:6px}.diploma{border:10px double #ad96dd;text-align:center;min-height:220mm;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px}.diploma h2{font-size:43px;color:#7057d5}.diploma b{font-size:29px;margin:25px 0}.diploma p{font-size:20px;line-height:1.5}table{width:100%;border-collapse:collapse;table-layout:fixed}td,th{border:1px solid #b7b0c3;padding:10px 5px;text-align:center;word-break:break-word;font-size:12px}th{background:#eee9f7}.habit th{font-size:9px;padding:6px 0}.habit td{height:28px;padding:3px;font-size:10px}.habit td:first-child{text-align:left;font-size:12px;width:125px}.bottom-banner{margin-top:60px;background:#eee9fb;border-radius:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:35px 45px}.bottom-banner span{font-size:10px;letter-spacing:2px;color:#9577c8;font-weight:800}.bottom-banner h2{font-size:25px;line-height:1.4;margin:11px 0 0;letter-spacing:-1px}.bottom-banner a{background:#fff;border-radius:12px;padding:15px 21px;font-size:12px;color:#694bc1;font-weight:800;white-space:nowrap}footer{background:#fff;border-top:1px solid #ece8f2}.footer-inner{max-width:1240px;margin:auto;padding:27px 26px;display:flex;justify-content:space-between;gap:20px;color:#9f99ab;font-size:11px}.footer-brand{color:#4a9c88;font-size:19px;font-weight:800;letter-spacing:-1px}
@media(max-width:1100px){.hero{grid-template-columns:1fr 340px;gap:20px}.paper-one{left:25px}.paper-two{right:15px}.layout{grid-template-columns:300px minmax(0,1fr)}nav#tabs{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.header-inner{min-height:70px;padding:12px 18px}.header-note{display:none}.header-link{font-size:11px;padding:10px}.hero{grid-template-columns:1fr;padding:46px 0 15px;gap:5px}.hero h1{letter-spacing:-2.4px}.hero-art{height:275px;max-width:420px;width:100%;margin:0 auto}.paper-one{top:28px;left:46px;transform:rotate(-10deg) scale(.83);transform-origin:top left}.paper-two{top:49px;right:35px;transform:rotate(12deg) scale(.83);transform-origin:top right}main{padding:0 17px 50px}.layout{grid-template-columns:1fr}.section-head h2{font-size:25px}.tools-counter{display:none}nav#tabs{grid-template-columns:repeat(2,minmax(0,1fr))}nav#tabs button{min-height:61px;padding:12px 8px}.scroll{padding:14px 9px}.preview-bottom{flex-direction:column}.bottom-banner{margin-top:35px;flex-direction:column;align-items:flex-start;padding:27px}.bottom-banner h2{font-size:20px}.footer-inner{flex-wrap:wrap}}
@media(max-width:420px){.header-link{display:none}.hero h1{font-size:42px}.hero-benefits{gap:10px}.hero-art{height:235px}.paper-one{left:8px}.paper-two{right:5px}.editor-panel{padding:20px}.preview-top{padding:20px}}
@media print{@page{size:A4;margin:0}body{background:#fff}header,.hero,.section-head,nav#tabs,.editor-panel,.preview-top,.preview-bottom,.bottom-banner,footer{display:none!important}main{padding:0;margin:0;max-width:none}.workspace{padding:0}.layout,.preview{display:block;padding:0;border:0;box-shadow:none}.scroll{padding:0;min-height:0;overflow:visible;background:#fff;display:block;border:0}#paper{box-shadow:none;width:210mm;min-height:297mm;height:297mm;margin:0;transform:none!important;flex:none}}

/* Printable worksheets and award templates */
.award-medal{display:grid;place-items:center;font-size:55px;width:95px;height:95px;border:2px solid #d7b66f;border-radius:50%;color:#ad853b;margin-bottom:16px;background:#fffaf0}
.award-kicker{font-size:11px!important;letter-spacing:4px;color:#a18b66;font-weight:bold}
.diploma{border:9px double #bf9b52;background:linear-gradient(145deg,#fffdf6,#fff,#fffdf6);position:relative}
.diploma h2{font-family:Georgia,serif;letter-spacing:2px;text-transform:uppercase;color:#9e7938!important}
.diploma .issuer{margin-top:55px!important;font-size:15px!important}
.answer-page{margin-top:35mm;border-top:2px solid #e4d9f0;padding-top:15mm}
.answer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;font-size:16px}
.answer-grid span{border-bottom:1px dashed #ccc;padding:6px}
.cards article,.labels article,.problems div{break-inside:avoid}
@media print{
 #paper:has(.answer-page){height:auto;min-height:297mm}
 .answer-page{break-before:page;page-break-before:always;margin:0;padding:22mm 0 0;border:0;min-height:260mm}
 .diploma{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .labels article{print-color-adjust:exact;-webkit-print-color-adjust:exact}
}

/* Four print-ready visual themes */
#paper{--sheet-accent:#7859b7;--sheet-pale:#f7f2ff;--sheet-border:#cbb7e5}
#paper[data-theme="mint"]{--sheet-accent:#267d70;--sheet-pale:#edfaf5;--sheet-border:#91c9b7}
#paper[data-theme="peach"]{--sheet-accent:#ac6250;--sheet-pale:#fff2e9;--sheet-border:#edb79a}
#paper[data-theme="minimal"]{--sheet-accent:#242436;--sheet-pale:#fff;--sheet-border:#9b9b9b}
#paper .labels article{background:var(--sheet-pale);border-color:var(--sheet-border)}
#paper .cards article{background:var(--sheet-pale);border-color:var(--sheet-border)}
#paper .cards b,#paper .labels b{color:var(--sheet-accent)}
#paper .diploma{border-color:var(--sheet-border);background:var(--sheet-pale)}
#paper .diploma h2{color:var(--sheet-accent)!important}
#paper .award-medal{color:var(--sheet-accent);border-color:var(--sheet-border);background:#fff}
#paper th{background:var(--sheet-pale);color:var(--sheet-accent)}
@media print{#paper .cards article,#paper .labels article,#paper th,#paper .diploma{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Habit tracker: readable first column and stable A4 proportions */
#paper table.habit{width:100%;border-collapse:collapse;table-layout:fixed}
#paper .habit col.habit-name-col{width:27%}
#paper .habit col.habit-day-col{width:auto}
#paper .habit th,#paper .habit td{
  border:1px solid #c8c2d2;
  vertical-align:middle;
  box-sizing:border-box;
}
#paper .habit th.habit-name-heading,
#paper .habit th.habit-name{
  width:auto;
  min-width:0;
  padding:10px 9px;
  font-size:11px;
  line-height:1.35;
  font-weight:700;
  text-align:left;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  color:#3b344c;
}
#paper .habit th.habit-name-heading{
  font-size:10px;
  color:var(--sheet-accent);
  background:var(--sheet-pale);
  white-space:nowrap;
}
#paper .habit th.habit-name{
  background:#fcfbfe;
  hyphens:none;
}
#paper .habit tr:nth-child(even) th.habit-name{background:#f8f7fb}
#paper .habit th.habit-day-heading{
  padding:6px 0;
  font-size:8px;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
}
#paper .habit td.habit-day{
  height:37px;
  padding:0;
  text-align:center;
  background:#fff;
}
#paper .habit .habit-box{
  display:inline-block;
  width:9px;
  height:9px;
  border:1px solid #90859e;
  border-radius:2px;
  vertical-align:middle;
}
@media print{
 #paper .habit tr{break-inside:avoid;page-break-inside:avoid}
 #paper .habit th.habit-name,
 #paper .habit th.habit-name-heading{
   -webkit-print-color-adjust:exact;
   print-color-adjust:exact;
 }
}

/* Individually paginated A4 sheets. Desktop scaling is only a preview transform. */
#paper{width:210mm;min-height:0;padding:0;background:transparent;box-shadow:none;display:flex;flex-direction:column;gap:22px}
#paper .sheet-page{position:relative;flex:0 0 auto;width:210mm;height:297mm;padding:18mm;background:#fff;box-shadow:0 13px 36px #3428541f;overflow:hidden;overflow-wrap:anywhere}
#paper .sheet-page h2{overflow-wrap:anywhere}
#paper .cards article,#paper .labels article{overflow-wrap:anywhere;min-width:0;min-height:0;overflow:hidden}
#paper .cards article{height:42mm;padding:12px}
#paper .cards b{font-size:19px;line-height:1.25}
#paper .cards small{line-height:1.4}
#paper .labels article{height:38mm;padding:9px}
#paper .labels b{font-size:15px;line-height:1.35}
#paper .labels small{line-height:1.3}
#paper .problems{row-gap:17px}
#paper .math-answer-line{
 display:inline-block;
 width:16mm;
 height:0.95em;
 border-bottom:1.5px solid #24213b;
 vertical-align:-0.08em;
 box-sizing:border-box;
}
#paper .problems div{min-width:0;overflow-wrap:anywhere}
#paper .diploma{height:260mm;min-height:0;max-height:260mm;padding:14px;overflow-wrap:anywhere}
#paper .diploma b{overflow-wrap:anywhere}
#paper .sheet-page .cards article,#paper .sheet-page .labels article{font-size:inherit}
#paper .sheet-page .cards small,#paper .sheet-page .labels small{overflow-wrap:anywhere}
#paper .schedule-table th,#paper .schedule-table td{overflow-wrap:anywhere;word-break:normal}
#paper .schedule-table tr{height:21mm}
#paper .schedule-table th,#paper .schedule-table td{padding:6px 4px}
#paper .habit th.habit-name{overflow-wrap:anywhere}
#paper .habit tr{break-inside:avoid}
@media print{
 @page{size:A4;margin:0}
 html,body{width:210mm!important;min-width:0!important;margin:0!important;padding:0!important;background:white!important}
 #paper{display:block!important;width:210mm!important;min-height:0!important;height:auto!important;padding:0!important;margin:0!important;transform:none!important;background:#fff!important}
 #paper .sheet-page{display:block;width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;overflow:hidden!important;box-shadow:none!important;break-after:page;page-break-after:always;break-inside:avoid;page-break-inside:avoid}
 #paper .sheet-page:last-child{break-after:auto;page-break-after:auto}
}

/* Guard against old single-page print declarations. */
@media print{
 .scroll{overflow:visible!important;min-height:0!important;height:auto!important}
 .preview{overflow:visible!important}
 .layout{display:block!important}
 #paper .sheet-page{margin:0!important;padding:18mm!important}
}

/* Calendar habit tracking: weekends remain visible even in monochrome print. */
#paper .habit th.habit-day-heading.habit-weekend{background:#ece6f6;color:#50416c}
#paper .habit td.habit-day.habit-weekend{background:#f3eff8}
#paper[data-theme="minimal"] .habit th.habit-day-heading.habit-weekend{background:#e8e8e8;color:#242436}
#paper[data-theme="minimal"] .habit td.habit-day.habit-weekend{background:#f3f3f3}
@media print{
 #paper .habit .habit-weekend{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Print-ready collections: no image assets or external fonts required. */
#paper .labels article{position:relative;gap:2px}
#paper .labels .label-mark{display:block;font-size:17px;color:var(--sheet-accent);line-height:1.1}
#paper .labels--classic .label-mark{font-size:11px}
#paper .labels--school article{border-radius:6px;border-style:dashed;border-width:1.5px;background:#fff;box-shadow:inset 0 0 0 4px var(--sheet-pale)}
#paper .labels--school b{font-family:Arial,sans-serif;font-size:17px}
#paper .labels--school .label-mark{align-self:flex-start;margin-left:12px}
#paper .labels--soft article{border-radius:20px;border-width:1px;background:linear-gradient(140deg,#fff 12%,var(--sheet-pale) 90%)}
#paper .labels--soft .label-mark{font-size:22px}
#paper .labels--soft small{letter-spacing:.25px}
#paper .diploma--modern{border:3px solid var(--sheet-border);background:#fff}
#paper .diploma--modern:before{content:"";position:absolute;inset:11px;border:1px solid var(--sheet-border);pointer-events:none}
#paper .diploma--modern h2{font-family:Arial,sans-serif;letter-spacing:5px;font-size:38px}
#paper .diploma--modern .award-medal{border-radius:15px;transform:rotate(-8deg)}
#paper .diploma--kids{border:8px dashed var(--sheet-border);border-radius:20px;background:var(--sheet-pale)}
#paper .diploma--kids h2{font-family:Georgia,serif;font-size:42px;letter-spacing:1px}
#paper .diploma--kids .award-medal{font-size:58px;border:0;background:#fff;border-radius:30px}
#paper .diploma .award-reason{max-width:95%;overflow-wrap:anywhere}
@media print{
 #paper .labels--soft article,#paper .labels--school article,#paper .diploma--kids,#paper .diploma--modern{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Physical dimensions: measured on the unscaled 210 × 297 mm print page. */
#paper .labels{justify-content:center}
#paper .labels--size-standard{grid-template-columns:repeat(3,54mm);column-gap:6mm;row-gap:5mm}
#paper .labels--size-standard article{width:54mm;height:38mm}
#paper .labels--size-small{grid-template-columns:repeat(4,40mm);column-gap:4mm;row-gap:3mm}
#paper .labels--size-small article{width:40mm;height:22mm;padding:3mm 2mm;gap:0;border-radius:6px}
#paper .labels--size-small b{font-size:12px;line-height:1.2}
#paper .labels--size-small small{font-size:9px;margin-top:2px;line-height:1.1}
#paper .labels--size-small .label-mark{font-size:10px;line-height:1}
#paper .labels--size-small.labels--soft .label-mark{font-size:11px}
#paper .labels--size-small.labels--school .label-mark{margin-left:0;align-self:center}
#paper .labels--size-large{grid-template-columns:repeat(2,80mm);column-gap:10mm;row-gap:6mm}
#paper .labels--size-large article{width:80mm;height:48mm}
#paper .labels--size-large b{font-size:20px}
#paper .labels--size-large small{font-size:12px}

/* Editor feedback belongs to the UI only; printed A4 sheets keep their dimensions. */
.action-secondary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:stretch}
.actions #regenerate{min-width:0;padding:13px 10px}
.actions #reset{width:auto;padding:13px 12px;background:#fff;border:1px solid #e5dfec;color:#82778d;font-size:11px}
.actions #reset:hover{background:#f7f5fb;color:#5942af}
.actions #print:disabled{background:#c6c1d1;box-shadow:none;cursor:not-allowed}
.print-status{margin:13px 0 0;padding:11px 12px;border-radius:10px;font-size:11px;line-height:1.65;color:#276651;background:#eff9f3;outline-offset:2px}
.print-status.is-warning{color:#9a501d;background:#fff5e8;border:1px solid #f4d9b6}


/* Quick starts: small, easy to scan, and never included in print output. */
.starter-section{padding:14px 0 18px;margin:0 0 22px;border-top:1px solid #f0ebf7;border-bottom:1px solid #f0ebf7}
.starter-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 12px}
.starter-heading h3{font-size:13px;letter-spacing:-.2px;margin:0;font-weight:800}
.starter-heading span{font-size:10px;color:#9a8dab;font-weight:700}
.starter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.starter-card{min-width:0;min-height:100px;border:1px solid #e9e2f5;border-radius:13px;background:#fff;text-align:left;padding:11px 12px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s,background .15s,transform .15s;box-shadow:0 4px 12px #39226306}
.starter-card:last-child:nth-child(odd){grid-column:1/-1;min-height:78px;display:grid;grid-template-columns:30px 1fr;column-gap:8px;align-content:center}
.starter-card:last-child:nth-child(odd) .starter-icon{grid-row:span 2;align-self:center}
.starter-card:hover{border-color:#bda9e8;background:#fcfaff;transform:translateY(-1px)}
.starter-card[aria-pressed="true"]{border-color:#8c71db;background:#f5efff;box-shadow:0 0 0 1px #8c71db3a}
.starter-icon{font-size:19px;line-height:1.2}
.starter-card-title{font-size:11px;font-weight:800;line-height:1.4;color:#342d47}
.starter-card-description{font-size:10px;line-height:1.45;color:#878095}
.starter-status{min-height:0;margin:0;font-size:10px;line-height:1.5;color:#6751ac}
.starter-status:not(:empty){margin-top:10px}
.mobile-workspace-nav{display:none}
@media(max-width:760px){
 .workspace{position:relative}
 .mobile-workspace-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:sticky;top:8px;z-index:12;margin:0 0 13px;padding:7px;border:1px solid #e5dbf6;border-radius:15px;background:#ffffffef;box-shadow:0 9px 24px #4b31701a;backdrop-filter:blur(12px)}
 .mobile-workspace-nav button{border:0;border-radius:10px;background:#f6f1ff;color:#5f48aa;font-weight:800;font-size:12px;min-height:42px}
 .mobile-workspace-nav button:last-child{background:#7659da;color:#fff}
 #editor-controls,#print-preview{scroll-margin-top:80px}
 .starter-grid{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:2px 2px 11px;scrollbar-width:thin}
 .starter-card,.starter-card:last-child:nth-child(odd){display:flex;flex:0 0 184px;min-height:101px;grid-column:auto;scroll-snap-align:start;padding:12px}
 .starter-card:last-child:nth-child(odd) .starter-icon{align-self:auto}
}
@media print{
 .mobile-workspace-nav{display:none!important}
}


/* Prevent horizontally scrolling quick-start cards from widening the page grid. */
@media(max-width:760px){
 .layout{grid-template-columns:minmax(0,1fr)}
 .editor-panel,.preview,.starter-section,.starter-grid{min-width:0;max-width:100%}
 .starter-section{overflow:hidden}
 .starter-grid{width:100%;overflow-x:auto}
}


/* Discoverable, responsive template library — illustrative miniatures, not printable pages. */
.template-library{margin:7px 0 47px;padding:30px;background:linear-gradient(145deg,#f7f1ff,#f9f7ff 55%,#f6fbfb);border:1px solid #eee7f7;border-radius:25px}
.catalog-intro{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 23px}
.catalog-intro h2{font-size:clamp(24px,2.7vw,35px);line-height:1.2;letter-spacing:-1.3px;margin:9px 0 10px}
.catalog-intro p{margin:0;color:#797386;font-size:13px;line-height:1.65}
.catalog-total{background:#fff;color:#765ac5;border:1px solid #e7dcf9;border-radius:25px;padding:11px 14px;font-size:11px;font-weight:800;white-space:nowrap}
.catalog-toolbar{display:flex;gap:15px;align-items:center;justify-content:space-between;margin:0 0 16px}
.catalog-filters{display:flex;gap:7px;min-width:0;overflow-x:auto;padding:3px 0 8px;scrollbar-width:thin}
.catalog-filters button{white-space:nowrap;border:1px solid #e4daf2;color:#625a71;background:#fff;padding:9px 12px;font-size:11px;font-weight:800;border-radius:40px;transition:background .15s,border-color .15s}
.catalog-filters button:hover{border-color:#baa6eb}
.catalog-filters button[aria-pressed="true"]{background:#7153cf;color:#fff;border-color:#7153cf}
.catalog-search-label{position:relative;flex:0 0 263px;min-width:0}
.catalog-search-label::before{content:"⌕";position:absolute;top:8px;left:13px;font-size:22px;color:#9784ba}
.catalog-search-label input{display:block;width:100%;border-radius:12px;background:#fff;border:1px solid #e6dff0;padding:12px 12px 12px 37px;font-size:12px;color:#3f3851}
.catalog-search-label input::placeholder{color:#a69eaf}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalog-count{font-size:11px;font-weight:700;color:#898195;min-height:1.6em;margin:0 0 12px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.catalog-card{padding:0;text-align:left;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e9e1f0;background:#fff;border-radius:18px;box-shadow:0 7px 20px #4b33610a;transition:transform .18s,box-shadow .18s,border-color .18s}
.catalog-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px #4932671f;border-color:#bfa8ea}
.catalog-card:focus-visible{outline:3px solid #967af0;outline-offset:3px}
.catalog-thumbnail{height:155px;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(120deg,#e5ddfb,#f1e9ff)}
.catalog-thumbnail--cards{background:linear-gradient(130deg,#daf3ee,#f0fcf7)}
.catalog-thumbnail--labels{background:linear-gradient(130deg,#fff0de,#fffbf3)}
.catalog-thumbnail--diploma{background:linear-gradient(130deg,#fdf1d9,#fffaf1)}
.catalog-thumbnail--schedule{background:linear-gradient(130deg,#e0eaf9,#f5f8ff)}
.catalog-thumbnail--habits{background:linear-gradient(130deg,#e7f2df,#f8fcf1)}
.catalog-sheet{height:132px;width:107px;padding:14px 10px;border-radius:5px;box-shadow:0 10px 22px #4b42602a;background:white;transform:rotate(-6deg);display:flex;flex-direction:column;align-items:stretch;gap:7px}
.catalog-card:nth-child(even) .catalog-sheet{transform:rotate(5deg)}
.catalog-sheet-title{display:block;height:7px;border-radius:4px;background:#e3dcf0;width:78%;margin:0 auto 4px}
.catalog-a4{position:absolute;right:13px;bottom:12px;font-size:9px;font-weight:800;color:#665889;background:#ffffffcf;border-radius:6px;padding:5px 7px}
.mini-math{font:700 9px Arial,sans-serif;display:grid;gap:11px;color:#63528d}.mini-math i{font-style:normal;border-bottom:1px dashed #ded3ef;padding-bottom:4px}
.mini-cards,.mini-labels{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;flex:1}
.mini-cards i{display:grid;place-items:center;border-radius:3px;background:#e8f7ef;border:1px solid #bdddcf;color:#34806b;font-size:8px;font-style:normal;font-weight:800}
.mini-labels{grid-template-columns:repeat(3,1fr);gap:4px}.mini-labels i{display:grid;place-items:center;border-radius:5px;border:1px solid #dcb9a0;background:#fff4ed;font-size:6px;color:#ae705c;font-style:normal}
.mini-award{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:4px;border:3px double #dac594;color:#ab8b4f}
.mini-award span{font-size:23px}.mini-award strong{font-size:9px;letter-spacing:1px}.mini-award i{font:italic 7px Georgia,serif}
.mini-schedule{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:15px repeat(2,1fr);gap:2px;flex:1}
.mini-schedule span,.mini-schedule i{border:1px solid #b6c9e7;background:#eaf3ff}.mini-schedule span{font-size:7px;text-align:center;color:#6787b4;font-weight:800;padding-top:2px}.mini-schedule i{background:#fff}
.mini-habits{display:flex;flex-direction:column;gap:8px;align-items:center;color:#649267;font-size:11px;letter-spacing:3px;font-weight:800}
.catalog-card-body{display:flex;flex-direction:column;gap:6px;padding:15px 17px 17px;flex:1}
.catalog-category{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1.1px;color:#9e8abf}
.catalog-card-title{font-size:15px;line-height:1.35;font-weight:800;color:#332b47}
.catalog-card-description{font-size:11px;line-height:1.5;color:#817a8f}
.catalog-card-link{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#7357c5;font-weight:800;margin-top:auto;padding-top:10px}
.catalog-more{display:block;margin:21px auto 0;padding:14px 23px;border:1px solid #d7c9ef;border-radius:12px;background:#fff;color:#694bbf;font-size:12px;font-weight:800}
.catalog-more:hover{background:#f8f3ff}
.catalog-empty{background:#fff;padding:25px;border-radius:14px;text-align:center;color:#746c7e;font-size:13px;line-height:1.7}
.catalog-empty[hidden],.catalog-more[hidden]{display:none!important}
@media(max-width:1100px){
 .catalog-toolbar{align-items:stretch;flex-direction:column;gap:8px}
 .catalog-search-label{flex:auto;width:100%;max-width:none}
}
@media(max-width:760px){
 .template-library{margin:0 0 34px;padding:20px 15px;border-radius:19px}
 .catalog-intro{align-items:start;flex-direction:column;gap:10px}
 .catalog-intro h2{font-size:25px;letter-spacing:-.8px}
 .catalog-total{padding:7px 10px}
 .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .catalog-thumbnail{height:119px}
 .catalog-sheet{height:98px;width:81px;padding:9px 7px;gap:4px}
 .catalog-sheet-title{height:5px;margin-bottom:2px}
 .catalog-card-body{padding:10px 11px 13px}
 .catalog-card-title{font-size:12px}
 .catalog-card-description{font-size:10px}
 .catalog-card-link{font-size:10px}
 .mini-math{font-size:7px;gap:7px}
 .mini-cards i{font-size:7px}
 .mini-labels i{font-size:5px}
 .mini-award strong{font-size:7px}
 .mini-award span{font-size:17px}
 .mini-habits{font-size:8px;letter-spacing:2px;gap:4px}
}
@media(max-width:370px){.catalog-grid{grid-template-columns:minmax(0,1fr)}}
@media print{#catalog{display:none!important}}


/* Actual print-media raster previews, with the earlier illustrations as fallback. */
.catalog-real-preview{position:absolute;inset:0;margin:auto;display:block;height:132px;width:auto;aspect-ratio:210/297;object-fit:cover;transform:rotate(-6deg);background:#fff;border:1px solid #e6e2eb;border-radius:4px;box-shadow:0 11px 24px #4b42602a;z-index:1}
.catalog-card:nth-child(even) .catalog-real-preview{transform:rotate(5deg)}
.catalog-real-preview[hidden]{display:none!important}
.catalog-a4{z-index:2}
.guide-links{margin:45px 0 10px;padding:26px 30px;border:1px solid #e9e2f4;background:white;border-radius:21px}
.guide-links h2{font-size:21px;letter-spacing:-.5px;margin:0 0 16px}
.guide-links nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.guide-links a{display:flex;justify-content:space-between;gap:9px;align-items:center;padding:13px 15px;border:1px solid #ede6f5;border-radius:11px;color:#6b51be;font-size:12px;font-weight:800}
.guide-links a:hover{background:#f8f4ff}
@media(max-width:760px){.catalog-real-preview{height:98px}.guide-links{padding:22px 17px;margin-top:30px}.guide-links nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.guide-links nav{grid-template-columns:1fr}}
@media print{.guide-links{display:none!important}}


/* Subtle project management after the form; keep primary attention on editing and printing. */
.saved-section{border:0;background:transparent;margin:1px 0 17px;min-width:0}
.saved-section>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:32px minmax(0,1fr) auto 16px;align-items:center;gap:10px;min-height:60px;padding:10px 14px 10px 12px;border:1px solid #e8e1f1;background:#faf8fe;border-radius:12px;color:#4f4565;transition:background .16s,border-color .16s,box-shadow .16s}
.saved-section>summary::-webkit-details-marker{display:none}
.saved-section>summary:hover{background:#f6f1fd;border-color:#d9cbed}
.saved-section>summary:focus-visible{outline:3px solid #a68ded;outline-offset:3px}
.saved-section[open]>summary{background:#f5f0fd;border-color:#cbbbee}
.saved-toggle-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#ebe3fa;color:#785dbe;font-size:16px;font-weight:700}
.saved-toggle-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.saved-toggle-copy strong{display:block;color:#48385f;font-size:12px;line-height:1.3;font-weight:800}
.saved-toggle-copy small{display:block;font-size:10px;line-height:1.4;font-weight:500;color:#92879f;white-space:normal}
.saved-count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;min-height:21px;padding:2px 6px;border-radius:20px;background:#e7ddfb;color:#6e50ba;font-size:10px;font-weight:800}
.saved-count[hidden]{display:none!important}
.saved-chevron{
  display:block;
  width:16px;
  height:16px;
  grid-column:4; /* Keep arrow in final column when the count badge is hidden. */
  font-size:0;
  line-height:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6.25 8 9.75l3.5-3.5' fill='none' stroke='%23816BC3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:16px 16px;
  transition:transform .18s ease;
}
.saved-section[open] .saved-chevron{transform:rotate(180deg)}
.saved-content{margin-top:8px;padding:15px 13px 14px;background:#fff;border:1px solid #eae3f2;border-radius:12px}
.saved-note,.saved-footnote{font-size:11px;color:#80778d;line-height:1.55;margin:0 0 12px}
.saved-footnote{margin:13px 0 0;font-size:10px;color:#968c9e}
.saved-label{font-size:11px;font-weight:800;color:#5a506c;display:block;margin:0 0 7px}
.saved-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.saved-form input{min-width:0;width:100%;padding:10px;border:1px solid #dfd7eb;border-radius:10px;background:#fdfbff;color:#40364c;font-size:12px}
.saved-form input::placeholder{color:#a79eaf}
.saved-form input:focus{border-color:#9f89d4;outline:2px solid #e9dfff;outline-offset:1px}
.saved-form button{border:0;background:#7557d8;color:#fff;border-radius:10px;padding:0 12px;font-size:11px;font-weight:800;min-height:40px}
.saved-form button:hover{background:#6043c1}
.saved-status{color:#287250;font-size:11px;line-height:1.5;margin:9px 0 0}
.saved-status:empty{display:none}
.saved-status.is-error{color:#ac492c}
.saved-list{display:grid;gap:8px;max-height:275px;overflow-y:auto;margin-top:11px;scrollbar-width:thin}
.saved-empty{padding:12px;margin:0;border-radius:9px;background:#f8f6fc;color:#8c8199;text-align:center;font-size:11px}
.saved-item{display:flex;align-items:center;justify-content:space-between;gap:7px;border:1px solid #ebe4f3;background:#fff;border-radius:10px;padding:10px 8px 10px 10px;min-width:0}
.saved-item-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.saved-item-info strong{font-size:11px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}
.saved-item-info small{font-size:10px;color:#9a8eab}
.saved-item-actions{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.saved-item-actions button{border:1px solid #e5dcf3;border-radius:8px;font-size:10px;font-weight:800;min-height:34px}
.saved-open{background:#f5efff;color:#654bbe;padding:7px 9px}
.saved-remove{background:#fff;color:#9b7c94;min-width:32px;font-size:19px!important;padding:0}
.saved-remove:hover{color:#b54151;background:#fff0f2;border-color:#f1c4cb}
@media(max-width:760px){.saved-section{margin:1px 0 18px}.saved-item{padding:11px 9px}.saved-item-actions button{min-height:39px}}
@media(max-width:360px){.saved-section>summary{gap:8px;padding:10px 14px 10px 10px}.saved-form{gap:6px}.saved-form button{padding:0 9px}}
@media print{.saved-section{display:none!important}}


/* Editor selects: one consistent subtle chevron instead of OS-specific arrows. */
.field select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  cursor:pointer;
  padding-right:44px;
  background-color:#fcfbff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6.25 8 9.75l3.5-3.5' fill='none' stroke='%23816BC3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center;
  background-size:16px 16px;
  transition:border-color .16s ease,background-color .16s ease;
}
.field select:hover{border-color:#d5c6ea;background-color:#fff}
.field select:focus{background-color:#fff}
@media print{.field select{background-image:none!important}}


/* School notebooks: readable name and subject, without decorative microcopy. */
#paper .labels--school article{
  background:#fff;
  border:1px solid var(--sheet-border);
  border-radius:9px;
  box-shadow:none;
  padding:4.4mm 3mm 3.6mm;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
}
#paper .labels--school b{
  color:#352c45;
  font:700 18px/1.2 Arial,sans-serif;
  letter-spacing:-.25px;
  text-align:center;
  max-width:100%;
}
#paper .labels--school small{
  display:inline-block;
  align-self:center;
  max-width:100%;
  margin-top:4px;
  padding:4px 12px;
  border-radius:99px;
  background:var(--sheet-pale);
  color:var(--sheet-accent);
  font:600 11px/1.25 Arial,sans-serif;
  letter-spacing:.1px;
}
#paper .labels--size-small.labels--school article{
  padding:2.2mm 1.5mm 1.8mm;
  gap:3px;
  border-radius:6px;
}
#paper .labels--size-small.labels--school b{
  font-size:11px;
  line-height:1.17;
  letter-spacing:0;
}
#paper .labels--size-small.labels--school small{
  font-size:8px;
  line-height:1.1;
  margin-top:2px;
  padding:2px 6px;
}
#paper .labels--size-large.labels--school article{gap:7px}
#paper .labels--size-large.labels--school b{font-size:21px}
#paper .labels--size-large.labels--school small{font-size:12px;padding:5px 14px}


/* Compact school subject picker: nested inputs must not inherit full-width .field styles. */
#fields [hidden]{display:none!important}
.school-picker{
  min-width:0;
  margin:0 0 19px;
  padding:16px 12px 14px;
  border:1px solid #e9e1f4;
  border-radius:14px;
  background:#fbf9ff;
}
.school-picker h4{margin:0 0 5px;font-size:13px;font-weight:800;letter-spacing:-.2px;color:#3e3453}
.school-picker-help{margin:0 0 14px;font-size:11px;font-weight:500;line-height:1.55;color:#8e819d}
.school-subject-list{display:grid;gap:7px}
.school-subject-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 54px 24px;
  align-items:center;
  min-width:0;
  min-height:53px;
  gap:8px;
  padding:8px 9px;
  background:#fff;
  border:1px solid #eae3f2;
  border-radius:11px;
  transition:border-color .16s ease,background-color .16s ease;
}
.school-subject-row:has(.school-subject-check:checked){border-color:#ded2f0;background:#fefcff}
.school-subject-name{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  width:100%;
  color:#443954;
  font-size:12px;
  font-weight:650;
  line-height:1.4;
  cursor:pointer;
}
.school-subject-name span{
  min-width:0;
  flex:1;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.school-picker input.school-subject-check{
  appearance:auto;
  display:block;
  box-sizing:border-box;
  flex:0 0 17px;
  width:17px;
  min-width:17px;
  height:17px;
  margin:0;
  padding:0;
  border-radius:4px;
  background:transparent;
  accent-color:#7659da;
  cursor:pointer;
}
.school-subject-qty{display:block;min-width:0}
.school-picker .school-subject-qty input{
  display:block;
  width:100%;
  min-width:0;
  height:36px;
  margin:0;
  padding:0 3px;
  border:1px solid #e4daef;
  border-radius:8px;
  background:#fff;
  color:#4a3d62;
  font-size:12px;
  font-weight:750;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.school-picker .school-subject-qty input:focus,.school-picker .school-add-actions input:focus{
  border-color:#a78ed9;
  outline:2px solid #eee5ff;
  outline-offset:1px;
}
.school-picker .school-subject-qty input:disabled{background:#f7f5f9;color:#9d95a7}
.school-subject-remove{
  display:grid;
  place-items:center;
  width:24px;
  height:32px;
  padding:0;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#a599b8;
  font-size:19px;
  line-height:1;
  cursor:pointer;
}
.school-subject-remove:hover,.school-subject-remove:focus-visible{background:#fff1f4;color:#b14c61}
.school-subject-remove:focus-visible,.school-picker .school-subject-check:focus-visible{
  outline:2px solid #9b7ce6;
  outline-offset:2px;
}
.school-add{margin-top:16px}
.school-add>label{display:block;margin:0 0 7px;color:#5e526e;font-size:11px;font-weight:800}
.school-add-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.school-picker .school-add-actions input{
  display:block;
  box-sizing:border-box;
  width:100%;
  min-width:0;
  height:42px;
  margin:0;
  padding:0 11px;
  border:1px solid #e4d9ed;
  border-radius:10px;
  background:#fff;
  color:#413652;
  font-size:11px;
  font-weight:500;
}
.school-add-actions button{
  height:42px;
  padding:0 13px;
  border:0;
  border-radius:10px;
  background:#7459d4;
  color:#fff;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.school-add-actions button:hover{background:#6046ba}
.school-subject-count{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:29px;
  margin:13px 0 0;
  padding:6px 10px;
  border:1px solid #dce9df;
  border-radius:9px;
  background:#f0f9f2;
  color:#397353;
  font-size:11px;
  font-weight:750;
  line-height:1.45;
}
.school-subject-count.is-warning{border-color:#f1deca;background:#fff5e9;color:#aa623b}
.school-picker .sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:380px){
 .school-picker{padding:13px 9px}
 .school-subject-row{grid-template-columns:minmax(0,1fr) 49px 22px;gap:6px;padding:8px 7px}
 .school-subject-name{gap:7px;font-size:11px}
 .school-subject-remove{width:22px}
 .school-add-actions{gap:6px}
 .school-add-actions button{padding:0 9px}
}
@media print{.school-picker{display:none!important}}


/* Family labels are opt-in; keep the single-child form compact. */
#fields [data-field-id="names"][hidden],
#fields [data-field-id="name"][hidden]{display:none!important}
.family-names-field textarea{min-height:102px;line-height:1.55;resize:vertical}
.family-hint{
  display:block;
  margin-top:8px;
  color:#888095;
  font-size:11px;
  font-weight:500;
  line-height:1.55;
}
.family-summary{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  margin-top:12px;
  padding:6px 10px;
  border:1px solid #ded6ee;
  border-radius:9px;
  background:#f8f4ff;
  color:#6852ae;
  font-size:11px;
  font-weight:750;
  line-height:1.45;
}
.family-summary.is-warning{border-color:#f1deca;background:#fff5e9;color:#aa623b}
