/* Paleta única: os componentes usam as mesmas variáveis nos dois temas. */
:root{--panel-space:18px;--block-gap:14px;--field-gap:12px;--image-surface:#fff;color-scheme:light;--paper:#f8fbff;--surface:#fff;--surface-soft:#edf3f8;--ink:#142d48;--muted:#65788c;--subtle:#718397;--teal:#087f83;--mint:#7cf1ba;--line:#d9e5ee;--accent-soft:#e9f5f3;--primary-start:#142e45;--primary-end:#174757;--on-primary:#fff;--brand-surface:#183649;--on-brand:#fff;--danger:#b84740;--danger-ink:#a13531;--danger-soft:#fff1f0;--danger-line:#f0d9d6;--warning-ink:#945719;--shadow-color:#152e4517;--overlay:#102e4655;--glow:#dff5f255;--font:Inter,"Segoe UI",Arial,sans-serif}
:root[data-theme="dark"]{color-scheme:dark;--paper:#0d1726;--surface:#142235;--surface-soft:#1a2c42;--ink:#e4edf8;--muted:#b1c2d4;--subtle:#a1b5ca;--teal:#72d6c9;--mint:#7cf1ba;--line:#30445c;--accent-soft:#163b3c;--primary-start:#72d6c9;--primary-end:#6bb8d3;--on-primary:#0d2633;--brand-surface:#19384b;--danger:#a33e39;--danger-ink:#ffb8b0;--danger-soft:#3d252e;--danger-line:#68404a;--warning-ink:#ffd08d;--shadow-color:#00000038;--overlay:#020b16a6;--glow:#1d586633}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.skip{position:fixed;left:20px;top:-100px;background:var(--surface);padding:12px;z-index:100}.skip:focus{top:12px}.login-page{min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 18% 75%,var(--accent-soft),transparent 48%),radial-gradient(ellipse at 94% 6%,var(--surface-soft),transparent 44%),var(--paper)}
.topbar{display:flex;align-items:center;justify-content:space-between;width:100%;padding:29px 5.2%;position:relative;z-index:2;gap:18px}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:750;line-height:1.2;letter-spacing:-.5px}.brand small{display:block;color:var(--muted);letter-spacing:2px;font-size:9px;font-weight:600;margin-top:6px}.brand-icon{width:43px;height:43px;border-radius:12px;background:var(--brand-surface);display:grid;place-items:center;overflow:hidden}.brand-icon img{width:36px;height:36px;object-fit:contain}.version{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:1.4px}.version b{border:1px solid var(--line);border-radius:6px;padding:5px 7px;font-weight:650;letter-spacing:0}.version i,.verified i{width:6px;height:6px;background:var(--teal);border-radius:50%;box-shadow:0 0 0 4px var(--shadow-color)}
.login-layout{width:min(1160px,89.6%);margin:auto;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:75px;padding:44px 0 50px}.eyebrow{display:flex;gap:10px;align-items:center;color:var(--teal);font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 23px}.eyebrow span{width:23px;height:2px;background:var(--teal)}h1{font-size:clamp(42px,4.7vw,67px);font-weight:650;letter-spacing:-3px;line-height:1.12;margin:0 0 23px}h1 em{font-style:normal;color:var(--teal)}.intro-copy{font-size:16px;line-height:1.8;color:var(--muted);max-width:350px;margin:0}.connection-art{height:210px;width:380px;position:relative;margin:14px 0 6px 3px}.orbit{border:1px solid var(--teal);position:absolute;border-radius:50%;left:170px;top:105px;transform:translate(-50%,-50%) rotate(-20deg)}.orbit-one{width:150px;height:90px}.orbit-two{width:265px;height:145px}.orbit-three{width:360px;height:185px;border-style:dashed;opacity:.7}.core{width:66px;height:66px;position:absolute;left:137px;top:72px;background:linear-gradient(145deg,var(--brand-surface),var(--brand-surface));border:1px solid var(--teal);border-radius:19px;box-shadow:0 15px 35px var(--shadow-color),0 0 0 9px var(--shadow-color);display:grid;place-items:center;animation:float 6s ease-in-out infinite}.core img{width:53px;height:53px;object-fit:contain}.node{width:38px;height:38px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 22px var(--shadow-color);color:var(--teal);position:absolute;animation:float 6s ease-in-out infinite}.node svg{width:18px;height:18px}.node-one{left:37px;top:54px;animation-delay:-2s}.node-two{left:275px;top:48px;animation-delay:-4s}.node-three{left:231px;top:146px;animation-delay:-1s}.art-label{position:absolute;font-size:10px;color:var(--muted);letter-spacing:.3px}.label-one{left:20px;top:105px}.label-two{left:271px;top:98px}.label-three{left:279px;top:160px}.intro-foot{display:flex;gap:11px;align-items:center;font-size:11px;color:var(--muted);letter-spacing:.5px}.intro-foot .line{width:30px;height:1px;background:var(--surface-soft)}
.login-side{width:100%;max-width:460px;justify-self:end}.login-card{padding:38px 39px 29px;border:1px solid var(--line);border-radius:25px;background:var(--surface);box-shadow:0 20px 70px var(--shadow-color),0 2px 10px var(--shadow-color)}.access-icon{width:45px;height:45px;border:1px solid var(--line);border-radius:13px;background:var(--accent-soft);color:var(--teal);display:grid;place-items:center;margin-bottom:28px}.access-icon svg{width:22px;height:22px}.card-eyebrow{display:block;font-size:9px;font-weight:650;letter-spacing:2px;color:var(--muted);margin-bottom:10px}h2{font-size:27px;letter-spacing:-1px;font-weight:650;margin:0 0 10px}.card-description{font-size:13px;color:var(--muted);margin:0 0 30px;line-height:1.7}label{font-size:12px;font-weight:600;display:block;margin-bottom:9px}.input-wrap{display:flex;position:relative;align-items:center;margin-bottom:22px}.input-wrap>svg{position:absolute;left:14px;width:17px;height:17px;color:var(--muted);pointer-events:none}.input-wrap input{width:100%;padding:15px 45px 15px 42px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:13px;min-height:49px;transition:border-color .2s,box-shadow .2s}.input-wrap input::placeholder{color:var(--subtle)}.input-wrap input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--shadow-color);background:var(--surface)}.password-toggle{border:none;background:none;width:39px;height:39px;position:absolute;right:5px;display:grid;place-items:center;color:var(--muted);border-radius:6px}.password-toggle svg{width:18px;height:18px}.password-toggle:hover{background:var(--accent-soft);color:var(--teal)}.primary-button{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;border:0;border-radius:9px;min-height:51px;padding:14px 18px;background:linear-gradient(110deg,var(--primary-start),var(--primary-end));box-shadow:0 5px 15px var(--shadow-color);color:var(--on-primary);font-size:12px;font-weight:600;margin-top:29px;transition:transform .2s,box-shadow .2s}.primary-button:hover{transform:translateY(-1px);box-shadow:0 8px 20px var(--shadow-color)}.primary-button svg{width:17px;height:17px;color:var(--mint)}.primary-button:disabled{opacity:.8;transform:none}.secure-note{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:10px;border-top:1px solid var(--line);padding-top:23px;margin-top:26px}.secure-note svg{width:13px;height:13px;color:var(--teal)}.support{display:block;text-align:center;margin:22px 0 0;color:var(--muted);font-size:11px}.support strong{font-weight:600;color:var(--teal);margin-left:3px}.support:hover strong{text-decoration:underline}.form-error{font-size:12px;line-height:1.6;background:var(--danger-soft);border:1px solid var(--danger-line);color:var(--danger-ink);padding:12px;border-radius:8px;margin:0 0 12px}.form-error:empty{display:none}.caps-lock{font-size:11px;color:var(--warning-ink);margin:-12px 0 12px}.spinner{width:17px;height:17px;border:2px solid var(--line);border-top-color:var(--line);border-radius:50%;animation:spin .7s linear infinite}.page-footer{display:flex;justify-content:space-between;padding:22px 5.2%;gap:12px;font-size:10px;color:var(--muted);letter-spacing:.2px}
.workspace-page{background:var(--paper);min-height:100svh;display:flex;flex-direction:column}.workspace-page .topbar{background:var(--surface);border-bottom:1px solid var(--line)}.logout{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 15px;font-size:12px;color:var(--ink)}.logout:hover{border-color:var(--teal)}.verified{font-size:11px;color:var(--teal);background:var(--accent-soft);border:1px solid var(--line);padding:10px 14px;border-radius:20px;display:flex;gap:9px;align-items:center;white-space:nowrap}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.login-layout{gap:130px;max-width:1250px}.login-side{max-width:475px}.login-card{padding:45px}.connection-art{margin-top:30px;height:240px}}
@media(max-width:1000px){.login-layout{gap:30px}.login-card{padding:31px 27px}.eyebrow{font-size:9px;letter-spacing:1.4px}h1{font-size:49px}.connection-art{scale:.85;transform-origin:left center;width:320px}.brand{font-size:17px}.brand small{font-size:8px}}
@media(max-width:760px){.topbar{padding:23px 6%}.version{font-size:9px;letter-spacing:.5px}.login-layout{display:flex;flex-direction:column;width:min(460px,88%);padding:24px 0 40px;gap:28px}.intro{width:100%;text-align:center}.eyebrow{justify-content:center;font-size:8px;letter-spacing:1.3px;margin-bottom:17px}h1{font-size:38px;letter-spacing:-1.7px;line-height:1.12}.intro-copy{font-size:13px;max-width:320px;margin:0 auto}.connection-art,.intro-foot{display:none}.login-side{max-width:none}.login-card{border-radius:20px;padding:29px 26px}.access-icon{width:38px;height:38px;margin-bottom:22px}.card-description{margin-bottom:24px}.login-card h2{font-size:25px}.page-footer{justify-content:center;text-align:center;padding:20px;flex-wrap:wrap;font-size:9px}.page-footer span:last-child{display:none}.brand-icon{width:35px;height:35px;border-radius:9px}.brand-icon img{width:30px;height:30px}.brand{font-size:15px;gap:9px}.brand small{font-size:6px;letter-spacing:1.2px}.logout{padding:9px 10px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Componentes compartilhados dos módulos internos. */
.has-sidebar{background:var(--paper)}.app-topbar{padding:12px 22px;gap:16px}.header-actions{display:flex;align-items:center;gap:20px}.account-name{font-size:12px;color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-shell{display:grid;grid-template-columns:196px minmax(0,1fr);flex:1}.sidebar{border-right:1px solid var(--line);background:var(--surface);padding:20px 12px;display:flex;flex-direction:column;gap:14px}.sidebar-label{font-size:8px;color:var(--muted);font-weight:650;letter-spacing:1.3px;padding:0 10px}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav a{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;color:var(--muted);font-size:12px;font-weight:550;transition:background .15s,color .15s}.sidebar nav a svg{width:16px;height:16px}.sidebar nav a:hover{background:var(--accent-soft);color:var(--ink)}.sidebar nav a[aria-current="page"]{background:var(--accent-soft);color:var(--teal);font-weight:650}.nav-group{font-size:8px;letter-spacing:1.3px;color:var(--subtle);padding:14px 10px 5px}.sidebar-bottom{margin-top:auto;font-size:10px;color:var(--muted);padding:14px 10px 0;border-top:1px solid var(--line);line-height:2}.sidebar-bottom small{display:block;font-size:8px;color:var(--subtle);letter-spacing:.3px}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--teal);margin-right:5px}.page-content{width:100%;max-width:none;padding:22px 24px 28px;min-width:0;outline:none}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.page-heading h1{font-size:28px;letter-spacing:-1px;margin-bottom:6px;overflow-wrap:anywhere}.page-heading p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}.page-content .eyebrow{font-size:9px;margin-bottom:10px}.has-sidebar .page-footer{background:var(--surface);border-top:1px solid var(--line);padding:12px 24px 12px 220px}.neutral-badge{font-size:10px;color:var(--muted);background:var(--accent-soft);border:1px solid var(--line);border-radius:16px;padding:5px 9px;white-space:nowrap}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:var(--panel-space);margin-bottom:var(--block-gap);box-shadow:0 4px 14px var(--shadow-color)}.panel-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.panel-heading h2{font-size:16px;font-weight:650;letter-spacing:-.5px;margin:0 0 4px}.panel-heading p{font-size:11px;color:var(--muted);line-height:1.5;margin:0}.panel-heading>.neutral-badge{margin-left:auto}.section-step{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;background:var(--accent-soft);border-radius:8px;color:var(--teal);font-size:10px;font-weight:650}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--field-gap)}.field{display:flex;flex-direction:column;min-width:0}.field label{font-size:11px;margin-bottom:6px}.field label span,.save-bar>p>span{color:var(--teal)}.field input,.field select{width:100%;min-width:0;border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:36px;padding:8px 10px;font-size:12px;color:var(--ink);transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--shadow-color);background:var(--surface)}.field input::placeholder{color:var(--subtle)}.field input[readonly]{background:var(--accent-soft);color:var(--muted)}.field input:disabled,.field select:disabled{background:var(--accent-soft);color:var(--subtle)}.field input[type="file"]{font-size:11px;padding:8px}.field input::file-selector-button{padding:6px 9px;margin-right:10px;border:0;border-radius:4px;font:inherit;background:var(--accent-soft);color:var(--teal);cursor:pointer}.col-2{grid-column:1/-1}.field-help{font-size:10px;color:var(--muted);line-height:1.5;margin:5px 0 0;min-height:15px}.control-group{display:flex;gap:10px;align-items:stretch}.control-group>input{flex:1;min-width:0}.control-group>.button{flex-shrink:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:7px;padding:8px 13px;min-height:36px;font-size:11px;font-weight:600;border:1px solid transparent;border-radius:8px;text-align:center;line-height:1.5;white-space:nowrap;transition:background .15s,box-shadow .15s}.button.primary{background:linear-gradient(110deg,var(--primary-start),var(--primary-end));color:var(--on-primary);box-shadow:0 3px 9px var(--shadow-color)}.button.primary:hover{box-shadow:0 5px 16px var(--shadow-color)}.button.secondary{background:var(--surface);color:var(--muted);border-color:var(--line)}.button.secondary:hover{background:var(--accent-soft)}.button.danger{background:var(--danger);color:var(--on-primary)}.button.danger-text{color:var(--danger-ink);background:var(--danger-soft);border-color:var(--danger-line)}.button:disabled{opacity:.55;cursor:wait}.button.small{padding:8px 13px;min-height:34px;font-size:10px}.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.save-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px}.save-bar p{font-size:10px;color:var(--subtle);margin:0}fieldset{border:0;padding:0;margin:0;min-width:0}.certificate-details{padding:12px;background:var(--accent-soft);border:1px solid var(--line);border-radius:10px;margin-bottom:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.certificate-details small{display:block;font-size:8px;color:var(--muted);letter-spacing:1.1px;margin-bottom:8px}.certificate-details strong{font-size:11px;font-weight:600;overflow-wrap:anywhere}.certificate-details>.button{align-self:end;justify-self:start}.notice{font-size:11px;color:var(--muted);line-height:1.6;border-left:2px solid var(--teal);background:var(--accent-soft);padding:9px 12px;margin:0 0 14px}.certificate-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.certificate-actions .field-help{margin:0}.dashboard-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(120deg,var(--accent-soft),var(--surface-soft));border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin-bottom:14px;overflow:hidden}.dashboard-banner h2{font-size:23px;margin-bottom:8px;line-height:1.3;overflow-wrap:anywhere}.dashboard-banner p{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:14px}.dashboard-banner .card-eyebrow{font-size:8px;color:var(--muted)}.banner-mark{width:78px;height:78px;display:grid;place-items:center;flex-shrink:0;border-radius:18px;background:var(--brand-surface);box-shadow:0 15px 40px var(--shadow-color);rotate:-5deg}.banner-mark img{width:64px;height:68px;object-fit:contain}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.shortcut-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;transition:border-color .2s,box-shadow .2s}.shortcut-card:hover{border-color:var(--teal);box-shadow:0 8px 25px var(--shadow-color)}.tile-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;color:var(--teal);background:var(--accent-soft);margin-bottom:10px}.tile-icon svg{width:20px;height:20px}.shortcut-card .card-eyebrow{font-size:8px;margin-bottom:7px}.shortcut-card h2{font-size:17px;letter-spacing:-.6px;margin-bottom:6px}.shortcut-card p{font-size:11px;line-height:1.5;color:var(--muted);margin-bottom:22px;margin:8px 0 12px}.card-link{font-size:10px;color:var(--teal);font-weight:600}.account-strip{display:flex;gap:20px 30px;padding:16px 0 0;margin-top:16px;border-top:1px solid var(--line);flex-wrap:wrap}.account-strip small{display:block;font-size:8px;color:var(--subtle);letter-spacing:1.4px;margin-bottom:6px}.account-strip strong{font-size:11px;font-weight:550;color:var(--muted)}.filter-bar{display:flex;gap:12px;align-items:end;padding-bottom:14px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search-field{flex:1}.filter-bar>.field:not(.search-field){width:100px}.table-summary{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);padding:12px 0 10px}.source-label{color:var(--subtle);font-size:9px}.table-wrap{overflow-x:auto}.table-wrap[aria-busy="true"]{opacity:.55;pointer-events:none}table{width:100%;border-collapse:collapse;min-width:480px}th{font-size:9px;letter-spacing:.8px;font-weight:600;text-transform:uppercase;color:var(--muted);background:var(--paper);text-align:left;padding:10px;border-bottom:1px solid var(--line)}td{font-size:12px;color:var(--muted);padding:9px 10px;border-bottom:1px solid var(--line)}td:first-child{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}tbody tr:hover{background:var(--paper)}.actions-column{text-align:right;min-width:125px}.row-actions{text-align:right;white-space:nowrap}.table-button{border:0;background:none;color:var(--teal);font:inherit;font-size:10px;padding:7px;cursor:pointer;border-radius:5px}.table-button:hover{background:var(--accent-soft)}.table-button.delete{color:var(--danger-ink)}.table-button.delete:hover{background:var(--danger-soft)}.pagination{display:flex;align-items:center;justify-content:space-between;padding-top:12px;gap:15px;font-size:10px;color:var(--subtle)}.empty-state{text-align:center;padding:26px 16px;color:var(--muted);font-size:12px}.toast{position:fixed;bottom:24px;left:50%;translate:-50% 0;z-index:1000;max-width:min(520px,90vw);border-radius:10px;padding:15px 21px;background:var(--brand-surface);color:var(--on-primary);box-shadow:0 8px 25px var(--shadow-color);font-size:12px;line-height:1.6}.form-dialog,.confirm-dialog{border:1px solid var(--line);box-shadow:0 30px 100px var(--shadow-color);border-radius:12px;padding:22px;width:calc(100% - 36px);max-width:540px;color:var(--ink)}dialog::backdrop{background:var(--overlay);backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:16px}.dialog-heading h2{font-size:24px;margin:0}.dialog-heading .card-eyebrow{font-size:8px}.icon-button{display:grid;place-items:center;width:29px;height:29px;background:var(--accent-soft);color:var(--muted);border:0;border-radius:7px;font-size:22px;line-height:1}.dialog-actions{display:flex;justify-content:end;gap:12px;border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.confirm-dialog{max-width:420px}.confirm-dialog h2{font-size:23px}.confirm-dialog p{font-size:13px;line-height:1.8;color:var(--muted);margin:16px 0 25px}.confirm-dialog .button-row{justify-content:end}
/* Grades de edição: agrupam painéis relacionados sem mudar campos ou scripts. */
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--block-gap);align-items:start}.editor-grid>.panel{margin:0;min-width:0}.editor-grid>.save-bar{grid-column:1/-1;margin:0 0 4px}.editor-grid--services{margin-bottom:var(--block-gap)}.editor-grid--services>.panel{height:100%}.form-grid--three>.record-picker{grid-column:auto;border:0;padding-top:0}.model-settings>.form-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.model-settings>.form-grid>.field{grid-column:span 2}.model-settings>.form-grid>.col-2{grid-column:span 3}.template-editor #header,.template-editor #footer{min-height:60px}.shortcut-card{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:10px;align-content:start}.shortcut-card>.tile-icon{grid-column:1;grid-row:1/span 2;margin:0}.shortcut-card>.card-eyebrow,.shortcut-card>h2{grid-column:2}.shortcut-card>p,.shortcut-card>.card-link{grid-column:1/-1}.shortcut-card>.card-eyebrow{margin:0 0 4px}.shortcut-card>h2{margin-bottom:0}.filter-bar>.search-field{min-width:min(260px,100%)}
@media(min-width:1101px){.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-grid--company>.panel:last-of-type,.editor-grid--customer>.panel:last-of-type{grid-column:1/-1}.editor-grid--contract>.panel:first-of-type{grid-column:1/-1}.editor-grid--bank>.panel:first-of-type{grid-row:span 3}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1500px){.page-content{padding:22px 24px 28px;max-width:none}.workspace-shell{grid-template-columns:196px minmax(0,1fr)}.sidebar{padding:20px 12px;gap:14px}.has-sidebar .page-footer{padding-left:220px}}
@media(max-width:1100px){.workspace-shell{grid-template-columns:185px minmax(0,1fr)}.page-content{padding:20px}.sidebar{padding:30px 13px}.sidebar-label{font-size:7px}.page-heading h1{font-size:26px}.page-heading>.button-row{gap:8px}.page-heading>.button-row>.button{padding:10px 12px;font-size:10px}.panel{padding:var(--panel-space);border-radius:12px;margin-bottom:var(--block-gap)}.dashboard-banner{padding:20px 22px;gap:18px;margin-bottom:14px;border-radius:12px}.banner-mark{width:78px;height:78px;border-radius:18px}.banner-mark img{width:64px;height:68px}.dashboard-banner h2{font-size:23px}.has-sidebar .page-footer{padding-left:205px}.page-content .eyebrow{justify-content:start;margin-bottom:10px}.page-heading:has(#import-cities){align-items:start;flex-direction:column}}
@media(max-width:760px){:root{--panel-space:14px;--block-gap:12px}.model-settings>.form-grid{grid-template-columns:minmax(0,1fr)}.model-settings>.form-grid>.field{grid-column:auto}.workspace-shell{display:flex;flex-direction:column}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:10px 14px;background:var(--surface)}.sidebar-label,.nav-group,.sidebar-bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.sidebar nav a{font-size:10px;justify-content:center;gap:7px;padding:8px;white-space:nowrap;min-height:36px}.sidebar nav a svg{width:15px;height:15px}.app-topbar{padding:12px 14px;gap:12px}.account-name{display:none}.header-actions{gap:0}.page-content{padding:18px 14px 24px}.page-content .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:20px}.page-heading{gap:12px;align-items:start;margin-bottom:14px}.page-heading h1{font-size:25px;letter-spacing:-.8px}.page-heading p{font-size:11px}.page-heading .neutral-badge{font-size:8px;padding:7px 9px;margin-top:4px}.page-heading .verified{font-size:8px;padding:8px}.panel{padding:var(--panel-space);border-radius:12px;margin-bottom:var(--block-gap)}.panel-heading{gap:10px;margin-bottom:14px}.panel-heading h2{font-size:16px}.panel-heading p{font-size:10px}.panel-heading>div{flex:1;min-width:0}.section-step{width:29px;height:29px;border-radius:8px;font-size:9px}.form-grid{gap:var(--field-gap);grid-template-columns:1fr}.col-2{grid-column:auto}.control-group{gap:7px}.control-group .button{padding:10px 11px;font-size:10px}.field label{font-size:11px}.field input,.field select{font-size:14px;min-height:44px}.field-help{font-size:10px}.save-bar{align-items:start;flex-direction:column;gap:12px;margin-bottom:18px}.save-bar .button{width:100%;min-height:44px}.certificate-actions{flex-direction:column;align-items:start;gap:12px}.certificate-actions .button{width:100%;min-height:44px}.certificate-details{grid-template-columns:1fr;padding:12px;gap:12px;margin-bottom:12px}.certificate-panel .panel-heading>.neutral-badge{margin-left:39px}.dashboard-banner{padding:20px 22px;margin-bottom:14px;gap:18px;border-radius:12px}.dashboard-banner h2{font-size:23px}.dashboard-banner p{font-size:11px}.banner-mark{display:none}.dashboard-banner .card-eyebrow{font-size:7px}.shortcut-grid{gap:12px;grid-template-columns:1fr}.shortcut-card{padding:16px;border-radius:12px}.shortcut-card h2{font-size:17px;margin-bottom:6px}.shortcut-card p{font-size:11px;line-height:1.5;margin:8px 0 12px}.account-strip{gap:16px 24px;margin-top:16px}.account-strip small{font-size:7px;letter-spacing:1px}.account-strip strong{font-size:10px}.has-sidebar .page-footer{padding:12px 14px;justify-content:center}.filter-bar{gap:12px;flex-wrap:wrap}.filter-bar>.search-field{flex-basis:100%}.filter-bar>.field:not(.search-field){flex:1}.filter-bar>.button{height:44px}.table-summary{font-size:10px}.source-label{display:none}.pagination{font-size:9px;gap:8px}.pagination .button-row{gap:6px}.pagination .button{font-size:9px;padding:8px 10px}.cities-panel{padding:var(--panel-space)}.form-dialog,.confirm-dialog{padding:24px 21px}.dialog-heading h2{font-size:22px}.dialog-actions .button{flex:1}.toast{font-size:11px;bottom:18px}}

