:root {
    --brown: #5a1d0e;
    --brown-2: #7b2b13;
    --text: #25120c;
    --muted: #706763;
    --line: #eadfd8;
    --soft: #f4eee9;
    --surface: rgba(255,255,255,.9);
    --green: #16a45b;
    --red: #df2d2d;
    --orange: #ff8500;
    --blue: #156fc4;
    font-family: Inter, Segoe UI, Arial, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--text); background: #fffdfb; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
small { color: var(--muted); display: block; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }

.brand-shield, .mini-shield {
    width: 52px; height: 58px; display: inline-block; background: linear-gradient(180deg, #702711, #4d170b);
    clip-path: polygon(50% 0, 92% 15%, 85% 68%, 50% 100%, 15% 68%, 8% 15%); position: relative; flex: 0 0 auto;
}
.brand-shield:before, .brand-shield:after, .mini-shield:before, .mini-shield:after { content:""; position:absolute; background:#fff; left:50%; top:50%; transform:translate(-50%,-50%); border-radius:2px; }
.brand-shield:before { width: 11px; height: 31px; } .brand-shield:after { width: 31px; height: 11px; }
.mini-shield { width: 22px; height: 25px; } .mini-shield:before { width: 5px; height: 14px; } .mini-shield:after { width: 14px; height: 5px; }

.login-page { min-height: 100vh; background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.84) 52%, rgba(255,255,255,.92)), linear-gradient(90deg,#fbf7f2,#fff 47%,#fbf7f2); position: relative; overflow-x: hidden; }
.login-page:before { content:""; position: fixed; left:0; right:55%; bottom:0; height:38vh; background:url("../images/hospital-bg.png") left bottom/cover no-repeat; opacity:.76; }
.login-page:after { content:""; position:fixed; inset:0; background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.68) 48%,rgba(255,255,255,.96)); pointer-events:none; }
.login-shell { min-height: calc(100vh - 70px); position:relative; z-index:1; display:grid; grid-template-columns:minmax(360px,560px) minmax(420px,570px); gap:clamp(36px,4.6vw,72px); align-items:center; justify-content:center; padding:clamp(34px,4.2vw,64px) clamp(44px,5vw,82px) 34px; }
.login-copy { justify-self:end; width:100%; max-width:560px; }
.login-brand { display:flex; align-items:center; gap:20px; }
.login-logo { width:64px; height:64px; object-fit:contain; flex:0 0 auto; }
.login-brand strong { color:var(--brown); font-size:28px; line-height:1; }
.login-brand small { font-size:17px; margin-top:9px; }
.login-copy h1 { color:var(--brown); font-size:clamp(38px,3.05vw,50px); line-height:1.2; margin:clamp(72px,10vh,118px) 0 22px; }
.login-copy p { color:var(--muted); font-size:18px; line-height:1.65; max-width:560px; }
.login-feature { display:flex; align-items:center; gap:22px; margin-top:28px; }
.feature-symbol { width:58px; height:58px; display:grid; place-items:center; border-radius:14px; background:rgba(244,238,233,.9); color:var(--brown); font-size:25px; font-weight:900; }
.login-feature b { display:block; margin-bottom:8px; }
.login-card { width:100%; max-width:570px; justify-self:start; padding:52px 56px; background:rgba(255,255,255,.92); border:1px solid rgba(229,218,211,.9); border-radius:24px; box-shadow:0 26px 70px rgba(53,25,12,.11); text-align:center; }
.hospital-mark, .modal-icon { width:96px; height:96px; margin:0 auto 24px; border-radius:50%; background:#eee6df; display:block; position:relative; }
.hospital-mark:before, .modal-icon:before { content:""; width:38px; height:42px; border:3px solid var(--brown); border-radius:4px; position:absolute; left:29px; bottom:24px; }
.hospital-mark:after, .modal-icon:after { content:"+"; position:absolute; inset:0; display:grid; place-items:center; color:var(--brown); font-size:28px; font-weight:900; }
.login-card h2 { font-size:31px; margin:0 0 12px; }
.login-card > p { margin:0 0 34px; color:var(--muted); }
.login-card label, label { display:block; text-align:left; font-size:13px; font-weight:800; margin-top:18px; }
input, select, textarea { width:100%; border:1px solid #d8cfca; border-radius:10px; background:#fff; padding:14px 16px; margin-top:8px; color:var(--text); outline-color:var(--brown-2); }
.login-card input { min-height:56px; }
.password-field { display:block; position:relative; }
.password-field input { padding-right:52px; }
.password-toggle { position:absolute; right:10px; top:50%; transform:translateY(-50%); width:38px; height:38px; border:0; border-radius:50%; background:#f5f1ef; cursor:pointer; display:grid; place-items:center; }
.password-toggle span { width:21px; height:13px; border:2px solid var(--brown); border-radius:50%; position:relative; display:block; }
.password-toggle span:after { content:""; width:7px; height:7px; border-radius:50%; background:var(--brown); position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.password-toggle.showing { background:#eadfd8; }
.password-toggle:focus-visible { outline:2px solid var(--brown-2); outline-offset:2px; }
.login-options { display:flex; justify-content:flex-end; align-items:center; margin-top:24px; color:#4d403b; }
.login-options input { width:20px; height:20px; min-height:20px; accent-color:var(--brown-2); vertical-align:middle; margin:0 8px 0 0; }
.login-options a { color:var(--brown); }
.primary { border:0; border-radius:10px; padding:14px 24px; background:linear-gradient(180deg,var(--brown-2),var(--brown)); color:#fff; font-weight:900; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.login-card .primary { width:100%; min-height:56px; margin-top:28px; font-size:17px; }
.divider { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; color:var(--muted); margin:34px 0 28px; }
.divider:before, .divider:after { content:""; height:1px; background:#e6ded9; }
.sso, .secondary, .support, .logout { border:1px solid #ddd4cf; border-radius:10px; background:#fff; color:var(--brown); font-weight:800; padding:13px 18px; cursor:pointer; }
.sso { width:100%; min-height:56px; color:var(--text); display:inline-flex; align-items:center; justify-content:center; gap:12px; }
.login-footer { position:relative; z-index:1; text-align:center; color:#7c726e; padding:0 20px 22px; }

.mobile-shellbar, .menu-backdrop, .sidebar-close { display:none; }
.mobile-tabbar { display:none; }
.sidebar { position:fixed; inset:0 auto 0 0; width:282px; padding:28px 18px; border-right:1px solid var(--line); background:rgba(255,255,255,.96); display:flex; flex-direction:column; z-index:40; }
.sidebar .brand { display:flex; gap:12px; align-items:center; }
.brand-logo { width:52px; height:52px; object-fit:contain; flex:0 0 auto; }
.sidebar .brand-shield { width:48px; height:54px; }
.sidebar strong { color:var(--brown); font-size:20px; }
.sidebar nav { display:grid; gap:8px; margin-top:48px; }
.sidebar nav a, .logout { width:100%; text-align:left; padding:15px 18px; border-radius:9px; color:var(--brown); font-weight:850; border:0; background:transparent; display:flex; align-items:center; gap:12px; }
.sidebar nav a.active, .sidebar nav a:hover, .logout:hover { background:linear-gradient(180deg,var(--brown-2),var(--brown)); color:#fff; }
.security-card { margin-top:auto; border-radius:8px; background:linear-gradient(180deg,#fbf6f2,#f3ece6); padding:24px 18px; }
.security-card span { width:54px; height:54px; display:grid; place-items:center; border-radius:50%; background:#eee6df; margin:0 0 14px; color:var(--brown); }
.security-card b { display:block; margin-bottom:8px; }
.app { margin-left:282px; min-height:100vh; padding:28px 30px 48px; background:linear-gradient(180deg,#fffdfb,#fbf8f5); }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:22px; margin-bottom:24px; }
.topbar h1 { margin:0; font-size:28px; }
.topbar p { color:var(--muted); margin:8px 0 0; }
.top-actions { display:flex; align-items:center; gap:16px; }
.support { display:inline-flex; align-items:center; gap:10px; }
.notification-wrap { position:relative; }
.notification { position:relative; width:42px; height:42px; border-radius:50%; background:#fff; border:1px solid var(--line); color:var(--brown); display:grid; place-items:center; cursor:pointer; }
.notification b { position:absolute; right:-4px; top:-5px; min-width:19px; height:19px; padding:0 5px; display:grid; place-items:center; border-radius:20px; background:#df2d2d; color:#fff; font-size:11px; }
.notification-menu { position:fixed; right:30px; top:86px; width:360px; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 20px 50px rgba(55,29,16,.16); padding:14px; z-index:60; display:none; }
.notification-menu[hidden] { display:none !important; }
.notification-menu.open { display:block; }
.notification-menu h3 { margin:0 0 10px; font-size:16px; }
.notification-menu a { display:grid; gap:4px; padding:11px; border-radius:8px; border:1px solid transparent; }
.notification-menu a:hover { background:#fff8f4; border-color:#eadfd8; }
.notification-menu strong { color:var(--brown); }
.notification-menu span { color:var(--text); font-size:13px; }
.notification-menu p { margin:0; color:var(--muted); padding:10px; }
.avatar { width:48px; height:48px; border-radius:50%; background:var(--soft); color:var(--brown); display:grid; place-items:center; font-weight:900; }
.user-meta b { display:block; }
.alert { border:1px solid #f0cdb9; background:#fff3e8; color:var(--brown); padding:13px 16px; border-radius:10px; margin-bottom:16px; }
.panel, .welcome-panel, .metric-grid article, .order-hero { background:var(--surface); border:1px solid var(--line); border-radius:8px; box-shadow:0 10px 30px rgba(55,29,16,.06); padding:22px; min-width:0; }
.welcome-panel { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.welcome-copy { display:flex; align-items:center; gap:16px; }
.welcome-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.hello-icon { width:58px; height:58px; border-radius:50%; display:grid; place-items:center; background:var(--soft); color:var(--brown); }
.welcome-panel h2 { margin:0 0 6px; }
.metric-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; margin-bottom:20px; }
.metric-grid.four-cols { grid-template-columns:repeat(4,minmax(0,1fr)); }
.metric-grid article { min-height:132px; transition:transform .18s ease, box-shadow .18s ease; }
.metric-grid article:hover { transform:translateY(-2px); box-shadow:0 16px 38px rgba(55,29,16,.09); }
.metric-grid article small { margin-bottom:8px; }
.metric-grid strong { display:block; font-size:30px; }
.metric-grid em { color:var(--green); font-style:normal; font-size:13px; }
.metric-grid em.bad { color:var(--orange); }
.metric-icon { float:left; width:54px; height:54px; border-radius:50%; background:var(--soft); margin-right:18px; display:grid; place-items:center; color:var(--brown); }
.metric-icon .icon { width:25px; height:25px; }
.metric-icon.done { background:#dff5e6; } .metric-icon.progress { background:#e8f2ff; } .metric-icon.late { background:#ffe1e1; } .metric-icon.warn { background:#fff0d7; }
.dashboard-grid, .report-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:16px; margin-bottom:20px; }
.panel-head, .filter-bar { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:18px; }
.report-filter-panel { margin-bottom:28px; padding:26px 28px 22px; }
.report-filter { display:flex; align-items:end; gap:20px; flex-wrap:nowrap; }
.report-filter-fields { display:flex; align-items:end; gap:18px; flex:1 1 auto; min-width:0; }
.report-filter-fields label:nth-child(1), .report-filter-fields label:nth-child(2) { flex:0 0 210px; }
.report-filter-fields label:nth-child(3) { flex:0 0 118px; }
.report-filter-fields label:nth-child(4) { flex:0 0 120px; }
.report-filter label { margin-top:0; }
.report-filter input, .report-filter select { min-height:46px; margin-top:7px; }
.report-filter-actions { display:flex; gap:14px; align-items:end; margin-left:auto; }
.report-filter-actions .primary, .report-filter-actions .secondary { min-height:46px; white-space:nowrap; }
.report-filter-panel > small { margin-top:16px; }
.report-metrics { margin-top:0; margin-bottom:20px; }
.panel h2 { margin:0 0 18px; font-size:16px; }
.line-chart { height:230px; position:relative; border-bottom:1px solid var(--line); background:linear-gradient(#fff,#fbf5f0); }
.line-chart span { position:absolute; left:var(--x); top:var(--y); color:var(--brown); font-weight:900; }
.chart-foot { display:flex; justify-content:space-around; margin-top:14px; }
.line-chart-pro { height:286px; border-radius:8px; background:linear-gradient(180deg,#fff,#fbf5f0); overflow:hidden; }
.line-chart-pro svg { width:100%; height:100%; display:block; }
.line-chart-pro .grid-lines path { stroke:#e7ded8; stroke-width:1; vector-effect:non-scaling-stroke; }
.line-chart-pro .area { fill:url(#lineFill); }
.line-chart-pro .line { fill:none; stroke:var(--brown-2); stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; filter:drop-shadow(0 6px 8px rgba(91,31,15,.16)); }
.line-chart-pro .points circle { fill:#fff; stroke:var(--brown-2); stroke-width:3; vector-effect:non-scaling-stroke; }
.line-chart-pro text { font-size:13px; font-weight:800; fill:var(--brown); text-anchor:middle; }
.line-chart-pro .axis-labels text { fill:#5f5551; font-weight:600; font-size:12px; }
.chart-foot { background:#f8f2ed; border-radius:8px; padding:12px 16px; }
.donut-wrap { display:flex; align-items:center; gap:26px; min-height:246px; }
.donut { width:150px; height:150px; border-radius:50%; display:block; background:conic-gradient(var(--brown) 0 42%,#d8c2ad 42% 70%,#e9a846 70% 86%,#6bbb84 86%); }
.donut.large { width:190px; height:190px; margin:auto; }
.donut-pro { width:174px; height:174px; border-radius:50%; background:conic-gradient(var(--brown) 0 42%,#d8c2ad 42% 70%,#e9a846 70% 86%,#6bbb84 86% 96%,#aaa 96%); position:relative; box-shadow:inset 0 0 0 1px rgba(91,31,15,.06); flex:0 0 auto; }
.donut-pro:after { content:""; position:absolute; inset:45px; border-radius:50%; background:#fff; box-shadow:0 8px 24px rgba(55,29,16,.08); }
.donut-pro span { position:absolute; inset:0; z-index:1; display:grid; place-content:center; text-align:center; color:var(--muted); font-size:13px; }
.donut-pro b { display:block; color:var(--text); font-size:28px; margin-top:2px; }
.chart-legend { list-style:none; padding:0; margin:0; min-width:190px; display:grid; gap:13px; }
.chart-legend li { display:grid; grid-template-columns:14px 1fr auto; align-items:center; gap:10px; font-size:14px; }
.chart-legend li span { width:10px; height:10px; border-radius:50%; background:var(--c); }
.chart-legend b { color:var(--text); }
.sla-bars span, .report-bars span { display:block; margin:16px 0; }
.sla-bars.pro span { display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; margin:18px 0; font-size:14px; }
.sla-bars.pro span:before { content:""; grid-column:1 / -1; grid-row:2; height:10px; border-radius:20px; background:#f1ece8; }
.sla-bars.pro span:after { content:""; grid-column:1 / -1; grid-row:2; width:var(--w); height:10px; border-radius:20px; background:linear-gradient(90deg,var(--brown),#8b3914 36%,var(--green)); box-shadow:0 4px 12px rgba(91,31,15,.12); }
.sla-bars.pro em { font-style:normal; color:var(--text); font-weight:850; }
.sla-bars:not(.pro) span:after, .report-bars span:after { content:""; display:block; width:var(--w); height:10px; border-radius:20px; margin-top:8px; background:linear-gradient(90deg,var(--brown),var(--orange),var(--green)); }
.real-bars { display:grid; gap:13px; }
.real-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; font-size:14px; }
.real-bar:after { content:""; grid-column:1 / -1; grid-row:2; width:var(--w); height:11px; border-radius:20px; background:var(--bar-color); box-shadow:0 4px 12px rgba(55,29,16,.1); }
.real-bar span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.real-bar b { color:var(--text); }
.sector-bars { gap:16px; }
.sector-bars .real-bar:after { height:14px; }
.real-pie-wrap { display:grid; grid-template-columns:150px minmax(0,1fr); gap:18px; align-items:center; margin-bottom:20px; }
.real-pie-wrap.wide { grid-template-columns:170px minmax(0,1fr); }
.real-pie { width:150px; height:150px; border-radius:50%; background:conic-gradient(var(--segments)); position:relative; box-shadow:inset 0 0 0 1px rgba(55,29,16,.08); }
.real-pie-wrap.wide .real-pie { width:170px; height:170px; }
.real-pie:after { content:""; position:absolute; inset:38px; border-radius:50%; background:#fff; box-shadow:0 8px 24px rgba(55,29,16,.08); }
.real-pie span { position:absolute; inset:0; z-index:1; display:grid; place-content:center; text-align:center; color:var(--muted); font-size:12px; }
.real-pie b { display:block; color:var(--text); font-size:26px; margin-top:2px; }
.real-pie-legend { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.real-pie-legend li { display:grid; grid-template-columns:12px minmax(0,1fr) auto; gap:9px; align-items:center; font-size:13px; }
.real-pie-legend li span { width:10px; height:10px; border-radius:50%; background:var(--c); }
.real-pie-legend b { color:var(--text); white-space:nowrap; }
.form-stack { display:grid; gap:20px; }
.form-grid { display:grid; gap:14px; } .two{grid-template-columns:repeat(2,1fr)} .three{grid-template-columns:repeat(3,1fr)} .four{grid-template-columns:repeat(4,1fr)} .five{grid-template-columns:repeat(5,1fr)}
.readonly input, input[readonly] { background:#fffdfb; }
.form-actions { display:flex; justify-content:space-between; gap:16px; }
.table-wrap { width:100%; max-width:100%; overflow:auto; -webkit-overflow-scrolling:touch; scrollbar-width:auto; scrollbar-color:#b88b78 #f4eee8; }
.table-wrap::-webkit-scrollbar { height:12px; width:12px; }
.table-wrap::-webkit-scrollbar-track { background:#f4eee8; border-radius:20px; }
.table-wrap::-webkit-scrollbar-thumb { background:#b88b78; border-radius:20px; border:3px solid #f4eee8; }
table { width:100%; border-collapse:collapse; }
.orders-table, .table-wrap table { min-width:720px; }
.users-table { min-width:980px; table-layout:auto; }
.users-table th:first-child, .users-table td:first-child { min-width:230px; }
.users-table th:nth-child(3), .users-table td:nth-child(3), .users-table th:nth-child(4), .users-table td:nth-child(4) { min-width:170px; }
.user-filter { align-items:end; }
.user-filter input { margin-top:0; min-width:220px; }
th { text-align:left; color:var(--brown); background:#f4eee8; padding:15px; font-size:13px; }
td { border-top:1px solid var(--line); padding:18px 15px; vertical-align:middle; }
.link { color:var(--brown); font-weight:900; text-decoration:underline; }
.pill { display:inline-flex; border-radius:8px; padding:6px 11px; font-weight:900; font-size:12px; background:#f4eee8; color:var(--brown); }
.blue { background:#e7f1ff; color:#1764ad; } .status { background:#eaf3ff; color:#1764ad; }
.priority-baixa { background:#dff5e6; color:#138146; } .priority-media, .priority-m-dia { background:#fff0d7; color:#a65b00; } .priority-alta { background:#ffe1e1; color:#d51f1f; } .priority-urgente { background:#ffd5d5; color:#b40000; }
.compact { padding:9px 12px; font-size:12px; }
.ticket-status-form { display:grid; grid-template-columns:minmax(260px, 520px) 150px; align-items:end; gap:14px; }
.ticket-status-form .primary { width:150px; min-height:46px; align-self:end; white-space:nowrap; padding-inline:16px; }
.modal { position:fixed; inset:0; background:rgba(0,0,0,.48); display:none; place-items:center; z-index:20; padding:20px; }
.modal.open { display:grid; }
.modal-card { width:min(860px,100%); background:#fff; border-radius:18px; padding:42px; position:relative; text-align:center; box-shadow:0 24px 70px rgba(0,0,0,.24); }
.modal-close { position:absolute; right:24px; top:24px; border:0; border-radius:50%; width:42px; height:42px; font-size:28px; cursor:pointer; background:#f5f1ef; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:30px; }
.choice-grid.three { grid-template-columns:repeat(3,1fr); }
.faq-modal-card { width:min(920px,100%); text-align:left; max-height:calc(100vh - 40px); overflow:auto; }
.faq-modal-card h2, .faq-modal-card > p { text-align:center; }
.faq-icon:after { content:"?"; font-size:34px; }
.faq-list { display:grid; gap:12px; margin-top:28px; }
.faq-list details { border:1px solid #e1d8d2; border-radius:12px; background:#fffaf7; overflow:hidden; }
.faq-list summary { cursor:pointer; list-style:none; padding:18px 20px; color:var(--brown); font-weight:900; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary:after { content:"+"; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:#efe6df; color:var(--brown); flex:0 0 auto; }
.faq-list details[open] summary:after { content:"-"; }
.faq-list p { margin:0; padding:0 20px 20px; color:#5f524b; line-height:1.62; }
.faq-flow { padding:0 20px 20px; }
.faq-flow a { display:block; color:var(--brown); font-weight:900; text-decoration:none; }
.faq-flow img { width:100%; max-height:420px; object-fit:contain; border:1px solid #eadfd8; border-radius:12px; background:#fff; }
.faq-flow span { display:block; margin-top:10px; text-align:center; }
.choice-card { border:1px solid var(--line); border-radius:14px; padding:30px; display:grid; justify-items:center; gap:16px; }
.choice-card em { font-style:normal; background:linear-gradient(180deg,var(--brown-2),var(--brown)); color:#fff; padding:13px 42px; border-radius:10px; font-weight:900; }
.choice-icon { width:86px; height:86px; border-radius:50%; background:var(--soft); display:grid; place-items:center; color:var(--brown); }
.urgent-request-card { margin-top:18px; border:1px solid #e7b6b6; border-radius:8px; background:#fff6f6; color:#3b211b; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px; padding:16px 18px; text-align:left; }
.urgent-request-card b, .urgent-request-card small { display:block; }
.urgent-request-card small { color:#6d5750; margin-top:3px; }
.urgent-request-card em { font-style:normal; background:#b40000; color:#fff; border-radius:8px; padding:10px 18px; font-weight:900; }
.urgent-request-icon { width:52px; height:52px; border-radius:50%; display:grid; place-items:center; background:#ffe1e1; color:#b40000; }
.system-ticket-actions { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px; }
.system-ticket-card { border:1px solid var(--line); border-radius:8px; background:#fffdfb; color:#3b211b; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; padding:14px; text-align:left; }
.system-ticket-card b, .system-ticket-card small { display:block; }
.system-ticket-card small { color:#6d5750; margin-top:3px; }
.system-ticket-card em { font-style:normal; background:#f4eee8; color:var(--brown); border-radius:8px; padding:9px 14px; font-weight:900; }
.system-ticket-icon { width:46px; height:46px; border-radius:50%; display:grid; place-items:center; }
.system-ticket-icon.bug { background:#ffe1e1; color:#b40000; }
.system-ticket-icon.improvement { background:#e7f1ff; color:#1764ad; }
.urgent-notice { display:grid; place-items:center; min-height:calc(100vh - 180px); }
.urgent-notice-card { width:min(980px,100%); background:#fff; border:1px solid var(--line); border-radius:8px; box-shadow:0 18px 48px rgba(55,29,16,.08); padding:34px; }
.urgent-notice-icon { width:76px; height:76px; border-radius:50%; display:grid; place-items:center; background:#fff0d7; color:var(--brown); margin-bottom:18px; }
.urgent-notice-card h2 { margin:0 0 10px; font-size:28px; }
.urgent-notice-card p { color:var(--muted); font-size:16px; line-height:1.65; max-width:820px; }
.notice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:24px 0; }
.notice-grid article { border:1px solid var(--line); border-radius:8px; padding:18px; background:#fffdfb; }
.notice-grid b { display:block; margin-bottom:8px; }
.notice-warning { border:1px solid #f0cdb9; background:#fff3e8; border-radius:8px; padding:16px 18px; display:grid; gap:5px; margin-bottom:22px; }
.notice-warning b { color:var(--brown); }
.notice-warning span { color:#4b342b; }
.notice-callout { border:1px solid #df2d2d; background:#fff6f6; border-radius:8px; padding:16px 18px; display:grid; gap:5px; margin-bottom:22px; }
.notice-callout b { color:#b40000; }
.notice-callout span { color:#3b211b; }
.notice-callout strong { color:#b40000; font-size:17px; }
.check-line { display:flex; align-items:center; gap:10px; font-weight:800; }
.check-line input { width:18px; height:18px; margin:0; }
.tv-body { min-height:100vh; background:#fff; color:var(--text); overflow:hidden; }
.tv-panel { min-height:100vh; padding:28px; background:#fff; }
.tv-header { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:24px; }
.tv-header div { display:flex; align-items:center; gap:18px; }
.tv-header img { width:62px; height:62px; object-fit:contain; }
.tv-header b { font-size:34px; line-height:1; }
.tv-header small, .tv-header time { color:var(--muted); font-size:18px; }
.tv-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.tv-columns-four { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.tv-column { height:calc(100vh - 142px); overflow:hidden; border:1px solid var(--line); border-radius:8px; padding:16px; background:#fffdfb; box-shadow:0 10px 30px rgba(55,29,16,.06); }
.tv-column h2 { display:flex; justify-content:space-between; align-items:center; margin:0 0 18px; font-size:28px; }
.tv-column h2 span { min-width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#fff; color:#160b07; }
.status-no-prazo, .status-abertas { border-top:6px solid #16a45b; }
.status-em-risco, .status-validacao { border-top:6px solid #ffb020; }
.status-atendimento { border-top:6px solid #156fc4; }
.status-atrasadas { border-top:6px solid #df2d2d; }
.tv-card-list { display:grid; gap:12px; max-height:calc(100vh - 226px); overflow:hidden; }
.tv-card { border-radius:8px; padding:14px; background:#fff; color:var(--text); box-shadow:0 12px 30px rgba(0,0,0,.2); }
.tv-card-top, .tv-meta { display:flex; justify-content:space-between; gap:12px; }
.tv-card-top span { border-radius:8px; padding:5px 9px; background:#fff0d7; color:#a65b00; font-weight:900; font-size:12px; white-space:nowrap; }
.tv-card h3 { margin:12px 0 8px; font-size:18px; line-height:1.2; overflow-wrap:anywhere; }
.tv-card p { color:var(--muted); margin:0 0 12px; font-size:14px; line-height:1.35; }
.tv-meta { border-top:1px solid var(--line); padding-top:12px; color:#4b403c; }
.tv-meta small { min-width:0; line-height:1.35; }
.tv-meta b { color:var(--text); overflow-wrap:anywhere; }
.tv-deadline { display:flex; justify-content:space-between; align-items:center; gap:10px; border-top:1px solid var(--line); margin-top:12px; padding-top:11px; }
.tv-deadline strong { color:var(--brown); font-size:13px; line-height:1.25; }
.tv-deadline em { flex:0 0 auto; border-radius:8px; background:#e7f1ff; color:#1764ad; padding:5px 8px; font-style:normal; font-weight:900; font-size:12px; }
.tv-empty { border:1px dashed #dccfc8; border-radius:10px; padding:24px; text-align:center; color:var(--muted); background:#fff; }
.suggestions { position:relative; z-index:5; }
.suggestion-list { position:absolute; inset:auto 0 auto 0; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 12px 30px rgba(55,29,16,.12); overflow:hidden; }
.suggestion-list button { width:100%; text-align:left; border:0; background:#fff; padding:13px 16px; cursor:pointer; }
.kanban-shell { width:100%; max-width:100%; min-width:0; overflow:hidden; }
.kanban { display:grid; grid-template-columns:repeat(5,minmax(260px,1fr)); gap:14px; width:100%; max-width:100%; overflow-x:auto; overflow-y:hidden; padding-bottom:14px; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; touch-action:pan-x pan-y; cursor:grab; scrollbar-width:auto; scrollbar-color:#b88b78 #f4eee8; }
.kanban.dragging { cursor:grabbing; user-select:none; scroll-snap-type:none; }
.kanban::-webkit-scrollbar { height:13px; }
.kanban::-webkit-scrollbar-track { background:#f4eee8; border-radius:20px; }
.kanban::-webkit-scrollbar-thumb { background:#b88b78; border-radius:20px; border:3px solid #f4eee8; }
.kanban-mobile-controls { display:none; align-items:center; gap:10px; margin-top:10px; }
.kanban-mobile-controls button { width:40px; height:40px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--brown); font-size:26px; font-weight:900; line-height:1; cursor:pointer; }
.kanban-mobile-controls button:disabled { opacity:.38; cursor:default; }
.kanban-track { position:relative; flex:1; height:12px; border-radius:20px; background:#f4eee8; overflow:hidden; }
.kanban-track span { position:absolute; inset:0 auto 0 0; width:42px; min-width:42px; border-radius:20px; background:linear-gradient(180deg,var(--brown-2),var(--brown)); }
.lane { background:#fff; border:1px solid var(--line); border-top:3px solid var(--brown-2); border-radius:8px; min-height:560px; padding:14px; }
.lane h2 { font-size:15px; display:flex; justify-content:space-between; }
.lane h2 span { border-radius:14px; background:#efe8ff; color:#6c3bbf; padding:2px 9px; }
.task-card { display:grid; gap:8px; background:#fff; border:1px solid var(--line); border-radius:8px; padding:16px; margin:12px 0; }
.task-card em { color:var(--orange); font-style:normal; font-weight:800; }
.orders-table tbody tr { transition:background .16s ease; }
.orders-table tbody tr:hover { background:#fff8f4; }
.empty-state { border:1px dashed #dccfc8; border-radius:10px; padding:28px; text-align:center; color:var(--muted); grid-column:1 / -1; }
.order-back { display:inline-flex; margin:0 0 12px; color:var(--brown); font-weight:900; }
.order-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(430px,.78fr); gap:22px; align-items:end; margin-bottom:20px; }
.order-hero-main h2 { margin:0 0 14px; font-size:30px; line-height:1.15; letter-spacing:0; }
.order-hero-main p { margin:0 0 14px; line-height:1.5; }
.order-hero-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.order-hero-meta > div { border-left:1px solid var(--line); padding-left:18px; min-height:54px; }
.order-hero-meta b:not(.pill) { display:block; margin-top:6px; color:var(--text); }
.order-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:20px; margin-bottom:20px; align-items:start; }
.order-accordion-stack { display:grid; gap:14px; }
.order-section { padding:0; overflow:hidden; }
.order-section summary { cursor:pointer; list-style:none; padding:22px; color:var(--text); font-size:17px; font-weight:900; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.order-section summary::-webkit-details-marker { display:none; }
.order-section summary:after { content:"v"; color:var(--text); font-size:16px; line-height:1; transform:translateY(-1px); }
.order-section[open] summary:after { content:"^"; }
.order-section .form-grid, .order-section > p, .order-section .attachment-list { margin:0 22px 22px; }
.order-section > p { line-height:1.55; }
.order-detail-panel .form-grid { margin-bottom:4px; }
.demand-fields { margin-top:18px !important; }
.side-stack { display:grid; gap:20px; align-content:start; }
.timeline { border-left:2px solid #d8d8d8; padding-left:18px; }
.timeline p { position:relative; }
.timeline p:before { content:""; position:absolute; left:-25px; top:4px; width:12px; height:12px; border-radius:50%; background:var(--blue); }
.cost-line, .cost-total { display:flex; justify-content:space-between; gap:14px; }
.cost-total { font-weight:900; border-top:1px solid var(--line); padding-top:12px; }
.product-row { display:grid; grid-template-columns:minmax(220px,1fr) 90px 100px 150px auto; gap:12px; align-items:end; border:1px solid var(--line); border-radius:8px; padding:12px; margin-top:10px; }
.product-row .remove-product { align-self:end; }
.inline-edit-form { display:grid; grid-template-columns:130px 160px auto; align-items:end; gap:10px; }
.inline-edit-form label { margin:0; }
.inline-edit-form input, .inline-edit-form select { margin-top:0; }
.chat-panel { padding: 18px; }
.chat-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.chat-head h2 { margin:0; }
.chat-messages { display:grid; gap:12px; max-height:260px; min-height:126px; overflow:auto; padding:4px 2px 10px; scroll-behavior:smooth; }
.chat-message { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:start; }
.chat-message.mine { grid-template-columns:minmax(0,1fr) 34px; }
.chat-message.mine .chat-avatar { grid-column:2; grid-row:1; background:#e7f1ff; color:#1764ad; }
.chat-message.mine .chat-bubble { grid-column:1; grid-row:1; background:#fffaf6; border-color:#ead2c4; }
.chat-avatar { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--soft); color:var(--brown); font-size:13px; font-weight:900; }
.chat-bubble { border:1px solid var(--line); border-radius:8px; background:#fff; padding:10px 12px; box-shadow:0 8px 20px rgba(55,29,16,.04); }
.chat-bubble strong { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; margin-bottom:5px; }
.chat-bubble strong small { font-weight:500; white-space:nowrap; }
.chat-bubble p { margin:0; color:#39221a; line-height:1.45; font-size:13px; }
.chat-attachment { display:flex; justify-content:space-between; gap:10px; margin-top:8px; border:1px solid var(--line); border-radius:8px; padding:8px 10px; background:#fffdfb; color:var(--brown); font-weight:800; font-size:12px; }
.chat-attachment small { color:var(--muted); font-weight:600; white-space:nowrap; }
.chat-empty { border:1px dashed #dccfc8; border-radius:8px; color:var(--muted); padding:18px; text-align:center; font-size:13px; }
.chat-form { display:grid; grid-template-columns:minmax(0,1fr) 42px 42px; gap:8px; align-items:center; border-top:1px solid var(--line); padding-top:12px; }
.chat-form input { margin:0; min-height:42px; }
.chat-error { grid-column:1 / -1; color:var(--red); font-size:12px; font-weight:700; }
.chat-file-input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.chat-attach, .chat-send { width:42px; height:42px; border-radius:8px; border:1px solid #ddd4cf; background:#fff; color:var(--brown); font-weight:900; cursor:pointer; }
.chat-attach { display:grid; place-items:center; }
.chat-send { border-color:transparent; background:linear-gradient(180deg,var(--brown-2),var(--brown)); color:#fff; }
.big-percent { font-size:58px; font-weight:900; color:var(--green); text-align:center; }
.big-money { font-size:34px; font-weight:900; color:var(--brown); margin:12px 0 6px; }
.attachment-list { display:grid; gap:10px; margin:10px 0 18px; }
.attachment-list a { display:grid; gap:4px; border:1px solid var(--line); border-radius:8px; padding:12px 14px; background:#fffdfb; }
.attachment-list a:hover { border-color:#d8c2ad; background:#fff8f4; }
.money-bars { display:grid; gap:14px; }
.money-bars span { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center; }
.money-bars span:after { content:""; grid-column:1 / -1; width:var(--w); height:11px; border-radius:20px; background:linear-gradient(90deg,var(--brown),var(--orange)); }
.money-bars em { font-style:normal; font-weight:900; color:var(--brown); }
.legend { line-height:2; }
.span-2 { grid-column:span 2; }
.error { color:var(--red); margin-top:6px; }
@media (max-width: 1200px) { .metric-grid, .dashboard-grid, .report-grid { grid-template-columns:repeat(2,1fr); } .form-grid.five, .five, .four { grid-template-columns:repeat(2,1fr); } .order-hero, .order-detail-layout { grid-template-columns:1fr; } .order-hero { align-items:stretch; } }
@media (max-width: 1200px) { .report-filter { flex-wrap:wrap; } .report-filter-actions { margin-left:0; } }
@media (max-width: 860px) { .sidebar { position:static; width:auto; } .app { margin-left:0; } .login-shell, .metric-grid, .dashboard-grid, .report-grid, .choice-grid, .choice-grid.three, .tv-columns, .late-board, .notice-grid, .two, .three, .four, .five, .product-row { grid-template-columns:1fr; } .login-page:before { right:0; opacity:.35; } .login-card { padding:30px; } .notification-menu { right:auto; left:-220px; width:300px; } }
@media (max-width: 860px) { .system-ticket-actions, .system-ticket-card, .urgent-request-card { grid-template-columns:1fr; } .system-ticket-card em, .urgent-request-card em { text-align:center; } }
@media (max-width: 860px) { .ticket-status-form { grid-template-columns:1fr; } .ticket-status-form .primary { width:100%; justify-content:center; } }
@media (max-width: 860px) { .report-filter, .report-filter-fields, .report-filter-actions { flex-direction:column; align-items:stretch; } .report-filter-fields label:nth-child(n) { flex:auto; } }
@media (max-width: 860px) { .real-pie-wrap, .real-pie-wrap.wide { grid-template-columns:1fr; } .real-pie, .real-pie-wrap.wide .real-pie { margin:auto; } }

@media (max-width: 860px) {
    body { overflow-x:hidden; background:#fffdfb; }
    body.menu-open { overflow:hidden; }
    .mobile-shellbar {
        position:relative;
        top:0;
        z-index:50;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:26px 28px 12px;
        background:#fffdfb;
        border-bottom:0;
        box-shadow:none;
    }
    .mobile-brand { display:flex; align-items:center; gap:10px; min-width:0; }
    .mobile-brand .brand-logo { width:42px; height:42px; }
    .mobile-brand span { min-width:0; }
    .mobile-brand strong, .mobile-brand small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .mobile-brand strong { display:block; color:var(--brown); font-size:16px; line-height:1.1; }
    .mobile-brand small { font-size:11px; margin-top:2px; }
    .menu-toggle {
        flex:0 0 auto;
        width:44px;
        height:44px;
        min-height:44px;
        border:1px solid var(--line);
        border-radius:50%;
        padding:0;
        background:#fff;
        color:var(--brown);
        font-weight:900;
        display:inline-flex;
        align-items:center;
        justify-content:center;
    }
    .menu-toggle .icon { width:22px; height:22px; }
    .menu-toggle { font-size:0; }
    .menu-backdrop {
        position:fixed;
        inset:0;
        z-index:55;
        background:rgba(37,18,12,.42);
    }
    .menu-backdrop.open { display:block; }
    .sidebar {
        position:fixed;
        inset:0 auto 0 0;
        width:min(330px,86vw);
        padding:22px 16px;
        border-right:1px solid var(--line);
        box-shadow:24px 0 60px rgba(55,29,16,.22);
        transform:translateX(-105%);
        transition:transform .22s ease;
        overflow-y:auto;
        -webkit-overflow-scrolling:touch;
        z-index:60;
    }
    .sidebar.open { transform:translateX(0); }
    .sidebar-close {
        position:absolute;
        right:14px;
        top:14px;
        display:grid;
        place-items:center;
        width:38px;
        height:38px;
        border:0;
        border-radius:50%;
        background:#f5f1ef;
        color:var(--brown);
        font-size:28px;
        line-height:1;
    }
    .sidebar .brand { padding-right:46px; }
    .sidebar nav { margin-top:28px; gap:6px; }
    .sidebar nav a, .logout { padding:14px 16px; min-height:48px; }
    .security-card { margin-top:18px; padding:18px 16px; }
    .app { margin-left:0; padding:12px 14px 124px; }
    .topbar {
        display:grid;
        grid-template-columns:1fr;
        gap:14px;
        margin-bottom:22px;
    }
    .topbar h1 { font-size:clamp(25px,8vw,34px); line-height:1.12; overflow-wrap:anywhere; }
    .topbar p { font-size:15px; line-height:1.45; max-width:28rem; }
    .top-actions {
        width:100%;
        display:grid;
        grid-template-columns:minmax(112px,1fr) 44px 44px minmax(0,auto);
        gap:10px;
        align-items:center;
    }
    .support { display:none; }
    .avatar, .notification { width:44px; height:44px; }
    .user-meta { display:none; }
    .notification-menu {
        position:fixed;
        left:14px;
        right:14px;
        top:122px;
        width:auto;
    }
    .panel, .welcome-panel, .metric-grid article, .order-hero { padding:18px; border-radius:8px; box-shadow:0 10px 34px rgba(55,29,16,.045); }
    .welcome-panel, .welcome-copy, .welcome-actions, .form-actions, .panel-head, .filter-bar {
        flex-direction:column;
        align-items:stretch;
    }
    .welcome-copy { gap:12px; }
    .welcome-actions .primary, .welcome-actions .secondary, .form-actions .primary, .form-actions .secondary, .filter-bar .primary, .filter-bar .secondary {
        width:100%;
        justify-content:center;
        text-align:center;
    }
    .metric-grid, .metric-grid.four-cols, .report-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
    .metric-grid article { min-height:124px; padding:24px 18px 18px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px 16px; }
    .metric-icon { float:none; margin:0; width:52px; height:52px; grid-row:1 / span 2; }
    .metric-grid strong { font-size:28px; }
    .metric-grid article small { margin:0; font-size:14px; }
    .dashboard-grid, .report-grid { gap:14px; }
    .span-2 { grid-column:auto; }
    .form-stack { gap:16px; }
    input, select, textarea { min-width:0; padding:13px 14px; }
    .table-wrap { margin-inline:0; padding-inline:0; border:1px solid var(--line); border-radius:8px; background:#fff; overflow:hidden; }
    .orders-table, .table-wrap table { min-width:0; }
    .orders-table th:nth-child(2), .orders-table th:nth-child(4), .orders-table th:nth-child(5), .orders-table td.optional-col { display:none; }
    .orders-table th, .orders-table td { padding:16px 14px; font-size:13px; }
    .orders-table td:nth-child(1), .orders-table td:nth-child(3), .orders-table td:nth-child(6), .orders-table td:nth-child(7), .orders-table td:nth-child(8) { vertical-align:top; }
    .orders-table .secondary.compact { padding:12px 10px; white-space:normal; text-align:center; line-height:1.25; }
    .filter-bar input, .filter-bar select { min-height:62px; font-size:16px; }
    .filter-bar { gap:12px; }
    .filter-bar .primary, .filter-bar .secondary { min-height:62px; font-size:16px; }
    .order-back { margin-left:4px; }
    .order-hero { gap:18px; }
    .order-hero-main h2 { font-size:24px; display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
    .order-hero-main p { font-size:15px; }
    .order-hero-meta { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
    .order-hero-meta > div { padding-inline:14px 8px; min-height:64px; }
    .order-hero-meta > div:first-child { border-left:0; padding-left:0; }
    .order-section summary { padding:20px; font-size:16px; }
    .order-section .form-grid, .order-section > p, .order-section .attachment-list { margin-inline:20px; }
    .side-stack { gap:14px; }
    .timeline { padding-left:18px; }
    .chat-head { display:block; }
    .chat-messages { max-height:none; min-height:0; }
    .chat-message, .chat-message.mine { grid-template-columns:minmax(0,1fr) 34px; }
    .chat-message .chat-avatar, .chat-message.mine .chat-avatar { grid-column:2; grid-row:1; }
    .chat-message .chat-bubble, .chat-message.mine .chat-bubble { grid-column:1; grid-row:1; }
    .chat-form { grid-template-columns:minmax(0,1fr) 42px 42px; gap:10px; }
    .mobile-tabbar {
        position:fixed;
        left:14px;
        right:14px;
        bottom:16px;
        z-index:45;
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:0;
        min-height:88px;
        padding:10px 8px;
        border:1px solid var(--line);
        border-radius:8px;
        background:rgba(255,255,255,.96);
        box-shadow:0 14px 42px rgba(55,29,16,.13);
    }
    .mobile-tabbar a, .mobile-tabbar button {
        width:100%;
        height:100%;
        border:0;
        background:transparent;
        color:#6c625e;
        font-weight:900;
        display:grid;
        justify-items:center;
        align-content:center;
        gap:6px;
        text-align:center;
        font-size:12px;
        line-height:1.15;
        cursor:pointer;
        position:relative;
    }
    .mobile-tabbar a.active { color:var(--brown); }
    .mobile-tabbar a.active:before { content:""; position:absolute; left:12px; right:12px; top:-11px; height:4px; border-radius:20px; background:var(--brown); }
    .mobile-tabbar form { margin:0; }
    .kanban {
        display:flex;
        gap:12px;
        width:100%;
        max-width:100%;
        overflow-x:scroll;
        overflow-y:hidden;
        padding-bottom:16px;
        scroll-snap-type:x mandatory;
    }
    .lane {
        flex:0 0 min(84vw,320px);
        min-height:430px;
        scroll-snap-align:start;
    }
    .kanban-mobile-controls { display:flex; }
    .user-filter input { min-width:0; }
    .modal { padding:14px; align-items:start; overflow:auto; }
    .modal-card { padding:30px 18px 22px; border-radius:14px; margin:12px 0; }
    .modal-close { right:14px; top:14px; width:38px; height:38px; }
    .modal-icon { width:76px; height:76px; margin-bottom:18px; }
    .modal-icon:before { width:30px; height:34px; left:23px; bottom:19px; }
    .choice-card { padding:22px 18px; }
    .choice-card em { width:100%; padding-inline:18px; }
    .choice-icon { width:76px; height:76px; }
}

@media (max-width: 520px) {
    .app { padding-inline:12px; }
    .mobile-shellbar { padding-inline:12px; }
    .top-actions { grid-template-columns:minmax(96px,1fr) 42px 42px 42px; }
    .support { font-size:14px; }
    .metric-grid, .metric-grid.four-cols, .report-metrics { grid-template-columns:1fr 1fr; }
    .metric-grid article { min-height:140px; }
    .report-filter-panel { padding:18px; }
    .report-filter-actions { gap:10px; }
    .real-pie-legend li { grid-template-columns:12px minmax(0,1fr); }
    .real-pie-legend b { white-space:normal; }
}
