:root{--bg:#f5f8fb;--panel:#fff;--text:#122536;--muted:#6b7f91;--line:#dfe7ee;--nav:#10283b;--nav2:#163b54;--accent:#12a7a3;--accent2:#087f84;--danger:#b43c4b;--warn:#b47818;--ok:#21855d;--shadow:0 14px 36px rgba(20,48,70,.10);font-family:Segoe UI,Tahoma,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#dff8f5,transparent 34%),linear-gradient(135deg,#f8fbfd,#eef6fa)}.login-card{width:min(920px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.login-brand{padding:54px;background:linear-gradient(160deg,#0e293c,#174e64);color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:520px}.logo-mark{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#16c2b6,#7ae0d9);display:grid;place-items:center;color:#073740;font-weight:900;font-size:24px}.login-brand h1{font-size:42px;margin:20px 0 8px}.login-brand p{color:#d6e8ef;line-height:1.8}.pill{display:inline-flex;gap:7px;align-items:center;padding:7px 11px;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:12px;color:#d8f3f0}.login-form{padding:54px;display:flex;flex-direction:column;justify-content:center}.login-form h2{font-size:28px;margin:0 0 8px}.sub{color:var(--muted);font-size:14px;line-height:1.6}.field{display:grid;gap:7px;margin-top:18px}.field label{font-size:13px;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fbfdfe;border-radius:12px;padding:12px 13px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(18,167,163,.11)}.btn{border:0;border-radius:11px;padding:11px 14px;background:var(--accent);color:#fff;font-weight:800}.btn:hover{background:var(--accent2)}.btn.secondary{background:#edf5f7;color:#1c5060}.btn.danger{background:#fff0f2;color:var(--danger)}.btn.warn{background:#fff7e8;color:#8a5a12}.btn.sm{padding:7px 10px;font-size:12px}.login-btn{margin-top:22px;padding:13px}.demo-box{margin-top:22px;padding:13px 14px;border-radius:12px;background:#f4fafb;border:1px dashed #badde0;color:#456977;font-size:12px;line-height:1.8}.shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:linear-gradient(180deg,var(--nav),#0e2333);color:#dfeaf0;padding:20px 14px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:12px;align-items:center;padding:8px 10px 22px}.brand .logo-mark{width:42px;height:42px;border-radius:13px;font-size:18px}.brand strong{display:block;color:#fff;font-size:17px}.brand small{color:#9bb0bd}.nav{display:grid;gap:4px}.nav button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:#c8d7df;padding:11px 12px;border-radius:10px;text-align:right}.nav button:hover,.nav button.active{background:#1b4056;color:#fff}.main{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.top-user{display:flex;align-items:center;gap:12px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7f5f5;color:#0a7777;font-weight:900}.content{padding:24px;max-width:1500px;margin:auto}.headline{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px}.headline h1{margin:0;font-size:25px}.headline p{margin:6px 0 0;color:var(--muted)}.grid{display:grid;gap:15px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 4px 16px rgba(16,40,59,.035)}.kpi b{font-size:28px;display:block;margin-top:7px}.kpi small{color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 13px;border-bottom:1px solid #edf1f4;text-align:right;font-size:13px;vertical-align:top}.table th{background:#f7fafc;color:#577080;font-size:12px;position:sticky;top:0}.status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf4f7;font-size:11px;font-weight:800}.status.completed,.status.settled{background:#e8f7ef;color:var(--ok)}.status.cancelled{background:#fff0f2;color:var(--danger)}.status.searching,.status.offering{background:#fff7e7;color:var(--warn)}.status.in_progress,.status.en_route{background:#eaf5ff;color:#216f9d}.actions{display:flex;gap:7px;flex-wrap:wrap}.empty{padding:44px;text-align:center;color:var(--muted)}.modal{position:fixed;inset:0;background:rgba(6,22,33,.55);display:grid;place-items:center;padding:18px;z-index:99}.modal-card{background:#fff;width:min(780px,100%);max-height:90vh;overflow:auto;border-radius:18px;padding:22px;box-shadow:var(--shadow);position:relative}.modal-x{position:absolute;left:14px;top:12px;border:0;background:#eef3f6;width:34px;height:34px;border-radius:50%;font-size:22px;color:#456}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.slot{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:9px}.slot-head{display:flex;justify-content:space-between;gap:10px}.meta{font-size:12px;color:var(--muted);line-height:1.7}.toast{position:fixed;bottom:24px;left:24px;z-index:200;background:#133448;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);max-width:360px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filters input,.filters select{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:#fff}.money{font-variant-numeric:tabular-nums;font-weight:800}.notice{padding:12px 14px;border-radius:12px;background:#fff8e9;border:1px solid #f1dbad;color:#7c5a1d;font-size:13px;line-height:1.7;margin-bottom:16px}.login-error{color:var(--danger);font-size:13px;margin-top:10px}.tag{display:inline-flex;padding:4px 7px;border-radius:7px;background:#eff7f7;color:#19777b;font-size:11px;margin:2px}.section-title{margin:22px 0 10px;font-size:16px}.split{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.detail-list{display:grid;gap:8px}.detail-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px dashed var(--line);padding-bottom:7px;font-size:13px}.ltr{direction:ltr;text-align:left}@media(max-width:980px){.shell{grid-template-columns:78px 1fr}.sidebar{padding:14px 8px}.brand>div:last-child,.nav .label{display:none}.brand{justify-content:center}.nav button{justify-content:center}.kpis{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media(max-width:680px){.login-card{grid-template-columns:1fr}.login-brand{min-height:auto;padding:28px}.login-form{padding:28px}.shell{grid-template-columns:1fr}.sidebar{position:fixed;bottom:0;top:auto;height:64px;width:100%;z-index:30;padding:6px;display:flex}.brand{display:none}.nav{display:flex;overflow:auto;width:100%}.nav button{min-width:64px;padding:8px}.main{padding-bottom:70px}.topbar{padding:0 14px}.content{padding:14px}.kpis{grid-template-columns:1fr 1fr}.headline{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}
/* R6.2 Blockbuster Merge */
.pill.dark{background:#edf5f7;color:#244b5d;border-color:#d4e3e8}.conversation{display:grid;gap:8px;margin:14px 0;max-height:310px;overflow:auto;padding:8px;background:#f7fafc;border:1px solid var(--line);border-radius:12px}.msg{max-width:88%;padding:9px 11px;border-radius:12px;background:#fff;border:1px solid var(--line);line-height:1.55}.msg.outbound{margin-right:auto;background:#e9f8f6;border-color:#cceae6}.msg.inbound{margin-left:auto}.msg small{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.card.unread{border-color:#9edbd6;box-shadow:0 0 0 2px rgba(18,167,163,.08)}.network-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e9f8f6;color:#087f84;font-size:11px;font-weight:800}.metric-strip{display:flex;gap:8px;flex-wrap:wrap}.metric-chip{padding:8px 10px;border:1px solid var(--line);background:#f8fbfc;border-radius:10px;font-size:12px}
/* R6.3 Integration Command Center */
.integration-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.integration-card{min-height:220px}.tracking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.local-map{height:250px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#edf6f6,#f9fcfd);position:relative;overflow:hidden}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(18,167,163,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(18,167,163,.08) 1px,transparent 1px);background-size:24px 24px}.map-pin{position:absolute;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;box-shadow:0 7px 18px rgba(16,40,59,.16);z-index:2}.map-pin.patient{left:23%;top:38%;background:#163b54;color:#fff}.map-pin.practitioner{right:23%;top:55%;background:#12a7a3;color:#fff}.map-caption{position:absolute;right:12px;left:12px;bottom:12px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:11px;padding:10px;display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:11px;z-index:3}.map-caption b{grid-row:1/4;font-size:13px;align-self:center}.integration-card .status.simulated,.status.manual_verification{background:#fff7e7;color:var(--warn)}.integration-card .status.connected{background:#e8f7ef;color:var(--ok)}.integration-card .status.not_configured,.status.disabled{background:#f0f3f5;color:#6b7f91}@media(max-width:1100px){.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.integration-grid,.tracking-grid{grid-template-columns:1fr}.local-map{height:220px}}
/* R6.10 Final Parity + Production Readiness */
.mini-json{white-space:pre-wrap;word-break:break-word;background:#f7fafc;border:1px solid var(--line);border-radius:10px;padding:10px;max-height:180px;overflow:auto;font-size:11px;direction:ltr;text-align:left}.status.final,.status.generated,.status.captured,.status.simulated_delivered{background:#e8f7ef;color:var(--ok)}.status.draft,.status.queued,.status.open{background:#fff7e7;color:var(--warn)}.status.failed,.status.blocked{background:#fff0f2;color:var(--danger)}.clinical-form textarea{min-height:74px}.readiness-pass{color:var(--ok);font-weight:800}.readiness-block{color:var(--danger);font-weight:800}
/* R6.11 Identity, Accounts & Portal Experience */
.portal-login{width:min(1120px,100%);display:grid;grid-template-columns:1.25fr .75fr;background:#fff;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.portal-hero{padding:48px;background:linear-gradient(155deg,#0d283b,#174f64);color:#fff}.portal-hero h1{font-size:42px;margin:18px 0 4px}.portal-hero>p{color:#d6e8ef}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:34px 0}.portal-choice{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;padding:18px;border-radius:16px;text-align:right;display:grid;gap:5px}.portal-choice:hover{background:rgba(255,255,255,.15);transform:translateY(-1px)}.portal-choice b{font-size:16px}.portal-choice span{font-size:11px;color:#cce0e8}.pill-row{display:flex;gap:7px;flex-wrap:wrap}.portal-auth{padding:42px}.workspace-chip{padding:8px 10px;border-radius:10px;background:#f0f6f7;color:#27576a;font-size:12px;font-weight:700}.workspace-list{display:grid;gap:10px}.workspace-option{border:1px solid var(--line);background:#fff;border-radius:13px;padding:14px;text-align:right;display:grid;gap:4px;color:var(--text)}.workspace-option span{font-size:11px;color:var(--muted)}.workspace-option.current{border-color:var(--accent);background:#eef9f8}.token-box{margin-top:8px;padding:8px;background:#fff;border:1px dashed var(--line);word-break:break-all}.onboarding-hero{background:linear-gradient(135deg,#12394e,#16736f);color:#fff;padding:24px;border-radius:20px;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.onboarding-hero h1{margin:8px 0}.onboarding-hero p{max-width:700px;color:#d9ecec;line-height:1.7}.onboarding-score{width:82px;height:82px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:22px;font-weight:900}.onboarding-steps{grid-template-columns:repeat(3,1fr);margin-bottom:16px}.onboarding-steps .done{border-color:#b9e6d2;background:#f3fbf7}.portal-patient .sidebar{background:linear-gradient(180deg,#0d3947,#0e5d61)}.portal-practitioner .sidebar{background:linear-gradient(180deg,#10283b,#165a68)}.portal-provider .sidebar{background:linear-gradient(180deg,#162c3e,#254c5e)}
@media(max-width:800px){.portal-login{grid-template-columns:1fr}.portal-hero{padding:28px}.portal-grid{grid-template-columns:1fr 1fr;margin:22px 0}.portal-auth{padding:28px}.onboarding-steps{grid-template-columns:1fr}.top-user .workspace-chip{display:none}}
/* R6.12 Public/Mobile Experience + MFA + Identity + Self-Service */
.account-security-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.security-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#eef8f7;color:#0c7473;font-size:11px;font-weight:800}.identity-pending{border-inline-start:4px solid var(--warn)}.identity-verified{border-inline-start:4px solid var(--ok)}.mobile-action-bar{display:none}.portal-auth .login-btn{min-height:46px}.portal-choice{min-height:92px}.account-security-grid .card{min-height:180px}
@media(max-width:680px){.portal-hero h1{font-size:32px}.portal-grid{grid-template-columns:1fr}.portal-choice{min-height:72px;padding:14px}.portal-auth{padding:22px}.account-security-grid{grid-template-columns:1fr}.card{border-radius:14px}.topbar{height:66px}.top-user>div:nth-of-type(1){max-width:130px;overflow:hidden}.btn{min-height:40px}.btn.sm{min-height:34px}.field input,.field select,.field textarea{min-height:44px;font-size:16px}.modal{align-items:end;padding:0}.modal-card{width:100%;max-height:88vh;border-radius:22px 22px 0 0;padding:20px}.headline h1{font-size:21px}.portal-login{border-radius:20px}.onboarding-hero{align-items:flex-start;gap:14px}.onboarding-score{width:62px;height:62px;font-size:18px;flex:0 0 auto}}
.developer-credit{color:inherit;text-decoration:none;font-weight:700}.developer-credit:hover{text-decoration:underline}.login-credit{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);text-align:center}.public-legal-links{display:flex;gap:12px;justify-content:center;margin:14px 0}.link-btn{border:0;background:transparent;color:var(--accent2);padding:0;text-decoration:underline;cursor:pointer}.sidebar-credit{margin-top:auto;padding:14px 12px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;line-height:1.5}.sidebar-credit .developer-credit{color:#d8f3f0}.legal-consent-box{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fbfc}.legal-check{display:flex;gap:8px;align-items:flex-start;margin:10px 0}.legal-body{white-space:pre-wrap;line-height:1.9;padding:14px 0}.developer-rights-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#10283b,#174e64);color:white;padding:20px;border-radius:18px;margin-bottom:18px}.toggle-line{display:flex;gap:8px;align-items:center;margin:12px 0}