.skip{clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip:focus{clip-path:none;width:auto;height:auto;overflow:visible}

/* Clientes reutilizam campos, painéis e ações do cadastro da empresa. */
.customer-editor-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px}.customer-name{display:block;font-size:12px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.customer-name:hover{color:var(--teal)}.cell-detail{display:block;font-size:10px;color:var(--muted);margin-top:4px;max-width:380px;overflow-wrap:anywhere;line-height:1.5}.customer-table{min-width:650px}.customer-table td:first-child{min-width:220px}.customer-table td:nth-child(2){white-space:nowrap}.shortcut-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr))}
@media(max-width:760px){.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar nav a{justify-content:start;padding-left:14px}.page-heading:has(+.customer-editor-meta){flex-wrap:wrap}.customer-editor-meta .button{font-size:10px}.customer-editor-meta .neutral-badge{font-size:9px}.save-bar .button-row{width:100%}.save-bar .button-row .button{flex:1;min-height:44px}}

/* Serviços e seletor de tema reutilizam a paleta e os componentes existentes. */
.field textarea{font:inherit;width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:8px;padding:9px 10px;font-size:12px;line-height:1.5;resize:vertical;min-height:88px}
.field textarea:focus{outline:2px solid var(--teal);outline-offset:1px}
.service-table{min-width:730px}.service-table td:first-child{min-width:200px}.service-table td:nth-child(3){white-space:nowrap}
.theme-switch{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;margin-bottom:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--ink);font:inherit;font-size:11px;line-height:1.5}
.theme-switch:hover{border-color:var(--teal)}.theme-switch svg{width:18px;height:18px;color:var(--teal)}
.theme-switch .theme-sun{display:none}:root[data-theme="dark"] .theme-switch .theme-sun{display:block}:root[data-theme="dark"] .theme-switch .theme-moon{display:none}
@media(max-width:760px){.sidebar-bottom{display:block;border:0;margin:0;padding:8px 0 0}.sidebar-bottom>.status-dot,.sidebar-bottom>strong,.sidebar-bottom>small,.sidebar-bottom>.sidebar-version{display:none}.theme-switch{margin:0;width:auto;padding:7px 12px;font-size:10px}.sidebar{gap:8px}.field textarea{font-size:14px}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

.toast,.button.danger{color:var(--on-brand)}.primary-button svg{color:currentColor}.spinner{border-color:currentColor;border-right-color:transparent}

/* Plano de contas: hierarquia financeira com a mesma paleta nos dois temas. */
.account-table{min-width:760px}.account-table td:first-child{min-width:250px}.account-code{display:block;font-size:11px;font-variant-numeric:tabular-nums;color:var(--teal);margin-bottom:6px}.account-dialog{max-width:640px;max-height:90svh;overflow:auto}.account-filters>.field:not(.search-field){min-width:110px}.account-depth-1{padding-left:26px}.account-depth-2{padding-left:38px}.account-depth-3{padding-left:50px}.account-depth-4{padding-left:62px}.account-depth-5{padding-left:74px}.account-depth-6{padding-left:86px}.account-depth-7{padding-left:98px}
.form-dialog,.confirm-dialog{background:var(--surface)}

/* Bancos: imagens preservadas e componentes comuns nos dois temas. */
.bank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,255px),1fr));gap:12px}.bank-grid[aria-busy="true"]{opacity:.6;pointer-events:none}.bank-card{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);min-width:0}.bank-card-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.bank-logo{width:112px;height:58px;object-fit:contain;background:var(--image-surface);border:1px solid var(--line);border-radius:10px;padding:9px}.bank-card h2{font-size:19px;overflow-wrap:anywhere}.bank-code{font-size:11px;color:var(--muted)}.bank-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);padding-top:12px;margin:12px 0}.bank-details dt{font-size:10px;color:var(--muted);margin-bottom:7px}.bank-details dd{font-size:12px;color:var(--ink);margin:0;overflow-wrap:anywhere}.bank-card-actions{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;justify-content:space-between}.bank-identity{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.bank-logo-preview{width:112px;height:68px}.bank-identity>.field{flex:1}.check-field{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:500;line-height:1.7;margin:10px 0 0;color:var(--ink)}.field .check-field{margin-top:12px}.check-field input[type="checkbox"]{appearance:auto;width:16px;min-width:16px;height:16px;min-height:16px;padding:0;margin:0;accent-color:var(--teal)}
@media(max-width:760px){.bank-identity{align-items:start;flex-direction:column;gap:18px}.bank-card{padding:16px}.bank-identity>.field{width:100%}}

/* Contratos: seleções paginadas e valores na paleta compartilhada. */
.record-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:36px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px;text-align:left;cursor:pointer}.record-picker-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-picker-trigger.is-empty{color:var(--muted)}.record-picker-icon{color:var(--teal);font-size:22px;line-height:1;flex-shrink:0}.record-picker-trigger:focus-visible,.record-picker-result:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.record-picker-trigger:disabled{opacity:.55;cursor:wait}.record-picker-trigger[aria-invalid="true"]{border-color:var(--danger-ink)}.record-picker-validation{font-size:11px;color:var(--danger-ink);margin-top:5px}.record-picker-dialog{max-width:740px;max-height:calc(100svh - 32px);padding:20px}.record-picker-dialog[open]{display:flex;flex-direction:column;gap:12px}.record-picker-dialog .dialog-heading{margin:0}.record-picker-dialog .dialog-heading h2{font-size:21px}.record-picker-search{display:flex;align-items:end;gap:10px}.record-picker-search>.field{flex:1}.record-picker-dialog>.field-help{margin:0;overflow-wrap:anywhere}.record-picker-dialog>.form-error{margin:0}.record-picker-results{list-style:none;margin:0;padding:0;overflow:auto;min-height:80px;max-height:48svh;border:1px solid var(--line);border-radius:8px}.record-picker-results[aria-busy="true"]{opacity:.6}.record-picker-result{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:12px;text-align:left;cursor:pointer}.record-picker-result>span{min-width:0;overflow-wrap:anywhere}.record-picker-result small{color:var(--teal);font-size:10px;flex-shrink:0}.record-picker-result:hover,.record-picker-result[aria-pressed="true"]{background:var(--accent-soft)}.record-picker-results li:last-child .record-picker-result{border-bottom:0}.record-picker-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.record-picker-footer .button:disabled{cursor:default}@media(max-width:760px){.record-picker-trigger{min-height:44px;font-size:14px}.record-picker-dialog{width:calc(100% - 24px);padding:16px}.record-picker-search .button,.record-picker-footer .button{min-height:44px}.record-picker-footer{gap:8px}.record-picker-footer>.button-row{flex:1 0 100%;justify-content:space-between}.record-picker-dialog .dialog-heading h2{font-size:19px}}
.contract-table{min-width:900px}.contract-table td:first-child{min-width:250px}.contract-table td:not(:first-child){white-space:nowrap}

