:root{
  --navy:#073b9a;--blue:#0d55cf;--blue-2:#116ee6;--cyan:#0ab8ca;--green:#53da18;
  --ink:#18324d;--muted:#6d8093;--line:#dfe8ef;--soft:#f4f8fb;--soft-2:#eef6fa;--white:#fff;
  --success:#0a8f65;--success-bg:#eaf9f4;--warning:#b46b00;--warning-bg:#fff5df;--danger:#c13b47;--danger-bg:#fff0f1;
  --info:#067da0;--info-bg:#e9f8fc;--shadow:0 14px 38px rgba(12,54,92,.08);--shadow-lg:0 28px 80px rgba(9,47,82,.16);
  --radius:18px;--sidebar:272px;--sidebar-mini:86px;--topbar:72px;
}
*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden}body{margin:0;overflow-x:hidden;font-family:Inter,Aptos,"Segoe UI",system-ui,-apple-system,sans-serif;color:var(--ink);background:#f6f9fb;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit}.icon{display:inline-block;vertical-align:middle;flex:0 0 auto}.muted-copy{color:var(--muted);line-height:1.6}.eyebrow{font-size:.72rem;letter-spacing:.11em;font-weight:800;color:#1684b5;text-transform:uppercase}.block-muted{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}

/* auth */
.auth-page{min-height:100vh;background:#f4f8fb}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr)}.login-visual{position:relative;overflow:hidden;padding:52px clamp(42px,6vw,96px);background:radial-gradient(circle at 14% 10%,rgba(83,218,24,.18),transparent 24%),radial-gradient(circle at 80% 72%,rgba(10,184,202,.23),transparent 28%),linear-gradient(145deg,#06348d,#0d57d3 58%,#08afc5);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.login-visual:before{content:"";position:absolute;inset:auto -18% -23% auto;width:520px;height:520px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 110px rgba(255,255,255,.025)}.login-visual-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.75}.orb-a{width:180px;height:180px;background:linear-gradient(135deg,rgba(83,218,24,.35),rgba(255,255,255,.03));right:11%;top:9%}.orb-b{width:115px;height:115px;border:1px solid rgba(255,255,255,.22);left:13%;bottom:12%}.login-brand-card{position:relative;z-index:1;max-width:660px;margin:auto 0}.login-logo{display:block;width:min(420px,78%);filter:drop-shadow(0 10px 20px rgba(0,34,100,.12));margin-bottom:55px}.login-kicker{font-size:.76rem;letter-spacing:.17em;font-weight:800;color:#d9faff;margin-bottom:16px}.login-brand-card h1{font-size:clamp(2.25rem,4.4vw,4.35rem);line-height:1.04;letter-spacing:-.045em;margin:0 0 24px;max-width:760px}.login-brand-card p{font-size:1.03rem;line-height:1.75;color:#e5f1ff;max-width:650px}.login-features{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.login-features span{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);border-radius:999px;font-size:.86rem;font-weight:700;backdrop-filter:blur(8px)}.visual-foot{position:relative;z-index:1;font-size:.8rem;color:#d7e8ff}.login-form-wrap{padding:clamp(28px,6vw,82px);display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 90% 10%,#eafaff 0,transparent 30%),#f8fbfd}.login-form-card{width:min(480px,100%)}.login-form-card h2{margin:7px 0 8px;font-size:2.15rem;letter-spacing:-.035em;color:#0d3157}.stack-form{display:grid;gap:18px;margin-top:30px}.login-security{display:flex;gap:9px;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}.login-meta{position:absolute;bottom:24px;left:clamp(28px,6vw,82px);right:clamp(28px,6vw,82px);display:flex;justify-content:space-between;color:#8aa0b3;font-size:.72rem}.login-mobile-brand{display:none}.password-wrap{position:relative}.password-wrap input{padding-right:48px!important}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;border:0;background:transparent;color:#70869a;border-radius:10px;cursor:pointer}.password-toggle:hover{background:#eef5f8;color:var(--blue)}

/* shell */
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,#fff 0,#fafdff 100%);border-right:1px solid #dde8f0;display:flex;flex-direction:column;z-index:60;transition:width .25s ease,transform .25s ease;box-shadow:8px 0 28px rgba(12,50,78,.035)}.sidebar-brand{height:88px;display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px 20px;border-bottom:1px solid #edf2f6}.sidebar-brand a{display:flex;align-items:center;min-width:0}.brand-wide{width:178px;max-height:55px;object-fit:contain;object-position:left center}.brand-mark{display:none;width:44px;height:44px;object-fit:contain}.sidebar-collapse{color:#7290a4}.workspace-badge{margin:18px 16px 8px;padding:12px 13px;background:linear-gradient(135deg,#eef8ff,#f0fcfb);border:1px solid #dfeef4;border-radius:14px;display:flex;gap:10px;align-items:center}.workspace-badge .dot{width:10px;height:10px;border-radius:50%;background:#36cd21;box-shadow:0 0 0 4px rgba(83,218,24,.14)}.workspace-badge div{min-width:0;display:grid}.workspace-badge strong{font-size:.78rem;color:#15446e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-badge small{font-size:.68rem;color:#7392a6;margin-top:2px}.sidebar-nav{padding:10px 12px;display:grid;gap:5px;overflow:auto}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:12px;text-decoration:none;color:#547087;font-size:.9rem;font-weight:650;transition:.18s ease}.nav-link:hover{background:#eef6fb;color:#1559a0}.nav-link.is-active{background:linear-gradient(90deg,#e7f1ff,#ebfafc);color:#0b57bb;box-shadow:inset 3px 0 0 var(--cyan)}.nav-link .icon{width:20px}.nav-caption{padding:15px 12px 6px;color:#9aabba;font-size:.63rem;font-weight:800;letter-spacing:.14em}.sidebar-footer{margin-top:auto;padding:12px 16px 20px}.version-pill{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:12px;background:#f1f6fa;color:#668298;font-size:.72rem}.version-pill b{color:#1a5ea6}.main-wrap{min-height:100vh;margin-left:var(--sidebar);display:flex;flex-direction:column;transition:margin-left .25s ease}.topbar{height:var(--topbar);position:sticky;top:0;z-index:45;background:rgba(248,251,253,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(217,229,237,.85);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,2.5vw,36px)}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:14px}.page-heading-mini{display:grid;line-height:1.15}.page-heading-mini span{font-size:.65rem;color:#8aa0b2;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.page-heading-mini strong{font-size:.92rem;color:#294967;margin-top:4px}.phase-pill{display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;background:#edf8f4;color:#0f8062;font-size:.7rem;font-weight:800}.phase-pill .pulse{width:8px;height:8px;background:#24b984;border-radius:50%;box-shadow:0 0 0 4px rgba(36,185,132,.12)}.mobile-menu{display:none}.icon-btn{border:0;background:transparent;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;cursor:pointer;color:#688397}.icon-btn:hover{background:#edf4f8;color:#135da8}.user-menu{position:relative}.user-button{display:flex;align-items:center;gap:10px;border:1px solid #dfebf2;background:#fff;padding:6px 8px 6px 6px;border-radius:14px;cursor:pointer;box-shadow:0 5px 18px rgba(24,65,96,.04)}.avatar{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#0e57d0,#08b9c6);color:#fff;font-weight:800;font-size:.78rem}.user-copy{display:grid;text-align:left;min-width:0}.user-copy strong{font-size:.78rem;color:#234865;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-copy small{font-size:.66rem;color:#8498a9;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chev{color:#8297a8}.user-dropdown{display:none;position:absolute;right:0;top:calc(100% + 10px);width:240px;background:#fff;border:1px solid #dfe8ef;border-radius:15px;box-shadow:var(--shadow-lg);padding:8px;z-index:70}.user-dropdown.is-open{display:block}.dropdown-title{padding:9px 10px 7px;font-size:.68rem;color:#8aa0b0;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.user-dropdown a,.user-dropdown button{width:100%;display:flex;gap:9px;align-items:center;text-decoration:none;border:0;background:transparent;padding:10px;border-radius:10px;color:#46657c;cursor:pointer;font-size:.82rem}.user-dropdown a:hover,.user-dropdown button:hover{background:#f1f7fa;color:#155ca8}.content-area{flex:1;padding:clamp(22px,3vw,38px);max-width:1700px;width:100%;margin:0 auto}.app-footer{display:flex;justify-content:space-between;gap:16px;padding:18px clamp(22px,3vw,38px);border-top:1px solid #e3ebf1;color:#8ba0b0;font-size:.7rem}.sidebar-backdrop{display:none}
body.sidebar-mini .sidebar{width:var(--sidebar-mini)}body.sidebar-mini .main-wrap{margin-left:var(--sidebar-mini)}body.sidebar-mini .brand-wide{display:none}body.sidebar-mini .brand-mark{display:block}body.sidebar-mini .workspace-badge div,body.sidebar-mini .nav-link span,body.sidebar-mini .nav-caption,body.sidebar-mini .version-pill span{display:none}body.sidebar-mini .workspace-badge{justify-content:center;padding:13px}body.sidebar-mini .nav-link{justify-content:center}body.sidebar-mini .sidebar-collapse{transform:rotate(180deg)}

/* common */
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.page-head h1{font-size:clamp(1.75rem,3vw,2.55rem);letter-spacing:-.04em;margin:5px 0 5px;color:#0e355d}.page-head p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.55}.page-head-detail{align-items:center}.detail-title-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.detail-title-row .back-link{width:100%;font-size:.78rem;text-decoration:none;color:#60809a;font-weight:700;margin-bottom:2px}.detail-title-row h1{margin:0}.detail-title-row p{margin-top:2px}.page-head-actions{display:flex;align-items:center;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:12px;padding:10px 15px;min-height:42px;text-decoration:none;font-size:.84rem;font-weight:750;cursor:pointer;transition:.18s ease;white-space:nowrap}.btn-primary{background:linear-gradient(90deg,#0e56cf,#08afc4);color:#fff;box-shadow:0 8px 18px rgba(12,100,190,.17)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 11px 22px rgba(12,100,190,.22)}.btn-secondary{background:#fff;color:#305b7d;border-color:#d8e5ed}.btn-secondary:hover{background:#f3f8fb}.btn-ghost{background:transparent;color:#526f85;border-color:transparent}.btn-ghost:hover{background:#eef5f8}.btn-lg{min-height:50px;padding:13px 18px}.btn-sm{min-height:36px;padding:8px 11px;font-size:.76rem}.panel{background:#fff;border:1px solid #e1eaf0;border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.panel-head h2{font-size:1rem;margin:0 0 3px;color:#143c60}.panel-head p{font-size:.76rem;color:#8195a5;margin:0}.text-link{font-size:.78rem;font-weight:750;text-decoration:none;color:#1674b9}.text-link:hover{text-decoration:underline}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.stat-card{background:#fff;border:1px solid #e1eaf0;border-radius:17px;padding:18px;display:flex;gap:14px;align-items:center;box-shadow:0 10px 28px rgba(15,55,86,.055)}.stat-icon{width:47px;height:47px;border-radius:14px;display:grid;place-items:center;background:#ecf4ff;color:#1763c3}.stat-card>div:last-child{display:grid;min-width:0}.stat-card span{font-size:.72rem;color:#71879a;font-weight:700}.stat-card strong{font-size:1.6rem;color:#123c63;letter-spacing:-.035em;margin:2px 0}.stat-card small{font-size:.68rem;color:#91a2af}.stat-card.stat-primary{background:linear-gradient(135deg,#0e4fbd,#0c9fc0);border-color:transparent}.stat-card.stat-primary .stat-icon{background:rgba(255,255,255,.13);color:#fff}.stat-card.stat-primary span,.stat-card.stat-primary strong,.stat-card.stat-primary small{color:#fff}.stat-card.stat-primary small{opacity:.76}.success-soft{background:var(--success-bg)!important;color:var(--success)!important}.info-soft{background:var(--info-bg)!important;color:var(--info)!important}.warning-soft{background:var(--warning-bg)!important;color:var(--warning)!important}.dashboard-grid,.detail-grid,.settings-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:18px}.panel-span-2{min-width:0}.tenant-cards-mini{display:grid}.tenant-mini-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:12px 4px;text-decoration:none;border-bottom:1px solid #edf2f5}.tenant-mini-card:last-child{border-bottom:0}.tenant-mini-card:hover{background:#f9fbfc}.tenant-avatar{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#e6f0ff,#e9fafb);color:#0c5ebe;font-size:.78rem;font-weight:850;border:1px solid #d7e9f2}.tenant-avatar.sm{width:36px;height:36px;border-radius:11px;font-size:.7rem}.tenant-avatar.lg{width:54px;height:54px;border-radius:16px;font-size:.9rem}.tenant-mini-main{display:grid;min-width:0}.tenant-mini-main strong{font-size:.84rem;color:#1f4564}.tenant-mini-main small{font-size:.7rem;color:#8799a8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-mini-meta{display:grid;text-align:center;min-width:45px}.tenant-mini-meta b{font-size:.9rem;color:#284f6d}.tenant-mini-meta small{font-size:.62rem;color:#8da0af}.badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:.67rem;font-weight:800;white-space:nowrap}.badge.large{font-size:.76rem;padding:7px 11px}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-muted{background:#eef2f5;color:#6f8392}.badge-danger{background:var(--danger-bg);color:var(--danger)}.readiness-list{display:grid;gap:11px}.readiness-list>div{display:flex;gap:10px;align-items:center}.check-dot{width:27px;height:27px;border-radius:9px;background:#eaf9f4;color:#0b9067;display:grid;place-items:center}.readiness-list p{display:grid;margin:0}.readiness-list strong{font-size:.78rem;color:#2d526d}.readiness-list small{font-size:.67rem;color:#8297a8;margin-top:2px}.readiness-progress{margin-top:18px;padding-top:16px;border-top:1px solid #e8eef2}.progress-top{display:flex;justify-content:space-between;font-size:.72rem;color:#6e8496}.progress-top b{color:#0b8d66}.progress{height:7px;background:#eaf0f4;border-radius:999px;margin-top:8px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,#0d5cce,#09b7c4);border-radius:inherit}.stats-strip{background:#fff;border:1px solid #e1eaf0;border-radius:17px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(4,1fr);padding:9px}.stats-strip>div{display:flex;align-items:center;gap:11px;padding:12px 14px;border-right:1px solid #e7eef3}.stats-strip>div:last-child{border-right:0}.stats-strip>div>span{width:36px;height:36px;border-radius:11px;background:#eff7fb;color:#2370aa;display:grid;place-items:center}.stats-strip p{display:grid;margin:0}.stats-strip strong{font-size:.82rem;color:#28506e}.stats-strip small{font-size:.67rem;color:#8498a7;margin-top:2px}.empty-state{padding:50px 20px;text-align:center;display:grid;justify-items:center}.empty-state.compact{padding:30px 14px}.empty-icon{width:58px;height:58px;border-radius:18px;background:#edf7fb;color:#1273ad;display:grid;place-items:center;margin-bottom:12px}.empty-state h3{margin:0 0 6px;font-size:1rem}.empty-state p{margin:0 0 16px;color:#8093a2;font-size:.78rem;max-width:380px}.filter-panel{padding:14px;margin-bottom:16px}.filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search-field{flex:1 1 320px;display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #dce7ef;border-radius:12px;padding:0 12px;color:#7890a2}.search-field input{border:0;background:transparent;outline:0;width:100%;height:42px;color:#294a66;font-size:.83rem}.select-control{height:42px;border:1px solid #dce7ef;border-radius:12px;background:#fff;color:#4e6c82;padding:0 34px 0 12px;font-size:.8rem}.responsive-table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:820px}.data-table th{text-align:left;padding:10px 12px;border-bottom:1px solid #dfe8ef;color:#8194a3;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}.data-table td{padding:12px;border-bottom:1px solid #edf2f5;color:#385b75;font-size:.78rem;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfdfe}.table-entity{display:flex;align-items:center;gap:10px;min-width:220px}.table-entity>div{display:grid}.table-entity strong{font-size:.79rem;color:#214765}.table-entity small{font-size:.66rem;color:#8ba0af;margin-top:2px}.plan-chip,.mono-chip{display:inline-flex;padding:5px 8px;border-radius:8px;background:#eff5f8;color:#47687e;font-size:.68rem;font-weight:750}.mono-chip{font-family:"SFMono-Regular",Consolas,monospace}.icon-text{display:inline-flex;align-items:center;gap:5px}.date-stack{display:grid}.date-stack small{color:#8ea0ae;font-size:.66rem;margin-top:2px}.actions-col{width:90px}.table-actions{display:flex;align-items:center;gap:6px}.table-actions form{display:inline-flex;margin:0}.icon-action{width:34px;height:34px;border:1px solid #e0e9ef;border-radius:10px;background:#fff;display:grid;place-items:center;color:#58768b;cursor:pointer;text-decoration:none}.icon-action:hover{background:#eef6fa;color:#1166ad}.icon-action.danger:hover{background:var(--danger-bg);color:var(--danger);border-color:#f3d7da}.pagination{display:flex;justify-content:center;gap:6px;padding-top:16px}.pagination a{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;text-decoration:none;border:1px solid #dce6ed;color:#5b768a;font-size:.76rem}.pagination a.is-current{background:#0d5ac7;color:#fff;border-color:#0d5ac7}.detail-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.detail-kpi{background:#fff;border:1px solid #e0e9ef;border-radius:15px;padding:15px;display:flex;align-items:center;gap:12px}.detail-kpi>span{width:39px;height:39px;border-radius:12px;background:#eff7fb;color:#1373ae;display:grid;place-items:center}.detail-kpi p{display:grid;margin:0}.detail-kpi small{font-size:.66rem;color:#8397a8}.detail-kpi strong{font-size:.84rem;color:#254d6b;margin-top:3px}.mini-icon-circle{width:33px;height:33px;border-radius:10px;background:#eef7fb;color:#1977ad;display:grid;place-items:center}.info-panel{align-self:start}.info-list{margin:0;display:grid}.info-list>div{padding:10px 0;border-bottom:1px solid #edf2f5}.info-list dt{font-size:.63rem;color:#8a9dab;text-transform:uppercase;letter-spacing:.06em}.info-list dd{margin:4px 0 0;font-size:.78rem;color:#31546d;overflow-wrap:anywhere}.status-manager{margin-top:16px;padding-top:14px;border-top:1px solid #e6edf2}.status-manager>strong{font-size:.76rem;color:#31516a}.status-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.status-buttons form{margin:0}.status-btn{border:1px solid #dfe8ee;background:#fff;color:#637f91;padding:7px 9px;border-radius:9px;font-size:.68rem;font-weight:750;cursor:pointer}.status-btn:hover,.status-btn.selected{background:#edf7fb;color:#106cac;border-color:#cde4f0}.phase-preview{display:flex;align-items:center;justify-content:space-between;gap:20px}.phase-preview>div{display:flex;align-items:center;gap:15px}.phase-number{font-size:2rem;font-weight:900;line-height:1;color:#d7e4eb}.phase-preview h2{margin:3px 0 4px;font-size:1rem}.phase-preview p{margin:0;font-size:.74rem;color:#8094a3}.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plan-card{background:#fff;border:1px solid #e0e9ef;border-radius:18px;padding:20px;box-shadow:var(--shadow)}.plan-card-top{display:flex;justify-content:space-between;align-items:center}.plan-mark{width:43px;height:43px;border-radius:13px;background:linear-gradient(135deg,#e9f1ff,#e8fafb);color:#0e65bc;display:grid;place-items:center}.plan-card h2{font-size:1.16rem;color:#173f62;margin:16px 0 5px}.plan-card>p{font-size:.74rem;color:#8295a4;line-height:1.5;min-height:34px}.plan-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:17px;padding:13px 0;border-top:1px solid #e8eef2;border-bottom:1px solid #e8eef2}.plan-metrics div{display:grid;text-align:center;border-right:1px solid #edf2f5}.plan-metrics div:last-child{border-right:0}.plan-metrics strong{font-size:.86rem;color:#235071}.plan-metrics small{font-size:.61rem;color:#8ca0ae;margin-top:2px}.plan-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.plan-foot>span{font-size:.7rem;color:#7990a1}.plan-foot b{color:#315b78}.settings-form{display:grid;gap:15px}.settings-grid{grid-template-columns:minmax(0,2fr) minmax(280px,.8fr)}.system-card{display:flex;flex-direction:column;align-items:center}.system-card img{width:180px;height:135px;object-fit:contain;margin:0 auto 14px}.system-list{width:100%;display:grid}.system-list>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf2f5;font-size:.74rem}.system-list span{color:#8397a6}.system-list strong{color:#315673}.toggle-row{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid #e1eaf0;border-radius:13px;cursor:pointer}.toggle-row>input{position:absolute;opacity:0;pointer-events:none}.toggle-ui{width:42px;height:24px;border-radius:999px;background:#cbd8e1;position:relative;transition:.2s}.toggle-ui:after{content:"";width:18px;height:18px;border-radius:50%;background:#fff;position:absolute;left:3px;top:3px;box-shadow:0 2px 6px #0002;transition:.2s}.toggle-row>input:checked+.toggle-ui{background:#12a8b9}.toggle-row>input:checked+.toggle-ui:after{transform:translateX(18px)}.toggle-row>span:last-child{display:grid}.toggle-row strong{font-size:.76rem;color:#31526c}.toggle-row small{font-size:.66rem;color:#8498a6;margin-top:2px}.form-actions{display:flex;justify-content:flex-end}.error-page{min-height:65vh;display:grid;place-items:center;align-content:center;text-align:center;padding:30px}.error-page img{width:80px;height:80px;object-fit:contain}.error-page>span{font-size:4.5rem;font-weight:900;color:#d7e4ed;line-height:1;margin-top:12px}.error-page h1{font-size:1.6rem;color:#143e62;margin:6px 0}.error-page p{color:#7c92a3;margin:0 0 18px;font-size:.85rem}

/* forms */
.form-field{display:grid;gap:6px}.form-field>span{font-size:.72rem;font-weight:750;color:#47677e}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #d9e5ed;border-radius:11px;background:#fff;color:#294b67;padding:11px 12px;min-height:42px;outline:0;font-size:.82rem;transition:.18s}.form-field textarea{resize:vertical;line-height:1.5}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#1aa6bf;box-shadow:0 0 0 4px rgba(10,184,202,.1)}.form-field input[readonly]{background:#f2f6f8;color:#718899}.form-grid{display:grid;gap:13px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.input-prefix{display:flex;align-items:center;border:1px solid #d9e5ed;border-radius:11px;overflow:hidden;background:#fff}.input-prefix>span{padding:0 0 0 12px;color:#8aa0b0}.input-prefix input{border:0!important;box-shadow:none!important}.check-control{display:flex;align-items:center;gap:9px;font-size:.76rem;color:#4b6c83;cursor:pointer}.check-control input{width:17px;height:17px;accent-color:#0e76c8}.form-section{padding-bottom:22px;margin-bottom:20px;border-bottom:1px solid #e6edf2}.form-section:last-child{border-bottom:0;margin-bottom:0}.form-section-title{display:flex;align-items:center;gap:10px;margin-bottom:15px}.form-section-title>span{width:30px;height:30px;border-radius:9px;background:#edf7fb;color:#1273ae;display:grid;place-items:center;font-size:.68rem;font-weight:850}.form-section-title>div{display:grid}.form-section-title strong{font-size:.8rem;color:#244c69}.form-section-title small{font-size:.65rem;color:#879aa9;margin-top:2px}.form-errors{display:grid;gap:3px;background:#fff2f3;color:#a0323d;border:1px solid #f3d9dc;border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:.72rem}.form-errors strong{font-size:.76rem;margin-bottom:2px}

/* drawer */
.drawer-backdrop{position:fixed;inset:0;background:rgba(12,33,50,.34);backdrop-filter:blur(2px);z-index:89;opacity:0;pointer-events:none;transition:.22s}.drawer{position:fixed;top:0;right:0;height:100dvh;width:min(560px,100%);background:#fff;z-index:90;box-shadow:none;transform:translateX(calc(100% + 96px));visibility:hidden;pointer-events:none;transition:transform .27s ease,visibility 0s linear .27s;display:flex;flex-direction:column}.drawer.drawer-wide{width:min(820px,100%)}.drawer.is-open{transform:translateX(0);visibility:visible;pointer-events:auto;box-shadow:-24px 0 70px rgba(10,39,62,.18);transition:transform .27s ease,visibility 0s}body.drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid #e5edf2;background:linear-gradient(180deg,#fbfdfe,#fff)}.drawer-head h2{margin:4px 0 4px;font-size:1.22rem;color:#153f62}.drawer-head p{margin:0;font-size:.72rem;color:#8397a6;line-height:1.45}.drawer-form{min-height:0;display:flex;flex-direction:column;flex:1}.drawer-body{padding:22px 24px;overflow:auto;flex:1}.drawer-footer{padding:14px 24px;border-top:1px solid #e4edf2;display:flex;justify-content:flex-end;gap:9px;background:#fbfdfe}

/* toast */
.toast{position:fixed;right:24px;top:90px;z-index:120;max-width:min(420px,calc(100vw - 32px));padding:12px 14px;border-radius:13px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:9px;font-size:.78rem;font-weight:700;opacity:0;transform:translateY(-10px);pointer-events:none;transition:.25s}.toast.is-visible{opacity:1;transform:none;pointer-events:auto}.toast-success{background:#effbf6;color:#087d59;border:1px solid #d0efe2}.toast-error{background:#fff2f3;color:#a32e3a;border:1px solid #f2d9dc}

/* Responsive */
@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(2,1fr)}.plans-grid{grid-template-columns:repeat(2,1fr)}.detail-kpis{grid-template-columns:repeat(2,1fr)}.stats-strip{grid-template-columns:repeat(2,1fr)}.stats-strip>div:nth-child(2){border-right:0}.stats-strip>div:nth-child(-n+2){border-bottom:1px solid #e7eef3}}
@media(max-width:980px){.sidebar{transform:translateX(-102%);width:min(310px,88vw)}.sidebar.is-open{transform:translateX(0)}.main-wrap,body.sidebar-mini .main-wrap{margin-left:0}.mobile-menu{display:grid}.sidebar-collapse{display:none}.sidebar-backdrop{position:fixed;inset:0;background:rgba(9,29,43,.34);z-index:55}.sidebar-backdrop.is-visible{display:block}.dashboard-grid,.detail-grid,.settings-grid{grid-template-columns:1fr}.panel-span-2{grid-column:auto}.topbar{padding-inline:16px}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-form-wrap{min-height:100vh;padding:28px 22px 70px;align-items:center}.login-mobile-brand{display:block;position:absolute;top:24px;left:22px}.login-mobile-brand img{width:185px;height:64px;object-fit:contain;object-position:left center}.login-form-card{margin-top:54px}.login-meta{left:22px;right:22px}.phase-pill{display:none}.content-area{padding:22px 16px}.app-footer{padding-inline:16px}}
@media(max-width:760px){.page-head{align-items:flex-start;flex-direction:column}.page-head>.btn,.page-head>button{width:100%}.page-head-actions{width:100%;justify-content:space-between}.stats-grid,.detail-kpis,.plans-grid{grid-template-columns:1fr}.stats-strip{grid-template-columns:1fr}.stats-strip>div{border-right:0!important;border-bottom:1px solid #e7eef3!important}.stats-strip>div:last-child{border-bottom:0!important}.panel{padding:16px;border-radius:15px}.filter-bar{display:grid;grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.select-control{width:100%}.form-grid.two{grid-template-columns:1fr}.form-grid.two>div:empty{display:none}.drawer-head,.drawer-body,.drawer-footer{padding-left:18px;padding-right:18px}.drawer-footer .btn{flex:1}.tenant-mini-card{grid-template-columns:auto minmax(0,1fr) auto}.tenant-mini-card .badge,.tenant-mini-meta{display:none}.detail-title-row{display:grid;grid-template-columns:auto 1fr}.detail-title-row .back-link{grid-column:1/-1}.phase-preview{align-items:flex-start}.phase-preview>div{align-items:flex-start}.user-copy{display:none}.user-button{padding:5px}.chev{display:none}.app-footer{flex-direction:column;gap:4px}.responsive-table-wrap{overflow:visible}.responsive-table{min-width:0}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{border:1px solid #e1e9ef;border-radius:14px;margin-bottom:11px;padding:5px 11px;background:#fff}.responsive-table td{border:0!important;padding:8px 0!important;display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px}.responsive-table td:before{content:attr(data-label);font-size:.62rem;text-transform:uppercase;letter-spacing:.055em;color:#93a4b1;font-weight:800}.responsive-table td[data-label="Empresa"] .table-entity,.responsive-table td[data-label="Sede"] .table-entity{min-width:0}.responsive-table td[data-label="Acciones"] .table-actions{justify-content:flex-start}.responsive-table td[data-label="Acciones"]{border-top:1px solid #edf2f5!important;margin-top:3px;padding-top:10px!important}.toast{top:16px;right:16px}.plans-grid{gap:12px}}
@media(max-width:500px){.filter-bar{grid-template-columns:1fr}.search-field{grid-column:auto}.page-heading-mini span{display:none}.page-heading-mini strong{font-size:.82rem}.topbar-actions{gap:7px}.stats-grid{gap:11px}.stat-card{padding:15px}.panel-head{align-items:flex-start}.panel-head .btn{flex:0 0 auto}.detail-kpi{padding:13px}.responsive-table td{grid-template-columns:92px 1fr}.phase-preview>span.badge{display:none}.login-form-card h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.login-visual .login-logo{background:rgba(255,255,255,.95);padding:10px 16px;border-radius:16px;box-shadow:0 12px 32px rgba(0,37,92,.14)}

/* ============================================================
   NovaMed v1.1.0 — FASE 02
   Identidad, Login y Administración de Empresa
   ============================================================ */
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field small{font-size:.65rem;color:#879baa;line-height:1.45}.file-field input[type=file]{padding:9px;background:#f9fbfd}.file-field input[type=file]::file-selector-button{border:0;border-radius:8px;background:#eaf4fb;color:#155fa5;font-weight:750;padding:7px 10px;margin-right:9px;cursor:pointer}.color-grid input[type=color]{height:46px;padding:5px;cursor:pointer}.card-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:16px}.inline-warning{display:flex;gap:10px;align-items:flex-start;background:#fff8e8;border:1px solid #f2e3bc;color:#8b6500;border-radius:12px;padding:12px 13px;font-size:.72rem;line-height:1.45}.access-url-note{display:grid;gap:5px;padding:13px 14px;background:#f2f8fc;border:1px solid #dfeaf2;border-radius:13px;margin-bottom:18px}.access-url-note small{font-size:.64rem;color:#8096a6;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.access-url-note strong{font-size:.76rem;color:#1c597f;overflow-wrap:anywhere}.completed-phase{border-color:#d7eee5;background:linear-gradient(135deg,#fbfffd,#f2fbf7)}

/* Superadmin: FASE 02 access & branding */
.phase02-access-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.access-card,.brand-card{min-height:255px}.access-login-box{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #e1ebf2;background:#f7fafc;border-radius:13px}.access-login-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf3ff,#e9fbfc);color:#1266ae}.access-login-box>div{min-width:0;display:grid;gap:2px}.access-login-box small{font-size:.62rem;color:#8298a8;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.access-login-box strong{font-size:.7rem;color:#315c78;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-person{display:flex;align-items:center;gap:11px;margin-top:14px}.admin-person>div{display:grid;min-width:0}.admin-person strong{font-size:.8rem;color:#254b68}.admin-person small{font-size:.66rem;color:#8296a5;margin-top:2px;overflow:hidden;text-overflow:ellipsis}.tenant-avatar-gradient{background:linear-gradient(135deg,var(--tenant-primary,#0d55cf),var(--tenant-secondary,#08b8cf))!important}.brand-card-preview{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,1.25fr) auto;align-items:center;gap:16px;padding:14px;border:1px solid #e3ebf1;border-radius:14px;background:linear-gradient(135deg,#fbfdfe,#f4f9fb)}.brand-card-logo{height:75px;display:flex;align-items:center}.brand-card-logo img{width:100%;max-width:190px;max-height:68px;object-fit:contain;object-position:left center}.brand-card-preview h3{font-size:1rem;color:#204c6c;margin:4px 0}.brand-colors{display:flex;align-items:center;gap:7px;margin-top:9px}.brand-colors span{width:22px;height:22px;border-radius:7px;background:var(--swatch);border:2px solid #fff;box-shadow:0 0 0 1px #dbe5eb}.brand-colors small{margin-left:3px;color:#8899a6;font-size:.64rem}.brand-admin-mark{width:68px;height:68px;border-radius:16px;background:#fff;border:1px solid #e1e9ef;display:grid;place-items:center}.brand-admin-mark img{width:54px;height:54px;object-fit:contain}.brand-admin-mark.small{width:54px;height:54px}.brand-admin-mark.small img{width:42px;height:42px}

/* Tenant login */
.tenant-login-page{min-height:100vh;background:#f4f8fb}.tenant-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(430px,1.1fr) minmax(420px,.9fr)}.tenant-login-visual{position:relative;overflow:hidden;min-height:100vh;padding:clamp(38px,5vw,72px);display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background-image:var(--tenant-login-bg,linear-gradient(145deg,var(--tenant-primary,#0b4fd7),var(--tenant-secondary,#08b8cf)));background-size:cover;background-position:center}.tenant-login-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 15%,rgba(255,255,255,.14),transparent 28%),radial-gradient(circle at 16% 28%,color-mix(in srgb,var(--tenant-accent,#22c55e) 25%,transparent),transparent 23%)}.tenant-login-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,33,72,.08),rgba(3,34,70,.78))}.tenant-login-branding{position:relative;z-index:2;max-width:680px;margin-bottom:66px}.tenant-login-kicker{font-size:.72rem;letter-spacing:.16em;font-weight:850;color:#d9f8ff;margin-bottom:12px}.tenant-login-branding h1{font-size:clamp(2.3rem,4.8vw,4.9rem);letter-spacing:-.045em;line-height:1.01;margin:0 0 16px}.tenant-login-branding>p{font-size:1rem;line-height:1.65;color:#e9f5ff;max-width:620px}.tenant-login-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.tenant-login-points span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid rgba(255,255,255,.21);background:rgba(255,255,255,.09);border-radius:999px;font-size:.75rem;font-weight:700;backdrop-filter:blur(10px)}.tenant-login-powered{position:relative;z-index:2;display:flex;align-items:center;gap:9px;font-size:.67rem;color:#d5e7f4}.tenant-login-powered img{width:116px;height:34px;object-fit:contain;background:rgba(255,255,255,.94);border-radius:8px;padding:4px 8px}.tenant-login-form-side{position:relative;min-height:100vh;background:radial-gradient(circle at 95% 3%,#e8fbfd 0,transparent 28%),#f9fbfc;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(30px,5vw,70px)}.tenant-login-card{width:min(470px,100%);background:#fff;border:1px solid #e1ebf1;border-radius:22px;padding:clamp(25px,3vw,38px);box-shadow:0 24px 70px rgba(12,56,88,.11)}.tenant-company-logo{height:80px;display:flex;align-items:center;margin-bottom:20px}.tenant-company-logo img{max-width:235px;max-height:74px;object-fit:contain;object-position:left center}.tenant-login-card h2{font-size:2rem;letter-spacing:-.035em;color:#133b60;margin:6px 0 8px}.login-intro{font-size:.84rem;line-height:1.6;color:#73889a;margin:0 0 20px}.login-intro strong{color:#2a5675}.tenant-login-form{display:grid;gap:15px}.tenant-login-submit{margin-top:4px;justify-content:center;background:linear-gradient(90deg,var(--tenant-primary,#0d55cf),var(--tenant-secondary,#08b8cf))!important}.trial-note{display:flex;align-items:center;gap:8px;background:#edf9f5;color:#0b7d5d;padding:9px 11px;border-radius:10px;font-size:.7rem;font-weight:750;margin-bottom:17px}.trial-note .pulse{width:8px;height:8px;border-radius:50%;background:var(--tenant-accent,#22c55e);box-shadow:0 0 0 4px color-mix(in srgb,var(--tenant-accent,#22c55e) 15%,transparent)}.tenant-login-help{display:flex;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid #edf1f4;color:#668095}.tenant-login-help>span{color:var(--tenant-primary,#0d55cf)}.tenant-login-help p{display:grid;margin:0}.tenant-login-help strong{font-size:.72rem;color:#3b607a}.tenant-login-help small{font-size:.64rem;line-height:1.45;margin-top:2px}.tenant-login-footer{position:absolute;left:clamp(30px,5vw,70px);right:clamp(30px,5vw,70px);bottom:22px;display:flex;justify-content:space-between;gap:15px;font-size:.66rem;color:#8aa0b0}.tenant-mobile-powered{display:none}

/* Tenant admin shell */
.tenant-app-page{--blue:var(--tenant-primary,#0d55cf);--cyan:var(--tenant-secondary,#08b8cf)}.tenant-sidebar .nav-link.is-active{color:var(--tenant-primary,#0b57bb);box-shadow:inset 3px 0 0 var(--tenant-secondary,#0ab8ca);background:linear-gradient(90deg,color-mix(in srgb,var(--tenant-primary,#0d55cf) 9%,#fff),color-mix(in srgb,var(--tenant-secondary,#08b8cf) 10%,#fff))}.tenant-workspace .dot{background:var(--tenant-accent,#22c55e);box-shadow:0 0 0 4px color-mix(in srgb,var(--tenant-accent,#22c55e) 14%,transparent)}.tenant-brand-wide{max-width:175px;max-height:52px}.nav-link-disabled{opacity:.55;cursor:not-allowed}.nav-link-disabled small{margin-left:auto;font-size:.56rem;border:1px solid #d5e0e8;padding:2px 5px;border-radius:999px}.tenant-primary-card{background:linear-gradient(135deg,var(--tenant-primary,#0d55cf),var(--tenant-secondary,#08b8cf))!important}.stat-word{font-size:1.2rem!important;line-height:1.15}.company-overview{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:22px;align-items:center;min-height:155px}.company-logo-stage{height:125px;border:1px solid #e3ebf0;background:linear-gradient(135deg,#fff,#f6fafc);border-radius:15px;display:grid;place-items:center;padding:15px}.company-logo-stage img{max-width:100%;max-height:90px;object-fit:contain}.company-overview-main h3{font-size:1.35rem;color:#173f60;margin:8px 0 4px}.company-overview-main>p{font-size:.78rem;color:#7d91a1;margin:0}.company-meta-line{display:flex;flex-wrap:wrap;gap:9px 16px;margin-top:13px;color:#6f8798;font-size:.68rem}.company-meta-line span{display:flex;align-items:center;gap:5px}.company-overview-actions{display:grid;gap:8px}.next-phase-panel{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-top:18px}.next-phase-icon{width:54px;height:54px;border-radius:15px;background:#edf7fb;color:var(--tenant-primary,#1265ac);display:grid;place-items:center}.next-phase-panel h2{font-size:1.02rem;color:#214e6e;margin:4px 0}.next-phase-panel p{font-size:.72rem;color:#8195a4;margin:0;line-height:1.55}

/* Tenant company settings */
.brand-admin-preview{display:grid;grid-template-columns:230px minmax(0,1fr) 90px;gap:22px;align-items:center;min-height:170px}.brand-admin-logo{height:130px;display:grid;place-items:center;padding:16px;border-radius:16px;background:#f8fbfc;border:1px solid #e3ebf0}.brand-admin-logo img{max-width:100%;max-height:96px;object-fit:contain}.brand-admin-copy h3{font-size:1.45rem;color:#1d4968;margin:5px 0}.brand-admin-copy p{font-size:.77rem;color:#8295a4;margin:0}.brand-admin-copy .brand-colors{margin-top:15px}.brand-admin-mark{justify-self:end}.tenant-settings-grid{margin-bottom:18px}

@media(max-width:1180px){.phase02-access-grid{grid-template-columns:1fr}.company-overview{grid-template-columns:190px minmax(0,1fr)}.company-overview-actions{grid-column:1/-1;display:flex}.brand-admin-preview{grid-template-columns:190px minmax(0,1fr) 75px}}
@media(max-width:980px){.tenant-login-shell{grid-template-columns:1fr}.tenant-login-visual{display:none}.tenant-login-form-side{min-height:100vh;padding:90px 22px 66px}.tenant-mobile-powered{display:block;position:absolute;top:18px;left:22px}.tenant-mobile-powered img{width:160px;height:52px;object-fit:contain;object-position:left center}.tenant-login-card{box-shadow:0 18px 48px rgba(12,56,88,.08)}.tenant-login-footer{left:22px;right:22px}.company-overview{grid-template-columns:160px minmax(0,1fr)}.brand-admin-preview{grid-template-columns:170px minmax(0,1fr)}.brand-admin-mark{display:none}}
@media(max-width:760px){.form-grid.three{grid-template-columns:1fr}.phase02-access-grid{grid-template-columns:1fr}.brand-card-preview{grid-template-columns:1fr}.brand-card-logo{height:66px}.brand-admin-mark.small{display:none}.access-login-box strong{white-space:normal;overflow-wrap:anywhere}.company-overview{grid-template-columns:1fr}.company-logo-stage{height:105px}.company-overview-actions{display:grid;grid-template-columns:1fr 1fr}.brand-admin-preview{grid-template-columns:1fr}.brand-admin-logo{height:105px}.next-phase-panel{grid-template-columns:auto 1fr}.next-phase-panel>span.badge{display:none}.page-head-actions .btn{flex:1}.tenant-login-card h2{font-size:1.65rem}}
@media(max-width:500px){.tenant-login-form-side{padding-left:16px;padding-right:16px}.tenant-login-card{padding:22px 18px;border-radius:18px}.tenant-login-footer{font-size:.6rem}.tenant-company-logo{height:64px}.tenant-company-logo img{max-height:60px}.company-overview-actions{grid-template-columns:1fr}.brand-colors small{display:none}}

/* =========================================================
   NovaMed v1.2.0 — FASE 03
   Usuarios · Roles · Permisos · Seguridad
   ========================================================= */
.security-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;margin-bottom:18px;border:1px solid #f3dfb8;background:#fff8e9;color:#8a5a12}.security-banner>div{display:grid;flex:1}.security-banner strong{font-size:.78rem}.security-banner span{font-size:.68rem;margin-top:2px;opacity:.86}.security-banner.warning>.icon{color:#c27a08}
.user-list-avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#e7f0ff,#e8fbfb);color:#0c61b8;font-size:.7rem;font-weight:850;display:grid;place-items:center;border:1px solid #d8e9f2}.role-chip-wrap,.account-tags{display:flex;flex-wrap:wrap;gap:5px}.role-chip{display:inline-flex;align-items:center;padding:5px 8px;border-radius:8px;background:#edf6fb;color:#326782;font-size:.64rem;font-weight:750;border:1px solid #dceaf2}.role-chip.more{background:#f4f6f8;color:#738796}.table-subtle{font-size:.7rem;color:#7890a2;line-height:1.45}.lock-note{display:block;font-size:.59rem;color:#a86d08;margin-top:4px}.users-table{min-width:1040px}
.permission-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-choice{display:flex;gap:9px;align-items:flex-start;border:1px solid #e0e9ef;border-radius:12px;padding:10px;background:#fff;cursor:pointer;transition:.16s ease}.permission-choice:hover{border-color:#bcddea;background:#f9fcfd}.permission-choice input{margin-top:2px;accent-color:var(--tenant-primary,#0b57bb)}.permission-choice>span{display:grid;min-width:0}.permission-choice strong{font-size:.72rem;color:#31546d}.permission-choice small{font-size:.61rem;color:#879aa8;margin-top:2px;line-height:1.35;overflow-wrap:anywhere}.permission-choice:has(input:checked){background:#eef8fb;border-color:#a7d7e5;box-shadow:inset 3px 0 0 var(--tenant-secondary,#08b8cf)}
.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}.segmented-control label{position:relative}.segmented-control input{position:absolute;opacity:0}.segmented-control span{display:flex;align-items:center;justify-content:center;min-height:39px;border:1px solid #dce7ee;border-radius:10px;font-size:.7rem;font-weight:750;color:#5f788a;cursor:pointer;background:#fff}.segmented-control input:checked+span{background:#edf8fb;color:#126ca7;border-color:#b9ddea;box-shadow:inset 0 0 0 1px #b9ddea}.branch-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.compact-section{margin-top:14px}.form-section.compact-section{padding-top:15px}
.role-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);gap:18px}.role-list-panel{min-width:0}.role-card-list{display:grid;gap:9px}.role-card-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid #e5edf2;border-radius:14px;background:#fff}.role-card-item:hover{background:#fbfdfe}.role-card-icon{width:42px;height:42px;border-radius:13px;background:#edf7fb;color:#1874ac;display:grid;place-items:center}.role-card-main{min-width:0}.role-card-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.role-card-title strong{font-size:.82rem;color:#244c69}.role-card-main p{font-size:.68rem;color:#8396a5;margin:4px 0 8px;line-height:1.4}.role-card-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:.62rem;color:#7f94a3}.role-card-meta span{display:flex;gap:4px;align-items:center}.role-card-meta code{font-size:.59rem;background:#f0f4f6;color:#61798a;padding:3px 6px;border-radius:6px}.role-card-actions{display:flex;gap:6px}.permission-map-panel{align-self:start}.permission-module-summary{padding:12px 0;border-bottom:1px solid #edf2f5}.permission-module-summary:last-child{border-bottom:0}.permission-module-summary>strong{font-size:.75rem;color:#315670}.permission-module-summary>span{float:right;font-size:.61rem;color:#91a2ae}.permission-module-summary>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;clear:both}.permission-module-summary small{font-size:.58rem;background:#f2f6f8;color:#708697;padding:4px 6px;border-radius:6px}.permission-matrix{display:grid;gap:12px;margin-top:15px}.permission-group{border:1px solid #e0e9ef;border-radius:14px;padding:12px;background:#fbfdfe}.permission-group-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.permission-group-head>div{display:grid}.permission-group-head strong{font-size:.77rem;color:#2c526d}.permission-group-head small{font-size:.62rem;color:#899ca9;margin-top:2px}.permission-group-head .text-link{background:none;border:0;cursor:pointer;padding:4px}.system-role-note{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-top:10px;background:#eef7fb;color:#426a83;border-radius:11px;font-size:.68rem;line-height:1.45}
.security-policy-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:8px;margin-bottom:18px}.security-policy-strip>div{display:flex;gap:10px;align-items:center;padding:12px 14px;border-right:1px solid #e8eef2}.security-policy-strip>div:last-child{border-right:0}.security-policy-icon{width:36px;height:36px;border-radius:11px;background:#eef7fb;color:#1672ab;display:grid;place-items:center}.security-policy-strip p{display:grid;margin:0}.security-policy-strip small{font-size:.61rem;color:#899ca9}.security-policy-strip strong{font-size:.76rem;color:#31536d;margin-top:3px}.security-grid{align-items:start}.security-recommendations{align-self:start}.future-security{margin-top:18px;padding:14px;border-radius:13px;background:linear-gradient(135deg,#f1f7ff,#effbfb);display:grid;border:1px solid #e0ecf3}.future-security span{font-size:.57rem;letter-spacing:.08em;color:#2b80ab;font-weight:850}.future-security strong{font-size:.9rem;color:#254d69;margin:4px 0}.future-security small{font-size:.64rem;color:#8195a4;line-height:1.45}.security-toggle-list{display:grid;gap:8px;margin-bottom:12px}.security-timeline{display:grid}.security-timeline article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f5}.security-timeline article:last-child{border-bottom:0}.timeline-dot{width:9px;height:9px;border-radius:50%;background:#14a879;box-shadow:0 0 0 5px #e9f8f3}.timeline-dot.danger{background:#d34c5a;box-shadow:0 0 0 5px #fdecef}.security-timeline article>div{display:grid}.security-timeline strong{font-size:.74rem;color:#31546d}.security-timeline small{font-size:.62rem;color:#8a9daa;margin-top:2px}.security-timeline time{font-size:.61rem;color:#8da0ae;white-space:nowrap}
.account-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px;margin-bottom:18px}.account-profile-card{display:flex;align-items:center;gap:18px}.account-avatar-large{width:78px;height:78px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,var(--tenant-primary,#0d55cf),var(--tenant-secondary,#08b8cf));color:#fff;font-size:1.15rem;font-weight:900;box-shadow:0 14px 28px rgba(20,92,150,.16)}.account-profile-card h2{font-size:1.25rem;color:#234b68;margin:4px 0}.account-profile-card p{font-size:.72rem;color:#8396a5;margin:0 0 11px}.account-security-list{display:grid;margin:0}.account-security-list>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #edf2f5}.account-security-list>div:last-child{border-bottom:0}.account-security-list dt{font-size:.66rem;color:#8296a5}.account-security-list dd{margin:0;font-size:.72rem;color:#31546d;font-weight:700;text-align:right}
@media(max-width:1100px){.role-layout{grid-template-columns:1fr}.permission-map-panel{display:none}.security-policy-strip{grid-template-columns:repeat(2,1fr)}.security-policy-strip>div:nth-child(2){border-right:0}.security-policy-strip>div:nth-child(-n+2){border-bottom:1px solid #e8eef2}}
@media(max-width:760px){.permission-choice-grid,.branch-choice-grid{grid-template-columns:1fr}.role-card-item{grid-template-columns:auto minmax(0,1fr)}.role-card-actions{grid-column:1/-1;justify-content:flex-end}.security-policy-strip{grid-template-columns:1fr}.security-policy-strip>div{border-right:0;border-bottom:1px solid #e8eef2}.security-policy-strip>div:last-child{border-bottom:0}.account-grid{grid-template-columns:1fr}.account-profile-card{align-items:flex-start}.security-timeline article{grid-template-columns:auto minmax(0,1fr)}.security-timeline time{grid-column:2}.security-banner{align-items:flex-start;flex-wrap:wrap}.security-banner .btn{margin-left:auto}}
@media(max-width:500px){.account-profile-card{display:grid}.account-avatar-large{width:64px;height:64px;border-radius:18px}.segmented-control{grid-template-columns:1fr}.role-card-item{grid-template-columns:1fr}.role-card-icon{width:38px;height:38px}.role-card-actions{justify-content:flex-start}}

/* v1.2.1 — Entorno demo permanente */
.demo-showcase{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:20px 22px;margin:0 0 20px;background:linear-gradient(120deg,#eef7ff,#effcfb);border:1px solid #d7eaf3;border-radius:18px;box-shadow:0 10px 34px rgba(18,75,112,.07)}
.demo-showcase-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;color:#0b4fd7;background:#fff;border:1px solid #d9e9f5;box-shadow:0 8px 18px rgba(11,79,215,.08)}
.demo-showcase-main h2{margin:2px 0 4px;font-size:19px;color:#163b5d}.demo-showcase-main p{margin:0;color:#688095;line-height:1.45;font-size:13px;max-width:850px}
.demo-showcase-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.demo-showcase-metrics span{background:#fff;border:1px solid #dceaf2;border-radius:999px;padding:6px 10px;font-size:12px;color:#60788d}.demo-showcase-metrics b{color:#0b4fd7}
.demo-showcase-actions{display:flex;gap:9px;align-items:center}.demo-showcase-actions .btn{white-space:nowrap}
@media(max-width:900px){.demo-showcase{grid-template-columns:auto 1fr}.demo-showcase-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:620px){.demo-showcase{grid-template-columns:1fr}.demo-showcase-icon{width:46px;height:46px}.demo-showcase-actions{grid-column:auto;display:grid;grid-template-columns:1fr}.demo-showcase-actions .btn{width:100%}}

/* v1.3.0 — FASE 04 · Maestros y Configuración Médica */
.medical-stats-grid{margin-bottom:18px}.medical-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.medical-module-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px;background:#fff;border:1px solid #e1ebf1;border-radius:17px;text-decoration:none;box-shadow:0 8px 26px rgba(18,67,102,.05);transition:.18s ease}.medical-module-card:hover{transform:translateY(-2px);border-color:#bcdbe7;box-shadow:0 14px 32px rgba(18,67,102,.09)}.medical-module-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#eaf3ff,#ebfbfa);color:var(--tenant-primary,#0b57bb)}.medical-module-card h2{font-size:.88rem;color:#244d69;margin:2px 0 4px}.medical-module-card p{font-size:.66rem;line-height:1.42;color:#8195a4;margin:0}.medical-module-count{font-size:.62rem;font-weight:850;color:#1a88a8;letter-spacing:.04em}.medical-module-arrow{color:#9ab0bd}.medical-overview-grid{margin-bottom:18px}.medical-specialty-list{display:grid}.medical-specialty-list>a{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid #edf2f5;text-decoration:none}.medical-specialty-list>a:last-child{border-bottom:0}.medical-specialty-list strong{display:block;font-size:.75rem;color:#31546d}.medical-specialty-list small{display:block;font-size:.62rem;color:#899ca9;margin-top:2px}.medical-mini-code,.medical-code-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;padding:6px 8px;border:1px solid #cfe2ec;border-radius:9px;background:#f6fbfd;color:#1877a7;font-size:.61rem;font-weight:850;letter-spacing:.03em}.medical-code-badge.cie-code{min-width:58px;background:#edf5ff;color:#125eb2;border-color:#cfe0f2}.equipment-mini-list{display:grid}.equipment-mini-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f5}.equipment-mini-list>div:last-child{border-bottom:0}.equipment-mini-list p{display:grid;margin:0}.equipment-mini-list strong{font-size:.72rem;color:#31546d}.equipment-mini-list small{font-size:.61rem;color:#8a9daa;margin-top:2px}.equipment-mini-list time{font-size:.61rem;color:#7e93a2}.calibration-dot{width:9px;height:9px;border-radius:50%;background:#99a9b4;box-shadow:0 0 0 5px #f0f4f6}.calibration-dot.ok{background:#18a777;box-shadow:0 0 0 5px #e8f8f2}.calibration-dot.due{background:#d98b14;box-shadow:0 0 0 5px #fff4de}.calibration-dot.expired{background:#d34d5b;box-shadow:0 0 0 5px #fdecef}.catalog-summary-panel{margin-bottom:18px}.catalog-chip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.catalog-chip-grid a{display:flex;gap:9px;align-items:center;padding:11px 12px;border:1px solid #e2ebf0;border-radius:12px;text-decoration:none;background:#fbfdfe;color:#517087}.catalog-chip-grid a>span{width:30px;height:30px;border-radius:9px;background:#edf7fb;color:#1776aa;display:grid;place-items:center}.catalog-chip-grid a>div{display:grid;min-width:0}.catalog-chip-grid strong{font-size:.66rem;color:#31546d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-chip-grid small{font-size:.57rem;color:#8a9eac;margin-top:2px}.medical-table{min-width:900px}.medical-table .table-entity>div{min-width:0}.medical-table .table-entity small{max-width:420px;white-space:normal;line-height:1.4}.usage-stack{display:grid;gap:4px;font-size:.62rem;color:#70899a}.usage-stack span{display:flex;align-items:center;gap:5px}.compact-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.cie-table{min-width:980px}.calibration-status{display:flex;gap:8px;align-items:center}.calibration-status>span{width:9px;height:9px;border-radius:50%;background:#a6b4bd}.calibration-status>div{display:grid}.calibration-status strong{font-size:.67rem;color:#415f73}.calibration-status small{font-size:.59rem;color:#8498a6}.calibration-status.ok>span{background:#16a779}.calibration-status.due>span{background:#dc8d13}.calibration-status.expired>span{background:#d14857}.catalog-nav{padding:8px;margin-bottom:14px}.catalog-nav-scroll{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;padding:2px}.catalog-nav-item{flex:0 0 auto;display:flex;gap:8px;align-items:center;padding:9px 10px;border-radius:10px;text-decoration:none;color:#688397;border:1px solid transparent}.catalog-nav-item>span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f1f6f9}.catalog-nav-item>div{display:flex;gap:6px;align-items:center}.catalog-nav-item strong{font-size:.63rem;white-space:nowrap}.catalog-nav-item small{min-width:20px;text-align:center;font-size:.55rem;background:#eaf1f5;border-radius:999px;padding:2px 5px}.catalog-nav-item.is-active{background:#edf8fb;border-color:#cce5ed;color:#166f9f}.catalog-nav-item.is-active>span{background:#fff;color:#0b65b0}.catalog-color-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.medical-dashboard-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid #e1eaf0;border-radius:17px;margin:0 0 18px;overflow:hidden}.medical-dashboard-strip a{display:flex;align-items:center;gap:11px;padding:15px 18px;text-decoration:none;border-right:1px solid #e8eef2;color:inherit}.medical-dashboard-strip a:last-child{border-right:0}.medical-dashboard-strip a>span{width:38px;height:38px;border-radius:11px;background:#edf7fb;color:#1477ad;display:grid;place-items:center}.medical-dashboard-strip p{display:grid;margin:0}.medical-dashboard-strip strong{font-size:.79rem;color:#2d536d}.medical-dashboard-strip small{font-size:.61rem;color:#899ba8;margin-top:2px}
@media(max-width:1150px){.medical-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.medical-dashboard-strip{grid-template-columns:repeat(2,1fr)}.medical-dashboard-strip a:nth-child(2){border-right:0}.medical-dashboard-strip a:nth-child(-n+2){border-bottom:1px solid #e8eef2}}
@media(max-width:760px){.medical-module-grid,.compact-stat-grid{grid-template-columns:1fr}.catalog-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.medical-table{min-width:0}.medical-dashboard-strip{grid-template-columns:1fr}.medical-dashboard-strip a{border-right:0;border-bottom:1px solid #e8eef2}.medical-dashboard-strip a:last-child{border-bottom:0}.medical-dashboard-strip a:nth-child(2){border-bottom:1px solid #e8eef2}}
@media(max-width:500px){.medical-module-grid,.catalog-chip-grid{grid-template-columns:1fr}.medical-module-card{grid-template-columns:auto 1fr}.medical-module-arrow{display:none}.catalog-nav-item>div{display:grid;gap:1px}.catalog-nav-item small{justify-self:start}}


/* FASE 05 — Empresas Clientes + Empresa 360° */
.client-stats-grid{margin-bottom:18px}.client-table{min-width:1040px}.client-company-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--tenant-primary,#0b4fd7),var(--tenant-secondary,#08b8cf));color:#fff;font-size:.69rem;font-weight:900;box-shadow:0 8px 18px rgba(15,87,160,.14)}.client-sector{display:inline-flex;margin-top:4px;font-size:.57rem;color:#648095;background:#f1f6f8;padding:3px 6px;border-radius:6px}.table-muted{display:block;color:#8a9da9;font-size:.6rem;margin-top:3px}.page-head-actions,.panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.back-link{display:inline-block;margin-bottom:9px;color:#4b7c9e;text-decoration:none;font-size:.66rem;font-weight:750}.client360-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr);gap:20px;background:linear-gradient(135deg,#0a4ab8,#08aeca);border-radius:20px;color:#fff;padding:24px;margin-bottom:14px;box-shadow:0 16px 36px rgba(12,86,151,.16)}.client360-identity{display:flex;gap:15px;align-items:center}.client360-logo{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:#fff;color:#0d66b8;font-weight:900;font-size:1rem}.client360-identity span{font-size:.64rem;opacity:.8}.client360-identity h2{font-size:1.25rem;margin:2px 0}.client360-identity p{font-size:.66rem;margin:0;opacity:.86}.client360-kpis{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:15px;overflow:hidden}.client360-kpis>div{padding:13px 10px;border-right:1px solid rgba(255,255,255,.13);text-align:center}.client360-kpis>div:last-child{border-right:0}.client360-kpis strong{display:block;font-size:1.05rem}.client360-kpis span{display:block;font-size:.56rem;opacity:.8;margin-top:3px}.client360-nav{display:flex;gap:6px;overflow-x:auto;padding:7px;background:#fff;border:1px solid #e2ebf0;border-radius:13px;margin-bottom:18px;position:sticky;top:74px;z-index:8}.client360-nav a{flex:0 0 auto;text-decoration:none;color:#5c788d;font-size:.62rem;font-weight:750;padding:8px 10px;border-radius:8px}.client360-nav a:hover{background:#eef7fb;color:#146b9e}.client360-summary{margin-bottom:18px}.client-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.client-detail-grid>div{display:grid;padding:11px;border-radius:11px;background:#f7fafc;border:1px solid #e7eef3}.client-detail-grid span{font-size:.58rem;color:#889ba9}.client-detail-grid strong{font-size:.7rem;color:#31536b;margin-top:4px}.client-note{margin-top:13px;padding:12px 14px;background:#f1f8fb;border-left:3px solid #1b9dbc;border-radius:9px;font-size:.67rem;color:#55758a;line-height:1.5}.client-structure-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.client-structure-list>div{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #e4edf2;border-radius:11px;color:#1b7ca9}.client-structure-list span{display:grid}.client-structure-list strong{font-size:.82rem;color:#31546d}.client-structure-list small{font-size:.56rem;color:#8a9aa6}.client360-section{margin-bottom:18px;scroll-margin-top:140px}.client-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.client-structure-card{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start;padding:14px;border:1px solid #e3ebf0;border-radius:14px;background:#fbfdfe}.client-card-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#edf7fb;color:#1876a8}.client-structure-card h3{font-size:.75rem;color:#31546d;margin:6px 0 3px}.client-structure-card p,.client-structure-card small{font-size:.59rem;color:#8698a5;margin:0}.client-org-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:18px}.subsection-title{font-size:.72rem;color:#45687d;margin:0 0 8px}.client-area-list,.client-position-list{display:grid}.client-area-list article,.client-position-list article{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f5}.client-position-list article{grid-template-columns:1fr auto auto}.client-area-list article:last-child,.client-position-list article:last-child{border-bottom:0}.client-area-list strong,.client-position-list strong{font-size:.68rem;color:#35566d}.client-area-list small,.client-position-list small{display:block;font-size:.57rem;color:#899aa6;margin-top:2px}.profile360-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile360-card{padding:15px;border:1px solid #e1eaf0;border-radius:14px;background:#fbfdfe}.profile360-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.profile360-top>div{display:flex;align-items:center;gap:8px}.profile360-top h3{font-size:.75rem;color:#31546d;margin:0}.profile360-card>p{font-size:.61rem;color:#7b91a0;line-height:1.45}.profile360-meta{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}.profile360-meta span{font-size:.56rem;background:#eff5f8;color:#607a8d;padding:4px 7px;border-radius:999px}.risk-chip-row{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 12px}.risk-chip{font-size:.54rem;padding:4px 7px;border-radius:999px;background:#edf3f6;color:#60788b}.risk-chip.risk-high{background:#fff3df;color:#9c660e}.risk-chip.risk-critical{background:#fdecee;color:#a23542}.risk-chip.risk-medium{background:#edf6ff;color:#226995}.risk-chip.risk-low{background:#e9f8f2;color:#16805e}.contact360-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact360-grid article{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:12px;border:1px solid #e4edf2;border-radius:13px}.contact360-grid strong{display:block;font-size:.69rem;color:#34566d}.contact360-grid small{display:block;font-size:.58rem;color:#8195a4}.contact360-grid p{font-size:.56rem;color:#8a9ca8;margin:3px 0 0}.client-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.form-section-title{font-size:.68rem;font-weight:850;color:#365c74;margin:17px 0 9px;padding-top:12px;border-top:1px solid #edf2f5}
@media(max-width:980px){.client360-hero{grid-template-columns:1fr}.client360-kpis{grid-template-columns:repeat(5,1fr)}.client-card-grid{grid-template-columns:repeat(2,1fr)}.client-org-grid{grid-template-columns:1fr}.client-detail-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.client-table{min-width:0}.client360-kpis{grid-template-columns:repeat(2,1fr)}.client360-kpis>div{border-bottom:1px solid rgba(255,255,255,.13)}.client-card-grid,.profile360-grid,.contact360-grid,.client-choice-grid{grid-template-columns:1fr}.client-detail-grid{grid-template-columns:1fr}.client360-nav{top:62px}.contact360-grid article{grid-template-columns:auto 1fr auto}.contact360-grid .icon-action{grid-column:3}}
@media(max-width:500px){.client360-hero{padding:18px}.client360-identity{align-items:flex-start}.client360-logo{width:52px;height:52px;border-radius:15px}.client360-kpis{grid-template-columns:1fr 1fr}.client360-kpis>div:last-child{grid-column:1/-1}.client-structure-card{grid-template-columns:auto 1fr}.client-structure-card>.icon-action{grid-column:2;justify-self:end}}

.span-2{grid-column:1/-1}.choice-card{display:flex;gap:9px;align-items:flex-start;padding:10px 11px;border:1px solid #e0e9ef;border-radius:11px;background:#fbfdfe;cursor:pointer}.choice-card input{margin-top:2px;accent-color:var(--tenant-primary,#0b4fd7)}.choice-card span{display:grid}.choice-card strong{font-size:.66rem;color:#31546d}.choice-card small{font-size:.57rem;color:#8799a7;margin-top:2px}.filter-select{border:1px solid #d9e5ed;border-radius:10px;background:#fff;color:#47677e;padding:9px 11px;font-size:.7rem}

/* FASE 06 — Protocolos Ocupacionales Inteligentes */
.protocol-stats-grid{margin-bottom:18px}.protocol-filter-panel{margin-bottom:15px}.protocol-filter-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr auto;gap:10px;align-items:end}.protocol-filter-grid .field{margin:0}.protocol-filter-btn{height:40px}.protocol-table{min-width:1080px}.protocol-builder-drawer{width:min(940px,94vw)}.protocol-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.protocol-exam-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.protocol-option.is-hidden{display:none}.protocol-simulation-panel{margin-bottom:18px}.protocol-match-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.protocol-match-card{display:block;text-decoration:none;border:1px solid #e1ebf1;border-radius:14px;padding:14px;color:inherit;background:#fbfdfe;transition:.18s}.protocol-match-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,82,126,.09)}.protocol-match-card.is-best{border-color:#7ed4df;background:linear-gradient(180deg,#f0fcfd,#fff)}.protocol-match-card>div{display:flex;justify-content:space-between;align-items:center}.protocol-match-card>div span{font-size:.51rem;font-weight:850;letter-spacing:.08em;color:#1b8ca8}.protocol-match-card>div strong{font-size:1.05rem;color:#126ca3}.protocol-match-card h3{font-size:.72rem;color:#31546d;margin:11px 0 4px}.protocol-match-card p{font-size:.57rem;color:#8396a4;margin:0}.protocol-match-card ul{padding-left:16px;margin:10px 0 0;color:#6e8494;font-size:.55rem;line-height:1.55}.protocol360-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;background:linear-gradient(135deg,#0a4ab8,#08aeca);color:#fff;border-radius:20px;padding:23px;margin-bottom:16px;box-shadow:0 16px 36px rgba(12,86,151,.15)}.protocol360-main h2{font-size:1.25rem;margin:9px 0 4px}.protocol360-main h2 small{font-size:.65rem;opacity:.75}.protocol360-main>p{font-size:.67rem;opacity:.86;line-height:1.5;max-width:760px}.protocol360-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.protocol360-meta span{display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);padding:6px 8px;border-radius:8px;font-size:.56rem}.protocol360-kpis{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.1);border-radius:15px;overflow:hidden}.protocol360-kpis div{padding:16px 12px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);text-align:center}.protocol360-kpis div:nth-child(2n){border-right:0}.protocol360-kpis div:nth-last-child(-n+2){border-bottom:0}.protocol360-kpis strong{display:block;font-size:.95rem}.protocol360-kpis span{font-size:.55rem;opacity:.8}.protocol360-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:15px;margin-bottom:15px}.protocol-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.protocol-rule-grid article{padding:11px;border:1px solid #e5edf2;border-radius:11px;background:#f9fbfc}.protocol-rule-grid span,.protocol-rule-grid small{display:block;font-size:.55rem;color:#899aa6}.protocol-rule-grid strong{display:block;font-size:.69rem;color:#31546d;margin:4px 0}.protocol-control-list{display:grid}.protocol-control-list>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #edf2f5;font-size:.62rem}.protocol-control-list span{color:#8295a3}.protocol-control-list strong{color:#375a70}.protocol-status-form{display:flex;gap:7px;margin-top:13px}.protocol-status-form select{flex:1;border:1px solid #d9e5ed;border-radius:9px;padding:8px;font-size:.62rem}.protocol-section{margin-bottom:15px}.protocol-item-list{display:grid}.protocol-item-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f5}.protocol-item-list article:last-child{border-bottom:0}.protocol-item-list strong{display:block;font-size:.66rem;color:#34566d}.protocol-item-list small{display:block;font-size:.56rem;color:#8799a6;margin-top:2px}.protocol-item-list.compact article{padding:8px 0;color:#1678a5}.protocol-risk-row{margin:0 0 14px}.protocol-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.protocol-service-grid article{display:flex;align-items:center;gap:9px;border:1px solid #e4edf2;border-radius:11px;padding:10px;color:#1879a7}.protocol-service-grid strong{display:block;font-size:.64rem;color:#34566d}.protocol-service-grid small{font-size:.55rem;color:#8a9ba7}.protocol-revision-list{display:grid}.protocol-revision-list article{display:flex;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f5}.protocol-revision-list article:last-child{border-bottom:0}.version-badge{min-width:38px;text-align:center;background:#edf7fb;color:#1676a5;border-radius:8px;padding:7px 5px;font-size:.58rem;font-weight:850}.protocol-revision-list strong{display:block;font-size:.65rem;color:#35566d}.protocol-revision-list small{display:block;font-size:.55rem;color:#8a9aa6;margin-top:2px}.pricing-editor-list{display:grid;gap:9px}.pricing-editor-list article{padding:12px;border:1px solid #e3ecf2;border-radius:12px;background:#fbfdfe}.pricing-exam-title{margin-bottom:8px}.pricing-exam-title strong{display:block;font-size:.68rem;color:#31546d}.pricing-exam-title small{font-size:.56rem;color:#8698a5}.compact-toggle{align-self:end;margin-bottom:4px}.empty-copy{font-size:.6rem;color:#8b9aa6}.empty-table{text-align:center;padding:28px!important;color:#8497a5!important}.form-grid.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1120px){.protocol-filter-grid{grid-template-columns:repeat(2,1fr)}.protocol-filter-btn{grid-column:1/-1;width:max-content}.protocol-match-grid{grid-template-columns:repeat(2,1fr)}.protocol-service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.protocol360-hero,.protocol360-grid{grid-template-columns:1fr}.protocol-rule-grid{grid-template-columns:repeat(2,1fr)}.protocol-table{min-width:0}}
@media(max-width:700px){.protocol-choice-grid,.protocol-exam-choice-grid,.protocol-match-grid,.protocol-service-grid,.protocol-filter-grid{grid-template-columns:1fr}.protocol-rule-grid{grid-template-columns:1fr}.protocol-filter-btn{width:100%}.protocol360-hero{padding:18px}.form-grid.three-col{grid-template-columns:1fr}.protocol-status-form{flex-direction:column}}


/* FASE 07 — Trabajadores + Paciente 360° */
.worker-stats-grid{margin-bottom:18px}.worker-list-panel{margin-bottom:18px}.worker-quick-search{margin:0 0 14px}.worker-quick-search form{max-width:720px}.worker-quick-search .search-box{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:1px solid #dce7ee;border-radius:12px;padding:6px 7px 6px 11px;background:#fbfdfe;color:#6d8799}.worker-quick-search input{border:0!important;background:transparent!important;box-shadow:none!important;padding:8px 3px!important}.worker-table{min-width:1050px}.worker-name-cell{display:flex;gap:9px;align-items:center}.worker-mini-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:linear-gradient(135deg,var(--tenant-primary,#0b4fd7),var(--tenant-secondary,#08b8cf));display:grid;place-items:center;color:#fff;font-weight:850;font-size:.62rem;overflow:hidden}.worker-mini-avatar img{width:100%;height:100%;object-fit:cover}.worker-drawer{width:min(940px,95vw)}.import-note{padding:14px;border-radius:13px;background:#eef8fb;border:1px solid #d4edf3;margin-bottom:14px;color:#496c7e}.import-note strong{font-size:.7rem;color:#1c6f92}.import-note p{font-size:.62rem;margin:5px 0}.import-note small{font-size:.56rem;line-height:1.55;display:block}.pagination{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid #edf2f5;margin-top:8px}.pagination>span{font-size:.6rem;color:#7c92a1}.pagination>div{display:flex;gap:7px}
.worker360-hero{display:grid;grid-template-columns:1.45fr .75fr;gap:18px;background:linear-gradient(135deg,#084bb7,#08afc8);color:#fff;border-radius:21px;padding:24px;margin-bottom:15px;box-shadow:0 18px 38px rgba(10,83,149,.16)}.worker360-identity{display:flex;gap:15px;align-items:center}.worker360-avatar{width:82px;height:82px;border-radius:22px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;overflow:hidden;flex:0 0 82px}.worker360-avatar img{width:100%;height:100%;object-fit:cover}.worker360-avatar span{font-size:1.25rem;font-weight:900}.worker360-badges{display:flex;gap:6px;flex-wrap:wrap}.worker360-main h2{font-size:1.2rem;margin:8px 0 3px}.worker360-main p{font-size:.65rem;opacity:.82;margin:0}.worker360-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.worker360-meta span{display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);padding:6px 8px;border-radius:9px;font-size:.56rem}.worker360-kpis{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.1);overflow:hidden}.worker360-kpis div{text-align:center;padding:16px 9px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.worker360-kpis div:nth-child(2n){border-right:0}.worker360-kpis div:nth-last-child(-n+2){border-bottom:0}.worker360-kpis strong{display:block;font-size:.82rem}.worker360-kpis span{display:block;font-size:.53rem;opacity:.78;margin-top:3px}.worker360-nav{display:flex;gap:5px;overflow:auto;position:sticky;top:70px;z-index:8;background:rgba(244,248,251,.94);backdrop-filter:blur(10px);padding:7px 0 11px;margin-bottom:5px}.worker360-nav a{text-decoration:none;white-space:nowrap;padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #e0eaf0;color:#557188;font-size:.58rem;font-weight:750}.worker360-grid{display:grid;grid-template-columns:1.5fr .65fr;gap:15px;margin-bottom:15px}.worker-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.worker-detail-grid>div{padding:10px 8px;border-bottom:1px solid #edf2f5}.worker-detail-grid span,.worker-employment-grid span{display:block;font-size:.53rem;color:#899ca9}.worker-detail-grid strong,.worker-employment-grid strong{display:block;font-size:.66rem;color:#34576e;margin-top:3px}.worker-contact-emergency{display:flex;gap:10px;align-items:center;padding:12px;border-radius:13px;background:#f5fafc}.worker-contact-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e9f5fa;color:#1781a5}.worker-contact-emergency strong{font-size:.68rem;color:#31566e}.worker-contact-emergency p{font-size:.58rem;color:#7e94a3;margin:3px 0}.worker-note{margin-top:12px;padding-top:12px;border-top:1px solid #edf2f5}.worker-note strong{font-size:.61rem;color:#496b80}.worker-note p{font-size:.58rem;color:#7b91a0;line-height:1.5}.worker360-section{margin-bottom:15px;scroll-margin-top:125px}.worker-employment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.worker-employment-grid article{padding:11px;border:1px solid #e4edf2;border-radius:12px;background:#fbfdfe}.worker-employment-grid small{display:block;font-size:.52rem;color:#92a2ad;margin-top:3px}.worker-job-timeline{margin-top:16px;border-top:1px solid #edf2f5;padding-top:13px}.worker-job-timeline h3{font-size:.67rem;color:#385c72}.worker-job-timeline article{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;padding:8px 0}.timeline-dot{width:9px;height:9px;border-radius:50%;background:var(--tenant-secondary,#08b8cf);margin-top:4px;box-shadow:0 0 0 4px #e9f8fb}.worker-job-timeline strong{display:block;font-size:.62rem;color:#3a5c71}.worker-job-timeline small{display:block;font-size:.53rem;color:#8799a6;margin-top:2px}.worker-risk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.worker-risk-card{border:1px solid #e2ebf1;border-left:4px solid #8ca7b7;border-radius:12px;padding:12px;background:#fbfdfe}.worker-risk-card.risk-low{border-left-color:#21a978}.worker-risk-card.risk-medium{border-left-color:#2c8ac1}.worker-risk-card.risk-high{border-left-color:#e39b22}.worker-risk-card.risk-critical{border-left-color:#d95361}.worker-risk-card>div{display:flex;justify-content:space-between;gap:8px}.worker-risk-card h3{font-size:.68rem;color:#34566d;margin:9px 0 4px}.worker-risk-card p{font-size:.55rem;color:#8397a4;line-height:1.45}.worker-risk-card small{font-size:.5rem;color:#95a4ae}.worker-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.worker-document-grid article{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid #e3edf2;border-radius:12px;padding:11px}.worker-doc-icon{width:37px;height:37px;border-radius:10px;background:#eef7fb;color:#187fa5;display:grid;place-items:center}.worker-document-grid strong{display:block;font-size:.64rem;color:#34566d}.worker-document-grid small{display:block;font-size:.52rem;color:#899aa6;margin-top:2px}.worker-document-grid p{font-size:.51rem;color:#9aa7b0;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.empty-state{grid-column:1/-1;padding:25px;text-align:center;border:1px dashed #dce7ed;border-radius:13px;color:#8094a2}.empty-state strong{font-size:.67rem;color:#4e6c80}.empty-state p{font-size:.57rem;margin:5px 0 0}.worker-dashboard-strip{margin-top:14px}
@media(max-width:980px){.worker360-hero,.worker360-grid{grid-template-columns:1fr}.worker-employment-grid,.worker-risk-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.worker-table{min-width:0}.worker360-nav{top:62px}.worker-employment-grid,.worker-risk-grid,.worker-document-grid,.worker-detail-grid{grid-template-columns:1fr}.worker360-hero{padding:18px}.worker360-identity{align-items:flex-start}.worker360-avatar{width:64px;height:64px;flex-basis:64px;border-radius:17px}.worker-quick-search .search-box{grid-template-columns:auto 1fr}.worker-quick-search .search-box .btn{grid-column:1/-1;width:100%}.pagination{align-items:flex-start;gap:10px;flex-direction:column}}


/* FASE 08 — Admisión, Citas y Órdenes */
.admission-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.section-tabs a{padding:10px 14px;border-radius:12px;text-decoration:none;color:#5c7488;font-weight:750;border:1px solid #dce8ef;background:#fff}.section-tabs a.active{background:linear-gradient(90deg,var(--tenant-primary,#0b4fd7),var(--tenant-secondary,#08b8cf));color:#fff;border-color:transparent;box-shadow:0 8px 24px #0b4fd720}.admission-timeline{display:grid}.admission-row{display:grid;grid-template-columns:105px minmax(260px,1.5fr) minmax(210px,1fr) auto;gap:16px;align-items:center;padding:15px 4px;border-bottom:1px solid #edf3f6}.admission-row:last-child{border-bottom:0}.admission-time strong{display:block;font-size:20px;color:#0e365d}.admission-time span,.admission-person small,.admission-protocol small{display:block;color:#7990a1;font-size:12px;margin-top:3px}.admission-person{display:flex;align-items:center;gap:11px}.admission-person strong{display:block;color:#153a5e}.admission-protocol{display:grid;gap:5px;justify-items:start}.admission-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end}.admission-actions form{margin:0}.inline-filter{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.inline-filter input,.inline-filter select{height:38px;border:1px solid #d9e6ed;border-radius:9px;padding:0 10px;background:#fff;color:#2d4a62}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:10px;overflow-x:auto;padding-bottom:5px}.week-day{min-height:310px;border:1px solid #e0eaf0;border-radius:15px;background:#f9fbfd;padding:10px}.week-day.is-today{border:2px solid var(--tenant-secondary,#08b8cf);background:#f1fcfe}.week-day>header{display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid #e6eef3;padding:2px 2px 8px;margin-bottom:8px}.week-day>header span{font-size:11px;font-weight:850;color:#7890a2}.week-day>header strong{font-size:20px;color:#123c64}.week-day>header small{grid-column:1/-1;font-size:10px;color:#93a4b1}.week-event{position:relative;background:#fff;border:1px solid #e4edf2;border-radius:10px;padding:8px 9px 8px 12px;margin-bottom:6px;box-shadow:0 3px 10px #123b5a08}.week-event strong{display:block;font-size:11px;line-height:1.25;color:#173c5e}.week-event small{display:block;font-size:9.5px;color:#8195a4;margin-top:3px}.dot-status{position:absolute;width:5px;border-radius:5px;left:3px;top:8px;bottom:8px;background:#8aa0ae}.dot-status.success{background:#18a36f}.dot-status.warning{background:#e59a27}.dot-status.info{background:#1c8fd0}.dot-status.danger{background:#df525a}.calendar-nav{display:flex;gap:6px;flex-wrap:wrap}.mini-progress{width:90px;height:6px;border-radius:10px;background:#eaf0f4;overflow:hidden}.mini-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--tenant-primary,#0b4fd7),var(--tenant-secondary,#08b8cf));border-radius:10px}.smart-note{padding:13px 14px;border:1px solid #cfeaf0;background:#f2fbfd;border-radius:12px;color:#31576f}.smart-note strong{display:block;color:#087996;margin-bottom:3px}.smart-note p{font-size:12px;line-height:1.5;margin:0}.order-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(125deg,#ffffff,#f1f9fc);border:1px solid #dae9ef;border-radius:20px;padding:20px 22px;margin-bottom:18px}.order-patient{display:flex;gap:15px;align-items:center}.worker-profile-avatar{width:74px;height:74px;border-radius:20px;background:linear-gradient(145deg,var(--tenant-primary,#0b4fd7),var(--tenant-secondary,#08b8cf));display:grid;place-items:center;color:#fff;font-size:22px;font-weight:900;overflow:hidden}.worker-profile-avatar img{width:100%;height:100%;object-fit:cover}.order-patient h2{margin:5px 0 2px;color:#10395f}.order-patient p{margin:0 0 7px;color:#758b9c}.order-qr-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dce8ee;border-radius:15px;padding:10px 13px}.order-qr-card canvas,.order-qr-card img{width:88px!important;height:88px!important}.order-qr-card strong{display:block;color:#173c5e}.order-qr-card small{color:#7d91a0}.order-grid{align-items:start}.order-exam-list{display:grid}.order-exam-list article{display:grid;grid-template-columns:42px 1fr auto 100px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #edf2f5}.order-exam-list article:last-child{border-bottom:0}.sequence-badge{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eaf4fb;color:#1471ae;font-size:11px;font-weight:900}.order-exam-list strong{color:#193d5d}.order-exam-list small{display:block;color:#8194a2;margin-top:2px}.order-exam-price{text-align:right}.public-med-page{margin:0;background:radial-gradient(circle at 80% 10%,#ddf7fb 0,transparent 34%),#f2f7fa;color:#173c5d}.public-med-wrap{min-height:100vh;display:grid;place-items:center;padding:22px}.prereg-card{width:min(760px,100%);background:#fff;border:1px solid #dce8ee;border-radius:24px;box-shadow:0 25px 70px #154a6c18;overflow:hidden}.prereg-header{display:flex;justify-content:space-between;align-items:center;padding:24px 26px;border-bottom:1px solid #edf2f5}.prereg-brand{font-size:25px;font-weight:900;color:#0b55cf}.prereg-brand span{display:block;font-size:10px;letter-spacing:.12em;color:#119bb2;text-transform:uppercase}.prereg-appointment{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#f7fafc;padding:17px 26px}.prereg-appointment span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#8a9ba8;font-weight:850}.prereg-appointment strong{display:block;margin:4px 0;color:#163d61}.prereg-appointment small{display:block;color:#7890a1}.prereg-form{display:grid;gap:15px;padding:24px 26px}.prereg-form h2{margin:0;color:#133c62}.prereg-form p{margin:5px 0 0;color:#748b9d;line-height:1.5}.consent-check{display:flex;gap:10px;align-items:flex-start;padding:13px;background:#f3f8fb;border-radius:12px;font-size:12px;color:#536f83;line-height:1.45}.consent-check input{margin-top:3px}.prereg-submit{width:100%;justify-content:center}.prereg-card footer{padding:13px 26px;text-align:center;color:#93a4b1;font-size:10px;border-top:1px solid #edf2f5}.prereg-success{display:flex;gap:16px;align-items:center;padding:32px 26px;color:#12825f}.prereg-success.expired{color:#b5464d}.prereg-success h2{margin:0 0 5px}.prereg-success p{margin:0;color:#71899b}.empty-state.compact{padding:30px;text-align:center;color:#7890a2}.empty-state.compact strong{display:block;color:#284d6b;margin-bottom:5px}
@media(max-width:980px){.admission-row{grid-template-columns:78px 1fr 1fr}.admission-actions{grid-column:2/-1;justify-content:flex-start}.week-grid{grid-template-columns:repeat(7,170px)}.order-hero{align-items:flex-start}.order-exam-list article{grid-template-columns:42px 1fr auto}.order-exam-price{grid-column:2/-1;text-align:left;font-size:12px}}
@media(max-width:680px){.admission-row{grid-template-columns:62px 1fr;gap:10px}.admission-protocol,.admission-actions{grid-column:2}.admission-time strong{font-size:16px}.order-hero{display:grid}.order-qr-card{justify-self:stretch}.prereg-appointment{grid-template-columns:1fr}.prereg-header{padding:20px}.prereg-form{padding:20px}.order-exam-list article{grid-template-columns:34px 1fr}.order-exam-list article>.badge,.order-exam-price{grid-column:2}.inline-filter{width:100%}.inline-filter input,.inline-filter select{width:100%}}

.checkin-public-main{text-align:center;padding:34px 26px}.checkin-public-main>svg{color:#18a36f}.checkin-public-main h1{margin:10px 0 4px;color:#153d61}.checkin-public-main p{margin:0 0 18px;color:#7890a2}.checkin-code{display:inline-block;padding:10px 18px;border-radius:12px;background:#ecf7fb;color:#116e9c;font-size:18px;font-weight:900;letter-spacing:.06em;margin-bottom:20px}.checkin-public-main dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left;margin:0 auto 20px;max-width:560px}.checkin-public-main dl div{padding:12px;border:1px solid #e3edf2;border-radius:12px}.checkin-public-main dt{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8ba0ae;font-weight:850}.checkin-public-main dd{margin:4px 0 0;color:#244b69;font-weight:750}.checkin-public-main>small{display:block;max-width:560px;margin:auto;color:#8a9dab;line-height:1.45}@media(max-width:560px){.checkin-public-main dl{grid-template-columns:1fr}}

.worker-admission-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.worker-admission-grid>div{min-width:0}.worker-admission-grid h3{font-size:13px;color:#284e6c;margin:0 0 9px}.worker-admission-grid article{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f5}.worker-admission-grid article:last-child{border-bottom:0}.worker-admission-grid article strong{display:block;font-size:12px;color:#173e60}.worker-admission-grid article small{display:block;color:#8094a3;font-size:10.5px;margin-top:2px}@media(max-width:780px){.worker-admission-grid{grid-template-columns:1fr}}

/* FASE 09 — Circuito Clínico + Colas */
.circuit-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.section-tabs a.is-active{background:linear-gradient(90deg,var(--tenant-primary,#0b4fd7),var(--tenant-secondary,#08b8cf));color:#fff;border-color:transparent;box-shadow:0 8px 24px #0b4fd720}.circuit-board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.station-board-card{padding:18px}.station-board-card.station-paused{opacity:.68}.station-board-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid #edf2f5;padding-bottom:12px}.station-board-head h2{font-size:1rem;color:#173e60;margin:4px 0 2px}.station-board-head p{font-size:.68rem;color:#8094a4;margin:0}.station-code{font-size:.62rem;color:var(--tenant-secondary,#089cb4);font-weight:900;letter-spacing:.1em}.station-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:13px 0}.station-kpis span{display:grid;gap:2px;background:#f7fafc;border:1px solid #e8eef2;border-radius:10px;padding:8px;text-align:center}.station-kpis b{color:#173e60;font-size:.9rem}.station-kpis small{font-size:.55rem;color:#879ba9}.station-call-form{display:flex;justify-content:flex-end;margin-bottom:8px}.station-queue-list{display:grid;gap:7px}.queue-person{display:grid;grid-template-columns:66px minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid #e5edf2;border-radius:12px;padding:9px;background:#fff}.queue-person.queue-status-called{border-color:#bfe5f1;background:#f4fcfe}.queue-person.queue-status-in_service{border-color:#f1d7a3;background:#fffaf1}.queue-person.queue-status-observed{border-color:#efc4c7;background:#fff8f8}.queue-ticket{display:grid;place-items:center;background:#eef6fb;border-radius:9px;padding:7px 5px}.queue-ticket strong{font-size:.85rem;color:#135f9b}.queue-ticket small{font-size:.48rem;color:#8195a4}.queue-person-main strong{font-size:.72rem;color:#173e60}.queue-person-main small{display:block;font-size:.58rem;color:#7e92a2;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-time-line{display:flex;gap:9px;flex-wrap:wrap;margin-top:5px}.queue-time-line span{font-size:.53rem;color:#6e8596;display:flex;align-items:center;gap:3px}.queue-actions{display:flex;gap:4px}.queue-actions form{margin:0}.success-action{color:#118464}.warning-action{color:#c17b10}.station-empty{display:flex;align-items:center;gap:8px;color:#7390a2;padding:14px 3px;font-size:.65rem}.station-empty p{margin:0}.circuit-list{display:grid;gap:10px}.circuit-list article{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(260px,1.3fr);gap:18px;padding:15px 0;border-bottom:1px solid #edf2f5}.circuit-list article:last-child{border-bottom:0}.circuit-list h3{margin:6px 0 4px;color:#173e60;font-size:.85rem}.circuit-list p{margin:0;color:#7e92a2;font-size:.65rem;line-height:1.5}.circuit-list small{display:block;margin-top:6px;color:#8b9eaa;font-size:.56rem}.circuit-title-line{display:flex;gap:5px}.circuit-route-label{align-self:center;background:#f2f8fb;border:1px solid #dfebf1;border-radius:12px;padding:12px;color:#37627f;font-size:.66rem;line-height:1.65}.station-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.station-selector label{display:flex;gap:8px;align-items:flex-start;border:1px solid #e1ebf0;border-radius:11px;padding:9px;background:#fbfdfe;cursor:pointer}.station-selector input{margin-top:3px}.station-selector span{display:grid}.station-selector b{font-size:.53rem;color:#119bb2}.station-selector strong{font-size:.66rem;color:#244b69}.station-selector small{font-size:.55rem;color:#8497a5}.field-span-2{grid-column:1/-1}.check-line{display:flex!important;align-items:center;gap:8px}.check-line input{width:auto!important}.circuit-patient-focus{margin-bottom:16px}.patient-route-strip{display:flex;gap:8px;overflow-x:auto;padding:5px 0 11px}.route-step{min-width:130px;border:1px solid #dfe9ef;border-radius:12px;padding:9px;background:#f9fbfc;display:grid;gap:2px}.route-step>span{font-size:.5rem;color:#8b9daa;font-weight:900}.route-step strong{font-size:.65rem;color:#244b69}.route-step small{font-size:.52rem;color:#8396a4}.route-step.route-completed{background:#effaf6;border-color:#cdebdc}.route-step.route-waiting,.route-step.route-called{background:#eef9fc;border-color:#c8e8ef}.route-step.route-in_service{background:#fff8e9;border-color:#eed9aa}.route-step.route-observed{background:#fff4f4;border-color:#edcaca}.route-suggestion{display:flex;gap:10px;align-items:center;background:#edf8fb;border:1px solid #cde7ee;color:#176c8b;padding:11px 13px;border-radius:12px}.route-suggestion div{display:grid}.route-suggestion strong{font-size:.7rem}.route-suggestion span{font-size:.58rem;margin-top:2px;color:#68899b}.queue-inline{font-size:.63rem;color:#678195}.queue-monitor-page{margin:0;background:linear-gradient(145deg,#061c31,#0a365a);color:#fff;min-height:100vh;font-family:Arial,sans-serif}.queue-monitor-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto auto;padding:clamp(20px,3vw,42px);gap:22px}.queue-monitor-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.queue-monitor-header .eyebrow{color:#54d8ec}.queue-monitor-header h1{font-size:clamp(1.8rem,3vw,3.2rem);margin:5px 0 4px}.queue-monitor-header p{margin:0;color:#b8d1e2;font-size:clamp(.8rem,1.2vw,1.05rem)}.monitor-live{display:flex;align-items:center;gap:8px;border:1px solid #ffffff33;border-radius:999px;padding:9px 14px;font-size:.72rem;font-weight:900}.monitor-live .pulse{width:9px;height:9px;background:#31d49a;border-radius:50%;box-shadow:0 0 0 6px #31d49a22}.monitor-calls-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-content:start}.monitor-call{min-height:160px;border:1px solid #ffffff22;border-radius:20px;padding:20px;background:#ffffff0c;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}.monitor-call.is-called{background:linear-gradient(135deg,#0b62b8aa,#08b8cf55);border-color:#54d8ec77}.monitor-call.is-service{background:linear-gradient(135deg,#76530f77,#d69b2433);border-color:#e6bb5a66}.monitor-ticket{font-size:clamp(2.4rem,4vw,4.8rem);font-weight:950;letter-spacing:-.04em;grid-column:1/-1}.monitor-call strong{display:block;font-size:1.15rem}.monitor-call small{display:block;color:#c9dce8;margin-top:4px}.monitor-state{justify-self:end;font-size:.65rem;font-weight:900;letter-spacing:.08em;color:#e9fbff}.monitor-empty{grid-column:1/-1;min-height:350px;display:grid;place-items:center;align-content:center;text-align:center;color:#aac6d9}.monitor-empty h2{margin:10px 0 4px;color:#fff}.monitor-empty p{margin:0}.monitor-recent{border-top:1px solid #ffffff22;padding-top:16px}.monitor-recent h2{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#9dc2d8}.monitor-recent>div{display:flex;gap:8px;flex-wrap:wrap}.monitor-recent span{display:flex;gap:7px;background:#ffffff0d;border:1px solid #ffffff1c;border-radius:10px;padding:8px 10px;color:#bcd4e2;font-size:.7rem}.monitor-recent b{color:#fff}.monitor-footer{display:flex;justify-content:space-between;color:#8fb2c8;font-size:.7rem}.monitor-footer strong{color:#fff;letter-spacing:.06em}.circuit-dashboard-strip{margin-top:14px}
@media(max-width:1050px){.circuit-board-grid{grid-template-columns:1fr}.monitor-calls-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.station-kpis{grid-template-columns:repeat(2,1fr)}.queue-person{grid-template-columns:58px 1fr auto}.queue-actions{grid-column:2/-1;justify-content:flex-end}.circuit-list article{grid-template-columns:1fr}.station-selector{grid-template-columns:1fr}.monitor-calls-grid{grid-template-columns:1fr}.queue-monitor-header{align-items:flex-start}.monitor-live{flex:none}.monitor-call{min-height:130px}.queue-monitor-shell{padding:18px}.patient-route-strip{margin-right:-14px}}

/* NovaMed v1.8.2 — blindaje visual de drawers cerrados */
html,body{max-width:100%;overflow-x:hidden}
body:not(.drawer-open) .drawer{
  box-shadow:none!important;
  filter:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate3d(calc(100% + 140px),0,0)!important;
}
body.drawer-open .drawer.is-open{
  opacity:1!important;
  visibility:visible!important;
  transform:translate3d(0,0,0)!important;
  box-shadow:-24px 0 70px rgba(10,39,62,.18)!important;
}
body:not(.drawer-open) .drawer-backdrop{opacity:0!important;visibility:hidden!important;pointer-events:none!important;backdrop-filter:none!important}


/* FASE 10 — Atenciones Médico-Ocupacionales */
.clinical-stats{margin-bottom:18px}.clinical-worklist-panel{margin-bottom:18px}.clinical-worklist{display:grid;gap:10px}.clinical-work-item{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px;border:1px solid #e2ebf1;border-radius:14px;background:#fff}.queue-number-box{display:grid;gap:3px;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#edf6ff,#ecfbfb);border:1px solid #d8eaf3}.queue-number-box strong{color:#0c59bb;font-size:.9rem}.queue-number-box small{font-size:.65rem;color:#688297}.clinical-work-main{min-width:0}.clinical-work-title{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.clinical-work-title h3{margin:0;color:#214a69;font-size:.9rem}.clinical-work-main p{margin:4px 0 2px;color:#5e788d;font-size:.75rem}.clinical-work-main>small{font-size:.64rem;color:#8a9daa}.clinical-work-action{display:flex;align-items:center;gap:8px}.compact-filter-links{display:flex;gap:7px;flex-wrap:wrap}.compact-filter-links a{font-size:.68rem;text-decoration:none;padding:6px 9px;border-radius:999px;background:#f1f7fa;color:#3d6985}.clinical-builder-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;align-items:start}.template-list-panel{padding:14px}.template-list{display:grid;gap:7px}.template-list-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid #e4edf2;border-radius:12px;text-decoration:none}.template-list-item.is-active{border-color:#8ed9e4;background:#effbfc;box-shadow:inset 3px 0 0 var(--cyan)}.template-code{font-size:.58rem;font-weight:900;color:#087db1;background:#e8f7fc;padding:5px 6px;border-radius:7px}.template-list-item div{display:grid;min-width:0}.template-list-item strong{font-size:.75rem;color:#31546d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-list-item small{font-size:.61rem;color:#8a9ba8;margin-top:2px}.clinical-builder-main{min-height:520px}.format-meta-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e5edf2;border:1px solid #e5edf2;border-radius:13px;overflow:hidden;margin-bottom:18px}.format-meta-strip span{background:#f8fbfd;padding:11px;display:grid;font-size:.69rem;color:#537187}.format-meta-strip b{font-size:.58rem;color:#8da0ae;text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px}.field-builder-table{display:grid}.field-section-title{padding:10px 4px 6px;font-size:.66rem;color:#1183aa;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.field-builder-row{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:12px;align-items:center;padding:10px 5px;border-bottom:1px solid #eaf0f4}.field-builder-row>div:first-child{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:9px}.field-builder-row strong{font-size:.76rem;color:#31536c}.field-builder-row small{grid-column:2;font-size:.61rem;color:#8a9da9}.field-order{grid-row:1/3;width:28px;height:28px;border-radius:8px;background:#eef6fa;display:grid;place-items:center;font-size:.6rem;color:#4b748e}.field-reference{font-size:.67rem;color:#678092}.patient-clinical-banner{display:grid;grid-template-columns:auto minmax(180px,1.3fr) repeat(3,minmax(150px,1fr));gap:14px;align-items:center;padding:14px 16px;margin-bottom:10px;background:#fff;border:1px solid #dde8ef;border-radius:16px;box-shadow:var(--shadow)}.patient-clinical-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--tenant-primary,#0d55cf),var(--tenant-secondary,#08b8cf))}.patient-clinical-banner>div:not(.patient-clinical-avatar){display:grid}.patient-clinical-banner strong{font-size:.9rem;color:#214967}.patient-clinical-banner span{font-size:.65rem;color:#8095a5;margin-top:3px}.patient-clinical-banner small{font-size:.58rem;color:#8da0ad;text-transform:uppercase;letter-spacing:.06em}.patient-clinical-banner b{font-size:.7rem;color:#3c627a;margin-top:4px}.clinical-exam-strip{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 16px}.clinical-exam-strip span{display:flex;gap:6px;align-items:center;padding:7px 9px;background:#eef7fb;border:1px solid #dceaf1;border-radius:999px;color:#55768a;font-size:.64rem}.clinical-exam-strip b{color:#0b65a7}.clinical-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.clinical-workspace-main{display:grid;gap:18px}.clinical-workspace-main form{display:grid;gap:18px}.clinical-form-section{margin:0}.clinical-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.clinical-field label>small{float:right;color:#8196a6;font-size:.62rem}.clinical-field.is-abnormal{padding:10px;border:1px solid #f1c4c9;background:#fff8f8;border-radius:12px}.clinical-alert-text{display:flex;gap:5px;align-items:center;color:#bb3d4a!important;margin-top:5px}.clinical-sticky-actions{position:sticky;bottom:12px;z-index:12;display:flex;align-items:center;gap:12px;padding:10px;border:1px solid #d8e8ef;border-radius:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 15px 35px rgba(16,66,100,.12)}.clinical-sticky-actions span{font-size:.65rem;color:#8397a6}.clinical-workspace-side{display:grid;gap:14px;position:sticky;top:92px}.clinical-side-card{padding:15px}.clinical-mini-list{display:grid}.clinical-mini-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:9px 0;border-bottom:1px solid #edf2f5}.clinical-mini-list article:last-child{border-bottom:0}.clinical-mini-list article>div{display:grid}.clinical-mini-list strong{font-size:.7rem;color:#31536d;line-height:1.4}.clinical-mini-list small{font-size:.59rem;color:#8a9da9;margin-top:3px}.clinical-code{align-self:start;padding:5px 7px;border-radius:8px;background:#eef6ff;color:#145db2;font-size:.61rem;font-weight:900}.priority-dot{width:9px;height:9px;border-radius:50%;background:#4bb693;margin-top:5px}.priority-dot.important{background:#e89b22}.priority-dot.urgent{background:#d64b59}.signature-stamp{display:flex;gap:10px;align-items:center;padding:11px;border-radius:12px;background:linear-gradient(135deg,#edf9f5,#f2fbff);border:1px solid #d9ece7;margin-bottom:9px;color:#168060}.signature-stamp>div{display:grid}.signature-stamp strong{font-size:.72rem;color:#31546c}.signature-stamp span,.signature-stamp small{font-size:.58rem;color:#79909f;margin-top:2px}.btn-block{width:100%;justify-content:center}.clinical-close-card form{display:grid;gap:10px}.clinical-timeline{display:grid}.clinical-timeline article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:7px 0}.clinical-timeline article>span{width:8px;height:8px;border-radius:50%;background:#0ab5c8;margin-top:5px;box-shadow:0 0 0 4px #e8f8fb}.clinical-timeline article>div{display:grid}.clinical-timeline strong{font-size:.65rem;color:#34576f}.clinical-timeline small{font-size:.58rem;color:#8498a7;margin-top:2px}.clinical-timeline time{font-size:.55rem;color:#9aabb7;margin-top:2px}.clinical-status-lg{padding:8px 11px}.clinical-check{padding:10px 0}.clinical-dashboard-strip{margin-top:16px}
@media(max-width:1180px){.clinical-workspace-grid{grid-template-columns:1fr}.clinical-workspace-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.patient-clinical-banner{grid-template-columns:auto 1fr 1fr}.patient-clinical-banner>div:nth-last-child(-n+2){grid-column:auto}.clinical-builder-layout{grid-template-columns:280px 1fr}}
@media(max-width:850px){.clinical-work-item{grid-template-columns:100px 1fr}.clinical-work-action{grid-column:1/-1;justify-content:flex-end}.clinical-builder-layout{grid-template-columns:1fr}.template-list-panel{max-height:310px;overflow:auto}.format-meta-strip{grid-template-columns:repeat(2,1fr)}.field-builder-row{grid-template-columns:1fr auto}.field-reference{grid-column:1}.patient-clinical-banner{grid-template-columns:auto 1fr}.patient-clinical-banner>div:nth-child(n+3){grid-column:1/-1}.clinical-workspace-side{grid-template-columns:1fr}.clinical-field-grid{grid-template-columns:1fr}.clinical-field.field-span-2{grid-column:auto}}
@media(max-width:520px){.clinical-work-item{grid-template-columns:1fr}.queue-number-box{display:flex;justify-content:space-between}.clinical-work-action{justify-content:flex-start;flex-wrap:wrap}.field-builder-row{grid-template-columns:1fr}.format-meta-strip{grid-template-columns:1fr}.patient-clinical-banner{grid-template-columns:1fr}.patient-clinical-avatar{width:42px;height:42px}.clinical-sticky-actions{align-items:flex-start;flex-direction:column}.clinical-sticky-actions .btn{width:100%;justify-content:center}}

/* NovaMed v1.9.1 — FASE 10 Hotfix: campos clínicos */
.clinical-field{display:grid;gap:7px;min-width:0;align-content:start}
.clinical-field>label:not(.check-line){display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;color:#31546d;font-size:.72rem;font-weight:800;line-height:1.25}
.clinical-field>label:not(.check-line)>small{float:none;margin-left:auto;color:#8298a8;font-size:.62rem;font-weight:700;white-space:nowrap}
.clinical-field>input:not([type="checkbox"]),.clinical-field>select,.clinical-field>textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:42px;margin:0;border:1px solid #d7e4ec;border-radius:10px;background:#fff;color:#294b67;padding:10px 12px;font-size:.78rem;line-height:1.35;outline:none;box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.clinical-field>textarea{min-height:86px;resize:vertical}
.clinical-field>select{appearance:auto}
.clinical-field>input:not([type="checkbox"]):focus,.clinical-field>select:focus,.clinical-field>textarea:focus{border-color:var(--tenant-secondary,#08b8cf);box-shadow:0 0 0 4px rgba(8,184,207,.10)}
.clinical-field>input[readonly],.clinical-field>textarea[readonly],.clinical-field>select:disabled{background:#f4f7f9;color:#6f8798;cursor:not-allowed}
.clinical-field .field-hint{display:block;margin:0;color:#7890a1;font-size:.62rem;line-height:1.35}
.clinical-field.is-abnormal>input:not([type="checkbox"]),.clinical-field.is-abnormal>select,.clinical-field.is-abnormal>textarea{border-color:#e8aeb5;background:#fffafa}
.clinical-check{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;margin:0!important;min-height:42px;padding:9px 11px!important;border:1px solid #dce7ed;border-radius:10px;background:#fbfdfe;color:#3d6077!important}
.clinical-check input[type="checkbox"]{width:17px;height:17px;accent-color:var(--tenant-primary,#0b4fd7)}
@media(max-width:850px){.clinical-field-grid{gap:11px}.clinical-field>input:not([type="checkbox"]),.clinical-field>select,.clinical-field>textarea{font-size:.84rem;min-height:44px}}


/* FASE 11 — Laboratory Center + Psychology Builder */
.builder-split{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}.builder-sidebar{padding:14px}.builder-main{min-height:560px}.builder-list{display:grid;gap:7px}.builder-list>a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;padding:10px;border:1px solid #e1ebf1;border-radius:12px;text-decoration:none;background:#fff}.builder-list>a.is-active{border-color:#8bd8e2;background:#eefbfc;box-shadow:inset 3px 0 0 var(--tenant-secondary,#08b8cf)}.builder-list>a>div{display:grid;min-width:0}.builder-list strong{font-size:.75rem;color:#31536d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.builder-list small{font-size:.6rem;color:#859aa9;margin-top:3px}.panel-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 9px}.panel-subhead h3{margin:0;color:#274f6d;font-size:.9rem}.panel-subhead p{margin:3px 0 0;color:#8498a7;font-size:.64rem}.lab-panels-panel{margin-top:18px}.compact-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.mini-entity-card{padding:14px;border:1px solid #e1ebf1;border-radius:14px;background:#fff}.mini-entity-card h3{margin:9px 0 5px;font-size:.82rem;color:#2e536d}.mini-entity-card p{margin:0 0 9px;font-size:.63rem;color:#8297a7}.lab-encounter-list,.psych-session-list{display:grid;gap:9px}.lab-encounter-list>article{display:grid;grid-template-columns:145px minmax(0,1fr) 130px auto;align-items:center;gap:14px;border:1px solid #e1ebf1;border-radius:14px;padding:12px}.lab-patient-code{display:grid;background:#eef8fb;border:1px solid #d9edf2;border-radius:11px;padding:9px}.lab-patient-code strong{font-size:.68rem;color:#1268a3}.lab-patient-code small{font-size:.55rem;color:#86a0b0;margin-top:2px}.lab-encounter-list h3,.psych-session-list h3{font-size:.78rem;color:#2c516d;margin:0}.lab-encounter-list p,.psych-session-list p{font-size:.64rem;color:#70899b;margin:3px 0}.lab-progress{display:grid;text-align:center}.lab-progress b{font-size:.9rem;color:#1d5577}.lab-progress small{font-size:.55rem;color:#8b9eaa}.lab-sheet-form{display:grid;gap:15px}.lab-result-grid{display:grid}.lab-grid-head,.lab-grid-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(200px,1.1fr) 90px minmax(130px,.8fr) 110px;gap:12px;align-items:center}.lab-grid-head{padding:8px 9px;background:#f4f8fa;border-radius:9px;font-size:.58rem;font-weight:900;color:#7a91a2;text-transform:uppercase;letter-spacing:.05em}.lab-grid-row{padding:11px 9px;border-bottom:1px solid #edf2f5}.lab-grid-row>div:first-child{display:grid}.lab-grid-row strong{font-size:.72rem;color:#31546d}.lab-grid-row small{font-size:.56rem;color:#8a9eab;margin-top:2px}.lab-grid-row>span{font-size:.64rem;color:#607c90}.lab-result-input{display:grid;gap:5px}.lab-result-input input,.lab-result-input select{width:100%;min-height:38px;border:1px solid #d7e4eb;border-radius:9px;padding:8px 10px;color:#2e526b;background:#fff}.lab-result-note{font-size:.6rem!important;min-height:30px!important;padding:5px 8px!important;background:#f8fbfc!important}.lab-flag{display:inline-flex!important;justify-content:center;padding:6px 8px;border-radius:999px;font-weight:800}.lab-flag-normal{background:#e9f8f2;color:#11815e}.lab-flag-low,.lab-flag-high,.lab-flag-abnormal{background:#fff5df;color:#a86b0b}.lab-flag-critical_low,.lab-flag-critical_high{background:#fff0f1;color:#bb3947}.lab-flag-pending{background:#eff4f7;color:#708696}.lab-validation-card{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:16px}.lab-validation-card h2{margin:3px 0;font-size:1rem;color:#27506d}.lab-validation-card p{margin:0;font-size:.68rem;color:#8095a5}.lab-test-checks{max-height:330px;overflow:auto}.lab-test-checks label{align-items:start}.psych-session-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) 90px 105px auto;align-items:center;gap:12px;border:1px solid #e1ebf1;border-radius:14px;padding:12px}.psych-session-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#edf5ff,#eafafa);color:#1263af}.psych-session-list small{font-size:.57rem;color:#92a2ad}.psych-score{display:grid;text-align:center}.psych-score b{font-size:1rem;color:#195474}.psych-score small{font-size:.55rem;color:#8a9da9}.info-callout{display:flex;gap:10px;padding:11px;border:1px solid #d9e9f0;border-radius:12px;background:#f2f9fc;color:#19759e}.info-callout p{display:grid;margin:0}.info-callout strong{font-size:.7rem;color:#345a71}.info-callout small{font-size:.61rem;color:#7790a1;line-height:1.5;margin-top:2px}.psych-builder-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:20px}.question-builder-list{display:grid}.question-builder-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:9px 2px;border-bottom:1px solid #edf2f5}.question-builder-list article>div{display:grid}.question-builder-list strong{font-size:.7rem;color:#31526b;line-height:1.4}.question-builder-list small{font-size:.57rem;color:#8a9ca8;margin-top:2px}.psych-scale-list{display:grid;gap:7px}.psych-scale-list article{display:grid;gap:3px;padding:10px;border-radius:11px;border-left:4px solid #8ea6b5;background:#f6f9fa}.psych-scale-list b{font-size:.7rem;color:#34556c}.psych-scale-list span{font-size:.58rem;color:#7c92a2}.psych-scale-list small{font-size:.58rem;color:#7c92a2;line-height:1.4}.psych-scale-list .severity-low{border-left-color:#2db385}.psych-scale-list .severity-moderate{border-left-color:#d99b2f}.psych-scale-list .severity-high,.psych-scale-list .severity-critical{border-left-color:#d44d5d}.psych-review-grid{display:grid;grid-template-columns:minmax(0,1.4fr) 360px;gap:18px;align-items:start}.psych-review-grid>main,.psych-review-grid>aside{display:grid;gap:16px}.copy-link-box{display:flex;gap:8px}.copy-link-box input{min-width:0;flex:1;border:1px solid #d9e5ec;border-radius:10px;padding:9px 11px;color:#57748a;background:#f8fbfc}.psych-session-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.psych-session-metrics span{display:grid;padding:10px;border:1px solid #e2ebf1;border-radius:10px;background:#fbfdfe}.psych-session-metrics b{font-size:.8rem;color:#31536c}.psych-session-metrics small{font-size:.56rem;color:#8a9da9;margin-top:2px}.psych-answer-list{display:grid}.psych-answer-list article{display:grid;grid-template-columns:45px minmax(0,1fr) 60px;gap:10px;padding:10px 0;border-bottom:1px solid #edf2f5}.psych-answer-list article>span{font-size:.57rem;font-weight:900;color:#0e7eac}.psych-answer-list strong{font-size:.68rem;color:#35566d}.psych-answer-list p{margin:4px 0 0;font-size:.64rem;color:#748c9c}.psych-answer-list b{text-align:right;font-size:.72rem;color:#28546f}.psych-score-card{text-align:center;background:linear-gradient(145deg,#f4fbfd,#f7f9ff)}.psych-score-card>strong{font-size:3rem;line-height:1;color:#0d65a9;display:block;margin:12px 0}.psych-score-card p{font-size:.67rem;line-height:1.55;color:#647f92}.professional-conclusion{font-size:.7rem;line-height:1.6;color:#405f74}.professional-conclusion small{display:block;color:#8b9ca8;margin-top:9px}.public-card{width:min(860px,100%);margin:22px auto;background:#fff;border:1px solid #dfeaf0;border-radius:22px;padding:clamp(20px,4vw,38px);box-shadow:0 20px 60px rgba(19,64,93,.09)}.public-brand-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.public-brand-row img{width:150px;max-height:50px;object-fit:contain;object-position:left}.public-brand-row span{font-size:.62rem;font-weight:800;color:#0d7ca5;background:#edf9fc;padding:6px 8px;border-radius:999px}.psych-patient-head{padding:24px 0 12px}.psych-patient-head h1{font-size:clamp(1.75rem,4vw,2.7rem);margin:5px 0 9px;color:#174466}.psych-patient-head p{font-size:.8rem;line-height:1.65;color:#6b8496}.psych-patient-meta{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0 20px;color:#607d91;font-size:.68rem}.psych-patient-meta span{display:flex;align-items:center;gap:6px}.psych-patient-form{display:grid;gap:15px}.psych-patient-question{border:1px solid #dfe9ef;border-radius:15px;padding:16px;margin:0}.psych-patient-question legend{display:flex;align-items:flex-start;gap:9px;padding:0 5px}.psych-patient-question legend>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#eaf7fb;color:#0e79a7;font-size:.65rem;font-weight:900}.psych-patient-question legend strong{font-size:.8rem;color:#31536b;line-height:1.5}.psych-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.psych-choice-grid label{position:relative}.psych-choice-grid input{position:absolute;opacity:0;pointer-events:none}.psych-choice-grid span{display:block;border:1px solid #dce7ed;border-radius:10px;padding:11px;text-align:center;font-size:.7rem;color:#527087;background:#fbfdfe;cursor:pointer}.psych-choice-grid input:checked+span{border-color:#0ea9c1;background:#edfafd;color:#0c6f98;box-shadow:inset 0 0 0 1px #0ea9c1}.psych-patient-question textarea{width:100%;border:1px solid #dbe6ed;border-radius:10px;padding:11px;margin-top:10px;resize:vertical}.psych-submit-note{display:flex;align-items:flex-start;gap:9px;padding:11px;color:#527287;background:#f1f8fa;border-radius:12px}.psych-submit-note p{margin:0;font-size:.65rem;line-height:1.5}.psychology-done-card{text-align:center;max-width:620px;padding-block:55px}.done-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#e9f9f2;color:#13906a}.psychology-done-card h1{color:#204c6a}.psychology-done-card p{color:#6f8798;line-height:1.65}.muted-copy{font-size:.68rem;line-height:1.55;color:#7e93a2}
@media(max-width:1100px){.builder-split{grid-template-columns:260px minmax(0,1fr)}.compact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.psych-builder-columns,.psych-review-grid{grid-template-columns:1fr}.lab-grid-head,.lab-grid-row{grid-template-columns:minmax(160px,1.4fr) minmax(180px,1fr) 80px 120px 100px}}
@media(max-width:820px){.builder-split{grid-template-columns:1fr}.builder-sidebar{max-height:330px;overflow:auto}.lab-encounter-list>article,.psych-session-list>article{grid-template-columns:1fr 1fr}.lab-encounter-list>article>div:nth-child(2),.psych-session-list>article>div:nth-child(2){grid-column:1/-1}.lab-result-grid{overflow-x:auto}.lab-grid-head,.lab-grid-row{min-width:800px}.lab-validation-card{align-items:flex-start;flex-direction:column}.psych-choice-grid{grid-template-columns:1fr}.psych-session-metrics{grid-template-columns:1fr}}
@media(max-width:520px){.compact-cards{grid-template-columns:1fr}.lab-encounter-list>article,.psych-session-list>article{grid-template-columns:1fr}.lab-encounter-list>article>*,.psych-session-list>article>*{grid-column:auto!important}.copy-link-box{flex-direction:column}.public-card{border-radius:0;margin:0;min-height:100vh;border:0;box-shadow:none}.psych-patient-question{padding:13px}}


/* FASE 12 */
.audit-order-list{display:grid;gap:10px}.audit-order-row{display:grid;grid-template-columns:190px minmax(260px,1fr) 190px auto;gap:18px;align-items:center;border:1px solid var(--line,#dce8ef);border-radius:16px;padding:16px;background:#fff}.audit-order-code strong,.audit-order-person strong{display:block}.audit-order-code small,.audit-order-person small,.audit-order-status small{display:block;color:#7c91a1;margin-top:4px}.audit-order-status{display:flex;flex-direction:column;align-items:flex-start}.audit-summary-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-bottom:18px}.audit-progress-card{display:flex;gap:22px;align-items:center}.audit-progress-ring{--progress:0;width:105px;height:105px;flex:0 0 105px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--tenant-secondary,#08b8cf) calc(var(--progress)*1%),#e8f0f5 0)}.audit-progress-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}.audit-progress-ring strong,.audit-progress-ring span{position:relative;z-index:1;grid-column:1;grid-row:1}.audit-progress-ring strong{font-size:24px;transform:translateY(-7px)}.audit-progress-ring span{font-size:11px;color:#7990a1;transform:translateY(13px)}.audit-worker-card{display:grid;grid-template-columns:1fr 1fr;gap:14px}.audit-worker-card div{padding:10px;border-radius:10px;background:#f6fafc}.audit-worker-card span{display:block;font-size:11px;color:#7c92a2;text-transform:uppercase}.audit-worker-card strong{display:block;margin-top:4px}.audit-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}.audit-detail-grid>main,.audit-detail-grid>aside{display:grid;gap:18px;align-content:start}.audit-check-list{display:grid;gap:9px}.audit-check-list article{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #e1eaf0;border-radius:12px}.audit-check-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center}.audit-check-icon.ok{background:#e8f8f1;color:#07825d}.audit-check-icon.pending{background:#fff4e4;color:#a96600}.audit-check-list strong,.audit-check-list small{display:block}.audit-check-list small{color:#8195a4;margin-top:3px}.audit-mini-metrics{display:flex;gap:7px}.audit-mini-metrics span{padding:5px 8px;border-radius:8px;background:#f2f7fa;color:#667f90;font-size:11px}.audit-findings{display:grid;gap:10px}.audit-finding{border:1px solid #e0e9ef;border-left:4px solid #8ba0af;border-radius:13px;padding:14px;display:grid;grid-template-columns:1fr auto;gap:12px}.audit-finding.severity-blocking,.audit-finding.severity-major{border-left-color:#d44752}.audit-finding.severity-warning{border-left-color:#e0a128}.audit-finding-main h3{margin:8px 0 5px;font-size:15px}.audit-finding-main p{margin:0 0 6px;color:#607b8e}.audit-finding-main small{color:#8a9aa7}.audit-finding-actions{display:flex;gap:7px;align-items:start}.audit-finding-actions select{min-width:125px}.audit-approved-box{text-align:center;padding:18px;border-radius:15px;background:#ecf9f4;color:#08795a;display:grid;gap:9px}.certification-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}.certification-grid>main,.certification-grid>aside{display:grid;gap:18px;align-content:start}.certificate-number-box{text-align:center;border:1px dashed #b9d5e4;border-radius:15px;padding:20px;margin-bottom:16px}.certificate-number-box span,.certificate-number-box small{display:block;color:#7690a2}.certificate-number-box strong{display:block;font-size:22px;margin:7px 0;color:#0d4d86}.restriction-list{display:grid;gap:9px}.restriction-list article{display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:start;border:1px solid #e0e9ef;border-radius:12px;padding:12px}.restriction-list p{margin:4px 0 0;color:#688194}.btn[disabled]{opacity:.45;cursor:not-allowed}.badge-danger{background:#ffebed;color:#a73540}.badge-muted{background:#edf2f5;color:#6e8494}.badge-success{background:#e8f8f1;color:#08795a}.badge-warning{background:#fff3df;color:#9a6100}.badge-info{background:#e8f6fb;color:#087598}
@media(max-width:1100px){.audit-order-row{grid-template-columns:160px 1fr 160px}.audit-order-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.audit-detail-grid,.certification-grid{grid-template-columns:1fr}.audit-detail-grid>aside,.certification-grid>aside{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-detail-grid>aside .panel,.certification-grid>aside .panel{min-width:0}}
@media(max-width:720px){.audit-order-row{grid-template-columns:1fr}.audit-order-actions{grid-column:auto;justify-content:stretch}.audit-order-actions .btn,.audit-order-actions form,.audit-order-actions button{width:100%}.audit-summary-grid{grid-template-columns:1fr}.audit-progress-card{align-items:flex-start;flex-wrap:wrap}.audit-worker-card{grid-template-columns:1fr}.audit-check-list article{grid-template-columns:34px 1fr}.audit-mini-metrics{grid-column:2;flex-wrap:wrap}.audit-finding{grid-template-columns:1fr}.audit-finding-actions{flex-direction:column}.audit-finding-actions select,.audit-finding-actions .btn{width:100%}.audit-detail-grid>aside,.certification-grid>aside{grid-template-columns:1fr}}


/* FASE 13 */
.surveillance-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.surveillance-case-list,.program-list,.referral-list,.referral-mini-list,.surveillance-alert-list{display:grid;gap:10px}.surveillance-case-list>article{display:grid;grid-template-columns:86px minmax(0,1fr) 150px auto;align-items:center;gap:16px;border:1px solid #dfe9ef;border-radius:15px;padding:14px;background:#fff}.surveillance-risk{border-radius:13px;padding:11px;text-align:center;background:#eff6fa}.surveillance-risk strong,.surveillance-risk small{display:block}.surveillance-risk small{font-size:10px;text-transform:uppercase;margin-top:3px}.risk-low{background:#e9f8f2;color:#087a5b}.risk-moderate{background:#eef7fb;color:#0a759b}.risk-high{background:#fff3df;color:#9a6100}.risk-critical{background:#ffeaed;color:#b13d49}.surveillance-person h3{margin:0 0 4px;font-size:15px}.surveillance-person p,.surveillance-person small{display:block;margin:0;color:#6f8798}.surveillance-next{padding:10px;border-radius:11px;background:#f6fafc}.surveillance-next span,.surveillance-next small{display:block;color:#7b91a1;font-size:11px}.surveillance-next strong{display:block;margin:3px 0}.surveillance-next.is-overdue{background:#fff0f1;color:#a93440}.program-list article{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid #e1eaf0;border-radius:12px}.program-type-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#eaf6fb;color:#08769a}.program-list strong,.program-list small,.program-count b,.program-count small{display:block}.program-list small,.program-count small{color:#7f93a2}.program-count{text-align:right}.surveillance-summary{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;margin-bottom:18px}.surveillance-identity{display:flex;align-items:center;gap:16px}.avatar-lg{width:58px;height:58px;border-radius:15px;background:linear-gradient(135deg,#0d55d2,#08b8cf);color:#fff;display:grid;place-items:center;font-weight:900;font-size:19px}.risk-chip{display:inline-flex;margin-top:7px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.surveillance-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.surveillance-dates div{padding:10px;border-radius:11px;background:#f6fafc}.surveillance-dates span,.surveillance-dates strong{display:block}.surveillance-dates span{font-size:11px;color:#7b91a1}.surveillance-dates strong{margin-top:4px}.surveillance-detail-grid,.referral-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.surveillance-detail-grid>main,.surveillance-detail-grid>aside,.referral-detail-grid>main,.referral-detail-grid>aside{display:grid;gap:18px;align-content:start}.timeline-list{display:grid;gap:0}.timeline-list article{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #edf2f5}.timeline-list article:last-child{border-bottom:0}.timeline-dot{width:12px;height:12px;border-radius:50%;background:#08a8c3;margin-top:4px;box-shadow:0 0 0 5px #e8f6fa}.timeline-list strong,.timeline-list p,.timeline-list small{display:block;margin:0}.timeline-list p{margin:4px 0;color:#617b8e}.timeline-list small{color:#8799a7}.surveillance-alert-list article{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;border-left:4px solid #dc9c2c;background:#fff;border-radius:10px}.surveillance-alert-list .alert-sev-critical{border-left-color:#c93443}.surveillance-alert-list .alert-sev-high{border-left-color:#dd6d28}.surveillance-alert-list p{margin:5px 0;color:#647d8e}.surveillance-alert-list small{color:#8296a4}.referral-mini-list a{display:grid;grid-template-columns:1fr auto;gap:10px;text-decoration:none;color:inherit;padding:12px;border:1px solid #e1eaf0;border-radius:12px}.referral-mini-list strong,.referral-mini-list small{display:block}.referral-mini-list small{margin-top:3px;color:#758d9f}.referral-list>article{display:grid;grid-template-columns:150px minmax(0,1fr) 150px auto;gap:16px;align-items:center;border:1px solid #dfe9ef;border-radius:15px;padding:14px}.referral-code strong,.referral-code small,.referral-status span,.referral-status small{display:block}.referral-code small,.referral-status small{margin-top:4px;color:#7d92a1}.referral-list h3{margin:0 0 4px}.referral-list p,.referral-list small{margin:0;color:#6d8596}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.info-grid div{padding:11px;border-radius:11px;background:#f6fafc}.info-grid span,.info-grid strong{display:block}.info-grid span{font-size:11px;color:#8195a4}.info-grid strong{margin-top:4px}.long-text{line-height:1.6}.inline-filter select{min-width:210px}.phase13-dashboard-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.surveillance-layout{grid-template-columns:1fr}.surveillance-case-list>article{grid-template-columns:72px 1fr 140px}.surveillance-case-list>article>.btn{grid-column:1/-1;justify-self:end}.surveillance-detail-grid,.referral-detail-grid{grid-template-columns:1fr}.surveillance-detail-grid>aside,.referral-detail-grid>aside{grid-template-columns:repeat(2,minmax(0,1fr))}.referral-list>article{grid-template-columns:130px 1fr 140px}.referral-list>article>.btn{grid-column:1/-1;justify-self:end}}
@media(max-width:720px){.surveillance-case-list>article,.referral-list>article{grid-template-columns:1fr}.surveillance-case-list>article>.btn,.referral-list>article>.btn{grid-column:auto;justify-self:stretch}.surveillance-risk{width:86px}.surveillance-summary{grid-template-columns:1fr}.surveillance-dates{grid-template-columns:1fr}.surveillance-detail-grid>aside,.referral-detail-grid>aside{grid-template-columns:1fr}.surveillance-alert-list article{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.phase13-dashboard-strip{grid-template-columns:1fr}}

/* FASE 14 — Portal Empresa + Portal Trabajador */
.portal-tabs{margin:18px 0}.portal-tab-panel{display:none}.portal-tab-panel.is-active{display:block}.portal-account-list{display:grid;gap:10px}.portal-account-list>article{display:grid;grid-template-columns:46px minmax(0,1fr) minmax(210px,auto) auto;gap:13px;align-items:center;padding:13px;border:1px solid #dfe9ef;border-radius:14px;background:#fff}.portal-avatar{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#0d55d2,#08b8cf);display:grid;place-items:center;color:#fff;font-weight:900}.portal-avatar.worker{background:linear-gradient(135deg,#0b86a8,#21b980)}.portal-account-list strong,.portal-account-list span,.portal-account-list small{display:block}.portal-account-list span{color:#658095;margin-top:3px}.portal-account-list small{color:#8a9da9;margin-top:3px}.portal-permissions{display:flex;flex-wrap:wrap;gap:5px}.portal-permissions span{padding:5px 8px;border-radius:999px;background:#eef7fb;color:#16708f;font-size:10px;font-weight:800}.portal-actions{display:flex;gap:6px}.portal-event-table .simple-row{grid-template-columns:160px 110px 1fr 160px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.check-grid label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #dde8ef;border-radius:11px;background:#f7fafc}
.portal-auth-page{min-height:100vh;background:#f2f8fb}.portal-auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr)}.portal-auth-brand{padding:clamp(36px,6vw,80px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 15% 15%,rgba(83,218,24,.18),transparent 25%),linear-gradient(145deg,var(--tenant-primary,#0b4fd7),var(--tenant-secondary,#08b8cf));position:relative;overflow:hidden}.portal-auth-brand:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid #ffffff2c;right:-180px;bottom:-120px;box-shadow:0 0 0 55px #ffffff0c,0 0 0 110px #ffffff08}.portal-auth-brand img{width:min(330px,75%);max-height:90px;object-fit:contain;object-position:left;margin-bottom:48px;filter:drop-shadow(0 10px 22px #003b7833)}.portal-auth-brand>span{font-size:11px;font-weight:900;letter-spacing:.15em;color:#d9fbff}.portal-auth-brand h1{font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.04em;margin:12px 0}.portal-auth-brand p{max-width:560px;line-height:1.7;color:#e8f6ff}.portal-trust{margin-top:28px;display:flex;align-items:center;gap:9px;font-size:13px}.portal-auth-card{display:flex;flex-direction:column;justify-content:center;width:min(540px,calc(100% - 40px));margin:auto}.portal-login-copy h2{font-size:2rem;margin:7px 0;color:#0d365e}.portal-login-copy p{color:#6b8396;line-height:1.6}.portal-login-note{display:flex;gap:9px;margin-top:22px;padding:14px;border-radius:12px;background:#eef6fa;color:#658095;font-size:12px;line-height:1.5}.toast-inline{padding:12px 14px;border-radius:11px;margin-bottom:14px}.toast-inline.danger{background:#fff0f1;color:#b43643}.toast-inline.success{background:#eaf9f4;color:#08795a}
.external-portal{background:#f4f8fb;min-height:100vh}.external-topbar{position:sticky;top:0;z-index:20;height:76px;background:#fff;border-bottom:1px solid #dfe9ef;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,56px)}.external-brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:900;color:#0f4d88}.external-brand img{width:130px;max-height:45px;object-fit:contain}.external-brand span{padding-left:14px;border-left:1px solid #dce7ee}.external-company{display:flex;align-items:center;gap:16px}.external-company div{text-align:right}.external-company small,.external-company strong{display:block}.external-company small{color:#7f94a4}.external-content{width:min(1320px,calc(100% - 36px));margin:30px auto 70px}.external-hero{padding:28px;border-radius:22px;background:linear-gradient(135deg,#0d4fd0,#08b8cf);color:#fff;display:flex;align-items:end;justify-content:space-between;box-shadow:0 18px 45px #0b599326}.external-hero span{font-size:11px;letter-spacing:.15em;font-weight:900;color:#d8faff}.external-hero h1{font-size:clamp(2rem,4vw,3rem);margin:8px 0 4px}.external-hero p{margin:0;color:#e7f5ff}.external-role{padding:9px 12px;border-radius:999px;background:#ffffff1c;border:1px solid #ffffff2c;font-weight:800}.external-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.external-stat-grid article{padding:19px;border:1px solid #dfe9ef;border-radius:15px;background:#fff}.external-stat-grid span,.external-stat-grid strong{display:block}.external-stat-grid span{font-size:12px;color:#738b9d}.external-stat-grid strong{font-size:27px;margin-top:7px;color:#0d477f}.external-panel{background:#fff;border:1px solid #dfe9ef;border-radius:18px;padding:20px;margin-top:16px}.external-panel-head{display:flex;justify-content:space-between;margin-bottom:14px}.external-panel h2{margin:0 0 4px}.external-panel p{margin:0;color:#7a90a0}.external-table{display:grid}.external-table .row{display:grid;grid-template-columns:1.3fr 1fr 180px 130px;gap:12px;padding:12px 8px;border-bottom:1px solid #edf2f5;align-items:center}.external-table .row.head{font-size:11px;color:#7e94a4;text-transform:uppercase;font-weight:900}.external-table .row strong,.external-table .row small{display:block}.external-table .row small{margin-top:3px;color:#8195a4}.external-cards{display:grid;gap:9px}.external-cards article{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e1eaf0;border-radius:13px;padding:11px}.external-cards strong,.external-cards span{display:block}.external-cards span{font-size:12px;color:#7790a1;margin-top:3px}.date-block,.cert-mark{width:46px;height:46px;border-radius:12px;background:#eaf6fb;color:#08799c;display:grid;place-items:center;text-align:center}.date-block b,.date-block span{line-height:1;margin:0}.date-block span{font-size:9px}.external-footer{text-align:center;padding:22px;color:#8296a5;font-size:11px}
.worker-portal{background:#f3f8fb;min-height:100vh;padding-bottom:76px}.worker-topbar{position:sticky;top:0;z-index:20;height:62px;background:#ffffffed;backdrop-filter:blur(14px);border-bottom:1px solid #dfe9ef;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.worker-brand{display:flex;gap:9px;align-items:center;text-decoration:none;font-weight:900;color:#0e4c88}.worker-brand img{width:34px;height:34px;object-fit:contain}.worker-content{width:min(720px,calc(100% - 24px));margin:16px auto}.worker-hero{display:flex;align-items:center;gap:15px;padding:20px;border-radius:20px;background:linear-gradient(135deg,#0c54d3,#08b8cf);color:#fff}.worker-avatar{width:58px;height:58px;border-radius:17px;background:#ffffff22;border:1px solid #ffffff34;display:grid;place-items:center;font-weight:900;font-size:18px}.worker-hero span{font-size:10px;letter-spacing:.14em;font-weight:900}.worker-hero h1{margin:3px 0;font-size:25px}.worker-hero p{margin:0;color:#e6f4ff;font-size:13px}.worker-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}.worker-summary article{padding:16px;background:#fff;border:1px solid #dfe9ef;border-radius:15px}.worker-summary article.featured{border-color:#bfe5ed;background:#f3fcfd}.worker-summary span,.worker-summary strong,.worker-summary small{display:block}.worker-summary span{font-size:11px;color:#7c91a0}.worker-summary strong{margin:5px 0;color:#0e477f}.worker-summary small{font-size:11px;color:#8296a5}.worker-section{background:#fff;border:1px solid #dfe9ef;border-radius:17px;margin-top:12px;padding:16px}.worker-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.worker-section-head h2{margin:0 0 3px;font-size:18px}.worker-section-head p{margin:0;color:#7d91a1;font-size:12px}.worker-card-list{display:grid;gap:8px}.worker-card-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid #e6edf2;border-radius:12px}.worker-card-list strong,.worker-card-list span{display:block}.worker-card-list span{font-size:11px;color:#7c92a2;margin-top:3px}.worker-inline-link{display:inline-block;margin-top:6px;color:#0b68c7;font-size:11px;font-weight:800;text-decoration:none}.worker-empty{padding:15px;text-align:center;color:#8296a5;background:#f7fafc;border-radius:10px}.worker-consent{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#edf7fb;border:1px solid #d5e9f1;border-radius:17px;padding:16px;margin:12px 0}.worker-consent>div{display:flex;gap:11px}.worker-consent strong{display:block}.worker-consent p{margin:4px 0 0;color:#6c8396;font-size:12px;line-height:1.5}.worker-bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;height:66px;background:#fff;border-top:1px solid #dce7ee;display:flex;justify-content:space-around;align-items:stretch;padding-bottom:env(safe-area-inset-bottom)}.worker-bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:#8093a1;font-size:9px;font-weight:700}.worker-bottom-nav a.is-active{color:#0d59c8}
@media(max-width:900px){.portal-account-list>article{grid-template-columns:46px 1fr}.portal-permissions,.portal-actions{grid-column:2}.external-stat-grid{grid-template-columns:repeat(2,1fr)}.external-table .row{grid-template-columns:1fr 1fr}.external-table .row.head span:nth-child(3),.external-table .row.head span:nth-child(4){display:none}.portal-auth-shell{grid-template-columns:1fr}.portal-auth-brand{min-height:300px;padding:36px}.portal-auth-brand img{margin-bottom:24px}.portal-auth-card{padding:36px 0}.portal-event-table .simple-row{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.external-brand span,.external-company div{display:none}.external-content{width:min(100% - 20px,1320px);margin-top:12px}.external-hero{padding:20px;align-items:start;flex-direction:column;gap:14px}.external-stat-grid{grid-template-columns:1fr 1fr;gap:8px}.external-stat-grid article{padding:13px}.external-table .row{grid-template-columns:1fr}.external-table .row.head{display:none}.external-cards article{grid-template-columns:44px 1fr}.external-cards article>.btn,.external-cards article>.badge{grid-column:2;justify-self:start}.worker-summary{grid-template-columns:1fr}.worker-card-list article{align-items:flex-start;flex-direction:column}.worker-consent{align-items:flex-start;flex-direction:column}.portal-auth-brand{min-height:260px}.portal-auth-brand h1{font-size:2rem}.portal-auth-brand img{width:220px}.check-grid{grid-template-columns:1fr}.portal-actions{flex-wrap:wrap}}


.phase14-dashboard-strip{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:720px){.phase14-dashboard-strip{grid-template-columns:1fr}}

/* FASE 15 — Facturación + Reportes + BI */
.finance-tabs{display:flex;gap:8px;margin:18px 0}.finance-tabs a{padding:10px 15px;border:1px solid #dce8ef;border-radius:11px;background:#fff;color:#5f7b90;text-decoration:none;font-weight:800}.finance-tabs a.is-active{background:linear-gradient(90deg,#0d55d2,#08b8cf);border-color:transparent;color:#fff}.valuation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.valuation-card{border:1px solid #dce7ed;border-radius:16px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:14px}.valuation-card-top{display:flex;justify-content:space-between;gap:12px}.valuation-card-top h3{margin:5px 0 2px;color:#123f6a;font-size:18px}.valuation-card-top p{margin:0;color:#7b90a0;font-size:12px}.valuation-money{padding:13px;border-radius:13px;background:#f2f8fb}.valuation-money span,.valuation-money small,.valuation-money strong{display:block}.valuation-money span,.valuation-money small{font-size:11px;color:#7890a2}.valuation-money strong{font-size:23px;color:#0f4d83;margin:4px 0}.valuation-invoice{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;background:#ecfaf5;color:#16765d;font-size:11px}.finance-table{display:grid}.finance-row{display:grid;grid-template-columns:150px minmax(180px,1.3fr) 190px 120px 120px 120px 80px;gap:10px;align-items:center;padding:12px 8px;border-bottom:1px solid #edf2f5}.finance-row strong,.finance-row small{display:block}.finance-row small{font-size:10px;color:#8296a4;margin-top:3px}.finance-head{font-size:10px;font-weight:900;text-transform:uppercase;color:#8396a4;background:#f7fafc;border-radius:10px}.finance-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.finance-summary-grid article{padding:16px;border:1px solid #dce8ef;border-radius:14px;background:#fff}.finance-summary-grid article.featured{background:linear-gradient(135deg,#0d55d2,#08b8cf);color:#fff;border-color:transparent}.finance-summary-grid span,.finance-summary-grid strong{display:block}.finance-summary-grid span{font-size:11px;color:#7d91a1}.finance-summary-grid article.featured span{color:#daf8ff}.finance-summary-grid strong{font-size:22px;margin-top:5px}.finance-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:16px}.finance-detail-grid .simple-row{grid-template-columns:minmax(260px,1fr) 90px 120px 120px}.finance-actions-panel .status-actions{display:grid;gap:8px}.invoice-box{margin-top:14px;padding:14px;border:1px solid #d7e8ee;border-radius:13px;background:#f7fbfd}.invoice-box>div:first-child{display:flex;justify-content:space-between;gap:10px}.invoice-box span,.invoice-box strong,.invoice-box small{display:block}.invoice-box>span.badge{display:inline-flex;margin:8px 0}.invoice-balance{margin:12px 0;padding-top:11px;border-top:1px solid #dfe9ee}.invoice-balance strong{font-size:23px;color:#0f4d83;margin:4px 0}.finance-payment-list{display:grid;gap:8px}.finance-payment-list article{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;border:1px solid #e1eaf0;border-radius:12px;padding:11px}.payment-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#eaf9f4;color:#138164}.finance-payment-list strong,.finance-payment-list small{display:block}.finance-payment-list small{font-size:10px;color:#7c91a0;margin-top:3px}.invoice-preview-total{padding:16px;border-radius:13px;background:#eef8fb;margin:14px 0}.invoice-preview-total span,.invoice-preview-total strong{display:block}.invoice-preview-total span{font-size:11px;color:#6f8799}.invoice-preview-total strong{font-size:27px;color:#0d4f86;margin-top:4px}.form-hint{padding:11px 12px;border-radius:10px;background:#eef6fa;color:#668095;font-size:11px;line-height:1.5;margin:10px 0 14px}.report-filter{display:flex;align-items:end;gap:12px;padding:14px 16px;margin:10px 0 18px}.report-filter>div{margin-right:auto}.report-filter>div span,.report-filter>div strong{display:block}.report-filter>div span{font-size:10px;font-weight:900;letter-spacing:.1em;color:#0a93ad}.report-filter>div strong{margin-top:4px}.report-filter label{font-size:10px;color:#6f8799;font-weight:800}.report-filter input{display:block;margin-top:4px;border:1px solid #d9e5ec;border-radius:9px;padding:9px 10px}.bi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.metric-big{font-size:28px;font-weight:900;color:#0e5793}.fitness-bars,.ranking-bars{display:grid;gap:13px}.bar-label{display:flex;justify-content:space-between;gap:12px;font-size:12px}.bar-label span{color:#49677f}.bar-label b{color:#133f67}.bi-bar{height:9px;border-radius:999px;background:#edf3f6;overflow:hidden;margin-top:6px}.bi-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0d55d2,#08b8cf)}.bi-bar.secondary span{background:linear-gradient(90deg,#0f9874,#25c79b)}.bi-bar.warning span{background:linear-gradient(90deg,#ef9a28,#f1bf3e)}.ranking-bars small{display:block;font-size:10px;color:#8194a2;margin-top:4px}.month-chart{height:245px;display:flex;align-items:end;gap:12px;padding:12px 3px 0}.month-col{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;min-width:0}.month-value{font-size:9px;color:#6f8597;margin-bottom:5px;white-space:nowrap}.month-bar{height:170px;width:min(48px,70%);background:#eef4f7;border-radius:9px;display:flex;align-items:end;overflow:hidden}.month-bar span{display:block;width:100%;background:linear-gradient(180deg,#08b8cf,#0d55d2);border-radius:9px 9px 0 0}.month-col small{font-size:9px;color:#7c91a1;margin-top:6px}.executive-insight{display:flex;gap:14px;align-items:flex-start;margin-top:16px;background:linear-gradient(135deg,#f2f8fb,#f9fcfd)}.insight-icon{width:48px;height:48px;border-radius:14px;background:#e7f6fb;color:#087da0;display:grid;place-items:center;flex:0 0 auto}.executive-insight h2{margin:4px 0 5px}.executive-insight p{margin:0;color:#70889a;line-height:1.6}.phase15-dashboard-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.valuation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-row{grid-template-columns:140px 1fr 160px 110px}.finance-row>:nth-child(5),.finance-row>:nth-child(6),.finance-row>:nth-child(7){grid-column:auto}.finance-head span:nth-child(n+5){display:none}.finance-detail-grid{grid-template-columns:1fr}.bi-grid{grid-template-columns:1fr}}
@media(max-width:720px){.valuation-grid{grid-template-columns:1fr}.finance-summary-grid{grid-template-columns:1fr 1fr}.finance-row{grid-template-columns:1fr 1fr;padding:13px}.finance-head{display:none}.finance-row>div:last-child{grid-column:1/-1}.report-filter{align-items:stretch;flex-direction:column}.report-filter>div{margin-right:0}.report-filter label input{width:100%}.month-chart{overflow-x:auto}.month-col{min-width:68px}.phase15-dashboard-strip{grid-template-columns:1fr}.finance-detail-grid .simple-row{grid-template-columns:1fr 1fr}.finance-detail-grid .simple-head{display:none}}
@media(max-width:460px){.finance-summary-grid{grid-template-columns:1fr}.finance-payment-list article{grid-template-columns:42px 1fr}.finance-payment-list article>div:last-child{grid-column:2}}
