@import url('/internal-theme.css');
/* Contabilie ONE: shared presentation for React, static documents and shadow roots. */
@import url('/fonts.css');
@import url('/typography.css');
@import url('/internal-pages.css');
@import url('/internal-conformance.css');
:root:root,:host {
 --site-font:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; --font-sans:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
 --brand-marinho:#07144C; --brand-ouro:#FFAD00; --brand-branco:#FFFFFF;
 --brand-bg-painel:#F5F7FA; --brand-cinza:#626775; --brand-petroleo:#173849;
 --status-concluida:#78AF94; --status-urgencia:#CF7D72; --status-alerta:#DCA94F;
 --status-neutro:#789ECE; --status-reforma:#8B5CF6; --status-presumido:#3B82F6;
 --background:#F0F2F5; --foreground:#07144C; --card:#fff; --card-foreground:#07144C;
 --popover:#fff; --popover-foreground:#07144C; --primary:#07144C; --primary-foreground:#fff;
 --secondary:#F5F7FA; --secondary-foreground:#07144C; --muted:#F5F7FA; --muted-foreground:#626775;
 --accent:#FFAD001A; --accent-foreground:#07144C; --border:#e5e7eb; --input:#e5e7eb; --ring:#FFAD00;
 --destructive:#CF7D72; --radius:1rem; --sidebar:#0A1029; --sidebar-foreground:#fff;
}
html body,:host {font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background-color:var(--internal-legacy-muted-surface,#F0F2F5);color:var(--internal-legacy-muted,#626775);-webkit-font-smoothing:antialiased}
body {font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background-color:var(--internal-legacy-muted-surface,#F0F2F5)}
button,input,select,textarea {font-family:inherit}
::-webkit-scrollbar {width:6px;height:6px}
::-webkit-scrollbar-thumb {background:var(--internal-legacy-muted-surface,#cbd5e1);border-radius:10px}
.fade-in {animation:fadeIn .3s ease-out forwards;opacity:0;transform:translateY(8px)}
@keyframes fadeIn {to{opacity:1;transform:translateY(0)}}
.glass-dark,.glass-card {background:linear-gradient(135deg,#07144C 0%,#173849 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.glass-gold,.premium-bg {background:linear-gradient(135deg,#FFAD00 0%,#e69c00 100%)}
.drawer-transition {transition:transform .35s cubic-bezier(.16,1,.3,1)}
.drawer-open {transform:translateX(0)!important}
.drawer-closed {transform:translateX(100%)}
.animate-pulse-fast {animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}
@keyframes pulse {50%{opacity:.5}}

/* Existing shells retain their DOM and state; the sidebar occupies a fixed rail. */
html body .panel-shell.one-app-shell,html body.panel-shell {
 display:flex!important;flex-direction:column;height:100dvh;min-height:0;overflow:hidden;
 padding-left:18rem;background:var(--internal-legacy-muted-surface,#F0F2F5);color:var(--internal-legacy-muted,#626775);isolation:isolate;box-sizing:border-box;width:100%;min-width:0;
}
html body .panel-shell>.panel-sidebar,html body.panel-shell>.panel-sidebar {
 position:fixed;inset:0 auto 0 0;width:18rem;height:100dvh;z-index:40;box-sizing:border-box;
 background:#0A1029;color:rgba(255,255,255,.6);border:0;padding:24px 16px 12px;
}
html body .panel-sidebar .panel-brand img {max-width:100%;object-fit:contain;background:white;border-radius:10px;padding:8px}
html body .panel-sidebar :is(.panel-area-label,nav h2,.panel-nav-group>summary) {color:rgba(255,255,255,.5);font-size:10px;font-weight:800;letter-spacing:.1em}
html body .panel-sidebar .panel-user {background:#ffffff08;border-color:#ffffff1a;color:#fff;border-radius:16px}
html body .panel-sidebar .panel-user small {color:#ffffff99}
html body .panel-sidebar .panel-user-avatar {background:#ffad001a;color:#FFAD00}
html body .panel-sidebar nav :is(a,button) {color:#ffffff99;background:transparent;border:1px solid transparent;border-radius:8px;box-shadow:none}
html body .panel-sidebar nav :is(a,button):hover {background:#ffffff0d;color:#fff}
html body .panel-sidebar nav [aria-current=page] {background:#ffffff1a!important;color:white!important;border:1px solid #ffad004d!important}
html body .panel-sidebar :is(.panel-session-actions,.panel-system-branch>.panel-window-sections) {border-color:#ffffff1a}
html body .panel-sidebar nav .panel-menu-window.is-expanded {background:#ffffff05;border-color:#ffffff1a;box-shadow:none}
html body .panel-sidebar nav .panel-window-trigger {color:#ffffffb3!important}
html body .panel-sidebar nav .panel-window-options :is(a,button) {color:#ffffff99}
html body .panel-sidebar nav .panel-logout {color:#CF7D72;background:#cf7d721a}
html body .panel-sidebar .panel-site-link {color:#ffffff80;border-color:#ffffff1a}
html body .panel-shell>:is(.client-header,.panel-static-header),html body.panel-shell>.panel-static-header {
 flex:0 0 auto;height:auto;min-height:80px;max-width:none;width:100%;box-sizing:border-box;
 position:relative;inset:auto;margin:0;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
 background:var(--internal-legacy-surface,white);color:var(--internal-legacy-text,#07144C);border:0;border-bottom:1px solid var(--internal-legacy-border,#e5e7eb);z-index:20;
}
html body .panel-shell>.client-header>.workspace-system-title {width:auto;justify-content:flex-start}
html body .panel-shell>.client-header>.workspace-context {width:auto;justify-content:flex-end;min-width:0;gap:16px}
html body .panel-shell>.client-header .workspace-system-title strong,.one-page-title {font-size:18px;font-weight:800;color:var(--internal-legacy-text,#07144C)}
html body .panel-shell>main,html body .panel-shell>.admin-shell,html body.panel-shell>.admin-shell {
 flex:1;min-height:0;min-width:0;width:100%;max-width:none;margin:0;padding:32px;
 overflow-y:auto;overflow-x:auto;background:var(--internal-legacy-muted-surface,#F0F2F5);box-sizing:border-box;
}
html body .panel-shell:has(>.panel-sidebar[data-collapsed=true]) {padding-left:64px}
html body .panel-shell>.panel-sidebar[data-collapsed=true] {width:64px;padding:12px 6px}
html body .panel-shell .one-card.one-card,.one-card.one-card {
 background:var(--internal-legacy-surface,#fff);border:1px solid var(--internal-legacy-border,#f3f4f6);border-radius:16px;box-shadow:0 1px 3px #07144c0a;
}
html body .one-section-title.one-section-title {color:var(--internal-legacy-text,#07144C);font-weight:800}
.one-section-title.one-section-title {font-weight:800}
:is(.client-area,.admin-shell) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=file]) {border-color:var(--internal-legacy-border,#e5e7eb);border-radius:8px;color:var(--internal-legacy-text,#07144C);background-color:var(--internal-legacy-surface,#fff)}
:is(.client-area,.admin-shell) :is(input,select,textarea):focus {outline:2px solid #FFAD00;outline-offset:2px}
:is(.client-area,.admin-shell) :is(button,.button,.office-module-link):not([class*="secondary"]):not([class*="link"]):not([class*="icon"]) {font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
:is(.client-area,.admin-shell) :is(.button,.office-module-link,.company-save-bar>button,form>button) {background:#07144C;color:#fff;border-radius:8px}

/* Data grids: the original cells, sort controls, row keys and events remain intact. */
html body :is(.client-area,.admin-shell) table thead,.one-grid-head.one-grid-head,thead.one-grid-head {
 background:var(--internal-legacy-surface,#f9fafb);color:var(--internal-legacy-muted,#626775);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
}
html body :is(.client-area,.admin-shell) table th,.one-grid-head th {font-size:10px;font-weight:700;letter-spacing:.05em;color:var(--internal-legacy-muted,#626775);background:inherit;text-transform:uppercase}
html body :is(.client-area,.admin-shell) table tbody,.one-grid-body.one-grid-body {font-size:14px}
html body :is(.client-area,.admin-shell) table tbody tr,.one-grid-body tr {border-bottom:1px solid var(--internal-legacy-border,#f3f4f6);transition:background-color .15s}
html body :is(.client-area,.admin-shell) table tbody tr:hover,.one-grid-body tr:hover {background-color:var(--internal-legacy-surface,#f9fafb)}
html body .admin-status-pill {padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase}
html body .admin-status-pill.green {color:#78AF94;background:#78af941a}
html body .admin-status-pill.amber {color:#DCA94F;background:#dca94f1a}
html body .admin-status-pill.red {color:#CF7D72;background:#cf7d721a}
html body .admin-status-pill.blue {color:var(--internal-legacy-muted,#789ECE);background:#789ece1a}
html body :is(.portal-error,.admin-error) {color:#9a453b;background:#cf7d721a;border-left:4px solid #CF7D72;border-radius:8px;padding:12px 16px}
html body :is(.portal-success,.admin-success) {color:var(--internal-legacy-muted,#626775);background:#78af940d;border:1px solid #78af9433;border-radius:8px;padding:12px 16px}

/* Native dialogs keep showModal(), focus containment, Escape and save callbacks. */
html body dialog[data-one-drawer],html body dialog.reinf-note-dialog,html body dialog.code-lookup-dialog {
 position:fixed!important;inset:0 0 0 auto!important;margin:0!important;box-sizing:border-box;
 width:min(960px,calc(100vw - 32px))!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;
 border:0!important;border-left:1px solid #e5e7eb!important;border-radius:0!important;background:#fff!important;color:#626775;
 padding:24px!important;overflow:auto!important;translate:none!important;transform:translateX(0);
 box-shadow:-16px 0 48px #07144c26;
}
html body dialog.company-register-dialog {width:min(1280px,calc(100vw - 32px))!important}
html body dialog.reinf-note-dialog {padding:0!important;width:min(1100px,calc(100vw - 32px))!important}
html body dialog[data-one-drawer][open],html body dialog.reinf-note-dialog[open],html body dialog.code-lookup-dialog[open] {animation:oneDrawerIn .35s cubic-bezier(.16,1,.3,1)}
html body dialog::backdrop,[data-slot=dialog-overlay],[data-slot=sheet-overlay] {background:#07144c66;backdrop-filter:blur(4px)}
html body dialog[data-one-drawer]>:is(header,.approved-operation-heading,.report-heading) {position:sticky;top:-24px;z-index:3;max-width:none;background:var(--internal-legacy-surface,white);padding:16px 0;border-bottom:1px solid var(--internal-legacy-border,#e5e7eb);display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 24px}
html body dialog[data-one-drawer] [data-dialog-drag-handle] {cursor:default}
@keyframes oneDrawerIn {from{transform:translateX(100%)}to{transform:translateX(0)}}

/* Style-isolated approved screens use the same tokens without changing tab state. */
.approved-shell.approved-shell {font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--internal-legacy-muted-surface,#F0F2F5)}
.approved-shell :is(.bg-white,.bg-brand-branco).shadow-sm:where(.rounded-xl,.rounded-2xl) {border-radius:16px;border-color:var(--internal-legacy-border,#f3f4f6)}
.approved-shell .glass-card {border-radius:16px}
.approved-shell main {min-width:0}
.approved-shell h2:not([class*="text-white"]):not([class*="text-brand-branco"]) {font-weight:800;color:var(--internal-legacy-text,#07144C)}
.reports-screen {font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.one-static-icon {display:inline-block;width:1.2em;height:1.2em;vertical-align:-.2em;flex-shrink:0}
.reinf-office .bg-brand-branco.rounded-xl,.reinf-client .bg-brand-branco.rounded-xl {border-radius:16px;border-color:#f3f4f6}
.reinf-office :is(h1,h2),.reinf-client :is(h1,h2) {font-weight:800;color:#07144C}
.reinf-office .reinf-office-content {padding:24px}
#nature-lookup {justify-content:flex-end!important;padding:0!important;backdrop-filter:blur(4px)}
#nature-lookup>div {width:min(760px,100vw)!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;animation:oneDrawerIn .35s cubic-bezier(.16,1,.3,1)}
.reinf-review-overlay {backdrop-filter:blur(4px);justify-content:flex-end!important;padding:0!important}
.reinf-review-dialog {margin:0!important;width:min(1100px,100vw)!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important}

@media(max-width:1000px) and (min-width:701px){html body .panel-shell>.client-header{padding:12px 24px;gap:12px}.workspace-context label{min-width:0}html body .panel-shell>.client-header .workspace-context{gap:8px}.workspace-system-title small{display:none}}
@media(max-width:700px){
 html body .panel-shell.one-app-shell,html body.panel-shell,html body .panel-shell:has(>.panel-sidebar[data-collapsed=true]) {height:auto;min-height:100dvh;overflow:visible;padding-left:0;display:flex!important}
 html body .panel-shell>.panel-sidebar,html body.panel-shell>.panel-sidebar,html body .panel-shell>.panel-sidebar[data-collapsed=true] {position:relative;inset:auto;width:100%;height:auto;padding:16px;overflow:visible}
 html body .panel-sidebar .panel-brand img {width:150px}
 html body .panel-sidebar .panel-menu-toggle {background:#ffffff1a!important;color:#fff!important;border-color:#ffad004d!important}
 html body .panel-shell>:is(.client-header,.panel-static-header) {height:auto;min-height:80px;flex-basis:auto;padding:16px;flex-wrap:wrap}
 html body .panel-shell>.client-header>.workspace-context {width:100%;flex-wrap:wrap;justify-content:flex-start}
 html body .panel-shell>main,html body .panel-shell>.admin-shell,html body.panel-shell>.admin-shell {padding:24px 16px;overflow:visible}
 html body dialog[data-one-drawer],html body dialog.company-register-dialog,html body dialog.reinf-note-dialog {width:100vw!important;padding:16px!important}
 html body dialog.reinf-note-dialog {padding:0!important}
 html body dialog[data-one-drawer]>:is(header,.approved-operation-heading,.report-heading){top:-16px}
 .reinf-office .reinf-office-content {padding:16px}
}
@media(prefers-reduced-motion:reduce){.fade-in,.drawer-transition,.animate-pulse-fast,html body dialog[open],#nature-lookup>div{animation:none!important;transition:none!important;opacity:1;transform:none}}
@media print{html body .panel-shell.one-app-shell{display:block!important;padding:0;height:auto;overflow:visible}html body .panel-shell>.panel-sidebar,html body .panel-shell>.client-header{display:none!important}html body .panel-shell>main{height:auto;overflow:visible;padding:0;background:#fff}html body dialog[data-one-drawer]{position:static!important;width:100%!important;height:auto!important;overflow:visible!important;box-shadow:none!important}}

.reinf-review-overlay{display:flex;align-items:stretch}.reinf-review-dialog header{background:#fff;color:#07144C;border-bottom:1px solid #e5e7eb}.reinf-note-dialog-heading{background:#fff;color:#07144C;border-bottom:1px solid #e5e7eb}
[data-enter="invite"][data-one-drawer]{animation:oneDrawerIn .35s cubic-bezier(.16,1,.3,1)}
html body [data-responsibles-host]{flex:1;min-width:0;min-height:0!important;height:100dvh}

html body :is(.reinf-office,.reinf-client) table thead{background:#f9fafb;color:#626775;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
html body :is(.reinf-office,.reinf-client) table tbody{font-size:14px}html body :is(.reinf-office,.reinf-client) table tbody tr{border-bottom:1px solid #f3f4f6;transition:background-color .15s}html body :is(.reinf-office,.reinf-client) table tbody tr:hover{background:#f9fafb}

/* Responsive document and embedded-module contract; screen only preserves print. */
@media screen {
 html body .panel-shell .panel-shell,
 html body .accounting-embedded .panel-shell,
 html body .panel-shell .panel-shell:has(>.panel-sidebar[data-collapsed=true]) {
  display:block!important;width:100%;max-width:100%;height:auto;min-height:0;
  padding:0;margin:0;overflow:visible;isolation:auto;background:transparent;
 }
 html body .accounting-embedded .panel-shell>main {
  display:block;height:auto;min-height:0;overflow:visible;padding:0;margin:0;
 }
 html body .panel-shell :is(.workspace-embedded,.staff-access-embedded,.tasks-embedded,.company-documents-embedded) {
  min-width:0;min-height:0;width:100%;max-width:100%;
 }
 html body .panel-shell :is(.workspace-embedded,.staff-access-embedded,.tasks-embedded,.company-documents-embedded)>main {
  width:100%;max-width:none;margin:0;padding:0;min-width:0;
 }
 html body .panel-shell>.client-header>.workspace-context {flex:1 1 600px;flex-wrap:wrap;align-items:end}
 html body .panel-shell>.client-header>.workspace-system-title {flex:0 1 auto;min-width:0;flex-wrap:wrap}
 html body .panel-shell .workspace-company-picker {min-width:0;flex:1 1 400px}
 html body .panel-shell .workspace-context :is(input,select) {min-width:0;max-width:100%}
 html body .panel-shell>main>* {min-width:0;max-width:100%}
 html body .panel-shell :is(.document-pending,.admin-shell) {max-width:none;width:100%;min-width:0}
 .approved-shell main,.reports-screen main {min-width:0;width:100%}
 .approved-shell main>[class*="max-w-"],.reports-screen main>[class*="max-w-"] {max-width:none;width:100%}
 :is(.client-area,.admin-shell,.approved-shell,.reports-screen) :is(.widget,.one-card,fieldset) {min-width:0;box-sizing:border-box}
 :is(.client-area,.admin-shell,.approved-shell,.reports-screen) table {
  table-layout:fixed;width:100%;max-width:100%;min-width:0!important;
 }
 :is(.client-area,.admin-shell,.approved-shell,.reports-screen) table :is(th,td) {
  white-space:normal;overflow-wrap:anywhere;min-width:0;
 }
 :is(.client-area,.admin-shell,.approved-shell,.reports-screen) table :is(input,select,textarea,button) {min-width:0;max-width:100%;box-sizing:border-box;white-space:normal}
 :is(.client-area,.admin-shell,.approved-shell,.reports-screen) :is(.accounting-scroll,.trial-table-scroll,.overflow-x-auto) {min-width:0;max-width:100%}
 html body .client-area .task-color-board {grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));overflow:visible}
 html body dialog[data-one-drawer]:has(table) {width:min(1600px,100vw)!important}
 html body dialog[data-one-drawer] :is(main,.accounting-scroll,.trial-table-scroll) {max-width:100%;min-width:0;box-sizing:border-box}
 html body dialog[data-one-drawer] table {width:100%;min-width:0!important;table-layout:fixed}
 html body dialog[data-one-drawer] table :is(th,td) {white-space:normal;overflow-wrap:anywhere}
 html body dialog[data-one-drawer]>header {height:auto;min-height:64px;flex-wrap:wrap}
}
