/* TWA Owner V31.9 — adaptive control-centre design, scoped to Owner UI. */
:root{--o-navy:#122c3b;--o-ink:#183744;--o-dim:#627883;--o-teal:#0b7775;--o-teal-dark:#075b5b;--o-glow:#e7f5f2;--o-sun:#e7bb57;--o-line:#dfe8e9;--o-canvas:#f4f7f8;--o-card:#fff;--o-radius:18px}
html{scroll-padding-top:92px}
body{background:var(--o-canvas);color:var(--o-ink);font-family:Inter,'Segoe UI',system-ui,-apple-system,Arial,sans-serif;font-size:14px;line-height:1.5}
[hidden]{display:none!important}
button,a,input,select{transition:background-color .14s,border-color .14s,box-shadow .14s,color .14s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #72b9b1;outline-offset:2px}
button:disabled{opacity:.5}
#owner-app{min-height:100vh}
.top{height:76px;padding:12px 27px;border-bottom:1px solid var(--o-line);background:rgba(255,255,255,.97);box-shadow:0 3px 18px #12323b05;z-index:21;position:sticky;top:0}
.topbrand{gap:12px;min-width:0}
.topbrand .lo{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#0b555f 0%,#10877c 100%);color:#fff;box-shadow:inset 0 1px #ffffff40;position:relative}
.topbrand .lo:after{content:'';position:absolute;bottom:-3px;left:10px;width:28px;height:3px;background:var(--o-sun);border-radius:99px}
.topbrand strong{font-size:16px;font-weight:800;letter-spacing:-.025em;color:var(--o-ink)}
.topbrand small{font-size:10px;letter-spacing:.12em;font-weight:750;color:#72858b;margin-top:2px}
.top nav{gap:9px}
.top nav a{font-size:12px;color:#0d6f75;font-weight:750;padding:10px 13px;text-decoration:none;border-radius:10px;background:#f0f7f7}
.top nav a:hover{background:#e2f2f0}
.top nav .quiet{background:#fff;border-color:#d6e3e3;border-radius:11px;min-height:43px;padding:10px 15px;color:#1b555c;font-size:12px}
.top nav #logout{color:#8b4541;background:#fff8f6;border-color:#eed8d2}
.top nav #logout:hover{background:#ffece7}
.owner-layout{max-width:none;min-height:calc(100vh - 76px);grid-template-columns:256px minmax(0,1fr);gap:0}
.owner-sidebar{top:76px;height:calc(100vh - 76px);padding:30px 15px 22px;background:#103346;border:0;box-shadow:inset -1px 0 #ffffff10;gap:16px;overflow-y:auto;z-index:12}
.owner-sidebar .side-kicker{font-size:10px;letter-spacing:.2em;color:#9bb6bf;margin:0 16px 5px}
.owner-nav{gap:7px}
.owner-nav button{min-height:52px;display:flex;align-items:center;gap:14px;padding:12px 15px;font-size:13px;font-weight:720;color:#d9e8ec;background:transparent;border:1px solid transparent;border-radius:13px}
.owner-nav button span{font-size:20px;color:#adc6cd;min-width:25px}
.owner-nav button:hover{background:#245468;color:white}
.owner-nav button.selected{background:linear-gradient(100deg,#157b79,#13686f);border-color:#4db4ad55;color:white;box-shadow:inset 3px 0 var(--o-sun),0 7px 15px #071d2a22}
.owner-nav button.selected span{color:#f7d98e}
.side-foot{font-size:11px;color:#b2cbd0;margin:auto 12px 0;line-height:1.75;border-top:1px solid #d6e9ed20;padding-top:17px}
.owner-drawer-heading,.owner-mobile-menu,.owner-drawer-scrim{display:none}
.owner-main{max-width:1390px;padding:28px clamp(18px,3.3vw,52px) 45px;width:100%;overflow:visible}
.owner-main footer{margin-top:35px;border-top:1px solid var(--o-line);padding-top:19px}
.owner-context{border:1px solid #dce7e8;border-radius:17px;padding:14px 18px;gap:14px;box-shadow:0 5px 18px #18374407;margin-bottom:19px;background:#fff}
.owner-context-copy{gap:3px}
.owner-context-copy strong{font-size:15px;color:#133b45}
.owner-context select{border-radius:10px;font-size:13px;min-height:44px;box-shadow:none;background:#f9fcfb}
.owner-context #new-school{background:#e7f4f0;border-color:#cee6de;color:#0b615c;font-weight:800;min-height:44px;padding:10px 17px}
.owner-context #new-school:hover{background:#cfede4}
.owner-page .page-intro{border:1px solid #0e5763;border-radius:20px;background:linear-gradient(108deg,#133349 0%,#115e66 100%);padding:29px clamp(22px,3vw,33px);min-height:136px;margin-bottom:19px;box-shadow:0 15px 25px #153b4814;position:relative;overflow:hidden}
.owner-page .page-intro:after{content:'';position:absolute;width:180px;height:180px;border-radius:50%;border:45px solid #ffffff08;right:-25px;top:-100px;pointer-events:none}
.owner-page .page-intro .eyebrow-dark{color:#9be5d4;font-size:10px;letter-spacing:.19em}
.owner-page .page-intro h1{font-size:clamp(22px,2.7vw,31px);letter-spacing:-.035em;line-height:1.15;margin:8px 0 8px;max-width:760px}
.owner-page .page-intro p{font-size:13px;line-height:1.6;max-width:720px;color:#d8e8e8}
.owner-page .stats{gap:13px;margin:0 0 16px}
.owner-page .stat{padding:20px 24px;border:1px solid var(--o-line);border-radius:16px;background:#fff;box-shadow:0 6px 18px #10344608}
.owner-page .stat span{color:#60777e;font-weight:730;font-size:12px}
.owner-page .stat strong{font-size:32px;line-height:1.3;color:var(--o-ink);margin-top:8px}
.owner-status-summary{margin-bottom:18px;background:#e9f5f1;border:1px solid #cae5db;border-radius:16px;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.owner-status-summary div{display:grid;gap:3px}
.owner-overview-small{font-size:10px;color:#4e7c73;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.owner-status-summary strong{font-size:16px}
.owner-status-summary small{font-size:12px;color:#507369}
.owner-summary-link{background:white;color:#0c6d65;border:1px solid #b8dbcf;padding:10px 13px;border-radius:10px;font-weight:760;white-space:nowrap}
.owner-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:17px}
.owner-quick{border:1px solid #dae7e6;border-radius:16px;padding:22px;gap:5px 13px;box-shadow:0 5px 15px #19384606;min-height:115px;transition:transform .13s,border-color .13s,box-shadow .13s}
.owner-quick>span{background:#e3f5f0;color:#0a7269;border-radius:12px;width:46px;height:46px}
.owner-quick strong{font-size:15px;color:#203e4b;margin-top:1px}
.owner-quick small{font-size:12px;color:#6a818a;line-height:1.5}
.owner-quick:hover{transform:translateY(-2px);border-color:#a3d2c7;box-shadow:0 13px 24px #1938460c}
.owner-help-card{border:1px solid #d9e6e5;border-left:4px solid var(--o-sun);box-shadow:none!important}
.owner-help-card h2{margin-bottom:4px}
.owner-help-card p{max-width:780px}
.owner-overview-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}
.owner-page .card{border-radius:18px;border:1px solid #dce7e8;box-shadow:0 5px 18px #113e4807;padding:24px;margin-bottom:18px}
.owner-page .card h2{font-size:19px;font-weight:790;color:#183843;letter-spacing:-.02em}
.owner-page .card h3{font-size:15px}
.owner-page .card .sub{font-size:13px;line-height:1.6}
.owner-menu-heading{margin:8px 0 15px}
.owner-menu-heading h2{font-size:20px;letter-spacing:-.025em;margin:0 0 5px}
.owner-menu-heading p{font-size:13px;color:var(--o-dim);margin:0;line-height:1.65}
.owner-route-menu{margin:16px 0 0}
.owner-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.owner-route-card{background:#fff;border:1px solid #dce7e6;border-radius:17px;min-height:125px;padding:20px;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:start;gap:14px;text-align:left;box-shadow:0 5px 18px #193c4707;color:var(--o-ink);transition:transform .14s,border-color .14s,box-shadow .14s}
.owner-route-card:hover{transform:translateY(-2px);border-color:#8dcbbd;box-shadow:0 13px 24px #193c470f}
.owner-route-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#e7f5f0;color:#0b716c;font-size:24px;font-weight:780}
.owner-route-copy{min-width:0;display:flex;flex-direction:column;gap:6px;padding-top:2px}
.owner-route-copy strong{font-size:15px;line-height:1.4;font-weight:800;color:#173d49}
.owner-route-copy small{font-size:12px;line-height:1.55;color:#65808b}
.owner-route-arrow{color:#12847b;font-weight:850;margin-top:12px;font-size:18px}
.owner-workflow-back{display:inline-flex;gap:7px;align-items:center;background:#e9f4f1;border:1px solid #d1e9e2;border-radius:11px;color:#0c625e;font-weight:790;padding:10px 14px;min-height:42px;margin:2px 0 16px}
.owner-workflow-back:hover{background:#d9eee7}
.owner-school-tab .card,.owner-form-card{max-width:none}
.owner-page input,.owner-page select{border-radius:11px;border:1px solid #ccdadd;background:#fff;min-height:45px;font-size:13px;padding:11px 13px}
.owner-page input:focus,.owner-page select:focus{border-color:#1c8c83;box-shadow:0 0 0 3px #c5eee4;outline:0}
.owner-page label{font-size:12px;color:#4b6571;line-height:1.55}
.owner-page input[readonly]{background:#eff4f5}
.owner-page .primary,.owner-page .secondary,.owner-page .quiet,.owner-page .link-button{min-height:43px;border-radius:11px;font-weight:770;font-size:13px}
.owner-page .primary{background:#0c7875;border-color:#0c7875;color:#fff}
.owner-page .primary:hover{background:#086360;border-color:#086360}
.owner-page .secondary{background:#ecf6f3;border-color:#cfe6de;color:#0b625d}
.owner-page .secondary:hover{background:#dcedeb}
.owner-page .quiet{border-color:#d0dddf;background:white;color:#31555f}
.owner-page .quiet:hover{background:#edf5f6}
.owner-page .owner-staff-card{border-radius:15px;padding:17px 19px;box-shadow:0 3px 11px #19384605}
.owner-page .owner-staff-card .staff-tags .staff-role{background:#e2f3ec;color:#17654e}
.owner-page .staff-missing{color:#955825}
.owner-page .owner-staff-card .staff-action-bar{margin-top:15px}
.owner-page .school-list .item{padding:17px 19px;border-radius:14px;margin:10px 0;gap:15px}
.owner-page .school-list .item.current{background:#f1faf6}
.owner-advice{padding:15px 18px;background:#f0f7f9;border:1px solid #dae8ed;border-radius:13px;color:#4a6d7d;font-size:13px;line-height:1.65;margin:0 0 14px}
.owner-subscription-summary{max-width:1000px}
.owner-summary-head{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:20px}
.owner-summary-head h2{margin:5px 0 5px!important}
.owner-summary-head p{margin:0;color:#66818d;font-size:12px}
.owner-subscription-status{background:#f0f4f7;color:#627783;border-radius:99px;padding:7px 11px;font-size:12px;font-weight:800;text-transform:capitalize}
.owner-subscription-status.active,.owner-subscription-status.trial{background:#dff4e9;color:#206a47}
.owner-subscription-status.suspended,.owner-subscription-status.expired{background:#fff0eb;color:#9a4727}
.owner-subscription-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}
.owner-subscription-grid>div{border:1px solid #e1eaea;border-radius:13px;padding:15px;background:#f9fcfc}
.owner-subscription-grid span{font-size:11px;color:#6f838c;display:block}
.owner-subscription-grid strong{display:block;font-size:17px;margin-top:5px;color:#1c4351;overflow-wrap:anywhere}
.owner-single-column{grid-template-columns:1fr!important;gap:0!important}
#pdf-owner-library .pdf-library-col{min-width:0;width:100%;max-width:100%}
#pdf-owner-library .pdf-owner-stores{max-height:520px}
#pdf-owner-library .pdf-owner-library{background:#fff}
#pdf-owner-library .pdf-owner-actions{margin-bottom:15px}
#pdf-owner-library .pdf-owner-feedback{font-size:12px}
#pdf-owner-library .hd{flex-wrap:wrap}
#owner-downloads-packages-workflow .app-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#owner-school-launch-steps .app-card{min-height:192px}
#owner-school-launch-steps .app-card strong{font-size:14px;color:#21434f}
#owner-school-launch-steps .app-card p{font-size:12px}
#owner-downloads-packages-workflow .app-card{padding:20px;border-radius:16px;min-height:230px}
#owner-downloads-packages-workflow .app-card p{line-height:1.6}
.owner-button-pending{opacity:.76;pointer-events:none;cursor:progress!important}
.owner-button-pending:before{content:'';display:inline-block;vertical-align:-3px;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:8px;animation:owner-spin .8s linear infinite}
@keyframes owner-spin{to{transform:rotate(360deg)}}
.owner-drawer-scrim{display:none}
/* Sign-in shares the product's editorial look without revealing school accounts. */
.login-back{background:radial-gradient(circle at 78% 20%,#b1e0c511,transparent 34%),linear-gradient(140deg,#0a2337 0%,#126866 100%)}
.login{max-width:455px;border-radius:22px;border:1px solid #ffffff90;padding:36px;box-shadow:0 25px 70px #061a2ca8}
.login .lo{width:55px;height:55px;background:linear-gradient(135deg,#0d5c63,#117f78);position:relative}
.login h1{font-size:29px;letter-spacing:-.03em}
.login .primary{min-height:47px}
/* Desktop breakpoint */
@media(max-width:1100px){.owner-layout{grid-template-columns:225px minmax(0,1fr)}.owner-sidebar{padding:23px 11px}.owner-main{padding:22px}.owner-route-grid{gap:11px}.owner-route-card{padding:16px;gap:12px}}
/* Mobile uses a modal drawer rather than six competing horizontal navigation tabs. */
@media(max-width:800px){
 .top{height:70px;min-height:70px;padding:10px 14px;gap:10px;flex-wrap:nowrap}
 .owner-mobile-menu{width:43px;height:43px;flex:0 0 43px;border:1px solid #d4e4e3;background:#e9f5f2;color:#176460;border-radius:12px;display:grid;place-items:center;font-size:21px;font-weight:750}
 .topbrand{gap:9px;flex:1;min-width:0}
 .topbrand .lo{width:40px;height:40px;min-height:40px;min-width:40px;border-radius:12px;font-size:12px}
 .topbrand strong{font-size:13px;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .topbrand small{font-size:9px}
 .top nav{flex:0 0 auto;gap:5px}
 .top nav a{display:none}
 .top nav #refresh{display:none}
 .top nav #logout{min-height:41px;padding:8px 10px;font-size:11px}
 .owner-layout{display:block;max-width:100%;min-height:calc(100vh - 70px);overflow:visible}
 .owner-sidebar{display:flex;position:fixed;left:0;top:0;height:100dvh;width:min(82vw,310px);max-width:310px;background:#103346;padding:18px 14px 30px;z-index:24;transform:translateX(-105%);visibility:hidden;transition:transform .23s ease,visibility .23s ease;border:0;box-shadow:16px 0 40px #0d253945;overflow:auto}
 .owner-sidebar.owner-drawer-open{transform:translateX(0);visibility:visible}
 .owner-drawer-heading{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 16px;color:#fff}
 .owner-drawer-heading strong{font-size:16px}
 .owner-drawer-heading button{background:#255565;border:1px solid #ffffff22;color:#fff;width:38px;height:38px;border-radius:10px;font-weight:bold}
 .owner-sidebar .side-kicker{display:block;margin:6px 12px 8px}
 .owner-nav{display:flex;flex-direction:column;gap:6px;overflow:visible;scroll-snap-type:none}
 .owner-nav button{white-space:normal;flex:0 0 auto;width:100%;text-align:left;min-height:52px;font-size:13px;scroll-snap-align:none;border-radius:12px}
 .owner-nav button.selected{box-shadow:inset 3px 0 var(--o-sun)}
 .side-foot{display:block}
 .owner-drawer-scrim:not([hidden]){display:block;position:fixed;inset:0;background:#031a2b94;border:0;z-index:23;opacity:1;cursor:default;width:100%;height:100%}
 body.owner-drawer-visible{overflow:hidden}
 .owner-main{width:100%;max-width:100%;padding:16px;overflow:visible}
 .owner-context{flex-wrap:wrap;gap:10px;padding:14px}
 .owner-context-copy{flex:1 1 100%}
 .owner-context select{flex:1 1 200px;max-width:none;width:auto}
 .owner-context #new-school{flex:0 0 auto;width:auto}
 .owner-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .owner-page .page-intro{padding:24px;margin-bottom:16px}
 .owner-page .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .owner-page .stat{padding:16px}
 .owner-page .stat strong{font-size:26px}
 .owner-page .card{padding:18px}
 #owner-downloads-packages-workflow .app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .topbrand strong{font-size:12px;max-width:162px}.topbrand small{font-size:8px;letter-spacing:.07em}
 .owner-main{padding:12px 12px 30px}
 .owner-page .page-intro{padding:19px;border-radius:16px;min-height:0}
 .owner-page .page-intro h1{font-size:24px}
 .owner-page .page-intro p{font-size:12px}
 .owner-context{gap:9px;padding:12px}
 .owner-context select{flex:1 1 100%;max-width:100%}
 .owner-context #new-school{display:none}
 .owner-page .stats{gap:8px}
 .owner-page .stat{padding:12px 10px;border-radius:12px;min-height:92px}
 .owner-page .stat span{font-size:10px;line-height:1.4}
 .owner-page .stat strong{font-size:25px;margin-top:9px}
 .owner-route-grid,.owner-quick-grid{grid-template-columns:1fr;gap:10px}
 .owner-route-card{min-height:94px;grid-template-columns:43px minmax(0,1fr) 15px;gap:12px;padding:15px;border-radius:15px}
 .owner-route-icon{height:43px;width:43px;border-radius:12px;font-size:22px}
 .owner-route-copy strong{font-size:14px}
 .owner-route-copy small{font-size:11px}
 .owner-status-summary{flex-direction:column;align-items:stretch}
 .owner-summary-link{width:100%;text-align:center}
 .owner-page .card{padding:16px;border-radius:15px}
 .owner-subscription-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #owner-downloads-packages-workflow .app-grid,.owner-page .app-grid,.duo{grid-template-columns:1fr}
 #owner-school-launch-steps .app-card{min-height:auto}
 .owner-page .pdf-owner-actions button{width:100%}
 .owner-page .owner-staff-card{padding:13px}
 .owner-staff-main{align-items:flex-start}.owner-staff-data strong{font-size:14px}
 .login{padding:24px}
}
@media(prefers-reduced-motion:reduce){.owner-route-card,.owner-quick,.owner-sidebar,.owner-button-pending:before{transition:none!important;animation-duration:3s}}

/* The curriculum PDF index is platform-wide rather than school-specific. */
body[data-owner-current-page="curriculum"] .owner-context{display:none}

/* V31.10 · School-centred management and safe owner support */
.owner-school-detail-card .hd{align-items:start}
.owner-school-detail-card .owner-school-detail-stats,
.owner-support-card .owner-school-detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:15px 0 22px}
.owner-school-detail-stats>div{border:1px solid #deebea;border-radius:13px;background:#f7fbfa;padding:16px 14px;min-width:0}
.owner-school-detail-stats>div span{display:block;font-size:11px;color:#68838a;font-weight:650;margin-bottom:6px}
.owner-school-detail-stats>div strong{display:block;font-size:17px;line-height:1.4;color:#153f49;overflow-wrap:anywhere}
.owner-section-heading{padding-top:18px;margin:16px 0 12px;border-top:1px solid #e1eded}
.owner-section-heading h3{font-size:17px!important;margin:0 0 5px;color:#184251}
.owner-section-heading p{font-size:12px;color:#6f8790;margin:0;line-height:1.55}
.owner-school-detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin:8px 0 20px}
.owner-school-detail-actions button{min-height:44px;border:1px solid #cfe0dc;font-weight:730}
.owner-readonly-staff-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.owner-school-person{display:flex;align-items:start;gap:12px;background:#fbfdfd;border:1px solid #dce8e8;border-radius:13px;padding:13px;min-width:0}
.owner-school-person-avatar{width:39px;height:39px;flex:0 0 39px;border-radius:12px;display:grid;place-items:center;background:#dff1eb;color:#186c63;font-size:17px;font-weight:850}
.owner-school-person>div:last-child{min-width:0;display:grid;gap:3px}
.owner-school-person strong{font-size:13px;color:#183b4b;overflow-wrap:anywhere}
.owner-school-person small{color:#267767;font-size:11px;font-weight:770}
.owner-school-person span{font-size:11px;color:#677f8a;overflow-wrap:anywhere}
.owner-empty-info{grid-column:1/-1;background:#f6fbfa;padding:18px;border:1px dashed #bcdcd5;border-radius:14px;color:#56717b;font-size:13px}
.owner-school-support-action{background:linear-gradient(135deg,#e9f6f1,#f4f9fc);border:1px solid #cfe9df;border-radius:15px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px}
.owner-school-support-action strong{font-size:15px;color:#0f4d4c}
.owner-school-support-action p{font-size:12px;line-height:1.55;color:#567781;margin:5px 0 0}
.owner-school-support-action .primary{flex:0 0 auto}
.owner-support-card{max-width:1050px}
.owner-support-warning{padding:13px 15px;border:1px solid #eedbb2;background:#fff9ed;color:#73592f;border-radius:12px;font-size:13px;line-height:1.6}
#owner-support-reason{min-height:100px;width:100%;max-width:760px;border:1px solid #c8dad8;border-radius:12px;padding:12px 13px;line-height:1.6;background:#fff;font:inherit}
#owner-support-start-panel{margin:20px 0 10px}
#owner-support-open{margin-top:14px}
.owner-support-active{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:13px 15px;border:1px solid #bfe3d4;background:#e9f6f0;border-radius:13px;margin-top:18px}
.owner-support-active strong{color:#0c5f4c}
.owner-support-active span{font-size:12px;color:#3b7970}
.owner-support-feedback{color:#3d7175;font-size:12px;line-height:1.5}
.owner-help-muted{color:#6f8790;font-size:11px;font-style:italic}
@media(max-width:1100px){.owner-school-detail-stats>div strong{font-size:15px}.owner-school-detail-card .owner-school-detail-stats,.owner-support-card .owner-school-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.owner-readonly-staff-list{grid-template-columns:1fr}.owner-school-support-action{flex-direction:column;align-items:stretch}.owner-school-support-action .primary{width:100%}.owner-school-detail-actions{display:grid;grid-template-columns:1fr 1fr}.owner-school-detail-actions button{min-height:44px}.owner-school-detail-card .owner-school-detail-stats,.owner-support-card .owner-school-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.owner-school-detail-actions{grid-template-columns:1fr}.owner-school-detail-card .owner-school-detail-stats,.owner-support-card .owner-school-detail-stats{grid-template-columns:1fr 1fr}}

/* V31.11 · School Administration within selected-school options (never on home). */
.owner-school-search-label{display:grid;gap:8px;font-size:12px;font-weight:750;color:#345c65;max-width:540px;margin:18px 0}
.owner-school-search-label input{min-height:47px}
.owner-support-card{max-width:none}
.owner-support-workspace{margin-top:17px;min-width:0}
.owner-support-workspace-top{display:flex;align-items:start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 0}
.owner-support-workspace-top h3{margin:0;color:#174751;font-size:19px}
.owner-support-workspace-top p{margin:4px 0;color:#607b83;font-size:12px;max-width:680px;line-height:1.55}
.owner-support-mode{display:inline-flex;align-items:center;border:1px solid #b9d4d1;background:#eff8f5;border-radius:50px;padding:6px 12px;color:#266359;font-size:11px;font-weight:800;white-space:nowrap}
.owner-support-mode[data-mode=edit]{border-color:#c4dec8;background:#e5f6e7;color:#175638}
.owner-support-edit-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 15px}
.owner-support-edit-toolbar button{min-height:42px}
.owner-support-edit-form{background:#fffdf7;border:1px solid #e7dabe;padding:17px;border-radius:13px;max-width:740px;margin-bottom:17px}
.owner-support-edit-form h4,.owner-support-record-form h4{margin:0 0 4px;color:#153f4c;font-size:17px}
.owner-support-edit-form>p{font-size:12px;color:#536d75;margin:0 0 7px}
.owner-support-edit-form label{display:grid;gap:6px;font-size:12px;font-weight:720}
.owner-support-edit-form textarea,.owner-support-edit-form input:not([type=checkbox]){padding:11px;border:1px solid #cbdedb;border-radius:9px;background:white;font:inherit;min-height:45px}
.owner-support-check{display:flex!important;gap:9px!important;align-items:start;font-size:12px!important;line-height:1.5;font-weight:600!important}
.owner-support-check input{width:17px;height:17px;min-width:17px;margin:2px 0 0}
.owner-support-edit-form button{justify-self:start}
.owner-support-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #d9e8e4;padding:6px 0 11px;margin:5px 0 20px}
.owner-support-tabs button{background:transparent;border:1px solid transparent;border-radius:10px;padding:10px 12px;color:#617a84;font-size:12px;font-weight:760;min-height:40px}
.owner-support-tabs button:hover{background:#f1f7f5;color:#155e59}
.owner-support-tabs button.selected{background:#e3f3ee;border-color:#bde0d6;color:#096259}
.owner-support-workspace-content{min-height:140px}
.owner-support-workspace-content h4{margin:0 0 8px;font-size:17px;color:#1d4953}
.owner-support-workspace-content p{line-height:1.6}
.owner-support-intro{padding:5px 0 0}
.owner-support-intro p{font-size:13px;color:#5e7882;margin:0 0 12px}
.owner-support-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}
.owner-support-overview-grid button{display:grid;gap:5px;text-align:left;background:#f7fbfa;border:1px solid #d8e8e3;padding:16px;border-radius:12px;color:#13454b;min-height:94px}
.owner-support-overview-grid button:hover{background:#eff8f4;border-color:#a4d2c2}
.owner-support-overview-grid strong{font-size:13px}
.owner-support-overview-grid small{font-size:11px;font-weight:500;color:#678087;line-height:1.5}
.owner-support-limits{background:#fffaf0;border:1px solid #eadfcb;border-radius:10px;padding:14px;margin:16px 0;font-size:12px;color:#806044}
.owner-support-list-head{display:flex;align-items:start;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:14px}
.owner-support-list-head p{margin:0;color:#667f86;font-size:12px;max-width:650px}
.owner-support-list-actions{display:flex;flex-wrap:wrap;gap:8px}
.owner-support-list-actions button{min-height:42px}
.owner-support-search-label{display:grid;gap:6px;font-size:12px;font-weight:730;color:#4c6a71;margin-bottom:14px;max-width:470px}
.owner-support-search-label input{min-height:44px}
.owner-support-items{display:grid;gap:8px}
.owner-support-item{border:1px solid #e0eae7;border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:15px;min-width:0;background:#fff}
.owner-support-item>div:first-child{min-width:0}
.owner-support-item strong,.owner-support-item small{display:block;overflow-wrap:anywhere}
.owner-support-item strong{font-size:13px;color:#244954}
.owner-support-item small{font-size:11px;color:#6c8187;margin-top:4px;line-height:1.45}
.owner-support-item-actions{display:flex;gap:7px;flex-shrink:0}
.owner-support-item-actions button{padding:7px 11px;font-size:12px;min-height:36px}
.owner-support-empty,.owner-support-loading{background:#f7fbf9;border:1px dashed #c7ded8;padding:22px 15px;border-radius:12px;color:#627d84;font-size:13px}
.owner-support-more{margin:15px 0 0}
#owner-support-record-form{background:#fcfefd;border:1px solid #dce9e5;border-radius:14px;padding:20px;max-width:860px;margin-top:13px}
#owner-support-record-form>p{font-size:12px;margin:0 0 13px;color:#698086}
#owner-support-record-form label{display:grid;gap:6px;color:#3b6067;font-size:12px;font-weight:720}
#owner-support-record-form input,#owner-support-record-form select,#owner-support-record-form textarea{min-height:43px;border:1px solid #c8dad6;background:#fff;border-radius:9px;padding:9px;font:inherit;color:#193e46;width:100%}
#owner-support-record-form input[readonly],#owner-support-record-form select:disabled{background:#eaf0ee;color:#59706f}
.owner-support-teacher-picker{border:1px solid #d2e3df;border-radius:10px;padding:12px;display:grid;gap:8px;max-height:245px;overflow:auto}
.owner-support-teacher-picker legend{color:#4f6c71;font-size:12px;font-weight:800}
.owner-support-teacher-picker .owner-support-check{border-bottom:1px solid #ecf1ef;padding:7px 0}
.owner-support-teacher-picker input[type=checkbox]{width:17px;height:17px;min-height:0}
.owner-support-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding-top:8px}
.owner-support-workspace-feedback{padding:8px 0;font-size:12px;min-height:28px;color:#26725b}
.owner-support-workspace-feedback[data-error=true]{color:#9e3428}
@media(max-width:760px){.owner-support-overview-grid{grid-template-columns:1fr}.owner-support-list-head{display:block}.owner-support-list-actions{margin-top:12px}.owner-support-item{align-items:flex-start;flex-direction:column}.owner-support-item-actions{align-self:stretch}.owner-support-item-actions button{flex:1}.owner-support-workspace-top{display:block}.owner-support-mode{margin-top:9px}#owner-support-record-form{padding:13px}.owner-support-tabs{flex-wrap:nowrap;overflow:auto;scrollbar-width:thin;padding-bottom:9px}.owner-support-tabs button{flex:0 0 auto}}


/* V31.12 — two-option Schools screen and selected-school workspace. */
.owner-schools-menu-heading,.owner-school-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.owner-schools-count{display:inline-flex;align-items:center;white-space:nowrap;color:#0c615d;background:#e6f5f0;border:1px solid #d0e6df;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:790}
.owner-school-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}
.owner-school-action-grid .owner-route-card{min-height:131px}
.owner-school-action-grid .owner-route-card:last-child{grid-column:1/-1}
.owner-school-actions-hub .hd{align-items:center;margin-bottom:10px}
.owner-school-utilities{border-top:1px solid #e0e9e8;padding-top:15px;margin-top:20px}
.owner-school-utilities>strong{display:block;font-size:12px;color:#5f7e85;margin-bottom:10px}
.owner-school-utility-buttons{display:flex;flex-wrap:wrap;gap:9px}
.owner-school-utility-buttons button{background:#f1f8f6;border:1px solid #d5e8e2;border-radius:10px;font-size:12px;font-weight:700;min-height:39px;padding:8px 12px}
.owner-directory-results-count{font-size:12px;color:#5e7c83;margin:12px 0 8px}
.owner-school-directory-list{display:grid;gap:11px;margin-top:12px}
.owner-school-directory-list .owner-directory-school{display:flex;align-items:center;text-align:left;gap:13px;width:100%;min-height:93px;border:1px solid #dae7e7;background:#fff;border-radius:15px;padding:15px;transition:border-color .16s,background .16s}
.owner-school-directory-list .owner-directory-school:hover,.owner-school-directory-list .owner-directory-school:focus-visible{border-color:#55aaa0;background:#f3faf7}
.owner-school-directory-list .owner-directory-school.current{border-color:#b8dcd0;background:#f6fcf8}
.owner-directory-school-mark{height:44px;width:44px;flex:0 0 44px;border-radius:13px;display:grid;place-items:center;background:#e6f4f0;color:#0a7067;font-size:21px}
.owner-directory-school-description{flex:1;min-width:0;display:grid;gap:3px}
.owner-directory-school-description strong{font-size:15px;color:#163f47;overflow-wrap:anywhere}
.owner-directory-school-description small{font-size:12px;color:#597982;overflow-wrap:anywhere}
.owner-directory-school-go{font-size:12px;color:#087d73;font-weight:800;white-space:nowrap}
.owner-school-view-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}
.owner-school-view-heading img{height:72px;width:72px;object-fit:contain;flex:0 0 auto;border:1px solid #deebe9;background:#f7faf9;border-radius:13px;padding:6px}
.owner-info-subheading{font-size:16px!important;color:#173f4a;margin:22px 0 10px}
.owner-school-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.owner-info-cell{min-width:0;background:#f9fcfb;border:1px solid #e0ebea;border-radius:12px;padding:13px 15px}
.owner-info-cell>span{display:block;font-size:11px;font-weight:680;color:#69828a;margin-bottom:5px}
.owner-info-cell>strong{display:block;font-size:14px;color:#123c46;overflow-wrap:anywhere;line-height:1.48}
.owner-school-view-card .owner-school-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 20px}
.owner-school-view-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:20px}
.owner-school-settings-heading{margin:7px 0 18px}
.owner-school-settings-heading h2{margin:4px 0 5px;color:#133f49;font-size:23px;line-height:1.3}
.owner-school-settings-heading p{font-size:13px;color:#5f7882;margin:0;line-height:1.65}
.owner-school-settings-stack .owner-settings-section{max-width:none;margin-bottom:15px}
.owner-settings-section .hd{align-items:start;margin-bottom:16px}
.owner-settings-section .hd h2{font-size:17px;margin:0}
.owner-settings-section form{display:grid;gap:13px}
.owner-settings-section form button[type=submit]{justify-self:start;min-height:44px}
.owner-settings-section label{min-width:0}
.owner-settings-links{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 17px}
.owner-settings-links button{min-height:43px}
@media(max-width:720px){
 .owner-school-action-grid{grid-template-columns:1fr}
 .owner-school-action-grid .owner-route-card:last-child{grid-column:auto}
 .owner-school-info-grid{grid-template-columns:1fr}
 .owner-school-view-card .owner-school-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .owner-school-directory-heading{align-items:start}
 .owner-school-utility-buttons button{flex:1 1 auto}
 .owner-school-view-actions button,.owner-settings-links button{flex:1 1 100%}
}
@media(max-width:390px){
 .owner-school-directory-list .owner-directory-school{gap:9px;padding:12px}
 .owner-directory-school-go{font-size:11px}
 .owner-directory-school-mark{height:38px;width:38px;flex-basis:38px}
 .owner-school-view-heading img{width:55px;height:55px}
}
