:root{--bg: #0f141a;--bg-elev: #161d26;--bg-card: #1b232e;--bg-input: #222c38;--border: #2c3846;--border-strong: #3a4a5c;--text: #dfe3e8;--text-muted: #9aa6b4;--text-dim: #7a8796;--blue: #2f7bff;--blue-hover: #4a8dff;--blue-press: #1f63d9;--blue-soft: rgba(47, 123, 255, .16);--amber: #f0b429;--amber-soft: rgba(240, 180, 41, .14);--red: #ff6b6b;--red-soft: rgba(255, 107, 107, .14);--green: #3ecf8e;--green-soft: rgba(62, 207, 142, .14);--radius: 12px;--radius-sm: 8px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.45;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0 0 .4rem;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.05rem}h4{font-size:1rem}p{margin:.3rem 0}[hidden]{display:none!important}.muted{color:var(--text-muted)}.small{font-size:.85rem}.pad{padding:0 .25rem}.row{display:flex;gap:.5rem;align-items:center}.row.wrap{flex-wrap:wrap}.row>.field{flex:1}.warn-text{color:var(--amber)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top,0px));background:var(--bg-elev);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:.6rem;min-width:0}.brand-title{font-weight:700}.brand-sub{color:var(--text-muted);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-mark{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:14px;background:var(--blue);color:#f4f7fb;font-weight:800;letter-spacing:.04em;margin-bottom:.6rem}.brand-mark.small{width:36px;height:36px;border-radius:9px;font-size:.75rem;margin:0;flex:none}.tabs{display:flex;gap:.25rem;padding:.4rem .75rem;overflow-x:auto;background:var(--bg-elev);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.tab{background:none;border:0;padding:.55rem .9rem;border-radius:999px;color:var(--text-muted);cursor:pointer;white-space:nowrap;font-weight:600}.tab.on{background:var(--blue-soft);color:var(--blue-hover)}.main{max-width:860px;margin:0 auto;padding:1rem .75rem 7rem;display:grid;gap:.9rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem}.eyebrow{color:var(--blue-hover);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.hero-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:44px;padding:.55rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;font-weight:650;text-decoration:none}.btn.small{min-height:34px;padding:.3rem .7rem;font-size:.88rem}.btn.block{width:100%}.btn.primary{background:var(--blue);color:#f4f7fb}.btn.primary:hover{background:var(--blue-hover)}.btn.primary:active{background:var(--blue-press)}.btn.secondary{background:var(--blue-soft);color:var(--blue-hover);border-color:#2f7bff59}.btn.ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn.ghost:hover{border-color:var(--blue)}.btn.danger{background:var(--red);color:#1a0f10}.btn.danger-ghost{background:transparent;color:var(--red);border-color:#ff6b6b73}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,.seg:focus-visible,.tab:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.linkish{background:none;border:0;color:var(--blue-hover);cursor:pointer;padding:0;font-weight:600}input[type=text],input[type=password],input[type=email],input[type=tel],input[type=date],select,textarea{width:100%;min-height:44px;padding:.55rem .7rem;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border-strong);color:var(--text)}input:disabled,textarea:disabled,select:disabled{opacity:.6}input[type=date]{color-scheme:dark}textarea{resize:vertical;min-height:64px}select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}label.inline{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-muted)}label.inline select{width:auto;min-height:36px}.check{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer}.check input{width:22px;height:22px;margin-top:1px;accent-color:var(--blue);flex:none}.form-section h3{color:var(--blue-hover);border-bottom:1px solid var(--border);padding-bottom:.45rem;margin-bottom:.6rem}.field{display:block;margin:.8rem 0}.field:first-child{margin-top:.2rem}.label{display:block;font-weight:600;margin-bottom:.35rem}.label.req:after{content:" *";color:var(--blue-hover)}.hint{color:var(--text-muted);font-size:.85rem;margin:-.15rem 0 .4rem}.hint.strong{color:var(--blue-hover);font-weight:600}.note{color:var(--text-muted);font-size:.9rem;background:var(--bg-elev);border-radius:var(--radius-sm);padding:.55rem .7rem;margin:.4rem 0}.field.gate{border-left:3px solid var(--amber);padding-left:.7rem}.field.missing{outline:2px solid var(--red);outline-offset:4px;border-radius:4px}.field.locked input{border-style:dashed}.field.req-look .label:after{content:" * required";color:var(--blue-hover);font-size:.8rem}.flag{margin-top:.4rem;padding:.35rem .6rem;border-radius:6px;font-size:.88rem;font-weight:600;background:var(--amber-soft);color:var(--amber)}.segs,.chips-pick{display:flex;flex-wrap:wrap;gap:.4rem}.seg{min-height:44px;min-width:56px;padding:.45rem .9rem;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border-strong);color:var(--text);cursor:pointer;font-weight:600}.seg.on{background:var(--blue);border-color:var(--blue);color:#f4f7fb}.with-suffix{display:flex;align-items:center;gap:.4rem;max-width:220px}.suffix{color:var(--text-muted)}.computed{display:inline-block;font-weight:700;padding:.45rem .7rem;background:var(--bg-elev);border-radius:var(--radius-sm)}.ro-value{white-space:pre-wrap;padding:.1rem 0}.ro-line{margin:.2rem 0}.readonly .field{margin:.65rem 0}.readonly .label{color:var(--text-muted);font-weight:600;font-size:.9rem;margin-bottom:.1rem}.photo-box{display:grid;gap:.4rem}.file-btn{position:relative;overflow:hidden;width:fit-content}.file-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.photo-list{list-style:none;padding:0;margin:.2rem 0;display:grid;gap:.3rem}.photo-list li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;background:var(--bg-elev);padding:.35rem .6rem;border-radius:6px;word-break:break-all}.repeat-row{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem;margin:.5rem 0}.repeat-head{display:flex;justify-content:space-between;align-items:center}.recap-head .btn{margin-bottom:.5rem}.recap-head .chip{margin-top:.3rem}.sticky-actions{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom,0px));background:#161d26f5;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.missing-box{border-color:var(--red);background:var(--red-soft)}.missing-box ul,.flag-box ul{margin:.4rem 0 0;padding-left:1.2rem}.flag-box{border-color:#f0b42980;background:var(--amber-soft)}.flag-box strong{color:var(--amber)}.ok-box{border-color:#3ecf8e73;background:var(--green-soft);color:var(--green);font-weight:600}.form-err{color:var(--red);font-weight:600}.chip{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.8rem;font-weight:700;background:var(--bg-input);color:var(--text-muted);border:1px solid var(--border-strong);white-space:nowrap}.chip.ok{background:var(--green-soft);color:var(--green);border-color:#3ecf8e66}.chip.info{background:var(--blue-soft);color:var(--blue-hover);border-color:#2f7bff66}.chip.warn{background:var(--amber-soft);color:var(--amber);border-color:#f0b42966}.chip.bad{background:var(--red-soft);color:var(--red);border-color:#ff6b6b66}.list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.list-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-height:48px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;cursor:pointer;text-align:left}.list-btn:hover{border-color:var(--blue)}.list-meta{display:flex;align-items:center;gap:.4rem;color:var(--text-muted)}.week-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0 .75rem}.week-label{display:flex;align-items:center;gap:.5rem;flex:1;justify-content:center;min-width:180px}.stats{display:flex;gap:.75rem}.stat{flex:1;background:var(--bg-elev);border-radius:var(--radius-sm);padding:.6rem .8rem;display:grid}.stat strong{font-size:1.4rem;color:var(--blue-hover)}.stat span{color:var(--text-muted);font-size:.85rem}.unit-card summary{cursor:pointer;padding:.2rem 0;list-style-position:inside}.unit-card[open] summary{margin-bottom:.6rem}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:.5rem .45rem;border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--text-muted);font-weight:600;font-size:.82rem}td.actions{text-align:right}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table.metrics th,table.metrics td{white-space:nowrap}table.metrics td.off{color:var(--amber);font-weight:700}@media(max-width:560px){.seat-table thead{display:none}.seat-table tr{display:grid;grid-template-columns:1fr auto;gap:.15rem .5rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.seat-table td{border:0;padding:.1rem 0}.seat-table td[data-th=Role]{font-weight:700}.seat-table td[data-th=Due]{color:var(--text-muted);font-size:.85rem}}.bars{display:flex;align-items:flex-end;gap:.4rem;height:190px;padding:.5rem 0;overflow-x:auto}.bar-col{flex:1 0 44px;display:flex;flex-direction:column;align-items:center;height:100%}.bar-val{font-size:.75rem;color:var(--text-muted);margin-bottom:.2rem;white-space:nowrap}.bar-track{flex:1;width:70%;display:flex;align-items:flex-end;background:var(--bg-elev);border-radius:6px 6px 0 0}.bar{width:100%;background:var(--blue);border-radius:6px 6px 0 0}.bar.neg{background:repeating-linear-gradient(45deg,var(--blue),var(--blue) 4px,var(--blue-press) 4px,var(--blue-press) 8px)}.bar.off{background:var(--amber)}.bar-label{font-size:.72rem;color:var(--text-dim);margin-top:.25rem;white-space:nowrap}.unit-panel{display:grid;gap:.5rem}.seat-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.65rem .8rem}.seat-row.empty{border-style:dashed}.seat-role{font-size:.8rem;color:var(--blue-hover);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.seat-name{font-weight:700;font-size:1.05rem}.seat-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.create-form{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.75rem}.sms-optin{background:var(--bg-elev);border-radius:var(--radius-sm);padding:.65rem .75rem;margin:.7rem 0}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.login-card{width:100%;max-width:380px;text-align:left}.login-card .btn{margin-top:.5rem}.demo-note{margin-top:.9rem;border-top:1px solid var(--border);padding-top:.6rem}.banner{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem .9rem;border-radius:var(--radius)}.banner.warn{background:var(--amber-soft);color:var(--amber);border:1px solid rgba(240,180,41,.4);font-weight:600}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080cb3;display:grid;place-items:center;padding:1rem;z-index:20}.modal{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius);padding:1.1rem}.modal-field{display:grid;gap:.3rem;margin:.7rem 0;font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.modal-err{color:var(--red);font-weight:600}.toast{position:fixed;left:50%;bottom:5.5rem;transform:translate(-50%) translateY(20px);opacity:0;pointer-events:none;background:var(--bg-elev);border:1px solid var(--border-strong);color:var(--text);padding:.65rem 1rem;border-radius:999px;transition:opacity .2s,transform .2s;z-index:30;max-width:calc(100% - 2rem);text-align:center;font-weight:600}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast.ok{border-color:var(--green)}.toast.bad{border-color:var(--red);color:var(--red)}body.keypad-open{padding-bottom:280px}.numpad{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--bg-elev);border-top:1px solid var(--border)}.numpad-key{min-height:48px;border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border);color:var(--text);font-size:1.25rem}.numpad-key.sign{color:var(--blue);font-size:1.6rem}.numpad-key.fn{font-size:1rem;color:var(--text-muted)}html.light{--bg: #fbf6e9;--bg-elev: #f4ecd8;--bg-card: #fffaf0;--bg-input: #ffffff;--border: #ddd2b8;--border-strong: #c4b797;--text: #111111;--text-muted: #3d3d3d;--text-dim: #5a5a5a;--blue: #1f5fd6;--blue-hover: #1a52bb;--blue-press: #16469f;--amber: #8a5a00;--red: #c42b2b;--green: #137a4b;color-scheme:light}html.light .sticky-actions{background:#f4ecd8f5}html.light .overlay{background:#28200f73}.theme-toggle{position:fixed;right:.6rem;bottom:.6rem;z-index:30;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--bg-card);color:var(--text);border:1px solid var(--border-strong);cursor:pointer;box-shadow:0 2px 8px #00000040}body:has(.sticky-actions) .theme-toggle{bottom:calc(4.6rem + env(safe-area-inset-bottom,0px))}body.keypad-open .theme-toggle{display:none}.exec-run{margin-top:1rem}.exec-run p{margin:.4rem 0 0}.top-actions{display:flex;align-items:center;gap:.4rem}.theme-toggle.in-bar{position:static;box-shadow:none;border-radius:var(--radius-sm)}.top-actions .btn{white-space:nowrap}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem}.photo-grid.edit{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.photo-tile,.photo-fig{display:grid;gap:.3rem;margin:0;align-content:start}.photo-fig figcaption{font-size:.75rem;color:var(--muted, #888);word-break:break-all}.photo-thumb{padding:0;border:0;background:var(--bg-elev);border-radius:8px;overflow:hidden;aspect-ratio:1;cursor:pointer}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-cap{width:100%;font-size:16px}.photo-old span{word-break:normal;overflow-wrap:anywhere}.photo-old{display:grid;gap:.2rem;background:var(--bg-elev);border:1px dashed var(--muted, #888);border-radius:8px;padding:.5rem;font-size:.75rem;word-break:break-all}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000eb;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:env(safe-area-inset-top) .5rem env(safe-area-inset-bottom)}.lightbox img{max-width:100%;max-height:82vh;object-fit:contain}.lightbox-bar{display:flex;gap:1rem;align-items:center;color:#fff;padding:.6rem;flex-wrap:wrap;justify-content:center}.lightbox-bar a{color:#9cf}.info-box{white-space:pre-wrap;background:#2f7bff14;border-left:3px solid #2f7bff;border-radius:6px;padding:.5rem .7rem}.lsm-btn{background:#f60!important;border-color:#f60!important;color:#fff!important;font-family:Arial,Segoe UI,sans-serif;font-weight:700}.big-banner{background:#f60;color:#fff;font-weight:800;font-size:1.25rem;line-height:1.35;padding:16px 18px;border-radius:12px;margin:0 0 12px}.banner-card{border:2px solid #FF6600}.visit-row{border-left:3px solid var(--accent, #2f7bff)}.order-amounts{padding-left:10px}.followups-card li{margin:8px 0}.preview-bar{position:sticky;top:0;z-index:50;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#f60;color:#fff;padding:10px 14px;font-size:1rem}.preview-bar .btn{background:#fff;color:#111}.info-box.tone-green,.info-box.tone-yellow,.info-box.tone-red{color:#fff;font-weight:700;opacity:1;filter:none;border-left-width:6px;text-shadow:0 1px 1px rgba(0,0,0,.35)}.info-box.tone-green{background:#15803d;border-left-color:#4ade80}.info-box.tone-yellow{background:#a16207;border-left-color:#facc15}.info-box.tone-red{background:#b91c1c;border-left-color:#f87171}.info-box .porter-num{font-size:1.45rem;font-weight:800;margin-right:.35rem}.hosp-due{color:#ff8a1f;font-weight:800;font-size:1.9rem;line-height:1.2;margin:4px 0 14px;padding:6px 2px;text-shadow:0 1px 2px rgba(0,0,0,.5)}.hosp-due-big{font-size:3rem;font-weight:900;letter-spacing:.5px}.pdf-file{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}.pdf-link{font-weight:700;word-break:break-all}
