:root{color:#202124;background:#f6f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f6f5f2}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.auth-page,.app-page{min-height:100vh}.auth-page{position:relative;display:grid;place-items:center;padding:24px;background:linear-gradient(110deg,rgba(174,38,52,.08),transparent 34%),linear-gradient(250deg,rgba(18,133,121,.11),transparent 38%),#f6f5f2}.auth-theme-action{position:absolute;top:18px;right:18px}.auth-shell{display:grid;grid-template-columns:minmax(240px,360px) minmax(320px,440px);gap:32px;width:min(880px,100%);align-items:center}.brand-block{padding:16px 0}.brand-logo{display:block;width:min(320px,100%);height:auto;margin-bottom:18px;object-fit:contain}.brand-logo.compact{width:min(220px,44vw);margin-bottom:8px}.brand-block h1,.topbar h1{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.05;letter-spacing:0}.brand-block p,.eyebrow{margin:10px 0 0;color:#64635f}.auth-panel{width:100%;border:1px solid #dedbd2;border-radius:8px;background:#fff;box-shadow:0 18px 48px #20212414;padding:18px}.mode-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border-radius:8px;background:#efede7}.mode-tabs button,.filter-group button,.pagination button{border:0;border-radius:6px;background:transparent;color:#4f4e4a}.mode-tabs button{min-height:38px;padding:0 8px;font-size:13px}.mode-tabs button.active,.filter-group button.active{background:#fff;color:#202124;box-shadow:0 1px 3px #2021241f}.auth-form{display:grid;gap:14px;margin-top:18px}label{display:grid;gap:7px;color:#4f4e4a;font-size:13px;font-weight:700}input,select{min-height:44px;width:100%;border:1px solid #d4d1c8;border-radius:7px;padding:0 12px;color:#202124;background:#fff;outline:none}input:focus{border-color:#128579;box-shadow:0 0 0 3px #12857924}.primary-button,.secondary-button,.ghost-button,.icon-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border-radius:7px;border:1px solid transparent;padding:0 14px;font-weight:800}.primary-button{background:#ae2634;color:#fff}.secondary-button,.ghost-button,.icon-button{background:#fff;color:#202124;border-color:#d4d1c8}.icon-button{width:42px;padding:0}.export-button{min-width:86px}.message{margin-top:14px;border-radius:7px;padding:12px 14px;font-size:14px;font-weight:700}.message.success{background:#e9f6f3;color:#0e635b}.message.error{background:#fdebed;color:#8e1e2a}.message.info{background:#fff7df;color:#6f5308}.app-page{padding:22px;background:#f6f5f2}.topbar{display:flex;gap:18px;align-items:center;justify-content:space-between;max-width:1680px;margin:0 auto 18px}.topbar-actions{display:flex;gap:10px;align-items:center}.eyebrow{display:block;margin:0 0 6px;font-size:13px;font-weight:800;text-transform:uppercase}.customer-document{display:block;margin-top:6px;color:#64635f;font-size:14px;font-weight:800}.summary-band{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;max-width:1680px;margin:0 auto 18px}.metric{min-height:116px;border:1px solid #dedbd2;border-radius:8px;background:#fff;padding:16px}.metric-label{display:flex;align-items:center;gap:8px;color:#64635f;font-size:13px;font-weight:800}.metric strong{display:block;margin-top:14px;font-size:25px;line-height:1.15}.metric small{display:block;margin-top:5px;color:#64635f}.metric-button{display:block;width:100%;color:inherit;text-align:left}.metric-button:hover{border-color:#c9c4b8;background:#fbfaf7}.metric.open .metric-label{color:#0e635b}.metric.overdue .metric-label{color:#ae2634}.metric.paid .metric-label{color:#547426}.metric.total .metric-label{color:#7b5a0b}.workspace{display:grid;grid-template-columns:minmax(760px,1fr) minmax(320px,380px);gap:18px;max-width:1680px;margin:0 auto;align-items:start}.admin-sync-band,.admin-workspace,.admin-access-panel,.admin-online-panel,.admin-settings-panel,.admin-layout-panel,.admin-security-panel,.admin-users-panel,.admin-logs-panel{max-width:1680px;margin:0 auto 18px}.admin-sync-band{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:12px}.admin-sync-band article,.admin-panel{border:1px solid #dedbd2;border-radius:8px;background:#fff}.admin-sync-band article{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px}.admin-sync-band article div{display:grid;gap:3px}.admin-sync-band article span,.admin-sync-band article small{color:#64635f;font-size:13px;font-weight:800}.sync-settings-grid{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(220px,1fr) minmax(180px,.7fr) minmax(220px,1fr) minmax(180px,.7fr) minmax(180px,.7fr);gap:12px;align-items:end;padding:14px}.admin-security-form,.admin-user-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr)) auto;gap:12px;align-items:end;padding:14px}.admin-user-form{grid-template-columns:minmax(260px,1.2fr) minmax(220px,1fr) minmax(180px,.8fr) auto;border-bottom:1px solid #ebe7df}.admin-user-list{display:grid}.admin-user-list div{display:grid;grid-template-columns:minmax(240px,1fr) minmax(170px,.65fr) 110px minmax(150px,.7fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #ebe7df}.admin-user-list div:last-child{border-bottom:0}.admin-user-list div span:first-child{display:grid;gap:3px}.admin-user-list strong,.admin-user-list span,.admin-user-list small{min-width:0;overflow-wrap:anywhere}.admin-user-list small{color:#64635f;font-weight:800}.admin-user-list select{min-height:38px;width:100%}.toggle-row{display:flex;min-height:48px;align-items:center;gap:10px}.toggle-row input{width:18px;min-height:18px;flex:0 0 auto}.toggle-row span{display:grid;gap:3px}.toggle-row small{color:#64635f}.layout-settings-grid{display:grid;grid-template-columns:minmax(280px,520px);gap:12px;padding:14px}.layout-settings-grid article{display:grid;min-height:118px;align-content:start;gap:7px;border:1px solid #ebe7df;border-radius:8px;padding:12px;background:#fbfaf8}.layout-settings-grid .brand-logo{width:min(240px,100%);margin-bottom:6px}.layout-upload-form{display:grid;gap:8px;margin-top:6px}.layout-upload-form input[type=file]{min-height:auto;border:1px dashed #d4d1c8;border-radius:7px;padding:10px;background:#fff;font-size:13px}.layout-settings-grid strong,.layout-settings-grid span,.layout-settings-grid small{min-width:0;overflow-wrap:anywhere}.layout-settings-grid span{color:#202124;font-size:18px;font-weight:900}.layout-settings-grid small,.layout-settings-grid article:first-child span{color:#64635f;font-size:13px;font-weight:800}.admin-workspace{display:grid;grid-template-columns:minmax(720px,1fr) minmax(340px,460px);gap:18px;align-items:start}.admin-panel{min-width:0;overflow:hidden}.admin-panel-heading{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #ece9e0;padding:12px 14px}.admin-panel-heading h2{margin:0;font-size:18px;letter-spacing:0}.admin-panel-heading span{display:block;margin-top:3px;color:#64635f;font-size:13px;font-weight:800}.admin-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.35fr) minmax(180px,.4fr) auto;gap:10px;border-bottom:1px solid #ece9e0;padding:12px;background:#fbfaf7}.admin-customer-list{display:grid;min-height:460px;align-content:start}.admin-customer-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.9fr) minmax(96px,.4fr) minmax(130px,.6fr);gap:12px;align-items:center;width:100%;min-height:70px;border:0;border-bottom:1px solid #ece9e0;padding:10px 14px;background:#fff;color:#202124;text-align:left}.admin-customer-row:hover,.admin-customer-row.selected,.admin-access-list button:hover{background:#fbfaf7}.admin-customer-row.selected{box-shadow:inset 4px 0 #ae2634}.admin-customer-row span:first-child{display:grid;gap:4px;min-width:0}.admin-customer-row strong,.admin-customer-row small,.admin-customer-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-customer-row small,.admin-log-list small,.admin-access-list small{color:#64635f}.admin-access-list{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:0}.admin-access-list button{display:grid;gap:5px;min-height:86px;border:0;border-right:1px solid #ece9e0;border-bottom:1px solid #ece9e0;background:#fff;color:#202124;padding:12px 14px;text-align:left}.admin-access-list button span:first-child{display:grid;gap:3px;min-width:0}.admin-access-list strong,.admin-access-list span,.admin-access-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-detail-panel{position:sticky;top:18px}.admin-detail-panel .detail-grid{padding:0 14px}.admin-detail-panel .detail-section{margin:4px 14px 16px}.admin-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.danger-button{border-color:#f0c1c7;color:#8e1e2a}.admin-log-list,.admin-online-list{display:grid}.admin-online-list div{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.9fr) minmax(120px,.4fr) minmax(150px,.5fr);gap:12px;align-items:center;min-height:58px;border-bottom:1px solid #ece9e0;padding:10px 14px}.admin-online-list div span:first-child{display:grid;gap:3px;min-width:0}.admin-online-list strong,.admin-online-list span,.admin-online-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-log-list div{display:grid;grid-template-columns:minmax(160px,.6fr) minmax(90px,.35fr) minmax(140px,.45fr) minmax(220px,1fr);gap:12px;align-items:center;min-height:56px;border-bottom:1px solid #ece9e0;padding:10px 14px}.admin-log-list.compact div{grid-template-columns:minmax(150px,1fr) minmax(90px,.5fr);min-height:46px;padding:8px 0}.titles-area,.detail-pane{min-width:0;border:1px solid #dedbd2;border-radius:8px;background:#fff}.titles-area{overflow:hidden}.toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #ece9e0}.search-box{display:flex;align-items:center;gap:9px;min-width:0;border:1px solid #d4d1c8;border-radius:7px;padding:0 10px;background:#fff}.search-box input{border:0;box-shadow:none;min-height:40px;padding:0}.filter-group{display:inline-flex;align-items:center;gap:4px;min-height:42px;border:1px solid #d4d1c8;border-radius:7px;padding:3px;background:#f6f5f2}.filter-group svg{margin:0 5px;color:#64635f}.filter-group button{min-height:32px;padding:0 10px;font-size:13px;font-weight:800}.month-filter{display:grid;grid-template-columns:minmax(520px,1fr) minmax(220px,.45fr) auto;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #ece9e0;background:#fbfaf7}.month-selector{display:grid;gap:9px;border:1px solid #d4d1c8;border-radius:7px;padding:10px 12px;background:#fff}.month-selector-label{display:flex;align-items:center;gap:8px;color:#4f4e4a;font-size:13px;font-weight:900}.year-buttons{display:inline-flex;gap:4px;margin-left:auto}.year-buttons button{min-height:28px;border:0;border-radius:6px;background:#f6f5f2;color:#4f4e4a;padding:0 9px;font-size:12px;font-weight:900}.year-buttons button.active{background:#202124;color:#fff}.month-buttons{display:grid;grid-template-columns:repeat(12,minmax(44px,1fr));gap:4px}.month-buttons button{min-height:32px;border:0;border-radius:6px;background:#f6f5f2;color:#4f4e4a;font-size:12px;font-weight:900}.month-buttons button.active{background:#ae2634;color:#fff}.month-card{display:grid;min-height:76px;align-content:center;gap:2px;border:1px solid #d4d1c8;border-radius:7px;background:#fff;padding:8px 12px}.month-card span,.month-card small{color:#64635f;font-size:12px;font-weight:800}.month-card strong{margin-top:2px;font-size:18px}.title-list{display:grid;min-height:640px;align-content:start}.title-row{display:grid;grid-template-columns:minmax(150px,1.6fr) minmax(92px,.7fr) minmax(108px,.8fr) minmax(92px,.7fr);gap:12px;align-items:center;width:100%;min-height:68px;border:0;border-bottom:1px solid #ece9e0;padding:10px 14px;background:#fff;color:#202124;text-align:left}.title-row:hover,.title-row.selected{background:#fbfaf7}.title-row.selected{box-shadow:inset 4px 0 #ae2634}.title-main{display:grid;gap:4px;min-width:0}.title-main strong,.title-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-main small{color:#64635f}.status{display:inline-flex;min-width:84px;min-height:28px;align-items:center;justify-content:center;border-radius:999px;padding:0 9px;font-size:12px;font-weight:900}.status.open{background:#e9f6f3;color:#0e635b}.status.overdue{background:#fdebed;color:#8e1e2a}.status.paid{background:#edf5e5;color:#547426}.status.neutral{background:#efede7;color:#4f4e4a}.pagination{display:flex;min-height:54px;align-items:center;justify-content:flex-end;gap:10px;padding:10px 12px}.pagination button{min-height:34px;border:1px solid #d4d1c8;padding:0 12px;background:#fff;font-weight:800}.detail-pane{position:sticky;top:18px;padding:18px}.detail-heading{display:flex;gap:12px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid #ece9e0}.detail-heading h2{margin:0 0 8px;font-size:22px;letter-spacing:0}.detail-loading{display:flex;min-height:42px;align-items:center;gap:8px;border-bottom:1px solid #ece9e0;color:#64635f;font-size:13px;font-weight:800}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.detail-grid.compact{margin:12px 0 0;gap:10px}.detail-grid.compact .nfe-row{grid-column:1 / -1}.detail-grid div{min-height:64px;border-bottom:1px solid #ece9e0}.detail-grid dt{color:#64635f;font-size:12px;font-weight:800;text-transform:uppercase}.detail-grid dd{margin:7px 0 0;overflow-wrap:anywhere;font-weight:800}.nfe-row dd{display:flex;align-items:center;gap:8px}.nfe-row dd span{min-width:0;flex:1}.detail-section{border-top:1px solid #ece9e0;margin:4px 0 16px;padding-top:14px}.detail-section h3{margin:0;color:#4f4e4a;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:0}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.readonly-field{margin:0 0 14px}.readonly-input{display:flex;min-height:42px;align-items:center;gap:8px;border:1px solid #d4d1c8;border-radius:7px;padding:0 11px;background:#f6f5f2;color:#4f4e4a;font-weight:800;overflow:hidden}.readonly-input span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-button{display:inline-flex;min-height:34px;align-items:center;gap:7px;flex:0 0 auto;border:1px solid #d4d1c8;border-radius:7px;background:#fff;color:#202124;padding:0 11px;font-size:13px;font-weight:900}.loading-line,.empty-state{display:flex;min-height:120px;align-items:center;justify-content:center;gap:10px;color:#64635f;font-weight:800}.spin{animation:spin .85s linear infinite}:root[data-theme=dark]{color:#f3efe7;background:#121212;color-scheme:dark}:root[data-theme=dark] body{background:#121212}:root[data-theme=dark] .auth-page{background:linear-gradient(110deg,rgba(174,38,52,.16),transparent 34%),linear-gradient(250deg,rgba(18,133,121,.14),transparent 38%),#121212}:root[data-theme=dark] .app-page{background:#121212;color:#f3efe7}:root[data-theme=dark] .brand-logo{filter:invert(1)}:root[data-theme=dark] .auth-panel,:root[data-theme=dark] .metric,:root[data-theme=dark] .titles-area,:root[data-theme=dark] .detail-pane,:root[data-theme=dark] .admin-panel,:root[data-theme=dark] .admin-sync-band article,:root[data-theme=dark] .admin-access-list button,:root[data-theme=dark] .search-box,:root[data-theme=dark] .month-selector,:root[data-theme=dark] .month-card,:root[data-theme=dark] .layout-settings-grid article{border-color:#34312d;background:#1b1a18}:root[data-theme=dark] .auth-panel{box-shadow:0 18px 48px #00000057}:root[data-theme=dark] .mode-tabs,:root[data-theme=dark] .filter-group,:root[data-theme=dark] .year-buttons button,:root[data-theme=dark] .month-buttons button,:root[data-theme=dark] .readonly-input{border-color:#34312d;background:#25231f}:root[data-theme=dark] .mode-tabs button,:root[data-theme=dark] .filter-group button,:root[data-theme=dark] .pagination button,:root[data-theme=dark] label,:root[data-theme=dark] .month-selector-label,:root[data-theme=dark] .detail-section h3,:root[data-theme=dark] .readonly-input{color:#d7d0c5}:root[data-theme=dark] .mode-tabs button.active,:root[data-theme=dark] .filter-group button.active{background:#f3efe7;color:#1b1a18;box-shadow:none}:root[data-theme=dark] input{border-color:#34312d;background:#1b1a18;color:#f3efe7}:root[data-theme=dark] .layout-upload-form input[type=file]{border-color:#34312d;background:#211f1c;color:#f3efe7}:root[data-theme=dark] select{border-color:#34312d;background:#1b1a18;color:#f3efe7}:root[data-theme=dark] input::placeholder{color:#8f887e}:root[data-theme=dark] .secondary-button,:root[data-theme=dark] .ghost-button,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .pagination button,:root[data-theme=dark] .copy-button{border-color:#3d3933;background:#211f1c;color:#f3efe7}:root[data-theme=dark] .primary-button{background:#c83a49}:root[data-theme=dark] .toolbar,:root[data-theme=dark] .month-filter,:root[data-theme=dark] .admin-panel-heading,:root[data-theme=dark] .admin-filters,:root[data-theme=dark] .admin-customer-row,:root[data-theme=dark] .admin-access-list button,:root[data-theme=dark] .admin-online-list div,:root[data-theme=dark] .admin-user-form,:root[data-theme=dark] .admin-user-list div,:root[data-theme=dark] .layout-settings-grid article,:root[data-theme=dark] .admin-log-list div,:root[data-theme=dark] .title-row,:root[data-theme=dark] .detail-heading,:root[data-theme=dark] .detail-loading,:root[data-theme=dark] .detail-grid div,:root[data-theme=dark] .detail-section{border-color:#34312d}:root[data-theme=dark] .month-filter,:root[data-theme=dark] .admin-filters,:root[data-theme=dark] .metric-button:hover,:root[data-theme=dark] .admin-customer-row:hover,:root[data-theme=dark] .admin-customer-row.selected,:root[data-theme=dark] .admin-access-list button:hover,:root[data-theme=dark] .title-row:hover,:root[data-theme=dark] .title-row.selected{background:#211f1c}:root[data-theme=dark] .admin-customer-row,:root[data-theme=dark] .admin-access-list button,:root[data-theme=dark] .admin-online-list div,:root[data-theme=dark] .layout-settings-grid article,:root[data-theme=dark] .title-row{background:#1b1a18;color:#f3efe7}:root[data-theme=dark] .year-buttons button.active{background:#f3efe7;color:#1b1a18}:root[data-theme=dark] .month-buttons button.active{background:#c83a49;color:#fff}:root[data-theme=dark] .brand-block p,:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .customer-document,:root[data-theme=dark] .metric-label,:root[data-theme=dark] .metric small,:root[data-theme=dark] .admin-panel-heading span,:root[data-theme=dark] .admin-sync-band article span,:root[data-theme=dark] .admin-sync-band article small,:root[data-theme=dark] .toggle-row small,:root[data-theme=dark] .admin-customer-row small,:root[data-theme=dark] .admin-log-list small,:root[data-theme=dark] .admin-access-list small,:root[data-theme=dark] .admin-online-list small,:root[data-theme=dark] .layout-settings-grid small,:root[data-theme=dark] .layout-settings-grid article:first-child span,:root[data-theme=dark] .month-card span,:root[data-theme=dark] .month-card small,:root[data-theme=dark] .title-main small,:root[data-theme=dark] .detail-loading,:root[data-theme=dark] .detail-grid dt,:root[data-theme=dark] .loading-line,:root[data-theme=dark] .empty-state{color:#a79f93}:root[data-theme=dark] .status.open,:root[data-theme=dark] .message.success{background:#153b36;color:#8de0d3}:root[data-theme=dark] .status.overdue,:root[data-theme=dark] .message.error{background:#431a20;color:#ff9aa6}:root[data-theme=dark] .status.paid{background:#24351c;color:#b5df8b}:root[data-theme=dark] .status.neutral{background:#2b2925;color:#d7d0c5}:root[data-theme=dark] .danger-button{border-color:#5c2a31;color:#ff9aa6}:root[data-theme=dark] .message.info{background:#3c3218;color:#f0d17a}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1080px){.summary-band{grid-template-columns:repeat(2,minmax(160px,1fr))}.workspace,.admin-workspace{grid-template-columns:1fr}.admin-detail-panel,.detail-pane{position:static}}@media(max-width:760px){.auth-shell{grid-template-columns:1fr;gap:16px}.auth-page,.app-page{padding:14px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.summary-band,.toolbar,.month-filter,.admin-sync-band,.sync-settings-grid,.layout-settings-grid,.admin-security-form,.admin-user-form,.admin-filters,.admin-access-list,.admin-online-list div,.admin-user-list div{grid-template-columns:1fr}.admin-customer-row{grid-template-columns:1fr auto;min-height:92px}.admin-customer-row>span:nth-child(2),.admin-customer-row>small{color:#64635f;font-size:13px}.admin-log-list div{grid-template-columns:1fr}.month-selector-label{align-items:flex-start;flex-direction:column}.year-buttons{margin-left:0}.month-buttons{grid-template-columns:repeat(6,minmax(44px,1fr))}.filter-group{display:grid;grid-template-columns:auto repeat(4,1fr);width:100%}.filter-group button{padding:0 6px}.title-row{grid-template-columns:1fr auto;min-height:96px}.title-row>span:nth-child(2),.title-row>strong{color:#64635f;font-size:13px}.detail-grid,.detail-actions,.admin-action-grid{grid-template-columns:1fr}}@media(max-width:440px){.mode-tabs{grid-template-columns:1fr}.metric strong{font-size:22px}.filter-group{grid-template-columns:1fr 1fr}.month-buttons{grid-template-columns:repeat(3,minmax(64px,1fr))}.filter-group svg{display:none}}
