:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#193334;background:#f4f5f0;font-synthesis:none;--green:#245e50;--muted:#657671;--line:#dce2d9;--red:#bb4434}*{box-sizing:border-box}body{margin:0}button,a,input{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{cursor:pointer}button{border:0;border-radius:12px;padding:15px 20px;background:#e6ebe2;color:inherit;font-weight:650;min-height:48px}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d78a34;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.96)}a{color:inherit;text-decoration:none}.primary{background:var(--green);color:white}.danger{background:#b74234;color:white}.ghost{background:transparent;border:1px solid var(--line)}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}.muted{color:var(--muted)}header{height:90px;max-width:1450px;padding:0 40px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:750}.brandmark{background:#c74836;color:white;border-radius:12px;padding:10px;font-size:22px;letter-spacing:-1px}.badge{display:inline-flex;gap:8px;align-items:center;font-size:12px;border:1px solid var(--line);padding:8px 12px;border-radius:30px}.dot{height:7px;width:7px;border-radius:50%;background:#43886b}.dot.off{background:#b18c4a}main{max-width:1370px;margin:auto;padding:38px 40px}h1{font-size:36px;letter-spacing:-1.2px;margin:10px 0}h2{font-size:23px;letter-spacing:-.5px}p{line-height:1.6}.intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.intro p{margin:8px 0}.layout{display:grid;grid-template-columns:310px 1fr;gap:30px}.section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cases{display:grid;gap:10px}.case{display:flex;text-align:left;gap:14px;background:white;border:1px solid var(--line);padding:17px;border-radius:14px;width:100%;align-items:center}.case.active{border:1.5px solid var(--green);background:#e8eee5;box-shadow:0 0 0 2px #245e5008}.case small{display:block;color:var(--muted);font-size:11px;letter-spacing:1px;margin-bottom:5px}.case strong{font-size:14px;line-height:1.35;display:block}.icon{width:41px;height:41px;background:#f4f1e9;border-radius:11px;display:grid;place-items:center;color:#a26540;flex-shrink:0}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.note{font-size:13px;padding:16px 3px;line-height:1.65;color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden}.scenario{padding:26px 28px;background:#eef1e8;border-bottom:1px solid var(--line)}.scenario h2{margin:10px 0}.scenario p{font-size:14px;margin-bottom:0}.location{color:var(--green);font-size:13px;font-weight:650}.dialog{padding:25px 28px}.step{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #edf0ea}.step:last-child{border:0}.number{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f0f2ed;font-size:12px;color:var(--muted)}.done .number{background:#dceadf;color:#286342}.step strong{font-size:14px}.step p{font-size:13px;margin:6px 0 3px}.answer{color:var(--muted);font-size:12px}.play{font-size:12px;padding:10px 13px;min-height:44px}.tools{display:flex;gap:8px;flex-wrap:wrap;padding-top:20px}.tools button{font-size:12px;padding:10px 13px}.callbar{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#173c35;color:white;padding:20px 26px;border-radius:16px;margin-bottom:22px}.callbar p{margin:4px 0 0;color:#c3d7ca;font-size:12px}.callbar button{flex-shrink:0}.footer{font-size:11px;color:var(--muted);margin-top:25px;display:flex;justify-content:space-between;gap:12px}.welcome{max-width:920px;margin:55px auto}.welcome h1{font-size:58px;max-width:640px}.welcome .lead{font-size:19px;max-width:580px;color:var(--muted)}.roles{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.role{display:block;padding:30px;border:1px solid var(--line);border-radius:20px;background:white}.role:first-child{background:#173c35;color:white}.role h2{font-size:28px}.role p{opacity:.7}.role span{display:block;margin-top:35px;font-weight:650}.login{max-width:420px;margin:70px auto;padding:30px}.login input{display:block;width:100%;padding:16px;border:1px solid var(--line);border-radius:10px;margin:15px 0}.login button{width:100%}body.phone{background:#102725;color:#f8fbf6}.phone header{border-color:#ffffff15}.phone .badge{border-color:#ffffff25;color:#b9cdc3}.phone .brandmark{background:#ffffff15}.phone main{max-width:470px;text-align:center;padding-top:36px}.phone .eyebrow{color:#95b4a3}.phone h1{font-size:29px;letter-spacing:-.5px;margin-top:14px}.phone-status{height:40px;color:#acc9b6;font-size:14px;margin:12px 0}.digits{height:80px;font-size:52px;letter-spacing:10px;font-variant-numeric:tabular-nums}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:15px 24px;max-width:330px;margin:15px auto}.key{border-radius:50%;width:84px;height:84px;background:#ffffff0e;color:white;font-size:32px;font-weight:400;padding:10px;justify-self:center;border:1px solid #ffffff08}.key small{display:block;font-size:9px;letter-spacing:2px;color:#a8beb5;height:12px}.dialrow{display:grid;grid-template-columns:1fr 1fr 1fr;max-width:330px;gap:24px;margin:22px auto}.dial{grid-column:2;background:#81c49b;color:#102725;border-radius:50%;width:84px;height:84px;padding:24px}.dial svg{height:32px;width:32px}.erase{background:transparent;color:#b4c9c0;font-size:24px;padding:0}.phone-note{font-size:12px;color:#8fab9e;margin:20px auto;max-width:300px;line-height:1.6}.enable{padding:30px 10px}.enable button{background:#a3d5b6;color:#16382c;width:100%}.pulse{width:130px;height:130px;border-radius:50%;margin:60px auto 35px;background:#ffffff0c;display:grid;place-items:center;box-shadow:0 0 0 25px #ffffff03}.pulse svg{height:50px;width:50px}.ringing .pulse{animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 35px #ffffff06}}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#8c342b;color:white;padding:16px 24px;border-radius:12px;max-width:90%;z-index:20}.error{color:#a4382c;background:#fff0ec;border-radius:10px;padding:12px;font-size:13px}.live-caption{font-size:13px;color:#c1d5ca;max-width:340px;margin:35px auto}.phone .ghost{color:white;border-color:#ffffff30}@media(max-width:850px){header{padding:0 24px;height:76px}main{padding:25px 24px}.layout{grid-template-columns:245px 1fr;gap:18px}.scenario,.dialog{padding:20px}.intro h1{font-size:30px}.step{grid-template-columns:25px 1fr}.step .play{grid-column:2;justify-self:start}.callbar{padding:18px}.case{padding:13px;gap:10px}}@media(max-width:620px){.layout{grid-template-columns:1fr}.cases{grid-template-columns:1fr 1fr}.intro{display:block}.intro .badge{margin-top:10px}.welcome{margin:20px auto}.welcome h1{font-size:42px}.roles{grid-template-columns:1fr}.note{display:none}.phone header{padding:0 18px}.phone main{padding-top:25px}.key{height:74px;width:74px}.keypad{gap:12px 20px}.footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
body{min-height:100vh}.callbar{position:sticky;top:12px;z-index:5;box-shadow:0 6px 20px #163c3510}
.phone-hangup{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:180px;margin:12px auto 24px;padding:18px 24px}.phone-hangup svg{transform:rotate(135deg)}
nav{display:flex;align-items:center;gap:10px}nav button{font-size:12px;min-height:40px;padding:8px 12px}.account-name{font-size:13px;color:var(--muted)}.credits{text-align:center;font-size:11px;color:var(--muted);padding:24px;line-height:1.8}.phone .credits{color:#96b1a4}.phone nav button{color:white;border-color:#ffffff30}.phone .account-name{color:#adc7b8}.admin-layout{display:grid;grid-template-columns:340px 1fr;gap:24px;align-items:start}.account-row{display:block;width:100%;text-align:left;margin:10px 0;background:white;border:1px solid var(--line)}.account-row span{display:block;font-size:12px;font-weight:400;margin-top:6px;color:var(--muted)}#user-form>input{display:block;width:100%;padding:14px;border:1px solid var(--line);border-radius:9px;margin:8px 0 20px;background:white}.check{display:flex;align-items:center;gap:12px;padding:12px 0;line-height:1.5}.check input{width:20px;height:20px;flex-shrink:0;accent-color:var(--green)}.grant-list{margin-bottom:20px}.login{max-width:480px}.phone .login{color:var(--green)}@media(max-width:800px){.admin-layout{grid-template-columns:1fr}.account-name{display:none}header{gap:10px}.brand>span:last-child{font-size:14px}}
.print-entry{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0;padding:24px 28px;background:white;border:1px solid var(--line);border-radius:16px}.print-entry strong{font-size:19px}.print-entry small{display:block;color:var(--muted);margin-top:8px}.reset-account{width:100%;font-size:12px;text-align:left;margin:-3px 0 14px;overflow-wrap:anywhere}.reset-dialog{border:1px solid var(--line);border-radius:18px;color:#193334;background:#f4f5f0;width:min(530px,94vw);max-height:90vh;padding:28px}.reset-dialog::backdrop{background:#10272599}.reset-dialog input{display:block;width:100%;padding:14px;border:1px solid var(--line);border-radius:9px;margin:8px 0 18px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.print-choices{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.case-sheets{max-width:800px;margin:28px auto}.case-sheet{display:grid;gap:24px;margin-bottom:24px}.print-card{background:white;border:1px dashed #9aa99d;padding:30px;display:flex;flex-direction:column;min-height:440px;break-inside:avoid}.print-card-top{display:flex;justify-content:space-between;align-items:center}.print-card h2{font-size:26px;line-height:1.25;margin:20px 0 10px}.card-story{font-size:20px;line-height:1.6;margin:8px 0 28px}.card-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-top:auto;color:#53645c}.card-bottom strong{font-size:12px;white-space:nowrap}.card-bottom small{font-size:9px;line-height:1.5;text-align:right}@media(max-width:620px){.print-choices{grid-template-columns:1fr}.print-card{padding:22px}.card-story{font-size:18px}.dialog-actions{flex-wrap:wrap}}
@page{size:A4 portrait;margin:12mm}
@media print{
 body.case-cards,body.case-cards #app{background:white;color:#111;min-height:0}
 body.case-cards header,body.case-cards .credits,body.case-cards .print-controls,#toast{display:none!important}
 body.case-cards .case-print-main{max-width:none;padding:0;margin:0}
 .case-sheets{max-width:none;margin:0}
 .case-sheet{display:grid;grid-template-columns:1fr;grid-auto-rows:126mm;gap:10mm;margin:0;break-after:page;page-break-after:always}
 .case-sheet:last-child{break-after:auto;page-break-after:auto}
 .print-card{min-height:0;height:126mm;padding:7mm;border:1px dashed #888;break-inside:avoid;page-break-inside:avoid;color:#111}
 .print-card .icon{background:none;color:#333;width:9mm;height:9mm}
 .print-card .eyebrow{color:#333;font-size:10pt}
 .print-card h2{font-size:19pt;line-height:1.25;margin:4mm 0 2mm}
 .card-story{font-size:14pt;line-height:1.5;margin:2mm 0 4mm}
 .card-bottom{color:#333}.card-bottom strong{font-size:9pt}.card-bottom small{font-size:6.5pt}
}

.print-card h2,.card-story{overflow-wrap:anywhere}
