/* Praxis Medical 0.2 — compact clinical desktop, original icons and styling. */
:root{--ink:#263b4a;--muted:#677b89;--blue:#1761a6;--blue-dark:#164c77;--line:#bac7d2;--line-soft:#dce4eb;--surface:#f0f3f6;--selection:#185ba0;--rail:82px;--side:204px;--actions:172px;--teal:var(--blue);--pale:#e9f1fa;--font:'Segoe UI',Tahoma,Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font:12px var(--font);background:#e4e9ed}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #adbcc9;background:linear-gradient(#fff,#e7edf2);border-radius:3px;min-height:27px;padding:4px 10px;white-space:nowrap;display:inline-flex;justify-content:center;align-items:center;gap:6px;font-weight:500}button:hover{border-color:#6c9ac1;background:#edf5fd}button:active{background:#dae9f6}button:focus-visible,a:focus-visible{outline:2px solid #277dc1;outline-offset:2px}button:disabled{opacity:.45;cursor:default}input,select,textarea{border:1px solid #afbecb;background:#fff;border-radius:3px;padding:6px 8px;min-height:29px;width:100%;outline:none}textarea{resize:vertical;min-height:68px;line-height:1.6}input:focus,select:focus,textarea:focus{border-color:#347cb7;box-shadow:0 0 0 2px #3079bb18}input[type=checkbox]{width:13px;height:13px;min-height:13px;accent-color:var(--blue);margin:0}input[type=file]{padding:4px}label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:600;margin-bottom:11px}h1,h2,h3,p{margin:0}h1{font-size:20px}h2{font-size:15px;font-weight:600}h3{font-size:13px}p{line-height:1.6;margin-bottom:9px}a{color:var(--blue)}[hidden]{display:none!important}svg.icon{width:20px;height:20px;display:block;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6;flex:none}button .icon{width:17px;height:17px}.primary{background:linear-gradient(#397fb8,#23639b);color:#fff;border-color:#205986}.primary:hover{background:#286caa;color:#fff;border-color:#1c4e78}.secondary{background:#fff}.quiet{background:transparent;border-color:transparent;box-shadow:none}.square{width:28px;padding:1px}.muted{color:var(--muted);font-size:11px}.hint{color:var(--muted);font-size:11px;line-height:1.6;margin:7px 0 12px}.error{color:#ae3d3d;font-size:12px;line-height:1.6}.warning{background:#fff8e9;color:#786031;border:1px solid #e1d2ac;border-left:3px solid #c49a40;padding:9px 12px;line-height:1.6;font-size:11px;margin-bottom:12px}.check{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400;line-height:1.5;margin:12px 0}.check input{margin-top:2px}.eyebrow{font-size:9px;letter-spacing:1.1px;font-weight:600;color:#6b8090;margin:0 0 5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line-soft);padding-top:12px;margin-top:12px}.panel{background:#fff;border:1px solid var(--line);padding:16px;margin-bottom:14px;border-radius:3px}.panel h2{margin-bottom:15px}.section-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-line .eyebrow{display:none}
/* Login is compact and contained, not a marketing page. */
.login-layout{min-height:100vh;display:grid;grid-template-columns:280px 430px;justify-content:center;align-content:center;background:linear-gradient(130deg,#e9eef4,#f5f7f9);padding:28px}.login-intro{background:linear-gradient(150deg,#214e70,#193c56);color:white;padding:36px 27px;display:flex;flex-direction:column;border-radius:5px 0 0 5px;box-shadow:0 10px 36px #19334616}.brand-mark{font-size:42px;font-weight:600;margin-bottom:20px}.brand-mark span{color:#86b7dc}.login-intro .eyebrow{color:#bcd0df;margin-bottom:12px}.login-intro h1{font-size:27px;line-height:1.25;margin-bottom:20px}.login-intro p{color:#d7e4ed;font-size:12px;line-height:1.8}.login-foot{font-size:10px;color:#b6cbd9;line-height:1.7;margin-top:auto;padding-top:42px}.login-card{padding:38px;background:#fff;border:1px solid var(--line);border-left:0;border-radius:0 5px 5px 0;box-shadow:0 10px 36px #19334616}.login-card h2{font-size:22px;margin:5px 0 12px}.login-card form{margin-top:20px}.login-card .primary{width:100%;margin-top:5px;height:35px}.login-card input{height:35px}.security-note{font-size:10px;color:var(--muted);padding-top:20px;line-height:1.7}.login-card #mfa-qr{width:155px;height:155px;display:block;margin:10px auto}.login-card code{word-break:break-all;display:block;padding:6px;font-size:12px}.login-card details{font-size:11px;margin:10px 0}
/* Native-style application frame. */
#workspace{height:100dvh;min-height:560px;display:flex;flex-direction:column;overflow:hidden}.application-menu{height:31px;flex:none;display:flex;align-items:center;gap:8px;padding:0 14px;background:linear-gradient(#fff,#f0f2f4);border-bottom:1px solid #c7cfd5;font-size:11px}.product-name{font-size:10px;letter-spacing:1.2px;font-weight:700;display:flex;align-items:center;gap:9px;color:#23465d}.product-name>b{font-size:20px;line-height:1;color:#245779;letter-spacing:-1px}.product-name>b>span{color:#6b96b5}.application-menu>button{border:0;background:transparent;min-height:25px;padding:2px 7px;font-size:11px;font-weight:400}.menu-separator{width:1px;height:16px;background:#cbd3da;margin:0 4px}.application-context{margin-left:auto;color:#788893;font-size:10px}.test-badge{background:#f9eccb;color:#7a5c25;border:1px solid #dfc991;font-size:9px;letter-spacing:.5px;padding:3px 6px;border-radius:2px;margin-left:12px}.topbar{height:54px;flex:none;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#f9fbfc,#e4ebf1);border-bottom:1px solid #afbeca;padding:0 17px 0 19px}.workspace-heading{display:flex;align-items:center;gap:13px}.title-icon .icon{width:27px;height:27px;color:#47718e}.workspace-heading h1{font-size:23px;font-weight:500;letter-spacing:-.6px}.workspace-heading>span:last-child{font-size:11px;color:#7a8994;margin-left:7px;border-left:1px solid #c0cdd6;padding-left:16px}.top-tools{display:flex;gap:5px;align-items:center}.toolbutton{width:36px;height:34px;border-color:transparent;background:transparent;padding:7px}.toolbutton .icon{width:23px;height:23px;color:#4b6a7e}.tool-divider{height:24px;border-left:1px solid #bfccd6;margin:0 8px}#user-label{font-size:11px;margin:0 7px}.avatar{width:29px;height:29px;border-radius:50%;background:#d2e1ed;color:#28567b;display:grid;place-items:center;font-size:10px;font-weight:700;border:1px solid #b7cbdc}.desktop-layout{display:grid;grid-template-columns:var(--rail) var(--side) minmax(0,1fr) var(--actions);flex:1;min-height:0}.rail{background:linear-gradient(90deg,#e6ebef,#f8f9fa);border-right:1px solid #afbdc7;display:flex;flex-direction:column;min-height:0;padding:6px 0}.rail-item{min-height:65px;border:0;border-radius:0;background:transparent;display:flex;flex-direction:column;gap:5px;padding:8px 2px;box-shadow:0 1px #d5dee5;position:relative;color:#536d7d}.rail-item .icon{height:26px;width:26px}.rail-item small{font-size:10px;font-weight:400;color:#3b5060}.rail-item.active{background:linear-gradient(90deg,#dbe9f5,#edf5fc);color:#1765a2}.rail-item.active::before{position:absolute;content:'';left:0;top:0;bottom:0;width:3px;background:#266faa}.rail-item.active small{color:#154d7c;font-weight:600}.rail-item:hover{background:#dfeaf2}.rail-spacer{flex:1;min-height:12px}.patient-pane{background:#f4f6f8;display:flex;flex-direction:column;border-right:1px solid #b6c4cf;overflow:hidden;min-height:0;padding:0 9px}.pane-heading{display:flex;align-items:center;gap:6px;height:38px;flex:none}.pane-heading strong{font-size:11px}.pane-heading .square{margin-left:auto;width:22px;min-height:22px;height:22px;font-size:17px}.count{font-size:9px;color:#6b8091;background:#e4ebf1;border:1px solid #cfdae2;padding:1px 5px;border-radius:8px}.searchbox{position:relative;margin-bottom:10px;flex:none}.searchbox input{padding-left:27px;font-size:10px;height:28px;min-height:28px}.searchbox>span{position:absolute;top:7px;left:7px;color:#718697}.searchbox .icon{height:14px;width:14px}.mini-calendar{flex:none;border:1px solid #bdcad4;background:#fff;border-radius:2px;margin-bottom:12px}.mini-cal-heading{display:flex;align-items:center;justify-content:space-between;gap:2px;background:linear-gradient(#f4f6f8,#e5eaf0);border-bottom:1px solid #cad3dc;padding:3px}.mini-cal-heading button{font-size:10px;min-height:23px;padding:2px 5px;border-color:transparent;background:transparent}.mini-cal-heading #mini-title{flex:1;font-weight:600;color:#36576e}.mini-weekdays,#mini-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding:3px 4px}.mini-weekdays{padding-bottom:0;color:#7d8d97;font-size:9px;text-align:center}.mini-weekdays span{padding:4px 0}#mini-days .mini-day{min-height:22px;height:23px;font-size:10px;border:1px solid transparent;padding:0;border-radius:2px;background:transparent;font-weight:400}#mini-days .mini-day:hover{background:#edf3f9}#mini-days .mini-day.today{border-color:#6c9bc2;color:#1a5d93}#mini-days .mini-day.selected{background:var(--blue);color:white;border-color:#205a8a}#mini-today{display:flex;margin:3px auto 5px;min-height:20px;font-size:9px;background:transparent;border:0;color:#3a6b91;padding:1px 12px}.pane-section{font-size:10px;display:flex;justify-content:space-between;align-items:center;gap:5px;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:3px}.pane-section span{font-size:9px;color:#8293a0}#patient-list{flex:1;overflow:auto;min-height:60px;scrollbar-width:thin}.patient-row{width:100%;border:0;border-bottom:1px solid #e0e6ec;background:transparent;padding:7px 5px;display:flex;justify-content:flex-start;align-items:center;border-radius:0;text-align:left;min-height:44px;gap:6px;white-space:normal}.patient-row.active{background:#dfeaf5;box-shadow:inset 2px 0 #2b6ba4}.mini-avatar{width:26px;height:28px;background:#e4ebf0;border:1px solid #ccd7df;border-radius:3px;display:grid;place-items:center;flex:none;font-size:9px;color:#5e788c}.patient-row strong{font-size:10px;display:block;line-height:1.6;font-weight:600}.patient-row small{display:block;font-size:9px;color:#778b9a;line-height:1.6;font-weight:400}.side-selection{border-top:1px solid var(--line);margin-top:8px;padding:10px 3px;display:flex;flex-direction:column;gap:4px;flex:none}.side-selection>span{font-size:8px;color:#8a99a3;letter-spacing:.7px}.side-selection>strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-selection>small{font-size:9px;color:#7b8f9e}.pane-bottom{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:9px;color:#758b9b;padding:7px 1px;border-top:1px solid var(--line-soft);flex:none}.pane-bottom>span:last-child{margin-left:auto}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4b9470;flex:none}#main{min-height:0;min-width:0;background:#fff;overflow:auto;position:relative}.action-pane{display:flex;flex-direction:column;gap:2px;background:#f2f5f7;border-left:1px solid #b5c4cf;padding:0 8px 10px;overflow:auto}.action-title{font-size:9px;letter-spacing:1px;font-weight:600;color:#82939e;padding:15px 5px 11px;border-bottom:1px solid #dae2e8;margin-bottom:6px}.action-pane button{width:100%;font-size:10px;text-align:left;justify-content:flex-start;min-height:31px;gap:8px;background:transparent;border:0;border-radius:2px;padding:6px 4px;white-space:normal}.action-pane button .icon{width:16px;height:16px;color:#587c94}.action-pane button:hover{background:#dfeaf3}.action-separator{border-top:1px solid #d6dfe6;margin:9px 2px}.action-spacer{flex:1;min-height:24px}.room-select-label{font-size:9px;font-weight:400;color:#7f919e;margin:3px 3px 5px}.room-select-label select{min-height:26px;font-size:10px;padding:4px 3px}.action-note{border-top:1px solid var(--line);padding:11px 3px 0;font-size:9px;color:#85959f;line-height:1.65;display:flex;flex-direction:column;gap:5px}.action-note strong{font-weight:500;color:#6a7d89}.statusbar{height:25px;display:flex;align-items:center;gap:9px;background:linear-gradient(#edf1f4,#e1e7ec);border-top:1px solid #adbdc9;padding:0 13px;font-size:9px;color:#6c8090;flex:none}.footer-spacer{flex:1}.footer-divider{height:12px;border-left:1px solid #c0ccd5}.statusbar #footer-selection{margin-left:15px;padding-left:14px;border-left:1px solid #c4d0d8}.statusbar #footer-status{color:#425d70}
/* Day list / tabular workstation */
.daily-view{height:100%;min-height:580px;display:flex;flex-direction:column}.date-strip{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;gap:10px;background:linear-gradient(#e8f0f8,#d8e5f2);border-bottom:1px solid #aec3d5;flex:none;min-height:46px}.date-strip button{font-size:10px;min-height:26px}.date-navigation{display:flex;align-items:center;gap:6px;flex:1;justify-content:center}.date-navigation>button{width:24px;padding:0;font-size:19px;min-height:24px}.date-label{position:relative;display:block;margin:0;width:120px}.date-label input{padding:4px 8px 4px 28px;font-size:11px;font-weight:600;min-height:27px;cursor:pointer}.date-label>span{position:absolute;left:7px;top:5px;color:#527fa1;pointer-events:none}.date-label .icon{height:15px;width:15px}#day-long-date{font-size:11px;font-weight:500;color:#416985;margin-left:8px}.daily-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-bottom:1px solid #d4dfe7;background:#f6f8fa;flex:none}.state-filters{display:flex;gap:5px}.state-filters button{font-size:9px;min-height:24px;padding:3px 7px;font-weight:400;background:#fff;border-color:#c6d1da}.state-filters button.active{background:#e2eef9;border-color:#91b1cc;color:#215a88}.state-filters button span{font-size:9px;background:#edf1f5;padding:1px 4px;min-width:16px;border-radius:2px;margin-left:1px}.dot{display:inline-block;width:7px;height:7px;border-radius:2px;flex:none;background:#9caeba}.dot.waiting{background:#d5ab50}.dot.treatment{background:#5b8fbc}.dot.completed{background:#66a287}.table-search{margin:0;width:155px}.table-search input{font-size:10px;height:24px;min-height:24px;padding:3px 7px}.daily-table-wrap{flex:1;min-height:180px;overflow:auto;position:relative;background:repeating-linear-gradient(#fff 0,#fff 27px,#f2f6fa 27px,#f2f6fa 54px);border-bottom:1px solid #b8c9d6;scrollbar-width:thin}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:11px;text-align:left;table-layout:auto}.data-table th{position:sticky;top:0;z-index:2;font-size:10px;font-weight:500;color:#536d81;background:linear-gradient(#f4f7fa,#e1e8ee);padding:7px 8px;border-bottom:1px solid #adbfcf;border-right:1px solid #d2dce4;white-space:nowrap;height:29px;text-align:left}.data-table td{padding:5px 8px;height:27px;white-space:nowrap;border-bottom:1px solid #e1e7ed;border-right:1px solid #e3e9ee;color:#405b70;font-size:10px}.data-table tbody tr{background:#fff;cursor:pointer}.data-table tbody tr:nth-child(even){background:#eff4f9}.data-table tbody tr:hover{background:#e2edf8}.data-table tbody tr.selected{background:var(--selection)}.data-table tbody tr.selected td{color:#fff;border-color:#3977ad}.data-table tbody tr:focus-visible{outline:2px solid #74a7d0;outline-offset:-2px}.data-table td.patient-cell{font-weight:600;min-width:145px}.data-table .reason-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis;min-width:90px}.data-table td.num{font-variant-numeric:tabular-nums}.data-table td.state-cell{font-size:9px}.state-pill{display:inline-flex;align-items:center;gap:5px;padding:1px 4px;font-size:9px;white-space:nowrap}.state-pill::before{content:'';width:5px;height:5px;border-radius:50%;background:#9bafbf}.state-pill.waiting::before{background:#cba249}.state-pill.treatment::before{background:#3f86bd}.state-pill.completed::before{background:#5a9e7e}.state-pill.reception::before{background:#a188b4}.state-pill.cancelled::before{background:#ba8585}.selected .state-pill::before{background:#fff}.table-empty{position:absolute;left:0;right:0;top:30px;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fff;gap:12px;color:#8595a3}.table-empty .icon{width:35px;height:35px;color:#9db3c3}.table-empty strong{font-size:13px;color:#627f93;font-weight:500}.table-empty p{font-size:11px}.detail-title{display:flex;justify-content:space-between;align-items:center;gap:10px;height:32px;flex:none;background:linear-gradient(#eef2f6,#e5ebf1);border-bottom:1px solid #c9d5de;padding:5px 11px;font-size:10px;font-weight:600;color:#567085}.detail-title button{min-height:22px;font-size:10px;padding:1px 3px}.detail-title .muted{font-size:9px;font-weight:400}.daily-detail{height:150px;flex:none;overflow:auto;padding:14px 15px;background:#fbfcfd;display:grid;grid-template-columns:1fr 1fr;gap:20px}.empty-detail{font-size:11px;color:#90a0ab;grid-column:1/-1;margin:auto}.appointment-summary h3{font-size:15px;margin-bottom:8px;color:#294f6b}.appointment-summary p{font-size:10px;margin-bottom:7px;color:#6c8191}.appointment-fields{display:grid;grid-template-columns:95px 1fr;gap:6px 12px;font-size:10px;margin:0}.appointment-fields dt{color:#8698a6}.appointment-fields dd{margin:0;color:#405c72;white-space:pre-wrap;overflow-wrap:anywhere}.appointment-summary .state-pill{margin:0 0 7px;padding:0}.rooms-heading{height:28px;background:#f3f6f8;border-top:1px solid #cad6df;display:flex;align-items:center;justify-content:space-between;padding:0 11px;font-size:9px;color:#6e8596;letter-spacing:.7px;flex:none}.rooms-heading small{font-size:9px;letter-spacing:0;color:#91a0aa}.room-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#bccbd7;flex:none;border-top:1px solid #c5d3de;border-bottom:1px solid #bccbd7}.room-slot{min-height:70px;padding:9px 11px;background:#eaf0f5;display:flex;flex-direction:column;gap:5px;border:0;border-radius:0;align-items:flex-start;justify-content:flex-start;text-align:left;white-space:normal}.room-slot:nth-child(2){background:#eeeaf4}.room-slot:nth-child(3){background:#e7f0ed}.room-slot.busy{background:#dbe9f5}.room-slot strong{font-size:10px;font-weight:600;color:#60798e}.room-slot span{font-size:11px;color:#405f78;font-weight:500}.room-slot small{font-size:9px;color:#8294a2}.room-slot .room-top{display:flex;justify-content:space-between;align-items:center;width:100%}.room-slot .room-top span{font-size:8px;background:#fff8;padding:1px 4px;border:1px solid #b9cbd8;border-radius:2px;color:#587b98}.room-slot.busy .room-top span{background:#587e9f;color:white;border-color:#587e9f}.list-status{height:27px;padding:5px 10px;display:flex;justify-content:space-between;background:#f4f6f8;color:#7b90a0;font-size:9px;flex:none}.directory-hint{padding:0 13px}.directory-table-wrap{overflow:auto}.view-section-title{padding:14px;display:flex;justify-content:space-between;align-items:center;background:#f5f8fa;border-bottom:1px solid var(--line);margin-bottom:10px}.view-section-title h2{font-size:16px}.empty-state{max-width:400px;margin:18vh auto;text-align:center;padding:24px;color:#8198a8}.empty-state>.icon,.empty-state>span .icon{width:45px;height:45px;margin:0 auto 18px}.empty-state h2{margin:0 0 10px;color:#49677c}.empty-state button{margin-top:14px}
/* Patient chart: high-density rows above a reading pane. */
#patient-view{height:100%;display:flex;flex-direction:column;min-height:500px}.patient-header{display:flex;align-items:center;gap:11px;padding:13px 15px 11px;flex:none;background:#fdfefe;border-bottom:1px solid #dbe3e9;min-height:82px}.patient-avatar{height:44px;width:42px;background:#e8eff6;border:1px solid #cad9e5;color:#4d7698;display:grid;place-items:center;font-size:15px;font-weight:600;border-radius:3px;flex:none}.patient-title{flex:1;min-width:0}.patient-title h1{font-size:20px;font-weight:500;margin:0 0 5px;letter-spacing:-.5px}.patient-title .eyebrow{font-size:8px;letter-spacing:.8px;margin-bottom:4px}.patient-title #patient-meta{font-size:10px;color:#7d90a0}.patient-header button{font-size:10px;min-height:25px}.allergy-banner{padding:7px 15px;background:#fff7e8;border-bottom:1px solid #e6d3a8;color:#8b6a31;font-size:10px;font-weight:500;flex:none}.tabs{display:flex;border-bottom:1px solid #a6bccf;background:#f2f6f9;flex:none;min-height:34px;overflow-x:auto;scrollbar-width:thin}.tabs button{background:transparent;border:0;border-right:1px solid #dce4eb;border-bottom:2px solid transparent;border-radius:0;padding:9px 15px 7px;font-size:11px;color:#53748e}.tabs button.active{background:#fff;color:#1e5d93;border-bottom-color:#2a73ae;font-weight:600}.tab-content{padding:16px;overflow:auto;flex:1;min-height:0;background:#fafcfd}#tab-overview{padding:0;display:flex;flex-direction:column;background:#fff;min-height:330px}.record-counts{display:flex;align-items:center;gap:17px;padding:8px 12px;background:#fcfdfe;border-bottom:1px solid #dde5ec;font-size:10px;flex:none}.record-counts>div{display:flex;gap:6px;align-items:center}.record-counts span{color:#8092a0}.record-counts strong{font-size:10px;color:#3a627e;background:#e9f0f6;border:1px solid #d7e2ea;border-radius:2px;min-width:19px;text-align:center;padding:1px 4px}.record-toolbar{display:flex;align-items:center;gap:10px;padding:7px 10px;background:#f3f6f9;border-bottom:1px solid #cad8e4;flex:none;font-size:11px}.record-toolbar .inline{display:flex;flex-direction:row;gap:7px;align-items:center;margin:0 0 0 auto;font-size:10px;color:#7e91a0;font-weight:400}.record-toolbar select{width:130px;min-height:24px;font-size:10px;padding:3px 5px}.record-toolbar button{font-size:10px;min-height:25px}.record-table{flex:1;overflow:auto;min-height:150px;background:repeating-linear-gradient(#fff 0,#fff 28px,#f3f7fa 28px,#f3f7fa 56px)}.record-table .data-table td{height:28px;max-width:350px;text-overflow:ellipsis;overflow:hidden}.entry-code{display:inline-block;text-align:center;font-size:8px;padding:2px 4px;min-width:22px;border:1px solid #b9cde0;background:#e2edf7;color:#537b9b}.entry-code.diagnosis{background:#f9efd1;color:#9b823f;border-color:#dfcfa2}.entry-code.prescription{background:#e2f0e7;color:#5d8a70;border-color:#b6d6c2}.entry-code.media{background:#ebe4f5;color:#8e77a3;border-color:#cbbddd}.selected .entry-code{background:#ffffff22;color:white;border-color:#ffffff66}.record-detail{height:230px;overflow:auto;flex:none;padding:16px;background:#fbfcfe;border-top:0}.record-detail .timeline-card{border:0;background:transparent;padding:0;margin:0}.timeline-card{background:#fff;border:1px solid var(--line);padding:13px;margin-bottom:10px;border-radius:2px}.timeline-card h3{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px;margin-bottom:10px;font-weight:600;color:#3c607c}.entry-tag{font-size:8px;background:#e9eff5;color:#748b9d;padding:3px 5px;border:1px solid #d4dfe7;font-weight:400;letter-spacing:.6px}.timeline-card p{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:8px;line-height:1.65}.timeline-card dl{display:grid;grid-template-columns:120px 1fr;font-size:11px;gap:12px;margin:8px 0}.timeline-card dt{color:#8395a3}.timeline-card dd{margin:0;white-space:pre-wrap;line-height:1.65;overflow-wrap:anywhere}.timeline-card .quiet{font-size:10px;color:#3474a5;padding:5px 0;margin-top:7px}.record-created{font-size:9px;color:#90a0ad;margin-top:12px;border-top:1px solid #e2e8ed;padding-top:8px}.empty-records{padding:25px;color:#7f97a8;font-size:11px;background:#fff;text-align:center;line-height:1.7}.clinical-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.clinical-grid textarea{min-height:125px;resize:vertical}.reference-box{background:#f2f6fa;border:1px solid #d4e0e9;padding:12px;line-height:1.7;font-size:11px;margin:0 0 13px}.reference-box p{margin-bottom:7px;white-space:pre-wrap}.ref-title{font-weight:600}.record-list{margin-top:12px}.capture-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.capture-actions select{width:auto}.upload-button{display:inline-flex;align-items:center;margin:0;min-height:28px;padding:5px 10px;border:1px solid #b3c4d2;background:linear-gradient(white,#ecf1f5);font-size:11px;border-radius:3px;cursor:pointer}.upload-button input{display:none}#camera-wrap{display:flex;align-items:center;flex-direction:column;gap:10px;margin:15px 0}#camera-video{max-width:100%;width:580px;max-height:350px;background:#243d51;border-radius:3px}#capture-preview{max-width:100%;max-height:240px;margin:12px 0;display:block;border:1px solid var(--line)}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photo-card{border:1px solid #c0ced9;border-radius:2px;background:#fff;overflow:hidden}.photo-card img{width:100%;height:150px;object-fit:contain;background:#edf2f6;display:block}.file-icon{height:105px;display:grid;place-items:center;background:#eaf1f6;font-size:22px;color:#7192aa;font-weight:600}.photo-caption{padding:10px}.photo-caption strong{font-size:11px;display:block;margin-bottom:6px}.photo-caption p{font-size:10px;color:#8094a3;margin:0 0 6px}.photo-caption a{font-size:10px}.settings-view{padding:18px;max-width:1000px}.settings-view>h1{font-size:22px;margin-bottom:16px}.user-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e1e7ed;font-size:11px}.user-row>div{flex:1}.user-row small{font-size:9px;color:#8095a4;display:block;margin-top:4px}.user-row button{font-size:10px}.audit-row{padding:9px 0;border-bottom:1px solid #e2e8ed;font-size:10px;line-height:1.7;overflow-wrap:anywhere}.audit-row span{color:#8197a6;margin-right:12px}#audit-list{max-height:300px;overflow:auto}
/* Dialogs and the in-popup year selector. */
dialog{border:1px solid #9db3c5;border-radius:5px;padding:20px;width:min(650px,94vw);max-height:90vh;box-shadow:0 12px 60px #1c36454d;overflow:auto;background:#f9fbfd}dialog::backdrop{background:#19334366}dialog .section-line{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px}dialog .section-line h2{font-size:17px}.calendar{position:fixed;width:312px;background:#fff;border:1px solid #96b2c9;border-radius:4px;box-shadow:0 9px 35px #1b38573d;padding:11px;z-index:1000}.calendar-header{display:flex;gap:5px;align-items:center;margin-bottom:12px;background:#eef4f9;margin:-11px -11px 10px;padding:8px}.calendar-header button{padding:4px 8px;min-height:27px;background:transparent;border-color:transparent}.calendar-header #cal-year{background:#dceaf7;border:1px solid #a8c4de;font-size:12px;color:#235b89;min-width:74px}.calendar-header #cal-year:hover{background:#d0e2f3}.calendar-header select{padding:5px 2px;min-height:27px;width:116px;font-size:12px;font-weight:500;border:0;background:transparent}.weekdays,#day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.weekdays{font-size:10px;text-align:center;color:#8799a8;margin-bottom:7px}.day{height:31px;width:100%;padding:0;background:transparent;border:1px solid transparent;border-radius:2px;font-size:11px;font-weight:400}.day.today{border-color:#86abcd}.day.selected{background:var(--blue);color:#fff;border-color:var(--blue)}.calendar-footer{display:flex;justify-content:space-between;border-top:1px solid #e1e8ef;padding-top:8px;margin-top:10px}.calendar-footer button{background:transparent;border:0;font-size:11px;color:#4e82ac}.year-navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.year-navigation button{background:transparent;border:0;padding:4px 10px}.year-navigation span{font-size:11px;color:#7a92a5}#year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}#year-grid button{font-size:12px;padding:9px 0;background:#eff4f9;border-color:#d3e0eb}#year-grid button.selected{background:var(--blue);color:white;border-color:var(--blue)}#year-panel label{font-size:10px;color:#708a9f;margin:0 0 10px}#year-jump{min-height:30px;padding:5px 8px;font-size:12px}.date-input,[data-datepicker]{cursor:pointer}#toast{position:fixed;right:20px;bottom:40px;max-width:min(540px,90vw);background:#244d6e;color:white;border:1px solid #547c9a;box-shadow:0 4px 22px #1a354333;border-radius:4px;padding:13px 18px;font-size:12px;line-height:1.6;z-index:10000}#toast.error{background:#8c4545;border-color:#aa6b6b;color:white}
/* Keep the desktop dense, allow usable smaller windows and tablets. */
@media(min-width:1700px){:root{--side:222px;--actions:185px}.data-table td{font-size:11px}.daily-detail{height:165px}.record-detail{height:270px}.daily-view{min-height:660px}}
@media(max-width:1230px){:root{--side:184px;--actions:150px;--rail:74px}#workspace-subtitle{display:none}.application-context{font-size:9px}.date-navigation #day-long-date{display:none}.state-filters{gap:3px}.state-filters button{font-size:9px;padding:3px 5px}.table-search{width:108px}.tabs button{padding-left:10px;padding-right:10px}.daily-detail{height:142px;gap:10px}.record-detail{height:225px}.top-tools{gap:2px}#user-label{font-size:10px}.rail-item small{font-size:9px}.action-pane{padding-left:5px;padding-right:5px}}
@media(max-width:990px){:root{--side:168px;--actions:0px;--rail:66px}.action-pane{display:none}.top-tools .tool-divider{margin:0 3px}.top-tools #user-label{display:none}.application-context{display:none}.application-menu .test-badge{margin-left:auto}.clinical-grid{grid-template-columns:1fr}.patient-header{flex-wrap:wrap}.patient-header button{margin-left:53px}.patient-title h1{font-size:18px}.daily-detail{grid-template-columns:1fr 1fr}.daily-filter{gap:5px}.room-slot{padding:8px}.record-counts{gap:10px}.record-counts span{font-size:9px}}
@media(max-width:700px){#workspace{min-height:500px;height:100dvh}:root{--side:0px;--rail:54px}.patient-pane{display:none}.application-menu{padding:0 8px;gap:1px;height:29px}.application-menu>button{font-size:9px;padding:2px 4px}.product-name{font-size:8px;letter-spacing:.5px;gap:4px}.product-name>b{font-size:16px}.menu-separator,.application-menu .test-badge{display:none}.topbar{padding:0 8px;height:48px}.workspace-heading{gap:6px}.workspace-heading h1{font-size:20px}.title-icon{display:none}.toolbutton{width:30px;height:30px;padding:5px}.toolbutton .icon{width:20px;height:20px}.tool-divider{display:none}.avatar{display:none}.rail-item{min-height:58px}.rail-item .icon{width:23px;height:23px}.rail-item small{font-size:8px;white-space:normal;text-align:center}.daily-view{min-height:620px}.daily-filter{flex-wrap:wrap;padding:6px}.table-search{width:100%}.daily-table-wrap{min-height:180px}.daily-detail{grid-template-columns:1fr;height:180px;gap:6px;padding:12px}.room-board{grid-template-columns:1fr}.room-slot{min-height:46px;gap:3px}.room-slot span{font-size:10px}.room-slot small{display:none}.list-status span:last-child{display:none}.statusbar{gap:5px;padding:0 6px;font-size:8px}.statusbar #footer-selection{display:none}.footer-divider{display:none}.date-strip{padding:7px 5px;gap:5px}.date-label{width:110px}.date-navigation{gap:3px}.date-strip button{font-size:9px;padding:3px 6px}.form-grid,.clinical-grid{grid-template-columns:1fr}.form-footer{align-items:flex-start;flex-direction:column;gap:8px}.panel{padding:12px}.tab-content{padding:12px}.tabs button{font-size:10px;padding:8px 10px}.patient-header{padding:10px}.patient-title h1{font-size:17px}.patient-title #patient-meta{line-height:1.7}.record-counts{flex-wrap:wrap;gap:6px 12px}.record-toolbar{flex-wrap:wrap}.record-toolbar .inline{margin-left:0}.record-toolbar>strong{width:100%}.detail-title>.muted{display:none}.record-detail{height:220px;padding:12px}.timeline-card dl{grid-template-columns:1fr;gap:4px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar{max-width:calc(100vw - 16px)}.login-layout{display:block;padding:25px}.login-intro{display:none}.login-card{max-width:420px;margin:10vh auto 0;border:1px solid var(--line);border-radius:4px;padding:25px}.settings-view{padding:12px}.state-filters{flex-wrap:wrap}.section-line{flex-wrap:wrap}}
/* Explicit tracks keep the main panel in place when side panels are hidden. */
.rail{grid-column:1;grid-row:1}.patient-pane{grid-column:2;grid-row:1}#main{grid-column:3;grid-row:1}.action-pane{grid-column:4;grid-row:1}
.directory-search{display:none}
@media(max-width:700px){.directory-search{display:block;margin:0 12px 12px}.directory-hint{display:none}.directory-search input{font-size:11px}}

/* The lower Tagesliste pane mirrors a compact chart table, with live record data. */
.daily-detail{display:block;padding:0;height:180px;overflow:hidden}
.daily-detail>.empty-detail{padding:50px 15px;text-align:center}
.day-preview-header{display:flex;align-items:center;gap:13px;min-height:34px;padding:7px 11px;border-bottom:1px solid #d6e1e9;font-size:10px;white-space:nowrap;overflow:hidden}
.day-preview-header strong{font-size:11px;color:#315c7c}.day-preview-header>span{color:#8295a5}.day-preview-header .preview-reason{margin-left:auto;font-size:9px;text-overflow:ellipsis;overflow:hidden}.day-preview-header .state-pill{font-size:9px}
.day-history{height:146px;overflow:auto;background:#fff}.day-history .data-table td{height:25px;padding:4px 8px}.day-history .data-table th{height:25px;padding:5px 8px}.day-history .empty-records{font-size:11px;text-align:left;padding:13px}
@media(max-width:700px){.day-preview-header{gap:7px;flex-wrap:wrap;white-space:normal;min-height:55px}.day-preview-header .preview-reason{display:none}.daily-detail{height:180px}.day-history{height:125px}}

/* 0.3: clinical catalogue references remain inside the compact chart. */
.catalog-count {border-bottom:1px solid #c8d3e0;padding:5px 0;margin-top:0;font-size:11px;color:#46586c;}
.catalog-details {padding:6px 8px;background:#f1f5fa;border-left:3px solid #7b97b5;font-size:12px;line-height:1.4;margin:6px 0;}
.catalog-details:empty {display:none;}
.catalog-details p,.reference-box p {margin:5px 0;}
.catalog-year-warning {padding:7px;background:#fff4d6;border:1px solid #e1c582;}
.reference-cautions {border-left:3px solid #be823b;padding-left:7px;}
#med-use-reference {margin:4px 0 10px;}
#icd-results {min-height:145px;}

@media(min-width:1150px){
 #medication-form .med-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;}
 #medication-form .med-entry,#medication-form .med-reference-pane{min-width:0;}
 #medication-form .reference-box{margin-top:0;font-size:12px;line-height:1.45;}
 #medication-form .med-reference-pane button{max-width:100%;white-space:normal;font-size:12px;}
 #medication-form .form-grid{gap:12px;}
 #medication-form select{max-width:100%;text-overflow:ellipsis;}
 #medication-form .form-footer{flex-wrap:wrap;}
}
/* 0.4 — patient billing shares the existing compact record layout. */
.billing-heading{margin-bottom:8px}.billing-toolbar{display:flex;gap:6px;align-items:center}.billing-notice{font-size:11px;background:#fff8e9;border:1px solid #e0d3ad;padding:7px 10px;margin-bottom:8px;line-height:1.5}.billing-summary{display:flex;align-items:center;gap:22px;padding:9px 11px;border:1px solid var(--line);background:#eef3f8}.billing-summary strong{font-size:14px;padding-left:6px;color:var(--blue-dark)}.billing-summary .muted{margin-left:auto}.billing-list{max-height:214px;overflow:auto;border:1px solid var(--line);border-top:0;background:white}.bill-money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.bill-state{display:inline-block;border-radius:3px;font-size:10px;padding:2px 6px;border:1px solid #c0ceda;background:#eef2f6;color:#42576b}.bill-state.open{background:#fff3d7;color:#74551d;border-color:#dfc993}.bill-state.partial{background:#e8efff;color:#305b94}.bill-state.paid{background:#e9f5eb;color:#2f653e;border-color:#afceb9}.bill-state.cancelled{background:#f5eaea;color:#85464a}.billing-list tr.selected .bill-state{border-color:transparent}.billing-detail-title{display:flex;justify-content:space-between;align-items:center;padding:9px 11px;background:#e4edf5;border:1px solid var(--line);margin-top:10px}.billing-detail-title strong{font-size:13px}.billing-detail-title span{margin-left:12px;font-size:11px}.billing-doc-link{display:inline-block;border:1px solid var(--line);border-radius:3px;background:#fff;padding:5px 9px;text-decoration:none;font-size:11px}.billing-meta{display:grid;grid-template-columns:145px 145px 1fr;gap:12px}#invoice-form{background:#fff;border:1px solid var(--line);border-top:0;padding:12px}#invoice-fields{padding:0;margin:0;border:0;min-width:0}#invoice-fields:disabled input,#invoice-fields:disabled select,#invoice-fields:disabled textarea{color:#384b59;background:#f4f7fa;opacity:1}#invoice-fields textarea{min-height:45px}.billing-lines-head{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding:10px 0 8px}.invoice-line{border:1px solid var(--line);margin-bottom:9px;background:#f7f9fb;padding:9px}.invoice-line-main{display:grid;grid-template-columns:112px 76px minmax(170px,1fr) 56px 98px 60px 27px;gap:8px;align-items:end}.invoice-line-main label{margin:0}.invoice-line-main .square{margin-bottom:1px}.invoice-line-details{margin-top:7px;font-size:11px}.invoice-line-details summary{cursor:pointer;color:var(--blue);padding:3px 0 5px}.invoice-line-options{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;padding-top:6px}.invoice-line-options label{margin-bottom:6px}.invoice-line-options .check{margin-top:24px}.billing-totals{text-align:right;font-weight:600;background:#edf3f8;border-top:1px solid var(--line);padding:9px 10px;margin-top:10px}.billing-payment-form{display:grid;grid-template-columns:125px 110px 140px 1fr auto;gap:10px;align-items:end;padding:12px 0}.billing-payment-form label{margin:0}#billing-payments{background:#fff;border:1px solid var(--line);padding:12px;margin-top:12px}#billing-payments h3{margin-bottom:5px}#invoice-issue-form{padding:2px 12px 12px;background:#f2f6fa;border:1px solid var(--line);border-top:0}#billing-error:empty{display:none}#billing-error{margin-top:8px}#invoice-receipts{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}.billing-document-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line-soft)}.billing-document-row span{color:var(--muted);font-size:11px}#billing-profile-form{margin-top:8px}.billing-summary .muted{max-width:230px}
@media(max-width:1250px){.billing-summary{gap:10px;flex-wrap:wrap}.billing-summary .muted{display:none}.invoice-line-main{grid-template-columns:105px 65px minmax(125px,1fr) 50px 85px 52px 25px;gap:5px}.billing-payment-form{grid-template-columns:1fr 1fr 1fr}.billing-meta{grid-template-columns:130px 130px 1fr}}
@media(max-width:850px){.invoice-line-main{grid-template-columns:repeat(3,1fr)}.invoice-line-options,.billing-meta{grid-template-columns:1fr 1fr}.billing-heading{align-items:flex-start;flex-direction:column}.billing-payment-form{grid-template-columns:1fr 1fr}.billing-list{max-height:220px}}
/* 0.5 — compact payment-first workspace, matching the existing desktop layout. */
.collection-note{padding:8px 11px;border-left:3px solid #557b9d;background:#edf3f8;color:#344a60;font-size:12px;margin:8px 0}
.collection-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #bcc8d1;background:#f4f6f8;margin:12px 0}
.collection-kpis>div{padding:10px 14px;border-right:1px solid #ccd3db}.collection-kpis span{display:block;font-size:11px;color:#526479}.collection-kpis strong{display:block;font-size:20px;margin-top:4px;color:#214863;font-variant-numeric:tabular-nums}
.collection-workspace{display:grid;grid-template-columns:minmax(350px,1.1fr) minmax(360px,1fr);gap:12px;margin:10px 0 16px}.collection-visits{border:1px solid #bdc8d2;align-self:start;max-height:500px;overflow:auto}.collection-subtitle{background:linear-gradient(#edf2f7,#dfe7ef);border-bottom:1px solid #bcc8d2;padding:7px 9px;font-weight:600;font-size:12px;color:#27445c}.collection-editor{border:1px solid #bdc8d2;background:#f9fafb}.collection-editor>form,.collection-editor>.collection-balance,.collection-editor>.collection-post{margin:10px}.collection-fee-form{display:flex;align-items:end;gap:8px;border-bottom:1px solid #d1d8e0;padding-bottom:10px}.collection-fee-form label{flex:1}.collection-editor h3{font-size:13px;margin:0 0 8px}.collection-balance{font-size:12px;font-weight:600;padding:8px;background:#edf2f6;border:1px solid #d1dbe3}.collection-post{padding:8px;background:#eef6f1;border:1px solid #c3d5c9}.collection-editor>.secondary{margin:0 10px 10px}.collection-receipts{overflow:auto;max-height:350px}.collection-receipts button{font-size:11px;padding:3px 6px;margin-left:5px}.collection-receipts td{white-space:nowrap}.collection-visits tbody tr{cursor:pointer}.collection-visits .selected td{background:#dce9f7;color:#164270}.journal-filter{display:flex;gap:12px;align-items:end}.journal-filter label{width:165px}#collection-journal{border-top:2px solid #b5c6d6;margin-top:20px;padding-top:12px}.consultation-fee{max-width:520px;margin:15px 0}.consultation-fee .hint{display:block}.negative-money{color:#944438}.receipt-link{margin-right:5px}
@media(max-width:1150px){.collection-workspace{grid-template-columns:1fr}.collection-kpis{grid-template-columns:repeat(2,1fr)}}

#collection-visits tr.selected td{background:#265b91!important;color:#fff!important}.payment-status{border:1px solid #b5c9d8;padding:10px;margin:18px 0}
