/* Minimal structural corrections to the original v69 workspace. */
[hidden]{display:none!important}
.app{min-width:1030px}
.sidebar{overflow-y:auto;scrollbar-width:thin}
.brand{flex-shrink:0}
.stack{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:max-content max-content minmax(360px,1fr);align-content:start;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
.stack>.card{min-width:0;max-width:100%}
.case-work-card{min-height:360px}
.case-work-body,.work-item>*{min-width:0}
.case-work-card .work-item{grid-template-columns:minmax(160px,1.5fr) minmax(75px,.8fr) 55px minmax(65px,.7fr) 45px 82px!important;gap:6px}
.case-work-card .work-sub,.case-work-card .work-title{overflow-wrap:anywhere}
.case-form-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px}
.case-form-grid>.field{min-width:0;grid-column:span 2}
.case-form-grid>.field:nth-child(1),.case-form-grid>.field:nth-child(2){grid-column:span 3}
.case-form-grid>.field input{min-width:0;width:100%}
.case-form-grid .field-label-actions{min-height:19px;align-items:center}
.case-form-grid .field-label-actions>label,.case-form-grid>.field>label{font-size:11px!important;line-height:1.25}
.inline-privacy{font-size:9px!important}.inline-privacy .mask-code{font-size:9px!important}
.unified-work-card>.card-head{border-bottom:0}.unified-work-card>.teeth-wrap{border-bottom:1px solid rgba(150,150,150,.2)}
.unified-work-card>.card-body{padding-top:13px!important}
.recovery-combo{position:relative}.recovery-choices{position:absolute;z-index:35;min-width:100%;max-height:260px;overflow:auto;background:#20242b;border:1px solid var(--ui-accent-line);border-radius:10px;box-shadow:0 12px 32px #0005;padding:5px;top:calc(100% + 4px);left:0}
.recovery-choices button{display:block;text-align:left;width:100%;border:0;border-radius:6px;background:transparent;color:inherit;padding:10px;font:inherit;font-size:13px}.recovery-choices button:hover,.recovery-choices button:focus{background:var(--ui-accent-soft);outline:1px solid var(--ui-accent-line)}.recovery-choices small{display:block;margin-top:3px;opacity:.6;font-size:11px}.choice-empty{padding:13px;opacity:.6}
.case-form-grid>.field{position:relative}.patient-choices{top:100%}
body[data-theme="light"] .recovery-choices{background:#fff;color:#25272b}
.recovery-empty{min-height:180px;display:grid;place-items:center;padding:25px;color:#8d9299;text-align:center}
.no-case .stack{grid-template-rows:auto;align-content:start}
.no-case #newCaseTop{width:auto;padding:0 14px;font-size:11px;font-weight:800;white-space:nowrap}
.no-case .summary{height:auto;min-height:0;align-self:start}
.no-case .summary>:not(.summary-toolbar):not(.utility-menu){display:none!important}
.no-case .summary .utility-menu{padding:18px}.no-case .summary-toolbar{min-height:54px}
.recovery-session{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 2px 2px;font-size:11px;flex-shrink:0}.recovery-session span{overflow:hidden;text-overflow:ellipsis}.recovery-session button{border:0;background:transparent;color:inherit;font:inherit;white-space:nowrap}
.recovery-error{padding:11px 14px;border:1px solid #bd6858;border-radius:8px;background:#452620;color:#ffded8;margin-bottom:9px;white-space:pre-wrap}
body[data-theme="light"] .recovery-error{background:#fff0eb;color:#8a342c}
.document-ready,.recovery-about{padding:20px;line-height:1.6}.document-link{display:inline-flex;align-items:center;justify-content:center;padding:0 18px;margin:12px 12px 0 0;text-decoration:none}
#modal.recovery-position-open .modal{max-height:calc(100vh - 44px)}
.modal-body .recovery-error{position:sticky;top:0;z-index:10}
/* SPEC114 U.5 (owner 03.10, ledger 135): the sign-in / first-run card lives in signin.css (dark card, two equal buttons). */
/* SPEC114 U QA finding 23: the Google card says which redirect address to paste; the hint reads as a note under the field. */
.google-signin .google-signin-redirect-hint{display:block;color:var(--muted);font-size:12px;line-height:1.45;font-weight:400;overflow-wrap:anywhere}
/* SPEC114 X: the Hub is not answering — a calm status with a small spinner, never a red error. */
@keyframes recovery-spin{to{transform:rotate(360deg)}}.recovery-spinner{display:inline-block;flex:none;width:14px;height:14px;border:2px solid #d5d1ca;border-top-color:#c39f58;border-radius:50%;animation:recovery-spin .9s linear infinite;vertical-align:-2px}.recovery-error.recovery-lost{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-color:#c39f58;background:#3a3222;color:#f3e6c6}body[data-theme="light"] .recovery-error.recovery-lost{background:#fbf3e2;color:#5f4717}.recovery-error.recovery-lost .recovery-spinner{border-color:rgba(195,159,88,.35);border-top-color:#d7b56d}.recovery-error.recovery-lost button.recovery-retry-now{margin-left:auto;height:30px;padding:0 12px;border:1px solid #c39f58;border-radius:8px;background:#d7b56d;color:#201a0e;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
@media(min-width:1451px){.workspace{grid-template-columns:minmax(600px,1fr) 450px}}
@media(min-width:1251px) and (max-width:1450px){.app{grid-template-columns:265px minmax(720px,1fr)}.main{padding:12px}.workspace{grid-template-columns:minmax(590px,1fr) 395px;gap:10px}.service-row{grid-template-columns:minmax(160px,1.1fr) minmax(140px,1fr) minmax(100px,.7fr) 75px auto}.tech-action-row{flex-wrap:wrap}.work-item{grid-template-columns:minmax(160px,1fr) minmax(110px,.7fr) 90px 90px 25px}}
@media(max-width:1250px){.stack{grid-template-rows:none}.app{min-width:900px}.sidebar{height:auto;max-height:none}.summary{min-height:640px}.no-case .summary{min-height:0}}
body[data-density="compact"] .card-head{padding:8px 12px!important}
body[data-density="compact"] .card-body{padding:8px 12px!important}
body[data-density="compact"] .case-form-grid{gap:8px}
body[data-density="compact"] .control{min-height:32px;height:32px}
body[data-density="compact"] .work-item{padding:7px 9px!important;margin-bottom:5px!important}
body[data-density="compact"] .settings-card{padding:12px!important}
body[data-density="compact"] .pl-side-card{min-height:225px}

.case-calendar-field{display:none!important}.case-calendar-field>label::after{content:none!important}

.tech-assignment-selection:has(#pendingTechAssignments:empty){display:none!important}

/* Owner's graphite surfaces and restrained gold tile outlines. */
body:not([data-theme="light"]){--bg:#242527;--panel:#313336;--panel2:#3c3e41;--panel3:#47494c;--line:#56585c}
body:not([data-theme="light"]) .pl-side-card,body:not([data-theme="light"]) .settings-card{background:var(--panel)}
body[data-theme="light"] .card,body[data-theme="light"] .settings-card,body[data-theme="light"] .production-file{border-color:#cbb88b}

/* Native PDF overlay: does not replace the saved/unsaved Case or Invoice form. */
.pdf-preview80{position:fixed;inset:24px;z-index:100000;display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--panel,#252529);color:var(--text,#f5f5f5);border:1px solid #a87933;border-radius:12px;box-shadow:0 0 0 100vmax #000a;overflow:hidden}
.pdf-preview80 header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pdf-preview80 h2{margin:0;font-size:20px;overflow-wrap:anywhere}
.pdf-preview80-actions{display:flex;flex-wrap:wrap;gap:10px}
.pdf-preview80 button,.pdf-preview80 a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;white-space:normal;text-align:center}
.pdf-preview80 p{margin:0;font-size:13px}
.pdf-preview80 iframe{flex:1;min-height:0;width:100%;border:0;background:#fff}
@media(max-width:600px){.pdf-preview80{inset:8px;padding:12px;gap:8px}.pdf-preview80 header{align-items:flex-start}.pdf-preview80 h2{font-size:17px}.pdf-preview80 header button{max-width:48%}}

.case-privacy-notice{margin:10px 16px;padding:10px 12px;border-left:3px solid var(--ui-accent,#d7b56d);background:rgba(215,181,109,.1);display:grid;gap:5px;font-size:12px;overflow-wrap:anywhere}.case-privacy-notice[hidden]{display:none}.case-privacy-badge{display:block;font-size:12px;font-weight:650;color:var(--ui-accent-text,#765827);overflow-wrap:anywhere}.case-privacy-badge small{display:block;font-weight:400}
.delivery-status{display:grid;gap:5px;padding:12px;border:1px solid rgba(215,181,109,.35);border-radius:10px;background:rgba(215,181,109,.08)}.delivery-status strong{font-size:18px}.delivery-status p,.delivery-footnote{margin:0;color:var(--muted);font-size:12px}.delivery-history{display:grid;gap:8px;margin:12px 0}.delivery-history article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px;border:1px solid var(--line);border-radius:8px}.delivery-history article p{grid-column:1/-1;margin:0}.delivery-history time{color:var(--muted);font-size:12px}.delivery-empty{color:var(--muted)}#caseDeliveryForm{display:grid;gap:10px;margin-top:14px}#caseDeliveryForm label{display:grid;gap:5px}#caseDeliveryForm select,#caseDeliveryForm input,#caseDeliveryForm textarea{min-height:42px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit}#caseDeliveryForm textarea{min-height:64px;resize:vertical}
.delivery-label-prep{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:10px}.delivery-label-prep p{margin:4px 0 0;color:var(--muted);font-size:12px}.delivery-label-prep .delivery-label-warning{color:var(--warning,#d9a441);font-weight:700}.delivery-label-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.delivery-desk-open .modal{width:min(1060px,calc(100vw - 34px));max-height:calc(100vh - 34px)}.delivery-desk{display:grid;gap:14px}.delivery-desk>header{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.delivery-desk>header>div{flex:1;min-width:280px}.delivery-desk>header h2,.delivery-desk>header p{margin:0}.delivery-desk>header p{margin-top:5px;color:var(--muted);font-size:12px}.delivery-desk>header label{display:grid;gap:5px;font-size:11px}.delivery-desk>header select{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit}.delivery-desk-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:9px;margin:8px 0}.delivery-desk-row strong,.delivery-desk-row span,.delivery-desk-row small,.delivery-desk-row time{display:block}.delivery-desk-row span,.delivery-desk-row small,.delivery-desk-row time{margin-top:4px;color:var(--muted);font-size:11px}.delivery-desk-summary,.delivery-desk-pages{display:flex;align-items:center;justify-content:space-between;gap:10px}.delivery-desk-pages{justify-content:flex-end;margin-top:12px}#deliveryDeskReturn{position:fixed;right:24px;bottom:24px;z-index:9998;padding:12px 16px;border:1px solid var(--gold);border-radius:8px;background:var(--panel);color:var(--gold);font-weight:750;box-shadow:0 8px 28px rgba(0,0,0,.3);cursor:pointer}@media(max-width:680px){.delivery-desk-row{grid-template-columns:1fr}.delivery-desk-row button,.delivery-label-actions button{width:100%}.delivery-label-prep{grid-template-columns:1fr}.delivery-label-actions{justify-content:stretch}}
.billing-desk-open .modal{width:min(1120px,calc(100vw - 34px));max-height:calc(100vh - 34px)}.billing-desk{display:grid;gap:14px}.billing-desk>header{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.billing-desk>header>div{flex:1;min-width:250px}.billing-desk>header h2,.billing-desk>header p{margin:0}.billing-desk>header p{margin-top:5px;color:var(--muted);font-size:12px}.billing-desk>header label,#billingDeskSearch label{display:grid;gap:5px;font-size:11px}.billing-desk>header select,.billing-desk>header input{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit}#billingDeskSearch{display:flex;align-items:end;gap:8px}#billingDeskSearch input{width:min(280px,48vw)}.billing-desk-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:9px;margin:8px 0}.billing-desk-row strong,.billing-desk-row span,.billing-desk-row small,.billing-desk-row time{display:block}.billing-desk-row span,.billing-desk-row small,.billing-desk-row time{margin-top:4px;color:var(--muted);font-size:11px}.billing-desk-summary,.billing-desk-pages{display:flex;align-items:center;justify-content:space-between;gap:10px}.billing-desk-summary>div{display:flex;gap:12px;flex-wrap:wrap}.billing-desk-pages{justify-content:flex-end;margin-top:12px}.billing-desk-footnote,.billing-desk-empty{color:var(--muted);font-size:12px}#billingDeskReturn{position:fixed;right:24px;bottom:76px;z-index:9998;padding:12px 16px;border:1px solid var(--gold);border-radius:8px;background:var(--panel);color:var(--gold);font-weight:750;box-shadow:0 8px 28px rgba(0,0,0,.3);cursor:pointer}@media(max-width:680px){.billing-desk-row{grid-template-columns:1fr}.billing-desk-row button{width:100%}#billingDeskSearch{width:100%}#billingDeskSearch label{flex:1}#billingDeskSearch input{width:100%}}
.invoice-workbench-open .modal{width:min(1120px,calc(100vw - 34px));max-height:calc(100vh - 34px)}.invoice-workbench{display:grid;gap:14px}.invoice-workbench>header{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.invoice-workbench>header>div{flex:1;min-width:250px}.invoice-workbench>header h2,.invoice-workbench>header p{margin:0}.invoice-workbench>header p{margin-top:5px;color:var(--muted);font-size:12px}.invoice-workbench>header label,#invoiceWorkbenchSearch label{display:grid;gap:5px;font-size:11px}.invoice-workbench>header select,.invoice-workbench>header input{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:inherit}#invoiceWorkbenchSearch{display:flex;align-items:end;gap:8px}#invoiceWorkbenchSearch input{width:min(280px,48vw)}.invoice-workbench-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:9px;margin:8px 0}.invoice-workbench-row strong,.invoice-workbench-row span,.invoice-workbench-row small{display:block}.invoice-workbench-row strong{margin-top:7px}.invoice-workbench-row span,.invoice-workbench-row small{margin-top:4px;color:var(--muted);font-size:11px}.invoice-workbench-summary,.invoice-workbench-pages{display:flex;align-items:center;justify-content:space-between;gap:10px}.invoice-workbench-summary>div{display:flex;gap:12px;flex-wrap:wrap}.invoice-workbench-pages{justify-content:flex-end;margin-top:12px}.invoice-workbench-footnote,.invoice-workbench-empty{color:var(--muted);font-size:12px}#invoiceWorkbenchReturn{position:fixed;right:24px;bottom:126px;z-index:9998;padding:12px 16px;border:1px solid var(--gold);border-radius:8px;background:var(--panel);color:var(--gold);font-weight:750;box-shadow:0 8px 28px rgba(0,0,0,.3);cursor:pointer}@media(max-width:680px){.invoice-workbench-row{grid-template-columns:1fr}.invoice-workbench-row button{width:100%}#invoiceWorkbenchSearch{width:100%}#invoiceWorkbenchSearch label{flex:1}#invoiceWorkbenchSearch input{width:100%}}
/* Whole Case overview: separate facts, one persistent return context. */
.case-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.case-overview-grid>section{border:1px solid var(--border,#d8d8d8);border-radius:10px;padding:16px;min-width:0}
.case-overview-grid h3{margin:0 0 12px}.case-overview-grid small{display:block;overflow-wrap:anywhere}
.case-overview-grid .secondary{margin:6px 6px 0 0;min-height:40px}
#caseOverviewReturn{position:fixed;bottom:18px;right:22px;z-index:1400;padding:13px 18px;border:1px solid #aaa;border-radius:8px;background:#fff;color:#222;box-shadow:0 3px 16px #0003}
@media(max-width:850px){.case-overview-grid{grid-template-columns:1fr}.case-overview .rh-section-head{flex-wrap:wrap}#caseOverviewReturn{max-width:calc(100vw - 32px);right:16px}}

/* SPEC114 F.2.6: clinic debt colours (owner 28.09): yellow after the due date, red after two weeks. */
.billing-debt{display:inline-block;margin-top:4px;font-style:normal;font-size:.85em;padding:2px 8px;border-radius:999px;background:rgba(120,120,120,.12)}
.billing-debt-overdue{background:rgba(201,164,90,.22);color:#7a5a12}
.billing-debt-critical{background:rgba(176,72,72,.18);color:#8f2f2f;font-weight:600}

/* SPEC114 F.2.9: launch reminder about the setup assistant (first two weeks). */
.setup-reminder{margin:0 0 12px;padding:10px 14px;border:1px solid rgba(201,164,90,.5);background:rgba(201,164,90,.12);border-radius:10px;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:.92em}
.setup-reminder button{padding:4px 10px}
.setup-offer a.secondary{display:inline-block;padding:4px 10px;border:1px solid var(--ui-accent-line);border-radius:7px;text-decoration:none;font-size:inherit}
.setup-offer small.wide{flex-basis:100%;opacity:.85}
.setup-note{margin:0 0 8px;padding:6px 10px;border-radius:8px;background:rgba(201,164,90,.14)}
.wizard-doctors fieldset{border:1px solid var(--line);border-radius:8px;margin:0 0 8px;padding:6px 10px}
.wizard-doctors small{opacity:.7}

/* SPEC114 G.2.1: incoming files that match the open Case rise to the top and are highlighted. */
.production-inbox-match,.pl-inbox-item.pl-inbox-match{border-color:rgba(201,164,90,.9);box-shadow:inset 3px 0 0 rgba(201,164,90,.9)}
.production-inbox-possible,.pl-inbox-item.pl-inbox-possible{border-color:rgba(201,164,90,.45)}
.production-inbox-badge,.pl-inbox-badge{display:inline-block;margin-inline-start:8px;padding:1px 7px;border-radius:9px;font-size:.78em;background:rgba(201,164,90,.18);color:inherit}
.brand-card{display:flex;gap:14px;align-items:flex-start}.brand-card .brand-preview{width:72px;height:72px;object-fit:contain;border:1px solid var(--line);border-radius:10px;background:#fff;padding:4px}.brand-upload{display:inline-block;cursor:pointer;padding:6px 12px;border:1px solid var(--ui-accent-line);border-radius:7px}
.installations-table{width:100%;border-collapse:collapse;font-size:.9em;margin:0 0 12px}.installations-table th,.installations-table td{border-bottom:1px solid var(--line);padding:4px 6px;text-align:start;vertical-align:top}.registration p{margin:0 0 10px}
/* SPEC114 J: side panel on the right, the Invoice on the whole screen, BACK in every modal */
body[data-side-panel="right"] .app{grid-template-columns:minmax(720px,1fr) 278px}
body[data-side-panel="right"] .app>.sidebar{order:2}
body[data-side-panel="right"] .app>.main{order:1}
.invoice-expand{margin-inline-start:auto;height:31px;padding:0 10px;border:1px solid var(--ui-accent-line);border-radius:9px;background:var(--panel2);color:var(--text);font-size:10px;font-weight:800;letter-spacing:.05em;white-space:nowrap}
.invoice-expand[aria-pressed="true"]{background:var(--ui-accent-soft)}
body[data-invoice-expanded] .workspace{grid-template-columns:1fr}
body[data-invoice-expanded] .workspace>.stack{display:none}
body[data-invoice-expanded] .workspace>.summary{width:min(1100px,100%);margin:0 auto}
.invoice-back-bar{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:8px 12px;border:1px solid rgba(201,164,90,.5);background:rgba(201,164,90,.12);border-radius:10px;font-size:.92em}
.invoice-back-bar[hidden]{display:none}
.modal-back{margin-inline-start:auto;margin-inline-end:8px;height:30px;padding:0 10px;border:1px solid var(--ui-accent-line);border-radius:8px;background:var(--ui-accent-soft);color:var(--ui-accent-text);font-size:11px;font-weight:800;letter-spacing:.05em}

/* SPEC114 P.1: Case timeline in the saved Case window */
.case-timeline-table td small{display:block;color:var(--muted);font-size:12px}.case-timeline-path{margin:10px 0 6px}
