/* ClinicOS V11.36.9.9 — correção real do carregamento visual + permissões + relatórios */
:root{
  --ui-bg:#f4f9fd;
  --ui-surface:#ffffff;
  --ui-surface-soft:#f8fcff;
  --ui-line:#d8e8f1;
  --ui-line-strong:#bdd9e6;
  --ui-text:#10283d;
  --ui-muted:#6b8294;
  --ui-brand:#087f91;
  --ui-brand-2:#20bfd0;
  --ui-brand-soft:#eaf8fc;
  --ui-danger:#c83b46;
  --ui-shadow:0 12px 34px rgba(22,67,99,.08);
}
html,body{background:var(--ui-bg)!important;color:var(--ui-text)!important}
.content,.page-wrap,#content{background:var(--ui-bg)!important}
.card,.form-section,.table-wrap,.settings-panel,.report-builder,.report-sheet,.web-modal-card,.security-unlock-card,.field-module-card{
  background:var(--ui-surface)!important;border:1px solid var(--ui-line)!important;border-radius:20px!important;box-shadow:var(--ui-shadow)!important
}
button,.btn,.input,select,textarea{font:inherit}
.btn,.input,select,textarea,.record-tab,.tab{border-radius:12px!important}
.btn{min-height:40px!important;padding:9px 15px!important;font-weight:750!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}
.btn-primary{border:0!important;background:linear-gradient(135deg,var(--ui-brand),var(--ui-brand-2))!important;color:#fff!important;box-shadow:0 7px 18px rgba(8,127,145,.18)!important}
.btn-soft{background:#fff!important;border:1px solid var(--ui-line-strong)!important;color:#0b7080!important}
.btn-soft:hover{background:var(--ui-brand-soft)!important}
.input,select,textarea{background:#fff!important;border:1px solid #cbdde7!important;color:var(--ui-text)!important;min-height:44px!important;padding:10px 13px!important;box-shadow:none!important}
.input:focus,select:focus,textarea:focus{outline:0!important;border-color:#45b8c9!important;box-shadow:0 0 0 3px rgba(32,191,208,.12)!important}

/* CONFIGURAÇÕES: bloqueio sempre centralizado, legível e acima do shell */
.security-unlock-backdrop{position:fixed!important;inset:0!important;z-index:2147483000!important;background:rgba(9,26,42,.48)!important;backdrop-filter:blur(6px)!important;display:grid!important;place-items:center!important;padding:24px!important}
.security-unlock-card{width:min(500px,calc(100vw - 32px))!important;margin:0!important;padding:28px!important;position:relative!important;overflow:visible!important}
.security-unlock-card h2{font-size:25px!important;line-height:1.15!important;margin:6px 0 8px!important}.security-unlock-card>p{color:var(--ui-muted)!important;line-height:1.55!important;margin:0 0 20px!important}
.security-unlock-icon{width:52px!important;height:52px!important;border-radius:16px!important;background:var(--ui-brand-soft)!important;color:var(--ui-brand)!important;display:grid!important;place-items:center!important;margin-bottom:12px!important}
.security-user{display:flex!important;flex-direction:column!important;gap:2px!important;background:#f7fbfe!important;border:1px solid var(--ui-line)!important;border-radius:13px!important;padding:11px 13px!important;margin:5px 0 15px!important;font-weight:800!important}.security-user small{font-weight:500!important;color:var(--ui-muted)!important}
.security-unlock-card #settingsUnlockPassword{width:100%!important;box-sizing:border-box!important;margin-top:5px!important}
.security-unlock-msg{min-height:22px!important;margin-top:8px!important;font-size:12px!important;color:var(--ui-muted)!important}.security-unlock-msg.error{color:var(--ui-danger)!important}
.security-unlock-card .dialog-actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;margin-top:18px!important;padding:0!important;border:0!important;background:transparent!important}

/* CONFIGURAÇÕES: abas padronizadas, sem botão quadrado */
.settings-tabs{display:flex!important;gap:7px!important;flex-wrap:wrap!important;padding:7px!important;margin:14px 0 18px!important;border:1px solid var(--ui-line)!important;border-radius:18px!important;background:#edf8fc!important}
.settings-tabs .tab,.settings-tabs .settings-tab{appearance:none!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#3d5c70!important;padding:10px 15px!important;min-height:40px!important;font-weight:800!important;box-shadow:none!important}
.settings-tabs .tab:hover,.settings-tabs .settings-tab:hover{background:#fff!important;color:var(--ui-brand)!important}
.settings-tabs .tab.active,.settings-tabs .settings-tab.active{background:linear-gradient(135deg,var(--ui-brand),var(--ui-brand-2))!important;color:#fff!important;box-shadow:0 6px 16px rgba(8,127,145,.17)!important}

/* PERMISSÕES: matriz profissional e funcional */
.permissions-dialog{width:min(1200px,calc(100vw - 28px))!important;max-width:1200px!important;border-radius:24px!important;overflow:hidden!important}
.permissions-dialog .dialog-head{padding:22px 24px 18px!important}.permissions-dialog .dialog-body{padding:0 20px 16px!important}
.permission-field{width:100%!important}.permission-field>.label{display:none!important}
.permission-note{display:flex!important;align-items:flex-start!important;gap:10px!important;background:#eff9fd!important;border:1px solid #d6eaf2!important;border-radius:15px!important;padding:12px 14px!important;color:#31576e!important;margin:0 0 10px!important}.permission-note>.material-symbols-outlined{color:var(--ui-brand)!important}.permission-note div{display:flex!important;flex-direction:column!important;gap:2px!important}.permission-note small{color:var(--ui-muted)!important;font-weight:500!important}
.permission-admin-message{display:flex!important;gap:10px!important;align-items:flex-start!important;background:#fff9e9!important;border:1px solid #f2dfaa!important;border-radius:15px!important;padding:12px 14px!important;margin:0 0 10px!important;color:#76580b!important}.permission-admin-message[hidden]{display:none!important}.permission-admin-message div{display:flex!important;flex-direction:column!important;gap:2px!important}.permission-admin-message small{font-weight:500!important}
.permission-toolbar{display:flex!important;align-items:center!important;gap:8px!important;margin:12px 0!important;flex-wrap:wrap!important}.permission-toolbar .btn{border-radius:999px!important}.permission-toolbar-help{margin-left:auto!important;color:var(--ui-muted)!important;font-size:11px!important;max-width:520px!important;text-align:right!important}
.permission-table-wrap{width:100%!important;max-height:480px!important;overflow:auto!important;border:1px solid var(--ui-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important}
.permission-table{width:100%!important;min-width:900px!important;border-collapse:separate!important;border-spacing:0!important;table-layout:fixed!important;margin:0!important}
.permission-table th,.permission-table td{box-sizing:border-box!important}
.permission-table thead th{position:sticky!important;top:0!important;z-index:20!important;height:62px!important;padding:0!important;background:#eaf7fc!important;border:0!important;border-right:1px solid #d9e9f1!important;border-bottom:1px solid #cfe3ed!important;text-align:center!important;color:#294f65!important}
.permission-table thead th:first-child{left:0!important;z-index:24!important;width:230px!important;text-align:left!important;padding:0 18px!important;background:#e4f4fa!important}
.perm-head-label{font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.05em!important}
.perm-col-table{appearance:none!important;border:0!important;border-radius:0!important;background:transparent!important;width:100%!important;height:62px!important;padding:7px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;color:#294f65!important;font-weight:850!important;cursor:pointer!important;box-shadow:none!important}.perm-col-table:hover{background:#dff2f9!important}.perm-head-icon{font-size:19px!important;color:var(--ui-brand)!important}
.permission-table tbody th{position:sticky!important;left:0!important;z-index:9!important;width:230px!important;height:58px!important;padding:0!important;background:#fff!important;border:0!important;border-right:1px solid #dfebf1!important;border-bottom:1px solid #e7f0f5!important}.permission-table tbody td{height:58px!important;padding:0!important;text-align:center!important;vertical-align:middle!important;background:#fff!important;border:0!important;border-right:1px solid #e7f0f5!important;border-bottom:1px solid #e7f0f5!important}
.permission-table tbody tr:nth-child(even) th,.permission-table tbody tr:nth-child(even) td{background:#fbfeff!important}.permission-table tbody tr:hover th,.permission-table tbody tr:hover td{background:#f0f9fd!important}
.perm-module-table{appearance:none!important;border:0!important;background:transparent!important;border-radius:0!important;width:100%!important;height:58px!important;display:flex!important;align-items:center!important;gap:10px!important;padding:0 15px!important;text-align:left!important;color:#18394f!important;cursor:pointer!important;box-shadow:none!important}.perm-module-table:hover{background:#e8f7fb!important}.perm-row-selector{font-size:20px!important;color:#67a9bb!important}.perm-module-table b{font-size:13px!important;font-weight:850!important}
.perm-table-check{position:relative!important;display:grid!important;place-items:center!important;width:100%!important;height:58px!important;cursor:pointer!important}.perm-table-check input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none!important}.perm-table-box{width:29px!important;height:29px!important;border-radius:9px!important;border:2px solid #a6c9d6!important;background:#fff!important;display:grid!important;place-items:center!important;color:transparent!important;transition:.15s!important}.perm-table-box .material-symbols-outlined{font-size:18px!important}.perm-table-check:hover .perm-table-box{border-color:#55b6c7!important;background:#f1fbfd!important}.perm-table-check input:checked+.perm-table-box{background:linear-gradient(135deg,var(--ui-brand),var(--ui-brand-2))!important;border-color:var(--ui-brand)!important;color:#fff!important;box-shadow:0 4px 10px rgba(8,127,145,.18)!important}.perm-table-check input:disabled+.perm-table-box{opacity:.55!important;cursor:not-allowed!important}.perm-table-na{color:#9bb0bd!important;background:#f7fbfd!important;font-weight:800!important}
.permission-admin-lock .permission-table-wrap{opacity:.72!important}.permission-admin-lock [data-perm-all],.permission-admin-lock [data-perm-none]{opacity:.45!important;pointer-events:none!important}

/* CAMPOS CONFIGURÁVEIS: uma área por módulo, espaçada */
.field-module-card{overflow:hidden!important;margin:0 0 13px!important;box-shadow:none!important}.field-module-card>summary{min-height:68px!important;padding:15px 18px!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:space-between!important;cursor:pointer!important;list-style:none!important}.field-module-card>summary::-webkit-details-marker{display:none!important}.field-module-card[open]>summary{background:#eef8fc!important;border-bottom:1px solid var(--ui-line)!important}.field-module-body{padding:18px!important}.field-module-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-bottom:14px!important}.field-module-actions .btn{border-radius:999px!important}
.field-policy-table-wrap{overflow:auto!important;border:1px solid var(--ui-line)!important;border-radius:16px!important}.field-policy-table{width:100%!important;min-width:780px!important;border-collapse:separate!important;border-spacing:0!important;table-layout:fixed!important}.field-policy-table th{height:48px!important;background:#edf8fc!important;color:#31556b!important;border:0!important;border-bottom:1px solid var(--ui-line)!important;padding:0 14px!important;text-align:center!important}.field-policy-table th:first-child{text-align:left!important;width:46%!important}.field-policy-table td{height:58px!important;padding:10px 14px!important;border:0!important;border-bottom:1px solid #eaf1f5!important;background:#fff!important}.field-policy-table tbody tr:nth-child(even) td{background:#fbfeff!important}.field-policy-table td:not(:first-child){text-align:center!important}.field-policy-choice{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-width:104px!important;padding:8px 11px!important;border-radius:999px!important;color:#526d80!important}.field-policy-choice:has(input:checked){background:#e7f7fb!important;color:var(--ui-brand)!important;font-weight:800!important}.field-policy-radio{width:17px!important;height:17px!important;accent-color:var(--ui-brand)!important}

/* RELATÓRIOS: filtro + catálogo em cards, nunca botões nativos */
.report-page-head{margin:0 0 16px!important}.professional-report-builder{padding:20px!important;border-radius:22px!important}.report-filter-grid{display:grid!important;grid-template-columns:2fr 1fr 1fr auto!important;gap:12px!important;align-items:end!important;padding:15px!important;background:#f8fcff!important;border:1px solid #e1edf3!important;border-radius:17px!important}.report-filter-action .btn{min-height:45px!important;border-radius:13px!important;white-space:nowrap!important}
.report-categories{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:18px 0 14px!important}.report-category-pill{appearance:none!important;border:1px solid #cfe3ec!important;background:#fff!important;color:#36596f!important;border-radius:999px!important;padding:9px 15px!important;min-height:38px!important;font-weight:800!important;font-size:11px!important;cursor:pointer!important;box-shadow:none!important}.report-category-pill:hover{border-color:#86c7d6!important;color:var(--ui-brand)!important;background:#f4fbfd!important}.report-category-pill.active{background:linear-gradient(135deg,var(--ui-brand),var(--ui-brand-2))!important;border-color:transparent!important;color:#fff!important;box-shadow:0 6px 14px rgba(8,127,145,.18)!important}
.report-quick-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:0!important}.report-quick-card{appearance:none!important;border:1px solid #d7e8f1!important;background:linear-gradient(145deg,#fff,#f7fcff)!important;border-radius:17px!important;min-height:112px!important;padding:15px!important;display:grid!important;grid-template-columns:44px minmax(0,1fr) 22px!important;align-items:center!important;gap:12px!important;text-align:left!important;color:var(--ui-text)!important;box-shadow:0 5px 16px rgba(25,75,105,.05)!important;cursor:pointer!important;transition:transform .15s,border-color .15s,box-shadow .15s!important;white-space:normal!important}.report-quick-card:hover{transform:translateY(-2px)!important;border-color:#8ccbd8!important;box-shadow:0 10px 24px rgba(16,105,125,.10)!important;background:#fff!important}.report-quick-card.active{border-color:#63bdcd!important;box-shadow:0 0 0 3px rgba(32,191,208,.10)!important}.report-quick-icon{width:44px!important;height:44px!important;border-radius:14px!important;background:#e7f7fb!important;color:var(--ui-brand)!important;display:grid!important;place-items:center!important}.report-quick-copy{display:flex!important;min-width:0!important;flex-direction:column!important;gap:3px!important}.report-quick-copy em{font-style:normal!important;font-size:9px!important;font-weight:900!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#0a8798!important}.report-quick-copy b{font-size:14px!important;line-height:1.25!important}.report-quick-copy small{font-size:10px!important;color:var(--ui-muted)!important;line-height:1.35!important}.report-quick-arrow{font-size:19px!important;color:#6ca7b7!important}
.professional-report-sheet{margin-top:18px!important;padding:28px!important;border-radius:22px!important;background:#fff!important}.report-document-head{display:flex!important;justify-content:space-between!important;gap:24px!important;align-items:flex-start!important;padding-bottom:18px!important;border-bottom:2px solid var(--ui-brand)!important}.report-clinic-brand{display:flex!important;gap:14px!important;align-items:center!important}.report-clinic-brand img{width:86px!important;height:62px!important;object-fit:contain!important;border-radius:10px!important;background:#fff!important}.report-document-meta{text-align:right!important}.report-document-meta .report-type{font-size:9px!important;font-weight:900!important;letter-spacing:.12em!important;color:var(--ui-brand)!important}.report-summary-band{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;margin:18px 0!important;border:1px solid #d5e8f0!important;border-radius:16px!important;background:#eef8fc!important;overflow:hidden!important}.report-summary-band>div{padding:13px 15px!important;border-right:1px solid #d5e8f0!important}.report-summary-band>div:last-child{border-right:0!important}.report-summary-band span{display:block!important;font-size:9px!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:var(--ui-muted)!important}.report-summary-band strong{display:block!important;margin-top:4px!important;color:var(--ui-text)!important}.report-table-panel{border:1px solid #d9e8f0!important;border-radius:17px!important;overflow:hidden!important}.report-panel-head{display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:center!important;padding:14px 16px!important;background:#f8fcff!important;border-bottom:1px solid #dceaf1!important}.report-table-wrap{overflow:auto!important}.report-table{width:100%!important;border-collapse:collapse!important}.report-table th{background:#eaf7fc!important;color:#284f67!important;padding:11px 13px!important;border-bottom:1px solid #d8e7ef!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.04em!important;text-align:left!important}.report-table td{padding:12px 13px!important;border-bottom:1px solid #ecf2f6!important;background:#fff!important}.report-table tbody tr:nth-child(even) td{background:#fbfeff!important}.report-document-footer{display:flex!important;justify-content:space-between!important;gap:20px!important;margin-top:18px!important;padding-top:12px!important;border-top:1px solid #d8e7ef!important;color:var(--ui-muted)!important;font-size:10px!important}

@media(max-width:1080px){.report-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.report-filter-grid{grid-template-columns:1fr 1fr!important}.report-filter-grid>div:first-child,.report-filter-action{grid-column:1/-1!important}.report-filter-action .btn{width:100%!important}}
@media(max-width:760px){.report-quick-grid,.report-filter-grid{grid-template-columns:1fr!important}.report-filter-grid>div:first-child,.report-filter-action{grid-column:auto!important}.permission-toolbar-help{width:100%!important;margin-left:0!important;text-align:left!important}.report-summary-band{grid-template-columns:1fr 1fr!important}.report-document-head{display:block!important}.report-document-meta{text-align:left!important;margin-top:14px!important}}
@media print{.sidebar,.topbar,.report-page-head,.professional-report-builder,.report-no-print{display:none!important}.content,.page-wrap,body{background:#fff!important}.professional-report-sheet{box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important}.report-document-footer{position:fixed!important;bottom:0!important;left:0!important;right:0!important;background:#fff!important}.report-table{font-size:10px!important}}
