/*
 * CuraSure 7 — aperçu visuel Premium V2
 * ---------------------------------------------------------------
 * Cette feuille est volontairement séparée de app.css.
 * Elle ne change aucune fonction, aucun identifiant HTML et aucune API.
 * Pour désactiver l'aperçu, retirer data-ui="premium-v2" de <html>
 * ou supprimer le <link> correspondant dans static/index.html.
 */

html[data-ui="premium-v2"]{
  --vp-navy:#0b3038;
  --vp-navy-2:#10464a;
  --vp-teal:var(--accent,#0f625d);
  --vp-teal-2:var(--accent-2,#2b8178);
  --vp-mint:#e7f3ef;
  --vp-mint-2:#f2f8f5;
  --vp-ivory:#f7f8f5;
  --vp-paper:#ffffff;
  --vp-ink:#123036;
  --vp-muted:#657876;
  --vp-line:#dfe7e3;
  --vp-gold:#be9356;
  --vp-red:#b3444d;
  --vp-yellow:#9b6817;
  --vp-green:#267252;
  --vp-blue:#3d6794;
  --vp-radius-sm:10px;
  --vp-radius:16px;
  --vp-radius-lg:22px;
  --vp-shadow-sm:0 3px 12px rgba(11,48,56,.045);
  --vp-shadow:0 12px 32px rgba(11,48,56,.075);
  --vp-shadow-lg:0 24px 65px rgba(8,38,44,.16);
  color-scheme:light;
}

html[data-ui="premium-v2"] body{
  color:var(--vp-ink);
  background:
    linear-gradient(90deg,rgba(14,88,84,.025) 1px,transparent 1px),
    linear-gradient(rgba(14,88,84,.025) 1px,transparent 1px),
    var(--vp-ivory);
  background-size:32px 32px;
}

html[data-ui="premium-v2"] .visual-preview-ribbon{
  position:fixed;
  left:16px;
  bottom:16px;
  z-index:250;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  color:#fff;
  background:rgba(10,46,53,.9);
  box-shadow:0 10px 30px rgba(8,38,44,.22);
  backdrop-filter:blur(10px);
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
  pointer-events:none;
}

html[data-ui="premium-v2"] .visual-preview-ribbon::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#8ce4d2;
  box-shadow:0 0 0 4px rgba(140,228,210,.13);
}

html[data-ui="premium-v2"] .shell{
  background:transparent;
}

html[data-ui="premium-v2"] .topbar{
  height:70px;
  padding:9px 22px;
  border-bottom:1px solid rgba(16,70,74,.1);
  background:rgba(255,255,255,.94);
  box-shadow:0 5px 24px rgba(13,53,59,.04);
}

html[data-ui="premium-v2"] .brand{
  gap:11px;
}

html[data-ui="premium-v2"] .brand-mark{
  width:42px;
  height:42px;
  margin:0;
  border-radius:13px;
  background:linear-gradient(145deg,var(--vp-navy-2),var(--vp-teal-2));
  box-shadow:0 7px 18px rgba(12,68,70,.18);
}

html[data-ui="premium-v2"] .brand-title{
  color:var(--vp-navy);
  font-size:1rem;
  letter-spacing:-.025em;
}

html[data-ui="premium-v2"] .brand-version{
  width:21px;
  height:21px;
  border-radius:7px;
  background:linear-gradient(135deg,var(--vp-teal),var(--vp-gold));
  box-shadow:none;
}

html[data-ui="premium-v2"] .brand-sub{
  color:var(--vp-muted);
  font-variant-numeric:tabular-nums;
}

html[data-ui="premium-v2"] .system-pill,
html[data-ui="premium-v2"] .user-chip{
  min-height:34px;
  border:1px solid #dce9e4;
  background:#f4f8f6;
}

html[data-ui="premium-v2"] .layout{
  grid-template-columns:248px minmax(0,1fr);
  min-height:calc(100vh - 70px);
}

html[data-ui="premium-v2"] .sidebar{
  top:70px;
  height:calc(100vh - 70px);
  padding:22px 11px 14px;
  background:
    radial-gradient(circle at 20% 0,rgba(74,180,165,.15),transparent 30%),
    linear-gradient(180deg,var(--vp-navy),#092932 100%);
  box-shadow:14px 0 36px rgba(7,40,46,.08);
}

html[data-ui="premium-v2"] .sidebar-label{
  padding:0 13px 9px;
  color:#8bd4c9;
  font-size:.61rem;
  letter-spacing:.16em;
}

html[data-ui="premium-v2"] .nav{
  gap:3px;
}

html[data-ui="premium-v2"] .nav-btn{
  min-height:42px;
  margin:1px 4px;
  padding:9px 11px;
  border-radius:11px;
  color:rgba(235,248,245,.72);
  font-size:.82rem;
  font-weight:720;
}

html[data-ui="premium-v2"] .nav-btn:hover{
  color:#fff;
  background:rgba(255,255,255,.075);
  transform:none;
}

html[data-ui="premium-v2"] .nav-btn.active{
  color:#fff;
  background:linear-gradient(90deg,rgba(86,199,181,.24),rgba(255,255,255,.07));
  box-shadow:inset 3px 0 #7dd8cb;
}

html[data-ui="premium-v2"] .nav-icon{
  width:19px;
  height:19px;
  flex-basis:19px;
  color:#8ed8cd;
}

html[data-ui="premium-v2"] .nav-btn.active .nav-icon{
  color:#fff;
}

html[data-ui="premium-v2"] .sidebar-footer{
  padding:14px 9px 4px;
}

html[data-ui="premium-v2"] .sidebar-footer .btn{
  min-height:38px;
  color:#d9eeea;
  border-color:rgba(255,255,255,.14);
}

html[data-ui="premium-v2"] .main{
  width:100%;
  max-width:1480px;
  padding:28px 32px 48px;
}

html[data-ui="premium-v2"] .page-head{
  margin-bottom:18px;
}

html[data-ui="premium-v2"] .page-head h1{
  color:var(--vp-navy);
  font-size:clamp(1.65rem,2.5vw,2.25rem);
  line-height:1.08;
  letter-spacing:-.045em;
}

html[data-ui="premium-v2"] .page-head p{
  max-width:700px;
  margin-top:6px;
  color:var(--vp-muted);
  font-size:.91rem;
  line-height:1.5;
}

html[data-ui="premium-v2"] .eyebrow{
  color:var(--vp-teal-2);
  font-size:.63rem;
  letter-spacing:.14em;
}

html[data-ui="premium-v2"] .card,
html[data-ui="premium-v2"] .hero-card{
  padding:18px;
  border:1px solid var(--vp-line);
  border-radius:var(--vp-radius);
  background:rgba(255,255,255,.97);
  box-shadow:var(--vp-shadow-sm);
  backdrop-filter:none;
}

html[data-ui="premium-v2"] .card:hover{
  border-color:#d5e1dc;
}

html[data-ui="premium-v2"] .card h2{
  color:var(--vp-navy);
  font-size:1.08rem;
  letter-spacing:-.025em;
}

html[data-ui="premium-v2"] .card h3{
  color:var(--vp-navy);
}

html[data-ui="premium-v2"] .v7-identity-banner{
  min-height:128px;
  margin-bottom:18px;
  padding:24px 26px;
  border-radius:var(--vp-radius-lg);
  background:
    radial-gradient(circle at 90% 20%,rgba(129,224,205,.23),transparent 25%),
    linear-gradient(118deg,var(--vp-navy),#0d5d5b 66%,#2b8178);
  box-shadow:0 18px 42px rgba(9,49,55,.15);
}

html[data-ui="premium-v2"] .v7-identity-banner h1{
  margin:5px 0;
  font-size:clamp(1.8rem,3vw,2.55rem);
}

html[data-ui="premium-v2"] .v7-identity-banner p{
  font-size:.91rem;
}

html[data-ui="premium-v2"] .v7-orbit{
  width:82px;
  height:82px;
  flex-basis:82px;
  box-shadow:none;
}

html[data-ui="premium-v2"] .v7-orbit span{
  font-size:2.65rem;
}

html[data-ui="premium-v2"] .v7-orbit small{
  bottom:10px;
}

html[data-ui="premium-v2"] .metric{
  min-height:104px;
  padding:15px;
  border:1px solid var(--vp-line);
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}

html[data-ui="premium-v2"] .metric::after{
  width:64px;
  height:64px;
  right:-29px;
  bottom:-31px;
  background:var(--vp-mint);
}

html[data-ui="premium-v2"] .metric-value,
html[data-ui="premium-v2"] .metric strong{
  color:var(--vp-navy);
  font-size:1.55rem;
}

html[data-ui="premium-v2"] .quick-actions{
  gap:10px;
}

html[data-ui="premium-v2"] .quick-action{
  min-height:132px;
  padding:15px;
  border-color:var(--vp-line);
  border-radius:14px;
  background:#fff;
}

html[data-ui="premium-v2"] .quick-action:hover{
  border-color:#a8cdc4;
  box-shadow:var(--vp-shadow);
}

html[data-ui="premium-v2"] .quick-action-icon{
  width:36px;
  height:36px;
  border-radius:10px;
  background:var(--vp-mint);
}

html[data-ui="premium-v2"] .btn{
  min-height:40px;
  padding:9px 14px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--vp-teal),var(--vp-teal-2));
  box-shadow:none;
  font-size:.82rem;
  font-weight:800;
}

html[data-ui="premium-v2"] .btn:hover{
  box-shadow:0 7px 16px rgba(14,91,87,.14);
}

html[data-ui="premium-v2"] .btn.secondary{
  color:var(--vp-teal);
  background:var(--vp-mint);
}

html[data-ui="premium-v2"] .btn.outline,
html[data-ui="premium-v2"] .btn.ghost{
  color:var(--vp-ink);
  border-color:var(--vp-line);
  background:#fff;
}

html[data-ui="premium-v2"] .input,
html[data-ui="premium-v2"] input,
html[data-ui="premium-v2"] select,
html[data-ui="premium-v2"] textarea{
  min-height:41px;
  border-color:#cedbd6;
  border-radius:10px;
  background:#fff;
}

html[data-ui="premium-v2"] .input:focus,
html[data-ui="premium-v2"] input:focus,
html[data-ui="premium-v2"] select:focus,
html[data-ui="premium-v2"] textarea:focus{
  border-color:var(--vp-teal-2);
  box-shadow:0 0 0 3px rgba(36,129,118,.11);
}

html[data-ui="premium-v2"] .table-wrap{
  border-color:var(--vp-line);
  border-radius:12px;
  background:#fff;
}

html[data-ui="premium-v2"] table{
  background:#fff;
}

html[data-ui="premium-v2"] th{
  padding:10px 11px;
  color:#5f726f;
  border-color:#e8eeeb;
  background:#f6f9f7;
  font-size:.66rem;
  letter-spacing:.07em;
}

html[data-ui="premium-v2"] td{
  padding:11px;
  border-color:#e9efec;
}

html[data-ui="premium-v2"] tbody tr:hover{
  background:#f7fbf9;
}

html[data-ui="premium-v2"] .badge{
  padding:5px 8px;
  border-radius:999px;
  font-size:.67rem;
  font-weight:850;
}

html[data-ui="premium-v2"] .badge.ready,
html[data-ui="premium-v2"] .badge.active,
html[data-ui="premium-v2"] .badge.validated,
html[data-ui="premium-v2"] .badge.approved{
  color:var(--vp-green);
  background:#e5f3eb;
}

html[data-ui="premium-v2"] .badge.review,
html[data-ui="premium-v2"] .badge.pending,
html[data-ui="premium-v2"] .badge.draft{
  color:var(--vp-yellow);
  background:#fff3dc;
}

html[data-ui="premium-v2"] .badge.blocked,
html[data-ui="premium-v2"] .badge.rejected,
html[data-ui="premium-v2"] .badge.inactive,
html[data-ui="premium-v2"] .badge.void{
  color:var(--vp-red);
  background:#fbeaec;
}

html[data-ui="premium-v2"] .notice{
  border-color:#d5e5df;
  border-radius:12px;
  color:#34514e;
  background:#edf6f2;
}

html[data-ui="premium-v2"] .notice.warning{
  color:#7a581c;
  border-color:#edd8ad;
  background:#fff7e8;
}

html[data-ui="premium-v2"] .modal-backdrop{
  background:rgba(5,30,35,.54);
  backdrop-filter:blur(5px);
}

html[data-ui="premium-v2"] .modal{
  border:1px solid rgba(255,255,255,.65);
  border-radius:18px;
  box-shadow:var(--vp-shadow-lg);
}

html[data-ui="premium-v2"] .login-page{
  padding:22px;
  background:
    radial-gradient(circle at 8% 0,rgba(104,196,181,.25),transparent 28%),
    linear-gradient(145deg,#eef4f1,#fafbf8 60%,#edf2ef);
}

html[data-ui="premium-v2"] .login-shell{
  width:min(1080px,100%);
  min-height:640px;
  grid-template-columns:1.08fr .92fr;
  border-color:rgba(216,228,223,.95);
  border-radius:26px;
  box-shadow:0 30px 85px rgba(9,48,53,.17);
}

html[data-ui="premium-v2"] .login-visual{
  padding:38px;
  background:
    radial-gradient(circle at 88% 12%,rgba(109,218,199,.26),transparent 28%),
    linear-gradient(145deg,#092d36,#0e5757 65%,#2c8177);
}

html[data-ui="premium-v2"] .login-visual h2{
  max-width:500px;
  font-size:clamp(2rem,3.5vw,2.85rem);
}

html[data-ui="premium-v2"] .login-card{
  padding:48px 44px;
}

html[data-ui="premium-v2"] .login-logo{
  background:linear-gradient(145deg,var(--vp-navy-2),var(--vp-teal-2));
}

html[data-ui="premium-v2"] .visual-preview-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin-top:12px;
  padding:8px 12px;
  border:1px solid #cfe1db;
  border-radius:10px;
  color:var(--vp-teal);
  background:#f1f8f5;
  font-size:.78rem;
  font-weight:850;
  text-decoration:none;
}

html[data-ui="premium-v2"] .visual-preview-link:hover{
  border-color:#9dc9bf;
  background:#eaf5f1;
}

html[data-ui="premium-v2"] .clinical-chat-message,
html[data-ui="premium-v2"] .presence-employee,
html[data-ui="premium-v2"] .document-row{
  border-radius:11px;
  box-shadow:none;
}

/* Thème sombre : mêmes priorités, sans teintes trop saturées. */
html[data-ui="premium-v2"][data-theme="dark"]{
  --vp-ivory:#091c22;
  --vp-paper:#112930;
  --vp-ink:#e5f1ee;
  --vp-muted:#9eb2ae;
  --vp-line:#294249;
  color-scheme:dark;
}

html[data-ui="premium-v2"][data-theme="dark"] body{
  color:var(--vp-ink);
  background:#091c22;
}

html[data-ui="premium-v2"][data-theme="dark"] .topbar,
html[data-ui="premium-v2"][data-theme="dark"] .card,
html[data-ui="premium-v2"][data-theme="dark"] .metric,
html[data-ui="premium-v2"][data-theme="dark"] table,
html[data-ui="premium-v2"][data-theme="dark"] .table-wrap,
html[data-ui="premium-v2"][data-theme="dark"] .modal,
html[data-ui="premium-v2"][data-theme="dark"] .quick-action{
  color:var(--vp-ink);
  border-color:var(--vp-line);
  background:#112930;
}

html[data-ui="premium-v2"][data-theme="dark"] .page-head h1,
html[data-ui="premium-v2"][data-theme="dark"] .card h2,
html[data-ui="premium-v2"][data-theme="dark"] .card h3,
html[data-ui="premium-v2"][data-theme="dark"] .metric strong{
  color:#e5f1ee;
}

html[data-ui="premium-v2"][data-theme="dark"] th{
  color:#aec1bd;
  background:#163139;
}

html[data-ui="premium-v2"][data-theme="dark"] tbody tr:hover{
  background:#17353c;
}

@media(max-width:1080px){
  html[data-ui="premium-v2"] .layout{grid-template-columns:224px minmax(0,1fr)}
  html[data-ui="premium-v2"] .main{padding:24px}
  html[data-ui="premium-v2"] .quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  html[data-ui="premium-v2"] .layout{grid-template-columns:1fr}
  html[data-ui="premium-v2"] .sidebar{top:70px;width:250px}
  html[data-ui="premium-v2"] .main{padding:20px}
}

@media(max-width:650px){
  html[data-ui="premium-v2"] .topbar{height:64px;padding:8px 11px}
  html[data-ui="premium-v2"] .sidebar{top:64px}
  html[data-ui="premium-v2"] .main{padding:14px 11px 34px}
  html[data-ui="premium-v2"] .card{padding:14px}
  html[data-ui="premium-v2"] .v7-identity-banner{min-height:112px;padding:20px}
  html[data-ui="premium-v2"] .v7-identity-banner h1{font-size:1.8rem}
  html[data-ui="premium-v2"] .login-page{padding:8px}
  html[data-ui="premium-v2"] .login-shell{min-height:calc(100vh - 16px);border-radius:18px}
  html[data-ui="premium-v2"] .login-card{padding:26px 20px}
  html[data-ui="premium-v2"] .visual-preview-ribbon{left:10px;bottom:10px;font-size:.58rem}
}

@media print{
  html[data-ui="premium-v2"] .visual-preview-ribbon{display:none!important}
}

/* Prototype final intégré */
html[data-ui="premium-v2"] .prototype-safety-note{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid #dfcfaa;
  border-radius:10px;
  color:#73551d;
  background:#fff8e9;
  font-size:.72rem;
  line-height:1.45;
}

html[data-ui="premium-v2"] .final-cabinet-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

html[data-ui="premium-v2"] .final-cabinet-card{
  min-height:165px;
  text-align:left;
  cursor:pointer;
}

html[data-ui="premium-v2"] .final-cabinet-card:hover{
  border-color:#a8cdc4;
  box-shadow:var(--vp-shadow);
  transform:translateY(-2px);
}

html[data-ui="premium-v2"] .final-card-link{
  display:block;
  margin-top:22px;
  color:var(--vp-teal);
  font-size:.76rem;
  font-weight:900;
}

html[data-ui="premium-v2"] .final-patient-workspace{
  display:grid;
  grid-template-columns:290px minmax(0,1fr);
  gap:16px;
  align-items:start;
}

html[data-ui="premium-v2"] .final-patient-directory{
  position:sticky;
  top:94px;
  max-height:calc(100vh - 116px);
  overflow:hidden;
}

html[data-ui="premium-v2"] .final-patient-list{
  display:flex;
  flex-direction:column;
  gap:4px;
  max-height:calc(100vh - 285px);
  margin-top:12px;
  padding-right:4px;
  overflow:auto;
}

html[data-ui="premium-v2"] .final-patient-filters{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  margin-top:8px;
}

html[data-ui="premium-v2"] .final-patient-filters select{
  min-width:0;
  padding:7px 9px;
  font-size:.7rem;
}

html[data-ui="premium-v2"] .final-patient-result-count{
  white-space:nowrap;
}

html[data-ui="premium-v2"] .final-patient-row{
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 12px;
  gap:10px;
  align-items:center;
  width:100%;
  padding:9px;
  border:1px solid transparent;
  border-radius:11px;
  color:var(--vp-ink);
  background:transparent;
  text-align:left;
  cursor:pointer;
}

html[data-ui="premium-v2"] .final-patient-row:hover{
  border-color:var(--vp-line);
  background:var(--vp-mint-2);
}

html[data-ui="premium-v2"] .final-patient-row.active{
  color:var(--vp-navy);
  border-color:#b8d6cf;
  background:var(--vp-mint);
}

html[data-ui="premium-v2"] .final-patient-row strong,
html[data-ui="premium-v2"] .final-patient-row small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

html[data-ui="premium-v2"] .final-patient-row small{
  margin-top:3px;
  color:var(--vp-muted);
  font-size:.66rem;
}

html[data-ui="premium-v2"] .final-patient-avatar{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(145deg,var(--vp-navy-2),var(--vp-teal-2));
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.03em;
}

html[data-ui="premium-v2"] .final-patient-avatar.large{
  width:58px;
  height:58px;
  border-radius:17px;
  font-size:1rem;
}

html[data-ui="premium-v2"] .final-patient-cockpit{
  min-width:0;
}

html[data-ui="premium-v2"] .final-patient-hero{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:22px;
  border:1px solid rgba(123,203,188,.2);
  border-radius:20px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 0,rgba(131,226,208,.2),transparent 27%),
    linear-gradient(120deg,var(--vp-navy),#0e5f5d 74%,#2b8178);
  box-shadow:0 16px 36px rgba(9,49,55,.14);
}

html[data-ui="premium-v2"] .final-patient-hero h1{
  margin:2px 0 8px;
  color:#fff;
  font-size:clamp(1.5rem,2.5vw,2.2rem);
  letter-spacing:-.04em;
}

html[data-ui="premium-v2"] .final-patient-hero .muted,
html[data-ui="premium-v2"] .final-patient-hero .eyebrow{
  color:#c7e7e1;
}

html[data-ui="premium-v2"] .final-assignment-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:16px;
}

html[data-ui="premium-v2"] .final-assignment-grid>div{
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:rgba(255,255,255,.07);
}

html[data-ui="premium-v2"] .final-assignment-grid span,
html[data-ui="premium-v2"] .final-assignment-grid strong{
  display:block;
}

html[data-ui="premium-v2"] .final-assignment-grid span{
  color:#acd6cf;
  font-size:.6rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

html[data-ui="premium-v2"] .final-assignment-grid strong{
  margin-top:4px;
  color:#fff;
  font-size:.76rem;
}

html[data-ui="premium-v2"] .final-patient-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-content:flex-start;
  gap:7px;
  max-width:360px;
}

html[data-ui="premium-v2"] .final-patient-actions .btn.outline{
  color:#fff;
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.08);
}

