/* Teaching Journal: shared visual layer; permissions and school theme keys stay intact. */
.subject-icon{width:36px;height:36px;object-fit:contain;flex-shrink:0;vertical-align:middle}
html[data-theme] .planner-event .subject-title{display:flex;align-items:center;gap:8px}
.subject-title>span{min-width:0;overflow-wrap:anywhere}
.schedule-planner-item>.subject-icon{width:38px;height:38px}
@media(max-width:760px){.subject-title .subject-icon{width:40px;height:40px}}
@media print{.subject-title .subject-icon{width:22px;height:22px}}
.nav-icon img{display:block;width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 1px 1px #0002)}
html[data-theme] .nav-icon{overflow:visible}
@media(max-width:760px){.tabbar .nav-icon img{width:28px;height:28px}}
html[data-theme="classic-academy"]{--cream:#f6f1e7;--paper:#fffdf7;--forest:#1d3d4b;--sage:#71856b;--sage-soft:#e8ecdf;--gold:#bd8b36;--clay:#a9553d;--ink:#243d43;--muted:#626e68;--line:#dfd9ca;--shadow:0 5px 18px rgba(42,51,36,.045)}
html[data-theme] body,html[data-theme] button,html[data-theme] input,html[data-theme] select,html[data-theme] textarea{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif}
html[data-theme] body{font-weight:400;line-height:1.55;background:var(--cream)}
html[data-theme] h1,html[data-theme] h2,html[data-theme] h3,html[data-theme] blockquote{font-family:"Iowan Old Style",Georgia,serif;letter-spacing:-.025em}
html[data-theme] h1{font-weight:600;line-height:1.13}
html[data-theme] h2,html[data-theme] h3{font-weight:600}
html[data-theme] button{font-weight:600}
html[data-theme] .sidebar{padding:25px 16px 18px;border-right:1px solid rgba(255,255,255,.12);overflow-y:auto}
html[data-theme] .sidebar .brand{padding:0 9px 21px;margin-bottom:10px;border-bottom:1px solid rgba(255,255,255,.16)}
html[data-theme] .sidebar .brand strong{font-family:Georgia,serif;font-weight:500;font-size:20px}
html[data-theme] .sidebar nav{gap:4px}
html[data-theme] .sidebar .nav-item{border-radius:7px;padding:8px 10px;gap:12px;font-size:13px;min-height:44px;font-weight:500;color:#e2e9e7;position:relative}
html[data-theme] .sidebar .nav-item.active{background:rgba(239,230,199,.14);color:#fff;box-shadow:inset 3px 0 #dab96f}
html[data-theme] .sidebar .nav-item:hover{background:rgba(239,230,199,.1)}
html[data-theme] .nav-icon{background:none!important;box-shadow:none!important;border:none!important;border-radius:0;flex:0 0 30px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center}
html[data-theme] .nav-icon svg{display:block;width:29px;height:29px;filter:drop-shadow(0 1px 0 rgba(255,255,255,.15))}
html[data-theme] .account-nav-label{font-weight:500}
html[data-theme] .page-header{margin-bottom:25px;align-items:center;gap:20px}
html[data-theme] .page-header p{font-size:14px;line-height:1.7;max-width:760px}
html[data-theme] .eyebrow,html[data-theme] #today-date{font-size:10px;letter-spacing:.18em;font-weight:700;color:var(--sage)}
html[data-theme] .card,html[data-theme] .guide-card,html[data-theme] .student-card,html[data-theme] .appointment-card{border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow)}
html[data-theme] .card{padding:25px}
html[data-theme] .section-title{margin-bottom:18px;gap:14px}
html[data-theme] .section-title h2{font-size:25px}
html[data-theme] .primary-button{border-radius:8px;padding:12px 21px;box-shadow:0 3px 7px rgba(29,61,75,.12);font-size:14px;min-height:44px}
html[data-theme] .toolbar-button,html[data-theme] .planner-controls button,html[data-theme] .planner-secondary-actions button{border-radius:7px;min-height:40px;font-weight:600;font-size:13px;padding:10px 14px}
html[data-theme] input:not([type="checkbox"]):not([type="radio"]),html[data-theme] select,html[data-theme] textarea{border-radius:7px;border-color:var(--line);background-color:var(--paper);color:var(--ink);font-weight:400}
html[data-theme] label{font-weight:600;font-size:13px;line-height:1.5}
html[data-theme] .field-grid,html[data-theme] .dialog-grid{gap:20px}
html[data-theme] .soft-form{background:var(--paper);border-radius:12px;border-color:var(--line)}
html[data-theme] dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 70px rgba(0,0,0,.22)}
html[data-theme] dialog::backdrop{background:rgba(24,40,44,.48);backdrop-filter:blur(3px)}
html[data-theme] .bible-card{position:relative;background:repeating-linear-gradient(transparent,transparent 31px,color-mix(in srgb,var(--line) 45%,transparent) 32px),var(--paper);border:1px solid var(--line);border-radius:12px;padding:26px 30px 26px 150px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:25px}
html[data-theme] .bible-card::before{content:"";position:absolute;left:18px;top:30px;width:106px;height:170px;background:url('/journal-sprig.svg') center/contain no-repeat;pointer-events:none}
html[data-theme] .bible-card blockquote{font-size:clamp(26px,2.4vw,36px);line-height:1.35;font-weight:500;margin:20px 0 8px;color:var(--ink)}
html[data-theme] .bible-card cite{font-size:12px;font-style:normal;color:var(--muted)}
html[data-theme] .bible-card .card-topline{font-size:10px;letter-spacing:.12em}
html[data-theme] .bible-card .focus-grid{margin-top:20px;padding-top:16px;border-color:var(--line);gap:25px}
html[data-theme] .bible-card .focus-grid p{font-size:13px;line-height:1.65}
html[data-theme] .bible-card .focus-grid h3{font-family:inherit;font-size:12px;letter-spacing:0}
html[data-theme] .dashboard-grid{gap:22px}
html[data-theme] .schedule-item{border-radius:6px;background:color-mix(in srgb,var(--sage-soft) 35%,var(--paper));margin-bottom:10px;padding:14px;box-shadow:none}
html[data-theme] .getting-started{padding:13px 20px;margin:0 0 22px;border-left:3px solid var(--gold);box-shadow:none}
html[data-theme] .getting-started summary{font-size:13px;font-weight:600;color:var(--muted)}
html[data-theme] .getting-started[open] summary{color:var(--ink)}
html[data-theme] .planner-toolbar{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px;gap:20px;margin-bottom:20px;box-shadow:var(--shadow)}
html[data-theme] .planner-controls,html[data-theme] .planner-secondary-actions{gap:10px}
html[data-theme] .planbook-controls select{min-height:42px}
html[data-theme] #planner-board{max-width:100%;overflow-x:auto}
html[data-theme] .week-board{gap:12px;min-width:1040px;grid-template-columns:repeat(7,minmax(135px,1fr))}
html[data-theme] .planner-day{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--paper) 65%,var(--cream));overflow:hidden}
html[data-theme] .planner-day>header{padding:14px 8px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink)}
html[data-theme] .planner-day>header span{font-size:10px;letter-spacing:.12em}
html[data-theme] .planner-day>header strong{font-family:Georgia,serif;font-size:26px;font-weight:500}
html[data-theme] .day-events{padding:9px}
html[data-theme] .planner-event{background:color-mix(in srgb,var(--event-color) 12%,var(--paper))!important;border:1px solid color-mix(in srgb,var(--event-color) 35%,var(--line))!important;border-left:4px solid var(--event-color)!important;border-radius:7px;box-shadow:none;padding:12px 10px;margin-bottom:10px;cursor:pointer;transition:box-shadow .15s}
html[data-theme] .planner-event:hover{box-shadow:0 3px 9px rgba(20,35,32,.1)}
html[data-theme] .planner-event.holiday{cursor:default}
html[data-theme] .planner-event .event-band{background:transparent!important;color:var(--ink);margin:0 0 10px;padding:0;font-size:10px}
html[data-theme] .planner-event h3{font-family:inherit;font-weight:650;letter-spacing:0;font-size:13px;line-height:1.45;margin:5px 0}
html[data-theme] .planner-event p{font-size:11px;line-height:1.6;color:var(--muted)}
html[data-theme] .event-category{font-size:9px;letter-spacing:.06em;color:var(--ink)}
html[data-theme] .no-school-state{background:var(--cream);border:1px dashed var(--line);border-radius:7px;padding:15px 8px;color:var(--muted)}
html[data-theme] .no-school-state strong{font-family:Georgia,serif;font-weight:500}
html[data-theme] .month-cell{border-radius:6px;background:var(--paper)}
html[data-theme] .month-cell>span{border-radius:3px}
html[data-theme] .appointment-schedule-layout{gap:24px}
html[data-theme] .appointment-card{border-left:4px solid var(--sage);padding:22px}
html[data-theme] .appointment-card h3{font-size:24px}
html[data-theme] .guide-card{padding:24px}
html[data-theme] .guide-card h2{font-size:25px}
html[data-theme] .guide-card p,html[data-theme] .guide-card li{font-size:14px;line-height:1.75}
html[data-theme] .auth-card{border-radius:14px;box-shadow:var(--shadow)}
html[data-theme] .journal-day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:10px}
html[data-theme] .journal-day-picker button{min-width:0;min-height:65px;border:0;border-radius:6px;color:var(--ink);background:transparent;padding:8px 0;display:flex;flex-direction:column;align-items:center;gap:3px}
html[data-theme] .journal-day-picker span{font-size:10px;font-weight:500}
html[data-theme] .journal-day-picker strong{font-family:Georgia,serif;font-size:23px;font-weight:500}
html[data-theme] .journal-day-picker button[aria-pressed="true"]{background:var(--forest);color:#fff}
html[data-theme] .journal-agenda-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 14px}
html[data-theme] .journal-agenda-heading h2{font-size:23px;margin:0}
html[data-theme] .journal-agenda-heading button{font-size:12px;flex-shrink:0}
html[data-theme] .journal-empty{padding:20px;border:1px dashed var(--line);border-radius:8px;text-align:center;color:var(--muted);font-size:14px}
html[data-theme="dark-focus"] .journal-day-picker button[aria-pressed="true"]{background:var(--sage);color:#101519}
html[data-theme="dark-focus"] .bible-card::before{opacity:.7}
@media(min-width:761px){html[data-theme] main{padding-top:32px}html[data-theme] .page-header h1{font-size:clamp(32px,3vw,46px)}}
@media(max-width:760px){
 html[data-theme] main{padding-left:16px;padding-right:16px;padding-top:24px}
 html[data-theme] .page-header{margin-bottom:22px;gap:14px}
 html[data-theme] .page-header h1{font-size:32px}
 html[data-theme] .page-header p{font-size:13px}
 html[data-theme] .card{padding:20px}
 html[data-theme] .bible-card{padding:22px;margin-bottom:20px}
 html[data-theme] .bible-card::before{width:55px;height:85px;left:auto;right:10px;top:7px;opacity:.35}
 html[data-theme] .bible-card blockquote{font-size:28px;position:relative}
 html[data-theme] .bible-card .focus-grid{gap:15px}
 html[data-theme] .planner-toolbar{padding:15px;gap:15px}
 html[data-theme] .planner-event{padding:17px 18px;margin-bottom:13px;border-left-width:5px!important}
 html[data-theme] .planner-event h3{font-size:17px}
 html[data-theme] .planner-event p{font-size:13px;line-height:1.7}
 html[data-theme] .planner-event .event-band{font-size:12px}
 html[data-theme] .event-category{font-size:10px}
 html[data-theme] .tabbar{background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -3px 15px rgba(30,40,30,.06);padding-top:9px}
 html[data-theme] .tabbar button{color:var(--muted);font-size:10px;font-weight:600}
 html[data-theme] .tabbar button.active{color:var(--ink);background:var(--sage-soft);border-radius:8px}
 html[data-theme] .tabbar .nav-icon{height:28px;width:28px;margin-bottom:4px}
 html[data-theme] .tabbar .nav-icon svg{height:27px;width:27px}
 html[data-theme] .journal-agenda{min-width:0}
 html[data-theme] #planner-board:has(.journal-agenda){overflow:visible}
}
#journal-tools-toggle{display:none}
html[data-theme] .planner-action-band{border-radius:10px;box-shadow:var(--shadow)}
@media(max-width:760px){
 html[data-theme] .planner-shell{padding:0;min-height:0}
 html[data-theme] .planner-period-actions{justify-content:space-between;gap:5px;flex-wrap:nowrap}
 html[data-theme] .planner-period-actions .toolbar-button{padding:8px 10px}
 html[data-theme] .planner-period-actions .segmented button{padding:8px 10px}
 html[data-theme] .planner-primary-actions{flex-direction:column;gap:12px}
 html[data-theme] #journal-tools-toggle{display:block;width:100%;margin-bottom:15px;min-height:44px;background:transparent;border-style:dashed;color:var(--muted)}
 html[data-theme] .planner-shell:not(.journal-tools-open) .planner-secondary-actions,
 html[data-theme] .planner-shell:not(.journal-tools-open) .planner-organize-actions>.toolbar-button,
 html[data-theme] .planner-shell:not(.journal-tools-open) .color-legend{display:none}
 html[data-theme] .planner-hint{display:none}
}
@media print{#journal-tools-toggle{display:none!important}html[data-theme] .bible-card::before{display:none}html[data-theme] .planner-event{break-inside:avoid}html[data-theme] .planner-toolbar{box-shadow:none}html[data-theme] .week-board{min-width:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}html[data-theme] #planner-board{overflow:visible}}
