
:root{
  --bg:#f5f9fe;--surface:#fff;--surface2:#f8fbff;--text:#0f2b4d;--muted:#7085a2;
  --line:#dce8f5;--line2:#edf3f9;--blue:#1177e8;--blue2:#075fc7;--cyan:#18b7c1;
  --violet:#8a72e9;--coral:#ee7181;--green:#19a979;--amber:#b67a13;--danger:#c7444b;
  --shadow:0 18px 55px rgba(33,77,121,.10);--shadow2:0 8px 26px rgba(36,83,129,.08);
  --radius:22px;--radius-sm:15px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 88% 3%,rgba(31,140,244,.13),transparent 23rem),
    radial-gradient(circle at 74% 24%,rgba(29,190,197,.08),transparent 28rem),
    linear-gradient(150deg,#fbfdff 0%,#f1f7fe 54%,#f8fcff 100%);
  min-height:100vh;
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.34),rgba(255,255,255,0));z-index:-1}
button,input,select,textarea{font:inherit}
button{transition:.18s ease}
button:disabled{opacity:.6;cursor:wait}
a{color:var(--blue);text-decoration:none}
.hidden{display:none!important}
.muted{color:var(--muted)}.small{font-size:12px}
.ui-icon{width:19px;height:19px;display:inline-grid;place-items:center;flex:0 0 auto}
.ui-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tone-blue{color:var(--blue)}.tone-cyan{color:var(--cyan)}.tone-violet{color:var(--violet)}.tone-coral{color:var(--coral)}
.soft-label,.panel-kicker,.eyebrow{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:850;color:#6c8aab}
.eyebrow{color:#88a0b9;margin-bottom:3px}
.card,.login-card{background:rgba(255,255,255,.94);border:1px solid rgba(207,224,241,.92);border-radius:var(--radius);box-shadow:var(--shadow2);backdrop-filter:blur(10px)}
.card{padding:20px}
.primary,.secondary,.ghost,.danger{
  border:0;border-radius:13px;padding:12px 17px;font-weight:790;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px
}
.primary{color:#fff;background:linear-gradient(135deg,#1b8cf3 0%,#0964ce 100%);box-shadow:0 8px 20px rgba(14,113,223,.20)}
.primary:hover{transform:translateY(-1px);box-shadow:0 11px 25px rgba(14,113,223,.25)}
.secondary{color:#0d67c9;background:#eef7ff;border:1px solid #d2e8fb}
.ghost{color:#476783;background:#fff;border:1px solid var(--line)}
.danger{color:#b83c42;background:#fff5f5;border:1px solid #ffd5d7}
.full{width:100%}
.control,.readonly{width:100%;border:1px solid #d8e6f4;background:#fff;border-radius:13px;padding:12px 14px;color:var(--text);outline:none;transition:.16s}
.control::placeholder{color:#9caec1}
.control:focus{border-color:#7fbdf8;box-shadow:0 0 0 4px rgba(37,139,238,.10)}
.readonly{background:#f5f9fd;color:#536e8d;font-weight:720}
.field{display:grid;gap:7px;margin-bottom:15px}
.field label{font-size:12px;font-weight:820;color:#23415f}
.field-error{min-height:13px;font-size:11px;color:var(--danger);margin-top:-2px}
.invalid{border-color:#e25d64!important;background:#fff7f7!important;box-shadow:0 0 0 3px rgba(226,93,100,.09)!important}
.note{min-height:96px;resize:vertical}
.errorbox,.infobox,.okbox,.warnbox,.identity-alert{border-radius:15px;padding:13px 15px;margin:12px 0;font-size:13px;line-height:1.5}
.errorbox{background:#fff2f3;border:1px solid #ffcfd2;color:#b7373d}
.infobox{background:#f1f8ff;border:1px solid #d8eaff;color:#506b88}
.okbox{background:#edfbf6;border:1px solid #ccefe2;color:#126f5d}
.warnbox{background:#fff8ea;border:1px solid #f0dfb4;color:#805d15}

/* Login */
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;padding:58px max(5vw,40px);overflow:hidden;position:relative}
.login-shell:after{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(31,148,244,.14),rgba(33,186,198,.05) 45%,transparent 68%);pointer-events:none}
.hero{padding:25px;position:relative}
.hero:before{content:"";position:absolute;left:-30px;top:12%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(20,120,229,.10),transparent 68%);filter:blur(3px);z-index:-1}
.hero img{width:520px;max-width:100%;height:180px;object-fit:cover;object-position:center 52%;border-radius:22px;mix-blend-mode:multiply}
.hero h1{font-size:50px;line-height:1.02;margin:16px 0 12px;letter-spacing:-.04em}
.hero h1 span{color:var(--cyan)}
.hero p{font-size:17px;line-height:1.6;color:var(--muted);max-width:610px}
.login-card{padding:34px;max-width:555px;box-shadow:0 25px 70px rgba(32,78,123,.12)}
.login-card h2{font-size:28px;margin:0 0 5px;letter-spacing:-.02em}.sub{color:var(--muted);margin:0 0 24px}
.auth-switch{text-align:center;margin-top:14px}.auth-switch button{border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer}

/* App chrome */
.shell{min-height:100vh}
.app-header{
  height:88px;position:sticky;top:0;z-index:50;display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:20px;
  padding:12px max(2.4vw,24px);background:rgba(255,255,255,.91);border-bottom:1px solid rgba(214,229,243,.95);
  box-shadow:0 6px 25px rgba(31,75,118,.05);backdrop-filter:blur(20px)
}
.brand-lockup{border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:0;cursor:pointer;text-align:left;color:var(--text)}
.brand-lockup img{width:125px;height:52px;object-fit:cover;object-position:center 54%;border-radius:10px;mix-blend-mode:multiply}
.brand-lockup>span{font-size:10px;line-height:1.25;color:#67809b;font-weight:700;border-left:1px solid var(--line);padding-left:10px}
.top-nav{display:flex;justify-content:center;gap:4px;min-width:0}
.top-nav button{
  border:0;background:transparent;border-radius:13px;padding:10px 11px;color:#486481;font-size:12px;font-weight:760;cursor:pointer;display:flex;align-items:center;gap:7px;white-space:nowrap
}
.top-nav button:hover,.top-nav button.active{background:#edf6ff;color:#0e6ed8}
.top-nav button.active{box-shadow:inset 0 -2px 0 #1b83ee}
.header-tools{display:flex;align-items:center;gap:9px}
.vault-pill{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:12px;background:#eefaf7;color:#18745e;font-size:11px;font-weight:800}
.vault-pill .ui-icon{width:16px;height:16px}
.doctor-pill{border:1px solid var(--line);background:#fff;border-radius:16px;padding:7px 10px;display:flex;align-items:center;gap:9px;min-width:180px;cursor:pointer;color:var(--text)}
.doctor-pill:hover,.doctor-pill.active{border-color:#b9d8f7;background:#f8fcff}
.doctor-avatar,.profile-avatar-lg{display:grid;place-items:center;border-radius:50%;font-weight:850;color:#0d6fd3;background:linear-gradient(145deg,#e8f5ff,#d9f5f4);border:1px solid #cce6f8}
.doctor-avatar{width:32px;height:32px;font-size:11px}.doctor-text{display:grid;text-align:left;min-width:0;flex:1}.doctor-text b,.doctor-text small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doctor-text b{font-size:11px}.doctor-text small{font-size:9px;color:var(--muted);margin-top:2px}.chev{color:#8aa0b8}
.content{max-width:1560px;margin:0 auto;padding:25px max(2.5vw,28px) 100px}
.page-cap{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px;min-height:44px}
.page-cap h1{font-size:25px;line-height:1;margin:0;letter-spacing:-.025em}.page-cap-actions{display:flex;gap:8px}.icon-button{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:#fff;color:#5b7896;cursor:pointer;display:grid;place-items:center}
.section-title{font-size:27px;margin:0 0 5px;letter-spacing:-.025em}.section-sub{margin:0 0 19px;color:var(--muted)}
.mobile-nav,.mobile-more{display:none}


/* Generic layout helpers */
.search{margin:14px 0 18px}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.list{display:grid}.list-row{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:10px;padding:12px 5px;border-top:1px solid var(--line2);align-items:center;font-size:12px}.list-row:first-child{border-top:0}.click{cursor:pointer}.action{border-radius:var(--radius);background:#fff;border:1px solid var(--line);cursor:pointer;box-shadow:var(--shadow2);padding:18px}.action.main{background:linear-gradient(135deg,#1686ef,#0a61c4);color:#fff;border:0}.action h3{margin:0 0 5px}.action p{margin:0;opacity:.76;font-size:12px}

/* Home */
.welcome-card{position:relative;min-height:225px;border:1px solid #d6e7f6;border-radius:28px;padding:34px 40px;overflow:hidden;background:linear-gradient(110deg,rgba(255,255,255,.98),rgba(244,250,255,.96));box-shadow:var(--shadow2)}
.welcome-card:before{content:"";position:absolute;right:10%;top:-120px;width:500px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(35,141,239,.12),rgba(27,190,195,.05) 44%,transparent 70%)}
.welcome-card>div{position:relative;z-index:2;max-width:680px}.welcome-card h2{font-size:34px;margin:6px 0 8px;letter-spacing:-.035em}.welcome-card p{color:var(--muted);font-size:15px;line-height:1.55;margin:0 0 20px}
.welcome-actions{display:flex;gap:10px;flex-wrap:wrap}.welcome-art{position:absolute;right:5%;top:-45px;width:260px;height:330px;object-fit:cover;object-position:center;mix-blend-mode:multiply;opacity:.32;filter:saturate(.9)}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:16px 0}
.quick-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:15px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;text-align:left;cursor:pointer;box-shadow:0 6px 20px rgba(32,77,121,.05)}
.quick-card:hover{transform:translateY(-2px);box-shadow:var(--shadow2)}.quick-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center}.quick-icon .ui-icon{width:24px;height:24px}
.q-blue .quick-icon{color:var(--blue);background:#e9f4ff}.q-cyan .quick-icon{color:#1598a5;background:#e8fafb}.q-violet .quick-icon{color:var(--violet);background:#f1edff}.q-coral .quick-icon{color:var(--coral);background:#fff0f2}
.quick-card b,.quick-card small{display:block}.quick-card b{font-size:13px}.quick-card small{color:var(--muted);font-size:10px;margin-top:3px}.quick-arrow{color:#90a7be;font-size:20px}
.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.panel-card{min-height:330px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.card-head h3{margin:2px 0 0;font-size:17px}.link{border:0;background:transparent;color:var(--blue);font-weight:800;cursor:pointer;font-size:12px}
.compact-search{position:relative;margin:10px 0 14px}.compact-search>.ui-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8ca5bd;z-index:2}.compact-search .control{padding-left:42px;background:#fbfdff}
.recent-list{display:grid;gap:4px}.recent-calc{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:11px 4px;border-top:1px solid var(--line2)}.recent-calc:first-child{border-top:0}.calc-icon,.big-path-icon{display:grid;place-items:center}.calc-icon .ui-icon{width:36px;height:36px;border-radius:12px;padding:8px;background:#f1f7fd}.recent-calc strong,.recent-calc small{display:block}.recent-calc strong{font-size:13px}.recent-calc small{font-size:11px;color:var(--muted);margin-top:3px}

/* Patient lists */
.patient-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:11px 8px;border-radius:13px;border-top:1px solid var(--line2)}
.patient-row:first-child{border-top:0}.patient-row:hover{background:#f1f8ff}.patient-row.identity-broken{background:#fff8f8}.patient-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#e8f4ff,#e8faf9);color:#266eae;font-weight:850;font-size:11px;border:1px solid #d4e8f8}
.patient-avatar.xl{width:66px;height:66px;font-size:18px}.patient-row-main{min-width:0}.patient-row-main strong,.patient-row-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-row-main strong{font-size:13px}.patient-row-main small{font-size:10px;color:var(--muted);margin-top:3px}.patient-row-date{font-size:10px;color:#738aa4}.row-chevron{font-size:20px;color:#9bb0c4}
.empty-state{min-height:200px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted);gap:7px}.empty-state .ui-icon{width:40px;height:40px}.empty-state b{color:#47647f}.empty-state span{font-size:12px}.empty-state.compact{min-height:130px}

/* Patients workspace */
.patients-layout{display:grid;grid-template-columns:280px 1fr;gap:17px;align-items:start}.patients-rail{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:22px;padding:13px;box-shadow:var(--shadow2);position:sticky;top:105px;max-height:calc(100vh - 125px);overflow:auto}.rail-new{margin-bottom:10px}.rail-title{display:flex;justify-content:space-between;color:#8398ae;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;padding:7px 5px}.rail-title span{background:#eaf4ff;color:#1b73cf;border-radius:999px;padding:2px 6px}.patient-list{display:grid;gap:1px}.patients-rail .patient-row{grid-template-columns:auto 1fr auto}.patients-rail .patient-row-date{display:none}.patients-empty-main{min-height:540px;border:1px dashed #d2e4f5;border-radius:26px;display:grid;place-items:center;align-content:center;text-align:center;background:rgba(255,255,255,.45);color:var(--muted);padding:30px}.patients-empty-main h2{color:var(--text);margin:14px 0 4px}.patients-empty-main p{max-width:430px;margin:0 0 18px}.empty-illustration{width:96px;height:96px;border-radius:30px;background:linear-gradient(145deg,#e8f5ff,#edfcfb);display:grid;place-items:center}.empty-illustration .ui-icon{width:52px;height:52px}
.patient-main{min-width:0}.patient-card-layout{grid-template-columns:260px 1fr}.patient-hero-card{display:grid;grid-template-columns:1fr auto;gap:16px;padding:19px}.patient-identity{display:flex;align-items:center;gap:14px}.patient-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.patient-name-row h2{margin:0;font-size:22px;letter-spacing:-.025em}.patient-meta{display:flex;gap:13px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:7px}.path-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#eff7ff;color:#176cc6;padding:5px 9px;font-size:10px;font-weight:800}.path-chip .ui-icon{width:15px;height:15px}.patient-new{align-self:start}.patient-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line2);border-radius:16px;background:#fbfdff;overflow:hidden}.patient-stats>div{padding:10px 13px;border-left:1px solid var(--line2)}.patient-stats>div:first-child{border-left:0}.patient-stats small,.patient-stats b,.patient-stats span{display:block}.patient-stats small{color:#879bb0;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.patient-stats b{font-size:16px;margin-top:2px}.patient-stats span{font-size:9px;color:var(--muted);margin-top:1px}
.patient-tabs{display:flex;gap:3px;margin:10px 0;border-bottom:1px solid var(--line);overflow:auto}.patient-tabs button{border:0;background:transparent;padding:10px 13px;color:#58728e;font-size:11px;font-weight:760;white-space:nowrap}.patient-tabs button.active{color:var(--blue);border-bottom:2px solid var(--blue)}
.patient-dashboard{display:grid;grid-template-columns:.9fr 1.25fr .9fr;gap:13px}.latest-card,.dynamics-card,.diagnosis-card{min-height:250px}.latest-primary{display:flex;align-items:center;gap:14px;margin-top:24px}.big-path-icon .ui-icon{width:64px;height:64px;padding:14px;border-radius:20px;background:#eff8ff}.latest-primary small,.latest-primary strong,.latest-primary span{display:block}.latest-primary small{font-weight:800;color:#526d88}.latest-primary strong{font-size:35px;line-height:1;margin:5px 0}.latest-primary span{font-size:10px;color:var(--muted)}
.diagnosis-feature{display:flex;align-items:center;gap:12px;margin-top:30px}.diagnosis-feature>.ui-icon{width:55px;height:55px;padding:12px;border-radius:18px;background:#fff1f3}.diagnosis-feature b,.diagnosis-feature span{display:block}.diagnosis-feature b{font-size:14px}.diagnosis-feature span{font-size:10px;color:var(--muted);margin-top:4px}
.history-card{margin-top:13px}.history-list{display:grid;gap:5px}.history-item{display:grid;grid-template-columns:95px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line2);border-radius:13px;background:#fbfdff;cursor:pointer}.history-item:hover{border-color:#c6dff5;background:#f7fbff}.history-date{font-size:12px;font-weight:800}.history-kind{display:flex;align-items:center;gap:10px}.history-kind>.ui-icon{width:30px;height:30px;padding:6px;border-radius:10px;background:#eef7ff}.history-title{font-size:12px;font-weight:800}.history-metrics{font-size:10px;color:var(--muted);margin-top:3px}.icon-danger{width:34px;height:34px;border:1px solid #ffd5d7;background:#fff7f7;color:#bf454b;border-radius:10px;display:grid;place-items:center;cursor:pointer}.icon-danger .ui-icon{width:16px;height:16px}
.patient-lower-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:13px;margin-top:13px}.danger-zone{border-color:#f5dfe1}
.identity-alert{background:#fff8f8;border:1px solid #ffd4d6;color:#82454a;margin:0 0 12px}.identity-alert>div:first-child{display:flex;gap:10px}.identity-alert .ui-icon{width:28px;height:28px}.identity-alert b{color:#a73b41}.identity-alert p{margin:4px 0 0}.repair-grid{display:grid!important;grid-template-columns:1.3fr .8fr auto;gap:10px;align-items:end;margin-top:12px}.repair-grid .field{margin:0}

/* Forms / flows */
.flow-heading{margin:6px 0 18px}.flow-heading h2{font-size:30px;margin:4px 0 5px;letter-spacing:-.03em}.flow-heading p{margin:0;color:var(--muted);max-width:780px}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.choice{min-height:205px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start}.choice:hover{transform:translateY(-3px);border-color:#bddaf5;box-shadow:var(--shadow)}.choice-icon{width:54px;height:54px;border-radius:17px;background:#eef7ff;display:grid;place-items:center;margin-bottom:16px}.choice-icon.tone-cyan{background:#e9fbfb}.choice-icon.tone-violet{background:#f2efff}.choice-icon .ui-icon{width:28px;height:28px}.choice h3{margin:0 0 7px}.choice p{margin:0;line-height:1.5;font-size:13px}.choice-link{margin-top:auto;padding-top:18px;color:var(--blue);font-size:12px;font-weight:800}
.selection-card{max-width:920px}.form-card{max-width:1050px}.premium-form{padding:24px}.form-section-title{display:flex;align-items:center;gap:10px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--line2)}.form-section-title>.ui-icon{width:34px;height:34px;padding:7px;border-radius:11px;background:#edf7ff}.form-section-title b,.form-section-title span{display:block}.form-section-title span{font-size:10px;color:var(--muted);margin-top:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 17px}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:21px}
.pathologies{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pathology{cursor:pointer;min-height:210px;display:flex;flex-direction:column}.pathology:hover{transform:translateY(-3px);border-color:#c2dcf4;box-shadow:var(--shadow)}.pathology-top{display:flex;justify-content:space-between;align-items:flex-start}.pathology-top>.ui-icon{width:48px;height:48px;padding:10px;border-radius:16px;background:#eef7ff}.pathology-top>.tone-cyan{background:#e9fbfb}.pathology-top>.tone-violet{background:#f3efff}.pathology-top>.tone-coral{background:#fff0f2}.pathology .code{font-size:21px;font-weight:900;color:#14385e;margin:16px 0 3px}.pathology h3{font-size:12px;line-height:1.4;color:#637b95;margin:0}.previous-path{border-color:#9fd0f4;background:linear-gradient(180deg,#fff,#f3faff)}
.stepper{display:flex;gap:7px;margin:8px 0 18px;overflow:auto}.step{position:relative;white-space:nowrap;padding:8px 12px;border-radius:999px;background:#edf3f9;color:#758ba3;font-size:10px;font-weight:820}.step.active{background:#dceeff;color:#106bcf}.step.done{background:#e9faf5;color:#158368}
.results-hero{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:12px 0 16px}.results-hero.five{grid-template-columns:repeat(5,1fr)}.metric{padding:15px;border-radius:17px;background:linear-gradient(180deg,#fff,#f6fbff);border:1px solid var(--line);box-shadow:0 5px 18px rgba(42,81,120,.04)}.metric label{font-size:10px;color:var(--muted);display:block;min-height:28px}.metric strong{font-size:25px;letter-spacing:-.025em}.metric small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.results-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.calc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.calc-kicker{color:var(--muted);font-size:12px}

/* Charts / tables */
table{width:100%;border-collapse:collapse}td{padding:10px 7px;border-top:1px solid var(--line2);font-size:12px}td:last-child{text-align:right;font-weight:760}
.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.mini-chart{border:1px solid var(--line2);border-radius:14px;background:#fbfdff;padding:9px}.mini-chart-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:4px}.mini-chart-head b{font-size:11px}.mini-chart-head span{font-size:9px;color:var(--muted)}.mini-chart svg{width:100%;height:auto;display:block}.chartbox{height:165px;border:1px dashed #c1daef;border-radius:15px;background:#f8fbff;display:grid;place-items:center;color:#7b92aa;margin-top:10px;font-size:12px}

/* Info pages */
.tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.tech-card h3{margin-top:0}.tech-card p,.tech-card li{color:#536d87;line-height:1.58}.tech-card ul{padding-left:20px}
.ref-card{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.ref-card h3{margin:0 0 5px}.ref-card .year{font-size:10px;font-weight:850;color:var(--blue2);background:#eaf4ff;border-radius:999px;padding:6px 9px}.keypoints{margin-top:12px;padding-top:12px;border-top:1px solid var(--line2)}.keypoints summary{cursor:pointer;color:var(--blue2);font-weight:800}.keypoints p,.keypoints li{color:#526b84;line-height:1.55}.tabs{display:flex;gap:7px;margin-bottom:15px}.tab{border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 13px;cursor:pointer;font-weight:760;color:#5b7590}.tab.active{background:#eaf4ff;color:var(--blue2);border-color:#bddaf7}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.person{text-align:center;padding:22px}.person img{width:145px;height:145px;border-radius:50%;object-fit:cover;object-position:center 20%;border:5px solid #edf6ff;box-shadow:0 9px 27px rgba(25,76,124,.13)}.person h3{margin:13px 0 5px}.person p{margin:4px 0;color:var(--muted);font-size:12px;line-height:1.45}

/* Profile */
.profile-hero{display:flex;align-items:center;gap:16px;margin-bottom:15px;background:linear-gradient(105deg,#fff,#f2f9ff)}.profile-avatar-lg{width:72px;height:72px;font-size:20px}.profile-hero h2{margin:4px 0 3px}.profile-hero p{margin:0;color:var(--muted);font-size:12px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.profile-section{position:relative}.profile-section>.section-icon{position:absolute;right:17px;top:17px;width:38px;height:38px;border-radius:12px;background:#eef7ff;display:grid;place-items:center}.profile-section>.section-icon .ui-icon{width:21px;height:21px}.profile-section h3{margin:0 0 18px}.security-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 0;border-top:1px solid var(--line2)}.security-row:first-of-type{border-top:0}.security-actions{justify-content:flex-start;flex-wrap:wrap}.status{font-size:9px;font-weight:850;border-radius:999px;padding:5px 8px;white-space:nowrap}.status.ok{background:#e8faf4;color:#13775f}.status.dev{background:#fff5dd;color:#8a630a}

/* Trash */
.trash-actions{display:flex;gap:6px;flex-wrap:wrap}.trash-actions .secondary,.trash-actions .danger{padding:8px 10px;font-size:11px}

/* misc */
.print-title{display:none}.row-chevron{pointer-events:none}
.toast{position:fixed;right:20px;bottom:22px;background:#0d2949;color:#fff;padding:11px 15px;border-radius:12px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;z-index:90;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:none}

/* Responsive */
@media(max-width:1250px){
  .app-header{grid-template-columns:210px 1fr auto}.brand-lockup>span{display:none}.top-nav button{padding:9px 8px}.top-nav button span{font-size:10px}.vault-pill{display:none}
  .patient-dashboard{grid-template-columns:1fr 1fr}.diagnosis-card{grid-column:1/-1}.quick-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
  .top-nav button span{display:none}.top-nav button .ui-icon{width:22px;height:22px}.doctor-text{display:none}.doctor-pill{min-width:auto}.patients-layout,.patient-card-layout{grid-template-columns:230px 1fr}.pathologies{grid-template-columns:1fr 1fr}.results-hero,.results-hero.five{grid-template-columns:repeat(3,1fr)}.team-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .two,.three,.grid4{grid-template-columns:1fr}.list-row{grid-template-columns:1.35fr .9fr}.list-row>*:nth-child(3){display:none}
  .login-shell{display:block;padding:24px 15px}.hero{padding:5px 0 14px}.hero img{width:320px;height:110px;display:block;margin:auto}.hero h1{font-size:32px}.hero p{display:none}.login-card{margin:auto;padding:22px}
  .app-header{height:64px;padding:8px 14px;display:flex;justify-content:space-between}.brand-lockup img{width:115px;height:42px}.brand-lockup>span,.top-nav,.vault-pill,.doctor-text,.chev{display:none}.doctor-pill{border:0;background:transparent;padding:0}
  .content{padding:18px 13px 88px}.page-cap{margin-bottom:12px}.page-cap h1{font-size:21px}.page-cap-actions{display:none}
  .welcome-card{min-height:220px;padding:24px}.welcome-card h2{font-size:28px}.welcome-art{right:-20px;opacity:.16}.quick-grid,.dashboard-grid,.choice-grid,.form-grid,.detail-grid,.tech-grid,.profile-grid,.team-grid,.patient-dashboard,.patient-lower-grid{grid-template-columns:1fr}.quick-grid{gap:9px}.quick-card{padding:12px}
  .patients-layout,.patient-card-layout{display:block}.patients-rail{position:relative;top:auto;max-height:none;margin-bottom:12px}.patients-empty-main{min-height:330px}.patient-card-layout .patients-rail{display:none}
  .patient-hero-card{grid-template-columns:1fr}.patient-new{justify-self:start}.patient-stats{grid-template-columns:1fr 1fr}.patient-stats>div:nth-child(3){border-left:0;border-top:1px solid var(--line2)}.patient-stats>div:nth-child(4){border-top:1px solid var(--line2)}
  .patient-tabs{margin-top:7px}.patient-dashboard{grid-template-columns:1fr}.diagnosis-card{grid-column:auto}.history-item{grid-template-columns:78px 1fr auto}.history-metrics{line-height:1.45}
  .repair-grid{grid-template-columns:1fr!important}.pathologies{grid-template-columns:1fr 1fr}.pathology{min-height:180px}.results-hero,.results-hero.five{grid-template-columns:1fr 1fr}
  .charts-grid{grid-template-columns:1fr}.ref-card{display:block}.ref-card .year{display:inline-block;margin-top:8px}
  .mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);height:68px;bottom:0;left:0;right:0;z-index:70;background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(16px)}
  .mobile-nav button{border:0;background:transparent;color:#68809a;display:grid;place-items:center;align-content:center;gap:3px;font-size:8px}.mobile-nav .ui-icon{width:20px;height:20px}.mobile-nav button.active{color:var(--blue);font-weight:850}
  .mobile-more{position:fixed;right:10px;bottom:76px;width:255px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:8px;z-index:75}.mobile-more.open{display:grid}.mobile-more button{border:0;background:#fff;text-align:left;padding:11px;border-radius:10px;color:#4f6984;display:flex;gap:9px;align-items:center}
}
@media(max-width:440px){.pathologies{grid-template-columns:1fr}.results-hero,.results-hero.five{grid-template-columns:1fr 1fr}.patient-stats{grid-template-columns:1fr 1fr}.history-item{grid-template-columns:1fr auto}.history-date{grid-column:1/-1}.patient-name-row h2{font-size:19px}}
@media print{
  body{background:#fff}.app-header,.mobile-nav,.mobile-more,.page-cap,.results-actions,.stepper,.patients-rail,.patient-tabs,.print-hide{display:none!important}
  .content{max-width:none;padding:0}.card{box-shadow:none;border:1px solid #ddd}.results-hero,.results-hero.five{grid-template-columns:repeat(5,1fr)}.print-title{display:block;margin:0 0 18px}
}