html[data-ui="premium-v2"] .final-cockpit-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(330px,.8fr);
  gap:14px;
  margin-top:14px;
}

html[data-ui="premium-v2"] .final-cockpit-column{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}

html[data-ui="premium-v2"] .final-series{
  padding:11px 0;
  border-bottom:1px solid var(--vp-line);
}

html[data-ui="premium-v2"] .final-series:last-child{
  border-bottom:0;
}

html[data-ui="premium-v2"] .progress{
  height:7px;
  margin-top:8px;
  overflow:hidden;
  border-radius:999px;
  background:#e7eeeb;
}

html[data-ui="premium-v2"] .progress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--vp-teal),#62bbaa);
}

html[data-ui="premium-v2"] .final-mandatory-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}

html[data-ui="premium-v2"] .final-mandatory-grid>div{
  display:grid;
  grid-template-columns:12px 1fr;
  gap:4px 8px;
  align-items:center;
  padding:12px;
  border:1px solid var(--vp-line);
  border-radius:12px;
  background:#fff;
}

html[data-ui="premium-v2"] .final-mandatory-grid strong{
  grid-column:2;
  font-size:.75rem;
}

html[data-ui="premium-v2"] .final-traffic{
  display:inline-block;
  width:9px;
  height:9px;
  flex:0 0 9px;
  border-radius:50%;
  box-shadow:0 0 0 4px rgba(0,0,0,.035);
}

