:root{--navy:#0e2846;--navy2:#173c63;--gold:#c59b4a;--ink:#17202a;--muted:#657181;--line:#e1e6eb;--surface:#fff;--bg:#f5f7fa;--soft:#eef3f7;--success:#2c6e5b;--shadow:0 12px 36px rgba(16,34,54,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.16em;color:var(--gold);margin:0 0 .5rem}.muted{color:var(--muted)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.brand-panel{background:linear-gradient(145deg,var(--navy),#081b30);color:#fff;padding:8vw;display:flex;flex-direction:column;justify-content:center}.brand-panel h1{font-size:clamp(3rem,7vw,6rem);line-height:.9;margin:.2rem 0 1rem}.tagline{font-size:1.4rem;color:#e6d6ae;margin:0 0 2rem}.brand-copy{max-width:560px;color:#d7e2ec;line-height:1.7}.security-note{margin-top:3rem;border-left:3px solid var(--gold);padding:1rem 1.2rem;background:rgba(255,255,255,.06);max-width:520px}.brand-mark{width:64px;height:64px;border:2px solid var(--gold);display:grid;place-items:center;border-radius:18px;font-weight:900;color:var(--gold);letter-spacing:-.03em;margin-bottom:2rem}.brand-mark.small{width:38px;height:38px;border-radius:11px;margin:0;font-size:.8rem}.login-card{background:#fff;display:flex;flex-direction:column;justify-content:center;padding:9vw}.login-card h2{font-size:2.1rem;margin:.1rem 0}.stack-form{display:grid;gap:1rem;margin-top:1.5rem}.stack-form label{font-size:.85rem;font-weight:700;color:#34404d}.stack-form input{display:block;width:100%;margin-top:.45rem;padding:.9rem 1rem;border:1px solid #ccd4dd;border-radius:10px;outline:none}.stack-form input:focus{border-color:var(--navy2);box-shadow:0 0 0 3px rgba(23,60,99,.1)}.primary{border:0;border-radius:10px;padding:.9rem 1.2rem;background:var(--navy);color:#fff;font-weight:800;cursor:pointer}.alert{padding:.9rem 1rem;border-radius:10px;background:#fff0f0;color:#8e2525;border:1px solid #f2caca;margin-top:1rem}.demo-creds{margin-top:2rem;background:var(--soft);padding:1rem;border-radius:12px;display:grid;gap:.35rem;font-size:.82rem}.demo-creds code{overflow-wrap:anywhere;color:var(--navy)}
.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,4vw);position:sticky;top:0;z-index:10}.brand-inline{display:flex;align-items:center;gap:.75rem}.brand-inline strong{display:block;color:var(--navy);font-size:1.05rem}.brand-inline small{display:block;color:var(--muted);font-size:.72rem}.top-actions{display:flex;align-items:center;gap:1rem}.role-chip,.status{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .6rem;background:#edf3f7;color:var(--navy2);font-size:.72rem;font-weight:800}.ghost{border:1px solid var(--line);background:#fff;padding:.55rem .8rem;border-radius:9px;cursor:pointer}.navtabs{background:#fff;border-bottom:1px solid var(--line);display:flex;gap:.25rem;padding:0 max(24px,4vw);overflow:auto;position:sticky;top:72px;z-index:9}.navtabs a{padding:1rem .8rem;color:#586575;font-size:.84rem;font-weight:700;white-space:nowrap}.navtabs a:hover{color:var(--navy)}.page-wrap{max-width:1440px;margin:auto;padding:2.2rem max(24px,4vw) 5rem}.back-link{display:inline-block;color:var(--navy2);font-weight:700;font-size:.85rem;margin-bottom:1rem}.page-heading,.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem}.page-heading h1{font-size:clamp(2rem,4vw,3.2rem);color:var(--navy);margin:.1rem 0}.section-heading h2,.card h2{margin:.1rem 0;color:var(--navy)}.asof{font-size:.8rem;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.8rem 0}.metric{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.25rem;box-shadow:var(--shadow)}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;color:var(--navy);font-size:1.8rem;margin:.35rem 0}.metric small{font-size:.75rem}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.35rem;box-shadow:var(--shadow)}.card-head{display:flex;justify-content:space-between;align-items:center}.card-head p{margin:.3rem 0;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.aging-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;margin-top:1rem}.aging-grid>div{background:var(--soft);border-radius:12px;padding:.8rem}.aging-grid span,.aging-grid strong{display:block}.aging-grid span{font-size:.72rem;color:var(--muted)}.aging-grid strong{color:var(--navy);margin-top:.25rem}.section-block{padding-top:4.5rem}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin-top:1rem}table{width:100%;border-collapse:collapse;min-width:1050px}th{background:#f1f4f7;color:#5c6977;text-align:left;font-size:.71rem;text-transform:uppercase;letter-spacing:.06em;padding:.85rem}td{padding:.9rem .85rem;border-top:1px solid var(--line);vertical-align:top;font-size:.84rem}td small{display:block;color:var(--muted);margin-top:.15rem}.note-cell{min-width:230px;color:#4c5966}.search{min-width:300px;padding:.72rem .9rem;border:1px solid #ccd4dd;border-radius:10px}.cards-list{display:grid;gap:.8rem;margin-top:1rem}.work-card,.invoice-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.work-card h3,.invoice-card h3{color:var(--navy);margin:.4rem 0}.work-card p,.invoice-card p{margin:.2rem 0;color:var(--muted)}.work-meta{display:flex;gap:1.2rem;align-items:flex-end}.work-meta span{font-size:.72rem;color:var(--muted)}.work-meta strong{display:block;color:var(--ink);font-size:.8rem;margin-top:.2rem}.invoice-total{text-align:right}.invoice-total small,.invoice-total span{display:block;color:var(--muted)}.invoice-total strong{display:block;color:var(--navy);font-size:1.5rem;margin:.15rem 0}.activity-form{display:grid;grid-template-columns:150px 1fr auto;gap:.7rem;margin:1rem 0}.activity-form select,.activity-form input{border:1px solid #ccd4dd;border-radius:10px;padding:.75rem}.activity-list{display:grid;gap:.25rem}.activity-list>div{display:grid;grid-template-columns:14px 1fr;gap:.8rem;padding:1rem .25rem;border-bottom:1px solid var(--line)}.activity-list.compact>div{padding:.7rem .1rem}.activity-dot{width:10px;height:10px;background:var(--gold);border-radius:50%;margin-top:.35rem}.activity-list p{margin:.2rem 0;color:#495562}.activity-list small{color:var(--muted)}.activity-top{display:flex;justify-content:space-between;gap:1rem}.practice-grid{display:grid;gap:.65rem;margin-top:1rem}.practice-card{display:grid;grid-template-columns:auto 1fr 110px 80px auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:13px;transition:.15s}.practice-card:hover{transform:translateY(-1px);box-shadow:var(--shadow);border-color:#ccd7e2}.practice-avatar{width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}.grow h3,.grow p{margin:.1rem 0}.grow h3{color:var(--navy)}.grow p{font-size:.8rem;color:var(--muted)}.practice-stat small,.practice-stat strong{display:block}.practice-stat small{color:var(--muted);font-size:.7rem}.arrow{font-size:1.4rem;color:var(--gold)}.callout{margin-top:1rem;background:#fff7e7;border:1px solid #ead5a5;padding:1rem;border-radius:12px}.empty{background:#fff;border:1px dashed #ccd4dd;padding:1.5rem;border-radius:12px;color:var(--muted)}
@media(max-width:950px){.login-shell{grid-template-columns:1fr}.brand-panel{min-height:45vh;padding:3rem 8vw}.login-card{padding:3rem 8vw}.metric-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.aging-grid{grid-template-columns:repeat(3,1fr)}.practice-card{grid-template-columns:auto 1fr auto}.practice-stat{display:none}.work-card,.invoice-card{align-items:flex-start;flex-direction:column}.work-meta{flex-wrap:wrap}.activity-form{grid-template-columns:1fr}.navtabs{top:72px}}
@media(max-width:580px){.role-chip{display:none}.metric-grid{grid-template-columns:1fr}.aging-grid{grid-template-columns:repeat(2,1fr)}.page-heading,.section-heading{align-items:flex-start;flex-direction:column}.search{min-width:0;width:100%}.topbar{padding:0 16px}.page-wrap{padding-left:16px;padding-right:16px}.navtabs{padding:0 12px}.brand-panel h1{font-size:3.2rem}}

/* Sprint 2 */
.adminnav{background:#fff;border-bottom:1px solid var(--line);display:flex;gap:.35rem;padding:0 max(24px,4vw);position:sticky;top:72px;z-index:9}.adminnav a{padding:.9rem .8rem;font-size:.84rem;font-weight:800;color:#657181;border-bottom:3px solid transparent}.adminnav a.active,.adminnav a:hover{color:var(--navy);border-color:var(--gold)}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.secondary{border:1px solid var(--navy);border-radius:10px;padding:.75rem 1rem;color:var(--navy);font-weight:800;background:#fff}.text-link{font-size:.82rem;font-weight:800;color:var(--navy2)}.metric-grid-8{grid-template-columns:repeat(4,1fr)}.dashboard-split{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:1rem;align-items:start}.practice-card-rich{grid-template-columns:auto 1fr 90px 70px auto}.title-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.title-row h2,.title-row h3{margin:0}.grow small{color:var(--muted)}.status-active{background:#e8f5ef;color:#24664f}.status-onboarding{background:#fff3d8;color:#8a6212}.status-paused{background:#f1f1f1;color:#666}.workqueue-card{height:100%}.mini-task-list{display:grid;margin-top:.75rem}.mini-task{display:grid;grid-template-columns:12px 1fr auto;gap:.65rem;align-items:center;padding:.82rem .15rem;border-bottom:1px solid var(--line)}.mini-task strong,.mini-task small{display:block}.mini-task small{color:var(--muted);margin-top:.18rem;font-size:.72rem}.task-date{font-size:.75rem;font-weight:800;color:var(--muted);white-space:nowrap}.priority-dot{width:9px;height:9px;border-radius:50%;background:#aeb8c2}.priority-high{background:#c05454}.priority-normal{background:var(--gold)}.priority-low{background:#6a91b2}.task-due .task-date,.task-overdue .task-date{color:#9e3434}.provider-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.8rem}.provider-tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.25rem;box-shadow:var(--shadow)}.provider-tile-top{display:flex;gap:1rem;align-items:center}.practice-avatar.large{width:54px;height:54px;border-radius:15px}.provider-tile h2{color:var(--navy);font-size:1.15rem}.provider-tile p{margin:.2rem 0;color:var(--muted)}.provider-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1.1rem 0}.provider-detail-grid>div{background:var(--soft);padding:.8rem;border-radius:11px}.provider-detail-grid small,.provider-detail-grid strong{display:block}.provider-detail-grid small{color:var(--muted);font-size:.68rem}.provider-detail-grid strong{font-size:.82rem;margin-top:.2rem;color:var(--navy)}.tile-actions{display:flex;gap:.6rem;flex-wrap:wrap}.narrow-wrap{max-width:920px}.form-card{margin-top:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-grid label{font-size:.78rem;font-weight:800;color:#34404d}.form-grid input,.form-grid select{display:block;width:100%;margin-top:.4rem;padding:.8rem .9rem;border:1px solid #ccd4dd;border-radius:10px;background:#fff}.span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.3rem}.quick-create{margin:1.5rem 0}.task-form{display:grid;grid-template-columns:1.1fr 2fr 1fr .8fr 1fr 1fr auto;gap:.6rem;margin-top:1rem}.task-form input,.task-form select{border:1px solid #ccd4dd;border-radius:10px;padding:.7rem;min-width:0}.task-table-list{display:grid;margin-top:1rem}.task-row{display:grid;grid-template-columns:12px minmax(280px,1fr) 80px 100px 90px 80px;gap:.8rem;align-items:center;padding:.9rem .25rem;border-bottom:1px solid var(--line)}.task-main strong,.task-main small{display:block}.task-main small{color:var(--muted);margin-top:.2rem}.task-overdue{background:#fff9f9}.task-complete{opacity:.62}.status-completed{background:#e7f4ed;color:#2c6e5b}.small-button{font-size:.72rem;padding:.4rem .6rem}.workspace-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.provider-banner{display:grid;grid-template-columns:1.2fr 1fr 1.6fr 1fr 1fr;gap:.7rem;background:linear-gradient(135deg,#102c4c,#173c63);color:#fff;border-radius:16px;padding:1rem 1.2rem;margin:1.2rem 0}.provider-banner>div{padding:.25rem .35rem}.provider-banner small,.provider-banner strong{display:block}.provider-banner small{color:#bfd0e0;font-size:.68rem}.provider-banner strong{font-size:.8rem;margin-top:.2rem}.encounter-key{margin:.35rem 0 0}.encounter-form{display:grid;grid-template-columns:140px 1.2fr 1.15fr 1.2fr 1fr 1.2fr auto;gap:.55rem;margin:1rem 0}.encounter-form input,.encounter-form select{border:1px solid #ccd4dd;border-radius:9px;padding:.7rem;min-width:0}.encounter-badge{display:inline-grid;place-items:center;min-width:36px;height:30px;border-radius:9px;background:var(--navy);color:#fff;font-weight:900;font-size:.74rem}
@media(max-width:1150px){.dashboard-split{grid-template-columns:1fr}.provider-banner{grid-template-columns:repeat(2,1fr)}.task-form{grid-template-columns:repeat(3,1fr)}.encounter-form{grid-template-columns:repeat(3,1fr)}.task-row{grid-template-columns:12px 1fr 80px 100px}.task-row>*:nth-last-child(-n+2){display:none}}
@media(max-width:850px){.metric-grid-8{grid-template-columns:repeat(2,1fr)}.provider-directory{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.provider-banner{grid-template-columns:1fr 1fr}.task-form,.encounter-form{grid-template-columns:1fr 1fr}.practice-card-rich{grid-template-columns:auto 1fr auto}.practice-card-rich .practice-stat{display:none}}
@media(max-width:580px){.adminnav{padding:0 12px;overflow:auto}.adminnav a{white-space:nowrap}.metric-grid-8{grid-template-columns:1fr}.provider-detail-grid{grid-template-columns:1fr}.provider-banner{grid-template-columns:1fr}.task-form,.encounter-form{grid-template-columns:1fr}.workspace-actions{align-items:flex-start;flex-direction:column}.provider-tile-top{align-items:flex-start}.task-row{grid-template-columns:12px 1fr}.task-row>*:not(.priority-dot):not(.task-main){display:none}}

/* Sprint 3 — Import Center + PrimePulse */
.workspace-action-group{display:flex;gap:.55rem;flex-wrap:wrap}.import-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:1rem;align-items:start}.upload-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.upload-form label,.mapping-grid label{font-size:.78rem;font-weight:800;color:#34404d}.upload-form input,.upload-form select,.mapping-grid select,.duplicate-control select,.report-controls select{display:block;width:100%;margin-top:.4rem;padding:.78rem .85rem;border:1px solid #ccd4dd;border-radius:10px;background:#fff}.import-warning{background:#fff7e7;border:1px solid #ead5a5;border-radius:10px;padding:.8rem;color:#664e1d;font-size:.78rem}.sample-links{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8rem}.sample-links a{font-weight:800}.step-list{display:grid;gap:.75rem;margin-top:1rem}.step-list>div{display:grid;grid-template-columns:38px 1fr;gap:.75rem;align-items:start}.step-list>div>span{width:34px;height:34px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}.step-list p{margin:0;color:var(--navy);font-size:.88rem}.step-list small{display:block;color:var(--muted);margin-top:.25rem;line-height:1.45}.import-history{margin-top:1rem}.flush{box-shadow:none;border-radius:10px;margin-top:.8rem}.success-banner{background:#eaf7f0;border:1px solid #b9dec9;color:#245e49;border-radius:12px;padding:1rem;margin-bottom:1rem}.mapping-card,.preview-card{margin-top:1rem}.mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:1rem}.mapping-grid label span{display:flex;justify-content:space-between;gap:.5rem}.mapping-grid em{font-style:normal;font-size:.62rem;background:#fff0d2;color:#8a6212;border-radius:20px;padding:.15rem .45rem}.duplicate-control{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line)}.duplicate-control strong,.duplicate-control small{display:block}.duplicate-control small{color:var(--muted);margin-top:.2rem}.duplicate-control select{max-width:360px;margin:0}.preview-card table{min-width:max-content}.import-commit{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0 2rem}.large-button{padding:.9rem 1.3rem;font-size:.9rem}.report-wrap{max-width:1260px}.report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.report-controls{display:flex;gap:.6rem;align-items:center}.report-controls form{margin:0}.report-controls select{margin:0;min-width:170px}.report-hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:linear-gradient(135deg,#0c2747,#173f69);color:#fff;border-radius:18px;padding:2rem;margin-bottom:1rem}.report-hero h1{font-size:2.2rem;margin:.2rem 0}.report-hero p{margin:.3rem 0;color:#d9e5f1}.report-brand{display:grid;justify-items:end;gap:.2rem}.report-brand .brand-mark{border-color:var(--gold);color:var(--gold)}.report-brand strong{font-size:1.15rem}.report-brand small{color:#d9e5f1}.report-metrics{margin-bottom:1rem}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.report-aging{grid-template-columns:repeat(5,1fr)}.signal-list,.payer-bars{display:grid;margin-top:.6rem}.signal-list>div,.payer-bars>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem .15rem;border-bottom:1px solid var(--line)}.signal-list span,.payer-bars span{color:var(--muted)}.signal-list strong,.payer-bars strong{color:var(--navy)}.fee-card{background:linear-gradient(180deg,#fff,#fbf6ea)}.fee-big{font-size:2.8rem;font-weight:900;color:var(--navy);margin:.75rem 0}.report-activity{margin-bottom:1rem}.report-footer{text-align:center;color:var(--muted);font-size:.72rem;padding:1rem 0 2rem}
@media(max-width:1000px){.import-layout,.report-grid{grid-template-columns:1fr}.mapping-grid{grid-template-columns:repeat(2,1fr)}.report-aging{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.upload-form,.mapping-grid{grid-template-columns:1fr}.upload-form .span-2{grid-column:span 1}.duplicate-control,.import-commit,.report-toolbar,.report-hero{align-items:flex-start;flex-direction:column}.duplicate-control select{max-width:none}.report-brand{justify-items:start}.report-controls{width:100%;flex-wrap:wrap}.report-aging{grid-template-columns:repeat(2,1fr)}.workspace-action-group{width:100%}}
@media print{.no-print,.topbar,.navtabs,.adminnav{display:none!important}.page-wrap.report-wrap{padding:0;max-width:none}.report-hero{break-inside:avoid}.card,.metric{box-shadow:none}.report-grid,.metric-grid{break-inside:avoid}.report-footer{padding-bottom:0}body{background:#fff}}

/* Sprint 3.2 — Flexible Imports */
.field-help{display:block;color:var(--muted);font-weight:500;margin-top:.35rem}.flex-rule{display:grid;grid-template-columns:170px 1fr;gap:.8rem;align-items:start;background:#eef5fb;border:1px solid #ccddea;border-radius:10px;padding:.85rem 1rem;margin-top:1rem;font-size:.78rem}.flex-rule strong{color:var(--navy)}.flex-rule span{color:#4f6275;line-height:1.5}@media(max-width:650px){.flex-rule{grid-template-columns:1fr}}

/* Sprint 4 — PrimeVault, Invoices + PrimeConnect */
.document-form{display:grid;grid-template-columns:1.15fr 1.2fr 1fr 1.4fr 1.25fr auto auto;gap:.65rem;align-items:center;margin-top:1rem}.document-form input,.document-form select,.invoice-create-form input,.invoice-create-form select,.workspace-document-form input,.workspace-document-form select,.message-compose input,.message-compose textarea{border:1px solid #ccd4dd;border-radius:10px;padding:.75rem .8rem;background:#fff;min-width:0}.check-label{display:flex;gap:.4rem;align-items:center;font-size:.75rem;font-weight:700;color:#52606f;white-space:nowrap}.check-label input{width:auto!important;margin:0}.action-cell{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.action-cell form{display:flex;gap:.4rem;align-items:center}.tiny-input{max-width:92px;padding:.38rem .45rem!important;border:1px solid #ccd4dd;border-radius:8px;font-size:.72rem}.invoice-create-form{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:.7rem;margin-top:1rem}.invoice-create-form .span-2{grid-column:span 3}.document-grid{display:grid;gap:.75rem;margin-top:1rem}.document-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fff}.document-card h3{margin:.35rem 0 .25rem;color:var(--navy)}.document-card p{margin:.15rem 0;color:var(--muted)}.document-card small{color:var(--muted)}.doc-icon{width:44px;height:44px;border-radius:12px;background:var(--soft);color:var(--navy);display:grid;place-items:center;font-weight:900}.doc-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.workspace-document-form{display:grid;grid-template-columns:1.2fr .9fr 1.3fr 1.3fr auto auto;gap:.6rem;margin:1rem 0}.message-compose{display:grid;grid-template-columns:1fr auto;gap:.7rem;margin:1rem 0}.message-compose textarea{grid-column:1 / -1;min-height:95px;resize:vertical}.message-thread{display:grid;gap:.75rem}.message-bubble{max-width:86%;border:1px solid var(--line);border-radius:15px;padding:1rem 1.1rem;background:#fff;box-shadow:0 5px 18px rgba(16,34,54,.04)}.message-bubble h3{margin:.4rem 0 .25rem;color:var(--navy);font-size:1rem}.message-bubble p{margin:.25rem 0;line-height:1.55;color:#34404d}.message-admin{justify-self:start;border-left:3px solid var(--gold)}.message-provider{justify-self:end;background:#edf4fa;border-right:3px solid var(--navy2)}.message-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.72rem}.message-meta span{color:var(--muted)}.message-provider-card{display:grid;gap:1rem}.latest-message{background:var(--soft);border-radius:12px;padding:.9rem}.latest-message strong,.latest-message small{display:block}.latest-message p{margin:.35rem 0;color:#435263;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.latest-message small{color:var(--muted)}.compact-empty{margin:0}.invoice-print-wrap{max-width:1050px}.invoice-sheet{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2.5rem;box-shadow:var(--shadow)}.invoice-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--navy);padding-bottom:1.3rem}.invoice-sheet-head h1{font-size:3rem;color:var(--navy);margin:.15rem 0}.invoice-id{text-align:right}.invoice-id span,.invoice-id strong{display:block}.invoice-id span{font-size:1.2rem;font-weight:800;color:var(--navy)}.invoice-id strong{margin-top:.5rem;color:var(--success)}.invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:1.5rem 0}.invoice-parties>div{display:grid;gap:.35rem}.invoice-parties small{color:var(--gold);font-weight:900;letter-spacing:.12em}.invoice-parties strong{color:var(--navy)}.invoice-line-table{width:100%;border-collapse:collapse}.invoice-line-table th,.invoice-line-table td{padding:1rem;border-bottom:1px solid var(--line);text-align:left}.invoice-line-table th{background:var(--soft);color:var(--navy);font-size:.8rem}.invoice-summary{margin-left:auto;margin-top:1.5rem;max-width:360px;background:var(--navy);color:#fff;border-radius:14px;padding:1.2rem;display:grid;gap:.35rem}.invoice-summary strong{font-size:2rem}.invoice-summary small{color:#dce7f1}.invoice-note{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted)}
@media(max-width:1100px){.document-form{grid-template-columns:repeat(3,1fr)}.workspace-document-form{grid-template-columns:repeat(3,1fr)}.invoice-create-form{grid-template-columns:repeat(2,1fr)}.invoice-create-form .span-2{grid-column:span 2}}
@media(max-width:700px){.document-form,.workspace-document-form,.invoice-create-form{grid-template-columns:1fr}.invoice-create-form .span-2{grid-column:span 1}.document-card{grid-template-columns:auto 1fr}.doc-actions{grid-column:1 / -1}.message-compose{grid-template-columns:1fr}.message-bubble{max-width:100%}.message-meta{flex-direction:column;gap:.2rem}.invoice-sheet{padding:1.25rem}.invoice-sheet-head,.invoice-parties{grid-template-columns:1fr;display:grid;gap:1rem}.invoice-id{text-align:left}.action-cell{min-width:180px}}
@media print{.invoice-sheet{box-shadow:none;border:0;padding:0}.invoice-print-wrap{padding:0}.invoice-note{font-size:.8rem}}
/* Sprint 4.1 — Wave invoice payments */
.wave-create{grid-template-columns:1.25fr 1fr 1fr 1fr}.wave-link-form{display:grid;grid-template-columns:.7fr 2fr auto;gap:.7rem;margin-top:1rem}.wave-link-form input{border:1px solid #ccd4dd;border-radius:10px;padding:.78rem .85rem;min-width:0}.wave-admin-card{margin-bottom:1rem}.wave-pay-block{max-width:360px;margin:1rem 0 0 auto;display:grid;gap:.55rem;text-align:center}.wave-pay-block p{margin:0;color:var(--muted);font-size:.85rem}.wave-pay-block small{color:var(--muted);font-size:.72rem}.wave-pay-button{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;border-radius:11px;padding:.95rem 1.2rem;font-weight:900;box-shadow:0 8px 18px rgba(15,45,76,.16)}.wave-pay-button:hover{transform:translateY(-1px)}.wave-mini-link{display:inline-flex;align-items:center;border:1px solid #c9d5e0;border-radius:8px;padding:.35rem .55rem;font-size:.75rem;font-weight:800;color:var(--navy);background:#fff}.billing-links{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin-top:.45rem}.minimum-note{margin:.75rem 0 0;color:var(--muted);font-size:.78rem}.paid-banner{max-width:360px;margin:1rem 0 0 auto;background:#e8f5ef;color:#24664f;border-radius:11px;padding:.8rem 1rem;font-weight:800;text-align:center}.tiny-date{max-width:132px;padding:.38rem .45rem!important;border:1px solid #ccd4dd;border-radius:8px;font-size:.72rem}.invoice-id small{display:block;color:var(--muted);margin-top:.3rem;font-size:.72rem}
@media(max-width:900px){.wave-link-form{grid-template-columns:1fr}.wave-create{grid-template-columns:1fr 1fr}.wave-create .span-2{grid-column:span 2}}
@media(max-width:700px){.wave-create{grid-template-columns:1fr}.wave-create .span-2{grid-column:span 1}.wave-pay-block,.paid-banner{max-width:none;margin-left:0}}
@media print{.wave-pay-block,.wave-admin-card{display:none!important}}

/* Sprint 4.1.1 — Invoice margin/alignment fix */
.invoice-line-table{
  width:100%;
  min-width:0;
  table-layout:fixed;
  box-sizing:border-box;
}
.invoice-line-table th,
.invoice-line-table td{
  box-sizing:border-box;
  overflow-wrap:anywhere;
}
.invoice-line-table th:nth-child(1),
.invoice-line-table td:nth-child(1){width:52%;}
.invoice-line-table th:nth-child(2),
.invoice-line-table td:nth-child(2){width:18%;}
.invoice-line-table th:nth-child(3),
.invoice-line-table td:nth-child(3){width:12%;}
.invoice-line-table th:nth-child(4),
.invoice-line-table td:nth-child(4){width:18%;text-align:right;padding-right:1rem;}
@media(max-width:700px){
  .invoice-line-table th,.invoice-line-table td{padding:.75rem .55rem;font-size:.76rem;}
  .invoice-line-table th:nth-child(1),.invoice-line-table td:nth-child(1){width:44%;}
  .invoice-line-table th:nth-child(2),.invoice-line-table td:nth-child(2){width:22%;}
  .invoice-line-table th:nth-child(3),.invoice-line-table td:nth-child(3){width:13%;}
  .invoice-line-table th:nth-child(4),.invoice-line-table td:nth-child(4){width:21%;padding-right:.55rem;}
}
@media print{
  .invoice-line-table{min-width:0!important;width:100%!important;table-layout:fixed;}
}


/* Sprint 5 — user invitations, MFA and account security */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem;background:linear-gradient(145deg,#f4f7fa,#edf2f6)}.auth-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:2rem;box-shadow:var(--shadow)}.wide-auth{width:min(720px,100%)}.auth-brand{margin-bottom:2rem}.auth-card h1{color:var(--navy);margin:.25rem 0 .5rem}.auth-back{display:inline-block;margin-top:1.2rem}.password-rules,.security-copy{color:var(--muted);font-size:.8rem;line-height:1.5}.mfa-setup-grid{display:grid;grid-template-columns:240px 1fr;gap:1.5rem;align-items:center;margin:1.5rem 0}.qr-card{border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff}.qr-card img{display:block;width:100%;height:auto}.secret-code{display:block;background:var(--soft);border-radius:10px;padding:.8rem;overflow-wrap:anywhere;color:var(--navy);font-weight:800}.recovery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin:1.5rem 0}.recovery-grid code{padding:.8rem;background:var(--soft);border-radius:10px;text-align:center;color:var(--navy);font-weight:900;letter-spacing:.08em}.security-note-light{border-left:3px solid var(--gold);background:#fbf6ea;padding:1rem;margin:1rem 0 1.5rem;color:#4b5561}.security-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.invite-form{display:grid;grid-template-columns:1.2fr 1.4fr .8fr 1.3fr .9fr auto;gap:.65rem;margin-top:1rem}.invite-form input,.invite-form select,.invite-ready input{border:1px solid #ccd4dd;border-radius:10px;padding:.78rem .85rem;min-width:0;background:#fff}.invite-ready input{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--navy);margin:.5rem 0}.invite-ready small{display:block;color:var(--muted)}.tiny-copy{font-size:.78rem;color:#d7e2ec}.status-inactive{background:#f4e8e8;color:#7d3333}.status-pending{background:#fbf1d8;color:#7a5a1b}.secondary{border:1px solid #b8c7d4;border-radius:10px;padding:.85rem 1.1rem;background:#edf3f8;color:var(--navy);font-weight:800;cursor:pointer}@media(max-width:1100px){.security-grid{grid-template-columns:1fr 1fr}.invite-form{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.mfa-setup-grid,.security-grid,.invite-form{grid-template-columns:1fr}.recovery-grid{grid-template-columns:1fr}.auth-card{padding:1.25rem}}

/* Sprint 5.1 — Valley Prime brand identity */
.brand-logo-mark{width:48px;height:48px;object-fit:contain;flex:0 0 auto;display:block}
.brand-product{display:grid;line-height:1.05}
.brand-product strong{font-size:1.05rem;color:var(--navy)}
.brand-product small{margin-top:.25rem;color:var(--muted);font-size:.68rem;letter-spacing:.02em}
.login-brand-logo{display:block;width:min(500px,92%);height:auto;max-height:250px;object-fit:contain;object-position:left center;margin:0 0 1.25rem -1.2rem}
.invoice-brand-block{min-width:0}
.invoice-brand-logo{display:block;width:260px;max-width:100%;height:auto;object-fit:contain;object-position:left center;margin:-1rem 0 .35rem -1.1rem}
.branded-report{min-width:250px;align-items:flex-end!important}
.branded-report img{display:block;width:245px;max-width:100%;height:auto;object-fit:contain;margin-bottom:.25rem}
.branded-report strong{font-size:1rem}
.topbar .brand-inline{min-width:0}
@media(max-width:700px){
  .brand-logo-mark{width:42px;height:42px}
  .login-brand-logo{width:min(390px,100%);margin-left:-.6rem}
  .invoice-brand-logo{width:210px;margin-left:-.8rem}
  .branded-report{align-items:flex-start!important}.branded-report img{width:205px}
}
@media print{
  .invoice-brand-logo{width:220px;margin-left:-.8rem}
  .branded-report img{width:210px}
}
