:root{--shell-ink:#163943;--shell-teal:#167c73;--shell-muted:#607b83}*{box-sizing:border-box}.login-body{margin:0;background:#f5f8f7;color:var(--shell-ink);font-family:Inter,"Segoe UI",Arial,sans-serif}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.12fr 1fr;max-width:1600px;margin:auto}.welcome{padding:48px clamp(28px,5vw,90px);background:radial-gradient(ellipse at 30% 70%,#d8ece3,transparent 65%),#edf4f0}.login-brand{display:flex;gap:12px;align-items:center;color:#173e46;text-decoration:none;font-size:22px;font-weight:700;margin-bottom:58px}.brand-mark{display:inline-grid;place-items:center;background:#167c73;color:white;width:38px;height:38px;border-radius:12px;font-size:23px;font-weight:800}.login-eyebrow{display:block;color:#47726d;font-size:10px;font-weight:750;letter-spacing:2px}.welcome h1{font-size:clamp(29px,3.2vw,50px);letter-spacing:-2px;line-height:1.09;font-weight:650;margin:18px 0}.login-intro{color:#5b767b;font-size:17px;line-height:1.7}.intro-video-wrap{max-width:580px;width:100%;margin:28px auto 16px;box-sizing:border-box}.intro-video-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;box-shadow:0 16px 40px #215e4918;border:1px solid #ffffffd0;background:#0d262d;transition:transform .25s ease,box-shadow .25s ease}.intro-video-frame:hover{transform:translateY(-2px);box-shadow:0 20px 48px #215e4925}.intro-video-frame iframe{width:100%;height:100%;border:0;display:block}.tutorial-note{max-width:580px;width:100%;margin:14px auto 24px;font-size:16px;font-weight:700;line-height:1.55;color:var(--shell-ink);box-sizing:border-box;overflow-wrap:anywhere}.tutorial-note strong{font-weight:700}.tutorial-note a{color:#147268;text-decoration:underline;text-underline-offset:3px;word-break:break-all;transition:color .15s ease}.tutorial-note a:hover{color:#0b4943}.planning-art{max-width:420px;margin:30px auto 24px;padding:22px;border:1px solid #fff;background:#ffffffc9;border-radius:20px;box-shadow:0 18px 45px #215e4910;transform:rotate(-2deg)}.art-top{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:1px}.art-dot{width:7px;height:7px;background:#239683;border-radius:50%}.art-pill{margin-left:auto;background:#edf6ef;color:#347866;border-radius:20px;padding:6px;font-size:9px;letter-spacing:0}.art-desk{background:#e8eeec;text-align:center;padding:8px;margin:19px 25px 14px;border-radius:5px;font-size:8px;letter-spacing:2px;color:#788e8d}.art-seats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:5px 5px 20px}.art-seats i{font-style:normal;font-size:11px;text-align:center;padding:11px 0;border-radius:7px;color:#407569;background:#d6eae2;animation:seat-in .7s ease both}.art-seats i:nth-child(3n+2){background:#dce8f1;color:#54768d;animation-delay:.15s}.art-seats i:nth-child(3n){background:#efe6d2;color:#978048;animation-delay:.3s}.art-footer{display:flex;justify-content:space-between;border-top:1px solid #e3ebe7;padding-top:14px;font-size:9px;color:#6b817d}.welcome-features{display:flex;gap:15px;flex-wrap:wrap;font-size:11px;color:#526e69}.welcome-features span:before{content:'✓ ';color:#1a8270}.quick-guide{margin-top:22px;font-size:13px;line-height:1.65}.quick-guide summary{cursor:pointer;color:#226c60;font-weight:600}.quick-guide ol{padding-left:20px}.login-side{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 28px}.login-card{width:100%;max-width:430px;background:white;border:1px solid #e3ebe7;border-radius:22px;padding:38px;box-shadow:0 18px 55px #244c3610}.login-card h2{font-size:28px;letter-spacing:-.6px;margin:15px 0 12px}.login-card p{font-size:13px;color:#6a8086;line-height:1.6}.login-card .field,.shell-dialog .field{margin:18px 0}.login-card label,.shell-dialog label{font-size:12px;font-weight:600;display:block}.login-card input,.shell-dialog input,.shell-dialog select,.shell-dialog textarea{display:block;width:100%;border:1px solid #d3dfdd;border-radius:8px;padding:12px;margin-top:8px;font:inherit;font-size:14px;background:white;color:#163943}.login-card input:focus,.shell-dialog input:focus{outline:3px solid #4da18b30;border-color:#348e7c}.login-card button,.shell-dialog button{cursor:pointer;border:1px solid #d4e1de;border-radius:8px;background:#f5f8f7;padding:11px 16px;font:inherit;font-size:13px;color:#24524d;margin:4px 6px 4px 0}.login-card button.primary,.shell-dialog button.primary{background:#187d71;color:white;border-color:transparent}.login-card form>button.primary{width:100%;margin:8px 0 12px;min-height:46px}.login-card button:disabled,.shell-dialog button:disabled{opacity:.55;cursor:not-allowed}.login-card .text-link{background:none;border:0;padding:5px 0;font-size:11px;margin-right:13px}.login-footnote{border-top:1px solid #e6eeea;margin-top:20px;padding-top:18px;font-size:11px;line-height:1.8;color:#768984}.login-support{font-size:12px;color:#7a8d89;margin-top:24px}.login-support a{color:#227c6c}.notice{padding:12px;border-radius:8px;background:#edf4f1;line-height:1.6;font-size:13px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(90vw,650px);background:#183f48;color:white;padding:15px 22px;border-radius:10px;z-index:99999;box-shadow:0 10px 35px #0002}.toast.error{background:#833e38}.toast[hidden]{display:none}.shell-dialog{position:fixed;inset:0;margin:auto;width:min(850px,94vw);max-height:90dvh;border:1px solid #d3e0db;border-radius:16px;padding:24px;color:#163943;background:#f9fbfa;overflow:auto;font-family:"Segoe UI",Arial,sans-serif}.shell-dialog::backdrop{background:#15313b80}.shell-dialog-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dde6e2;padding-bottom:12px}.shell-dialog h1{font-size:25px;margin-top:24px}.shell-dialog h2{font-size:18px}.account-card{background:white;border:1px solid #dce6e1;padding:20px;border-radius:12px;margin-top:18px}.shell-dialog .table-wrap{overflow:auto}.shell-dialog table{width:100%;border-collapse:collapse}.shell-dialog td,.shell-dialog th{padding:10px;border:1px solid #dde7e2;font-size:12px}.shell-dialog .secret{overflow-wrap:anywhere}.workspace-shell{padding-left:246px}.workspace-shell nav#tabs{position:fixed;left:0;top:0;bottom:0;width:246px;display:flex;flex-direction:column;gap:4px;padding:24px 14px;overflow-y:auto;background:#123e47;border:0;z-index:100;color:#d9e9e7;box-shadow:none}.workspace-shell nav#tabs>button{flex:none;color:#bad0d0;background:transparent;text-align:left;border:0;border-radius:7px;padding:12px 14px;font-size:12px;min-height:42px}.workspace-shell nav#tabs>button.active{background:#ffffff17;color:white;border:0;box-shadow:inset 3px 0 #61cbb1}.side-brand{display:grid;grid-template-columns:38px 1fr;column-gap:10px;align-items:center;padding:2px 12px 25px}.side-brand .brand-mark{grid-row:span 2}.side-brand strong{font-size:17px;color:white}.side-brand small{font-size:8px;letter-spacing:1px;color:#8dadae}.side-footer{margin-top:auto;border-top:1px solid #ffffff20;padding-top:16px}.side-footer button{display:block;width:100%;text-align:left;border:0;background:none;color:#b5cecc;padding:10px 14px;cursor:pointer}.workspace-shell header{background:white;color:#183f49;border-bottom:1px solid #d9e4e1;padding:22px 28px;min-height:90px}.workspace-shell header .sub{color:#6f878b}.workspace-shell header h1{font-size:19px}.workspace-shell .cloud-links a{color:#1d7569}.workspace-shell .cloud-links{color:#738985}.workspace-shell .page{max-width:1700px;margin:auto;padding:24px 24px 110px}.workspace-shell .testing-strip{font-size:11px;padding:10px 28px}.workspace-shell .personal-bar{font-size:12px}.workspace-shell .card{border:1px solid #dce6e3;box-shadow:0 2px 5px #173b3510}.workspace-shell .card h2{color:#23535a}.workspace-shell .fabBar,.workspace-shell #fabBar{z-index:80}#sidebar-toggle,.sidebar-shade{display:none}.workspace-shell .scroll{overflow:auto;max-width:100%}.workspace-shell .grid2,.workspace-shell .grid3{min-width:0}.workspace-shell input,.workspace-shell select{max-width:100%}@keyframes seat-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.art-seats i{animation:none}*{scroll-behavior:auto!important}}@media(max-width:1000px){.workspace-shell{padding-left:210px}.workspace-shell nav#tabs{width:210px;padding:20px 10px}.side-brand{padding-left:5px}.workspace-shell header h1{font-size:16px}.welcome{padding:32px}.login-card{padding:28px}}@media(max-width:760px){.login-layout{grid-template-columns:1fr}.welcome{padding:28px}.login-brand{margin-bottom:28px}.welcome h1{font-size:30px}.intro-video-wrap{margin:20px 0 12px}.tutorial-note{font-size:14.5px;margin:10px 0 20px}.planning-art{display:none}.login-side{padding:28px 20px}.welcome-features{gap:9px}.login-intro{font-size:14px}.login-card{max-width:500px}.workspace-shell{padding-left:0}.workspace-shell nav#tabs{transform:translateX(-100%);width:260px;z-index:1000}.workspace-shell.sidebar-open nav#tabs{transform:none}.workspace-shell.sidebar-open .sidebar-shade{display:block;position:fixed;inset:0;background:#18363c88;z-index:999;color:transparent;border:0;width:100%;height:100%}#sidebar-toggle{display:block;align-self:flex-start;background:#e8f1ed;border:1px solid #d4e2dc;border-radius:8px;padding:9px;color:#285e58;white-space:nowrap}.workspace-shell header{padding:16px;flex-wrap:wrap}.workspace-shell .page{padding:16px 10px 110px}.workspace-shell .testing-strip{padding:10px 16px}.workspace-shell .personal-bar{padding:12px 16px}.workspace-shell .cloud-links{font-size:11px}.shell-dialog{padding:18px}.login-card h2{font-size:25px}}@media print{.workspace-shell{padding-left:0}.workspace-shell nav#tabs,.side-footer,#sidebar-toggle,.sidebar-shade,.shell-dialog{display:none!important}}
@media screen{.workspace-shell #seatCfg,.workspace-shell #allSeats .roomBlock{max-width:100%;overflow-x:auto}.workspace-shell #pg-seating .card{min-width:0}}
/* Clear field feedback and one persistent project menu. */
.error-area{outline:2px solid #c93644!important;outline-offset:4px;border-radius:8px}
.form-group.error-area{background-color:#fff5f5!important}
[aria-invalid="true"]{border:2px solid #c93644!important;background:#fff5f5!important}
.project-tools{border-top:1px solid #d8e3df;padding-top:12px;margin-bottom:12px}.project-tools summary{cursor:pointer;font-weight:700;padding:12px 14px}.project-tools p{font-size:12px;line-height:1.5;padding:0 14px}.project-tools button{width:100%;margin:3px 0;text-align:left}
/* The legacy nav#tabs button rule (id selector) otherwise wins over .side-footer button and flattens its padding to 10px on all sides, knocking these two labels out of line with the rest of the sidebar. */
.workspace-shell nav#tabs .side-footer button{padding:10px 14px}
/* The optional-breaks hint adds a line of height that .form-row's align-items:flex-end then uses to shove the next field in the same wrapped line downward. Give this one field the whole line to itself so it can't drag a neighbor out of alignment. */
.workspace-shell .form-group:has(#cExtraBreaks){flex-basis:100%}
.modal{position:relative}
.modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;min-height:0;padding:0;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;border:1px solid #d4e1de;border-radius:8px;background:#f5f8f7;color:#24524d;cursor:pointer}
.modal-close:hover{background:#e3ece8}
#account-dialog{position:fixed}
#account-close{position:absolute;top:18px;right:18px;z-index:1}
#account-title{padding-right:48px}
#flow-error{position:relative;padding-right:44px}
.flow-error-close{position:absolute;top:8px;right:8px}
.admin-link{margin-left:auto;align-self:flex-start;border:1px solid #ccdcd8;border-radius:20px;padding:7px 14px;background:#fff;color:#345c55;font-size:12px;cursor:pointer}.login-body>.admin-link{position:absolute;right:22px;top:18px;text-decoration:none}.login-header-bar{position:fixed;z-index:25;top:16px;right:20px;display:flex;align-items:center;gap:14px}.login-nav{display:flex;align-items:center;gap:10px}.login-nav a{color:#285e58;text-decoration:none;font-size:12px;font-weight:650;padding:6px 10px;border-radius:6px;transition:background .15s ease,color .15s ease}.login-nav a:hover{color:#10564b;background:#e2ece7}.login-header-bar .admin-link{position:static;box-shadow:0 2px 8px #173b3515;text-decoration:none}@media(max-width:640px){.login-nav{display:none}}
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.metric-grid .metric{padding:18px;border-radius:12px;background:#eef6f2}.metric strong{display:block;font-size:28px;color:#176c5c}.metric small{display:block;font-size:13px;margin-top:5px}.account-card p{line-height:1.5}.account-card input{margin:6px 0}
@media screen{
 .workspace-shell header{gap:24px;flex-wrap:wrap;align-items:center}.workspace-shell header h1{margin-right:16px}.workspace-shell .cloud-links{display:flex;flex-direction:column;gap:8px;margin-left:auto}.workspace-shell header .admin-link{margin-left:0}
 .workspace-shell .form-group{min-width:150px;flex:1 1 180px}.workspace-shell .form-group label{display:block;margin-bottom:8px;line-height:1.4}.workspace-shell .form-group input,.workspace-shell .form-group select{width:100%;padding:10px 12px;background:#fff;border:1px solid #cbdcd6;border-radius:7px;min-height:40px}.workspace-shell .form-group small{display:block;margin-top:6px;line-height:1.5}
 .workspace-shell .status,.workspace-shell .inline-msg{line-height:1.6}.workspace-shell .form-row{gap:16px}.workspace-shell .project-tools p{color:#c6ddd5}.google-login{margin-bottom:20px}.google-login p{font-size:12px}
}

/* Keep every navigation and project control reachable on short screens. */
@media screen{
 .workspace-shell nav#tabs{height:100dvh;max-height:100dvh;overflow-y:scroll;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#6eaaa0 #123e45;justify-content:flex-start}
 .workspace-shell nav#tabs>*{flex-shrink:0}
 .workspace-shell nav#tabs::-webkit-scrollbar{width:11px}
 .workspace-shell nav#tabs::-webkit-scrollbar-track{background:#123e45}
 .workspace-shell nav#tabs::-webkit-scrollbar-thumb{background:#6eaaa0;border:2px solid #123e45;border-radius:8px}
 .login-body>.admin-link{position:fixed;z-index:20;top:16px;right:20px;box-shadow:0 2px 8px #173b3515}
.login-card input[readonly]{background:#f1f6f3;color:#315e55}
.login-card .password-guidance{margin:-6px 0 12px;padding:9px 11px}.login-card .password-toggle{display:flex;align-items:center;gap:8px;margin:2px 0 14px;font-weight:500}.login-card .password-toggle input{display:inline-block;width:16px;height:16px;margin:0;padding:0;accent-color:#187d71}.login-card input[aria-invalid="true"]{border-color:#a33b35;background:#fff7f6;outline:3px solid #a33b3518}
.login-card .password-guidance-title{margin:4px 0 7px;font-size:12px;font-weight:700;color:#345a59}.password-requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;margin:0 0 14px;padding:0;list-style:none;font-size:12px;color:#7a514d}.password-requirements li::before{content:'○';display:inline-block;width:18px}.password-requirements li.met{color:#187d71}.password-requirements li.met::before{content:'✓'}
.account-actions{display:flex;justify-content:flex-end;margin-top:22px;padding-top:16px;border-top:1px solid #dce6e1}.account-actions button{min-width:110px}.side-footer .admin-dashboard-link{color:#fff;font-weight:700;background:#ffffff12;border-radius:7px}[hidden],.side-footer [hidden],.side-footer button[hidden],#admin-dashboard-link[hidden]{display:none!important}.login-card .login-eyebrow,.login-card h2,.login-card #account-notice,.login-card .google-login p,.login-card .login-footnote{text-align:center}
}
@media(max-width:480px){.password-requirements{grid-template-columns:1fr}}
@media screen{.workspace-shell nav#tabs{flex-wrap:nowrap;align-content:stretch}.workspace-shell nav#tabs>button{flex:0 0 auto}}
@media screen{
 .workspace-shell{--content-left:246px;padding-left:var(--content-left)}
 .workspace-shell.sidebar-collapsed{--content-left:0px}
 .workspace-shell.sidebar-collapsed nav#tabs{transform:translateX(-100%)}
 .workspace-shell header{padding-left:64px}
 .workspace-shell #sidebar-toggle{display:flex;position:fixed;top:18px;left:calc(var(--content-left) + 12px);z-index:1050;width:38px;height:38px;align-items:center;justify-content:center;font-size:22px;padding:0;cursor:pointer}
 .workspace-shell .modalBG{left:var(--content-left);z-index:1100;padding:18px;isolation:isolate}
 .workspace-shell .modalBG .modal{width:1200px;max-width:100%;max-height:calc(100dvh - 36px);min-width:0;overflow:auto;box-sizing:border-box}
 .workspace-shell dialog.shell-dialog,.workspace-shell dialog.personal-confirm,.workspace-shell #flow-print-preview{position:fixed;inset:0 0 0 var(--content-left);margin:auto;width:min(1100px,calc(100vw - var(--content-left) - 36px));max-width:calc(100vw - var(--content-left) - 36px);max-height:calc(100dvh - 36px);overflow:auto;box-sizing:border-box}
 .workspace-shell dialog.shell-dialog{width:min(850px,calc(100vw - var(--content-left) - 36px))}
 .workspace-shell dialog.personal-confirm{width:min(600px,calc(100vw - var(--content-left) - 36px))}
 .popup-close,.shell-dialog button.popup-close,.modal button.popup-close{position:sticky;top:0;float:right;z-index:5;width:34px;height:34px;min-width:34px;min-height:34px;margin:0 0 10px 14px;padding:0;display:grid;place-items:center;font-size:24px;line-height:1;border:1px solid #cbdcd6;border-radius:8px;background:#f5f8f7;color:#24524d;cursor:pointer;flex-shrink:0}
 .modal .popup-close{right:0}.modal h2,.personal-confirm h2{padding-right:48px}.shell-dialog-head{position:sticky;top:0;background:#f9fbfa;z-index:6}.shell-dialog-head .popup-close{float:none;margin-bottom:0}
 #account-close.popup-close{position:sticky;top:0;right:0}
 #flow-print-preview .toolbar .popup-close{position:static;margin-left:auto;padding:0;font-size:24px}
 .action-confirm{padding:24px;border:1px solid #d3e0db;border-radius:14px}.action-confirm p{white-space:pre-line}
}
@media screen and (min-width:761px) and (max-width:1000px){.workspace-shell{--content-left:210px}.workspace-shell.sidebar-collapsed{--content-left:0px}}
@media screen and (max-width:760px){.workspace-shell{--content-left:0px}.workspace-shell.sidebar-open nav#tabs{transform:none}.workspace-shell.sidebar-open #sidebar-toggle{left:270px}.workspace-shell .modalBG{left:0}.workspace-shell header{padding-left:64px}}

@media screen{
 .workspace-shell .page input:not([type=checkbox]):not([type=radio]):not([type=file]),.workspace-shell .page select,.workspace-shell .page textarea,.workspace-shell .modal input:not([type=checkbox]):not([type=radio]),.workspace-shell .modal select{background:#eef6f2!important;border:1px solid #bfd5cc;border-radius:7px;color:#173f39;padding:8px 10px;box-sizing:border-box}
 .workspace-shell .working-settings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 18px;align-items:start}
 .workspace-shell .working-settings .form-group{min-width:0;max-width:none;margin:0;flex:none}
 .workspace-shell .working-settings label{font-size:12px;min-height:32px;margin-bottom:4px;line-height:1.3}
 .workspace-shell .working-settings input{width:100%;max-width:160px;min-height:34px;padding:6px 8px}
 .workspace-shell .working-settings small{font-size:11px;line-height:1.3}
 .workspace-shell #invTable th,.workspace-shell #invTable td{position:static!important;left:auto!important;top:auto!important}
 .workspace-shell input[type=checkbox],.workspace-shell input[type=radio]{width:18px!important;height:18px!important;min-height:18px;padding:0;accent-color:#167b62;cursor:pointer;appearance:auto}
 .workspace-shell .avTable td{min-width:36px}
 .workspace-shell #fabBar button[data-es-click="saveCurrent()"]{background:#16815f;color:#fff}
}
@media(max-width:760px){.workspace-shell .working-settings{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media screen{.workspace-shell #stBoard{display:block;width:100%;min-height:40px;margin:6px 0 14px}.workspace-shell #personal-load{display:none!important}}

.google-login{text-align:center}.google-button-holder{display:flex;justify-content:center;align-items:center;width:100%;min-width:0}.google-button-holder>div{margin-inline:auto}.google-button-holder iframe{margin-inline:auto!important;display:block}
.login-divider{display:flex;align-items:center;text-align:center;margin:18px 0 14px;color:#6b7280;font-size:12px;font-weight:500}.login-divider::before,.login-divider::after{content:'';flex:1;border-bottom:1px solid #d1d5db}.login-divider span{padding:0 10px}
.workspace-shell .exam-identity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;align-items:start}.exam-identity-grid>div{min-width:0;margin:0}.exam-identity-grid label{margin:0 0 5px}.exam-identity-grid input{width:100%;margin:0}.exam-identity-grid .exam-bnpl{grid-column:span 2}
@media(max-width:760px){.workspace-shell .exam-identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-identity-grid .exam-bnpl{grid-column:span 2}}
@media(max-width:420px){.workspace-shell .exam-identity-grid{grid-template-columns:1fr}.exam-identity-grid .exam-bnpl{grid-column:auto}}
/* ClassTurn: shared, lightweight colour and interaction system. */
:root{--campus-ink:#193f3a;--campus-accent:#176c5f;--campus-hover:#10564b;--campus-soft:#edf6f2;--campus-border:#c9dfd7;--campus-muted:#526e66}
@media screen{
 body.workspace-shell{background:#f5f8f6;color:var(--campus-ink)}
 .workspace-shell .page button,.workspace-shell #fabBar button,.workspace-shell .modal button,.login-card button.primary,.shell-dialog button.primary{background:var(--campus-accent);color:#fff;border:1px solid var(--campus-accent);border-radius:8px;box-shadow:none;font-weight:600;cursor:pointer;transition:background .15s ease}
 .workspace-shell .page button:hover,.workspace-shell #fabBar button:hover,.login-card button.primary:hover,.shell-dialog button.primary:hover{background:var(--campus-hover)}
 .workspace-shell .page button.gray,.workspace-shell .page button.secondary,.workspace-shell .page button.btn-outline{background:var(--campus-soft);color:var(--campus-accent);border-color:var(--campus-border)}
 .workspace-shell .page button.danger,.workspace-shell .page button.red{background:#a83b45;border-color:#a83b45;color:white}
 .workspace-shell button:disabled{opacity:.5;cursor:not-allowed}
 button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c38b2b;outline-offset:3px}
 .workspace-shell nav#tabs .side-brand{display:grid;width:100%;grid-template-columns:38px 1fr;text-align:left;background:none;border:0;border-radius:10px;padding:8px 10px 22px;cursor:pointer;color:white}
 .workspace-shell .brand-wrap{flex:none}.side-brand .brand-mark{background:#d7f0e5;color:#145d51}
 .sidebar-section-divider{font-size:10px;font-weight:750;letter-spacing:1.5px;color:#78b2a8;padding:14px 12px 6px;margin-top:6px;text-transform:uppercase;border-top:1px solid rgba(255,255,255,0.12);pointer-events:none;user-select:none}
 .sidebar-section-divider:first-of-type{border-top:0;margin-top:0;padding-top:2px}
 .sidebar-section-divider.exam-divider{color:#90e3d5;border-top:1px solid rgba(97,203,177,0.35);margin-top:10px;padding-top:14px}
 .workspace-shell nav#tabs>button.tab-exam-start{background:rgba(22,124,115,0.32);border:1px solid rgba(97,203,177,0.55);color:#ffffff;font-weight:600;position:relative}
 .workspace-shell nav#tabs>button.tab-exam-start:after{content:'EXAMS';position:absolute;right:8px;top:50%;transform:translateY(-50%);background:#167c73;color:#ffffff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:0.5px}
 .workspace-shell nav#tabs>button.tab-exam-start:hover{background:rgba(22,124,115,0.5)}
 .home-visible #fabBar,body:has(#pg-home.active) #fabBar{display:none!important}.home-visible .testing-strip,body:has(#pg-home.active) .testing-strip{display:none}
 #pg-home{max-width:1300px}.home-hero{padding:34px 32px;border:1px solid var(--campus-border);border-radius:20px;background:linear-gradient(120deg,#e7f3ec,#f8fbf5);position:relative;overflow:hidden}
 .home-eyebrow{display:block;letter-spacing:1.5px;font-size:10px;font-weight:700;color:var(--campus-accent);margin-bottom:12px}
 .home-hero h1{font-size:clamp(28px,3vw,42px);line-height:1.13;letter-spacing:-1.2px;margin:0 0 14px;color:var(--campus-ink)}
 .home-hero p{max-width:660px;font-size:16px;line-height:1.65;color:var(--campus-muted);margin:0 0 18px}
 .home-actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 14px}.home-actions button{padding:12px 20px;min-height:44px}
 .home-hero small{display:block;color:var(--campus-muted);font-size:12px;line-height:1.6;max-width:680px}
 .home-checklists{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;margin-top:18px}.home-checklists .card{margin:0;padding:24px;border-radius:14px}
 #pg-home h2{font-size:19px;margin:0 0 16px;letter-spacing:-.3px}#pg-home ul{padding-left:20px;margin:0;line-height:1.65;font-size:13px}#pg-home li{margin-bottom:10px;padding-left:3px}
 .home-note{border-top:1px solid #e0eae5;padding-top:14px;margin:16px 0 0;color:var(--campus-muted);font-size:12px;line-height:1.6}
 .home-flow{margin-top:18px;padding:24px;border-radius:14px}.home-flow svg{display:block;width:100%;height:auto}.home-flow-mobile{display:none}
}
@media(max-width:760px){.home-checklists{grid-template-columns:1fr}.home-hero{padding:24px 20px}.home-checklists .card,.home-flow{padding:20px}.home-flow svg{display:none}.home-flow-mobile{display:grid;gap:10px;padding-left:24px;color:var(--campus-accent);font-size:14px}.home-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){button{transition:none!important}}
@media print{#pg-home{display:none!important}}
@media screen{body.workspace-shell{font-family:"Segoe UI",Arial,sans-serif}.workspace-shell button,.workspace-shell input,.workspace-shell select,.workspace-shell textarea{font-family:inherit}#home-title:focus{outline:none}.workspace-shell #sidebar-toggle{background:#edf6f2;border:1px solid #c9dfd7;border-radius:8px;color:#176c5f;padding:9px 12px}}
@media screen{
 .workspace-shell #upgrade-button{position:fixed;top:17px;right:20px;z-index:1045;min-height:38px;padding:8px 18px;border:1px solid #b97b13;border-radius:9px;background:#f4b942;color:#173f39;font-weight:750;box-shadow:0 5px 14px #173f3920;cursor:pointer}
 .workspace-shell header{padding-right:150px}
 .workspace-shell #upgrade-button:hover{background:#e9aa2d}
 #plan-card{scroll-margin-top:20px}
}
@media(max-width:760px){.workspace-shell #upgrade-button{top:18px;right:12px;padding:8px 13px}.workspace-shell header{padding-right:118px}.workspace-shell .cloud-links{max-width:calc(100% - 102px)}}
@media print{#upgrade-button{display:none!important}}
.login-legal{display:block;margin-top:.55rem;font-size:.82rem}.login-legal a{color:inherit}.legal-body{min-height:100vh;margin:0;background:linear-gradient(145deg,#f4fbf9,#eef4ff);color:#17323d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1080px;margin:auto;padding:1.1rem 1.4rem}.legal-header nav{display:flex;gap:1rem;flex-wrap:wrap}.legal-header a,.legal-footer a,.legal-document a{color:#176b68}.legal-main{max-width:980px;margin:auto;padding:3rem 1.4rem 4rem}.legal-hero{max-width:780px;padding:2.4rem 0}.legal-hero h1,.legal-document h1{font-size:clamp(2rem,5vw,4rem);line-height:1.05;margin:.5rem 0 1rem;color:#133d49}.legal-hero p{font-size:1.15rem;line-height:1.7}.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.legal-grid article,.legal-card,.legal-document{background:#fff;border:1px solid #d7e7e4;border-radius:20px;box-shadow:0 14px 42px rgba(24,75,79,.08);padding:1.5rem}.legal-grid h2,.legal-card h2,.legal-document h2{color:#176b68}.legal-grid p,.legal-card p,.legal-document p,.legal-document li{line-height:1.7}.legal-card{margin-top:1rem}.legal-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.2rem}.legal-button{display:inline-block;background:#176b68;color:#fff!important;text-decoration:none;padding:.75rem 1rem;border-radius:10px;font-weight:700}.legal-document{max-width:820px}.legal-document h1{font-size:clamp(2rem,4vw,3rem)}.legal-document h2{margin-top:2rem}.legal-footer{max-width:980px;margin:auto;padding:1.3rem;border-top:1px solid #d7e7e4;text-align:center;color:#526a72}@media(max-width:760px){.legal-grid{grid-template-columns:1fr}.legal-header{align-items:flex-start}.legal-main{padding-top:1.5rem}}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}.pricing-grid article{background:#fff;border:1px solid #dce6e1;border-radius:14px;padding:24px}.pricing-grid h2{font-size:17px;margin:0 0 18px}.pricing-grid strong{display:block;color:#167c73;font-size:31px}.pricing-grid small{font-size:13px;color:#607b83;font-weight:600}.pricing-grid p,.feature-steps{color:#526e66;line-height:1.7}.feature-steps{padding-left:22px}.legal-header nav a[aria-current=page]{color:#167c73;text-decoration-thickness:2px;text-underline-offset:5px}@media(max-width:760px){.pricing-grid{grid-template-columns:1fr}}

/* All alerts, toasts, and confirmation popups guaranteed on-screen in foreground */
.toast,
dialog .toast,
.modalBG .toast,
.modal .toast {
  position: fixed !important;
  bottom: 24px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  max-width: min(90vw, 650px) !important;
  background: #183f48 !important;
  color: white !important;
  padding: 15px 22px !important;
  border-radius: 10px !important;
  z-index: 2147483647 !important;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.4) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  text-align: center !important;
  pointer-events: auto !important;
}
.toast.error,
dialog .toast.error,
.modalBG .toast.error,
.modal .toast.error {
  background: #833e38 !important;
}
.toast[hidden] {
  display: none !important;
}
.workspace-shell dialog.personal-confirm,
.workspace-shell dialog.action-confirm {
  z-index: 2147483640 !important;
}

/* Live Seating Pattern & Flow Preview */
.preview-card{background:#ffffff;border:1px solid #cbd5e1;border-radius:12px;padding:16px;margin:16px 0 12px;box-shadow:0 4px 6px -1px rgba(0,0,0,0.05)}
.preview-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;border-bottom:1px solid #e2e8f0;padding-bottom:10px;margin-bottom:12px}
.preview-title{font-size:14.5px;font-weight:700;color:#0f172a;margin:0;display:flex;align-items:center;gap:8px}
.preview-badge{background:#e0e7ff;color:#3730a3;padding:3px 9px;border-radius:12px;font-size:11px;font-weight:600;border:1px solid #c7d2fe}
.preview-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;font-weight:500}
.preview-legend-item{display:inline-flex;align-items:center;gap:5px}
.preview-dot{width:10px;height:10px;border-radius:3px;display:inline-block}
.preview-dot.dot-a{background:#2563eb}
.preview-dot.dot-b{background:#d97706}
.preview-dot.dot-c{background:#059669}
.preview-dot.dot-vacant{background:#e2e8f0;border:1px dashed #94a3b8}
.preview-grid-wrap{overflow-x:auto;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}
.preview-table{border-collapse:separate;border-spacing:10px 8px;margin:0 auto}
.preview-col-header{text-align:center;font-size:11.5px;font-weight:700;color:#475569;padding-bottom:2px}
.preview-row-header{font-size:11px;font-weight:700;color:#64748b;padding-right:6px;vertical-align:middle;white-space:nowrap}
/* Seating plan student PIN inputs - generous width prevents any truncation */
.workspace-shell .seatCell {
  min-width: 140px !important;
  white-space: nowrap !important;
  padding: 4px 6px !important;
}
.workspace-shell .seatCell input {
  min-width: 132px !important;
  width: 100% !important;
  max-width: 175px !important;
  padding: 5px 8px !important;
  font-size: 12px !important;
  border-radius: 6px !important;
  border: 1px solid #cbd5e1 !important;
  background: #f8fafc !important;
  box-sizing: border-box !important;
  text-align: center !important;
  white-space: nowrap !important;
  letter-spacing: 0.3px !important;
}

.preview-bench{display:inline-flex;border:1.5px solid #94a3b8;border-radius:8px;background:#fff;padding:4px;gap:5px;box-shadow:0 1px 3px rgba(0,0,0,0.08)}
.preview-slot{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-width:60px;min-height:52px;padding:4px 3px 3px;border-radius:6px;font-size:11.5px;font-weight:700;box-sizing:border-box;position:relative;transition:transform .15s ease,box-shadow .15s ease}
.preview-slot:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,0.12)}
.preview-slot.slot-a{background:#eff6ff;color:#1d4ed8;border:1.5px solid #93c5fd}
.preview-slot.slot-b{background:#fffbeb;color:#b45309;border:1.5px solid #fcd34d}
.preview-slot.slot-c{background:#ecfdf5;color:#047857;border:1.5px solid #6ee7b7}
.preview-slot.slot-vacant{background:#f8fafc;color:#94a3b8;border:1.5px dashed #cbd5e1;justify-content:center;gap:2px}
.preview-slot-pin{font-size:12px;font-weight:800;line-height:1.1;letter-spacing:0.5px}
.preview-vacant-dash{font-size:14px;font-weight:700;line-height:1}
.preview-vacant-sub{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;color:#94a3b8}
.preview-arrow{display:flex;align-items:center;justify-content:center;margin-top:2px;line-height:1}
.preview-arrow-svg{display:block;filter:drop-shadow(0 1px 1px rgba(0,0,0,0.1))}
.preview-arrow.arrow-a{color:#2563eb}
.preview-arrow.arrow-b{color:#d97706}
.preview-arrow.arrow-c{color:#059669}
.preview-flow-expl{margin-top:10px;font-size:12px;color:#475569;background:#f8fafc;padding:9px 12px;border-radius:6px;border-left:3px solid #3b82f6;line-height:1.5}


