/*
============================================================
 MEMENTO CYCLUS THERAPY - CSS UNIFICADO
 Archivo único generado desde css.zip
 Orden recomendado en header.php:
 <link rel="stylesheet" href="<?= BASE_URL ?>/assets/css/mct-ui-unificado.css">
 Elimina/comenta el resto de <link rel="stylesheet"> antiguos para evitar duplicidades.
============================================================
*/



/* ============================================================
   ORIGEN: tokens.css
   ============================================================ */

:root{--bg:#080d18;--surface:#101827;--surface-2:#172033;--line:rgba(255,255,255,.12);--text:#f6f3ff;--muted:#b0b7ca;--primary:#8b5cf6;--secondary:#38bdf8;--accent:#f472b6;--good:#22c55e;--warn:#f59e0b;--bad:#ef4444;--radius:22px;--shadow:0 24px 70px rgba(0,0,0,.35);--gap:18px;--font:Inter,system-ui,-apple-system,Segoe UI,sans-serif}body.palette-clinical_light{--bg:#f6f7fb;--surface:#fff;--surface-2:#eef2ff;--text:#111827;--muted:#566174;--line:rgba(15,23,42,.14)}*{box-sizing:border-box}body{font-family:var(--font)}



/* ============================================================
   ORIGEN: layout.css
   ============================================================ */

.main{width:100%;min-width:0}.mct-page,.page-shell,.dash-v2{max-width:1320px;margin-inline:auto}.mct-header,.page-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:0 0 22px}.mct-grid{display:grid;gap:var(--gap)}.mct-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mct-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.mct-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.timeline{display:grid;gap:16px}.timeline-week-title{font-weight:800;color:var(--secondary);margin-top:10px}@media(max-width:900px){.mct-header,.page-header{display:grid}.mct-grid.two,.mct-grid.three,.mct-grid.four{grid-template-columns:1fr}.main{padding-inline:14px}}



/* ============================================================
   ORIGEN: app.css
   ============================================================ */

