:root{color-scheme:light;--bg: #f3f6f5;--panel: #ffffff;--panel-muted: #f8fbfa;--text: #111c1f;--muted: #63727a;--line: #d8e2e1;--line-strong: #aebfbe;--primary: #0f6f66;--primary-dark: #083d39;--primary-soft: #dff3ef;--accent: #a75421;--accent-dark: #7b3b12;--blue: #284f7c;--danger: #b3261e;--danger-soft: #fde7e3;--warning: #8a5a00;--warning-soft: #fff0c7;--info-soft: #e7edf7;--focus: #1769aa;--shadow: 0 20px 50px rgba(17, 28, 31, .08);--shadow-soft: 0 8px 24px rgba(17, 28, 31, .06)}*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:linear-gradient(180deg,#e9f0ef 0,#f6f8f7 330px,var(--bg) 100%);color:var(--text);font-family:Aptos,Aptos Display,Segoe UI Variable,Segoe UI,-apple-system,BlinkMacSystemFont,Arial,sans-serif;text-rendering:optimizeLegibility}.app-shell.is-locked{display:none}.auth-gate{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(135deg,#092f31f0,#173f4fe6),linear-gradient(180deg,#e9f0ef 0,#f6f8f7)}.auth-card{width:min(460px,100%);padding:28px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:linear-gradient(180deg,#fff,#f7fbfa);box-shadow:0 30px 90px #0416184d}.auth-card h1{margin:0;font-family:Aptos Display,Segoe UI Variable Display,Segoe UI,Arial,sans-serif;font-size:32px;line-height:1.05}.auth-card p{margin:10px 0 18px;color:var(--muted);font-weight:550}.auth-card .button{width:100%;margin-top:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(23,105,170,.28);outline-offset:2px;border-color:var(--focus)}.app-shell{min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px 30px;background:linear-gradient(135deg,#092f31,#0d4b45 48%,#173f4f);border-bottom:1px solid rgba(255,255,255,.12);color:#fff;box-shadow:0 18px 48px #081f2138}.brand-block{max-width:680px}.eyebrow{margin:0 0 6px;color:#aee4db;font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.topbar h1,.panel h2,.dialog-header h2,.panel-title h3{margin:0}.topbar h1{font-family:Aptos Display,Segoe UI Variable Display,Segoe UI,Arial,sans-serif;font-size:40px;font-weight:850;line-height:1.05}.topbar-copy{max-width:620px;margin:8px 0 0;color:#d8ece9;font-size:15px;font-weight:500}.topbar-actions,.filters,.dialog-actions,.panel-title,.bill-row,.table-actions{display:flex;align-items:center}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}main{padding:24px 32px 46px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid transparent;border-radius:7px;padding:9px 15px;font-weight:850;white-space:nowrap;box-shadow:0 1px #ffffff8c inset;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease,box-shadow .14s ease}.button .lucide,.segment .lucide,.icon-button .lucide{width:16px;height:16px;flex:0 0 auto;stroke-width:2.4}.button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #111c1f1a}.button.primary{background:linear-gradient(180deg,#158176 0%,var(--primary) 100%);border-color:#ffffff1f;color:#fff}.button.primary:hover{background:var(--primary-dark)}.button.secondary{background:linear-gradient(180deg,#fff,#f7faf9);border-color:#cfdbda;color:var(--text)}.topbar .button.secondary{background:#ffffff21;border-color:#ffffff4d;color:#fff;box-shadow:0 1px #ffffff1f inset}.button.accent{background:linear-gradient(180deg,#b86128 0%,var(--accent) 100%);color:#fff}.button.accent:hover{background:var(--accent-dark)}.button.admin-action{min-width:128px;background:linear-gradient(180deg,#17465d,#082a3c);border-color:#d2a44e;color:#fff;box-shadow:0 1px #ffffff2e inset,0 14px 30px #082a3c38}.button.admin-action span{color:#fff}.button.admin-action .lucide{color:#f4d188}.button.admin-action:hover{background:linear-gradient(180deg,#123a4f,#061f2e);border-color:#d9b36d}.button.danger{background:var(--danger-soft);border-color:#f4bbb4;color:var(--danger)}.file-button input{display:none}.ops-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.ops-strip>div,.filters,.metric,.panel{background:linear-gradient(180deg,#fff,#fbfdfc);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.ops-strip>div{position:relative;min-height:82px;overflow:hidden;padding:16px 18px}.ops-strip>div:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--primary),var(--blue))}.ops-strip strong,.ops-strip small{display:block}.ops-strip small{margin-top:4px;color:var(--muted);font-weight:500}.status-dot{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 4px #8a5a001a}.status-dot.online{background:#14744f;box-shadow:0 0 0 4px #14744f1f}.status-dot.offline{background:var(--danger);box-shadow:0 0 0 4px #b3261e1f}.filters{align-items:end;flex-wrap:wrap;gap:14px;padding:18px}.field{display:flex;flex:1 1 170px;min-width:160px;flex-direction:column;gap:6px}.field.wide{grid-column:1 / -1}.search-field{flex:2 1 270px}label{color:#4b5e64;font-size:12px;font-weight:850}input,select,textarea{width:100%;border:1px solid #c6d4d3;border-radius:7px;background:linear-gradient(180deg,#fff,#fbfdfd);color:var(--text);padding:11px 12px;box-shadow:0 1px #111c1f05 inset}textarea{resize:vertical}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:20px 0}.metric{position:relative;min-height:146px;overflow:hidden;padding:20px}.metric:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--primary)}.metric:nth-child(2):before{background:var(--blue)}.metric:nth-child(3):before{background:var(--accent)}.metric:nth-child(5):before{background:#59636f}.metric.warning{border-color:#e5c06f;background:linear-gradient(180deg,#fffaf0,#fff 82%)}.metric span,.metric small{display:block;color:var(--muted)}.metric span{min-height:36px;font-size:13px;font-weight:850}.metric strong{display:block;margin:10px 0 5px;font-family:Aptos Display,Segoe UI Variable Display,Segoe UI,Arial,sans-serif;font-size:30px;font-variant-numeric:tabular-nums;font-weight:850;line-height:1.05;overflow-wrap:anywhere}.work-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;margin-bottom:20px}.panel{position:relative;padding:20px}.panel-title{justify-content:space-between;gap:16px;margin-bottom:16px}.panel-title-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.segmented-control{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#f5f9f8}.segment{display:inline-flex;min-height:30px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:6px;background:transparent;color:var(--muted);padding:5px 9px;font-size:12px;font-weight:850}.segment.active{background:#fff;color:var(--primary-dark);box-shadow:var(--shadow-soft)}.panel-title h2,.panel-title h3{font-family:Aptos Display,Segoe UI Variable Display,Segoe UI,Arial,sans-serif;font-size:19px;font-weight:850}.panel-title p{margin:5px 0 0;color:var(--muted);font-weight:500}.panel-title span{color:var(--muted);font-size:13px;font-weight:850}.queue-list,.breakdown-list,.patient-card-list{display:grid;gap:12px}.queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#ffffff 0%,var(--panel-muted) 100%);box-shadow:var(--shadow-soft)}.queue-item strong,.patient-card strong{display:block}.queue-item small,.patient-card small,.meta-line{color:var(--muted)}.queue-money{display:grid;justify-items:end;gap:8px;text-align:right;font-weight:850}.queue-more-button,.inline-panel-button{width:100%}.ppsi-command-panel{margin:0 0 20px;overflow:hidden;border-color:#bfd1d5;background:linear-gradient(135deg,#fff,#f7fbfa 54%,#eef5f7)}.ppsi-command-panel:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--primary),var(--blue),#caa15a)}.ppsi-command-panel .eyebrow{color:var(--primary)}.command-brief-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.command-card{display:grid;grid-template-rows:auto 1fr auto;gap:13px;min-height:205px;padding:16px;border:1px solid #cfdbda;border-radius:8px;background:linear-gradient(180deg,#fff,#f8fbfb);box-shadow:var(--shadow-soft)}.command-card-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;background:#e8f2f5;color:var(--blue)}.command-card-icon .lucide{width:18px;height:18px;stroke-width:2.4}.command-card span,.command-card small{display:block}.command-card span{min-height:30px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.command-card strong{display:block;margin:7px 0 6px;font-family:Aptos Display,Segoe UI Variable Display,Segoe UI,Arial,sans-serif;font-size:24px;font-weight:850;line-height:1.05;overflow-wrap:anywhere}.command-card small{color:var(--muted);font-weight:550;line-height:1.35}.command-card .button{width:100%}.bar-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(88px,1.4fr) minmax(92px,auto);align-items:center;gap:10px}.breakdown-list.is-expanded{max-height:390px;overflow:auto;padding-right:4px}.bar-row span{color:var(--muted);font-size:13px}.bar-track{height:9px;overflow:hidden;border-radius:99px;background:#e8eef0}.bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#1a8a7c)}.bar-values{display:grid;justify-items:end;gap:2px;font-variant-numeric:tabular-nums}.bar-values strong{line-height:1}.bar-values small{color:var(--muted);font-size:12px;font-weight:700}.status-chip,.role-chip,.date-chip{display:inline-flex;align-items:center;min-height:28px;border-radius:99px;padding:5px 9px;font-size:12px;font-weight:850}.status-chip{background:var(--primary-soft);color:var(--primary-dark)}.status-chip.pending{background:var(--warning-soft);color:var(--warning)}.status-chip.settled{background:#dceee7;color:#145447}.status-chip.requested{background:var(--info-soft);color:#334861}.status-chip.check{background:var(--danger-soft);color:#84402f}.role-chip{background:#eef4f2;color:var(--primary-dark)}.date-chip{background:var(--info-soft);color:#334861}.date-chip.due{background:var(--danger-soft);color:var(--danger)}.note-preview{display:-webkit-box;max-width:420px;overflow:hidden;color:var(--muted);-webkit-box-orient:vertical;-webkit-line-clamp:2}.patient-panel,.admin-panel{padding:0;overflow:hidden}.admin-panel{margin-top:18px}.patient-title{align-items:flex-start;padding:20px;margin:0;background:linear-gradient(180deg,#fff,#fbfdfc)}.table-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.table-wrap{overflow-x:auto}table{width:100%;min-width:1180px;border-collapse:collapse}.admin-table{min-width:760px}caption{width:1px;height:1px;overflow:hidden;position:absolute;clip:rect(0 0 0 0);white-space:nowrap}th,td{border-top:1px solid var(--line);padding:14px 15px;text-align:left;vertical-align:top}th{background:#edf3f3;color:#40565e;font-size:12px;font-weight:900;text-transform:uppercase}td{font-size:14px}tbody tr{background:#fff}tbody tr:nth-child(2n){background:#fbfdfd}tbody tr:hover{background:#f4faf8}.bill-list,.notes-cell,.date-list{display:grid;gap:5px}.bill-list strong{display:block}.muted{color:var(--muted)}.row-actions{display:flex;gap:8px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:7px;background:linear-gradient(180deg,#fff,#f6faf9);color:var(--text);font-size:20px;line-height:1}.patient-card-list{display:none;padding:0 16px 16px}.patient-card{border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,#fff,#fbfdfc);padding:15px;box-shadow:var(--shadow-soft)}.load-more-cards{width:100%}.patient-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.patient-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}dialog{width:min(980px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;border:0;border-radius:8px;padding:0;box-shadow:0 30px 90px #07181a4d}dialog::backdrop{background:#0d1f1d8c}#patientForm,#userForm{padding:20px}.dialog-header{display:flex;justify-content:space-between;gap:18px;margin-bottom:18px}.dialog-header .eyebrow{color:var(--primary)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bill-editor{margin-top:18px;border:1px solid var(--line);border-radius:8px;padding:16px;background:linear-gradient(180deg,#ffffff 0%,var(--panel-muted) 100%)}.panel-title.compact{margin-bottom:10px}.bill-rows{display:grid;gap:10px}.bill-row{gap:10px}.bill-row select{flex:1.4}.bill-row input{flex:1}.dialog-actions{justify-content:space-between;gap:14px;margin-top:18px}.dialog-actions>div{display:flex;gap:10px}.form-error{min-height:20px;margin:12px 0 0;color:var(--danger);font-weight:850}.toast{position:fixed;right:18px;bottom:18px;z-index:20;width:min(420px,calc(100vw - 36px));min-height:44px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:8px;background:linear-gradient(180deg,#fff,#f7faf9);box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .15s ease,transform .15s ease}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:1180px){.metric-grid,.work-grid,.command-brief-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.queue-panel{grid-column:1 / -1}}@media(max-width:920px){.topbar,.patient-title{flex-direction:column;align-items:stretch}.topbar-actions,.table-actions,.panel-title-actions{justify-content:flex-start}main{padding:18px}.ops-strip,.metric-grid,.work-grid,.command-brief-grid,.form-grid{grid-template-columns:1fr}.field{min-width:100%}}@media(max-width:680px){.topbar{padding:22px 18px}.topbar h1{font-size:30px}.metric strong{font-size:31px}.topbar-actions .button,.filters .button,.table-actions .button,.segmented-control{width:100%}.segment{flex:1}.patient-panel .table-wrap{display:none}.patient-card-list{display:grid}.bill-row,.dialog-actions,.dialog-actions>div{align-items:stretch;flex-direction:column}.bill-row .icon-button{width:100%}.patient-card-grid{grid-template-columns:1fr}}
