:root{--tyfu-purple:#90278e;--tyfu-ink:#312340;--tyfu-bg:#f8f7fa;--tyfu-muted:#736b7a}
body{margin:0;background:var(--tyfu-bg);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--tyfu-ink)}
.tyfu-demo-banner{background:#fff0f9;color:#542258;display:flex;gap:1rem;justify-content:space-between;padding:.54rem 1.2rem;font-size:.78rem;border-bottom:1px solid #edd7ea;flex-wrap:wrap}
.tyfu-demo-layout{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:calc(100vh - 42px)}
.tyfu-demo-sidebar{background:#34233c;color:#fff;display:flex;flex-direction:column;min-height:100%}
.tyfu-logo{display:flex;align-items:center;gap:.7rem;padding:1.35rem 1.1rem .9rem;border-bottom:1px solid #ffffff1c}.tyfu-logo img{width:36px;height:36px;object-fit:contain}.tyfu-logo strong{font-size:1.35rem}.tyfu-logo small{font-size:.7rem;color:#d9cbdc;display:block}
.tyfu-school{margin:1.2rem .9rem;padding:1rem;border:1px solid #ffffff1f;border-radius:12px;background:#ffffff0b}.tyfu-school strong{display:block;font-size:1rem;margin:.2rem 0}.tyfu-school small,.tyfu-school span{font-size:.7rem;color:#e0d2e1}
.tyfu-demo-sidebar nav{display:flex;flex-direction:column;gap:.15rem;padding:.45rem .7rem}.demo-nav-item{display:flex;align-items:center;gap:.75rem;text-align:left;border:0;background:none;color:#e9e1e8;padding:.8rem .85rem;border-radius:9px;cursor:pointer;font-size:.88rem}.demo-nav-item b{width:20px;text-align:center;font-size:1rem}.demo-nav-item:hover{background:#ffffff1d;color:#fff}.demo-nav-item.active{background:var(--tyfu-purple);color:white;font-weight:700}.tyfu-nav-footer{margin-top:auto;padding:1rem;display:grid;gap:.7rem}.tyfu-nav-footer small{font-size:.69rem;color:#d8cfdb}.demo-reset{background:#ffffff16;border:1px solid #ffffff38;border-radius:8px;color:white;padding:.65rem;cursor:pointer}
.tyfu-demo-main{min-width:0;display:flex;flex-direction:column}.tyfu-demo-topbar{min-height:83px;background:white;border-bottom:1px solid #eae4ed;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.65rem;gap:1rem}.tyfu-demo-topbar strong{display:block;font-size:1.12rem}.tyfu-demo-topbar .eyebrow{font-size:.66rem}.tyfu-top-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tyfu-top-actions #demo-toast{font-size:.73rem;max-width:300px}.demo-top-reset{background:white;border:1px solid #d8d0de;border-radius:8px;color:#503952;padding:.55rem .8rem;cursor:pointer}.demo-contact{display:inline-block!important;background:var(--tyfu-purple);color:#fff!important;border-radius:8px;padding:.67rem .85rem;text-decoration:none!important;font-size:.82rem;font-weight:700}
.tyfu-demo-stage{max-width:1440px;width:100%;margin:0 auto;padding:1.6rem;box-sizing:border-box;flex:1}.tyfu-demo-footer{padding:1rem 1.65rem;border-top:1px solid #e8e3ec;color:#8a8091;font-size:.73rem}.tyfu-screen-note{border:1px solid #e5d5e6;background:#fbf4fc;padding:.7rem 1rem;border-radius:10px;color:#5b4662;font-size:.78rem;margin-bottom:1rem}
.tyfu-hero{border:1px solid #eaddec;background:linear-gradient(115deg,#ffffff,#f9eff9);border-radius:18px;padding:2.15rem 2rem;display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1.45fr);gap:1.15rem;align-items:center;overflow:hidden}.tyfu-hero h1{font-size:clamp(1.5rem,2.8vw,2.5rem);line-height:1.2;max-width:750px;margin:.65rem 0}.tyfu-hero p{color:#6d6172;max-width:730px;line-height:1.6}.tyfu-hero img{width:100%;max-width:420px;height:auto;object-fit:contain;justify-self:end;display:block}.tyfu-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.3rem}.tyfu-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0 1.6rem}.tyfu-stat-row>div{border:1px solid #eee4ee;background:white;border-radius:12px;padding:1.1rem}.tyfu-stat-row strong{display:block;font-size:1.9rem;color:#6a2868}.tyfu-stat-row span{color:#756a7b;font-size:.8rem}.tyfu-tour h2,.tyfu-offer h2{margin:.2rem 0}.tyfu-tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.tyfu-tour-grid article{background:white;border:1px solid #eee4ee;border-radius:12px;padding:1.25rem}.tyfu-tour-grid h3{font-size:1rem}.tyfu-tour-grid p{color:#706676;font-size:.85rem;min-height:88px}.tyfu-step{font-weight:700;color:#90278e;font-size:.8rem}.tyfu-offer{margin-top:1.6rem;border-radius:12px;border:1px solid #e7d8e6;background:white;padding:1.35rem}.tyfu-offer p{max-width:780px;color:#6a6170}
.tyfu-pupil-layout{display:grid;grid-template-columns:minmax(230px,340px) minmax(0,1fr);gap:1rem;align-items:start}.tyfu-pupil-layout .panel{margin:0}.tyfu-pupil-filters{display:flex;gap:.5rem;flex-direction:column;margin-bottom:.75rem}.tyfu-pupil-list{overflow-y:auto;max-height:65vh}.tyfu-pupil-item{display:flex;flex-direction:column;padding:.6rem .7rem;width:100%;border:0;border-bottom:1px solid #f0ebf2;text-align:left;background:white;color:#32263b;cursor:pointer}.tyfu-pupil-item small{font-size:.72rem;color:#746a77}.tyfu-pupil-item.selected{background:#f5e5f4}.tyfu-pupil-item:hover{background:#f8f0f8}.tyfu-pupil-layout h3{font-size:.94rem;margin:1.4rem 0 .45rem}.tyfu-detail-pills{display:flex;gap:.4rem}.tyfu-detail-pills span{padding:.3rem .5rem;border-radius:20px;background:#f5edf5;color:#682969;font-size:.75rem}.tyfu-snapshot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.tyfu-snapshot-grid div{border:1px solid #eee4ee;border-radius:10px;padding:.7rem}.tyfu-snapshot-grid span,.tyfu-snapshot-grid small{display:block;color:#776f7a;font-size:.7rem}.tyfu-snapshot-grid strong{display:block;color:#792778;font-size:1.5rem}.tyfu-linked-evidence{display:grid;gap:.3rem;margin:.6rem 0 1rem}.tyfu-linked-evidence div{display:flex;justify-content:space-between;border-bottom:1px solid #eee7ef;padding:.4rem 0;font-size:.83rem}.tyfu-linked-evidence small{color:#6e6374}.tyfu-highlight{padding:.7rem;background:#faf3e4;border-radius:8px}.tyfu-xs{font-size:.73rem!important;margin-top:1rem}
.tyfu-filterline{display:flex;gap:.65rem;margin-bottom:.7rem}.tyfu-filterline label{display:grid;gap:.25rem;font-size:.75rem}.tyfu-table-wrap{overflow-x:auto;max-height:65vh}.tyfu-table-wrap table{width:100%;border-collapse:collapse;min-width:700px}.tyfu-table-wrap th,.tyfu-table-wrap td{text-align:left;border-bottom:1px solid #eee8ef;padding:.58rem;font-size:.79rem}.tyfu-table-wrap th{position:sticky;top:0;background:#f8f0f8}.tyfu-table-wrap td small{font-size:.65rem;display:block;color:#776d7e}.tyfu-table-link{border:none;background:transparent;text-decoration:underline;color:#792778;cursor:pointer;font-weight:600}
#planning-iframe{width:100%;min-height:1280px;border:1px solid #e5dce8;background:white;border-radius:12px}
@media (max-width:1020px){.tyfu-demo-layout{grid-template-columns:190px minmax(0,1fr)}.tyfu-stat-row{grid-template-columns:repeat(2,1fr)}.tyfu-tour-grid{grid-template-columns:1fr}.tyfu-tour-grid p{min-height:unset}.tyfu-demo-stage{padding:.9rem}.tyfu-hero{grid-template-columns:1fr}.tyfu-hero img{display:none}}
@media (max-width:690px){.tyfu-demo-layout{display:block}.tyfu-demo-sidebar{min-height:auto}.tyfu-demo-sidebar nav{flex-direction:row;overflow-x:auto;padding:.55rem}.tyfu-logo,.tyfu-school,.tyfu-nav-footer{display:none}.demo-nav-item{flex-shrink:0;white-space:nowrap;padding:.55rem}.tyfu-demo-topbar{padding:1rem;align-items:flex-start}.tyfu-demo-topbar .tyfu-top-actions{justify-content:flex-end}.tyfu-pupil-layout{grid-template-columns:1fr}.tyfu-pupil-list{max-height:240px}.tyfu-stat-row{grid-template-columns:repeat(2,1fr)}.tyfu-snapshot-grid{grid-template-columns:1fr 1fr}.tyfu-demo-banner{font-size:.7rem}}
/* Original assessment screens are isolated in same-origin frames: native styles intact. */
.tyfu-module-frame{border:1px solid #e9e1e9;border-radius:12px;width:100%;height:calc(100vh - 225px);min-height:760px;background:white;display:block}
@media(max-width:850px){.tyfu-module-frame{min-height:620px;height:82vh}}

/* Evidence photographs also appear as linked previews in a pupil record. */
.tyfu-linked-evidence .tyfu-linked-evidence-item{display:flex;align-items:center;justify-content:flex-start;gap:.65rem;min-height:56px}
.tyfu-linked-evidence-item img{width:82px;height:62px;border-radius:7px;object-fit:cover;flex-shrink:0;background:#f3edf3}
.tyfu-linked-evidence-item span{display:block;min-width:0}
.tyfu-linked-evidence-item strong{display:block}
.tyfu-linked-evidence-item small{display:block;margin-top:.25rem}
/* Public, consent-free contact handoff: nothing is posted or stored by the demo. */
button.demo-contact{font-family:inherit;border:0;cursor:pointer}
.tyfu-enquiry-overlay{position:fixed;inset:0;background:#1d1623b5;z-index:9999;display:flex;justify-content:center;align-items:center;padding:1.25rem;overflow:auto}
.tyfu-enquiry-dialog{background:white;border-radius:16px;box-shadow:0 12px 50px #22112a45;padding:1.5rem;max-width:680px;width:100%;max-height:calc(100vh - 3rem);overflow:auto}
.tyfu-enquiry-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.tyfu-enquiry-head h2{font-size:1.4rem;margin:.3rem 0 0}.tyfu-close{border:1px solid #d7cedc;background:white;border-radius:8px;font-size:1.5rem;padding:.05rem .6rem;cursor:pointer}
.tyfu-enquiry-dialog>p{font-size:.85rem;line-height:1.6;color:#66586c}.tyfu-enquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.tyfu-enquiry-fields label{font-weight:650;font-size:.78rem;display:flex;flex-direction:column;gap:.3rem}.tyfu-enquiry-fields input,.tyfu-enquiry-fields select,.tyfu-enquiry-fields textarea{width:100%;font:inherit;font-weight:400;box-sizing:border-box;border:1px solid #cfc4d6;border-radius:7px;padding:.65rem;color:#2e2338;background:#fff}.tyfu-enquiry-wide{grid-column:1/-1}.tyfu-enquiry-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.tyfu-privacy-link{color:#702974;font-size:.76rem}
@media(max-width:690px){.tyfu-enquiry-fields{grid-template-columns:1fr}.tyfu-enquiry-dialog{padding:1rem}.tyfu-enquiry-overlay{padding:.6rem}}
.tyfu-enquiry-actions .secondary{font:inherit;font-size:.82rem;font-weight:650;background:white;color:#633267;border:1px solid #cfc4d6;border-radius:8px;padding:.67rem .85rem;cursor:pointer}
.tyfu-enquiry-actions .secondary:hover{background:#f9f0f9}
.tyfu-enquiry-actions .secondary:focus-visible,.demo-contact:focus-visible,.tyfu-close:focus-visible{outline:3px solid #c965c6;outline-offset:3px}

/* Anonymous aggregate statistics: no banner, visible opt-out in footer */
.tyfu-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.tyfu-enquiry-form .tyfu-enquiry-privacy{font-size:.78rem;line-height:1.5;margin:.8rem 0;color:#675970}.tyfu-enquiry-fallback{font-size:.85rem}.tyfu-enquiry-success{padding:1.3rem 0}.tyfu-enquiry-success h3{color:#702679}.tyfu-enquiry-actions .demo-contact{border:0;cursor:pointer}.tyfu-enquiry-actions .demo-contact:disabled{opacity:.65;cursor:wait}

.tyfu-analytics-preferences{margin-left:.5rem;background:transparent;border:0;color:#702679;text-decoration:underline;cursor:pointer;font:inherit}.tyfu-analytics-preferences[hidden]{display:none}

/* First-party usage statistics: unobtrusive explanation and persistent opt-out */
.tyfu-stats-details{display:inline-block;vertical-align:middle;max-width:420px;margin-left:.4rem;font-size:.8rem;color:#675970}.tyfu-stats-details summary{cursor:pointer;text-decoration:underline;color:#702679}.tyfu-stats-details p{line-height:1.45;margin:.5rem 0}.tyfu-stats-details a{color:#702679}.tyfu-demo-footer .tyfu-analytics-preferences{white-space:nowrap}

/* Optional section guidance: shared shell only; embedded module layouts are untouched. */
.tyfu-demo-heading{display:flex;align-items:center;gap:.65rem;min-width:0;margin-top:.24rem}
.tyfu-demo-heading #demo-title{min-width:0}
.tyfu-section-help{appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border:1.5px solid #90278e;border-radius:50%;background:#f9edf8;color:#792175;font-family:inherit;font-size:1rem;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 1px 2px #0000000a}
.tyfu-section-help:hover{background:#90278e;color:white}
.tyfu-section-help:focus-visible,.tyfu-guide-close:focus-visible,.tyfu-guide-done:focus-visible{outline:3px solid #bd70c0;outline-offset:3px}
.tyfu-guide-overlay{position:fixed;inset:0;z-index:9900;background:rgba(26,15,31,.66);display:flex;align-items:center;justify-content:center;padding:1rem;overflow:auto}
.tyfu-guide-dialog{width:min(100%,600px);max-height:calc(100dvh - 2rem);overflow-y:auto;box-sizing:border-box;border:1px solid #e9d6e8;border-radius:16px;background:#fff;box-shadow:0 18px 60px rgba(40,17,49,.28);padding:1.55rem 1.75rem;color:#33243a}
.tyfu-guide-head{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.tyfu-guide-head .eyebrow{color:#90278e;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;font-weight:800}
.tyfu-guide-head h2{font-size:1.5rem;line-height:1.25;margin:.3rem 0 0;color:#4d1c50}
.tyfu-guide-close{font-family:inherit;font-size:1.5rem;font-weight:400;line-height:1;border:1px solid #d8c7db;border-radius:9px;cursor:pointer;background:#fff;color:#5e4564;width:36px;height:36px;flex-shrink:0}
.tyfu-guide-close:hover{background:#f8eff8}
.tyfu-guide-section{padding:.85rem 0;border-top:1px solid #f0e7f1}
.tyfu-guide-section h3{font-size:.87rem;font-weight:800;color:#90278e;margin:0 0 .4rem}
.tyfu-guide-section p{font-size:.88rem;line-height:1.58;margin:0;color:#55495b}
.tyfu-guide-actions{display:flex;justify-content:flex-end;border-top:1px solid #f0e7f1;padding-top:1rem;margin-top:.25rem}
.tyfu-guide-done{background:#90278e;color:white;border:0;border-radius:9px;padding:.72rem 1.1rem;font-family:inherit;font-size:.84rem;font-weight:700;cursor:pointer}
.tyfu-guide-done:hover{background:#772075}
@media(max-width:690px){.tyfu-guide-dialog{padding:1.1rem;max-height:calc(100dvh - 1rem)}.tyfu-guide-overlay{padding:.5rem}.tyfu-guide-head h2{font-size:1.3rem}}
