@font-face { font-family: "Poppins"; src: url('../fonts/poppins-400.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Poppins"; src: url('../fonts/poppins-500.woff2') format('woff2'); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Poppins"; src: url('../fonts/poppins-600.woff2') format('woff2'); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Poppins"; src: url('../fonts/poppins-700.woff2') format('woff2'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Poppins"; src: url('../fonts/poppins-800.woff2') format('woff2'); font-style: normal; font-weight: 800; font-display: swap; }
@font-face { font-family: "Plus Jakarta Sans"; src: url('../fonts/poppins-400.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Plus Jakarta Sans"; src: url('../fonts/poppins-500.woff2') format('woff2'); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Plus Jakarta Sans"; src: url('../fonts/poppins-600.woff2') format('woff2'); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Plus Jakarta Sans"; src: url('../fonts/poppins-700.woff2') format('woff2'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Plus Jakarta Sans"; src: url('../fonts/poppins-800.woff2') format('woff2'); font-style: normal; font-weight: 800; font-display: swap; }

:root {
    --ink-950: #241d29;
    --ink-900: #302637;
    --ink-800: #46394e;
    --ink-700: #5e5066;
    --ink-600: #75697c;
    --ink-500: #8c8192;
    --ink-400: #aaa1af;
    --ink-300: #c9c1cd;
    --ink-200: #dfd9e3;
    --ink-100: #efebf1;
    --ink-50: #f8f6f9;
    --purple-800: #5e416a;
    --purple-700: #6e527a;
    --purple-600: #80638e;
    --purple-500: #9879a4;
    --purple-400: #af97b8;
    --purple-300: #c7b4ce;
    --purple-100: #eee6f1;
    --peach-700: #a66f5d;
    --peach-600: #bc826d;
    --peach-500: #d09a84;
    --peach-300: #e7c0af;
    --peach-100: #faeee8;
    --cream: #f7f4ef;
    --white: #fff;
    --green-700: #32725e;
    --green-100: #e1f2eb;
    --amber-700: #9a671b;
    --amber-100: #fff0d5;
    --red-700: #a34550;
    --red-100: #fae4e7;
    --blue-700: #3f678c;
    --blue-100: #e4eef7;
    --sidebar-expanded: 288px;
    --sidebar-collapsed: 72px;
    --sidebar-current: var(--sidebar-expanded);
    --sidebar-inset: 8px;
    --topbar-height: 76px;
    --radius-xs: 8px;
    --radius-sm: 12px;
    --radius: 18px;
    --radius-lg: 24px;
    --shadow-sm: 0 1px 2px rgba(48, 38, 55, .05), 0 4px 16px rgba(48, 38, 55, .04);
    --shadow-md: 0 12px 36px rgba(48, 38, 55, .10);
    --shadow-lg: 0 28px 80px rgba(48, 38, 55, .18);
    --ease: cubic-bezier(.22, .61, .36, 1);
    --sidebar-motion: 350ms var(--ease);
}

* { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--cream); color: var(--ink-900); font-family: "Poppins", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body.sidebar-collapsed { --sidebar-current: var(--sidebar-collapsed); }
body.modal-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
:focus-visible { outline: 3px solid rgba(128, 99, 142, .34); outline-offset: 2px; }
[hidden] { display: none !important; }

.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 10000; padding: 10px 14px; border-radius: 10px; background: var(--ink-950); color: white; transition: top .2s; }
.skip-link:focus { top: 12px; }

.app-shell {
    display: grid;
    min-height: 100vh;
    grid-template-columns: var(--sidebar-current) minmax(0, 1fr);
    transition: grid-template-columns var(--sidebar-motion);
}
.app-sidebar {
    position: sticky;
    top: var(--sidebar-inset);
    z-index: 80;
    display: flex;
    width: calc(100% - var(--sidebar-inset));
    height: calc(100svh - (var(--sidebar-inset) * 2));
    min-width: 0;
    margin: var(--sidebar-inset) 0 var(--sidebar-inset) var(--sidebar-inset);
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(224,169,190,.2);
    border-radius: 24px;
    background:
        radial-gradient(circle at 14% -4%, rgba(238,181,199,.2), transparent 29%),
        radial-gradient(circle at 96% 54%, rgba(133,91,151,.17), transparent 38%),
        linear-gradient(180deg, #35233f 0%, #291a34 54%, #201528 100%);
    box-shadow: 0 22px 60px rgba(32,19,39,.2), inset 0 1px rgba(255,255,255,.055), inset -1px 0 rgba(255,255,255,.035);
    contain: layout paint style;
    isolation: isolate;
    transition: width var(--sidebar-motion), height var(--sidebar-motion), border-radius var(--sidebar-motion), box-shadow var(--sidebar-motion), transform var(--sidebar-motion);
    will-change: width, transform;
}
.app-sidebar::before {
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image:
        radial-gradient(circle at 20% 20%, #fff 0 1px, transparent 1.2px),
        radial-gradient(circle at 78% 56%, #fff 0 .8px, transparent 1px);
    background-position: 0 0, 11px 13px;
    background-size: 21px 21px, 27px 27px;
    content: "";
    opacity: .018;
    pointer-events: none;
}
.app-sidebar::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(255,255,255,.028), transparent 20%, transparent 82%, rgba(0,0,0,.15)),
        linear-gradient(180deg, transparent 66%, rgba(8,4,12,.24));
    content: "";
    pointer-events: none;
}
.brand-block {
    position: relative;
    display: grid;
    min-height: 92px;
    grid-template-columns: minmax(0,1fr);
    align-items: center;
    padding: 14px 13px 12px;
    border-bottom: 1px solid rgba(255,255,255,.075);
    transition: min-height var(--sidebar-motion), padding var(--sidebar-motion);
}
.brand-toggle {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: 50px minmax(0,1fr);
    align-items: center;
    gap: 12px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: left;
    transition: grid-template-columns var(--sidebar-motion), gap var(--sidebar-motion), transform var(--sidebar-motion), filter var(--sidebar-motion);
}
.brand-toggle img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    border: 1px solid rgba(255,225,231,.26);
    border-radius: 15px;
    background: linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));
    box-shadow: 0 11px 28px rgba(13,7,18,.38), 0 0 0 1px rgba(239,172,184,.07), 0 0 24px rgba(221,148,170,.08);
    transition: width var(--sidebar-motion), height var(--sidebar-motion), border-radius var(--sidebar-motion), box-shadow var(--sidebar-motion), transform var(--sidebar-motion);
}
.brand-toggle:hover img { transform: translateY(-1px) scale(1.025); box-shadow: 0 15px 34px rgba(13,7,18,.44), 0 0 26px rgba(226,151,174,.16); }
.brand-toggle:active img { transform: scale(.96); }
.brand-copy {
    display: grid;
    min-width: 0;
    max-width: 180px;
    line-height: 1.1;
    opacity: 1;
    transform: translateX(0);
    transition: max-width var(--sidebar-motion), opacity 220ms ease 80ms, transform var(--sidebar-motion);
}
.brand-toggle strong { color: #fff; font-size: 20px; font-weight: 800; letter-spacing: -.7px; white-space: nowrap; }
.brand-toggle strong > span { color: #df8fae; }
.brand-toggle small { margin-top: 4px; color: rgba(255,255,255,.43); font-size: 8px; font-weight: 600; letter-spacing: -.05px; white-space: nowrap; }
.sidebar-close {
    position: absolute;
    top: 14px;
    right: 13px;
    display: none;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 11px;
    background: rgba(255,255,255,.045);
    color: rgba(255,255,255,.56);
    cursor: pointer;
    transition: color var(--sidebar-motion), background var(--sidebar-motion), border-radius var(--sidebar-motion), box-shadow var(--sidebar-motion), transform var(--sidebar-motion);
}
.sidebar-close:hover { border-color: rgba(255,255,255,.15); background: rgba(255,255,255,.1); color: #fff; box-shadow: 0 8px 24px rgba(12,7,16,.2); transform: translateY(-1px); }
.sidebar-close .lucide-icon { width: 20px; height: 20px; }
.lucide-icon { display: block; width: 24px; height: 24px; overflow: visible; vector-effect: non-scaling-stroke; }
.nav-home {
    position: relative;
    display: grid;
    min-height: 52px;
    grid-template-columns: 40px minmax(0,1fr);
    align-items: center;
    gap: 9px;
    margin: 10px 10px 5px;
    padding: 5px 10px;
    border: 1px solid rgba(255,255,255,.065);
    border-radius: 16px;
    background: linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025));
    color: rgba(255,255,255,.82);
    font-weight: 700;
    transition: background var(--sidebar-motion), border-radius var(--sidebar-motion), box-shadow var(--sidebar-motion), transform var(--sidebar-motion), padding var(--sidebar-motion), gap var(--sidebar-motion), margin var(--sidebar-motion);
}
.module-nav > .nav-home { margin: 10px 0 5px; }
.nav-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid color-mix(in srgb,var(--nav-icon-color,#E9C3A5) 30%,transparent);
    border-radius: 12px;
    background: linear-gradient(145deg,color-mix(in srgb,var(--nav-icon-color,#E9C3A5) 12%,transparent),rgba(255,255,255,.018));
    color: var(--nav-icon-color, #E9C3A5);
    box-shadow: inset 0 1px rgba(255,255,255,.05),0 8px 20px rgba(8,4,12,.16),0 0 18px color-mix(in srgb,var(--nav-icon-color,#E9C3A5) 8%,transparent);
    filter: drop-shadow(0 3px 7px color-mix(in srgb,var(--nav-icon-color,#E9C3A5) 18%,transparent));
    opacity: .95;
    transition: color var(--sidebar-motion), filter var(--sidebar-motion), transform var(--sidebar-motion), width var(--sidebar-motion), height var(--sidebar-motion), border-color var(--sidebar-motion), background var(--sidebar-motion), box-shadow var(--sidebar-motion), border-radius var(--sidebar-motion);
}
.nav-home .nav-icon { --nav-icon-color: #F7B8A6; }
.nav-home .lucide-icon,
.nav-item .lucide-icon { width: 21px; height: 21px; }
.nav-label {
    min-width: 0;
    max-width: 190px;
    overflow: hidden;
    font-size: 11.5px;
    font-weight: 650;
    opacity: 1;
    text-overflow: ellipsis;
    transform: translateX(0);
    white-space: nowrap;
    transition: max-width var(--sidebar-motion), opacity 200ms ease 90ms, transform var(--sidebar-motion);
}
.nav-home:hover,
.nav-home.is-active {
    border-color: rgba(220,135,164,.58);
    background: linear-gradient(135deg,rgba(202,124,151,.22),rgba(87,54,99,.54));
    color: #fff;
    box-shadow: 0 12px 28px rgba(12,6,17,.2),0 0 22px rgba(201,116,151,.11),inset 0 1px rgba(255,255,255,.1);
    transform: translateX(2px);
}
.nav-home:hover .nav-icon,
.nav-home.is-active .nav-icon { border-color: rgba(255,220,229,.5); background: linear-gradient(135deg,#d895a6,#b96e8e); color: #fff; box-shadow: 0 8px 22px rgba(182,91,132,.32),0 0 20px rgba(223,137,174,.24),inset 0 1px rgba(255,255,255,.22); filter: none; transform: translateY(-1px); }
.nav-home:hover .lucide-icon,
.nav-home.is-active .lucide-icon { stroke: #fff; }
.module-nav {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 10px 14px;
    overscroll-behavior: contain;
    scrollbar-color: transparent transparent;
    scrollbar-width: thin;
}
.module-nav:hover { scrollbar-color: rgba(138,112,142,.8) transparent; }
.module-nav::-webkit-scrollbar { width: 4px; }
.module-nav::-webkit-scrollbar-track { background: transparent; }
.module-nav::-webkit-scrollbar-thumb { border-radius: 999px; background: transparent; }
.module-nav:hover::-webkit-scrollbar-thumb { background: rgba(138,112,142,.82); }
.nav-group { margin-top: 14px; content-visibility: auto; contain-intrinsic-size: auto 180px; }
.nav-group-title {
    display: grid;
    width: 100%;
    grid-template-columns: auto minmax(20px,1fr) 18px;
    align-items: center;
    gap: 8px;
    padding: 6px 6px 8px;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.34);
    cursor: pointer;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .15em;
    text-align: left;
    text-transform: uppercase;
    transition: height var(--sidebar-motion), padding var(--sidebar-motion), opacity var(--sidebar-motion);
}
.nav-group-title > i { display: block; height: 1px; background: linear-gradient(90deg,rgba(227,174,194,.2),transparent); filter: blur(.1px); opacity: .45; }
.nav-group-chevron { width: 15px; height: 15px; transition: transform var(--sidebar-motion); }
.nav-group-title[aria-expanded="false"] .nav-group-chevron { transform: rotate(-90deg); }
.nav-group-title[aria-expanded="false"] + .nav-group-items { display: none; }
.nav-group-items { display: grid; gap: 3px; }
.nav-item {
    --nav-icon-color: #E9C3A5;
    position: relative;
    display: grid;
    min-height: 46px;
    grid-template-columns: 38px minmax(0,1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 4px 8px;
    border: 1px solid transparent;
    border-radius: 14px;
    color: rgba(255,255,255,.68);
    transition: background var(--sidebar-motion), color var(--sidebar-motion), border-radius var(--sidebar-motion), box-shadow var(--sidebar-motion), transform var(--sidebar-motion), padding var(--sidebar-motion), gap var(--sidebar-motion), min-height var(--sidebar-motion);
}
.nav-item:hover {
    border-color: rgba(255,255,255,.085);
    background: linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.028));
    color: #fff;
    box-shadow: inset 0 1px rgba(255,255,255,.05),0 9px 23px rgba(12,7,17,.12);
    transform: translateX(2px);
}
.nav-item:hover .nav-icon { border-color: color-mix(in srgb,var(--nav-icon-color) 50%,transparent); box-shadow: inset 0 1px rgba(255,255,255,.08),0 8px 22px rgba(8,4,12,.2),0 0 20px color-mix(in srgb,var(--nav-icon-color) 18%,transparent); filter: drop-shadow(0 0 8px color-mix(in srgb,var(--nav-icon-color) 38%,transparent)); transform: translateY(-1px) scale(1.025); }
.nav-item.is-active {
    min-height: 50px;
    border-color: color-mix(in srgb,var(--nav-icon-color) 48%,rgba(255,255,255,.08));
    background: linear-gradient(135deg,color-mix(in srgb,var(--nav-icon-color) 15%,transparent),rgba(89,55,101,.46));
    color: #fff;
    box-shadow: 0 11px 28px rgba(12,6,17,.2),0 0 20px color-mix(in srgb,var(--nav-icon-color) 10%,transparent),inset 0 1px rgba(255,255,255,.08);
}
.nav-item.is-active::before,
.nav-home.is-active::before {
    position: absolute;
    top: 50%;
    right: -2px;
    width: 3px;
    height: 20px;
    border-radius: 3px 0 0 3px;
    background: color-mix(in srgb,var(--nav-icon-color,#F7B8A6) 68%,white);
    box-shadow: 0 0 12px color-mix(in srgb,var(--nav-icon-color,#F7B8A6) 68%,transparent);
    content: "";
    transform: translateY(-50%);
}
.nav-item.is-active .nav-icon { border-color: color-mix(in srgb,var(--nav-icon-color) 68%,rgba(255,255,255,.2)); background: linear-gradient(145deg,color-mix(in srgb,var(--nav-icon-color) 72%,#fff 12%),color-mix(in srgb,var(--nav-icon-color) 58%,#3b2347)); color: #fff; box-shadow: 0 8px 22px color-mix(in srgb,var(--nav-icon-color) 26%,transparent),0 0 18px color-mix(in srgb,var(--nav-icon-color) 18%,transparent),inset 0 1px rgba(255,255,255,.18); filter: none; }
.nav-item.is-active .lucide-icon { stroke: #fff; }
.nav-signal { width: 8px; height: 8px; border: 2px solid rgba(255,255,255,.7); border-radius: 50%; background: #D76572; box-shadow: 0 0 0 4px rgba(215,101,114,.13), 0 0 12px rgba(215,101,114,.5); }
.sidebar-footer { display: grid; gap: 6px; padding: 10px; border-top: 1px solid rgba(255,255,255,.07); background: linear-gradient(180deg,rgba(8,4,12,.02),rgba(8,4,12,.16)); transition: padding var(--sidebar-motion), gap var(--sidebar-motion); }
.tenant-chip {
    display: grid;
    min-width: 0;
    grid-template-columns: 38px minmax(0,1fr) 22px;
    align-items: center;
    gap: 8px;
    padding: 8px;
    border: 1px solid rgba(233,195,165,.14);
    border-radius: 15px;
    background: linear-gradient(135deg,rgba(255,255,255,.065),rgba(255,255,255,.02));
    color: #fff;
    box-shadow: inset 0 1px rgba(255,255,255,.055);
    transition: grid-template-columns var(--sidebar-motion), padding var(--sidebar-motion), gap var(--sidebar-motion), border-radius var(--sidebar-motion), background var(--sidebar-motion);
}
.tenant-avatar { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(233,195,165,.26); border-radius: 12px; background: rgba(233,195,165,.08); color: #E9C3A5; box-shadow: 0 0 18px rgba(233,195,165,.07); }
.tenant-avatar .lucide-icon { width: 20px; height: 20px; }
.tenant-copy { display: grid; min-width: 0; max-width: 170px; opacity: 1; transition: max-width var(--sidebar-motion), opacity 200ms ease 90ms, transform var(--sidebar-motion); }
.tenant-chip strong { overflow: hidden; font-size: 9.5px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.tenant-chip small { margin-top: 2px; color: rgba(255,255,255,.4); font-size: 8px; }
.tenant-shield { display: grid; color: #9ED7C9; filter: drop-shadow(0 0 8px rgba(158,215,201,.25)); }
.tenant-shield .lucide-icon { width: 19px; height: 19px; }
.sidebar-logout {
    display: grid;
    min-height: 42px;
    grid-template-columns: 38px minmax(0,1fr);
    align-items: center;
    gap: 8px;
    padding: 2px 8px;
    border: 1px solid transparent;
    border-radius: 14px;
    color: rgba(255,255,255,.52);
    transition: background var(--sidebar-motion), color var(--sidebar-motion), border-radius var(--sidebar-motion), transform var(--sidebar-motion), grid-template-columns var(--sidebar-motion), padding var(--sidebar-motion), gap var(--sidebar-motion);
}
.sidebar-logout:hover { border-color: rgba(255,255,255,.07); background: rgba(255,255,255,.07); color: #fff; transform: translateY(-1px); }
.logout-icon { display: grid; width: 38px; height: 38px; place-items: center; color: #D4B7D9; }
.logout-icon .lucide-icon { width: 20px; height: 20px; }
.sidebar-backdrop { display: none; }
.sidebar-tooltip {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    max-width: 260px;
    padding: 8px 11px;
    border: 1px solid rgba(230,162,190,.2);
    border-radius: 10px;
    background: rgba(38,24,47,.96);
    box-shadow: 0 14px 36px rgba(20,12,27,.34),0 0 20px rgba(190,105,148,.08);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.35;
    opacity: 0;
    pointer-events: none;
    backdrop-filter: blur(16px);
}
.app-workspace { min-width: 0; min-height: 100vh; }

.nav-item[data-module-key="gestao_corporativa"] { --nav-icon-color:#E9C3A5; }
.nav-item[data-module-key="empresas_unidades"] { --nav-icon-color:#F0A8C2; }
.nav-item[data-module-key="usuarios_permissoes"] { --nav-icon-color:#9ED7C9; }
.nav-item[data-module-key="crm"] { --nav-icon-color:#F2B6B6; }
.nav-item[data-module-key="agenda"] { --nav-icon-color:#F8C29B; }
.nav-item[data-module-key="comunicacao"] { --nav-icon-color:#B69FE9; }
.nav-item[data-module-key="pacientes"] { --nav-icon-color:#8DD8D0; }
.nav-item[data-module-key="pep"] { --nav-icon-color:#FF8F9D; }
.nav-item[data-module-key="ginecologia"] { --nav-icon-color:#C29CFF; }
.nav-item[data-module-key="obstetricia"] { --nav-icon-color:#F3A4B8; }
.nav-item[data-module-key="medicina_fetal"] { --nav-icon-color:#6FD5C4; }
.nav-item[data-module-key="reproducao_humana"] { --nav-icon-color:#FFB86A; }
.nav-item[data-module-key="pre_natal"] { --nav-icon-color:#8ACBFF; }
.nav-item[data-module-key="partograma"] { --nav-icon-color:#F8D45A; }
.nav-item[data-module-key="puerperio"] { --nav-icon-color:#E7A9F5; }
.nav-item[data-module-key="recem_nascido"] { --nav-icon-color:#F2B6B6; }
.nav-item[data-module-key="centro_obstetrico"] { --nav-icon-color:#6AD0A5; }
.nav-item[data-module-key="centro_cirurgico"] { --nav-icon-color:#F5A26F; }
.nav-item[data-module-key="internacao"] { --nav-icon-color:#78B8FF; }
.nav-item[data-module-key="portal_paciente"] { --nav-icon-color:#8ACBFF; }
.nav-item[data-module-key="aplicativos"] { --nav-icon-color:#B69FE9; }
.nav-item[data-module-key="convenios"] { --nav-icon-color:#8DD8D0; }
.nav-item[data-module-key="planos_autorizacoes"] { --nav-icon-color:#9ED7C9; }
.nav-item[data-module-key="faturamento_tiss"] { --nav-icon-color:#7F9CFF; }
.nav-item[data-module-key="financeiro"] { --nav-icon-color:#5FD69C; }
.nav-item[data-module-key="contabilidade"] { --nav-icon-color:#E9C3A5; }
.nav-item[data-module-key="compras"] { --nav-icon-color:#FFB86A; }
.nav-item[data-module-key="estoque"] { --nav-icon-color:#F8D45A; }
.nav-item[data-module-key="farmacia"] { --nav-icon-color:#C29CFF; }
.nav-item[data-module-key="laboratorio"] { --nav-icon-color:#6FD5C4; }
.nav-item[data-module-key="imagem"] { --nav-icon-color:#78B8FF; }
.nav-item[data-module-key="documentos"] { --nav-icon-color:#B69FE9; }
.nav-item[data-module-key="cadastros_sistema"] { --nav-icon-color:#E9C3A5; }
.nav-item[data-module-key="integracoes"] { --nav-icon-color:#8DD8D0; }
.nav-item[data-module-key="ia_clinica"] { --nav-icon-color:#F472B6; }
.nav-item[data-module-key="bi"] { --nav-icon-color:#7F9CFF; }

@media (min-width: 1021px) {
    body.sidebar-collapsed .app-sidebar { border-radius: 21px; box-shadow: 0 18px 46px rgba(30,19,37,.2),inset 0 1px rgba(255,255,255,.05); }
    body.sidebar-collapsed .brand-block { min-height: 76px; justify-items: center; padding: 11px 7px 9px; }
    body.sidebar-collapsed .brand-toggle { width: 50px; grid-template-columns: 50px 0; justify-self: center; gap: 0; }
    body.sidebar-collapsed .brand-toggle img { width: 50px; height: 50px; border-radius: 15px; box-shadow: 0 12px 28px rgba(13,7,18,.46),0 0 22px rgba(226,151,174,.13); }
    body.sidebar-collapsed .brand-copy { max-width: 0; opacity: 0; pointer-events: none; transform: translateX(-8px); transition-delay: 0ms; }
    body.sidebar-collapsed .nav-home { width: 40px; min-height: 40px; grid-template-columns: 1fr; justify-items: center; gap: 0; margin: 9px auto 5px; padding: 0; border-color: transparent; border-radius: 12px; background: transparent; box-shadow: none; }
    body.sidebar-collapsed .nav-home .nav-icon,
    body.sidebar-collapsed .nav-item .nav-icon { width: 40px; height: 40px; border-radius: 12px; }
    body.sidebar-collapsed .nav-home .lucide-icon,
    body.sidebar-collapsed .nav-item .lucide-icon { width: 21px; height: 21px; }
    body.sidebar-collapsed .nav-label,
    body.sidebar-collapsed .tenant-copy { max-width: 0; opacity: 0; pointer-events: none; transform: translateX(-8px); transition-delay: 0ms; }
    body.sidebar-collapsed .nav-signal,
    body.sidebar-collapsed .tenant-shield { width: 0; max-width: 0; padding: 0; overflow: hidden; border: 0; opacity: 0; }
    body.sidebar-collapsed .module-nav { padding: 0 7px 10px; }
    body.sidebar-collapsed .nav-group { margin-top: 8px; content-visibility: visible; }
    body.sidebar-collapsed .nav-group-title { height: 0; overflow: hidden; padding: 0; opacity: 0; pointer-events: none; }
    body.sidebar-collapsed .nav-group-title[aria-expanded="false"] + .nav-group-items { display: grid; }
    body.sidebar-collapsed .nav-group-items { gap: 6px; }
    body.sidebar-collapsed .nav-item { width: 40px; min-height: 40px; grid-template-columns: 1fr; justify-items: center; gap: 0; margin: 0 auto; padding: 0; border-color: transparent; border-radius: 12px; background: transparent; box-shadow: none; }
    body.sidebar-collapsed .nav-item:hover,
    body.sidebar-collapsed .nav-item.is-active,
    body.sidebar-collapsed .nav-home:hover,
    body.sidebar-collapsed .nav-home.is-active { min-height: 40px; border-color: transparent; background: transparent; box-shadow: none; transform: none; }
    body.sidebar-collapsed .nav-item:hover .nav-icon,
    body.sidebar-collapsed .nav-item.is-active .nav-icon,
    body.sidebar-collapsed .nav-home:hover .nav-icon,
    body.sidebar-collapsed .nav-home.is-active .nav-icon { transform: translateY(-1px) scale(1.025); }
    body.sidebar-collapsed .nav-item.is-active::before,
    body.sidebar-collapsed .nav-home.is-active::before { display: none; }
    body.sidebar-collapsed .sidebar-footer { gap: 6px; padding: 8px 7px 9px; }
    body.sidebar-collapsed .tenant-chip { width: 48px; grid-template-columns: 1fr; justify-items: center; gap: 0; margin: 0 auto; padding: 4px; border-radius: 14px; }
    body.sidebar-collapsed .tenant-avatar { width: 38px; height: 38px; }
    body.sidebar-collapsed .sidebar-logout { width: 48px; min-height: 44px; grid-template-columns: 1fr; justify-items: center; gap: 0; margin: 0 auto; padding: 3px; border-radius: 14px; }
    body.sidebar-collapsed .logout-icon { width: 38px; height: 38px; }
}
.app-topbar { position: sticky; top: 0; z-index: 60; display: grid; grid-template-columns: minmax(240px, 1fr) auto auto; min-height: var(--topbar-height); align-items: center; gap: 18px; padding: 0 28px; border-bottom: 1px solid rgba(94,65,106,.1); background: rgba(251,249,246,.88); box-shadow: 0 5px 24px rgba(48,38,55,.035); backdrop-filter: blur(18px); }
.topbar-left { display: flex; align-items: center; gap: 10px; }
.mobile-menu { display: none !important; }
.global-search-trigger { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; width: min(100%, 410px); align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid var(--ink-200); border-radius: 11px; background: rgba(255,255,255,.9); color: var(--ink-500); cursor: pointer; text-align: left; transition: .2s; }
.global-search-trigger:hover { border-color: var(--purple-300); box-shadow: 0 0 0 3px var(--purple-100); color: var(--ink-700); }
.global-search-trigger i { font-size: 17px; }
.global-search-trigger span { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
kbd { border: 1px solid var(--ink-200); border-bottom-width: 2px; border-radius: 5px; background: var(--ink-50); color: var(--ink-600); font: 700 10px/1.4 inherit; white-space: nowrap; }
.global-search-trigger kbd { padding: 2px 6px; }
.topbar-context { display: flex; align-items: center; gap: 14px; }
.context-status { display: flex; align-items: center; gap: 6px; color: var(--green-700); font-size: 10.5px; font-weight: 750; }
.context-status i, .live-pill i { width: 7px; height: 7px; border-radius: 50%; background: #4aa584; box-shadow: 0 0 0 4px var(--green-100); }
.context-selector { display: flex; align-items: center; gap: 7px; padding: 7px 9px; border: 0; border-radius: 9px; background: transparent; color: var(--ink-700); cursor: pointer; font-size: 11px; font-weight: 700; }
.context-selector:hover { background: var(--ink-100); }
.context-selector > i:first-child { color: var(--purple-600); font-size: 16px; }
.topbar-actions { display: flex; align-items: center; gap: 7px; }
.icon-button { position: relative; display: inline-grid; width: 37px; height: 37px; flex: 0 0 auto; place-items: center; border: 1px solid transparent; border-radius: 10px; background: transparent; cursor: pointer; font-size: 18px; transition: .18s; }
.icon-button:hover { border-color: var(--ink-100); background: white; color: var(--purple-700); box-shadow: var(--shadow-sm); }
.has-badge > span { position: absolute; top: 3px; right: 2px; display: grid; min-width: 15px; height: 15px; place-items: center; border: 2px solid var(--cream); border-radius: 8px; background: var(--peach-600); color: white; font-size: 8px; font-weight: 850; }
.user-menu { display: grid; grid-template-columns: 35px auto 15px; align-items: center; gap: 8px; margin-left: 4px; padding: 4px 5px; border: 0; border-radius: 12px; background: transparent; cursor: pointer; text-align: left; }
.user-menu:hover { background: white; box-shadow: var(--shadow-sm); }
.user-avatar { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 11px; background: linear-gradient(135deg, var(--purple-700), var(--peach-500)); color: white; font-size: 13px; font-weight: 850; }
.user-copy { display: grid; line-height: 1.15; }
.user-copy strong { font-size: 11.5px; }
.user-copy small { margin-top: 3px; color: var(--ink-500); font-size: 9px; }
.page-content { width: min(100%, 1720px); margin: 0 auto; padding: 28px 32px 56px; }

.eyebrow { display: inline-flex; align-items: center; gap: 6px; color: var(--purple-600); font-size: 9.5px; font-weight: 850; letter-spacing: 1.25px; text-transform: uppercase; }
.eyebrow i { font-size: 13px; }
.button { display: inline-flex; min-height: 39px; align-items: center; justify-content: center; gap: 7px; padding: 8px 14px; border: 1px solid transparent; border-radius: 11px; cursor: pointer; font-size: 11.5px; font-weight: 760; transition: .2s var(--ease); }
.button:hover { transform: translateY(-1px); }
.button-primary { background: linear-gradient(135deg, var(--purple-700), var(--purple-600)); color: white; box-shadow: 0 8px 18px rgba(110,82,122,.22); }
.button-primary:hover { box-shadow: 0 10px 24px rgba(110,82,122,.3); }
.button-ghost { border-color: var(--ink-200); background: white; color: var(--ink-700); }
.button-ghost:hover { border-color: var(--purple-300); color: var(--purple-700); box-shadow: var(--shadow-sm); }
.button-soft { background: var(--purple-100); color: var(--purple-700); }
.button-soft:hover { background: #e7daeb; }
.button-block { width: 100%; }
.text-button { display: inline-flex; align-items: center; gap: 5px; padding: 5px; border: 0; background: transparent; color: var(--purple-700); cursor: pointer; font-size: 10.5px; font-weight: 750; }

.dashboard-hero, .module-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.hero-copy h1, .module-title-block h1 { margin: 6px 0 5px; color: var(--ink-950); font-family: "Plus Jakarta Sans", ui-sans-serif, sans-serif; font-size: clamp(28px, 3vw, 40px); font-weight: 500; letter-spacing: -1.2px; line-height: 1.1; }
.hero-copy p, .module-title-block p { max-width: 720px; margin: 0; color: var(--ink-600); font-size: 12.5px; }
.hero-actions, .module-actions { display: flex; gap: 8px; padding-top: 4px; }
.system-banner { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 12px; margin-bottom: 18px; padding: 12px 14px; border: 1px solid; border-radius: 13px; }
.system-banner > i { font-size: 22px; }
.system-banner div { display: grid; }
.system-banner strong { font-size: 11.5px; }
.system-banner span { font-size: 10px; }
.system-banner a { font-size: 10px; font-weight: 800; text-decoration: underline; }
.system-banner-warning { border-color: #f0d9aa; background: var(--amber-100); color: var(--amber-700); }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 18px; }
.metric-card { position: relative; display: grid; grid-template-columns: 42px 1fr auto; min-height: 102px; align-items: center; gap: 11px; overflow: hidden; padding: 15px; border: 1px solid rgba(94,65,106,.1); border-radius: var(--radius); background: rgba(255,255,255,.9); box-shadow: var(--shadow-sm); }
.metric-card::after { position: absolute; right: -30px; bottom: -45px; width: 100px; height: 100px; border-radius: 50%; background: var(--purple-100); content: ""; opacity: .55; }
.metric-primary { border-color: transparent; background: linear-gradient(135deg, var(--purple-800), var(--purple-600)); color: white; }
.metric-primary::after { background: rgba(255,255,255,.12); }
.metric-icon { position: relative; z-index: 1; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: var(--purple-100); color: var(--purple-700); font-size: 20px; }
.metric-primary .metric-icon { background: rgba(255,255,255,.13); color: white; }
.metric-card > div:nth-child(2) { position: relative; z-index: 1; display: grid; }
.metric-card span { color: var(--ink-600); font-size: 10px; font-weight: 700; }
.metric-card strong { margin: 1px 0; color: var(--ink-950); font-family: "Plus Jakarta Sans", ui-sans-serif, sans-serif; font-size: 25px; font-weight: 500; line-height: 1.1; }
.metric-card small { color: var(--ink-500); font-size: 9px; }
.metric-primary span, .metric-primary small { color: rgba(255,255,255,.72); }
.metric-primary strong { color: white; }
.metric-trend { position: relative; z-index: 1; color: rgba(255,255,255,.7); font-size: 18px; }
.metric-dot { position: relative; z-index: 1; width: 8px; height: 8px; border-radius: 50%; }
.dot-success { background: #4aa584; box-shadow: 0 0 0 5px var(--green-100); }
.dot-info { background: #5c88b2; box-shadow: 0 0 0 5px var(--blue-100); }
.dot-danger { background: #bc6570; box-shadow: 0 0 0 5px var(--red-100); }

.panel { border: 1px solid rgba(94,65,106,.1); border-radius: var(--radius-lg); background: rgba(255,255,255,.92); box-shadow: var(--shadow-sm); }
.panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px 20px 14px; }
.panel-header h2 { margin: 3px 0 1px; color: var(--ink-950); font-family: "Plus Jakarta Sans", ui-sans-serif, sans-serif; font-size: 19px; font-weight: 500; letter-spacing: -.3px; }
.panel-header p { margin: 0; color: var(--ink-500); font-size: 10px; }
.dashboard-grid { display: grid; gap: 16px; margin-bottom: 16px; }
.dashboard-grid-main { grid-template-columns: minmax(0, 1.65fr) minmax(330px, .85fr); }
.dashboard-grid-bottom { grid-template-columns: minmax(0, 1.55fr) minmax(320px, .7fr); }
.priority-list { display: grid; padding: 0 12px 13px; }
.priority-item { display: grid; grid-template-columns: 39px minmax(0, 1fr) auto 18px; align-items: center; gap: 11px; padding: 10px 8px; border-top: 1px solid var(--ink-100); transition: .18s; }
.priority-item:hover { border-radius: 11px; background: var(--ink-50); transform: translateX(2px); }
.priority-item:first-child { border-top: 0; }
.priority-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; background: var(--purple-100); color: var(--purple-700); font-size: 18px; }
.priority-copy { display: grid; }
.priority-copy strong { font-size: 11px; }
.priority-copy small { color: var(--ink-500); font-size: 9.5px; }
.priority-count { padding: 4px 7px; border-radius: 8px; background: var(--amber-100); color: var(--amber-700); font-size: 9px; font-weight: 750; }
.priority-ok { display: inline-flex; align-items: center; gap: 3px; color: var(--green-700); font-size: 9px; font-weight: 750; }
.live-pill, .coverage-pill, .ai-chip { display: inline-flex; align-items: center; gap: 7px; padding: 5px 8px; border-radius: 9px; background: var(--green-100); color: var(--green-700); font-size: 9px; font-weight: 800; }
.coverage-pill, .ai-chip { background: var(--purple-100); color: var(--purple-700); }
.risk-orbit { position: relative; height: 260px; overflow: hidden; }
.orbit { position: absolute; left: 50%; top: 50%; border: 1px dashed var(--purple-300); border-radius: 50%; transform: translate(-50%,-50%); opacity: .65; }
.orbit-1 { width: 100px; height: 100px; }.orbit-2 { width: 180px; height: 180px; }.orbit-3 { width: 260px; height: 260px; }
.orbit-center { position: absolute; left: 50%; top: 50%; z-index: 2; display: grid; width: 82px; height: 82px; place-items: center; border: 8px solid white; border-radius: 50%; background: linear-gradient(135deg, var(--purple-700), var(--peach-500)); color: white; box-shadow: 0 12px 32px rgba(110,82,122,.28); text-align: center; transform: translate(-50%,-50%); }
.orbit-center i { font-size: 21px; }.orbit-center span { font-size: 8px; font-weight: 800; line-height: 1.2; }
.risk-node { position: absolute; display: inline-flex; align-items: center; gap: 4px; padding: 5px 7px; border: 1px solid var(--ink-100); border-radius: 8px; background: white; box-shadow: var(--shadow-sm); color: var(--ink-700); font-size: 8px; font-weight: 750; }
.risk-node i { color: var(--purple-600); font-size: 13px; }.node-1 { left: 8%; top: 25%; }.node-2 { right: 5%; top: 20%; }.node-3 { left: 5%; bottom: 17%; }.node-4 { right: 4%; bottom: 17%; }
.panel-link { display: flex; align-items: center; justify-content: space-between; margin: 0 16px 14px; padding: 9px 11px; border-radius: 10px; background: var(--purple-100); color: var(--purple-700); font-size: 10px; font-weight: 800; }
.journey-track { display: grid; grid-template-columns: 1fr 38px 1fr 38px 1fr 38px 1fr; align-items: center; padding: 18px 24px 28px; }
.journey-track a { display: grid; justify-items: center; text-align: center; }
.journey-track a > i { display: grid; width: 47px; height: 47px; place-items: center; margin-bottom: 8px; border-radius: 14px; background: var(--purple-100); color: var(--purple-700); font-size: 21px; transition: .2s; }
.journey-track a:hover > i { background: var(--purple-700); color: white; transform: translateY(-3px); box-shadow: 0 8px 20px rgba(110,82,122,.24); }
.journey-track strong { font-size: 10px; }.journey-track small { color: var(--ink-500); font-size: 8.5px; }
.journey-track > span { height: 1px; background: repeating-linear-gradient(90deg,var(--purple-300) 0 5px,transparent 5px 9px); }
.quick-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; padding: 4px 16px 17px; }
.quick-grid a { display: grid; min-height: 80px; place-items: center; padding: 9px; border: 1px solid var(--ink-100); border-radius: 13px; color: var(--ink-700); font-size: 9.5px; font-weight: 700; transition: .18s; }
.quick-grid i { color: var(--purple-600); font-size: 22px; }.quick-grid a:hover { border-color: var(--purple-300); background: var(--purple-100); color: var(--purple-800); transform: translateY(-2px); }

.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-bottom: 14px; color: var(--ink-500); font-size: 9.5px; }
.breadcrumbs a:hover { color: var(--purple-700); }.breadcrumbs strong { color: var(--ink-700); }.breadcrumbs i { font-size: 13px; }
.module-title-block { display: flex; align-items: flex-start; gap: 14px; }
.module-icon { display: grid; width: 50px; height: 50px; flex: 0 0 auto; place-items: center; border: 1px solid var(--purple-100); border-radius: 15px; background: linear-gradient(135deg, white, var(--purple-100)); color: var(--purple-700); box-shadow: var(--shadow-sm); font-size: 23px; }
.module-title-block h1 { margin-top: 3px; font-size: clamp(25px, 2.6vw, 34px); }
.screen-tabs { display: flex; gap: 4px; overflow-x: auto; margin: 0 -2px 17px; padding: 2px 2px 7px; scrollbar-width: thin; }
.screen-tabs a { flex: 0 0 auto; padding: 7px 10px; border: 1px solid transparent; border-radius: 9px; color: var(--ink-600); font-size: 10px; font-weight: 700; white-space: nowrap; }
.screen-tabs a:hover { background: var(--ink-100); color: var(--ink-800); }.screen-tabs a.is-active { border-color: var(--purple-300); background: white; color: var(--purple-700); box-shadow: var(--shadow-sm); }
.metric-grid-module .metric-card { min-height: 88px; }.metric-grid-module .metric-card strong { font-size: 21px; }

.module-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 16px; margin-top: 16px; }
.records-panel { min-width: 0; overflow: hidden; }.records-header { align-items: center; }
.table-tools { display: flex; align-items: center; gap: 6px; }
.table-tools label { display: grid; grid-template-columns: 17px 1fr; align-items: center; gap: 4px; width: 210px; padding: 7px 9px; border: 1px solid var(--ink-200); border-radius: 9px; background: white; color: var(--ink-500); }
.table-tools input { min-width: 0; border: 0; outline: 0; background: transparent; font-size: 10px; }
.responsive-table { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 10px 13px; border-top: 1px solid var(--ink-100); text-align: left; vertical-align: middle; white-space: nowrap; }
th { background: var(--ink-50); color: var(--ink-500); font-size: 8.5px; font-weight: 850; letter-spacing: .55px; text-transform: uppercase; }
td { max-width: 210px; overflow: hidden; color: var(--ink-700); font-size: 10px; text-overflow: ellipsis; }
tbody tr { transition: background .16s; }.responsive-table tbody tr:hover { background: #fcfafc; }
.row-actions { width: 44px; text-align: right; }.row-actions .icon-button { width: 30px; height: 30px; font-size: 16px; }
.status-badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border-radius: 8px; font-size: 8.5px; font-weight: 780; }
.status-badge i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.status-success { background: var(--green-100); color: var(--green-700); }.status-danger { background: var(--red-100); color: var(--red-700); }.status-warning { background: var(--amber-100); color: var(--amber-700); }.status-neutral { background: var(--ink-100); color: var(--ink-600); }
.table-footer { display: flex; align-items: center; justify-content: space-between; padding: 10px 15px; border-top: 1px solid var(--ink-100); color: var(--ink-500); font-size: 9px; }
.empty-state { display: grid; min-height: 290px; place-items: center; align-content: center; padding: 28px; text-align: center; }
.empty-state > span { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 10px; border-radius: 18px; background: var(--purple-100); color: var(--purple-600); font-size: 26px; }
.empty-state h3 { margin: 0 0 4px; font-family: "Plus Jakarta Sans", ui-sans-serif, sans-serif; font-size: 17px; font-weight: 500; }.empty-state p { max-width: 390px; margin: 0 0 14px; color: var(--ink-500); font-size: 10px; }
.checklist-panel { position: sticky; top: calc(var(--topbar-height) + 16px); overflow: hidden; }
.smart-checklist { display: grid; padding: 0 15px 10px; }
.smart-checklist label { display: grid; grid-template-columns: 18px 1fr; gap: 8px; padding: 11px 2px; border-top: 1px solid var(--ink-100); cursor: pointer; }
.smart-checklist input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--purple-700); }
.smart-checklist label > span { display: grid; }.smart-checklist strong { font-size: 10px; }.smart-checklist small { margin-top: 2px; color: var(--ink-500); font-size: 8.5px; }
.smart-checklist input:checked + span strong { color: var(--ink-500); text-decoration: line-through; }
.checklist-panel > .button { width: calc(100% - 30px); margin: 0 15px 10px; }
.privacy-mini { display: flex; gap: 7px; padding: 11px 15px; background: var(--ink-50); color: var(--ink-500); font-size: 8.5px; }.privacy-mini i { color: var(--green-700); font-size: 15px; }

.feature-map-panel { margin-bottom: 16px; }.feature-map { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; padding: 2px 15px 16px; }
.feature-map a { position: relative; display: grid; grid-template-columns: 35px 1fr 16px; align-items: center; gap: 8px; min-height: 61px; padding: 9px; border: 1px solid var(--ink-100); border-radius: 12px; background: white; transition: .18s; }
.feature-map a > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; background: var(--ink-50); color: var(--ink-600); font-size: 17px; }.feature-map a strong { align-self: end; font-size: 9.5px; }.feature-map a small { grid-column: 2; align-self: start; color: var(--ink-500); font-size: 8px; }.feature-map a > i { grid-column: 3; grid-row: 1 / span 2; color: var(--ink-300); }.feature-map a:hover, .feature-map a.is-active { border-color: var(--purple-300); background: var(--purple-100); transform: translateY(-1px); }.feature-map a.is-active > span { background: var(--purple-700); color: white; }

.clinical-context-card, .pregnancy-overview { overflow: hidden; margin-bottom: 16px; border: 1px solid rgba(94,65,106,.12); border-radius: var(--radius-lg); background: linear-gradient(135deg, white, #faf4f7); box-shadow: var(--shadow-sm); }
.patient-context-empty, .pregnancy-header { display: grid; grid-template-columns: 53px 1fr auto; align-items: center; gap: 14px; padding: 17px 20px; }
.patient-avatar, .pregnancy-symbol { display: grid; width: 53px; height: 53px; place-items: center; border-radius: 17px; background: linear-gradient(135deg,var(--purple-100),var(--peach-100)); color: var(--purple-700); font-size: 25px; }
.patient-context-empty h2, .pregnancy-header h2 { margin: 2px 0; font-family: "Plus Jakarta Sans", ui-sans-serif, sans-serif; font-size: 18px; font-weight: 500; }.patient-context-empty p, .pregnancy-header p { margin: 0; color: var(--ink-500); font-size: 9.5px; }
.clinical-safety-strip { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--ink-100); background: rgba(255,255,255,.6); }
.clinical-safety-strip > span { display: grid; grid-template-columns: 27px 1fr; align-items: center; gap: 7px; padding: 10px 15px; border-left: 1px solid var(--ink-100); }.clinical-safety-strip > span:first-child { border-left: 0; }.clinical-safety-strip i { grid-row: 1 / span 2; color: var(--purple-600); font-size: 18px; }.clinical-safety-strip strong { font-size: 9px; }.clinical-safety-strip small { color: var(--ink-500); font-size: 7.5px; }
.specialist-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(290px,.7fr); gap: 16px; margin-bottom: 16px; }
.segmented { display: inline-flex; padding: 2px; border-radius: 8px; background: var(--ink-100); }.segmented button,.segmented-label span { padding: 5px 8px; border: 0; border-radius: 6px; background: transparent; color: var(--ink-500); font-size: 8.5px; font-weight: 700; }.segmented button { cursor: pointer; }.segmented button.is-active,.segmented-label span.is-active { background: white; color: var(--purple-700); box-shadow: var(--shadow-sm); }
.timeline-empty { display: grid; grid-template-columns: 45px 1fr; align-items: center; gap: 12px; min-height: 150px; padding: 20px 24px; border-top: 1px solid var(--ink-100); }.timeline-empty > span { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 50%; background: var(--purple-100); color: var(--purple-600); font-size: 20px; }.timeline-empty strong { font-size: 11px; }.timeline-empty p { margin: 3px 0 0; color: var(--ink-500); font-size: 9px; }
.alert-stack, .milestone-list { display: grid; padding: 0 15px 14px; }.alert-stack article, .milestone-list article { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 9px; padding: 10px 2px; border-top: 1px solid var(--ink-100); }.alert-stack article > i, .milestone-list article > i { display: grid; width: 33px; height: 33px; place-items: center; border-radius: 10px; background: var(--purple-100); color: var(--purple-600); font-size: 16px; }.alert-stack span, .milestone-list span { display: grid; }.alert-stack strong, .milestone-list strong { font-size: 9.5px; }.alert-stack small, .milestone-list small { color: var(--ink-500); font-size: 8px; }
.trimester-track { display: grid; grid-template-columns: 1fr 45px 1fr 45px 1fr; align-items: center; padding: 12px 22px 18px; border-top: 1px solid var(--ink-100); }.trimester-track > span { display: grid; grid-template-columns: 30px 1fr; align-items: center; }.trimester-track i { grid-row: 1 / span 2; display: grid; width: 27px; height: 27px; place-items: center; border-radius: 9px; background: var(--purple-100); color: var(--purple-700); font-style: normal; font-size: 10px; font-weight: 800; }.trimester-track strong { font-size: 9px; }.trimester-track small { color: var(--ink-500); font-size: 7.5px; }.trimester-track > b { height: 1px; background: var(--purple-300); }
.legend, .calendar-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--ink-500); font-size: 8.5px; }.legend span, .calendar-legend span { display: inline-flex; align-items: center; gap: 4px; }.legend i, .calendar-legend i { width: 8px; height: 8px; border-radius: 3px; }.legend-purple { background: var(--purple-600); }.legend-peach { background: var(--peach-500); }.legend-green { background: #5da78c; }.legend-gray { background: var(--ink-300); }
.chart-placeholder { position: relative; height: 180px; margin: 0 18px 18px; overflow: hidden; border: 1px solid var(--ink-100); border-radius: 13px; background: white; }.chart-grid { position: absolute; inset: 0; background-image: linear-gradient(var(--ink-100) 1px,transparent 1px),linear-gradient(90deg,var(--ink-100) 1px,transparent 1px); background-size: 40px 40px; }.chart-line { position: absolute; left: 8%; right: 8%; height: 2px; border-radius: 3px; transform-origin: left; }.chart-line-one { top: 58%; background: var(--purple-500); transform: rotate(-7deg); }.chart-line-two { top: 38%; background: var(--peach-500); transform: rotate(5deg); }.chart-placeholder > span { position: absolute; left: 50%; top: 50%; padding: 6px 9px; border-radius: 8px; background: rgba(255,255,255,.86); color: var(--ink-500); font-size: 8px; transform: translate(-50%,-50%); backdrop-filter: blur(4px); }

.partogram-panel { margin-bottom: 16px; overflow: hidden; }.partogram-actions { display: flex; align-items: center; gap: 8px; }.partogram-layout { display: grid; grid-template-columns: minmax(0,1fr) 230px; border-top: 1px solid var(--ink-100); }.partogram-chart-wrap { position: relative; min-height: 320px; padding: 13px; }.partogram-chart { display: block; width: 100%; height: 300px; }.chart-grid-lines { fill: none; stroke: #e7e1e9; stroke-width: 1; }.alert-line { fill: none; stroke: var(--amber-700); stroke-dasharray: 5 5; stroke-width: 2; }.action-line { fill: none; stroke: var(--red-700); stroke-dasharray: 5 5; stroke-width: 2; }.axis-labels { fill: var(--ink-500); font-size: 10px; }.chart-watermark { position: absolute; left: 50%; top: 50%; display: grid; justify-items: center; padding: 12px 16px; border: 1px solid var(--ink-100); border-radius: 13px; background: rgba(255,255,255,.88); box-shadow: var(--shadow-sm); transform: translate(-50%,-50%); backdrop-filter: blur(6px); }.chart-watermark i { color: var(--purple-600); font-size: 24px; }.chart-watermark strong { font-size: 10px; }.chart-watermark span { color: var(--ink-500); font-size: 8px; }.partogram-vitals { padding: 17px; border-left: 1px solid var(--ink-100); background: var(--ink-50); }.partogram-vitals h3 { margin: 0 0 9px; font: 500 15px "Plus Jakarta Sans",ui-sans-serif,sans-serif; }.partogram-vitals dl { display: grid; gap: 6px; margin: 0; }.partogram-vitals dl div { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--ink-200); }.partogram-vitals dt { color: var(--ink-500); font-size: 8.5px; }.partogram-vitals dd { margin: 0; font-size: 10px; font-weight: 800; }.safety-callout { display: flex; gap: 8px; margin-top: 14px; padding: 10px; border-radius: 11px; background: var(--amber-100); color: var(--amber-700); }.safety-callout i { font-size: 18px; }.safety-callout span { display: grid; }.safety-callout strong { font-size: 9px; }.safety-callout span { font-size: 7.5px; }

.calendar-panel { margin-bottom: 16px; overflow: hidden; }.calendar-controls { display: flex; align-items: center; gap: 5px; }.calendar-week { display: grid; grid-template-columns: 55px repeat(5,1fr); min-width: 720px; border-top: 1px solid var(--ink-100); }.calendar-times { display: grid; grid-template-rows: 48px repeat(4,60px); background: var(--ink-50); color: var(--ink-500); font-size: 8px; text-align: right; }.calendar-times span { padding: 5px 8px; border-bottom: 1px solid var(--ink-100); }.calendar-day { border-left: 1px solid var(--ink-100); }.calendar-day header { display: grid; height: 48px; place-items: center; align-content: center; border-bottom: 1px solid var(--ink-100); }.calendar-day header strong { font-size: 9px; }.calendar-day header small { color: var(--ink-500); font-size: 7.5px; }.calendar-slots { display: grid; height: 240px; place-items: center; background-image: repeating-linear-gradient(180deg,transparent 0 59px,var(--ink-100) 59px 60px); }.calendar-slots button { display: inline-flex; align-items: center; gap: 4px; padding: 5px 7px; border: 1px dashed var(--purple-300); border-radius: 8px; background: white; color: var(--purple-600); cursor: pointer; font-size: 8px; opacity: 0; transition: opacity .18s; }.calendar-day:hover .calendar-slots button { opacity: 1; }.calendar-legend { padding: 10px 18px; border-top: 1px solid var(--ink-100); }

.operations-board { margin-bottom: 16px; overflow: hidden; }.kanban-board { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; padding: 0 14px 14px; overflow-x: auto; }.kanban-column { min-width: 185px; padding: 10px; border: 1px solid var(--ink-100); border-radius: 13px; background: var(--ink-50); }.kanban-column > header { display: flex; align-items: center; justify-content: space-between; font-size: 9px; font-weight: 800; }.kanban-column > header span { display: flex; align-items: center; gap: 5px; }.kanban-column > header i { color: var(--purple-600); }.kanban-column > header b { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 7px; background: white; color: var(--ink-500); font-size: 8px; }.kanban-empty { display: grid; min-height: 100px; place-items: center; align-content: center; margin: 10px 0; border: 1px dashed var(--ink-200); border-radius: 10px; color: var(--ink-400); text-align: center; }.kanban-empty i { font-size: 19px; }.kanban-empty span { margin-top: 3px; font-size: 7.5px; }.kanban-column > button { width: 100%; padding: 6px; border: 0; border-radius: 8px; background: var(--purple-100); color: var(--purple-700); cursor: pointer; font-size: 8px; font-weight: 750; }

.finance-overview { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(280px,.65fr); gap: 16px; margin-bottom: 16px; }.cashflow-chart { position: relative; display: flex; height: 160px; align-items: end; justify-content: space-around; gap: 8px; margin: 0 18px; padding: 20px 12px; border: 1px solid var(--ink-100); border-radius: 13px; background-image: linear-gradient(var(--ink-100) 1px,transparent 1px); background-size: 100% 40px; }.cashflow-chart > span { display: flex; width: 8%; height: 100%; align-items: end; justify-content: center; gap: 2px; }.cashflow-chart i { display: block; width: 7px; height: var(--bar); border-radius: 3px 3px 1px 1px; }.bar-in { background: var(--green-700); }.bar-out { background: var(--peach-500); }.chart-empty-label { position: absolute; left: 50%; top: 50%; padding: 5px 8px; border-radius: 7px; background: rgba(255,255,255,.85); color: var(--ink-500); font-size: 7.5px; transform: translate(-50%,-50%); }.cashflow-panel > footer { padding: 9px 18px 14px; }.reconcile-score { display: grid; place-items: center; padding: 4px 0 12px; }.reconcile-score > span { display: grid; width: 102px; height: 102px; place-items: center; align-content: center; border: 9px solid var(--purple-100); border-top-color: var(--purple-600); border-radius: 50%; }.reconcile-score strong { font: 500 24px "Plus Jakarta Sans",ui-sans-serif,sans-serif; }.reconcile-score small { color: var(--ink-500); font-size: 7px; }.reconciliation-panel ul { display: grid; margin: 0; padding: 0 14px 14px; list-style: none; }.reconciliation-panel li { display: grid; grid-template-columns: 31px 1fr; align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid var(--ink-100); }.reconciliation-panel li > i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: var(--purple-100); color: var(--purple-600); }.reconciliation-panel li span { display: grid; }.reconciliation-panel strong { font-size: 9px; }.reconciliation-panel small { color: var(--ink-500); font-size: 7.5px; }
.bar-size-38 { --bar: 38%; }.bar-size-56 { --bar: 56%; }.bar-size-43 { --bar: 43%; }.bar-size-69 { --bar: 69%; }.bar-size-62 { --bar: 62%; }.bar-size-78 { --bar: 78%; }.bar-size-71 { --bar: 71%; }.bar-size-86 { --bar: 86%; }.bar-size-18 { --bar: 18%; }.bar-size-32 { --bar: 32%; }.bar-size-19 { --bar: 19%; }.bar-size-45 { --bar: 45%; }.bar-size-54 { --bar: 54%; }.bar-size-47 { --bar: 47%; }.bar-size-62 { --bar: 62%; }

.diagnostic-worklist { margin-bottom: 16px; }.worklist-stages { display: grid; grid-template-columns: 1fr 22px 1fr 22px 1fr 22px 1fr; align-items: center; padding: 5px 18px 20px; }.worklist-stages article { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 7px; padding: 12px; border: 1px solid var(--ink-100); border-radius: 13px; background: var(--ink-50); }.worklist-stages article > span { grid-row: 1 / span 3; display: grid; width: 37px; height: 37px; place-items: center; border-radius: 11px; background: white; color: var(--purple-600); font-size: 18px; }.worklist-stages strong { align-self: end; font-size: 8.5px; }.worklist-stages b { font: 500 20px "Plus Jakarta Sans",ui-sans-serif,sans-serif; }.worklist-stages small { grid-column: 2; color: var(--ink-500); font-size: 7px; }.worklist-stages > i { color: var(--ink-300); text-align: center; }

.ai-workspace { margin-bottom: 16px; padding: 26px; border: 1px solid rgba(94,65,106,.13); border-radius: 28px; background: radial-gradient(circle at 15% 0%,rgba(208,154,132,.16),transparent 30%),radial-gradient(circle at 90% 30%,rgba(128,99,142,.15),transparent 36%),white; box-shadow: var(--shadow-sm); }.ai-intro { display: flex; align-items: center; justify-content: center; gap: 13px; margin: 4px auto 20px; text-align: left; }.ai-orb { display: grid; width: 54px; height: 54px; place-items: center; border: 5px solid white; border-radius: 18px; background: linear-gradient(135deg,var(--purple-700),var(--peach-500)); color: white; box-shadow: 0 12px 30px rgba(110,82,122,.25); font-size: 23px; }.ai-intro h2 { margin: 3px 0; font: 500 23px "Plus Jakarta Sans",ui-sans-serif,sans-serif; }.ai-intro p { margin: 0; color: var(--ink-500); font-size: 9.5px; }.ai-prompt-box { max-width: 820px; margin: 0 auto; overflow: hidden; border: 1px solid var(--purple-300); border-radius: 16px; background: white; box-shadow: 0 12px 34px rgba(75,53,83,.1); }.ai-prompt-box textarea { width: 100%; padding: 14px 16px; resize: vertical; border: 0; outline: 0; color: var(--ink-800); font-size: 11px; }.ai-prompt-box footer { display: flex; align-items: center; justify-content: space-between; padding: 8px; border-top: 1px solid var(--ink-100); }.ai-prompt-box footer > div { display: flex; align-items: center; gap: 5px; }.ai-prompt-box footer > div button { display: grid; width: 30px; height: 30px; place-items: center; border: 0; border-radius: 8px; background: var(--ink-50); color: var(--ink-600); cursor: pointer; }.ai-prompt-box footer > div span { margin-left: 5px; color: var(--ink-500); font-size: 8px; }.ai-suggestions { display: grid; grid-template-columns: repeat(4,1fr); max-width: 900px; gap: 8px; margin: 13px auto; }.ai-suggestions button { display: grid; grid-template-columns: 35px 1fr; align-items: center; gap: 7px; padding: 9px; border: 1px solid var(--ink-100); border-radius: 11px; background: rgba(255,255,255,.8); cursor: pointer; text-align: left; transition: .18s; }.ai-suggestions button:hover { border-color: var(--purple-300); background: var(--purple-100); transform: translateY(-1px); }.ai-suggestions button > i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: var(--purple-100); color: var(--purple-600); font-size: 16px; }.ai-suggestions span { display: grid; }.ai-suggestions strong { font-size: 8.5px; }.ai-suggestions small { color: var(--ink-500); font-size: 7px; }.ai-governance-strip { display: grid; grid-template-columns: 24px 1fr auto; max-width: 900px; align-items: center; gap: 8px; margin: 0 auto; padding: 9px 12px; border-radius: 10px; background: var(--purple-100); color: var(--purple-700); }.ai-governance-strip > i { font-size: 19px; }.ai-governance-strip span { font-size: 8px; }.ai-governance-strip a { font-size: 8px; font-weight: 800; text-decoration: underline; }

.system-health-panel, .executive-insight-panel, .relationship-panel, .digital-experience-panel, .integration-monitor { margin-bottom: 16px; }.health-grid, .digital-journey { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; padding: 2px 15px 16px; }.health-grid article, .digital-journey article { display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: 8px; padding: 11px; border: 1px solid var(--ink-100); border-radius: 12px; background: var(--ink-50); }.health-grid article > i, .digital-journey article > i { grid-row: 1 / span 2; display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; background: white; color: var(--purple-600); font-size: 17px; }.health-grid span, .digital-journey article { min-width: 0; }.health-grid strong, .digital-journey strong { font-size: 8.5px; }.health-grid small, .digital-journey small { display: block; color: var(--ink-500); font-size: 7px; }.health-grid b { grid-column: 2; color: var(--green-700); font-size: 7.5px; }
.executive-bars { display: grid; gap: 8px; padding: 2px 18px 16px; }.executive-bars article { display: grid; grid-template-columns: 150px 1fr 38px; align-items: center; gap: 10px; }.executive-bars span { display: grid; }.executive-bars strong { font-size: 9px; }.executive-bars small { color: var(--ink-500); font-size: 7px; }.executive-bars article > div { height: 7px; overflow: hidden; border-radius: 5px; background: var(--ink-100); }.executive-bars article > div i { display: block; width: var(--progress); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--purple-600),var(--peach-500)); }.executive-bars b { color: var(--ink-600); font-size: 9px; }.executive-insight-panel > footer { padding: 9px 18px; border-top: 1px solid var(--ink-100); color: var(--ink-500); font-size: 7.5px; }.progress-size-76 { --progress: 76%; }.progress-size-81 { --progress: 81%; }.progress-size-84 { --progress: 84%; }.progress-size-88 { --progress: 88%; }.progress-size-94 { --progress: 94%; }
.relationship-pipeline { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; padding: 3px 14px 15px; overflow-x: auto; }.relationship-pipeline article { min-width: 150px; padding: 9px; border: 1px solid var(--ink-100); border-radius: 12px; background: var(--ink-50); }.relationship-pipeline article header { display: flex; align-items: center; justify-content: space-between; font-size: 8px; }.relationship-pipeline article header b { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 7px; background: white; color: var(--purple-600); }.relationship-pipeline article > div { display: grid; min-height: 72px; place-items: center; align-content: center; margin-top: 8px; border: 1px dashed var(--ink-200); border-radius: 9px; color: var(--ink-400); text-align: center; }.relationship-pipeline article > div i { font-size: 18px; }.relationship-pipeline article > div span { margin-top: 3px; font-size: 7px; }
.protocol-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; padding: 2px 15px 16px; }.protocol-grid article { display: grid; padding: 11px; border: 1px solid var(--ink-100); border-radius: 12px; background: linear-gradient(135deg,var(--ink-50),white); }.protocol-grid span { color: var(--purple-600); font-size: 8px; font-weight: 850; letter-spacing: 1px; }.protocol-grid strong { margin: 3px 0; font: 500 16px "Plus Jakarta Sans",ui-sans-serif,sans-serif; }.protocol-grid small { color: var(--ink-500); font-size: 7px; }

.modal-shell, .drawer-shell { position: fixed; inset: 0; z-index: 200; }.modal-backdrop, .drawer-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(36,29,41,.48); backdrop-filter: blur(5px); }.command-panel { position: relative; width: min(94vw, 660px); max-height: min(78vh, 620px); margin: 9vh auto 0; overflow: hidden; border: 1px solid rgba(255,255,255,.4); border-radius: 20px; background: white; box-shadow: var(--shadow-lg); animation: modal-in .22s var(--ease); }.command-input-wrap { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 8px; padding: 15px 17px; border-bottom: 1px solid var(--ink-100); }.command-input-wrap > i { color: var(--purple-600); font-size: 21px; }.command-input-wrap input { border: 0; outline: 0; font-size: 13px; }.command-input-wrap kbd { padding: 2px 5px; }.command-hint { display: flex; align-items: center; justify-content: space-between; padding: 9px 15px; background: var(--ink-50); color: var(--ink-500); font-size: 8px; }.command-hint span { font-weight: 800; letter-spacing: .8px; text-transform: uppercase; }.command-results { max-height: 390px; overflow-y: auto; padding: 7px; }.command-results a { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 9px; padding: 9px; border-radius: 11px; }.command-results a:hover, .command-results a.is-selected { background: var(--purple-100); }.command-results a > i { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 11px; background: var(--ink-50); color: var(--purple-600); font-size: 18px; }.command-results span { display: grid; }.command-results strong { font-size: 10px; }.command-results small { color: var(--ink-500); font-size: 8px; }.command-results kbd { padding: 2px 5px; }.command-footer { display: flex; align-items: center; gap: 13px; padding: 9px 15px; border-top: 1px solid var(--ink-100); background: var(--ink-50); color: var(--ink-500); font-size: 7.5px; }.command-footer span:last-child { margin-left: auto; }.command-footer kbd { margin-right: 2px; padding: 1px 4px; }
.drawer-backdrop { background: rgba(36,29,41,.34); }.action-drawer { position: absolute; inset: 0 0 0 auto; width: min(94vw, 480px); overflow-y: auto; background: white; box-shadow: -20px 0 70px rgba(36,29,41,.18); animation: drawer-in .28s var(--ease); }.action-drawer > header { display: flex; align-items: center; justify-content: space-between; padding: 20px; border-bottom: 1px solid var(--ink-100); }.action-drawer h2 { margin: 3px 0 0; font: 500 22px "Plus Jakarta Sans",ui-sans-serif,sans-serif; }.drawer-progress { display: flex; align-items: center; gap: 5px; padding: 13px 20px; background: var(--ink-50); }.drawer-progress i { width: 37px; height: 3px; border-radius: 2px; background: var(--ink-200); }.drawer-progress i:first-child { background: var(--purple-600); }.drawer-progress span { margin-left: auto; color: var(--ink-500); font-size: 8px; }.drawer-form { display: grid; gap: 15px; padding: 22px 20px; }.drawer-form label { display: grid; gap: 6px; color: var(--ink-700); font-size: 9.5px; font-weight: 760; }.drawer-form label > span { color: var(--ink-500); font-size: 7.5px; font-weight: 500; }.drawer-form input, .drawer-form select, .drawer-form textarea { width: 100%; padding: 10px 11px; border: 1px solid var(--ink-200); border-radius: 10px; outline: 0; background: white; color: var(--ink-800); font-size: 10px; }.drawer-form input:focus, .drawer-form select:focus, .drawer-form textarea:focus { border-color: var(--purple-400); box-shadow: 0 0 0 3px var(--purple-100); }.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.privacy-note { display: grid; grid-template-columns: 27px 1fr; gap: 8px; padding: 11px; border-radius: 11px; background: var(--green-100); color: var(--green-700); }.privacy-note > i { font-size: 20px; }.privacy-note span { display: grid; font-size: 8px; }.privacy-note strong { font-size: 9px; }.drawer-form > footer { display: flex; justify-content: flex-end; gap: 7px; margin-top: 4px; padding-top: 14px; border-top: 1px solid var(--ink-100); }
.toast-region { position: fixed; right: 18px; bottom: 18px; z-index: 300; display: grid; gap: 8px; width: min(90vw,360px); }.toast { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 8px; padding: 11px; border: 1px solid var(--ink-100); border-radius: 12px; background: white; box-shadow: var(--shadow-md); animation: toast-in .25s var(--ease); }.toast > i { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; background: var(--green-100); color: var(--green-700); }.toast span { display: grid; }.toast strong { font-size: 9px; }.toast small { color: var(--ink-500); font-size: 7.5px; }.toast button { border: 0; background: transparent; cursor: pointer; color: var(--ink-500); }
.error-page { display: grid; min-height: calc(100vh - var(--topbar-height) - 84px); place-items: center; align-content: center; text-align: center; }.error-illustration { display: grid; width: 86px; height: 86px; place-items: center; margin-bottom: 14px; border-radius: 27px; background: linear-gradient(135deg,var(--purple-100),var(--peach-100)); color: var(--purple-700); font-size: 38px; }.error-page h1 { margin: 7px 0; font: 500 27px "Plus Jakarta Sans",ui-sans-serif,sans-serif; }.error-page p { max-width: 460px; margin: 0 0 16px; color: var(--ink-500); }.error-page > div { display: flex; gap: 8px; }
body.focus-mode .app-shell { grid-template-columns: 0 minmax(0,1fr); }
body.focus-mode .app-sidebar { transform: translateX(-100%); }

@keyframes modal-in { from { opacity: 0; transform: translateY(-12px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes drawer-in { from { transform: translateX(100%); } to { transform: none; } }
@keyframes toast-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

@media (max-width: 1250px) {
    :root { --sidebar-expanded: 272px; --sidebar-collapsed: 70px; --sidebar-inset: 6px; }
    .app-topbar { grid-template-columns: minmax(210px,1fr) auto; }
    .topbar-context { display: none; }
    .dashboard-grid-main, .dashboard-grid-bottom { grid-template-columns: 1fr; }
    .safety-panel { display: grid; grid-template-columns: 1fr 1.3fr auto; align-items: center; }.safety-panel .risk-orbit { height: 190px; }.safety-panel .panel-link { align-self: center; }
    .metric-card { grid-template-columns: 38px 1fr auto; }.metric-icon { width: 38px; height: 38px; }
    .health-grid, .digital-journey { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 1020px) {
    :root { --sidebar-expanded: 280px; --sidebar-collapsed: 70px; --sidebar-inset: 8px; }
    .app-shell { grid-template-columns: minmax(0,1fr); }
    .app-sidebar { position: fixed; inset: var(--sidebar-inset) auto var(--sidebar-inset) var(--sidebar-inset); width: min(var(--sidebar-expanded), calc(100vw - (var(--sidebar-inset) * 2))); height: calc(100svh - (var(--sidebar-inset) * 2)); margin: 0; border-radius: 24px; transform: translateX(calc(-105% - var(--sidebar-inset))); transition: transform var(--sidebar-motion), box-shadow var(--sidebar-motion); }
    body.sidebar-open .app-sidebar { transform: none; }
    body.sidebar-open { overflow: hidden; }
    .sidebar-close { display: inline-grid !important; }
    .sidebar-backdrop { position: fixed; inset: 0; z-index: 70; display: block; width: 100%; height: 100%; border: 0; background: rgba(36,29,41,.42); opacity: 0; visibility: hidden; backdrop-filter: blur(5px); transition: opacity var(--sidebar-motion), visibility 0s linear 350ms; }
    body.sidebar-open .sidebar-backdrop { opacity: 1; visibility: visible; transition-delay: 0s; }
    .mobile-menu { display: inline-grid !important; }
    .page-content { padding: 23px 24px 48px; }
    .module-grid { grid-template-columns: 1fr; }.checklist-panel { position: static; }
    .metric-grid { grid-template-columns: repeat(2,1fr); }
    .specialist-grid, .finance-overview { grid-template-columns: 1fr; }
    .clinical-alert-panel, .reconciliation-panel { min-width: 0; }
    .ai-suggestions { grid-template-columns: repeat(2,1fr); }
    .worklist-stages { grid-template-columns: repeat(4,1fr); }.worklist-stages > i { display: none; }
}

@media (max-width: 720px) {
    .app-sidebar { width: min(280px, calc(100vw - 16px)); border-radius: 22px; }
    .app-topbar { grid-template-columns: 1fr auto; gap: 8px; min-height: 64px; padding: 0 13px; }
    .topbar-actions > .icon-button:first-child { display: none; }.user-copy, .user-menu > i { display: none; }.user-menu { grid-template-columns: 35px; }
    .global-search-trigger { width: min(62vw,330px); }.global-search-trigger span { font-size: 10px; }.global-search-trigger kbd { display: none; }
    .page-content { padding: 18px 14px 42px; }
    .dashboard-hero, .module-hero { display: grid; }.hero-actions, .module-actions { width: 100%; }.hero-actions .button, .module-actions .button { flex: 1; }
    .hero-copy h1 { font-size: 29px; }.module-title-block h1 { font-size: 25px; }
    .metric-grid { gap: 9px; }.metric-card { min-height: 91px; padding: 11px; }.metric-card strong { font-size: 21px; }.metric-card small { display: none; }
    .safety-panel { display: block; }.safety-panel .risk-orbit { height: 240px; }
    .journey-track { grid-template-columns: repeat(4,1fr); gap: 4px; padding: 12px; }.journey-track > span { display: none; }.journey-track a > i { width: 39px; height: 39px; font-size: 18px; }.journey-track strong { font-size: 8px; }.journey-track small { display: none; }
    .module-icon { width: 44px; height: 44px; }.module-title-block { gap: 10px; }
    .patient-context-empty, .pregnancy-header { grid-template-columns: 46px 1fr; padding: 14px; }.patient-avatar, .pregnancy-symbol { width: 46px; height: 46px; }.patient-context-empty .button, .pregnancy-header .button { grid-column: 1 / -1; }
    .clinical-safety-strip { grid-template-columns: repeat(2,1fr); }.clinical-safety-strip > span:nth-child(3) { border-left: 0; border-top: 1px solid var(--ink-100); }.clinical-safety-strip > span:nth-child(4) { border-top: 1px solid var(--ink-100); }
    .trimester-track { grid-template-columns: 1fr; gap: 8px; }.trimester-track > b { display: none; }
    .partogram-layout { grid-template-columns: 1fr; }.partogram-vitals { border-top: 1px solid var(--ink-100); border-left: 0; }.partogram-actions { display: none; }
    .calendar-panel { overflow-x: auto; }.calendar-panel .panel-header, .calendar-panel .calendar-legend { position: sticky; left: 0; min-width: calc(100vw - 30px); background: white; }
    .kanban-board { grid-template-columns: repeat(4,185px); }
    .health-grid, .digital-journey, .protocol-grid { grid-template-columns: 1fr 1fr; }
    .relationship-pipeline { grid-template-columns: repeat(5,155px); }
    .records-header { display: grid; }.table-tools { width: 100%; }.table-tools label { flex: 1; width: auto; }
    .responsive-table table, .responsive-table thead, .responsive-table tbody, .responsive-table th, .responsive-table td, .responsive-table tr { display: block; }
    .responsive-table thead { display: none; }.responsive-table tr { margin: 0 10px 10px; padding: 8px; border: 1px solid var(--ink-100); border-radius: 12px; }.responsive-table td { display: flex; max-width: none; align-items: center; justify-content: space-between; gap: 15px; padding: 7px; border: 0; white-space: normal; }.responsive-table td::before { color: var(--ink-500); content: attr(data-label); font-size: 8px; font-weight: 800; text-transform: uppercase; }.responsive-table .row-actions { width: auto; }.responsive-table .row-actions::before { content: "Ações"; }
    .worklist-stages { grid-template-columns: 1fr 1fr; gap: 8px; }
    .executive-bars article { grid-template-columns: 95px 1fr 32px; }
    .command-panel { margin-top: 4vh; }.command-footer span:last-child { display: none; }
}

@media (max-width: 470px) {
    .metric-grid { grid-template-columns: 1fr; }.metric-card { min-height: 82px; }
    .hero-actions, .module-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .quick-grid { grid-template-columns: repeat(2,1fr); }
    .priority-item { grid-template-columns: 36px 1fr 16px; }.priority-count, .priority-ok { display: none; }
    .feature-map { grid-template-columns: 1fr 1fr; }.feature-map a { grid-template-columns: 31px 1fr 12px; }.feature-map a > span { width: 31px; height: 31px; }
    .ai-workspace { padding: 18px 12px; }.ai-intro { justify-content: flex-start; }.ai-orb { width: 45px; height: 45px; }.ai-intro h2 { font-size: 18px; }.ai-suggestions { grid-template-columns: 1fr 1fr; }.ai-governance-strip { grid-template-columns: 22px 1fr; }.ai-governance-strip a { display: none; }
    .health-grid, .digital-journey, .protocol-grid { grid-template-columns: 1fr; }
    .form-grid { grid-template-columns: 1fr; }
}

@media print {
    .app-sidebar, .app-topbar, .module-actions, .screen-tabs, .checklist-panel, .table-tools, .sidebar-backdrop { display: none !important; }
    .app-shell { display: block; }.app-workspace { padding-left: 0; }.page-content { width: 100%; padding: 0; }.panel, .metric-card { break-inside: avoid; box-shadow: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Maternari Clinical OS V4 ------------------------------------------------ */
.app-topbar { grid-template-columns: minmax(320px,1fr) auto auto; padding: 0 28px; border-color: rgba(87,66,97,.09); background: rgba(250,248,244,.9); box-shadow: 0 6px 30px rgba(55,40,62,.045); }
.patient-search { position: relative; display: grid; grid-template-columns: 21px minmax(0,1fr) auto; width: min(100%,560px); align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid rgba(90,70,100,.14); border-radius: 13px; background: rgba(255,255,255,.92); box-shadow: 0 3px 12px rgba(54,41,61,.04); color: var(--ink-500); transition: .2s var(--ease); }
.patient-search:focus-within { border-color: var(--purple-400); box-shadow: 0 0 0 4px rgba(152,121,164,.1),0 8px 24px rgba(54,41,61,.08); }
.patient-search > i { font-size: 18px; }.patient-search > input { min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink-800); font-size: 11px; }.patient-search > kbd { padding: 2px 6px; }
.patient-search-results,.drawer-patient-results { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 120; max-height: 440px; overflow-y: auto; padding: 7px; border: 1px solid var(--ink-100); border-radius: 16px; background: white; box-shadow: 0 24px 70px rgba(37,27,42,.18); }
.patient-result { display: grid; grid-template-columns: 41px minmax(0,1fr) auto; align-items: center; gap: 10px; width: 100%; padding: 9px; border: 0; border-radius: 11px; background: transparent; color: inherit; cursor: pointer; text-align: left; transition: .16s; }.patient-result:hover,.patient-result.is-active { background: var(--purple-100); }
.patient-result-avatar { display: grid; width: 41px; height: 41px; place-items: center; border-radius: 12px; background: linear-gradient(135deg,var(--purple-100),var(--peach-100)); color: var(--purple-700); font-weight: 800; }
.patient-result-avatar { overflow: hidden; }.patient-result-avatar img { width: 100%; height: 100%; object-fit: cover; }
.context-patient-avatar { overflow: hidden; }.context-patient-avatar img { width: 100%; height: 100%; object-fit: cover; }
.patient-result-copy { display: grid; min-width: 0; }.patient-result-copy strong { overflow: hidden; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }.patient-result-copy small { color: var(--ink-500); font-size: 8.5px; }.patient-result-meta { display: grid; justify-items: end; gap: 3px; }.patient-result-meta span { padding: 3px 6px; border-radius: 7px; background: var(--green-100); color: var(--green-700); font-size: 7.5px; font-weight: 700; }.patient-result-meta .high-risk { background: var(--red-100); color: var(--red-700); }
.search-state { display: flex; align-items: center; gap: 9px; padding: 13px; color: var(--ink-500); font-size: 9px; }.search-state i { color: var(--purple-600); font-size: 18px; }
.current-date { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-500); font-size: 9.5px; font-weight: 600; }.current-date i { color: var(--purple-600); }
.patient-context-bar { position: sticky; top: var(--topbar-height); z-index: 48; display: grid; grid-template-columns: 40px minmax(210px,auto) auto 1fr 36px; align-items: center; gap: 11px; min-height: 64px; padding: 8px 28px; border-bottom: 1px solid rgba(94,65,106,.1); background: rgba(255,255,255,.94); box-shadow: 0 6px 22px rgba(47,35,53,.045); backdrop-filter: blur(18px); }
.context-patient-avatar { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; background: linear-gradient(135deg,var(--purple-100),var(--peach-100)); color: var(--purple-700); font-size: 18px; }
.context-patient-copy { display: grid; line-height: 1.2; }.context-patient-copy > span { color: var(--purple-600); font-size: 7.5px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }.context-patient-copy strong { font-size: 10.5px; }.context-patient-copy small { margin-top: 2px; color: var(--ink-500); font-size: 8px; }
.pregnancy-context { display: inline-flex; align-items: center; gap: 5px; padding: 6px 8px; border-radius: 9px; background: var(--green-100); color: var(--green-700); font-size: 8px; font-weight: 700; }.pregnancy-context.is-high-risk { background: var(--red-100); color: var(--red-700); }
.context-quick-links { display: flex; justify-content: flex-end; gap: 4px; }.context-quick-links a { display: inline-flex; align-items: center; gap: 4px; padding: 6px 8px; border-radius: 8px; color: var(--ink-600); font-size: 8px; font-weight: 650; }.context-quick-links a:hover { background: var(--purple-100); color: var(--purple-700); }
.patient-context-placeholder { display: flex; min-height: 34px; align-items: center; justify-content: center; gap: 6px; padding: 5px 14px; border-bottom: 1px solid rgba(94,65,106,.08); background: rgba(238,230,241,.52); color: var(--ink-500); font-size: 8.5px; }.patient-context-placeholder i { color: var(--purple-600); }
.page-content { width: min(100%,1800px); padding: 30px 34px 64px; }
.hero-copy h1,.module-title-block h1 { font-weight: 650; letter-spacing: -1.35px; }.panel-header h2 { font-weight: 650; }.metric-card strong { font-weight: 650; }
.panel,.metric-card { border-color: rgba(80,58,91,.09); background: rgba(255,255,255,.94); }.panel { box-shadow: 0 1px 2px rgba(45,32,51,.04),0 10px 36px rgba(45,32,51,.035); }
.button-primary { background: linear-gradient(135deg,#71547d,#936f91 70%,#b27f80); }
.metric-primary { background: radial-gradient(circle at 90% 15%,rgba(255,255,255,.16),transparent 30%),linear-gradient(135deg,#513c5c,#71547d 64%,#8d677d); }
.metric-icon-rose { background: #fae8e5; color: #ae6b70; }.metric-icon-mint { background: #e2f2ec; color: #37765f; }.metric-icon-amber { background: #fff0d9; color: #9a681f; }.dot-rose { background: #c67f82; box-shadow: 0 0 0 5px #fae8e5; }
.dashboard-command-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(360px,.65fr); gap: 16px; margin-bottom: 22px; }
.schedule-list,.alert-list { display: grid; padding: 0 14px 14px; }.schedule-item { display: grid; grid-template-columns: 44px 2px 39px minmax(0,1fr) auto 32px; align-items: center; gap: 10px; min-height: 62px; padding: 8px 4px; border-top: 1px solid var(--ink-100); }.schedule-item:first-child { border-top: 0; }.schedule-item time { color: var(--ink-700); font-size: 9.5px; font-weight: 700; }.schedule-line { width: 2px; height: 36px; border-radius: 2px; background: linear-gradient(var(--purple-400),var(--peach-400)); }.schedule-avatar { display: grid; width: 38px; height: 38px; overflow:hidden; place-items: center; border-radius: 11px; background: var(--purple-100); color: var(--purple-700); font-size: 11px; font-weight: 800; }.schedule-avatar img { width:100%; height:100%; object-fit:cover; }.schedule-copy { display: grid; }.schedule-copy strong { font-size: 9.5px; }.schedule-copy small { color: var(--ink-500); font-size: 8px; }
.clinical-alert { display: grid; grid-template-columns: 38px minmax(0,1fr) 32px; align-items: center; gap: 9px; padding: 10px 3px; border-top: 1px solid var(--ink-100); }.clinical-alert:first-child { border-top: 0; }.alert-symbol { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 11px; background: var(--amber-100); color: var(--amber-700); }.clinical-alert > div { display: grid; }.clinical-alert > div > span { color: var(--amber-700); font-size: 7px; font-weight: 800; letter-spacing: .4px; text-transform: uppercase; }.clinical-alert strong { font-size: 9px; }.clinical-alert small { color: var(--ink-500); font-size: 7.5px; }.severity-critico .alert-symbol,.severity-alto .alert-symbol { background: var(--red-100); color: var(--red-700); }.severity-critico > div > span,.severity-alto > div > span { color: var(--red-700); }
.compact-empty { display: flex; min-height: 150px; align-items: center; justify-content: center; gap: 12px; color: var(--ink-500); }.compact-empty > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; background: var(--purple-100); color: var(--purple-700); font-size: 22px; }.compact-empty > div { display: grid; }.compact-empty strong { color: var(--ink-700); font-size: 10px; }.compact-empty small { font-size: 8px; }.compact-empty-success > span { background: var(--green-100); color: var(--green-700); }
.care-hub { margin: 4px 0 22px; }.section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 12px; }.section-heading h2 { margin: 4px 0 0; font-size: 19px; letter-spacing: -.4px; }.section-heading > span { color: var(--ink-500); font-size: 8.5px; }
.care-hub-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }.care-hub-card { display: grid; grid-template-columns: 43px 1fr; gap: 11px; min-height: 142px; padding: 15px; border: 1px solid rgba(80,58,91,.09); border-radius: 18px; background: white; box-shadow: var(--shadow-sm); transition: .2s var(--ease); }.care-hub-card:hover { border-color: var(--purple-300); transform: translateY(-3px); box-shadow: var(--shadow-md); }.hub-icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: linear-gradient(135deg,var(--purple-100),var(--peach-100)); color: var(--purple-700); font-size: 19px; }.care-hub-card > div { display: grid; align-content: start; }.care-hub-card > div strong { font-size: 10.5px; }.care-hub-card > div small { display: -webkit-box; overflow: hidden; margin-top: 3px; color: var(--ink-500); font-size: 8px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.care-hub-card footer { grid-column: 1/-1; display: flex; align-items: center; gap: 13px; margin-top: auto; padding-top: 9px; border-top: 1px solid var(--ink-100); color: var(--ink-500); font-size: 8px; }.care-hub-card footer b { color: var(--ink-800); }.care-hub-card footer .has-attention { color: var(--red-700); }.care-hub-card footer > i { margin-left: auto; color: var(--purple-600); font-size: 15px; }
.drawer-patient-search { position: relative; }.drawer-patient-search > i { position: absolute; left: 11px; top: 12px; z-index: 1; color: var(--ink-500); }.drawer-patient-search > input { padding-left: 34px; }.drawer-patient-results { top: calc(100% + 5px); }

/* Login premium */
.login-page { min-height: 100vh; overflow-x: hidden; background: #f7f2ee; }.login-shell { display: grid; min-height: 100vh; grid-template-columns: minmax(0,1.12fr) minmax(460px,.88fr); }
.login-story { position: relative; display: flex; min-height: 100vh; flex-direction: column; overflow: hidden; padding: clamp(32px,5vw,72px); background: radial-gradient(circle at 15% 20%,rgba(234,184,161,.26),transparent 27%),radial-gradient(circle at 85% 72%,rgba(168,126,164,.22),transparent 31%),linear-gradient(145deg,#4b3855 0%,#34263d 58%,#261d2d 100%); color: white; }
.login-story::before { position: absolute; right: -10%; bottom: -17%; width: min(62vw,760px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); content: ''; }.login-story::after { position: absolute; right: 7%; bottom: 2%; width: 320px; height: 390px; border: 1px solid rgba(236,193,174,.16); border-radius: 50% 50% 42% 58% / 42% 48% 52% 58%; content: ''; transform: rotate(-14deg); }
.story-orb { position: absolute; border-radius: 50%; filter: blur(1px); }.story-orb-one { right: 9%; top: 12%; width: 150px; height: 150px; background: radial-gradient(circle at 30% 30%,rgba(239,188,165,.36),rgba(183,125,157,.05) 70%); }.story-orb-two { left: -60px; bottom: 12%; width: 190px; height: 190px; background: radial-gradient(circle,rgba(142,100,151,.3),transparent 70%); }
.login-brand { position: relative; z-index: 2; display: flex; align-items: center; gap: 14px; }.login-brand img { width: 62px; height: 62px; border: 1px solid rgba(255,255,255,.2); border-radius: 20px; box-shadow: 0 14px 35px rgba(12,8,16,.24); }.login-brand > span { display: grid; }.login-brand strong { font-size: 24px; line-height: 1.1; letter-spacing: -.7px; }.login-brand small { margin-top: 5px; color: rgba(255,255,255,.5); font-size: 8.5px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; }
.story-copy { position: relative; z-index: 2; width: min(100%,720px); margin: auto 0; padding: 70px 0; }.login-kicker { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 20px; color: #efc2ad; font-size: 9px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; }.login-kicker i { font-size: 15px; }.story-copy h1 { max-width: 700px; margin: 0; font-size: clamp(44px,5.3vw,78px); font-weight: 650; letter-spacing: -3.4px; line-height: 1.03; }.story-copy h1 em { color: #e8b8a3; font-style: normal; font-weight: 500; }.story-copy > p { max-width: 620px; margin: 24px 0 38px; color: rgba(255,255,255,.64); font-size: clamp(12px,1.2vw,15px); line-height: 1.8; }
.story-capabilities { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.story-capabilities > span { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 9px; padding: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.045); backdrop-filter: blur(10px); }.story-capabilities i { grid-row: 1/span 2; display: grid; width: 33px; height: 33px; place-items: center; border-radius: 10px; background: rgba(232,184,163,.12); color: #edbda8; font-size: 17px; }.story-capabilities b { align-self: end; font-size: 9px; }.story-capabilities small { align-self: start; color: rgba(255,255,255,.4); font-size: 7px; }
.story-footer { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.38); font-size: 8px; }.story-footer span { display: flex; align-items: center; gap: 6px; }.story-footer i { color: #8bd0b3; }
.login-access { display: grid; min-height: 100vh; place-items: center; padding: clamp(24px,5vw,82px); background: radial-gradient(circle at 100% 0%,rgba(222,187,172,.22),transparent 26%),#f8f5f1; }.login-card { width: min(100%,470px); }.login-mobile-brand { display: none; }.access-eyebrow { color: var(--purple-600); font-size: 8.5px; font-weight: 800; letter-spacing: 1.4px; text-transform: uppercase; }.login-card h2 { margin: 8px 0 6px; color: var(--ink-950); font-size: clamp(30px,3vw,42px); font-weight: 650; letter-spacing: -1.5px; }.access-lead { margin: 0 0 30px; color: var(--ink-500); font-size: 10.5px; }
.login-notice { display: flex; gap: 8px; margin-bottom: 18px; padding: 10px 12px; border-radius: 11px; background: var(--amber-100); color: var(--amber-700); font-size: 9px; }.login-notice i { font-size: 17px; }.login-form { display: grid; }.login-form > label,.password-row label { margin-bottom: 7px; color: var(--ink-700); font-size: 9px; font-weight: 700; }.password-row { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; }.password-row label { margin: 0; }.password-row button,.access-footer button { padding: 0; border: 0; background: transparent; color: var(--purple-700); cursor: pointer; font-size: 8.5px; font-weight: 650; }
.login-field { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 8px; min-height: 50px; padding: 0 13px; border: 1px solid rgba(82,61,92,.15); border-radius: 13px; background: white; box-shadow: 0 4px 18px rgba(52,38,60,.035); transition: .2s; }.login-field:focus-within { border-color: var(--purple-400); box-shadow: 0 0 0 4px var(--purple-100); }.login-field > i { color: var(--purple-500); font-size: 18px; }.login-field input { min-width: 0; border: 0; outline: 0; background: transparent; color: var(--ink-800); font-size: 10.5px; }.password-toggle { display: grid; width: 31px; height: 31px; place-items: center; border: 0; border-radius: 9px; background: transparent; color: var(--ink-500); cursor: pointer; }.password-toggle:hover { background: var(--ink-50); color: var(--purple-700); }
.remember-row { display: flex!important; align-items: center; gap: 7px; margin: 14px 0 20px!important; color: var(--ink-500)!important; font-size: 8.5px!important; font-weight: 500!important; }.remember-row input { width: 15px; height: 15px; accent-color: var(--purple-700); }.login-submit { display: flex; min-height: 52px; align-items: center; justify-content: center; gap: 9px; border: 0; border-radius: 14px; background: linear-gradient(135deg,#553f61,#795b82 68%,#a5737b); box-shadow: 0 14px 30px rgba(83,61,94,.24); color: white; cursor: pointer; font-size: 10.5px; font-weight: 700; transition: .2s var(--ease); }.login-submit:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(83,61,94,.3); }.login-submit:disabled { cursor: wait; opacity: .7; transform: none; }.login-submit i { font-size: 17px; }.login-error { margin-top: 12px; padding: 10px; border-radius: 10px; background: var(--red-100); color: var(--red-700); font-size: 8.5px; }
.access-security { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 10px; margin-top: 26px; padding: 13px; border: 1px solid rgba(64,117,95,.12); border-radius: 13px; background: rgba(225,242,235,.52); }.access-security > i { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 11px; background: white; color: var(--green-700); font-size: 19px; }.access-security > span { display: grid; }.access-security strong { font-size: 9px; }.access-security small { margin-top: 2px; color: var(--green-700); font-size: 7.5px; }.access-footer { display: flex; justify-content: center; gap: 4px; margin-top: 24px; color: var(--ink-500); font-size: 8.5px; }

/* Escala tipográfica V4: legibilidade clínica em monitores de alta densidade */
.patient-search > input { font-size: 13px; }
.patient-result-copy strong { font-size: 13px; }
.patient-result-copy small { font-size: 11px; }
.patient-result-meta span,.patient-result-meta small { font-size: 10px; }
.search-state,.current-date { font-size: 12px; }
.context-patient-copy > span { font-size: 9px; }
.context-patient-copy strong { font-size: 13px; }
.context-patient-copy small { font-size: 11px; }
.pregnancy-context,.context-quick-links a,.patient-context-placeholder { font-size: 11px; }
.schedule-item time,.schedule-copy strong { font-size: 12px; }
.schedule-copy small { font-size: 10.5px; }
.clinical-alert > div > span { font-size: 9px; }
.clinical-alert strong { font-size: 12px; }
.clinical-alert small { font-size: 10px; }
.compact-empty strong { font-size: 13px; }
.compact-empty small,.section-heading > span { font-size: 11px; }
.care-hub-card > div strong { font-size: 13px; }
.care-hub-card > div small,.care-hub-card footer { font-size: 10.5px; }
.login-brand small,.login-kicker,.access-eyebrow { font-size: 10px; }
.story-capabilities b { font-size: 12px; }
.story-capabilities small { font-size: 10px; }
.story-footer { font-size: 10.5px; }
.access-lead { font-size: 14px; }
.login-form > label,.password-row label { font-size: 13px; }
.password-row button,.access-footer button { font-size: 12px; }
.login-field input { font-size: 14px; }
.login-submit { margin-top: 24px; font-size: 14px; }
.login-error,.login-notice { font-size: 12px; }
.access-security strong { font-size: 12px; }
.access-security small { font-size: 10.5px; }
.access-footer { font-size: 12px; }

@media (max-width:1250px) { .app-topbar { grid-template-columns: minmax(300px,1fr) auto; }.care-hub-grid { grid-template-columns: repeat(2,1fr); }.dashboard-command-grid { grid-template-columns: 1fr; }.login-shell { grid-template-columns: 1fr 470px; }.story-capabilities { grid-template-columns: 1fr; max-width: 390px; }.story-capabilities > span { min-height: 52px; } }
@media (max-width:1020px) { .patient-context-bar { grid-template-columns: 40px 1fr auto 36px; padding: 8px 20px; }.context-quick-links { display: none; }.login-shell { grid-template-columns: 1fr; }.login-story { display: none; }.login-mobile-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 34px; }.login-mobile-brand img { width: 54px; height: 54px; border-radius: 17px; }.login-mobile-brand strong { color: var(--purple-800); font-size: 20px; }.login-access { min-height: 100vh; }.login-card { max-width: 480px; } }
@media (max-width:720px) { .app-topbar { grid-template-columns: minmax(0,1fr) auto; }.patient-search { width: 100%; }.patient-search > input { font-size: 12px; }.patient-search > kbd,.command-button { display: none!important; }.patient-context-bar { position: relative; top: auto; grid-template-columns: 36px 1fr 32px; padding: 7px 13px; }.context-patient-avatar { width: 36px; height: 36px; }.pregnancy-context { grid-column: 2; }.care-hub-grid { grid-template-columns: 1fr; }.schedule-item { grid-template-columns: 40px 2px 35px minmax(0,1fr) 30px; }.schedule-item .status-badge { display: none; }.login-access { padding: 26px; }.login-mobile-brand { margin-bottom: 26px; }.login-card h2 { font-size: 32px; } }
@media (max-width:470px) { .patient-context-placeholder { justify-content: flex-start; }.patient-search-results { position: fixed; left: 10px; right: 10px; top: 69px; }.page-content { padding-top: 16px; }.login-access { padding: 22px 18px; }.access-security { margin-top: 20px; } }

/* CRUD Enterprise funcional ------------------------------------------------ */
.action-drawer-crud { width: min(96vw,720px); }
.action-drawer-crud > header { position: sticky; top: 0; z-index: 4; align-items: flex-start; background: rgba(255,255,255,.96); backdrop-filter: blur(18px); }
.action-drawer-crud > header p { max-width: 570px; margin: 6px 0 0; color: var(--ink-500); font-size: 12px; }
.drawer-loading { display: flex; min-height: 280px; align-items: center; justify-content: center; gap: 12px; color: var(--ink-500); font-size: 13px; }
.drawer-loading i { color: var(--purple-600); font-size: 24px; animation: crud-spin .85s linear infinite; }
@keyframes crud-spin { to { transform: rotate(360deg); } }
.crud-form { gap: 18px; padding: 24px; }
.crud-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.crud-field { position: relative; align-content: start; }
.crud-field-textarea,.crud-field-json,.crud-field-patient,.crud-field-image { grid-column: 1/-1; }
.crud-field-label { display: flex!important; min-height: 20px; align-items: center; justify-content: space-between; color: var(--ink-700)!important; font-size: 12px!important; }
.crud-field-label strong { font-weight: 700; }
.crud-field-label small { color: var(--peach-700)!important; font-size: 9px!important; font-weight: 700!important; text-transform: uppercase; }
.crud-form input,.crud-form select,.crud-form textarea { min-height: 45px; padding: 11px 12px; border-radius: 12px; font-size: 13px; transition: .18s; }
.crud-form textarea { min-height: 94px; resize: vertical; line-height: 1.55; }
.crud-form input:disabled,.crud-form select:disabled,.crud-form textarea:disabled { border-color: var(--ink-100); background: var(--ink-50); color: var(--ink-600); opacity: 1; }
.crud-field-help { color: var(--ink-500)!important; font-size: 10px!important; line-height: 1.45; }
.crud-field-error { color: var(--red-700)!important; font-size: 10px!important; font-weight: 650!important; }
.crud-field.has-error input,.crud-field.has-error select,.crud-field.has-error textarea { border-color: var(--red-700); box-shadow: 0 0 0 3px var(--red-100); }
.form-error-summary { padding: 12px 14px; border: 1px solid rgba(163,69,80,.15); border-radius: 12px; background: var(--red-100); color: var(--red-700); font-size: 12px; font-weight: 650; }
.crud-checkbox { display: flex; min-height: 45px; align-items: center; gap: 9px; padding: 9px 12px; border: 1px solid var(--ink-200); border-radius: 12px; background: white; }
.crud-checkbox input { width: 18px!important; min-height: 18px!important; height: 18px; padding: 0!important; accent-color: var(--purple-700); }
.crud-checkbox span { color: var(--ink-700)!important; font-size: 12px!important; }
.crud-patient-picker { position: relative; display: grid; grid-template-columns: 23px 1fr; align-items: center; border: 1px solid var(--ink-200); border-radius: 12px; background: white; }
.crud-patient-picker:focus-within { border-color: var(--purple-400); box-shadow: 0 0 0 3px var(--purple-100); }
.crud-patient-picker > i { margin-left: 12px; color: var(--purple-600); font-size: 18px; }
.crud-patient-picker > input[type="search"] { border: 0!important; box-shadow: none!important; }
.crud-patient-picker .drawer-patient-results { left: -1px; right: -1px; top: calc(100% + 6px); }
.change-reason { padding: 14px; border: 1px dashed var(--purple-300); border-radius: 13px; background: var(--purple-100); }
.change-reason > span { color: var(--purple-700)!important; font-size: 10px!important; }
.drawer-footer-spacer { flex: 1; }
.button-danger-soft { border-color: rgba(163,69,80,.14); background: var(--red-100); color: var(--red-700); }
.button-danger-soft:hover { border-color: var(--red-700); }
.record-actions { display: flex; align-items: center; justify-content: flex-end; gap: 2px; }
.invite-result { display: grid; justify-items: center; padding: 54px 34px; text-align: center; }
.invite-success-icon { display: grid; width: 72px; height: 72px; place-items: center; border-radius: 24px; background: var(--green-100); color: var(--green-700); font-size: 34px; }
.invite-result h3 { margin: 20px 0 6px; font-size: 25px; }
.invite-result > p { max-width: 500px; margin: 0; color: var(--ink-500); font-size: 12px; }
.invite-result > label { display: grid; width: 100%; gap: 7px; margin: 28px 0 20px; color: var(--ink-700); font-size: 12px; font-weight: 700; text-align: left; }
.invite-result > label > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.invite-result input { min-width: 0; padding: 11px 12px; border: 1px solid var(--ink-200); border-radius: 11px; background: var(--ink-50); font-size: 11px; }
@media (max-width:620px) { .crud-fields { grid-template-columns: 1fr; }.crud-field-textarea,.crud-field-json,.crud-field-patient { grid-column: auto; }.crud-form { padding: 18px 14px; }.action-drawer-crud > header { padding: 17px 14px; }.drawer-form > footer { flex-wrap: wrap; }.drawer-footer-spacer { display: none; }.drawer-form > footer .button { flex: 1; }.button-danger-soft { flex-basis: 100%!important; } }

/* Ativação de convite */
.activation-page { min-height: 100vh; background: radial-gradient(circle at 10% 10%,rgba(208,154,132,.22),transparent 28%),radial-gradient(circle at 90% 90%,rgba(128,99,142,.18),transparent 30%),#f7f3ef; }
.activation-shell { display: grid; min-height: 100vh; place-items: center; padding: 28px; }
.activation-card { width: min(100%,540px); overflow: hidden; border: 1px solid rgba(83,61,94,.09); border-radius: 26px; background: white; box-shadow: 0 30px 90px rgba(48,38,55,.14); }
.activation-card > header { display: flex; align-items: center; gap: 12px; padding: 24px 28px; border-bottom: 1px solid var(--ink-100); background: linear-gradient(135deg,#493653,#33263c); color: white; }
.activation-card > header img { width: 50px; height: 50px; border-radius: 16px; }
.activation-card > header span { display: grid; }.activation-card > header strong { font-size: 20px; }.activation-card > header small { color: rgba(255,255,255,.5); font-size: 9px; letter-spacing: 1px; text-transform: uppercase; }
.activation-copy { padding: 34px 34px 18px; }.activation-copy h1,.activation-success h1,.activation-error h1 { margin: 7px 0; font-size: 32px; letter-spacing: -1px; }.activation-copy p,.activation-success p,.activation-error p { margin: 0; color: var(--ink-500); font-size: 13px; line-height: 1.7; }
.activation-form { display: grid; gap: 18px; padding: 12px 34px 36px; }.activation-form label { display: grid; gap: 7px; color: var(--ink-700); font-size: 12px; font-weight: 700; }.activation-form input { min-height: 48px; padding: 11px 13px; border: 1px solid var(--ink-200); border-radius: 12px; outline: 0; font-size: 14px; }.activation-form input:focus { border-color: var(--purple-400); box-shadow: 0 0 0 4px var(--purple-100); }.activation-form label small { color: var(--ink-500); font-size: 10px; font-weight: 500; }.activation-form .button { min-height: 50px; margin-top: 5px; font-size: 13px; }
.activation-success,.activation-error { display: grid; justify-items: center; padding: 50px 34px; text-align: center; }.activation-success > i,.activation-error > i { display: grid; width: 72px; height: 72px; place-items: center; border-radius: 23px; background: var(--green-100); color: var(--green-700); font-size: 34px; }.activation-error > i { background: var(--red-100); color: var(--red-700); }.activation-success .button,.activation-error .button { margin-top: 26px; }

/* V5.4 · Identidades, perfis e escopo organizacional */
.password-change-form { animation: access-step-in .35s cubic-bezier(.22,.61,.36,1); }
@keyframes access-step-in { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: none; } }
.password-change-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 17px; padding: 14px; border: 1px solid rgba(117,80,130,.12); border-radius: 16px; background: linear-gradient(135deg,rgba(117,80,130,.08),rgba(219,157,137,.08)); }
.password-change-heading > span { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 13px; background: linear-gradient(135deg,#755082,#bd7e91); color: #fff; box-shadow: 0 9px 24px rgba(117,80,130,.2); font-size: 20px; }
.password-change-heading > div { display: grid; gap: 2px; }.password-change-heading strong { color: var(--ink-800); font-size: 14px; }.password-change-heading small { color: var(--ink-500); font-size: 10.5px; }
.password-change-notice { display: flex; align-items: flex-start; gap: 9px; margin: 0 0 18px; padding: 11px 12px; border-radius: 12px; background: rgba(49,164,132,.09); color: #267b65; font-size: 10.5px; line-height: 1.5; }.password-change-notice i { margin-top: 1px; font-size: 17px; }
.password-change-form > label { margin: 10px 0 7px; color: var(--ink-700); font-size: 12px; font-weight: 700; }
.password-strength { --strength: 0%; position: relative; display: grid; gap: 7px; margin: 9px 1px 6px; color: var(--ink-500); font-size: 9.5px; }.password-strength::before { width: 100%; height: 4px; border-radius: 99px; background: var(--ink-100); content: ''; }.password-strength > i { position: absolute; top: 0; left: 0; width: var(--strength); height: 4px; border-radius: 99px; background: linear-gradient(90deg,#dc7a82,#dda85f,#42b991); transition: width .25s ease; }.password-strength.is-strong span { color: #267b65; }
.password-change-back { justify-self: center; margin-top: 12px; border: 0; background: transparent; color: var(--ink-500); cursor: pointer; font: inherit; font-size: 10.5px; font-weight: 650; }.password-change-back:hover { color: var(--purple-700); }

.button-key-soft { border: 1px solid rgba(117,80,130,.16); background: rgba(117,80,130,.08); color: var(--purple-700); }.button-key-soft:hover { background: rgba(117,80,130,.14); }
.user-password-reset { border-color: rgba(117,80,130,.14); color: var(--purple-600); }.user-password-reset:hover { border-color: rgba(117,80,130,.28); background: var(--purple-100); box-shadow: 0 8px 18px rgba(117,80,130,.12); }

.access-profile-overview { margin-bottom: 18px; padding: 24px; overflow: hidden; border: 1px solid rgba(87,65,97,.09); border-radius: 24px; background: linear-gradient(145deg,rgba(255,255,255,.96),rgba(249,245,247,.92)); box-shadow: 0 18px 50px rgba(64,46,72,.06); }
.access-profile-overview > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }.access-profile-overview h2 { margin: 5px 0 4px; color: var(--ink-800); font-size: 20px; }.access-profile-overview p { margin: 0; color: var(--ink-500); font-size: 11px; }
.access-profile-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.access-profile-grid article { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; min-height: 72px; padding: 12px; border: 1px solid rgba(87,65,97,.08); border-radius: 16px; background: rgba(255,255,255,.76); transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }.access-profile-grid article:hover { transform: translateY(-2px); border-color: rgba(117,80,130,.18); box-shadow: 0 12px 28px rgba(64,46,72,.08); }
.access-profile-grid article > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: linear-gradient(145deg,rgba(117,80,130,.13),rgba(219,157,137,.13)); color: var(--purple-700); font-size: 20px; }.access-profile-grid article > div { display: grid; gap: 3px; min-width: 0; }.access-profile-grid strong { color: var(--ink-800); font-size: 11px; }.access-profile-grid small { color: var(--ink-500); font-size: 8.5px; line-height: 1.35; }.access-profile-grid b { padding: 5px 7px; border-radius: 8px; background: var(--ink-50); color: var(--ink-500); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }

.access-matrix-shell { overflow: hidden; border: 1px solid rgba(82,61,92,.11); border-radius: 26px; background: #fff; box-shadow: 0 24px 70px rgba(54,39,62,.09); }
.access-matrix-hero { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 28px; overflow: hidden; padding: 30px 32px; background: radial-gradient(circle at 85% 0,rgba(223,166,142,.23),transparent 38%),linear-gradient(135deg,#44324e,#30243a); color: #fff; }
.access-matrix-hero::after { position: absolute; right: -65px; bottom: -100px; width: 250px; height: 250px; border: 1px solid rgba(255,255,255,.06); border-radius: 50%; content: ''; box-shadow: 0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018); }
.access-matrix-hero > div:first-child { position: relative; z-index: 1; max-width: 730px; }.access-kicker { display: inline-flex; align-items: center; gap: 7px; color: #e8c3b5; font-size: 9px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }.access-matrix-hero h2 { margin: 8px 0 5px; font-size: clamp(24px,3vw,36px); letter-spacing: -.04em; }.access-matrix-hero p { margin: 0; color: rgba(255,255,255,.63); font-size: 11px; line-height: 1.7; }
.access-security-seal { position: relative; z-index: 1; display: flex; align-items: center; gap: 11px; min-width: 190px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.07); backdrop-filter: blur(16px); }.access-security-seal > i { color: #efc1af; font-size: 25px; }.access-security-seal span { display: grid; }.access-security-seal strong { font-size: 11px; }.access-security-seal small { color: rgba(255,255,255,.55); font-size: 8.5px; }
.access-matrix-layout { display: grid; grid-template-columns: 245px minmax(0,1fr); min-height: 630px; }
.access-role-rail { display: flex; flex-direction: column; gap: 6px; padding: 18px 12px; border-right: 1px solid rgba(82,61,92,.08); background: linear-gradient(180deg,#faf8fa,#f7f3f6); }
.access-role-button { display: grid; grid-template-columns: 39px 1fr 16px; align-items: center; gap: 9px; width: 100%; min-height: 58px; padding: 9px 10px; border: 1px solid transparent; border-radius: 14px; background: transparent; color: var(--ink-600); cursor: pointer; text-align: left; transition: .25s ease; }.access-role-button:hover { border-color: rgba(117,80,130,.1); background: rgba(255,255,255,.7); transform: translateX(2px); }.access-role-button.is-active { border-color: rgba(117,80,130,.16); background: #fff; color: var(--purple-800); box-shadow: 0 10px 25px rgba(61,45,70,.08); }
.access-role-button > span:first-child { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 12px; background: rgba(117,80,130,.09); color: var(--purple-600); font-size: 18px; }.access-role-button.is-active > span:first-child { background: linear-gradient(135deg,#755082,#b4748c); color: #fff; box-shadow: 0 7px 18px rgba(117,80,130,.22); }.access-role-button > span:nth-child(2) { display: grid; gap: 2px; }.access-role-button strong { font-size: 10.5px; }.access-role-button small { color: var(--ink-400); font-size: 7.5px; font-weight: 750; letter-spacing: .1em; }.access-role-button > i { opacity: .38; }
.access-permission-workspace { min-width: 0; background: #fff; }.access-role-panel { min-height: 100%; }.access-role-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 25px; border-bottom: 1px solid rgba(82,61,92,.07); }.access-role-identity { display: flex; align-items: center; gap: 13px; }.access-role-identity > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; background: linear-gradient(145deg,rgba(117,80,130,.12),rgba(219,157,137,.13)); color: var(--purple-700); font-size: 23px; }.access-role-identity > div { display: grid; }.access-role-identity small { color: var(--ink-400); font-size: 7.5px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }.access-role-identity h3 { margin: 2px 0; color: var(--ink-800); font-size: 18px; }.access-role-identity p { margin: 0; color: var(--ink-500); font-size: 9px; }.access-scope-badge { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid rgba(117,80,130,.12); border-radius: 10px; background: var(--purple-50,#f7f1f8); color: var(--purple-700); font-size: 8px; font-weight: 800; letter-spacing: .09em; }
.access-locked-note { display: flex; align-items: center; gap: 11px; margin: 18px 22px 0; padding: 12px 14px; border: 1px solid rgba(53,166,134,.13); border-radius: 13px; background: rgba(53,166,134,.07); color: #277a64; }.access-locked-note > i { font-size: 20px; }.access-locked-note span { display: grid; font-size: 9px; }.access-locked-note strong { font-size: 10px; }
.access-permission-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; max-height: 650px; padding: 20px 22px; overflow: auto; }.access-permission-group { overflow: hidden; border: 1px solid rgba(82,61,92,.08); border-radius: 15px; background: #fcfbfc; }.access-permission-group > header { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; border-bottom: 1px solid rgba(82,61,92,.06); background: rgba(117,80,130,.035); }.access-permission-group > header span { color: var(--ink-700); font-size: 8.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.access-permission-group > header small { color: var(--ink-400); font-size: 8px; }.access-permission-group > div { display: grid; }
.access-permission-item { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 9px; min-height: 52px; padding: 9px 11px; border-bottom: 1px solid rgba(82,61,92,.05); cursor: pointer; }.access-permission-item:last-child { border-bottom: 0; }.access-permission-item:hover { background: rgba(117,80,130,.025); }.access-permission-item input { position: absolute; opacity: 0; pointer-events: none; }.access-permission-toggle { position: relative; width: 32px; height: 19px; border-radius: 99px; background: #ddd8df; transition: .25s ease; }.access-permission-toggle i { position: absolute; top: 3px; left: 3px; width: 13px; height: 13px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(50,38,57,.18); transition: transform .25s ease; }.access-permission-item input:checked + .access-permission-toggle { background: linear-gradient(90deg,#755082,#b87590); }.access-permission-item input:checked + .access-permission-toggle i { transform: translateX(13px); }.access-permission-item input:focus-visible + .access-permission-toggle { outline: 3px solid rgba(117,80,130,.18); outline-offset: 2px; }.access-permission-item > span:last-child { display: grid; gap: 3px; }.access-permission-item strong { color: var(--ink-700); font-size: 9.5px; line-height: 1.35; }.access-permission-item small { color: var(--ink-400); font-size: 7.5px; }
.access-role-panel > footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 22px; border-top: 1px solid rgba(82,61,92,.07); background: #fcfbfc; }.access-role-panel > footer > span { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-400); font-size: 9px; }

@media (max-width: 1180px) { .access-profile-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.access-matrix-layout { grid-template-columns: 210px minmax(0,1fr); }.access-permission-groups { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .access-profile-overview { padding: 18px; }.access-profile-overview > header,.access-matrix-hero,.access-role-panel > header { align-items: flex-start; flex-direction: column; }.access-profile-grid { grid-template-columns: 1fr; }.access-security-seal { width: 100%; }.access-matrix-layout { grid-template-columns: 1fr; }.access-role-rail { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid rgba(82,61,92,.08); }.access-role-button { min-width: 190px; }.access-permission-groups { max-height: none; padding: 14px; }.access-role-panel > footer { align-items: stretch; flex-direction: column; }.access-role-panel > footer .button { width: 100%; }}
.topbar-actions { position: relative; }
.user-session-menu { position: absolute; z-index: 80; top: calc(100% + 10px); right: 0; width: 250px; padding: 8px; border: 1px solid var(--ink-100); border-radius: 14px; background: #fff; box-shadow: var(--shadow-lg); }
.user-session-menu[hidden] { display: none; }
.user-session-menu header { display: flex; flex-direction: column; gap: 2px; padding: 9px 10px 11px; border-bottom: 1px solid var(--ink-100); margin-bottom: 5px; }
.user-session-menu header strong { color: var(--ink-900); font-size: 12px; }.user-session-menu header small { overflow: hidden; color: var(--ink-500); font-size: 9px; text-overflow: ellipsis; }
.user-session-menu a { display: flex; align-items: center; gap: 9px; padding: 9px 10px; border-radius: 9px; color: var(--ink-700); font-size: 10px; font-weight: 600; }.user-session-menu a:hover { background: var(--purple-50); color: var(--purple-800); }.user-session-menu a i { font-size: 15px; }

/* Contexto clínico longitudinal */
.clinical-context-card.has-patient { border-color: rgba(128,99,142,.18); box-shadow: 0 16px 45px rgba(57,42,65,.075); }
.patient-context-selected { background: linear-gradient(100deg,rgba(238,230,241,.72),rgba(255,255,255,.96) 55%,rgba(250,238,232,.6)); }
.patient-avatar { overflow: hidden; }.patient-avatar img { width: 100%; height: 100%; object-fit: cover; }
.clinical-context-actions { display: flex; align-items: center; gap: 7px; }
.clinical-safety-strip > span.has-clinical-alert { background: rgba(255,240,235,.72); }.clinical-safety-strip > span.has-clinical-alert > i { color: var(--red-600); }
.clinical-timeline-list { display: grid; max-height: 430px; overflow: auto; padding: 6px 20px 20px; }
.clinical-timeline-list article { position: relative; display: grid; grid-template-columns: 38px 1fr; gap: 11px; padding: 12px 0; border-bottom: 1px solid var(--ink-100); }
.clinical-timeline-list article[hidden] { display: none; }.clinical-timeline-list article:last-child { border-bottom: 0; }
.clinical-timeline-list article > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; background: var(--purple-100); color: var(--purple-700); font-size: 15px; }
.clinical-timeline-list article > div { display: grid; gap: 3px; }.clinical-timeline-list article small { color: var(--purple-600); font-size: 8px; font-weight: 750; letter-spacing: .35px; }.clinical-timeline-list article strong { color: var(--ink-900); font-size: 11px; }.clinical-timeline-list article p { margin: 0; color: var(--ink-500); font-size: 9.5px; line-height: 1.55; }
.alert-stack article.alert-severity-critico,.alert-stack article.alert-severity-alto { background: rgba(255,238,235,.72); }.alert-stack article.alert-severity-critico > i,.alert-stack article.alert-severity-alto > i { color: var(--red-600); }
@media (max-width:720px) { .clinical-context-actions { grid-column: 1/-1; flex-wrap: wrap; }.clinical-context-actions .button { flex: 1; }.clinical-timeline-list { padding-inline: 14px; } }

/* Cadastro Mestre, formulários humanos, mídias e confirmações V4.4 */
.patient-context-placeholder .button-link { min-height: 28px; margin-left: 5px; padding: 4px 8px; border: 0; background: transparent; color: var(--purple-700); font-size: 10px; }
.assume-patient-button { background: var(--green-100); color: var(--green-700); }
.patient-master-workspace { display: grid; gap: 13px; margin-bottom: 18px; }
.patient-master-header { display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 15px; padding: 20px; border: 1px solid rgba(91,65,104,.12); border-radius: 20px; background: radial-gradient(circle at 92% 12%,rgba(224,171,149,.22),transparent 29%),linear-gradient(130deg,#fff,rgba(242,235,245,.9)); box-shadow: var(--shadow-sm); }
.patient-master-avatar { display: grid; width: 64px; height: 64px; overflow: hidden; place-items: center; border-radius: 19px; background: linear-gradient(135deg,var(--purple-100),var(--peach-100)); color: var(--purple-700); font-size: 28px; }
.patient-master-avatar img { width: 100%; height: 100%; object-fit: cover; }
.patient-master-identity h2 { margin: 3px 0 2px; color: var(--ink-950); font-size: 22px; letter-spacing: -.55px; }
.patient-master-identity p { margin: 0; color: var(--ink-500); font-size: 11px; }
.patient-master-actions { display: flex; align-items: center; gap: 7px; }
.patient-master-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.patient-master-facts article { display: grid; grid-template-columns: 37px minmax(0,1fr); align-items: center; gap: 9px; min-width: 0; padding: 12px; border: 1px solid var(--ink-100); border-radius: 14px; background: rgba(255,255,255,.96); }
.patient-master-facts article > i { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 11px; background: var(--purple-100); color: var(--purple-700); font-size: 17px; }
.patient-master-facts article span { display: grid; min-width: 0; }.patient-master-facts small { color: var(--ink-500); font-size: 9px; }.patient-master-facts strong { overflow: hidden; color: var(--ink-800); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.patient-journey-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.patient-journey-grid a { display: grid; grid-template-columns: 37px minmax(0,1fr) 18px; align-items: center; gap: 8px; min-width: 0; padding: 11px; border: 1px solid var(--ink-100); border-radius: 14px; background: #fff; transition: .18s; }
.patient-journey-grid a:hover,.patient-journey-grid a.is-active { transform: translateY(-1px); border-color: var(--purple-300); background: var(--purple-50); box-shadow: var(--shadow-sm); }
.patient-journey-grid a > span { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 11px; background: var(--peach-100); color: var(--peach-700); font-size: 17px; }
.patient-journey-grid a > div { display: grid; min-width: 0; }.patient-journey-grid strong { color: var(--ink-800); font-size: 10.5px; }.patient-journey-grid small { overflow: hidden; color: var(--ink-500); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }.patient-journey-grid a > i { color: var(--ink-300); }
.patient-master-empty { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 20px; border: 1px dashed var(--purple-300); border-radius: 18px; background: var(--purple-50); }
.patient-master-empty > span { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 16px; background: #fff; color: var(--purple-700); font-size: 23px; }.patient-master-empty h2 { margin: 3px 0; font-size: 17px; }.patient-master-empty p { margin: 0; color: var(--ink-500); font-size: 10.5px; }
.crud-section-heading { grid-column: 1/-1; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 9px; margin-top: 3px; padding: 10px 12px; border-bottom: 1px solid var(--ink-100); background: linear-gradient(90deg,var(--purple-50),transparent); }
.crud-section-heading > i { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: #fff; color: var(--purple-700); font-size: 15px; box-shadow: var(--shadow-sm); }.crud-section-heading span { display: grid; }.crud-section-heading strong { color: var(--ink-800); font-size: 12px; }.crud-section-heading small { color: var(--ink-500); font-size: 9px; }
.crud-field-generated input { border-style: dashed!important; background: linear-gradient(90deg,var(--green-100),rgba(255,255,255,.9))!important; color: var(--green-700)!important; font-weight: 750; }
.crud-field-generated .crud-field-label small { color: var(--green-700)!important; }
.crud-form [aria-busy="true"] { padding-right: 38px; background-image: radial-gradient(circle,var(--purple-500) 2px,transparent 3px); background-position: calc(100% - 17px) center; background-repeat: no-repeat; animation: cep-pulse .8s ease-in-out infinite alternate; }
@keyframes cep-pulse { to { background-size: 12px 12px; } }
.app-modal { width:min(92vw,520px); max-width:none; padding:0; overflow:visible; border:0; border-radius:23px; background:transparent; color:var(--ink-900); font-family:"Plus Jakarta Sans",ui-sans-serif,sans-serif; }
.app-modal::backdrop { background:rgba(31,23,36,.54); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); }
.app-modal-card { display:grid; grid-template-columns:54px minmax(0,1fr); gap:15px; padding:22px; border:1px solid rgba(82,61,92,.13); border-radius:22px; background:#fff; box-shadow:0 28px 90px rgba(38,27,44,.25); animation:modal-enter .2s var(--ease); }
.app-modal-icon { display:grid; width:52px; height:52px; place-items:center; border-radius:16px; background:var(--purple-100); color:var(--purple-700); font-size:25px; }
.app-modal[data-type="success"] .app-modal-icon { background:var(--green-100); color:var(--green-700); }.app-modal[data-type="error"] .app-modal-icon { background:var(--red-100); color:var(--red-700); }.app-modal[data-type="warning"] .app-modal-icon { background:#fff3d9; color:#9a6910; }
.app-modal-copy { min-width:0; align-self:center; }.app-modal-copy h2 { margin:0 0 5px; font-size:20px; letter-spacing:-.42px; }.app-modal-copy p { margin:0; color:var(--ink-500); font-size:10px; line-height:1.65; white-space:pre-line; }
.app-modal-input { grid-column:1/-1; display:grid; gap:6px; }.app-modal-input > span { font-size:9px; font-weight:800; color:var(--ink-700); }.app-modal-input textarea { width:100%; min-height:104px; resize:vertical; padding:11px 12px; border:1px solid var(--ink-200); border-radius:12px; background:var(--ink-50); color:var(--ink-900); font:500 10px/1.55 "Plus Jakarta Sans",sans-serif; outline:none; }.app-modal-input textarea:focus { border-color:var(--purple-500); box-shadow:0 0 0 3px rgba(117,80,130,.11); }.app-modal-input em { color:var(--red-700); font-size:8px; font-style:normal; font-weight:700; }
.app-modal-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:8px; padding-top:3px; }.app-modal-actions .button { min-width:116px; }
@keyframes modal-enter { from { opacity:0; transform:translateY(8px) scale(.985); } to { opacity:1; transform:none; } }
@media (max-width:560px) { .app-modal-card { grid-template-columns:44px minmax(0,1fr); gap:11px; padding:17px; }.app-modal-icon { width:43px; height:43px; border-radius:13px; font-size:21px; }.app-modal-copy h2 { font-size:17px; }.app-modal-actions { flex-direction:column-reverse; }.app-modal-actions .button { width:100%; } }
.button-danger { border-color: #a34550; background: #a34550; color: #fff; }

@media (max-width:1180px) { .patient-journey-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.patient-master-facts { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .patient-master-header,.patient-master-empty { grid-template-columns: 54px 1fr; }.patient-master-actions,.patient-master-empty .button { grid-column: 1/-1; }.patient-master-actions .button { flex: 1; }.patient-master-facts,.patient-journey-grid { grid-template-columns: 1fr; }.patient-context-placeholder { flex-wrap: wrap; }.patient-context-placeholder .button-link { margin-left: 0; } }

/* Campos clínicos estruturados */
.crud-structured-json { display: grid!important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 12px; border: 1px solid var(--ink-100); border-radius: 14px; background: linear-gradient(145deg,rgba(246,241,248,.72),rgba(255,255,255,.94)); }
.structured-item { display: grid!important; align-content: start; gap: 6px; min-width: 0; padding: 10px; border: 1px solid rgba(82,61,92,.08); border-radius: 11px; background: white; }
.structured-item > strong { color: var(--ink-700); font-size: 10.5px; font-weight: 700; }
.structured-item input,.structured-item select,.structured-item textarea { width: 100%; min-height: 39px; padding: 8px 9px; border-radius: 9px; font-size: 12px; }
.structured-item-checkbox { grid-template-columns: 1fr auto; align-items: center; }
.structured-item-checkbox input { width: 19px!important; min-height: 19px!important; height: 19px; padding: 0!important; accent-color: var(--purple-700); }
.structured-item-textarea { grid-column: 1/-1; }.structured-item-textarea textarea { min-height: 76px; }
.crud-structured-generic { grid-template-columns: minmax(0,1fr)!important; width: 100%; }
.structured-generic-rows { grid-column: 1/-1; display: grid; width: 100%; min-width: 0; gap: 9px; }
.structured-generic-row { display: grid; grid-template-columns: minmax(150px,.75fr) minmax(190px,1.25fr) 42px; align-items: center; width: 100%; min-width: 0; gap: 8px; padding: 9px; border: 1px solid var(--ink-100); border-radius: 11px; background: #fff; }
.structured-generic-row input { width: 100%; min-width: 0; min-height: 39px!important; }
.structured-remove { display: inline-grid!important; width: 40px!important; min-width: 40px!important; height: 40px!important; margin: 0!important; padding: 0!important; place-items: center; border-radius: 10px; color: var(--red-700); }
.structured-preserved-row { display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--green-100); border-radius: 11px; background: var(--green-100); color: var(--green-700); }
.structured-preserved-row > i { font-size: 20px; }.structured-preserved-row > span { display: grid; }.structured-preserved-row strong { font-size: 11px; }.structured-preserved-row small { font-size: 9px; }
.structured-add { grid-column: 1/-1; justify-self: start; width: auto!important; max-width: 100%; margin-top: 2px; white-space: nowrap; }
.crud-image-shell { display: grid!important; grid-template-columns: 138px minmax(0,1fr); align-items: center; gap: 18px; padding: 14px; border: 1px solid var(--ink-100); border-radius: 16px; background: linear-gradient(135deg,var(--purple-50),#fff); }
.crud-image-preview { display: grid!important; width: 124px; aspect-ratio: 1; overflow: hidden; place-items: center; border: 1px dashed var(--purple-300); border-radius: 22px; background: #fff; box-shadow: var(--shadow-sm); }
.crud-image-shell.crop-circle .crud-image-preview { border-radius: 50%; }.crud-image-preview img { width: 100%; height: 100%; object-fit: cover; }
.crud-image-placeholder { display: grid!important; place-items: center; gap: 5px; padding: 12px; color: var(--ink-400)!important; text-align: center; }.crud-image-placeholder i { color: var(--purple-500); font-size: 28px; }.crud-image-placeholder small { font-size: 9px!important; }
.crud-image-controls { display: grid!important; justify-items: start; gap: 5px; }.crud-image-controls > strong { color: var(--ink-800); font-size: 13px; }.crud-image-controls > small { max-width: 410px; color: var(--ink-500)!important; font-size: 10px!important; line-height: 1.5; }
.crud-image-actions { display: flex!important; flex-wrap: wrap; gap: 7px; margin-top: 8px; }.image-remove-button { color: var(--red-700); }
.image-cropper-modal { position: fixed; z-index: 2200; inset: 0; isolation: isolate; display: grid; place-items: center; overflow: auto; overscroll-behavior: contain; padding: max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)); }.image-cropper-modal[hidden] { display: none; }
.image-cropper-modal > .drawer-backdrop { z-index: 0; background: rgba(31,23,36,.62); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); animation: cropper-backdrop-in .2s var(--ease); }
.image-cropper-card { position: relative; z-index: 1; display: grid; width: min(94vw,560px); max-height: calc(100dvh - 36px); overflow: auto; overscroll-behavior: contain; gap: 16px; padding: 20px; border: 1px solid rgba(255,255,255,.72); border-radius: 24px; background: #fff; box-shadow: 0 32px 110px rgba(28,20,34,.4); animation: cropper-card-in .24s var(--ease); }
.image-cropper-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.image-cropper-card h2 { margin: 3px 0 2px; font-size: 21px; font-weight: 600; }.image-cropper-card header p { margin: 0; color: var(--ink-500); font-size: 11px; }
.cropper-stage { position: relative; width: min(100%,440px); margin: auto; overflow: hidden; aspect-ratio: 1; border-radius: 18px; background: var(--ink-100); cursor: grab; touch-action: none; user-select: none; }.cropper-stage.is-dragging { cursor: grabbing; }.cropper-stage canvas { display: block; width: 100%; height: 100%; }
.cropper-guide { position: absolute; pointer-events: none; inset: 8%; border: 2px solid rgba(255,255,255,.96); border-radius: 14px; box-shadow: 0 0 0 999px rgba(31,24,35,.38),inset 0 0 0 1px rgba(35,24,40,.12); }.image-cropper-modal[data-shape="circle"] .cropper-guide { border-radius: 50%; }
.cropper-zoom { display: grid!important; grid-template-columns: 24px 1fr 24px; align-items: center; gap: 9px; color: var(--purple-700)!important; }.cropper-zoom input { min-height: auto!important; padding: 0!important; accent-color: var(--purple-700); }
.image-cropper-card > footer { display: flex; align-items: center; gap: 8px; padding-top: 12px; border-top: 1px solid var(--ink-100); }
body.image-cropper-open .drawer-shell { pointer-events: none; }
@keyframes cropper-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes cropper-card-in { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: none; } }
.record-cell-with-media { display: inline-flex; align-items: center; gap: 9px; }.record-cell-with-media > img,.record-media-initial { width: 36px; height: 36px; flex: 0 0 auto; object-fit: cover; border: 1px solid var(--ink-100); border-radius: 10px; background: var(--ink-50); }.record-media-initial { display:grid; place-items:center; background:linear-gradient(135deg,var(--purple-100),var(--peach-100)); color:var(--purple-700); font-size:13px; font-weight:850; }.context-patient-avatar > strong,.patient-master-avatar > strong { font-size:18px; font-weight:850; }

/* Jornada puerperal */
.puerperium-workspace { display: grid; gap: 14px; margin: 0 0 18px; }
.puerperium-workspace-header { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 18px; border: 1px solid rgba(82,61,92,.1); border-radius: 19px; background: radial-gradient(circle at 90% 20%,rgba(231,190,172,.2),transparent 28%),linear-gradient(135deg,rgba(255,255,255,.98),rgba(244,237,246,.84)); box-shadow: var(--shadow-sm); }
.puerperium-workspace-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; background: linear-gradient(135deg,var(--purple-100),var(--peach-100)); color: var(--purple-700); font-size: 21px; }
.puerperium-workspace-header h2 { margin: 3px 0 2px; color: var(--ink-950); font-size: 19px; letter-spacing: -.45px; }.puerperium-workspace-header p { margin: 0; color: var(--ink-500); font-size: 10.5px; }
.puerperium-patient-required { display: flex; min-height: 100px; align-items: center; gap: 13px; padding: 18px; border: 1px dashed var(--purple-300); border-radius: 17px; background: var(--purple-50); }.puerperium-patient-required > i { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: white; color: var(--purple-700); font-size: 19px; }.puerperium-patient-required strong { font-size: 12px; }.puerperium-patient-required p { margin: 3px 0 0; color: var(--ink-500); font-size: 10px; }
.puerperium-patient-bar { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 11px; padding: 11px 15px; border: 1px solid rgba(82,61,92,.1); border-radius: 15px; background: #fff; }.puerperium-patient-bar > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: var(--peach-100); color: var(--peach-700); font-size: 19px; }.puerperium-patient-bar > div { display: grid; }.puerperium-patient-bar small { color: var(--purple-600); font-size: 8px; font-weight: 800; text-transform: uppercase; }.puerperium-patient-bar strong { font-size: 12px; }.puerperium-patient-bar p { margin: 1px 0 0; color: var(--ink-500); font-size: 9px; }
.puerperium-overview-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }.puerperium-overview-grid article { display: grid; grid-template-columns: 39px 1fr; align-items: center; gap: 9px; min-height: 88px; padding: 12px; border: 1px solid rgba(82,61,92,.09); border-radius: 15px; background: white; box-shadow: var(--shadow-sm); }.puerperium-overview-grid article > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: var(--purple-100); color: var(--purple-700); font-size: 17px; }.puerperium-overview-grid article > div { display: grid; min-width: 0; }.puerperium-overview-grid small { color: var(--ink-500); font-size: 8px; font-weight: 700; text-transform: uppercase; }.puerperium-overview-grid strong { overflow: hidden; color: var(--ink-900); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }.puerperium-overview-grid p { overflow: hidden; margin: 2px 0 0; color: var(--ink-500); font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }.puerperium-overview-grid .is-attention > span { background: var(--amber-100); color: var(--amber-700); }.puerperium-overview-grid .is-danger > span { background: var(--red-100); color: var(--red-700); }
.puerperium-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.puerperium-detail { padding: 15px; }.puerperium-detail > header { display: flex; align-items: center; gap: 10px; margin-bottom: 11px; }.puerperium-detail > header > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 12px; background: var(--purple-100); color: var(--purple-700); font-size: 17px; }.puerperium-detail header small { color: var(--purple-600); font-size: 8px; font-weight: 800; text-transform: uppercase; }.puerperium-detail h3 { margin: 1px 0 0; font-size: 14px; }.puerperium-detail dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border: 1px solid var(--ink-100); border-radius: 12px; overflow: hidden; }.puerperium-detail dl > div { display: grid; gap: 2px; padding: 10px; border-bottom: 1px solid var(--ink-100); }.puerperium-detail dl > div:nth-child(odd) { border-right: 1px solid var(--ink-100); }.puerperium-detail dl > div:nth-last-child(-n+2) { border-bottom: 0; }.puerperium-detail dt { color: var(--ink-500); font-size: 8px; }.puerperium-detail dd { margin: 0; color: var(--ink-800); font-size: 10px; font-weight: 650; }
.puerperium-screen-focus { display: flex; min-height: 105px; align-items: center; justify-content: space-between; gap: 18px; padding: 19px; }.puerperium-screen-focus h3 { margin: 4px 0; font-size: 16px; }.puerperium-screen-focus p { max-width: 800px; margin: 0; color: var(--ink-500); font-size: 10px; }.puerperium-focus-count { display: grid; min-width: 78px; justify-items: center; color: var(--purple-800); font-size: 27px; font-weight: 700; }.puerperium-focus-count small { color: var(--ink-500); font-size: 8px; font-weight: 600; }
@media (max-width:1000px) { .puerperium-overview-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width:720px) { .crud-structured-json,.puerperium-detail-grid { grid-template-columns: 1fr; }.structured-item-textarea { grid-column: auto; }.structured-generic-row { grid-template-columns: minmax(0,1fr) 42px; }.structured-generic-row input:first-child { grid-column: 1/-1; }.structured-remove { grid-column: 2; grid-row: 2; }.crud-image-shell { grid-template-columns: 1fr; justify-items: center; text-align: center; }.crud-image-controls { justify-items: center; }.crud-image-actions { justify-content: center; }.image-cropper-card { padding: 15px; border-radius: 19px; }.image-cropper-card > footer { flex-wrap: wrap; }.image-cropper-card > footer .drawer-footer-spacer { display: none; }.image-cropper-card > footer .button { flex: 1; }.puerperium-workspace-header { grid-template-columns: 44px 1fr; }.puerperium-workspace-header .button { grid-column: 1/-1; }.puerperium-overview-grid { grid-template-columns: 1fr 1fr; }.puerperium-detail dl { grid-template-columns: 1fr; }.puerperium-detail dl > div,.puerperium-detail dl > div:nth-child(odd),.puerperium-detail dl > div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--ink-100); }.puerperium-detail dl > div:last-child { border-bottom: 0; } }

/* Jornada clínica V4.5 */
.journey-stat-grid,.obstetric-summary-grid,.fetal-case-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:0 20px 20px; }
.journey-stat-grid article,.obstetric-summary-grid > article:not(.obstetric-primary-card),.fetal-case-grid > article:not(.fetal-case-primary) { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:9px; min-width:0; padding:13px; border:1px solid var(--ink-100); border-radius:14px; background:#fff; }
.journey-stat-grid article > i,.obstetric-summary-grid article > i,.fetal-case-grid article > i { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; background:var(--purple-100); color:var(--purple-700); font-size:18px; }
.journey-stat-grid article span,.obstetric-summary-grid article span,.fetal-case-grid article span { display:grid; min-width:0; }.journey-stat-grid small,.obstetric-summary-grid small,.fetal-case-grid small { color:var(--ink-500); font-size:9px; }.journey-stat-grid strong,.obstetric-summary-grid strong,.fetal-case-grid strong { overflow:hidden; color:var(--ink-850); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.journey-line-chart { width:100%; min-height:210px; padding:14px 18px 18px; overflow:visible; }.journey-chart-grid path { fill:none; stroke:rgba(82,61,92,.09); stroke-width:1; }.journey-line-chart polyline { fill:none; stroke:var(--purple-600); stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }.journey-line-chart circle { fill:#fff; stroke:var(--purple-600); stroke-width:4; }
.journey-empty { display:flex; align-items:center; justify-content:center; gap:12px; min-height:130px; padding:22px; color:var(--ink-500); text-align:left; }.journey-empty > i { display:grid; width:48px; height:48px; place-items:center; flex:0 0 auto; border-radius:15px; background:var(--purple-100); color:var(--purple-700); font-size:23px; }.journey-empty span { display:grid; }.journey-empty strong { color:var(--ink-800); font-size:13px; }.journey-empty small { max-width:480px; font-size:10px; line-height:1.5; }.journey-empty-large { min-height:190px; }
.journey-timeline-compact { display:grid; gap:8px; padding:0 18px 18px; }.journey-timeline-compact article { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:10px; padding:10px; border:1px solid var(--ink-100); border-radius:12px; }.journey-timeline-compact article > span { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:var(--peach-100); color:var(--peach-700); font-size:12px; font-weight:800; }.journey-timeline-compact article div { display:grid; min-width:0; }.journey-timeline-compact strong { font-size:10.5px; }.journey-timeline-compact small { overflow:hidden; color:var(--ink-500); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.partogram-data-line { fill:none; stroke:var(--purple-700); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }.partogram-data-point { fill:#fff; stroke:var(--purple-700); stroke-width:4; }.care-team-strip { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 18px 18px; padding:12px; border:1px solid var(--ink-100); border-radius:14px; background:var(--purple-50); }.care-team-strip > strong { display:flex; align-items:center; gap:6px; margin-right:4px; color:var(--purple-800); font-size:11px; }.care-team-strip > span { display:grid; padding:7px 10px; border-radius:10px; background:#fff; color:var(--ink-800); font-size:10px; font-weight:700; }.care-team-strip small { color:var(--ink-500); font-size:8px; font-weight:500; }
.newborn-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; padding:0 18px 18px; }.newborn-card { display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:12px; padding:16px; border:1px solid var(--ink-100); border-radius:18px; background:linear-gradient(145deg,#fff,var(--purple-50)); }.newborn-avatar { display:grid; width:54px; height:54px; place-items:center; border-radius:17px; background:var(--peach-100); color:var(--peach-700); font-size:26px; }.newborn-identity { display:grid; min-width:0; }.newborn-identity h3 { margin:2px 0; font-size:15px; }.newborn-identity p { margin:0; color:var(--ink-500); font-size:9.5px; }.newborn-card dl { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; overflow:hidden; border:1px solid var(--ink-100); border-radius:12px; background:#fff; }.newborn-card dl div { display:grid; gap:2px; padding:9px; border-right:1px solid var(--ink-100); }.newborn-card dl div:last-child { border-right:0; }.newborn-card dt { color:var(--ink-500); font-size:8px; }.newborn-card dd { margin:0; color:var(--ink-800); font-size:9.5px; font-weight:700; }.apgar-strip { grid-column:1/-1; display:flex; gap:8px; }.apgar-strip span { display:flex; align-items:center; gap:8px; padding:7px 10px; border-radius:10px; background:var(--green-100); }.apgar-strip small { color:var(--green-700); font-size:8px; }.apgar-strip strong { color:var(--green-700); font-size:17px; }.triage-chip-list { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:6px; }.newborn-feeding-strip { display:flex; align-items:center; gap:10px; margin:0 18px 18px; padding:13px; border-radius:14px; background:var(--green-100); color:var(--green-700); }.newborn-feeding-strip > i { font-size:22px; }.newborn-feeding-strip span { display:grid; }.newborn-feeding-strip strong { font-size:11px; }.newborn-feeding-strip small { font-size:9px; }
.obstetric-primary-card,.fetal-case-primary { grid-column:span 2; display:grid; align-content:center; min-height:126px; padding:18px; border:1px solid rgba(95,66,109,.13); border-radius:17px; background:radial-gradient(circle at 90% 10%,rgba(224,171,149,.25),transparent 30%),linear-gradient(135deg,#fff,var(--purple-50)); }.obstetric-primary-card h3,.fetal-case-primary h3 { margin:4px 0; font-size:19px; }.obstetric-primary-card p,.fetal-case-primary p { margin:0 0 9px; color:var(--ink-500); font-size:10px; }.obstetric-primary-card .status-badge,.fetal-case-primary .status-badge { justify-self:start; }
.pregnancy-workspace .trimester-track { margin:0 20px 20px; }.fetal-case-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.reproduction-summary { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:14px; margin:0 18px 18px; padding:18px; border:1px solid var(--ink-100); border-radius:18px; background:linear-gradient(135deg,#fff,var(--purple-50)); }.reproduction-symbol { display:grid; width:64px; height:64px; place-items:center; border-radius:19px; background:var(--peach-100); color:var(--peach-700); font-size:28px; }.reproduction-summary h3 { margin:3px 0; font-size:18px; }.reproduction-summary p { margin:0; color:var(--ink-500); font-size:10px; }
@media (max-width:1100px) { .journey-stat-grid,.obstetric-summary-grid,.fetal-case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.newborn-card-grid { grid-template-columns:1fr; } }
@media (max-width:720px) { .journey-stat-grid,.obstetric-summary-grid,.fetal-case-grid { grid-template-columns:1fr; padding:0 14px 14px; }.obstetric-primary-card,.fetal-case-primary { grid-column:auto; }.newborn-card { grid-template-columns:48px minmax(0,1fr); }.newborn-card > .status-badge { grid-column:1/-1; justify-self:start; }.newborn-card dl { grid-template-columns:repeat(2,minmax(0,1fr)); }.newborn-card dl div:nth-child(2) { border-right:0; }.newborn-card dl div:nth-child(-n+2) { border-bottom:1px solid var(--ink-100); }.reproduction-summary { grid-template-columns:54px minmax(0,1fr); }.reproduction-summary > .status-badge { grid-column:1/-1; justify-self:start; }.reproduction-symbol { width:54px; height:54px; }.care-team-strip { align-items:stretch; }.care-team-strip > strong { width:100%; } }
@media (max-width:470px) { .puerperium-overview-grid { grid-template-columns: 1fr; }.puerperium-screen-focus { align-items: flex-start; }.puerperium-focus-count { min-width: 50px; } }

/* Inteligência visual V4.6 ------------------------------------------------- */
.vision-hero { overflow:hidden; background:radial-gradient(circle at 82% 22%,rgba(224,153,177,.24),transparent 24%),radial-gradient(circle at 60% 115%,rgba(60,178,145,.17),transparent 30%),linear-gradient(135deg,#fff 5%,#f4eef6 68%,#faefeb); }
.vision-context { display:flex; flex-wrap:wrap; gap:7px; margin-top:15px; }.vision-context span,.chart-live { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border:1px solid rgba(84,61,94,.09); border-radius:999px; background:rgba(255,255,255,.72); color:var(--ink-600); font-size:9px; font-weight:650; }.vision-context i { color:var(--purple-600); font-size:13px; }.chart-live i { width:7px; height:7px; border-radius:50%; background:var(--green-600); box-shadow:0 0 0 4px rgba(48,172,143,.1); }
.vision-grid,.analytics-grid,.module-visual-comparison,.gestational-chart-grid { display:grid; gap:14px; margin:0 0 18px; }.vision-grid-primary,.analytics-grid-wide { grid-template-columns:minmax(0,1.72fr) minmax(310px,.72fr); }.vision-grid-balanced { grid-template-columns:repeat(2,minmax(0,1fr)); }.vision-grid-triple { grid-template-columns:minmax(290px,.7fr) minmax(0,1.3fr); }.chart-panel-wide,.chart-panel-two-thirds { min-width:0; }.chart-panel { min-width:0; overflow:hidden; }.chart-panel .panel-header { padding-bottom:3px; }.chart-panel .panel-header p { max-width:620px; }.chart-height-lg { min-height:330px; }.chart-height-md { min-height:285px; }.chart-height-sm { min-height:250px; }.maternari-chart { width:100%; padding:0 11px 6px; }.maternari-chart .apexcharts-canvas { margin:auto; }.maternari-chart .apexcharts-menu { border:0; border-radius:10px; box-shadow:var(--shadow-md); }.maternari-chart .apexcharts-tooltip { border:1px solid var(--ink-100)!important; border-radius:11px!important; box-shadow:var(--shadow-md)!important; }.maternari-chart .apexcharts-tooltip-title { border-bottom:1px solid var(--ink-100)!important; background:#fff!important; font-weight:700; }
.visual-data-strip,.finance-summary-strip { display:flex; gap:7px; margin:0 16px 10px; padding:9px; overflow-x:auto; border:1px solid var(--ink-100); border-radius:13px; background:linear-gradient(135deg,var(--ink-50),#fff); scrollbar-width:thin; }.visual-data-strip span,.finance-summary-strip span { display:grid; min-width:112px; flex:1; gap:3px; padding:8px 10px; border-radius:10px; background:#fff; box-shadow:var(--shadow-xs); }.visual-data-strip small,.finance-summary-strip small { color:var(--ink-500); font-size:7.5px; line-height:1.35; }.visual-data-strip strong,.finance-summary-strip strong { color:var(--purple-800); font-size:13px; letter-spacing:-.2px; }.visual-data-strip-compact span { min-width:135px; }.finance-summary-strip span { min-width:165px; }.finance-summary-strip .is-positive strong { color:var(--green-700); }.finance-summary-strip .is-negative strong { color:#b54d61; }.chart-data-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 18px 14px; color:var(--ink-500); font-size:8px; }.chart-data-footer span { display:flex; align-items:center; gap:5px; }.chart-data-footer strong { color:var(--ink-700); font-size:8.5px; }.chart-zero-state,.chart-library-fallback { display:grid; min-height:inherit; place-items:center; align-content:center; gap:7px; margin:0 13px 6px; padding:24px; border:1px dashed var(--ink-200); border-radius:15px; background:linear-gradient(145deg,var(--purple-50),#fff); text-align:center; }.chart-zero-state > i,.chart-library-fallback > i { display:grid; width:44px; height:44px; place-items:center; border-radius:14px; background:#fff; color:var(--purple-600); font-size:21px; box-shadow:var(--shadow-sm); }.chart-zero-state strong,.chart-library-fallback strong { color:var(--ink-800); font-size:12px; }.chart-zero-state small,.chart-library-fallback small { max-width:330px; color:var(--ink-500); font-size:9px; line-height:1.55; }.chart-fallback-values { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin:6px 0 0; padding:0; list-style:none; }.chart-fallback-values li { display:grid; min-width:88px; gap:2px; padding:6px 8px; border-radius:9px; background:#fff; box-shadow:var(--shadow-xs); }.chart-fallback-values span { color:var(--ink-500); font-size:7px; }.chart-fallback-values b { color:var(--purple-800); font-size:10px; }
.quality-visual-panel { overflow:hidden; }.quality-gauges { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; padding:5px 18px 20px; }.quality-gauges article { display:grid; justify-items:center; padding:12px 8px; border:1px solid var(--ink-100); border-radius:15px; background:linear-gradient(145deg,#fff,var(--purple-50)); text-align:center; }.quality-gauges article > div { position:relative; display:grid; width:84px; height:84px; place-items:center; margin-bottom:9px; border-radius:50%; background:conic-gradient(var(--purple-600) calc(var(--score) * 1%),#ebe6ed 0); }.quality-gauges article > div::before { position:absolute; inset:8px; border-radius:50%; background:white; content:''; }.quality-gauges strong { position:relative; z-index:1; color:var(--purple-800); font-size:18px; }.quality-gauges h3 { margin:0; color:var(--ink-800); font-size:10px; }.quality-gauges small { margin-top:2px; color:var(--ink-500); font-size:8px; }
.module-visual-comparison { grid-template-columns:repeat(2,minmax(0,1fr)); }.module-visual-comparison.single-chart { grid-template-columns:minmax(0,1fr); }.module-visual-comparison.single-chart > article { max-width:none; }
.journey-stat-grid-five { grid-template-columns:repeat(5,minmax(0,1fr)); }.gestational-chart-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.gestational-chart-grid .chart-panel-wide { grid-column:1/-1; }.measurement-strip { display:flex; gap:7px; margin:0 18px 16px; padding:10px; overflow-x:auto; border:1px solid var(--ink-100); border-radius:13px; background:var(--ink-50); scrollbar-width:thin; }.measurement-strip span { display:grid; min-width:74px; padding:7px 9px; border-radius:9px; background:#fff; box-shadow:var(--shadow-xs); text-align:center; }.measurement-strip small { color:var(--ink-500); font-size:8px; }.measurement-strip strong { color:var(--purple-800); font-size:11px; }
.pregnancy-progress-panel { min-width:0; }
.analytics-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:0 0 15px; padding:20px 22px; border:1px solid rgba(82,61,92,.09); border-radius:20px; background:radial-gradient(circle at 88% 15%,rgba(225,156,181,.2),transparent 28%),linear-gradient(135deg,#fff,var(--purple-50)); box-shadow:var(--shadow-sm); }.analytics-hero h2 { margin:4px 0; color:var(--ink-950); font-size:25px; letter-spacing:-.7px; }.analytics-hero p { margin:0; color:var(--ink-500); font-size:11px; }.analytics-actions { display:flex; align-items:center; gap:8px; }
.indicator-ribbon { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; margin-bottom:15px; }.indicator-ribbon article { display:grid; min-width:0; padding:12px; border:1px solid var(--ink-100); border-radius:14px; background:#fff; box-shadow:var(--shadow-xs); }.indicator-ribbon article > span { color:var(--purple-600); font-size:7.5px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; }.indicator-ribbon strong { margin:5px 0 2px; color:var(--ink-950); font-size:20px; letter-spacing:-.5px; }.indicator-ribbon h3 { overflow:hidden; margin:0; color:var(--ink-700); font-size:9px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }.indicator-ribbon small { display:flex; align-items:center; gap:4px; margin-top:7px; color:var(--green-700); font-size:7.5px; }.analytics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.analytics-quality-wide { grid-column:1/-1; }.analytics-quality-wide .quality-gauges { grid-template-columns:repeat(4,minmax(0,1fr)); }
.panel-builder-grid { display:grid; grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr); gap:18px; padding:4px 20px 20px; }.builder-controls { display:grid; align-content:start; gap:12px; padding:14px; border:1px solid var(--ink-100); border-radius:16px; background:var(--ink-50); }.builder-controls > label { display:grid; gap:6px; color:var(--ink-700); font-size:10px; font-weight:700; }.builder-controls input,.builder-controls select { min-height:42px; padding:9px 11px; border:1px solid var(--ink-200); border-radius:10px; background:#fff; color:var(--ink-800); font:inherit; }.builder-controls fieldset { display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:12px; border:1px solid var(--ink-100); border-radius:11px; }.builder-controls legend { padding:0 5px; color:var(--ink-700); font-size:9px; font-weight:700; }.builder-controls fieldset label { display:flex; align-items:center; gap:6px; color:var(--ink-600); font-size:9px; }.builder-controls input[type="checkbox"] { min-height:auto; accent-color:var(--purple-700); }.builder-controls > p { display:flex; gap:7px; margin:0; color:var(--ink-500); font-size:8.5px; line-height:1.55; }.builder-preview { overflow:hidden; border:1px solid var(--ink-100); border-radius:16px; background:#fff; }.builder-preview > header { display:grid; gap:2px; padding:13px 16px; border-bottom:1px solid var(--ink-100); }.builder-preview > header span { color:var(--purple-600); font-size:8px; font-weight:800; text-transform:uppercase; }.builder-preview > header strong { color:var(--ink-900); font-size:14px; }
@media (max-width:1300px) { .indicator-ribbon { grid-template-columns:repeat(3,minmax(0,1fr)); }.journey-stat-grid-five { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:1050px) { .vision-grid-primary,.vision-grid-balanced,.vision-grid-triple,.analytics-grid,.analytics-grid-wide,.module-visual-comparison,.gestational-chart-grid { grid-template-columns:1fr; }.gestational-chart-grid .chart-panel-wide,.analytics-quality-wide { grid-column:auto; }.analytics-quality-wide .quality-gauges { grid-template-columns:repeat(2,minmax(0,1fr)); }.panel-builder-grid { grid-template-columns:1fr; } }
@media (max-width:720px) { .vision-context { display:none; }.analytics-hero { align-items:flex-start; flex-direction:column; padding:16px; }.analytics-actions { width:100%; justify-content:space-between; }.indicator-ribbon { display:flex; overflow-x:auto; padding-bottom:4px; }.indicator-ribbon article { min-width:155px; }.journey-stat-grid-five { grid-template-columns:1fr; }.quality-gauges,.analytics-quality-wide .quality-gauges { grid-template-columns:1fr 1fr; padding:3px 12px 14px; }.chart-height-lg,.chart-height-md,.chart-height-sm { min-height:260px; }.maternari-chart { padding-inline:2px; }.visual-data-strip,.finance-summary-strip { margin-inline:11px; }.chart-data-footer { align-items:flex-start; flex-direction:column; padding-inline:13px; }.panel-builder-grid { padding:4px 12px 14px; }.builder-controls fieldset { grid-template-columns:1fr; } }
@media (max-width:440px) { .quality-gauges,.analytics-quality-wide .quality-gauges { grid-template-columns:1fr; }.quality-gauges article { grid-template-columns:76px 1fr; align-items:center; justify-items:start; text-align:left; }.quality-gauges article > div { grid-row:1/span 2; width:68px; height:68px; margin:0 9px 0 0; }.quality-gauges h3 { font-size:11px; }.analytics-actions { align-items:stretch; flex-direction:column; }.chart-live { justify-content:center; } }

/* Atendimento, triagem e classificação de risco V4.8 --------------------- */
.attendance-command { display:grid; gap:13px; margin:0 0 18px; }
.attendance-command-header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:19px 21px; border:1px solid rgba(82,61,92,.11); border-radius:20px; background:radial-gradient(circle at 88% 15%,rgba(46,174,145,.14),transparent 28%),linear-gradient(135deg,#fff,var(--purple-50)); box-shadow:var(--shadow-sm); }
.attendance-command-header h2 { margin:3px 0; color:var(--ink-950); font-size:21px; letter-spacing:-.5px; }.attendance-command-header p { margin:0; color:var(--ink-500); font-size:10px; }
.attendance-flow-steps { display:grid; grid-template-columns:repeat(9,auto); align-items:center; justify-content:center; gap:8px; padding:13px 16px; overflow-x:auto; border:1px solid var(--ink-100); border-radius:17px; background:#fff; box-shadow:var(--shadow-xs); }
.attendance-flow-steps > span { display:grid; grid-template-columns:33px auto; grid-template-rows:auto auto; align-items:center; column-gap:8px; min-width:125px; padding:8px 10px; border-radius:12px; background:var(--ink-50); }.attendance-flow-steps > span > i { grid-row:1/3; display:grid; width:33px; height:33px; place-items:center; border-radius:10px; background:var(--purple-100); color:var(--purple-700); font-size:16px; }.attendance-flow-steps > span strong { color:var(--ink-800); font-size:9.5px; }.attendance-flow-steps > span small { color:var(--ink-500); font-size:7.5px; }.attendance-flow-steps > i { color:var(--ink-300); }
.attendance-metrics { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }.attendance-metrics article { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:9px; min-height:72px; padding:11px 12px; border:1px solid var(--ink-100); border-radius:14px; background:#fff; box-shadow:var(--shadow-xs); }.attendance-metrics article.is-critical { border-color:rgba(203,52,78,.3); background:rgba(255,239,241,.75); }.attendance-metric-icon { display:grid; width:38px; height:38px; place-items:center; border-radius:12px; background:var(--purple-100); color:var(--purple-700); font-size:17px; }.attendance-metric-icon.triage { background:#fff5dc; color:#aa7916; }.attendance-metric-icon.care,.attendance-metric-icon.finished { background:var(--green-100); color:var(--green-700); }.attendance-metric-icon.overdue { background:var(--red-100); color:var(--red-700); }.attendance-metrics article div { display:grid; }.attendance-metrics small { color:var(--ink-500); font-size:8px; }.attendance-metrics strong { color:var(--ink-950); font-size:21px; line-height:1.1; }
.attendance-board-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr); gap:13px; }.attendance-queue-panel,.attendance-history-panel { min-width:0; overflow:hidden; }.attendance-empty { min-height:185px; }.attendance-queue { display:grid; gap:8px; padding:3px 16px 17px; }.attendance-queue-item { position:relative; display:grid; grid-template-columns:minmax(190px,1fr) minmax(160px,.8fr) 90px auto; align-items:center; gap:12px; min-width:0; padding:12px 12px 12px 17px; overflow:hidden; border:1px solid var(--ink-100); border-radius:15px; background:#fff; transition:.18s ease; }.attendance-queue-item:hover { transform:translateY(-1px); border-color:var(--purple-200); box-shadow:var(--shadow-sm); }.attendance-queue-item.is-overdue { border-color:rgba(203,52,78,.34); background:linear-gradient(90deg,rgba(255,239,241,.75),#fff 45%); }.risk-rail { position:absolute; inset:0 auto 0 0; width:6px; background:var(--risk-color); }.attendance-person { display:grid; grid-template-columns:39px minmax(0,1fr); align-items:center; gap:9px; min-width:0; }.attendance-avatar { display:grid; width:39px; height:39px; place-items:center; border-radius:12px; background:linear-gradient(135deg,var(--purple-100),var(--peach-100)); color:var(--purple-700); font-size:13px; font-weight:850; }.attendance-person > div,.attendance-risk { display:grid; min-width:0; gap:3px; }.attendance-person strong { overflow:hidden; color:var(--ink-900); font-size:10.5px; text-overflow:ellipsis; white-space:nowrap; }.attendance-person small,.attendance-risk small { overflow:hidden; color:var(--ink-500); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.risk-pill { justify-self:start; padding:5px 8px; border:1px solid color-mix(in srgb,var(--risk-color) 36%,transparent); border-radius:999px; background:color-mix(in srgb,var(--risk-color) 12%,white); color:color-mix(in srgb,var(--risk-color) 82%,#27303c); font-size:8px; font-weight:800; }.attendance-clock { display:grid; justify-items:end; }.attendance-clock small { color:var(--ink-500); font-size:7.5px; }.attendance-clock strong { color:var(--ink-900); font-size:14px; }.attendance-clock span { color:var(--ink-500); font-size:7px; }.attendance-clock.is-overdue strong,.attendance-clock.is-overdue span { color:var(--red-700); }.attendance-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; }.attendance-actions .button { min-height:35px; padding:7px 10px; font-size:8.5px; }.attendance-actions .icon-button { width:35px; height:35px; }
.attendance-history { display:grid; max-height:430px; overflow:auto; padding:3px 16px 17px; }.attendance-history article { display:grid; grid-template-columns:34px minmax(0,1fr); gap:9px; padding:10px 0; border-bottom:1px solid var(--ink-100); }.attendance-history article:last-child { border-bottom:0; }.attendance-history article > span { display:grid; width:32px; height:32px; place-items:center; border-radius:10px; background:var(--purple-100); color:var(--purple-700); font-size:14px; }.attendance-history article div { display:grid; min-width:0; }.attendance-history small { color:var(--purple-600); font-size:7.5px; }.attendance-history strong { overflow:hidden; color:var(--ink-800); font-size:9.5px; text-overflow:ellipsis; white-space:nowrap; }.attendance-history p { margin:2px 0 0; color:var(--ink-500); font-size:8px; text-transform:capitalize; }.panel-corner-icon { color:var(--purple-400); font-size:20px; }
@media (max-width:1250px) { .attendance-board-grid { grid-template-columns:1fr; }.attendance-history { max-height:260px; }.attendance-queue-item { grid-template-columns:minmax(190px,1fr) minmax(160px,.8fr) 90px auto; } }
@media (max-width:950px) { .attendance-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }.attendance-queue-item { grid-template-columns:minmax(0,1fr) 85px; }.attendance-risk { grid-column:1; }.attendance-clock { grid-column:2; grid-row:1/3; }.attendance-actions { grid-column:1/-1; justify-content:flex-start; padding-top:7px; border-top:1px solid var(--ink-100); } }
@media (max-width:720px) { .attendance-command-header { align-items:flex-start; flex-direction:column; padding:16px; }.attendance-command-header .button { width:100%; }.attendance-flow-steps { justify-content:start; }.attendance-metrics { display:flex; overflow-x:auto; padding-bottom:3px; }.attendance-metrics article { min-width:145px; }.attendance-queue { padding-inline:10px; }.attendance-queue-item { grid-template-columns:1fr; padding:12px 11px 12px 16px; }.attendance-risk,.attendance-clock,.attendance-actions { grid-column:1; grid-row:auto; justify-items:start; }.attendance-clock { display:flex; align-items:baseline; gap:7px; }.attendance-actions { flex-wrap:wrap; }.attendance-actions .button { flex:1; }.risk-pill { white-space:normal; } }

.attendance-actions .attendance-cancel { color:#b73d55; }

/* Cadastros especializados e OpenAI V4.9 ------------------------------- */
.crud-field input[type="color"] { min-height:46px; padding:5px; cursor:pointer; }
.openai-settings-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:15px; margin:0 0 18px; }
.openai-settings-card { min-width:0; overflow:hidden; }
.integration-status { display:inline-flex; align-items:center; gap:7px; min-height:31px; padding:6px 10px; border:1px solid var(--ink-100); border-radius:999px; background:var(--ink-50); color:var(--ink-600); font-size:9px; font-weight:800; white-space:nowrap; }
.integration-status > i { width:8px; height:8px; border-radius:50%; background:var(--ink-300); box-shadow:0 0 0 4px rgba(111,104,117,.08); }
.integration-status[data-status="ATIVO"] { border-color:rgba(46,174,145,.23); background:var(--green-100); color:var(--green-700); }.integration-status[data-status="ATIVO"] > i { background:var(--green-600); }
.integration-status[data-status="ERRO"] { border-color:rgba(203,52,78,.23); background:var(--red-100); color:var(--red-700); }.integration-status[data-status="ERRO"] > i { background:var(--red-600); }
.integration-warning { display:flex; align-items:center; gap:11px; margin:0 18px 14px; padding:12px 14px; border:1px solid rgba(214,153,32,.25); border-radius:13px; background:#fff8e8; color:#8b6518; }
.integration-warning > i { display:grid; width:38px; height:38px; flex:0 0 auto; place-items:center; border-radius:11px; background:#fff; font-size:18px; }.integration-warning > div { display:grid; }.integration-warning strong { font-size:10.5px; }.integration-warning span { font-size:8.5px; line-height:1.5; }.integration-warning code,.settings-field code,.settings-switches code { padding:1px 4px; border-radius:4px; background:rgba(77,58,85,.08); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.94em; }
.settings-feedback { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:10px; margin:0 18px 14px; padding:12px 14px; border:1px solid var(--ink-100); border-radius:13px; background:var(--ink-50); }.settings-feedback > i { display:grid; width:36px; height:36px; place-items:center; border-radius:11px; background:#fff; color:var(--purple-700); font-size:18px; }.settings-feedback > div { display:grid; gap:2px; }.settings-feedback strong { font-size:10px; }.settings-feedback span { color:var(--ink-500); font-size:8.5px; line-height:1.5; }.settings-feedback[data-type="success"] { border-color:rgba(46,174,145,.25); background:var(--green-100); }.settings-feedback[data-type="success"] > i { color:var(--green-700); }.settings-feedback[data-type="error"] { border-color:rgba(203,52,78,.25); background:var(--red-100); }.settings-feedback[data-type="error"] > i { color:var(--red-700); }
.openai-settings-form { display:grid; gap:13px; padding:0 18px 18px; }
.settings-fieldset { display:grid; gap:13px; padding:15px; border:1px solid var(--ink-100); border-radius:16px; background:linear-gradient(145deg,#fff,var(--ink-50)); }
.settings-fieldset > header { display:flex; align-items:center; gap:10px; padding-bottom:11px; border-bottom:1px solid var(--ink-100); }.settings-fieldset > header > span { display:grid; width:38px; height:38px; flex:0 0 auto; place-items:center; border-radius:12px; background:var(--purple-100); color:var(--purple-700); font-size:17px; }.settings-fieldset > header > div { display:grid; }.settings-fieldset > header strong { color:var(--ink-850); font-size:11px; }.settings-fieldset > header small { color:var(--ink-500); font-size:8.5px; }
.settings-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.settings-field { display:grid; align-content:start; gap:6px; min-width:0; color:var(--ink-700); font-size:9px; font-weight:750; }.settings-field-wide { grid-column:1/-1; }.settings-field input,.settings-field select { width:100%; min-width:0; min-height:43px; padding:9px 11px; border:1px solid var(--ink-200); border-radius:11px; outline:0; background:#fff; color:var(--ink-850); font:inherit; font-size:10px; }.settings-field input:focus,.settings-field select:focus { border-color:var(--purple-400); box-shadow:0 0 0 3px rgba(117,80,130,.1); }.settings-field input[readonly] { background:var(--ink-50); color:var(--ink-500); }.settings-field > small { color:var(--ink-500); font-size:7.8px; font-weight:500; line-height:1.5; }.settings-field.has-error input,.settings-field.has-error select { border-color:var(--red-500); box-shadow:0 0 0 3px rgba(203,52,78,.08); }.settings-field-error { color:var(--red-700); font-size:8px; font-style:normal; font-weight:650; }
.secret-input { display:grid; grid-template-columns:minmax(0,1fr) 42px; }.secret-input input { border-radius:11px 0 0 11px; }.secret-input button { display:grid; min-height:43px; place-items:center; border:1px solid var(--ink-200); border-left:0; border-radius:0 11px 11px 0; background:#fff; color:var(--purple-700); cursor:pointer; }
.settings-switches { display:grid; gap:8px; }.settings-switches > label { display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:center; gap:9px; padding:10px 11px; border:1px solid var(--ink-100); border-radius:12px; background:#fff; }.settings-switches input { width:17px; height:17px; accent-color:var(--purple-700); }.settings-switches label > span { display:grid; }.settings-switches strong { color:var(--ink-800); font-size:9.5px; }.settings-switches small { color:var(--ink-500); font-size:7.5px; line-height:1.45; }.settings-switches label > i { color:var(--ink-400); }.settings-switches .is-locked { background:var(--ink-50); }
.settings-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; padding-top:2px; }.settings-last-test { display:grid; margin-right:auto; }.settings-last-test span { color:var(--ink-500); font-size:7px; text-transform:uppercase; }.settings-last-test strong { color:var(--ink-750); font-size:8.5px; }
.openai-security-card { display:grid; align-content:start; gap:13px; padding:20px; background:radial-gradient(circle at 85% 10%,rgba(46,174,145,.14),transparent 29%),linear-gradient(145deg,#fff,var(--purple-50)); }.openai-security-icon { display:grid; width:54px; height:54px; place-items:center; border-radius:17px; background:linear-gradient(135deg,var(--green-100),#fff); color:var(--green-700); font-size:25px; box-shadow:var(--shadow-sm); }.openai-security-card h3 { margin:0; color:var(--ink-900); font-size:16px; }.openai-security-card ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }.openai-security-card li { display:grid; grid-template-columns:25px minmax(0,1fr); align-items:start; gap:8px; color:var(--ink-600); font-size:8.5px; line-height:1.55; }.openai-security-card li > i { display:grid; width:24px; height:24px; place-items:center; border-radius:8px; background:var(--green-100); color:var(--green-700); }.openai-doc-note { display:flex; gap:8px; margin-top:3px; padding:11px; border:1px solid var(--purple-100); border-radius:12px; background:#fff; color:var(--ink-500); font-size:8px; line-height:1.55; }.openai-doc-note i { color:var(--purple-600); font-size:15px; }
.spin { animation:maternari-spin .8s linear infinite; }@keyframes maternari-spin { to { transform:rotate(360deg); } }

.ai-connection-warning { display:grid; grid-template-columns:38px minmax(0,1fr) auto; max-width:820px; align-items:center; gap:10px; margin:0 auto 12px; padding:10px 12px; border:1px solid rgba(214,153,32,.25); border-radius:13px; background:#fff8e8; color:#8b6518; }.ai-connection-warning > i { display:grid; width:36px; height:36px; place-items:center; border-radius:11px; background:#fff; font-size:17px; }.ai-connection-warning > div { display:grid; }.ai-connection-warning strong { font-size:10px; }.ai-connection-warning span { font-size:8px; }.ai-connection-warning a { color:inherit; font-size:8px; font-weight:800; text-decoration:underline; }
.ai-enter-hint { display:block; padding:0 12px 8px; color:var(--ink-400); font-size:7.5px; text-align:right; }
.ai-options-row { display:flex; max-width:900px; align-items:stretch; justify-content:center; gap:8px; margin:10px auto 13px; }.ai-options-row label { display:flex; min-width:0; align-items:flex-start; gap:8px; padding:10px 12px; border:1px solid var(--ink-100); border-radius:12px; background:#fff; color:var(--ink-600); font-size:8px; line-height:1.5; }.ai-options-row label[hidden] { display:none; }.ai-options-row input { flex:0 0 auto; margin-top:2px; accent-color:var(--purple-700); }.ai-options-row label > span { display:grid; }.ai-options-row label strong { color:var(--ink-800); font-size:8.5px; }.ai-review-consent { flex:1 1 520px; }.ai-context-option { flex:0 1 330px; align-items:center!important; }
.ai-prompt-box textarea:disabled { background:var(--ink-50); color:var(--ink-500); cursor:wait; }.ai-send-button[data-mode="cancel"] { border-color:var(--red-700); background:var(--red-700); color:#fff; }.ai-send-button[data-mode="cancel"]:hover { background:#8f3540; }
.ai-generation-status { display:grid; grid-template-columns:64px minmax(0,1fr) auto; max-width:900px; align-items:center; gap:14px; margin:13px auto; padding:14px 16px; overflow:hidden; border:1px solid rgba(117,80,130,.2); border-radius:17px; background:radial-gradient(circle at 10% 0%,rgba(221,172,151,.2),transparent 35%),linear-gradient(135deg,var(--purple-50),#fff); box-shadow:var(--shadow-sm); }.ai-generation-status[hidden] { display:none; }.ai-generation-status h3 { display:flex; align-items:center; gap:6px; margin:2px 0 3px; color:var(--ink-900); font-size:13px; }.ai-generation-status p { margin:0; color:var(--ink-500); font-size:8.5px; }.ai-generation-orb { position:relative; display:grid; width:58px; height:58px; place-items:center; }.ai-generation-orb > i { position:absolute; inset:4px; border:1px solid rgba(117,80,130,.25); border-radius:50%; animation:mai-orbit 2.4s linear infinite; }.ai-generation-orb > i:nth-child(2) { inset:0 12px; animation-duration:1.8s; animation-direction:reverse; }.ai-generation-orb > i:nth-child(3) { inset:12px 0; animation-duration:3s; }.ai-generation-orb > i::after { position:absolute; left:50%; top:-3px; width:6px; height:6px; border-radius:50%; background:var(--peach-500); box-shadow:0 0 10px rgba(194,128,112,.6); content:""; }.ai-generation-core { display:grid; width:31px; height:31px; place-items:center; border-radius:11px; background:linear-gradient(135deg,var(--purple-700),var(--peach-500)); color:#fff; box-shadow:0 7px 18px rgba(94,65,106,.25); animation:mai-core-pulse 1.4s ease-in-out infinite; }.ai-generation-actions { display:flex; align-items:center; gap:9px; }.ai-generation-actions > span { display:flex; align-items:center; gap:5px; color:var(--ink-500); font-size:8px; }.ai-generation-actions > span strong { color:var(--ink-800); font-size:9px; }.ai-generation-actions .button { white-space:nowrap; }.ai-typing-dots { display:inline-flex; align-items:center; gap:3px; }.ai-typing-dots i { width:4px; height:4px; border-radius:50%; background:var(--purple-500); animation:mai-dot 1.15s ease-in-out infinite; }.ai-typing-dots i:nth-child(2) { animation-delay:.16s; }.ai-typing-dots i:nth-child(3) { animation-delay:.32s; }@keyframes mai-dot { 0%,70%,100% { opacity:.25; transform:translateY(0); } 35% { opacity:1; transform:translateY(-3px); } }@keyframes mai-orbit { to { transform:rotate(360deg); } }@keyframes mai-core-pulse { 50% { transform:scale(.92); box-shadow:0 4px 12px rgba(94,65,106,.18); } }
.ai-input-tools { display:flex; align-items:center; min-width:0; }.ai-input-tools button.is-recording { background:var(--red-100)!important; color:var(--red-700)!important; animation:recording-pulse 1.2s ease-in-out infinite; }@keyframes recording-pulse { 50% { box-shadow:0 0 0 7px rgba(203,52,78,.1); } }
.ai-result-panel { display:grid; gap:0; margin:15px 0; overflow:hidden; border:1px solid rgba(117,80,130,.18); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }.ai-result-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--ink-100); background:linear-gradient(135deg,var(--purple-50),#fff); }.ai-result-panel h3 { margin:2px 0 0; color:var(--ink-900); font-size:14px; }.ai-result-panel header > div:last-child { display:flex; align-items:center; gap:7px; }.ai-result-panel [data-ai-model] { padding:5px 8px; border-radius:999px; background:var(--purple-100); color:var(--purple-700); font-size:7.5px; font-weight:800; }.ai-result-panel header button { display:grid; width:33px; height:33px; place-items:center; border:1px solid var(--ink-100); border-radius:10px; background:#fff; color:var(--purple-700); cursor:pointer; }.ai-result-content { padding:18px; color:var(--ink-750); font-size:10.5px; line-height:1.75; }.ai-result-content h1,.ai-result-content h2,.ai-result-content h3,.ai-result-content h4 { margin:1.15em 0 .45em; color:var(--ink-950); font-family:"Plus Jakarta Sans",ui-sans-serif,sans-serif; line-height:1.35; }.ai-result-content h1:first-child,.ai-result-content h2:first-child,.ai-result-content h3:first-child,.ai-result-content p:first-child { margin-top:0; }.ai-result-content h1 { font-size:17px; }.ai-result-content h2 { font-size:15px; }.ai-result-content h3 { font-size:13px; }.ai-result-content h4 { font-size:11.5px; }.ai-result-content p { margin:.55em 0; }.ai-result-content ul,.ai-result-content ol { display:grid; gap:4px; margin:.55em 0 .8em; padding-left:22px; }.ai-result-content li { padding-left:2px; }.ai-result-content strong { color:var(--ink-900); font-weight:800; }.ai-result-content em { color:var(--ink-700); }.ai-result-content code { padding:2px 5px; border-radius:5px; background:var(--ink-100); color:var(--purple-700); font:500 .92em ui-monospace,SFMono-Regular,Consolas,monospace; }.ai-result-content blockquote { margin:.7em 0; padding:8px 11px; border-left:3px solid var(--purple-400); background:var(--purple-50); color:var(--ink-600); }.ai-result-panel > footer { display:flex; align-items:center; gap:8px; padding:10px 16px; border-top:1px solid var(--ink-100); background:var(--ink-50); color:var(--ink-500); font-size:8px; }.ai-result-panel > footer i { color:var(--green-700); font-size:15px; }
@media (max-width:1050px) { .openai-settings-layout { grid-template-columns:1fr; }.openai-security-card { grid-template-columns:58px minmax(0,1fr); }.openai-security-card h3 { align-self:center; }.openai-security-card ul,.openai-doc-note { grid-column:1/-1; } }
@media (max-width:720px) { .settings-field-grid { grid-template-columns:1fr; }.settings-field-wide { grid-column:auto; }.settings-actions { align-items:stretch; flex-direction:column; }.settings-last-test { width:100%; }.settings-actions .button { width:100%; }.openai-settings-form { padding-inline:11px; }.integration-warning { margin-inline:11px; }.openai-security-card { grid-template-columns:1fr; }.openai-security-card h3,.openai-security-card ul,.openai-doc-note { grid-column:auto; }.ai-result-panel > header { align-items:flex-start; flex-direction:column; }.ai-options-row { align-items:stretch; flex-direction:column; }.ai-review-consent,.ai-context-option { flex:auto; }.ai-generation-status { grid-template-columns:50px minmax(0,1fr); padding:12px; }.ai-generation-orb { width:48px; height:48px; }.ai-generation-actions { grid-column:1/-1; justify-content:space-between; padding-top:9px; border-top:1px solid var(--ink-100); }.ai-connection-warning { grid-template-columns:36px minmax(0,1fr); }.ai-connection-warning a { grid-column:2; }.ai-enter-hint { text-align:left; } }
