/* CAEL Hub 0.2 · Identidade visual e interface mobile-first.
   Edite as variáveis abaixo para ajustar a marca. Não altera permissões ou dados. */
:root {
  --bg:#f4f5f7; --paper:#fff; --ink:#202933; --muted:#64707e; --line:#e1e5ea;
  --brand-orange:#ff8a0a; --brand-dark:#1e252d; --brand-light:#fff2e4;
  --accent-text:#ab4900; --teal:var(--accent-text); --teal-soft:var(--brand-light);
  --sidebar:var(--brand-dark); --amber:#925216; --amber-soft:#fff3df; --red:#b02f32;
  --radius:18px; --shadow:0 5px 18px rgba(24,34,46,.035);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:15px; color:var(--ink);
}
body {background:var(--bg);-webkit-tap-highlight-color:transparent;}
body.modal-open {overflow:hidden;}
button,a,input,select,textarea {touch-action:manipulation;}
input,select,textarea {font-size:16px;min-height:48px;border-radius:11px;max-width:100%;}
input:focus,select:focus,textarea:focus {border-color:#db710e;outline:2px solid #ffb56c45;}
input:disabled {background:#f7f8fa;color:#637082;opacity:1;-webkit-text-fill-color:#637082;}
label {font-size:13px;color:#33414e;line-height:1.35;}
input[type=checkbox] {accent-color:#b45206;}
::selection {background:#ffd0a0;color:#202933;}
button:focus-visible,a:focus-visible {outline:3px solid #99500d;outline-offset:3px;}
.btn {min-height:46px;padding:12px 18px;font-size:14px;border-radius:12px;}
.btn.primary {background:var(--brand-orange);border-color:var(--brand-orange);color:#22272d;box-shadow:0 4px 10px #ff8a0a18;font-weight:700;}
.btn.primary:hover {background:#f79b34;border-color:#f79b34;}
.btn.small {font-size:12px;min-height:38px;}
.icon-btn {min-width:44px;min-height:44px;}
.brand {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;}
.brand-logo {width:150px;height:auto;display:block;object-fit:contain;}
.brand-sub {color:#e3e5e7;font-size:9px;font-weight:600;letter-spacing:7px;padding-left:7px;margin-top:-5px;}
.sidebar {background:#1e252d;padding-top:24px;}
.sidebar>.brand {margin-bottom:24px;}
.sidebar-close {display:none;}
.nav-caption {color:#aeb7c0;font-size:10px;letter-spacing:1.6px;}
.nav-item {color:#c5cbd2;font-size:13px;min-height:47px;}
.nav-item:hover {background:#ffffff0a;}
.nav-item.active {background:#ff8a0a17;color:#ffad53;border-left-color:#ff8a0a;}
.nav-item .counter {background:#ffffff13;color:inherit;}
.side-card {background:#ffffff06;border:1px solid #ffffff17;color:#b9c2cc;line-height:1.8;}
.side-card b {color:#f4f5f6;}
.side-card .pill {background:#ff8a0a18;color:#ffbc78;}
.side-profile {border-top-color:#ffffff15;}
.side-profile b {color:#eef0f3;}
.side-profile small {color:#b7c1cb;}
.avatar {background:#e5e9ed;color:#354452;font-size:12px;min-width:38px;width:38px;height:38px;}
.side-profile .avatar {background:#424b55;color:#fff;}
.topbar {background:#fff;border-bottom:1px solid #e8eaed;height:82px;padding:0 36px;}
.topbar-right {gap:15px;}
.crumb {color:#7a838e;font-size:13px;display:flex;gap:14px;}
.crumb strong {color:var(--ink);}
.user-greeting {display:flex;flex-direction:column;gap:5px;text-align:right;}
.user-greeting b {font-size:14px;}
.user-greeting small {font-size:11px;}
.mobile-brand {display:none;}
.notification-button {position:relative;width:44px;height:44px;display:grid;place-items:center;}
.notification-dot {position:absolute;top:8px;right:8px;width:8px;height:8px;background:var(--brand-orange);border-radius:50%;border:2px solid white;}
.preview-banner {min-height:35px;padding:5px 36px;display:flex;gap:12px;align-items:center;justify-content:space-between;background:#fff2e2;border-bottom:1px solid #f5dbc0;color:#834410;font-size:11px;}
.preview-banner b {color:#834410;}
.preview-label {padding:0;display:flex;align-items:center;gap:5px;font-size:11px;}
.demo-dot {display:inline-block;width:6px;height:6px;border-radius:50%;background:#c56414;flex-shrink:0;}
.preview-banner select {max-width:165px;width:auto;margin:0;padding:2px 22px 2px 8px;min-height:26px;font-size:11px;background:transparent;border:1px solid #e0b988;border-radius:6px;color:#70390a;}
.main {max-width:1450px;padding:28px 36px 35px;}
.page-title {font-size:28px;letter-spacing:-.8px;color:var(--ink);}
.page-desc {font-size:14px;line-height:1.65;color:var(--muted);}
.page-head {gap:15px;margin-bottom:24px;}
.page-head>div:first-child {min-width:0;}
.page-head .row {gap:8px;}
.hero {position:relative;overflow:hidden;border:1px solid #2d333a;background-color:#20272d;background-image:linear-gradient(90deg,#20272d 20%,#20272de0 46%,#20272d08 78%),url('/assets/brand/operacao.webp');background-position:center,right center;background-size:cover,45% auto;background-repeat:no-repeat;border-radius:18px;padding:30px 32px;min-height:245px;margin:0 0 26px;box-shadow:0 6px 16px #1e252d09;}
.hero:before,.hero:after {display:none;}
.hero-content {position:relative;z-index:1;}
.hero .eyebrow {color:#e9ebee;font-size:10px;letter-spacing:2.7px;margin-bottom:10px;}
.hero h2 {font-size:39px;line-height:1.04;letter-spacing:-1.2px;color:white;margin:0 0 11px;}
.hero p {font-size:14px;line-height:1.5;color:#f0f0ef;margin:0;}
.hero-dash {display:block;width:38px;height:4px;background:#ff8a0a;border-radius:5px;margin-top:14px;}
.section-head {margin:0 0 13px;min-width:0;}
.section-head h2 {font-size:18px;letter-spacing:-.4px;font-weight:700;color:var(--ink);}
.section-link {display:flex;align-items:center;gap:5px;color:#606e7b;font-size:12px;min-height:28px;}
.section-link svg {color:#b65309;width:15px;height:15px;}
.quick-actions {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:26px;}
.quick-action {display:flex;flex-direction:column;gap:13px;align-items:center;justify-content:center;background:#fff;border:1px solid #e9ecf0;border-radius:17px;padding:22px 8px;min-height:116px;box-shadow:var(--shadow);text-align:center;}
.quick-action svg {width:30px;height:30px;color:#cf6200;stroke-width:1.8;}
.quick-action span {font-size:14px;font-weight:600;}
.quick-action:hover {border-color:#edaf74;background:#fffaf5;}
.scope-caption {font-size:11px;color:#74808c;}
.stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px;}
.stat {display:flex;align-items:flex-start;gap:13px;padding:21px 20px;background:#fff;border:1px solid #e9ecf0;border-radius:17px;box-shadow:var(--shadow);}
.stat-icon {color:#cf6200;flex:none;padding-top:2px;}
.stat-icon svg {width:27px;height:27px;stroke-width:1.7;}
.stat-content {min-width:0;}
.stat-top {font-size:12px;margin:0 0 5px;color:#5b6874;display:block;}
.stat-value {font-size:29px;letter-spacing:-.8px;margin:0 0 3px;line-height:1.1;color:#202933;}
.stat-foot {font-size:10px;line-height:1.4;color:#74808a;}
.recent-panel {display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.activity {width:100%;border:1px solid #e9ecf0;border-radius:17px;background:white;padding:17px;display:flex;gap:12px;align-items:center;text-align:left;min-width:0;}
.activity .grow {min-width:0;}
.activity-title {display:block;font-size:14px;line-height:1.4;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;}
.activity small {display:block;font-size:11px;}
.activity-time {display:block;color:#7d8590;font-size:10px;margin-top:3px;}
.activity>svg {width:17px;color:#7a858f;}
.badge-icon {width:44px;height:44px;background:#fff0df;color:#b5520a;border-radius:12px;flex-shrink:0;}
.new-entry-secondary {margin-top:18px;border-color:#e2ddd6;}
.module-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.module-card {border-color:#e4e8ec;background:#fff;border-radius:18px;padding:21px;min-width:0;}
.module-card:hover {border-color:#e7ab70;box-shadow:var(--shadow);transform:none;}
.module-card h3 {font-size:16px;color:#202933;}
.module-card p {font-size:13px;line-height:1.6;color:#677480;}
.module-card-foot {font-size:11px;border-top-color:#edf0f3;color:#687683;}
.module-card-foot svg {color:#b75b0f;}
.pill {background:#f0f2f5;color:#576572;font-size:10px;font-weight:600;line-height:1.4;}
.pill.ok {background:#ebf6ef;color:#286342;}
.pill.warn {background:#fff0da;color:#885010;}
.pill.bad {background:#fceced;color:#ab3037;}
.panel {border-color:#e1e6eb;box-shadow:var(--shadow);border-radius:18px;min-width:0;}
.panel-head h3 {color:#202933;font-size:15px;}
.panel.pad {padding:23px;}
.callout {background:#f0f3f6;color:#53616f;border-color:#e2e7ec;font-size:12px;line-height:1.7;}
.callout.warn {background:#fff3e4;color:#814d20;border-color:#f3d9ba;}
.toolbar .field {min-width:0;}
.toolbar {gap:14px;align-items:end;}
.toolbar input,.toolbar select {font-size:14px;}
.toolbar label {font-size:11px;letter-spacing:.1px;}
.table-wrap {max-width:100%;overflow:auto;}
.table-name {color:#293743;}
th {background:#f5f6f8;color:#65717d;}
td {color:#42505d;border-bottom-color:#e8edf1;}
tr[data-record]:hover {background:#fff7ee;}
.total-row {background:#fff2e5;color:#603612;}
.total-row td {color:#603612;}
.table-foot {font-size:12px;color:#61707c;}
.record-cards {display:none;}
.detail-label {color:#75808b;}
.detail-value {color:#263542;}
.tab {color:#64717f;font-size:13px;min-height:44px;}
.tab.active {color:#a84800;border-color:#d8751e;}
.field-editor {background:#f6f7f9;border-color:#e1e5eb;}
.role-action {border-color:#e2e7ec;}
.project-card {text-align:left;}
.account-box {max-width:900px;}
.account-box h3 {color:#293541;}
.account-box p {color:#62707e;font-size:14px;line-height:1.7;}
.footer {border-top-color:#e3e7ec;color:#7a848e;font-size:10px;margin-top:28px;padding-top:20px;}
#toast {background:#202a35;color:white;line-height:1.5;font-size:13px;z-index:10000;}
/* Login: the illustration is a crop of the approved mockup, not a real jobsite photo. */
.login {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);min-height:100vh;min-height:100dvh;position:relative;background:#20272d;}
.login-art {position:relative;padding:55px 60px 80px;overflow:hidden;color:#fff;background:linear-gradient(90deg,#20272def 5%,#20272d99 56%,#20272d14),url('/assets/brand/operacao.webp') right center / cover no-repeat;display:block;}
.login-art:before,.login-art:after {display:none;}
.login-brand-row {display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;}
.login-art .brand-logo {width:235px;}
.login-art .brand-sub {display:none;}
.brand-motto {font-size:9px;letter-spacing:1.5px;line-height:1.9;border-left:1px solid #8e939755;padding-left:15px;color:#e0e3e5;}
.login-product {display:block;color:#dbe0e4;font-size:13px;letter-spacing:8px;margin:15px 0 28px;}
.login-copy {position:relative;z-index:1;}
.login-art h1 {font-size:43px;line-height:1.13;letter-spacing:-1.2px;max-width:330px;margin:0;}
.login-art h1 em {font-style:normal;color:#ff9a30;}
.login-benefits {display:grid;gap:16px;margin-top:30px;}
.login-benefits span {display:flex;align-items:center;gap:12px;font-size:13px;color:#f2f3f4;}
.login-benefits svg {width:25px;height:25px;color:#ffb867;}
.login-right {background:#f7f8fa;padding:55px 55px 75px;display:flex;align-items:center;justify-content:center;}
.login-form {max-width:405px;width:100%;background:#fff;border:1px solid #e3e8ee;border-radius:22px;padding:28px;box-shadow:0 8px 30px #18232d0a;}
.login-form .eyebrow {font-size:10px;letter-spacing:2px;}
.login-form h2 {font-size:24px;letter-spacing:-.6px;color:#202933;margin:8px 0 22px;}
.login-form .field {margin-bottom:16px;}
.login-form .field label {font-size:13px;}
.login-form .btn {width:100%;min-height:48px;}
.input-icon {position:relative;}
.input-icon>svg {position:absolute;top:14px;left:13px;width:20px;height:20px;color:#576674;pointer-events:none;}
.input-icon>input {padding-left:43px;}
.password-input>input {padding-right:45px;}
.password-toggle {position:absolute;right:1px;top:1px;width:45px;height:46px;display:grid;place-items:center;}
.password-toggle svg {color:#6c7884;width:19px;}
.login-demo-note {display:flex;align-items:center;gap:6px;color:#854707;font-size:11px;background:#fff4e7;border-radius:8px;padding:9px 10px;margin-bottom:16px;}
.preview-login-hint {font-size:11px;line-height:1.6;color:#65717e;margin-top:12px;}
.forgot-link {display:block;margin:12px 0 16px auto;padding:4px 0;font-size:12px;color:#784009;}
.biometric-button {color:#364755;background:#fbfcfd;}
.login-form .privacy-note {font-size:11px;text-align:center;margin:10px 0 0;}
.login-lock {margin-top:18px;padding-top:13px;border-top:1px solid #e8ebee;color:#73808e;font-size:10px;display:flex;gap:7px;align-items:center;justify-content:center;}
.login-lock svg {width:14px;height:14px;}
.login-version {position:absolute;bottom:18px;right:0;width:45%;text-align:center;color:#77838f;font-size:10px;letter-spacing:.6px;}
/* Dialogs: a full-height form on a phone, a modal in the desktop workspace. */
dialog {padding:0;border:1px solid #dce2e8;border-radius:20px;width:min(820px,calc(100% - 40px));max-width:100%;max-height:90vh;max-height:90dvh;color:#202933;box-shadow:0 20px 70px #10182040;}
dialog[open] {display:flex;flex-direction:column;}
dialog::backdrop {background:#15202f66;backdrop-filter:blur(3px);}
.modal-header {display:flex;align-items:center;gap:12px;flex-shrink:0;padding:20px 24px;border-bottom:1px solid #e0e6ed;background:#fff;}
.modal-header h2 {font-size:18px;letter-spacing:-.2px;line-height:1.3;color:#202933;}
.modal-header small {font-size:12px;display:block;color:#657483;margin-top:3px;}
.modal-body {padding:24px;flex:1;min-height:0;overflow:auto;max-height:none;overscroll-behavior:contain;background:#fff;}
.modal-footer {flex:none;display:flex;justify-content:flex-end;gap:12px;background:white;border-top:1px solid #e3e8ee;padding:16px 24px;}
.modal-footer .btn {min-height:48px;font-size:14px;}
.dialog-brand .brand-logo {width:75px;}
.dialog-brand .brand-sub {display:none;}
.dialog-brand {background:#20272d;border-radius:8px;padding:2px 6px;}
.dialog-back {border:0;background:none;padding:0;min-width:28px;}
.entry-dialog {width:min(660px,calc(100% - 40px));}
.entry-dialog .modal-body {background:#f3f5f7;}
.entry-card {background:#fff;border:1px solid #e7ebef;border-radius:18px;padding:23px;}
.entry-intro {display:flex;align-items:center;gap:13px;margin-bottom:23px;}
.entry-intro .badge-icon {width:54px;height:54px;border-radius:15px;}
.entry-intro .badge-icon svg {width:28px;height:28px;}
.entry-intro h3 {font-size:16px;line-height:1.4;margin-bottom:4px;}
.entry-intro p {font-size:12px;line-height:1.5;color:#647584;}
.entry-card>.field {margin-bottom:18px;}
.entry-fields {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 14px;}
.entry-fields>.field {grid-column:span 2;min-width:0;margin:0;}
.entry-fields>.field-half {grid-column:span 1;}
.entry-fields label {font-size:13px;font-weight:600;margin-bottom:7px;}
.entry-fields label small {font-size:10px;}
.entry-fields input,.entry-fields select {min-height:48px;width:100%;}
.entry-fields textarea {min-height:90px;}
.required-star {color:#a34900;}
.entry-notice {display:flex;gap:8px;color:#6b7884;font-size:11px;line-height:1.7;margin:16px 5px 0;}
.entry-notice svg {flex-shrink:0;width:17px;height:17px;margin-top:2px;}
@media(max-width:1160px) and (min-width:781px) {
 .stats {grid-template-columns:repeat(2,minmax(0,1fr));}
 .main {padding:25px;}
 .module-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .recent-panel {grid-template-columns:1fr;}
 .login-art {padding:40px 30px;}
 .login-right {padding:40px 30px;}
 .brand-motto {display:none;}
}
@media(max-width:780px) {
 .shell {margin-left:0;}
 .sidebar {z-index:55;width:268px;padding:25px 18px;max-width:85vw;}
 .sidebar-close {display:grid;position:absolute;top:10px;right:10px;background:transparent;color:#eef0f3;border:0;}
 .sidebar.open {box-shadow:0 0 0 200vw #14202a99;}
 .topbar {padding:11px 18px;height:79px;gap:8px;background:#fff;}
 .crumb {display:none;}
 .mobile-brand {display:block;padding:0;background:#20272d;border-radius:9px;}
 .mobile-brand .brand-logo {width:80px;height:49px;}
 .mobile-brand .brand-sub {display:none;}
 .topbar-right {gap:9px;}
 .user-greeting b {font-size:13px;}
 .user-greeting small {font-size:10px;max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
 .user-greeting {gap:4px;max-width:135px;}
 .topbar .avatar {width:34px;height:34px;min-width:34px;font-size:11px;}
 .notification-button {width:31px;min-width:31px;height:42px;}
 .notification-button svg {width:20px;}
 .notification-dot {right:3px;}
 .preview-banner {padding:4px 16px;min-height:31px;gap:7px;}
 .preview-label {font-size:10px;white-space:nowrap;}
 .preview-banner select {max-width:139px;min-height:25px;font-size:10px;margin:0;}
 .main {padding:16px 17px calc(100px + env(safe-area-inset-bottom));}
 .hero {min-height:179px;padding:20px 21px;margin-bottom:22px;border-radius:17px;background-image:linear-gradient(90deg,#20272dfc 5%,#20272ddc 37%,#20272d15 84%),url('/assets/brand/operacao-painel.webp');background-size:cover,57% auto;}
 .hero .eyebrow {font-size:8px;letter-spacing:2px;margin-bottom:10px;}
 .hero h2 {font-size:30px;letter-spacing:-.9px;line-height:1.04;margin:0 0 9px;}
 .hero p {font-size:11px;line-height:1.45;max-width:245px;}
 .hero-dash {margin-top:11px;height:3px;width:31px;}
 .section-head {margin-bottom:11px;}
 .section-head h2 {font-size:17px;letter-spacing:-.4px;}
 .section-link {font-size:11px;}
 .scope-caption {font-size:10px;}
 .quick-actions {gap:9px;margin-bottom:23px;}
 .quick-action {border-radius:15px;padding:16px 3px;min-height:91px;gap:11px;}
 .quick-action svg {width:28px;height:28px;}
 .quick-action span {font-size:11px;font-weight:600;}
 .stats {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:24px;}
 .stat {padding:16px 13px;gap:11px;border-radius:15px;min-height:94px;}
 .stat-icon svg {width:24px;height:24px;}
 .stat-top {font-size:11px;margin-bottom:5px;}
 .stat-value {font-size:25px;margin-bottom:3px;}
 .stat-foot {font-size:9px;}
 .recent-panel {grid-template-columns:1fr;gap:10px;}
 .activity {padding:15px 14px;border-radius:15px;gap:11px;}
 .activity-title {font-size:13px;}
 .activity small {font-size:10px;line-height:1.45;}
 .activity-time {font-size:10px;}
 .activity .badge-icon {width:40px;height:40px;}
 .new-entry-secondary {width:100%;font-size:13px;}
 .bottomnav {padding:9px 12px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #e0e5ea;box-shadow:0 -2px 15px #23334304;}
 .bottom-item {font-size:11px;color:#62717e;gap:6px;min-height:48px;min-width:63px;padding:4px;}
 .bottom-item svg {width:23px;height:23px;stroke-width:1.7;}
 .bottom-item.active {color:#a34800;}
 .bottom-item.active svg {color:#c45b00;stroke-width:2.1;}
 .page-title {font-size:25px;letter-spacing:-.7px;line-height:1.12;}
 .page-desc {font-size:12px;line-height:1.6;max-width:none;margin-top:8px;}
 .page-head {margin-bottom:22px;gap:10px;align-items:flex-start;}
 .page-head .btn {font-size:12px;min-height:43px;padding:10px 12px;}
 .page-head .icon-btn {min-width:40px;min-height:43px;padding:8px;}
 .page-head>div:first-child {flex:1;}
 .page-head>.row {flex-shrink:0;}
 .module-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
 .module-card {padding:16px 13px;border-radius:16px;text-align:left;}
 .module-card h3 {font-size:14px;line-height:1.3;margin:14px 0 8px;}
 .module-card p {font-size:11px;min-height:51px;line-height:1.5;}
 .module-card .badge-icon {width:37px;height:37px;}
 .module-card .badge-icon svg {width:21px;height:21px;}
 .module-card .pill {font-size:8px;padding:4px 6px;}
 .module-card-foot {font-size:9px;gap:6px;line-height:1.5;margin-top:13px;}
 .module-card-foot svg {width:15px;}
 .card-header {gap:4px;}
 .record-cards {display:grid;gap:12px;}
 .desktop-records {display:none;}
 .records-panel {background:transparent;border:0;box-shadow:none;}
 .records-panel .panel-head {padding:0 0 14px;gap:8px;}
 .record-card {display:flex;flex-direction:column;width:100%;border:1px solid #e3e8ed;border-radius:17px;background:#fff;padding:16px;text-align:left;min-width:0;}
 .record-card-heading {display:flex;align-items:center;gap:10px;width:100%;}
 .record-card-heading .grow {min-width:0;}
 .record-card-heading b {display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere;}
 .record-card-heading small {display:block;font-size:11px;}
 .record-card-heading>svg {width:15px;color:#87909a;}
 .record-card-values {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;padding:16px 0;}
 .record-card-values small {display:block;font-size:10px;margin-bottom:5px;}
 .record-card-values strong {display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere;}
 .record-card-foot {display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #edf0f3;padding-top:12px;width:100%;}
 .record-card-foot .pill {font-size:9px;}
 .table-foot {padding:16px 0 0;gap:10px;font-size:11px;}
 .toolbar {display:flex;flex-wrap:wrap;gap:12px;}
 .toolbar .field {flex:1 1 calc(50% - 12px);min-width:0;}
 .toolbar .search {flex-basis:100%;}
 .toolbar input,.toolbar select {font-size:16px;}
 .toolbar label {font-size:10px;}
 .toolbar .btn {font-size:13px;}
 #pivot-form .toolbar .field {flex:1 1 100%;}
 #pivot-form .toolbar .field:has(input[type=date]) {flex:1 1 calc(50% - 12px);}
 .panel.pad {padding:17px;}
 .panel-head {padding:16px;}
 .panel-head h3 {font-size:14px;}
 .panel-head .pill {font-size:9px;}
 .panel-head {flex-wrap:wrap;gap:10px;}
 th,td {font-size:12px;padding:13px;}
 .callout {font-size:11px;}
 .tabs {overflow:auto;gap:2px;}
 .tab {font-size:11px;flex:none;}
 .account-box .panel {padding:20px;}
 .account-box p {font-size:13px;}
 .detail-value {font-size:14px;}
 .detail-label {font-size:11px;}
 .footer {display:flex;flex-direction:column;gap:4px;font-size:9px;margin-top:24px;line-height:1.5;padding-top:16px;}
 #toast {bottom:calc(87px + env(safe-area-inset-bottom));font-size:12px;max-width:calc(100vw - 26px);white-space:normal;}
 .login {display:block;background:#20272d;min-height:100dvh;padding:0 0 24px;}
 .login-art {padding:28px 26px 40px;min-height:335px;background-position:center,right 43%;background-size:cover,100% auto;background-image:linear-gradient(90deg,#20272dec 0%,#20272dbb 45%,#20272d22),url('/assets/brand/operacao.webp');}
 .login-brand-row {gap:14px;}
 .login-art .brand-logo {width:173px;height:111px;}
 .brand-motto {display:block;font-size:7px;line-height:1.7;letter-spacing:1px;padding-left:10px;}
 .login-product {font-size:10px;letter-spacing:5px;margin:4px 0 20px 49px;}
 .login-art h1 {font-size:28px;letter-spacing:-.8px;max-width:236px;line-height:1.12;margin:0;}
 .login-benefits {display:flex;flex-wrap:wrap;gap:12px;margin-top:17px;}
 .login-benefits span {font-size:10px;gap:7px;}
 .login-benefits svg {width:17px;height:17px;}
 .login-right {position:relative;padding:0 17px;background:transparent;margin-top:-16px;z-index:2;display:block;}
 .login-form {max-width:500px;margin:auto;padding:20px;border-radius:19px;box-shadow:0 10px 30px #11192220;border:0;}
 .login-form-heading .eyebrow {display:none;}
 .login-form h2 {font-size:20px;letter-spacing:-.5px;margin:0 0 15px;}
 .login-demo-note {font-size:10px;padding:7px 9px;margin-bottom:13px;}
 .login-form .field {margin-bottom:14px;}
 .login-form .field label {font-size:12px;}
 .login-form input {font-size:14px;min-height:47px;}
 .login-form input:not(:disabled) {font-size:16px;}
 .login-form .btn {min-height:48px;font-size:14px;}
 .login-lock {font-size:9px;margin-top:13px;padding-top:11px;}
 .preview-login-hint {font-size:10px;line-height:1.6;margin-top:11px;}
 .login-version {position:static;width:100%;padding-top:20px;font-size:8px;color:#a5adb7;}
 dialog {border-radius:19px;width:calc(100% - 20px);max-height:calc(100dvh - 28px);border:0;}
 .modal-header {padding:18px;gap:10px;}
 .modal-header h2 {font-size:17px;}
 .modal-body {padding:18px;max-height:none;}
 .modal-footer {padding:14px 17px;gap:10px;flex-wrap:wrap;}
 .modal-footer .btn {font-size:13px;min-height:48px;}
 .entry-dialog {position:fixed;inset:0;margin:0;width:100%;height:100vh;height:100dvh;max-height:100dvh;max-width:100%;border:0;border-radius:0;}
 .entry-dialog .modal-header {padding:calc(10px + env(safe-area-inset-top)) 17px 10px;min-height:73px;flex-wrap:nowrap;}
 .entry-dialog .modal-header h2 {font-size:16px;}
 .entry-dialog .modal-header small {font-size:11px;}
 .dialog-brand .brand-logo {width:65px;height:42px;}
 .entry-dialog .modal-body {padding:18px 15px 20px;}
 .entry-dialog .modal-footer {padding:13px 16px calc(14px + env(safe-area-inset-bottom));flex-wrap:nowrap;}
 .entry-dialog .modal-footer .btn:first-child {flex:1;}
 .entry-dialog .modal-footer .btn.primary {flex:1.5;padding:12px 9px;}
 .entry-card {padding:19px 17px;border-radius:18px;}
 .entry-intro {gap:12px;margin-bottom:22px;}
 .entry-intro .badge-icon {width:48px;height:51px;}
 .entry-intro h3 {font-size:15px;}
 .entry-intro p {font-size:11px;line-height:1.5;}
 .entry-card>.field {margin-bottom:18px;}
 .entry-fields {gap:18px 12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
 .entry-fields label {font-size:12px;}
 .entry-fields label small {font-size:9px;}
 .entry-fields input,.entry-fields select {font-size:16px;padding:11px 10px;min-height:48px;}
 .entry-fields input[type=date] {font-size:14px;padding:10px 5px;}
 .entry-notice {font-size:10px;}
}
@media(max-width:370px) {
 .topbar {padding-left:15px;padding-right:12px;}
 .user-greeting b {font-size:12px;}
 .main {padding-left:14px;padding-right:14px;}
 .quick-actions {gap:7px;}
 .quick-action span {font-size:10px;}
 .stat {gap:9px;padding:15px 11px;}
 .stat-icon svg {width:22px;}
 .stat-foot {font-size:8px;}
 .module-card .pill {font-size:7px;padding:3px;}
 .preview-banner select {max-width:123px;}
 .brand-motto {font-size:6px;}
 .login-art {padding-left:23px;padding-right:23px;}
 .page-head {flex-wrap:wrap;}
}
@media (display-mode:standalone) and (max-width:780px) {
 .topbar {height:auto;min-height:79px;padding-top:calc(11px + env(safe-area-inset-top));}
 .login-art {padding-top:calc(28px + env(safe-area-inset-top));}
 .preview-banner {padding-top:calc(4px + env(safe-area-inset-top));}
 .preview-banner~.topbar {padding-top:11px;}
}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {scroll-behavior:auto!important;transition:none!important;}}

.topbar-right {color:var(--ink);}
.pending-description {margin:16px 0;}

.quick-count-1 {grid-template-columns:1fr;}
.quick-count-2 {grid-template-columns:repeat(2,minmax(0,1fr));}
.quick-count-3 {grid-template-columns:repeat(3,minmax(0,1fr));}

/* Read-only pilot status: visible on phone and desktop. */
.readonly-banner{background:#fff3e2;color:#743600;border-bottom:1px solid #f2d8b7;padding:9px 16px;text-align:center;font-size:12px;font-weight:700;letter-spacing:.02em;line-height:1.5;}
