:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203142;background:#f4f6f9;font-size:14px;--ink:#132637;--muted:#6c7b8a;--blue:#2467e8;--border:#e1e7ef}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:7px;background:#fff;padding:9px 14px;color:var(--ink);transition:background .15s}button:hover{background:#f1f5fa}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--blue);border-color:var(--blue);color:white;font-weight:600}.primary:hover{background:#1755c6}.danger{color:#c03b3b;border-color:#f0d4d4}.text-button{border:0;background:none;color:#68798a;padding:7px 9px}a{color:var(--blue)}[hidden]{display:none!important}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#122737;color:#b8c8d4;padding:30px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:230px}.brand{display:flex;gap:11px;align-items:center;color:white;font-size:21px;font-weight:650;padding:0 8px}.brand small{display:block;font-size:9px;letter-spacing:1.5px;margin-top:5px;font-weight:500;color:#96acbc}.logo-mark{width:36px;height:36px;border-radius:9px;background:#2467e8;display:inline-grid;place-items:center;font-size:25px;font-weight:700;color:white}.nav-label{font-size:10px;letter-spacing:1.7px;margin:43px 14px 14px;color:#69869b}nav{display:flex;flex-direction:column;gap:4px}nav button{text-align:left;color:#adbfcc;border:0;padding:13px 17px;background:none}nav button:hover{background:#1d3547;color:white}nav button.active{background:#22445e;color:#fff;border-left:3px solid #69a8ff;padding-left:14px}.side-foot{margin-top:auto;border-top:1px solid #294050;padding:22px 10px 0;font-size:11px;line-height:1.8}.side-foot small{font-size:10px;color:#7d98ac}.private-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#50d3a3;margin-right:6px}main{grid-column:2;min-width:0}header{height:73px;background:#fff;border-bottom:1px solid var(--border);padding:0 35px;display:flex;align-items:center;justify-content:space-between;color:#788796;font-size:12px}.account{display:flex;align-items:center;gap:12px}#identity{color:#425466}#content{padding:35px;max-width:1440px;margin:auto}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-.9px;font-weight:650;margin-bottom:8px}h2{font-size:19px;font-weight:620}h3{font-size:15px}.subtitle{color:var(--muted);line-height:1.6}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.8px;color:var(--blue);display:block;margin-bottom:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.stat,.card{background:#fff;border:1px solid var(--border);border-radius:10px}.stat{padding:23px}.stat span{display:block;font-size:12px;color:var(--muted)}.stat strong{display:block;font-size:32px;line-height:1.6;color:var(--ink);font-weight:600}.stat small{font-size:11px;color:#8795a1}.card{padding:23px;margin-bottom:20px}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.card-heading h2{margin:0}.grid-two{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.notice{border:1px solid #cddffc;background:#eff5ff;border-radius:8px;padding:15px 18px;font-size:13px;line-height:1.7;margin-bottom:22px;color:#34577d}.notice.warn{border-color:#f2dfb9;background:#fff9ed;color:#8a6326}.empty{text-align:center;padding:46px 18px;color:var(--muted)}.empty h3{color:var(--ink);font-size:18px;margin-bottom:8px}.empty p{line-height:1.6}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-weight:500;color:#748594;letter-spacing:.2px;font-size:11px;padding:11px;border-bottom:1px solid var(--border)}td{padding:14px 11px;border-bottom:1px solid #edf0f4;vertical-align:middle}tr:last-child td{border-bottom:0}td strong{display:block;font-size:13px;font-weight:550}td small{display:block;color:#84929e;font-size:11px;margin-top:4px}.table-scroll{overflow-x:auto}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:99px;font-size:10px;background:#eef2f6;color:#647487;white-space:nowrap}.pill:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.pill.good{background:#e8f7ef;color:#268359}.pill.blue{background:#eaf1ff;color:#3069c9}.pill.warn{background:#fff2db;color:#9d7025}.pill.bad{background:#fcecee;color:#b84b5b}.actions{display:flex;flex-wrap:wrap;gap:6px}.actions button{padding:6px 10px;font-size:11px}.muted{color:var(--muted)}.steps{margin:0;padding-left:20px;color:#526779;line-height:1.8}.steps li{margin:10px 0}.steps strong{color:var(--ink)}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#f1f4f8;border:1px solid #e2e8f0;border-radius:6px;padding:13px;white-space:pre-wrap;word-break:break-all;line-height:1.7;font-size:12px}.wide-code{overflow:auto;word-break:normal;white-space:pre;font-size:10px}.hash{font-family:ui-monospace,monospace;font-size:10px;word-break:break-all;color:#6e8194}.version{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid var(--border);gap:12px}.version p{margin:6px 0}.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.program-grid .card{margin:0}.progress{height:5px;background:#e9eef5;border-radius:6px;margin-top:8px}.progress progress{width:100%;height:5px;accent-color:var(--blue);display:block;border:0}.detail-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #edf0f4;padding:11px 0;font-size:12px}.detail-row strong{font-weight:500}.timeline{margin:0;padding:0;list-style:none}.timeline li{padding:12px 0;border-bottom:1px solid #edf0f4;font-size:12px}.timeline time{float:right;color:var(--muted);font-size:10px}.timeline p{margin:6px 0;color:var(--muted)}footer{padding:20px 35px;font-size:10px;color:#9ba7b3;display:flex;justify-content:space-between}dialog{border:1px solid #dde5ee;border-radius:13px;padding:27px;max-width:640px;width:calc(100% - 40px);max-height:90vh;overflow:auto;box-shadow:0 20px 90px #14253633}dialog::backdrop{background:#14253680}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-heading h2{margin:0}.dialog-heading button{border:0;font-size:24px;padding:0 5px;color:#7e8c99}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}label{display:block;font-size:12px;font-weight:500;margin:15px 0;color:#455a6f}input,select{display:block;width:100%;border:1px solid #d4dee9;background:#fff;border-radius:7px;padding:11px;margin-top:7px;color:var(--ink)}input:focus,select:focus{outline:2px solid #afccff;outline-offset:1px}input[type=checkbox]{display:inline-block;width:auto;margin-right:7px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.error{font-size:12px;color:#bd414e;margin:14px 0 0;line-height:1.7}.login-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.login-intro{background:#122737;color:white;padding:70px 12%;display:flex;flex-direction:column;align-items:flex-start}.login-intro .logo-mark{margin-bottom:70px}.login-intro .eyebrow{color:#75afff}.login-intro h1{font-size:55px;line-height:1.2;margin:12px 0 25px}.login-intro p{font-size:17px;color:#91aebf;line-height:1.7}.login-foot{margin-top:auto;font-size:11px;color:#6d8a9f;padding-top:60px}.login-card{margin:auto;width:360px;max-width:85%;padding:45px 0}.login-card h2{font-size:27px;margin-bottom:10px}.login-card p{color:var(--muted)}.login-card button{width:100%;margin-top:15px}#toast{position:fixed;right:25px;bottom:25px;z-index:20;padding:15px 22px;background:#122737;color:#fff;border-radius:9px;box-shadow:0 5px 30px #0002;max-width:min(500px,90vw);font-size:13px;line-height:1.7}.fact{font-size:12px;color:#7b8b9a;line-height:1.8}.connection{display:flex;gap:7px;flex-wrap:wrap}.readback-title{color:#7b8b9a;font-size:11px;font-weight:500;margin:19px 0 6px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.grid-two,.program-grid{grid-template-columns:1fr}.account{gap:4px}header{padding:0 22px}#content{padding:25px}}@media(max-width:700px){.shell{grid-template-columns:1fr}aside{position:static;width:100%;padding:17px}main{grid-column:1}.brand{font-size:19px}.nav-label,.side-foot{display:none}nav{flex-direction:row;overflow:auto;margin-top:18px;gap:3px}nav button{white-space:nowrap;padding:10px;font-size:11px}nav button.active{border-left:0;padding-left:10px;border-bottom:2px solid #69a8ff}header{height:auto;min-height:60px;gap:10px;flex-wrap:wrap;padding:13px 20px}.account{font-size:10px}.text-button{font-size:10px;padding:5px}#content{padding:24px 17px}h1{font-size:25px}.page-heading{align-items:flex-start;margin-bottom:22px}.page-heading button{font-size:11px;white-space:nowrap}.stat{padding:15px}.stat strong{font-size:27px}.card{padding:17px}.fields{grid-template-columns:1fr}footer{padding:20px;font-size:9px;gap:20px}.login-shell{grid-template-columns:1fr}.login-intro{padding:28px}.login-intro .logo-mark{margin-bottom:26px}.login-intro h1{font-size:35px}.login-intro p,.login-foot{display:none}.login-card{padding:30px 0}.dialog-heading h2{font-size:17px}}
.scpi-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0}.scpi-controls label{margin:0;max-width:100px}.scpi-controls input{margin:5px 0;max-width:100px}.scpi-code{overflow-x:auto;word-break:normal;white-space:pre;max-height:340px}#modal details{margin:15px 0}#modal summary{cursor:pointer;font-size:12px;color:#455a6f}#modal h3{margin:20px 0 8px}
.review-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 35px;background:#eef4ff;border-bottom:1px solid #dce7fb;font-size:11px;color:#446082}.review-banner b{display:inline-block;color:#285dab;font-size:9px;letter-spacing:1.2px;margin-right:12px}.review-banner .text-button{font-size:10px;color:#446082;padding:3px 0}.role-picker{display:flex;align-items:center;gap:8px;margin:0;color:#7c8b99;font-size:10px;white-space:nowrap}.role-picker select{font-size:11px;padding:7px 9px;margin:0;width:auto}.account #identity{font-size:10px}.gateway-picker{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px}.gateway-picker label{min-width:320px;margin:0}.gateway-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;align-items:start}.phone-frame{border:6px solid #22374a;border-radius:36px;background:#22374a;padding:5px;box-shadow:0 20px 40px #142c4117;width:284px;margin:0 auto 26px}.phone-speaker{height:5px;width:55px;border-radius:4px;background:#62768a;margin:4px auto 11px}.phone-screen{border-radius:22px;background:#f7f9fd;padding:27px 19px 22px}.phone-label{font-size:8px;letter-spacing:1.2px;color:#71899e;margin-bottom:20px}.phone-screen h2{font-size:18px;margin-bottom:7px;line-height:1.4}.phone-meta{font-size:10px;color:#8295a6;margin-bottom:25px;overflow-wrap:anywhere}.phone-status{background:#e9eef5;color:#566f83;padding:10px;border-radius:8px;font-size:11px;display:flex;align-items:center;gap:4px;text-transform:capitalize}.phone-status.executing{background:#e7f2ff;color:#2762b2}.phone-status .private-dot{flex-shrink:0}.phone-step{text-align:center;padding:30px 0 13px}.phone-step strong{display:block;font-size:62px;letter-spacing:-3px;line-height:1.1;color:#183c5b;font-weight:550}.phone-step span{font-size:11px;color:#8193a3}.phone-remaining{text-align:center;font-size:10px;color:#55738d;min-height:30px}.phone-outputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.phone-outputs div{border:1px solid #dce4ee;border-radius:8px;padding:14px;background:#fff}.phone-outputs span{display:block;font-size:9px;color:#8a9baa;margin-bottom:8px}.phone-outputs b{font-size:17px;color:#3a8464}.phone-outputs b.output-on{color:#2467e8}.phone-screen .local-stop{display:block;width:100%;font-size:10px;padding:12px 5px}.phone-note{font-size:9px;line-height:1.7;color:#8b9cab;text-align:center;margin:14px 0 0}.memory-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:15px}.memory-stats strong{display:block;font-size:28px;font-weight:550;color:#173b59}.memory-stats span{font-size:10px;color:#8899a9}.gateway-layout .card{margin-bottom:16px}.review-intro{padding:20px 23px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#132d42;border:0;color:#f5f9ff}.review-intro h2{color:#f5f9ff;margin-bottom:5px;font-size:16px}.review-intro p{margin:0;color:#adc4d6;font-size:12px;line-height:1.7}.review-intro button{font-size:11px;white-space:nowrap}.review-intro button:not(.primary){background:#274357;border-color:#3f5a6f;color:#e5eff7}textarea{display:block;width:100%;border:1px solid #d4dee9;border-radius:7px;padding:12px;margin-top:7px;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.7;resize:vertical;white-space:pre;overflow:auto;min-height:150px}textarea:focus{outline:2px solid #afccff;outline-offset:1px}#csv-validation{margin-top:20px}#csv-validation table{font-size:10px}#modal:has(#csv-text){max-width:850px}button:focus-visible,a:focus-visible{outline:2px solid #81adf1;outline-offset:3px}button:disabled{cursor:not-allowed}
@media(max-width:1100px){.gateway-layout{grid-template-columns:280px minmax(0,1fr);gap:18px}.review-intro{align-items:flex-start;flex-direction:column}.account #identity{display:none}.gateway-picker{align-items:flex-start;flex-direction:column}}@media(max-width:800px){.gateway-layout{grid-template-columns:1fr}.gateway-picker label{min-width:0;width:100%}.phone-frame{width:284px}.review-banner{padding:12px 20px}.review-banner b{display:block;margin-bottom:5px}.memory-stats{gap:8px}.memory-stats strong{font-size:24px}.gateway-picker .connection{gap:4px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.download-primary{display:inline-block;background:#2467e8;color:#fff;text-decoration:none;font-weight:600;border-radius:7px;padding:12px 18px;white-space:nowrap}.download-primary:hover{background:#1755c6}.download-links{margin-top:18px;gap:18px;font-size:11px}.steps code{background:#edf2f8;padding:2px 4px;border-radius:3px;overflow-wrap:anywhere}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em}
:root {--live-color:#18745b;}
.nav-live{font-size:9px;letter-spacing:.08em;color:var(--live-color);background:#dff3ea;padding:3px 5px;border-radius:4px;margin-left:auto}
.enrollment-layout{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(320px,1.35fr);gap:20px;align-items:start;margin:22px 0}
.live-enrollment-note{border-left:3px solid var(--live-color);background:#eef8f4}
#enrollment-status{font-size:12px;color:#63788a;margin-bottom:15px}
#enrollment-form{margin-top:18px}
#enrollment-form textarea,#enrollment-package{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;word-break:break-all;resize:vertical;min-height:95px}
#enrollment-form label{margin:12px 0}
#enrollment-countdown{font-size:12px;color:#63788a}
#enrollment-records small{display:block;margin-top:6px}
@media(max-width:900px){.enrollment-layout{grid-template-columns:1fr}}

/* Central instrument and program workspace. */
.simulation-nav{margin-top:20px;border-top:1px solid #294355;padding-top:16px}.simulation-nav summary{padding:9px 12px;color:#b5c5d4;font-size:12px;cursor:pointer}.simulation-nav button{font-size:12px}.live-instrument .connection{flex-wrap:wrap;gap:8px;margin:18px 0}.live-readiness{padding-left:20px;color:#7a5b24;line-height:1.9;font-size:13px}.live-check{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.live-check input[type=checkbox]{width:18px;min-width:18px;margin-top:4px}.live-instrument .actions{margin-top:18px}#live-run-plan details{margin-top:16px}#live-run-plan summary{cursor:pointer;font-size:13px}#demo-role-wrap[hidden]{display:none}#live-run-program-info{margin-top:14px}.live-instrument h2{font-size:22px}.live-instrument .subtitle{margin:6px 0}.simulation-nav[open]{padding-bottom:8px}

.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat{background:white;border:1px solid #dfe7ee;border-radius:12px;padding:22px}.stat span{display:block;font-size:12px;color:#718393;margin-bottom:10px}.stat strong{font-size:32px;color:#173b59;font-weight:550}#modal:has(#live-csv-text),#modal:has(#live-run-readiness){max-width:850px}@media(max-width:850px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.live-instrument .card-heading{align-items:flex-start;flex-wrap:wrap}.live-instrument .actions{flex-wrap:wrap}}@media(max-width:420px){.stats{grid-template-columns:1fr}.stat{padding:16px}}

#modal:has(#matrix-grid){max-width:1180px;width:94vw}.matrix-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0 8px}.matrix-toolbar label{margin:0;max-width:140px;font-size:11px}.matrix-toolbar select{margin-top:3px}.matrix-toolbar .matrix-check{display:flex;gap:7px;align-items:center;max-width:none}.matrix-check input{width:16px;margin:0}.matrix-scroll{overflow:auto;max-height:58vh;border:1px solid #dce5ed;border-radius:8px}.matrix-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.matrix-table th,.matrix-table td{border-bottom:1px solid #e3eaf1;border-right:1px solid #e3eaf1;padding:5px 7px;min-width:142px}.matrix-table th:first-child{position:sticky;left:0;z-index:2;background:#f1f5fa;width:150px;min-width:150px;text-transform:none}.matrix-table th small{display:block;font-size:9px;color:#798c9f;font-weight:400;margin-top:4px;letter-spacing:0}.matrix-table thead th{position:sticky;top:0;background:#eef3f9;z-index:3;text-align:center;height:58px}.matrix-table thead th:first-child{z-index:4;text-align:left}.matrix-step-actions{display:inline-flex;gap:3px;margin-left:12px}.matrix-step-actions button{padding:1px 6px;font-size:14px;min-height:26px;border-color:transparent;background:transparent}.matrix-table input,.matrix-table select{display:block;width:125px;min-width:125px;margin:0;border:1px solid transparent;background:white;font-size:12px;padding:9px 7px;min-height:38px}.matrix-table input:focus,.matrix-table select:focus{border-color:#3576cf;outline:2px solid #c6dcfc}.matrix-files{display:flex;justify-content:space-between;align-items:end;gap:18px;flex-wrap:wrap;margin:16px 0}.matrix-files>label{max-width:350px}.matrix-raw{border-top:1px solid #e2eaf3;padding-top:16px;margin:12px 0}.matrix-raw summary{cursor:pointer;color:#52718e;font-size:12px}.matrix-raw textarea{min-height:180px}#live-csv-validation .notice{margin-top:14px}@media(max-width:650px){#modal:has(#matrix-grid){width:98vw;padding:15px}.matrix-table th:first-child{min-width:110px;width:110px}.matrix-toolbar{gap:7px}.matrix-scroll{max-height:55vh}}

/* Receiver CRM shares the central platform's visual language. */
aside{overflow-y:auto}.crm-nav{margin-top:12px;border-top:1px solid #294355;padding-top:12px}.crm-nav summary{padding:8px 14px;color:#86a5bd;font-size:10px;letter-spacing:1.2px;cursor:pointer}.crm-nav button{display:block;width:100%}.crm-filters{display:flex;align-items:end;flex-wrap:wrap;gap:14px;margin-bottom:20px}.crm-filters label{margin:0;min-width:150px;flex:1}.crm-filters label:first-child{flex:2;min-width:230px}.crm-filters>.fact{font-size:10px;margin:0 0 10px}.crm-currency-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.crm-money-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:15px 0}.crm-money-grid span{display:block;font-size:11px;color:#758595;margin-bottom:9px}.crm-money-grid strong{font-size:19px;font-weight:600;overflow-wrap:anywhere}.crm-money-grid>div:nth-child(3) strong{color:#b3731c}.crm-money-grid>div:nth-child(4) strong{color:#27815a}.crm-profile{display:flex;justify-content:space-between;gap:25px}.crm-profile>div{flex:1}.crm-profile>.crm-note{max-width:45%;margin:0;flex:1}.crm-note{font-size:12px;line-height:1.8;color:#597084;white-space:pre-wrap;overflow-wrap:anywhere}.crm-link{border:0;background:none;color:#2467e8;padding:4px 0;text-align:left;font-size:13px;font-weight:600}.crm-program-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.crm-session-table{min-width:1080px}.crm-voided{color:#84909a;background:#f7f9fb}.crm-voided td:nth-child(5){text-decoration:line-through}.crm-notes-input{font-family:inherit;white-space:pre-wrap;min-height:95px}#modal:has(#crm-form-kind){max-width:850px}#crm-receipt .detail-row{padding:14px 0}#crm-receipt .eyebrow{margin-bottom:20px}@media(max-width:900px){.crm-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-profile{flex-direction:column}.crm-profile>.crm-note{max-width:100%}}@media(max-width:700px){.crm-nav{display:flex;flex-shrink:0;align-items:start;border:0;padding:0;margin:0}.crm-nav summary{display:none}.crm-nav button{display:inline-block;width:auto}.crm-currency-grid{grid-template-columns:1fr}.crm-filters label,.crm-filters label:first-child{min-width:140px}.crm-money-grid strong{font-size:17px}}@media print{body:has(#crm-receipt)>.shell,body:has(#crm-receipt)>#toast{display:none!important}body:has(#crm-receipt) #modal{display:block;position:static;max-width:100%;width:100%;max-height:none;border:0;box-shadow:none}body:has(#crm-receipt) .dialog-heading,body:has(#crm-receipt) .dialog-actions,body:has(#crm-receipt) #modal-error,body:has(#crm-receipt) #modal-body>button{display:none!important}}

/* Session operations calendar. */
.cal-preview-section{border-top:1px solid #dce5ef;margin-top:24px;padding-top:18px}.cal-preview-section h3{margin:0 0 14px;color:#274b6b}.cal-off-date-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.cal-off-date-controls label{margin:0;max-width:240px;flex:1 1 180px}.cal-off-date-controls button{margin-bottom:0}.cal-off-dates{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.cal-off-date{display:inline-flex;align-items:center;gap:10px;padding:5px 7px 5px 12px;background:#fff4df;border:1px solid #e9d6ab;border-radius:18px;font-size:12px;color:#84601e}.cal-off-date button{padding:1px 7px;border:0;border-radius:50%;background:#f0dfba;color:#705015;font-size:18px}.cal-preview-skipped{background:#f4f6f9;color:#8b98a6}.cal-preview-skipped input{opacity:.6}.cal-preview-table table{min-width:850px}.cal-preview-table input{font-size:12px;padding:8px;margin:0;min-width:200px}.cal-preview-table .cal-row-duration{min-width:76px;width:86px}.cal-preview-table td{vertical-align:middle}.cal-preview-section .actions{margin:14px 0}.cal-preview-section input:focus-visible,.cal-preview-section button:focus-visible{outline:2px solid #2467e8;outline-offset:2px}
.cal-shell{padding:20px}.cal-toolbar{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:20px}.cal-toolbar h2{margin:0;text-align:center;font-size:20px}.cal-filters{display:grid;grid-template-columns:1.3fr 1.3fr 1fr 1fr 1fr;gap:12px}.cal-filters label{margin:4px 0 14px}.cal-filters input,.cal-filters select{padding:9px;font-size:12px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #dce5ef;border-left:1px solid #dce5ef;min-width:740px}.cal-weekday{padding:12px;text-align:center;background:#f0f4fa;border-right:1px solid #dce5ef;border-bottom:1px solid #dce5ef;font-size:11px;font-weight:600;color:#667f94}.cal-cell{min-height:145px;border-right:1px solid #dce5ef;border-bottom:1px solid #dce5ef;padding:6px;min-width:0;background:#fff}.cal-week .cal-cell{min-height:340px}.cal-outside{background:#f7f9fc;color:#92a2b1}.cal-day-number{display:block;padding:4px 8px;border:0;background:none;font-size:12px;font-weight:600;margin-bottom:7px}.cal-today .cal-day-number{background:#2467e8;color:white;border-radius:20px}.cal-event{display:block;width:100%;text-align:left;border:0;border-left:3px solid #568ee8;border-radius:4px;padding:6px;background:#edf4ff;margin:0 0 5px;color:#285a93}.cal-event:hover{background:#dbeaff}.cal-event-time{display:block;font-size:9px;font-weight:600;margin-bottom:3px}.cal-event strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event small{display:block;font-size:9px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-checked_in{background:#fff4df;border-color:#d4a13d;color:#8e631b}.cal-in_progress{background:#e5f5ef;border-color:#25956f;color:#226d52}.cal-completed{background:#eff4f1;border-color:#7a9b87;color:#607466}.cal-no_show{background:#fdeef0;border-color:#c56978;color:#a3485a}.cal-cancelled{opacity:.55;background:#f0f2f5;border-color:#9aa6b3;color:#788594}#cal-board{overflow:auto}.cal-agenda-item{display:grid;grid-template-columns:90px minmax(0,1fr);gap:20px;padding:22px 0;border-bottom:1px solid #e4eaf1}.cal-agenda-item:last-child{border-bottom:0}.cal-agenda-time{color:#2a5273;padding-top:4px}.cal-agenda-time strong{display:block;font-size:24px;font-weight:550}.cal-agenda-time small{font-size:12px;color:#8294a4}.cal-agenda-item h3{margin:0 0 6px}.cal-agenda-item .card-heading{margin:0}.cal-ops{margin:13px 0;gap:8px}.cal-ops button{padding:8px 12px}.cal-weekday-picker{border:1px solid #dce5ef;border-radius:8px;margin:15px 0;padding:12px;display:flex;flex-wrap:wrap;gap:8px}.cal-weekday-picker legend{font-size:11px;color:#75899b;padding:0 8px}.cal-weekday-picker label{display:flex;align-items:center;gap:4px;margin:0;background:#f3f6fa;padding:7px;border-radius:6px}.cal-weekday-picker input{margin:0 3px 0 0;width:15px}.cal-preview-table{max-height:300px;margin-top:18px}.cal-conflict{background:#fff1ee;color:#a74c37}#modal:has(#cal-preview-result){max-width:980px}#modal:has(#cal-operation){max-width:850px}@media(max-width:1050px){.cal-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.cal-toolbar{flex-wrap:wrap;gap:12px}.cal-toolbar h2{order:3;width:100%;text-align:left;font-size:18px}.cal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-shell{padding:13px}.cal-agenda-item{grid-template-columns:65px minmax(0,1fr);gap:10px}.cal-agenda-time strong{font-size:20px}.cal-agenda-item .card-heading{align-items:start;gap:10px;flex-wrap:wrap}.cal-weekday-picker{gap:5px}.cal-ops button{font-size:10px}}
