*{box-sizing:border-box} :root{--blue:#1668d5;--ink:#202d40;--muted:#738095;--border:#e3e8ef;--bg:#f5f7fa}body{margin:0;font:14px 'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--blue);text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}small{font-size:12px;color:var(--muted)}.app{display:flex;min-height:100vh}.sidebar{width:236px;background:#fff;border-right:1px solid var(--border);padding:30px 20px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;gap:10px;align-items:center;color:#243753;font-size:25px;font-weight:750;letter-spacing:-1px;margin-bottom:48px}.brand small{display:block;font-size:8px;letter-spacing:1.15px;margin-top:5px}.brand-icon{background:var(--blue);color:#fff;border-radius:9px;padding:8px;font-size:22px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.4px;color:#8892a2;margin-bottom:14px}.nav-item{display:block;padding:13px 15px;color:#627086;border-radius:7px;font-weight:600;margin-bottom:6px}.nav-item.active{background:#eaf2ff;color:#165fb8}.company-switch{margin:25px 0;border:1px solid var(--border);border-radius:8px;padding:14px}.company-switch strong,.company-switch small{display:block;margin-bottom:6px}.company-switch a{display:block;font-size:12px;margin-top:16px}.sidebar-note{font-size:12px;line-height:1.7;color:#929aa7;padding:5px 10px}.sidebar-bottom{margin-top:auto;padding-top:25px;font-size:12px}.sidebar-bottom small{display:block;padding:7px 0 0 14px}.main{margin-left:236px;flex:1;min-width:0}.topbar{height:82px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 36px;color:#7b8696;font-size:12px}.topbar b{padding:0 13px;color:#b6bdc8}.user-menu{display:flex;align-items:center;gap:12px}.user-menu strong,.user-menu small{display:block}.user-menu strong{color:#344157;font-size:12px;margin-bottom:3px}.user-menu small{font-size:10px}.avatar{display:grid;place-items:center;background:#edf2fa;border:1px solid #dde4ef;border-radius:50%;width:34px;height:34px;color:#4d6488;font-weight:700}.test-label{font-size:9px;letter-spacing:1px;font-weight:700;color:#986d1b;background:#fff7e3;padding:6px 9px;border:1px solid #f2e6c5;border-radius:4px;margin-right:10px}.logout{background:none;border:0;color:#7e8a9d;font-size:12px;padding:8px}.content{padding:38px 36px;max-width:1700px;margin:auto;min-height:calc(100vh - 140px)}h1{font-size:30px;letter-spacing:-.9px;margin:4px 0 10px;font-weight:650}h2{font-size:16px;margin:0;font-weight:650}p{color:var(--muted);line-height:1.6;margin:8px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:20px}.page-heading .eyebrow{margin-bottom:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dce2eb;background:white;border-radius:6px;padding:11px 16px;color:#46566e;font-size:12px;font-weight:600;white-space:nowrap}.button:hover{background:#f2f6fc}.button.primary{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 2px 3px #0d3d7615}.button.primary:hover{background:#1057b6}.section-line{display:flex;justify-content:space-between;padding:0 0 18px;border-bottom:1px solid var(--border);margin-bottom:22px;font-size:12px}.section-line span{color:var(--muted)}.company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.company-card{display:block;background:white;border:1px solid var(--border);border-radius:10px;padding:24px;color:var(--ink);text-align:left;transition:border-color .15s,transform .15s}.company-card:hover{border-color:#a7c5ee;transform:translateY(-2px)}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.company-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:#eaf2ff;color:#3673c1;font-size:17px;font-weight:650}.company-card h2{font-size:18px}.company-card p{font-size:12px}.card-metric{display:flex;align-items:center;gap:12px;margin:28px 0}.card-metric strong{font-size:28px;letter-spacing:-1px}.card-metric span{font-size:12px;color:var(--muted)}.card-bottom{border-top:1px solid var(--border);padding-top:18px;display:flex;justify-content:space-between;font-size:12px;color:var(--blue);font-weight:600}.add-company{background:transparent;border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:285px}.add-company h2{font-size:15px}.plus{background:#eaf0f7;color:#63768f;font-size:27px;border-radius:50%;height:46px;width:46px;display:grid;place-items:center;margin-bottom:18px}.help-note{display:flex;gap:16px;margin-top:32px;padding:20px 0;color:#6b7e97;font-size:12px}.help-note>span{font-size:20px}.help-note p{margin:4px 0}.metrics{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:16px;margin-bottom:30px}.metric{background:white;border:1px solid var(--border);border-radius:8px;padding:21px}.metric>span{display:flex;align-items:center;gap:7px;color:#69788d;font-size:12px}.metric>span small{margin-left:auto;font-size:10px}.metric>strong{display:block;font-size:30px;letter-spacing:-1px;margin:14px 0 8px;font-weight:650;font-variant-numeric:tabular-nums}.metric>small{font-size:11px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.green{color:#27986b;background:#27986b}.amber{color:#cc9227;background:#cc9227}.red{color:#d36060;background:#d36060}.documents{background:white;border:1px solid var(--border);border-radius:9px;overflow:hidden}.table-heading{display:flex;justify-content:space-between;align-items:center;padding:24px}.table-heading h2{margin-bottom:7px}.table-heading span{font-size:11px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:5px;font-size:10px;font-weight:600;padding:6px 9px;white-space:nowrap}.badge.approved{background:#eaf6ef;color:#31805a}.badge.pending{background:#fff5df;color:#9b771f}.badge.rejected{background:#fff0ee;color:#bd5656}.badge.neutral{background:#f4f6f9;color:#77859a}.filters{display:flex;align-items:center;gap:10px;padding:0 24px 22px}.search-field{display:flex;align-items:center;flex:1;max-width:470px;border:1px solid var(--border);border-radius:5px;padding-left:12px}.search-field>span{color:#8b98aa;font-size:22px}.search-field input{border:0;width:100%;background:transparent;padding:11px;font-size:12px}.filters select{border:1px solid var(--border);padding:11px;border-radius:5px;color:#69788d;background:white;font-size:12px}.filters a{font-size:12px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#f8fafc;border-top:1px solid #eef1f5;border-bottom:1px solid #eef1f5;color:#8791a1;font-size:9px;letter-spacing:.65px;padding:14px 22px;font-weight:600}td{padding:20px 22px;border-bottom:1px solid #eef1f5;font-size:12px}tr:last-child td{border-bottom:0}td small{display:block;font-size:10px;margin-top:7px}.document-number{font-weight:600;color:#355c91}.client-name{font-size:11px;font-weight:550;display:block;max-width:270px;overflow:hidden;text-overflow:ellipsis}.numeric{text-align:right}.amount{font-weight:650;font-variant-numeric:tabular-nums}.row-action{display:grid;place-items:center;background:#f4f7fb;border:1px solid #e6ecf3;width:29px;height:29px;border-radius:5px;color:#72849b}.pagination{display:flex;justify-content:space-between;padding:18px 24px;border-top:1px solid var(--border);font-size:11px;color:#8a96a7;align-items:center}.pagination>div{display:flex;gap:15px;align-items:center}.bottom-note{display:flex;align-items:center;gap:8px;color:#8c97a7;font-size:11px;margin-top:20px}footer{padding:18px 36px;color:#8490a2;font-size:11px;border-top:1px solid var(--border)}footer span{margin-left:15px}.right{float:right}.notice,.error{padding:14px 18px;margin-bottom:20px;border-radius:6px;line-height:1.5;font-size:13px}.notice{background:#fff8e9;color:#8c6b27;border:1px solid #f1e3c3}.error{background:#fff0ef;color:#a33939;border:1px solid #eababa}dialog{border:1px solid var(--border);border-radius:12px;padding:28px;width:460px;max-width:94vw;box-shadow:0 20px 80px #14274533}dialog::backdrop{background:#13253f66;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center}.dialog-heading button{border:0;background:none;color:#7b8799;font-size:24px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}label{display:block;font-size:12px;font-weight:600;margin:22px 0;color:#506078}label input{display:block;width:100%;border:1px solid #dbe2eb;border-radius:6px;padding:13px;margin-top:9px;background:#fff;color:#25334a}label small{display:block;margin-top:8px;font-weight:400}input:focus,select:focus{outline:2px solid #a5c9f8}.empty-state{text-align:center;padding:65px 20px;white-space:normal}.empty-state>span{font-size:32px;color:#9cacc1}.empty-state h3{font-size:16px;font-weight:600}.detail-panel{background:white;border:1px solid var(--border);padding:30px;border-radius:8px}dl{display:grid;grid-template-columns:150px 1fr;gap:20px;margin:30px 0}dt{color:#8792a2}dd{margin:0}.cdc{word-break:break-all;font-family:monospace}.login-page{display:flex;min-height:100vh;background:white}.login-story{width:48%;background:#132b49;color:#d1deef;display:flex;flex-direction:column;justify-content:space-between;padding:55px 65px}.login-story .brand{color:white}.login-story .eyebrow{color:#80a8da}.login-story h1{color:white;font-size:43px;line-height:1.22;font-weight:550;letter-spacing:-1.5px}.login-story p{color:#a5b8d1;margin-top:25px;line-height:1.9}.login-story>span{font-size:11px;color:#839bb9}.story-line{height:1px;background:#35506f;margin:35px 0;width:80px}.login-story small{color:#8da4c2}.login-form{width:370px;margin:auto;padding:40px 0}.login-form h2{font-size:27px;letter-spacing:-.7px;margin-top:30px}.login-form p{font-size:13px}.full{width:100%;margin-top:8px;padding:14px}.login-bottom{text-align:center;margin-top:28px}.login-bottom a{font-weight:600}@media(min-width:1500px){.content{padding:48px 55px}.topbar{padding:0 55px}}@media(max-width:1100px){.sidebar{width:200px;padding:25px 16px}.main{margin-left:200px}.content{padding:30px 22px}.company-grid{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.topbar{padding:0 22px}.user-menu small{display:none}.login-story{padding:40px}.login-form{width:340px}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:16px;display:block;border-right:0;border-bottom:1px solid var(--border)}.brand{margin:0 0 15px;font-size:20px}.sidebar>.eyebrow,.sidebar-note,.sidebar-bottom{display:none}.company-switch{margin:12px 0}.app{display:block}.main{margin-left:0}.topbar{height:65px;padding:0 18px}.topbar>span,.user-menu .test-label{display:none}.user-menu{width:100%;justify-content:flex-end}.content{padding:24px 16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:26px}.page-heading p{font-size:12px}.company-grid{grid-template-columns:1fr}.section-line span{display:none}.metrics{gap:10px}.metric{padding:14px}.metric>strong{font-size:24px}.metric>small{font-size:10px}.filters{flex-wrap:wrap;padding:0 16px 16px}.search-field{flex-basis:100%;max-width:none}.table-heading{padding:18px}.table-heading>.badge{display:none}footer{padding:15px}.right{display:none}.bottom-note{line-height:1.6}.login-story{display:none}.login-form{width:100%;max-width:420px;padding:35px 25px}.detail-panel{padding:20px}dl{grid-template-columns:1fr;gap:10px}dd{margin-bottom:12px}}
.settings-form .detail-panel{margin-bottom:20px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.settings-grid select{display:block;width:100%;padding:13px;margin-top:9px;border:1px solid #dbe2eb;border-radius:6px;background:white}.activity-row{display:grid;grid-template-columns:130px 1fr auto;gap:16px;align-items:center}.settings-save{display:flex;justify-content:space-between;align-items:center;gap:15px}.settings-save span{font-size:12px;color:#7b8799}@media(max-width:700px){.settings-grid{grid-template-columns:1fr}.activity-row{grid-template-columns:80px 1fr}.settings-save{align-items:flex-start;flex-direction:column}}
.settings-tabs{display:flex;gap:8px;overflow-x:auto;background:#fff;border:1px solid var(--border);border-radius:8px;margin:0 0 24px;padding:0 16px}.settings-tabs a{white-space:nowrap;padding:19px 16px;color:#69778b;border-bottom:3px solid transparent;font-size:13px}.settings-tabs a.selected{color:#1668d5;border-bottom-color:#1668d5;font-weight:650}.settings-tabs a:hover{background:#f6f9fd}.settings-tabs a:focus-visible{outline:2px solid #1668d5;outline-offset:-4px}
/* Shared sizing prevents long names, emails and controls from widening the page. */
img,svg,video{max-width:100%}input,select,textarea{max-width:100%;min-width:0}label,dd,.page-heading>div,.user-menu>div,.settings-grid>*,.company-card{min-width:0}p,dd,h1,h2,.company-switch,.user-menu,.notice,.error,code{overflow-wrap:anywhere}label select{display:block;width:100%;padding:13px;margin-top:9px;border:1px solid #dbe2eb;border-radius:6px;background:white;color:var(--ink)}input[type=checkbox]{width:auto;flex-shrink:0}input[type=file]{overflow:hidden}.sidebar{overflow-y:auto}.mobile-bottom-nav,.mobile-menu-close,.menu-backdrop{display:none}.table-scroll{max-width:100%}dialog{max-height:calc(100dvh - 32px);overflow:auto}.detail-panel>a.button{margin:4px 4px 8px 0}
@media(max-width:800px){
 .app{display:block}.main{margin-left:0;width:100%}.content{padding:24px 16px;min-height:calc(100dvh - 160px)}
 .sidebar{position:static;width:100%;padding:20px;display:block}.sidebar .brand{margin-bottom:24px}.sidebar .eyebrow,.sidebar .sidebar-bottom{display:block}
 .mobile-enhanced .sidebar{position:fixed;inset:0 auto 0 0;width:min(320px,88vw);height:100dvh;z-index:60;transform:translateX(-105%);visibility:hidden;background:#fff;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
 .mobile-enhanced .menu-open .sidebar{transform:translateX(0);visibility:visible}.mobile-menu-close{display:flex;margin-left:auto;margin-bottom:18px}
 .menu-open{overflow:hidden}.menu-open .menu-backdrop{display:block;position:fixed;inset:0;background:#14243a80;border:0;z-index:55;width:100%;height:100%}
 .mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;align-items:stretch;background:#fff;border-top:1px solid var(--border);box-shadow:0 -4px 18px #182c4510;padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:6px}
 .mobile-bottom-nav>a,.mobile-bottom-nav>button{flex:1;min-width:0;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:600 11px 'Segoe UI',sans-serif;color:#64738a;border:0;border-radius:8px;background:transparent;text-decoration:none}
 .mobile-bottom-nav span{font-size:22px;line-height:24px}.mobile-bottom-nav [aria-current=page],.mobile-bottom-nav [aria-expanded=true]{background:#eaf2ff;color:#1668d5}
 body:not(.login-page){padding-bottom:calc(78px + env(safe-area-inset-bottom))}html{scroll-padding-bottom:100px}
 .topbar{height:auto;min-height:64px;padding:12px 16px}.topbar>span,.user-menu .test-label{display:none}.user-menu{width:100%;justify-content:flex-end;gap:10px}.user-menu>div{flex:1}.user-menu small{display:block;overflow-wrap:anywhere}.avatar{flex-shrink:0}.logout{min-height:44px;min-width:44px}
 .page-heading{flex-wrap:wrap;gap:12px;margin-bottom:22px}.page-heading h1{font-size:26px}.page-heading>.button{width:100%}.button{white-space:normal;min-height:44px;text-align:center;max-width:100%}
 .company-grid,.settings-grid{grid-template-columns:1fr}.detail-panel{padding:18px}.settings-tabs{padding:0 6px;gap:0}.settings-tabs a{padding:16px 12px;flex-shrink:0}
 label{margin:16px 0}input,select,textarea,.settings-grid select,.filters select,.search-field input{font-size:16px}label input,label select{min-height:46px}label input[type=checkbox]{min-height:22px;min-width:22px}input[type=file]{font-size:14px;padding:10px}
 .activity-row{grid-template-columns:minmax(0,1fr);gap:0;padding:12px 0;border-bottom:1px solid var(--border)}.activity-row button{justify-self:start}.settings-save{flex-direction:column;align-items:stretch}.settings-save .button{width:100%}
 .invoice-item{border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:18px}dl{grid-template-columns:minmax(0,1fr);gap:8px}dd{margin-bottom:14px}
 .filters{flex-wrap:wrap;padding:0 16px 16px}.search-field{flex-basis:100%;max-width:none;min-width:0}.filters select{flex:1;min-width:0}.table-heading{padding:18px;gap:10px;flex-wrap:wrap}
 .mobile-cards,.mobile-cards tbody{display:block;white-space:normal}.mobile-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .mobile-cards tr{display:block;padding:14px 16px;border-top:1px solid var(--border)}.mobile-cards td{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;text-align:left;padding:8px 0;border:0;overflow-wrap:anywhere}.mobile-cards td:before{content:attr(data-label);font-size:10px;color:var(--muted);letter-spacing:.3px}.mobile-cards td[colspan]{display:block}.mobile-cards td[colspan]:before{display:none}.mobile-cards td small{grid-column:2;margin:0}.mobile-cards .client-name{white-space:normal;max-width:none;overflow:visible}.mobile-cards td form{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.mobile-cards td form select{width:100%;min-width:0;padding:10px}.row-action{width:44px;height:44px}
 .pagination{padding:16px;gap:12px;flex-wrap:wrap}.pagination>div{gap:10px;flex-wrap:wrap}.pagination a{padding:10px}.section-line{gap:10px;flex-wrap:wrap}.section-line span{display:block}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:14px}.metric>strong{font-size:24px;overflow-wrap:anywhere}.metric>span{flex-wrap:wrap}
 footer{padding:16px;display:flex;flex-wrap:wrap;gap:8px}footer span{margin:0}.right{float:none}.login-story{display:none}.login-form{width:100%;max-width:440px;padding:32px 20px}.login-page{min-height:100dvh}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{flex:1}dialog{padding:20px}.detail-panel img{max-width:100%!important}
}
@media(max-width:360px){.content{padding:20px 12px}.metrics{grid-template-columns:1fr}.mobile-cards td{grid-template-columns:76px minmax(0,1fr)}.detail-panel{padding:14px}}
.filters{flex-wrap:wrap}.filters select{max-width:100%;min-height:44px}
@media(max-width:800px){.filters select[name=periodo],.filters select[name=estado]{flex:1 1 140px}.filters>.button{flex:1 1 100px}}
.customer-search{position:relative;min-width:0;margin-bottom:16px}.customer-search label{margin-bottom:8px}.customer-suggestions{position:absolute;top:88px;left:0;right:0;z-index:20;max-height:280px;overflow-y:auto;background:white;border:1px solid #cbdcf1;border-radius:8px;box-shadow:0 8px 24px #20355020}.customer-suggestions button{display:block;width:100%;border:0;border-bottom:1px solid var(--border);padding:12px;text-align:left;background:white;color:var(--ink);min-height:48px;overflow-wrap:anywhere}.customer-suggestions button:hover,.customer-suggestions button:focus{background:#eaf2ff}.customer-suggestions strong,.customer-suggestions small{display:block}.customer-suggestions small{margin-top:4px}@media(max-width:800px){.customer-suggestions{position:static;max-height:240px;margin-bottom:8px}}
.invoice-total-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:24px;background:#edf4ff;border:1px solid #cfe0f8;border-radius:8px}.invoice-total-label{display:block;font-size:18px;font-weight:650;color:#253d60}.invoice-total-summary small{display:block;margin-top:6px}.invoice-total-value{display:flex;align-items:baseline;justify-content:flex-end;gap:10px;min-width:0;color:#1257a7}.invoice-total-value>span{font-size:16px;font-weight:600}.invoice-total-value strong{font-size:42px;line-height:1.2;font-weight:750;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0}@media(max-width:800px){.invoice-total-summary{padding:20px 16px;flex-direction:column;align-items:stretch;gap:16px}.invoice-total-value{justify-content:flex-start}.invoice-total-value strong{font-size:clamp(28px,8vw,40px)}}
.pwa-install{position:fixed;bottom:20px;right:20px;z-index:45;max-width:min(440px,calc(100vw - 32px));display:flex;align-items:center;gap:12px;padding:16px;background:white;border:1px solid var(--border);box-shadow:0 5px 24px #20355025;border-radius:12px}.pwa-install[hidden],.pwa-install button[hidden]{display:none}.pwa-install p{font-size:12px;margin:4px 0 0}.pwa-install>div{min-width:0}@media(max-width:800px){.pwa-install{bottom:calc(86px + env(safe-area-inset-bottom));left:16px;right:16px;flex-wrap:wrap}.login-page .pwa-install{bottom:16px}.menu-open .pwa-install{display:none}}