:root{--bg:#060913;--panel:rgba(17,23,42,.72);--panel2:rgba(23,18,44,.82);--line:rgba(180,140,255,.16);--text:#f7f4ff;--muted:#a9a6b8;--violet:#9b5cff;--cyan:#58e0d3;--rose:#ff5d7d;--gold:#ffc857;--green:#51e39b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 60% 0%,#21123b 0,#080b16 42%,#050711 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}.stars{position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#fff8 1px,transparent 1px),radial-gradient(#a16bff88 1px,transparent 1px);background-size:130px 130px,190px 190px;opacity:.22}.app-shell{display:grid;grid-template-columns:280px 1fr;gap:28px;min-height:100vh;padding:18px}.login-shell{display:flex;align-items:center;justify-content:center}.glass{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid var(--line);box-shadow:0 24px 80px #0008;border-radius:22px;backdrop-filter:blur(16px)}.sidebar{padding:18px;position:sticky;top:18px;height:calc(100vh - 36px);display:flex;flex-direction:column}.brand{display:flex;gap:14px;align-items:center;margin-bottom:26px}.brand.big{justify-content:center;margin-bottom:14px}.brand strong{display:block;font-size:20px}.brand span{display:block;color:var(--muted);letter-spacing:7px;font-size:12px}.orb{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#9b5cff,#18162c 65%);box-shadow:0 0 30px #9b5cff80}nav{display:grid;gap:8px}nav a,.link{color:var(--text);text-decoration:none;padding:13px 14px;border-radius:14px;color:#ded7ef}nav a:hover,nav a:first-child{background:linear-gradient(90deg,rgba(155,92,255,.27),transparent);color:white}.profile{margin-top:auto;display:flex;gap:12px;align-items:center;background:#101527;border-radius:16px;padding:14px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#3b2370}.profile small{display:block;color:var(--muted)}.main{padding:20px 10px 0 0}.hero{display:flex;justify-content:space-between;align-items:flex-start;margin:10px 0 24px}.hero h1{margin:0 0 8px;font-size:30px}.hero p{margin:0;color:var(--muted)}.moon{padding:16px 20px;display:grid;gap:5px;min-width:230px}.moon span{color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.metric{padding:20px;min-height:140px}.metric span{font-size:28px}.metric h3{margin:8px 0;color:#fff;font-size:16px}.metric strong{font-size:30px}.metric small{display:block;color:var(--muted);margin-top:4px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.panel{padding:22px;min-height:240px}.panel h1,.panel h2{margin-top:0}.molecule{font-size:70px;color:var(--violet);text-shadow:0 0 30px #9b5cff}.entry{position:relative;padding:14px 70px 14px 0;border-bottom:1px solid #ffffff12}.entry b,.entry small{display:block}.entry small,.entry p{color:var(--muted)}.entry span{position:absolute;right:0;top:18px}.chip,.note{padding:12px 14px;border:1px solid var(--line);border-radius:14px;margin:9px 0;background:#ffffff08}.cta{display:flex;justify-content:space-between;align-items:center;padding:22px;margin-bottom:20px;background:linear-gradient(120deg,rgba(155,92,255,.25),rgba(6,9,19,.75)),radial-gradient(circle at 70% 100%,#7b3dff66,transparent 40%)}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:13px 18px;background:linear-gradient(135deg,#7437d9,#9b5cff);color:white;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 12px 30px #7437d955}.btn.full{width:100%}.flash{padding:14px 18px;border-radius:14px;background:#20294b;border:1px solid var(--line);margin-bottom:14px}.footer{color:var(--muted);font-size:13px;padding:18px}.login-card{max-width:460px;width:92%;padding:34px;text-align:center}.login-card h1{font-size:36px;margin:10px 0}.demo-users{font-size:13px;color:var(--muted);margin-top:14px}label{display:grid;gap:7px;color:#ddd;margin-bottom:14px;text-align:left}input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(2,5,14,.7);border-radius:13px;color:var(--text);padding:13px 14px;font:inherit;outline:none}textarea{resize:vertical}.form-panel{max-width:980px}.smart-form{margin-top:20px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.patient-row{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;color:var(--text);text-decoration:none;padding:15px;border-bottom:1px solid #fff1}.patient-row span,.patient-row em{color:var(--muted)}.pattern-map{display:flex;flex-wrap:wrap;gap:14px;padding:18px}.node{width:150px;height:92px;display:grid;place-items:center;text-align:center;border-radius:50%;background:radial-gradient(circle,#4e258b,#12182d);border:1px solid #9b5cff55;box-shadow:0 0 25px #9b5cff44}.node small{display:block;color:var(--cyan)}.center{text-align:center;max-width:520px;margin:80px auto}@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.metric-grid,.grid-2{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.app-shell{padding:10px}.metric-grid,.grid-2,.form-grid{grid-template-columns:1fr}.hero,.cta{display:grid;gap:16px}.patient-row{grid-template-columns:1fr}.main{padding:0}.sidebar{border-radius:18px}}
.metric-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-main{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:16px;margin-bottom:16px}.span-2{grid-column:span 2}.recommendation{text-align:center}.circle-art{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;margin:10px auto;background:radial-gradient(circle,#7d44ff55,#101527);font-size:54px}.sync{margin-top:14px;display:block;text-align:center;background:#12172a;padding:12px;border-radius:13px;color:#caa8ff;text-decoration:none}.bottom-icons{display:flex;justify-content:space-around;margin-top:18px}.bottom-icons a{color:#d8d2e8;text-decoration:none}.nav-title{color:var(--muted);text-transform:uppercase;font-size:12px;letter-spacing:.08em;margin:18px 10px 6px}.filters{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:10px;padding:14px;margin-bottom:16px}.history-list{display:grid;gap:14px}.record-card{display:grid;grid-template-columns:70px 1fr 130px;gap:18px;padding:18px;align-items:center}.record-face{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#10233a;color:#58e0d3;font-size:28px;border:1px solid #58e0d355}.record-face.crisis,.record-face.dificil{color:#ff5d7d;border-color:#ff5d7d66}.record-main h2{margin:0 0 8px}.record-main p{margin:0;color:var(--muted)}.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.meta span{background:#ffffff0b;border:1px solid var(--line);padding:5px 8px;border-radius:999px;font-size:12px}.record-score{text-align:right;display:grid;gap:8px}.mini-btn{border:1px solid var(--line);border-radius:10px;background:#ffffff0a;color:#e8ddff;padding:8px 10px;text-decoration:none;cursor:pointer}.mini-btn.danger,.danger{color:#ff7c94;border-color:#ff5d7d66}.btn.ghost{background:transparent;border:1px solid #8d62ff77}.form-grid.two{grid-template-columns:1fr 220px}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.day-card{padding:16px;display:grid;gap:5px}.day-card strong{font-size:24px}.day-card b{color:#c39bff}.chip.inline{display:inline-flex;margin:5px}.streak strong{display:block;font-size:28px}.streak small{color:var(--muted)}.dots{display:flex;gap:14px;margin-top:22px}.dots span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#7f4ae0;box-shadow:0 0 18px #7f4ae066}@media(max-width:1150px){.metric-grid.five,.grid-main{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}.filters{grid-template-columns:1fr 1fr}.record-card{grid-template-columns:1fr}.record-score{text-align:left}}@media(max-width:680px){.metric-grid.five,.grid-main,.filters{grid-template-columns:1fr}.span-2{grid-column:span 1}}
/* PRO responsive polish */
html{scroll-behavior:smooth} img,svg,canvas{max-width:100%}.mobile-menu,.sidebar-backdrop{display:none}.main{min-width:0}.panel,.metric,.glass{min-width:0}.table-wrap{overflow-x:auto;border-radius:18px}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:12px;border-bottom:1px solid #ffffff12;text-align:left;vertical-align:top}.data-table th{color:#cdbdff;font-weight:700}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.actions.left{justify-content:flex-start}.admin-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.pro-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.stat-pill{padding:14px;border-radius:16px;background:#ffffff08;border:1px solid var(--line)}.stat-pill strong{display:block;font-size:24px}.record-card,.patient-row,.chip,.note,.day-card,.panel{overflow-wrap:anywhere}.textarea-small{min-height:96px}.is-done{opacity:.62}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--line);padding:5px 9px;background:#ffffff0a;font-size:12px}.badge.ok{color:var(--green)}.badge.warn{color:var(--gold)}.badge.danger{color:var(--rose)}
@media (max-width: 1280px){.app-shell{grid-template-columns:250px 1fr;gap:18px}.metric-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-main{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}.hero h1{font-size:26px}}
@media (max-width: 980px){.mobile-menu{display:grid;position:fixed;z-index:50;left:14px;top:14px;width:44px;height:44px;place-items:center;border-radius:14px;border:1px solid var(--line);background:#101527;color:#fff;box-shadow:0 14px 40px #0008}.app-shell{display:block;padding:12px}.sidebar{position:fixed;z-index:60;left:12px;top:12px;bottom:12px;width:min(86vw,320px);height:auto;transform:translateX(calc(-100% - 24px));transition:transform .24s ease;overflow:auto}.menu-open .sidebar{transform:translateX(0)}.sidebar-backdrop{display:none;position:fixed;z-index:55;inset:0;background:#0009;backdrop-filter:blur(3px)}.menu-open .sidebar-backdrop{display:block}.main{padding:64px 0 0}.admin-grid,.pro-grid,.grid-2,.grid-main{grid-template-columns:1fr}.span-2{grid-column:auto}.metric-grid,.metric-grid.five,.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:14px}.moon{min-width:0;width:100%}.filters{grid-template-columns:1fr 1fr}.form-grid,.form-grid.two{grid-template-columns:1fr 1fr}.record-card{grid-template-columns:56px 1fr}.record-score{grid-column:1/-1;text-align:left;display:flex;flex-wrap:wrap}.cta{align-items:stretch}.cta .btn{width:100%}}
@media (max-width: 560px){body{font-size:15px}.app-shell{padding:8px}.main{padding-top:58px}.glass,.panel,.metric{border-radius:18px}.panel{padding:16px}.metric-grid,.metric-grid.five,.stats-strip,.filters,.form-grid,.form-grid.two{grid-template-columns:1fr}.hero h1{font-size:23px}.brand strong{font-size:18px}.record-card{grid-template-columns:1fr}.record-face{width:48px;height:48px}.actions{justify-content:flex-start}.btn,.mini-btn,input,select,textarea{width:100%}.entry{padding-right:0}.entry span{position:static;margin-top:8px}.data-table{min-width:620px}.dots{gap:8px;flex-wrap:wrap}.dots span{width:30px;height:30px}.login-card{padding:22px}.login-card h1{font-size:28px}}
@media (max-width: 380px){.hero h1{font-size:20px}.metric strong{font-size:24px}.panel h2{font-size:19px}.sidebar{width:calc(100vw - 16px);left:8px;top:8px;bottom:8px}}

/* === v3 dashboard pack: paciente/profesional/admin basado en los mockups === */
:root{--blue:#4aa3ff;--deep:#090d19;--panelGlow:0 24px 80px #0009, inset 0 1px 0 #ffffff0b}.nebula{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 55% 3%,#8e4fff2b,transparent 20%),radial-gradient(circle at 84% 30%,#42ffe622,transparent 22%),radial-gradient(circle at 20% 72%,#6d3cff17,transparent 24%);filter:blur(6px);opacity:.75}.brand em{display:inline-flex;margin-top:10px;padding:6px 14px;border-radius:9px;background:#7d43dc33;color:#d9c5ff;font-style:normal;font-size:12px;letter-spacing:0}.nav-badge{float:right;background:#8f54ff;border-radius:999px;font-size:11px;padding:1px 7px}.help-card{padding:16px;border:1px solid var(--line);border-radius:16px;background:#ffffff08;margin-top:18px}.help-card strong,.help-card small{display:block}.help-card small{color:var(--muted);margin:6px 0 12px}.help-card a{display:block;text-align:center;background:#7d43dc33;border-radius:10px;color:#d8b8ff;text-decoration:none;padding:9px}.wellness-mini{padding:14px;margin-top:14px;border-radius:16px;background:#ffffff08;border:1px solid var(--line)}.wellness-mini small,.wellness-mini strong{display:block}.wellness-mini i{display:block;height:7px;border-radius:999px;background:#ffffff14;margin:10px 0}.wellness-mini i b{display:block;width:62%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7038d9,#b35cff)}.wellness-mini span{display:flex;justify-content:space-between;color:#ddd;font-size:13px;margin-bottom:12px}.wellness-mini a{display:block;text-align:center;background:#7d43dc33;border-radius:10px;color:#d8b8ff;text-decoration:none;padding:9px}.dash-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:6px 0 22px}.dash-top h1{font-size:28px;margin:2px 0 8px}.dash-top p{color:var(--muted);margin:0}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#cbb8ff!important}.top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.icon-bell{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:#ffffff08}.icon-bell b{position:absolute;right:-5px;top:-6px;background:#8f54ff;border-radius:99px;font-size:11px;line-height:1;padding:4px 6px}.user-pill{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:10px 16px}.user-pill small{grid-column:2;color:var(--muted);margin-top:-8px}.avatar.mini{width:36px;height:36px;font-size:18px}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.visual-metrics .metric{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;min-height:154px}.visual-metrics .metric:after{content:"";position:absolute;inset:auto 16px 14px 16px;height:54px;background:linear-gradient(180deg,transparent,currentColor);opacity:.12;border-radius:14px;clip-path:polygon(0 80%,8% 70%,16% 84%,26% 62%,36% 69%,46% 42%,56% 70%,64% 66%,75% 35%,84% 64%,92% 54%,100% 46%,100% 100%,0 100%)}.visual-metrics .metric i{position:absolute;left:18px;bottom:16px;width:calc(var(--w,60%) - 18px);height:3px;border-radius:999px;background:currentColor;box-shadow:0 0 18px currentColor}.metric-icon{grid-row:span 3;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:currentColor;font-size:27px;box-shadow:0 0 30px currentColor}.metric-icon::first-letter{filter:none}.metric h3{margin:2px 0 0}.metric strong small{font-size:16px;color:#cfc7dd}.metric-purple{color:var(--violet)}.metric-cyan{color:var(--cyan)}.metric-blue{color:var(--blue)}.metric-gold{color:var(--gold)}.metric-rose{color:var(--rose)}.metric h3,.metric strong{color:#fff}.metric span{font-size:13px;color:currentColor}.patient-layout{display:grid;grid-template-columns:1.45fr 1.05fr 1fr;gap:16px}.pro-dashboard-layout{display:grid;grid-template-columns:1.25fr 1.25fr 1.1fr 1.1fr;gap:16px}.admin-dashboard-layout{display:grid;grid-template-columns:1.4fr 1.1fr 1.05fr 1.05fr;gap:16px}.span-2{grid-column:span 2}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.panel-head h2{margin:0}.panel-head a,.legend span,.range-tabs span,.range-tabs b{font-size:13px;color:#cfaeff;text-decoration:none}.legend{display:flex;gap:16px}.legend span:before{content:"";display:inline-block;width:12px;height:4px;border-radius:999px;margin-right:6px;vertical-align:middle;background:currentColor}.purple{color:var(--violet)!important}.cyan{color:var(--cyan)!important}.rose{color:var(--rose)!important}.chart-lines{width:100%;height:auto}.chart-lines svg{width:100%;height:260px}.gridline path{stroke:#ffffff12;stroke-width:1;fill:none}.line{fill:none;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 7px currentColor)}.line.purple{stroke:var(--violet);color:var(--violet)}.line.cyan{stroke:var(--cyan);color:var(--cyan)}.line.rose{stroke:var(--rose);color:var(--rose)}svg text{fill:#bfb8ce;font-size:14px}.balance-card{text-align:center}.wellness-ring{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;margin:18px auto;background:conic-gradient(from 0deg,#9b5cff,#6728cc,#9b5cff 75%,#ffffff16 0);box-shadow:0 0 36px #9b5cff66}.wellness-ring span{width:135px;height:135px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#2a164e,#0d1324);font-size:55px}.recommendation-card{overflow:hidden}.landscape-art{height:146px;border-radius:14px;background:radial-gradient(circle at 55% 20%,#ffd7ff,transparent 7%),radial-gradient(circle at 52% 44%,#9b5cff99,transparent 24%),linear-gradient(160deg,#150b30,#381763 42%,#09101f 43%);position:relative}.landscape-art:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(160deg,transparent 20%,#070b15 21% 42%,transparent 43%),linear-gradient(20deg,transparent 20%,#0d1425 21% 50%,transparent 51%)}.record-line,.activity-line,.agenda-line,.task-line,.alert-line,.patient-chip,.rank-line,.system-alert{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #ffffff10;text-decoration:none;color:var(--text)}.record-line:last-child,.activity-line:last-child,.agenda-line:last-child,.task-line:last-child,.alert-line:last-child,.patient-chip:last-child,.rank-line:last-child,.system-alert:last-child{border-bottom:0}.record-line .face{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--cyan);color:var(--cyan)}.record-line .face.sad{border-color:var(--rose);color:var(--rose)}.record-line small,.activity-line small,.agenda-line small,.task-line small,.patient-chip small,.rank-line small,.system-alert small{display:block;color:var(--muted)}.records-card{grid-row:span 2}.streak-card strong{font-size:32px}.week-dots{display:flex;justify-content:space-between;gap:8px;margin-top:20px}.week-dots span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#7c45dc;color:white;position:relative}.week-dots span:last-child{background:#151a2b;border:2px solid var(--gold);color:var(--gold)}.week-dots small{position:absolute;top:44px;color:#bdb5c9;font-size:11px}.register-now{grid-column:span 2;min-height:0;background:linear-gradient(120deg,rgba(155,92,255,.32),rgba(8,11,22,.82)),radial-gradient(circle at 78% 100%,#d78cff59,transparent 34%)}.tool-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px}.tool-grid a,.quick-grid a{display:grid;gap:7px;place-items:center;text-align:center;min-height:82px;border:1px solid var(--line);border-radius:14px;background:#ffffff08;color:#ddd;text-decoration:none}.tool-grid a:first-child,.quick-grid a:first-child{color:#b77cff}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-grid a{font-size:28px}.quick-grid span,.tool-grid span{font-size:13px}.donut{width:170px;height:170px;border-radius:50%;margin:18px auto;background:conic-gradient(var(--violet) 0 39%,var(--cyan) 39% 71%,var(--gold) 71% 92%,var(--rose) 92% 100%);display:grid;place-items:center}.donut span{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:#101527;font-size:28px;font-weight:800;text-align:center}.donut small{display:block;font-size:12px;color:var(--muted);font-weight:500}.donut-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.donut-list li{display:flex;align-items:center;gap:9px;color:#ddd}.donut-list span{margin-left:auto;color:#bdb5c9}.donut-list b{width:10px;height:10px;border-radius:50%}.purple-dot{background:var(--violet)}.cyan-dot{background:var(--cyan)}.gold-dot{background:var(--gold)}.rose-dot{background:var(--rose)}.alert-line{grid-template-columns:auto 1fr auto}.alert-line b{font-size:24px}.alert-line a{color:#cba6ff;text-decoration:none}.alert-line.danger strong{color:var(--rose)}.alert-line.warn strong{color:var(--gold)}.alert-line.ok strong{color:var(--violet)}.agenda-line{grid-template-columns:64px 1fr auto}.agenda-line time{color:#d3ccdf}.agenda-line span,.patient-chip .badge,.system-alert span{border-radius:8px;padding:5px 9px;background:#7d43dc26;color:#d8b8ff;font-size:12px}.patient-chip{grid-template-columns:auto 1fr auto}.analysis-short p{color:var(--muted)}.tool-grid.compact{grid-template-columns:repeat(4,1fr)}.admin-actions .btn,.admin-actions .mini-btn{width:auto}.range-tabs{display:flex;gap:8px}.range-tabs span,.range-tabs b{padding:8px 12px;border-radius:10px;background:#ffffff08}.range-tabs b{background:#7d43dc55;color:white}.system-alert{grid-template-columns:auto 1fr auto}.system-alert.critical span{background:#ff5d7d22;color:#ff7c94}.system-alert.warn span{background:#ffc85722;color:#ffc857}.system-alert.ok span{background:#58e0d322;color:#58e0d3}.rank-line{grid-template-columns:26px auto 1fr auto}.rank-line>span{color:var(--green)}.usage-row{display:grid;gap:8px;margin:14px 0}.usage-row b{justify-self:end;margin-top:-24px;color:#cfc8d8}.usage-row i{height:8px;border-radius:999px;background:#ffffff12;position:relative}.usage-row i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,#7d43dc,#b86cff)}.finance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:14px 0}.finance-grid div{border-right:1px solid #ffffff12}.finance-grid div:last-child{border-right:0}.finance-grid span,.finance-grid small{display:block;color:var(--muted)}.finance-grid strong{font-size:25px}.finance-grid small{color:var(--green)}.status-line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #ffffff10}.status-line b{color:var(--green)}.extra-admin{margin-top:16px}.muted{color:var(--muted)}
@media(max-width:1450px){.patient-layout,.pro-dashboard-layout,.admin-dashboard-layout{grid-template-columns:1fr 1fr}.recommendation-card,.tasks-card,.reminders-card{grid-column:auto}.tool-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1180px){.metric-grid.four,.metric-grid.five{grid-template-columns:repeat(2,1fr)}.pro-dashboard-layout,.admin-dashboard-layout,.patient-layout{grid-template-columns:1fr}.span-2,.register-now{grid-column:auto}.tool-grid,.tool-grid.compact{grid-template-columns:repeat(3,1fr)}.finance-grid{grid-template-columns:1fr 1fr}.admin-actions{justify-content:flex-start}}
@media(max-width:680px){.dash-top{display:grid}.top-actions{justify-content:flex-start}.metric-grid.four,.metric-grid.five{grid-template-columns:1fr}.visual-metrics .metric{grid-template-columns:auto 1fr}.panel-head{align-items:flex-start;flex-direction:column}.legend{flex-wrap:wrap}.record-line,.activity-line,.agenda-line,.task-line,.alert-line,.patient-chip,.rank-line,.system-alert{grid-template-columns:1fr}.tool-grid,.tool-grid.compact,.quick-grid{grid-template-columns:1fr 1fr}.week-dots{flex-wrap:wrap;justify-content:flex-start;margin-bottom:24px}.finance-grid{grid-template-columns:1fr}.finance-grid div{border-right:0;border-bottom:1px solid #ffffff12;padding-bottom:10px}.chart-lines svg{height:220px}.wellness-ring,.donut{width:140px;height:140px}.wellness-ring span,.donut span{width:104px;height:104px}.admin-actions .btn,.admin-actions .mini-btn{width:100%}}
@media(max-width:430px){.tool-grid,.tool-grid.compact,.quick-grid{grid-template-columns:1fr}.visual-metrics .metric{grid-template-columns:1fr}.metric-icon{grid-row:auto}.moon{width:100%}.top-actions{width:100%}.user-pill{width:100%}.sidebar nav a{font-size:14px}}

/* Pro build extension: Memento Cyclus Therapy */
.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 24px;padding:14px 4px}.hero h1{font-size:clamp(2rem,4vw,3.8rem);margin:.15em 0;color:#fff;letter-spacing:-.04em}.hero p{max-width:760px;color:#b7bfd4}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#9b5cff;font-size:.78rem;font-weight:800}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1.15fr .85fr}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.panel,.card{border:1px solid rgba(160,120,255,.18);border-radius:22px;background:linear-gradient(145deg,rgba(14,20,38,.86),rgba(9,13,28,.76));box-shadow:0 20px 80px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04);padding:22px}.card{min-height:170px}.card.featured{background:radial-gradient(circle at top right,rgba(129,75,255,.23),transparent 42%),linear-gradient(145deg,rgba(18,22,42,.9),rgba(9,13,28,.78))}.icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(139,92,246,.16);color:#a855f7;font-size:1.6rem;margin-bottom:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(139,92,246,.35);border-radius:12px;padding:12px 18px;text-decoration:none;color:#dbcaff;background:rgba(139,92,246,.12);font-weight:800}.btn.primary{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;box-shadow:0 12px 30px rgba(124,58,237,.28)}.muted{color:#8792ad}.timeline-list{display:grid;gap:10px}.timeline-row{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.03)}.timeline-row small,.message-card small,.metric-row small{display:block;color:#8c96ad;margin-top:3px}.pill{padding:6px 10px;border-radius:999px;background:rgba(139,92,246,.16);color:#c4a7ff;font-size:.78rem}.pill.completed,.pill.done{background:rgba(20,184,166,.16);color:#5eead4}.pill.cancelled{background:rgba(244,63,94,.16);color:#fb7185}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:7px;color:#cbd5e1;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid rgba(255,255,255,.1);background:rgba(4,8,20,.7);color:#fff;border-radius:12px;padding:12px}.form-grid textarea{min-height:120px;resize:vertical}.span-2{grid-column:1/-1}.message-card,.metric-row{padding:14px;border-bottom:1px solid rgba(255,255,255,.08)}.message-card p{color:#cbd5e1}.metric-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.metric-row small{grid-column:1/-1}.footer{opacity:.7;margin-top:24px;padding:12px;color:#8d99b7}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-actions a{padding:18px;border-radius:16px;background:rgba(139,92,246,.12);text-align:center;text-decoration:none;color:#eadcff;border:1px solid rgba(139,92,246,.22)}
@media (max-width:1100px){.grid.two{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.timeline-row{grid-template-columns:58px 1fr}.timeline-row .pill{grid-column:2}.form-grid{grid-template-columns:1fr}}

/* === Memento Cyclus Therapy - visual/fullstack repair layer === */
:root{--bg:#060b16;--panel:#0e1628cc;--panel2:#121c32d9;--stroke:#24314d;--text:#f6f3ff;--muted:#a9aec5;--purple:#9b4dff;--purple2:#6d35df;--cyan:#2fd1c4;--blue:#6b8cff;--gold:#f6b400;--rose:#ff4e67;--green:#33d28f;--radius:18px;--shadow:0 22px 70px rgba(0,0,0,.38)}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 62% 0,#191143 0 16%,transparent 33%),radial-gradient(circle at 92% 12%,#101d3d 0 14%,transparent 28%),linear-gradient(135deg,#040912,#08101f 48%,#050914);overflow-x:hidden}.stars,.nebula{position:fixed;inset:0;pointer-events:none}.stars{background-image:radial-gradient(#fff8 1px,transparent 1px),radial-gradient(#9b5cff55 1px,transparent 1px);background-size:90px 90px,140px 140px;opacity:.26}.nebula{background:radial-gradient(circle at 48% 8%,#7a3cff33,transparent 25%),radial-gradient(circle at 78% 74%,#2fd1c422,transparent 30%);filter:blur(18px)}a{color:inherit;text-decoration:none}.glass{background:linear-gradient(180deg,rgba(18,27,48,.86),rgba(8,15,29,.8));border:1px solid rgba(140,117,255,.16);box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(14px)}.app-shell{display:grid;grid-template-columns:292px minmax(0,1fr);gap:26px;min-height:100vh;padding:16px}.login-shell{display:block}.main{min-width:0;padding:12px 8px 20px}.sidebar{position:sticky;top:16px;height:calc(100vh - 32px);border-radius:24px;padding:18px 14px;display:flex;flex-direction:column;overflow:hidden}.brand{display:flex;gap:14px;align-items:center;margin-bottom:22px}.brand .orb{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#b569ff,#2d185b 58%,#0b1020);box-shadow:0 0 28px #9b4dff77;color:white;font-size:30px}.brand strong{display:block;font-size:21px}.brand span{display:block;letter-spacing:8px;color:#c9c0df;font-size:12px;margin-top:3px}.brand em{display:inline-block;margin-top:12px;padding:6px 16px;border-radius:999px;background:#5c26a455;color:#d9c3ff;font-style:normal;font-size:13px}nav{display:flex;flex-direction:column;gap:7px;overflow:auto;padding-right:4px}nav a{display:flex;align-items:center;gap:10px;min-height:42px;padding:11px 14px;border-radius:8px;color:#c8cad8;position:relative}nav a:hover,nav a[aria-current="page"],nav a:first-child{background:linear-gradient(90deg,#7b35ef6b,#3d256e88);color:white}.nav-badge{margin-left:auto;background:var(--purple);border-radius:999px;padding:2px 7px}.nav-title{color:#778095;text-transform:uppercase;font-size:12px;letter-spacing:.06em;margin:18px 12px 6px}.profile,.wellness-mini,.help-card,.sync{margin-top:14px;padding:14px;border-radius:14px;background:rgba(126,88,255,.08);border:1px solid rgba(153,116,255,.1)}.profile{display:flex;gap:12px;align-items:center}.avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#d8b3ff,#33225f 60%,#0b1221)}.avatar.mini{width:36px;height:36px;font-size:17px}.profile small{display:block;color:var(--muted);margin-top:3px}.wellness-mini small,.wellness-mini span{display:block;color:var(--muted)}.wellness-mini i{display:block;height:7px;background:#222944;border-radius:999px;margin:10px 0}.wellness-mini i b{display:block;width:64%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--purple),#b65cff)}.wellness-mini a,.sync{display:block;text-align:center;color:#e2bdff}.bottom-icons{margin-top:auto;display:flex;justify-content:space-around;padding-top:16px}.mobile-menu,.sidebar-backdrop{display:none}.flash{position:fixed;right:22px;top:20px;z-index:9;background:#1d1236;border:1px solid #8a52ff99;border-radius:14px;padding:12px 16px;color:white;box-shadow:0 20px 50px #0008}.dash-top,.hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:0 0 18px}.dash-top h1,.hero h1{margin:0;font-size:clamp(28px,3vw,44px);letter-spacing:-.04em}.dash-top p,.hero p{color:var(--muted);margin:8px 0 0}.eyebrow{margin:0 0 6px!important;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:#b99dff!important}.top-actions{display:flex;gap:12px;align-items:center}.icon-bell{position:relative;font-size:22px;color:#bcc1d6}.icon-bell b{position:absolute;right:-7px;top:-8px;background:var(--purple);font-size:11px;padding:2px 6px;border-radius:99px}.moon,.user-pill{min-width:230px;border-radius:16px;padding:13px 18px}.moon strong,.moon span,.user-pill strong,.user-pill small{display:block}.moon span,.user-pill small{color:var(--muted);margin-top:4px}.user-pill{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.user-pill small{grid-column:2}.metric-grid{display:grid;gap:16px;margin-bottom:16px}.metric-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{border-radius:14px;padding:22px;min-height:150px;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;left:18px;right:18px;bottom:18px;height:38px;background:linear-gradient(90deg,currentColor var(--w,60%),transparent 0);clip-path:polygon(0 66%,8% 50%,16% 72%,25% 44%,34% 54%,44% 24%,54% 50%,64% 35%,72% 64%,82% 30%,100% 44%,100% 100%,0 100%);opacity:.55}.metric h3{margin:0 0 8px 70px;color:#e7e2f0;font-size:16px}.metric strong{display:block;margin-left:70px;font-size:30px;line-height:1}.metric small{font-size:16px;color:var(--muted)}.metric span{display:block;margin:7px 0 0 70px;font-weight:700;font-size:13px}.metric-icon{position:absolute;top:22px;left:22px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:currentColor;font-size:27px}.metric-icon:first-letter{filter:saturate(0)}.metric-purple{color:var(--purple)}.metric-cyan{color:var(--cyan)}.metric-blue{color:var(--blue)}.metric-gold{color:var(--gold)}.metric-rose{color:var(--rose)}.patient-layout,.pro-dashboard-layout{display:grid;grid-template-columns:1.35fr 1fr .95fr;gap:16px;align-items:stretch}.span-2{grid-column:span 2}.panel,.cta{border-radius:14px;padding:20px;min-width:0}.panel h2,.cta h2{margin:0 0 14px;font-size:20px}.panel h3{margin:10px 0 5px}.panel p,.muted{color:var(--muted)}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.panel-head a{color:#c273ff;font-weight:700}.chart-card{min-height:320px}.chart-lines svg{width:100%;height:auto}.gridline path{stroke:#27304a;stroke-width:1;opacity:.55}.line{fill:none;stroke-width:4;stroke-linecap:round}.line.purple{stroke:var(--purple)}.line.cyan{stroke:var(--cyan)}.line.rose{stroke:var(--rose)}svg text{fill:#aeb4c7;font-size:16px}.legend{display:flex;gap:18px;color:#cfd2df;font-size:13px}.legend span:before{content:"";display:inline-block;width:12px;height:5px;border-radius:8px;margin-right:7px;vertical-align:middle}.legend .purple:before{background:var(--purple)}.legend .cyan:before{background:var(--cyan)}.legend .rose:before{background:var(--rose)}.wellness-ring{width:150px;height:150px;border-radius:50%;margin:8px auto;background:conic-gradient(var(--purple) 0 82%,#17213b 0);display:grid;place-items:center;box-shadow:0 0 34px #9b4dff66}.wellness-ring span{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;font-size:56px;background:radial-gradient(circle,#442072,#090f1f)}.balance-card{text-align:center}.btn,.mini-btn{border:0;border-radius:10px;background:linear-gradient(135deg,var(--purple),var(--purple2));color:white;padding:12px 20px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.ghost,.mini-btn{background:#24163e;border:1px solid #6634b9}.btn.full{width:100%}.mini-btn{padding:8px 12px;font-size:13px}.mini-btn.danger{border-color:#ff4e6788;color:#ff9aa8}.landscape-art{height:140px;border-radius:8px;background:radial-gradient(circle at 70% 25%,#ddd9ff 0 10px,transparent 11px),linear-gradient(140deg,#201a68,#5c2a88 45%,#16213c);position:relative;overflow:hidden}.landscape-art:after{content:"";position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(160deg,transparent 40%,#050914 41%),linear-gradient(25deg,transparent 48%,#0a1429 49%)}.record-line,.task-line,.activity-line,.alert-line,.agenda-line,.patient-chip,.entry{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #23304a}.record-line:last-child,.task-line:last-child,.entry:last-child{border-bottom:0}.record-line small,.task-line small,.activity-line small,.agenda-line small,.patient-chip small{display:block;color:var(--muted);margin-top:3px}.face{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:2px solid currentColor}.face.happy{color:var(--green)}.face.sad{color:var(--rose)}.badge{border-radius:8px;padding:6px 10px;background:#351b66;color:#d9bdff;font-size:12px;margin-left:auto}.badge.ok{background:#06372e;color:#3af1b1}.badge.danger{background:#3b1421;color:#ff8091}.task-line span:first-child{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;border:2px solid #68708a;color:white}.task-line.is-done span:first-child{background:var(--purple);border-color:var(--purple)}.streak-card strong{font-size:30px}.week-dots{display:flex;justify-content:space-between;margin-top:20px}.week-dots span{width:35px;height:35px;border-radius:50%;background:var(--purple);display:grid;place-items:center;position:relative}.week-dots small{position:absolute;top:42px;color:var(--muted);font-size:12px}.cta{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#452084cc,#141c34cc),radial-gradient(circle at 70%,#d966ff33,transparent 28%)}.tool-grid,.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px}.tool-grid a,.quick-grid a{min-height:78px;border-radius:10px;border:1px solid #26334f;background:#0c1428cc;display:grid;place-items:center;text-align:center;color:#d7d9e7;font-size:25px;padding:10px}.tool-grid span,.quick-grid span{display:block;font-size:12px;color:#c8cad8}.donut{width:190px;height:190px;border-radius:50%;margin:auto;background:conic-gradient(var(--purple) 0 39%,var(--cyan) 0 71%,var(--gold) 0 92%,var(--rose) 0);display:grid;place-items:center}.donut span{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:#0c1426;font-size:30px;font-weight:800;text-align:center}.donut small{display:block;font-size:12px;color:var(--muted);font-weight:400}.donut-list{list-style:none;padding:0;margin:16px 0}.donut-list li{display:flex;justify-content:space-between;padding:6px 0;color:#cdd1e2}.purple-dot,.cyan-dot,.gold-dot,.rose-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px}.purple-dot{background:var(--purple)}.cyan-dot{background:var(--cyan)}.gold-dot{background:var(--gold)}.rose-dot{background:var(--rose)}.agenda-line time{color:#c8a3ff;min-width:52px}.agenda-line span{margin-left:auto;background:#251442;color:#d5b4ff;border-radius:8px;padding:6px 10px}.alert-line a{margin-left:auto;color:#cf9cff}.danger strong{color:var(--rose)}.warn strong{color:var(--gold)}.ok strong{color:#bd70ff}.patient-chip{color:inherit}.analysis-short{display:grid;grid-template-columns:1fr 2fr;gap:16px;align-items:center}label{display:block;color:#d9dcec;margin:12px 0}input,select,textarea{width:100%;border:1px solid #2b3959;background:#0a1224;color:white;border-radius:10px;padding:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#8a52ff;box-shadow:0 0 0 3px #8a52ff22}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.note{border:1px solid #26334f;border-radius:12px;padding:12px;margin-bottom:10px;background:#0c1428}.entry form{margin-left:auto}
@media(max-width:1280px){.app-shell{grid-template-columns:260px 1fr}.metric-grid.five{grid-template-columns:repeat(3,1fr)}.patient-layout,.pro-dashboard-layout{grid-template-columns:1fr 1fr}.recommendation-card,.tasks-card,.reminders-card,.quick-actions,.agenda-card,.patients-list{grid-column:span 1}}@media(max-width:860px){.app-shell{display:block;padding:10px}.main{padding-top:64px}.mobile-menu{display:grid;position:fixed;top:14px;left:14px;z-index:30;width:44px;height:44px;border-radius:12px;border:1px solid #61439c;background:#140d2a;color:white}.sidebar{position:fixed;z-index:25;left:10px;top:10px;bottom:10px;width:min(320px,86vw);height:auto;transform:translateX(-110%);transition:.25s ease}.menu-open .sidebar{transform:none}.sidebar-backdrop{position:fixed;z-index:20;inset:0;background:#02040aaa}.menu-open .sidebar-backdrop{display:block}.dash-top,.hero,.top-actions,.cta{flex-direction:column}.metric-grid.five,.metric-grid.four,.patient-layout,.pro-dashboard-layout,.grid-2{grid-template-columns:1fr}.span-2,.analysis-short{grid-column:auto}.analysis-short{display:block}.moon,.user-pill{min-width:0;width:100%}.chart-card{min-height:auto}.panel,.metric{padding:16px}.metric h3,.metric strong,.metric span{margin-left:62px}}@media(max-width:520px){.tool-grid,.quick-grid{grid-template-columns:repeat(2,1fr)}.record-line,.patient-chip,.agenda-line{align-items:flex-start}.badge{margin-left:0}.week-dots{gap:8px;overflow:auto;padding-bottom:22px}.panel-head{align-items:flex-start;flex-direction:column}.landscape-art{height:110px}}


/* === Fix 2026-04-30: sidebar con scroll general + rendimiento === */
html{scroll-behavior:auto!important;}
body{overflow-y:auto;}
.app-shell{align-items:start;min-height:100vh;}
.sidebar{
  position:relative!important;
  top:auto!important;
  height:auto!important;
  max-height:none!important;
  min-height:calc(100vh - 36px);
  overflow:visible!important;
  align-self:start;
}
.sidebar .profile{margin-top:28px;}
.bottom-icons{margin-top:18px;}

/* El blur pesado era el mayor cuello de botella visual en equipos modestos. */
.glass{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 14px 38px rgba(0,0,0,.36)!important;}
.stars{opacity:.12!important;background-size:220px 220px,320px 320px!important;}
.metric:after{opacity:.34!important;will-change:auto!important;}
.panel,.metric,.glass{contain:layout paint;}
.main{contain:layout;}

@media (min-width:861px){
  .app-shell{grid-template-columns:260px minmax(0,1fr);}
}

@media (max-width:860px){
  .app-shell{display:block;}
  .sidebar{
    position:relative!important;
    left:auto!important;top:auto!important;bottom:auto!important;
    width:100%!important;
    transform:none!important;
    min-height:auto!important;
    margin-bottom:14px;
  }
  .mobile-menu,.sidebar-backdrop{display:none!important;}
  .main{padding-top:0!important;}
  body.menu-open{overflow:auto;}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* Interacciones funcionales añadidas */
.task-line button[type="submit"]{border:1px solid rgba(155,92,255,.45);background:rgba(155,92,255,.16);color:#fff;border-radius:10px;min-width:32px;height:32px;cursor:pointer;font-size:1rem}.task-line button[type="submit"]:disabled{opacity:.55;cursor:wait}.toast-zone{position:fixed;right:22px;bottom:22px;z-index:80;display:grid;gap:10px}.toast{padding:12px 16px;border-radius:14px;background:rgba(25,18,48,.94);border:1px solid rgba(155,92,255,.38);box-shadow:0 12px 35px rgba(0,0,0,.35);color:#fff;animation:toastIn .18s ease-out}.toast.bad{border-color:rgba(255,79,99,.55)}@keyframes toastIn{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.note:target,.chip:target{outline:2px solid rgba(155,92,255,.65);outline-offset:5px}

/* === Fix 2026-04-30b: login centrado real + menor coste visual === */
.login-shell{width:100%;min-height:100vh;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;}
.login-shell .login-card{margin:auto;}
.glass{backdrop-filter:blur(8px);box-shadow:0 12px 34px #0006;}
.chart-lines svg{display:block;contain:paint;}
.sidebar{overflow:visible!important;height:auto!important;max-height:none!important;}
@media(min-width:861px){.sidebar{position:sticky;top:18px;align-self:start;}}
.table-wrap{overflow:auto;}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:10px;border-bottom:1px solid #24304a;text-align:left}.actions.left{justify-content:flex-start}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span-2{grid-column:span 2}
@media(max-width:860px){.grid.two{grid-template-columns:1fr}.span-2{grid-column:auto}.login-shell{padding:12px!important}.sidebar{overflow:auto!important}}

/* === Admin/business-logic polish 2026-04-30 === */
.flash{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:26px!important;transform:translateX(-50%);z-index:9999;min-width:min(520px,calc(100vw - 32px));text-align:center;border-radius:16px;padding:14px 22px;font-weight:800;box-shadow:0 18px 60px #0009;animation:flash-pop 3.8s ease forwards;pointer-events:none}.flash-ok{background:rgba(20,105,65,.95)!important;border:1px solid #51e39b!important;color:#eafff5!important}.flash-nok{background:rgba(123,24,42,.95)!important;border:1px solid #ff5d7d!important;color:#fff0f3!important}@keyframes flash-pop{0%{opacity:0;transform:translate(-50%,18px)}10%,78%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,18px)}}
.toast-zone{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:9998;display:grid;gap:10px}.toast{min-width:min(460px,calc(100vw - 32px));text-align:center;border-radius:16px;padding:13px 20px;font-weight:800;box-shadow:0 18px 60px #0009;background:rgba(20,105,65,.95);border:1px solid #51e39b;color:#eafff5;animation:flash-pop 3s ease forwards}.toast.bad{background:rgba(123,24,42,.95);border-color:#ff5d7d;color:#fff0f3}
.value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 16px}.value-grid div{border:1px solid rgba(153,116,255,.14);background:rgba(12,20,40,.72);border-radius:14px;padding:16px}.value-grid strong{display:block;font-size:28px;color:#fff}.value-grid span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.admin-message-form{grid-template-columns:1fr 1fr}.admin-message-form .span-2{grid-column:span 2}.message-card{border:1px solid rgba(153,116,255,.16);background:rgba(12,20,40,.68);border-radius:14px;padding:13px 15px;margin:10px 0}.message-card strong,.message-card small{display:block}.message-card small{color:var(--muted);margin-top:4px}.message-card p{margin:.7em 0 0}.system-alert{display:flex;align-items:center;gap:12px;border:1px solid rgba(153,116,255,.14);border-radius:14px;padding:12px;margin:10px 0;background:#0c1428}.system-alert b:first-child{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffffff10}.system-alert div{flex:1}.system-alert small{display:block;color:var(--muted);margin-top:3px}.system-alert>span{border-radius:999px;padding:5px 9px;font-size:12px;background:#ffffff10}.system-alert.warn>span{color:#ffc857}.system-alert.ok>span{color:#51e39b}.admin-dashboard-layout{grid-template-columns:1.2fr 1fr 1fr}.quick-grid a{text-decoration:none}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{border-bottom:1px solid #23304a;padding:10px;text-align:left}.data-table th{color:#c8cad8;font-size:13px}@media(max-width:1100px){.value-grid{grid-template-columns:1fr 1fr}.admin-dashboard-layout{grid-template-columns:1fr}.admin-message-form{grid-template-columns:1fr}.admin-message-form .span-2{grid-column:auto}}@media(max-width:680px){.value-grid{grid-template-columns:1fr}.flash{bottom:16px}}

/* === UX upgrade: calendario real, notas, mensajes, mis fases, patrones === */
.calendar-hero{align-items:flex-end;gap:18px}.calendar-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px;border-radius:18px}.calendar-toolbar label{font-size:12px;color:var(--muted);display:grid;gap:4px}.calendar-toolbar input,.calendar-toolbar select,.search-box input{background:#0b1428;border:1px solid rgba(153,116,255,.22);color:#fff;border-radius:10px;padding:9px 10px}.calendar-shell{padding:20px;border-radius:24px}.calendar-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.calendar-title strong{font-size:28px}.calendar-title span{color:var(--muted)}.calendar-weekdays,.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays b{text-align:center;color:#c9c3df;font-size:13px;padding:8px}.calendar-day{min-height:120px;border:1px solid rgba(153,116,255,.14);background:rgba(8,16,32,.62);border-radius:16px;padding:11px;display:flex;flex-direction:column;gap:7px}.calendar-day header{display:flex;justify-content:space-between;align-items:center}.calendar-day header b{font-size:20px}.calendar-day header span{font-size:12px;background:rgba(155,92,255,.18);border-radius:999px;padding:3px 7px}.calendar-day small,.calendar-day p{margin:0;color:#aeb3cb}.calendar-day.has-data{box-shadow:inset 0 0 0 1px rgba(155,92,255,.16)}.calendar-day.good{background:linear-gradient(160deg,rgba(28,128,92,.22),rgba(8,16,32,.68))}.calendar-day.mid{background:linear-gradient(160deg,rgba(176,125,28,.22),rgba(8,16,32,.68))}.calendar-day.low{background:linear-gradient(160deg,rgba(160,45,72,.22),rgba(8,16,32,.68))}.muted-day{opacity:.22}.day-meter{height:6px;background:#ffffff12;border-radius:99px;overflow:hidden}.day-meter i{height:100%;display:block;background:linear-gradient(90deg,#8f46ff,#35dcc9);border-radius:99px}.analysis-grid .metric small{display:block;color:var(--muted);margin-top:8px}.insight-card,.pattern-card{border:1px solid rgba(153,116,255,.17);background:rgba(14,22,42,.72);border-radius:16px;padding:14px;margin:10px 0}.insight-card p,.pattern-card p{margin:7px 0;color:#dcd9ea}.insight-card small,.pattern-card small{color:var(--muted)}.lunar-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lunar-card h2 span{font-size:30px}.lunar-card h3{margin:16px 0 6px;font-size:15px;color:#caa8ff}.mini-stats{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}.mini-stats b{font-size:24px;color:#fff}.mini-stats span{color:var(--muted);font-size:12px;margin-right:10px}.phase-orbit{position:relative;overflow:hidden;padding:24px;border-radius:26px;display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:center}.phase-orbit:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 20% 50%,rgba(151,82,255,.24),transparent 28%),radial-gradient(circle at 75% 40%,rgba(53,220,201,.14),transparent 24%);pointer-events:none}.orbit-core,.phase-cards{position:relative}.orbit-core{width:220px;height:220px;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle,#7d35ff55,#0c1428 66%);border:1px solid rgba(153,116,255,.3);box-shadow:0 0 60px #7d35ff33}.orbit-core{font-size:52px}.orbit-core strong,.orbit-core span{display:block;grid-column:1;grid-row:1;font-size:22px;transform:translateY(34px)}.orbit-core span{font-size:12px;color:var(--muted);transform:translateY(62px)}.phase-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.phase-cards article{border:1px solid rgba(153,116,255,.18);border-radius:18px;padding:16px;background:rgba(12,20,40,.76)}.phase-cards b,.phase-cards small,.phase-cards span,.phase-cards i{display:block}.phase-cards small,.phase-cards i{color:var(--muted);font-style:normal}.phase-cards span{margin:10px 0;color:#fff}.notes-layout{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.search-box{display:flex;align-items:center;gap:6px;background:#0b1428;border:1px solid rgba(153,116,255,.2);border-radius:14px;padding:4px 8px}.search-box input{border:0;background:transparent;outline:none}.note-grid{display:grid;gap:10px}.note-card{border:1px solid rgba(153,116,255,.17);background:rgba(12,20,40,.72);border-radius:16px;padding:12px}.note-card summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px}.note-card summary small{color:var(--muted)}.note-card input,.note-card textarea{width:100%;margin-top:10px}.message-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.icon-danger{background:rgba(255,78,110,.13);border:1px solid rgba(255,78,110,.3);color:#fff;border-radius:10px;padding:7px 9px;cursor:pointer}.task-entry .actions{margin-top:10px}.entry.is-done{opacity:.68}.entry.is-done b{text-decoration:line-through}
@media(max-width:980px){.calendar-weekdays,.calendar-month{gap:5px}.calendar-day{min-height:98px;padding:8px}.phase-orbit,.notes-layout{grid-template-columns:1fr}.orbit-core{margin:auto}.phase-cards,.lunar-info-grid{grid-template-columns:1fr}.section-head{align-items:stretch;flex-direction:column}}
@media(max-width:680px){.calendar-weekdays b{font-size:11px}.calendar-day{min-height:82px;border-radius:12px}.calendar-day p,.calendar-day small{font-size:11px}.calendar-day header b{font-size:16px}.calendar-toolbar{align-items:stretch}.calendar-toolbar>*{width:100%}}
/* === Upgrade: modales, correlaciones, lunar legible, nav pacientes === */
.mc-modal-backdrop{position:fixed;inset:0;background:rgba(3,6,16,.72);backdrop-filter:blur(8px);z-index:10000;display:grid;place-items:center;padding:20px}.mc-modal{width:min(460px,calc(100vw - 32px));border-radius:24px;padding:24px;text-align:center;border:1px solid rgba(160,115,255,.25);box-shadow:0 30px 90px #000b;position:relative}.mc-modal-x{position:absolute;right:14px;top:12px;border:0;background:#ffffff10;color:#fff;border-radius:999px;width:34px;height:34px;font-size:22px}.mc-modal-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:radial-gradient(circle,#8f46ff88,#1a1330);font-weight:900}.mc-modal-icon.danger{background:radial-gradient(circle,#ff506f88,#30131b)}.mc-modal h2{margin:6px 0 8px}.mc-modal p{color:#c9c4da}.mc-modal-actions{display:flex;justify-content:center;gap:10px;margin-top:18px}.mini-btn.primary{background:linear-gradient(135deg,#7d35ff,#b45cff);color:#fff}.mini-btn.danger,.btn.danger{background:rgba(255,78,110,.14);border-color:rgba(255,78,110,.42);color:#ffdce4}.nav-group>.nav-sublist{display:none;margin:2px 0 8px 18px;border-left:1px solid rgba(153,116,255,.22);padding-left:8px}.nav-group.open>.nav-sublist{display:grid;gap:3px}.nav-sublist a{font-size:13px!important;padding:9px 10px!important;background:rgba(255,255,255,.03)!important}.nav-sublist small{opacity:.72}.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.correlation-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.correlation-card{border:1px solid rgba(153,116,255,.18);background:rgba(11,20,40,.74);border-radius:18px;padding:16px}.correlation-card header{display:flex;justify-content:space-between;gap:10px;align-items:center}.correlation-card header span,.bar-row small,.bar-row em{color:#b8b4cc}.bar-row{display:grid;grid-template-columns:84px 1fr 36px;gap:10px;align-items:center;margin:10px 0}.bar-row i{height:8px;background:#ffffff12;border-radius:999px;overflow:hidden}.bar-row b{display:block;height:100%;background:linear-gradient(90deg,#8e45ff,#35dcc9);border-radius:999px}.correlation-card.danger{box-shadow:inset 0 0 0 1px rgba(255,78,110,.18)}.correlation-card.good{box-shadow:inset 0 0 0 1px rgba(81,227,155,.18)}.insight-card.good,.phase-entry.good{border-color:rgba(81,227,155,.36)}.insight-card.danger,.phase-entry.danger{border-color:rgba(255,78,110,.36)}.lunar-sub-block{border-top:1px solid rgba(153,116,255,.15);padding-top:10px;margin-top:10px}.lunar-sub-block h3{margin:0 0 8px;color:#d9c6ff}.phase-entry{border-radius:14px!important;padding:11px!important}.phase-pill{display:inline-block;border:1px solid rgba(153,116,255,.24);border-radius:999px;padding:6px 10px;background:#ffffff08}.phase-summary{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid rgba(153,116,255,.14)}.substance-chip.dopamina{border-color:#f4b740;color:#ffd88a}.substance-chip.serotonina{border-color:#35dcc9;color:#9ff5ea}.substance-chip.noradrenalina{border-color:#ff526f;color:#ffb4c1}.substance-chip.acetilcolina{border-color:#7aa7ff;color:#cfe0ff}.calendar-event{display:block;text-decoration:none;color:#e8ddff;background:rgba(155,92,255,.15);border:1px solid rgba(155,92,255,.2);border-radius:8px;padding:4px 6px;font-size:12px}.resource-card form{margin-top:12px}.cards-grid{align-items:stretch}.card.resource-card{display:flex;flex-direction:column}.card.resource-card p{flex:1}@media(max-width:900px){.metric-grid.three,.correlation-map,.phase-summary{grid-template-columns:1fr}.mc-modal-actions{flex-direction:column}.mc-modal-actions button{width:100%}}
/* === Panel compaction + modal forms + professional directory === */
.hidden{display:none!important}.grid.one{grid-template-columns:1fr}.compact-hero{align-items:center}.compact-hero .actions,.hero .actions{display:flex;gap:10px;flex-wrap:wrap}.compact-metrics .metric{min-height:118px;padding:18px}.compact-metrics .metric h3,.compact-metrics .metric strong,.compact-metrics .metric span{margin-left:0}.compact-metrics .metric:after,.compact-metrics .metric-icon{display:none}.compact-panels{margin-top:16px}.full-panel{margin:18px 0}.patient-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px}.patient-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;border-radius:18px;padding:16px}.patient-card h3{margin:0}.patient-card p{margin:2px 0;color:var(--muted)}.patient-card small{color:#8e96ad}.patient-card .patient-kpis,.patient-card .actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.patient-kpis span{border:1px solid rgba(153,116,255,.18);background:#ffffff08;border-radius:999px;padding:7px 11px;color:#c9c3dc}.form-modal{width:min(760px,calc(100vw - 32px));text-align:left;max-height:90vh;overflow:auto}.form-modal h2{text-align:left;margin:0 0 16px}.form-modal label{display:grid;gap:7px;color:#cfd4e8;font-weight:700;margin:0 0 12px}.form-modal input,.form-modal select,.form-modal textarea,.note-card input,.note-card textarea{width:100%;border:1px solid rgba(153,116,255,.22);background:#080f20;color:#fff;border-radius:12px;padding:12px}.form-modal textarea{resize:vertical}.btn.full{width:100%}.sessions-card .agenda-line,.agenda-line{display:grid;grid-template-columns:68px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.07);padding:10px 0}.agenda-line time{color:#bf9fff;font-weight:800}.agenda-line small{display:block;color:var(--muted);margin-top:3px}.agenda-line span{font-size:12px;border:1px solid rgba(153,116,255,.22);border-radius:999px;padding:5px 9px;color:#d8c8ff}.professional-summary{margin-bottom:18px}.full-history-panel{min-height:70vh}.history-table{display:grid;gap:10px}.history-entry{display:grid;grid-template-columns:1fr auto;gap:16px;border:1px solid rgba(153,116,255,.16);background:rgba(8,16,32,.56);border-radius:16px;padding:14px}.history-entry strong{font-size:18px}.history-entry small{display:block;color:#aab1c8;margin-top:4px}.history-entry p{margin:8px 0 0;color:#d8d5e8}.history-kpis{display:grid;grid-template-columns:repeat(2,90px);gap:8px}.history-kpis span{border-radius:12px;background:#ffffff08;padding:8px;color:#aeb6ce}.history-kpis b{display:block;color:#fff;font-size:18px}.notes-layout{grid-template-columns:1fr}.note-editor{display:none}.sidebar nav a[href*="sustancias"]{display:var(--show-patient-only,flex)}
@media(max-width:800px){.patient-directory{grid-template-columns:1fr}.history-entry{grid-template-columns:1fr}.history-kpis{grid-template-columns:repeat(2,1fr)}.sessions-card .agenda-line,.agenda-line{grid-template-columns:1fr}.form-modal{max-height:92vh}.patient-card{grid-template-columns:1fr}}

/* === 2026-04-30 compact dashboard refinement === */
.admin-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:18px 0}.action-card{border:0;color:inherit;text-align:left;border-radius:20px;padding:18px;cursor:pointer;min-height:132px;display:flex;flex-direction:column;gap:6px;transition:transform .18s ease,border-color .18s ease}.action-card:hover{transform:translateY(-3px);border-color:rgba(155,92,255,.34)}.action-card span{font-size:26px}.action-card strong{font-size:18px}.action-card small{color:var(--muted)}.admin-insight-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:18px 0}.section-panel{margin-top:18px}.panel-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.compact-search{min-width:240px;border:1px solid rgba(153,116,255,.22);background:#080f20;color:#fff;border-radius:999px;padding:11px 14px}.compact-form{margin-bottom:18px}.chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.chip{display:flex;gap:8px;align-items:center;justify-content:space-between;border:1px solid rgba(153,116,255,.18);background:rgba(255,255,255,.05);border-radius:16px;padding:10px 12px}.compact-list{margin-top:14px}.modal-smart-form{display:grid;gap:12px}.modal-smart-form label{display:grid;gap:7px}.modal-smart-form input,.modal-smart-form select{border:1px solid rgba(153,116,255,.22);background:#080f20;color:#fff;border-radius:12px;padding:12px}.main .section-panel.hidden{display:none!important}.nav-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;margin-left:auto;padding:0 7px;background:linear-gradient(135deg,#ff4e67,#f6b400);color:white;font-size:12px;font-weight:900;box-shadow:0 0 20px rgba(255,78,103,.38)}.sidebar nav a{gap:8px}.flash{position:fixed!important;left:50%!important;bottom:24px!important;top:auto!important;transform:translateX(-50%);z-index:9999;min-width:min(520px,calc(100vw - 32px));text-align:center;border-radius:16px;padding:14px 18px;box-shadow:0 20px 60px rgba(0,0,0,.35);animation:flashOut 4.2s ease forwards}.flash-ok{background:rgba(29,185,112,.96)!important;color:#fff!important}.flash-nok{background:rgba(222,42,70,.96)!important;color:#fff!important}@keyframes flashOut{0%,75%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(20px);pointer-events:none}}.form-modal{scrollbar-width:thin}.form-modal .span-2{grid-column:1/-1}.btn.primary,.mini-btn.primary{background:linear-gradient(135deg,var(--purple),var(--cyan));color:#fff;border:0}.smart-form input:focus,.smart-form select:focus,.smart-form textarea:focus,.form-modal input:focus,.form-modal select:focus,.form-modal textarea:focus{outline:2px solid rgba(47,209,196,.55);outline-offset:2px}.form-hint{display:block;color:var(--muted);font-size:12px;margin-top:4px}
@media(max-width:900px){.admin-insight-grid{grid-template-columns:1fr}.compact-search{min-width:0;width:100%}.panel-tools{width:100%}.chip{align-items:flex-start;flex-direction:column}.admin-action-grid{grid-template-columns:1fr 1fr}.action-card{min-height:118px}}@media(max-width:560px){.admin-action-grid{grid-template-columns:1fr}}

/* === FINAL CONSOLIDATED FIXES · UI, ADMIN, FLASH, MODALS === */
.sidebar{overflow-y:auto;max-height:calc(100vh - 36px);scrollbar-width:thin}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(155,92,255,.45);border-radius:99px}
.flash{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:9999;min-width:280px;max-width:90vw;text-align:center;font-weight:800;border-radius:16px;padding:14px 22px;box-shadow:0 18px 60px #0009;animation:flashOut 4s forwards}.flash-ok{background:linear-gradient(135deg,#15803d,#22c55e);color:white;border-color:#86efac}.flash-nok{background:linear-gradient(135deg,#b91c1c,#ef4444);color:white;border-color:#fecaca}@keyframes flashOut{0%,82%{opacity:1;bottom:26px}100%{opacity:0;bottom:8px;pointer-events:none}}
.toast-zone{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:10000;display:grid;gap:10px}.toast{padding:14px 22px;border-radius:16px;font-weight:800;color:white;box-shadow:0 18px 60px #0009;background:linear-gradient(135deg,#15803d,#22c55e)}.toast.bad,.toast.nok{background:linear-gradient(135deg,#b91c1c,#ef4444)}
.bottom-icons.header-actions-big{display:flex;gap:12px;justify-content:center;margin-top:16px}.bottom-icon{width:54px;height:54px;border-radius:18px;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.045));color:white;text-decoration:none;font-weight:900;font-size:25px;box-shadow:0 14px 35px #0006;cursor:pointer}.bottom-icon:hover{transform:translateY(-2px);filter:brightness(1.15)}.logout-icon{background:linear-gradient(135deg,#dc2626,#fb7185)}.help-question{background:linear-gradient(135deg,#0e7490,#22d3ee)}
.help-card{display:none!important}.user-menu-popover{position:fixed;left:18px;bottom:92px;width:min(380px,calc(100vw - 36px));padding:18px;z-index:9400}.user-menu-popover.hidden{display:none}.user-menu-tabs{display:flex;gap:8px;margin-bottom:12px}.user-menu-tabs button.active{background:linear-gradient(135deg,var(--cyan),var(--violet));color:white}.user-menu-panel{display:none}.user-menu-panel.active{display:block}
.admin-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:20px 0}.action-card{border:0;color:white;text-align:left;padding:20px;border-radius:24px;cursor:pointer;text-decoration:none;min-height:145px;background:linear-gradient(135deg,#312e81,#8b5cf6)}.action-card:nth-child(2){background:linear-gradient(135deg,#0e7490,#22d3ee)}.action-card:nth-child(3){background:linear-gradient(135deg,#be185d,#f472b6)}.action-card:nth-child(4){background:linear-gradient(135deg,#166534,#22c55e)}.action-card span{font-size:34px;display:block;margin-bottom:12px}.action-card strong{display:block;font-size:20px}.action-card small{opacity:.9}.action-card:hover{transform:translateY(-4px);box-shadow:0 22px 60px #0008}.section-panel.hidden,.hidden{display:none!important}.full-panel{min-height:auto}.compact-metrics .metric{min-height:110px}.panel-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.compact-search{max-width:260px}
.mc-modal-backdrop{position:fixed;inset:0;background:rgba(2,4,12,.78);z-index:9300;display:flex;align-items:center;justify-content:center;padding:24px}.mc-modal-backdrop.hidden{display:none}.mc-modal{width:min(820px,96vw);max-height:90vh;overflow:auto;padding:24px}.mc-modal.form-modal{width:min(760px,96vw)}.mc-modal.fullscreen{width:calc(100vw - 36px);height:calc(100vh - 36px)}.mc-modal-x{float:right;border:0;background:#ffffff14;color:white;width:40px;height:40px;border-radius:14px;font-size:24px;cursor:pointer}.mc-modal-actions,.actions.left{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.icon-danger,.icon-btn{border:0;border-radius:12px;background:#ffffff12;color:white;width:38px;height:38px;cursor:pointer}.icon-danger{background:#ef444433;color:#fecaca}.record-actions{display:flex;gap:8px}.record-action{border:0;border-radius:12px;background:#ffffff12;color:white;width:40px;height:40px;display:grid;place-items:center;cursor:pointer}.record-action.view{color:#93c5fd}.record-action.edit{color:#facc15}.record-action.delete{color:#fca5a5}
.message-thread{border-left:3px solid var(--cyan);padding-left:12px}.reply-form{margin-top:12px;padding:12px;border-radius:16px;background:#ffffff08}.thread-message{border-radius:16px;padding:13px;margin:9px 0;background:#ffffff09}.thread-message.mine{margin-left:auto;max-width:78%;background:linear-gradient(135deg,rgba(88,224,211,.18),rgba(155,92,255,.18))}.thread-message.theirs{margin-right:auto;max-width:78%}.help-doc-layout{display:grid;grid-template-columns:270px 1fr;gap:18px}.help-doc-sidebar,.help-doc-content{padding:18px;border-radius:20px;background:#ffffff08;border:1px solid var(--line)}.help-article-link{width:100%;text-align:left;border:0;border-radius:14px;padding:12px;margin:6px 0;background:#ffffff0b;color:white;cursor:pointer}.help-article-link:hover{background:#ffffff18}.help-search{margin-bottom:10px}
.analysis-grid,.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.insight-card,.pattern-card{padding:16px;border-radius:20px;background:linear-gradient(145deg,rgba(88,224,211,.11),rgba(155,92,255,.09));border:1px solid var(--line);margin:10px 0}.insight-card.danger{background:linear-gradient(145deg,rgba(255,93,125,.18),rgba(155,92,255,.08))}.insight-card.good{background:linear-gradient(145deg,rgba(81,227,155,.16),rgba(88,224,211,.08))}.pattern-card{border-left:5px solid var(--cyan)}.resource-file-list{display:grid;gap:8px;margin-top:12px}.resource-file{display:flex;gap:10px;align-items:center;padding:10px;border-radius:12px;background:#ffffff0a}.file-chip{padding:8px 10px;border-radius:12px;background:#ffffff12}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;height:100vh;max-height:100vh;z-index:9000;transform:translateX(-110%);transition:.2s}.menu-open .sidebar{transform:translateX(0)}.help-doc-layout{grid-template-columns:1fr}.user-menu-popover{left:12px;right:12px;width:auto}.metric-grid{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}}

/* === v16 polish: help center, message threads, user options, admin clarity === */
.help-hero,.messages-hero{position:relative;overflow:hidden}.help-hero:after,.messages-hero:after{content:"";position:absolute;right:28px;bottom:-42px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(47,209,196,.24),transparent 62%);filter:blur(4px);pointer-events:none}.help-center{align-items:start}.help-doc-sidebar h2{margin-top:0}.help-link-list{display:grid;gap:8px}.help-article-link{display:flex;align-items:center;gap:10px;border:1px solid rgba(153,116,255,.18);transition:.18s ease}.help-article-link span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:12px;background:rgba(47,209,196,.12);color:#9ff8ef;font-weight:900}.help-article-link.active,.help-article-link:hover{background:linear-gradient(135deg,rgba(47,209,196,.18),rgba(155,92,255,.20));border-color:rgba(47,209,196,.42);transform:translateX(3px)}.help-doc-content{min-height:420px}.help-article h2{font-size:clamp(28px,4vw,46px);margin:.2em 0}.help-article .lead{font-size:1.05rem}.help-body{display:grid;gap:10px;margin-top:18px;line-height:1.75}.help-body br{content:""}.help-body br:after{content:"";display:block;margin-bottom:8px}.messages-panel .panel-head{align-items:flex-start}.message-list{display:grid;gap:14px}.message-card{border:1px solid rgba(153,116,255,.18);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border-radius:20px;padding:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.message-card p{white-space:pre-wrap}.message-top strong{font-size:18px}.message-top small{display:block;margin-top:5px;color:var(--muted)}.icon-danger{display:grid;place-items:center;padding:0}.icon-danger svg{width:19px;height:19px}.thread-view-body{padding-top:10px}.thread-message{box-shadow:inset 0 1px 0 rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.thread-message b{display:block;margin-bottom:6px}.thread-message small{color:var(--muted)}.empty-state{padding:18px;border:1px dashed rgba(153,116,255,.24);border-radius:18px}.user-menu-popover{box-shadow:0 24px 80px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.08);border:1px solid rgba(153,116,255,.24)}.user-menu-popover .panel-head{margin-bottom:12px}.user-menu-panel form{display:grid;gap:12px}.user-menu-panel label{display:grid;gap:7px;color:#d9d7ff;font-size:13px}.user-menu-panel input,.user-menu-panel select{width:100%;border:1px solid rgba(153,116,255,.22);background:#080f20;color:#fff;border-radius:12px;padding:12px}.user-menu-tabs{background:rgba(255,255,255,.05);padding:6px;border-radius:16px}.user-menu-tabs .mini-btn{flex:1}.admin-insight-grid .panel,.section-panel .panel{border:1px solid rgba(153,116,255,.20)}.action-card{position:relative;overflow:hidden}.action-card:after{content:"";position:absolute;right:-35px;bottom:-45px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.16)}.data-table tbody tr:hover{background:rgba(255,255,255,.045)}
@media(max-width:720px){.message-top{align-items:flex-start}.message-top form{margin-left:auto}.help-doc-content{min-height:0}.user-menu-tabs{display:grid;grid-template-columns:1fr}.mc-modal{padding:18px}.thread-message.mine,.thread-message.theirs{max-width:100%;margin-left:0;margin-right:0}}

/* === MCT VISIBLE PRO INTEGRATION === */
.pro-hero{position:relative;overflow:hidden;border-radius:32px;padding:28px;margin-bottom:22px;background:radial-gradient(circle at 14% 0%,rgba(0,247,255,.22),transparent 34%),radial-gradient(circle at 88% 10%,rgba(255,0,255,.18),transparent 28%),linear-gradient(145deg,rgba(32,29,62,.96),rgba(10,9,22,.98));border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 90px rgba(0,0,0,.35)}
.pro-hero h1{font-size:clamp(2rem,4vw,4.2rem);margin:.15em 0}.pro-hero p{max-width:980px;color:#cfc7ee;line-height:1.65}.pro-hero .eyebrow,.pro-eyebrow{color:#00f7ff;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.pro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:20px 0}.pro-card{position:relative;overflow:hidden;border-radius:26px;padding:22px;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 65px rgba(0,0,0,.25);backdrop-filter:blur(16px)}
.pro-card:after{content:"";position:absolute;right:-50px;top:-50px;width:150px;height:150px;border-radius:999px;background:linear-gradient(135deg,rgba(0,247,255,.16),rgba(255,0,255,.14))}.pro-card h2,.pro-card h3{position:relative;margin:0 0 10px;color:#fff}.pro-card p,.pro-card li{position:relative;color:#beb6dc;line-height:1.58}.pro-card ul{margin:10px 0 0;padding-left:1.1rem}
.pro-chip{display:inline-flex;gap:8px;align-items:center;border-radius:999px;padding:7px 11px;margin:0 8px 10px 0;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);font-weight:800;font-size:.82rem}.pro-chip.risk{background:rgba(239,68,68,.18);color:#fecaca}.pro-chip.good{background:rgba(34,197,94,.18);color:#bbf7d0}.pro-chip.watch{background:rgba(245,158,11,.18);color:#fde68a}.pro-chip.info{background:rgba(0,247,255,.16);color:#cffafe}
.pro-action{border-radius:18px;padding:14px;margin-top:12px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.10)}.pro-action strong{color:#fff}.pro-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:14px}.pro-metric{border-radius:18px;padding:13px;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.10)}.pro-metric strong{display:block;font-size:1.5rem;color:#fff}
.phase-card{border-left:6px solid var(--phase,#8b5cf6)}.substance-card{border-top:5px solid var(--sub,#00f7ff)}.matrix-card{background:radial-gradient(circle at top right,var(--glow,rgba(139,92,246,.22)),transparent 35%),linear-gradient(145deg,rgba(33,31,58,.96),rgba(12,11,24,.98))}
.sub-dopamina{--sub:#a855f7}.sub-serotonina{--sub:#2dd4bf}.sub-noradrenalina{--sub:#ff5f7e}.sub-acetilcolina{--sub:#60a5fa}.phase-nueva{--phase:#7c5cff}.phase-creciente{--phase:#00d4ff}.phase-llena{--phase:#ffce4a}.phase-menguante{--phase:#ff5f7e}
.pro-help-layout{display:grid;grid-template-columns:280px 1fr;gap:20px}.pro-help-nav button{display:block;width:100%;margin:8px 0;text-align:left;border:0;border-radius:16px;padding:13px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.pro-help-nav button.active,.pro-help-nav button:hover{background:linear-gradient(135deg,rgba(0,247,255,.18),rgba(139,92,246,.20))}.pro-help-article{display:none}.pro-help-article.active{display:block}
.pro-admin-bento{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.pro-admin-tile{min-height:160px;border-radius:28px;padding:22px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.18);box-shadow:0 22px 65px rgba(0,0,0,.28);text-decoration:none}.pro-admin-tile:nth-child(1){background:linear-gradient(135deg,#312e81,#8b5cf6)}.pro-admin-tile:nth-child(2){background:linear-gradient(135deg,#0e7490,#22d3ee)}.pro-admin-tile:nth-child(3){background:linear-gradient(135deg,#be185d,#f472b6)}.pro-admin-tile:nth-child(4){background:linear-gradient(135deg,#166534,#22c55e)}.pro-admin-tile:nth-child(5){background:linear-gradient(135deg,#92400e,#f59e0b)}.pro-admin-tile b{font-size:2rem}.pro-disclaimer{border-left:5px solid #00f7ff;border-radius:18px;padding:15px 18px;background:rgba(0,247,255,.08);color:#cffafe}
@media(max-width:820px){.pro-help-layout{grid-template-columns:1fr}}



/* ============================================================
   ORIGEN: components.css
   ============================================================ */

/* migrated from app.css */
:root{--bg:#060913;--panel:rgba(17,23,42,.72);--panel2:rgba(23,18,44,.82);--line:rgba(180,140,255,.16);--text:#f7f4ff;--muted:#a9a6b8;--violet:#9b5cff;--cyan:#58e0d3;--rose:#ff5d7d;--gold:#ffc857;--green:#51e39b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 60% 0%,#21123b 0,#080b16 42%,#050711 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}.stars{position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(#fff8 1px,transparent 1px),radial-gradient(#a16bff88 1px,transparent 1px);background-size:130px 130px,190px 190px;opacity:.22}.app-shell{display:grid;grid-template-columns:280px 1fr;gap:28px;min-height:100vh;padding:18px}.login-shell{display:flex;align-items:center;justify-content:center}.glass{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));border:1px solid var(--line);box-shadow:0 24px 80px #0008;border-radius:22px;backdrop-filter:blur(16px)}.sidebar{padding:18px;position:sticky;top:18px;height:calc(100vh - 36px);display:flex;flex-direction:column}.brand{display:flex;gap:14px;align-items:center;margin-bottom:26px}.brand.big{justify-content:center;margin-bottom:14px}.brand strong{display:block;font-size:20px}.brand span{display:block;color:var(--muted);letter-spacing:7px;font-size:12px}.orb{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#9b5cff,#18162c 65%);box-shadow:0 0 30px #9b5cff80}nav{display:grid;gap:8px}nav a,.link{color:var(--text);text-decoration:none;padding:13px 14px;border-radius:14px;color:#ded7ef}nav a:hover,nav a:first-child{background:linear-gradient(90deg,rgba(155,92,255,.27),transparent);color:white}.profile{margin-top:auto;display:flex;gap:12px;align-items:center;background:#101527;border-radius:16px;padding:14px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#3b2370}.profile small{display:block;color:var(--muted)}.main{padding:20px 10px 0 0}.hero{display:flex;justify-content:space-between;align-items:flex-start;margin:10px 0 24px}.hero h1{margin:0 0 8px;font-size:30px}.hero p{margin:0;color:var(--muted)}.moon{padding:16px 20px;display:grid;gap:5px;min-width:230px}.moon span{color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.metric{padding:20px;min-height:140px}.metric span{font-size:28px}.metric h3{margin:8px 0;color:#fff;font-size:16px}.metric strong{font-size:30px}.metric small{display:block;color:var(--muted);margin-top:4px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.panel{padding:22px;min-height:240px}.panel h1,.panel h2{margin-top:0}.molecule{font-size:70px;color:var(--violet);text-shadow:0 0 30px #9b5cff}.entry{position:relative;padding:14px 70px 14px 0;border-bottom:1px solid #ffffff12}.entry b,.entry small{display:block}.entry small,.entry p{color:var(--muted)}.entry span{position:absolute;right:0;top:18px}.chip,.note{padding:12px 14px;border:1px solid var(--line);border-radius:14px;margin:9px 0;background:#ffffff08}.cta{display:flex;justify-content:space-between;align-items:center;padding:22px;margin-bottom:20px;background:linear-gradient(120deg,rgba(155,92,255,.25),rgba(6,9,19,.75)),radial-gradient(circle at 70% 100%,#7b3dff66,transparent 40%)}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:13px 18px;background:linear-gradient(135deg,#7437d9,#9b5cff);color:white;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 12px 30px #7437d955}.btn.full{width:100%}.flash{padding:14px 18px;border-radius:14px;background:#20294b;border:1px solid var(--line);margin-bottom:14px}.footer{color:var(--muted);font-size:13px;padding:18px}.login-card{max-width:460px;width:92%;padding:34px;text-align:center}.login-card h1{font-size:36px;margin:10px 0}.demo-users{font-size:13px;color:var(--muted);margin-top:14px}label{display:grid;gap:7px;color:#ddd;margin-bottom:14px;text-align:left}input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(2,5,14,.7);border-radius:13px;color:var(--text);padding:13px 14px;font:inherit;outline:none}textarea{resize:vertical}.form-panel{max-width:980px}.smart-form{margin-top:20px}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.patient-row{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;color:var(--text);text-decoration:none;padding:15px;border-bottom:1px solid #fff1}.patient-row span,.patient-row em{color:var(--muted)}.pattern-map{display:flex;flex-wrap:wrap;gap:14px;padding:18px}.node{width:150px;height:92px;display:grid;place-items:center;text-align:center;border-radius:50%;background:radial-gradient(circle,#4e258b,#12182d);border:1px solid #9b5cff55;box-shadow:0 0 25px #9b5cff44}.node small{display:block;color:var(--cyan)}.center{text-align:center;max-width:520px;margin:80px auto}@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.metric-grid,.grid-2{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.app-shell{padding:10px}.metric-grid,.grid-2,.form-grid{grid-template-columns:1fr}.hero,.cta{display:grid;gap:16px}.patient-row{grid-template-columns:1fr}.main{padding:0}.sidebar{border-radius:18px}}
.metric-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-main{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:16px;margin-bottom:16px}.span-2{grid-column:span 2}.recommendation{text-align:center}.circle-art{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;margin:10px auto;background:radial-gradient(circle,#7d44ff55,#101527);font-size:54px}.sync{margin-top:14px;display:block;text-align:center;background:#12172a;padding:12px;border-radius:13px;color:#caa8ff;text-decoration:none}.bottom-icons{display:flex;justify-content:space-around;margin-top:18px}.bottom-icons a{color:#d8d2e8;text-decoration:none}.nav-title{color:var(--muted);text-transform:uppercase;font-size:12px;letter-spacing:.08em;margin:18px 10px 6px}.filters{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:10px;padding:14px;margin-bottom:16px}.history-list{display:grid;gap:14px}.record-card{display:grid;grid-template-columns:70px 1fr 130px;gap:18px;padding:18px;align-items:center}.record-face{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#10233a;color:#58e0d3;font-size:28px;border:1px solid #58e0d355}.record-face.crisis,.record-face.dificil{color:#ff5d7d;border-color:#ff5d7d66}.record-main h2{margin:0 0 8px}.record-main p{margin:0;color:var(--muted)}.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.meta span{background:#ffffff0b;border:1px solid var(--line);padding:5px 8px;border-radius:999px;font-size:12px}.record-score{text-align:right;display:grid;gap:8px}.mini-btn{border:1px solid var(--line);border-radius:10px;background:#ffffff0a;color:#e8ddff;padding:8px 10px;text-decoration:none;cursor:pointer}.mini-btn.danger,.danger{color:#ff7c94;border-color:#ff5d7d66}.btn.ghost{background:transparent;border:1px solid #8d62ff77}.form-grid.two{grid-template-columns:1fr 220px}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.day-card{padding:16px;display:grid;gap:5px}.day-card strong{font-size:24px}.day-card b{color:#c39bff}.chip.inline{display:inline-flex;margin:5px}.streak strong{display:block;font-size:28px}.streak small{color:var(--muted)}.dots{display:flex;gap:14px;margin-top:22px}.dots span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#7f4ae0;box-shadow:0 0 18px #7f4ae066}@media(max-width:1150px){.metric-grid.five,.grid-main{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}.filters{grid-template-columns:1fr 1fr}.record-card{grid-template-columns:1fr}.record-score{text-align:left}}@media(max-width:680px){.metric-grid.five,.grid-main,.filters{grid-template-columns:1fr}.span-2{grid-column:span 1}}
/* PRO responsive polish */
html{scroll-behavior:smooth} img,svg,canvas{max-width:100%}.mobile-menu,.sidebar-backdrop{display:none}.main{min-width:0}.panel,.metric,.glass{min-width:0}.table-wrap{overflow-x:auto;border-radius:18px}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:12px;border-bottom:1px solid #ffffff12;text-align:left;vertical-align:top}.data-table th{color:#cdbdff;font-weight:700}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.actions.left{justify-content:flex-start}.admin-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}.pro-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.stat-pill{padding:14px;border-radius:16px;background:#ffffff08;border:1px solid var(--line)}.stat-pill strong{display:block;font-size:24px}.record-card,.patient-row,.chip,.note,.day-card,.panel{overflow-wrap:anywhere}.textarea-small{min-height:96px}.is-done{opacity:.62}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--line);padding:5px 9px;background:#ffffff0a;font-size:12px}.badge.ok{color:var(--green)}.badge.warn{color:var(--gold)}.badge.danger{color:var(--rose)}
@media (max-width: 1280px){.app-shell{grid-template-columns:250px 1fr;gap:18px}.metric-grid.five{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-main{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}.hero h1{font-size:26px}}
@media (max-width: 980px){.mobile-menu{display:grid;position:fixed;z-index:50;left:14px;top:14px;width:44px;height:44px;place-items:center;border-radius:14px;border:1px solid var(--line);background:#101527;color:#fff;box-shadow:0 14px 40px #0008}.app-shell{display:block;padding:12px}.sidebar{position:fixed;z-index:60;left:12px;top:12px;bottom:12px;width:min(86vw,320px);height:auto;transform:translateX(calc(-100% - 24px));transition:transform .24s ease;overflow:auto}.menu-open .sidebar{transform:translateX(0)}.sidebar-backdrop{display:none;position:fixed;z-index:55;inset:0;background:#0009;backdrop-filter:blur(3px)}.menu-open .sidebar-backdrop{display:block}.main{padding:64px 0 0}.admin-grid,.pro-grid,.grid-2,.grid-main{grid-template-columns:1fr}.span-2{grid-column:auto}.metric-grid,.metric-grid.five,.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:14px}.moon{min-width:0;width:100%}.filters{grid-template-columns:1fr 1fr}.form-grid,.form-grid.two{grid-template-columns:1fr 1fr}.record-card{grid-template-columns:56px 1fr}.record-score{grid-column:1/-1;text-align:left;display:flex;flex-wrap:wrap}.cta{align-items:stretch}.cta .btn{width:100%}}
@media (max-width: 560px){body{font-size:15px}.app-shell{padding:8px}.main{padding-top:58px}.glass,.panel,.metric{border-radius:18px}.panel{padding:16px}.metric-grid,.metric-grid.five,.stats-strip,.filters,.form-grid,.form-grid.two{grid-template-columns:1fr}.hero h1{font-size:23px}.brand strong{font-size:18px}.record-card{grid-template-columns:1fr}.record-face{width:48px;height:48px}.actions{justify-content:flex-start}.btn,.mini-btn,input,select,textarea{width:100%}.entry{padding-right:0}.entry span{position:static;margin-top:8px}.data-table{min-width:620px}.dots{gap:8px;flex-wrap:wrap}.dots span{width:30px;height:30px}.login-card{padding:22px}.login-card h1{font-size:28px}}
@media (max-width: 380px){.hero h1{font-size:20px}.metric strong{font-size:24px}.panel h2{font-size:19px}.sidebar{width:calc(100vw - 16px);left:8px;top:8px;bottom:8px}}

/* === v3 dashboard pack: paciente/profesional/admin basado en los mockups === */
:root{--blue:#4aa3ff;--deep:#090d19;--panelGlow:0 24px 80px #0009, inset 0 1px 0 #ffffff0b}.nebula{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 55% 3%,#8e4fff2b,transparent 20%),radial-gradient(circle at 84% 30%,#42ffe622,transparent 22%),radial-gradient(circle at 20% 72%,#6d3cff17,transparent 24%);filter:blur(6px);opacity:.75}.brand em{display:inline-flex;margin-top:10px;padding:6px 14px;border-radius:9px;background:#7d43dc33;color:#d9c5ff;font-style:normal;font-size:12px;letter-spacing:0}.nav-badge{float:right;background:#8f54ff;border-radius:999px;font-size:11px;padding:1px 7px}.help-card{padding:16px;border:1px solid var(--line);border-radius:16px;background:#ffffff08;margin-top:18px}.help-card strong,.help-card small{display:block}.help-card small{color:var(--muted);margin:6px 0 12px}.help-card a{display:block;text-align:center;background:#7d43dc33;border-radius:10px;color:#d8b8ff;text-decoration:none;padding:9px}.wellness-mini{padding:14px;margin-top:14px;border-radius:16px;background:#ffffff08;border:1px solid var(--line)}.wellness-mini small,.wellness-mini strong{display:block}.wellness-mini i{display:block;height:7px;border-radius:999px;background:#ffffff14;margin:10px 0}.wellness-mini i b{display:block;width:62%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7038d9,#b35cff)}.wellness-mini span{display:flex;justify-content:space-between;color:#ddd;font-size:13px;margin-bottom:12px}.wellness-mini a{display:block;text-align:center;background:#7d43dc33;border-radius:10px;color:#d8b8ff;text-decoration:none;padding:9px}.dash-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:6px 0 22px}.dash-top h1{font-size:28px;margin:2px 0 8px}.dash-top p{color:var(--muted);margin:0}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#cbb8ff!important}.top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.icon-bell{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:#ffffff08}.icon-bell b{position:absolute;right:-5px;top:-6px;background:#8f54ff;border-radius:99px;font-size:11px;line-height:1;padding:4px 6px}.user-pill{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:10px 16px}.user-pill small{grid-column:2;color:var(--muted);margin-top:-8px}.avatar.mini{width:36px;height:36px;font-size:18px}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.visual-metrics .metric{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;min-height:154px}.visual-metrics .metric:after{content:"";position:absolute;inset:auto 16px 14px 16px;height:54px;background:linear-gradient(180deg,transparent,currentColor);opacity:.12;border-radius:14px;clip-path:polygon(0 80%,8% 70%,16% 84%,26% 62%,36% 69%,46% 42%,56% 70%,64% 66%,75% 35%,84% 64%,92% 54%,100% 46%,100% 100%,0 100%)}.visual-metrics .metric i{position:absolute;left:18px;bottom:16px;width:calc(var(--w,60%) - 18px);height:3px;border-radius:999px;background:currentColor;box-shadow:0 0 18px currentColor}.metric-icon{grid-row:span 3;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:currentColor;font-size:27px;box-shadow:0 0 30px currentColor}.metric-icon::first-letter{filter:none}.metric h3{margin:2px 0 0}.metric strong small{font-size:16px;color:#cfc7dd}.metric-purple{color:var(--violet)}.metric-cyan{color:var(--cyan)}.metric-blue{color:var(--blue)}.metric-gold{color:var(--gold)}.metric-rose{color:var(--rose)}.metric h3,.metric strong{color:#fff}.metric span{font-size:13px;color:currentColor}.patient-layout{display:grid;grid-template-columns:1.45fr 1.05fr 1fr;gap:16px}.pro-dashboard-layout{display:grid;grid-template-columns:1.25fr 1.25fr 1.1fr 1.1fr;gap:16px}.admin-dashboard-layout{display:grid;grid-template-columns:1.4fr 1.1fr 1.05fr 1.05fr;gap:16px}.span-2{grid-column:span 2}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.panel-head h2{margin:0}.panel-head a,.legend span,.range-tabs span,.range-tabs b{font-size:13px;color:#cfaeff;text-decoration:none}.legend{display:flex;gap:16px}.legend span:before{content:"";display:inline-block;width:12px;height:4px;border-radius:999px;margin-right:6px;vertical-align:middle;background:currentColor}.purple{color:var(--violet)!important}.cyan{color:var(--cyan)!important}.rose{color:var(--rose)!important}.chart-lines{width:100%;height:auto}.chart-lines svg{width:100%;height:260px}.gridline path{stroke:#ffffff12;stroke-width:1;fill:none}.line{fill:none;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 7px currentColor)}.line.purple{stroke:var(--violet);color:var(--violet)}.line.cyan{stroke:var(--cyan);color:var(--cyan)}.line.rose{stroke:var(--rose);color:var(--rose)}svg text{fill:#bfb8ce;font-size:14px}.balance-card{text-align:center}.wellness-ring{width:170px;height:170px;border-radius:50%;display:grid;place-items:center;margin:18px auto;background:conic-gradient(from 0deg,#9b5cff,#6728cc,#9b5cff 75%,#ffffff16 0);box-shadow:0 0 36px #9b5cff66}.wellness-ring span{width:135px;height:135px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#2a164e,#0d1324);font-size:55px}.recommendation-card{overflow:hidden}.landscape-art{height:146px;border-radius:14px;background:radial-gradient(circle at 55% 20%,#ffd7ff,transparent 7%),radial-gradient(circle at 52% 44%,#9b5cff99,transparent 24%),linear-gradient(160deg,#150b30,#381763 42%,#09101f 43%);position:relative}.landscape-art:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(160deg,transparent 20%,#070b15 21% 42%,transparent 43%),linear-gradient(20deg,transparent 20%,#0d1425 21% 50%,transparent 51%)}.record-line,.activity-line,.agenda-line,.task-line,.alert-line,.patient-chip,.rank-line,.system-alert{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #ffffff10;text-decoration:none;color:var(--text)}.record-line:last-child,.activity-line:last-child,.agenda-line:last-child,.task-line:last-child,.alert-line:last-child,.patient-chip:last-child,.rank-line:last-child,.system-alert:last-child{border-bottom:0}.record-line .face{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--cyan);color:var(--cyan)}.record-line .face.sad{border-color:var(--rose);color:var(--rose)}.record-line small,.activity-line small,.agenda-line small,.task-line small,.patient-chip small,.rank-line small,.system-alert small{display:block;color:var(--muted)}.records-card{grid-row:span 2}.streak-card strong{font-size:32px}.week-dots{display:flex;justify-content:space-between;gap:8px;margin-top:20px}.week-dots span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#7c45dc;color:white;position:relative}.week-dots span:last-child{background:#151a2b;border:2px solid var(--gold);color:var(--gold)}.week-dots small{position:absolute;top:44px;color:#bdb5c9;font-size:11px}.register-now{grid-column:span 2;min-height:0;background:linear-gradient(120deg,rgba(155,92,255,.32),rgba(8,11,22,.82)),radial-gradient(circle at 78% 100%,#d78cff59,transparent 34%)}.tool-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px}.tool-grid a,.quick-grid a{display:grid;gap:7px;place-items:center;text-align:center;min-height:82px;border:1px solid var(--line);border-radius:14px;background:#ffffff08;color:#ddd;text-decoration:none}.tool-grid a:first-child,.quick-grid a:first-child{color:#b77cff}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-grid a{font-size:28px}.quick-grid span,.tool-grid span{font-size:13px}.donut{width:170px;height:170px;border-radius:50%;margin:18px auto;background:conic-gradient(var(--violet) 0 39%,var(--cyan) 39% 71%,var(--gold) 71% 92%,var(--rose) 92% 100%);display:grid;place-items:center}.donut span{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:#101527;font-size:28px;font-weight:800;text-align:center}.donut small{display:block;font-size:12px;color:var(--muted);font-weight:500}.donut-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.donut-list li{display:flex;align-items:center;gap:9px;color:#ddd}.donut-list span{margin-left:auto;color:#bdb5c9}.donut-list b{width:10px;height:10px;border-radius:50%}.purple-dot{background:var(--violet)}.cyan-dot{background:var(--cyan)}.gold-dot{background:var(--gold)}.rose-dot{background:var(--rose)}.alert-line{grid-template-columns:auto 1fr auto}.alert-line b{font-size:24px}.alert-line a{color:#cba6ff;text-decoration:none}.alert-line.danger strong{color:var(--rose)}.alert-line.warn strong{color:var(--gold)}.alert-line.ok strong{color:var(--violet)}.agenda-line{grid-template-columns:64px 1fr auto}.agenda-line time{color:#d3ccdf}.agenda-line span,.patient-chip .badge,.system-alert span{border-radius:8px;padding:5px 9px;background:#7d43dc26;color:#d8b8ff;font-size:12px}.patient-chip{grid-template-columns:auto 1fr auto}.analysis-short p{color:var(--muted)}.tool-grid.compact{grid-template-columns:repeat(4,1fr)}.admin-actions .btn,.admin-actions .mini-btn{width:auto}.range-tabs{display:flex;gap:8px}.range-tabs span,.range-tabs b{padding:8px 12px;border-radius:10px;background:#ffffff08}.range-tabs b{background:#7d43dc55;color:white}.system-alert{grid-template-columns:auto 1fr auto}.system-alert.critical span{background:#ff5d7d22;color:#ff7c94}.system-alert.warn span{background:#ffc85722;color:#ffc857}.system-alert.ok span{background:#58e0d322;color:#58e0d3}.rank-line{grid-template-columns:26px auto 1fr auto}.rank-line>span{color:var(--green)}.usage-row{display:grid;gap:8px;margin:14px 0}.usage-row b{justify-self:end;margin-top:-24px;color:#cfc8d8}.usage-row i{height:8px;border-radius:999px;background:#ffffff12;position:relative}.usage-row i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:inherit;background:linear-gradient(90deg,#7d43dc,#b86cff)}.finance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:14px 0}.finance-grid div{border-right:1px solid #ffffff12}.finance-grid div:last-child{border-right:0}.finance-grid span,.finance-grid small{display:block;color:var(--muted)}.finance-grid strong{font-size:25px}.finance-grid small{color:var(--green)}.status-line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #ffffff10}.status-line b{color:var(--green)}.extra-admin{margin-top:16px}.muted{color:var(--muted)}
@media(max-width:1450px){.patient-layout,.pro-dashboard-layout,.admin-dashboard-layout{grid-template-columns:1fr 1fr}.recommendation-card,.tasks-card,.reminders-card{grid-column:auto}.tool-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1180px){.metric-grid.four,.metric-grid.five{grid-template-columns:repeat(2,1fr)}.pro-dashboard-layout,.admin-dashboard-layout,.patient-layout{grid-template-columns:1fr}.span-2,.register-now{grid-column:auto}.tool-grid,.tool-grid.compact{grid-template-columns:repeat(3,1fr)}.finance-grid{grid-template-columns:1fr 1fr}.admin-actions{justify-content:flex-start}}
@media(max-width:680px){.dash-top{display:grid}.top-actions{justify-content:flex-start}.metric-grid.four,.metric-grid.five{grid-template-columns:1fr}.visual-metrics .metric{grid-template-columns:auto 1fr}.panel-head{align-items:flex-start;flex-direction:column}.legend{flex-wrap:wrap}.record-line,.activity-line,.agenda-line,.task-line,.alert-line,.patient-chip,.rank-line,.system-alert{grid-template-columns:1fr}.tool-grid,.tool-grid.compact,.quick-grid{grid-template-columns:1fr 1fr}.week-dots{flex-wrap:wrap;justify-content:flex-start;margin-bottom:24px}.finance-grid{grid-template-columns:1fr}.finance-grid div{border-right:0;border-bottom:1px solid #ffffff12;padding-bottom:10px}.chart-lines svg{height:220px}.wellness-ring,.donut{width:140px;height:140px}.wellness-ring span,.donut span{width:104px;height:104px}.admin-actions .btn,.admin-actions .mini-btn{width:100%}}
@media(max-width:430px){.tool-grid,.tool-grid.compact,.quick-grid{grid-template-columns:1fr}.visual-metrics .metric{grid-template-columns:1fr}.metric-icon{grid-row:auto}.moon{width:100%}.top-actions{width:100%}.user-pill{width:100%}.sidebar nav a{font-size:14px}}

/* Pro build extension: Memento Cyclus Therapy */
.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 24px;padding:14px 4px}.hero h1{font-size:clamp(2rem,4vw,3.8rem);margin:.15em 0;color:#fff;letter-spacing:-.04em}.hero p{max-width:760px;color:#b7bfd4}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#9b5cff;font-size:.78rem;font-weight:800}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1.15fr .85fr}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.panel,.card{border:1px solid rgba(160,120,255,.18);border-radius:22px;background:linear-gradient(145deg,rgba(14,20,38,.86),rgba(9,13,28,.76));box-shadow:0 20px 80px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.04);padding:22px}.card{min-height:170px}.card.featured{background:radial-gradient(circle at top right,rgba(129,75,255,.23),transparent 42%),linear-gradient(145deg,rgba(18,22,42,.9),rgba(9,13,28,.78))}.icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(139,92,246,.16);color:#a855f7;font-size:1.6rem;margin-bottom:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(139,92,246,.35);border-radius:12px;padding:12px 18px;text-decoration:none;color:#dbcaff;background:rgba(139,92,246,.12);font-weight:800}.btn.primary{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;box-shadow:0 12px 30px rgba(124,58,237,.28)}.muted{color:#8792ad}.timeline-list{display:grid;gap:10px}.timeline-row{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:rgba(255,255,255,.03)}.timeline-row small,.message-card small,.metric-row small{display:block;color:#8c96ad;margin-top:3px}.pill{padding:6px 10px;border-radius:999px;background:rgba(139,92,246,.16);color:#c4a7ff;font-size:.78rem}.pill.completed,.pill.done{background:rgba(20,184,166,.16);color:#5eead4}.pill.cancelled{background:rgba(244,63,94,.16);color:#fb7185}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:7px;color:#cbd5e1;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid rgba(255,255,255,.1);background:rgba(4,8,20,.7);color:#fff;border-radius:12px;padding:12px}.form-grid textarea{min-height:120px;resize:vertical}.span-2{grid-column:1/-1}.message-card,.metric-row{padding:14px;border-bottom:1px solid rgba(255,255,255,.08)}.message-card p{color:#cbd5e1}.metric-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.metric-row small{grid-column:1/-1}.footer{opacity:.7;margin-top:24px;padding:12px;color:#8d99b7}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-actions a{padding:18px;border-radius:16px;background:rgba(139,92,246,.12);text-align:center;text-decoration:none;color:#eadcff;border:1px solid rgba(139,92,246,.22)}
@media (max-width:1100px){.grid.two{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}.timeline-row{grid-template-columns:58px 1fr}.timeline-row .pill{grid-column:2}.form-grid{grid-template-columns:1fr}}

/* === Memento Cyclus Therapy - visual/fullstack repair layer === */
:root{--bg:#060b16;--panel:#0e1628cc;--panel2:#121c32d9;--stroke:#24314d;--text:#f6f3ff;--muted:#a9aec5;--purple:#9b4dff;--purple2:#6d35df;--cyan:#2fd1c4;--blue:#6b8cff;--gold:#f6b400;--rose:#ff4e67;--green:#33d28f;--radius:18px;--shadow:0 22px 70px rgba(0,0,0,.38)}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 62% 0,#191143 0 16%,transparent 33%),radial-gradient(circle at 92% 12%,#101d3d 0 14%,transparent 28%),linear-gradient(135deg,#040912,#08101f 48%,#050914);overflow-x:hidden}.stars,.nebula{position:fixed;inset:0;pointer-events:none}.stars{background-image:radial-gradient(#fff8 1px,transparent 1px),radial-gradient(#9b5cff55 1px,transparent 1px);background-size:90px 90px,140px 140px;opacity:.26}.nebula{background:radial-gradient(circle at 48% 8%,#7a3cff33,transparent 25%),radial-gradient(circle at 78% 74%,#2fd1c422,transparent 30%);filter:blur(18px)}a{color:inherit;text-decoration:none}.glass{background:linear-gradient(180deg,rgba(18,27,48,.86),rgba(8,15,29,.8));border:1px solid rgba(140,117,255,.16);box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(14px)}.app-shell{display:grid;grid-template-columns:292px minmax(0,1fr);gap:26px;min-height:100vh;padding:16px}.login-shell{display:block}.main{min-width:0;padding:12px 8px 20px}.sidebar{position:sticky;top:16px;height:calc(100vh - 32px);border-radius:24px;padding:18px 14px;display:flex;flex-direction:column;overflow:hidden}.brand{display:flex;gap:14px;align-items:center;margin-bottom:22px}.brand .orb{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#b569ff,#2d185b 58%,#0b1020);box-shadow:0 0 28px #9b4dff77;color:white;font-size:30px}.brand strong{display:block;font-size:21px}.brand span{display:block;letter-spacing:8px;color:#c9c0df;font-size:12px;margin-top:3px}.brand em{display:inline-block;margin-top:12px;padding:6px 16px;border-radius:999px;background:#5c26a455;color:#d9c3ff;font-style:normal;font-size:13px}nav{display:flex;flex-direction:column;gap:7px;overflow:auto;padding-right:4px}nav a{display:flex;align-items:center;gap:10px;min-height:42px;padding:11px 14px;border-radius:8px;color:#c8cad8;position:relative}nav a:hover,nav a[aria-current="page"],nav a:first-child{background:linear-gradient(90deg,#7b35ef6b,#3d256e88);color:white}.nav-badge{margin-left:auto;background:var(--purple);border-radius:999px;padding:2px 7px}.nav-title{color:#778095;text-transform:uppercase;font-size:12px;letter-spacing:.06em;margin:18px 12px 6px}.profile,.wellness-mini,.help-card,.sync{margin-top:14px;padding:14px;border-radius:14px;background:rgba(126,88,255,.08);border:1px solid rgba(153,116,255,.1)}.profile{display:flex;gap:12px;align-items:center}.avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#d8b3ff,#33225f 60%,#0b1221)}.avatar.mini{width:36px;height:36px;font-size:17px}.profile small{display:block;color:var(--muted);margin-top:3px}.wellness-mini small,.wellness-mini span{display:block;color:var(--muted)}.wellness-mini i{display:block;height:7px;background:#222944;border-radius:999px;margin:10px 0}.wellness-mini i b{display:block;width:64%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--purple),#b65cff)}.wellness-mini a,.sync{display:block;text-align:center;color:#e2bdff}.bottom-icons{margin-top:auto;display:flex;justify-content:space-around;padding-top:16px}.mobile-menu,.sidebar-backdrop{display:none}.flash{position:fixed;right:22px;top:20px;z-index:9;background:#1d1236;border:1px solid #8a52ff99;border-radius:14px;padding:12px 16px;color:white;box-shadow:0 20px 50px #0008}.dash-top,.hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:0 0 18px}.dash-top h1,.hero h1{margin:0;font-size:clamp(28px,3vw,44px);letter-spacing:-.04em}.dash-top p,.hero p{color:var(--muted);margin:8px 0 0}.eyebrow{margin:0 0 6px!important;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:#b99dff!important}.top-actions{display:flex;gap:12px;align-items:center}.icon-bell{position:relative;font-size:22px;color:#bcc1d6}.icon-bell b{position:absolute;right:-7px;top:-8px;background:var(--purple);font-size:11px;padding:2px 6px;border-radius:99px}.moon,.user-pill{min-width:230px;border-radius:16px;padding:13px 18px}.moon strong,.moon span,.user-pill strong,.user-pill small{display:block}.moon span,.user-pill small{color:var(--muted);margin-top:4px}.user-pill{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.user-pill small{grid-column:2}.metric-grid{display:grid;gap:16px;margin-bottom:16px}.metric-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{border-radius:14px;padding:22px;min-height:150px;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;left:18px;right:18px;bottom:18px;height:38px;background:linear-gradient(90deg,currentColor var(--w,60%),transparent 0);clip-path:polygon(0 66%,8% 50%,16% 72%,25% 44%,34% 54%,44% 24%,54% 50%,64% 35%,72% 64%,82% 30%,100% 44%,100% 100%,0 100%);opacity:.55}.metric h3{margin:0 0 8px 70px;color:#e7e2f0;font-size:16px}.metric strong{display:block;margin-left:70px;font-size:30px;line-height:1}.metric small{font-size:16px;color:var(--muted)}.metric span{display:block;margin:7px 0 0 70px;font-weight:700;font-size:13px}.metric-icon{position:absolute;top:22px;left:22px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:currentColor;font-size:27px}.metric-icon:first-letter{filter:saturate(0)}.metric-purple{color:var(--purple)}.metric-cyan{color:var(--cyan)}.metric-blue{color:var(--blue)}.metric-gold{color:var(--gold)}.metric-rose{color:var(--rose)}.patient-layout,.pro-dashboard-layout{display:grid;grid-template-columns:1.35fr 1fr .95fr;gap:16px;align-items:stretch}.span-2{grid-column:span 2}.panel,.cta{border-radius:14px;padding:20px;min-width:0}.panel h2,.cta h2{margin:0 0 14px;font-size:20px}.panel h3{margin:10px 0 5px}.panel p,.muted{color:var(--muted)}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.panel-head a{color:#c273ff;font-weight:700}.chart-card{min-height:320px}.chart-lines svg{width:100%;height:auto}.gridline path{stroke:#27304a;stroke-width:1;opacity:.55}.line{fill:none;stroke-width:4;stroke-linecap:round}.line.purple{stroke:var(--purple)}.line.cyan{stroke:var(--cyan)}.line.rose{stroke:var(--rose)}svg text{fill:#aeb4c7;font-size:16px}.legend{display:flex;gap:18px;color:#cfd2df;font-size:13px}.legend span:before{content:"";display:inline-block;width:12px;height:5px;border-radius:8px;margin-right:7px;vertical-align:middle}.legend .purple:before{background:var(--purple)}.legend .cyan:before{background:var(--cyan)}.legend .rose:before{background:var(--rose)}.wellness-ring{width:150px;height:150px;border-radius:50%;margin:8px auto;background:conic-gradient(var(--purple) 0 82%,#17213b 0);display:grid;place-items:center;box-shadow:0 0 34px #9b4dff66}.wellness-ring span{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;font-size:56px;background:radial-gradient(circle,#442072,#090f1f)}.balance-card{text-align:center}.btn,.mini-btn{border:0;border-radius:10px;background:linear-gradient(135deg,var(--purple),var(--purple2));color:white;padding:12px 20px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.ghost,.mini-btn{background:#24163e;border:1px solid #6634b9}.btn.full{width:100%}.mini-btn{padding:8px 12px;font-size:13px}.mini-btn.danger{border-color:#ff4e6788;color:#ff9aa8}.landscape-art{height:140px;border-radius:8px;background:radial-gradient(circle at 70% 25%,#ddd9ff 0 10px,transparent 11px),linear-gradient(140deg,#201a68,#5c2a88 45%,#16213c);position:relative;overflow:hidden}.landscape-art:after{content:"";position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(160deg,transparent 40%,#050914 41%),linear-gradient(25deg,transparent 48%,#0a1429 49%)}.record-line,.task-line,.activity-line,.alert-line,.agenda-line,.patient-chip,.entry{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #23304a}.record-line:last-child,.task-line:last-child,.entry:last-child{border-bottom:0}.record-line small,.task-line small,.activity-line small,.agenda-line small,.patient-chip small{display:block;color:var(--muted);margin-top:3px}.face{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:2px solid currentColor}.face.happy{color:var(--green)}.face.sad{color:var(--rose)}.badge{border-radius:8px;padding:6px 10px;background:#351b66;color:#d9bdff;font-size:12px;margin-left:auto}.badge.ok{background:#06372e;color:#3af1b1}.badge.danger{background:#3b1421;color:#ff8091}.task-line span:first-child{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;border:2px solid #68708a;color:white}.task-line.is-done span:first-child{background:var(--purple);border-color:var(--purple)}.streak-card strong{font-size:30px}.week-dots{display:flex;justify-content:space-between;margin-top:20px}.week-dots span{width:35px;height:35px;border-radius:50%;background:var(--purple);display:grid;place-items:center;position:relative}.week-dots small{position:absolute;top:42px;color:var(--muted);font-size:12px}.cta{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#452084cc,#141c34cc),radial-gradient(circle at 70%,#d966ff33,transparent 28%)}.tool-grid,.quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px}.tool-grid a,.quick-grid a{min-height:78px;border-radius:10px;border:1px solid #26334f;background:#0c1428cc;display:grid;place-items:center;text-align:center;color:#d7d9e7;font-size:25px;padding:10px}.tool-grid span,.quick-grid span{display:block;font-size:12px;color:#c8cad8}.donut{width:190px;height:190px;border-radius:50%;margin:auto;background:conic-gradient(var(--purple) 0 39%,var(--cyan) 0 71%,var(--gold) 0 92%,var(--rose) 0);display:grid;place-items:center}.donut span{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:#0c1426;font-size:30px;font-weight:800;text-align:center}.donut small{display:block;font-size:12px;color:var(--muted);font-weight:400}.donut-list{list-style:none;padding:0;margin:16px 0}.donut-list li{display:flex;justify-content:space-between;padding:6px 0;color:#cdd1e2}.purple-dot,.cyan-dot,.gold-dot,.rose-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px}.purple-dot{background:var(--purple)}.cyan-dot{background:var(--cyan)}.gold-dot{background:var(--gold)}.rose-dot{background:var(--rose)}.agenda-line time{color:#c8a3ff;min-width:52px}.agenda-line span{margin-left:auto;background:#251442;color:#d5b4ff;border-radius:8px;padding:6px 10px}.alert-line a{margin-left:auto;color:#cf9cff}.danger strong{color:var(--rose)}.warn strong{color:var(--gold)}.ok strong{color:#bd70ff}.patient-chip{color:inherit}.analysis-short{display:grid;grid-template-columns:1fr 2fr;gap:16px;align-items:center}label{display:block;color:#d9dcec;margin:12px 0}input,select,textarea{width:100%;border:1px solid #2b3959;background:#0a1224;color:white;border-radius:10px;padding:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#8a52ff;box-shadow:0 0 0 3px #8a52ff22}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.note{border:1px solid #26334f;border-radius:12px;padding:12px;margin-bottom:10px;background:#0c1428}.entry form{margin-left:auto}
@media(max-width:1280px){.app-shell{grid-template-columns:260px 1fr}.metric-grid.five{grid-template-columns:repeat(3,1fr)}.patient-layout,.pro-dashboard-layout{grid-template-columns:1fr 1fr}.recommendation-card,.tasks-card,.reminders-card,.quick-actions,.agenda-card,.patients-list{grid-column:span 1}}@media(max-width:860px){.app-shell{display:block;padding:10px}.main{padding-top:64px}.mobile-menu{display:grid;position:fixed;top:14px;left:14px;z-index:30;width:44px;height:44px;border-radius:12px;border:1px solid #61439c;background:#140d2a;color:white}.sidebar{position:fixed;z-index:25;left:10px;top:10px;bottom:10px;width:min(320px,86vw);height:auto;transform:translateX(-110%);transition:.25s ease}.menu-open .sidebar{transform:none}.sidebar-backdrop{position:fixed;z-index:20;inset:0;background:#02040aaa}.menu-open .sidebar-backdrop{display:block}.dash-top,.hero,.top-actions,.cta{flex-direction:column}.metric-grid.five,.metric-grid.four,.patient-layout,.pro-dashboard-layout,.grid-2{grid-template-columns:1fr}.span-2,.analysis-short{grid-column:auto}.analysis-short{display:block}.moon,.user-pill{min-width:0;width:100%}.chart-card{min-height:auto}.panel,.metric{padding:16px}.metric h3,.metric strong,.metric span{margin-left:62px}}@media(max-width:520px){.tool-grid,.quick-grid{grid-template-columns:repeat(2,1fr)}.record-line,.patient-chip,.agenda-line{align-items:flex-start}.badge{margin-left:0}.week-dots{gap:8px;overflow:auto;padding-bottom:22px}.panel-head{align-items:flex-start;flex-direction:column}.landscape-art{height:110px}}


/* === Fix 2026-04-30: sidebar con scroll general + rendimiento === */
html{scroll-behavior:auto!important;}
body{overflow-y:auto;}
.app-shell{align-items:start;min-height:100vh;}
.sidebar{
  position:relative!important;
  top:auto!important;
  height:auto!important;
  max-height:none!important;
  min-height:calc(100vh - 36px);
  overflow:visible!important;
  align-self:start;
}
.sidebar .profile{margin-top:28px;}
.bottom-icons{margin-top:18px;}

/* El blur pesado era el mayor cuello de botella visual en equipos modestos. */
.glass{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 14px 38px rgba(0,0,0,.36)!important;}
.stars{opacity:.12!important;background-size:220px 220px,320px 320px!important;}
.metric:after{opacity:.34!important;will-change:auto!important;}
.panel,.metric,.glass{contain:layout paint;}
.main{contain:layout;}

@media (min-width:861px){
  .app-shell{grid-template-columns:260px minmax(0,1fr);}
}

@media (max-width:860px){
  .app-shell{display:block;}
  .sidebar{
    position:relative!important;
    left:auto!important;top:auto!important;bottom:auto!important;
    width:100%!important;
    transform:none!important;
    min-height:auto!important;
    margin-bottom:14px;
  }
  .mobile-menu,.sidebar-backdrop{display:none!important;}
  .main{padding-top:0!important;}
  body.menu-open{overflow:auto;}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* Interacciones funcionales añadidas */
.task-line button[type="submit"]{border:1px solid rgba(155,92,255,.45);background:rgba(155,92,255,.16);color:#fff;border-radius:10px;min-width:32px;height:32px;cursor:pointer;font-size:1rem}.task-line button[type="submit"]:disabled{opacity:.55;cursor:wait}.toast-zone{position:fixed;right:22px;bottom:22px;z-index:80;display:grid;gap:10px}.toast{padding:12px 16px;border-radius:14px;background:rgba(25,18,48,.94);border:1px solid rgba(155,92,255,.38);box-shadow:0 12px 35px rgba(0,0,0,.35);color:#fff;animation:toastIn .18s ease-out}.toast.bad{border-color:rgba(255,79,99,.55)}@keyframes toastIn{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.note:target,.chip:target{outline:2px solid rgba(155,92,255,.65);outline-offset:5px}

/* === Fix 2026-04-30b: login centrado real + menor coste visual === */
.login-shell{width:100%;min-height:100vh;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;}
.login-shell .login-card{margin:auto;}
.glass{backdrop-filter:blur(8px);box-shadow:0 12px 34px #0006;}
.chart-lines svg{display:block;contain:paint;}
.sidebar{overflow:visible!important;height:auto!important;max-height:none!important;}
@media(min-width:861px){.sidebar{position:sticky;top:18px;align-self:start;}}
.table-wrap{overflow:auto;}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:10px;border-bottom:1px solid #24304a;text-align:left}.actions.left{justify-content:flex-start}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span-2{grid-column:span 2}
@media(max-width:860px){.grid.two{grid-template-columns:1fr}.span-2{grid-column:auto}.login-shell{padding:12px!important}.sidebar{overflow:auto!important}}

/* === Admin/business-logic polish 2026-04-30 === */
.flash{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:26px!important;transform:translateX(-50%);z-index:9999;min-width:min(520px,calc(100vw - 32px));text-align:center;border-radius:16px;padding:14px 22px;font-weight:800;box-shadow:0 18px 60px #0009;animation:flash-pop 3.8s ease forwards;pointer-events:none}.flash-ok{background:rgba(20,105,65,.95)!important;border:1px solid #51e39b!important;color:#eafff5!important}.flash-nok{background:rgba(123,24,42,.95)!important;border:1px solid #ff5d7d!important;color:#fff0f3!important}@keyframes flash-pop{0%{opacity:0;transform:translate(-50%,18px)}10%,78%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,18px)}}
.toast-zone{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:9998;display:grid;gap:10px}.toast{min-width:min(460px,calc(100vw - 32px));text-align:center;border-radius:16px;padding:13px 20px;font-weight:800;box-shadow:0 18px 60px #0009;background:rgba(20,105,65,.95);border:1px solid #51e39b;color:#eafff5;animation:flash-pop 3s ease forwards}.toast.bad{background:rgba(123,24,42,.95);border-color:#ff5d7d;color:#fff0f3}
.value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 16px}.value-grid div{border:1px solid rgba(153,116,255,.14);background:rgba(12,20,40,.72);border-radius:14px;padding:16px}.value-grid strong{display:block;font-size:28px;color:#fff}.value-grid span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.admin-message-form{grid-template-columns:1fr 1fr}.admin-message-form .span-2{grid-column:span 2}.message-card{border:1px solid rgba(153,116,255,.16);background:rgba(12,20,40,.68);border-radius:14px;padding:13px 15px;margin:10px 0}.message-card strong,.message-card small{display:block}.message-card small{color:var(--muted);margin-top:4px}.message-card p{margin:.7em 0 0}.system-alert{display:flex;align-items:center;gap:12px;border:1px solid rgba(153,116,255,.14);border-radius:14px;padding:12px;margin:10px 0;background:#0c1428}.system-alert b:first-child{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffffff10}.system-alert div{flex:1}.system-alert small{display:block;color:var(--muted);margin-top:3px}.system-alert>span{border-radius:999px;padding:5px 9px;font-size:12px;background:#ffffff10}.system-alert.warn>span{color:#ffc857}.system-alert.ok>span{color:#51e39b}.admin-dashboard-layout{grid-template-columns:1.2fr 1fr 1fr}.quick-grid a{text-decoration:none}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{border-bottom:1px solid #23304a;padding:10px;text-align:left}.data-table th{color:#c8cad8;font-size:13px}@media(max-width:1100px){.value-grid{grid-template-columns:1fr 1fr}.admin-dashboard-layout{grid-template-columns:1fr}.admin-message-form{grid-template-columns:1fr}.admin-message-form .span-2{grid-column:auto}}@media(max-width:680px){.value-grid{grid-template-columns:1fr}.flash{bottom:16px}}

/* === UX upgrade: calendario real, notas, mensajes, mis fases, patrones === */
.calendar-hero{align-items:flex-end;gap:18px}.calendar-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px;border-radius:18px}.calendar-toolbar label{font-size:12px;color:var(--muted);display:grid;gap:4px}.calendar-toolbar input,.calendar-toolbar select,.search-box input{background:#0b1428;border:1px solid rgba(153,116,255,.22);color:#fff;border-radius:10px;padding:9px 10px}.calendar-shell{padding:20px;border-radius:24px}.calendar-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.calendar-title strong{font-size:28px}.calendar-title span{color:var(--muted)}.calendar-weekdays,.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekdays b{text-align:center;color:#c9c3df;font-size:13px;padding:8px}.calendar-day{min-height:120px;border:1px solid rgba(153,116,255,.14);background:rgba(8,16,32,.62);border-radius:16px;padding:11px;display:flex;flex-direction:column;gap:7px}.calendar-day header{display:flex;justify-content:space-between;align-items:center}.calendar-day header b{font-size:20px}.calendar-day header span{font-size:12px;background:rgba(155,92,255,.18);border-radius:999px;padding:3px 7px}.calendar-day small,.calendar-day p{margin:0;color:#aeb3cb}.calendar-day.has-data{box-shadow:inset 0 0 0 1px rgba(155,92,255,.16)}.calendar-day.good{background:linear-gradient(160deg,rgba(28,128,92,.22),rgba(8,16,32,.68))}.calendar-day.mid{background:linear-gradient(160deg,rgba(176,125,28,.22),rgba(8,16,32,.68))}.calendar-day.low{background:linear-gradient(160deg,rgba(160,45,72,.22),rgba(8,16,32,.68))}.muted-day{opacity:.22}.day-meter{height:6px;background:#ffffff12;border-radius:99px;overflow:hidden}.day-meter i{height:100%;display:block;background:linear-gradient(90deg,#8f46ff,#35dcc9);border-radius:99px}.analysis-grid .metric small{display:block;color:var(--muted);margin-top:8px}.insight-card,.pattern-card{border:1px solid rgba(153,116,255,.17);background:rgba(14,22,42,.72);border-radius:16px;padding:14px;margin:10px 0}.insight-card p,.pattern-card p{margin:7px 0;color:#dcd9ea}.insight-card small,.pattern-card small{color:var(--muted)}.lunar-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lunar-card h2 span{font-size:30px}.lunar-card h3{margin:16px 0 6px;font-size:15px;color:#caa8ff}.mini-stats{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}.mini-stats b{font-size:24px;color:#fff}.mini-stats span{color:var(--muted);font-size:12px;margin-right:10px}.phase-orbit{position:relative;overflow:hidden;padding:24px;border-radius:26px;display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:center}.phase-orbit:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 20% 50%,rgba(151,82,255,.24),transparent 28%),radial-gradient(circle at 75% 40%,rgba(53,220,201,.14),transparent 24%);pointer-events:none}.orbit-core,.phase-cards{position:relative}.orbit-core{width:220px;height:220px;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle,#7d35ff55,#0c1428 66%);border:1px solid rgba(153,116,255,.3);box-shadow:0 0 60px #7d35ff33}.orbit-core{font-size:52px}.orbit-core strong,.orbit-core span{display:block;grid-column:1;grid-row:1;font-size:22px;transform:translateY(34px)}.orbit-core span{font-size:12px;color:var(--muted);transform:translateY(62px)}.phase-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.phase-cards article{border:1px solid rgba(153,116,255,.18);border-radius:18px;padding:16px;background:rgba(12,20,40,.76)}.phase-cards b,.phase-cards small,.phase-cards span,.phase-cards i{display:block}.phase-cards small,.phase-cards i{color:var(--muted);font-style:normal}.phase-cards span{margin:10px 0;color:#fff}.notes-layout{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.search-box{display:flex;align-items:center;gap:6px;background:#0b1428;border:1px solid rgba(153,116,255,.2);border-radius:14px;padding:4px 8px}.search-box input{border:0;background:transparent;outline:none}.note-grid{display:grid;gap:10px}.note-card{border:1px solid rgba(153,116,255,.17);background:rgba(12,20,40,.72);border-radius:16px;padding:12px}.note-card summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px}.note-card summary small{color:var(--muted)}.note-card input,.note-card textarea{width:100%;margin-top:10px}.message-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.icon-danger{background:rgba(255,78,110,.13);border:1px solid rgba(255,78,110,.3);color:#fff;border-radius:10px;padding:7px 9px;cursor:pointer}.task-entry .actions{margin-top:10px}.entry.is-done{opacity:.68}.entry.is-done b{text-decoration:line-through}
@media(max-width:980px){.calendar-weekdays,.calendar-month{gap:5px}.calendar-day{min-height:98px;padding:8px}.phase-orbit,.notes-layout{grid-template-columns:1fr}.orbit-core{margin:auto}.phase-cards,.lunar-info-grid{grid-template-columns:1fr}.section-head{align-items:stretch;flex-direction:column}}
@media(max-width:680px){.calendar-weekdays b{font-size:11px}.calendar-day{min-height:82px;border-radius:12px}.calendar-day p,.calendar-day small{font-size:11px}.calendar-day header b{font-size:16px}.calendar-toolbar{align-items:stretch}.calendar-toolbar>*{width:100%}}
/* === Upgrade: modales, correlaciones, lunar legible, nav pacientes === */
.mc-modal-backdrop{position:fixed;inset:0;background:rgba(3,6,16,.72);backdrop-filter:blur(8px);z-index:10000;display:grid;place-items:center;padding:20px}.mc-modal{width:min(460px,calc(100vw - 32px));border-radius:24px;padding:24px;text-align:center;border:1px solid rgba(160,115,255,.25);box-shadow:0 30px 90px #000b;position:relative}.mc-modal-x{position:absolute;right:14px;top:12px;border:0;background:#ffffff10;color:#fff;border-radius:999px;width:34px;height:34px;font-size:22px}.mc-modal-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:radial-gradient(circle,#8f46ff88,#1a1330);font-weight:900}.mc-modal-icon.danger{background:radial-gradient(circle,#ff506f88,#30131b)}.mc-modal h2{margin:6px 0 8px}.mc-modal p{color:#c9c4da}.mc-modal-actions{display:flex;justify-content:center;gap:10px;margin-top:18px}.mini-btn.primary{background:linear-gradient(135deg,#7d35ff,#b45cff);color:#fff}.mini-btn.danger,.btn.danger{background:rgba(255,78,110,.14);border-color:rgba(255,78,110,.42);color:#ffdce4}.nav-group>.nav-sublist{display:none;margin:2px 0 8px 18px;border-left:1px solid rgba(153,116,255,.22);padding-left:8px}.nav-group.open>.nav-sublist{display:grid;gap:3px}.nav-sublist a{font-size:13px!important;padding:9px 10px!important;background:rgba(255,255,255,.03)!important}.nav-sublist small{opacity:.72}.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.correlation-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.correlation-card{border:1px solid rgba(153,116,255,.18);background:rgba(11,20,40,.74);border-radius:18px;padding:16px}.correlation-card header{display:flex;justify-content:space-between;gap:10px;align-items:center}.correlation-card header span,.bar-row small,.bar-row em{color:#b8b4cc}.bar-row{display:grid;grid-template-columns:84px 1fr 36px;gap:10px;align-items:center;margin:10px 0}.bar-row i{height:8px;background:#ffffff12;border-radius:999px;overflow:hidden}.bar-row b{display:block;height:100%;background:linear-gradient(90deg,#8e45ff,#35dcc9);border-radius:999px}.correlation-card.danger{box-shadow:inset 0 0 0 1px rgba(255,78,110,.18)}.correlation-card.good{box-shadow:inset 0 0 0 1px rgba(81,227,155,.18)}.insight-card.good,.phase-entry.good{border-color:rgba(81,227,155,.36)}.insight-card.danger,.phase-entry.danger{border-color:rgba(255,78,110,.36)}.lunar-sub-block{border-top:1px solid rgba(153,116,255,.15);padding-top:10px;margin-top:10px}.lunar-sub-block h3{margin:0 0 8px;color:#d9c6ff}.phase-entry{border-radius:14px!important;padding:11px!important}.phase-pill{display:inline-block;border:1px solid rgba(153,116,255,.24);border-radius:999px;padding:6px 10px;background:#ffffff08}.phase-summary{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:start;padding:13px 0;border-bottom:1px solid rgba(153,116,255,.14)}.substance-chip.dopamina{border-color:#f4b740;color:#ffd88a}.substance-chip.serotonina{border-color:#35dcc9;color:#9ff5ea}.substance-chip.noradrenalina{border-color:#ff526f;color:#ffb4c1}.substance-chip.acetilcolina{border-color:#7aa7ff;color:#cfe0ff}.calendar-event{display:block;text-decoration:none;color:#e8ddff;background:rgba(155,92,255,.15);border:1px solid rgba(155,92,255,.2);border-radius:8px;padding:4px 6px;font-size:12px}.resource-card form{margin-top:12px}.cards-grid{align-items:stretch}.card.resource-card{display:flex;flex-direction:column}.card.resource-card p{flex:1}@media(max-width:900px){.metric-grid.three,.correlation-map,.phase-summary{grid-template-columns:1fr}.mc-modal-actions{flex-direction:column}.mc-modal-actions button{width:100%}}
/* === Panel compaction + modal forms + professional directory === */
.hidden{display:none!important}.grid.one{grid-template-columns:1fr}.compact-hero{align-items:center}.compact-hero .actions,.hero .actions{display:flex;gap:10px;flex-wrap:wrap}.compact-metrics .metric{min-height:118px;padding:18px}.compact-metrics .metric h3,.compact-metrics .metric strong,.compact-metrics .metric span{margin-left:0}.compact-metrics .metric:after,.compact-metrics .metric-icon{display:none}.compact-panels{margin-top:16px}.full-panel{margin:18px 0}.patient-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px}.patient-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;border-radius:18px;padding:16px}.patient-card h3{margin:0}.patient-card p{margin:2px 0;color:var(--muted)}.patient-card small{color:#8e96ad}.patient-card .patient-kpis,.patient-card .actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.patient-kpis span{border:1px solid rgba(153,116,255,.18);background:#ffffff08;border-radius:999px;padding:7px 11px;color:#c9c3dc}.form-modal{width:min(760px,calc(100vw - 32px));text-align:left;max-height:90vh;overflow:auto}.form-modal h2{text-align:left;margin:0 0 16px}.form-modal label{display:grid;gap:7px;color:#cfd4e8;font-weight:700;margin:0 0 12px}.form-modal input,.form-modal select,.form-modal textarea,.note-card input,.note-card textarea{width:100%;border:1px solid rgba(153,116,255,.22);background:#080f20;color:#fff;border-radius:12px;padding:12px}.form-modal textarea{resize:vertical}.btn.full{width:100%}.sessions-card .agenda-line,.agenda-line{display:grid;grid-template-columns:68px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.07);padding:10px 0}.agenda-line time{color:#bf9fff;font-weight:800}.agenda-line small{display:block;color:var(--muted);margin-top:3px}.agenda-line span{font-size:12px;border:1px solid rgba(153,116,255,.22);border-radius:999px;padding:5px 9px;color:#d8c8ff}.professional-summary{margin-bottom:18px}.full-history-panel{min-height:70vh}.history-table{display:grid;gap:10px}.history-entry{display:grid;grid-template-columns:1fr auto;gap:16px;border:1px solid rgba(153,116,255,.16);background:rgba(8,16,32,.56);border-radius:16px;padding:14px}.history-entry strong{font-size:18px}.history-entry small{display:block;color:#aab1c8;margin-top:4px}.history-entry p{margin:8px 0 0;color:#d8d5e8}.history-kpis{display:grid;grid-template-columns:repeat(2,90px);gap:8px}.history-kpis span{border-radius:12px;background:#ffffff08;padding:8px;color:#aeb6ce}.history-kpis b{display:block;color:#fff;font-size:18px}.notes-layout{grid-template-columns:1fr}.note-editor{display:none}.sidebar nav a[href*="sustancias"]{display:var(--show-patient-only,flex)}
@media(max-width:800px){.patient-directory{grid-template-columns:1fr}.history-entry{grid-template-columns:1fr}.history-kpis{grid-template-columns:repeat(2,1fr)}.sessions-card .agenda-line,.agenda-line{grid-template-columns:1fr}.form-modal{max-height:92vh}.patient-card{grid-template-columns:1fr}}

/* === 2026-04-30 compact dashboard refinement === */
.admin-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:18px 0}.action-card{border:0;color:inherit;text-align:left;border-radius:20px;padding:18px;cursor:pointer;min-height:132px;display:flex;flex-direction:column;gap:6px;transition:transform .18s ease,border-color .18s ease}.action-card:hover{transform:translateY(-3px);border-color:rgba(155,92,255,.34)}.action-card span{font-size:26px}.action-card strong{font-size:18px}.action-card small{color:var(--muted)}.admin-insight-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:18px 0}.section-panel{margin-top:18px}.panel-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.compact-search{min-width:240px;border:1px solid rgba(153,116,255,.22);background:#080f20;color:#fff;border-radius:999px;padding:11px 14px}.compact-form{margin-bottom:18px}.chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.chip{display:flex;gap:8px;align-items:center;justify-content:space-between;border:1px solid rgba(153,116,255,.18);background:rgba(255,255,255,.05);border-radius:16px;padding:10px 12px}.compact-list{margin-top:14px}.modal-smart-form{display:grid;gap:12px}.modal-smart-form label{display:grid;gap:7px}.modal-smart-form input,.modal-smart-form select{border:1px solid rgba(153,116,255,.22);background:#080f20;color:#fff;border-radius:12px;padding:12px}.main .section-panel.hidden{display:none!important}.nav-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;margin-left:auto;padding:0 7px;background:linear-gradient(135deg,#ff4e67,#f6b400);color:white;font-size:12px;font-weight:900;box-shadow:0 0 20px rgba(255,78,103,.38)}.sidebar nav a{gap:8px}.flash{position:fixed!important;left:50%!important;bottom:24px!important;top:auto!important;transform:translateX(-50%);z-index:9999;min-width:min(520px,calc(100vw - 32px));text-align:center;border-radius:16px;padding:14px 18px;box-shadow:0 20px 60px rgba(0,0,0,.35);animation:flashOut 4.2s ease forwards}.flash-ok{background:rgba(29,185,112,.96)!important;color:#fff!important}.flash-nok{background:rgba(222,42,70,.96)!important;color:#fff!important}@keyframes flashOut{0%,75%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(20px);pointer-events:none}}.form-modal{scrollbar-width:thin}.form-modal .span-2{grid-column:1/-1}.btn.primary,.mini-btn.primary{background:linear-gradient(135deg,var(--purple),var(--cyan));color:#fff;border:0}.smart-form input:focus,.smart-form select:focus,.smart-form textarea:focus,.form-modal input:focus,.form-modal select:focus,.form-modal textarea:focus{outline:2px solid rgba(47,209,196,.55);outline-offset:2px}.form-hint{display:block;color:var(--muted);font-size:12px;margin-top:4px}
@media(max-width:900px){.admin-insight-grid{grid-template-columns:1fr}.compact-search{min-width:0;width:100%}.panel-tools{width:100%}.chip{align-items:flex-start;flex-direction:column}.admin-action-grid{grid-template-columns:1fr 1fr}.action-card{min-height:118px}}@media(max-width:560px){.admin-action-grid{grid-template-columns:1fr}}

/* === FINAL CONSOLIDATED FIXES · UI, ADMIN, FLASH, MODALS === */
.sidebar{overflow-y:auto;max-height:calc(100vh - 36px);scrollbar-width:thin}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-thumb{background:rgba(155,92,255,.45);border-radius:99px}
.flash{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:9999;min-width:280px;max-width:90vw;text-align:center;font-weight:800;border-radius:16px;padding:14px 22px;box-shadow:0 18px 60px #0009;animation:flashOut 4s forwards}.flash-ok{background:linear-gradient(135deg,#15803d,#22c55e);color:white;border-color:#86efac}.flash-nok{background:linear-gradient(135deg,#b91c1c,#ef4444);color:white;border-color:#fecaca}@keyframes flashOut{0%,82%{opacity:1;bottom:26px}100%{opacity:0;bottom:8px;pointer-events:none}}
.toast-zone{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:10000;display:grid;gap:10px}.toast{padding:14px 22px;border-radius:16px;font-weight:800;color:white;box-shadow:0 18px 60px #0009;background:linear-gradient(135deg,#15803d,#22c55e)}.toast.bad,.toast.nok{background:linear-gradient(135deg,#b91c1c,#ef4444)}
.bottom-icons.header-actions-big{display:flex;gap:12px;justify-content:center;margin-top:16px}.bottom-icon{width:54px;height:54px;border-radius:18px;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.045));color:white;text-decoration:none;font-weight:900;font-size:25px;box-shadow:0 14px 35px #0006;cursor:pointer}.bottom-icon:hover{transform:translateY(-2px);filter:brightness(1.15)}.logout-icon{background:linear-gradient(135deg,#dc2626,#fb7185)}.help-question{background:linear-gradient(135deg,#0e7490,#22d3ee)}
.help-card{display:none!important}.user-menu-popover{position:fixed;left:18px;bottom:92px;width:min(380px,calc(100vw - 36px));padding:18px;z-index:9400}.user-menu-popover.hidden{display:none}.user-menu-tabs{display:flex;gap:8px;margin-bottom:12px}.user-menu-tabs button.active{background:linear-gradient(135deg,var(--cyan),var(--violet));color:white}.user-menu-panel{display:none}.user-menu-panel.active{display:block}
.admin-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:20px 0}.action-card{border:0;color:white;text-align:left;padding:20px;border-radius:24px;cursor:pointer;text-decoration:none;min-height:145px;background:linear-gradient(135deg,#312e81,#8b5cf6)}.action-card:nth-child(2){background:linear-gradient(135deg,#0e7490,#22d3ee)}.action-card:nth-child(3){background:linear-gradient(135deg,#be185d,#f472b6)}.action-card:nth-child(4){background:linear-gradient(135deg,#166534,#22c55e)}.action-card span{font-size:34px;display:block;margin-bottom:12px}.action-card strong{display:block;font-size:20px}.action-card small{opacity:.9}.action-card:hover{transform:translateY(-4px);box-shadow:0 22px 60px #0008}.section-panel.hidden,.hidden{display:none!important}.full-panel{min-height:auto}.compact-metrics .metric{min-height:110px}.panel-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.compact-search{max-width:260px}
.mc-modal-backdrop{position:fixed;inset:0;background:rgba(2,4,12,.78);z-index:9300;display:flex;align-items:center;justify-content:center;padding:24px}.mc-modal-backdrop.hidden{display:none}.mc-modal{width:min(820px,96vw);max-height:90vh;overflow:auto;padding:24px}.mc-modal.form-modal{width:min(760px,96vw)}.mc-modal.fullscreen{width:calc(100vw - 36px);height:calc(100vh - 36px)}.mc-modal-x{float:right;border:0;background:#ffffff14;color:white;width:40px;height:40px;border-radius:14px;font-size:24px;cursor:pointer}.mc-modal-actions,.actions.left{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.icon-danger,.icon-btn{border:0;border-radius:12px;background:#ffffff12;color:white;width:38px;height:38px;cursor:pointer}.icon-danger{background:#ef444433;color:#fecaca}.record-actions{display:flex;gap:8px}.record-action{border:0;border-radius:12px;background:#ffffff12;color:white;width:40px;height:40px;display:grid;place-items:center;cursor:pointer}.record-action.view{color:#93c5fd}.record-action.edit{color:#facc15}.record-action.delete{color:#fca5a5}
.message-thread{border-left:3px solid var(--cyan);padding-left:12px}.reply-form{margin-top:12px;padding:12px;border-radius:16px;background:#ffffff08}.thread-message{border-radius:16px;padding:13px;margin:9px 0;background:#ffffff09}.thread-message.mine{margin-left:auto;max-width:78%;background:linear-gradient(135deg,rgba(88,224,211,.18),rgba(155,92,255,.18))}.thread-message.theirs{margin-right:auto;max-width:78%}.help-doc-layout{display:grid;grid-template-columns:270px 1fr;gap:18px}.help-doc-sidebar,.help-doc-content{padding:18px;border-radius:20px;background:#ffffff08;border:1px solid var(--line)}.help-article-link{width:100%;text-align:left;border:0;border-radius:14px;padding:12px;margin:6px 0;background:#ffffff0b;color:white;cursor:pointer}.help-article-link:hover{background:#ffffff18}.help-search{margin-bottom:10px}
.analysis-grid,.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.insight-card,.pattern-card{padding:16px;border-radius:20px;background:linear-gradient(145deg,rgba(88,224,211,.11),rgba(155,92,255,.09));border:1px solid var(--line);margin:10px 0}.insight-card.danger{background:linear-gradient(145deg,rgba(255,93,125,.18),rgba(155,92,255,.08))}.insight-card.good{background:linear-gradient(145deg,rgba(81,227,155,.16),rgba(88,224,211,.08))}.pattern-card{border-left:5px solid var(--cyan)}.resource-file-list{display:grid;gap:8px;margin-top:12px}.resource-file{display:flex;gap:10px;align-items:center;padding:10px;border-radius:12px;background:#ffffff0a}.file-chip{padding:8px 10px;border-radius:12px;background:#ffffff12}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;height:100vh;max-height:100vh;z-index:9000;transform:translateX(-110%);transition:.2s}.menu-open .sidebar{transform:translateX(0)}.help-doc-layout{grid-template-columns:1fr}.user-menu-popover{left:12px;right:12px;width:auto}.metric-grid{grid-template-columns:1fr 1fr}.grid-2{grid-template-columns:1fr}}

/* === v16 polish: help center, message threads, user options, admin clarity === */
.help-hero,.messages-hero{position:relative;overflow:hidden}.help-hero:after,.messages-hero:after{content:"";position:absolute;right:28px;bottom:-42px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(47,209,196,.24),transparent 62%);filter:blur(4px);pointer-events:none}.help-center{align-items:start}.help-doc-sidebar h2{margin-top:0}.help-link-list{display:grid;gap:8px}.help-article-link{display:flex;align-items:center;gap:10px;border:1px solid rgba(153,116,255,.18);transition:.18s ease}.help-article-link span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:12px;background:rgba(47,209,196,.12);color:#9ff8ef;font-weight:900}.help-article-link.active,.help-article-link:hover{background:linear-gradient(135deg,rgba(47,209,196,.18),rgba(155,92,255,.20));border-color:rgba(47,209,196,.42);transform:translateX(3px)}.help-doc-content{min-height:420px}.help-article h2{font-size:clamp(28px,4vw,46px);margin:.2em 0}.help-article .lead{font-size:1.05rem}.help-body{display:grid;gap:10px;margin-top:18px;line-height:1.75}.help-body br{content:""}.help-body br:after{content:"";display:block;margin-bottom:8px}.messages-panel .panel-head{align-items:flex-start}.message-list{display:grid;gap:14px}.message-card{border:1px solid rgba(153,116,255,.18);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border-radius:20px;padding:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.message-card p{white-space:pre-wrap}.message-top strong{font-size:18px}.message-top small{display:block;margin-top:5px;color:var(--muted)}.icon-danger{display:grid;place-items:center;padding:0}.icon-danger svg{width:19px;height:19px}.thread-view-body{padding-top:10px}.thread-message{box-shadow:inset 0 1px 0 rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.thread-message b{display:block;margin-bottom:6px}.thread-message small{color:var(--muted)}.empty-state{padding:18px;border:1px dashed rgba(153,116,255,.24);border-radius:18px}.user-menu-popover{box-shadow:0 24px 80px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.08);border:1px solid rgba(153,116,255,.24)}.user-menu-popover .panel-head{margin-bottom:12px}.user-menu-panel form{display:grid;gap:12px}.user-menu-panel label{display:grid;gap:7px;color:#d9d7ff;font-size:13px}.user-menu-panel input,.user-menu-panel select{width:100%;border:1px solid rgba(153,116,255,.22);background:#080f20;color:#fff;border-radius:12px;padding:12px}.user-menu-tabs{background:rgba(255,255,255,.05);padding:6px;border-radius:16px}.user-menu-tabs .mini-btn{flex:1}.admin-insight-grid .panel,.section-panel .panel{border:1px solid rgba(153,116,255,.20)}.action-card{position:relative;overflow:hidden}.action-card:after{content:"";position:absolute;right:-35px;bottom:-45px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.16)}.data-table tbody tr:hover{background:rgba(255,255,255,.045)}
@media(max-width:720px){.message-top{align-items:flex-start}.message-top form{margin-left:auto}.help-doc-content{min-height:0}.user-menu-tabs{display:grid;grid-template-columns:1fr}.mc-modal{padding:18px}.thread-message.mine,.thread-message.theirs{max-width:100%;margin-left:0;margin-right:0}}

/* === MCT VISIBLE PRO INTEGRATION === */
.pro-hero{position:relative;overflow:hidden;border-radius:32px;padding:28px;margin-bottom:22px;background:radial-gradient(circle at 14% 0%,rgba(0,247,255,.22),transparent 34%),radial-gradient(circle at 88% 10%,rgba(255,0,255,.18),transparent 28%),linear-gradient(145deg,rgba(32,29,62,.96),rgba(10,9,22,.98));border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 90px rgba(0,0,0,.35)}
.pro-hero h1{font-size:clamp(2rem,4vw,4.2rem);margin:.15em 0}.pro-hero p{max-width:980px;color:#cfc7ee;line-height:1.65}.pro-hero .eyebrow,.pro-eyebrow{color:#00f7ff;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.pro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:20px 0}.pro-card{position:relative;overflow:hidden;border-radius:26px;padding:22px;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 65px rgba(0,0,0,.25);backdrop-filter:blur(16px)}
.pro-card:after{content:"";position:absolute;right:-50px;top:-50px;width:150px;height:150px;border-radius:999px;background:linear-gradient(135deg,rgba(0,247,255,.16),rgba(255,0,255,.14))}.pro-card h2,.pro-card h3{position:relative;margin:0 0 10px;color:#fff}.pro-card p,.pro-card li{position:relative;color:#beb6dc;line-height:1.58}.pro-card ul{margin:10px 0 0;padding-left:1.1rem}
.pro-chip{display:inline-flex;gap:8px;align-items:center;border-radius:999px;padding:7px 11px;margin:0 8px 10px 0;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);font-weight:800;font-size:.82rem}.pro-chip.risk{background:rgba(239,68,68,.18);color:#fecaca}.pro-chip.good{background:rgba(34,197,94,.18);color:#bbf7d0}.pro-chip.watch{background:rgba(245,158,11,.18);color:#fde68a}.pro-chip.info{background:rgba(0,247,255,.16);color:#cffafe}
.pro-action{border-radius:18px;padding:14px;margin-top:12px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.10)}.pro-action strong{color:#fff}.pro-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:14px}.pro-metric{border-radius:18px;padding:13px;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.10)}.pro-metric strong{display:block;font-size:1.5rem;color:#fff}
.phase-card{border-left:6px solid var(--phase,#8b5cf6)}.substance-card{border-top:5px solid var(--sub,#00f7ff)}.matrix-card{background:radial-gradient(circle at top right,var(--glow,rgba(139,92,246,.22)),transparent 35%),linear-gradient(145deg,rgba(33,31,58,.96),rgba(12,11,24,.98))}
.sub-dopamina{--sub:#a855f7}.sub-serotonina{--sub:#2dd4bf}.sub-noradrenalina{--sub:#ff5f7e}.sub-acetilcolina{--sub:#60a5fa}.phase-nueva{--phase:#7c5cff}.phase-creciente{--phase:#00d4ff}.phase-llena{--phase:#ffce4a}.phase-menguante{--phase:#ff5f7e}
.pro-help-layout{display:grid;grid-template-columns:280px 1fr;gap:20px}.pro-help-nav button{display:block;width:100%;margin:8px 0;text-align:left;border:0;border-radius:16px;padding:13px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.pro-help-nav button.active,.pro-help-nav button:hover{background:linear-gradient(135deg,rgba(0,247,255,.18),rgba(139,92,246,.20))}.pro-help-article{display:none}.pro-help-article.active{display:block}
.pro-admin-bento{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.pro-admin-tile{min-height:160px;border-radius:28px;padding:22px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.18);box-shadow:0 22px 65px rgba(0,0,0,.28);text-decoration:none}.pro-admin-tile:nth-child(1){background:linear-gradient(135deg,#312e81,#8b5cf6)}.pro-admin-tile:nth-child(2){background:linear-gradient(135deg,#0e7490,#22d3ee)}.pro-admin-tile:nth-child(3){background:linear-gradient(135deg,#be185d,#f472b6)}.pro-admin-tile:nth-child(4){background:linear-gradient(135deg,#166534,#22c55e)}.pro-admin-tile:nth-child(5){background:linear-gradient(135deg,#92400e,#f59e0b)}.pro-admin-tile b{font-size:2rem}.pro-disclaimer{border-left:5px solid #00f7ff;border-radius:18px;padding:15px 18px;background:rgba(0,247,255,.08);color:#cffafe}
@media(max-width:820px){.pro-help-layout{grid-template-columns:1fr}}

/* migrated from pro-ui.css */
:root{
  --bg:#100f1f;--panel:#18162b;--panel2:#211f3a;--text:#f4f0ff;--muted:#b9b0d4;
  --cyan:#00f7ff;--purple:#8b5cf6;--pink:#ff4fd8;--green:#22c55e;--red:#ef4444;--amber:#f59e0b;
}
*{box-sizing:border-box}
body{background:radial-gradient(circle at top left,#2b155f 0,#100f1f 42%,#090814 100%);color:var(--text);font-family:Inter,system-ui,Segoe UI,sans-serif;margin:0}
.main-panel{padding:24px;max-width:1280px;margin:auto}
.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.module-card,.record-card.glass{background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 55px rgba(0,0,0,.28);border-radius:22px;padding:18px;backdrop-filter:blur(16px)}
.module-card{min-height:135px;cursor:pointer;transition:.2s transform,.2s border-color}
.module-card:hover{transform:translateY(-4px);border-color:rgba(0,247,255,.45)}
.module-card .icon{width:44px;height:44px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--purple),var(--pink));margin-bottom:12px}
.module-card h3{margin:0 0 6px;font-size:1.05rem}
.module-card p{margin:0;color:var(--muted);font-size:.9rem}
.nav-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:linear-gradient(135deg,var(--red),var(--amber));font-size:.75rem;color:white;font-weight:800;margin-left:8px}
.flash-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);z-index:9999;min-width:280px;max-width:90vw;text-align:center;padding:14px 20px;border-radius:16px;color:white;font-weight:800;opacity:0;pointer-events:none;transition:.25s ease}
.flash-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.flash-toast.ok{background:linear-gradient(135deg,#16a34a,#22c55e)}
.flash-toast.nok{background:linear-gradient(135deg,#dc2626,#ef4444)}
.modal-shell{position:fixed;inset:0;background:rgba(5,4,12,.78);display:none;align-items:center;justify-content:center;z-index:9000;padding:24px}
.modal-shell.open{display:flex}
.modal-panel{background:linear-gradient(145deg,#19172e,#111020);border:1px solid rgba(255,255,255,.14);border-radius:24px;max-width:980px;width:100%;max-height:90vh;overflow:auto;padding:24px;box-shadow:0 30px 100px rgba(0,0,0,.55)}
.modal-panel.fullscreen{max-width:calc(100vw - 36px);height:calc(100vh - 36px)}
.icon-actions{display:flex;gap:10px;align-items:center}
.icon-btn{border:0;background:rgba(255,255,255,.08);color:var(--text);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;cursor:pointer}
.icon-btn:hover{background:rgba(255,255,255,.16)}
.record-face{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.8),rgba(255,255,255,.05) 38%),linear-gradient(135deg,var(--purple),var(--pink));box-shadow:0 0 22px rgba(139,92,246,.55)}
.record-face.serotonina{background:linear-gradient(135deg,#0f766e,#2dd4bf)}
.record-face.dopamina{background:linear-gradient(135deg,#7e22ce,#f0abfc)}
.record-face.noradrenalina{background:linear-gradient(135deg,#b91c1c,#fb7185)}
.record-face.acetilcolina{background:linear-gradient(135deg,#1d4ed8,#60a5fa)}
.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.insight-card{border-radius:20px;padding:18px;background:linear-gradient(145deg,rgba(0,247,255,.1),rgba(255,79,216,.08));border:1px solid rgba(255,255,255,.12)}
.pattern-card{border-radius:18px;padding:16px;background:#201d38;border-left:5px solid var(--cyan)}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
input,select,textarea{width:100%;background:#0d0c19;border:1px solid rgba(255,255,255,.16);color:var(--text);border-radius:14px;padding:12px}
button.primary{border:0;border-radius:14px;padding:12px 18px;background:linear-gradient(135deg,var(--cyan),var(--purple));color:white;font-weight:800;cursor:pointer}
.admin-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.admin-stat{padding:18px;border-radius:22px;background:linear-gradient(135deg,var(--purple),var(--pink));box-shadow:0 18px 45px rgba(139,92,246,.25)}
.admin-stat:nth-child(2){background:linear-gradient(135deg,#0891b2,#22d3ee)}
.admin-stat:nth-child(3){background:linear-gradient(135deg,#15803d,#22c55e)}
.admin-stat:nth-child(4){background:linear-gradient(135deg,#c2410c,#f59e0b)}
.admin-stat strong{display:block;font-size:2rem}

/* migrated from audit-fixes.css */
/* Audit fixes v17.1: estados vacíos, datos reales y temas aplicados */
:root{--panel-strong:rgba(255,255,255,.095);--panel-soft:rgba(255,255,255,.055);--text-main:#f4f7fb;--text-muted:#aeb8ca;--ring-good:#2dd4bf;--ring-warn:#facc15;--ring-risk:#fb7185}
body.theme-light,body.palette-clinical_light{--text-main:#101625;--text-muted:#546179;--panel-strong:rgba(255,255,255,.88);--panel-soft:rgba(255,255,255,.64)}
body.palette-forest_mind{--ring-good:#34d399;--ring-warn:#bef264;--ring-risk:#fb7185}
body.palette-solar_soft{--ring-good:#38bdf8;--ring-warn:#f59e0b;--ring-risk:#f97316}
body.palette-rose_nebula{--ring-good:#c084fc;--ring-warn:#f0abfc;--ring-risk:#fb7185}
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.metric.is-empty{opacity:.74;background:linear-gradient(135deg,var(--panel-soft),rgba(255,255,255,.025));border-style:dashed}
.metric.is-empty strong{color:var(--text-muted)}
.metric.is-empty i{opacity:.35}
.empty-state{min-height:220px;display:grid;place-items:center;text-align:center;padding:28px;border:1px dashed rgba(255,255,255,.18);border-radius:24px;background:radial-gradient(circle at top,rgba(155,92,255,.14),rgba(255,255,255,.035))}
.empty-state.compact{min-height:auto;padding:18px;display:block;text-align:left}
.empty-state strong{display:block;font-size:1.1rem;color:var(--text-main);margin-bottom:6px}.empty-state p{max-width:42rem;margin:.25rem auto 1rem;color:var(--text-muted)}
.chart-lines svg polyline.line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-lines .line.purple{stroke:#9b5cff}.chart-lines .line.cyan{stroke:#00d4ff}.chart-lines .line.rose{stroke:#ff5f7e}.chart-lines text{font-size:13px;fill:var(--text-muted)}
.week-dots span{opacity:.45}.week-dots span.active{opacity:1;box-shadow:0 0 0 1px rgba(45,212,191,.35),0 0 24px rgba(45,212,191,.18)}
.top-actions .icon-bell b:empty,.top-actions .icon-bell b{min-width:18px;height:18px;display:inline-grid;place-items:center;border-radius:999px;font-size:11px}.top-actions .icon-bell b{background:rgba(255,255,255,.16)}
.recommendation-card h3,.balance-card h3{letter-spacing:-.02em}.small{font-size:.88rem}.muted.small{opacity:.75;margin-top:1rem}.density-compact .panel,.density-compact .metric{padding:14px!important}.density-compact .patient-layout{gap:14px}
.resource-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}.resource-files strong{width:100%;font-size:.82rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.resource-card .empty-state.compact{margin-top:12px}

/* migrated from dashboard-v17-2.css */
/* Dashboard v17.2 · Observatorio místico con lógica analítica */
.dash-v2,.oracle-grid{position:relative;z-index:1}.dash-v2.hero-oracle{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:24px;margin-bottom:22px;padding:28px;border:1px solid rgba(155,92,255,.26);border-radius:30px;background:radial-gradient(circle at 10% 10%,rgba(98,0,234,.34),transparent 35%),radial-gradient(circle at 88% 18%,rgba(0,247,255,.12),transparent 28%),linear-gradient(135deg,rgba(14,18,38,.82),rgba(13,9,27,.78));box-shadow:0 24px 80px rgba(0,0,0,.35),inset 0 0 70px rgba(98,0,234,.08);overflow:hidden}.hero-oracle:before{content:"";position:absolute;inset:-1px;background:linear-gradient(120deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-80%);animation:oracleSweep 7s ease-in-out infinite;pointer-events:none}.reduce-motion .hero-oracle:before{animation:none}.hero-copy h1{font-size:clamp(2.25rem,4vw,4.8rem);line-height:.98;margin:0 0 18px;max-width:960px;letter-spacing:-.055em}.central-insight{font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.5;color:#ede8ff;max-width:940px}.hero-oracle.good .central-insight{color:#b8ffe4}.hero-oracle.risk .central-insight{color:#ffb5cf}.hero-oracle.low .central-insight{color:#ffe7a6}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.hero-status{padding:20px;border-radius:24px;display:grid;gap:16px;align-content:start}.hero-status>div:first-child span{font-size:2.8rem;display:block;margin-bottom:8px}.hero-status strong{display:block;font-size:1.25rem}.hero-status small{display:block;color:#bcb4d7;line-height:1.45}.confidence-chip{border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:14px;background:rgba(255,255,255,.045)}.confidence-chip.high{border-color:rgba(0,247,155,.38);background:rgba(0,247,155,.08)}.confidence-chip.mid{border-color:rgba(255,208,89,.4);background:rgba(255,208,89,.08)}.confidence-chip.low{border-color:rgba(255,85,147,.42);background:rgba(255,85,147,.08)}.mini-alerts{display:flex;gap:8px;flex-wrap:wrap}.mini-alerts span{padding:8px 10px;border-radius:999px;background:rgba(98,0,234,.25);border:1px solid rgba(155,92,255,.28);font-size:.9rem}.oracle-grid{display:grid;gap:18px}.metrics-row{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.oracle-metric{position:relative;overflow:hidden;border-radius:24px;padding:20px;border:1px solid rgba(155,92,255,.22);background:linear-gradient(180deg,rgba(18,24,48,.86),rgba(11,16,32,.88));box-shadow:inset 0 0 45px rgba(98,0,234,.07)}.oracle-metric:before{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,#6200ea,#00f7ff);width:var(--w,0%);border-radius:999px}.metric-top{display:flex;align-items:center;justify-content:space-between}.metric-top span{font-size:1.65rem}.metric-top small{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.07);font-weight:800}.oracle-metric h3{font-size:1rem;margin:14px 0 6px;color:#d9d3f4}.oracle-metric strong{display:block;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1;color:#fff}.oracle-metric p{margin:10px 0 0;color:#a9a0c5;font-size:.95rem}.oracle-metric.warning .metric-top small{color:#ff8fb4}.oracle-metric.positive .metric-top small{color:#8dffcd}.main-oracle{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.oracle-panel{border:1px solid rgba(155,92,255,.22);border-radius:26px;padding:22px;background:linear-gradient(180deg,rgba(17,24,47,.9),rgba(8,13,27,.9));box-shadow:0 18px 50px rgba(0,0,0,.28),inset 0 0 60px rgba(0,247,255,.025)}.oracle-panel.span-2{grid-column:span 2}.oracle-panel h2{font-size:clamp(1.25rem,2vw,1.9rem);margin:0 0 14px}.eyebrow{margin:0 0 8px;color:#bbaaff;text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:.76rem}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.panel-head a{color:#cfb7ff;text-decoration:none;font-weight:900}.legend{display:flex;gap:10px;flex-wrap:wrap}.legend span{font-size:.82rem;font-weight:900;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06)}.legend .mood{color:#c6a6ff}.legend .anx{color:#67eaff}.legend .stress{color:#ff89ac}.oracle-chart{width:100%;height:auto;display:block}.oracle-chart .grid{fill:none;stroke:rgba(255,255,255,.09);stroke-width:1}.oracle-chart .line{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px currentColor)}.oracle-chart .mood{stroke:#a46cff;color:#a46cff}.oracle-chart .anx{stroke:#00f7ff;color:#00f7ff}.oracle-chart .stress{stroke:#ff5e9d;color:#ff5e9d}.day-runes{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:12px}.day-runes span{display:grid;place-items:center;gap:3px;padding:10px 4px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.day-runes b{font-size:1.35rem}.day-runes small{font-size:.76rem;color:#aaa2c4}.empty-oracle{display:grid;place-items:start;gap:8px;padding:24px;border:1px dashed rgba(188,168,255,.35);border-radius:20px;background:rgba(255,255,255,.035);color:#d8d0ee}.empty-oracle.compact{padding:16px;color:#aaa2c4}.recommendation-oracle{position:relative;overflow:hidden}.recommendation-oracle:after{content:"✦";position:absolute;right:20px;top:20px;font-size:6rem;color:rgba(160,108,255,.1)}.level-pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,183,75,.13);border:1px solid rgba(255,183,75,.3);font-weight:900;color:#ffe2a7}.action-text{font-size:1.15rem;line-height:1.5;color:#f4efff}.why-box{margin:18px 0;padding:16px;border-radius:18px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08)}.why-box ul{margin:.5rem 0 0 1.1rem;padding:0}.why-box li{margin:.3rem 0;color:#cfc7e9}.insight-card{padding:18px;border-radius:20px;border:1px solid rgba(255,255,255,.12)}.insight-card strong{display:block;font-size:1.35rem;margin-bottom:8px}.insight-card p{margin:0 0 8px;line-height:1.45}.insight-card small{color:#bcb4d7}.insight-card.good{background:linear-gradient(135deg,rgba(0,247,155,.12),rgba(98,0,234,.12));border-color:rgba(0,247,155,.32)}.insight-card.risk{background:linear-gradient(135deg,rgba(255,55,120,.15),rgba(98,0,234,.14));border-color:rgba(255,85,147,.36)}.pattern-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pattern-lane{padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(0,247,255,.08),rgba(98,0,234,.14));border-left:5px solid #00f7ff}.pattern-lane b{display:block;font-size:1.05rem}.pattern-lane span{display:inline-block;margin:8px 0;color:#cbbfff;font-weight:900}.pattern-lane p{margin:0;color:#bfb7d7;line-height:1.45}.lunar-panel p{color:#c9c1df;line-height:1.55}.substance-list{display:grid;gap:10px;margin-top:14px}.substance-list span{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.substance-list small{color:#b4accb}.record-stack{display:grid;gap:10px}.record-line-v2{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);text-decoration:none;color:#f4efff}.record-line-v2 span{font-size:1.4rem}.record-line-v2 b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-line-v2 small{display:block;color:#a9a0c5;margin-top:2px}.record-line-v2 em{font-style:normal;font-weight:900;color:#fff}.task-line{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);margin-bottom:10px}.task-line button{width:34px;height:34px;border-radius:12px;border:1px solid rgba(155,92,255,.35);background:rgba(98,0,234,.3);color:#fff;cursor:pointer}.task-line small{display:block;color:#aaa2c4;margin-top:4px}.task-line.is-done{opacity:.65}.task-line.is-done strong{text-decoration:line-through}.agenda-line{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;padding:12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);margin-bottom:10px}.agenda-line time{font-weight:1000;color:#b987ff}.agenda-line small{display:block;color:#a9a0c5}.btn.full{width:100%;text-align:center;justify-content:center}@keyframes oracleSweep{0%,45%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
@media(max-width:1180px){.metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))}.main-oracle{grid-template-columns:1fr}.oracle-panel.span-2{grid-column:auto}.dash-v2.hero-oracle{grid-template-columns:1fr}.pattern-lanes{grid-template-columns:1fr}}@media(max-width:700px){.dash-v2.hero-oracle{padding:20px;border-radius:22px}.metrics-row{grid-template-columns:1fr}.hero-copy h1{font-size:2.15rem}.day-runes{grid-template-columns:repeat(4,1fr)}.panel-head{display:grid}.oracle-panel{padding:18px;border-radius:20px}}

/* migrated from memento-visible-pro.css */
/* === MCT VISIBLE PRO INTEGRATION === */
.pro-hero{position:relative;overflow:hidden;border-radius:32px;padding:28px;margin-bottom:22px;background:radial-gradient(circle at 14% 0%,rgba(0,247,255,.22),transparent 34%),radial-gradient(circle at 88% 10%,rgba(255,0,255,.18),transparent 28%),linear-gradient(145deg,rgba(32,29,62,.96),rgba(10,9,22,.98));border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 90px rgba(0,0,0,.35)}
.pro-hero h1{font-size:clamp(2rem,4vw,4.2rem);margin:.15em 0}.pro-hero p{max-width:980px;color:#cfc7ee;line-height:1.65}.pro-hero .eyebrow,.pro-eyebrow{color:#00f7ff;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.pro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:20px 0}.pro-card{position:relative;overflow:hidden;border-radius:26px;padding:22px;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 65px rgba(0,0,0,.25);backdrop-filter:blur(16px)}
.pro-card:after{content:"";position:absolute;right:-50px;top:-50px;width:150px;height:150px;border-radius:999px;background:linear-gradient(135deg,rgba(0,247,255,.16),rgba(255,0,255,.14))}.pro-card h2,.pro-card h3{position:relative;margin:0 0 10px;color:#fff}.pro-card p,.pro-card li{position:relative;color:#beb6dc;line-height:1.58}.pro-card ul{margin:10px 0 0;padding-left:1.1rem}
.pro-chip{display:inline-flex;gap:8px;align-items:center;border-radius:999px;padding:7px 11px;margin:0 8px 10px 0;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);font-weight:800;font-size:.82rem}.pro-chip.risk{background:rgba(239,68,68,.18);color:#fecaca}.pro-chip.good{background:rgba(34,197,94,.18);color:#bbf7d0}.pro-chip.watch{background:rgba(245,158,11,.18);color:#fde68a}.pro-chip.info{background:rgba(0,247,255,.16);color:#cffafe}
.pro-action{border-radius:18px;padding:14px;margin-top:12px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.10)}.pro-action strong{color:#fff}.pro-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:14px}.pro-metric{border-radius:18px;padding:13px;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.10)}.pro-metric strong{display:block;font-size:1.5rem;color:#fff}
.phase-card{border-left:6px solid var(--phase,#8b5cf6)}.substance-card{border-top:5px solid var(--sub,#00f7ff)}.matrix-card{background:radial-gradient(circle at top right,var(--glow,rgba(139,92,246,.22)),transparent 35%),linear-gradient(145deg,rgba(33,31,58,.96),rgba(12,11,24,.98))}
.sub-dopamina{--sub:#a855f7}.sub-serotonina{--sub:#2dd4bf}.sub-noradrenalina{--sub:#ff5f7e}.sub-acetilcolina{--sub:#60a5fa}.phase-nueva{--phase:#7c5cff}.phase-creciente{--phase:#00d4ff}.phase-llena{--phase:#ffce4a}.phase-menguante{--phase:#ff5f7e}
.pro-help-layout{display:grid;grid-template-columns:280px 1fr;gap:20px}.pro-help-nav button{display:block;width:100%;margin:8px 0;text-align:left;border:0;border-radius:16px;padding:13px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.pro-help-nav button.active,.pro-help-nav button:hover{background:linear-gradient(135deg,rgba(0,247,255,.18),rgba(139,92,246,.20))}.pro-help-article{display:none}.pro-help-article.active{display:block}
.pro-admin-bento{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.pro-admin-tile{min-height:160px;border-radius:28px;padding:22px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.18);box-shadow:0 22px 65px rgba(0,0,0,.28);text-decoration:none}.pro-admin-tile:nth-child(1){background:linear-gradient(135deg,#312e81,#8b5cf6)}.pro-admin-tile:nth-child(2){background:linear-gradient(135deg,#0e7490,#22d3ee)}.pro-admin-tile:nth-child(3){background:linear-gradient(135deg,#be185d,#f472b6)}.pro-admin-tile:nth-child(4){background:linear-gradient(135deg,#166534,#22c55e)}.pro-admin-tile:nth-child(5){background:linear-gradient(135deg,#92400e,#f59e0b)}.pro-admin-tile b{font-size:2rem}.pro-disclaimer{border-left:5px solid #00f7ff;border-radius:18px;padding:15px 18px;background:rgba(0,247,255,.08);color:#cffafe}
@media(max-width:820px){.pro-help-layout{grid-template-columns:1fr}}

/* migrated from v26-refactor.css */
/* =========================================================
   Memento Cyclus Therapy v26 · structural UX/UI refactor
   Single layer: tokens, layout, components, responsive
   ========================================================= */
:root{--bg:#080d18;--panel:#101827;--panel2:#151f33;--soft:#1b263b;--line:rgba(180,198,255,.16);--text:#f6f3ff;--muted:#aeb8d6;--primary:#8b5cf6;--secondary:#38bdf8;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--pink:#f472b6;--r-sm:12px;--r-md:18px;--r-lg:24px;--shadow:0 24px 80px rgba(0,0,0,.38);--s1:.5rem;--s2:.75rem;--s3:1rem;--s4:1.5rem;--s5:2rem}
*{box-sizing:border-box} body{background:radial-gradient(circle at 12% 0%,rgba(139,92,246,.22),transparent 34rem),radial-gradient(circle at 92% 8%,rgba(56,189,248,.10),transparent 30rem),linear-gradient(135deg,#070b14,#0a1020 44%,#0b1324)!important;color:var(--text)}
.main{width:100%;min-width:0}.app-shell{min-height:100vh}.sidebar{overflow:visible!important}.sidebar nav{max-height:none!important}.footer{opacity:.68}.glass,.panel,.hero,.card{border:1px solid var(--line)!important;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.032))!important;box-shadow:var(--shadow);backdrop-filter:blur(15px)}
.mct-page{max-width:1480px;margin:0 auto;padding:clamp(16px,2.4vw,32px);display:grid;gap:var(--s4)}
.mct-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s3);flex-wrap:wrap}.mct-header h1{font-size:clamp(2rem,3.8vw,4.2rem);line-height:1.02;margin:0;letter-spacing:-.05em}.mct-header p{color:var(--muted);font-size:1.05rem;margin:.45rem 0 0;max-width:850px;line-height:1.6}.mct-actions{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.mct-hero{display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(260px,.75fr);gap:var(--s4);align-items:stretch;padding:var(--s4);border-radius:var(--r-lg);border:1px solid var(--line);background:radial-gradient(circle at top right,rgba(139,92,246,.22),transparent 28rem),linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));box-shadow:var(--shadow)}
.mct-grid{display:grid;gap:var(--s3)}.mct-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mct-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.mct-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.mct-grid.auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.mct-panel,.mct-card,.mct-stat{position:relative;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.03));box-shadow:var(--shadow);padding:var(--s4)}.mct-card:after,.mct-stat:after{content:"";position:absolute;right:-46px;top:-46px;width:130px;height:130px;border-radius:50%;background:linear-gradient(135deg,rgba(139,92,246,.20),rgba(56,189,248,.10))}.mct-card>*,.mct-stat>*{position:relative;z-index:1}.mct-card h3,.mct-panel h2{margin-top:0}.mct-card p,.mct-panel p{color:var(--muted);line-height:1.58}.mct-stat small{display:block;color:var(--muted);margin-bottom:.35rem}.mct-stat strong{font-size:2.05rem;letter-spacing:-.04em}.mct-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,rgba(139,92,246,.36),rgba(56,189,248,.16));font-size:1.55rem;margin-bottom:.75rem}.mct-section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem}.mct-section-head h2{margin:0;font-size:1.32rem}
.mct-badge{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.45rem .7rem;font-size:.78rem;font-weight:800;background:rgba(139,92,246,.16);color:#ddd6fe;border:1px solid rgba(139,92,246,.28)}.mct-badge.risk,.mct-badge.high{background:rgba(239,68,68,.18);color:#fecaca;border-color:rgba(239,68,68,.32)}.mct-badge.warn,.mct-badge.medium{background:rgba(245,158,11,.18);color:#fde68a;border-color:rgba(245,158,11,.32)}.mct-badge.ok,.mct-badge.protective,.mct-badge.low{background:rgba(34,197,94,.18);color:#bbf7d0;border-color:rgba(34,197,94,.32)}.mct-badge.info{background:rgba(56,189,248,.16);color:#bae6fd;border-color:rgba(56,189,248,.30)}
.mct-btn,.btn,.mini-btn{border:1px solid rgba(255,255,255,.12);border-radius:15px;padding:.75rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;cursor:pointer;text-decoration:none;color:var(--text);background:rgba(255,255,255,.07);font-weight:800}.mct-btn.primary,.btn.primary,.mct-btn:not(.secondary):not(.danger){background:linear-gradient(135deg,var(--primary),var(--secondary));border:0;color:#fff;box-shadow:0 10px 28px rgba(139,92,246,.24)}.mct-btn.danger,.mini-btn.danger{background:linear-gradient(135deg,#dc2626,#fb7185);color:white;border:0}.mct-btn.full{width:100%}
.mct-list{display:grid;gap:.7rem}.mct-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.052);border-radius:18px;padding:.9rem}.mct-row-main{display:flex;align-items:center;gap:.8rem;min-width:0}.mct-row h3{margin:0;font-size:1rem}.mct-row p{margin:.2rem 0 0;color:var(--muted);line-height:1.45}.mct-row-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.icon-btn,.icon-danger{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:var(--text);cursor:pointer}.icon-btn svg,.icon-danger svg{width:19px;height:19px}.icon-btn svg+svg,.icon-danger svg+svg{display:none!important}.icon-danger{color:#fecaca;background:rgba(239,68,68,.10)}
.mct-tabs{display:flex;gap:.5rem;flex-wrap:wrap;padding:.45rem;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.045)}.mct-tab{border:0;background:transparent;color:var(--muted);padding:.7rem .9rem;border-radius:13px;font-weight:800;cursor:pointer}.mct-tab.active{color:white;background:linear-gradient(135deg,var(--primary),#6d28d9)}.mct-field,input,select,textarea{border-radius:15px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.20);color:var(--text);padding:.75rem .9rem}textarea{min-height:110px;resize:vertical}.mct-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.span-2{grid-column:span 2}
.mct-modal,.mc-modal-backdrop{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(4,7,13,.78);backdrop-filter:blur(9px);z-index:9999}.mct-modal.open,.mc-modal-backdrop:not(.hidden){display:flex}.mct-modal-card,.mc-modal{width:min(920px,96vw);max-height:90vh;overflow:auto;border-radius:24px;border:1px solid var(--line);padding:24px;background:linear-gradient(145deg,rgba(16,24,39,.98),rgba(9,14,27,.98));box-shadow:var(--shadow)}.mct-modal-card.fullscreen,.mc-modal.fullscreen{width:calc(100vw - 36px);height:calc(100vh - 36px);max-height:none}.mc-modal-x{float:right}
.flash,.mct-toast{position:fixed!important;left:50%!important;bottom:24px!important;top:auto!important;right:auto!important;transform:translateX(-50%) translateY(20px);z-index:12000;min-width:280px;max-width:90vw;padding:14px 18px;border-radius:16px;color:white;font-weight:800;text-align:center;opacity:0;animation:mctToast 3.2s ease forwards;box-shadow:0 20px 60px rgba(0,0,0,.35)}.flash-ok,.mct-toast.ok{background:linear-gradient(135deg,#16a34a,#22c55e)}.flash-nok,.mct-toast.nok{background:linear-gradient(135deg,#dc2626,#ef4444)}@keyframes mctToast{0%{opacity:0;transform:translateX(-50%) translateY(20px)}10%,85%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(20px)}}
.timeline{display:grid;gap:1rem}.timeline-week{display:grid;gap:.7rem}.timeline-week-title{color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.record-pro-card{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:start}.wizard-steps{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.wizard-step{padding:.55rem .8rem;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted);font-weight:800}.wizard-step.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.kanban{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:1rem}.kanban-col{border-radius:22px;border:1px solid var(--line);padding:1rem;background:rgba(255,255,255,.045)}.kanban-col h3{margin-top:0}.calendar-month{display:grid!important;grid-template-columns:repeat(7,minmax(112px,1fr));gap:.7rem}.calendar-day{min-height:116px!important;border-radius:16px!important}.calendar-event{display:block;margin-top:.35rem;padding:.32rem .45rem;border-radius:9px;background:rgba(56,189,248,.18);font-size:.76rem}.calendar-event.task{background:rgba(245,158,11,.16)}.day-dots{display:flex;gap:.25rem;margin-top:.4rem}.dot{width:8px;height:8px;border-radius:50%;background:var(--primary)}.dot.session{background:var(--secondary)}.dot.task{background:var(--warning)}.dot.alert{background:var(--danger)}
.messages-layout-pro{display:grid;grid-template-columns:340px minmax(0,1fr) 300px;gap:1rem;min-height:72vh}.chat-box,.thread-list,.context-panel{border-radius:24px;border:1px solid var(--line);padding:1rem;background:rgba(255,255,255,.05)}.chat-bubble{max-width:74%;padding:.85rem 1rem;border-radius:18px;margin:.7rem 0;background:rgba(255,255,255,.08)}.chat-bubble.mine{margin-left:auto;background:linear-gradient(135deg,rgba(139,92,246,.48),rgba(56,189,248,.22))}.chat-input{display:grid;grid-template-columns:1fr auto;gap:.7rem;margin-top:1rem}.content-grid{display:grid;grid-template-columns:1fr 320px;gap:1rem}.content-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.content-card{border:1px solid var(--line);background:rgba(255,255,255,.05);border-radius:22px;padding:1rem}.resource-state{font-size:.76rem}
.admin-shell .mct-card,.professional-shell .mct-card{min-height:140px}.login-card{max-width:460px;margin:8vh auto}.privacy-note{border-left:4px solid var(--secondary);padding:1rem;background:rgba(56,189,248,.08);border-radius:16px;color:var(--muted)}
@media(max-width:1100px){.mct-grid.four,.mct-grid.three,.kanban,.messages-layout-pro,.content-grid{grid-template-columns:1fr 1fr}.calendar-month{grid-template-columns:repeat(7,minmax(70px,1fr))}.context-panel{grid-column:1/-1}}@media(max-width:760px){.mct-page{padding:14px}.mct-hero,.mct-grid.two,.mct-grid.three,.mct-grid.four,.kanban,.messages-layout-pro,.content-grid{grid-template-columns:1fr}.mct-form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.calendar-month{grid-template-columns:repeat(7,minmax(38px,1fr));gap:.35rem}.calendar-day{min-height:62px!important;padding:.4rem!important}.calendar-day p,.calendar-day small,.calendar-event{display:none}.mct-row{align-items:flex-start;flex-direction:column}.mct-row-actions{width:100%}.mct-btn,.btn,.mini-btn{width:100%}.sidebar{position:fixed!important;inset:auto 0 0!important;width:100%!important;height:76px!important;z-index:8000;border-radius:24px 24px 0 0!important;overflow:hidden!important}.sidebar .brand,.sidebar .profile,.sidebar .wellness-mini,.sidebar .nav-title,.sidebar .bottom-icons{display:none!important}.sidebar nav{display:flex!important;gap:.3rem;overflow-x:auto;padding:.65rem!important}.sidebar nav a{white-space:nowrap;font-size:.85rem}.main{padding-bottom:88px!important}.chat-bubble{max-width:92%}}
/* v29 unified components */
.mct-panel,.mct-card,.lab-card,.kanban-column,.chat-pane,.help-card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;color:var(--text)}.mct-card{display:flex;gap:16px;align-items:flex-start}.mct-btn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 18px;font-weight:800;text-decoration:none;cursor:pointer;background:linear-gradient(135deg,var(--primary),var(--secondary));color:white}.mct-btn.secondary,.btn.ghost{background:rgba(255,255,255,.08);border:1px solid var(--line);color:var(--text)}.mct-field,input,select,textarea{width:100%;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,.18);color:var(--text);padding:12px}.mct-badge,.chip{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:.78rem;font-weight:800}.record-pro-card{justify-content:space-between}.record-main{flex:1;min-width:0}.record-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.record-metrics span{border:1px solid var(--line);border-radius:999px;padding:4px 9px;color:var(--muted);font-size:.85rem}.mct-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.icon-btn{width:40px;height:40px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none}.mct-modal{position:fixed;inset:0;background:rgba(4,8,18,.72);z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px}.mct-modal.hidden{display:none}.modal-card{max-width:760px;width:100%;max-height:86vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:22px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.toast-zone{position:fixed;right:18px;bottom:18px;z-index:1100;display:grid;gap:10px}.toast{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;box-shadow:var(--shadow)}.wizard-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.wizard-step-dot{border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--muted)}.wizard-step-dot.active{color:white;background:linear-gradient(135deg,var(--primary),var(--secondary))}.wizard-page{display:none}.wizard-page.active{display:grid;gap:14px}.wizard-nav{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.calendar-day{min-height:104px;border:1px solid var(--line);border-radius:18px;padding:10px;background:rgba(255,255,255,.045);cursor:pointer}.event-dots{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.event-dot{width:9px;height:9px;border-radius:50%;background:var(--secondary)}.event-dot.task{background:var(--warn)}.event-dot.memento{background:var(--primary)}.event-dot.alert{background:var(--bad)}.lab-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.chat-layout{display:grid;grid-template-columns:280px 1fr 260px;gap:16px}.admin-radar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.privacy-note{border:1px solid rgba(56,189,248,.35);background:rgba(56,189,248,.09);border-radius:18px;padding:14px;margin:14px 0}@media(max-width:1050px){.lab-layout,.chat-layout,.kanban,.admin-radar{grid-template-columns:1fr}.calendar-day{min-height:76px}}@media(max-width:700px){.calendar-grid{grid-template-columns:1fr}.calendar-day{min-height:auto}.mct-card{display:grid}}

/* v30 compact dashboards + stable sections */
.focus-dashboard,.messages-page{width:min(1180px,100%);margin:0 auto;padding:clamp(1rem,2vw,1.5rem);}
.focus-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:1.25rem;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045));box-shadow:0 18px 60px rgba(0,0,0,.22);min-height:132px}.focus-hero.slim{min-height:auto}.focus-hero h1{margin:.15rem 0;font-size:clamp(1.9rem,4vw,3.4rem);line-height:.95}.focus-hero p{max-width:760px;margin:.25rem 0;color:var(--muted,#b7b7c8)}.focus-primary{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 1.15rem;border-radius:18px;border:0;background:linear-gradient(135deg,#00f7ff,#ff00ff);color:#061015;font-weight:900;text-decoration:none;box-shadow:0 14px 36px rgba(0,247,255,.18);cursor:pointer}.focus-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:.9rem 0}.focus-strip article,.focus-card,.mct-panel{border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(12,15,28,.72);backdrop-filter:blur(14px)}.focus-strip article{padding:1rem}.focus-strip small,.focus-card span,.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted,#aeb0c2)}.focus-strip strong{display:block;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1;margin-top:.25rem}.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.focus-card{padding:1rem;min-height:132px;display:flex;flex-direction:column;justify-content:space-between}.focus-card h2,.focus-card h3{margin:.35rem 0}.focus-card p{margin:.25rem 0;color:var(--muted,#b7b7c8)}.focus-card a{color:#00f7ff;text-decoration:none}.main-signal{grid-column:span 2}.patient-home.risk .focus-hero{box-shadow:0 0 0 1px rgba(255,90,140,.25),0 18px 60px rgba(255,0,100,.08)}.patient-home.good .focus-hero{box-shadow:0 0 0 1px rgba(84,255,180,.25),0 18px 60px rgba(84,255,180,.08)}.patient-home.watch .focus-hero{box-shadow:0 0 0 1px rgba(255,179,71,.25),0 18px 60px rgba(255,179,71,.08)}
.admin-mini-panels{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.compact-list{display:grid;gap:.55rem;max-height:310px;overflow:auto}.compact-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.65rem;padding:.65rem;border-radius:16px;background:rgba(255,255,255,.055)}.compact-row small{grid-column:1/-1;color:var(--muted,#b7b7c8)}.mini-danger{border:0;border-radius:999px;padding:.35rem .6rem;background:rgba(255,70,120,.16);color:#ff8eb0;cursor:pointer}.mct-form-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.mct-form-grid label,.form-grid label{display:grid;gap:.35rem}.span-2{grid-column:span 2}.mct-form-grid input,.mct-form-grid select,.mct-form-grid textarea,.form-grid input,.form-grid select,.form-grid textarea,.mct-field{border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(0,0,0,.22);color:inherit;padding:.75rem}.mct-form-grid textarea{min-height:120px}.mct-btn{border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.08);color:inherit;padding:.7rem .9rem;text-decoration:none;cursor:pointer}.mct-btn.primary{background:linear-gradient(135deg,#00f7ff,#9f6bff);color:#041018;font-weight:800}.mct-btn.secondary{background:rgba(255,255,255,.08)}
.messages-layout-pro.mct-chat-shell{display:grid;grid-template-columns:minmax(260px,340px) minmax(360px,1fr) minmax(220px,260px);gap:.9rem;height:min(72vh,760px);min-height:520px}.thread-list,.chat-box,.context-panel{border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(12,15,28,.72);padding:1rem;min-height:0;overflow:auto}.thread-items{display:grid;gap:.6rem;margin-top:.7rem}.thread-item{display:grid;grid-template-columns:1fr auto;gap:.4rem;align-items:start;border-radius:18px;background:rgba(255,255,255,.055);padding:.65rem}.thread-item.unread{box-shadow:inset 3px 0 0 #00f7ff}.thread-open{display:grid;gap:.25rem;text-align:left;background:transparent;border:0;color:inherit;cursor:pointer}.thread-open span,.thread-open small{color:var(--muted,#b7b7c8)}.thread-delete{width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,70,120,.16);color:#ff8eb0;cursor:pointer}.chat-box{display:flex;flex-direction:column}.thread-view-body{display:grid;gap:.7rem;overflow:auto;padding-right:.25rem}.chat-head{display:flex;align-items:center;gap:.7rem;position:sticky;top:0;background:rgba(12,15,28,.96);padding-bottom:.6rem;z-index:1}.chat-bubble{max-width:78%;border-radius:18px;padding:.75rem .9rem;background:rgba(255,255,255,.08)}.chat-bubble.mine{justify-self:end;background:linear-gradient(135deg,rgba(0,247,255,.25),rgba(159,107,255,.22))}.chat-bubble small{display:block;color:var(--muted,#b7b7c8);margin-bottom:.25rem}.chat-bubble p{margin:0}.chat-reply{display:flex;gap:.6rem;margin-top:auto;padding-top:.7rem}.chat-reply textarea{flex:1;min-height:64px;border-radius:16px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.22);color:inherit;padding:.8rem}.hidden{display:none!important}.context-panel .mct-row{display:block;width:100%;margin:.45rem 0;padding:.8rem;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:inherit;text-align:left;text-decoration:none}.chat-empty{margin:auto;text-align:center;color:var(--muted,#b7b7c8)}
body.theme-light .focus-strip article,body.theme-light .focus-card,body.theme-light .mct-panel,body.theme-light .thread-list,body.theme-light .chat-box,body.theme-light .context-panel{background:rgba(255,255,255,.86);color:#1b1d27}.muted{color:var(--muted,#aeb0c2)}


/* === V31 Visual Repair Pack: dashboards, pages, calendar, chat, resources === */
:root{--mct-radius-xl:28px;--mct-radius:18px;--mct-gap:clamp(12px,1.6vw,22px);--mct-surface:rgba(15,18,35,.76);--mct-surface-2:rgba(255,255,255,.075);--mct-line:rgba(255,255,255,.13);--mct-glow:0 20px 70px rgba(0,0,0,.34);--mct-cyan:#00f7ff;--mct-purple:#8f5cff;--mct-pink:#ff4fd8;--mct-orange:#ffb057;--mct-red:#ff5a7a;--mct-green:#7dffb2}
.main{max-width:none!important;width:100%;padding:clamp(10px,1.6vw,24px)!important;overflow-x:hidden}.mct-page,.focus-dashboard{width:100%;max-width:1680px;margin:0 auto}.mct-page{display:grid;gap:var(--mct-gap)}
.mct-header,.focus-hero{border:1px solid var(--mct-line);border-radius:var(--mct-radius-xl);background:linear-gradient(135deg,rgba(0,247,255,.14),rgba(143,92,255,.10) 52%,rgba(255,79,216,.10));box-shadow:var(--mct-glow);padding:clamp(16px,2vw,28px);display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;overflow:hidden}.mct-header:before,.focus-hero:before{content:"";position:absolute;inset:-80px auto auto -60px;width:240px;height:240px;background:radial-gradient(circle,rgba(0,247,255,.26),transparent 65%);pointer-events:none}.mct-header h1,.focus-hero h1{margin:0;font-size:clamp(1.8rem,3.1vw,3.8rem);line-height:.95}.mct-header p,.focus-hero p{max-width:760px;color:rgba(255,255,255,.72)}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--mct-cyan)!important;font-size:.75rem;font-weight:800}.focus-primary,.mct-btn.primary{background:linear-gradient(135deg,var(--mct-cyan),var(--mct-purple));color:#06101c!important;border:0;border-radius:999px;padding:.85rem 1.15rem;font-weight:900;text-decoration:none;box-shadow:0 12px 34px rgba(0,247,255,.18)}.mct-btn.secondary,.focus-card a,.mini-btn{border:1px solid var(--mct-line);background:var(--mct-surface-2);color:inherit;border-radius:999px;padding:.7rem 1rem;text-decoration:none}.mct-btn.danger,.mini-danger{background:rgba(255,90,122,.14);border:1px solid rgba(255,90,122,.38);color:#ffd6de;border-radius:999px;padding:.55rem .8rem}
.focus-strip,.mct-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--mct-gap)}.focus-strip article,.mct-kpi,.mct-stat{padding:18px;border-radius:22px;border:1px solid var(--mct-line);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045));box-shadow:0 12px 40px rgba(0,0,0,.20)}.focus-strip small,.mct-kpi small,.mct-stat small{display:block;color:rgba(255,255,255,.58);text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.72rem}.focus-strip strong,.mct-kpi strong,.mct-stat strong{display:block;font-size:clamp(1.45rem,2.3vw,2.5rem);margin-top:.25rem}.focus-grid,.mct-grid.auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--mct-gap)}.mct-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mct-gap)}.mct-grid.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--mct-gap)}.mct-grid.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--mct-gap)}.focus-card,.mct-card,.mct-panel{border:1px solid var(--mct-line);border-radius:var(--mct-radius-xl);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045));box-shadow:0 18px 55px rgba(0,0,0,.22);padding:clamp(16px,1.6vw,24px);min-width:0}.focus-card h2,.focus-card h3,.mct-card h3,.mct-panel h2{margin:.25rem 0 .5rem}.focus-card span,.mct-badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.32rem .65rem;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;background:rgba(0,247,255,.12);color:#caffff;border:1px solid rgba(0,247,255,.25)}.mct-badge.ok{background:rgba(125,255,178,.13);border-color:rgba(125,255,178,.32);color:#caffdf}.mct-badge.warn{background:rgba(255,176,87,.13);border-color:rgba(255,176,87,.36);color:#ffe2b7}.mct-badge.risk{background:rgba(255,90,122,.14);border-color:rgba(255,90,122,.38);color:#ffd0da}.mct-badge.info{background:rgba(143,92,255,.14);border-color:rgba(143,92,255,.36);color:#e1d5ff}.mct-list{display:grid;gap:10px}.mct-row,.compact-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--mct-line);border-radius:18px;padding:12px;background:rgba(255,255,255,.055)}.mct-row-actions,.mct-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.icon-btn{width:40px;height:40px;border-radius:14px;border:1px solid var(--mct-line);background:rgba(255,255,255,.08);display:inline-grid;place-items:center;color:inherit;text-decoration:none;padding:0}.icon-btn svg{width:18px;height:18px}.muted{color:rgba(255,255,255,.58)!important}.mct-field,input,select,textarea{border:1px solid var(--mct-line);background:rgba(3,6,18,.62);color:inherit;border-radius:16px;padding:.78rem .9rem;max-width:100%}textarea{min-height:120px}.mct-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.span-2{grid-column:1/-1}.hidden{display:none!important}
/* Calendar */
.calendar-page{max-width:none!important}.calendar-toolbar{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:nowrap}.calendar-toolbar select{width:auto;min-width:130px}.calendar-toolbar input{width:92px}.calendar-shell{padding:10px!important}.calendar-weekdays,.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays b{text-align:center;color:rgba(255,255,255,.55);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.calendar-day{aspect-ratio:1/1;min-height:94px;width:100%;border-radius:18px;border:1px solid var(--mct-line);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));color:inherit;padding:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;overflow:hidden;text-align:left}.calendar-day header{width:100%;display:flex;justify-content:space-between;align-items:center}.calendar-day.today{outline:2px solid rgba(0,247,255,.5);box-shadow:0 0 0 5px rgba(0,247,255,.08)}.calendar-day.muted-day{opacity:.28}.day-dots{display:flex;gap:4px;flex-wrap:wrap}.dot{width:8px;height:8px;border-radius:50%;background:var(--mct-purple);display:block}.dot.session{background:var(--mct-cyan)}.dot.task{background:var(--mct-orange)}.dot.alert{background:var(--mct-red)}.calendar-event{font-size:.7rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(0,247,255,.10);border-radius:999px;padding:.2rem .4rem}.calendar-day p{font-size:.72rem;margin:0;color:rgba(255,255,255,.68)}
/* Mementos */
.record-pro-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.mct-icon{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,rgba(0,247,255,.18),rgba(255,79,216,.16));border:1px solid var(--mct-line);font-size:1.4rem}.mct-icon.good{box-shadow:inset 0 -5px 0 rgba(125,255,178,.55)}.mct-icon.watch{box-shadow:inset 0 -5px 0 rgba(255,176,87,.65)}.mct-icon.risk{box-shadow:inset 0 -5px 0 rgba(255,90,122,.65)}.timeline{display:grid;gap:12px}.timeline-week-title{position:sticky;top:6px;z-index:2;justify-self:start;background:rgba(5,8,20,.84);backdrop-filter:blur(10px);border:1px solid var(--mct-line);border-radius:999px;padding:.4rem .75rem;color:#dff}
/* Chat */
.messages-page{height:calc(100vh - 80px);display:grid;grid-template-rows:auto 1fr;gap:var(--mct-gap);max-width:none}.messages-layout-pro{display:grid!important;grid-template-columns:minmax(260px,340px) 1fr!important;gap:var(--mct-gap);min-height:0}.messages-layout-pro .context-panel{display:none!important}.thread-list,.chat-box{border:1px solid var(--mct-line);border-radius:var(--mct-radius-xl);background:rgba(9,12,28,.74);box-shadow:var(--mct-glow);min-height:0;overflow:hidden}.thread-list{display:grid;grid-template-rows:auto 1fr;padding:12px}.thread-items{overflow:auto;display:grid;gap:8px;padding-top:10px}.thread-item{display:grid;grid-template-columns:1fr auto;gap:6px;border:1px solid var(--mct-line);border-radius:18px;background:rgba(255,255,255,.055);padding:8px}.thread-item.unread{border-color:rgba(0,247,255,.42);box-shadow:inset 4px 0 0 var(--mct-cyan)}.thread-open{appearance:none;border:0;background:transparent;color:inherit;text-align:left;display:grid;gap:3px;padding:5px;cursor:pointer}.thread-open small,.thread-open span{color:rgba(255,255,255,.58)}.thread-delete{width:34px;height:34px;border-radius:12px;border:1px solid rgba(255,90,122,.32);background:rgba(255,90,122,.10);color:#ffd6de}.chat-box{display:grid;grid-template-rows:auto 1fr auto;padding:0}.thread-view-body{overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-head{position:sticky;top:0;background:rgba(9,12,28,.92);backdrop-filter:blur(10px);z-index:3;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--mct-line);padding:12px;margin:-16px -16px 8px}.chat-bubble{max-width:min(720px,82%);border:1px solid var(--mct-line);border-radius:22px;padding:12px 14px;background:rgba(255,255,255,.075)}.chat-bubble.mine{align-self:flex-end;background:linear-gradient(135deg,rgba(0,247,255,.18),rgba(143,92,255,.14))}.chat-bubble small{color:rgba(255,255,255,.55)}.chat-reply{border-top:1px solid var(--mct-line);display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;background:rgba(255,255,255,.04)}.chat-reply textarea{min-height:54px;resize:vertical}.chat-empty{display:grid;place-items:center;text-align:center;padding:40px;color:rgba(255,255,255,.65)}
/* Resources */
.resource-card{display:grid;grid-template-rows:auto 1fr auto;gap:12px}.resource-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:rgba(0,247,255,.12);font-size:1.4rem}.resource-actions{display:flex;gap:8px}.resource-actions .icon-btn{font-size:1.05rem}.resource-files{display:flex;gap:6px;flex-wrap:wrap}.file-chip{border:1px solid var(--mct-line);border-radius:999px;padding:.32rem .58rem;text-decoration:none;color:inherit;background:rgba(255,255,255,.06)}
/* Modals: focus-safe */
.mc-modal-backdrop,.mct-modal{position:fixed!important;inset:0!important;z-index:9999!important;background:rgba(0,0,0,.58);backdrop-filter:blur(8px);display:flex;align-items:flex-start!important;justify-content:center!important;overflow:auto!important;padding:clamp(14px,4vh,42px) 12px}.mc-modal-backdrop.hidden{display:none!important}.mc-modal,.mct-modal-card{width:min(760px,96vw)!important;max-height:calc(100vh - 36px)!important;overflow:auto!important;border-radius:28px!important}.mct-modal.open{display:flex!important}.mct-modal:not(.open){display:none!important}
@media (max-width:900px){.focus-strip,.mct-kpi-strip,.mct-grid.two,.mct-grid.three,.mct-grid.four{grid-template-columns:1fr 1fr}.mct-header,.focus-hero{align-items:flex-start;flex-direction:column}.messages-page{height:calc(100vh - 50px)}.messages-layout-pro{grid-template-columns:1fr!important}.chat-box{position:fixed;inset:0;z-index:60;border-radius:0;transform:translateX(100%);transition:.25s ease}.chat-box.is-open{transform:translateX(0)}.calendar-day{min-height:74px;border-radius:14px}.calendar-toolbar{width:100%;justify-content:stretch;flex-wrap:wrap}.calendar-toolbar>*{flex:1}.record-pro-card{grid-template-columns:auto 1fr}.record-pro-card .mct-row-actions{grid-column:1/-1}.chat-back{display:inline-flex!important}}
@media (min-width:901px){.chat-back{display:none!important}}
@media (max-width:620px){.focus-strip,.mct-kpi-strip,.mct-grid.two,.mct-grid.three,.mct-grid.four{grid-template-columns:1fr}.calendar-weekdays,.calendar-month{gap:4px}.calendar-day{min-height:58px;padding:6px}.calendar-event,.calendar-day p{display:none}.mct-form-grid{grid-template-columns:1fr}}



/* ============================================================
   ORIGEN: dashboard-v17-2.css
   ============================================================ */

/* Dashboard v17.2 · Observatorio místico con lógica analítica */
.dash-v2,.oracle-grid{position:relative;z-index:1}.dash-v2.hero-oracle{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:24px;margin-bottom:22px;padding:28px;border:1px solid rgba(155,92,255,.26);border-radius:30px;background:radial-gradient(circle at 10% 10%,rgba(98,0,234,.34),transparent 35%),radial-gradient(circle at 88% 18%,rgba(0,247,255,.12),transparent 28%),linear-gradient(135deg,rgba(14,18,38,.82),rgba(13,9,27,.78));box-shadow:0 24px 80px rgba(0,0,0,.35),inset 0 0 70px rgba(98,0,234,.08);overflow:hidden}.hero-oracle:before{content:"";position:absolute;inset:-1px;background:linear-gradient(120deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-80%);animation:oracleSweep 7s ease-in-out infinite;pointer-events:none}.reduce-motion .hero-oracle:before{animation:none}.hero-copy h1{font-size:clamp(2.25rem,4vw,4.8rem);line-height:.98;margin:0 0 18px;max-width:960px;letter-spacing:-.055em}.central-insight{font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.5;color:#ede8ff;max-width:940px}.hero-oracle.good .central-insight{color:#b8ffe4}.hero-oracle.risk .central-insight{color:#ffb5cf}.hero-oracle.low .central-insight{color:#ffe7a6}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.hero-status{padding:20px;border-radius:24px;display:grid;gap:16px;align-content:start}.hero-status>div:first-child span{font-size:2.8rem;display:block;margin-bottom:8px}.hero-status strong{display:block;font-size:1.25rem}.hero-status small{display:block;color:#bcb4d7;line-height:1.45}.confidence-chip{border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:14px;background:rgba(255,255,255,.045)}.confidence-chip.high{border-color:rgba(0,247,155,.38);background:rgba(0,247,155,.08)}.confidence-chip.mid{border-color:rgba(255,208,89,.4);background:rgba(255,208,89,.08)}.confidence-chip.low{border-color:rgba(255,85,147,.42);background:rgba(255,85,147,.08)}.mini-alerts{display:flex;gap:8px;flex-wrap:wrap}.mini-alerts span{padding:8px 10px;border-radius:999px;background:rgba(98,0,234,.25);border:1px solid rgba(155,92,255,.28);font-size:.9rem}.oracle-grid{display:grid;gap:18px}.metrics-row{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.oracle-metric{position:relative;overflow:hidden;border-radius:24px;padding:20px;border:1px solid rgba(155,92,255,.22);background:linear-gradient(180deg,rgba(18,24,48,.86),rgba(11,16,32,.88));box-shadow:inset 0 0 45px rgba(98,0,234,.07)}.oracle-metric:before{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,#6200ea,#00f7ff);width:var(--w,0%);border-radius:999px}.metric-top{display:flex;align-items:center;justify-content:space-between}.metric-top span{font-size:1.65rem}.metric-top small{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.07);font-weight:800}.oracle-metric h3{font-size:1rem;margin:14px 0 6px;color:#d9d3f4}.oracle-metric strong{display:block;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1;color:#fff}.oracle-metric p{margin:10px 0 0;color:#a9a0c5;font-size:.95rem}.oracle-metric.warning .metric-top small{color:#ff8fb4}.oracle-metric.positive .metric-top small{color:#8dffcd}.main-oracle{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.oracle-panel{border:1px solid rgba(155,92,255,.22);border-radius:26px;padding:22px;background:linear-gradient(180deg,rgba(17,24,47,.9),rgba(8,13,27,.9));box-shadow:0 18px 50px rgba(0,0,0,.28),inset 0 0 60px rgba(0,247,255,.025)}.oracle-panel.span-2{grid-column:span 2}.oracle-panel h2{font-size:clamp(1.25rem,2vw,1.9rem);margin:0 0 14px}.eyebrow{margin:0 0 8px;color:#bbaaff;text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:.76rem}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.panel-head a{color:#cfb7ff;text-decoration:none;font-weight:900}.legend{display:flex;gap:10px;flex-wrap:wrap}.legend span{font-size:.82rem;font-weight:900;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.06)}.legend .mood{color:#c6a6ff}.legend .anx{color:#67eaff}.legend .stress{color:#ff89ac}.oracle-chart{width:100%;height:auto;display:block}.oracle-chart .grid{fill:none;stroke:rgba(255,255,255,.09);stroke-width:1}.oracle-chart .line{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px currentColor)}.oracle-chart .mood{stroke:#a46cff;color:#a46cff}.oracle-chart .anx{stroke:#00f7ff;color:#00f7ff}.oracle-chart .stress{stroke:#ff5e9d;color:#ff5e9d}.day-runes{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:12px}.day-runes span{display:grid;place-items:center;gap:3px;padding:10px 4px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.day-runes b{font-size:1.35rem}.day-runes small{font-size:.76rem;color:#aaa2c4}.empty-oracle{display:grid;place-items:start;gap:8px;padding:24px;border:1px dashed rgba(188,168,255,.35);border-radius:20px;background:rgba(255,255,255,.035);color:#d8d0ee}.empty-oracle.compact{padding:16px;color:#aaa2c4}.recommendation-oracle{position:relative;overflow:hidden}.recommendation-oracle:after{content:"✦";position:absolute;right:20px;top:20px;font-size:6rem;color:rgba(160,108,255,.1)}.level-pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,183,75,.13);border:1px solid rgba(255,183,75,.3);font-weight:900;color:#ffe2a7}.action-text{font-size:1.15rem;line-height:1.5;color:#f4efff}.why-box{margin:18px 0;padding:16px;border-radius:18px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08)}.why-box ul{margin:.5rem 0 0 1.1rem;padding:0}.why-box li{margin:.3rem 0;color:#cfc7e9}.insight-card{padding:18px;border-radius:20px;border:1px solid rgba(255,255,255,.12)}.insight-card strong{display:block;font-size:1.35rem;margin-bottom:8px}.insight-card p{margin:0 0 8px;line-height:1.45}.insight-card small{color:#bcb4d7}.insight-card.good{background:linear-gradient(135deg,rgba(0,247,155,.12),rgba(98,0,234,.12));border-color:rgba(0,247,155,.32)}.insight-card.risk{background:linear-gradient(135deg,rgba(255,55,120,.15),rgba(98,0,234,.14));border-color:rgba(255,85,147,.36)}.pattern-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pattern-lane{padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(0,247,255,.08),rgba(98,0,234,.14));border-left:5px solid #00f7ff}.pattern-lane b{display:block;font-size:1.05rem}.pattern-lane span{display:inline-block;margin:8px 0;color:#cbbfff;font-weight:900}.pattern-lane p{margin:0;color:#bfb7d7;line-height:1.45}.lunar-panel p{color:#c9c1df;line-height:1.55}.substance-list{display:grid;gap:10px;margin-top:14px}.substance-list span{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.substance-list small{color:#b4accb}.record-stack{display:grid;gap:10px}.record-line-v2{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);text-decoration:none;color:#f4efff}.record-line-v2 span{font-size:1.4rem}.record-line-v2 b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-line-v2 small{display:block;color:#a9a0c5;margin-top:2px}.record-line-v2 em{font-style:normal;font-weight:900;color:#fff}.task-line{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);margin-bottom:10px}.task-line button{width:34px;height:34px;border-radius:12px;border:1px solid rgba(155,92,255,.35);background:rgba(98,0,234,.3);color:#fff;cursor:pointer}.task-line small{display:block;color:#aaa2c4;margin-top:4px}.task-line.is-done{opacity:.65}.task-line.is-done strong{text-decoration:line-through}.agenda-line{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center;padding:12px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);margin-bottom:10px}.agenda-line time{font-weight:1000;color:#b987ff}.agenda-line small{display:block;color:#a9a0c5}.btn.full{width:100%;text-align:center;justify-content:center}@keyframes oracleSweep{0%,45%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
@media(max-width:1180px){.metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))}.main-oracle{grid-template-columns:1fr}.oracle-panel.span-2{grid-column:auto}.dash-v2.hero-oracle{grid-template-columns:1fr}.pattern-lanes{grid-template-columns:1fr}}@media(max-width:700px){.dash-v2.hero-oracle{padding:20px;border-radius:22px}.metrics-row{grid-template-columns:1fr}.hero-copy h1{font-size:2.15rem}.day-runes{grid-template-columns:repeat(4,1fr)}.panel-head{display:grid}.oracle-panel{padding:18px;border-radius:20px}}



/* ============================================================
   ORIGEN: v26-refactor.css
   ============================================================ */

/* =========================================================
   Memento Cyclus Therapy v26 · structural UX/UI refactor
   Single layer: tokens, layout, components, responsive
   ========================================================= */
:root{--bg:#080d18;--panel:#101827;--panel2:#151f33;--soft:#1b263b;--line:rgba(180,198,255,.16);--text:#f6f3ff;--muted:#aeb8d6;--primary:#8b5cf6;--secondary:#38bdf8;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--pink:#f472b6;--r-sm:12px;--r-md:18px;--r-lg:24px;--shadow:0 24px 80px rgba(0,0,0,.38);--s1:.5rem;--s2:.75rem;--s3:1rem;--s4:1.5rem;--s5:2rem}
*{box-sizing:border-box} body{background:radial-gradient(circle at 12% 0%,rgba(139,92,246,.22),transparent 34rem),radial-gradient(circle at 92% 8%,rgba(56,189,248,.10),transparent 30rem),linear-gradient(135deg,#070b14,#0a1020 44%,#0b1324)!important;color:var(--text)}
.main{width:100%;min-width:0}.app-shell{min-height:100vh}.sidebar{overflow:visible!important}.sidebar nav{max-height:none!important}.footer{opacity:.68}.glass,.panel,.hero,.card{border:1px solid var(--line)!important;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.032))!important;box-shadow:var(--shadow);backdrop-filter:blur(15px)}
.mct-page{max-width:1480px;margin:0 auto;padding:clamp(16px,2.4vw,32px);display:grid;gap:var(--s4)}
.mct-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s3);flex-wrap:wrap}.mct-header h1{font-size:clamp(2rem,3.8vw,4.2rem);line-height:1.02;margin:0;letter-spacing:-.05em}.mct-header p{color:var(--muted);font-size:1.05rem;margin:.45rem 0 0;max-width:850px;line-height:1.6}.mct-actions{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.mct-hero{display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(260px,.75fr);gap:var(--s4);align-items:stretch;padding:var(--s4);border-radius:var(--r-lg);border:1px solid var(--line);background:radial-gradient(circle at top right,rgba(139,92,246,.22),transparent 28rem),linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));box-shadow:var(--shadow)}
.mct-grid{display:grid;gap:var(--s3)}.mct-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mct-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.mct-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.mct-grid.auto{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.mct-panel,.mct-card,.mct-stat{position:relative;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.03));box-shadow:var(--shadow);padding:var(--s4)}.mct-card:after,.mct-stat:after{content:"";position:absolute;right:-46px;top:-46px;width:130px;height:130px;border-radius:50%;background:linear-gradient(135deg,rgba(139,92,246,.20),rgba(56,189,248,.10))}.mct-card>*,.mct-stat>*{position:relative;z-index:1}.mct-card h3,.mct-panel h2{margin-top:0}.mct-card p,.mct-panel p{color:var(--muted);line-height:1.58}.mct-stat small{display:block;color:var(--muted);margin-bottom:.35rem}.mct-stat strong{font-size:2.05rem;letter-spacing:-.04em}.mct-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,rgba(139,92,246,.36),rgba(56,189,248,.16));font-size:1.55rem;margin-bottom:.75rem}.mct-section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem}.mct-section-head h2{margin:0;font-size:1.32rem}
.mct-badge{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;padding:.45rem .7rem;font-size:.78rem;font-weight:800;background:rgba(139,92,246,.16);color:#ddd6fe;border:1px solid rgba(139,92,246,.28)}.mct-badge.risk,.mct-badge.high{background:rgba(239,68,68,.18);color:#fecaca;border-color:rgba(239,68,68,.32)}.mct-badge.warn,.mct-badge.medium{background:rgba(245,158,11,.18);color:#fde68a;border-color:rgba(245,158,11,.32)}.mct-badge.ok,.mct-badge.protective,.mct-badge.low{background:rgba(34,197,94,.18);color:#bbf7d0;border-color:rgba(34,197,94,.32)}.mct-badge.info{background:rgba(56,189,248,.16);color:#bae6fd;border-color:rgba(56,189,248,.30)}
.mct-btn,.btn,.mini-btn{border:1px solid rgba(255,255,255,.12);border-radius:15px;padding:.75rem 1rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;cursor:pointer;text-decoration:none;color:var(--text);background:rgba(255,255,255,.07);font-weight:800}.mct-btn.primary,.btn.primary,.mct-btn:not(.secondary):not(.danger){background:linear-gradient(135deg,var(--primary),var(--secondary));border:0;color:#fff;box-shadow:0 10px 28px rgba(139,92,246,.24)}.mct-btn.danger,.mini-btn.danger{background:linear-gradient(135deg,#dc2626,#fb7185);color:white;border:0}.mct-btn.full{width:100%}
.mct-list{display:grid;gap:.7rem}.mct-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.052);border-radius:18px;padding:.9rem}.mct-row-main{display:flex;align-items:center;gap:.8rem;min-width:0}.mct-row h3{margin:0;font-size:1rem}.mct-row p{margin:.2rem 0 0;color:var(--muted);line-height:1.45}.mct-row-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.icon-btn,.icon-danger{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:var(--text);cursor:pointer}.icon-btn svg,.icon-danger svg{width:19px;height:19px}.icon-btn svg+svg,.icon-danger svg+svg{display:none!important}.icon-danger{color:#fecaca;background:rgba(239,68,68,.10)}
.mct-tabs{display:flex;gap:.5rem;flex-wrap:wrap;padding:.45rem;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.045)}.mct-tab{border:0;background:transparent;color:var(--muted);padding:.7rem .9rem;border-radius:13px;font-weight:800;cursor:pointer}.mct-tab.active{color:white;background:linear-gradient(135deg,var(--primary),#6d28d9)}.mct-field,input,select,textarea{border-radius:15px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.20);color:var(--text);padding:.75rem .9rem}textarea{min-height:110px;resize:vertical}.mct-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.span-2{grid-column:span 2}
.mct-modal,.mc-modal-backdrop{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(4,7,13,.78);backdrop-filter:blur(9px);z-index:9999}.mct-modal.open,.mc-modal-backdrop:not(.hidden){display:flex}.mct-modal-card,.mc-modal{width:min(920px,96vw);max-height:90vh;overflow:auto;border-radius:24px;border:1px solid var(--line);padding:24px;background:linear-gradient(145deg,rgba(16,24,39,.98),rgba(9,14,27,.98));box-shadow:var(--shadow)}.mct-modal-card.fullscreen,.mc-modal.fullscreen{width:calc(100vw - 36px);height:calc(100vh - 36px);max-height:none}.mc-modal-x{float:right}
.flash,.mct-toast{position:fixed!important;left:50%!important;bottom:24px!important;top:auto!important;right:auto!important;transform:translateX(-50%) translateY(20px);z-index:12000;min-width:280px;max-width:90vw;padding:14px 18px;border-radius:16px;color:white;font-weight:800;text-align:center;opacity:0;animation:mctToast 3.2s ease forwards;box-shadow:0 20px 60px rgba(0,0,0,.35)}.flash-ok,.mct-toast.ok{background:linear-gradient(135deg,#16a34a,#22c55e)}.flash-nok,.mct-toast.nok{background:linear-gradient(135deg,#dc2626,#ef4444)}@keyframes mctToast{0%{opacity:0;transform:translateX(-50%) translateY(20px)}10%,85%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(20px)}}
.timeline{display:grid;gap:1rem}.timeline-week{display:grid;gap:.7rem}.timeline-week-title{color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.record-pro-card{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:start}.wizard-steps{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.wizard-step{padding:.55rem .8rem;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted);font-weight:800}.wizard-step.active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.kanban{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:1rem}.kanban-col{border-radius:22px;border:1px solid var(--line);padding:1rem;background:rgba(255,255,255,.045)}.kanban-col h3{margin-top:0}.calendar-month{display:grid!important;grid-template-columns:repeat(7,minmax(112px,1fr));gap:.7rem}.calendar-day{min-height:116px!important;border-radius:16px!important}.calendar-event{display:block;margin-top:.35rem;padding:.32rem .45rem;border-radius:9px;background:rgba(56,189,248,.18);font-size:.76rem}.calendar-event.task{background:rgba(245,158,11,.16)}.day-dots{display:flex;gap:.25rem;margin-top:.4rem}.dot{width:8px;height:8px;border-radius:50%;background:var(--primary)}.dot.session{background:var(--secondary)}.dot.task{background:var(--warning)}.dot.alert{background:var(--danger)}
.messages-layout-pro{display:grid;grid-template-columns:340px minmax(0,1fr) 300px;gap:1rem;min-height:72vh}.chat-box,.thread-list,.context-panel{border-radius:24px;border:1px solid var(--line);padding:1rem;background:rgba(255,255,255,.05)}.chat-bubble{max-width:74%;padding:.85rem 1rem;border-radius:18px;margin:.7rem 0;background:rgba(255,255,255,.08)}.chat-bubble.mine{margin-left:auto;background:linear-gradient(135deg,rgba(139,92,246,.48),rgba(56,189,248,.22))}.chat-input{display:grid;grid-template-columns:1fr auto;gap:.7rem;margin-top:1rem}.content-grid{display:grid;grid-template-columns:1fr 320px;gap:1rem}.content-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.content-card{border:1px solid var(--line);background:rgba(255,255,255,.05);border-radius:22px;padding:1rem}.resource-state{font-size:.76rem}
.admin-shell .mct-card,.professional-shell .mct-card{min-height:140px}.login-card{max-width:460px;margin:8vh auto}.privacy-note{border-left:4px solid var(--secondary);padding:1rem;background:rgba(56,189,248,.08);border-radius:16px;color:var(--muted)}
@media(max-width:1100px){.mct-grid.four,.mct-grid.three,.kanban,.messages-layout-pro,.content-grid{grid-template-columns:1fr 1fr}.calendar-month{grid-template-columns:repeat(7,minmax(70px,1fr))}.context-panel{grid-column:1/-1}}@media(max-width:760px){.mct-page{padding:14px}.mct-hero,.mct-grid.two,.mct-grid.three,.mct-grid.four,.kanban,.messages-layout-pro,.content-grid{grid-template-columns:1fr}.mct-form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.calendar-month{grid-template-columns:repeat(7,minmax(38px,1fr));gap:.35rem}.calendar-day{min-height:62px!important;padding:.4rem!important}.calendar-day p,.calendar-day small,.calendar-event{display:none}.mct-row{align-items:flex-start;flex-direction:column}.mct-row-actions{width:100%}.mct-btn,.btn,.mini-btn{width:100%}.sidebar{position:fixed!important;inset:auto 0 0!important;width:100%!important;height:76px!important;z-index:8000;border-radius:24px 24px 0 0!important;overflow:hidden!important}.sidebar .brand,.sidebar .profile,.sidebar .wellness-mini,.sidebar .nav-title,.sidebar .bottom-icons{display:none!important}.sidebar nav{display:flex!important;gap:.3rem;overflow-x:auto;padding:.65rem!important}.sidebar nav a{white-space:nowrap;font-size:.85rem}.main{padding-bottom:88px!important}.chat-bubble{max-width:92%}}



/* ============================================================
   ORIGEN: mct-system-ux.css
   ============================================================ */

/* ==========================================================
   Memento Cyclus Therapy · Sistema UX/UI integral v32
   Reparación estructural, responsive y visual para dashboards
   ========================================================== */
:root{
  --mct-bg:#070914; --mct-bg-2:#0d1021; --mct-surface:rgba(17,22,42,.76); --mct-surface-2:rgba(22,29,55,.9);
  --mct-glass:rgba(255,255,255,.075); --mct-line:rgba(183,211,255,.16); --mct-line-strong:rgba(183,211,255,.28);
  --mct-text:#eef4ff; --mct-muted:#aab7d9; --mct-faint:#7481a6;
  --mct-cyan:#64f4ff; --mct-violet:#a78bfa; --mct-pink:#ff7ad9; --mct-green:#8df7b2; --mct-yellow:#ffe08a; --mct-red:#ff7b9c;
  --mct-radius-xs:10px; --mct-radius-sm:14px; --mct-radius:20px; --mct-radius-lg:28px;
  --mct-gap-1:.5rem; --mct-gap-2:.75rem; --mct-gap-3:1rem; --mct-gap-4:1.35rem; --mct-gap-5:1.75rem;
  --mct-shadow:0 24px 70px rgba(0,0,0,.38); --mct-glow:0 0 38px rgba(100,244,255,.13),0 0 70px rgba(167,139,250,.08);
  --mct-sidebar:284px; --mct-control-h:44px; --mct-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box} html{min-width:320px;background:var(--mct-bg);overflow-x:hidden} body{font-family:var(--mct-font);color:var(--mct-text);background:radial-gradient(circle at 20% 0%,rgba(100,244,255,.14),transparent 34rem),radial-gradient(circle at 82% 8%,rgba(255,122,217,.10),transparent 32rem),linear-gradient(145deg,#060813,#0a0d1c 48%,#080a14);overflow-x:hidden;word-break:normal;overflow-wrap:anywhere;text-rendering:optimizeLegibility} body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at center,black,transparent 82%);z-index:-1}
a{color:inherit;text-decoration:none} img,svg,canvas{max-width:100%} button,input,select,textarea{font:inherit;max-width:100%} textarea{resize:vertical;min-height:110px}.hidden{display:none!important}.muted{color:var(--mct-muted)!important}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:var(--mct-cyan);font-weight:800;margin:0 0 .45rem}.glass,.mct-panel,.mct-card,.focus-card,.focus-hero,.mct-hero,.thread-list,.chat-box,.sidebar{background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.045));border:1px solid var(--mct-line);box-shadow:var(--mct-shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.app-shell{display:grid;grid-template-columns:var(--mct-sidebar) minmax(0,1fr);min-height:100vh;width:100%;max-width:100vw}.login-shell{display:block}.main{min-width:0;width:100%;padding:clamp(14px,2vw,28px);padding-bottom:1.5rem}.sidebar{position:sticky;top:0;height:100vh;overflow:auto;border-radius:0 30px 30px 0;padding:1.05rem;z-index:20}.sidebar nav{display:grid;gap:.36rem}.sidebar a,.sidebar .sync{display:flex;align-items:center;gap:.6rem;min-height:40px;padding:.68rem .78rem;border-radius:14px;color:var(--mct-muted);border:1px solid transparent;white-space:normal;line-height:1.2}.sidebar a:hover,.sidebar a:focus-visible{color:var(--mct-text);background:rgba(100,244,255,.08);border-color:rgba(100,244,255,.18)}.brand{display:flex;gap:.8rem;align-items:center;margin-bottom:1rem}.brand .orb{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff,#a9f8ff 28%,#7c3aed 72%,#10162d);box-shadow:0 0 35px rgba(100,244,255,.24)}.brand strong,.brand span,.brand em{display:block}.brand span,.brand em{font-size:.72rem;color:var(--mct-muted);letter-spacing:.12em}.nav-title{margin:.75rem .75rem .2rem;color:var(--mct-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.nav-badge{margin-left:auto;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--mct-pink),var(--mct-violet));font-size:.72rem;color:white}.profile,.wellness-mini{margin-top:1rem;padding:.85rem;border:1px solid var(--mct-line);border-radius:18px;background:rgba(255,255,255,.045)}.profile{display:flex;gap:.7rem;align-items:center}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08)}.profile small,.wellness-mini small,.wellness-mini span{display:block;color:var(--mct-muted)}.wellness-mini i{display:block;height:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin:.55rem 0}.wellness-mini b{display:block;height:100%;background:linear-gradient(90deg,var(--mct-cyan),var(--mct-violet))}.bottom-icons{display:flex;gap:.5rem;margin-top:1rem}.bottom-icon,.icon-btn{width:var(--mct-control-h);height:var(--mct-control-h);border-radius:14px;border:1px solid var(--mct-line);background:rgba(255,255,255,.07);color:var(--mct-text);display:inline-grid;place-items:center;cursor:pointer;transition:.18s ease}.bottom-icon:hover,.icon-btn:hover{transform:translateY(-1px);border-color:rgba(100,244,255,.45);box-shadow:var(--mct-glow)}
.mct-page,.messages-page,.patient-home,.professional-page,.admin-page{width:min(100%,1540px);margin:0 auto;display:grid;gap:var(--mct-gap-4);min-width:0}.mct-header,.focus-hero{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-radius:var(--mct-radius-lg);padding:clamp(1rem,2vw,1.6rem);position:relative;overflow:hidden}.mct-header::after,.focus-hero::after,.mct-hero::after{content:"";position:absolute;inset:auto -10% -55% 35%;height:140%;background:radial-gradient(circle,rgba(100,244,255,.15),transparent 58%);pointer-events:none}.mct-header h1,.focus-hero h1{font-size:clamp(2rem,4.2vw,4.8rem);line-height:.95;margin:.1rem 0 .55rem;letter-spacing:-.055em}.mct-header p,.focus-hero p{max-width:72ch;color:var(--mct-muted);line-height:1.65;margin:.25rem 0}.mct-section-head{display:flex;align-items:center;justify-content:space-between;gap:.85rem;margin-bottom:1rem}.mct-section-head h2,.mct-panel h2{margin:0;font-size:clamp(1.18rem,1.7vw,1.65rem)}.mct-grid{display:grid;gap:var(--mct-gap-3);min-width:0}.mct-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mct-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.mct-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.mct-grid.auto{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}.mct-panel,.mct-card{border-radius:var(--mct-radius);padding:clamp(1rem,1.5vw,1.35rem);min-width:0;overflow:hidden}.mct-card{display:flex;flex-direction:column;gap:.75rem}.mct-card h3,.mct-row h3{margin:.15rem 0;font-size:1.05rem;line-height:1.25;overflow-wrap:break-word}.mct-card p,.mct-row p{color:var(--mct-muted);line-height:1.58;margin:.1rem 0;min-width:0}.mct-hero{border-radius:var(--mct-radius-lg);padding:clamp(1.1rem,2vw,1.6rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1rem;position:relative;overflow:hidden}.mct-stat,.focus-strip article{padding:1rem;border-radius:18px;border:1px solid var(--mct-line);background:rgba(255,255,255,.055);min-width:0}.mct-stat small,.focus-strip small,.focus-card span{display:block;color:var(--mct-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.mct-stat strong,.focus-strip strong{display:block;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.1}.mct-list{display:grid;gap:.75rem}.mct-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem;border:1px solid var(--mct-line);border-radius:16px;background:rgba(255,255,255,.045);min-width:0}.mct-row>*{min-width:0}.mct-row-actions,.resource-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.mct-badge{display:inline-flex;align-items:center;gap:.35rem;width:max-content;max-width:100%;min-height:28px;padding:.28rem .62rem;border-radius:999px;border:1px solid var(--mct-line);background:rgba(255,255,255,.07);color:var(--mct-text);font-size:.78rem;font-weight:800;line-height:1.15}.mct-badge.info{color:#c7f9ff;border-color:rgba(100,244,255,.35);background:rgba(100,244,255,.11)}.mct-badge.ok{color:#d6ffe3;border-color:rgba(141,247,178,.35);background:rgba(141,247,178,.11)}.mct-badge.warn{color:#fff0bf;border-color:rgba(255,224,138,.35);background:rgba(255,224,138,.12)}.mct-badge.risk{color:#ffd0dc;border-color:rgba(255,123,156,.4);background:rgba(255,123,156,.13)}.mct-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin-top:1rem}.mct-btn,.focus-primary,.mini-btn{min-height:var(--mct-control-h);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.68rem 1rem;border:1px solid var(--mct-line);border-radius:14px;background:rgba(255,255,255,.075);color:var(--mct-text);font-weight:800;cursor:pointer}.mct-btn.primary,.focus-primary{background:linear-gradient(135deg,rgba(100,244,255,.92),rgba(167,139,250,.88));color:#06101d;border-color:rgba(255,255,255,.2);box-shadow:0 16px 42px rgba(100,244,255,.18)}.mct-btn.secondary{background:rgba(255,255,255,.07)}.mct-btn.full{width:100%}.mct-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.mct-form-grid .span-2,.span-2{grid-column:1/-1}label{display:grid;gap:.42rem;color:var(--mct-muted);font-weight:700}input,select,textarea,.mct-field{width:100%;min-height:var(--mct-control-h);border-radius:14px;border:1px solid var(--mct-line);background:rgba(5,8,18,.72);color:var(--mct-text);padding:.7rem .85rem;outline:none}input:focus,select:focus,textarea:focus,.mct-field:focus{border-color:rgba(100,244,255,.55);box-shadow:0 0 0 4px rgba(100,244,255,.10)}table{width:100%;border-collapse:separate;border-spacing:0 .55rem}td,th{padding:.8rem;border-top:1px solid var(--mct-line);border-bottom:1px solid var(--mct-line);background:rgba(255,255,255,.045);text-align:left}td:first-child,th:first-child{border-left:1px solid var(--mct-line);border-radius:14px 0 0 14px}td:last-child,th:last-child{border-right:1px solid var(--mct-line);border-radius:0 14px 14px 0}.table-wrap{width:100%;overflow:auto}.chart-wrap{position:relative;width:100%;min-height:220px;overflow:hidden}
/* Mementos + lunas CSS */
.timeline{display:grid;gap:.85rem}.timeline-week-title{margin-top:.5rem;color:var(--mct-cyan);font-weight:900;letter-spacing:.06em;text-transform:uppercase}.record-pro-card{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.mct-icon,.moon-css{--moon-lit:#f8fbff;--moon-shadow:#15192c;width:58px;height:58px;min-width:58px;border-radius:50%;display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(255,255,255,.22);background:radial-gradient(circle at 35% 30%,#fff,var(--moon-lit) 38%,#cbd7ff 72%);box-shadow:inset -10px -12px 24px rgba(6,9,20,.28),0 0 28px rgba(100,244,255,.18);font-size:0;color:transparent}.mct-icon::before,.moon-css::before{content:"";position:absolute;inset:0;border-radius:50%;background:transparent}.mct-icon::after,.moon-css::after{content:"";position:absolute;inset:4px;border-radius:50%;background:transparent;box-shadow:inset -5px -6px 12px rgba(255,255,255,.14);opacity:.45}.mct-icon.moon-new,.moon-css.moon-new{background:radial-gradient(circle at 32% 30%,#333a55,#0b0f1e 62%,#040612);box-shadow:inset 10px 0 24px rgba(255,255,255,.05),0 0 26px rgba(167,139,250,.18)}.mct-icon.moon-full,.moon-css.moon-full{background:radial-gradient(circle at 35% 28%,#fff,#f6fbff 45%,#d5ddff 85%)}.mct-icon.moon-waxing,.moon-css.moon-waxing{background:var(--moon-shadow)}.mct-icon.moon-waxing::before,.moon-css.moon-waxing::before{background:var(--moon-lit);clip-path:ellipse(34% 50% at 72% 50%)}.mct-icon.moon-waning,.moon-css.moon-waning{background:var(--moon-shadow)}.mct-icon.moon-waning::before,.moon-css.moon-waning::before{background:var(--moon-lit);clip-path:ellipse(34% 50% at 28% 50%)}.mct-icon.good{border-color:rgba(141,247,178,.45)}.mct-icon.watch{border-color:rgba(255,224,138,.42)}.mct-icon.risk{border-color:rgba(255,123,156,.48)}
/* Calendario */
.calendar-page{width:min(100%,1700px)}.calendar-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;max-width:100%}.calendar-toolbar select{width:min(190px,42vw)}.calendar-toolbar input{width:105px}.calendar-shell{padding:clamp(.7rem,1.2vw,1rem)}.calendar-weekdays,.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.calendar-weekdays{margin:.65rem 0}.calendar-weekdays b{text-align:center;color:var(--mct-muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.calendar-day{position:relative;min-width:0;aspect-ratio:1/1;min-height:98px;border:1px solid var(--mct-line);border-radius:16px;background:rgba(255,255,255,.045);color:var(--mct-text);padding:.62rem;display:flex;flex-direction:column;justify-content:space-between;text-align:left;overflow:hidden;cursor:pointer}.calendar-day header{display:flex;justify-content:space-between;align-items:flex-start;gap:.35rem}.calendar-day b{font-size:1rem}.calendar-day .mct-badge{position:absolute;right:.45rem;top:.45rem;width:1.75rem;height:1.75rem;min-height:0;padding:0;justify-content:center;background:linear-gradient(135deg,var(--mct-cyan),var(--mct-violet));color:#07101e}.calendar-day p,.calendar-event{display:none!important}.calendar-day.today{border-color:rgba(100,244,255,.58);box-shadow:inset 0 0 0 1px rgba(100,244,255,.28),0 0 24px rgba(100,244,255,.14)}.muted-day{opacity:.25;pointer-events:none}.day-dots{display:flex;gap:.28rem;margin-top:auto}.dot{width:.55rem;height:.55rem;border-radius:99px;background:var(--mct-cyan);display:inline-block;box-shadow:0 0 12px currentColor}.dot.session{background:var(--mct-violet)}.dot.task{background:var(--mct-yellow)}
/* Mensajes */
.messages-layout-pro,.mct-chat-shell{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:1rem;align-items:stretch;min-height:clamp(560px,72vh,820px);min-width:0}.thread-list,.chat-box{border-radius:var(--mct-radius);padding:1rem;min-width:0;overflow:hidden}.thread-list{display:grid;grid-template-rows:auto minmax(0,1fr);gap:.8rem}.thread-items{display:grid;gap:.7rem;overflow:auto;padding-right:.15rem}.thread-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem;align-items:center;border:1px solid var(--mct-line);border-radius:16px;background:rgba(255,255,255,.045);padding:.55rem}.thread-item.unread{border-color:rgba(100,244,255,.42);background:rgba(100,244,255,.08)}.thread-open{appearance:none;border:0;background:transparent;color:var(--mct-text);text-align:left;display:grid;gap:.25rem;min-width:0;cursor:pointer}.thread-open b,.thread-open span,.thread-open small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-open span,.thread-open small{color:var(--mct-muted);font-size:.84rem}.thread-delete{width:36px;height:36px;border-radius:12px;border:1px solid var(--mct-line);background:rgba(255,255,255,.06);color:var(--mct-text)}.chat-box{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.75rem}.chat-empty{height:100%;display:grid;place-items:center;text-align:center;color:var(--mct-muted)}.thread-view-body{overflow:auto;display:flex;flex-direction:column;gap:.75rem;min-height:0}.chat-head{position:sticky;top:0;z-index:2;display:flex;gap:.7rem;align-items:center;padding:.75rem;border:1px solid var(--mct-line);border-radius:16px;background:rgba(9,12,26,.88);backdrop-filter:blur(12px)}.chat-head h2{margin:0}.chat-bubble{max-width:min(78%,680px);padding:.75rem .9rem;border:1px solid var(--mct-line);border-radius:18px;background:rgba(255,255,255,.06);line-height:1.55;overflow-wrap:anywhere}.chat-bubble.mine{align-self:flex-end;background:linear-gradient(135deg,rgba(100,244,255,.18),rgba(167,139,250,.16));border-color:rgba(100,244,255,.32)}.chat-bubble small{display:block;color:var(--mct-muted);margin-bottom:.25rem}.chat-bubble p{margin:0}.chat-reply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;align-items:end}.chat-reply textarea{min-height:70px;max-height:190px}.mc-modal-backdrop,.mct-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(3,5,12,.68);padding:1rem}.mc-modal,.mct-modal-card{width:min(720px,100%);max-height:88vh;overflow:auto;border-radius:24px;padding:1.2rem;background:var(--mct-surface-2);border:1px solid var(--mct-line-strong);box-shadow:var(--mct-shadow)}.mct-modal:not(.open){display:none}.mc-modal-x{float:right;width:40px;height:40px;border-radius:12px;border:1px solid var(--mct-line);background:rgba(255,255,255,.06);color:var(--mct-text)}
/* Dashboards específicos */
.focus-dashboard{display:grid;gap:var(--mct-gap-4)}.focus-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}.focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.focus-card{border-radius:var(--mct-radius);padding:1rem;min-width:0;overflow:hidden}.main-signal{grid-column:span 2}.resource-card{justify-content:space-between}.resource-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:rgba(100,244,255,.1);border:1px solid rgba(100,244,255,.24);font-size:1.4rem}.resource-files{display:flex;gap:.4rem;flex-wrap:wrap}.file-chip{padding:.42rem .58rem;border-radius:999px;border:1px solid var(--mct-line);background:rgba(255,255,255,.06);color:var(--mct-muted);font-size:.82rem}.kanban-column{align-self:start;min-height:260px}.user-menu-popover{position:fixed;left:calc(var(--mct-sidebar) - 10px);bottom:20px;z-index:80;width:min(520px,calc(100vw - var(--mct-sidebar) - 40px));padding:1rem;border-radius:20px}.user-menu-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0}.user-menu-panel{display:none}.user-menu-panel.active{display:block}.flash{width:min(100%,1540px);margin:0 auto 1rem;padding:.8rem 1rem;border-radius:16px;border:1px solid var(--mct-line);background:rgba(255,255,255,.07)}.flash-ok{border-color:rgba(141,247,178,.35)}.flash-nok{border-color:rgba(255,123,156,.4)}.footer{color:var(--mct-faint);text-align:center;padding:1rem}.mobile-menu{display:none}
@media (max-width:1180px){:root{--mct-sidebar:258px}.mct-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.mct-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.mct-hero{grid-template-columns:1fr}.main-signal{grid-column:auto}.calendar-day{min-height:86px}}
@media (max-width:860px){.app-shell{display:block}.main{padding:76px .75rem 1rem}.mobile-menu{display:grid;position:fixed;top:14px;left:14px;z-index:70;width:46px;height:46px;border-radius:15px;border:1px solid var(--mct-line);background:rgba(10,13,28,.8);color:var(--mct-text);backdrop-filter:blur(12px)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(86vw,330px);transform:translateX(-105%);transition:.25s ease;border-radius:0 24px 24px 0}.menu-open .sidebar,.sidebar.open{transform:none}.sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:18;opacity:0;pointer-events:none}.menu-open .sidebar-backdrop{opacity:1;pointer-events:auto}.mct-header,.focus-hero{display:grid}.mct-header h1,.focus-hero h1{font-size:clamp(2rem,12vw,3.6rem)}.mct-grid.two,.mct-grid.three,.mct-grid.four{grid-template-columns:1fr}.mct-form-grid{grid-template-columns:1fr}.messages-layout-pro,.mct-chat-shell{grid-template-columns:1fr;min-height:auto}.thread-list{max-height:42vh}.chat-box{min-height:58vh}.chat-box:not(.is-open) .chat-reply{display:none}.chat-bubble{max-width:92%}.record-pro-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.record-pro-card .mct-row-actions{grid-column:1/-1}.calendar-weekdays,.calendar-month{gap:.28rem}.calendar-day{border-radius:12px;padding:.42rem;min-height:70px}.calendar-day .mct-badge{right:.25rem;top:.25rem;width:1.45rem;height:1.45rem;font-size:.7rem}.calendar-toolbar{justify-content:flex-start}.user-menu-popover{left:1rem;right:1rem;bottom:1rem;width:auto}.footer{padding-bottom:1.5rem}}
@media (max-width:560px){.main{padding-left:.55rem;padding-right:.55rem}.mct-panel,.mct-card,.focus-card,.thread-list,.chat-box{padding:.82rem;border-radius:17px}.mct-header,.focus-hero,.mct-hero{padding:1rem;border-radius:20px}.mct-section-head{display:grid}.calendar-shell{padding:.45rem}.calendar-day{aspect-ratio:auto;height:58px;min-height:58px}.day-dots{gap:.2rem}.dot{width:.42rem;height:.42rem}.mct-icon,.moon-css{width:48px;height:48px;min-width:48px}.mct-actions,.calendar-toolbar{gap:.4rem}.mct-btn,.focus-primary,.mini-btn{width:100%}.calendar-toolbar .icon-btn,.calendar-toolbar button{width:42px}.calendar-toolbar select{flex:1 1 140px}.calendar-toolbar input{flex:0 1 90px}.thread-open small{display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}



/* ============================================================
   ORIGEN: mct-hotfix-v33.css
   ============================================================ */

/* MCT v33 · rendimiento visual, mensajes, temas y admin */
:root{--mct-readable-bg:rgba(8,12,26,.94);--mct-readable-panel:rgba(18,24,45,.92)}
body.theme-light,body.palette-clinical_light{--mct-bg:#eef4ff;--mct-bg-2:#dfe9ff;--mct-surface:rgba(255,255,255,.86);--mct-surface-2:rgba(255,255,255,.96);--mct-glass:rgba(255,255,255,.72);--mct-line:rgba(30,53,92,.16);--mct-line-strong:rgba(30,53,92,.28);--mct-text:#152033;--mct-muted:#506078;--mct-faint:#6e7c93;--mct-cyan:#007b91;--mct-violet:#6955d9;--mct-pink:#b92786;--mct-green:#147d45;--mct-yellow:#8a6100;--mct-red:#b42e52;--mct-readable-bg:rgba(255,255,255,.98);--mct-readable-panel:rgba(255,255,255,.96);background:radial-gradient(circle at 18% 0%,rgba(0,123,145,.14),transparent 34rem),linear-gradient(145deg,#f7fbff,#e9f0ff)}
body.palette-forest_mind{--mct-cyan:#80ffd2;--mct-violet:#9ee493;--mct-pink:#d7a9ff;--mct-green:#7cffb0;--mct-yellow:#ffe7a0;--mct-bg:#07140f;--mct-bg-2:#0e1f19}
body.palette-solar_soft{--mct-cyan:#7fe8ff;--mct-violet:#ffc36b;--mct-pink:#ff8fb4;--mct-green:#7ee69f;--mct-yellow:#ffd86b;--mct-bg:#120d08;--mct-bg-2:#1d160d}
body.palette-rose_nebula{--mct-cyan:#8ff7ff;--mct-violet:#c5a3ff;--mct-pink:#ff89d7;--mct-green:#9fffc3;--mct-bg:#110815;--mct-bg-2:#1d0f25}
body.theme-light .glass,body.theme-light .mct-panel,body.theme-light .mct-card,body.theme-light .focus-card,body.theme-light .focus-hero,body.theme-light .mct-hero,body.theme-light .thread-list,body.theme-light .chat-box,body.theme-light .sidebar,body.palette-clinical_light .glass,body.palette-clinical_light .mct-panel,body.palette-clinical_light .mct-card,body.palette-clinical_light .focus-card,body.palette-clinical_light .focus-hero,body.palette-clinical_light .mct-hero,body.palette-clinical_light .thread-list,body.palette-clinical_light .chat-box,body.palette-clinical_light .sidebar{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(245,249,255,.82));box-shadow:0 18px 50px rgba(32,49,90,.13);color:var(--mct-text)}
.user-menu-popover{z-index:9999!important;overflow:visible!important;background:var(--mct-readable-bg)!important;color:var(--mct-text)!important;border:1px solid var(--mct-line-strong)!important;box-shadow:0 28px 90px rgba(0,0,0,.55)!important}.user-menu-popover:not(.hidden){display:block!important}.user-menu-popover label{color:var(--mct-text)!important}.user-menu-popover input,.user-menu-popover select,.user-menu-popover textarea{background:var(--mct-readable-panel)!important;color:var(--mct-text)!important;border-color:var(--mct-line-strong)!important}.user-menu-tabs .mini-btn.active{background:linear-gradient(135deg,var(--mct-cyan),var(--mct-violet))!important;color:var(--mct-bg)!important;font-weight:900}.sidebar{overflow:visible!important}.sidebar nav{max-height:calc(100vh - 310px);overflow:auto;padding-right:.15rem}.sidebar .profile,.sidebar .wellness-mini,.sidebar .bottom-icons{position:relative;z-index:2}
.messages-page{width:min(100%,1680px)}.messages-page .focus-hero{align-items:center}.messages-layout-pro,.mct-chat-shell{grid-template-columns:minmax(300px,390px) minmax(0,1fr);min-height:calc(100vh - 230px)}.thread-list,.chat-box{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid var(--mct-line-strong)}.thread-list{padding:.9rem}.thread-items{max-height:100%;scrollbar-width:thin}.thread-item{padding:.45rem;border-radius:18px;grid-template-columns:minmax(0,1fr) 40px}.thread-open{border-radius:14px;padding:.55rem .6rem}.thread-open:hover{background:rgba(100,244,255,.08)}.thread-open b{font-size:.98rem;color:var(--mct-text)}.thread-delete{display:grid;place-items:center}.chat-box{padding:1rem;min-width:0}.thread-view-body{padding:.15rem .25rem}.chat-empty{border:1px dashed var(--mct-line-strong);border-radius:22px;background:rgba(255,255,255,.035)}.chat-head{background:var(--mct-readable-bg);box-shadow:0 16px 35px rgba(0,0,0,.18)}.chat-head p{margin:.15rem 0 0;color:var(--mct-muted)}.chat-bubble{white-space:normal;word-break:normal;overflow-wrap:anywhere}.chat-bubble.theirs{align-self:flex-start}.chat-reply{border-top:1px solid var(--mct-line);padding-top:.8rem}.chat-reply textarea{background:var(--mct-readable-panel);color:var(--mct-text);border-color:var(--mct-line-strong)}
.mct-icon.moon-new,.moon-css.moon-new{background:radial-gradient(circle at 38% 32%,#252c42,#090d19 63%,#03050b)!important}.mct-icon.moon-full,.moon-css.moon-full{background:radial-gradient(circle at 35% 28%,#fff,#f7fbff 42%,#d7def7 82%)!important}.mct-icon.moon-waxing,.moon-css.moon-waxing{background:radial-gradient(circle at 42% 35%,#171d30,#080b17 68%)!important}.mct-icon.moon-waxing:before,.moon-css.moon-waxing:before{background:radial-gradient(circle at 38% 28%,#fff,#e7eeff 64%,#bec8e8)!important;clip-path:ellipse(34% 50% at 72% 50%)}.mct-icon.moon-waning,.moon-css.moon-waning{background:radial-gradient(circle at 58% 35%,#171d30,#080b17 68%)!important}.mct-icon.moon-waning:before,.moon-css.moon-waning:before{background:radial-gradient(circle at 38% 28%,#fff,#e7eeff 64%,#bec8e8)!important;clip-path:ellipse(34% 50% at 28% 50%)}
.admin-home{width:min(100%,1680px)}.admin-home .focus-hero{grid-template-columns:minmax(0,1fr) auto}.admin-grid .focus-card{display:grid;gap:.55rem;align-content:start;min-height:180px}.admin-grid .focus-card h3{font-size:1.35rem;margin:.1rem 0}.admin-mini-panels{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:1rem;align-items:start}.compact-list{display:grid;gap:.55rem}.compact-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(90px,.5fr) minmax(180px,1fr) auto;gap:.7rem;align-items:center;border:1px solid var(--mct-line);background:rgba(255,255,255,.045);border-radius:15px;padding:.65rem .75rem;min-width:0}.compact-row>*{min-width:0;overflow:hidden;text-overflow:ellipsis}.compact-row form{overflow:visible}.mini-danger{border:1px solid rgba(255,123,156,.35);background:rgba(255,123,156,.12);color:var(--mct-red);border-radius:12px;padding:.55rem .7rem;cursor:pointer}.mini-danger:hover{background:rgba(255,123,156,.18)}
.resource-card{display:grid!important;grid-template-rows:auto auto auto;gap:.85rem;min-height:270px}.resource-card>div:first-child{display:grid;gap:.45rem}.resource-actions{display:flex!important;gap:.45rem;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:auto}.resource-actions form{display:inline-flex}.resource-actions .icon-btn{flex:0 0 var(--mct-control-h)}.mct-card.resource-card .resource-files{align-self:end;min-height:34px}
@media(max-width:980px){.messages-layout-pro,.mct-chat-shell{grid-template-columns:1fr;min-height:auto}.admin-mini-panels{grid-template-columns:1fr}.compact-row{grid-template-columns:1fr auto}.compact-row small{grid-column:1/-1}.admin-home .focus-hero{grid-template-columns:1fr}.sidebar{overflow:auto!important}.sidebar nav{max-height:none}.user-menu-popover{position:fixed!important;left:1rem!important;right:1rem!important;bottom:1rem!important;width:auto!important}}@media(max-width:620px){.chat-reply{grid-template-columns:1fr}.chat-reply .mct-btn{width:100%}.compact-row{grid-template-columns:1fr}.mini-danger{width:100%}.resource-actions{justify-content:stretch}.resource-actions .icon-btn,.resource-actions form{flex:1 1 44px}.resource-actions form .icon-btn{width:100%}}



/* ============================================================
   ORIGEN: mct-v34.css
   ============================================================ */

:root{--mct-bg:#080b14;--mct-surface:rgba(14,19,34,.88);--mct-surface-2:rgba(23,31,54,.74);--mct-text:#f4f7ff;--mct-muted:#aab5d1;--mct-border:rgba(168,190,255,.18);--mct-accent:#75f4ff;--mct-accent-2:#b78cff;--mct-danger:#ff7891;--mct-ok:#77f0b2;--mct-radius:22px;--mct-gap:clamp(10px,1.4vw,18px)}
*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{background:var(--mct-bg);color:var(--mct-text);word-break:normal;overflow-wrap:anywhere}.main{min-width:0;width:100%;max-width:100%;padding:clamp(8px,1.4vw,18px)!important}.mct-page,.focus-dashboard{width:100%;max-width:100%;min-width:0}.mct-header,.focus-hero{gap:var(--mct-gap);padding:clamp(14px,2vw,24px)!important}.compact-header{margin-bottom:var(--mct-gap)}.mct-panel,.mct-card,.focus-card{min-width:0;overflow:hidden}.mct-btn,.focus-primary,.icon-btn,.mini-btn{white-space:nowrap}.nav-svg{width:1.15em;height:1.15em;vertical-align:-.18em;margin-right:.25rem}.sidebar nav a{display:flex;align-items:center;gap:.45rem;min-width:0}
body.theme-light,body.palette-clinical_light{--mct-bg:#eef4ff;--mct-surface:rgba(255,255,255,.92);--mct-surface-2:rgba(255,255,255,.78);--mct-text:#101828;--mct-muted:#526071;--mct-border:rgba(38,75,125,.18);--mct-accent:#006edc;--mct-accent-2:#6b45d9;color:var(--mct-text);background:linear-gradient(135deg,#eef4ff,#f8fbff)}body.palette-solar_soft{--mct-bg:#1a1209;--mct-surface:rgba(43,29,18,.9);--mct-text:#fff9ed;--mct-muted:#e4cfae;--mct-accent:#ffd166;--mct-accent-2:#ff8fab}body.palette-forest_mind{--mct-bg:#07140f;--mct-surface:rgba(11,34,25,.9);--mct-text:#effff6;--mct-muted:#a9d8c0;--mct-accent:#74f2a7;--mct-accent-2:#70d6ff}body.palette-rose_nebula{--mct-bg:#160817;--mct-surface:rgba(42,18,46,.9);--mct-text:#fff3fb;--mct-muted:#dec3dd;--mct-accent:#ff8bd8;--mct-accent-2:#9ed7ff}body.theme-light .glass,body.theme-light .mct-panel,body.theme-light .mct-card,body.theme-light .focus-card{background:var(--mct-surface)!important;color:var(--mct-text)!important;border-color:var(--mct-border)!important}body.theme-light input,body.theme-light select,body.theme-light textarea{background:#fff!important;color:#101828!important;border-color:#cad6e8!important}
.user-menu-popover{position:fixed!important;left:clamp(8px,2vw,20px);bottom:82px;z-index:9999!important;width:min(420px,calc(100vw - 16px));max-height:min(78vh,680px);overflow:auto;padding:16px;border:1px solid var(--mct-border);background:var(--mct-surface)!important;color:var(--mct-text)!important;box-shadow:0 24px 80px rgba(0,0,0,.45)}.user-menu-popover.hidden{display:none!important}.user-menu-popover.is-open{display:block!important}.user-menu-panel{display:none}.user-menu-panel.active{display:block}.user-menu-tabs{display:flex;gap:8px;flex-wrap:wrap}.user-menu-popover label{display:grid;gap:6px;margin:10px 0;color:var(--mct-text)}
.mct-icon.moon-new,.mct-icon.watch.moon-new,.mct-icon.good.moon-new,.mct-icon.risk.moon-new{background:radial-gradient(circle at 45% 35%,#20283d,#070913 68%,#02030a)!important}.mct-icon.moon-full,.mct-icon.watch.moon-full,.mct-icon.good.moon-full,.mct-icon.risk.moon-full{background:radial-gradient(circle at 35% 30%,#fff,#edf4ff 45%,#b9c4e6 82%)!important}.mct-icon.moon-waxing,.mct-icon.watch.moon-waxing,.mct-icon.good.moon-waxing,.mct-icon.risk.moon-waxing{background:radial-gradient(circle at 50% 50%,#080b15 55%,#02030a 100%)!important}.mct-icon.moon-waxing:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#fff,#dfe8ff 72%);clip-path:ellipse(35% 50% at 72% 50%)}.mct-icon.moon-waning,.mct-icon.watch.moon-waning,.mct-icon.good.moon-waning,.mct-icon.risk.moon-waning{background:radial-gradient(circle at 50% 50%,#080b15 55%,#02030a 100%)!important}.mct-icon.moon-waning:before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#fff,#dfe8ff 72%);clip-path:ellipse(35% 50% at 28% 50%)}.mct-icon{position:relative;flex:0 0 auto}
.v34-messages .mct-chat-shell{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:var(--mct-gap);height:clamp(560px,calc(100vh - 190px),820px);min-height:0}.thread-list,.chat-box{min-width:0;min-height:0;border:1px solid var(--mct-border);border-radius:var(--mct-radius);background:var(--mct-surface);backdrop-filter:blur(18px);overflow:hidden}.thread-list{display:grid;grid-template-rows:auto 1fr}.thread-search{padding:12px;border-bottom:1px solid var(--mct-border)}.thread-items{overflow:auto;padding:8px;display:grid;align-content:start;gap:8px}.thread-item{display:grid;grid-template-columns:1fr auto;gap:6px;border-radius:18px;border:1px solid transparent;background:var(--mct-surface-2);overflow:hidden}.thread-item.active,.thread-item:hover{border-color:color-mix(in srgb,var(--mct-accent) 45%,transparent)}.thread-item.unread{box-shadow:inset 3px 0 0 var(--mct-accent)}.thread-open{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:12px;border:0;background:transparent;color:var(--mct-text);text-align:left;cursor:pointer;min-width:0}.thread-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,var(--mct-accent),var(--mct-accent-2));color:#07101a;font-weight:900}.thread-copy{min-width:0;display:grid;gap:3px}.thread-copy b,.thread-copy small,.thread-copy em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-copy small{color:var(--mct-muted);font-style:normal}.thread-copy em{color:var(--mct-muted);font-style:normal;font-size:.9rem}.thread-delete{align-self:start;margin:8px 8px 0 0;width:34px;height:34px;border:0;border-radius:12px;background:rgba(255,255,255,.06);color:var(--mct-muted);cursor:pointer}.chat-box{position:relative;display:grid;grid-template-rows:1fr auto}.chat-empty{display:grid;place-content:center;text-align:center;padding:22px;color:var(--mct-muted)}.chat-empty-orb{margin:auto auto 12px;width:70px;height:70px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#eef5ff,#7ca3ff 62%,#141827 64%);color:#101828}.thread-view-body{overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.chat-head{position:sticky;top:0;z-index:2;display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--mct-border);border-radius:16px;background:color-mix(in srgb,var(--mct-surface) 92%,transparent);backdrop-filter:blur(16px)}.chat-bubble{max-width:min(680px,86%);padding:12px 14px;border-radius:18px;border:1px solid var(--mct-border);background:var(--mct-surface-2);overflow-wrap:anywhere}.chat-bubble.mine{align-self:flex-end;background:linear-gradient(135deg,color-mix(in srgb,var(--mct-accent) 22%,transparent),color-mix(in srgb,var(--mct-accent-2) 18%,transparent))}.chat-bubble.theirs{align-self:flex-start}.chat-bubble small{display:block;color:var(--mct-muted);margin-bottom:4px}.chat-bubble p{margin:0;line-height:1.45}.chat-reply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;border-top:1px solid var(--mct-border);background:var(--mct-surface)}.chat-reply textarea{min-height:48px;max-height:120px;resize:vertical}.chat-reply.hidden{display:none!important}.chat-loading,.empty-state{padding:24px;text-align:center;color:var(--mct-muted)}
.task-board{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:var(--mct-gap);align-items:start}.task-column{padding:12px!important}.task-list{display:grid;gap:10px}.task-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px;border-radius:18px;border:1px solid var(--mct-border);background:var(--mct-surface-2);min-width:0}.task-copy{min-width:0}.task-copy h3{margin:.1rem 0}.task-copy p{color:var(--mct-muted);line-height:1.4;margin:.4rem 0;overflow-wrap:anywhere}.empty-column{padding:12px}
.admin-stats-grid,.admin-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--mct-gap);margin-bottom:var(--mct-gap)}.admin-stats-grid article,.admin-module-grid>*{border:1px solid var(--mct-border);border-radius:var(--mct-radius);background:var(--mct-surface);padding:16px;color:var(--mct-text);text-decoration:none;min-width:0}.admin-stats-grid strong{display:block;font-size:clamp(1.6rem,4vw,3rem)}.admin-module-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-module-grid button{cursor:pointer;text-align:left}.admin-module-grid button,.admin-module-grid a{display:grid;gap:6px;border:1px solid var(--mct-border)}.admin-module-grid span{font-size:1.4rem}.admin-module-grid small{color:var(--mct-muted)}.admin-panel-stack{display:grid;gap:var(--mct-gap)}.admin-section.hidden{display:none!important}.admin-list{max-height:min(62vh,620px);overflow:auto}.admin-search{max-width:300px}.compact-row{min-width:0;grid-template-columns:minmax(130px,1fr) auto minmax(140px,1.2fr) auto!important;gap:10px;align-items:center}.resource-card .mct-row-actions,.mct-card.resource-card .actions,.mct-card.resource-card footer{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:auto}
.calendar-page{--cal-gap:6px}.calendar-shell{width:100%;padding:8px!important}.calendar-month{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--cal-gap);width:100%}.calendar-weekdays{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--cal-gap)}.calendar-day{aspect-ratio:1/1!important;min-height:clamp(58px,9vw,118px)!important;width:100%!important;min-width:0!important;padding:8px!important;overflow:hidden}.calendar-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.calendar-toolbar select{max-width:150px}.calendar-toolbar input{max-width:92px}.calendar-day .mct-badge{position:absolute;right:6px;top:6px;min-width:24px;height:24px;display:grid;place-items:center;padding:0!important}
@media(max-width:980px){.v34-messages .mct-chat-shell{grid-template-columns:1fr;height:calc(100dvh - 150px)}.chat-box{position:fixed;inset:8px;z-index:80;display:none}.chat-box.is-open{display:grid}.task-board{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-row{grid-template-columns:1fr!important}.main{padding:8px!important}.mct-header{padding:12px!important}}
@media(max-width:640px){.mct-header,.focus-hero{display:grid!important}.mct-header .mct-btn,.focus-primary{width:100%;justify-content:center}.task-board,.admin-stats-grid,.admin-module-grid{grid-template-columns:1fr}.task-card{grid-template-columns:1fr}.chat-reply{grid-template-columns:1fr}.calendar-weekdays b{font-size:.72rem}.calendar-day{min-height:48px!important;padding:5px!important}.calendar-day header b{font-size:.85rem}.calendar-day .mct-badge{min-width:20px;height:20px;font-size:.72rem}.sidebar{max-width:min(86vw,320px)}.bottom-icons{gap:6px}.user-menu-popover{left:6px;right:6px;bottom:70px;width:auto}.thread-open{grid-template-columns:34px minmax(0,1fr);padding:9px}.thread-avatar{width:34px;height:34px;border-radius:12px}.thread-delete{width:30px;height:30px}.mct-page{padding:0!important}}



/* ============================================================
   ORIGEN: mct-v54-fixes.css
   ============================================================ */

/* v54: mensajes, tareas, fases, admin y microalineaciones */
*,*::before,*::after{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}.main,.mct-page{min-width:0;max-width:100%}.mct-page{padding-inline:clamp(.45rem,1.4vw,1rem)!important}.mct-grid,.mct-card,.mct-panel{min-width:0}.mct-card p,.mct-panel p{overflow-wrap:break-word;word-break:normal;hyphens:auto}.bottom-icon.help-question{display:inline-grid!important;place-items:center!important;text-align:center;line-height:1!important}.bottom-icon.help-question svg,.bottom-icon.help-question span{margin:auto}

/* Mensajes: estructura estable */
.mct-v54-messages .mct-chat-shell{display:grid!important;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:clamp(.65rem,1.4vw,1rem);height:clamp(560px,calc(100dvh - 170px),820px);min-height:0;width:100%;max-width:100%}.mct-v54-messages .thread-list,.mct-v54-messages .chat-box{min-width:0;min-height:0;border:1px solid var(--mct-border,rgba(255,255,255,.14));border-radius:22px;background:linear-gradient(145deg,rgba(16,24,44,.82),rgba(7,11,22,.92));box-shadow:0 18px 60px rgba(0,0,0,.22);overflow:hidden}.mct-v54-messages .thread-list{display:grid;grid-template-rows:auto minmax(0,1fr);padding:0!important}.mct-v54-messages .thread-search{padding:.75rem;border-bottom:1px solid var(--mct-border,rgba(255,255,255,.12))}.mct-v54-messages .thread-items{min-height:0;overflow:auto;padding:.6rem;display:grid;align-content:start;gap:.55rem}.mct-v54-messages .thread-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.35rem;border-radius:18px;border:1px solid transparent;background:rgba(255,255,255,.045);overflow:hidden;min-width:0}.mct-v54-messages .thread-item:hover,.mct-v54-messages .thread-item.active{border-color:color-mix(in srgb,var(--mct-accent,#6ee7ff) 48%,transparent);background:rgba(255,255,255,.075)}.mct-v54-messages .thread-item.unread{box-shadow:inset 3px 0 0 var(--mct-accent,#6ee7ff)}.mct-v54-messages .thread-open{width:100%;min-width:0;border:0;background:transparent;color:var(--mct-text,#eef6ff);display:grid;grid-template-columns:42px minmax(0,1fr);gap:.7rem;align-items:center;text-align:left;padding:.75rem;cursor:pointer}.mct-v54-messages .thread-avatar{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--mct-accent,#6ee7ff),var(--mct-accent-2,#a78bfa));color:#06111d;font-weight:900;box-shadow:0 0 24px rgba(110,231,255,.18)}.mct-v54-messages .thread-copy{display:grid;gap:.16rem;min-width:0}.mct-v54-messages .thread-copy b,.mct-v54-messages .thread-copy small,.mct-v54-messages .thread-copy em{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mct-v54-messages .thread-copy small,.mct-v54-messages .thread-copy em{color:var(--mct-muted,#aab6cc);font-style:normal}.mct-v54-messages .thread-delete{margin:.55rem .55rem 0 0;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.06);color:var(--mct-muted,#aab6cc);cursor:pointer}.mct-v54-messages .chat-box{display:grid!important;grid-template-rows:minmax(0,1fr) auto;padding:0!important}.mct-v54-messages .chat-empty{grid-row:1;display:grid;place-content:center;text-align:center;padding:clamp(1rem,4vw,2rem);color:var(--mct-muted,#aab6cc)}.mct-v54-messages .chat-box.has-thread .chat-empty{display:none!important}.mct-v54-messages .chat-empty-orb{width:76px;height:76px;margin:0 auto .85rem;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 28%,#f8fbff,#cbd8ff 50%,#10192f 54%);color:#101827;font-size:2rem;box-shadow:0 0 34px rgba(110,231,255,.25)}.mct-v54-messages .thread-view-body{min-height:0;overflow:auto;padding:.85rem;display:flex;flex-direction:column;gap:.72rem}.mct-v54-messages .thread-view-body[hidden]{display:none!important}.mct-v54-messages .chat-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--mct-border,rgba(255,255,255,.12));border-radius:18px;background:rgba(10,16,30,.9);backdrop-filter:blur(12px)}.mct-v54-messages .chat-head h2{margin:0;font-size:clamp(1rem,2vw,1.25rem)}.mct-v54-messages .chat-head p{margin:.1rem 0 0;color:var(--mct-muted,#aab6cc)}.mct-v54-messages .chat-bubble{width:fit-content;max-width:min(720px,86%);padding:.78rem .92rem;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(255,255,255,.07);overflow-wrap:anywhere;word-break:normal}.mct-v54-messages .chat-bubble.mine{align-self:flex-end;background:linear-gradient(135deg,rgba(110,231,255,.18),rgba(167,139,250,.17));border-bottom-right-radius:8px}.mct-v54-messages .chat-bubble.theirs{align-self:flex-start;border-bottom-left-radius:8px}.mct-v54-messages .chat-bubble small{display:block;margin-bottom:.35rem;color:var(--mct-muted,#aab6cc);font-size:.78rem}.mct-v54-messages .chat-bubble p{margin:0;line-height:1.55;color:var(--mct-text,#eef6ff)}.mct-v54-messages .chat-reply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;padding:.75rem;border-top:1px solid var(--mct-border,rgba(255,255,255,.12));background:rgba(7,11,22,.94)}.mct-v54-messages .chat-reply.hidden{display:none!important}.mct-v54-messages .chat-reply textarea{min-height:52px;max-height:130px;resize:vertical;border-radius:16px}.mct-v54-messages .chat-loading{padding:1rem;text-align:center;color:var(--mct-muted,#aab6cc)}

/* Tareas terapéuticas: cards anchas y legibles */
.v34-tasks .task-board,.tasks-page .task-board{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))!important;gap:clamp(.7rem,1.4vw,1rem);align-items:start;width:100%;max-width:100%}.tasks-page .task-column{min-width:0;padding:clamp(.75rem,1.4vw,1rem)!important}.tasks-page .task-list{display:grid;gap:.75rem}.tasks-page .task-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:.85rem;align-items:start;min-width:0;width:100%;padding:1rem;border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12)}.tasks-page .task-copy{min-width:0}.tasks-page .task-copy h3{margin:0 0 .35rem;font-size:1rem}.tasks-page .task-copy p{margin:0 0 .55rem;line-height:1.55;max-width:72ch;white-space:normal;overflow-wrap:break-word;word-break:normal}.tasks-page .task-copy small{color:var(--mct-muted,#aab6cc)}.tasks-page .task-card form{align-self:start;white-space:nowrap}

/* Mis fases */
.mct-v54-phases .phase-profile-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))!important}.mct-v54-phases .phase-profile-card{display:flex;flex-direction:column;gap:.85rem}.mct-v54-phases .phase-card-head{display:flex;align-items:center;gap:.85rem;min-width:0}.mct-v54-phases .phase-card-head h3{margin:.25rem 0 .1rem}.mct-v54-phases .phase-card-head small{color:var(--mct-muted,#aab6cc)}.mct-v54-phases .phase-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.mct-v54-phases .phase-metrics span{padding:.65rem;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);min-width:0}.mct-v54-phases .phase-metrics b{display:block;font-size:1.25rem}.mct-v54-phases .phase-metrics small{color:var(--mct-muted,#aab6cc)}

/* Recursos: botones alineados */
.mct-card.resource-card{display:flex!important;flex-direction:column!important;min-height:100%;gap:.75rem}.mct-card.resource-card>div:first-child{display:grid;gap:.45rem}.mct-card.resource-card p{flex:1;line-height:1.5}.resource-files{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:auto}.resource-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:.5rem!important;flex-wrap:wrap!important;margin-top:auto!important;min-height:42px}.resource-actions form{margin:0!important;display:inline-flex}.resource-actions .icon-btn,.resource-actions a.icon-btn,.resource-actions button.icon-btn{width:40px;height:40px;display:inline-grid!important;place-items:center!important;flex:0 0 40px}

/* Admin: panel visual y accionable */
.mct-v54-admin .admin-hero-v54{align-items:end}.mct-v54-admin .admin-hero-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.mct-v54-admin .admin-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin-bottom:.9rem}.mct-v54-admin .admin-kpi-grid article{min-width:0;padding:1rem;border-radius:22px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035));box-shadow:0 18px 48px rgba(0,0,0,.16)}.mct-v54-admin .admin-kpi-grid small,.mct-v54-admin .admin-kpi-grid span{display:block;color:var(--mct-muted,#aab6cc)}.mct-v54-admin .admin-kpi-grid strong{display:block;font-size:clamp(1.6rem,3.5vw,2.5rem);line-height:1;margin:.35rem 0}.mct-v54-admin .admin-module-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:.7rem;margin-bottom:.9rem}.mct-v54-admin .admin-module-grid>*{min-width:0;display:grid;gap:.25rem;text-align:left;text-decoration:none;color:var(--mct-text,#eef6ff);padding:1rem;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);cursor:pointer}.mct-v54-admin .admin-module-grid>*.active,.mct-v54-admin .admin-module-grid>*:hover{border-color:color-mix(in srgb,var(--mct-accent,#6ee7ff) 45%,transparent);background:rgba(110,231,255,.095)}.mct-v54-admin .admin-module-grid span{font-size:1.35rem}.mct-v54-admin .admin-module-grid small{color:var(--mct-muted,#aab6cc)}.mct-v54-admin .admin-panel-stack{display:grid;gap:.85rem}.mct-v54-admin .admin-section.hidden{display:none!important}.mct-v54-admin .admin-overview-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:.85rem}.mct-v54-admin .admin-feed-card{min-width:0;padding:1rem;border-radius:20px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1)}.mct-v54-admin .admin-feed-card.accent{background:linear-gradient(145deg,rgba(110,231,255,.11),rgba(167,139,250,.08))}.mct-v54-admin .admin-next-actions{margin:.7rem 0 0;padding-left:1.1rem;line-height:1.7;color:var(--mct-muted,#aab6cc)}.mct-v54-admin .panel-head{display:flex;justify-content:space-between;gap:.75rem;align-items:center;margin-bottom:.8rem}.mct-v54-admin .panel-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap}.mct-v54-admin .admin-inline-form{align-items:end;margin-bottom:.85rem}.mct-v54-admin .admin-list{max-height:min(58vh,560px);overflow:auto;display:grid;gap:.55rem}.mct-v54-admin .compact-row{display:grid!important;grid-template-columns:minmax(130px,1fr) minmax(80px,.55fr) minmax(160px,1.2fr) auto!important;align-items:center;gap:.65rem;min-width:0;padding:.75rem;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.mct-v54-admin .compact-row>*{min-width:0;overflow:hidden;text-overflow:ellipsis}.mct-v54-admin .assignment-row{grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) auto!important}.mini-danger{border:1px solid rgba(255,120,150,.35);background:rgba(255,120,150,.12);color:#ffdce5;border-radius:12px;padding:.55rem .75rem;cursor:pointer}

/* Temas legibles: override seguro */
body.theme-light,body.palette-clinical_light{--mct-text:#132033;--mct-muted:#536173;--mct-surface:rgba(255,255,255,.86);--mct-surface-2:rgba(246,249,255,.94);--mct-border:rgba(21,31,52,.16);background:#eef3fb;color:var(--mct-text)}body.theme-light .glass,body.palette-clinical_light .glass,body.theme-light .mct-card,body.theme-light .mct-panel,body.palette-clinical_light .mct-card,body.palette-clinical_light .mct-panel{color:var(--mct-text);background:rgba(255,255,255,.88);border-color:rgba(21,31,52,.16)}body.theme-light input,body.theme-light select,body.theme-light textarea,body.palette-clinical_light input,body.palette-clinical_light select,body.palette-clinical_light textarea{background:#fff!important;color:#132033!important;border-color:rgba(21,31,52,.2)!important}body.theme-light .mct-btn.secondary,body.palette-clinical_light .mct-btn.secondary{color:#132033}.user-menu-popover{z-index:9000!important;max-width:min(420px,calc(100vw - 16px));max-height:min(82dvh,680px);overflow:auto}.user-menu-popover:not(.hidden),.user-menu-popover.is-open{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}.user-menu-panel{display:none}.user-menu-panel.active{display:block}.user-menu-tabs{display:flex;gap:.45rem;flex-wrap:wrap;margin:.7rem 0}.user-menu-tabs .active{border-color:color-mix(in srgb,var(--mct-accent,#6ee7ff) 55%,transparent)}

@media(max-width:1180px){.mct-v54-admin .admin-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mct-v54-admin .admin-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:900px){.mct-v54-messages .mct-chat-shell{grid-template-columns:1fr;height:calc(100dvh - 135px)}.mct-v54-messages .chat-box{position:fixed;inset:.45rem;z-index:1200;display:none!important;border-radius:20px}.mct-v54-messages .chat-box.is-open{display:grid!important}.mct-v54-admin .admin-overview-grid{grid-template-columns:1fr}.mct-v54-admin .compact-row,.mct-v54-admin .assignment-row{grid-template-columns:1fr!important}.mct-v54-admin .panel-head{align-items:stretch;flex-direction:column}.mct-v54-admin .panel-actions>*{width:100%}}
@media(max-width:640px){.mct-page{padding-inline:.35rem!important}.mct-header{padding:.85rem!important;border-radius:18px!important}.mct-v54-messages .thread-open{grid-template-columns:36px minmax(0,1fr);padding:.6rem}.mct-v54-messages .thread-avatar{width:36px;height:36px;border-radius:12px}.mct-v54-messages .chat-reply{grid-template-columns:1fr}.mct-v54-messages .chat-bubble{max-width:94%;padding:.7rem}.tasks-page .task-card{grid-template-columns:1fr!important}.tasks-page .task-card form,.tasks-page .task-card button{width:100%}.mct-v54-admin .admin-kpi-grid,.mct-v54-admin .admin-module-grid{grid-template-columns:1fr!important}.mct-v54-admin .admin-hero-actions,.mct-v54-admin .admin-hero-actions .mct-btn{width:100%}.mct-v54-phases .phase-metrics{grid-template-columns:1fr}}



/* ============================================================
   ORIGEN: memento-visible-pro.css
   ============================================================ */

/* === MCT VISIBLE PRO INTEGRATION === */
.pro-hero{position:relative;overflow:hidden;border-radius:32px;padding:28px;margin-bottom:22px;background:radial-gradient(circle at 14% 0%,rgba(0,247,255,.22),transparent 34%),radial-gradient(circle at 88% 10%,rgba(255,0,255,.18),transparent 28%),linear-gradient(145deg,rgba(32,29,62,.96),rgba(10,9,22,.98));border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 90px rgba(0,0,0,.35)}
.pro-hero h1{font-size:clamp(2rem,4vw,4.2rem);margin:.15em 0}.pro-hero p{max-width:980px;color:#cfc7ee;line-height:1.65}.pro-hero .eyebrow,.pro-eyebrow{color:#00f7ff;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.pro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:20px 0}.pro-card{position:relative;overflow:hidden;border-radius:26px;padding:22px;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 65px rgba(0,0,0,.25);backdrop-filter:blur(16px)}
.pro-card:after{content:"";position:absolute;right:-50px;top:-50px;width:150px;height:150px;border-radius:999px;background:linear-gradient(135deg,rgba(0,247,255,.16),rgba(255,0,255,.14))}.pro-card h2,.pro-card h3{position:relative;margin:0 0 10px;color:#fff}.pro-card p,.pro-card li{position:relative;color:#beb6dc;line-height:1.58}.pro-card ul{margin:10px 0 0;padding-left:1.1rem}
.pro-chip{display:inline-flex;gap:8px;align-items:center;border-radius:999px;padding:7px 11px;margin:0 8px 10px 0;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);font-weight:800;font-size:.82rem}.pro-chip.risk{background:rgba(239,68,68,.18);color:#fecaca}.pro-chip.good{background:rgba(34,197,94,.18);color:#bbf7d0}.pro-chip.watch{background:rgba(245,158,11,.18);color:#fde68a}.pro-chip.info{background:rgba(0,247,255,.16);color:#cffafe}
.pro-action{border-radius:18px;padding:14px;margin-top:12px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.10)}.pro-action strong{color:#fff}.pro-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:14px}.pro-metric{border-radius:18px;padding:13px;background:rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.10)}.pro-metric strong{display:block;font-size:1.5rem;color:#fff}
.phase-card{border-left:6px solid var(--phase,#8b5cf6)}.substance-card{border-top:5px solid var(--sub,#00f7ff)}.matrix-card{background:radial-gradient(circle at top right,var(--glow,rgba(139,92,246,.22)),transparent 35%),linear-gradient(145deg,rgba(33,31,58,.96),rgba(12,11,24,.98))}
.sub-dopamina{--sub:#a855f7}.sub-serotonina{--sub:#2dd4bf}.sub-noradrenalina{--sub:#ff5f7e}.sub-acetilcolina{--sub:#60a5fa}.phase-nueva{--phase:#7c5cff}.phase-creciente{--phase:#00d4ff}.phase-llena{--phase:#ffce4a}.phase-menguante{--phase:#ff5f7e}
.pro-help-layout{display:grid;grid-template-columns:280px 1fr;gap:20px}.pro-help-nav button{display:block;width:100%;margin:8px 0;text-align:left;border:0;border-radius:16px;padding:13px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.pro-help-nav button.active,.pro-help-nav button:hover{background:linear-gradient(135deg,rgba(0,247,255,.18),rgba(139,92,246,.20))}.pro-help-article{display:none}.pro-help-article.active{display:block}
.pro-admin-bento{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.pro-admin-tile{min-height:160px;border-radius:28px;padding:22px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.18);box-shadow:0 22px 65px rgba(0,0,0,.28);text-decoration:none}.pro-admin-tile:nth-child(1){background:linear-gradient(135deg,#312e81,#8b5cf6)}.pro-admin-tile:nth-child(2){background:linear-gradient(135deg,#0e7490,#22d3ee)}.pro-admin-tile:nth-child(3){background:linear-gradient(135deg,#be185d,#f472b6)}.pro-admin-tile:nth-child(4){background:linear-gradient(135deg,#166534,#22c55e)}.pro-admin-tile:nth-child(5){background:linear-gradient(135deg,#92400e,#f59e0b)}.pro-admin-tile b{font-size:2rem}.pro-disclaimer{border-left:5px solid #00f7ff;border-radius:18px;padding:15px 18px;background:rgba(0,247,255,.08);color:#cffafe}
@media(max-width:820px){.pro-help-layout{grid-template-columns:1fr}}



/* ============================================================
   ORIGEN: pro-ui.css
   ============================================================ */

:root{
  --bg:#100f1f;--panel:#18162b;--panel2:#211f3a;--text:#f4f0ff;--muted:#b9b0d4;
  --cyan:#00f7ff;--purple:#8b5cf6;--pink:#ff4fd8;--green:#22c55e;--red:#ef4444;--amber:#f59e0b;
}
*{box-sizing:border-box}
body{background:radial-gradient(circle at top left,#2b155f 0,#100f1f 42%,#090814 100%);color:var(--text);font-family:Inter,system-ui,Segoe UI,sans-serif;margin:0}
.main-panel{padding:24px;max-width:1280px;margin:auto}
.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.module-card,.record-card.glass{background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 55px rgba(0,0,0,.28);border-radius:22px;padding:18px;backdrop-filter:blur(16px)}
.module-card{min-height:135px;cursor:pointer;transition:.2s transform,.2s border-color}
.module-card:hover{transform:translateY(-4px);border-color:rgba(0,247,255,.45)}
.module-card .icon{width:44px;height:44px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--purple),var(--pink));margin-bottom:12px}
.module-card h3{margin:0 0 6px;font-size:1.05rem}
.module-card p{margin:0;color:var(--muted);font-size:.9rem}
.nav-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:linear-gradient(135deg,var(--red),var(--amber));font-size:.75rem;color:white;font-weight:800;margin-left:8px}
.flash-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);z-index:9999;min-width:280px;max-width:90vw;text-align:center;padding:14px 20px;border-radius:16px;color:white;font-weight:800;opacity:0;pointer-events:none;transition:.25s ease}
.flash-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.flash-toast.ok{background:linear-gradient(135deg,#16a34a,#22c55e)}
.flash-toast.nok{background:linear-gradient(135deg,#dc2626,#ef4444)}
.modal-shell{position:fixed;inset:0;background:rgba(5,4,12,.78);display:none;align-items:center;justify-content:center;z-index:9000;padding:24px}
.modal-shell.open{display:flex}
.modal-panel{background:linear-gradient(145deg,#19172e,#111020);border:1px solid rgba(255,255,255,.14);border-radius:24px;max-width:980px;width:100%;max-height:90vh;overflow:auto;padding:24px;box-shadow:0 30px 100px rgba(0,0,0,.55)}
.modal-panel.fullscreen{max-width:calc(100vw - 36px);height:calc(100vh - 36px)}
.icon-actions{display:flex;gap:10px;align-items:center}
.icon-btn{border:0;background:rgba(255,255,255,.08);color:var(--text);width:38px;height:38px;border-radius:12px;display:grid;place-items:center;cursor:pointer}
.icon-btn:hover{background:rgba(255,255,255,.16)}
.record-face{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.8),rgba(255,255,255,.05) 38%),linear-gradient(135deg,var(--purple),var(--pink));box-shadow:0 0 22px rgba(139,92,246,.55)}
.record-face.serotonina{background:linear-gradient(135deg,#0f766e,#2dd4bf)}
.record-face.dopamina{background:linear-gradient(135deg,#7e22ce,#f0abfc)}
.record-face.noradrenalina{background:linear-gradient(135deg,#b91c1c,#fb7185)}
.record-face.acetilcolina{background:linear-gradient(135deg,#1d4ed8,#60a5fa)}
.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.insight-card{border-radius:20px;padding:18px;background:linear-gradient(145deg,rgba(0,247,255,.1),rgba(255,79,216,.08));border:1px solid rgba(255,255,255,.12)}
.pattern-card{border-radius:18px;padding:16px;background:#201d38;border-left:5px solid var(--cyan)}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
input,select,textarea{width:100%;background:#0d0c19;border:1px solid rgba(255,255,255,.16);color:var(--text);border-radius:14px;padding:12px}
button.primary{border:0;border-radius:14px;padding:12px 18px;background:linear-gradient(135deg,var(--cyan),var(--purple));color:white;font-weight:800;cursor:pointer}
.admin-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.admin-stat{padding:18px;border-radius:22px;background:linear-gradient(135deg,var(--purple),var(--pink));box-shadow:0 18px 45px rgba(139,92,246,.25)}
.admin-stat:nth-child(2){background:linear-gradient(135deg,#0891b2,#22d3ee)}
.admin-stat:nth-child(3){background:linear-gradient(135deg,#15803d,#22c55e)}
.admin-stat:nth-child(4){background:linear-gradient(135deg,#c2410c,#f59e0b)}
.admin-stat strong{display:block;font-size:2rem}



/* ============================================================
   ORIGEN: audit-fixes.css
   ============================================================ */

/* Audit fixes v17.1: estados vacíos, datos reales y temas aplicados */
:root{--panel-strong:rgba(255,255,255,.095);--panel-soft:rgba(255,255,255,.055);--text-main:#f4f7fb;--text-muted:#aeb8ca;--ring-good:#2dd4bf;--ring-warn:#facc15;--ring-risk:#fb7185}
body.theme-light,body.palette-clinical_light{--text-main:#101625;--text-muted:#546179;--panel-strong:rgba(255,255,255,.88);--panel-soft:rgba(255,255,255,.64)}
body.palette-forest_mind{--ring-good:#34d399;--ring-warn:#bef264;--ring-risk:#fb7185}
body.palette-solar_soft{--ring-good:#38bdf8;--ring-warn:#f59e0b;--ring-risk:#f97316}
body.palette-rose_nebula{--ring-good:#c084fc;--ring-warn:#f0abfc;--ring-risk:#fb7185}
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.metric.is-empty{opacity:.74;background:linear-gradient(135deg,var(--panel-soft),rgba(255,255,255,.025));border-style:dashed}
.metric.is-empty strong{color:var(--text-muted)}
.metric.is-empty i{opacity:.35}
.empty-state{min-height:220px;display:grid;place-items:center;text-align:center;padding:28px;border:1px dashed rgba(255,255,255,.18);border-radius:24px;background:radial-gradient(circle at top,rgba(155,92,255,.14),rgba(255,255,255,.035))}
.empty-state.compact{min-height:auto;padding:18px;display:block;text-align:left}
.empty-state strong{display:block;font-size:1.1rem;color:var(--text-main);margin-bottom:6px}.empty-state p{max-width:42rem;margin:.25rem auto 1rem;color:var(--text-muted)}
.chart-lines svg polyline.line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-lines .line.purple{stroke:#9b5cff}.chart-lines .line.cyan{stroke:#00d4ff}.chart-lines .line.rose{stroke:#ff5f7e}.chart-lines text{font-size:13px;fill:var(--text-muted)}
.week-dots span{opacity:.45}.week-dots span.active{opacity:1;box-shadow:0 0 0 1px rgba(45,212,191,.35),0 0 24px rgba(45,212,191,.18)}
.top-actions .icon-bell b:empty,.top-actions .icon-bell b{min-width:18px;height:18px;display:inline-grid;place-items:center;border-radius:999px;font-size:11px}.top-actions .icon-bell b{background:rgba(255,255,255,.16)}
.recommendation-card h3,.balance-card h3{letter-spacing:-.02em}.small{font-size:.88rem}.muted.small{opacity:.75;margin-top:1rem}.density-compact .panel,.density-compact .metric{padding:14px!important}.density-compact .patient-layout{gap:14px}
.resource-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}.resource-files strong{width:100%;font-size:.82rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.resource-card .empty-state.compact{margin-top:12px}



/* ============================================================
   ORIGEN: responsive.css
   ============================================================ */

/* role hook */

@media (max-width: 980px){.focus-hero{align-items:flex-start;flex-direction:column}.focus-strip{grid-template-columns:repeat(2,1fr)}.focus-grid{grid-template-columns:1fr}.main-signal{grid-column:auto}.admin-mini-panels{grid-template-columns:1fr}.messages-layout-pro.mct-chat-shell{grid-template-columns:1fr;height:auto}.context-panel{display:none}.chat-box{min-height:70vh;display:none}.chat-box.is-open{display:flex;position:fixed;inset:0;z-index:1000;border-radius:0}.thread-list{max-height:none}.mct-form-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.compact-row{grid-template-columns:1fr auto}}
@media (max-width: 640px){.focus-dashboard,.messages-page{padding:.7rem}.focus-strip{grid-template-columns:repeat(2,1fr);gap:.55rem}.focus-strip article,.focus-card{border-radius:18px;padding:.8rem}.focus-hero{border-radius:20px;min-height:auto}.focus-primary{width:100%}.chat-bubble{max-width:94%}}



/* ============================================================
   ORIGEN: admin.css
   ============================================================ */

/* role hook */



/* ============================================================
   ORIGEN: patient.css
   ============================================================ */

/* role hook */



/* ============================================================
   ORIGEN: professional.css
   ============================================================ */

/* role hook */



/* ============================================================
   OVERRIDES FINALES - UI RESPONSIVE, MENSAJES, ADMIN Y HOTFIXES
   Estos estilos deben quedar AL FINAL para ganar la cascada.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; }
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
body {
  min-height: 100vh;
  word-break: normal;
  overflow-wrap: break-word;
}
img, svg, canvas, video, iframe, table, pre, code { max-width: 100%; }
button, input, textarea, select { font: inherit; max-width: 100%; }

.mct-main,
.mct-content,
.mct-page,
.page-content,
.dashboard-page,
.dashboard-shell,
.admin-dashboard,
.patient-dashboard,
.professional-dashboard,
.messages-page {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
}

.bottom-icon.help-question,
.help-question,
button .bottom-icon.help-question,
.mct-bottom-nav .help-question {
  display: inline-grid !important;
  place-items: center !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1 !important;
}

.mct-card.resource-card,
.resource-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}
.mct-card.resource-card .mct-card-actions,
.mct-card.resource-card .resource-actions,
.resource-card .mct-card-actions,
.resource-card .resource-actions {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
}
.mct-card.resource-card .mct-btn,
.resource-card .mct-btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.messages-page,
.messages-page * { box-sizing: border-box; }
.messages-page {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  padding-inline: clamp(.5rem, 1.8vw, 1.25rem);
}
.messages-page .compact-header,
.messages-hero,
.messages-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}
.messages-page .compact-header > div,
.messages-hero > div,
.messages-header > div { min-width: 0; }
.messages-page h1,
.messages-page p { overflow-wrap: anywhere; }

.mct-chat-shell,
.messages-layout,
.chat-layout {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(250px, 370px) minmax(0, 1fr);
  gap: 1rem;
  overflow: hidden;
}
.thread-list,
.conversation-list,
.chat-box,
.chat-panel {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  border-radius: clamp(16px, 2vw, 24px);
}
.thread-list,
.conversation-list {
  display: flex;
  flex-direction: column;
  max-height: 72vh;
}
.thread-search {
  flex: 0 0 auto;
  padding: .9rem;
}
.thread-search .mct-field { width: 100%; min-width: 0; }
.thread-items,
.conversation-items {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: .75rem;
}
.thread-item,
.conversation-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .6rem;
  align-items: center;
  overflow: hidden;
}
.thread-open {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: .8rem;
  align-items: center;
  text-align: left;
}
.thread-avatar {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.thread-copy,
.thread-copy *,
.conversation-copy,
.conversation-copy * { min-width: 0; }
.thread-copy b,
.thread-copy small,
.thread-copy em,
.conversation-preview {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.thread-delete {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.chat-box,
.chat-panel {
  display: flex;
  flex-direction: column;
  height: min(72vh, 760px);
  min-height: 520px;
}
.chat-empty {
  flex: 1 1 auto;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  padding: 2rem;
}
.thread-view-body,
.chat-messages,
.chat-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 1rem;
}
.thread-view-body[hidden] { display: none !important; }
.thread-view-body > *,
.chat-messages > *,
.chat-body > * { max-width: 100%; min-width: 0; }
.chat-message,
.message-bubble,
.message-card,
.thread-message {
  max-width: min(720px, 100%);
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
.chat-message p,
.message-bubble p,
.message-card p,
.thread-message p {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
.chat-reply {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  padding: .9rem;
}
.chat-reply.hidden { display: none !important; }
.chat-reply textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 52px;
  max-height: 160px;
  resize: vertical;
}
.chat-reply .mct-btn { align-self: stretch; white-space: nowrap; }

.user-options-panel,
.settings-panel,
.profile-options-panel,
.theme-panel,
[data-user-options] {
  max-width: min(760px, calc(100vw - 1.5rem));
  max-height: min(92vh, 860px);
  overflow: auto;
}
.user-options-modal,
.settings-modal,
.profile-options-modal,
.theme-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: .75rem;
  background: rgba(2, 6, 23, .72);
  backdrop-filter: blur(18px);
}
.user-options-modal[hidden],
.settings-modal[hidden],
.profile-options-modal[hidden],
.theme-modal[hidden],
.hidden { display: none !important; }

.therapeutic-tasks-grid,
.tasks-grid,
.tareas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 1rem;
  width: 100%;
  max-width: 100%;
}
.therapeutic-task-card,
.task-card,
.tarea-card {
  min-width: 0;
  max-width: 100%;
}
.therapeutic-task-card p,
.task-card p,
.tarea-card p {
  line-height: 1.65;
  max-width: 72ch;
  overflow-wrap: anywhere;
}

.calendar-grid,
.mct-calendar-grid {
  width: 100%;
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .35rem;
}
.calendar-day,
.mct-calendar-day,
.calendar-cell,
.mct-calendar-cell {
  min-width: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.mct-actions,
.calendar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  justify-content: flex-end;
}
.mct-actions > *,
.calendar-actions > * { min-width: 0; }

.admin-shell,
.admin-layout {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(230px, 290px) minmax(0, 1fr);
  gap: 1rem;
  overflow: hidden;
}
.admin-sidebar,
.admin-nav,
.admin-panel,
.admin-content {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}
.admin-panel[hidden],
.admin-section[hidden] { display: none !important; }
.admin-kpi-grid,
.admin-stats-grid,
.patient-insight-grid,
.pro-insight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 1rem;
}
.table-responsive,
.mct-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-responsive table,
.mct-table-wrap table { min-width: 720px; }

@media (max-width: 1024px) {
  .admin-shell,
  .admin-layout { grid-template-columns: 1fr; }
  .admin-sidebar,
  .admin-nav {
    position: static;
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    padding-bottom: .25rem;
  }
}
@media (max-width: 900px) {
  .messages-page { padding-inline: .5rem; }
  .messages-page .compact-header,
  .messages-hero,
  .messages-header {
    flex-direction: column;
    align-items: stretch;
  }
  .messages-page .compact-header .mct-btn,
  .messages-hero .mct-btn,
  .messages-header .mct-btn { width: 100%; }
  .mct-chat-shell,
  .messages-layout,
  .chat-layout {
    grid-template-columns: 1fr;
    gap: .75rem;
  }
  .thread-list,
  .conversation-list { max-height: 38vh; }
  .chat-box,
  .chat-panel {
    height: auto;
    min-height: 58vh;
  }
  .chat-reply { grid-template-columns: 1fr; }
  .chat-reply .mct-btn { width: 100%; }
}
@media (max-width: 640px) {
  .mct-page,
  .mct-content,
  .dashboard-page,
  .messages-page {
    padding-left: .5rem !important;
    padding-right: .5rem !important;
  }
  .mct-card,
  .card,
  .dashboard-card { border-radius: 16px !important; }
  .calendar-grid,
  .mct-calendar-grid { gap: .2rem; }
  .calendar-day,
  .mct-calendar-day,
  .calendar-cell,
  .mct-calendar-cell {
    min-height: 48px;
    aspect-ratio: auto;
  }
}
@media (max-width: 520px) {
  .thread-item,
  .conversation-card { grid-template-columns: minmax(0, 1fr); }
  .thread-delete { width: 100%; }
  .thread-open { grid-template-columns: 44px minmax(0, 1fr); }
  .thread-avatar { width: 44px; height: 44px; }
}

/* ==========================================================
   V56 FINAL REPAIR LAYER: mensajes, admin, modales, responsive
   ========================================================== */
html,body{width:100%;max-width:100%;overflow-x:hidden!important}img,svg,canvas,video{max-width:100%;height:auto}.app-shell,.main,.mct-page,.focus-dashboard,.mct-panel,.glass{min-width:0;max-width:100%;box-sizing:border-box}.main{width:100%;overflow-x:hidden;padding-inline:clamp(.45rem,1.4vw,1rem)!important}.bottom-icon{width:44px;height:44px;display:inline-grid!important;place-items:center!important;align-items:center!important;justify-items:center!important;text-align:center;line-height:1;border-radius:14px}.bottom-icon.help-question{font-weight:900;font-size:1.1rem;line-height:1!important;padding:0!important}.nav-svg{width:1.1em;height:1.1em;display:inline-block;vertical-align:-.18em;flex:0 0 auto}

/* Paletas legibles */
body.theme-light,body.palette-clinical_light{--bg:#f5f7fb!important;--panel:rgba(255,255,255,.92)!important;--surface:#ffffff!important;--surface-2:#eef2ff!important;--text:#0f172a!important;--muted:#475569!important;--line:rgba(15,23,42,.16)!important;color:var(--text)!important;background:linear-gradient(135deg,#f8fafc,#eef2ff)!important}body.theme-light .glass,body.palette-clinical_light .glass,body.theme-light .mct-panel,body.palette-clinical_light .mct-panel{background:rgba(255,255,255,.92)!important;color:#0f172a!important;border-color:rgba(15,23,42,.14)!important}body.theme-light input,body.theme-light select,body.theme-light textarea,body.palette-clinical_light input,body.palette-clinical_light select,body.palette-clinical_light textarea{background:#fff!important;color:#0f172a!important;border-color:rgba(15,23,42,.18)!important}body.palette-forest_mind{--bg:#06130f;--panel:rgba(8,32,25,.86);--text:#ecfdf5;--muted:#a7f3d0;--purple:#34d399;--cyan:#5eead4}body.palette-solar_soft{--bg:#17100a;--panel:rgba(46,28,12,.86);--text:#fff7ed;--muted:#fed7aa;--purple:#f59e0b;--cyan:#facc15}body.palette-rose_nebula{--bg:#160816;--panel:rgba(44,18,42,.88);--text:#fff1f8;--muted:#fbcfe8;--purple:#ec4899;--cyan:#c084fc}

/* Modal de opciones de usuario: pantalla completa centrada */
.user-menu-popover{position:fixed!important;inset:clamp(.5rem,2vw,1.25rem)!important;z-index:10000!important;width:auto!important;max-width:980px!important;max-height:none!important;margin:auto!important;display:flex!important;flex-direction:column!important;gap:1rem!important;padding:clamp(1rem,2.5vw,1.5rem)!important;border-radius:28px!important;overflow:hidden!important;background:linear-gradient(145deg,rgba(15,23,42,.96),rgba(20,17,43,.96))!important;border:1px solid rgba(160,190,255,.24)!important;box-shadow:0 30px 100px rgba(0,0,0,.72)!important;color:#f8fbff!important}.user-menu-popover.hidden{display:none!important}.user-menu-popover.is-open::before{content:"";position:fixed;inset:0;z-index:-1;background:rgba(2,6,23,.72);backdrop-filter:blur(12px)}.user-menu-popover .panel-head{flex:0 0 auto}.user-menu-tabs{display:flex;gap:.65rem;flex-wrap:wrap}.user-menu-panel{display:none;min-height:0;overflow:auto;padding:.25rem}.user-menu-panel.active{display:block}.user-menu-popover form{display:grid;gap:1rem}.user-menu-popover input,.user-menu-popover select{min-height:46px}@media(max-width:680px){.user-menu-popover{inset:.35rem!important;border-radius:20px!important;padding:.85rem!important}.user-menu-tabs{display:grid;grid-template-columns:1fr}.user-menu-tabs .mini-btn{width:100%}}

/* MENSAJES: layout sin scroll horizontal ni textos rotos */
.messages-page,.messages-page *{box-sizing:border-box}.messages-page{width:100%;max-width:100%;overflow-x:hidden!important;padding-inline:clamp(.45rem,1.2vw,1rem)!important}.messages-page .compact-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;max-width:100%;overflow:hidden}.messages-page .compact-header>div{min-width:0}.messages-page .compact-header h1,.messages-page .compact-header p{overflow-wrap:anywhere}.mct-chat-shell{width:100%!important;max-width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:minmax(260px,360px) minmax(0,1fr)!important;gap:1rem!important;align-items:stretch!important;overflow:hidden!important}.thread-list,.chat-box{min-width:0!important;max-width:100%!important;overflow:hidden!important;border:1px solid rgba(160,190,255,.18)!important;border-radius:24px!important;background:rgba(8,13,30,.78)!important}.thread-list{display:flex!important;flex-direction:column!important;max-height:calc(100vh - 210px)!important;min-height:520px!important}.thread-search{flex:0 0 auto;padding:1rem;border-bottom:1px solid rgba(160,190,255,.14)}.thread-search .mct-field{width:100%;min-width:0}.thread-items{flex:1 1 auto;min-height:0;overflow-y:auto!important;overflow-x:hidden!important;padding:.85rem}.thread-item{width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center;margin-bottom:.72rem;padding:.75rem;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);overflow:hidden}.thread-item.active,.thread-item:hover{border-color:rgba(103,232,249,.38);background:rgba(103,232,249,.06)}.thread-open{min-width:0;width:100%;display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:.75rem;align-items:center;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;overflow:hidden}.thread-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;font-weight:900;background:linear-gradient(135deg,#67e8f9,#a78bfa);color:#07111f;flex:0 0 auto}.thread-copy{min-width:0;display:block}.thread-copy b,.thread-copy small,.thread-copy em{display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-copy b{color:#f8fbff;font-size:.98rem}.thread-copy small,.thread-copy em{color:rgba(226,232,240,.72)}.thread-delete{width:40px;height:40px;display:grid!important;place-items:center;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#e5e7eb;cursor:pointer;overflow:hidden}.chat-box{display:flex!important;flex-direction:column!important;height:calc(100vh - 210px)!important;min-height:520px!important}.chat-empty{flex:1;display:grid;place-items:center;align-content:center;text-align:center;padding:2rem;overflow:hidden}.chat-empty-orb{width:72px;height:72px;display:grid;place-items:center;border-radius:24px;background:radial-gradient(circle,#a78bfa,#111827);font-size:2rem;margin:auto}.thread-view-body{flex:1 1 auto;min-height:0;overflow-y:auto!important;overflow-x:hidden!important;padding:1rem;scrollbar-gutter:stable}.thread-view-body[hidden]{display:none!important}.thread-view-body>*{max-width:100%;min-width:0}.chat-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:.8rem;margin:-1rem -1rem 1rem;padding:.85rem 1rem;background:rgba(8,13,30,.94);border-bottom:1px solid rgba(160,190,255,.14);backdrop-filter:blur(8px)}.chat-head h2{margin:0;font-size:1.05rem;overflow-wrap:anywhere}.chat-head p{margin:.15rem 0 0;color:var(--muted)}.chat-bubble,.chat-message,.message-bubble,.message-card,.thread-message{max-width:min(720px,82%)!important;min-width:0!important;width:fit-content;overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important;margin:.7rem 0;padding:.85rem 1rem;border-radius:20px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.09);box-shadow:none!important}.chat-bubble.mine{margin-left:auto;background:linear-gradient(135deg,rgba(103,232,249,.16),rgba(167,139,250,.16));border-color:rgba(103,232,249,.24)}.chat-bubble.theirs{margin-right:auto}.chat-bubble small{display:block;color:rgba(226,232,240,.72);margin-bottom:.35rem;overflow-wrap:anywhere}.chat-bubble p,.chat-message p,.message-bubble p,.message-card p,.thread-message p{max-width:100%;margin:0;overflow-wrap:anywhere!important;white-space:normal!important;line-height:1.55}.chat-reply{flex:0 0 auto;display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;padding:1rem;border-top:1px solid rgba(160,190,255,.14);background:rgba(2,6,23,.72)}.chat-reply.hidden{display:none!important}.chat-reply textarea{width:100%;min-width:0;max-width:100%;min-height:52px;max-height:160px;resize:vertical}.chat-reply .mct-btn{align-self:stretch;white-space:nowrap}.mc-modal-backdrop{position:fixed!important;inset:0!important;z-index:9999!important;display:grid;place-items:center;padding:1rem;background:rgba(2,6,23,.72);backdrop-filter:blur(16px);overflow:auto}.mc-modal-backdrop.hidden{display:none!important}.mc-modal{width:min(720px,100%)!important;max-height:min(92vh,760px)!important;overflow-y:auto!important;overflow-x:hidden!important}@media(max-width:900px){.messages-page{padding-inline:.35rem!important}.messages-page .compact-header{flex-direction:column;align-items:stretch}.messages-page .compact-header .mct-btn{width:100%}.mct-chat-shell{grid-template-columns:1fr!important;gap:.75rem!important}.thread-list{min-height:0!important;max-height:34vh!important}.chat-box{height:auto!important;min-height:58vh!important}.chat-bubble{max-width:100%!important}.chat-reply{grid-template-columns:1fr!important}.chat-reply .mct-btn{width:100%}}@media(max-width:520px){.thread-item{grid-template-columns:minmax(0,1fr)}.thread-delete{width:100%}.thread-open{grid-template-columns:42px minmax(0,1fr)!important}.thread-avatar{width:42px;height:42px;border-radius:14px}.chat-head{margin:-.75rem -.75rem .75rem;padding:.75rem}.thread-view-body{padding:.75rem}}

/* Admin v56 */
.admin-v56 .admin-kpi-grid,.admin-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.admin-kpi-grid article{min-width:0;border:1px solid rgba(160,190,255,.16);border-radius:20px;padding:1rem;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));overflow:hidden}.admin-kpi-grid small,.admin-kpi-grid span{display:block;color:var(--muted)}.admin-kpi-grid strong{display:block;font-size:clamp(1.45rem,3vw,2.35rem);color:#fff;margin:.25rem 0}.admin-module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin:1rem 0}.admin-module-grid button,.admin-module-grid a{min-width:0;border:1px solid rgba(160,190,255,.16);border-radius:20px;padding:1rem;background:rgba(255,255,255,.05);color:inherit;text-align:left;cursor:pointer;display:grid;gap:.3rem;text-decoration:none}.admin-module-grid button:hover,.admin-module-grid button.active,.admin-module-grid a:hover{border-color:rgba(103,232,249,.38);transform:translateY(-1px);background:rgba(103,232,249,.08)}.admin-module-grid span{font-size:1.5rem}.admin-module-grid b,.admin-module-grid small{min-width:0;overflow-wrap:anywhere}.admin-start-card{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:1rem;margin-bottom:1rem}.admin-start-orbit{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from 160deg,#67e8f9,#a78bfa,#f472b6,#67e8f9);box-shadow:0 0 40px rgba(167,139,250,.26)}.admin-start-orbit span{width:112px;height:112px;border-radius:50%;background:rgba(8,13,30,.94)}.admin-section{margin-top:1rem}.admin-section.hidden{display:none!important}.panel-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.admin-inline-form{align-items:end}.compact-list{display:grid;gap:.65rem}.compact-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.8rem;align-items:center;padding:.8rem;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);overflow:hidden}.compact-row b,.compact-row small,.compact-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-danger{border:1px solid rgba(244,63,94,.38);background:rgba(244,63,94,.12);color:#fecdd3;border-radius:12px;padding:.55rem .75rem;cursor:pointer}.pagination-controls{display:flex;gap:.45rem;justify-content:center;align-items:center;margin:1rem 0;flex-wrap:wrap}.pagination-controls button{border:1px solid rgba(160,190,255,.2);background:rgba(255,255,255,.06);color:inherit;border-radius:10px;min-width:36px;height:36px;cursor:pointer}.pagination-controls button.active{background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff}@media(max-width:1180px){.admin-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.admin-kpi-grid,.admin-module-grid{grid-template-columns:1fr}.admin-start-card{grid-template-columns:1fr}.admin-start-orbit{display:none}.compact-row{grid-template-columns:1fr}.compact-row b,.compact-row small,.compact-row span{white-space:normal}.panel-actions,.admin-hero-actions{width:100%;display:grid;grid-template-columns:1fr}.panel-actions .mct-field,.panel-actions .mct-btn,.admin-hero-actions .mct-btn{width:100%}}

/* Patient / professional dashboard visual */
.focus-dashboard{width:100%;max-width:100%;overflow-x:hidden}.focus-hero{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.hero-action-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.focus-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:16px;padding:.85rem 1.1rem;background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff;font-weight:900;text-decoration:none}.focus-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.patient-metric-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.focus-strip article{min-width:0;border:1px solid rgba(160,190,255,.16);background:rgba(255,255,255,.055);border-radius:20px;padding:1rem;overflow:hidden}.focus-strip small,.focus-strip span{display:block;color:var(--muted)}.focus-strip strong{display:block;font-size:clamp(1.35rem,3vw,2rem);margin:.25rem 0;color:#fff}.focus-strip i{display:block;height:6px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}.focus-strip i::after{content:"";display:block;width:var(--w);height:100%;background:linear-gradient(90deg,#67e8f9,#a78bfa);border-radius:inherit}.patient-hero-visual{padding:clamp(1rem,2vw,1.5rem);border-radius:28px;background:radial-gradient(circle at 80% 20%,rgba(103,232,249,.22),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(160,190,255,.16)}.wellness-dial{width:190px;height:190px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;text-align:center;background:conic-gradient(#67e8f9 var(--value),rgba(255,255,255,.1) 0);box-shadow:0 0 50px rgba(103,232,249,.22)}.wellness-dial::before{content:"";grid-area:1/1;width:146px;height:146px;border-radius:50%;background:rgba(8,13,30,.96)}.wellness-dial span,.wellness-dial small{grid-area:1/1;z-index:1}.wellness-dial span{font-size:2.4rem;font-weight:900;color:#fff;transform:translateY(-.25rem)}.wellness-dial small{color:var(--muted);font-size:.75rem;transform:translateY(1.65rem);max-width:90px}.patient-insight-grid,.pro-insights-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem}.patient-insight-grid{grid-template-columns:1.4fr repeat(2,minmax(0,1fr));align-items:stretch}.insight-card-large{grid-row:span 2}.insight-compass{display:grid;grid-template-columns:90px minmax(0,1fr);gap:1rem;align-items:center}.insight-compass>span{width:90px;height:90px;display:grid;place-items:center;border-radius:30px;background:radial-gradient(circle,#a78bfa,#111827);font-size:2.4rem}.mini-oracle-card span{display:block;color:#67e8f9;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.mini-oracle-card h3{font-size:1.25rem;margin:.4rem 0}.clinical-orbit{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;margin:1rem auto;background:conic-gradient(#f472b6 var(--risk),#67e8f9 var(--risk),#a78bfa var(--tasks),rgba(255,255,255,.12) 0)}.clinical-orbit::before{content:"";grid-area:1/1;width:132px;height:132px;border-radius:50%;background:rgba(8,13,30,.94)}.clinical-orbit span,.clinical-orbit small{grid-area:1/1;z-index:1}.clinical-orbit span{font-size:2.2rem;font-weight:900}.clinical-orbit small{transform:translateY(1.55rem);color:var(--muted)}.insight-bars{display:grid;gap:.8rem}.insight-bars p{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:.5rem;align-items:center;margin:0}.insight-bars i{grid-column:1/-1;height:8px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}.insight-bars em{display:block;height:100%;background:linear-gradient(90deg,#67e8f9,#a78bfa);border-radius:inherit}.record-search{display:flex;gap:.55rem;align-items:center}.record-search input{min-width:min(420px,45vw)}.pro-record-feed{display:grid;gap:.8rem}.patient-entry-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:.85rem;align-items:start;padding:1rem;border-radius:20px;border:1px solid rgba(160,190,255,.16);background:rgba(255,255,255,.045);overflow:hidden}.patient-entry-card.risk{border-color:rgba(244,114,182,.35);background:linear-gradient(135deg,rgba(244,114,182,.08),rgba(255,255,255,.035))}.entry-moon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:radial-gradient(circle,#a78bfa,#111827);font-size:1.7rem}.entry-main{min-width:0}.entry-title{display:flex;justify-content:space-between;gap:.6rem;align-items:start}.entry-title h3{margin:0;overflow-wrap:anywhere}.entry-title span{flex:0 0 auto;border-radius:999px;background:rgba(103,232,249,.1);color:#a5f3fc;padding:.3rem .55rem;font-size:.8rem}.entry-main p{overflow-wrap:anywhere;color:var(--muted);line-height:1.55}.entry-meta{display:flex;gap:.45rem;flex-wrap:wrap}.entry-meta>*{border-radius:999px;background:rgba(255,255,255,.07);padding:.28rem .55rem;color:#dbeafe;font-size:.82rem}@media(max-width:1120px){.patient-insight-grid,.pro-insights-grid{grid-template-columns:1fr}.focus-strip,.patient-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-card-large{grid-row:auto}.wellness-dial{width:150px;height:150px}.wellness-dial::before{width:114px;height:114px}}@media(max-width:680px){.focus-hero{display:grid}.patient-hero-visual{padding:1rem}.focus-strip,.patient-metric-strip{grid-template-columns:1fr}.wellness-dial{margin:auto}.insight-compass{grid-template-columns:1fr}.record-search{display:grid;width:100%}.record-search input{min-width:0;width:100%}.patient-entry-card{grid-template-columns:1fr}.entry-title{display:grid}.patient-entry-card .mct-btn{width:100%}.hero-action-row .focus-primary,.hero-action-row .mct-btn{width:100%}}

/* Calendar: profesional solo sesiones visuales */
.calendar-month{width:100%;max-width:100%;grid-template-columns:repeat(7,minmax(0,1fr))!important}.calendar-day{min-width:0!important;aspect-ratio:1/1!important;min-height:96px!important;height:auto!important;overflow:hidden!important}.calendar-day .day-dots{display:flex;gap:.25rem;flex-wrap:wrap}.calendar-day .dot.task,.calendar-day .dot:not(.session){display:inline-block}.role-professional .calendar-day .dot.task,.role-professional .calendar-day .dot:not(.session){display:none!important}@media(max-width:680px){.calendar-weekdays,.calendar-month{gap:4px!important}.calendar-day{min-height:54px!important;border-radius:10px!important;padding:.35rem!important}.calendar-day header b{font-size:.9rem}.calendar-day .mct-badge{font-size:.68rem;padding:.12rem .32rem}.calendar-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:.4rem;width:100%}.calendar-toolbar>*{width:100%}}
