:root { --portal-navy:#113a52; --portal-teal:#087f72; --portal-mint:#dff6ef; --portal-bg:#f3f7f8; }
.portal-layout { min-height:100vh; display:grid; grid-template-columns:260px minmax(0,1fr); background:var(--portal-bg); }
.portal-sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:24px 14px 18px; color:#e9fffa; background:linear-gradient(180deg,#0d5e62 0%,#104153 55%,#102f47 100%); overflow-y:auto; }
.portal-brand { padding:6px 8px 24px; color:#fff; }.portal-brand .brand-logo { width:45px; height:45px; border-radius:13px; background:#fff; padding:3px; }.portal-brand small { color:#a8dfd4; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.sidebar-nav { display:grid; gap:4px; }.sidebar-nav p { margin:17px 10px 6px; font-size:10px; font-weight:800; letter-spacing:.12em; color:#8ccfc6; text-transform:uppercase; }.sidebar-nav button { border:0; background:transparent; color:#d7eeea; display:flex; align-items:center; gap:12px; width:100%; padding:11px 12px; border-radius:10px; font-weight:700; text-align:left; }.sidebar-nav button span { display:grid; place-items:center; width:20px; color:#aef1de; font-size:17px; }.sidebar-nav button:hover,.sidebar-nav button:focus-visible { color:#fff; background:rgba(218,255,245,.13); outline:0; }.sidebar-help { margin-top:auto; display:grid; gap:4px; padding:14px; border:1px solid rgba(213,255,246,.17); border-radius:14px; background:rgba(5,35,48,.22); font-size:11px; color:#bde6dd; }.sidebar-help strong{color:#fff;font-size:12px}
.portal-workspace { min-width:0; }.portal-topbar { height:76px; padding:0 30px; display:flex; gap:18px; align-items:center; background:#fff; border-bottom:1px solid #e1ebea; position:sticky; top:0; z-index:20; }.portal-menu{display:none}.portal-search { display:flex; align-items:center; gap:8px; min-width:250px; flex:1; max-width:430px; padding:0 13px; border:1px solid #d8e6e4; border-radius:10px; color:#78908d; background:#f7faf9; }.portal-search input { padding:10px 0; border:0; outline:0; background:transparent; font-size:13px; }.portal-user { display:flex; align-items:center; gap:9px; }.portal-user strong,.portal-user small { display:block; }.portal-user strong { font-size:13px; color:#254d51; }.portal-user small { font-size:11px; color:#78908d; }.portal-avatar { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; color:#fff; font-weight:900; background:linear-gradient(145deg,#12a28d,#176e77); }.portal-logout { padding:8px 10px; border:0; background:transparent; color:#597370; font-weight:800; }.portal-new { white-space:nowrap; }
.portal-workspace #clinicalPortal { background:transparent; }.clinical-dashboard { max-width:1340px; padding:32px; }.dashboard-heading { margin-bottom:18px; }.dashboard-heading h1 { font-size:28px; }.dashboard-heading p { font-size:13px; }
.dashboard-overview { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:16px; margin:0 0 18px; }.overview-card { position:relative; overflow:hidden; min-height:134px; padding:18px; border:1px solid #dbe8e5; border-radius:16px; background:#fff; box-shadow:0 8px 20px rgba(12,72,66,.06); }.overview-card.featured { color:#fff; border:0; background-image:linear-gradient(115deg,rgba(8,104,96,.96),rgba(7,127,114,.67)),url('../inicio.jpeg'); background-size:cover; background-position:center; }.overview-card .overview-icon { display:grid; place-items:center; width:34px; height:34px; margin-bottom:10px; border-radius:10px; color:#087f72; background:#e4f6f1; }.overview-card.featured .overview-icon { color:#fff; background:rgba(255,255,255,.18); }.overview-card strong { display:block; font-size:25px; line-height:1; margin-bottom:6px; }.overview-card span { color:#5f7976; font-size:12px; font-weight:700; }.overview-card.featured span { color:#d3f5ed; }.overview-card small { display:block; margin-top:5px; color:#8aa4a0; font-size:11px; }.overview-card.featured small { color:#c7eee5; }
.dashboard-content { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr); gap:18px; }.dashboard-panel { padding:20px; border:1px solid #dbe8e5; border-radius:16px; background:#fff; box-shadow:0 8px 20px rgba(12,72,66,.05); }.dashboard-panel h2 { margin:0 0 14px; color:#183f46; font-size:16px; }.quick-areas { display:grid; grid-template-columns:repeat(2,1fr); gap:11px; }.quick-area { display:flex; gap:10px; align-items:center; padding:12px; border:1px solid #e0ece9; border-radius:12px; background:#fbfefd; text-align:left; }.quick-area:hover { border-color:#63b6a8; background:#effbf7; }.quick-area span { font-size:22px; }.quick-area strong,.quick-area small{display:block}.quick-area strong{color:#204c51;font-size:13px}.quick-area small{color:#77908d;font-size:11px}.activity-list{display:grid;gap:10px}.activity-item{display:grid;grid-template-columns:8px 1fr;gap:9px;font-size:12px;color:#5b7572}.activity-dot{width:8px;height:8px;border-radius:50%;background:#12a58d;margin-top:5px}.activity-item strong{color:#264e53;display:block}
@media(max-width:1000px){.portal-layout{grid-template-columns:74px minmax(0,1fr)}.portal-brand span,.sidebar-nav button:not(:hover)::after,.sidebar-nav button{font-size:0}.portal-brand{justify-content:center;padding:6px 0 24px}.sidebar-nav button{justify-content:center;padding:11px}.sidebar-nav button span{font-size:18px}.sidebar-nav p,.sidebar-help{display:none}.dashboard-overview{grid-template-columns:repeat(2,1fr)}.dashboard-content{grid-template-columns:1fr}}
@media(max-width:900px){.portal-layout{display:block;width:100%;overflow-x:hidden}.portal-sidebar{position:fixed;inset:0 auto 0 0;z-index:60;display:flex;width:min(86vw,300px);height:100dvh;padding:20px 14px 18px;box-shadow:12px 0 32px rgba(8,43,53,.28);transform:translateX(-105%);transition:transform .24s ease}.portal-sidebar.is-open{transform:translateX(0)}.portal-brand{display:flex;padding:6px 8px 20px}.portal-brand span{font-size:inherit}.sidebar-nav{display:grid;overflow-y:auto;gap:4px;padding:0}.sidebar-nav p{display:block}.sidebar-nav button{min-height:0;padding:11px 12px;font-size:14px;width:100%;white-space:normal;background:transparent}.sidebar-nav button span{width:20px;font-size:17px}.sidebar-help{display:grid}.portal-topbar{height:66px;padding:0 14px;gap:9px}.portal-menu{display:inline-flex;align-items:center;gap:6px;padding:9px 11px;color:#174f55;background:#e4f5f0;border:1px solid #bfe2d9;font-size:12px}.portal-search,.portal-user{display:none}.portal-new{margin-left:auto;font-size:11px;padding:9px}.clinical-dashboard{padding:20px 14px}.dashboard-overview,.quick-areas{grid-template-columns:1fr}.dashboard-content{display:block}.dashboard-panel{margin-bottom:14px}}

@media(max-width:900px){.portal-topbar{padding:0 18px}.portal-workspace .page{padding:28px 18px 58px}.portal-workspace .hero{padding:25px}.portal-workspace .hero h1{font-size:31px}.portal-workspace .toolbar{flex-wrap:wrap}.portal-workspace .search{flex-basis:100%}.portal-workspace .patient-card{grid-template-columns:1fr}.portal-workspace .card-actions{width:100%}.portal-workspace .card-actions button{flex:1}.portal-workspace .form-actions{position:static;flex-wrap:wrap}.portal-workspace .form-actions button{flex:1;min-width:150px}}
@media(max-width:680px){.portal-workspace .page{padding:20px 14px 46px}.portal-workspace .hero{min-height:0;padding:22px;border-radius:18px}.portal-workspace .hero .stat{margin-top:18px}.portal-workspace .hero h1{font-size:28px}.portal-workspace .fields{grid-template-columns:1fr;padding:16px}.portal-workspace .field.full{grid-column:auto}.portal-workspace .toolbar .secondary,.portal-workspace .toolbar .file-label{flex-basis:100%;text-align:center}.portal-workspace .privacy-note{font-size:12px}.portal-workspace .form-card{border-radius:14px}.portal-workspace .section-title{padding:15px}.portal-workspace .section-title h2{font-size:17px}.portal-workspace .form-actions{padding:12px 0}.portal-workspace .form-actions button{width:100%;flex-basis:100%}}

@media(max-width:900px){html,body{width:100%;max-width:100%;overflow-x:hidden}#clinicalPortal,.portal-layout,.portal-workspace{width:100%;max-width:100%;min-width:0}.portal-workspace{overflow-x:hidden}.clinical-dashboard,.portal-workspace .page{width:100%;max-width:100%;margin-inline:0}.dashboard-overview,.dashboard-content,.dashboard-panel,.overview-card{min-width:0}}

/* Inicio móvil: accesos clínicos rápidos y visuales. */
@media(max-width:680px){.clinical-dashboard{padding:24px 16px 52px;background:linear-gradient(180deg,#fff 0,#eefaf7 210px,#f5faf9 100%)}.dashboard-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.dashboard-heading::before{content:"✚";display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:14px;color:#fff;background:linear-gradient(145deg,#0e8779,#18536d);box-shadow:0 8px 16px rgba(15,118,110,.22)}.dashboard-heading .eyebrow{font-size:10px;margin:1px 0 2px}.dashboard-heading h1{font-size:25px;letter-spacing:-.7px}.dashboard-heading p{font-size:12px;line-height:1.45;margin-top:5px}.dashboard-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:22px}.overview-card{min-height:132px;padding:15px;border-radius:17px}.overview-card.featured{grid-column:1/-1;min-height:154px;padding:18px;background-position:center}.overview-card .overview-icon{width:32px;height:32px;margin-bottom:9px}.overview-card strong{font-size:26px}.overview-card span{font-size:11px;line-height:1.25}.overview-card small{font-size:10px;line-height:1.3}.dashboard-panel{padding:16px;border-radius:17px;margin-bottom:14px}.dashboard-panel h2{font-size:15px}.quick-areas{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-area{min-height:78px;align-items:flex-start;gap:8px;padding:10px;border-radius:13px;flex-direction:column}.quick-area span{font-size:19px}.quick-area strong{font-size:11px;line-height:1.15}.quick-area small{font-size:10px;line-height:1.25}.activity-list{gap:8px}.activity-item{font-size:11px}}
