/* Auxesis portal: the established website tokens and typefaces carry through. */
.site-demo-strip{padding:.5rem 5%;background:var(--midnight-violet);color:var(--alabaster);font-size:.875rem;display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.site-demo-strip a{font-weight:600}.portal-link{border-bottom:2px solid var(--peacock-teal);padding:.4rem 0}.prototype-controls{background:#e6efed;border-bottom:1px solid #b6cdca;color:var(--midnight-violet);padding:.65rem 3%;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;font-size:.875rem}.prototype-controls strong{font-weight:700}.prototype-controls select{font:inherit;border:1px solid #9caeac;background:white;padding:.35rem .5rem;max-width:100%;border-radius:3px;color:var(--ink)}.prototype-controls .demo-note{margin-right:auto}.prototype-controls button{font:inherit;color:var(--ink);border:0;background:transparent;text-decoration:underline;padding:.35rem;cursor:pointer}.portal-header{height:80px;border-bottom:1px solid var(--line);background:var(--alabaster);display:flex;align-items:center;padding:0 3%;gap:2rem;position:relative;z-index:20}.portal-header .brand{width:170px}.portal-header nav{display:flex;align-items:center;gap:1.4rem;margin-left:auto}.portal-header a:not(.brand){font-size:.9375rem;text-decoration:none}.portal-header a:hover{text-decoration:underline}.portal-header .identity{display:flex;align-items:center;gap:.65rem;font-size:.9375rem}.avatar{width:38px;height:38px;border-radius:50%;background:var(--taupe);display:inline-grid;place-items:center;font-weight:700;flex:none}.avatar.teal{background:#d3e8e6;color:#006e69}.portal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100vh - 125px)}.portal-sidebar{padding:2rem 1.25rem;border-right:1px solid var(--line);background:#f0ede7}.portal-sidebar .side-label{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--slate-violet);padding:.5rem .7rem;margin:0 0 .75rem}.portal-sidebar nav{display:grid;gap:.3rem}.portal-sidebar a{display:flex;align-items:center;gap:.8rem;padding:.75rem .9rem;text-decoration:none;font-size:.9375rem;border-radius:4px;min-height:46px}.portal-sidebar a.active{background:var(--midnight-violet);color:var(--alabaster)}.portal-sidebar a:not(.active):hover{background:#e1ded7}.portal-sidebar .side-resource{border-top:1px solid var(--line);padding-top:1rem;margin-top:1.4rem}.portal-sidebar .child-picker{padding:.8rem .7rem 1.3rem;border-bottom:1px solid var(--line);margin-bottom:1.2rem}.portal-sidebar .child-picker label{display:block;font-size:.875rem;margin-bottom:.4rem;font-weight:600}.portal-sidebar select{width:100%;background:white;border:1px solid var(--line);padding:.6rem;font:inherit;color:var(--ink)}.portal-main{padding:2.6rem clamp(1.25rem,3.6vw,4rem) 4rem;min-width:0}.portal-main h1{font-size:clamp(2rem,3.7vw,3rem);line-height:1.14;letter-spacing:-.025em;margin:0 0 .55rem}.portal-main h2{font-size:1.65rem;line-height:1.2;margin-bottom:.9rem}.portal-main h3{font-size:1.25rem;line-height:1.3;margin-bottom:.6rem}.portal-main p{line-height:1.55}.page-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.page-top>div{min-width:0}.page-top p{margin:0;color:#686174}.portal-kicker{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate-violet);font-weight:700;margin-bottom:.7rem}.portal-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr);gap:1.4rem;align-items:start}.portal-grid.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{display:grid;gap:1.4rem}.panel{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.6rem;min-width:0;box-shadow:0 3px 8px rgba(41,33,60,.025)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-header h2{margin:0}.next-lesson{background:var(--midnight-violet);color:var(--alabaster);border-color:var(--midnight-violet);position:relative;overflow:hidden;padding:2rem}.next-lesson .portal-kicker{color:var(--taupe)}.next-lesson h2{font-size:2.2rem;line-height:1.13}.next-lesson .countdown{display:block;font-family:var(--serif);font-size:1.5rem;color:#90d9d2;margin:.5rem 0 1.1rem}.next-lesson .subtle{color:#d6d0df}.next-lesson .button{margin-top:.6rem}.next-lesson .tag{background:rgba(255,255,255,.1);color:#f3eee8;border-color:rgba(255,255,255,.2)}.lesson-date-line{display:flex;gap:1.2rem;flex-wrap:wrap;margin:.4rem 0 .8rem}.lesson-date-line span{font-size:.9375rem}.meta{font-size:.875rem;color:#716a7a}.subtle{color:#716a7a}.empty-note{padding:1.2rem;background:#f7f5f1;border:1px dashed var(--line);border-radius:4px}.tag{display:inline-flex;align-items:center;padding:.25rem .6rem;min-height:28px;background:#edeaf2;color:#574d69;border:1px solid #dfdae8;font-size:.8125rem;line-height:1.3;border-radius:3px;font-weight:600}.tag.ready,.tag.paid,.tag.completed{background:#e2f1ed;border-color:#b9ddd2;color:#226957}.tag.warning,.tag.draft,.tag.pending{background:#fbefdb;border-color:#ecd3a6;color:#795420}.tag.cancelled,.tag.overdue{background:#fae5e0;border-color:#ebc3b9;color:#914137}.tag.parent{background:#e8ecf6;border-color:#cbd4ea;color:#42577d}.small-button{padding:.5rem .8rem;min-height:38px;font-size:.875rem}.portal-main .button{font:600 .9375rem/1.25 var(--sans);cursor:pointer;border-radius:3px;transform:none;gap:.5rem}.portal-main .button.secondary{border-color:#aaa1b5;background:white;color:var(--ink)}.portal-main .button.secondary:hover{background:#f1eee7}.portal-main .button.danger{background:#fff;border-color:#b16b5b;color:#8b4234}.portal-main .button:disabled{opacity:.55;cursor:not-allowed}.button-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:1rem}.plain-link{color:var(--peacock-teal);font-weight:600;text-decoration:underline;font-size:.9375rem}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.metric{padding:1.3rem;background:white;border:1px solid var(--line);border-radius:5px}.metric .value{font:400 2.25rem/1.2 var(--serif);display:block;margin:.3rem 0}.metric .label{font-size:.875rem;color:#6a6176}.metric .meta{display:block}.lesson-list{display:grid;gap:.7rem}.lesson-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:1rem;align-items:center;border:1px solid var(--line);background:white;padding:1.1rem;border-radius:5px;text-decoration:none}.lesson-row:hover{border-color:var(--peacock-teal);box-shadow:0 0 0 1px var(--peacock-teal)}.lesson-row.current{border-left:4px solid var(--peacock-teal);background:#f0f8f6}.date-tile{display:grid;place-items:center;background:#efede8;min-height:61px;align-content:center;border-radius:3px}.date-tile small{text-transform:uppercase;font-size:.8125rem;line-height:1.4}.date-tile strong{font:400 1.8rem/1.15 var(--serif)}.lesson-row .lesson-name{display:block;font-weight:700;font-size:1rem}.lesson-row .meta{display:block;margin-top:.2rem}.row-right{text-align:right;display:grid;gap:.3rem;justify-items:end}.list-divider{font-size:.8125rem;color:var(--slate-violet);letter-spacing:.08em;text-transform:uppercase;margin:1.5rem 0 .6rem;font-weight:700}.action-list{display:grid}.action-item{display:flex;gap:.8rem;padding:1rem 0;border-top:1px solid var(--line);align-items:flex-start;text-decoration:none}.action-item:first-child{border-top:0;padding-top:.25rem}.action-item:last-child{padding-bottom:0}.action-item strong{display:block;font-size:.9375rem}.action-item .meta{display:block;line-height:1.45;margin:.3rem 0 0}.action-number{background:#edeaf2;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:.875rem;flex:none}.activity-item{padding:1rem 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border:0;padding-bottom:0}.activity-item p{margin:0 0 .4rem;font-size:.9375rem}.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-fields .full{grid-column:1/-1}.portal-field{display:grid;gap:.4rem;font-size:.9375rem;font-weight:600}.portal-field input,.portal-field textarea,.portal-field select,.search-input{font:400 1rem/1.4 var(--sans);border:1px solid #b5adbF;border-radius:3px;padding:.7rem .8rem;background:#fff;width:100%;color:var(--ink);min-width:0}.portal-field textarea{min-height:108px;resize:vertical}.portal-field .hint{font-weight:400;font-size:.875rem;color:#716a7a}.portal-field input[readonly]{background:#f3f0eb;color:#6c6473}.planning-item{padding:1rem;background:#f8f6f1;border-left:3px solid var(--peacock-teal);margin-bottom:.8rem;white-space:normal}.planning-item p{margin:.5rem 0;white-space:pre-wrap}.planning-item .meta{margin:0}.files{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}.file-chip{font-size:.875rem;display:inline-flex;align-items:center;gap:.4rem;background:#eeeaf3;border:1px solid #dcd6e4;border-radius:3px;padding:.5rem .65rem;max-width:100%;overflow-wrap:anywhere}.file-chip a{color:var(--ink)}.notes-section{border-top:1px solid var(--line);padding-top:1.1rem;margin-top:1.1rem}.notes-section:first-child{border:0;margin-top:0;padding-top:0}.notes-section p{white-space:pre-wrap;margin-bottom:0}.notice{background:#ecf5f3;border-left:3px solid var(--peacock-teal);padding:.9rem 1.1rem;font-size:.9375rem;margin:1rem 0;border-radius:0 3px 3px 0}.notice.warning{background:#fbf0de;border-color:#b28c44}.notice p{margin:0}.back-breadcrumb{display:inline-block;margin-bottom:1.4rem;font-size:.9375rem;color:#6c6079}.record-hero{background:#ebe7ef;border:1px solid #d7d0df;border-radius:5px;padding:1.3rem 1.6rem;margin-bottom:1.5rem;display:flex;gap:1rem;justify-content:space-between;align-items:center}.record-hero h1{font-size:2.05rem}.record-hero p{margin:0}.detail-list{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1fr);gap:.7rem 1.2rem;font-size:.9375rem;margin:0}.detail-list dt{color:#716a7a}.detail-list dd{margin:0;font-weight:600;overflow-wrap:anywhere}.table-wrap{overflow-x:auto;width:100%;border:1px solid var(--line);border-radius:4px}.portal-table{width:100%;border-collapse:collapse;font-size:.9375rem;background:white}.portal-table th{text-align:left;background:#f0ede7;font-weight:600;padding:.9rem 1rem;white-space:nowrap}.portal-table td{padding:1rem;border-top:1px solid var(--line);vertical-align:middle}.portal-table td.money{text-align:right;white-space:nowrap}.portal-table tr:hover td{background:#faf8f4}.calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;flex-wrap:wrap}.segmented{display:flex;border:1px solid #aaa1b5;border-radius:4px;overflow:hidden;background:white}.segmented button{font:600 .9375rem var(--sans);padding:.6rem .9rem;border:0;background:transparent;color:var(--ink);cursor:pointer}.segmented button.active{background:var(--midnight-violet);color:white}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line);background:white}.calendar-grid .day-head{padding:.7rem;font-size:.875rem;background:#f0ede7;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-cell{padding:.55rem;min-height:110px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.875rem;min-width:0}.calendar-cell.today{background:#f0f7f5}.calendar-cell.muted{background:#f6f4ee;color:#aaa}.calendar-cell a{display:block;background:#e1f0ed;color:#215c53;border-left:2px solid var(--peacock-teal);padding:.4rem;margin:.4rem 0 0;text-decoration:none;font-size:.8125rem;line-height:1.4;overflow-wrap:anywhere}.calendar-cell a.cancelled{background:#f8e8e2;border-color:#b16b5b;color:#8b4234}.calendar-cell>strong{font-weight:500}.calendar-cell.today>strong{background:var(--peacock-teal);color:white;border-radius:50%;width:25px;height:25px;display:inline-grid;place-items:center}.student-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.student-card{display:block;text-decoration:none;background:white;padding:1.5rem;border:1px solid var(--line);border-radius:5px}.student-card:hover{border-color:var(--peacock-teal)}.student-card h2{font-size:1.6rem;margin:1rem 0 .5rem}.student-card p{font-size:.9375rem;margin-bottom:.5rem}.profile-tabs{display:flex;gap:1.4rem;border-bottom:1px solid var(--line);padding-bottom:.85rem;margin-bottom:1.5rem;overflow-x:auto}.profile-tabs a{white-space:nowrap;text-decoration:none;font-size:.9375rem;padding:.5rem .15rem}.profile-tabs a.active{color:var(--peacock-teal);border-bottom:2px solid var(--peacock-teal);font-weight:700}.message-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:560px;background:white;border:1px solid var(--line);border-radius:6px;overflow:hidden}.thread-list{border-right:1px solid var(--line);background:#f6f3ed;padding:.6rem}.thread-list a{display:block;padding:1rem;text-decoration:none;border-radius:4px}.thread-list a.active{background:#e6e0ed}.thread-list strong{display:block;font-size:.9375rem}.thread-list .meta{display:block;margin-top:.3rem}.thread-view{display:flex;flex-direction:column;min-width:0}.thread-title{padding:1rem 1.5rem;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;align-items:center}.thread-title h2{font-size:1.4rem;margin:0}.message-history{padding:1.5rem;display:flex;flex-direction:column;gap:1.2rem;flex:1;max-height:520px;overflow:auto}.message-bubble{max-width:85%;align-self:flex-start;background:#f0ede7;padding:.9rem 1.1rem;border-radius:6px}.message-bubble.mine{align-self:flex-end;background:#e0efeb}.message-bubble p{white-space:pre-wrap;margin:0 0 .4rem;font-size:1rem}.message-bubble .meta{font-size:.8125rem}.message-composer{padding:1rem 1.5rem;border-top:1px solid var(--line)}.message-composer textarea{min-height:80px}.invoice-paper{background:white;border:1px solid var(--line);padding:2.5rem;max-width:900px;margin:auto;border-radius:4px}.invoice-heading{display:flex;justify-content:space-between;gap:2rem;border-bottom:2px solid var(--midnight-violet);padding-bottom:1.7rem;margin-bottom:1.7rem}.invoice-heading img{width:190px;height:auto}.invoice-heading h1{font-size:2rem;margin-bottom:.6rem}.invoice-info{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.invoice-info p{margin-bottom:.3rem;font-size:.9375rem}.invoice-totals{margin-left:auto;width:min(350px,100%);display:grid;grid-template-columns:1fr auto;gap:.6rem;padding:1.3rem 0}.invoice-totals strong{border-top:1px solid var(--line);padding-top:.7rem}.invoice-pay{border-top:1px solid var(--line);padding-top:1.3rem;margin-top:.7rem}.invoice-pay p{font-size:.9375rem;margin:.3rem 0}.report-content{white-space:pre-wrap;line-height:1.7}.library-shell{max-width:1300px;padding:2.8rem 4% 4rem;margin:auto}.library-shell h1{font-size:clamp(2.3rem,4vw,3.3rem)}.library-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:2.1rem}.library-categories{background:#f0ede7;border:1px solid var(--line);padding:1rem;border-radius:5px;height:max-content}.library-categories a{display:block;text-decoration:none;padding:.6rem .8rem;border-radius:3px;font-size:.9375rem}.library-categories a.active{background:var(--midnight-violet);color:white}.library-categories h2{font-size:1.125rem;margin:.7rem .8rem}.library-categories .subject-links a{font-size:.875rem;padding-left:1.5rem;color:#696171}.library-categories .subject-links a.active{background:#e2eeeb;color:#126e66}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.resource-card{background:white;padding:1.5rem;border:1px solid var(--line);border-radius:5px;display:flex;flex-direction:column;align-items:flex-start;gap:.7rem}.resource-card h2{font-size:1.4rem;margin:0}.resource-card p{font-size:.9375rem;margin:0}.resource-card .button{margin-top:auto}.search-row{display:flex;gap:1rem;margin-bottom:1.2rem;align-items:center;flex-wrap:wrap}.search-row .search-input{flex:1;min-width:180px}.search-row select{font:inherit;padding:.7rem;background:white;border:1px solid #b5adbf;color:var(--ink);border-radius:3px}.signin-wrap{max-width:1060px;margin:0 auto;padding:3.5rem 5% 4rem;display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:start}.signin-copy h1{font-size:3rem}.signin-copy p{font-size:1.0625rem}.signin-box{padding:2rem;background:white;border:1px solid var(--line);border-radius:6px}.signin-box h2{font-size:1.6rem}.preview-accounts{display:grid;gap:.6rem;margin-top:1.2rem}.preview-account{display:flex;align-items:center;gap:1rem;text-align:left;background:#f7f5f0;border:1px solid var(--line);padding:.9rem;font:inherit;color:var(--ink);cursor:pointer;border-radius:4px}.preview-account:hover{border-color:var(--peacock-teal);background:#eaf3f0}.preview-account strong{display:block;font-size:.9375rem}.preview-account small{display:block;color:#716a7a;font-size:.875rem;margin-top:.2rem}.wizard-wrap{max-width:950px;margin:auto;padding:2.6rem 5% 4rem}.wizard-wrap h1{font-size:2.7rem}.wizard-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin:1.5rem 0 2rem}.wizard-progress span{display:grid;gap:.3rem;font-size:.8125rem;border-top:4px solid #ddd7e3;padding-top:.6rem;color:#716a7a}.wizard-progress span.current{border-color:var(--peacock-teal);color:var(--ink);font-weight:700}.wizard-progress span.done{border-color:var(--midnight-violet)}.policy-details{margin-bottom:1rem;border:1px solid var(--line);padding:1rem;border-radius:4px;background:#fbf9f4}.policy-details summary{cursor:pointer;font-weight:700;font-size:1rem}.policy-details p{font-size:.9375rem;margin:.8rem 0}.check-label{display:flex;gap:.65rem;align-items:flex-start;font-size:.9375rem;margin:1rem 0}.check-label input{width:18px;height:18px;flex:none;margin-top:.2rem;accent-color:var(--peacock-teal)}dialog.portal-dialog{border:1px solid var(--line);border-radius:6px;width:min(560px,92vw);padding:2rem;background:var(--alabaster);color:var(--ink);box-shadow:0 30px 90px #29213c55}dialog::backdrop{background:#29213c88}.portal-dialog h2{font-size:1.9rem}.toast{position:fixed;right:1.5rem;bottom:1.5rem;z-index:200;background:var(--midnight-violet);color:white;max-width:min(430px,calc(100vw - 3rem));padding:1rem 1.4rem;border-left:4px solid var(--teal-companion);border-radius:4px;box-shadow:0 8px 25px #29213c33;font-size:.9375rem}.toast[hidden]{display:none}.portal-footer{max-width:1600px;margin:auto;border-top:1px solid var(--line);padding:1rem 3%;font-size:.875rem;color:#716a7a;display:flex;justify-content:space-between;gap:1rem}.mobile-side-toggle{display:none}.attachment-input{max-width:100%;font:inherit;font-size:.875rem}.request-details{font-size:.875rem;color:#716a7a;margin-top:1rem}.login-actions{margin-top:1.5rem}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.portal-icon{width:19px;height:19px;flex:none}.resource-access{display:flex;align-items:center;gap:.6rem;font-size:.9375rem;background:#e2efeb;padding:.8rem 1rem;border-radius:3px;margin-bottom:1.8rem}.resource-access .tag{margin-left:auto}.report-preview{background:#f8f6f1;border-left:3px solid var(--peacock-teal);padding:1.3rem;margin:1rem 0}
@media(max-width:1150px){.portal-layout{grid-template-columns:210px minmax(0,1fr)}.portal-main{padding:2rem 1.7rem 3rem}.portal-grid{grid-template-columns:1fr}.student-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-header{gap:1rem}.portal-header nav{gap:1rem}.message-layout{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:800px){.portal-header{height:70px;padding:0 5%}.portal-header .brand{width:145px}.portal-header nav{gap:.8rem}.portal-header .identity span.name{display:none}.portal-header a:not(.brand){font-size:.875rem}.portal-layout{display:block}.portal-sidebar{padding:1rem 5%;border-right:0;border-bottom:1px solid var(--line)}.portal-sidebar nav{display:flex;overflow-x:auto;gap:.35rem;scrollbar-width:thin}.portal-sidebar nav a{white-space:nowrap;padding:.6rem .75rem;flex:none}.portal-sidebar .side-label,.portal-sidebar .side-resource p{display:none}.portal-sidebar .side-resource{margin:0;padding:0;border:0}.portal-sidebar .child-picker{padding:0 0 .8rem;margin:0 0 .5rem;display:flex;gap:.7rem;align-items:center;border:0}.portal-sidebar .child-picker label{margin:0;white-space:nowrap}.portal-sidebar select{width:auto;flex:1}.portal-main{padding:1.8rem 5% 3rem}.portal-grid.equal{grid-template-columns:1fr}.metric-grid{gap:.6rem}.metric{padding:1rem}.metric .value{font-size:1.9rem}.message-layout{grid-template-columns:1fr}.thread-list{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);gap:.5rem}.thread-list a{min-width:180px;padding:.7rem}.message-history{max-height:420px}.library-layout{grid-template-columns:1fr}.library-categories{display:flex;flex-wrap:wrap;gap:.3rem;padding:.8rem}.library-categories h2,.library-categories .subject-links{display:none}.library-categories a{padding:.5rem .7rem}.signin-wrap{gap:2rem;grid-template-columns:1fr;max-width:700px;padding-top:2rem}.signin-copy h1{font-size:2.5rem}.signin-copy p{max-width:36rem}.calendar-grid{min-width:640px}.calendar-scroll{overflow-x:auto}.calendar-cell{min-height:100px}.portal-footer{padding-inline:5%;flex-wrap:wrap}}
@media(max-width:520px){.prototype-controls{padding:.6rem 5%;gap:.5rem}.prototype-controls .demo-note{width:100%;font-size:.8125rem}.prototype-controls label{display:none}.prototype-controls select{max-width:calc(100% - 80px);font-size:.875rem}.portal-header nav>a.library-link{display:none}.portal-header nav{gap:.65rem}.portal-header .identity{display:none}.page-top{flex-direction:column;margin-bottom:1.4rem}.portal-main h1{font-size:2.2rem}.portal-main h2{font-size:1.55rem}.panel{padding:1.2rem}.next-lesson{padding:1.4rem}.next-lesson h2{font-size:1.85rem}.next-lesson .countdown{font-size:1.3rem}.metric-grid{grid-template-columns:1fr}.metric{display:grid;grid-template-columns:1fr auto;align-items:center;padding:.9rem 1.1rem}.metric .value{grid-column:2;grid-row:1/3;margin:0;font-size:1.8rem}.metric .meta{grid-column:1}.lesson-row{grid-template-columns:50px minmax(0,1fr);padding:.85rem;gap:.8rem}.lesson-row .row-right{grid-column:2;justify-items:start;text-align:left;display:flex;flex-wrap:wrap}.date-tile{min-height:56px}.lesson-row .lesson-name{font-size:.9375rem}.lesson-row .meta{font-size:.8125rem}.record-hero{padding:1.1rem;flex-direction:column;align-items:flex-start}.record-hero h1{font-size:1.8rem}.form-fields{grid-template-columns:1fr}.form-fields .full{grid-column:auto}.detail-list{grid-template-columns:1fr;gap:.25rem}.detail-list dd{margin-bottom:.55rem}.student-cards,.resource-grid{grid-template-columns:1fr}.message-history{padding:1rem}.message-bubble{max-width:94%}.thread-title,.message-composer{padding:1rem}.invoice-paper{padding:1.3rem}.invoice-heading{flex-direction:column;gap:1rem}.invoice-info{grid-template-columns:1fr;gap:1rem}.invoice-paper .portal-table{font-size:.8125rem}.invoice-paper .portal-table td,.invoice-paper .portal-table th{padding:.65rem .5rem}.wizard-progress{gap:.3rem}.wizard-progress span{font-size:.75rem}.wizard-wrap h1{font-size:2.2rem}.signin-box{padding:1.3rem}.button-row .button{flex:1 1 auto}.site-demo-strip{font-size:.8125rem;gap:.3rem .8rem}}
@media print{.prototype-controls,.portal-header,.portal-sidebar,.portal-footer,.page-top,.back-breadcrumb,.button-row,.site-demo-strip,.toast{display:none!important}.portal-layout{display:block}.portal-main{padding:0}.invoice-paper{padding:.5cm;border:0;max-width:none}.invoice-paper .button{display:none}.invoice-paper{break-inside:avoid}body{background:white}}


/* Private administrator review and role previews. */
.review-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 4vw;background:#eee9de;border-bottom:1px solid #d6c9b8;color:#29213c}
.review-banner p{font-size:.85rem;margin:.35rem 0 0;max-width:60rem}
.review-banner .button-row{margin:0;flex-shrink:0}
.import-review{margin-bottom:1.5rem}
.import-review ul{margin:.8rem 0 1rem;padding-left:1.4rem}
.import-review li{margin:.4rem 0}
@media(max-width:760px){.review-banner{align-items:flex-start;flex-direction:column}.review-banner .button-row{flex-wrap:wrap}}
@media print{.review-banner,.import-review{display:none}}

/* Errors stay beside the controls while values are retained. */
.portal-field [aria-invalid="true"],.check-label input[aria-invalid="true"]{border:2px solid #a02b36;outline-offset:2px}
.field-error{display:block;color:#a02b36;font-size:.88rem;line-height:1.4;margin-top:.35rem}
.required-marker{color:#a02b36}
.portal-field select{max-width:100%;min-width:0}