/* Personalização e documento: edição segue a paleta; o papel preserva a saída branca. */
.template-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;align-items:start}.template-workspace>.panel{min-width:0}.template-editor .field{margin-bottom:12px}.template-editor #content{font-family:Consolas,monospace;font-size:12px;min-height:340px}.template-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}.template-tags h2{font-size:18px}.template-tags>.field{margin:12px 0}.tag-list{max-height:600px;overflow:auto;display:flex;flex-direction:column;gap:5px;padding-right:5px}.tag-list h3{font-size:11px;color:var(--teal);margin:12px 0 5px;text-transform:uppercase;letter-spacing:1px}.tag-list h3:first-child{margin-top:0}.tag-button{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:8px;cursor:pointer;display:grid;gap:3px}.tag-button:hover,.tag-button:focus-visible{border-color:var(--teal);outline-color:var(--teal)}.tag-button span{font-size:11px}.tag-button code{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.template-preview-panel>.panel-heading{flex-wrap:wrap}.template-preview-panel>.panel-heading>div{flex:1}.document-preview{overflow:auto;max-height:800px;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:12px}.print-document{box-sizing:border-box;width:210mm;min-height:297mm;padding:20mm;background:#fff;color:#18212a;font-family:Arial,sans-serif;line-height:1.65;box-shadow:0 5px 25px #102e4620;margin:0 auto;overflow-wrap:anywhere;color-scheme:light}.print-document h1{font-size:1.45em;line-height:1.4;letter-spacing:0;text-align:center;margin:0 0 1.8em;font-weight:700;color:inherit}.print-document h2{font-size:1.2em;margin:1.7em 0 .7em}.print-document h3,.print-document h4{font-size:1.05em;margin:1.4em 0 .6em}.print-document p{margin:0 0 1.1em}.print-letterhead{font-size:.85em;border-bottom:1px solid #bbb;padding-bottom:1em;margin-bottom:2em;text-align:center;white-space:normal}.print-signoff{margin-top:2em;border-top:1px solid #bbb;padding-top:1em;font-size:.9em}.print-size-10{font-size:10pt}.print-size-11{font-size:11pt}.print-size-12{font-size:12pt}.print-size-13{font-size:13pt}.print-size-14{font-size:14pt}.print-align-left p{text-align:left}.print-align-justify p{text-align:justify}.print-page-break{break-before:page;border-top:2px dashed #ddd;margin:35px 0}.print-page{background:#e8edf2;padding:25px;color:#18212a;min-width:0}.print-toolbar{max-width:210mm;margin:0 auto 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.print-toolbar>span{font-size:11px;flex:1;color:#4f6478}.print-warning{max-width:210mm;margin:0 auto 24px;padding:22px;background:#fff1df;border:1px solid #d9a564;border-radius:10px;font:14px/1.6 Arial,sans-serif}.print-warning h2{font-size:18px}.print-contract-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.print-contract-actions>.field-help:first-child{flex-basis:100%;margin:0}.print-model-table{min-width:630px}.template-tags{position:sticky;top:20px}
@media(max-width:1000px){.template-workspace{grid-template-columns:minmax(0,1fr)}.template-tags{position:static}.tag-list{max-height:290px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.tag-list h3{grid-column:1/-1}.document-preview{padding:12px}.template-preview-panel{padding:20px 12px}}
@media(max-width:760px){.sidebar nav a{white-space:normal;min-width:0}.template-toolbar .table-button{font-size:10px}.print-page{padding:14px}.print-page main{overflow:auto}.print-toolbar .button{font-size:11px}.print-toolbar>span{flex-basis:100%;order:3}.tag-list{grid-template-columns:minmax(0,1fr)}.template-editor #content{font-size:13px}.template-workspace{gap:0}.print-contract-actions{align-items:start;flex-direction:column}}
@page{size:A4;margin:20mm}
@media print{html,body.print-page{background:#fff!important;margin:0!important;padding:0!important;color-scheme:light}.print-toolbar,.print-warning{display:none!important}.print-page main{overflow:visible}.print-document{width:auto;min-height:0;padding:0;margin:0;box-shadow:none;color:#000;background:#fff}.print-document p{orphans:3;widows:3}.print-document h1,.print-document h2,.print-document h3,.print-document h4{break-after:avoid}.print-page-break{border:0;margin:0;height:0;break-before:page}.print-page:has(.print-warning) main{display:none}.print-page:has(.print-warning)::after{content:"Impressão indisponível: complete os dados indicados na tela.";font:14pt Arial,sans-serif}}

/* Financeiro: títulos e fixos compartilham os mesmos formulários e tabelas. */
.financial-filters>.field:not(.search-field){width:145px}.financial-filters>.button-row{align-self:end}.financial-table{min-width:930px}.financial-table td:first-child{min-width:200px}.financial-table td:nth-child(2){min-width:160px}.financial-table td:nth-child(n+3){white-space:nowrap}#financial-save-help{margin-top:14px}
@media(max-width:760px){.financial-filters>.field:not(.search-field){flex:1 1 calc(50% - 12px);width:auto}.financial-filters>.button-row{width:100%}.financial-filters>.button-row>.button{flex:1;min-height:44px}}

/* Movimentação e situação dos títulos financeiros. */
.title-status{display:inline-flex;white-space:nowrap;font-size:10px;font-weight:600;border-radius:14px;padding:4px 8px;border:1px solid var(--line)}.title-status.is-open{background:var(--surface-soft);color:var(--muted)}.title-status.is-settled{background:var(--accent-soft);color:var(--teal)}.title-action-dialog .field-help{margin-bottom:14px}.title-action-dialog .notice{overflow-wrap:anywhere}.title-history{list-style:none;padding:0;margin:0;display:grid;gap:10px}.title-history li{border-left:2px solid var(--teal);padding:4px 10px;overflow-wrap:anywhere}.title-history strong,.title-history small{display:block;font-size:12px;color:var(--muted)}.title-history small{font-size:11px;margin-top:4px}

/* Emissão e acompanhamento de NFS-e. */
.editor-grid--nfse>.panel:last-of-type{grid-column:1/-1}.nfse-summary{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;margin:0 0 12px}.nfse-summary>div{min-width:0}.nfse-summary dt{font-size:10px;color:var(--muted);margin-bottom:5px}.nfse-summary dd{font-size:12px;margin:0;overflow-wrap:anywhere}.nfse-message{white-space:pre-wrap;margin-bottom:12px}.nfse-status[data-status="autorizada"]{background:var(--accent-soft);color:var(--teal)}.nfse-status[data-status="rejeitada"],.nfse-status[data-status="incerta"]{background:var(--danger-soft);color:var(--danger-ink)}@media(max-width:760px){.nfse-summary{grid-template-columns:1fr}.nfse-message{font-size:11px}}
