@import url('data:text/css,');
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173247;background:#f3f6f8;font-synthesis:none;--navy:#102c40;--teal:#087f78;--teal-soft:#e8f5f2;--surface:#fff;--bg:#f3f6f8;--text:#173247;--muted:#637582;--border:#dce5e9;--amber:#98620a;--amber-bg:#fff6e6;--red:#b93440;--shadow:0 5px 22px #17324706;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}body.dark{--surface:#173244;--bg:#0d202e;--text:#e6eff4;--muted:#acbeca;--border:#35505f;--teal:#57d2c1;--teal-soft:#203f42;--amber:#ffd37d;--amber-bg:#3e3422;--red:#ff9aa1;--shadow:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #32baa9;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #159c91;outline-offset:1px}a{color:var(--teal)}svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--navy);color:#fff;padding:30px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;padding:0 8px;margin-bottom:38px}.brand img{width:44px;height:44px}.brand b{display:block;font-size:15px;letter-spacing:1.1px}.brand small{font-size:10px;color:#b3c5d0;letter-spacing:.4px}.nav{display:flex;flex-direction:column;gap:8px}.nav button,.sidebar .settings-btn{border:0;background:none;color:#c6d6e0;text-align:left;border-radius:12px;min-height:50px;padding:13px 15px;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600}.nav button.selected{background:#244b5c;color:#fff}.nav button.selected svg{color:#6fe2cf}.nav .badge{margin-left:auto;background:#3f6879;color:white}.side-bottom{margin-top:auto;border-top:1px solid #36505f;padding-top:20px}.side-bottom p{font-size:11px;line-height:1.5;color:#a8bdca;margin:18px 12px 0}.side-bottom .person{display:flex;align-items:center;gap:10px;margin:18px 12px}.avatar{width:42px;height:42px;border-radius:13px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;flex-shrink:0;font-weight:750;font-size:14px}.side-bottom .avatar{background:#315263;color:#b2eee4}.main{margin-left:232px;max-width:1560px;padding:0 40px 50px}.topbar{height:89px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:12px}.topbar h1{font-size:16px;margin:0 0 4px;font-weight:650}.topbar p{margin:0;color:var(--muted);font-size:12px}.topright{display:flex;align-items:center;gap:14px}.demo-pill{font-size:10px;letter-spacing:1px;font-weight:800;border-radius:6px;background:var(--amber-bg);color:var(--amber);padding:8px 10px;white-space:nowrap}.online{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:5px}.online:before{content:'';width:6px;height:6px;background:#159e85;border-radius:50%}.mobile-settings{display:none}.content{padding-top:32px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:25px}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:800;color:var(--teal);margin:0 0 8px}.page-head h2,.hero h2{font-size:30px;letter-spacing:-1px;margin:0;font-weight:720;line-height:1.15}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.5}.page-head p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.btn{min-height:44px;border-radius:10px;border:1px solid var(--border);padding:10px 15px;color:var(--text);background:var(--surface);font-size:13px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;line-height:1.35}.btn.primary{background:var(--teal);border-color:var(--teal);color:white}.dark .btn.primary{color:#0e2c38}.btn.danger{color:var(--red);border-color:#b9344044}.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}.btn.small-btn{font-size:12px;min-height:38px;padding:8px 11px}.btn.icon-btn{width:44px;padding:10px;flex-shrink:0}.btn.wide{width:100%}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hero{background:var(--navy);color:white;border-radius:20px;overflow:hidden;padding:28px 30px;position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:22px}.hero .eyebrow{color:#72d7c9}.hero p{font-size:13px;color:#b7ccd8;margin:10px 0 0;line-height:1.6}.hero .btn{background:#71ddc9;color:#123846;border:0;white-space:nowrap}.hero-pattern{position:absolute;right:8%;top:-75px;width:360px;height:360px;border:1px solid #ffffff0a;border-radius:50%;pointer-events:none}.hero-pattern:before,.hero-pattern:after{content:'';position:absolute;inset:32px;border:1px solid #ffffff0a;border-radius:50%}.hero-pattern:after{inset:65px}.hero>*:not(.hero-pattern){position:relative}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:28px}.stat{display:flex;align-items:center;gap:15px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}.stat .stat-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:var(--teal);background:var(--teal-soft)}.stat:nth-child(2) .stat-icon{background:var(--amber-bg);color:var(--amber)}.stat b{font-size:25px;font-weight:720;line-height:1;display:block}.stat span{font-size:12px;color:var(--muted);display:block;margin-top:7px}.columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(285px,1fr);gap:24px;align-items:start}.stack{display:flex;flex-direction:column;gap:17px;min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.section-head h3{font-size:16px;margin:0;letter-spacing:-.3px}.badge{display:inline-flex;align-items:center;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:700;line-height:1.4;background:var(--teal-soft);color:var(--teal);gap:4px}.badge.urgent,.badge.waiting{color:var(--amber);background:var(--amber-bg)}.badge.critical{color:var(--red);background:#b9344014}.badge.muted-badge{color:var(--muted);background:var(--bg)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:23px;min-width:0}.call-card{padding:20px;margin-bottom:13px}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:13px}.reference{font-size:11px;letter-spacing:.6px;color:var(--muted);font-weight:650}.call-card h3{font-size:18px;margin:0 0 8px;letter-spacing:-.4px}.location{display:flex;align-items:flex-start;gap:6px;font-size:12px;line-height:1.5;color:var(--muted);margin:6px 0}.location svg{width:15px;height:17px}.call-next{margin-top:17px;padding-top:15px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.call-next b{display:block;font-size:13px;margin:3px 0}.next-hint{font-size:10px;color:var(--muted)}.people-mini{display:flex;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--border)}.people-mini:first-of-type{border-top:0}.people-mini b{display:block;font-size:13px;margin-bottom:4px}.people-mini small{color:var(--muted);font-size:11px}.people-mini .trade-symbol{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;color:var(--teal)}.notice{background:var(--teal-soft);border:1px solid #087f781c;border-radius:12px;padding:13px 15px;font-size:12px;line-height:1.6;color:var(--teal);margin:12px 0}.notice.amber{background:var(--amber-bg);color:var(--amber);border-color:#98620a22}.notice.plain{background:var(--bg);color:var(--muted);border-color:var(--border)}.empty{padding:40px 16px;text-align:center;color:var(--muted);font-size:13px}.empty svg{height:36px;width:36px;margin-bottom:10px;color:var(--teal)}.empty h3{color:var(--text)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .full{grid-column:1/-1}label.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;min-width:0}input,select,textarea{width:100%;border-radius:9px;background:var(--surface);border:1px solid var(--border);min-height:44px;padding:11px 12px;color:var(--text);font-size:14px;min-width:0}textarea{resize:vertical;min-height:83px;line-height:1.5}input[type=checkbox]{width:19px;height:19px;min-height:19px;accent-color:var(--teal);padding:0}input[type=radio]{width:18px;height:18px;min-height:18px}.check{display:flex;align-items:center;gap:9px;font-size:13px;padding:7px 0;line-height:1.45}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}.form-section{margin-bottom:23px}.form-section h3{font-size:15px;margin:0 0 14px;display:flex;align-items:center;gap:9px}.step-num{width:23px;height:23px;background:var(--teal-soft);color:var(--teal);border-radius:7px;display:inline-grid;place-items:center;font-size:11px}.form-footer{padding-top:18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.detail-title h2{font-size:27px;line-height:1.3}.detail-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}.track-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.track-title h3{font-size:16px;margin:0}.track-title .badge{margin-left:auto}.stage-line{display:flex;gap:4px;margin-bottom:22px}.stage-line span{height:4px;background:var(--border);flex:1;border-radius:4px}.stage-line .passed{background:var(--teal)}.contact-person{display:flex;align-items:center;gap:13px;margin-bottom:20px}.contact-person .avatar{width:52px;height:52px;font-size:17px}.contact-person h4{font-size:22px;margin:2px 0 5px;letter-spacing:-.5px}.contact-person p{font-size:13px;margin:0;color:var(--muted)}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.outcomes .accepted-btn{background:var(--teal-soft);color:var(--teal);border-color:#087f7822}.rule{height:1px;background:var(--border);margin:20px 0}.timer{text-align:center;padding:18px 0}.timer strong{display:block;font-size:48px;font-variant-numeric:tabular-nums;color:var(--amber);letter-spacing:-1.5px;margin:8px 0 16px}.timer small{color:var(--muted)}.attendance-item{border:1px solid var(--border);padding:16px;border-radius:12px;margin-top:12px}.attendance-item h4{margin:0 0 8px;font-size:15px}.attendance-times{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.attendance-times span{font-size:11px;color:var(--muted);display:block;margin-bottom:4px}.attendance-times b{font-size:12px;line-height:1.5}.timeline{list-style:none;padding:0;margin:16px 0 0}.timeline li{position:relative;border-left:1px solid var(--border);padding:0 0 23px 19px;margin-left:5px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.timeline li:before{content:'';position:absolute;width:7px;height:7px;background:var(--teal);border:3px solid var(--surface);box-sizing:content-box;left:-7px;top:0;border-radius:50%}.timeline time{font-size:10px;color:var(--muted);display:block;margin-bottom:3px}.timeline p{margin:4px 0 0;color:var(--muted)}.timeline li:last-child{border:0;padding-bottom:0}.detail-list{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px 17px;font-size:12px;line-height:1.5}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;overflow-wrap:anywhere}.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}.trade-tabs{display:flex;gap:7px;overflow:auto;padding:0 0 15px;margin-bottom:5px}.trade-tabs button{white-space:nowrap}.trade-tabs .selected{background:var(--navy);color:white;border-color:var(--navy)}.roster-item{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding:16px 0}.roster-item:last-child{border-bottom:0}.roster-item .rank{font-size:12px;width:18px;font-weight:700;color:var(--muted)}.roster-info{min-width:0;flex:1}.roster-info strong{font-size:14px;display:block}.roster-info .phone{font-size:12px;margin:5px 0;color:var(--muted)}.roster-item .controls{display:flex;gap:5px}.roster-item .controls .btn{padding:9px;width:38px;min-height:40px}.roster-item .controls svg{width:16px;height:16px}.roster-item .controls .edit-control{width:auto}.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-layout h3{margin:0 0 18px;font-size:16px}.settings-layout .full{grid-column:1/-1}.settings-layout .card>p{font-size:12px;color:var(--muted);line-height:1.6}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;font-size:13px}.segment{display:flex;padding:3px;background:var(--bg);border:1px solid var(--border);border-radius:11px}.segment .btn{border:0;min-height:36px;background:transparent;padding:7px 13px}.segment .selected{background:var(--surface);box-shadow:0 2px 5px #0001;color:var(--teal)}dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:20px;padding:0;width:min(620px,calc(100% - 28px));max-height:90dvh;box-shadow:0 25px 100px #00192855}dialog::backdrop{background:#09233188;backdrop-filter:blur(3px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:2}.modal-header h3{font-size:18px;margin:0}.modal-body{padding:23px 24px}.modal-body p{font-size:13px;line-height:1.6}.modal-body .form-grid{gap:14px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.modal-error{color:var(--red);font-size:13px;line-height:1.5}.qual-row{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:12px;font-size:13px;margin:10px 0}.report-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.report-table th{color:var(--muted);font-weight:600;font-size:11px;padding:12px 7px;border-bottom:1px solid var(--border)}.report-table td{padding:16px 7px;border-bottom:1px solid var(--border);vertical-align:top}.report-table td strong{display:block;margin-bottom:5px}.log-mobile{display:none}.report-print{font-family:Arial,sans-serif;color:#172f40;background:white;padding:20px}.report-print h1{font-size:20px}.report-print h2{font-size:16px}.report-print table{width:100%;border-collapse:collapse;font-size:10px}.report-print td,.report-print th{border-bottom:1px solid #d9e1e5;text-align:left;padding:8px 5px}.report-print section{break-inside:avoid;margin:25px 0}.report-print .report-event{font-size:10px;margin:5px 0}.report-print p{font-size:11px;line-height:1.5}.report-print .small{font-size:10px}.report-print .notice{color:#153847;background:#eff5f4}.report-preview-body{max-height:60vh;overflow:auto;border:1px solid var(--border);padding:5px}#print-root{display:none}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(110px);background:#102c40;color:white;box-shadow:0 5px 25px #0002;border-radius:12px;z-index:200;max-width:90%;width:max-content;padding:14px 20px;font-size:13px;transition:transform .2s;pointer-events:none}#toast.visible{transform:translateX(-50%) translateY(0)}.loading{height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:22px;letter-spacing:2px;font-weight:750;color:var(--navy)}.loading span{font-size:13px;letter-spacing:0;font-weight:400;margin-top:10px}.mobile-nav{display:none}.footer-note{text-align:center;color:var(--muted);font-size:10px;margin:30px 0 0}.inline-report-actions{margin-top:20px}.help-link{font-size:12px}.overflow-wrap{overflow-wrap:anywhere}.list-editor{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px}.task-option.hidden{display:none}
@media(min-width:1550px){.main{margin-right:auto}}@media(max-width:1180px){.sidebar{width:208px;padding:25px 12px}.main{margin-left:208px;padding:0 26px 40px}.brand{gap:9px}.brand b{font-size:13px}.brand small{font-size:9px}.columns{grid-template-columns:minmax(0,1.4fr) minmax(265px,1fr);gap:18px}.hero{padding:25px}.hero h2{font-size:27px}.stats{gap:11px}.stat{padding:18px 14px;gap:10px}}@media(max-width:960px){.sidebar{width:78px;padding:25px 10px}.brand{padding:0;justify-content:center}.brand .brand-text,.nav .nav-label,.nav .badge,.side-bottom p,.side-bottom .person,.settings-btn span{display:none}.nav button,.sidebar .settings-btn{justify-content:center;padding:14px}.main{margin-left:78px;padding:0 25px 35px}.columns{grid-template-columns:minmax(0,1.3fr) minmax(250px,1fr);gap:16px}.card{padding:19px}.hero h2{font-size:25px}.topright .online{display:none}.page-head h2{font-size:26px}.stat .stat-icon{display:none}.stat{padding:18px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-person h4{font-size:19px}.roster-item{gap:8px}.roster-item .avatar{display:none}}@media(max-width:700px){.sidebar{display:none}.main{margin-left:0;padding:0 17px calc(100px + env(safe-area-inset-bottom))}.topbar{height:78px;gap:7px}.topbar h1{font-size:13px;letter-spacing:.4px}.topbar p{font-size:10px}.topright{gap:7px}.topright .demo-pill{font-size:8px;letter-spacing:.3px;padding:6px 7px}.mobile-settings{display:inline-flex;background:transparent;border:0;padding:7px;min-height:40px;min-width:36px;color:var(--text)}.content{padding-top:22px}.page-head{align-items:flex-start;gap:10px;margin-bottom:20px}.page-head h2{font-size:25px;letter-spacing:-.8px}.page-head p{font-size:12px}.hero{padding:23px 21px;display:block;border-radius:17px;margin-bottom:17px}.hero h2{font-size:26px;max-width:250px}.hero p{font-size:12px;max-width:260px}.hero .btn{margin-top:20px;width:100%;font-size:14px}.eyebrow{font-size:9px;letter-spacing:1.7px}.stats{gap:8px;margin-bottom:23px}.stat{padding:15px 10px;display:block;border-radius:12px}.stat b{font-size:24px}.stat span{font-size:10px;line-height:1.4;min-height:28px;margin-top:7px}.columns{grid-template-columns:1fr;gap:21px}.home-secondary{display:none}.card{padding:19px;border-radius:15px}.call-card{padding:18px;margin-bottom:12px}.call-card h3{font-size:18px}.call-next .btn{font-size:11px;padding:9px 11px;max-width:130px}.section-head h3{font-size:16px}.mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:30;padding:7px 6px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -3px 20px #12324005}.mobile-nav button{border:0;color:var(--muted);background:transparent;display:flex;flex-direction:column;align-items:center;gap:5px;padding:7px 2px;min-height:52px;min-width:0;border-radius:10px;font-size:10px;line-height:1.25;font-weight:600}.mobile-nav button.selected{background:var(--teal-soft);color:var(--teal)}.mobile-nav svg{width:21px;height:21px}.settings-layout{grid-template-columns:1fr;gap:16px}.settings-layout .full{grid-column:auto}.form-grid{gap:12px}.form-grid input,.form-grid select,.form-grid textarea,input,select,textarea{font-size:16px}.check-grid{grid-template-columns:1fr 1fr;gap:3px 9px}.check{font-size:12px}.detail-title h2{font-size:23px}.detail-header{display:block}.detail-header .actions{margin-top:13px}.contact-person h4{font-size:21px}.track-title{gap:8px}.track-title h3{font-size:15px}.track-title .badge{font-size:9px}.attendance-times{gap:8px}.attendance-times b{font-size:11px}.timer strong{font-size:44px}.trade-tabs{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.roster-item .avatar{display:none}.roster-info strong{font-size:13px}.roster-item .controls{gap:3px}.roster-item .controls .btn{width:34px;padding:8px;min-height:40px}.roster-item .controls .edit-control{font-size:0}.roster-item .controls .edit-control svg{font-size:initial}.roster-item .rank{width:13px}.report-table{display:none}.log-mobile{display:block}.filters{gap:11px}.report-summary{gap:8px}.report-summary .stat{padding:14px 10px}.report-summary .stat b{font-size:22px}.page-head .actions .btn{font-size:11px;padding:9px 11px}.modal-header{padding:17px 18px}.modal-body{padding:18px}.modal-header h3{font-size:17px}.modal-footer{flex-wrap:wrap}.modal-footer .btn{flex:1}.qual-row{grid-template-columns:1fr 1.2fr;font-size:12px}.qual-row select{font-size:14px;padding:9px}#toast{bottom:calc(88px + env(safe-area-inset-bottom))}.footer-note{line-height:1.6}.report-preview-body{margin:0 -10px}.report-print{padding:12px}.form-footer .btn{width:100%}}@media(max-width:360px){.main{padding-left:12px;padding-right:12px}.hero{padding:21px 18px}.topbar p{max-width:160px}.demo-pill{max-width:90px;text-align:center;white-space:normal}.contact-person h4{font-size:19px}.outcomes .btn{font-size:12px;padding:9px}.card{padding:15px}.check-grid{grid-template-columns:1fr}.mobile-nav button{font-size:9px}}
@media print{@page{size:letter;margin:14mm}body{background:white}#app,#modal,#toast,.mobile-nav{display:none!important}#print-root{display:block}#print-root .report-print{padding:0}#print-root section{break-inside:auto}#print-root h2{break-after:avoid}#print-root tr{break-inside:avoid}#print-root thead{display:table-header-group}#print-root a{color:inherit;text-decoration:none}}

.check input{flex-shrink:0}.mobile-brand,.mobile-hospital{display:none}@media(max-width:700px){.mobile-brand,.topbar .mobile-hospital{display:block}.desktop-hospital{display:none}.topbar .mobile-hospital{margin:3px 0}.topbar #clock{font-size:9px}}

.mobile-trade-select{display:none}@media(max-width:700px){.trade-tabs{display:none}.mobile-trade-select{display:block;margin-bottom:17px}.directory-head{display:block}.directory-head>.btn{margin-top:15px}.directory-head .eyebrow{font-size:9px}}

/* Call log: times remain visible at phone and tablet sizes. */
.log-mode{flex-shrink:0}.example-intro{border-top:3px solid var(--teal,#087e79)}.example-intro h3{margin:8px 0}.example-intro p{max-width:800px}.example-reports{border-top:1px solid var(--border,#dce5e8);margin-top:18px;padding-top:4px}.example-reports h4{margin:14px 0 12px}.log-stats{margin:20px 0}.log-stats .stat b{font-size:27px}.log-list{display:grid;gap:16px}.log-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.log-card-title h3{margin:12px 0 4px}.sample-badge{background:#e5f3f0;color:#11695f}.attendance-row{border-top:1px solid var(--border,#dce5e8);padding:16px 0;display:grid;grid-template-columns:minmax(140px,1fr) 3fr;gap:18px;align-items:start}.attendance-person{display:flex;flex-direction:column;gap:5px}.attendance-person span{font-size:12px;color:var(--muted,#627580)}.attendance-person .badge{align-self:flex-start}.attendance-times{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin:0}.attendance-times dt{font-size:11px;color:var(--muted,#627580);margin-bottom:6px}.attendance-times dd{font-size:13px;font-weight:650;margin:0;overflow-wrap:anywhere}.attendance-duration dd{color:var(--teal,#087e79)}.attendance-duration.missing-time dd{color:#a56715;font-weight:500}.log-actions{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--border,#dce5e8);padding-top:14px}.sample-timeline{margin-top:20px}.sample-timeline .timeline{max-width:850px}.report-print table{width:100%}.dark .sample-badge{background:#183c38;color:#8be1cd}.dark .attendance-duration.missing-time dd{color:#efc477}
@media(max-width:1000px){.attendance-row{grid-template-columns:1fr;gap:12px}.log-stats .stat b{font-size:22px}}
@media(max-width:500px){.log-mode{width:100%;display:flex}.log-mode .btn{flex:1}.example-reports .actions{align-items:stretch;flex-direction:column}.example-reports .btn{justify-content:flex-start}.log-card .card-top{align-items:flex-start;gap:12px}.log-card .reference{line-height:1.6}.attendance-times{grid-template-columns:1fr 1fr;gap:14px}.attendance-duration{grid-column:1/-1}.attendance-times dt{font-size:12px}.attendance-times dd{font-size:14px}.log-actions .btn{flex:1;font-size:12px;padding:10px}.log-stats{gap:8px}.log-stats .stat{padding:14px 10px}.log-stats .stat b{font-size:19px}.log-stats .stat span{font-size:11px}.log-card-title{gap:6px}.example-intro{padding:18px}.report-preview-body{overflow-x:auto}}

/* Organization identity and operator access */
.org-masthead {
  position: relative;
  isolation: isolate;
  display: grid;
  justify-items: center;
  overflow: hidden;
  padding: 12px clamp(15px, 3vw, 32px);
  border: 1px solid #234a57;
  border-radius: var(--radius);
  background: linear-gradient(115deg, #102c40 5%, #124653 74%, #165e61);
  color: #f6fffd;
  text-align: center;
}
.org-masthead::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background-image: repeating-linear-gradient(118deg, transparent 0 30px, #ffffff07 31px, transparent 32px);
  mask-image: linear-gradient(to right, #000, transparent 32%, transparent 68%, #000);
}
.login-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-transform: uppercase;
  letter-spacing: .17em;
  font-weight: 750;
  font-size: 11px;
}
.org-masthead h1 {
  max-width: 100%;
  margin: 0 0 3px;
  font-size: clamp(26px, 2.6vw, 38px);
  line-height: 1.1;
  letter-spacing: -.035em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.org-masthead p { color: #cfdfdf; font-size: 14px; margin: 0; }
.home-toolbar { display: flex; gap: 14px; justify-content: space-between; align-items: center; margin: 25px 0 18px; }
.home-toolbar h2 { font-size: clamp(22px, 3vw, 29px); letter-spacing: -.025em; margin: 0 0 4px; }
.home-toolbar p { margin: 0; font-size: 12px; color: var(--muted); }
.small-org { display: block; margin-bottom: 4px; font-size: 15px; overflow-wrap: anywhere; }
.header-context { min-width: 0; }
.dispatch-header { min-height: 64px; height: auto; padding: 14px 0; }
.dispatch-header + .content { padding-top: 21px; }
.dispatch-header .topright { flex-shrink: 0; }
.dispatcher-directory { margin-bottom: 20px; }
.dispatcher-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%,220px),1fr)); gap: 10px; }
.dispatcher-row { display: flex; gap: 12px; align-items: center; min-width: 0; border: 1px solid var(--border); border-radius: 12px; padding: 12px; }
.dispatcher-name { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.dispatcher-name small { display: block; color: var(--teal); margin-top: 3px; font-size: 12px; }
.login-page { min-height: 100vh; min-height: 100svh; display: grid; place-items: center; padding: 32px 18px; background: radial-gradient(ellipse at top, var(--teal-soft) 0%, var(--bg) 65%); }
.login-shell { width: min(100%, 460px); min-width: 0; }
.login-brand { color: var(--teal); font-size: 12px; }
.login-brand img { width: 32px; height: 32px; }
.login-shell h1 { margin: 16px 0 26px; text-align: center; font-size: clamp(28px, 5vw, 40px); letter-spacing: -.04em; overflow-wrap: anywhere; text-wrap: balance; line-height: 1.12; }
.login-card { padding: clamp(22px,4vw,34px); border-top: 3px solid var(--teal); box-shadow: 0 12px 40px #102c400c; }
.login-card h2 { margin: 0 0 16px; font-size: 22px; letter-spacing: -.025em; }
.login-card p { line-height: 1.5; }
#login-form, .access-fields { display: grid; gap: 16px; }
.pin-entry { font-size: 19px; letter-spacing: .35em; font-variant-numeric: tabular-nums; }
.login-error { color: var(--red); font-size: 13px; margin: 0; }
.login-error:empty { display: none; }
@media(max-width: 700px) {
  .dispatch-header { flex-wrap: wrap; }
  .dispatch-header .header-context { flex: 1 1 95px; }
  .dispatch-header .small-org { font-size: 12px; }
  .dispatch-header .lock-button { font-size: 11px; padding: 8px 9px; min-height: 40px; }
  .dispatch-header .lock-button svg { width: 14px; height: 14px; }
  .dispatch-header + .content { padding-top: 16px; }
  .home-toolbar { flex-wrap: wrap; }
  .home-toolbar .btn { font-size: 12px; }
  .dispatcher-directory .section-head { flex-wrap: wrap; }
}

/* Keep the overview readable at normal desktop zoom. */
.home-panels { align-items: stretch; }
.home-panels .overview-panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  padding: 14px 16px;
}
.overview-panel > .section-head {
  display: flex;
  align-items: center;
  min-height: 38px;
  gap: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
  margin: 0 0 10px;
}
.overview-panel > .section-head h3 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 24px;
  line-height: 1.25;
}
.overview-panel > .section-head .btn { min-height: 32px; }
.home-call-list {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}
.home-call-list > .call-card { flex: none; box-shadow: none; }
.home-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.home-contacts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 10px;
  align-content: start;
  margin: 0;
  padding: 0;
  list-style: none;
}
.trade-queue {
  padding: 9px 10px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 10px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.trade-queue h4 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 1.25;
}
.trade-queue h4 svg { color: var(--teal); width: 16px; height: 16px; }
.ranked-contacts {
  display: grid;
  gap: 3px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.ranked-contacts li {
  display: grid;
  grid-template-columns: 17px minmax(0, 1fr);
  gap: 5px;
  align-items: baseline;
  font-size: 12px;
  line-height: 1.35;
}
.queue-position {
  text-align: center;
  font-variant-numeric: tabular-nums;
  color: var(--muted);
}
.ranked-contacts li:first-child { font-weight: 700; }
.ranked-contacts li:first-child .queue-position {
  border-radius: 4px;
  background: var(--teal-soft);
  color: var(--teal);
}
.no-regular { font-size: 12px; color: var(--muted); margin: 0; }
.home-contacts:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.home-rotation {
  margin: 8px 0 0;
  padding-top: 9px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}
.home-call-list:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.home-call-list .call-card:last-child { margin-bottom: 0; }
@media (min-width: 701px) {
  .home-main > .dispatch-header { min-height: 48px; padding-block: 6px; }
  .home-main > .content { padding-top: 12px; }
  .home-toolbar { margin: 14px 0 12px; }
  .home-toolbar h2 { font-size: 23px; }
  .home-main .stats { margin-bottom: 16px; }
  .home-main .stat { padding: 12px 16px; gap: 12px; }
  .home-main .stat b { font-size: 22px; }
  .home-main .stat span { margin-top: 3px; }
  .home-main .stat-icon { width: 36px; height: 36px; }
  .home-panels { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .home-empty { padding: 22px 16px; }
  .home-empty svg { width: 28px; height: 28px; margin-bottom: 0; }
  .home-empty h3 { margin: 8px 0 5px; }
  .home-empty p { margin: 0; }
  .home-main .footer-note { margin-top: 14px; }
}
@media (min-width: 1000px) and (min-height: 600px) {
  .home-main {
    max-height: 100vh;
    max-height: 100dvh;
    padding-bottom: 12px;
    display: flex;
    flex-direction: column;
  }
  .home-main > .dispatch-header, .home-main > .footer-note { flex: none; }
  .home-main > .content { display: flex; min-height: 0; flex-direction: column; }
  .home-main .org-masthead, .home-main .home-toolbar, .home-main .stats { flex: none; }
  .home-panels { min-height: 0; grid-template-rows: minmax(0, 1fr); }
  .home-queue, .home-secondary { display: flex; flex-direction: column; min-height: 0; max-height: 100%; }
  .home-panels .section-head, .home-rotation { flex: none; }
  .home-call-list, .home-contacts { min-height: 0; overflow: auto; }
}
@media (min-width: 701px) and (max-height: 720px) {
  .home-panels .overview-panel { padding: 10px 12px; }
  .home-contacts { gap: 6px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trade-queue { padding: 6px; }
  .trade-queue h4 { gap: 4px; margin-bottom: 4px; }
  .ranked-contacts { gap: 2px; }
  .ranked-contacts li { grid-template-columns: 13px minmax(0, 1fr); gap: 3px; }
}
@media (max-width: 700px) {
  .home-panels .overview-panel { padding: 12px; }
  .home-contacts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .trade-queue { padding: 8px; }
}

.native-contact-actions { margin: 16px 0 12px; }
.native-contact-actions a { text-decoration: none; }
.directory-phone { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.directory-phone > a:first-child { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.directory-text { display: inline-grid; place-items: center; min-width: 36px; min-height: 36px; border: 1px solid var(--border); border-radius: 8px; }
.directory-text svg { width: 17px; height: 17px; }
