/* NossaFatura 4.1 — Financial OS Refinement Layer
   Mantém a linguagem visual 4.0 e afina branding, fiscalidade, formulários e POS. */
:root{--nf-vivid:#06b9ad;--nf-vivid-2:#18d0c2;--nf-ink:#071a31;--nf-blue:#0c4f7c;--nf-warning:#f1b83b;--nf-danger:#e64d61}
html body *,html body *::before,html body *::after{border-radius:0!important}

/* Auth: nunca mostrar os dois logótipos simultaneamente */
.logo-for-light,.logo-for-dark{display:none!important}
html[data-theme="light"] .logo-for-light{display:block!important}
html[data-theme="dark"] .logo-for-dark{display:block!important}
.auth-card .theme-logo img{max-height:76px;max-width:290px;margin-inline:auto}
.syntrix-footer,.auth-footer{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;line-height:1.45}.auth-center-shell>.syntrix-footer{justify-content:center;text-align:center}

/* Form fields: iconografia visível e consistente */
.sf-field>div:not(.textarea){position:relative}
.sf-field>div>svg,.sf-field .textarea>svg{color:#3a6688;opacity:.88;flex:0 0 auto}
.sf-field input::placeholder,.sf-field textarea::placeholder{color:#8b9bb1;opacity:1}
html[data-theme="dark"] .sf-field input::placeholder,html[data-theme="dark"] .sf-field textarea::placeholder{color:#70849b}
.nf-btn.primary,.os-create-btn,.os-vitoria-orb,.nf-pos-primary-action,.nf-pos-checkout{background:linear-gradient(135deg,var(--nf-vivid),#088e87)!important;border-color:#078f88!important}
.nf-form-card-icon,.nf-tax-icon{background:linear-gradient(135deg,#e6fbf8,#d6f6f2)!important;color:#008f87!important}

/* Settings Studio */
.nf-settings-studio{display:block;padding-bottom:92px}
.nf-settings-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(110deg,#071f3a,#0c4265 65%,#078d86);color:#fff;padding:28px 32px;margin-bottom:20px;box-shadow:0 18px 50px rgba(15,43,73,.14)}
.nf-settings-hero h2{margin:5px 0 7px;font-size:26px}.nf-settings-hero p{margin:0;color:#d9e9f1}.nf-settings-status{display:flex;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.22);padding:14px 18px}.nf-settings-status svg{width:24px}.nf-settings-status span{display:grid;place-items:center}.nf-settings-status small,.nf-settings-status strong{display:block}.nf-settings-status small{opacity:.75;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.nf-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.nf-settings-main{display:grid;gap:20px}.nf-settings-side{display:grid;gap:16px;align-content:start;position:sticky;top:90px;height:max-content}
.nf-brand-studio{background:#071f38;color:#fff;padding:22px;box-shadow:0 18px 45px rgba(7,31,56,.18)}.nf-brand-head{display:flex;gap:12px;align-items:center}.nf-brand-head>span{width:42px;height:42px;display:grid;place-items:center;background:#0e3d5b;color:#30e0d1}.nf-brand-head small{color:#4bd9cc;letter-spacing:.12em}.nf-brand-head h3{margin:3px 0 0;font-size:18px}.nf-logo-preview{margin:18px 0;background:#fff;min-height:150px;display:grid;place-items:center;padding:18px;border:1px solid #183f5c}.nf-logo-preview img{max-width:100%;max-height:125px;object-fit:contain}.nf-logo-placeholder{text-align:center;color:#63768d}.nf-logo-placeholder svg{width:34px;height:34px;color:#16ad9f}.nf-logo-placeholder strong,.nf-logo-placeholder small{display:block;margin-top:7px}.nf-upload-zone{display:flex;align-items:center;gap:12px;border:1px dashed #3b708d;padding:14px;cursor:pointer;background:#0b2a47}.nf-upload-zone:hover{border-color:#1fd4c5;background:#0d3456}.nf-upload-zone input{display:none}.nf-upload-zone>span{color:#2ce2d2}.nf-upload-zone strong,.nf-upload-zone small{display:block}.nf-upload-zone small{color:#8fb2c6;margin-top:3px}.nf-check-line{display:flex;gap:10px;align-items:center;margin-top:14px;font-size:12px;color:#d7e6ee}.nf-check-line input{width:17px;height:17px;accent-color:#14b8aa}.nf-check-line.danger{color:#ff9eaa}
.nf-tax-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.nf-tax-choice{display:flex;align-items:center;gap:12px;border:1px solid #dce5ef;padding:14px;background:#fbfdff;cursor:pointer;transition:.15s}.nf-tax-choice:hover,.nf-tax-choice.selected{border-color:#0caf9f;background:#effbf9}.nf-tax-choice input{width:18px;height:18px;accent-color:#0aa99d}.nf-tax-icon{width:38px;height:38px;display:grid;place-items:center}.nf-tax-choice span:last-child{display:grid;grid-template-columns:1fr auto;flex:1;column-gap:7px}.nf-tax-choice small{grid-column:1/-1;color:#70839b;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.nf-tax-choice strong{font-size:12px}.nf-tax-choice em{font-style:normal;font-weight:800;color:#008f87}.nf-tax-auto-config{margin-top:18px}.nf-toggle-card{display:flex;align-items:center;gap:12px;border:1px solid #dce5ef;padding:12px 14px;cursor:pointer}.nf-toggle-card input{width:18px;height:18px;accent-color:#0aa99d}.nf-toggle-card>span{color:#0aa99d}.nf-toggle-card strong,.nf-toggle-card small{display:block}.nf-toggle-card small{color:#6f8198;margin-top:3px}.nf-settings-savebar{z-index:31}.nf-inline-password{min-width:270px;margin:0}.nf-inline-password>span{font-size:9px}

/* POS premium */
.nf-pos-page{background:#061526;color:#eaf5fa}.nf-pos-shell{min-height:100vh}.nf-pos-topbar{background:#07192d;border-bottom:1px solid #143955;padding:14px 20px}.nf-pos-content{padding:16px 20px 28px;max-width:1920px;margin:auto}.nf-pos-command{display:grid;grid-template-columns:minmax(250px,.75fr) 1.25fr;gap:18px;align-items:center;background:linear-gradient(120deg,#0a213b,#0b3454);border:1px solid #173f5b;padding:16px 18px;margin-bottom:14px}.nf-pos-command.open{border-left:4px solid #1ed1bf}.nf-pos-command.closed{border-left:4px solid #e95a69}.nf-pos-command-state{display:flex;align-items:center;gap:12px}.nf-pos-command-state small,.nf-pos-catalog-head>div>span,.nf-pos-cart-head small,.nf-pos-payment-title small,.nf-pos-session-copy small,.nf-pos-close-premium small{color:#40ddcf;font-size:9px;letter-spacing:.11em;font-weight:800}.nf-pos-command-state h2{margin:2px 0;font-size:18px}.nf-pos-command-state p{margin:0;color:#90aabe;font-size:11px}.nf-pos-command-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.nf-pos-command-metrics span{border:1px solid #1a4462;background:#0a2945;padding:10px 12px}.nf-pos-command-metrics small,.nf-pos-command-metrics strong{display:block}.nf-pos-command-metrics small{color:#7f9bb0;font-size:9px}.nf-pos-command-metrics strong{font-size:14px;margin-top:3px}
.nf-pos-session-launch{background:linear-gradient(120deg,#0a213b,#0b304e);color:#eef8fb;display:grid;grid-template-columns:.8fr 1.4fr;gap:24px;padding:18px 20px;margin-bottom:14px;border-left:4px solid #0eb3a6}.nf-pos-session-copy{display:flex;gap:13px;align-items:center}.nf-pos-session-copy small{color:#0b968b}.nf-pos-session-copy h2{margin:3px 0 5px;color:#fff}.nf-pos-session-copy p{margin:0;color:#8fb0c4;font-size:11px}.nf-pos-open-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}.nf-pos-open-form .sf-field{margin:0}.nf-pos-primary-action{height:43px;color:#fff;border:0;padding:0 18px;font-weight:800;cursor:pointer}
.nf-pos-premium{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:14px;min-height:610px}.nf-pos-left,.nf-pos-checkout-panel{border:1px solid #163a56;background:#081d33}.nf-pos-catalog-head{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid #163a56}.nf-pos-catalog-head h2{margin:2px 0;font-size:20px}.nf-pos-catalog-head p{margin:0;color:#7f9cb2}.nf-pos-search{width:330px;display:flex;align-items:center;border:1px solid #20506f;background:#0b2945;padding:0 12px}.nf-pos-search input{width:100%;height:42px;background:transparent;border:0!important;color:#fff;outline:0}.nf-pos-category-strip{display:flex;align-items:center;gap:6px;padding:10px 18px;border-bottom:1px solid #153850}.nf-pos-category-strip button{background:#0d2943;color:#94aec1;border:1px solid #1a4563;padding:8px 12px;cursor:pointer}.nf-pos-category-strip button.active{background:#0db4a6;color:#fff;border-color:#0db4a6}.nf-pos-shortcut{margin-left:auto;color:#7d9bb2;font-size:10px;display:flex;align-items:center;gap:6px}.nf-pos-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:10px;padding:14px;align-content:start}.nf-pos-product-card{background:#0b2945;border:1px solid #1a4562;min-height:190px;display:flex;flex-direction:column;position:relative;transition:.15s}.nf-pos-product-card:hover{border-color:#18c6b6;transform:translateY(-1px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.nf-pos-product-visual{height:55px;background:linear-gradient(135deg,#0c3859,#0b685f);display:flex;align-items:center;justify-content:space-between;padding:0 13px;color:#35dfcf}.nf-pos-product-visual svg{width:25px;height:25px}.nf-pos-product-visual small{font-size:8px;letter-spacing:.1em}.nf-pos-product-info{padding:12px;flex:1}.nf-pos-product-info>small{color:#6f95ad;font-size:9px}.nf-pos-product-info h3{font-size:13px;margin:4px 0 12px}.nf-pos-product-info div{display:flex;justify-content:space-between;align-items:flex-end;gap:6px}.nf-pos-product-info strong{font-size:15px}.nf-pos-product-info span{font-size:9px;color:#8ba6b8}.nf-pos-product-info em{display:block;margin-top:9px;color:#6d91a8;font-style:normal;font-size:9px}.nf-pos-add{height:36px;border:0;border-top:1px solid #1a4562;background:#0b2139;color:#39d9ca;font-weight:800;cursor:pointer}.nf-pos-add:hover{background:#0da69b;color:#fff}.nf-pos-add:disabled{opacity:.35;cursor:not-allowed}.nf-pos-empty{grid-column:1/-1;min-height:350px;display:grid;place-items:center;align-content:center;text-align:center;color:#718da3}.nf-pos-empty>svg{width:45px;height:45px;color:#19c4b5}.nf-pos-empty strong{color:#fff;margin-top:12px;font-size:17px}.nf-pos-empty p{max-width:320px}
.nf-pos-checkout-panel{position:sticky;top:10px;height:calc(100vh - 112px);overflow:auto}.nf-pos-checkout-panel form{min-height:100%;display:flex;flex-direction:column}.nf-pos-cart-head{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #163a56}.nf-pos-cart-head h2{margin:2px 0}.nf-pos-checkout-body{padding:14px;display:grid;gap:12px}.nf-pos-cart-lines{border:1px solid #173e5b;min-height:120px}.nf-pos-cart-lines table{width:100%;border-collapse:collapse}.nf-pos-cart-lines th,.nf-pos-cart-lines td{padding:9px;font-size:10px;border-bottom:1px solid #173e5b}.nf-pos-cart-lines th{color:#83a1b7;text-transform:uppercase;font-size:8px}.nf-pos-payment-box{border-top:1px solid #1a4562;border-bottom:1px solid #1a4562;padding:14px 0;display:grid;gap:10px}.nf-pos-payment-title{display:flex;gap:9px;align-items:center}.nf-pos-payment-title>svg{color:#20d2c2}.nf-pos-payment-title small,.nf-pos-payment-title strong{display:block}.nf-pos-checkout-footer{margin-top:auto;background:#0b2945;border-top:1px solid #1d4d6c;padding:15px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;position:sticky;bottom:0}.nf-pos-checkout-footer small,.nf-pos-checkout-footer strong,.nf-pos-checkout-footer span{display:block}.nf-pos-checkout-footer small{color:#789bb2}.nf-pos-checkout-footer strong{font-size:24px;color:#fff;margin:2px 0}.nf-pos-checkout-footer span{color:#68a091;font-size:9px}.nf-pos-checkout{height:52px;padding:0 20px;color:#fff;border:0;font-weight:900;cursor:pointer}.nf-pos-close-premium{margin-top:14px;border:1px solid #4c2937;background:#1f1621;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 18px}.nf-pos-close-premium>div{display:flex;gap:11px;align-items:center}.nf-pos-close-premium form{display:flex;gap:8px;align-items:end}.nf-pos-close-premium .sf-field{margin:0;min-width:190px}

/* Treasury refinement */
.nf-treasury-command{background:linear-gradient(110deg,#071f3a,#0e5d78);color:#fff;padding:24px 28px;display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:18px}.nf-treasury-command h2{margin:4px 0}.nf-treasury-command p{margin:0;color:#c5dce8}.nf-treasury-kpis{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:8px}.nf-treasury-kpis span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:10px}.nf-treasury-kpis small,.nf-treasury-kpis strong{display:block}.nf-treasury-kpis small{font-size:8px;color:#a8c4d3;text-transform:uppercase}.nf-treasury-kpis strong{margin-top:4px}.nf-treasury-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}

/* Reports chips + document logo */
.nf-report-chip{display:inline-flex;padding:7px 10px;margin:4px;border:1px solid #dce5ef;background:#f6fafc;color:#31506b;font-weight:700;font-size:10px}.doc-company-logo{max-width:180px;max-height:65px;object-fit:contain;display:block;margin-bottom:8px}

/* Slightly more vivid active navigation without changing language */
.os-nav-link.active,.os-rail-button.active{border-left-color:#0cc0b2!important}.os-nav-link.active{background:linear-gradient(90deg,#e7fbf8,#f7fcfd)!important;color:#008e86!important}
html[data-theme="dark"] .os-nav-link.active{background:linear-gradient(90deg,#083f4a,#0b2c42)!important;color:#48e3d5!important}

@media(max-width:1100px){.nf-settings-grid{grid-template-columns:1fr}.nf-settings-side{position:static;grid-template-columns:1fr 1fr}.nf-pos-premium{grid-template-columns:1fr 390px}.nf-pos-open-form{grid-template-columns:1fr 1fr}.nf-pos-primary-action{grid-column:1/-1}.nf-treasury-grid{grid-template-columns:1fr}.nf-treasury-command{align-items:flex-start;flex-direction:column}.nf-treasury-kpis{width:100%}}
@media(max-width:820px){.nf-settings-hero{align-items:flex-start;flex-direction:column}.nf-settings-side{grid-template-columns:1fr}.nf-tax-choice-grid{grid-template-columns:1fr}.nf-pos-premium{grid-template-columns:1fr}.nf-pos-checkout-panel{position:static;height:auto}.nf-pos-command{grid-template-columns:1fr}.nf-pos-command-metrics{grid-template-columns:1fr 1fr}.nf-pos-session-launch{grid-template-columns:1fr}.nf-pos-open-form{grid-template-columns:1fr}.nf-pos-catalog-head{align-items:flex-start;flex-direction:column;gap:12px}.nf-pos-search{width:100%}.nf-pos-close-premium{align-items:flex-start;flex-direction:column}.nf-pos-close-premium form{width:100%;display:grid;grid-template-columns:1fr}.nf-treasury-kpis{grid-template-columns:1fr 1fr}.nf-settings-savebar{position:static!important;display:grid!important}.nf-inline-password{min-width:0}}

/* Relatórios: recursos apresentados como chips separados, nunca texto colado */
.feature-list{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important}
.feature-list span{display:inline-flex!important;align-items:center!important;min-height:32px!important;padding:7px 11px!important;border:1px solid #d9e5ef!important;background:#f8fbfd!important;color:#18334e!important;font-size:11px!important;font-weight:800!important;letter-spacing:.01em!important}
html[data-theme="dark"] .feature-list span{background:#0b2945!important;border-color:#1c4967!important;color:#dcecf4!important}

/* Refinamento transversal: controlos mais nítidos sem alterar a linguagem 4.0 */
.sf-field>span{display:flex;align-items:center;gap:6px}
.sf-field input,.sf-field select,.sf-field textarea{min-height:42px}
.sf-field .textarea textarea{min-height:92px}
.nf-form-card-head .ico,.card-head .ico,.os-subnav .ico{flex:0 0 auto}
.nf-icon-btn,.nf-btn,.os-create-btn,.os-vitoria-orb{border-radius:0!important}

.nf-pos-page .nf-pos-session-launch .sf-field>span{color:#b9d0de}.nf-pos-page .nf-pos-session-launch .sf-field>div{background:#0a2945!important;border-color:#1c4c69!important}.nf-pos-page .nf-pos-session-launch input{color:#fff!important;background:transparent!important}.nf-pos-page .nf-pos-session-launch input::placeholder{color:#6f91a8!important}.nf-pos-page .nf-pos-session-launch .ico{color:#36d9c9!important}

/* ========================================================================
   NossaFatura 4.1.1 — UI integrity pass
   Corrige iconografia, largura útil, POS claro/escuro, autenticação e
   elimina overflow horizontal sem alterar a linguagem visual Financial OS.
   ======================================================================== */

/* Base geométrica: hard-edge em todo o produto, sem scroll horizontal global. */
html,body{max-width:100%;overflow-x:hidden}
html body *,html body *::before,html body *::after{box-sizing:border-box;border-radius:0!important}
.os-app,.os-main,.os-stage,.os-bento,.os-card,.os-workspace-hero,.os-summary-grid,.nf-form-page,.nf-form-card,.nf-settings-studio,.nf-settings-grid,.nf-pos-shell,.nf-pos-content,.nf-pos-premium,.nf-pos-left,.nf-pos-checkout-panel{min-width:0}
.os-stage{max-width:none!important;margin:0!important;padding:18px 18px 34px!important}
.os-stage>*,.nf-form-page,.nf-invoice-builder,.nf-settings-studio{width:100%;max-width:none!important;margin-left:0!important;margin-right:0!important}
.os-footer{padding-left:18px!important;padding-right:18px!important}
.nf-table-shell,.sf-table-wrap,.nf-line-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.nf-line-table{min-width:860px}
@media(max-width:1020px){.os-stage{padding:14px 12px 28px!important}}

/* Iconografia oficial Foundation Gold / Feather. */
.ico,svg.ico{display:inline-block!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;flex:0 0 18px!important;vertical-align:middle!important;overflow:visible!important;color:inherit;stroke:currentColor!important;fill:none!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
svg.ico path,svg.ico line,svg.ico polyline,svg.ico polygon,svg.ico circle,svg.ico rect{stroke:currentColor!important;fill:none!important}
.os-action-icon .ico,.nf-icon-btn .ico,.os-mobile-menu .ico{margin:0!important}
.os-menu-icon .ico,.nf-form-card-icon .ico,.nf-tax-icon .ico{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}
.os-create-menu>a>.ico{width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important;padding:9px!important;color:var(--os-cyan)!important;background:var(--os-cyan-soft)!important}
.sf-field>div>.ico{position:absolute!important;left:12px!important;z-index:2!important;pointer-events:none!important}
.sf-field>div>select,.sf-field>div>input,.sf-field>div>textarea{min-width:0}
.auth-theme-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}

/* Autenticação: recuperar o fundo oficial e manter legibilidade em ambos temas. */
body.auth-body{min-height:100vh!important;padding:24px!important;background-position:center!important;background-repeat:no-repeat!important;background-size:cover!important;background-attachment:fixed!important}
html[data-theme="light"] body.auth-body{background-image:linear-gradient(90deg,rgba(3,22,42,.68),rgba(3,22,42,.44)),url('../img/bg-auth-light.png')!important;background-color:#0b2945!important}
html[data-theme="dark"] body.auth-body{background-image:linear-gradient(90deg,rgba(2,11,25,.78),rgba(2,11,25,.58)),url('../img/bg-auth-dark.png')!important;background-color:#061427!important}
.auth-center-shell{width:100%;display:grid;justify-items:center;gap:12px}
.auth-card{width:min(470px,calc(100vw - 32px))!important;max-width:100%!important;box-shadow:0 28px 80px rgba(0,0,0,.28)!important}
html[data-theme="light"] .auth-card{background:rgba(255,255,255,.96)!important;border-color:#d6e0e9!important}
html[data-theme="dark"] .auth-card{background:rgba(8,24,42,.94)!important;border-color:#23415d!important}
.auth-card .theme-logo img{display:block!important;max-width:290px!important;max-height:78px!important;margin:0 auto!important;object-fit:contain!important}
.auth-theme-toggle{position:fixed!important;right:18px!important;top:18px!important;z-index:90!important;min-height:42px!important;padding:0 13px!important}
.auth-footer,.syntrix-footer{max-width:min(720px,calc(100vw - 32px));justify-content:center!important;gap:8px 12px!important;text-align:center!important}
html[data-theme="light"] .auth-footer,html[data-theme="light"] .syntrix-footer{color:#eef6fb!important;text-shadow:0 1px 2px rgba(0,0,0,.35)}
html[data-theme="dark"] .auth-footer,html[data-theme="dark"] .syntrix-footer{color:#dceaf3!important}

/* Forms: mais área útil sem quebrar layouts internos. */
body.nf-os-shell .nf-form-page{max-width:none!important;margin:0!important}
.nf-form-card-body{min-width:0}
.sf-form-grid>*{min-width:0}
.nf-sticky-form-actions{left:auto;right:auto;max-width:100%}
.nf-inline-create{right:6px!important}

/* Cobranças: aging e fila passam a partilhar o mesmo workspace útil. */
.nf-collections-summary{margin-bottom:14px!important}
.nf-collections-grid{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:14px;align-items:start;width:100%}
.nf-aging-card,.nf-collections-queue{min-width:0}
.nf-aging-card .os-card-body{padding-bottom:10px}
.nf-collections-card-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 14px;border-top:1px solid var(--os-line)}
.nf-collections-queue .nf-table-shell{min-height:0}
.nf-collections-queue .os-empty-state.compact{min-height:128px!important;padding:16px!important}
.nf-collections-queue .data-table{min-width:820px}
@media(max-width:980px){.nf-collections-grid{grid-template-columns:1fr}.nf-aging-card{order:1}.nf-collections-queue{order:2}}

/* Settings: caixas/terminais integrados na mesma linguagem do Studio. */
.nf-pos-register-list{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--os-line)}
.nf-pos-register-summary{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--os-line);background:var(--os-surface-soft)}
.nf-pos-register-summary>span{width:38px;height:38px;display:grid;place-items:center;color:var(--os-cyan);background:var(--os-cyan-soft)}
.nf-pos-register-summary strong,.nf-pos-register-summary small{display:block}.nf-pos-register-summary small{margin-top:3px;color:var(--os-muted)}
.nf-pos-register-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:8px;align-content:start}
.nf-register-chip{display:grid;padding:10px 11px;border:1px solid var(--os-line);background:var(--os-surface-soft)}
.nf-register-chip b{font-size:11px}.nf-register-chip small{margin-top:3px;color:var(--os-muted);font-size:9px}.nf-register-chip.open{border-color:color-mix(in srgb,var(--os-success) 55%,var(--os-line));background:color-mix(in srgb,var(--os-success) 7%,var(--os-surface))}
@media(max-width:760px){.nf-pos-register-list{grid-template-columns:1fr}}

/* POS: geometria segura e fluxo premium. */
body.nf-pos-page{width:100%;max-width:100%;overflow-x:hidden!important}
.nf-pos-shell{width:100%;max-width:100%;overflow-x:hidden!important}
.nf-pos-topbar{min-height:76px;height:auto!important;gap:12px;flex-wrap:wrap}
.nf-pos-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.nf-pos-cash-action{min-height:42px;white-space:nowrap}
.nf-pos-content{width:100%!important;max-width:none!important;margin:0!important;padding:14px!important}
.nf-pos-command{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr)!important}
.nf-pos-command-metrics{min-width:0}
.nf-pos-command-metrics span{min-width:0}
.nf-pos-premium{width:100%;grid-template-columns:minmax(0,1fr) minmax(360px,430px)!important;gap:12px!important}
.nf-pos-left,.nf-pos-checkout-panel{min-width:0!important;overflow:hidden}
.nf-pos-catalog-head{min-width:0;gap:14px}
.nf-pos-catalog-head>div{min-width:0;flex:1}
.nf-pos-search{width:min(340px,42%)!important;min-width:220px}
.nf-pos-products-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;min-width:0}
.nf-pos-product-card{min-width:0}
.nf-pos-checkout-panel{height:auto!important;max-height:calc(100vh - 100px);overflow-y:auto!important;overflow-x:hidden!important}
.nf-pos-cart-lines{max-width:100%;overflow-x:auto!important}
.nf-pos-cart-lines table{min-width:520px}
.nf-pos-checkout-body,.nf-pos-payment-box,.nf-payment-grid{min-width:0}
.nf-pos-cash-modal .sf-modal-dialog{width:min(760px,calc(100vw - 28px))!important;max-width:100%!important}
.nf-pos-cash-modal .sf-modal-dialog>header p{margin:4px 0 0;color:var(--os-muted);font-size:11px}
.nf-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}

/* POS DARK — preservar a identidade aprovada. */
html[data-theme="dark"] body.nf-pos-page{background:#061526!important;color:#eaf5fa!important}
html[data-theme="dark"] .nf-pos-shell{background:radial-gradient(circle at 80% -10%,rgba(0,200,190,.15),transparent 34%),#07111f!important}
html[data-theme="dark"] .nf-pos-topbar{background:#07192d!important;border-color:#143955!important}
html[data-theme="dark"] .nf-pos-command,html[data-theme="dark"] .nf-pos-left,html[data-theme="dark"] .nf-pos-checkout-panel{background:#081d33!important;border-color:#163a56!important;color:#eaf5fa!important}

/* POS LIGHT — nada de controlos escuros dentro de cartões brancos. */
html[data-theme="light"] body.nf-pos-page{background:#eef4f8!important;color:#10263b!important}
html[data-theme="light"] .nf-pos-shell{background:radial-gradient(circle at 82% -8%,rgba(0,185,173,.10),transparent 35%),#eef4f8!important}
html[data-theme="light"] .nf-pos-topbar{background:#ffffff!important;border-color:#d7e1ea!important;color:#10263b!important}
html[data-theme="light"] .nf-pos-brand h1{color:#10263b!important}
html[data-theme="light"] .nf-pos-brand p{color:#607b91!important}
html[data-theme="light"] .nf-pos-command{background:#ffffff!important;border-color:#d8e2eb!important;color:#10263b!important;box-shadow:none!important}
html[data-theme="light"] .nf-pos-command-state h2{color:#10263b!important}
html[data-theme="light"] .nf-pos-command-state p{color:#607b91!important}
html[data-theme="light"] .nf-pos-command-metrics span{background:#f7fafc!important;border-color:#d8e2eb!important;color:#10263b!important}
html[data-theme="light"] .nf-pos-command-metrics small{color:#667f94!important}
html[data-theme="light"] .nf-pos-left,html[data-theme="light"] .nf-pos-checkout-panel{background:#ffffff!important;border-color:#d8e2eb!important;color:#10263b!important;box-shadow:none!important}
html[data-theme="light"] .nf-pos-catalog-head,html[data-theme="light"] .nf-pos-cart-head,html[data-theme="light"] .nf-pos-category-strip,html[data-theme="light"] .nf-pos-payment-box,html[data-theme="light"] .nf-pos-checkout-footer{border-color:#dce5ed!important}
html[data-theme="light"] .nf-pos-catalog-head h2,html[data-theme="light"] .nf-pos-cart-head h2,html[data-theme="light"] .nf-pos-payment-title strong{color:#10263b!important}
html[data-theme="light"] .nf-pos-catalog-head p,html[data-theme="light"] .nf-pos-shortcut,html[data-theme="light"] .nf-pos-cart-head small{color:#657f94!important}
html[data-theme="light"] .nf-pos-search{background:#f8fbfd!important;border-color:#cad8e4!important}
html[data-theme="light"] .nf-pos-search input{color:#10263b!important;background:transparent!important}
html[data-theme="light"] .nf-pos-search input::placeholder{color:#8397a9!important}
html[data-theme="light"] .nf-pos-category-strip button{background:#ffffff!important;color:#31506a!important;border-color:#d4e0e9!important}
html[data-theme="light"] .nf-pos-category-strip button.active{background:#08aa9f!important;color:#ffffff!important;border-color:#08aa9f!important}
html[data-theme="light"] .nf-pos-product-card{background:#f8fbfd!important;border-color:#d8e2eb!important;color:#10263b!important}
html[data-theme="light"] .nf-pos-product-card:hover{border-color:#08aa9f!important;box-shadow:0 8px 22px rgba(16,56,80,.08)!important}
html[data-theme="light"] .nf-pos-product-visual{background:linear-gradient(135deg,#e8f8f6,#dff2f8)!important;color:#078f88!important}
html[data-theme="light"] .nf-pos-product-info h3,html[data-theme="light"] .nf-pos-product-info strong{color:#10263b!important}
html[data-theme="light"] .nf-pos-product-info small,html[data-theme="light"] .nf-pos-product-info span,html[data-theme="light"] .nf-pos-product-info em{color:#6d8599!important}
html[data-theme="light"] .nf-pos-add{background:#ffffff!important;border-color:#d8e2eb!important;color:#078f88!important}
html[data-theme="light"] .nf-pos-add:hover{background:#08aa9f!important;color:#ffffff!important}
html[data-theme="light"] .nf-pos-empty strong{color:#10263b!important}
html[data-theme="light"] .nf-pos-empty{color:#6d8599!important}
html[data-theme="light"] .nf-pos-checkout-panel .sf-field>span{color:#29465f!important}
html[data-theme="light"] .nf-pos-checkout-panel .sf-field>div,html[data-theme="light"] .nf-pos-cash-modal .sf-field>div{background:#ffffff!important;border-color:#cfdce7!important}
html[data-theme="light"] .nf-pos-checkout-panel input,html[data-theme="light"] .nf-pos-checkout-panel select,html[data-theme="light"] .nf-pos-checkout-panel textarea,html[data-theme="light"] .nf-pos-cash-modal input,html[data-theme="light"] .nf-pos-cash-modal select,html[data-theme="light"] .nf-pos-cash-modal textarea{color:#10263b!important;background:transparent!important}
html[data-theme="light"] .nf-pos-cart-lines{border-color:#d8e2eb!important}
html[data-theme="light"] .nf-pos-cart-lines th{background:#f3f7fa!important;color:#526c82!important}
html[data-theme="light"] .nf-pos-cart-lines td,html[data-theme="light"] .nf-pos-cart-lines th{border-color:#e1e8ee!important}
html[data-theme="light"] .nf-pos-checkout-footer{background:#f7fafc!important;color:#10263b!important}
html[data-theme="light"] .nf-pos-checkout-footer strong{color:#10263b!important}
html[data-theme="light"] .nf-pos-checkout-footer small,html[data-theme="light"] .nf-pos-checkout-footer span{color:#668096!important}
html[data-theme="light"] .sf-modal-dialog{background:#ffffff!important;color:#10263b!important;border-color:#d8e2eb!important}

@media(max-width:1180px){.nf-pos-premium{grid-template-columns:minmax(0,1fr) minmax(330px,390px)!important}.nf-pos-command{grid-template-columns:1fr!important}.nf-pos-search{width:min(330px,45%)!important}}
@media(max-width:980px){.nf-pos-premium{grid-template-columns:1fr!important}.nf-pos-checkout-panel{position:static!important;max-height:none!important}.nf-pos-search{width:100%!important;min-width:0}.nf-pos-top-actions .nf-badge{display:none}}
@media(max-width:680px){.nf-pos-content{padding:9px!important}.nf-pos-command-metrics{grid-template-columns:1fr 1fr!important}.nf-pos-category-strip{overflow-x:auto}.nf-pos-category-strip>*{flex:0 0 auto}.nf-pos-topbar{padding:10px!important}.nf-pos-brand p{display:none}.nf-pos-cash-action span{display:none}.nf-payment-grid{grid-template-columns:1fr!important}}

/* Acessibilidade: texto auxiliar dos botões de ícone sem ocupar espaço visual. */
.sx-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* 4.1.1 final geometry corrections: icons remain normal flex children in form fields. */
.sf-field>div>.ico,.sf-field .textarea>.ico{position:static!important;left:auto!important;top:auto!important;transform:none!important;z-index:auto!important;pointer-events:none!important;margin:0!important}
.nf-content{max-width:none!important;margin:0!important;width:100%!important}
.nf-pos-cart-lines{overflow-x:hidden!important}
.nf-pos-cart-lines table{width:100%!important;min-width:0!important;table-layout:fixed!important}
.nf-pos-cart-lines th,.nf-pos-cart-lines td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
