:root{
--ds-primary:#1c6fd6;--ds-primary-dark:#0b1d34;--ds-primary-soft:#eaf4fe;--ds-secondary:#2e8bf0;--ds-primary-hover:#155bb1;--ds-navy-950:#071324;--ds-navy-800:#0f2942;
--ds-success:#079455;--ds-warning:#f79009;--ds-danger:#d92d20;--ds-info:#0891b2;
--ds-bg:#f6f8fb;--ds-card:#fff;--ds-border:#e4e9f0;--ds-text:#1d2939;--ds-muted:#667085;--ds-ink-700:#344055;--ds-control-border:#cbd5e1;
--ds-radius:8px;--ds-radius-lg:14px;--ds-field-height:38px;--ds-header-height:60px;--ds-footer-height:58px;
--ds-modal-sm-width:480px;--ds-modal-md-width:760px;--ds-modal-lg-width:980px;--ds-modal-xl-width:1180px;--ds-modal-workspace-width:1120px;--ds-modal-workspace-height:720px;
--ds-shadow:0 24px 60px rgba(7,19,36,.28);--ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:24px;
--ds-font-xs:11px;--ds-font-sm:13px;--ds-font-md:14px;--ds-font-lg:18px;--ds-font-xl:26px;--ds-font-heading:Poppins,Inter,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ds-bg);color:var(--ds-text);font:var(--ds-font-md)/1.45 Inter,Segoe UI,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
.ds-density-compacta{--ds-field-height:34px;--ds-header-height:58px;--ds-footer-height:52px;--ds-font-md:13px}.ds-density-compacta .ds-content{padding-top:17px;padding-bottom:17px}.ds-density-compacta .ds-card{padding:14px;margin-bottom:12px}.ds-density-compacta .ds-table td{padding-top:7px;padding-bottom:7px}.ds-density-compacta .ds-nav a{min-height:36px}
.ds-theme-escuro{--ds-bg:#0d1726;--ds-card:#131f33;--ds-border:#2a3a52;--ds-text:#eef2f8;--ds-muted:#9fb0c8;--ds-primary-soft:#16325a;color-scheme:dark}.ds-theme-escuro .ds-main,.ds-theme-escuro .ds-modal__body{background:var(--ds-bg)}.ds-theme-escuro .ds-topbar,.ds-theme-escuro .ds-card,.ds-theme-escuro .ds-summary-card,.ds-theme-escuro .ds-kpi,.ds-theme-escuro .ds-filterbar,.ds-theme-escuro .ds-table-wrap,.ds-theme-escuro .ds-control,.ds-theme-escuro .ds-modal__dialog,.ds-theme-escuro .ds-modal__header,.ds-theme-escuro .ds-modal__footer,.ds-theme-escuro .ds-switch-row{background:#131f33;color:var(--ds-text)}.ds-theme-escuro .ds-table th{background:#1a2840;color:#c8d3e3}.ds-theme-escuro .ds-table td{border-color:#24344c}.ds-theme-escuro .ds-field__label{color:#dbe4f0}.ds-theme-escuro .ds-btn--neutral{background:#1d2c45;color:#eef2f8;border-color:#3a4b66}.ds-theme-escuro .ds-control{border-color:#3a4b66}.ds-theme-escuro .ds-table tbody tr:hover{background:#1d2c45}
@media(prefers-color-scheme:dark){.ds-theme-sistema{--ds-bg:#0d1726;--ds-card:#131f33;--ds-border:#2a3a52;--ds-text:#eef2f8;--ds-muted:#9fb0c8;--ds-primary-soft:#16325a;color-scheme:dark}.ds-theme-sistema .ds-main,.ds-theme-sistema .ds-modal__body{background:var(--ds-bg)}.ds-theme-sistema .ds-topbar,.ds-theme-sistema .ds-card,.ds-theme-sistema .ds-summary-card,.ds-theme-sistema .ds-kpi,.ds-theme-sistema .ds-filterbar,.ds-theme-sistema .ds-table-wrap,.ds-theme-sistema .ds-control,.ds-theme-sistema .ds-modal__dialog,.ds-theme-sistema .ds-modal__header,.ds-theme-sistema .ds-modal__footer,.ds-theme-sistema .ds-switch-row{background:#131f33;color:var(--ds-text)}.ds-theme-sistema .ds-table th{background:#1a2840;color:#c8d3e3}.ds-theme-sistema .ds-field__label{color:#dbe4f0}}
:focus-visible{outline:3px solid rgba(28,111,214,.35);outline-offset:2px}.ds-app{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr);transition:grid-template-columns .2s}.ds-app.is-collapsed{grid-template-columns:72px minmax(0,1fr)}
.ds-sidebar{height:100vh;position:sticky;top:0;overflow-y:auto;overflow-x:hidden;background:var(--ds-primary-dark);color:#d9e9ee;padding:16px 12px;z-index:30}.ds-brand{height:45px;display:flex;align-items:center;gap:11px;padding:0 8px;color:#fff;font-size:17px;font-weight:800;white-space:nowrap}.ds-brand__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--ds-primary);font-size:19px;flex:none}.ds-brand small{display:block;color:#8fb4c0;font-size:11px;font-weight:600}.ds-nav-group{margin-top:20px}.ds-nav-title{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#789daa;padding:0 10px;margin-bottom:5px;white-space:nowrap}.ds-nav a{display:flex;align-items:center;gap:12px;min-height:40px;padding:8px 11px;border-radius:7px;color:#cce0e6;white-space:nowrap}.ds-nav a:hover,.ds-nav a.active{background:#1c6fd6;color:#fff}.ds-nav-icon{width:22px;text-align:center;font-size:16px;flex:none}.ds-app.is-collapsed .ds-brand__text,.ds-app.is-collapsed .ds-nav-label,.ds-app.is-collapsed .ds-nav-title{display:none}
.ds-main{min-width:0;width:100%}.ds-topbar{height:var(--ds-header-height);position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--ds-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.ds-topbar__side{display:flex;align-items:center;gap:12px}.ds-content{width:100%;max-width:none;padding:22px 26px}.ds-breadcrumb{display:flex;align-items:center;gap:6px;color:var(--ds-muted);font-size:12px;margin-bottom:8px}.ds-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.ds-page-title{display:flex;gap:12px;align-items:center}.ds-page-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--ds-primary-soft);color:var(--ds-primary);font-size:20px;flex:none}.ds-page-title h1{font-size:var(--ds-font-xl);line-height:1.15;margin:0}.ds-page-title p{color:var(--ds-muted);margin:4px 0 0}
.ds-btn{min-height:36px;border:1px solid transparent;border-radius:6px;padding:7px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer;white-space:nowrap;background:#eef3f5;color:#314650}.ds-btn:hover{filter:brightness(.97)}.ds-btn:disabled{opacity:.55;cursor:not-allowed}.ds-btn--primary{background:var(--ds-primary);color:#fff}.ds-btn--secondary{background:var(--ds-secondary);color:#fff}.ds-btn--success{background:var(--ds-success);color:#fff}.ds-btn--danger{background:var(--ds-danger);color:#fff}.ds-btn--neutral{background:#fff;border-color:var(--ds-border)}.ds-btn--icon{width:36px;padding:0;border-radius:50%}.ds-btn--sm{min-height:30px;padding:4px 9px;font-size:12px}.ds-button-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ds-card{background:var(--ds-card);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);padding:18px;box-shadow:0 2px 8px rgba(16,24,40,.05);margin-bottom:16px}.ds-card__title{margin:0 0 4px;font-size:16px}.ds-card__subtitle{margin:0;color:var(--ds-muted);font-size:12px}.ds-summary-grid,.ds-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.ds-summary-card,.ds-kpi{min-width:0;background:#fff;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);padding:16px;box-shadow:0 2px 8px rgba(16,24,40,.05)}.ds-summary-card strong,.ds-kpi strong,.ds-kpi__value{display:block;margin-top:6px;font-size:24px;line-height:1.15;overflow-wrap:anywhere}.ds-summary-card small,.ds-kpi small{display:block;margin-top:6px;color:var(--ds-muted);font-size:11px}.ds-kpi__label,.ds-kpi>span:first-child{display:block;color:var(--ds-muted);font-size:12px;font-weight:700}
.ds-filterbar{display:flex;align-items:flex-end;gap:8px;background:#fff;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);padding:10px;margin-bottom:14px;flex-wrap:wrap}.ds-filterbar .ds-field{margin:0;min-width:150px}.ds-filterbar .ds-field--search{flex:1;min-width:240px}.ds-filter-count{width:20px;height:20px;border-radius:10px;background:var(--ds-primary);color:#fff;display:inline-grid;place-items:center;font-size:11px}
.ds-export-menu{position:relative}.ds-export-menu summary{list-style:none;cursor:pointer;user-select:none}.ds-export-menu summary::-webkit-details-marker{display:none}.ds-export-menu__options{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:grid;grid-template-columns:repeat(2,minmax(70px,1fr));gap:4px;width:180px;padding:7px;background:#fff;border:1px solid var(--ds-border);border-radius:9px;box-shadow:0 10px 28px rgba(16,24,40,.2)}.ds-export-menu__options button{border:0;border-radius:6px;background:transparent;padding:9px 10px;color:var(--ds-text);font:inherit;font-weight:700;text-align:left;cursor:pointer}.ds-export-menu__options button:hover{background:#eef2f8;color:var(--ds-primary-dark)}.ds-export-menu__options button:disabled{opacity:.55;cursor:wait}
.ds-field{display:block;margin-bottom:12px;min-width:0}.ds-field__label{display:flex;align-items:center;gap:4px;margin-bottom:5px;color:#31424c;font-size:11px;font-weight:800}.ds-required{color:var(--ds-danger)}.ds-field__hint{font-size:11px;color:var(--ds-muted);margin-top:4px}.ds-field__error{font-size:11px;color:var(--ds-danger);margin-top:4px}.ds-control{width:100%;height:var(--ds-field-height);border:1px solid #c8d4dc;border-radius:6px;background:#fff;color:var(--ds-text);padding:7px 10px;transition:.15s}.ds-control:hover{border-color:#9db2be}.ds-control:focus{border-color:var(--ds-secondary);box-shadow:0 0 0 3px rgba(28,111,214,.12);outline:0}.ds-control[disabled]{background:#edf1f3;color:#788891}.ds-control--textarea{height:auto;min-height:84px;resize:vertical}.ds-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}.ds-span-2{grid-column:span 2}.ds-span-3{grid-column:1/-1}.ds-section{border-top:1px solid var(--ds-border);padding-top:14px;margin-top:8px}.ds-section:first-child{border:0;padding-top:0;margin-top:0}.ds-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.055em;margin:0 0 12px;color:var(--ds-primary-dark)}
.ds-switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px;border:1px solid var(--ds-border);border-radius:8px;background:#fbfcfd}.ds-switch-copy strong{display:block;font-size:13px}.ds-switch-copy small{display:block;color:var(--ds-muted);margin-top:2px}.ds-switch{position:relative;width:42px;height:24px;flex:none}.ds-switch input{position:absolute;opacity:0}.ds-switch span{position:absolute;inset:0;background:#aebdc5;border-radius:20px;cursor:pointer}.ds-switch span:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px #0003}.ds-switch input:checked+span{background:var(--ds-success)}.ds-switch input:checked+span:before{transform:translateX(18px)}
.ds-table-wrap{overflow:auto;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:#fff}.ds-table{width:100%;border-collapse:separate;border-spacing:0;min-width:740px}.ds-table th{height:38px;padding:8px 12px;background:#f5f8f9;border-bottom:1px solid var(--ds-border);font-size:11px;text-transform:uppercase;letter-spacing:.04em;text-align:left;color:#536872;white-space:nowrap}.ds-table td{padding:10px 12px;border-bottom:1px solid #eaf0f3;vertical-align:middle}.ds-table tbody tr:last-child td{border-bottom:0}.ds-table tbody tr[data-href]{cursor:pointer}.ds-table tbody tr:hover{background:#f7fbfc}.ds-table--compact td{padding-top:6px;padding-bottom:6px}.ds-cell-muted{color:var(--ds-muted);font-size:12px}.ds-actions-menu{position:relative}.ds-actions-menu summary{list-style:none}.ds-actions-menu[open] .ds-actions-dropdown{display:block}.ds-actions-dropdown{display:none;position:absolute;right:0;z-index:8;min-width:155px;background:#fff;border:1px solid var(--ds-border);border-radius:8px;box-shadow:0 8px 25px #0b293638;padding:5px}.ds-actions-dropdown a,.ds-actions-dropdown button{width:100%;display:block;border:0;background:transparent;text-align:left;padding:8px;border-radius:5px;cursor:pointer}.ds-actions-dropdown a:hover,.ds-actions-dropdown button:hover{background:#eef2f8}
.ds-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750;background:#e9f1f5;color:#405967}.ds-badge--success,.ds-badge--ativo,.ds-badge--concluido,.ds-badge--regular{background:#e4f6ec;color:#12643c}.ds-badge--warning,.ds-badge--pendente,.ds-badge--em_analise,.ds-badge--aguardando{background:#fff3d7;color:#905700}.ds-badge--danger,.ds-badge--erro,.ds-badge--bloqueado,.ds-badge--vencido,.ds-badge--irregular{background:#fde9e7;color:#9b2c22}.ds-badge--info,.ds-badge--rascunho,.ds-badge--provisionando{background:#e5f2fb;color:#1c6596}.ds-badge--inativo,.ds-badge--suspenso{background:#edf0f2;color:#5f6c73}
.ds-empty{text-align:center;padding:46px 20px;background:#fff;border:1px dashed #bfcdd5;border-radius:var(--ds-radius-lg)}.ds-empty__icon{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:var(--ds-primary-soft);color:var(--ds-primary);margin:0 auto 12px;font-size:23px}.ds-empty h3{margin:0 0 5px}.ds-empty p{color:var(--ds-muted);margin:0 0 15px}
.ds-alert{padding:11px 13px;border-radius:7px;margin-bottom:12px;background:#e7f7ed;color:#14653d;border-left:4px solid var(--ds-success)}.ds-alert--error{background:#fdeceb;color:#992c24;border-color:var(--ds-danger)}.ds-alert--warning{background:#fff5df;color:#865300;border-color:var(--ds-warning)}
.ds-modal{display:none;position:fixed;inset:0;z-index:100;background:rgba(7,19,36,.68);padding:14px;align-items:center;justify-content:center}.ds-modal.is-open{display:flex}.ds-modal__dialog{width:min(var(--ds-modal-md-width),100%);height:auto;max-height:86vh;max-height:min(86dvh,720px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow);overflow:hidden}.ds-modal__dialog--tabbed{grid-template-rows:auto auto minmax(0,1fr) auto}.ds-modal__dialog--sm{width:min(var(--ds-modal-sm-width),100%);max-height:85vh;max-height:85dvh}.ds-modal__dialog--lg{width:min(var(--ds-modal-lg-width),100%)}.ds-modal__dialog--xl{width:min(var(--ds-modal-xl-width),100%);height:auto;max-height:88vh;max-height:min(88dvh,780px)}.ds-modal--workspace .ds-modal__dialog{width:min(var(--ds-modal-workspace-width),calc(100vw - 48px));height:min(var(--ds-modal-workspace-height),calc(100vh - 40px));height:min(var(--ds-modal-workspace-height),calc(100dvh - 40px));max-height:none}.ds-modal--workspace .ds-modal__body{min-height:0;overflow:hidden;padding:14px}.ds-modal__header{min-height:58px;display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--ds-border)}.ds-modal__icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ds-primary);color:#fff;flex:none}.ds-modal__heading{min-width:0;flex:1}.ds-modal__heading h2{font-size:16px;margin:0}.ds-modal__heading p{font-size:11px;color:var(--ds-muted);margin:2px 0 0}.ds-modal__close{border:0;width:30px;height:30px;border-radius:50%;background:#edf2f4;color:#52656f;cursor:pointer;font-size:16px}.ds-modal__tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--ds-border);padding:0 12px;background:#fbfcfd}.ds-tab{border:0;background:transparent;padding:11px 13px 9px;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer;border-bottom:2px solid transparent;color:#48606b}.ds-tab.is-active{border-color:var(--ds-secondary);color:var(--ds-primary-dark)}.ds-tab.has-error{color:var(--ds-danger)}.ds-modal__body{min-height:0;overflow:auto;padding:16px;background:#f9fbfc}.ds-tab-panel{display:none}.ds-tab-panel.is-active{display:block}.ds-modal__footer{min-height:var(--ds-footer-height);display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:9px 16px;border-top:1px solid var(--ds-border);background:#f7f9fa}
.ds-module-tools{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.ds-module-group{border:1px solid var(--ds-border);border-radius:8px;background:#fff;margin-bottom:9px;overflow:hidden}.ds-module-group summary{cursor:pointer;padding:11px 13px;font-size:11px;font-weight:850;text-transform:uppercase;color:var(--ds-primary-dark);background:#f4f8f9}.ds-module-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.ds-module-item{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:start;border:1px solid #e4ebef;border-radius:7px;padding:10px}.ds-module-item strong{display:block;font-size:12px}.ds-module-item p{margin:2px 0;color:var(--ds-muted);font-size:11px}.ds-module-tag{font-size:11px;padding:2px 5px;background:#eaf4fe;border-radius:4px}
.ds-toast-stack{position:fixed;right:18px;top:78px;z-index:200;display:grid;gap:8px}.ds-toast{min-width:280px;max-width:420px;background:#fff;border-left:4px solid var(--ds-success);box-shadow:0 8px 25px #102d3b38;border-radius:7px;padding:12px}.ds-toast--error{border-color:var(--ds-danger)}.ds-progress{height:8px;background:#dfe8ec;border-radius:8px;overflow:hidden}.ds-progress span{display:block;height:100%;background:var(--ds-success);border-radius:8px}.ds-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ds-check-item{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--ds-border);border-radius:8px;background:#fff}.ds-check-item.is-done{border-color:#a8d8ba;background:#f3fbf6}.ds-skeleton{background:linear-gradient(90deg,#edf1f3 25%,#f7f9fa 38%,#edf1f3 63%);background-size:400% 100%;animation:ds-shimmer 1.4s infinite;border-radius:5px;min-height:16px}@keyframes ds-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
.ds-pagination{padding:10px}.ds-pagination nav{display:flex}.ds-pagination svg{width:18px}.ds-pagination p{display:none}.ds-hidden{display:none!important}
.ds-chart-list{display:grid;gap:10px}.ds-chart-row{display:grid;grid-template-columns:minmax(120px,1fr) 3fr 42px;gap:12px;align-items:center}.ds-chart-track{height:10px;border-radius:999px;background:#e8eef0;overflow:hidden}.ds-chart-track span{display:block;height:100%;border-radius:inherit;background:var(--ds-primary)}.ds-physical-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.ds-room-card{border:1px solid var(--ds-border);border-left:5px solid var(--ds-primary);border-radius:10px;background:#fff;padding:14px;display:grid;gap:9px}.ds-room-card__top{display:flex;justify-content:space-between;gap:8px}.ds-room-card__meta{display:flex;gap:6px;flex-wrap:wrap;color:var(--ds-muted);font-size:.82rem}.ds-selector{display:grid;gap:14px}.ds-selector__tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ds-selector-group{border:1px solid var(--ds-border);border-radius:10px;padding:12px}.ds-selector-group h4{margin:0 0 10px}.ds-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.ds-selector-card{display:flex;gap:9px;align-items:flex-start;padding:9px;border:1px solid var(--ds-border);border-radius:8px;background:#fff}.ds-selector-card:has(input:checked){border-color:var(--ds-primary);background:#f5f9ff}.ds-selector-card input{margin-top:3px}.ds-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.ds-gallery__item{border:1px solid var(--ds-border);border-radius:10px;overflow:hidden;background:#fff}.ds-gallery__preview{display:grid;place-items:center;aspect-ratio:4/3;background:#edf2f3;font-size:2rem}.ds-gallery__copy{padding:10px}.ds-grid-span{grid-column:1/-1}
@media(max-width:1050px){.ds-app{grid-template-columns:72px minmax(0,1fr)}.ds-brand__text,.ds-nav-label,.ds-nav-title{display:none}.ds-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-span-3{grid-column:1/-1}.ds-summary-grid,.ds-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-modal__dialog--xl,.ds-modal--workspace .ds-modal__dialog{width:calc(100vw - 32px);height:calc(100vh - 48px);height:calc(100dvh - 48px)}}
@media(max-width:700px){.ds-app{display:block}.ds-sidebar{display:none;position:fixed;width:250px}.ds-sidebar.is-open{display:block}.ds-content{padding:16px}.ds-topbar{padding:0 14px}.ds-page-header{flex-direction:column}.ds-form-grid,.ds-module-list,.ds-summary-grid,.ds-kpi-grid,.ds-checklist{grid-template-columns:1fr}.ds-span-2,.ds-span-3{grid-column:auto}.ds-filterbar{align-items:stretch}.ds-filterbar .ds-field{width:100%}.ds-modal{padding:0}.ds-modal__dialog,.ds-modal__dialog--lg,.ds-modal__dialog--xl,.ds-modal--workspace .ds-modal__dialog{width:100%;height:100%;max-height:none;border-radius:0}.ds-modal--workspace .ds-modal__body{overflow:auto;padding:12px}.ds-modal__footer{overflow-x:auto;justify-content:flex-start}.ds-page-title h1{font-size:22px}}
/* Navegação lateral em acordeão. */
.ds-nav-group[data-nav-group]{margin-top:7px}.ds-nav-group[data-nav-group]+.ds-nav-group[data-nav-group]{border-top:1px solid rgba(143,180,192,.1);padding-top:6px}.ds-nav-title{appearance:none;width:100%;min-height:34px;margin:0;padding:7px 9px;border:0;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#8fb4c0;background:transparent;font:inherit;font-size:11px;font-weight:800;text-align:left;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;cursor:pointer;transition:color .15s ease,background .15s ease}.ds-nav-title:hover{color:#dcecf0;background:rgba(255,255,255,.055)}.ds-nav-group.is-open>.ds-nav-title{color:#fff;background:rgba(21,86,106,.72)}.ds-nav-chevron{font-size:15px;line-height:1;transition:transform .18s ease}.ds-nav-group.is-open>.ds-nav-title .ds-nav-chevron{transform:rotate(180deg)}.ds-nav-group[data-nav-group]:not(.is-open)>a{display:none}.ds-nav-group[data-nav-group].is-open>a{animation:ds-nav-reveal .16s ease both}@keyframes ds-nav-reveal{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.ds-app.is-collapsed .ds-nav-group[data-nav-group]{margin-top:4px;padding-top:0;border-top:0}.ds-app.is-collapsed .ds-nav-group[data-nav-group]>a{display:flex}
@media(max-width:1050px){.ds-nav-group[data-nav-group]{margin-top:4px;padding-top:0!important;border-top:0!important}.ds-nav-group[data-nav-group]>a{display:flex!important}}
@media(max-width:700px){.ds-sidebar.is-open .ds-brand__text,.ds-sidebar.is-open .ds-nav-label{display:inline}.ds-sidebar.is-open .ds-nav-title{display:flex}.ds-sidebar.is-open .ds-nav-group[data-nav-group]{margin-top:7px}.ds-sidebar.is-open .ds-nav-group[data-nav-group]:not(.is-open)>a{display:none!important}}
/* Ordenação acessível das grades. */
.ds-table th[data-sortable]{position:relative;padding-right:27px;cursor:pointer;user-select:none;transition:background .15s ease,color .15s ease}.ds-table th[data-sortable]:hover,.ds-table th[data-sortable]:focus-visible{background:#eef4fd;color:var(--ds-primary-dark);outline:0}.ds-table th[data-sortable]::after{content:'↕';position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#9aadb5;font-size:11px;font-weight:800}.ds-table th[data-sortable][aria-sort="ascending"]::after{content:'↑';color:var(--ds-secondary)}.ds-table th[data-sortable][aria-sort="descending"]::after{content:'↓';color:var(--ds-secondary)}
/* Compatibilidade visual para telas das fases anteriores durante a consolidação. */
.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.pagehead h1{font-size:var(--ds-font-xl);margin:0}.muted{color:var(--ds-muted)}.card{background:#fff;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);padding:18px;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metric strong{display:block;font-size:24px}.btn{min-height:36px;border:1px solid transparent;border-radius:6px;padding:7px 13px;background:var(--ds-primary);color:#fff;font-weight:700;cursor:pointer}.btn.light{background:#fff;color:var(--ds-text);border-color:var(--ds-border)}.btn.danger{background:var(--ds-danger)}.btn.small{min-height:30px;padding:4px 9px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:720px}.table-wrap th{background:#f5f8f9;color:var(--ds-muted);font-size:11px;text-transform:uppercase;text-align:left;padding:9px;border-bottom:1px solid var(--ds-border)}.table-wrap td{padding:10px;border-bottom:1px solid #eaf0f3}.badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;background:#e9f1f5}.badge.ok{background:#e4f6ec;color:#12643c}.badge.bad{background:#fde9e7;color:#9b2c22}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{font-size:11px;font-weight:700;color:#31424c}.form-grid label span{display:block;margin-bottom:5px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:var(--ds-field-height);border:1px solid #c8d4dc;border-radius:6px;padding:7px 10px}.full{grid-column:1/-1}.alert{padding:11px 13px;border-radius:7px;margin-bottom:12px;background:#e7f7ed;color:#14653d}.alert.error{background:#fdeceb;color:#992c24}.modal{display:none;position:fixed;inset:0;z-index:100;background:#07161dad;padding:14px;align-items:center;justify-content:center}.modal.open{display:flex}.dialog{width:min(780px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow);padding:18px}.pager svg{width:18px}.pager p{display:none}@media(max-width:1050px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.grid,.grid.two,.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.pagehead{flex-direction:column}}

/* ==========================================================================
   Padrão visual unificado (mesma linguagem do sistema da vidraçaria):
   navy + azul, Inter/Poppins, topo de página com ícone, busca em destaque,
   grade com realce de linha e ações discretas. Mantém as classes ds-*.
   ========================================================================== */
body{font-size:var(--ds-font-md);background:var(--ds-bg)}
h1,h2,h3,h4,h5,h6{font-family:var(--ds-font-heading);font-weight:600;color:inherit}
:focus-visible{outline:2px solid rgba(28,111,214,.45);outline-offset:2px}

/* Menu lateral */
.ds-app{grid-template-columns:250px minmax(0,1fr)}
.ds-app.is-collapsed{grid-template-columns:70px minmax(0,1fr)}
.ds-sidebar{background:var(--ds-primary-dark);color:#c8d3e3;padding:0;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}
.ds-brand{height:var(--ds-header-height);flex:none;gap:.7rem;padding:0 1.1rem;font-family:var(--ds-font-heading);font-size:.95rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,.07)}
.ds-brand__icon{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--ds-secondary),var(--ds-primary));font-size:15px;color:#fff}
.ds-brand__text{overflow:hidden;text-overflow:ellipsis}
.ds-brand small{color:#8ea3bf;font-family:Inter,"Segoe UI",sans-serif;font-size:11px;font-weight:500}
.ds-nav{flex:1;padding:.75rem .6rem}
.ds-nav-group,.ds-nav-group[data-nav-group]{margin-top:0}
.ds-nav-group[data-nav-group]+.ds-nav-group[data-nav-group]{border-top:0;padding-top:0}
.ds-nav-title{width:100%;min-height:0;display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;margin:0;border:0;border-radius:8px;background:none;color:#c8d3e3;font:inherit;font-size:.9rem;font-weight:400;text-transform:none;letter-spacing:0;text-align:left;white-space:nowrap;cursor:pointer}
.ds-nav-title>span:not(.ds-nav-chevron):not(.ds-nav-group-icon){flex:1;overflow:hidden;text-overflow:ellipsis}
.ds-nav-title:hover{background:rgba(255,255,255,.06);color:#fff}
.ds-nav-group.is-open>.ds-nav-title,.ds-nav-group.has-active>.ds-nav-title{background:none;color:#fff}
.ds-nav-group-icon{width:18px;text-align:center;opacity:.85;flex:none}
.ds-nav-chevron{font-size:.65rem;opacity:.6}
div.ds-nav-title{cursor:default;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#7f93b0;padding:.9rem .75rem .35rem}
div.ds-nav-title:hover{background:none;color:#7f93b0}
.ds-nav a{min-height:0;gap:.75rem;padding:.6rem .75rem;border-radius:8px;color:#c8d3e3;font-size:.9rem}
.ds-nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.ds-nav a.active{background:var(--ds-primary);color:#fff}
.ds-nav-icon{width:18px;font-size:14px;opacity:.85}
.ds-nav-group[data-nav-group]>a{padding:.4rem .6rem;margin-left:2.35rem;font-size:.85rem;color:#9fb0c8;border-radius:6px}
.ds-nav-group[data-nav-group]>a .ds-nav-icon{display:none}
.ds-nav-group[data-nav-group]>a:hover{color:#fff;background:rgba(255,255,255,.05)}
.ds-nav-group[data-nav-group]>a.active{color:#fff;background:rgba(46,139,240,.22);font-weight:500}
.ds-nav-group[data-nav-group].is-open>a{animation:none}
.ds-sidebar-backdrop{display:none}
.ds-sidebar-collapse{display:flex;align-items:center;gap:.75rem;margin:.6rem;padding:.55rem .75rem;border:0;border-radius:8px;background:rgba(255,255,255,.04);color:#9fb0c8;font:inherit;font-size:.82rem;white-space:nowrap;cursor:pointer;flex:none}
.ds-sidebar-collapse:hover{color:#fff;background:rgba(255,255,255,.08)}
.ds-sidebar-collapse i{width:18px;transition:transform .2s}
.ds-app.is-collapsed .ds-sidebar-collapse{justify-content:center}
.ds-app.is-collapsed .ds-sidebar-collapse span{display:none}
.ds-app.is-collapsed .ds-sidebar-collapse i{transform:rotate(180deg)}
.ds-app.is-collapsed .ds-brand{justify-content:center;padding:0}
.ds-app.is-collapsed .ds-nav-title{display:flex;justify-content:center}
.ds-app.is-collapsed .ds-nav-title>span:not(.ds-nav-group-icon),.ds-app.is-collapsed .ds-nav-chevron,.ds-app.is-collapsed div.ds-nav-title{display:none}
.ds-app.is-collapsed .ds-nav-group[data-nav-group]>a{display:none}
.ds-app.is-collapsed .ds-nav-group:not([data-nav-group])>a{justify-content:center}
.ds-app.is-collapsed .ds-nav-group.has-active>.ds-nav-title{background:var(--ds-primary)}

/* Barra superior */
.ds-topbar{height:var(--ds-header-height);padding:0 1.5rem;border-bottom-color:var(--ds-border);gap:.75rem}
.ds-topbar__side{min-width:0}
.ds-topbar__title{font-family:var(--ds-font-heading);font-size:1.1rem;font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ds-text)}
.ds-topbar .ds-btn--icon{border:0;border-radius:8px;width:38px;height:38px;min-height:38px;background:transparent;color:var(--ds-ink-700)}
.ds-topbar .ds-btn--icon:hover{background:var(--ds-bg)}
.ds-user{position:relative}
.ds-user>summary{list-style:none;display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:8px;cursor:pointer;user-select:none;color:var(--ds-ink-700);font-weight:500}
.ds-user>summary::-webkit-details-marker{display:none}
.ds-user>summary:hover{background:var(--ds-bg)}
.ds-user>summary .fa-chevron-down{font-size:.65rem;opacity:.6}
.ds-avatar{width:32px;height:32px;border-radius:50%;display:inline-grid;place-items:center;background:var(--ds-primary-soft);color:var(--ds-primary);font-weight:600;font-size:.85rem;flex:none}
.ds-user__menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:220px;background:#fff;border:1px solid var(--ds-border);border-radius:10px;box-shadow:0 10px 30px rgba(16,24,40,.15);padding:.4rem}
.ds-user__menu header{padding:.5rem .7rem .6rem;border-bottom:1px solid var(--ds-border);margin-bottom:.3rem}
.ds-user__menu header strong{display:block;font-size:.88rem}
.ds-user__menu header small{color:var(--ds-muted)}
.ds-user__menu a,.ds-user__menu button{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .7rem;border:0;border-radius:6px;background:none;color:var(--ds-text);font:inherit;font-size:.88rem;text-align:left;cursor:pointer}
.ds-user__menu a:hover,.ds-user__menu button:hover{background:var(--ds-bg)}
.ds-user__menu .is-danger{color:var(--ds-danger)}
.ds-user__menu i{width:16px;text-align:center}
.ds-content{padding:1.5rem}

/* Topo das páginas (mesmo desenho do topo de grade) */
.ds-breadcrumb{font-size:12px;color:var(--ds-muted)}
.ds-breadcrumb a:hover{color:var(--ds-primary)}
.ds-page-header{--cor:var(--ds-primary);position:relative;overflow:hidden;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 22px;margin-bottom:16px;border-radius:18px;background:linear-gradient(120deg,color-mix(in srgb,var(--cor) 9%,#fff) 0%,#fff 55%);border:1px solid color-mix(in srgb,var(--cor) 18%,var(--ds-border));box-shadow:0 6px 20px rgba(16,24,40,.05)}
.ds-page-header::before,.ds-page-header::after{content:"";position:absolute;pointer-events:none;border-radius:16px;transform:rotate(20deg);background:linear-gradient(135deg,color-mix(in srgb,var(--cor) 14%,transparent),transparent);border:1px solid color-mix(in srgb,var(--cor) 14%,transparent)}
.ds-page-header::before{width:180px;height:220px;right:60px;top:-150px}
.ds-page-header::after{width:140px;height:180px;right:-40px;top:-40px}
.ds-page-header>*{position:relative;z-index:1}
.ds-page-title{flex:1;min-width:220px;gap:16px}
.ds-page-icon{width:54px;height:54px;border-radius:16px;font-size:1.35rem;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--cor) 75%,#fff),var(--cor));box-shadow:0 8px 18px color-mix(in srgb,var(--cor) 35%,transparent)}
.ds-page-title h1{font-size:1.35rem;font-weight:600;color:var(--ds-primary-dark)}
.ds-page-title p{margin:2px 0 0;font-size:.86rem;max-width:760px;color:var(--ds-muted)}
.ds-page-header .ds-button-group .ds-btn{border-radius:10px}
.pagehead h1{font-family:var(--ds-font-heading);font-size:1.35rem;font-weight:600;color:var(--ds-primary-dark)}

/* Botões */
.ds-btn{min-height:36px;border-radius:8px;padding:7px 14px;font-weight:600;background:#f1f4f8;color:var(--ds-ink-700);transition:background .15s,border-color .15s,color .15s}
.ds-btn:hover{filter:none;background:#e7ecf3}
.ds-btn--primary{background:var(--ds-primary);border-color:var(--ds-primary);color:#fff}
.ds-btn--primary:hover{background:var(--ds-primary-hover);border-color:var(--ds-primary-hover)}
.ds-btn--secondary{background:#fff;border-color:var(--ds-primary);color:var(--ds-primary)}
.ds-btn--secondary:hover{background:var(--ds-primary);color:#fff}
.ds-btn--success{background:var(--ds-success);border-color:var(--ds-success);color:#fff}
.ds-btn--success:hover{background:#067647}
.ds-btn--danger{background:var(--ds-danger);border-color:var(--ds-danger);color:#fff}
.ds-btn--danger:hover{background:#b42318}
.ds-btn--neutral{background:#fff;border-color:#d0d5dd;color:var(--ds-ink-700)}
.ds-btn--neutral:hover{background:var(--ds-bg);border-color:#98a2b3}
.ds-btn--icon{width:36px;border-radius:8px}
.ds-btn--sm{min-height:30px;padding:4px 10px;font-size:12.5px}
.btn{border-radius:8px;font-weight:600}
.btn:hover{background:var(--ds-primary-hover)}
.btn.light:hover{background:var(--ds-bg)}
.btn.danger:hover{background:#b42318}

/* Cartões e indicadores */
.ds-card,.card{border-color:var(--ds-border);border-radius:var(--ds-radius-lg);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.ds-card__title{font-size:1rem}
.ds-summary-card,.ds-kpi{position:relative;overflow:hidden;border-color:var(--ds-border);border-radius:var(--ds-radius-lg);padding:14px 16px;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:box-shadow .15s,transform .15s}
.ds-summary-card::before,.ds-kpi::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--ds-primary)}
a.ds-summary-card:hover,a.ds-kpi:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(16,24,40,.07)}
.ds-summary-card strong,.ds-kpi strong,.ds-kpi__value{font-family:var(--ds-font-heading);font-size:1.45rem;font-weight:600}
.ds-kpi__label,.ds-kpi>span:first-child,.ds-summary-card>span:first-child{font-size:.78rem;font-weight:500;color:var(--ds-muted)}
.ds-summary-card small,.ds-kpi small{font-size:.76rem}
.metric strong{font-family:var(--ds-font-heading);font-weight:600}

/* Barra de busca e filtros */
.ds-filterbar{gap:8px;padding:12px;border-color:var(--ds-border);border-radius:14px}
.ds-filterbar .ds-control{border-radius:10px}
.ds-field--search .ds-field__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ds-filterbar .ds-field--search{flex:1 1 280px;max-width:520px}
.ds-field--search .ds-control{height:42px;padding-left:38px;background:var(--ds-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23667085'%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7l126.6 126.7a32 32 0 0 1-45.3 45.3L330.7 376A208 208 0 1 1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E") no-repeat 14px 50%/14px;border-color:transparent}
.ds-field--search .ds-control:focus{background-color:#fff;border-color:#94a3b8;box-shadow:none}
.ds-filterbar .ds-btn{min-height:38px;border-radius:10px}

/* Campos */
.ds-field__label{font-size:13px;font-weight:500;color:var(--ds-ink-700);margin-bottom:.3rem}
.ds-field__hint,.ds-field__error{font-size:12px}
.ds-control{border-color:var(--ds-control-border);border-radius:8px;color:var(--ds-text)}
.ds-control::placeholder{color:#98a2b3;opacity:1}
.ds-control:hover:not([disabled]):not([readonly]){border-color:#94a3b8}
.ds-control:focus{border-color:#86b7f7;box-shadow:0 0 0 .2rem rgba(28,111,214,.18)}
.ds-control[disabled],.ds-control[readonly]{background:#f1f4f8;color:var(--ds-muted);border-color:#e2e8f0}
.ds-section-title{font-family:var(--ds-font-heading);font-size:.78rem;font-weight:600;letter-spacing:.04em;color:var(--ds-primary-dark)}
.ds-switch input:checked+span{background:var(--ds-primary)}
.ds-switch-row{border-color:var(--ds-border);border-radius:10px;background:#fff}
.form-grid label{font-size:13px;font-weight:500;color:var(--ds-ink-700)}
.form-grid input,.form-grid select,.form-grid textarea{border-color:var(--ds-control-border);border-radius:8px}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:0;border-color:#86b7f7;box-shadow:0 0 0 .2rem rgba(28,111,214,.18)}

/* Grades */
.ds-table-wrap,.table-wrap{border-color:var(--ds-border);border-radius:14px;background:#fff}
.ds-table th,.table-wrap th{height:auto;padding:.7rem .85rem;background:var(--ds-bg);border-bottom:1px solid var(--ds-border);font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--ds-muted)}
.ds-table td,.table-wrap td{padding:.75rem .85rem;border-bottom-color:#eef2f6}
.ds-table tbody tr,.table-wrap tbody tr{transition:background .12s}
.ds-table tbody tr:hover,.table-wrap tbody tr:hover{background:#f5f9ff}
.ds-table tbody tr>td:first-child{border-left:3px solid transparent}
.ds-table tbody tr:hover>td:first-child{border-left-color:var(--ds-primary)}
.ds-table tbody tr[data-href]:focus-visible{outline:2px solid var(--ds-primary);outline-offset:-2px}
.ds-table th[data-sortable]:hover,.ds-table th[data-sortable]:focus-visible{background:#eef4fd;color:var(--ds-primary)}
.ds-table th[data-sortable][aria-sort="ascending"]::after,.ds-table th[data-sortable][aria-sort="descending"]::after{color:var(--ds-primary)}
.ds-table--compact td{padding-top:.45rem;padding-bottom:.45rem}
.ds-actions-menu summary{cursor:pointer}
.ds-actions-dropdown{border-color:var(--ds-border);border-radius:10px;box-shadow:0 10px 30px rgba(16,24,40,.15);padding:.35rem}
.ds-actions-dropdown a,.ds-actions-dropdown button{padding:.5rem .7rem;border-radius:6px;font-size:.88rem;color:var(--ds-text)}
.ds-actions-dropdown a:hover,.ds-actions-dropdown button:hover{background:var(--ds-bg)}
.ds-export-menu__options{border-color:var(--ds-border);border-radius:10px;box-shadow:0 10px 30px rgba(16,24,40,.15)}
.ds-export-menu__options button{font-weight:500}
.ds-export-menu__options button:hover{background:var(--ds-bg);color:var(--ds-primary)}

/* Status */
.ds-badge,.badge{padding:3px 9px;font-size:.72rem;font-weight:600;background:#f2f4f7;color:#475467}
.ds-badge--success,.ds-badge--ativo,.ds-badge--concluido,.ds-badge--regular,.badge.ok{background:#ecfdf3;color:#067647}
.ds-badge--warning,.ds-badge--pendente,.ds-badge--em_analise,.ds-badge--aguardando{background:#fffaeb;color:#b54708}
.ds-badge--danger,.ds-badge--erro,.ds-badge--bloqueado,.ds-badge--vencido,.ds-badge--irregular,.badge.bad{background:#fef3f2;color:#b42318}
.ds-badge--info,.ds-badge--rascunho,.ds-badge--provisionando{background:var(--ds-primary-soft);color:#124d97}
.ds-badge--inativo,.ds-badge--suspenso{background:#f2f4f7;color:#667085}

/* Vazio, alertas e avisos */
.ds-empty{padding:48px 20px;border:1px solid var(--ds-border);border-radius:14px;color:var(--ds-muted)}
.ds-empty__icon{width:72px;height:72px;border-radius:22px;font-size:1.8rem;background:var(--ds-primary-soft);color:var(--ds-primary)}
.ds-empty h3{font-size:1rem;color:var(--ds-text)}
.ds-alert,.alert{border-radius:10px;background:#ecfdf3;color:#05603a}
.ds-alert--error,.alert.error{background:#fef3f2;color:#b42318}
.ds-alert--warning{background:#fffaeb;color:#93370d}
.ds-toast-stack{top:calc(var(--ds-header-height) + 12px);right:16px}
.ds-toast{border-left:0;border-radius:10px;padding:12px 14px;background:#ecfdf3;color:#05603a;box-shadow:0 10px 30px rgba(16,24,40,.15);font-weight:500}
.ds-toast--error{background:#fef3f2;color:#b42318}
.ds-progress span{background:var(--ds-primary)}
.ds-check-item.is-done{border-color:#a6e3c3;background:#f3fcf7}
.ds-chart-track span{background:linear-gradient(90deg,var(--ds-secondary),var(--ds-primary))}
.ds-selector-card:has(input:checked){border-color:var(--ds-primary);background:#f5f9ff}
.ds-room-card{border-left-color:var(--ds-primary);border-radius:12px}

/* Modais */
.ds-modal,.modal{background:rgba(7,19,36,.55)}
.ds-modal__dialog{border-radius:14px}
.ds-modal__header{min-height:60px;padding:12px 18px;background:#fff}
.ds-modal__icon{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--ds-secondary),var(--ds-primary));box-shadow:0 6px 14px rgba(28,111,214,.3)}
.ds-modal__heading h2{font-size:1.05rem}
.ds-modal__heading p{font-size:12px}
.ds-modal__close{border-radius:8px;background:transparent;color:var(--ds-muted);font-size:20px}
.ds-modal__close:hover{background:var(--ds-bg);color:var(--ds-text)}
.ds-modal__tabs{background:#fff;padding:0 14px}
.ds-tab{font-size:13px;font-weight:500;color:var(--ds-ink-700)}
.ds-tab.is-active{border-color:var(--ds-primary);color:var(--ds-primary);font-weight:600}
.ds-modal__body{background:var(--ds-bg)}
.ds-modal__footer{background:#fff}
.ds-module-group summary{font-size:12px;font-weight:600;color:var(--ds-primary-dark);background:var(--ds-bg)}
.dialog{border-radius:14px}

/* Acesso (login) */
.ds-auth{min-height:100vh;margin:0;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at 20% 10%,#163a5c 0,transparent 50%),linear-gradient(160deg,var(--ds-primary-dark),var(--ds-navy-950))}
.ds-auth__card{width:100%;max-width:400px;background:#fff;border-radius:18px;padding:2.25rem 2rem;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.ds-auth__head{text-align:center;margin-bottom:1.5rem}
.ds-auth__head .ds-brand__icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:14px;font-size:1.5rem}
.ds-auth__head h1{font-size:1.25rem;margin:1rem 0 0;color:var(--ds-text)}
.ds-auth__head p{margin:.2rem 0 0;color:var(--ds-muted);font-size:.85rem}
.ds-auth .ds-control{height:46px;font-size:1rem}
.ds-auth .ds-btn--primary{width:100%;min-height:46px;font-size:1rem}
.ds-input-group{display:flex}
.ds-input-group .ds-control{border-top-right-radius:0;border-bottom-right-radius:0}
.ds-input-group .ds-btn{width:46px;min-height:46px;flex:none;border-top-left-radius:0;border-bottom-left-radius:0;border-left:0}
.ds-check{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--ds-ink-700);margin:4px 0 18px;cursor:pointer}
.ds-check input{width:16px;height:16px;accent-color:var(--ds-primary)}

@media(max-width:1050px){.ds-app,.ds-app.is-collapsed{grid-template-columns:70px minmax(0,1fr)}
.ds-nav-title{justify-content:center}
.ds-nav-title>span:not(.ds-nav-group-icon),.ds-nav-chevron,div.ds-nav-title,.ds-sidebar-collapse span{display:none}
.ds-nav-group[data-nav-group]>a{display:none!important}
.ds-brand{justify-content:center;padding:0}
.ds-app:not(.is-collapsed) .ds-nav-group:not([data-nav-group])>a{justify-content:center}
/* Menu estreito: ao tocar em um grupo, o menu abre por cima do conteúdo. */
.ds-sidebar.is-open{position:fixed;left:0;top:0;bottom:0;width:260px;height:100vh;z-index:60;box-shadow:0 0 40px rgba(0,0,0,.3)}
.ds-sidebar.is-open .ds-brand{justify-content:flex-start;padding:0 1.1rem}
.ds-sidebar.is-open .ds-brand__text,.ds-sidebar.is-open .ds-nav-label{display:inline}
.ds-sidebar.is-open .ds-nav-title{justify-content:flex-start}
.ds-sidebar.is-open .ds-nav-title>span:not(.ds-nav-group-icon),.ds-sidebar.is-open div.ds-nav-title{display:flex}
.ds-sidebar.is-open .ds-nav-chevron{display:inline-block}
.ds-sidebar.is-open .ds-nav-group[data-nav-group].is-open>a{display:flex!important}
.ds-sidebar.is-open .ds-nav-group:not([data-nav-group])>a{justify-content:flex-start}
.ds-sidebar.is-open+.ds-sidebar-backdrop{display:block;position:fixed;inset:0;z-index:55;background:rgba(7,19,36,.45)}
}
@media(max-width:700px){.ds-sidebar{display:none}
.ds-sidebar.is-open{display:flex}
.ds-sidebar-collapse{display:none}
.ds-content{padding:1rem}
.ds-topbar{padding:0 1rem}
.ds-page-header{padding:16px}
.ds-filterbar .ds-field--search{max-width:none}
.ds-user>summary>span:not(.ds-avatar){display:none}
.ds-hide-mobile{display:none!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
/* Telas legadas (pagehead/card): mesmo topo em faixa e grade sem margem dupla. */
.ds-content>.pagehead{position:relative;overflow:hidden;align-items:center;flex-wrap:wrap;padding:20px 22px;margin-bottom:16px;border-radius:18px;background:linear-gradient(120deg,color-mix(in srgb,var(--ds-primary) 9%,#fff) 0%,#fff 55%);border:1px solid color-mix(in srgb,var(--ds-primary) 18%,var(--ds-border));box-shadow:0 6px 20px rgba(16,24,40,.05)}
.ds-content>.pagehead a.muted{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;margin-bottom:4px}
.ds-content>.pagehead a.muted:hover{color:var(--ds-primary)}
.ds-content>.pagehead h1{margin:0 0 6px}
.card.table-wrap{padding:0;overflow:auto}
.card.table-wrap>table{min-width:720px}
form.card.form-grid{align-items:end;padding:12px 14px}
.grid,.grid.two{gap:12px;margin-bottom:12px}
.card h2{font-size:1rem;margin:0 0 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.btn.light{border-color:#d0d5dd;color:var(--ds-ink-700)}
@media(min-width:1051px){.ds-topbar .ds-btn--icon[data-sidebar-toggle]{display:none}}
