:root{--ink:#201035;--muted:#615673;--deep:#211345;--purple:#47258c;--accent:#7851cb;--cream:#f8f6fc;--edge:#e0daec;--white:#fff;--success:#0c7856;--error:#9c3035;--gold:#b1761d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font:15px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;margin:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.04em;line-height:1.18;margin:8px 0 10px}h2{font-size:1.2rem;letter-spacing:-.025em}h3{font-size:1rem}a{color:var(--purple)}.shell{width:min(1180px,calc(100% - 36px));margin:0 auto}.topbar{background:var(--deep);color:#fff;border-bottom:4px solid #8d68dc}.top-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:11px;letter-spacing:.07em;line-height:1.1}.brand small{font-size:10px;display:block;margin-top:4px;letter-spacing:.12em;color:#c6b4f3}.brandmark,.login-icon{display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(145deg,#a18bf1,#51289b);border-radius:12px;width:38px;height:38px;font-size:24px}.top-actions{display:flex;align-items:center;gap:15px}.username{font-size:13px}.username small{opacity:.7}.inline{display:inline}.signout{background:transparent;color:white;border:1px solid #9b85c4;padding:7px 12px;border-radius:9px;cursor:pointer}.content{padding-top:40px;padding-bottom:80px;min-height:75vh}.page-head{margin-bottom:28px}.page-head p{color:var(--muted)}.page-head .back{font-size:13px;display:block;margin-bottom:18px}.flex-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.eyebrow{display:block;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.14em;margin-bottom:9px;text-transform:uppercase}.button{display:inline-flex;border-radius:10px;font-weight:800;text-decoration:none;padding:11px 16px;border:0;font:inherit;cursor:pointer;align-items:center;justify-content:center}.button.primary{background:var(--purple);color:white}.button.secondary{background:#eee7fa;color:var(--purple);border:1px solid #cebdea}.button:hover{filter:brightness(1.08)}.button.wide{width:100%}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.stat{padding:22px 24px;border:1px solid var(--edge);border-radius:14px;background:#fff}.stat span{color:var(--muted);display:block;font-size:11px;letter-spacing:.07em;font-weight:800}.stat strong{font-size:32px;color:var(--purple)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:#fff;border:1px solid var(--edge);padding:26px;border-radius:16px;box-shadow:0 4px 18px #2d175f08}.panel.narrow{max-width:740px}.section-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--edge);padding-bottom:10px;margin-bottom:12px}.section-head h2{margin:0}.row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 2px;border-bottom:1px solid var(--edge);text-decoration:none;color:var(--ink)}.row:hover{color:var(--purple)}.row:last-child{border:0}.row small{display:block;color:var(--muted);font-size:12px}.arrow{font-weight:800}.empty{color:var(--muted);padding:18px 0}.badge{display:inline-block;border-radius:99px;padding:4px 8px;background:#ece8f4;color:#6b5b86;font-weight:800;font-size:10px;white-space:nowrap}.badge.success{background:#d6f4e7;color:var(--success)}.badge.danger{background:#fbe2e2;color:var(--error)}.badge.pending{background:#fff0d5;color:#855616}input,select,textarea{font:inherit;border-radius:9px;border:1px solid #c4bbd0;width:100%;padding:11px;margin-top:6px;background:#fff;color:var(--ink)}textarea{resize:vertical}.stack{display:grid;gap:14px}.stack.compact{gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}label{font-weight:650;font-size:13px;display:block}.muted{color:var(--muted)}.small{font-size:12px}.sitebox{padding:20px 0;border-bottom:1px solid var(--edge)}.sitebox:last-child{border:0}.sitebox h3{margin-bottom:6px}.sitebox p{margin-bottom:8px}.sitebox form{background:#f7f4fc;padding:16px;border-radius:12px;margin-top:16px}.sitebox .rows{margin-top:12px}.summary-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:20px}.summary-strip>div{background:#fff;border:1px solid var(--edge);border-radius:12px;padding:13px;text-align:center}.summary-strip strong{font-size:25px;color:var(--purple);display:block}.summary-strip small{font-size:9px;color:var(--muted);font-weight:800;display:block}.actionbar{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-bottom:15px;flex-wrap:wrap}.notice{padding:16px;background:#eee7fa;border:1px solid #d4c1f4;border-radius:12px;color:#3e246a;margin:12px 0 24px}.category-head{display:flex;align-items:center;justify-content:space-between;margin:38px 0 14px}.category-head h2{margin:0;font-size:1.4rem}.category-head span{font-size:12px;color:var(--muted)}.checks{display:grid;gap:15px}.check-card{background:#fff;border:1px solid var(--edge);border-radius:15px;padding:23px}.check-title{display:flex;align-items:start;justify-content:space-between;gap:15px}.check-title h3{font-size:1.12rem;margin-bottom:8px}.check-title p{margin-bottom:6px}.check-form{display:grid;grid-template-columns:1fr 1.5fr 1.5fr auto;gap:14px;align-items:end;border-top:1px solid var(--edge);margin-top:16px;padding-top:17px}.check-form textarea{min-height:70px}.check-form .button{margin-bottom:3px}.alert{background:#ffeded;border:1px solid #efbcbc;color:var(--error);padding:12px 15px;border-radius:10px;margin-bottom:18px}.login-main{min-height:calc(100vh - 130px);display:flex;align-items:center;justify-content:center;padding:50px 0}.login-panel{width:min(440px,100%);background:#fff;border:1px solid var(--edge);padding:35px;border-radius:20px;box-shadow:0 22px 70px #2914491a}.login-icon{height:52px;width:52px;margin-bottom:25px;font-size:30px}.login-panel h1{font-size:29px}.login-panel p{margin-bottom:25px}.login-panel .stack{margin-top:22px}.login-panel .small{margin-top:22px;margin-bottom:0}.footer{background:#f1edf6;border-top:1px solid var(--edge);padding:18px 0;color:var(--muted);font-size:11px}.report{background:#fff;border:1px solid var(--edge);border-radius:15px;padding:45px;max-width:1000px;margin:0 auto;box-shadow:0 7px 20px #2914490a}.report-top{display:flex;justify-content:space-between;border-bottom:3px solid var(--purple);padding-bottom:22px}.report-number{font-size:33px;font-weight:800;color:var(--purple)}.report-meta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:15px;margin:22px 0 28px}.report-meta b{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.report-meta span{font-size:14px}.report-disclaimer{font-size:12px;color:var(--muted);padding:12px;background:#f8f6fc;border-left:3px solid var(--purple)}.report-category{margin:32px 0 10px}.report-table{border-collapse:collapse;width:100%;font-size:12px;table-layout:fixed}.report-table th,.report-table td{padding:10px;border:1px solid var(--edge);text-align:left;vertical-align:top;overflow-wrap:anywhere;white-space:pre-wrap}.report-table th:first-child{width:25%}.report-table th:nth-child(2){width:20%}.report-table th{background:#f1ebf9}.report-bottom{font-size:12px;color:var(--muted);margin-top:30px;border-top:1px solid var(--edge);padding-top:15px}
@media(max-width:980px){.check-form{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.summary-strip{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.flex-head{display:block}.stats,.form-grid,.summary-strip{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}.check-form{grid-template-columns:1fr}.top-inner{min-height:72px}.username{display:none}.report{padding:20px}.report-meta{grid-template-columns:1fr 1fr}.report-table{font-size:10px}.button{padding:10px 13px}}@media print{*{box-shadow:none!important}body{background:white;color:black}.topbar,.footer,.no-print,.actionbar{display:none!important}.shell{width:100%;max-width:none}.content{padding:0}.report{border:0;padding:0}.report-category{break-after:avoid}.report-table tr{break-inside:avoid}.summary-strip{break-inside:avoid}@page{margin:12mm}}

/* Compact additions for staff, device records and PDF export */
.staff-link{color:#ede0ff;text-decoration:none;font-weight:700;border:1px solid rgba(255,255,255,.35);border-radius:8px;padding:7px 11px}.staff-link:hover{background:rgba(255,255,255,.1)}
.asset-box{background:#f7f2ff;border:1px solid #d3c5e9;border-radius:12px;padding:13px;margin:16px 0}.asset-box summary{cursor:pointer;color:#2d1b69;font-weight:700}.asset-box .stack{margin-top:12px}


/* 0.2 guided inspection workspace: only one active check, responsive task navigation */
[hidden]{display:none!important}
.mot-workflow{margin:26px 0 54px}
.mot-progress-card{border:1px solid #d9cce9;background:linear-gradient(110deg,#fff,#f3edff);padding:19px 22px;border-radius:18px;box-shadow:0 8px 30px #2914490a;margin-bottom:18px}
.mot-progress-top{display:flex;align-items:center;justify-content:space-between;gap:15px}
.mot-progress-label{font-size:1.26rem;letter-spacing:-.02em;display:block;color:#261644}
.mot-progress-percent{font-size:25px;font-weight:850;color:#4b2599}
.mot-track{height:10px;border-radius:20px;background:#e1d9ec;overflow:hidden;margin:14px 0 9px}
.mot-track-fill{height:100%;width:0;background:linear-gradient(90deg,#7253d6,#3ab08d);border-radius:20px;transition:width .25s}
.mot-progress-note{margin:0;color:#635578;font-size:12px}
.mot-workflow-grid{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:18px;align-items:start}
.mot-sidebar,.mot-active-panel{min-width:0;background:white;border:1px solid #dfd9ed;border-radius:18px;box-shadow:0 7px 25px #29144907}
.mot-sidebar{padding:18px;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
.mot-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.mot-side-head h2{font-size:1rem;margin:0}
.mot-simple-link{background:none;border:0;color:#5a319d;cursor:pointer;font-size:12px;font-weight:700;text-decoration:underline}
.mot-nav-category+.mot-nav-category{border-top:1px solid #eee8f7;margin-top:15px;padding-top:13px}
.mot-category-title{color:#6a5979;font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:850;margin:0 0 7px}
.mot-nav-item{border:1px solid transparent;background:transparent;width:100%;text-align:left;border-radius:9px;display:flex;align-items:center;gap:12px;justify-content:space-between;color:#342444;padding:9px 10px;font-size:12px;line-height:1.3;cursor:pointer}
.mot-nav-item:hover{background:#f5f0fe}
.mot-nav-item.active{background:#efe8fb;border-color:#c9b5e9;color:#3e1b7b;font-weight:800}
.mot-nav-status{font-size:15px;min-width:22px;text-align:center;font-weight:900}
.mot-nav-item[data-status="PASS"] .mot-nav-status{color:#0c7856}
.mot-nav-item[data-status="ATTENTION"] .mot-nav-status{color:#99600d}
.mot-nav-item[data-status="ACTION REQUIRED"] .mot-nav-status{color:#af3030}
.mot-nav-item[data-status="NOT APPLICABLE"] .mot-nav-status{color:#615673}
.mot-active-panel{padding:25px}
.mot-active-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #e7dff3;padding-bottom:15px;margin-bottom:19px}
.mot-active-head h2{font-size:1.45rem;margin:0}
#mot-current-count{font-weight:800;color:#614683;background:#f4effc;border-radius:40px;padding:5px 11px;white-space:nowrap}
.mot-active-panel .check-card{padding:0;border:0;border-radius:0;box-shadow:none}
.mot-active-panel .check-title{display:block}
.mot-active-panel .check-title h3{display:none}
.mot-active-panel .check-title>.badge{display:inline-block;margin:12px 0 6px}
.mot-active-panel .check-title p{font-size:13px}
.mot-active-panel .check-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:13px;padding-top:15px}
.mot-active-panel .check-form label:first-of-type{grid-column:1 / -1;max-width:280px}
.mot-active-panel .check-form textarea{min-height:98px}
.mot-active-panel .check-form button[type=submit]{grid-column:1 / -1;justify-self:end;padding:13px 25px;background:#4a2594;color:white}
.mot-quick-status{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 0 8px}
.mot-quick-caption{display:block;width:100%;font-size:11px;font-weight:850;color:#645373;letter-spacing:.09em}
.mot-result-btn{background:#f8f5fc;color:#3a2b54;border:1px solid #dcd0ec;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:800;cursor:pointer}
.mot-result-btn:hover{background:#eee7fa}
.mot-result-btn.selected{background:#46228c;color:white;border-color:#46228c}
.mot-nav-foot{display:flex;justify-content:space-between;border-top:1px solid #e8e0f2;padding-top:19px;margin-top:17px}
.mot-nav-foot button:disabled{opacity:.4;cursor:not-allowed}
.mot-workflow :focus-visible{outline:3px solid #a08deb;outline-offset:3px}
@media(max-width:800px){.mot-workflow-grid{grid-template-columns:1fr}.mot-sidebar{position:static;max-height:275px}.mot-active-panel{padding:20px}.mot-active-head h2{font-size:1.25rem}}
@media(max-width:560px){.mot-active-panel .check-form{grid-template-columns:1fr}.mot-active-panel .check-form label:first-of-type{grid-column:auto}.mot-progress-label{font-size:1rem}.mot-result-btn{font-size:11px;padding:9px 10px}}
@media print{.mot-workflow{display:none!important}}


/* v0.3 interactive SOP Teacher — spacious 3-column desktop and responsive guided assistant */
main.shell.content:has(.mot-workflow){width:min(1560px,calc(100% - 36px))}
main.shell.content:has(.mot-workflow) .mot-workflow-grid{grid-template-columns:minmax(210px,255px) minmax(440px,1fr) minmax(310px,375px);gap:15px}
.mot-coach{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;min-width:0;background:#fff;border:1px solid #d9c9e8;border-radius:17px;box-shadow:0 13px 42px #29144912;scrollbar-color:#c5b6d8 transparent}
.coach-head{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:17px 17px 15px;background:linear-gradient(115deg,#28154c,#4c298c);color:#fff;border-radius:16px 16px 0 0}
.coach-identity{display:flex;gap:10px;align-items:center;min-width:0}.coach-identity .eyebrow{font-size:9px;color:#e2d5fa;letter-spacing:.09em}
.coach-icon{display:grid;place-items:center;min-width:34px;height:34px;border-radius:10px;background:linear-gradient(140deg,#aa95ff,#7952df);font-weight:900;font-size:22px}
.coach-head h2{font-size:16px;color:white;margin:1px 0 0;letter-spacing:-.03em;white-space:nowrap}
.coach-live{font-size:9px;border:1px solid #997cc6;color:#e6def4;padding:3px 6px;border-radius:99px;vertical-align:middle;letter-spacing:0;white-space:nowrap}
.coach-toggle{border:1px solid #a695c7;color:white;background:transparent;font-size:11px;font-weight:800;padding:7px;border-radius:8px;cursor:pointer;white-space:nowrap}
.coach-contents{padding:15px;display:grid;gap:14px}
.mot-coach.collapsed .coach-contents{display:none}.mot-coach.collapsed{max-height:none}
.coach-context{display:flex;flex-direction:column;gap:3px;border-bottom:1px solid #e7dff2;padding-bottom:12px}
.coach-context strong{font-size:14px;line-height:1.35}.coach-context span{color:#664a89;font-size:11px}
.coach-playbook{border:1px solid #d8d0e7;background:#f8f5fd;border-radius:11px;padding:10px 12px;font-size:12px}
.coach-playbook summary{cursor:pointer;font-weight:850;color:#452382}
.coach-playbook[open] summary{padding-bottom:10px}
.coach-playbook p{font-size:12px;line-height:1.55;margin:9px 0}
.coach-sop-prep{background:#f0e9ff;border-left:3px solid #7b57bc;padding:7px}
.coach-sop-h4{font-size:11px;margin:14px 0 5px;color:#523680}
.coach-sop-list{padding-left:19px;margin:0 0 7px}.coach-sop-list li{margin-bottom:9px;line-height:1.5}
.coach-criteria{border-top:1px solid #ddd4ed;margin-top:12px;padding-top:6px}
.coach-criteria strong{font-size:11px}
.coach-criteria p{margin:0 0 9px}
#coach-dialogue{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-height:330px;min-height:110px;overflow-y:auto;padding:13px 8px 13px 2px;scrollbar-color:#c5b6d8 transparent;border-top:1px solid #f3eff8;border-bottom:1px solid #f3eff8}
.coach-message{border-radius:13px;padding:12px 13px;background:#f3eefb;max-width:97%;overflow-wrap:anywhere}
.coach-message p{white-space:pre-line;font-size:12px;line-height:1.62;margin:0}
.coach-message.is-user{background:#e8f5ee;align-self:flex-end;margin-left:26px;border:1px solid #c9e6d4}
.coach-message.is-teacher{align-self:flex-start;margin-right:7px;border:1px solid #e6dafa}
.coach-speaker{font-size:9px;letter-spacing:.1em;color:#5b338a;display:block;font-weight:900;margin-bottom:6px}
.coach-prompt{font-size:13px;margin:0 0 11px}
.coach-answers{background:#faf8fe;border:1px solid #ede6f4;padding:12px;border-radius:12px;display:flex;flex-direction:column;gap:8px}
.coach-option{font-size:12px;text-align:left;color:#3e2867;background:#fff;border:1px solid #d8c9e9;border-radius:10px;padding:11px 12px;font-weight:700;cursor:pointer}
.coach-option:hover,.coach-option:focus-visible{background:#eee6fd;border-color:#906dd0}
.coach-hint{font-size:11px;color:#756886;margin:0 0 6px}
.coach-text-answer{font-size:13px;line-height:1.5;min-height:94px;margin:0}
.coach-submit{background:#4c278d;color:#fff;border:0;border-radius:10px;padding:12px 14px;font-size:12px;font-weight:850;cursor:pointer}
.coach-submit:hover{background:#6138ab}
.coach-skip{background:transparent;color:#5a3687;font-size:11px;font-weight:800;border:0;text-decoration:underline;padding:8px;cursor:pointer}
.coach-summary{border-left:3px solid #7953bf;padding:8px 10px;background:#f1ebfa;overflow-wrap:anywhere}
.coach-summary p{font-size:11px;margin:4px 0}
.coach-ask{border-top:1px solid #e5ddec;padding-top:11px}
.coach-ask label{font-size:12px;margin-bottom:7px}
.coach-ask-row{display:flex;gap:5px;align-items:center}
.coach-ask-row input{margin:0;min-width:0;font-size:12px;padding:10px}
.coach-ask-row button{flex:none;background:#4c278d;color:#fff;border:0;border-radius:8px;padding:11px 10px;font-size:11px;font-weight:800;cursor:pointer}
.coach-footnote{font-size:10px;line-height:1.45;color:#726780;margin:0}
.mot-coach :focus-visible{outline:3px solid #a48be1;outline-offset:2px}
@media(max-width:1300px){
  main.shell.content:has(.mot-workflow) .mot-workflow-grid{grid-template-columns:minmax(195px,235px) minmax(410px,1fr) minmax(285px,340px);gap:12px}
  .mot-coach .coach-contents{padding:12px}
  .mot-active-panel{padding:18px}
  .mot-active-panel .check-form{grid-template-columns:1fr}
  .mot-active-panel .check-form label:first-of-type{grid-column:1}
}
@media(max-width:1050px){
  main.shell.content:has(.mot-workflow) .mot-workflow-grid{grid-template-columns:minmax(200px,260px) minmax(0,1fr)}
  .mot-coach{grid-column:1 / -1;position:static;max-height:none}
  #coach-dialogue{max-height:450px}
}
@media(max-width:800px){
  main.shell.content:has(.mot-workflow) .mot-workflow-grid{grid-template-columns:1fr}
  .mot-coach{grid-column:auto}
  main.shell.content:has(.mot-workflow){width:calc(100% - 24px)}
}
@media print{.mot-coach{display:none!important}}
