
:root{
  --navy:#071f50;
  --navy2:#0b2d66;
  --blue:#2856d8;
  --blue-soft:#eef3ff;
  --green:#2ea04b;
  --lime:#8bd84f;
  --ink:#14233b;
  --muted:#718096;
  --line:#dce4ec;
  --paper:#f5f7fa;
  --white:#fff;
  --danger:#e35b42;
  --warn:#f6a623;
  --shadow:0 8px 26px rgba(24,43,74,.08);
  --radius:14px;
  --p1:#9bb6ca;--p2:#7ea2ba;--p3:#5f8baa;--p4:#427599;--p5:#275f82;--p6:#153f5c;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#eef2f6;color:var(--ink)}
button,input,select,textarea{font:inherit}
button,a{cursor:pointer}
a{text-decoration:none;color:inherit}
code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.94em}
.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 12px;border-radius:9px;font-size:11px;font-weight:800}
.btn:hover{border-color:#b8c5d3;background:#fbfcfd}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.btn.navy{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.danger{color:#a83a2d;border-color:#efc0ba;background:#fff}
.btn.small{padding:6px 8px;font-size:9px}
.btn.link-button{margin-top:9px;color:var(--blue);border-color:#cdd7ef;background:#f8faff}
.empty{padding:24px;text-align:center;color:var(--muted);font-size:12px}
.note{font-size:10px;color:var(--muted);line-height:1.45}

/* Setup / login */
.setup-page,.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:
radial-gradient(circle at 80% 10%,rgba(40,86,216,.08),transparent 34%),
linear-gradient(180deg,#f7f9fb,#edf2f6)}
.setup-card,.login-card{width:min(760px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:28px}
.setup-logo,.login-brand img{display:block;width:128px;max-height:110px;object-fit:contain;margin:0 auto 8px}
.setup-kicker{text-align:center;font-size:10px;letter-spacing:.14em;font-weight:900;color:#53718a}
.setup-card h1,.login-card h1{text-align:center;margin:6px 0;font-size:30px;letter-spacing:-.035em}
.setup-card>p,.login-card>p{text-align:center;color:var(--muted);font-size:13px;line-height:1.5}
.setup-actions{display:flex;gap:10px;justify-content:center;margin:20px 0}
.setup-note,.demo-banner{padding:11px 13px;border-radius:10px;background:#eef7eb;border-left:4px solid var(--green);font-size:11px;line-height:1.45}
.setup-card details{margin-top:16px;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.setup-card summary{font-weight:800;font-size:11px}
.setup-card li{font-size:11px;color:#526374;line-height:1.7}
.login-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.role-card{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fbfcfd}
.role-card h2{font-size:16px;margin:0 0 4px}
.role-card p{text-align:left;margin:0 0 12px;font-size:11px}
.field{display:grid;gap:5px;margin-bottom:10px}
.field label{font-size:9px;font-weight:850;color:#627589}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:8px 9px;outline:none}
.field input,.field select{height:36px}
.field textarea{min-height:74px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#7ea2d9;box-shadow:0 0 0 3px rgba(40,86,216,.08)}

/* Clinician shell */
.clinician-app{min-height:100vh;display:grid;grid-template-columns:188px 1fr;background:#f3f5f8}
.clinic-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#061d4b,#08265d 78%,#071f50);color:#fff;padding:18px 12px 14px}
.sidebar-brand{display:flex;align-items:center;gap:8px;padding:2px 6px 18px;border-bottom:1px solid rgba(255,255,255,.1)}
.sidebar-brand img{width:46px;height:42px;object-fit:contain}
.sidebar-brand div{display:grid;line-height:1}
.sidebar-brand strong{font-size:14px;letter-spacing:.04em}
.sidebar-brand span{font-size:7px;letter-spacing:.12em;opacity:.8;margin-top:3px}
.sidebar-nav{display:grid;gap:4px;padding-top:14px}
.sidebar-nav button{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:8px;border:0;background:transparent;color:rgba(255,255,255,.9);padding:9px 10px;border-radius:8px;text-align:left;font-size:10px;font-weight:700}
.sidebar-nav button i{font-style:normal;font-size:14px;text-align:center}
.sidebar-nav button:hover,.sidebar-nav button.active{background:rgba(88,118,225,.36);color:#fff}
.sidebar-spacer{flex:1}
.server-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:10px;padding:10px;margin-bottom:9px}
.server-status{font-size:9px;font-weight:850;display:flex;align-items:center;gap:6px}
.server-status i,.host-badge i{width:8px;height:8px;border-radius:999px;background:#3bc866;display:inline-block;box-shadow:0 0 0 3px rgba(59,200,102,.12)}
.server-card>span{display:block;font-size:8px;margin-top:6px;color:#b9c8e2}
.server-card small{display:block;font-size:7px;line-height:1.45;color:#92a5c6;margin-top:4px}
.sidebar-logout{border:0;background:transparent;color:#fff;padding:8px 6px;text-align:left;font-size:10px;font-weight:700}
.clinic-workspace{min-width:0}
.clinic-header{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.clinic-eyebrow{font-size:8px;letter-spacing:.13em;font-weight:900;color:#698097}
.clinic-header h1{font-size:21px;letter-spacing:-.03em;margin:2px 0 0}
.clinic-header-right{display:flex;align-items:center;gap:12px}
.host-badge{height:32px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fbfcfe;border-radius:8px;padding:0 10px;font-size:9px;font-weight:800}
.clinician-chip{display:flex;align-items:center;gap:7px;padding-left:12px;border-left:1px solid var(--line)}
.clinician-chip div{display:grid}
.clinician-chip strong{font-size:9px}
.clinician-chip small{font-size:7px;color:var(--muted)}
.avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:999px;background:#e8ebff;color:#3646a8;font-size:9px;font-weight:900;flex:0 0 auto}
.avatar.large{width:42px;height:42px;font-size:12px}
.avatar.tiny{width:28px;height:28px}
.clinic-dashboard{padding:16px 18px 18px}
.toast-banner{margin-bottom:10px;padding:8px 10px;border-radius:8px;background:#edf7ea;border-left:4px solid var(--green);font-size:10px}
.dashboard-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.dashboard-heading h2{font-size:18px;margin:0;letter-spacing:-.025em}
.dashboard-heading p{margin:2px 0 0;font-size:9px;color:var(--muted)}
.add-patient-btn{border:0;background:#162d79;color:#fff;border-radius:8px;padding:10px 13px;font-size:10px;font-weight:850;box-shadow:0 4px 12px rgba(22,45,121,.18)}
.dashboard-toolbar{display:grid;grid-template-columns:minmax(230px,1fr) 160px 170px auto;gap:8px;align-items:center;margin-bottom:8px}
.searchbox{height:35px;border:1px solid var(--line);background:#fff;border-radius:8px;display:flex;align-items:center;gap:6px;padding:0 9px}
.searchbox span{color:#7b8ba0}
.searchbox input{border:0;outline:0;width:100%;font-size:9px}
.dashboard-toolbar select{height:35px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 9px;font-size:9px;color:#4d5f72}
.dashboard-stats{display:flex;gap:10px;justify-content:flex-end;font-size:8px;color:var(--muted);white-space:nowrap}
.dashboard-stats strong{color:var(--ink)}
.patient-table-card,.patient-detail-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 12px rgba(24,43,74,.03)}
.patient-table-card{overflow:hidden}
.patient-table-scroll{overflow:auto}
.patient-table{width:100%;border-collapse:collapse;min-width:900px}
.patient-table th{height:34px;background:#f8fafc;color:#687b8f;font-size:7px;letter-spacing:.05em;text-align:left;padding:0 10px;border-bottom:1px solid var(--line)}
.patient-table td{padding:8px 10px;border-bottom:1px solid #e8edf2;font-size:9px;vertical-align:middle}
.patient-row{cursor:pointer}
.patient-row:hover,.patient-row.selected{background:#f7f9ff}
.patient-row.selected{box-shadow:inset 3px 0 0 #3d59d6}
.patient-cell{display:flex;align-items:center;gap:8px}
.patient-cell div,.patient-table td{min-width:0}
.patient-cell strong,.patient-table td>strong{display:block;font-size:9px}
.patient-cell small,.patient-table td>small{display:block;color:var(--muted);font-size:7px;margin-top:2px}
.stage-pill{display:inline-flex;align-items:center;color:#15873f;font-size:8px;font-weight:850;white-space:nowrap}
.stage-pill:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--stage);margin-right:5px}
.cp-dots{display:flex;gap:3px}
.cp-dot{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;border:1px solid #d7dfe7;color:#8998a8;font-size:6px;font-weight:900}
.cp-dot.calendar-passed{background:#e8f6ea;border-color:#76c38a;color:#248641}
.row-arrow{font-size:18px;color:#8d9bac;text-align:right}
.patient-detail-card{margin-top:9px;padding:10px}
.detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 9px}
.detail-identity{display:flex;align-items:center;gap:9px;min-width:0}
.patient-name-input{border:0;border-bottom:1px solid transparent;font-size:16px;font-weight:900;letter-spacing:-.02em;color:var(--ink);width:210px;outline:0;background:transparent}
.patient-name-input:focus{border-bottom-color:#9fb0d8}
.detail-meta{font-size:7px;color:var(--muted);margin-top:2px}
.status-select{height:26px;border:1px solid #cfe5d5;background:#eff9f1;color:#27713c;border-radius:999px;padding:0 8px;font-size:8px;font-weight:800}
.detail-actions{display:flex;gap:6px}
.detail-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:0 -2px 10px;padding:0 4px}
.detail-tabs button{border:0;background:transparent;padding:7px 8px;font-size:8px;color:#5f7185}
.detail-tabs button.active{color:#243fc2;border-bottom:2px solid #304dc8;font-weight:850}
.detail-grid{display:grid;grid-template-columns:1fr 1.25fr 1.35fr 1.05fr;gap:8px}
.detail-panel{border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff;min-width:0}
.detail-panel h3{margin:0 0 8px;font-size:10px}
.detail-panel label{display:grid;grid-template-columns:90px 1fr;gap:7px;align-items:center;padding:5px 0;border-bottom:1px solid #eef2f5}
.detail-panel label:last-child{border-bottom:0}
.detail-panel label>span,.metric-row>span{font-size:7px;color:#637589;font-weight:750}
.detail-panel input,.detail-panel select,.detail-panel textarea{width:100%;border:1px solid #dfe6ed;border-radius:6px;background:#fbfcfd;padding:6px 7px;font-size:8px;outline:0}
.detail-panel textarea{min-height:60px;resize:vertical}
.metric-row{display:grid;grid-template-columns:90px 1fr;gap:7px;align-items:center;padding:7px 0;border-bottom:1px solid #eef2f5}
.metric-row strong{font-size:8px}
.ok-text{color:#16823a!important}
.alert-text{color:#e54c25!important}
.checkpoint-timeline{display:grid;gap:5px}
.checkpoint-line{display:grid;grid-template-columns:20px 1fr;gap:7px;align-items:center}
.checkpoint-line>span{width:18px;height:18px;border-radius:999px;display:grid;place-items:center;background:#edf1f4;color:#8a99a8;font-size:7px;font-weight:900}
.checkpoint-line.done>span{background:#2f9e4c;color:#fff}
.checkpoint-line div{display:grid}
.checkpoint-line strong{font-size:8px}
.checkpoint-line strong small{font-weight:650;color:#7b8997}
.checkpoint-line em{font-style:normal;color:#7b8997;font-size:7px}
.criteria-details{margin-top:8px}
.criteria-details summary{font-size:7px;color:#3452b5;font-weight:800;cursor:pointer}
.criteria-grid{display:grid;gap:3px;margin-top:7px}
.criteria-grid label{display:flex;gap:6px;align-items:center;border:0!important;padding:2px 0!important}
.criteria-grid input{width:auto!important}
.criteria-grid span{font-size:7px!important;color:#4d5e6c!important}
.care-panel label{grid-template-columns:1fr}
.care-panel label>span{margin-bottom:-2px}
.access-panel p{font-size:7px;color:#718096;line-height:1.45}
.access-link{border:1px solid var(--line);background:#f8fafc;border-radius:7px;padding:7px;font-size:7px;word-break:break-all;color:#4f6274}
.access-buttons{display:flex;gap:5px;margin-top:6px}
.access-empty{border:1px dashed #ccd6e1;border-radius:7px;padding:10px;text-align:center;font-size:8px;color:#718096}
.qr-wrap{display:grid;justify-items:center;gap:4px;margin-top:8px}
.qr-wrap small{font-size:6px;color:#94a0ad}

.detail-savebar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:9px;background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.detail-savebar div{display:grid}
.detail-savebar strong{font-size:8px}
.detail-savebar small{font-size:7px;color:var(--muted);margin-top:2px}
.activity-drawer{margin-top:8px;border-top:1px solid var(--line);padding-top:7px}
.activity-drawer summary{font-size:8px;font-weight:850;color:#4e6276}
.history-table{width:100%;border-collapse:collapse;font-size:7px;margin-top:6px}
.history-table th,.history-table td{padding:6px;border-bottom:1px solid #e8edf1;text-align:left}
.history-table th{font-size:6px;color:#718096}
.feature-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px}
.feature-strip>div{display:grid;grid-template-columns:25px 1fr;column-gap:6px;align-items:center}
.feature-strip>div>span{grid-row:1/3;width:24px;height:24px;border-radius:7px;background:#edf2ff;display:grid;place-items:center;color:#203e9b;font-size:13px}
.feature-strip strong{font-size:7px}
.feature-strip small{font-size:6px;color:var(--muted);line-height:1.35}

/* Patient mobile portal */
.patient-page{min-height:100vh;background:#eef3f7;padding:18px;display:flex;justify-content:center}
.patient-phone{position:relative;width:min(480px,100%);min-height:calc(100vh - 36px);background:#f7f9fb;border:1px solid #d6dee6;border-radius:24px;box-shadow:0 20px 50px rgba(28,47,70,.16);overflow:hidden;display:flex;flex-direction:column}
.mobile-header{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:8px 14px}
.mobile-header img{width:68px;height:52px;object-fit:contain}
.mobile-header-actions{display:flex;align-items:center;gap:7px}
.sync-dot{display:inline-flex;align-items:center;gap:4px;color:#2b7e42;font-size:8px;font-weight:850}
.sync-dot:before{content:"";width:7px;height:7px;border-radius:999px;background:#31b457}
.sync-dot.demo:before{background:#8b99a7}
.mobile-icon-btn{width:30px;height:30px;border:1px solid var(--line);background:#fff;border-radius:8px;color:#4e6174}
.mobile-content{padding:14px 12px 84px;display:grid;gap:9px}
.patient-welcome{padding:0 2px}
.welcome-kicker{font-size:7px;letter-spacing:.12em;font-weight:900;color:#6b7d90}
.patient-welcome h1{font-size:22px;margin:3px 0 1px;letter-spacing:-.03em}
.patient-clinician{font-size:8px;color:var(--muted)}
.mobile-card{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 2px 8px rgba(31,50,72,.035)}
.status-card{padding:10px}
.status-grid{display:grid;grid-template-columns:.7fr 1.25fr 1fr}
.status-grid>div{padding:3px 9px;border-right:1px solid #edf1f4;display:grid;align-content:start}
.status-grid>div:last-child{border-right:0}
.status-grid span,.mobile-card-heading span{font-size:7px;color:#6e7d8d;font-weight:750}
.status-grid strong{font-size:14px;margin-top:2px}
.status-grid small{font-size:6px;color:#8492a0;margin-top:2px}
.stage-text{font-size:9px!important;color:#16833b}
.patient-alert{margin-top:8px;padding:7px 8px;border-radius:7px;background:#fff6df;color:#7f5c19;font-size:7px;line-height:1.4}
.mini-progress{height:4px;background:#e8edf1;border-radius:999px;overflow:hidden;margin-top:9px}
.mini-progress>div{height:100%;background:linear-gradient(90deg,#2a54c8,#39a856)}
.compact-card{position:relative;padding:10px 34px 10px 11px}
.tap-card{cursor:pointer}
.mobile-card-heading{display:grid;gap:2px}
.mobile-card-heading strong{font-size:9px;line-height:1.35}
.card-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:18px;color:#718096}
.week-programme-head{display:flex;justify-content:space-between;align-items:end;padding:3px 2px 0}
.week-programme-head div{display:grid}
.week-programme-head span{font-size:7px;letter-spacing:.1em;font-weight:900;color:#6b7e91}
.week-programme-head strong{font-size:11px;margin-top:2px}
.mobile-day-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.mobile-day-tabs button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 2px;color:#657689}
.mobile-day-tabs button span{font-size:8px;font-weight:900}
.mobile-day-tabs button small{display:block;font-size:6px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-day-tabs button.active{background:var(--phase);border-color:var(--phase);color:#fff}
.mobile-day-tabs button.rest{opacity:.58}
.programme-card{overflow:hidden}
.programme-title{background:var(--phase);color:#fff;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.programme-title.dark{background:#17212b}
.programme-title div{display:grid}
.programme-title span{font-size:7px;font-weight:900;letter-spacing:.08em}
.programme-title strong{font-size:11px;margin-top:1px}
.programme-title small{font-size:7px;opacity:.9}
.exercise-list{padding:2px 9px 5px}
.exercise-row{display:grid;grid-template-columns:20px 1fr auto;gap:7px;align-items:center;min-height:34px;border-bottom:1px solid #edf1f4}
.exercise-row:last-child{border-bottom:0}
.exercise-row input{accent-color:var(--green)}
.exercise-main{font-size:9px;font-weight:780}
.exercise-note{display:block;font-size:6px;color:#8a98a5;font-weight:600;margin-top:1px}
.exercise-dose{font-size:8px;font-weight:850;white-space:nowrap}
.exercise-row.done .exercise-main,.exercise-row.done .exercise-dose{color:#7f8d98;text-decoration:line-through}
.mobile-subhead{padding:6px 10px;background:#f1f4f7;color:#526678;font-size:7px;font-weight:900}
.programme-note{padding:6px 26px}
.patient-rule{padding:8px 9px;border-radius:8px;background:#eef5f7;border-left:4px solid #5f8baa;font-size:7px;line-height:1.45;color:#4f6372}
.patient-checkpoint-progress{font-size:8px;color:#536779;margin-top:2px}
.install-strip{padding:8px 9px;border-radius:8px;background:#eef7eb;color:#456047;font-size:7px;text-align:center}
.mobile-nav{position:absolute;bottom:18px;width:min(480px,calc(100% - 36px));height:61px;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);z-index:4}
.mobile-nav button{border:0;background:transparent;color:#6b7c8d;display:grid;place-items:center;align-content:center;gap:2px}
.mobile-nav button span{font-size:15px}
.mobile-nav button small{font-size:6px}
.mobile-nav button.active{color:#173b9b}

/* Legacy classes kept for auth screen and helper functions */
.card{background:#fff;border:1px solid var(--line);border-radius:12px}
.inline-actions{display:flex;gap:6px;flex-wrap:wrap}
.link-preview{font-size:8px;word-break:break-all;color:#5a7180;background:#f3f6f8;padding:7px;border-radius:7px}
.table-wrap{overflow:auto}
.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:850;background:#edf2f5}
.pill.green{background:#e9f6df;color:#37662e}
.pill.warn{background:#fff3d6;color:#7c5918}

@media(max-width:1100px){
  .clinician-app{grid-template-columns:154px 1fr}
  .detail-grid{grid-template-columns:1fr 1fr}
  .feature-strip{grid-template-columns:repeat(3,1fr)}
  .dashboard-toolbar{grid-template-columns:1fr 140px 150px}
  .dashboard-stats{display:none}
}
@media(max-width:760px){
  .clinician-app{grid-template-columns:1fr}
  .clinic-sidebar{display:none}
  .clinic-header{padding:0 12px}
  .host-badge{display:none}
  .clinic-dashboard{padding:10px}
  .dashboard-toolbar{grid-template-columns:1fr 1fr}
  .searchbox{grid-column:1/-1}
  .detail-grid{grid-template-columns:1fr}
  .detail-header{align-items:flex-start;flex-direction:column}
  .detail-actions{width:100%;overflow:auto}
  .feature-strip{grid-template-columns:1fr 1fr}
  .login-grid{grid-template-columns:1fr}
  .setup-actions{flex-direction:column}
  .patient-page{padding:0}
  .patient-phone{width:100%;min-height:100vh;border:0;border-radius:0;box-shadow:none}
  .mobile-nav{bottom:0;width:100%}
}
@media(max-width:460px){
  .status-grid{grid-template-columns:1fr}
  .status-grid>div{border-right:0;border-bottom:1px solid #edf1f4;padding:6px 2px}
  .status-grid>div:last-child{border-bottom:0}
}


/* v0.4.4 functional navigation */
.detail-hidden{display:none!important}
.clinician-programme-panel{grid-column:1/-1}
.clinician-week-plan{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.clinician-day{border:1px solid var(--line);border-radius:8px;background:#f8fafc;min-height:82px;padding:7px;display:grid;align-content:start;gap:5px}
.clinician-day>span{font-size:7px;font-weight:900;color:#718096;letter-spacing:.08em}
.clinician-day div{display:grid;gap:3px}
.clinician-day strong{font-size:8px;line-height:1.3}
.clinician-day small{font-size:6px;color:var(--muted);line-height:1.4}
.programme-rest{font-size:8px;color:#9aa7b4;font-weight:800}
.programme-gate{margin-top:8px;padding:8px;border-radius:8px;background:#eef5f7;border-left:4px solid #5f8baa;display:grid;gap:3px}
.programme-gate strong{font-size:8px}.programme-gate small{font-size:7px;color:#526678;line-height:1.4}
.portal-modal-backdrop{position:fixed;inset:0;background:rgba(7,31,80,.46);display:grid;place-items:center;padding:20px;z-index:1000}
.portal-modal{width:min(760px,96vw);max-height:86vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(4,18,44,.28);border:1px solid var(--line)}
.portal-modal-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:14px 16px;z-index:1}
.portal-modal-head small{font-size:7px;letter-spacing:.12em;color:#718096;font-weight:900}.portal-modal-head h2{margin:2px 0 0;font-size:19px}.portal-modal-head button{border:0;background:#f1f4f7;width:30px;height:30px;border-radius:8px;font-size:18px;color:#536779}
.portal-modal-body{padding:14px 16px 18px}.portal-modal-body h3{font-size:10px;margin:15px 0 7px}
.modal-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.modal-metrics>div{border:1px solid var(--line);border-radius:9px;padding:10px;background:#f8fafc;display:grid}.modal-metrics strong{font-size:18px}.modal-metrics span{font-size:7px;color:var(--muted);margin-top:2px}
.modal-list{display:grid;border:1px solid var(--line);border-radius:9px;overflow:hidden}.modal-list>div,.modal-list>button{border:0;border-bottom:1px solid var(--line);background:#fff;padding:9px 10px;text-align:left;display:grid;gap:2px}.modal-list>*:last-child{border-bottom:0}.modal-list strong{font-size:9px}.modal-list span{font-size:7px;color:var(--muted);line-height:1.4}.modal-list.actionable>button:hover{background:#f7f9ff}
.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.resource-grid section{border:1px solid var(--line);border-radius:9px;padding:9px;display:grid;gap:3px;background:#fbfcfd}.resource-grid strong{font-size:9px}.resource-grid span{font-size:7px;color:#3452b5;font-weight:800}.resource-grid small{font-size:7px;color:var(--muted);line-height:1.4}
.settings-list{display:grid;border:1px solid var(--line);border-radius:9px;margin-bottom:10px}.settings-list>div{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border-bottom:1px solid var(--line)}.settings-list>div:last-child{border-bottom:0}.settings-list span{font-size:8px;color:var(--muted)}.settings-list strong{font-size:8px;text-align:right;word-break:break-all}
.patient-resource-text{font-size:7px;color:#536779;line-height:1.5;margin-top:4px}
@media(max-width:900px){.clinician-week-plan{grid-template-columns:repeat(2,1fr)}.modal-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.resource-grid{grid-template-columns:1fr}}


/* v0.4.5 independently editable checkpoints */
.checkpoint-panel-heading{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:7px}
.checkpoint-panel-heading h3{margin-bottom:2px}
.checkpoint-panel-heading small{display:block;font-size:6.5px;color:#78899a;line-height:1.35}
.checkpoint-timeline{display:grid;gap:6px}
.checkpoint-edit-card{border:1px solid #e0e6ec;border-radius:8px;background:#fbfcfd;overflow:hidden}
.checkpoint-edit-card>summary{list-style:none;display:grid;grid-template-columns:30px 1fr auto;gap:7px;align-items:center;padding:7px;cursor:pointer}
.checkpoint-edit-card>summary::-webkit-details-marker{display:none}
.checkpoint-edit-card>summary:hover{background:#f4f7fa}
.checkpoint-badge{width:25px;height:25px;border-radius:999px;display:grid;place-items:center;background:#edf1f4;color:#738597;font-size:7px;font-weight:900}
.checkpoint-edit-card.done .checkpoint-badge{background:#2f9e4c;color:#fff}
.checkpoint-edit-card.current{border-color:#9eb0e8;box-shadow:0 0 0 1px #dfe5fb inset}
.checkpoint-edit-card.past:not(.done){border-color:#ead6a6}
.checkpoint-summary-copy{display:grid;min-width:0}
.checkpoint-summary-copy strong{font-size:8px}
.checkpoint-summary-copy strong small{font-weight:650;color:#7b8997}
.checkpoint-summary-copy em{font-style:normal;color:#7b8997;font-size:7px;margin-top:1px}
.checkpoint-edit-label{font-size:7px;color:#3452b5;font-weight:850}
.checkpoint-edit-card[open] .checkpoint-edit-label{color:#65758a}
.checkpoint-edit-body{border-top:1px solid #e8edf2;background:#fff;padding:8px}
.checkpoint-title-row{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:4px}
.checkpoint-title-row>div{display:grid}
.checkpoint-title-row strong{font-size:8px}
.checkpoint-title-row small{font-size:6.5px;color:#7d8b98;margin-top:1px}
.checkpoint-title-row>span{font-size:7px;font-weight:850;background:#f0f3f6;border-radius:999px;padding:3px 6px;color:#5d6f80}
.checkpoint-save-row{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:7px;padding-top:7px;border-top:1px solid #edf1f4}
.checkpoint-save-row small{font-size:6.5px;color:#7b8997;line-height:1.35;max-width:68%}
.checkpoint-save-btn{white-space:nowrap}

/* v0.4.6 real QR code */
.qr-real{display:block;width:156px;height:156px;max-width:100%;background:#fff;border:8px solid #fff;border-radius:6px;box-shadow:0 0 0 1px #d7dfe7}
.qr-error{width:156px;min-height:80px;display:grid;place-items:center;text-align:center;background:#fff7f7;border:1px solid #efcaca;border-radius:7px;color:#9c3333;font-size:8px;font-weight:800}
.qr-error small{font-size:7px;font-weight:650}


/* v0.4.8 pathway-aware UI */
.pathway-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:850;white-space:nowrap;border:1px solid #d7e1e8;background:#f7fafc;color:#173b56}
.pathway-badge.cross_bracing{background:#f2f8ed;border-color:#c8ddb7;color:#315923}
.patient-pathway-pill{display:inline-flex;margin-top:5px;padding:5px 9px;border-radius:999px;background:#eef5f8;color:#1a506e;font-size:9px;font-weight:850}
.next-checkpoint-strip{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:10px 0 2px;padding:9px 10px;border-radius:8px;background:#f4f7f9}
.next-checkpoint-strip span{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#6d7d88;font-weight:850}
.next-checkpoint-strip strong{font-size:9px;text-align:right;color:#173b56}
.pathway-note{margin:8px 0;padding:8px 10px;border-radius:7px;font-size:9px;font-weight:850;line-height:1.3}
.pathway-note.warning{background:#fff4ee;color:#a6412c;border:1px solid #f0c7b7}
.pathway-note.allowed{background:#eef8f3;color:#087a4b;border:1px solid #b9dfcc}
.pathway-change-warning{display:block;margin:-2px 0 7px;color:#8b5a28;font-size:8px;line-height:1.3}
.pathway-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pathway-picker button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;text-align:left;gap:2px 10px;padding:16px;border:1px solid #d7e1e8;border-radius:12px;background:#fff;cursor:pointer}
.pathway-picker button:hover{border-color:#7ca16a;background:#f8fbf5}
.pathway-picker button:disabled{opacity:.6;cursor:wait}
.pathway-picker-icon{grid-row:1/3;width:36px;height:36px;border-radius:10px;background:#173b56;color:#d8f05a;display:grid;place-items:center;font-size:10px;font-weight:950}
.pathway-picker strong{font-size:12px;color:#173b56}
.pathway-picker small{font-size:9px;color:#6c7c86}
.pathway-picker-note{margin-top:12px;padding:10px;border-radius:8px;background:#f5f8fa;font-size:9px;color:#62737e}
.pathway-resource-section+.pathway-resource-section{margin-top:22px;padding-top:18px;border-top:1px solid #dfe7ec}
.pathway-resource-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.pathway-resource-title strong{font-size:14px;color:#173b56}
.pathway-resource-title span{font-size:9px;font-weight:800;color:#667884}
.cbp-clinician-notice{padding:18px;border:1px solid #dbe5ea;border-radius:10px;background:#f7fafb}
.cbp-clinician-notice strong{display:block;color:#173b56;margin-bottom:7px}
.cbp-clinician-notice p{margin:0;font-size:10px;line-height:1.5;color:#5d6f7a}
.cbp-programme-notice .patient-resource-text{padding:14px}
@media(max-width:900px){.pathway-picker{grid-template-columns:1fr}}


/* v0.4.9 Cross Bracing early exercise programme */
.cbp-source-note{margin:0 12px 10px;padding:10px 11px;border-radius:8px;background:#f4f8ee;border:1px solid #d8e6ca;color:#3c5b30;font-size:8.5px;line-height:1.45;font-weight:700}
.cbp-brace-card{border-left:4px solid #7da663}
.cbp-brace-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.cbp-brace-grid>div{padding:8px 9px;border-radius:7px;background:#f5f8fa}
.cbp-brace-grid span{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.05em;color:#75858f;font-weight:850}
.cbp-brace-grid strong{display:block;margin-top:3px;font-size:9px;line-height:1.3;color:#173b56}
.cbp-clinician-early{display:flex;justify-content:space-between;gap:15px;padding:12px 14px;margin-bottom:12px;border:1px solid #d8e6ca;border-radius:9px;background:#f4f8ee}
.cbp-clinician-early strong{font-size:10px;color:#315923}
.cbp-clinician-early span{font-size:9px;color:#64745d;text-align:right}
@media(max-width:700px){.cbp-brace-grid{grid-template-columns:1fr}.cbp-clinician-early{display:block}.cbp-clinician-early span{display:block;text-align:left;margin-top:4px}}


/* v0.5.0 Individual Exercise Prescription */
.rx-editor-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:12px}
.rx-editor-heading>div:first-child>span{display:block;font-size:8px;font-weight:900;letter-spacing:.08em;color:#69808d}
.rx-editor-heading h3{margin:2px 0 2px;font-size:17px;color:#173b56}
.rx-editor-heading small{font-size:9px;color:#71828c}
.rx-week-controls{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;justify-content:flex-end}
.rx-week-controls label{font-size:8px;color:#6b7b85;font-weight:800}
.rx-week-controls select{display:block;margin-top:3px;padding:7px 9px;border:1px solid #d6e0e6;border-radius:7px;background:#fff;color:#173b56;font-weight:800}
.rx-editor-info{display:flex;justify-content:space-between;gap:15px;padding:10px 12px;margin-bottom:12px;border-radius:8px;background:#f4f7f9;border:1px solid #e0e7eb}
.rx-editor-info strong{font-size:9px;color:#173b56}
.rx-editor-info span{font-size:8.5px;color:#687985;text-align:right}
.rx-week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.rx-day-card{padding:12px;border:1px solid #dce4e9;border-radius:10px;background:#fff}
.rx-day-card.custom{border-color:#a8c692;background:#f9fcf6}
.rx-day-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.rx-day-head>div span{display:block;font-size:8px;font-weight:950;color:#6a7a84;letter-spacing:.08em}
.rx-day-head>div strong{display:block;margin-top:3px;font-size:10px;color:#173b56;line-height:1.25}
.rx-mode{padding:4px 6px;border-radius:999px;font-size:7px;font-weight:950;letter-spacing:.05em;white-space:nowrap}
.rx-mode.default{background:#eef2f4;color:#667781}
.rx-mode.custom{background:#dcebd1;color:#315923}
.rx-day-preview{min-height:28px;margin-top:8px;font-size:8.5px;line-height:1.4;color:#657781}
.rx-day-note{margin-top:7px;padding:7px 8px;border-radius:6px;background:#eef6e8;color:#3f6132;font-size:8px;font-weight:700}
.rx-day-actions{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.btn.subtle{background:#f5f7f8;color:#536976;border-color:#dce4e9}
.personalised-programme-card{border-top:4px solid #7da663}
.programme-title.personalised{background:#234d63}
.personalised-strip{margin:0 12px 10px;padding:6px 9px;border-radius:999px;background:#e4f0db;color:#315923;font-size:8px;font-weight:900;text-align:center}
.clinician-rx-note{margin:0 12px 10px;padding:9px 10px;border-radius:8px;background:#f4f7f9}
.clinician-rx-note span{display:block;font-size:7.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#74838d}
.clinician-rx-note strong{display:block;margin-top:3px;font-size:9px;line-height:1.4;color:#173b56}
.custom-patient-group+.custom-patient-group{margin-top:8px}

.rx-modal-intro{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:10px 12px;margin-bottom:12px;border-radius:8px;background:#f4f7f9}
.rx-modal-intro span{display:block;font-size:7.5px;font-weight:900;letter-spacing:.07em;color:#74838d}
.rx-modal-intro strong{display:block;margin-top:2px;font-size:10px;color:#173b56}
.rx-modal-mode{padding:5px 8px;border-radius:999px;background:#e4f0db;color:#315923;font-size:8px;font-weight:900;white-space:nowrap}
.rx-edit-list{display:flex;flex-direction:column;gap:7px}
.rx-edit-row{display:grid;grid-template-columns:30px minmax(105px,.8fr) minmax(170px,1.4fr) minmax(120px,.8fr) minmax(150px,1fr) 30px;gap:6px;align-items:end;padding:8px;border:1px solid #dfe6ea;border-radius:8px;background:#fff}
.rx-edit-row label span,.rx-clinician-note>span{display:block;margin-bottom:3px;font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:#74838d}
.rx-edit-row input,.rx-clinician-note textarea{width:100%;box-sizing:border-box;border:1px solid #d5dfe5;border-radius:6px;padding:7px 8px;font:inherit;color:#173b56;background:#fff}
.rx-reorder{display:flex;flex-direction:column;gap:2px}
.rx-reorder button,.rx-remove{border:1px solid #dce4e9;background:#f7f9fa;border-radius:5px;cursor:pointer;height:24px;color:#536976}
.rx-remove{font-size:15px;color:#9b3f3f}
.rx-add{margin-top:10px}
.rx-clinician-note{display:block;margin-top:12px}
.rx-clinician-note textarea{min-height:70px;resize:vertical}
.rx-modal-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid #e2e8ec}
.rx-empty-draft{padding:18px;border:1px dashed #ccd8df;border-radius:8px;text-align:center;font-size:9px;color:#73838d;background:#fafcfd}

@media(max-width:1050px){
  .rx-week-grid{grid-template-columns:1fr}
  .rx-edit-row{grid-template-columns:28px 1fr 1.4fr;align-items:end}
  .rx-edit-row .rx-note-field,.rx-edit-row .rx-name-field{grid-column:auto}
  .rx-remove{grid-column:3}
}
@media(max-width:700px){
  .rx-editor-heading,.rx-editor-info{display:block}
  .rx-week-controls{justify-content:flex-start;margin-top:10px}
  .rx-editor-info span{display:block;text-align:left;margin-top:4px}
  .rx-edit-row{grid-template-columns:28px 1fr}
  .rx-edit-row label{grid-column:2}
  .rx-remove{grid-column:2;justify-self:end;width:30px}
}


/* v0.6.0 Criteria-Based Progression */
.journey-status-card{border-top:4px solid #173b56}
.journey-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.journey-status-cell{padding:10px 11px;border-radius:8px;background:#f5f8fa}
.journey-status-cell.clinical{background:#eef5f8}
.journey-status-cell span{display:block;font-size:7.5px;font-weight:900;letter-spacing:.07em;color:#71828d;text-transform:uppercase}
.journey-status-cell strong{display:block;margin-top:2px;font-size:17px;color:#173b56}
.journey-status-cell small{display:block;margin-top:2px;font-size:8px;color:#657681;line-height:1.35}
.stage-relationship{margin-top:8px;padding:6px 8px;border-radius:7px;font-size:8px;font-weight:850;text-align:center}
.stage-relationship.aligned{background:#edf6ed;color:#376b3b}
.stage-relationship.held{background:#fff3e9;color:#9a5b21}
.stage-relationship.ahead{background:#eef4fb;color:#38688e}
.next-stage-patient{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid #e0e7eb}
.next-stage-patient>div:first-child span{display:block;font-size:7.5px;font-weight:900;letter-spacing:.07em;color:#70818c}
.next-stage-patient>div:first-child strong{display:block;margin-top:2px;font-size:10px;color:#173b56}
.next-stage-count{font-size:20px;font-weight:950;color:#173b56;text-align:right}
.next-stage-count small{display:block;font-size:7px;color:#76858e;font-weight:700}
.criteria-progress-bar{height:7px;margin-top:8px;border-radius:999px;background:#e6ecef;overflow:hidden}
.criteria-progress-bar>div{height:100%;background:#6f9a59;border-radius:inherit}
.patient-blockers{margin-top:10px;padding:10px;border-radius:8px;background:#fff7f1;border:1px solid #f0d7c2}
.patient-blockers>span{display:block;margin-bottom:6px;font-size:7px;font-weight:950;letter-spacing:.07em;color:#9a5b21}
.patient-blockers>div{display:grid;grid-template-columns:18px 1fr;gap:0 4px;align-items:start;padding:4px 0}
.patient-blockers i{grid-row:1/3;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#f6d6c0;color:#9a4327;font-style:normal;font-weight:950}
.patient-blockers strong{font-size:8.5px;color:#5d3c2d}
.patient-blockers small{font-size:7.5px;color:#846756}
.more-blockers{display:block;margin-top:5px;color:#8b6b58;font-size:7.5px}
.patient-ready{display:grid;grid-template-columns:24px 1fr;margin-top:10px;padding:10px;border-radius:8px;background:#eef7ea;border:1px solid #cee1c5}
.patient-ready i{grid-row:1/3;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#6f9a59;color:#fff;font-style:normal;font-weight:950}
.patient-ready strong{font-size:8.5px;color:#315923}
.patient-ready small{font-size:7.5px;color:#66815b}
.patient-stage-note{margin-top:10px;padding:9px;border-radius:8px;background:#f4f7f9;color:#6a7b85;font-size:8px}

.journey-panel{grid-column:1/-1;border-top:4px solid #173b56}
.journey-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}
.journey-panel-head>div span{display:block;font-size:8px;font-weight:950;letter-spacing:.08em;color:#70818c}
.journey-panel-head h3{margin:2px 0 0;font-size:16px;color:#173b56}
.journey-relation{padding:6px 9px;border-radius:999px;font-size:8px;font-weight:900;white-space:nowrap}
.journey-relation.aligned{background:#edf6ed;color:#376b3b}
.journey-relation.held{background:#fff3e9;color:#9a5b21}
.journey-relation.ahead{background:#eef4fb;color:#38688e}
.journey-three{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;gap:6px;align-items:stretch}
.journey-tile{padding:12px;border-radius:10px;border:1px solid #dce5ea;background:#f8fafb}
.journey-tile.clinical{background:#eef5f8;border-color:#bfd3df}
.journey-tile.next{background:#f3f8ef;border-color:#cfdfc3}
.journey-tile span{display:block;font-size:7.5px;font-weight:950;letter-spacing:.07em;color:#73838d}
.journey-tile strong{display:block;margin-top:2px;font-size:18px;color:#173b56}
.journey-tile small{display:block;margin-top:3px;font-size:8px;line-height:1.35;color:#647680}
.journey-arrow{display:grid;place-items:center;color:#91a0a9;font-size:17px;font-weight:900}
.progression-summary-line{display:grid;grid-template-columns:minmax(170px,1fr) minmax(160px,1fr) auto auto;gap:10px;align-items:center;margin-top:12px;padding:10px 12px;border-radius:9px;background:#f5f8fa}
.progression-summary-line>div:first-child span{display:block;font-size:7.5px;font-weight:900;letter-spacing:.06em;color:#73838d;text-transform:uppercase}
.progression-summary-line>div:first-child strong{display:block;margin-top:2px;font-size:11px;color:#173b56}
.criteria-progress-bar.clinician{margin:0}
.progression-criteria-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.progression-criterion{display:grid;grid-template-columns:23px 1fr;gap:7px;align-items:start;padding:9px 10px;border-radius:8px;border:1px solid #e0e7eb;background:#fff}
.progression-criterion i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:950}
.progression-criterion.met i{background:#dcebd1;color:#315923}
.progression-criterion.unmet i{background:#f7ded4;color:#9c432a}
.progression-criterion strong{display:block;font-size:9px;color:#173b56}
.progression-criterion small{display:block;margin-top:2px;font-size:7.5px;color:#6f7f89}
.progression-blockers{margin-top:12px;padding:11px 12px;border-radius:9px;background:#fff7f1;border:1px solid #f0d5c0}
.progression-blockers>span{display:block;margin-bottom:5px;font-size:7.5px;font-weight:950;letter-spacing:.08em;color:#9a5b21}
.progression-blockers>div{display:flex;justify-content:space-between;gap:14px;padding:5px 0;border-top:1px solid rgba(154,91,33,.12)}
.progression-blockers>div:first-of-type{border-top:0}
.progression-blockers strong{font-size:8.5px;color:#5f402f}
.progression-blockers small{font-size:8px;color:#806858;text-align:right}
.progression-ready{display:grid;grid-template-columns:28px 1fr;gap:8px;margin-top:12px;padding:11px;border-radius:9px;background:#eef7ea;border:1px solid #cde0c3}
.progression-ready i{grid-row:1/3;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#6f9a59;color:#fff;font-style:normal;font-weight:950}
.progression-ready strong{display:block;font-size:9px;color:#315923}
.progression-ready small{display:block;font-size:8px;color:#647d5a}
.progression-empty{margin-top:12px;padding:14px;border:1px dashed #cbd7de;border-radius:9px;background:#fafcfd}
.progression-empty strong{display:block;font-size:9px;color:#173b56}
.progression-empty span{display:block;margin-top:3px;font-size:8px;color:#71818b}
.progression-clinician-note{margin-top:10px;padding:9px 10px;border-radius:8px;background:#f4f7f9}
.progression-clinician-note span{display:block;font-size:7px;font-weight:900;letter-spacing:.06em;color:#74838d;text-transform:uppercase}
.progression-clinician-note strong{display:block;margin-top:2px;font-size:8.5px;color:#173b56}
.stage-relation-mini{display:block;margin-top:4px;font-size:7px;font-weight:800}
.stage-relation-mini.held{color:#9a5b21}.stage-relation-mini.aligned{color:#4d7c45}.stage-relation-mini.ahead{color:#38688e}
.table-progression strong{display:block;font-size:11px;color:#173b56}
.table-progression span{display:block;max-width:145px;margin-top:2px;font-size:7.5px;color:#73838d;line-height:1.25}

.progression-modal-intro{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.progression-modal-intro>div{padding:10px;border-radius:8px;background:#f4f7f9}
.progression-modal-intro span{display:block;font-size:7px;font-weight:950;letter-spacing:.07em;color:#74838d}
.progression-modal-intro strong{display:block;margin-top:3px;font-size:9px;color:#173b56}
.progression-edit-list{display:flex;flex-direction:column;gap:7px}
.progression-edit-row{display:grid;grid-template-columns:82px minmax(150px,1.4fr) minmax(110px,.8fr) minmax(110px,.8fr) 74px 84px;gap:6px;align-items:end;padding:8px;border:1px solid #dfe6ea;border-radius:8px;background:#fff}
.progression-edit-row label>span{display:block;margin-bottom:3px;font-size:7px;font-weight:850;letter-spacing:.04em;color:#74838d;text-transform:uppercase}
.progression-edit-row input[type="text"],.progression-edit-row input:not([type]){width:100%;box-sizing:border-box;border:1px solid #d5dfe5;border-radius:6px;padding:7px 8px;font:inherit;color:#173b56}
.progression-met{display:flex;gap:5px;align-items:center;height:32px}
.progression-met span{font-size:7px;font-weight:900;color:#60737e}
.progression-required{display:flex!important;align-items:center;gap:5px;height:32px}
.progression-required span{margin:0!important;font-size:7px!important}
.progression-row-actions{display:flex;gap:3px;align-items:center;height:32px}
.progression-row-actions button{width:25px;height:25px;border:1px solid #dce4e9;border-radius:5px;background:#f7f9fa;cursor:pointer;color:#536976}
.progression-row-actions button:last-child{color:#9b3f3f}
.progression-note-field{display:block;margin-top:12px}
.progression-note-field>span{display:block;margin-bottom:4px;font-size:7.5px;font-weight:900;letter-spacing:.05em;color:#74838d;text-transform:uppercase}
.progression-note-field textarea{width:100%;min-height:70px;box-sizing:border-box;border:1px solid #d5dfe5;border-radius:7px;padding:8px;font:inherit;resize:vertical}
.progression-modal-footer{display:flex;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #e2e8ec}

@media(max-width:1050px){
  .progression-summary-line{grid-template-columns:1fr 1fr}
  .progression-edit-row{grid-template-columns:78px 1fr 1fr}
  .progression-label-field{grid-column:2/4}
  .progression-row-actions{grid-column:3}
}
@media(max-width:750px){
  .journey-three{grid-template-columns:1fr}
  .journey-arrow{transform:rotate(90deg)}
  .progression-criteria-list{grid-template-columns:1fr}
  .progression-summary-line{grid-template-columns:1fr}
  .journey-panel-head{display:block}.journey-relation{display:inline-flex;margin-top:7px}
  .progression-edit-row{grid-template-columns:1fr}
  .progression-label-field,.progression-row-actions{grid-column:auto}
  .progression-modal-intro{grid-template-columns:1fr}
}


/* v0.7.0 Smart Clinician Dashboard */
.smart-dashboard{margin-bottom:20px;scroll-margin-top:16px}
.smart-dashboard-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:13px}
.smart-dashboard-head>div:first-child>span,.patient-list-heading>div>span{display:block;font-size:8px;font-weight:950;letter-spacing:.09em;color:#71828d}
.smart-dashboard-head h2,.patient-list-heading h2{margin:3px 0 2px;color:#173b56;font-size:22px}
.smart-dashboard-head p,.patient-list-heading p{margin:0;color:#71818b;font-size:9px}
.smart-dashboard-metrics{display:flex;gap:8px}
.smart-dashboard-metrics>div{min-width:76px;padding:9px 11px;border:1px solid #dde5ea;border-radius:10px;background:#fff;text-align:center}
.smart-dashboard-metrics>div.attention{background:#fff4ec;border-color:#efcfb7}
.smart-dashboard-metrics strong{display:block;font-size:19px;color:#173b56}
.smart-dashboard-metrics .attention strong{color:#a94e2d}
.smart-dashboard-metrics span{display:block;margin-top:1px;font-size:7.5px;font-weight:800;color:#74838d}
.smart-dashboard-grid{display:grid;grid-template-columns:1.1fr .9fr .95fr;gap:12px}
.smart-panel{min-width:0;border:1px solid #dce5ea;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 1px 0 rgba(31,58,75,.02)}
.smart-panel.needs-review{border-top:4px solid #d78b58}
.smart-panel.recently-progressed{border-top:4px solid #7da663}
.smart-panel.upcoming{border-top:4px solid #4d7f9d}
.smart-panel-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 13px 10px;border-bottom:1px solid #edf1f3}
.smart-panel-head span{display:block;font-size:7px;font-weight:950;letter-spacing:.09em;color:#75858f}
.smart-panel-head h3{margin:2px 0 0;font-size:12px;color:#173b56}
.smart-panel-head>i{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:950;background:#f2f5f7;color:#536b79}
.needs-review .smart-panel-head>i{background:#fff0e6;color:#aa5935}
.recently-progressed .smart-panel-head>i{background:#edf6e8;color:#4d7d3f}
.upcoming .smart-panel-head>i{background:#edf4f8;color:#3e728e}
.smart-panel-body{padding:5px 8px 9px}
.smart-patient-row,.upcoming-row{width:100%;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit}
.smart-patient-row{display:grid;grid-template-columns:31px minmax(100px,.8fr) minmax(150px,1.25fr) 16px;gap:8px;align-items:center;padding:8px 5px;border-bottom:1px solid #edf1f3}
.smart-patient-row:last-child{border-bottom:0}
.smart-patient-row:hover,.upcoming-row:hover{background:#f8fafb;border-radius:7px}
.smart-avatar{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#eef3f6;color:#31556b;font-size:8px;font-weight:950}
.smart-avatar.good{background:#e7f2df;color:#426b37}
.smart-row-main strong,.smart-row-reason strong{display:block;font-size:8.5px;color:#173b56;line-height:1.25}
.smart-row-main span,.smart-row-reason span{display:block;margin-top:2px;font-size:7.2px;color:#72828c;line-height:1.3}
.smart-row-reason small{display:block;margin-top:2px;font-size:6.8px;color:#9a6a4e;font-weight:800}
.smart-arrow{font-size:16px;color:#9aa8b0}
.smart-empty{display:grid;grid-template-columns:30px 1fr;gap:0 8px;align-items:center;padding:14px 8px}
.smart-empty.compact{display:block;padding:16px 8px}
.smart-empty i{grid-row:1/3;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#eaf4e5;color:#527b47;font-style:normal;font-weight:950}
.smart-empty strong{display:block;font-size:8.5px;color:#536976}
.smart-empty small{display:block;margin-top:2px;font-size:7.3px;color:#829098;line-height:1.35}
.upcoming-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px 0 7px}
.upcoming-summary>div{padding:8px 5px;border-radius:7px;background:#f5f8fa;text-align:center}
.upcoming-summary strong{display:block;font-size:15px;color:#173b56}
.upcoming-summary span{display:block;font-size:6.7px;line-height:1.25;color:#74838d}
.upcoming-row{display:grid;grid-template-columns:37px 1fr 12px;gap:7px;align-items:center;padding:7px 5px;border-top:1px solid #edf1f3}
.upcoming-type{display:grid;place-items:center;height:22px;border-radius:6px;font-size:6.7px;font-weight:950;background:#eef3f6;color:#426476}
.upcoming-type.prom{background:#f2eff8;color:#69558a}
.upcoming-type.mri{background:#eef5eb;color:#527445}
.upcoming-type.brace{background:#fff3e8;color:#995d30}
.upcoming-row strong{display:block;font-size:8px;color:#173b56}
.upcoming-row div span{display:block;margin-top:2px;font-size:7px;color:#74838d}
.upcoming-row>span:last-child{font-size:14px;color:#98a6ae}
.patient-list-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin:22px 0 10px;scroll-margin-top:16px}
.care-panel label small{display:block;margin-top:3px;font-size:7px;color:#7b8991;line-height:1.3}

@media(max-width:1180px){
  .smart-dashboard-grid{grid-template-columns:1fr 1fr}
  .smart-panel.needs-review{grid-column:1/-1}
}
@media(max-width:780px){
  .smart-dashboard-head{display:block}
  .smart-dashboard-metrics{margin-top:10px}
  .smart-dashboard-grid{grid-template-columns:1fr}
  .smart-panel.needs-review{grid-column:auto}
  .smart-patient-row{grid-template-columns:31px 1fr 16px}
  .smart-row-reason{grid-column:2}
  .smart-arrow{grid-column:3;grid-row:1/3}
  .patient-list-heading{display:block}
  .patient-list-heading .add-patient-btn{margin-top:10px}
}


/* v0.8.0 Patient "Today" experience */
.patient-v080{
  --patient-navy:#092454;
  --patient-blue:#1368bf;
  --patient-green:#20b93c;
  --patient-green-dark:#119c31;
  --patient-muted:#6f84a2;
  --patient-bg:#edf4fa;
}
.patient-phone-v080{background:linear-gradient(180deg,#f9fcff 0,#edf4fa 100%)}
.patient-topbar{
  position:relative;z-index:4;height:76px;display:flex;align-items:center;justify-content:space-between;
  padding:12px 21px 7px;background:rgba(255,255,255,.96)
}
.patient-topbar img{width:146px;height:54px;object-fit:contain;object-position:left center}
.patient-profile-button{
  position:relative;width:38px;height:38px;border:2px solid #fff;border-radius:50%;
  background:rgba(232,241,249,.85);box-shadow:0 0 0 1px #d8e4ee
}
.patient-profile-button:before{
  content:"";position:absolute;left:50%;top:8px;transform:translateX(-50%);
  width:9px;height:9px;border-radius:50%;background:#0d3b70
}
.patient-profile-button:after{
  content:"";position:absolute;left:50%;bottom:7px;transform:translateX(-50%);
  width:18px;height:10px;border-radius:10px 10px 5px 5px;background:#0d3b70
}
.patient-today-content{padding:0 14px 92px;display:grid;gap:14px}
.today-hero{
  position:relative;min-height:245px;margin:0 -14px -44px;padding:23px 26px 72px;overflow:hidden;
  background:
    radial-gradient(circle at 70% 67%,rgba(89,155,201,.18),transparent 32%),
    linear-gradient(180deg,#fff 0%,#f6fbff 55%,#e3eef7 100%);
}
.today-hero:before{
  content:"";position:absolute;width:360px;height:44px;right:-110px;bottom:61px;
  border-radius:50%;background:linear-gradient(90deg,transparent,rgba(85,204,62,.12),rgba(90,207,51,.58),rgba(64,179,63,.18),transparent);
  transform:rotate(-17deg);filter:blur(.4px)
}
.today-hero:after{
  content:"";position:absolute;left:-40px;right:-40px;bottom:38px;height:72px;
  background:linear-gradient(180deg,rgba(180,204,222,.05),rgba(161,191,213,.22));
  clip-path:polygon(0 77%,18% 49%,36% 66%,53% 31%,68% 63%,84% 41%,100% 76%,100% 100%,0 100%);
}
.today-hero-copy{position:relative;z-index:3}
.today-eyebrow{display:block;font-size:8px;letter-spacing:.1em;font-weight:900;color:#72a5c2;margin-bottom:4px}
.today-hero h1{margin:0;color:var(--patient-navy);font-size:42px;line-height:.95;letter-spacing:-.045em;font-weight:950}
.today-hero p{margin:12px 0 0;color:#6481a5;font-size:17px;line-height:1.25;font-weight:500}
.today-move-forward{
  position:absolute;z-index:3;right:93px;top:52px;color:#456a99;font-size:14px;line-height:.92;
  font-family:"Segoe Print","Bradley Hand",cursive;font-style:italic;transform:rotate(-8deg)
}
.today-runner-mark{
  position:absolute;z-index:2;right:9px;bottom:32px;width:160px;height:160px;overflow:hidden;
  opacity:.25;filter:saturate(.85)
}
.today-runner-mark img{width:165px;height:auto;transform:translateY(-8px)}

.today-session-card{
  position:relative;z-index:5;padding:18px 17px 15px;border-radius:20px;
  background:rgba(255,255,255,.93);box-shadow:0 10px 30px rgba(35,75,106,.08);
  border:1px solid rgba(219,232,240,.75);backdrop-filter:blur(8px)
}
.today-session-head{display:grid;grid-template-columns:54px 1fr 18px;gap:12px;align-items:center}
.today-session-head>div{min-width:0}
.today-session-head strong{display:block;color:var(--patient-navy);font-size:14px;line-height:1.3;font-weight:900}
.today-session-head div>span{display:block;margin-top:4px;color:#6880a0;font-size:11px;line-height:1.3}
.today-chevron{font-size:28px;color:#617c9f;font-weight:300}
.today-session-icon{
  position:relative;width:52px;height:52px;border-radius:50%;background:#dff8e1;display:grid;place-items:center
}
.today-session-icon i,.today-session-icon:before,.today-session-icon:after{
  content:"";display:block;position:absolute;background:#22b743;border-radius:2px
}
.today-session-icon i{width:25px;height:5px;left:14px;top:24px}
.today-session-icon:before{width:5px;height:22px;left:17px;top:15px;box-shadow:14px 0 0 #22b743}
.today-session-icon:after{width:4px;height:14px;left:11px;top:19px;box-shadow:26px 0 0 #22b743}
.today-start-button{
  width:100%;height:56px;margin-top:14px;border:0;border-radius:18px;color:#fff;
  background:linear-gradient(180deg,#34ce46,#10a934);font-size:16px;font-weight:950;letter-spacing:.015em;
  box-shadow:0 8px 18px rgba(24,181,57,.2)
}
.today-start-button span{margin-left:8px;font-size:24px;vertical-align:-2px}
.today-start-button:active{transform:translateY(1px)}

.today-progress-card{
  padding:20px 16px 15px;border-radius:20px;background:#fff;border:1px solid rgba(219,231,240,.75);
  box-shadow:0 10px 30px rgba(35,75,106,.07);scroll-margin-top:16px
}
.today-progress-head{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:start}
.today-progress-head h2{margin:2px 0 5px;color:var(--patient-navy);font-size:18px;letter-spacing:-.02em}
.today-progress-head p{margin:0;color:#647da0;font-size:11px}
.today-progress-head p strong{color:#0c63bb}
.today-progress-head>div>span{display:block;margin-top:7px;color:#637a9b;font-size:10px}
.today-progress-icon{
  width:52px;height:52px;border-radius:50%;background:#e7f1fb;display:flex;align-items:flex-end;justify-content:center;
  gap:4px;padding-bottom:14px
}
.today-progress-icon i{display:block;width:5px;border-radius:3px;background:#0b3e75}
.today-progress-icon i:nth-child(1){height:11px}.today-progress-icon i:nth-child(2){height:18px}.today-progress-icon i:nth-child(3){height:25px}
.today-progress-meter{display:grid;grid-template-columns:1fr 42px;gap:10px;align-items:center;margin:15px 0 8px}
.today-progress-meter>div{height:12px;border-radius:999px;background:#e7edf2;overflow:hidden}
.today-progress-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2cce45,#21b842)}
.today-progress-meter>strong{color:var(--patient-navy);font-size:14px}
.today-requirements{display:grid}
.today-requirement{
  display:grid;grid-template-columns:34px 1fr 15px;gap:8px;align-items:center;min-height:55px;
  border-bottom:1px solid #e7edf3
}
.today-requirement:last-child{border-bottom:0}
.today-requirement>i{
  width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:17px;font-weight:950
}
.today-requirement.met>i{background:#2bc343;color:#fff}
.today-requirement.unmet>i{background:#fff;border:2px solid #b9c7d8;color:transparent}
.today-requirement strong{display:block;color:#102b58;font-size:10.5px;font-weight:750;line-height:1.3}
.today-requirement small{display:block;margin-top:2px;color:#7c8fa7;font-size:7.5px}
.today-requirement>span{color:#6682a5;font-size:20px}
.today-view-all{
  width:100%;margin-top:6px;border:0;background:transparent;color:#1769b9;padding:7px;font-size:9px;font-weight:850
}
.today-stage-note{margin-top:7px;padding:7px 9px;border-radius:9px;font-size:8px;font-weight:750;text-align:center}
.today-stage-note.aligned{background:#eef7ed;color:#447440}
.today-stage-note.held{background:#fff5e9;color:#8f5a28}
.today-stage-note.ahead{background:#eef5fb;color:#416c91}
.today-no-requirements{padding:18px 8px;text-align:center;color:#7a8ca2;font-size:9px;line-height:1.4}

.patient-programme-section,.patient-more-section{display:grid;gap:9px;scroll-margin-top:16px}
.patient-programme-section{padding-top:4px}
.patient-more-section{padding-top:6px}
.patient-section-heading{padding:5px 2px 1px}
.patient-section-heading>span{display:block;color:#748ba4;font-size:8px;font-weight:950;letter-spacing:.1em}
.patient-section-heading h2{margin:2px 0 1px;color:var(--patient-navy);font-size:19px}
.patient-section-heading p{margin:0;color:#73859d;font-size:9px}

.patient-v080 .mobile-day-tabs button{border-radius:10px;padding:8px 2px}
.patient-v080 .mobile-day-tabs button.today{box-shadow:inset 0 0 0 1px #33bb49}
.patient-v080 .mobile-day-tabs button.active{background:#174d77;border-color:#174d77}
.patient-v080 .programme-card{border-radius:15px}
.patient-v080 .programme-title{padding:12px}
.patient-v080 .programme-title.recovery{background:#5f7182}
.patient-v080 .mobile-card{border-radius:15px}
.patient-v080 .compact-card{padding:13px 38px 13px 13px}
.patient-v080 .patient-rule{border-radius:10px;padding:10px;font-size:8px}
.patient-system-card{padding-right:13px!important}
.patient-system-actions{display:flex;gap:7px;margin-top:9px}

.patient-nav-v080{
  position:absolute;bottom:18px;width:min(480px,calc(100% - 36px));height:74px;
  background:rgba(255,255,255,.97);border-top:1px solid #dfe8ef;box-shadow:0 -8px 24px rgba(36,69,96,.04)
}
.patient-nav-v080 button{color:#7185a3;gap:4px}
.patient-nav-v080 button span{height:24px;display:grid;place-items:center;color:#6d83a3;font-size:19px;font-weight:900}
.patient-nav-v080 button small{font-size:8px}
.patient-nav-v080 button.active{color:#13a935}
.patient-nav-v080 button.active span{color:#18ae37}
.patient-nav-v080 button.active:after{
  content:"";position:absolute;bottom:4px;width:30px;height:3px;border-radius:999px;background:#1eb439
}
.patient-nav-v080 button{position:relative}
.nav-more-icon{letter-spacing:2px!important;font-size:15px!important}

@media(max-width:760px){
  .patient-v080 .patient-phone-v080{border-radius:0}
  .patient-nav-v080{bottom:0;width:100%}
  .patient-topbar{padding-top:max(12px,env(safe-area-inset-top))}
}
@media(max-width:390px){
  .patient-topbar img{width:132px}
  .today-hero{min-height:226px;padding-left:20px}
  .today-hero h1{font-size:38px}
  .today-hero p{font-size:15px}
  .today-runner-mark{right:-6px;width:142px}
  .today-move-forward{right:75px}
  .today-session-head{grid-template-columns:48px 1fr 16px}
  .today-session-icon,.today-progress-icon{width:46px;height:46px}
}


/* v0.9.0 clinician user management */
.portal-modal.wide{width:min(1080px,97vw)}
.user-admin-loading{padding:42px;text-align:center;color:#718096;font-size:10px}
.user-admin-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:10px}
.user-admin-toolbar>div:first-child>span{display:block;font-size:7px;font-weight:950;letter-spacing:.1em;color:#74838d}
.user-admin-toolbar>div:first-child>strong{display:block;margin-top:3px;font-size:14px;color:#173b56}
.user-admin-toolbar>div:first-child>small{display:block;margin-top:4px;max-width:620px;font-size:8px;color:#71818b;line-height:1.4}
.user-admin-toolbar>div:last-child{display:flex;gap:7px}
.user-admin-security{display:flex;gap:10px;align-items:center;padding:9px 11px;margin-bottom:11px;border-radius:8px;background:#eef7ed;border:1px solid #cfe1c7}
.user-admin-security strong{font-size:8px;color:#315923;white-space:nowrap}
.user-admin-security span{font-size:7.5px;color:#66805d}
.user-table-wrap{overflow:auto;border:1px solid #dce5ea;border-radius:10px}
.user-table{width:100%;border-collapse:collapse;min-width:820px}
.user-table th{padding:8px 9px;background:#f5f8fa;border-bottom:1px solid #dce5ea;text-align:left;font-size:7px;letter-spacing:.07em;color:#71818b}
.user-table td{padding:9px;border-bottom:1px solid #edf1f3;vertical-align:middle}
.user-table tr:last-child td{border-bottom:0}
.user-person{display:flex;gap:8px;align-items:center}
.user-person .avatar{width:30px;height:30px}
.user-person strong{display:block;font-size:8.5px;color:#173b56}
.user-person strong em{font-style:normal;font-size:6px;padding:2px 4px;border-radius:999px;background:#e9f3e5;color:#47743d}
.user-person small{display:block;margin-top:2px;font-size:7px;color:#74838d}
.user-role,.user-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:7px;font-weight:900;text-transform:capitalize}
.user-role.admin{background:#e8eef9;color:#314e8c}
.user-role.clinician{background:#edf5f8;color:#37677e}
.user-role.unregistered{background:#fff3e6;color:#9b6130}
.user-status.active{background:#e8f5e4;color:#43733a}
.user-status.pending{background:#fff5e7;color:#93622e}
.user-status.disabled{background:#f7e7e7;color:#963b3b}
.user-form-intro{padding:11px 12px;margin-bottom:12px;border-radius:9px;background:#f4f7f9}
.user-form-intro strong{display:block;font-size:10px;color:#173b56}
.user-form-intro span{display:block;margin-top:3px;font-size:8px;line-height:1.4;color:#6e7e88}
.user-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.user-form-grid label{display:block}
.user-form-grid label>span{display:block;margin-bottom:4px;font-size:7.5px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#73838d}
.user-form-grid input,.user-form-grid select{width:100%;box-sizing:border-box;border:1px solid #d5dfe5;border-radius:7px;padding:9px 10px;background:#fff;color:#173b56;font:inherit}
.user-form-grid input:disabled,.user-form-grid select:disabled{background:#f4f6f8;color:#80909a}
.user-form-grid label>small{display:block;margin-top:4px;font-size:7px;color:#7b8992}
.user-password-field{grid-column:1/-1}
.user-password-field>div{display:grid;grid-template-columns:1fr auto auto;gap:6px}
.user-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #e2e8ec}
.user-form-actions.split{justify-content:space-between}
.user-form-actions.split>div{display:flex;gap:8px}
.user-edit-header{display:flex;align-items:center;gap:11px;margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid #e4eaee}
.user-edit-header>div strong{display:block;font-size:11px;color:#173b56}
.user-edit-header>div span{display:block;margin-top:2px;font-size:8px;color:#73838d}
.user-edit-header>div em{display:block;margin-top:3px;font-style:normal;font-size:7px;color:#47743d;font-weight:850}
.user-protection-note{margin-top:11px;padding:9px 10px;border-radius:8px;background:#fff4e8;border:1px solid #efd4b6;color:#8d5b2a;font-size:8px;line-height:1.4}
.created-user-card{text-align:center;padding:10px 10px 2px}
.created-user-check{width:44px;height:44px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;background:#dff1d8;color:#3e7434;font-size:24px;font-weight:950}
.created-user-card h3{font-size:16px!important;margin:4px 0!important;color:#173b56}
.created-user-card p{margin:0;color:#71818b;font-size:9px}
.created-credential{max-width:500px;margin:15px auto 4px;padding:11px;border:1px solid #d8e3e9;border-radius:9px;background:#f8fafb}
.created-credential span{display:block;font-size:7px;font-weight:900;letter-spacing:.06em;color:#74838d;text-transform:uppercase}
.created-credential strong{display:block;margin-top:4px;font-size:14px;letter-spacing:.05em;color:#173b56;word-break:break-all}
.user-admin-error{padding:16px;border-radius:9px;background:#fff2f2;border:1px solid #efcccc}
.user-admin-error strong{display:block;font-size:10px;color:#8d3131}
.user-admin-error span,.user-admin-error small{display:block;margin-top:4px;font-size:8px;color:#7b5555;line-height:1.4}
@media(max-width:760px){
  .user-admin-toolbar{display:block}.user-admin-toolbar>div:last-child{margin-top:10px}
  .user-form-grid{grid-template-columns:1fr}.user-password-field{grid-column:auto}
  .user-password-field>div{grid-template-columns:1fr 1fr}.user-password-field input{grid-column:1/-1}
  .user-form-actions.split{display:block}.user-form-actions.split>div{margin-top:7px;justify-content:flex-end}
}


/* v0.10.0 Two-way secure messaging */
.patient-message-card{padding:14px!important}
.patient-message-heading,.clinician-message-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.patient-message-heading>div span,.clinician-message-head>div>span{display:block;font-size:7px;font-weight:950;letter-spacing:.09em;color:#73838d}
.patient-message-heading>div strong{display:block;margin-top:2px;color:#173b56;font-size:11px}
.patient-message-count,.message-unread-pill{padding:5px 8px;border-radius:999px;background:#eef5f8;color:#477083;font-size:7px;font-weight:900;white-space:nowrap}
.message-unread-pill{background:#fff0e6;color:#a65230}
.message-thread{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow:auto;padding:4px 2px 8px}
.message-bubble{max-width:84%;padding:9px 10px;border-radius:12px;background:#f0f4f7;align-self:flex-start}
.message-bubble.own{align-self:flex-end;background:#e7f4e3}
.message-bubble-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px}
.message-bubble-meta strong{font-size:7px;color:#486477}
.message-bubble-meta span{font-size:6.5px;color:#8997a0}
.message-bubble-body{font-size:9px;line-height:1.42;color:#173b56;white-space:pre-wrap;overflow-wrap:anywhere}
.message-bubble>small{display:block;margin-top:4px;text-align:right;font-size:6.5px;color:#7a8a93}
.message-empty{padding:18px 10px;text-align:center;border:1px dashed #d4dfe5;border-radius:9px;background:#fafcfd}
.message-empty strong{display:block;color:#536976;font-size:9px}
.message-empty span{display:block;margin-top:3px;color:#829099;font-size:7.5px}
.patient-message-compose,.clinician-message-compose{margin-top:10px;padding-top:10px;border-top:1px solid #e3eaee}
.patient-message-compose textarea,.clinician-message-compose textarea{width:100%;box-sizing:border-box;min-height:78px;padding:9px 10px;border:1px solid #d6e0e6;border-radius:9px;resize:vertical;font:inherit;color:#173b56;background:#fff}
.message-send-button{height:46px;margin-top:7px;border-radius:13px;font-size:11px}
.patient-message-safety{margin-top:9px;padding:8px 9px;border-radius:8px;background:#fff6eb;color:#89623d;font-size:7px;line-height:1.4}
.clinician-messages-panel{grid-column:1/-1}
.clinician-message-head h3{margin:2px 0 0;font-size:14px;color:#173b56}
.clinician-message-compose>div{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:7px}
.clinician-message-compose small{font-size:7.5px;color:#74838d}
.message-inbox-head{margin-bottom:10px;padding:10px 12px;border-radius:9px;background:#f4f7f9}
.message-inbox-head span{display:block;font-size:7px;font-weight:950;letter-spacing:.08em;color:#74838d}
.message-inbox-head strong{display:block;margin-top:2px;font-size:12px;color:#173b56}
.message-inbox-head small{display:block;margin-top:3px;font-size:7.5px;color:#71818b}
.message-inbox{border:1px solid #dce5ea;border-radius:10px;overflow:hidden}
.message-inbox-row{width:100%;display:grid;grid-template-columns:34px minmax(120px,.8fr) minmax(190px,1.5fr) 32px;gap:9px;align-items:center;padding:10px;border:0;border-bottom:1px solid #edf1f3;background:#fff;text-align:left;font:inherit;cursor:pointer}
.message-inbox-row:last-child{border-bottom:0}
.message-inbox-row:hover{background:#f8fafb}
.message-inbox-row.unread{background:#fff9f4}
.message-inbox-row>div:nth-child(2) strong,.message-inbox-preview strong{display:block;font-size:8.5px;color:#173b56}
.message-inbox-row>div:nth-child(2) span,.message-inbox-preview span{display:block;margin-top:2px;font-size:7px;color:#74838d;line-height:1.35}
.message-inbox-row>b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dc6a3b;color:#fff;font-size:8px}
.message-inbox-read{font-size:18px;color:#9aa8b0}
.sidebar-unread-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#dd6337;color:#fff;font-size:7px;font-weight:950}
.progress-panel label small{display:block;margin-top:3px;font-size:7px;color:#788891}
@media(max-width:760px){
  .message-inbox-row{grid-template-columns:34px 1fr 28px}
  .message-inbox-preview{grid-column:2}
  .message-inbox-row>b,.message-inbox-read{grid-column:3;grid-row:1/3}
  .clinician-message-compose>div{display:block}.clinician-message-compose button{margin-top:7px;width:100%}
}


/* v0.11.0 Automatic Calendar Weeks */
.today-auto-week{display:block!important;margin-top:4px!important;color:#2f7a47!important;font-size:7px!important;font-weight:800}
.today-programme-held{display:block!important;margin-top:3px!important;color:#a0602f!important;font-size:7px!important;font-weight:800}
.auto-week-held{margin-top:4px!important;padding:6px 8px;border-radius:7px;background:#fff3e8;color:#945c31!important;font-size:7.5px!important;font-weight:800}
.auto-week-infer{display:block;margin-top:5px;padding:5px 7px!important;font-size:7px!important}
#autoWeekSummary{font-weight:800;color:#537085!important}
