/* NexaSaúde P33.2 - hotfix visual enterprise */
:root{--ns-primary:#0b2d47;--ns-secondary:#123d5d;--ns-accent:#0ea5e9;--ns-danger:#e11d48;--ns-success:#10b981;--ns-warning:#f59e0b;--ns-muted:#64748b;--ns-bg:#f3f7fb;--ns-card:#ffffff;--ns-line:#dbe7f3;}
body{background:var(--ns-bg)!important;color:#142033!important;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;}
.content-wrapper,.main-content,.page-wrapper,main{background:linear-gradient(180deg,#eef5fb 0,#f8fbfe 55%,#eef5fb 100%)!important;}
.ns-p33-enterprise,.p33-enterprise,.nexasaude-enterprise,.sala-atendimento-enterprise{padding:18px 22px!important;}
.ns-enterprise-shell{max-width:1600px;margin:auto;padding:18px 22px;}
.ns-context-header,.p33-context-header,.assistencial-context-header{position:sticky;top:0;z-index:50;background:linear-gradient(135deg,rgba(8,35,57,.97),rgba(12,74,110,.94));color:#fff;border-radius:24px;padding:18px 22px;margin:0 0 18px;box-shadow:0 18px 50px rgba(2,22,38,.22);overflow:hidden;}
.ns-context-header:before,.p33-context-header:before,.assistencial-context-header:before{content:"";position:absolute;inset:-45% auto auto 45%;width:520px;height:520px;background:radial-gradient(circle,rgba(14,165,233,.32),transparent 65%);pointer-events:none;}
.ns-kicker,.p33-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#9ee6ff;margin-bottom:4px;}
.ns-title,.p33-title,h1.ns-title{font-size:clamp(28px,3.6vw,52px)!important;line-height:1.02;font-weight:900;letter-spacing:-.045em;margin:0 0 6px!important;color:#fff!important;}
.ns-subtitle,.p33-subtitle{color:#d9f1ff!important;font-size:15px;margin:0!important;}
.ns-patient-strip,.p33-patient-strip{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.ns-chip,.p33-chip,.status-chip,.risk-chip,.badge-soft{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(8px);}
.ns-chip-danger,.risk-red{background:rgba(225,29,72,.18)!important;border-color:rgba(255,118,145,.45)!important;color:#fff!important;}
.ns-chip-success,.risk-green{background:rgba(16,185,129,.18)!important;border-color:rgba(94,234,212,.42)!important;color:#fff!important;}
.ns-grid,.p33-operational-grid{display:grid;grid-template-columns:330px minmax(0,1fr)330px;gap:18px;align-items:start;}
@media(max-width:1200px){.ns-grid,.p33-operational-grid{grid-template-columns:1fr}.ns-context-header,.p33-context-header{position:relative}}
.ns-card,.p33-card,.assistencial-card,.timeline-card,.fila-card,.metric-card{background:var(--ns-card)!important;border:1px solid rgba(15,70,105,.10)!important;border-radius:24px!important;box-shadow:0 16px 40px rgba(15,23,42,.08)!important;padding:18px!important;}
.ns-section-title,.p33-section-title{font-size:22px!important;font-weight:900!important;line-height:1.05;margin:0 0 14px!important;color:#101827!important;letter-spacing:-.03em;display:flex;align-items:center;gap:10px;}
.ns-section-title i,.p33-section-title i{color:var(--ns-accent);}
.ns-metrics,.p33-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 18px;}
@media(max-width:900px){.ns-metrics,.p33-metrics{grid-template-columns:repeat(2,1fr)}}
.ns-metric,.p33-metric{background:#fff;border:1px solid var(--ns-line);border-radius:18px;padding:13px 15px;box-shadow:0 10px 28px rgba(2,22,38,.06)}
.ns-metric small,.p33-metric small{display:block;color:var(--ns-muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.ns-metric strong,.p33-metric strong{font-size:28px;font-weight:900;color:#0f172a;line-height:1}
.ns-action-grid,.p33-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.ns-action,.p33-action{border:0;border-radius:16px;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff!important;padding:13px 14px;font-weight:900;text-decoration:none!important;text-align:center;box-shadow:0 12px 24px rgba(37,99,235,.20)}
.ns-action.secondary,.p33-action.secondary{background:#eef6ff;color:#0b3b62!important;border:1px solid #cfe6ff;box-shadow:none}.ns-action.danger,.p33-action.danger{background:linear-gradient(135deg,#e11d48,#be123c)}
.ns-queue-item,.p33-queue-item{border:1px solid var(--ns-line);border-left:5px solid var(--ns-accent);border-radius:18px;padding:12px;margin-bottom:10px;background:#fff;box-shadow:0 10px 24px rgba(2,22,38,.05)}
.ns-empty,.p33-empty{border:1px dashed #c8d7e6;border-radius:18px;padding:22px;text-align:center;color:#64748b;background:#f8fbff}.ns-search,.p33-search,input[type="search"].ns-search{border:1px solid #cbdff0!important;border-radius:14px!important;padding:11px 13px!important;width:100%;box-shadow:0 6px 18px rgba(15,23,42,.04)!important;}
.ns-timeline,.p33-timeline{position:relative;padding-left:24px}.ns-timeline:before,.p33-timeline:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(#0ea5e9,#cbd5e1)}.ns-timeline-item,.p33-timeline-item{position:relative;padding:0 0 17px}.ns-timeline-item:before,.p33-timeline-item:before{content:"";position:absolute;left:-22px;top:4px;width:12px;height:12px;border-radius:999px;background:#0ea5e9;box-shadow:0 0 0 4px #e0f2fe}.ns-timeline-title,.p33-timeline-title{font-weight:900;color:#0f172a}.ns-timeline-meta,.p33-timeline-meta{font-size:12px;color:#64748b}.ns-alert,.p33-alert{border-radius:18px;border:1px solid #fde68a;background:#fff7d6;color:#7c5200;padding:13px 15px;font-weight:700}.ns-alert-danger{border-color:#fecdd3;background:#fff1f2;color:#9f1239}.brand-link,.main-sidebar{background:linear-gradient(180deg,#092943,#0b1f33)!important}.nav-sidebar .nav-header{color:#9cc7dd!important;font-weight:900;letter-spacing:.08em}.nav-sidebar .nav-link{border-radius:12px!important;margin:3px 8px!important}.nav-sidebar .nav-link.active{background:linear-gradient(135deg,#eaf6ff,#ffffff)!important;color:#0b2d47!important;font-weight:900!important;box-shadow:0 10px 24px rgba(14,165,233,.18)}
/* fallback: when previous blade has almost no classes, still recover spacing */
.content-wrapper>section.content,.content-wrapper>.content{padding:18px 22px!important}.content-wrapper h1,.content-wrapper h2{font-weight:900!important;letter-spacing:-.035em;color:#111827}.content-wrapper .card{border:1px solid rgba(15,70,105,.10)!important;border-radius:22px!important;box-shadow:0 14px 34px rgba(15,23,42,.08)!important}.content-wrapper .btn{border-radius:12px!important;font-weight:800!important}