html[data-ui="premium-v2"] .final-traffic.green{background:#2f8b63}
html[data-ui="premium-v2"] .final-traffic.yellow{background:#d49328}
html[data-ui="premium-v2"] .final-traffic.red{background:#c74b55}

html[data-ui="premium-v2"] .final-document-list,
html[data-ui="premium-v2"] .final-timeline,
html[data-ui="premium-v2"] .final-next-actions{
  display:flex;
  flex-direction:column;
  gap:7px;
}

html[data-ui="premium-v2"] .final-document-row{
  display:grid;
  grid-template-columns:12px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:9px 0;
  border-bottom:1px solid var(--vp-line);
}

html[data-ui="premium-v2"] .final-document-row:last-child{
  border-bottom:0;
}

html[data-ui="premium-v2"] .final-document-row strong,
html[data-ui="premium-v2"] .final-document-row small{
  display:block;
}

html[data-ui="premium-v2"] .final-document-row small{
  margin-top:2px;
  color:var(--vp-muted);
  font-size:.68rem;
}

html[data-ui="premium-v2"] .final-timeline-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto auto;
  gap:9px;
  align-items:start;
  padding:10px;
  border:1px solid var(--vp-line);
  border-radius:11px;
  background:var(--vp-mint-2);
}

html[data-ui="premium-v2"] .final-timeline-row small,
html[data-ui="premium-v2"] .final-timeline-row p{
  display:block;
  margin:3px 0 0;
  color:var(--vp-muted);
  font-size:.7rem;
}

html[data-ui="premium-v2"] .final-clinical-note{
  margin-top:8px;
  padding:9px 10px;
  border:1px solid #d5e5df;
  border-radius:9px;
  background:#fff;
}

html[data-ui="premium-v2"] .final-clinical-note strong,
html[data-ui="premium-v2"] .final-clinical-note small{
  display:block;
}

html[data-ui="premium-v2"][data-theme="dark"] .final-clinical-note{
  border-color:var(--vp-line);
  background:#163139;
}

html[data-ui="premium-v2"] .final-timeline-icon{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:10px;
  color:var(--vp-teal);
  background:var(--vp-mint);
  font-weight:900;
}

html[data-ui="premium-v2"] .final-next-actions>div{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:8px;
  align-items:center;
  padding:8px 0;
}

html[data-ui="premium-v2"] .final-next-actions>div>span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:8px;
  color:var(--vp-teal);
  background:var(--vp-mint);
  font-size:.67rem;
  font-weight:900;
}

html[data-ui="premium-v2"] .final-dashboard-presence{
  margin-bottom:14px;
}

html[data-ui="premium-v2"] .final-presence-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

html[data-ui="premium-v2"] .final-presence-person,
html[data-ui="premium-v2"] .final-presence-editor{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:10px;
  border:1px solid var(--vp-line);
  border-radius:11px;
  background:#fff;
}

html[data-ui="premium-v2"] .final-presence-person button,
html[data-ui="premium-v2"] .final-presence-name{
  min-width:0;
  color:var(--vp-ink);
  border:0;
  background:transparent;
  text-align:left;
  cursor:pointer;
}

html[data-ui="premium-v2"] .final-presence-person strong,
html[data-ui="premium-v2"] .final-presence-person small,
html[data-ui="premium-v2"] .final-presence-name strong,
html[data-ui="premium-v2"] .final-presence-name small{
  display:block;
}

html[data-ui="premium-v2"] .final-presence-person small,
html[data-ui="premium-v2"] .final-presence-name small{
  margin-top:3px;
  color:var(--vp-muted);
  font-size:.66rem;
}

html[data-ui="premium-v2"] .final-presence-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

html[data-ui="premium-v2"] .final-presence-editor{
  grid-template-columns:minmax(220px,1fr) auto minmax(190px,240px) auto;
}

html[data-ui="premium-v2"][data-theme="dark"] .final-patient-row{
  color:var(--vp-ink);
}

html[data-ui="premium-v2"][data-theme="dark"] .final-patient-row.active,
html[data-ui="premium-v2"][data-theme="dark"] .final-mandatory-grid>div,
html[data-ui="premium-v2"][data-theme="dark"] .final-presence-person,
html[data-ui="premium-v2"][data-theme="dark"] .final-presence-editor{
  color:var(--vp-ink);
  border-color:var(--vp-line);
  background:#163139;
}

html[data-ui="premium-v2"][data-theme="dark"] .final-timeline-row{
  background:#132d34;
}

@media(max-width:1240px){
  html[data-ui="premium-v2"] .final-cabinet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  html[data-ui="premium-v2"] .final-patient-workspace{grid-template-columns:250px minmax(0,1fr)}
  html[data-ui="premium-v2"] .final-cockpit-grid{grid-template-columns:1fr}
  html[data-ui="premium-v2"] .final-patient-hero{flex-direction:column}
  html[data-ui="premium-v2"] .final-patient-actions{justify-content:flex-start;max-width:none}
}

@media(max-width:900px){
  html[data-ui="premium-v2"] .final-patient-workspace{grid-template-columns:1fr}
  html[data-ui="premium-v2"] .final-patient-directory{position:static;max-height:none}
  html[data-ui="premium-v2"] .final-patient-list{max-height:280px}
  html[data-ui="premium-v2"] .final-presence-editor{grid-template-columns:1fr auto}
  html[data-ui="premium-v2"] .final-presence-editor>.input,
  html[data-ui="premium-v2"] .final-presence-editor>.row{grid-column:1/-1}
}

@media(max-width:650px){
  html[data-ui="premium-v2"] .final-cabinet-grid,
  html[data-ui="premium-v2"] .final-presence-grid,
  html[data-ui="premium-v2"] .final-mandatory-grid,
  html[data-ui="premium-v2"] .final-assignment-grid{grid-template-columns:1fr}
  html[data-ui="premium-v2"] .final-patient-hero{padding:17px}
  html[data-ui="premium-v2"] .final-patient-actions{display:grid;grid-template-columns:1fr 1fr}
  html[data-ui="premium-v2"] .final-timeline-row{grid-template-columns:34px minmax(0,1fr)}
  html[data-ui="premium-v2"] .final-timeline-row>.badge,
  html[data-ui="premium-v2"] .final-timeline-row>.btn{grid-column:2}
}

/* Daily cockpit: operational queues only; detailed statistics live in Evaluation. */
html[data-ui="premium-v2"] .final-today-banner{margin-bottom:18px}
html[data-ui="premium-v2"] .final-today-actions{margin:18px 0;padding:4px 0}
html[data-ui="premium-v2"] .final-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
html[data-ui="premium-v2"] .final-action-tile{border:1px solid rgba(12,80,75,.12);padding:20px;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
html[data-ui="premium-v2"] .final-action-tile:hover{transform:translateY(-2px);border-color:rgba(12,117,105,.35);box-shadow:0 18px 38px rgba(17,69,65,.12)}
html[data-ui="premium-v2"] .final-action-tile span,
html[data-ui="premium-v2"] .final-action-tile small{display:block;color:var(--vp-muted)}
html[data-ui="premium-v2"] .final-action-tile strong{display:block;margin:10px 0 6px;font-family:var(--vp-display);font-size:clamp(2rem,4vw,3.4rem);line-height:1;color:var(--vp-ink)}
html[data-ui="premium-v2"] .final-quick-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:1000px){html[data-ui="premium-v2"] .final-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
  html[data-ui="premium-v2"] .final-action-grid{grid-template-columns:1fr}
  html[data-ui="premium-v2"] .final-today-banner{margin-bottom:12px}
  html[data-ui="premium-v2"] .final-quick-actions .btn{width:100%}
}

/* Final QA hardening: containment, keyboard focus and mobile account actions. */
html[data-ui="premium-v2"] .main,
html[data-ui="premium-v2"] .grid,
html[data-ui="premium-v2"] .grid>* ,
html[data-ui="premium-v2"] .card,
html[data-ui="premium-v2"] .table-wrap,
html[data-ui="premium-v2"] .final-patient-workspace,
html[data-ui="premium-v2"] .final-patient-cockpit,
html[data-ui="premium-v2"] .final-cockpit-column{
  min-width:0;
}

html[data-ui="premium-v2"] button:focus-visible,
html[data-ui="premium-v2"] a:focus-visible,
html[data-ui="premium-v2"] [tabindex]:focus-visible{
  outline:3px solid #efb24e;
  outline-offset:3px;
}

html[data-ui="premium-v2"] .nav-btn:focus-visible{
  color:#fff;
  background:rgba(255,255,255,.16);
}

html[data-ui="premium-v2"] .nav-btn.active:focus-visible{
  color:var(--vp-teal);
  background:#fff;
}

body.modal-open{overflow:hidden}
html[data-ui="premium-v2"] .mobile-sidebar-logout{display:none}

@media(max-width:650px){
  html[data-ui="premium-v2"] .mobile-sidebar-logout{display:flex}
  html[data-ui="premium-v2"] .modal-backdrop{padding:10px}
  html[data-ui="premium-v2"] .modal{max-height:calc(100vh - 20px)}
}

@media(prefers-reduced-motion:reduce){
  html[data-ui="premium-v2"] *,
  html[data-ui="premium-v2"] *::before,
  html[data-ui="premium-v2"] *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

/* Operational screens: calmer surfaces, explicit hierarchy and predictable density. */
html[data-ui="premium-v2"] .main .card,
html[data-ui="premium-v2"] .main .metric,
html[data-ui="premium-v2"] .main .notice,
html[data-ui="premium-v2"] .main .table-wrap,
html[data-ui="premium-v2"] .modal{
  border-radius:10px;
  box-shadow:none;
}

html[data-ui="premium-v2"] .main .metric{
  background:var(--vp-paper);
}

html[data-ui="premium-v2"] .main .metric::after{
  display:none;
}

html[data-ui="premium-v2"] .main .v7-identity-banner,
html[data-ui="premium-v2"] .final-patient-hero{
  border-radius:12px;
  background:#0d514f;
  box-shadow:none;
}

html[data-ui="premium-v2"] .final-patient-avatar{
  border-radius:9px;
  background:#176b65;
}

html[data-ui="premium-v2"] .btn{
  border-radius:8px;
  background:var(--vp-teal);
  box-shadow:none;
}

html[data-ui="premium-v2"] .btn:hover,
html[data-ui="premium-v2"] .final-cabinet-card:hover,
html[data-ui="premium-v2"] .nav-btn:hover{
  transform:none;
  box-shadow:none;
}

html[data-ui="premium-v2"] .btn.secondary{
  color:var(--vp-teal);
  background:var(--vp-mint);
}

html[data-ui="premium-v2"] .btn.outline{
  color:var(--vp-ink);
  border:1px solid var(--vp-line);
  background:var(--vp-paper);
}

html[data-ui="premium-v2"] .btn.ghost{
  color:var(--vp-ink);
  border:1px solid transparent;
  background:transparent;
}

html[data-ui="premium-v2"][data-theme="dark"] .btn.outline{
  color:#eef7f4;
  border-color:#49636a;
  background:#18343b;
}

html[data-ui="premium-v2"][data-theme="dark"] .btn.ghost{
  color:#eef7f4;
  border-color:#3c555c;
  background:transparent;
}

html[data-ui="premium-v2"][data-theme="dark"] select{
  color:#eef7f4;
  border-color:#49636a;
  background:#18343b;
}

html[data-ui="premium-v2"][data-theme="dark"] select option{
  color:#eef7f4;
  background:#112930;
}

html[data-ui="premium-v2"] .final-patient-hero .btn.outline,
html[data-ui="premium-v2"] .final-patient-hero .btn.ghost,
html[data-ui="premium-v2"][data-theme="dark"] .final-patient-hero .btn.outline,
html[data-ui="premium-v2"][data-theme="dark"] .final-patient-hero .btn.ghost{
  color:#fff;
  border-color:rgba(255,255,255,.38);
  background:rgba(255,255,255,.08);
}

/* Honest transport status on the login screen. */
html[data-ui="premium-v2"] .login-security span:first-child{color:#9a6b19}
html[data-ui="premium-v2"] .login-security.is-secure span:first-child{color:#23845f}
html[data-ui="premium-v2"] .login-security.is-local span:first-child{color:#9a6b19}
html[data-ui="premium-v2"] .login-security.is-insecure{color:#9f3540;font-weight:750}
html[data-ui="premium-v2"] .login-security.is-insecure span:first-child{color:#c23e4b}

/* Evaluation tables keep every column and expose a real horizontal scrollbar. */
html[data-ui="premium-v2"] .evaluation-table-wrap{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-gutter:stable;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

html[data-ui="premium-v2"] .evaluation-table-wrap>table{
  width:max-content;
  min-width:100%;
  table-layout:auto;
}

html[data-ui="premium-v2"] .evaluation-table-wrap th,
html[data-ui="premium-v2"] .evaluation-table-wrap td{
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
}

html[data-ui="premium-v2"] .evaluation-table-wrap::-webkit-scrollbar{height:11px}
html[data-ui="premium-v2"] .evaluation-table-wrap::-webkit-scrollbar-track{background:#edf3f0}
html[data-ui="premium-v2"] .evaluation-table-wrap::-webkit-scrollbar-thumb{border:2px solid #edf3f0;border-radius:8px;background:#78928d}
html[data-ui="premium-v2"][data-theme="dark"] .evaluation-table-wrap::-webkit-scrollbar-track{background:#10282d}
html[data-ui="premium-v2"][data-theme="dark"] .evaluation-table-wrap::-webkit-scrollbar-thumb{border-color:#10282d;background:#6e8b87}

/* Patient creation: document and fields remain visible in one controlled workflow. */
html[data-ui="premium-v2"] .patient-creation-form{display:grid;gap:14px;margin-top:18px}
html[data-ui="premium-v2"] .patient-create-heading{align-items:flex-start}
html[data-ui="premium-v2"] .patient-create-heading p{max-width:720px;margin:.35rem 0 0}
html[data-ui="premium-v2"] .patient-create-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--vp-line);border-radius:10px;background:var(--vp-paper)}
html[data-ui="premium-v2"] .patient-create-step-number{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;color:#fff;background:var(--vp-teal);font:800 .78rem/1 var(--vp-display)}
html[data-ui="premium-v2"] .patient-create-step-body{min-width:0}
html[data-ui="premium-v2"] .patient-create-step-body h3{margin:2px 0 4px}
html[data-ui="premium-v2"] .patient-create-step-body>p{margin:0 0 12px}
html[data-ui="premium-v2"] .patient-source-grid{display:grid;grid-template-columns:minmax(170px,.6fr) minmax(250px,1fr) auto;gap:10px;align-items:end;margin-top:12px}
html[data-ui="premium-v2"] .patient-source-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
html[data-ui="premium-v2"] .provider-state{display:inline-flex;align-items:center;min-height:28px;padding:5px 8px;border:1px solid var(--vp-line);border-radius:6px;color:var(--vp-muted);background:#f7faf8;font-size:.68rem;font-weight:850}
html[data-ui="premium-v2"] .provider-state.active{color:#176447;border-color:#b7dccc;background:#edf7f2}
html[data-ui="premium-v2"] .provider-state.test{color:#875d14;border-color:#ead3a0;background:#fff8e9}
html[data-ui="premium-v2"] .provider-state.disabled{color:#943b43;border-color:#e6bfc3;background:#fff1f2}
html[data-ui="premium-v2"] .ocr-status-panel{display:grid;gap:8px;margin-top:12px;padding:10px 12px;border-left:3px solid var(--vp-teal);background:#f4f8f6;color:var(--vp-ink);font-size:.78rem}
html[data-ui="premium-v2"] .ocr-status-panel ul{margin:0;padding-left:18px;color:var(--vp-muted)}
html[data-ui="premium-v2"] .patient-source-preview{margin-top:12px;padding:12px;border:1px solid var(--vp-line);border-radius:8px;background:#fff}
html[data-ui="premium-v2"] .patient-source-preview img,
html[data-ui="premium-v2"] .patient-source-preview iframe{display:block;width:100%;height:330px;margin-top:10px;border:1px solid var(--vp-line);border-radius:6px;background:#f3f5f4;object-fit:contain}
html[data-ui="premium-v2"] .patient-create-section{margin-top:14px;padding-top:13px;border-top:1px solid var(--vp-line)}
html[data-ui="premium-v2"] .patient-create-section h4{margin:0 0 10px;color:var(--vp-ink);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
html[data-ui="premium-v2"] .patient-create-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
html[data-ui="premium-v2"] .patient-create-field>span{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
html[data-ui="premium-v2"] .patient-create-field>span>b{color:#b73442}
html[data-ui="premium-v2"] .ocr-field-state{margin-left:auto;color:var(--vp-muted);font-size:.59rem;font-weight:750;text-align:right}
html[data-ui="premium-v2"] .patient-create-field .ocr-filled{border-color:#2b8068;background:#eef8f4;box-shadow:inset 3px 0 #2b8068}
html[data-ui="premium-v2"] .patient-create-field .ocr-edited{border-color:#bd8427;background:#fff9ed;box-shadow:inset 3px 0 #bd8427}
html[data-ui="premium-v2"] .patient-create-details{margin-top:14px;border:1px solid var(--vp-line);border-radius:8px;padding:11px 12px}
html[data-ui="premium-v2"] .patient-create-details summary{cursor:pointer;color:var(--vp-teal);font-weight:850}
html[data-ui="premium-v2"] .patient-create-confirm{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;border:1px solid #b9d9cf;border-radius:10px;background:#f0f7f4}
html[data-ui="premium-v2"] .human-validation-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;max-width:760px;color:var(--vp-ink);font-weight:700;line-height:1.45}
html[data-ui="premium-v2"] .human-validation-check input{width:20px;height:20px;min-height:20px;margin-top:1px}
html[data-ui="premium-v2"] #confirmPatientCreation:disabled{cursor:not-allowed;opacity:.48}

html[data-ui="premium-v2"][data-theme="dark"] .patient-create-step,
html[data-ui="premium-v2"][data-theme="dark"] .patient-source-preview,
html[data-ui="premium-v2"][data-theme="dark"] .ocr-status-panel,
html[data-ui="premium-v2"][data-theme="dark"] .patient-create-confirm{color:var(--vp-ink);border-color:var(--vp-line);background:#112930}
html[data-ui="premium-v2"][data-theme="dark"] .provider-state{color:#c8d8d4;border-color:var(--vp-line);background:#17343b}
html[data-ui="premium-v2"][data-theme="dark"] .patient-create-field .ocr-filled{color:#eaf5f1;border-color:#5d9f8e;background:#173a35}
html[data-ui="premium-v2"][data-theme="dark"] .patient-create-field .ocr-edited{color:#fff3d9;border-color:#b38a47;background:#3a301d}

@media(max-width:900px){
  html[data-ui="premium-v2"] .patient-source-grid{grid-template-columns:1fr 1fr}
  html[data-ui="premium-v2"] .patient-source-actions{grid-column:1/-1}
  html[data-ui="premium-v2"] .patient-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
  html[data-ui="premium-v2"] .patient-create-step{grid-template-columns:1fr;padding:12px}
  html[data-ui="premium-v2"] .patient-source-grid,
  html[data-ui="premium-v2"] .patient-create-grid{grid-template-columns:1fr}
  html[data-ui="premium-v2"] .patient-source-actions{display:grid;grid-template-columns:1fr}
  html[data-ui="premium-v2"] .patient-create-confirm{align-items:stretch;flex-direction:column}
  html[data-ui="premium-v2"] .patient-create-confirm>.row{display:grid;grid-template-columns:1fr}
  html[data-ui="premium-v2"] .patient-source-preview img,
  html[data-ui="premium-v2"] .patient-source-preview iframe{height:250px}
}
