:root{--bg:#f5f7fb;--ink:#233146;--muted:#68778d;--line:#e7ebf2;--blue:#4b5ce0;--dark:#3545bc;--pale:#eef0ff;--green:#087c68;--radius:13px}*{box-sizing:border-box}body{margin:0;font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}h1,h2,h3,p{margin-top:0}h1{font-size:33px;letter-spacing:-1px;line-height:1.25;margin-bottom:8px;font-weight:650}h2{font-size:20px;letter-spacing:-.4px;font-weight:650;margin-bottom:8px}h3{font-size:15px;margin-bottom:8px}p{margin-bottom:16px}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline:3px solid #b87515;outline-offset:3px}.muted{color:var(--muted)}.small{font-size:13px}.kicker{font-size:11px;font-weight:750;letter-spacing:1.3px;color:var(--blue);margin-bottom:9px}.brand{display:flex;align-items:center;gap:11px;color:#28334c;font-size:24px;font-weight:750;line-height:1.2;letter-spacing:-.8px}.brand:hover{text-decoration:none}.brand b{display:grid;place-items:center;width:38px;height:38px;background:var(--blue);color:white;border-radius:11px;font-family:Georgia,serif;font-size:32px;padding-bottom:4px}.brand small{display:block;font-size:8px;letter-spacing:1.9px;font-weight:700;color:var(--muted);margin-top:6px}.sidebar{width:235px;background:white;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;padding:28px 16px 18px;display:flex;flex-direction:column;overflow:auto}.sidebar>.brand{padding:0 12px}.workspace-label{border:1px solid var(--line);border-radius:7px;padding:10px 12px;font-size:11px;letter-spacing:.8px;margin:32px 0 22px;display:flex;justify-content:space-between;color:var(--muted);font-weight:650}.nav-link{display:flex;align-items:center;gap:12px;color:#637188;padding:11px 14px;margin-bottom:6px;border-radius:8px;font-size:13px;font-weight:550;min-height:44px}.nav-link>span:first-child{font-size:20px;width:20px;text-align:center;line-height:1}.nav-link:hover{text-decoration:none;background:#f7f8fb}.nav-link.active{background:var(--pale);color:var(--blue);font-weight:700}.new{font-size:8px;background:#e8f6f1;color:var(--green);padding:3px 5px;border-radius:4px;letter-spacing:.3px;margin-left:auto}.sidebar-foot{margin-top:auto;padding-top:30px}.help-card{border:1px solid #e1e6f4;background:#f8f9fe;border-radius:10px;padding:14px 12px;margin-bottom:24px;font-size:11px}.help-card span{display:block;color:var(--muted);margin-bottom:6px}.help-card a{font-weight:650}.identity{display:flex;gap:10px;border-top:1px solid var(--line);padding:18px 0}.avatar{background:#eef0f6;color:#627092;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-weight:700;flex-shrink:0}.identity strong{font-size:11px;max-width:158px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity small{font-size:10px;color:var(--muted)}.sidebar-foot>.button{width:100%;font-size:11px;padding:7px;min-height:32px}.workspace{margin-left:235px;min-height:100vh}.topbar{height:64px;padding:0 40px;border-bottom:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;font-size:11px}.topbar>div{display:flex;align-items:center;gap:13px}.topbar .breadcrumb,.topbar>div>span{color:var(--muted)}.top-status{color:var(--muted);gap:7px!important}.top-status i{width:5px;height:5px;border-radius:50%;background:#1a9a81}.demo-banner{text-align:center;background:#fff7df;border-bottom:1px solid #efe3be;padding:7px 20px;font-size:10px;letter-spacing:.2px;color:#826525}#main{padding:34px 40px 24px;max-width:1440px;margin:0 auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:28px}.heading>.muted,.heading p.muted{font-size:13px;margin-bottom:0}.heading-actions{display:flex;gap:10px;align-items:center}.period{display:flex;border:1px solid #dce2ee;border-radius:7px;background:white;padding:3px;gap:4px}.period select{border:0;background:transparent;color:var(--ink);font-size:12px;padding:8px;max-width:145px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--blue);background:var(--blue);color:white;padding:10px 16px;min-height:41px;border-radius:7px;font-size:13px;font-weight:650;text-align:center;white-space:nowrap}.button:hover{background:var(--dark);text-decoration:none;color:#fff}.button.secondary{border-color:#dce2ed;background:#fff;color:#55647e}.button.secondary:hover{background:#f4f5ff}.tax-banner{background:#eef1ff;border:1px solid #e0e6ff;border-radius:var(--radius);padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:24px}.tax-banner>div{display:flex;align-items:center;gap:18px}.banner-icon{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:#e0e5ff;font-size:30px;color:var(--blue)}.tax-banner h2{font-size:17px;margin-bottom:5px}.tax-banner .kicker{font-size:9px;display:block;margin-bottom:5px}.tax-banner p{font-size:12px;color:#6c7593;margin:0}.tax-banner>a{background:#fff;border:1px solid #dfe4fb;border-radius:7px;padding:10px 14px;font-size:12px;font-weight:650;white-space:nowrap}.tax-banner>a>span{margin-left:15px}.tax-overview{display:grid;grid-template-columns:1.1fr .8fr 1.2fr;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px 6px;margin-bottom:30px}.tax-overview>div{padding:0 26px;border-right:1px solid var(--line);display:flex;align-items:flex-start;flex-direction:column}.tax-overview>div:last-child{border:0}.tax-overview span{font-size:11px;color:var(--muted);margin-bottom:8px}.tax-overview strong{font-size:30px;letter-spacing:-1px;line-height:1.3;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.tax-overview strong.next-step{font-size:18px;letter-spacing:-.4px;margin-top:6px;margin-bottom:6px}.tax-overview small,.tax-overview a{font-size:10px;color:var(--muted);margin-top:6px}.tax-overview a{color:var(--blue)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}.section-title h2{font-size:17px;margin:0}.section-title a{font-size:11px;font-weight:600}.section-title p{font-size:12px;margin:6px 0 0}.tax-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:26px}.tax-card{border:1px solid var(--line);background:white;border-radius:var(--radius);padding:24px}.tax-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.model-icon{width:41px;height:41px;border-radius:9px;background:#edf0ff;color:var(--blue);font-size:12px;font-weight:750;display:grid;place-items:center}.tax-card:nth-child(2) .model-icon{color:#0b8a78;background:#e6f6f1}.model-label{font-size:10px;font-weight:700;letter-spacing:1.2px;color:var(--muted);margin-bottom:7px}.tax-card h2{font-size:20px}.tax-card>.muted{font-size:12px;margin-bottom:21px}.tax-amount{background:#f8f9fc;border-radius:8px;padding:17px 18px;margin-bottom:18px}.tax-amount small{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}.tax-amount strong{font-size:32px;line-height:1.25;font-weight:650;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.card-details{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:19px}.tax-card>.button{width:100%}.card-foot{text-align:center;color:#8390a4;font-size:10px;margin:10px 0 0}.badge{font-size:10px;color:#596d84;background:#f0f3f8;border-radius:5px;padding:4px 8px;white-space:nowrap;font-weight:600}.badge.green{color:#14836b;background:#e8f7f1}.badge.amber{color:#996b21;background:#fff4da}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:24px;min-width:0}.workflow{padding-bottom:28px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding-top:7px}.steps b{width:25px;height:25px;border:1px solid #e0e5f6;background:#f3f5ff;color:var(--blue);font-size:11px;border-radius:50%;display:grid;place-items:center;margin-bottom:11px}.steps h3{font-size:12px}.steps p{font-size:11px;color:var(--muted);margin:0}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;color:var(--muted);font-weight:550;padding:12px 14px;border-bottom:1px solid var(--line);background:#f9fafc;white-space:nowrap}td{font-size:12px;padding:16px 14px;border-bottom:1px solid #eef1f6;overflow-wrap:anywhere;max-width:300px}td small{display:block;color:var(--muted);font-size:11px;margin-top:4px}td:last-child{white-space:nowrap}tbody tr:last-child td{border-bottom:0}.numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.text-button{border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:600;padding:5px}.empty{text-align:center;padding:45px 20px;color:var(--muted);font-size:13px}.empty span{display:block;font-size:33px;color:#bac7df;margin-bottom:15px}.empty h3{color:var(--ink);font-size:17px}.small-empty{padding:22px}.notice{background:#f0f3fe;border:1px solid #dfe5f8;border-radius:8px;padding:14px 16px;font-size:13px;margin-bottom:22px;color:#556481}.notice ul{margin:8px 0 12px;padding-left:18px}.notice li{margin-bottom:5px}.notice.amber{background:#fff8e8;border-color:#efdfba;color:#886326}.notice.error{background:#fff0ed;border-color:#f0cbc6;color:#973c31}.reader-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:24px;align-items:start}.upload-card{border:2px dashed #ccd6f1;text-align:center;padding:35px 24px}.upload-card .scan-icon{display:inline-flex;align-items:center;justify-content:center;background:#eef1ff;border-radius:12px;width:58px;height:58px;font-size:33px;color:var(--blue);margin-bottom:16px}.upload-card h2{font-size:19px}.upload-card>p{font-size:12px;color:var(--muted)}.upload-card .button{margin:0 4px 12px}.upload-card .small{margin:8px 0 0;line-height:1.6}.preview-card>img{display:block;max-width:100%;max-height:550px;object-fit:contain;margin:auto;border:1px solid var(--line)}.reader-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.preview-card details summary{font-size:13px;color:var(--muted);cursor:pointer;margin:15px 0}.preview-card textarea{width:100%;border:1px solid var(--line);padding:10px;font-size:12px}.preview-card progress{width:100%;height:7px;accent-color:var(--blue)}#ocr-progress{font-size:12px;color:var(--muted);margin-top:15px}.review-card .section-title h2{font-size:20px}.review-separator{border-top:1px solid var(--line);padding-top:20px;margin-top:10px}.review-separator h3{font-size:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.field{display:block;font-size:12px;font-weight:550;color:#526078;margin-bottom:18px;min-width:0}.field input,.field select,.field textarea,.settings-card td>input{display:block;width:100%;max-width:100%;border:1px solid #d9e0eb;border-radius:6px;background:#fff;padding:10px 11px;color:var(--ink);font-size:13px;min-height:39px;margin-top:6px}.field textarea{resize:vertical}.field input[type=file]{font-size:12px}.check{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--muted);margin:20px 0}.check input{width:16px;height:16px;flex-shrink:0;margin:1px 0}.form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.settings-card{max-width:950px}.settings-card td{min-width:110px}.settings-card td>input{margin:0}.settings-card h3{margin-top:18px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.metrics .card>span{font-size:12px;color:var(--muted)}.metrics strong{display:block;font-size:27px;margin-top:16px;letter-spacing:-1px}footer{padding:0 40px 24px;color:#8c98a9;font-size:10px;display:flex;justify-content:space-between;max-width:1440px;margin:auto}.mobile-brand{display:none}.loading{padding:15vh 30px;max-width:800px;margin:auto;text-align:center}.login{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;max-width:1150px;margin:10vh auto;padding:30px 40px}.login-copy>.brand{margin-bottom:65px}.login-copy>.brand span{font-size:11px;letter-spacing:2px;color:var(--muted)}.login h1{font-size:42px;letter-spacing:-1.5px;line-height:1.2}.login-copy>p:not(.kicker){font-size:16px;color:var(--muted);max-width:370px}.privacy-note{font-size:13px;color:var(--green);margin-top:32px}.login-card{background:#fff;padding:34px;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 60px #31467005}.login-card h2{font-size:26px;margin-bottom:24px}.login-card .button{width:100%}.login-card>.small{font-size:11px;margin:20px 0 0}.demo-login{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.demo-login p{font-size:12px;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;max-width:min(650px,90vw);background:#233b58;color:white;font-size:13px;padding:14px 20px;border-radius:9px;z-index:100;transition:opacity .15s,transform .15s;box-shadow:0 6px 30px #182f4a22}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#983f39}dialog{padding:0;border:1px solid var(--line);border-radius:16px;width:min(850px,94vw);max-height:90vh;color:var(--ink);box-shadow:0 20px 100px #162d4b33;background:white}dialog::backdrop{background:#1e315a66;backdrop-filter:blur(2px)}.modal-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 28px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}.modal-header h2{font-size:25px;margin:0}.modal-header .kicker{font-size:10px}.icon-button{border:0;background:#f4f6fa;border-radius:50%;width:32px;height:32px;font-size:24px;color:#728197}.modal-content{padding:24px 28px}.modal-actions{position:sticky;bottom:0;padding:18px 28px;border-top:1px solid var(--line);background:#fff;justify-content:flex-end;gap:12px}.result-panel{padding:20px 22px;background:#f3f5ff;border:1px solid #e5e9fb;border-radius:9px;margin-bottom:22px}.result-panel>span{font-size:12px;color:var(--muted)}.result-panel>strong{display:block;font-size:32px;letter-spacing:-.8px;margin:5px 0}.result-panel>small{font-size:11px;color:var(--muted)}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow:auto}.tabs button{background:transparent;border:0;color:var(--muted);font-size:12px;white-space:nowrap;padding:12px 1px}.tabs button.selected{color:var(--blue);border-bottom:2px solid var(--blue);font-weight:650}.cell-code{font-size:11px;background:#f0f2f9;padding:4px 6px;border-radius:4px;font-variant-numeric:tabular-nums}.doc-row{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.modal-content section>p{font-size:13px;color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.skip{position:fixed;top:-100px;left:15px;background:white;padding:12px;border:2px solid var(--blue);z-index:200}.skip:focus{top:10px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:1150px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.workspace{margin-left:205px}#main{padding:28px 24px}.topbar{padding:0 24px}.tax-overview>div{padding:0 18px}.tax-overview strong.next-step{font-size:15px}.tax-overview strong{font-size:27px}.tax-banner{padding:20px}.tax-banner .banner-icon{display:none}.tax-banner p{max-width:400px}.nav-link{padding-left:12px;padding-right:10px;font-size:12px}.new{font-size:7px}.tax-card{padding:22px}.reader-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px}}
@media(max-width:900px){.sidebar{width:155px}.workspace{margin-left:180px}.sidebar .brand{font-size:21px;padding:0 5px}.sidebar .brand small{font-size:7px}.nav-link{gap:9px;font-size:11px;padding:10px 9px}.new{display:none}#main{padding:24px 20px}.heading{align-items:flex-start}.heading h1{font-size:29px}.heading p.muted{font-size:12px;max-width:350px}.period select{font-size:11px;max-width:110px}.tax-overview{grid-template-columns:1.1fr .8fr}.tax-overview>div:last-child{display:none}.tax-overview>div:nth-child(2){border:0}.tax-grid{gap:16px}.tax-card{padding:20px}.tax-card h2{font-size:18px}.tax-card>.muted{min-height:34px}.tax-banner{flex-direction:column;align-items:flex-start;gap:14px}.tax-banner>a{align-self:flex-start}.tax-banner p{max-width:none}.steps{gap:16px}.reader-layout{grid-template-columns:1fr}.login{gap:35px;padding:30px;max-width:850px}.login h1{font-size:35px}}
@media(max-width:650px){.sidebar{position:static;width:100%;padding:16px 12px 9px;overflow:visible;border:0;border-bottom:1px solid var(--line)}.sidebar>.brand{display:flex;justify-content:flex-start;padding:0 6px;margin-bottom:17px;font-size:21px}.sidebar>.brand small{font-size:8px}.workspace-label,.sidebar-foot .help-card,.identity{display:none}.sidebar>nav{display:flex;overflow-x:auto;gap:6px}.nav-link{flex-direction:column;justify-content:center;gap:6px;padding:9px 10px;margin:0;min-width:66px;font-size:11px;white-space:nowrap}.nav-link>span:first-child{font-size:19px}.sidebar-foot{padding:10px 4px 0;display:flex;justify-content:flex-end}.sidebar-foot>.button{width:auto;border:0;padding:3px;min-height:23px;font-size:10px;background:transparent}.workspace{margin:0}.topbar{height:43px;padding:0 18px;font-size:10px}.demo-banner{font-size:9px;padding:8px 16px}#main{padding:26px 16px 20px}.heading{flex-direction:column;align-items:stretch;gap:18px;margin-bottom:22px}.heading h1{font-size:30px}.heading p.muted{max-width:none}.heading-actions{justify-content:flex-start}.period{width:100%;justify-content:space-between}.period label{flex:1}.period select{width:100%;max-width:none;font-size:13px;padding:8px}.tax-overview{padding:18px 0;margin-bottom:25px;gap:0}.tax-overview>div{padding:0 17px}.tax-overview span{font-size:10px}.tax-overview strong{font-size:26px}.tax-overview small{font-size:9px}.tax-grid{grid-template-columns:1fr;gap:18px}.tax-card{padding:23px}.tax-card>.muted{min-height:0;font-size:13px}.tax-card h2{font-size:22px}.tax-amount strong{font-size:34px}.tax-card .button{min-height:44px;font-size:14px}.card{padding:20px}.tax-banner h2{font-size:17px}.tax-banner p{font-size:12px}.tax-banner .kicker{font-size:9px}.section-title h2{font-size:16px}.section-title>a{font-size:10px;max-width:120px;text-align:right}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.steps h3{font-size:13px}.steps p{font-size:12px}.steps b{width:28px;height:28px}.card-details{font-size:11px}.badge{font-size:11px}.card-foot{font-size:11px}.reader-layout{gap:0}.upload-card .button{display:flex;margin:12px auto;max-width:270px}.review-card .form-grid{gap:0 12px}.field{font-size:13px}.field input,.field select,.field textarea{font-size:14px}.metrics{grid-template-columns:1fr;gap:0}.metrics strong{font-size:31px}footer{padding:0 18px 22px;font-size:10px}footer span{display:none}.login{grid-template-columns:1fr;padding:28px 20px;margin:0 auto;max-width:500px;gap:24px}.login-copy>.brand{margin-bottom:35px}.login h1{font-size:33px}.login-copy>p:not(.kicker){font-size:15px}.privacy-note{font-size:12px;margin-top:20px}.login-card{padding:26px}.modal-header{padding:18px 20px}.modal-content{padding:20px 16px}.modal-actions{padding:14px 16px;gap:8px;flex-wrap:wrap}.modal-actions .button{font-size:12px;padding:9px 11px}.modal-header h2{font-size:23px}.doc-row{flex-wrap:wrap}.tabs{gap:14px}.tabs button{font-size:11px}.settings-card{padding:20px 16px}td,th{padding:12px 10px}.form-actions{justify-content:stretch}.form-actions .button{flex:1}.button{white-space:normal}dialog{max-width:94vw}.result-panel strong{font-size:31px}}
@media(max-width:360px){#main{padding-left:12px;padding-right:12px}.heading h1{font-size:28px}.tax-overview strong{font-size:23px}.tax-overview>div{padding:0 13px}.tax-overview span{font-size:9px}.tax-banner{padding:18px}.form-grid{grid-template-columns:1fr}.tax-card{padding:20px}.tax-card h2{font-size:20px}.section-title>a{max-width:100px}.review-card{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.extra-tax-line{border:1px solid #e4e9f2;background:#fafbfe;border-radius:8px;padding:16px;margin:16px 0}.extra-tax-line h3{font-size:13px}.extra-tax-line .section-title{margin-bottom:14px}

.pdf-preview{min-height:180px;padding:12px;border:1px solid #e3e7f0;border-radius:14px;background:#f7f8fc;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px}.pdf-preview canvas{display:block;max-width:100%;height:auto;border:1px solid #d9deea;background:#fff;box-shadow:0 3px 14px rgba(25,34,62,.12)}.pdf-preview small{font-size:14px;color:#70798b;text-align:center}
.invoice-client{background:#f8f9fd;border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:22px}.invoice-client h3,.invoice-line h3{font-size:16px;margin:3px 0}.client-create{background:white;border:1px solid var(--line);border-radius:8px;padding:18px;margin:12px 0}.invoice-line{border:1px solid #e3e8f1;background:#fbfcfe;border-radius:9px;padding:17px;margin:14px 0}.invoice-line-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:14px}.invoice-line-total{display:flex;justify-content:flex-end;gap:20px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.invoice-line-total b{color:var(--ink);margin-left:5px;font-variant-numeric:tabular-nums}.invoice-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;background:#f3f5ff;border:1px solid #e5e9fb;border-radius:9px;margin-top:12px}.invoice-totals>div{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.invoice-totals strong{font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}.invoice-totals .invoice-grand{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid #dfe4f2;padding-top:13px;color:var(--ink);font-weight:650}.invoice-totals .invoice-grand strong{font-size:26px;color:var(--blue)}
@media(max-width:650px){.invoice-client{padding:16px}.invoice-line{padding:13px}.invoice-line-total{justify-content:space-between;gap:8px;font-size:11px}.invoice-totals{grid-template-columns:1fr 1fr}.invoice-totals strong{font-size:16px}.invoice-totals .invoice-grand strong{font-size:24px}}

/* Ingresos con flujo de factura y tabla compacta */
.income-list{padding:0;overflow:hidden}.income-list .table-wrap{overflow-x:auto}.income-list-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;color:var(--muted);font-size:14px}.income-list table{min-width:1120px}.income-list thead{background:#f0f1f6;color:#737787;text-transform:uppercase;font-size:12px}.income-list th,.income-list td{padding:14px 12px;white-space:nowrap}.income-list tbody tr:nth-child(even){background:#f8f9fb}.income-list tbody tr:hover{background:#f1f8f6}.badge.red{background:#ffebe9;color:#eb4c4b}.invoice-number,.contact-link{border:0;background:none;color:#74798a;text-decoration:underline;text-underline-offset:2px;padding:0;font:inherit;cursor:pointer}.income-concept{max-width:190px;overflow:hidden;text-overflow:ellipsis}.invoice-client{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.5fr);align-items:end;gap:12px;background:transparent;border:0;padding:0;margin-bottom:22px}.invoice-client>.field{margin:0}.invoice-client select{min-height:44px}.invoice-client-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.invoice-meta{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px 16px;margin:20px 0 28px}.invoice-meta .field{margin:0}.invoice-lines-head{display:grid;grid-template-columns:minmax(240px,1fr) repeat(5,minmax(100px,130px));gap:10px;padding:12px 14px;background:#f0f1f6;color:#737787;text-transform:uppercase;font-size:11px;font-weight:700}.invoice-line{border:0;border-radius:0;background:#f7fbf9;padding:14px;margin:0}.invoice-line:nth-child(odd){background:#fff}.invoice-line-head{display:none}.invoice-line-fields{display:grid;grid-template-columns:minmax(240px,1fr) repeat(5,minmax(100px,130px));gap:10px}.invoice-line-fields .field{margin:0}.invoice-concept{display:none}.invoice-line-total{justify-content:flex-end;border-top:0;padding-top:8px}.invoice-recharge{margin:18px 0}.invoice-totals{max-width:520px;margin:20px 0 0 auto;background:#f4f4f5;border-color:#ededf0}.invoice-totals .invoice-grand strong{color:#12151c}.invoice-meta input[readonly]{background:#f0f1f4;color:#767b89}.invoice-client .client-create{grid-column:1/-1;width:100%}
@media(max-width:820px){.invoice-meta{grid-template-columns:repeat(2,minmax(145px,1fr))}.invoice-lines-table{overflow-x:auto}.invoice-lines-head,.invoice-line-fields{min-width:900px}.income-list-top{padding:14px}.invoice-client{grid-template-columns:1fr}.invoice-client-actions{grid-column:auto}}
@media(max-width:520px){.invoice-meta{grid-template-columns:1fr 1fr;gap:10px}.invoice-meta .field{font-size:13px}.invoice-totals{grid-template-columns:1fr 1fr}.income-list-top>div{display:none}}
:where(.contact-tabs){display:flex;gap:8px;margin:0 0 18px;border-bottom:1px solid var(--line)}.contact-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:12px 14px;font-weight:600}.contact-tabs button.selected{color:var(--blue);border-bottom-color:var(--blue)}.contact-tabs button span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:5px;border-radius:99px;background:#f0f2f8;font-size:12px}.contact-tabs button:focus-visible{outline-offset:-3px}
.zoom-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 10px;color:var(--muted);font-size:12px}.zoom-toolbar button{min-width:34px;min-height:32px;padding:4px 9px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);font-size:15px}.zoom-toolbar button:hover{background:#f2f4fb}.zoom-toolbar output{min-width:46px;text-align:center;font-variant-numeric:tabular-nums}.zoom-stage{max-height:68vh;overflow:auto;overscroll-behavior:contain;padding:12px;border:1px solid #e3e7f0;border-radius:12px;background:#f7f8fc}.zoom-stage>img,.zoom-stage canvas{display:block;max-width:none;max-height:none;height:auto;margin:0 auto;border:1px solid #d9deea;background:#fff;box-shadow:0 3px 14px rgba(25,34,62,.12)}.zoom-stage .pdf-preview{width:max-content;min-width:100%;border:0;padding:0;background:transparent}.attachment-zoom-stage{max-height:80vh}.attachment-zoom-stage .attachment-preview-pdf{width:max-content;min-width:100%}
.record-extra{margin:16px 0;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.record-extra summary{padding:14px 2px;color:var(--ink);font-weight:650;cursor:pointer}.record-extra .form-grid{padding:4px 0 14px}
.expense-data-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.expense-data-icons{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-left:auto}.expense-data-icons .icon-action{width:48px;height:44px;border-radius:9px;color:#4b5ce0;background:#fff;box-shadow:0 1px 3px #23314612}.expense-data-icons .icon-action:nth-child(2){color:#087c68}.expense-data-icons .icon-action:nth-child(3){color:#7652bb}.expense-data-icons .icon-action svg{width:25px;height:25px}.expense-data-icons .icon-action:hover{transform:translateY(-1px);box-shadow:0 3px 8px #23314620}

/* Acciones de factura, sugerencias y vista imprimible */
.invoice-row-actions{display:flex;align-items:center;gap:6px}.icon-action{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #dce2ed;border-radius:7px;background:#fff;color:#56657b}.icon-action:hover{background:#f0f6f4;color:#087c68;border-color:#b9d8cf}.icon-action.danger:hover{color:#b93434;background:#fff3f2;border-color:#f0c5c1}.client-autocomplete{position:relative;margin:0}.client-autocomplete>label{display:block;font-size:12px;font-weight:550;color:#526078}.client-autocomplete>input{display:block;width:100%;min-height:44px;border:1px solid #d9e0eb;border-radius:6px;background:#fff;padding:10px 11px;color:var(--ink);font-size:13px;margin-top:6px}.client-suggestions{position:absolute;z-index:10;top:100%;left:0;right:0;max-height:250px;overflow:auto;background:#fff;border:1px solid #d9e0eb;border-radius:7px;box-shadow:0 10px 25px #23314620}.client-suggestions button{display:flex;width:100%;justify-content:space-between;gap:14px;border:0;border-bottom:1px solid #eef1f5;background:#fff;padding:11px 13px;text-align:left;color:var(--ink)}.client-suggestions button:hover,.client-suggestions button:focus{background:#f1f8f6}.client-suggestions button span,.client-no-match{color:var(--muted)}.client-no-match{padding:12px;font-size:13px}.preview-toolbar>div{display:flex;align-items:center;gap:10px}.invoice-preview-wrap{padding:22px;background:#f2f4f7}.invoice-preview{width:210mm;min-height:285mm;margin:0 auto;background:#fff;color:#303746;padding:17mm 17mm 14mm;box-shadow:0 3px 18px #1e315a1c;font:10pt/1.45 Arial,sans-serif;position:relative}.print-brand{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:9mm;border-bottom:1px solid #d8e0e6}.print-wordmark{font-size:28px;letter-spacing:-1px;color:#183b50}.print-wordmark b{font-weight:700;color:#087c78}.print-contact{text-align:right;color:#546777;font-size:9pt;line-height:1.6}.print-parties{display:flex;justify-content:space-between;align-items:flex-start;margin:13mm 0 10mm;gap:12mm}.print-invoice-badge,.print-client-badge{display:flex;flex-direction:column;gap:4px}.print-invoice-badge strong{font-size:15pt;color:#173d54}.print-invoice-badge span{font-size:12pt;font-weight:700;color:#087c78}.print-invoice-badge small{font-size:9pt;color:#637381;margin-top:5px}.print-client-badge{min-width:70mm;background:#f1f5f6;padding:6mm 7mm;border-left:3px solid #087c78}.print-client-badge strong{font-size:11pt;color:#183b50}.print-client-badge span{font-size:9pt;color:#4c5b66}.print-seller-client{display:grid;grid-template-columns:1fr 1fr;gap:20mm;margin:0 0 12mm}.print-seller-client section{display:flex;flex-direction:column;gap:3px}.print-seller-client h3{font-size:8pt;letter-spacing:1px;color:#087c78;margin:0 0 5px}.print-seller-client strong{font-size:10pt}.print-seller-client span{font-size:9pt;color:#53616b}.print-lines{width:100%;border-collapse:collapse;margin:0 0 12mm}.print-lines th{background:#173d54;color:#fff;text-align:left;padding:10px 9px;font-size:8pt;text-transform:uppercase;letter-spacing:.35px}.print-lines th:not(:first-child),.print-lines td:not(:first-child){text-align:right}.print-lines td{padding:11px 9px;border-bottom:1px solid #e4e8eb;vertical-align:top;font-size:9pt}.print-lines td:first-child{width:56%}.print-lines td small{display:block;margin-top:3px;color:#60717b;line-height:1.5}.print-totals{width:74mm;margin-left:auto;display:grid;gap:5px}.print-totals>div{display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:9pt}.print-totals>div>span{color:#52616c}.print-total{margin-top:4px;padding:11px 13px;background:#087c78;border-radius:4px;color:#fff;font-size:11pt!important;font-weight:700}.print-total span{color:#fff!important}.print-payment{display:flex;gap:7px;flex-wrap:wrap;margin-top:15mm;padding-top:5mm;border-top:1px solid #dfe5e8;color:#50616d;font-size:9pt}.print-footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:9mm 17mm;background:#173d54;color:#fff;font-size:9pt}.print-footer strong{letter-spacing:.5px}.invoice-preview .print-footer{bottom:0}
@media(max-width:900px){.invoice-preview-wrap{padding:12px;overflow:auto}.invoice-preview{margin:0;width:210mm;}}
@media print{
 @page{size:A4 portrait;margin:0}
 html:has(.invoice-preview),body:has(.invoice-preview){width:210mm!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important}
 body:has(.invoice-preview)>:not(#detail){display:none!important}
 #detail:has(.invoice-preview){display:block!important;position:static!important;inset:auto!important;transform:none!important;width:210mm!important;height:auto!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:visible!important;box-shadow:none!important;background:#fff!important}
 #detail::backdrop{display:none!important}
 #detail:has(.invoice-preview) #detail-body{height:auto!important;overflow:visible!important}
 .preview-toolbar{display:none!important}
 .invoice-preview-wrap{padding:0!important;margin:0!important;background:#fff!important;overflow:visible!important}
 .invoice-preview{width:210mm!important;height:auto!important;min-height:0!important;margin:0!important;padding:17mm 17mm 14mm!important;box-shadow:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .invoice-preview .print-brand,.invoice-preview .print-parties,.invoice-preview tr,.invoice-preview .print-totals,.invoice-preview .print-payment{break-inside:avoid}
 .invoice-preview .print-footer{position:relative!important;bottom:auto!important;margin-bottom:-14mm!important;break-inside:avoid}
}

/* Income invoice updates */
.no-due-check{align-self:end;margin:0 0 7px}.print-parties{display:grid;grid-template-columns:1fr 1fr;gap:20mm;margin:12mm 0 8mm}.print-parties section{display:flex;flex-direction:column;gap:3px}.print-parties h3{font-size:8pt;letter-spacing:1px;color:#087c78;margin:0 0 5px}.print-parties strong{font-size:10pt}.print-parties span{font-size:9pt;color:#53616b}.print-invoice-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 18px;margin:0 0 10mm;padding:5mm 0;border-top:1px solid #d8e0e6;border-bottom:1px solid #d8e0e6;color:#52616c;font-size:9pt}.print-invoice-meta strong{color:#173d54;font-size:11pt}.print-notes{margin-top:12mm;padding-top:5mm;border-top:1px solid #dfe5e8;white-space:pre-wrap;overflow-wrap:anywhere}.print-notes h3{font-size:8pt;letter-spacing:1px;color:#087c78;margin:0 0 5px}.print-notes p{margin:0;color:#53616b}.print-footer{position:relative;bottom:auto;margin:15mm -17mm -14mm;padding:8mm 17mm}

.document-attach{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;margin:0 0 14px;background:#f8f9fc;border:1px dashed #b9c5df;border-radius:9px;transition:border-color .16s,background-color .16s,box-shadow .16s}.document-attach.is-dragover{border-color:var(--blue);background:#f0f2ff;box-shadow:0 0 0 3px #4b5ce026}.document-attach .field{margin:0;flex:1 1 220px}.document-attach .field input{margin-top:8px}.document-attach p{margin:0;flex:1 1 180px}.document-attach .attachment-hint{flex-basis:100%;margin-top:-5px}.expense-file-thumb{display:inline-flex;width:48px;height:58px;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#f7f8fc;text-decoration:none}.expense-file-thumb img{display:block;width:100%;height:100%;object-fit:cover}.pdf-thumb{font-size:10px;font-weight:750;color:#a4453d;background:#fff0ed;border-radius:4px;padding:6px}.no-file{color:var(--muted)}

/* Expense attachments are visible beside their editable data. */
.expense-edit-layout.has-attachment{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(260px,.85fr);gap:24px;align-items:start}.expense-edit-attachment{position:sticky;top:86px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:#f8f9fc}.expense-edit-attachment #record-attachment-uploader{margin-bottom:14px}.attachment-preview-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:13px}.attachment-preview-head a{font-size:12px;color:var(--blue);white-space:nowrap}.attachment-preview-image,.attachment-preview-pdf canvas{display:block;width:100%;max-height:70vh;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:6px}.attachment-preview-pdf canvas{height:auto}.attachment-preview-pdf p{margin:8px 0 0}.attachment-empty{display:grid;min-height:260px;place-items:center;text-align:center;padding:22px;color:var(--muted);font-size:13px}.expense-file-thumb .pdf-thumb-canvas{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.expense-file-thumb .pdf-thumb-canvas.preview-error{background:#fff0ed}
@media(max-width:850px){.expense-edit-layout.has-attachment{grid-template-columns:minmax(0,1fr)}.expense-edit-attachment{position:static;grid-row:1}.expense-edit-layout.has-attachment #reader-form{grid-row:2}}
@supports selector(dialog:has(.expense-edit-layout.has-attachment)){dialog:has(.expense-edit-layout.has-attachment){width:min(1180px,96vw)}}
.supplier-section{grid-column:1/-1}
.supplier-section.is-new-supplier{margin-top:.75rem;padding:1rem;border:1px solid var(--primary,#4f5fe8);border-radius:12px;background:var(--primary-soft,#f0f1ff)}.supplier-section.is-new-supplier .review-separator{margin-top:0}.supplier-section.is-new-supplier h3{color:var(--primary,#4f5fe8)}.supplier-section.is-new-supplier .small{max-width:70ch}
.fiscal-category-field{grid-column:1/-1}.fiscal-category-field optgroup{background:#fff0a6;color:#233047;font-weight:700}.fiscal-category-field option{background:#fff;color:#233047;font-weight:400}.fiscal-result{grid-column:1/-1;margin:0}.guide-rate{color:#bd4d62;font-size:1.08em}.fiscal-category-field select{min-height:46px}

.upload-card{transition:border-color .16s,background-color .16s,box-shadow .16s}.upload-card.is-dragover{border-color:var(--blue);background:#f0f2ff;box-shadow:0 0 0 3px #4b5ce026}.upload-card[tabindex="0"]:focus-visible{outline:3px solid #b87515;outline-offset:3px}

.records-period{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 18px}.records-period select{min-height:42px;min-width:120px;padding:9px 34px 9px 12px;border:1px solid #d9e0eb;border-radius:7px;background:#fff;color:var(--ink);font:inherit}.quarter-buttons{display:flex;gap:7px;flex-wrap:wrap}.quarter-buttons button{min-height:40px;padding:8px 14px;border:1px solid #d9e0eb;border-radius:7px;background:#fff;color:#526078;font:inherit;font-size:13px;font-weight:650}.quarter-buttons button[aria-pressed="true"]{border-color:var(--blue);background:#eef0ff;color:var(--blue)}.records-search-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}.records-search-row h2{margin:0 auto 0 0}.records-search-row>.muted{font-size:12px;white-space:nowrap}.search-field{display:flex;align-items:center;gap:8px;min-width:min(340px,100%);border:1px solid #d9e0eb;border-radius:7px;background:#fff;padding:0 11px;color:#8894a6}.search-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #4b5ce01a}.search-field>span[aria-hidden="true"]{font-size:23px;line-height:1}.search-field input{width:100%;min-width:0;min-height:40px;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}.search-field input:focus-visible{outline:0}.records-search-row .button{white-space:nowrap}.contact-tabs+.card .records-search-row{margin-bottom:20px}.records-search-row tr[hidden]{display:none}
@media(max-width:650px){.records-period{align-items:stretch;gap:10px;margin-bottom:14px}.records-period select{width:100%}.quarter-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.quarter-buttons button{padding:7px 4px;font-size:12px}.expense-data-icons{width:100%;justify-content:flex-end}.records-search-row{align-items:stretch;gap:10px}.records-search-row h2{width:100%}.search-field{min-width:100%;width:100%}.records-search-row>.muted{align-self:center}}
.expense-list .table-wrap table{min-width:1420px}.expense-list td:nth-child(1){white-space:nowrap}.expense-list td:nth-child(2){width:74px}.expense-list td:nth-child(11){width:132px;text-align:center}.expense-list th:nth-child(11){text-align:center}.expense-list .icon-action{width:34px;height:34px}.expense-list .expense-row-actions{justify-content:center;gap:5px}.expense-list .expense-accounting-code{min-width:0;max-width:260px;overflow:hidden;text-overflow:ellipsis}.expense-list .income-concept{min-width:220px;max-width:360px}

/* Compact layout: keep the working area close to the navigation and reduce excess whitespace. */
.expense-list .table-wrap table{min-width:1100px;table-layout:fixed}
.expense-list th:nth-child(1),.expense-list td:nth-child(1){width:40px}
.expense-list th:nth-child(2),.expense-list td:nth-child(2){width:55px}
.expense-list th:nth-child(3),.expense-list td:nth-child(3){width:120px}
.expense-list th:nth-child(4),.expense-list td:nth-child(4){width:180px}
.expense-list th:nth-child(5),.expense-list td:nth-child(5){width:85px}
.expense-list th:nth-child(6),.expense-list td:nth-child(6){width:82px}
.expense-list th:nth-child(7),.expense-list td:nth-child(7){width:65px}
.expense-list th:nth-child(8),.expense-list td:nth-child(8){width:95px}
.expense-list th:nth-child(9),.expense-list td:nth-child(9){width:175px}
.expense-list th:nth-child(10),.expense-list td:nth-child(10){width:100px}
.expense-list th:nth-child(11),.expense-list td:nth-child(11){width:126px}
#main{padding:22px 24px 20px;max-width:none;margin:0}
.topbar{height:52px;padding:0 24px}
.heading{gap:16px;margin-bottom:18px}
.card{padding:18px;margin-bottom:16px}
.section-title{gap:12px;margin-bottom:12px}
.tax-banner{padding:16px 18px;margin-bottom:16px;gap:16px}
.tax-overview{padding:16px 6px;margin-bottom:20px}
.tax-overview>div{padding:0 18px}
.tax-grid{gap:16px;margin-bottom:18px}
.tax-card{padding:18px}
.records-period{gap:10px;margin-bottom:12px}
.quarter-buttons{gap:5px}
.records-search-row{gap:10px;margin-bottom:12px}
th{padding:9px 10px}
td{padding:10px 10px}
.reader-layout{gap:16px}
.sidebar{padding-top:22px;padding-bottom:14px}
.workspace-label{margin:22px 0 14px;padding:8px 10px}
.nav-link{min-height:38px;padding:8px 12px;margin-bottom:4px}
.sidebar-foot{padding-top:20px}
.expense-state-cell{width:42px;min-width:42px;text-align:center;white-space:nowrap}
.expense-state-icon{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:7px;background:#e9f6f2;color:#16866e}
.expense-review-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#ef9b20;box-shadow:0 0 0 3px #fff4dc;vertical-align:middle}
@media(max-width:1150px){#main{padding:20px 20px 18px}.topbar{padding:0 20px}}
@media(max-width:900px){#main{padding:18px 16px 16px}}
@media(max-width:650px){#main{padding:16px 12px 14px}.card{padding:15px;margin-bottom:12px}.topbar{padding:0 14px}.sidebar{padding-top:12px}.heading{gap:12px;margin-bottom:14px}}

.expense-list th{font-size:10px;white-space:normal;line-height:1.2}
.expense-list th:nth-child(4),.expense-list td:nth-child(4){width:155px}
.expense-list .income-concept{min-width:0;max-width:190px}

/* Tipografía y controles de alta más legibles; tablas de gastos más compactas. */
body{font-size:16px}
.small{font-size:14px}
.nav-link{font-size:14px}
.records-search-row>.muted{font-size:13px}
.search-field input{font-size:14px}
.records-period select,.quarter-buttons button{font-size:14px}
.create-record-button{width:48px;height:46px;flex:0 0 48px;border-radius:10px;color:var(--blue);background:#fff;box-shadow:0 1px 3px #23314612}
.create-record-button:hover{background:#eef0ff;transform:translateY(-1px)}
.create-record-button svg{width:27px;height:27px}
.expense-list .table-wrap table{min-width:980px}
.expense-list th:nth-child(1),.expense-list td:nth-child(1){width:42px}
.expense-list th:nth-child(2),.expense-list td:nth-child(2){width:50px}
.expense-list th:nth-child(3),.expense-list td:nth-child(3){width:110px}
.expense-list th:nth-child(4),.expense-list td:nth-child(4){width:140px}
.expense-list th:nth-child(5),.expense-list td:nth-child(5){width:78px}
.expense-list th:nth-child(6),.expense-list td:nth-child(6){width:80px}
.expense-list th:nth-child(7),.expense-list td:nth-child(7){width:60px}
.expense-list th:nth-child(8),.expense-list td:nth-child(8){width:78px}
.expense-list th:nth-child(9),.expense-list td:nth-child(9){width:145px}
.expense-list th:nth-child(10),.expense-list td:nth-child(10){width:80px}
.expense-list th:nth-child(11),.expense-list td:nth-child(11){width:114px}
.expense-list .expense-accounting-code{max-width:145px}
.expense-list .income-concept{max-width:140px}
.expense-state-cell{width:48px;min-width:48px}
.expense-state-icon{width:36px;height:36px;border-radius:9px;font-size:20px}
.expense-state-icon svg{width:24px;height:24px}
.expense-review-dot{width:17px;height:17px;box-shadow:0 0 0 4px #fff4dc}
@media(max-width:650px){.records-search-row{align-items:center}.create-record-button{margin-left:auto}.heading-actions .create-record-button{width:44px;height:44px;flex-basis:44px}.expense-list .table-wrap table{min-width:980px}}

/* Acciones de alta: área de pulsación duplicada y signo + claramente visible. */
.create-record-button{width:96px;height:92px;flex:0 0 96px;border-radius:16px}
.create-record-button svg{width:54px;height:54px;stroke-width:1.65}
.upload-invoice-button{min-height:64px;padding:12px 22px;gap:13px;font-size:17px}
.upload-invoice-button svg{width:42px;height:42px;flex:0 0 42px;stroke-width:1.7}
@media(max-width:650px){.heading-actions .create-record-button{width:88px;height:88px;flex-basis:88px}.create-record-button svg{width:48px;height:48px}.upload-invoice-button{min-height:58px;padding:10px 16px;font-size:16px}.upload-invoice-button svg{width:38px;height:38px;flex-basis:38px}}


/* Botones de alta claramente visibles, con el doble de presencia y + explícito. */
.create-record-button{width:128px;height:116px;flex:0 0 128px;border-radius:20px;position:relative}
.create-icon-wrap{position:relative;display:grid;place-items:center;width:100%;height:100%}
.create-record-button svg{width:76px;height:76px;stroke-width:1.55}
.create-plus{position:absolute;right:13px;bottom:10px;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;border:3px solid #fff;font-size:33px;line-height:1;font-weight:500;box-shadow:0 2px 8px #23314630}
.upload-invoice-button{min-height:76px;padding:13px 25px;gap:16px;font-size:19px}
.upload-invoice-button svg{width:52px;height:52px;flex-basis:52px;stroke-width:1.65}
@media(max-width:650px){.heading-actions .create-record-button{width:108px;height:108px;flex-basis:108px}.create-record-button svg{width:64px;height:64px}.create-plus{right:8px;bottom:7px;width:34px;height:34px;font-size:29px}.upload-invoice-button{min-height:66px;padding:10px 18px;font-size:17px}.upload-invoice-button svg{width:44px;height:44px;flex-basis:44px}}


/* Ajuste fino de columnas: más sitio al concepto y menor separación entre importes. */
.expense-list .table-wrap table{width:100%;min-width:1035px;table-layout:fixed}
.expense-list th,.expense-list td{padding-left:4px;padding-right:4px;vertical-align:middle}
.expense-list th:nth-child(1),.expense-list td:nth-child(1){width:42px}
.expense-list th:nth-child(2),.expense-list td:nth-child(2){width:46px}
.expense-list th:nth-child(3),.expense-list td:nth-child(3){width:116px}
.expense-list th:nth-child(4),.expense-list td:nth-child(4){width:255px}
.expense-list th:nth-child(5),.expense-list td:nth-child(5){width:65px}
.expense-list th:nth-child(6),.expense-list td:nth-child(6){width:78px}
.expense-list th:nth-child(7),.expense-list td:nth-child(7){width:58px}
.expense-list th:nth-child(8),.expense-list td:nth-child(8){width:75px}
.expense-list th:nth-child(9),.expense-list td:nth-child(9){width:142px}
.expense-list th:nth-child(10),.expense-list td:nth-child(10){width:74px}
.expense-list th:nth-child(11),.expense-list td:nth-child(11){width:84px}
.expense-list .income-concept{max-width:none;width:255px;font-size:16.5px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.expense-list .expense-accounting-code{max-width:142px;font-size:13px;line-height:1.25;overflow-wrap:anywhere}
.expense-list th:nth-child(5),.expense-list th:nth-child(6),.expense-list th:nth-child(7),.expense-list th:nth-child(8),.expense-list th:nth-child(10){font-size:12px}
@media(max-width:650px){.expense-list .table-wrap table{min-width:1035px}.expense-list th,.expense-list td{padding-left:4px;padding-right:4px}.expense-list .income-concept{font-size:16px}}

.upload-invoice-button{width:76px;height:76px;min-height:76px;padding:12px;gap:0;flex:0 0 76px}
.expense-list .income-concept{font-size:inherit}
.expense-list .income-concept{font-size:12px!important}

/* Menú de actividad: navegación principal y herramientas al pie. */
.sidebar{z-index:40}.sidebar .nav-icon{flex:0 0 24px;width:24px;text-align:center;font-size:22px;line-height:1}
.sidebar .nav-text{white-space:nowrap}.sidebar-utilities{border-top:1px solid var(--line);padding-top:12px;margin-top:8px}
.sidebar-logout{display:flex;align-items:center;justify-content:center;gap:10px}
@media(max-width:1150px){
 .sidebar{position:fixed;inset:0 auto 0 0;width:72px;height:100dvh;padding:20px 10px 12px;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;border-right:1px solid var(--line);background:#fff;transition:width .18s ease,box-shadow .18s ease}
 .workspace{margin-left:72px}.mobile-brand{display:none}
 .sidebar>.brand{display:flex;justify-content:flex-start;padding:0 7px;margin:0;min-height:38px;flex-shrink:0}
 .sidebar>.brand b{flex:0 0 38px}.sidebar>.brand>span{display:none}
 .sidebar .workspace-label{display:flex;min-height:38px;margin:24px 0 16px;padding:8px 16px;border-color:transparent;justify-content:center;flex-shrink:0}
 .sidebar .nav-text,.sidebar .help-card,.sidebar .identity{display:none}
 .sidebar>nav,.sidebar-utilities{display:flex;flex-direction:column;gap:0;overflow:visible;flex-shrink:0}
 .sidebar .nav-link{display:flex;flex-direction:row;justify-content:flex-start;gap:12px;min-width:0;min-height:48px;padding:12px 14px;margin:0 0 6px;font-size:14px}
 .sidebar .sidebar-foot{display:block;margin-top:auto;padding:18px 0 0;flex-shrink:0}
 .sidebar .sidebar-logout{width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--line);background:#fff;justify-content:flex-start}
 .sidebar:hover,.sidebar:focus-within{width:235px;box-shadow:8px 0 24px #23314618}
 .sidebar:hover .nav-text,.sidebar:focus-within .nav-text{display:inline}
 .sidebar:hover>.brand>span,.sidebar:focus-within>.brand>span{display:block}
 .sidebar:hover .workspace-label,.sidebar:focus-within .workspace-label{border-color:var(--line);justify-content:space-between;padding-left:12px}
 .sidebar:hover .help-card,.sidebar:focus-within .help-card{display:block}
 .sidebar:hover .identity,.sidebar:focus-within .identity{display:flex}
}
@media(max-width:650px){.workspace{margin-left:72px}.topbar{padding:0 12px}.topbar>div{gap:6px}#main{padding-left:12px;padding-right:12px}.sidebar .nav-link{font-size:14px}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}

/* Impresos trimestrales con casillas superpuestas al formulario público. */
dialog:has(.tax-form-view){width:min(1280px,96vw);max-width:96vw;max-height:94vh}
.tax-form-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:10px 10px 0 0}
.tax-form-toolbar>div{display:flex;align-items:center;gap:14px}.tax-form-toolbar span{font-size:14px;color:var(--muted)}
.tax-form-toolbar label{display:flex;align-items:center;gap:8px;font-size:14px}.tax-form-toolbar select{padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:white}
.tax-form-note{font-size:13px;color:var(--muted);margin:10px 0}.tax-form-pages{background:#e8ecf2;padding:20px;overflow:auto;max-height:68vh;border-radius:8px;scrollbar-gutter:stable}
.tax-form-page{margin:0 auto 24px;width:max-content;max-width:none}.tax-form-page h3{font-size:14px;color:#55647e;margin:0 0 10px}.tax-sheet{position:relative;width:1000px;background:white;box-shadow:0 3px 14px #23314620;container-type:inline-size}
.tax-sheet>img{display:block;width:100%;height:auto}.tax-form-pages.fit .tax-form-page{width:100%;min-width:620px;max-width:1050px}.tax-form-pages.fit .tax-sheet{width:100%}
.tax-form-pages.zoom125 .tax-sheet{width:1250px}.tax-form-pages.zoom150 .tax-sheet{width:1500px}
.tax-filled-value{position:absolute;display:block;box-sizing:border-box;padding:0 .35cqw;border:0;border-radius:0;background:#eef4ffbf;color:#173e78;font-family:Arial,sans-serif;font-size:1.4cqw;font-weight:600;line-height:1;text-align:right;min-width:0;min-height:0;height:auto;margin:0;font-variant-numeric:tabular-nums;box-shadow:none}
.tax-filled-value.tax-filled-text{text-align:left;font-size:1.4cqw}.tax-filled-value:focus-visible{outline:2px solid var(--blue);outline-offset:1px;background:#e4edff}.tax-form-source{margin:12px 0 0}.tax-form-checks summary{cursor:pointer;font-weight:650}.tax-form-checks ul{margin:10px 0}.tax-preview-warning{font-size:13px}
@media(max-width:650px){.tax-form-toolbar{align-items:flex-start;flex-direction:column;gap:8px}.tax-form-toolbar>div{gap:8px;flex-wrap:wrap}.tax-form-pages{padding:12px;max-height:65vh}.tax-form-view .tax-form-page h3{font-size:13px}.tabs{overflow-x:auto;flex-wrap:nowrap}.tabs button{white-space:nowrap}}
.tax-pos-303-liquidacion-150{left:51.68675%;top:50.68277%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-151{left:69.63855%;top:50.68277%;width:8.91566%;height:1.17866%;}
.tax-pos-303-liquidacion-152{left:81.08434%;top:50.68277%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-165{left:51.68675%;top:52.17956%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-166{left:69.63855%;top:52.17956%;width:8.91566%;height:1.17866%;}
.tax-pos-303-liquidacion-167{left:81.08434%;top:52.17956%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-01{left:51.68675%;top:53.67636%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-02{left:69.63855%;top:53.67636%;width:8.91566%;height:1.17866%;}
.tax-pos-303-liquidacion-03{left:81.08434%;top:53.67636%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-153{left:51.68675%;top:55.17316%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-154{left:69.63855%;top:55.17316%;width:8.91566%;height:1.17866%;}
.tax-pos-303-liquidacion-155{left:81.08434%;top:55.17316%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-04{left:51.68675%;top:56.66996%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-05{left:69.63855%;top:56.66996%;width:8.91566%;height:1.17866%;}
.tax-pos-303-liquidacion-06{left:81.08434%;top:56.66996%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-07{left:51.68675%;top:58.16675%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-08{left:69.63855%;top:58.16675%;width:8.91566%;height:1.17866%;}
.tax-pos-303-liquidacion-09{left:81.08434%;top:58.16675%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-10{left:51.68675%;top:59.49777%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-11{left:81.08434%;top:59.49777%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-12{left:51.68675%;top:60.99457%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-13{left:81.08434%;top:60.99457%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-14{left:51.68675%;top:62.49136%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-15{left:81.08434%;top:62.49136%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-156{left:51.68675%;top:63.82927%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-157{left:69.63855%;top:63.82927%;width:8.91566%;height:1.17866%;}
.tax-pos-303-liquidacion-158{left:81.08434%;top:63.82927%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-168{left:51.68675%;top:65.32607%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-169{left:69.63855%;top:65.32607%;width:8.91566%;height:1.17866%;}
.tax-pos-303-liquidacion-170{left:81.08434%;top:65.32607%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-16{left:51.68675%;top:66.82287%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-17{left:69.63855%;top:66.82287%;width:8.91566%;height:1.17866%;}
.tax-pos-303-liquidacion-18{left:81.08434%;top:66.82287%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-19{left:51.68675%;top:68.31966%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-20{left:69.63855%;top:68.31966%;width:8.91566%;height:1.17866%;}
.tax-pos-303-liquidacion-21{left:81.08434%;top:68.31966%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-22{left:51.68675%;top:69.69174%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-23{left:69.63855%;top:69.69174%;width:8.91566%;height:1.17866%;}
.tax-pos-303-liquidacion-24{left:81.08434%;top:69.69174%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-25{left:51.68675%;top:71.10048%;width:15.30120%;height:1.17866%;}
.tax-pos-303-liquidacion-26{left:81.08434%;top:71.10048%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-27{left:81.08434%;top:73.37007%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-28{left:63.01205%;top:77.70205%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-29{left:81.08434%;top:77.70205%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-30{left:63.01205%;top:79.19884%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-31{left:81.08434%;top:79.19884%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-32{left:63.01205%;top:80.69564%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-33{left:81.08434%;top:80.69564%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-34{left:63.01205%;top:82.19243%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-35{left:81.08434%;top:82.19243%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-36{left:63.01205%;top:83.68923%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-37{left:81.08434%;top:83.68923%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-38{left:63.01205%;top:85.18603%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-39{left:81.08434%;top:85.18603%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-40{left:63.01205%;top:86.68282%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-41{left:81.08434%;top:86.68282%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-42{left:81.08434%;top:88.17313%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-43{left:81.08434%;top:89.66993%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-44{left:81.08434%;top:91.16672%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-45{left:81.08434%;top:93.44209%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-46{left:81.08434%;top:96.72506%;width:15.54217%;height:1.17866%;}
.tax-pos-303-liquidacion-tax_id{left:3.13253%;top:15.30100%;width:17.83133%;height:1.33779%;}
.tax-pos-303-liquidacion-full_name{left:22.16867%;top:15.30100%;width:74.69880%;height:1.33779%;}
.tax-pos-303-liquidacion-year{left:76.86747%;top:11.65552%;width:7.71084%;height:1.30435%;}
.tax-pos-303-liquidacion-quarter{left:92.04819%;top:11.65552%;width:3.85542%;height:1.30435%;}
.tax-pos-303-resultado-64{left:81.77677%;top:35.71159%;width:15.48975%;height:1.20146%;}
.tax-pos-303-resultado-66{left:81.77677%;top:37.91525%;width:15.48975%;height:1.20146%;}
.tax-pos-303-resultado-110{left:81.77677%;top:42.32255%;width:15.48975%;height:1.20146%;}
.tax-pos-303-resultado-78{left:81.77677%;top:44.52621%;width:15.48975%;height:1.20146%;}
.tax-pos-303-resultado-87{left:81.77677%;top:46.72987%;width:15.48975%;height:1.20146%;}
.tax-pos-303-resultado-69{left:81.77677%;top:50.18038%;width:15.48975%;height:1.20146%;}
.tax-pos-303-resultado-71{left:81.77677%;top:56.40247%;width:15.48975%;height:1.20146%;}
.tax-pos-303-resultado-65{left:28.47380%;top:37.68352%;width:7.28929%;height:1.30506%;}
.tax-pos-303-resultado-tax_id{left:10.93394%;top:1.95759%;width:18.45103%;height:1.63132%;}
.tax-pos-303-resultado-full_name{left:30.75171%;top:1.95759%;width:56.94761%;height:1.63132%;}
.tax-pos-303-ingreso-72{left:16.85649%;top:11.80297%;width:21.18451%;height:1.95167%;}
.tax-pos-303-ingreso-due{left:18.45103%;top:26.57993%;width:21.18451%;height:1.85874%;}
.tax-pos-303-ingreso-iban{left:5.69476%;top:31.78439%;width:60.13667%;height:1.67286%;}
.tax-pos-303-ingreso-tax_id{left:11.38952%;top:2.23048%;width:17.99544%;height:1.85874%;}
.tax-pos-303-ingreso-full_name{left:30.97950%;top:2.23048%;width:57.17540%;height:1.85874%;}
.tax-pos-130-liquidacion-01{left:82.23684%;top:27.24506%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-02{left:82.23684%;top:28.76753%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-03{left:82.23684%;top:30.32229%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-04{left:82.23684%;top:31.81331%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-05{left:82.23684%;top:34.85869%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-06{left:82.23684%;top:37.90419%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-07{left:82.23684%;top:40.94970%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-08{left:82.23684%;top:45.51782%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-09{left:82.23684%;top:47.04029%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-10{left:82.23684%;top:48.59507%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-11{left:82.23684%;top:50.08609%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-12{left:82.23684%;top:54.75540%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-13{left:82.23684%;top:56.27787%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-14{left:82.23684%;top:57.83265%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-15{left:82.23684%;top:60.84640%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-16{left:82.23684%;top:63.89179%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-17{left:82.23684%;top:65.41426%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-18{left:82.23684%;top:68.46006%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-19{left:82.23684%;top:69.98280%;width:15.89912%;height:1.24319%;}
.tax-pos-130-liquidacion-tax_id{left:5.48246%;top:10.80247%;width:23.24561%;height:1.69753%;}
.tax-pos-130-liquidacion-first_name{left:5.48246%;top:14.81481%;width:23.24561%;height:1.85185%;}
.tax-pos-130-liquidacion-last_name{left:5.48246%;top:18.98148%;width:51.09649%;height:1.69753%;}
.tax-pos-130-liquidacion-year{left:72.80702%;top:10.80247%;width:9.64912%;height:1.69753%;}
.tax-pos-130-liquidacion-quarter{left:92.10526%;top:10.80247%;width:4.82456%;height:1.69753%;}
.tax-pos-130-liquidacion-due{left:31.35965%;top:76.31173%;width:17.10526%;height:1.54321%;}
.tax-pos-130-liquidacion-iban{left:5.92105%;top:83.02469%;width:42.54386%;height:1.54321%;}

/* Dar prioridad al impreso al abrir la revisión del trimestre. */
dialog:has(.tax-form-view) .modal-content{padding:16px 24px}
dialog:has(.tax-form-view) .result-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:12px}
dialog:has(.tax-form-view) .result-panel strong{font-size:24px;margin:0}
dialog:has(.tax-form-view) .result-panel small{display:none}
dialog:has(.tax-form-view) .notice{padding:10px 14px;margin-bottom:12px}
dialog:has(.tax-form-view) .tabs{margin:12px 0 16px}
@media(max-width:650px){dialog:has(.tax-form-view) .modal-content{padding:12px}}

.aeat-export-card{padding:8px 0}.aeat-export-card #aeat-export-status:not(:empty){padding:12px 14px;background:var(--pale);border-radius:8px;margin-top:14px}.aeat-export-card .form-actions{justify-content:flex-end}

.aeat-download-again{display:flex;width:max-content;margin-top:12px}

.tax-pos-303-resultado-120{left:81.77677%;top:11.80098%;width:15.48975%;height:1.20718%}

.tax-pdf-render{position:fixed;left:-20000px;top:0;width:1000px;pointer-events:none;visibility:hidden}.tax-pdf-render .tax-sheet{width:1000px!important}.tax-pdf-status{padding:12px 24px;font-size:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}

.tax-check-link{font:inherit;color:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:3px 0;cursor:pointer}.tax-check-link:hover{color:var(--blue)}.tax-check-link:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.tax-check-target{outline:3px solid #e7a12c;outline-offset:5px;border-radius:5px}.tax-check-guidance{grid-column:1/-1;margin:12px 0}.tax-check-guidance p{margin:0 0 8px}

.overview-pending,.overview-chart-card{margin-bottom:20px}
.overview-invoices-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}.overview-invoices-head h2{margin:0}.overview-invoices-head>a{color:#0b9b72;font-weight:600}.overview-invoice-cards{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x proximity}.overview-invoice-card{flex:0 0 200px!important;width:200px;min-width:200px;max-width:200px;min-height:200px;overflow:hidden;border:1px solid #c6c8d8;border-radius:5px;background:#fff;scroll-snap-align:start}.overview-invoice-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:13px 12px 12px}.overview-invoice-card.is-old{border-color:#db4c4c;background:#fffafa;box-shadow:0 0 0 1px #f1c4c4}.overview-invoice-reference{padding:0;border:0;background:none;color:#5d6578;text-align:left;font:inherit;font-size:14px;cursor:pointer}.overview-invoice-age,.overview-invoice-client,.overview-invoice-concept{font-size:13px;color:#737c8e}.overview-invoice-age{white-space:nowrap}.overview-invoice-age.is-old{color:#c62828;font-weight:700}.overview-invoice-age.is-near{color:#8a6500;font-weight:650}.overview-invoice-concept{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.overview-invoice-total{display:grid;gap:2px}.overview-invoice-total small{color:#687184}.overview-invoice-total strong{font-size:20px;color:#16191f}.overview-invoice-card>.badge{margin-top:auto}.overview-invoice-actions{position:absolute;right:8px;top:8px;display:flex;gap:4px;opacity:0}.overview-invoice-card:hover .overview-invoice-actions,.overview-invoice-card:focus-within .overview-invoice-actions{opacity:1}.overview-pending-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:6px 0}.overview-pending-footer .search-field{max-width:360px}.overview-ranked-chart{display:block;width:100%;min-width:720px;height:auto}.overview-quarter-company-chart{display:block;width:100%;min-width:760px;height:340px}.overview-quarter-legend{align-items:center}.overview-quarter-legend span:before{content:'';display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px}.legend-q1:before{background:#4f55df}.legend-q2:before{background:#e88643}.legend-q3:before{background:#17a673}.legend-q4:before{background:#ca5c90}.overview-chart-data{margin-top:8px}.overview-chart-data .table-wrap{max-height:350px;overflow:auto}.overview-chart-data thead{position:sticky;top:0;background:#fff;z-index:1}@media(max-width:650px){.overview-invoices-head{align-items:flex-start;gap:10px}.overview-invoice-cards{margin-right:-12px}.overview-pending-footer{align-items:stretch;flex-direction:column}.overview-pending-footer .search-field{max-width:none}.overview-invoice-actions{opacity:1}.overview-quarter-legend{flex-wrap:wrap}}
.overview-pending-total{display:flex;flex-direction:column;text-align:right;gap:4px}.overview-pending-total strong{font-size:28px;color:#a75915}.overview-pending-total span{color:var(--muted);font-size:14px}.overview-pending-table{max-height:350px;overflow:auto}.overview-pending-table thead{position:sticky;top:0;background:white;z-index:1}.overview-pending-table .income-concept{min-width:180px;max-width:420px}.overview-all-paid{color:#167755}.overview-year{margin-top:28px}.overview-year label{display:flex;align-items:center;gap:10px}.overview-year select{padding:9px 16px;border:1px solid var(--line);border-radius:8px;background:white;font:inherit}.overview-basis{font-size:14px;line-height:1.5}.overview-chart-legend{display:flex;gap:20px;font-size:14px}.overview-chart-legend span:before{content:'';display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px}.legend-income:before{background:#4f55df}.legend-expense:before{background:#e88643}.overview-chart-scroll{overflow-x:auto}.overview-chart{display:block;width:100%;min-width:650px;height:300px}#overview-quarter-chart{min-width:360px}.overview-chart-reading{font-size:14px;min-height:22px;margin:8px 0}.overview-chart-data summary{cursor:pointer;font-size:14px;text-decoration:underline;text-underline-offset:3px}.overview-chart-card .section-title p{font-size:14px;margin:6px 0 0}@media(max-width:650px){.overview-chart-card .section-title,.overview-pending .section-title{align-items:flex-start;flex-direction:column;gap:12px}.overview-pending-total{text-align:left}.overview-chart-legend{gap:16px}.overview-pending-table{max-height:300px}}

.quote-line-tools{display:flex;flex-wrap:wrap;gap:18px;margin:12px 0}.quote-catalog-picker{padding:16px;background:#f1f4fa;border-radius:8px;margin-bottom:14px}.quote-catalog-picker button{margin:4px}.quotes-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.quotes-table .invoice-row-actions{white-space:nowrap}.quote-delete-options{display:grid;gap:16px}.quote-delete-options .notice{margin:0}.quote-delete-options .check{align-items:flex-start}

/* Document lines: concept across the editor, amounts on the following row. */
#invoice-form .invoice-lines-head{display:none}#invoice-form .invoice-lines-table{overflow:visible}#invoice-form .invoice-line{padding:16px 0;border-top:1px solid var(--line);background:transparent}#invoice-form .invoice-line-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}#invoice-form .invoice-line-head [data-invoice-remove]{display:inline-flex;align-items:center;gap:7px;color:#b33333;font-size:14px}#invoice-form .invoice-line-head [data-invoice-remove][hidden]{display:none}#invoice-form [data-invoice-remove] svg{width:20px;height:20px}#invoice-form .invoice-line-fields{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}#invoice-form .invoice-line-fields>.field:first-child{grid-column:1/-1}#invoice-form .invoice-line-fields input{width:100%;min-width:0}#invoice-form .invoice-line-fields>.field:first-child input{font-size:inherit}#invoice-form .invoice-line-total{font-size:14px;gap:14px;padding-top:12px}@media(max-width:650px){#invoice-form .invoice-line-fields{grid-template-columns:repeat(2,minmax(0,1fr))}#invoice-form .invoice-line-fields>.field:first-child{grid-column:1/-1}#invoice-form .invoice-line-head{gap:10px}#invoice-form .invoice-line-total{justify-content:flex-start;font-size:13px}}

dialog:has(#invoice-form){width:min(1280px,96vw);max-width:96vw;max-height:94vh}

.income-import-attachments{padding:16px;border:1px dashed #b8c1df;border-radius:10px;margin:16px 0}.income-import-attachments input{display:block;margin-top:10px}.income-file-mapping select{max-width:380px;width:100%;padding:7px}.income-original-view .zoom-stage{height:68vh;overflow:auto}.income-original-view img{max-width:100%;height:auto}.income-original-view canvas{display:block;max-width:100%;margin:auto}.income-import-status{white-space:pre-wrap}

/* Registro y administración de cuentas */
.public-home{min-height:100vh;background:#f5f7fc;padding:28px max(20px,5vw)}.public-header{display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:auto auto 36px}.registration-card{max-width:800px;margin:20px auto;padding:36px}.registration-card h1{font-size:32px}.registration-card p{line-height:1.65}.registration-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.public-free-plan{padding:18px;background:#edf0ff;border-radius:12px}.admin-search{display:flex;gap:12px;flex:1}.admin-search .search-field{flex:1;max-width:620px}.admin-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-account-totals{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0}.admin-account-totals>div{background:#f3f5fc;padding:18px;border-radius:12px;display:grid;gap:8px;min-width:180px}.registration-success{padding:24px}@media(max-width:650px){.registration-card{padding:20px}.public-header{gap:16px}.admin-search{flex-wrap:wrap}.public-home{padding:18px}}

.donation-card{margin:24px 0 0;padding:22px;background:#f0f3ff;border:1px solid #dce3f7;border-radius:14px;color:#243248}.donation-card h3{margin:6px 0 12px;font-size:21px}.donation-card p{line-height:1.6}.donation-options{display:flex;gap:16px;flex-wrap:wrap;margin:18px 0}.donation-options>div{flex:1;min-width:190px;display:grid;gap:10px;background:white;padding:16px;border-radius:12px}.donation-phone{font-size:20px;font-weight:650}.donation-options .button{font-size:15px;text-align:center}.login-copy .donation-card{font-size:15px}.login-copy .donation-card h3{font-size:20px}#platform-settings-card .form-grid{align-items:center}.workspace footer{flex-wrap:wrap;gap:12px}

.annual-model-nav{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0}.annual-model-sheet{max-width:1000px;margin:auto;background:white;border:1px solid #c9d6e1;padding:26px}.annual-sheet-title{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:3px solid #173d54;color:#173d54}.annual-sheet-title strong{font-size:30px}.annual-model-sheet h3{background:#eaf0f5;padding:12px;margin:22px 0 0;color:#173d54}.annual-box-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(180px,1fr);gap:16px;border-bottom:1px solid #dce3ed;padding:12px 8px;align-items:center}.annual-box-row output{display:block;border:1px solid #b9c8d7;background:#fafcfe;padding:9px;text-align:right;font-weight:600;overflow-wrap:anywhere}.annual-model-view #annual-checks{scroll-margin-top:20px;margin-top:20px}.annual-model-view #annual-checks li{margin-bottom:10px}@media(max-width:650px){.annual-model-sheet{padding:12px}.annual-box-row{grid-template-columns:1fr;gap:6px}.annual-sheet-title{flex-direction:column}}

.tax-pos-347-resumen-year{left:90.54000%;top:26.30542%;width:7.62000%;height:1.64204%;}
.tax-pos-347-resumen-tax_id{left:2.20000%;top:33.08703%;width:17.40000%;height:1.64204%;}
.tax-pos-347-resumen-full_name{left:21.10000%;top:32.95567%;width:77.26000%;height:1.62562%;}
.tax-pos-347-resumen-phone{left:2.14000%;top:36.89655%;width:17.46000%;height:1.62562%;}
.tax-pos-347-resumen-contact_name{left:21.12000%;top:36.94581%;width:77.68000%;height:1.64204%;}
.tax-pos-347-resumen-01{left:79.84000%;top:62.61084%;width:18.08000%;height:1.62562%;}
.tax-pos-347-resumen-02{left:75.80000%;top:65.27094%;width:22.16000%;height:1.57635%;}
.tax-pos-347-resumen-03{left:79.84000%;top:67.93103%;width:18.08000%;height:1.57635%;}
.tax-pos-347-resumen-04{left:75.74000%;top:70.62397%;width:22.18000%;height:1.57635%;}
.tax-pos-347-resumen-date{left:7.80000%;top:79.06404%;width:31.90000%;height:1.62562%;}
.tax-pos-347-declarados-tax_id{left:2.23158%;top:13.52632%;width:17.32632%;height:1.66667%;}
.tax-pos-347-declarados-year{left:21.72632%;top:13.56140%;width:7.57895%;height:1.63158%;}
.tax-pos-347-declarados-d0_tax_id{left:1.83158%;top:20.50877%;width:12.14737%;height:1.63158%;}
.tax-pos-347-declarados-d0_name{left:44.80000%;top:20.47368%;width:52.73684%;height:1.64912%;}
.tax-pos-347-declarados-d0_province{left:2.02105%;top:24.52632%;width:9.64211%;height:1.61404%;}
.tax-pos-347-declarados-d0_country{left:15.83158%;top:24.66667%;width:10.00000%;height:1.59649%;}
.tax-pos-347-declarados-d0_key{left:30.16842%;top:24.47368%;width:10.04211%;height:1.63158%;}
.tax-pos-347-declarados-d0_annual_cents{left:1.95789%;top:31.71930%;width:26.35789%;height:1.68421%;}
.tax-pos-347-declarados-d0_q0{left:4.80000%;top:35.19298%;width:23.51579%;height:1.63158%;}
.tax-pos-347-declarados-d0_q1{left:4.80000%;top:37.02632%;width:23.51579%;height:1.63158%;}
.tax-pos-347-declarados-d0_q2{left:4.80000%;top:38.85965%;width:23.51579%;height:1.63158%;}
.tax-pos-347-declarados-d0_q3{left:4.80000%;top:40.69298%;width:23.51579%;height:1.63158%;}
.tax-pos-347-declarados-d1_tax_id{left:1.83158%;top:48.47368%;width:12.14737%;height:1.63158%;}
.tax-pos-347-declarados-d1_name{left:44.80000%;top:48.43860%;width:52.73684%;height:1.64912%;}
.tax-pos-347-declarados-d1_province{left:2.02105%;top:52.49123%;width:9.64211%;height:1.61404%;}
.tax-pos-347-declarados-d1_country{left:15.83158%;top:52.63158%;width:10.00000%;height:1.59649%;}
.tax-pos-347-declarados-d1_key{left:30.16842%;top:52.43860%;width:10.04211%;height:1.63158%;}
.tax-pos-347-declarados-d1_annual_cents{left:1.95789%;top:59.68421%;width:26.35789%;height:1.68421%;}
.tax-pos-347-declarados-d1_q0{left:4.80000%;top:63.15789%;width:23.51579%;height:1.63158%;}
.tax-pos-347-declarados-d1_q1{left:4.80000%;top:64.99123%;width:23.51579%;height:1.63158%;}
.tax-pos-347-declarados-d1_q2{left:4.80000%;top:66.82456%;width:23.51579%;height:1.63158%;}
.tax-pos-347-declarados-d1_q3{left:4.80000%;top:68.65789%;width:23.51579%;height:1.63158%;}
.tax-pos-347-declarados-d2_tax_id{left:1.83158%;top:76.01754%;width:12.14737%;height:1.63158%;}
.tax-pos-347-declarados-d2_name{left:44.80000%;top:75.98246%;width:52.73684%;height:1.64912%;}
.tax-pos-347-declarados-d2_province{left:2.02105%;top:80.03509%;width:9.64211%;height:1.61404%;}
.tax-pos-347-declarados-d2_country{left:15.83158%;top:80.17544%;width:10.00000%;height:1.59649%;}
.tax-pos-347-declarados-d2_key{left:30.16842%;top:79.98246%;width:10.04211%;height:1.63158%;}
.tax-pos-347-declarados-d2_annual_cents{left:1.95789%;top:87.22807%;width:26.35789%;height:1.68421%;}
.tax-pos-347-declarados-d2_q0{left:4.80000%;top:90.70175%;width:23.51579%;height:1.63158%;}
.tax-pos-347-declarados-d2_q1{left:4.80000%;top:92.53509%;width:23.51579%;height:1.63158%;}
.tax-pos-347-declarados-d2_q2{left:4.80000%;top:94.36842%;width:23.51579%;height:1.63158%;}
.tax-pos-347-declarados-d2_q3{left:4.80000%;top:96.20175%;width:23.51579%;height:1.63158%;}
#filled-347-model .tax-filled-value{font-size:clamp(8px,1.05vw,15px)}#filled-347-model .tax-filled-text{text-overflow:clip}

.iae-entry{padding:14px;border:1px solid var(--line);border-radius:9px;margin:12px 0}.iae-entry .form-grid{grid-template-columns:1fr 1fr 2fr}.iae-status{margin:6px 0}.invoice-iae{margin-top:18px}.iae-label{background:#f4f7fb}#iae-settings{margin-bottom:20px}@media(max-width:700px){.iae-entry .form-grid{grid-template-columns:1fr}}

/* Personalización del emisor por usuario */
.print-logo{display:block;max-width:70mm;max-height:28mm;width:auto;height:auto;object-fit:contain}.print-document-heading{display:flex;flex-direction:column;gap:4px;text-align:right;color:#52616c;font-size:9pt}.print-document-heading strong{font-size:14pt;color:#173d54}.invoice-preview .print-payment{flex-direction:column;align-items:flex-start;gap:5px}.issuer-logo-settings{margin-top:20px;padding-top:18px;border-top:1px solid #dfe5e8}.settings-logo-preview{display:block;max-width:240px;max-height:110px;object-fit:contain;margin:12px 0}.logo-actions{display:flex;gap:16px;align-items:center;margin-top:12px}

/* Factura en un único tono oscuro */
.invoice-preview,.invoice-preview *{color:#233746!important}
.invoice-preview .print-lines{border-collapse:separate;border-spacing:0}
.invoice-preview .print-lines th{background:#233746;color:#fff!important}
.invoice-preview .print-lines th:first-child{border-radius:9px 0 0 9px}
.invoice-preview .print-lines th:last-child{border-radius:0 9px 9px 0}
.invoice-preview .print-total{background:#233746;border-radius:9px;overflow:hidden}
.invoice-preview .print-total *,.invoice-preview .print-footer *{color:#fff!important}
.invoice-preview .print-footer{background:#233746}

/* Pie fino al borde inferior, sin posición fija que repita la factura. */
.invoice-preview{display:flex;flex-direction:column;min-height:297mm}
.invoice-preview>.print-footer{flex-shrink:0;position:relative;bottom:auto;margin: auto -17mm -14mm;padding:3mm 17mm;font-size:8pt;line-height:1.3}
.invoice-preview>.print-notes{margin-bottom:8mm}
.invoice-preview>.print-payment:last-of-type{margin-bottom:8mm}
@media print{
 .invoice-preview{display:flex!important;flex-direction:column!important;min-height:296.5mm!important}
 .invoice-preview>.print-footer{position:relative!important;bottom:auto!important;margin-top:auto!important;margin-bottom:-14mm!important;padding:3mm 17mm!important;break-inside:avoid}
}

/* El zoom actúa sobre el documento visible, sin límites de altura heredados. */
.reader-layout>section,.preview-card,.zoom-stage{min-width:0}
.zoom-stage img,.zoom-stage canvas{max-width:none!important;max-height:none!important;height:auto!important;flex-shrink:0}
.zoom-stage>.pdf-preview,.zoom-stage>.attachment-preview-pdf{align-items:flex-start}

/* Deducción compacta en lector y edición de gastos. */
#expense-review .deduction-inline-field{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;grid-column:1/-1;margin:0}
#expense-review .deduction-inline-field>input{display:inline-block;flex:0 0 84px;width:84px;max-width:84px;min-width:0;margin:0;padding:8px 10px;text-align:right}

/* Inicio informativo con acceso claro a la cuenta. */
.login{max-width:1240px;grid-template-columns:minmax(0,1.25fr) minmax(340px,.8fr);gap:clamp(32px,6vw,84px);margin:6vh auto;padding:clamp(20px,4vw,52px)}
.login-copy>.brand{margin-bottom:42px}.login-copy>.brand small{display:block;font-size:9px;letter-spacing:1.8px;color:var(--muted);margin-top:5px}
.login-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:650px;margin:24px 0}
.login-benefits article{display:flex;align-items:flex-start;gap:12px;min-height:92px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #23314608}
.login-benefits article>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;background:#eef0ff;color:var(--blue);border-radius:9px;font-size:20px;font-weight:700}
.login-benefits strong,.login-benefits small{display:block}.login-benefits strong{font-size:13px;margin:1px 0 4px}.login-benefits small{font-size:11px;line-height:1.45;color:var(--muted)}
.tax-deadline-card{padding:12px;margin:0 0 14px}.tax-deadline-card>span{font-weight:700;font-size:11px;color:var(--ink);margin-bottom:7px}.tax-deadline{display:grid;grid-template-columns:auto 1fr;gap:1px 8px;padding:7px 0;border-top:1px solid var(--line);color:var(--ink);font-size:10px}.tax-deadline:hover{text-decoration:none;color:var(--blue)}.tax-deadline strong{font-size:10px}.tax-deadline>span{text-align:right;color:var(--muted)}.tax-deadline small{grid-column:1/-1;color:var(--muted);font-size:9px}.tax-deadline.urgent,.tax-deadline.urgent>span,.tax-deadline.urgent small{color:#bd2c2c}.tax-deadline.urgent{background:#fff1ef;border-radius:6px;padding:7px;margin:3px -5px 0;border-top-color:#f5c7c2}
/* En móvil, la navegación deja de ocupar el lateral y se coloca sobre el contenido. */
@media(max-width:1300px){
 .income-list .table-wrap table{width:100%;min-width:940px;table-layout:fixed}
 .income-list th:nth-child(1),.income-list td:nth-child(1){width:64px}
 .income-list th:nth-child(2),.income-list td:nth-child(2){width:78px}
 .income-list th:nth-child(3),.income-list td:nth-child(3){width:76px}
 .income-list th:nth-child(4),.income-list td:nth-child(4){width:72px}
 .income-list th:nth-child(5),.income-list td:nth-child(5){width:55px}
 .income-list th:nth-child(6),.income-list td:nth-child(6){width:128px}
 .income-list th:nth-child(7),.income-list td:nth-child(7){width:150px}
 .income-list th:nth-child(8),.income-list td:nth-child(8){width:150px}
 .income-list th:nth-child(9),.income-list td:nth-child(9){width:166px}
 .income-list th:nth-child(9),.income-list td:nth-child(9){position:sticky;right:0;z-index:2;background:#fff;min-width:166px;box-shadow:-5px 0 8px #23314612}
 .income-list tbody tr:nth-child(even) td:nth-child(9){background:#f8f9fb}
 .income-list tbody tr:hover td:nth-child(9){background:#f1f5ff}
}
@media(max-width:650px){
 .sidebar{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;max-height:none!important;padding:12px!important;overflow:visible!important;border-right:0!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important;transition:none!important;display:flex!important;flex-direction:column!important;gap:8px!important}
 .sidebar>.brand{display:flex!important;min-height:36px;margin:0 0 4px!important;padding:0 4px!important}.sidebar>.brand>span{display:block!important}.sidebar>.brand small{display:block!important}
 .sidebar .workspace-label{display:none!important}
 .sidebar>nav,.sidebar .sidebar-utilities{display:flex!important;flex-direction:row!important;align-items:stretch!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;padding:0!important;border:0!important;margin:0!important;scrollbar-width:thin}
 .sidebar .nav-link{display:flex!important;flex:0 0 auto!important;flex-direction:column!important;justify-content:center!important;gap:3px!important;min-width:70px!important;min-height:54px!important;padding:6px 8px!important;margin:0!important;border-radius:8px!important;font-size:10px!important;text-align:center!important}
 .sidebar .nav-link .nav-icon{font-size:19px!important;width:auto!important;flex:0 0 auto!important}.sidebar .nav-text{display:inline!important;font-size:10px!important}
 .sidebar .new{display:none!important}.sidebar-foot{display:flex!important;flex-direction:column!important;gap:6px!important;margin:0!important;padding:0!important}.sidebar .tax-deadline-card{display:block!important;margin:0!important}.sidebar .identity{display:none!important}.sidebar .sidebar-logout{align-self:flex-end!important;width:auto!important;min-height:34px!important;padding:4px 8px!important;border:0!important;background:transparent!important}.sidebar .sidebar-logout .nav-icon{font-size:18px}
 .workspace{margin:0!important;min-width:0}.topbar{padding:0 12px!important}.login{grid-template-columns:1fr;gap:20px;margin:0 auto;padding:22px 16px;max-width:540px}.login-copy>.brand{margin-bottom:25px}.login h1{font-size:32px}.login-benefits{gap:8px;margin:18px 0}.login-benefits article{min-height:90px;padding:11px;gap:8px}.login-benefits small{font-size:10px}.login-card{padding:22px}.public-free-plan{font-size:13px}
}
@media(max-width:380px){.login-benefits{grid-template-columns:1fr}.sidebar .nav-link{min-width:64px!important}.tax-deadline-card{font-size:10px}}
/* Las dos columnas fiscales siguen visibles; en pantallas estrechas la tabla permite desplazamiento horizontal. */
.expense-list th:nth-child(9),.expense-list td:nth-child(9),.expense-list th:nth-child(10),.expense-list td:nth-child(10){display:table-cell!important}
.income-list .table-wrap table{width:100%;min-width:1180px;table-layout:fixed}
.income-list th,.income-list td{padding-left:8px;padding-right:8px}
.income-list td{overflow:hidden}
.income-list td:nth-child(3) button{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.income-list .income-amounts,.income-list .income-accounting{box-sizing:border-box}
.income-list .income-accounting-stack{min-width:0!important}
.income-list .income-accounting-stack>span{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:6px;min-width:0;white-space:nowrap}
.income-list .income-accounting-stack>span:first-child{color:var(--muted)}
.income-list .income-accounting-stack>span{font-size:10px}
.income-list .income-accounting-stack strong{font-size:11px;white-space:nowrap}
.income-list th:nth-child(1),.income-list td:nth-child(1){width:6%}
.income-list th:nth-child(2),.income-list td:nth-child(2){width:8%}
.income-list th:nth-child(3),.income-list td:nth-child(3){width:20%}
.income-list th:nth-child(4),.income-list td:nth-child(4){width:8%}
.income-list th:nth-child(5),.income-list td:nth-child(5){width:6%}
.income-list th:nth-child(6),.income-list td:nth-child(6){width:29%}
.income-list th:nth-child(7),.income-list td:nth-child(7){width:8%}
.income-list th:nth-child(8),.income-list td:nth-child(8){width:8%}
.income-list th:nth-child(9),.income-list td:nth-child(9){width:7%}
.income-list .income-accounting{min-width:132px;white-space:normal}
.income-accounting-stack{display:grid;gap:5px;line-height:1.2}
.income-accounting-stack>span{display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:var(--muted);font-size:11px}
.income-accounting-stack strong{color:var(--ink);font-size:12px;text-align:right;font-weight:650}
.income-list .income-accounting-stack{min-width:0;gap:8px}
.income-list .income-accounting-stack>span{font-size:11px}
.income-list .income-amounts{min-width:132px;white-space:normal}
.income-list .income-accounting{min-width:132px}
.login-pro{position:relative;isolation:isolate;grid-template-columns:minmax(0,1.45fr) minmax(350px,.72fr);align-items:start;gap:clamp(36px,6vw,92px);max-width:1500px;min-height:100vh;margin:0 auto;padding:34px clamp(24px,5.2vw,84px) 54px}
.login-pro:before{content:"";position:absolute;z-index:-1;left:-12vw;top:110px;width:72vw;height:760px;background:radial-gradient(ellipse at 35% 30%,#e2e8ff 0%,#eef1ff99 40%,transparent 72%);pointer-events:none}
.login-pro .login-copy{min-width:0}
.landing-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:64px}
.login-pro .landing-header .brand{margin:0;color:#202e43}
.login-pro .landing-header .brand span{font-size:20px;letter-spacing:-.7px;color:#28334c}
.login-pro .landing-header .brand small{font-size:8px;letter-spacing:1.8px}
.landing-note{display:flex;align-items:center;gap:8px;color:#56647b;font-size:12px;font-weight:600}
.landing-note i{width:8px;height:8px;border-radius:50%;background:#17a47c;box-shadow:0 0 0 4px #17a47c1a}
.landing-hero{max-width:780px}
.login-pro .landing-hero .kicker{font-size:11px;letter-spacing:1.45px;margin-bottom:16px}
.login-pro .landing-hero h1{max-width:780px;font-size:clamp(44px,5vw,68px);line-height:1.04;letter-spacing:-2.6px;font-weight:720;margin:0 0 18px;color:#1e2c40}
.login-pro .landing-hero h1 em{color:#4b5ce0;font-style:normal}
.landing-lead{max-width:570px!important;font-size:18px!important;line-height:1.65;color:#64748a!important;margin-bottom:26px!important}
.landing-cta{width:auto!important;min-height:50px;padding:13px 21px;font-size:15px;border-radius:9px;box-shadow:0 9px 20px #4b5ce033}
.landing-cta span{font-size:20px;margin-left:9px}
.landing-under-cta{display:block;color:#77849a;font-size:11px;margin-top:10px}
.landing-showcase{position:relative;margin:42px 0 38px;max-width:760px;padding:20px 22px 16px;border:1px solid #e3e8f2;border-radius:16px;background:#fff;box-shadow:0 18px 50px #263b6412}
.showcase-top{display:flex;align-items:center;gap:9px;border-bottom:1px solid #edf0f5;padding-bottom:14px;color:#35445c;font-size:12px;font-weight:650}
.showcase-dot{width:8px;height:8px;border-radius:50%;background:#20a77e;box-shadow:0 0 0 4px #20a77e18}
.showcase-period{margin-left:auto;padding:5px 9px;background:#f5f6fa;border-radius:6px;color:#718099;font-size:10px;font-weight:550}
.showcase-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:17px 0 16px}
.showcase-metrics>div{padding:12px 13px;background:#f8f9fc;border:1px solid #eff1f5;border-radius:10px}
.showcase-metrics small,.showcase-metrics span{display:block;color:#76839a;font-size:10px}
.showcase-metrics strong{display:block;margin:6px 0 3px;color:#26354a;font-size:16px;letter-spacing:-.2px}
.showcase-bottom{display:grid;grid-template-columns:minmax(180px,1fr) minmax(155px,.9fr) 28px;align-items:center;gap:17px;padding-top:14px;border-top:1px solid #edf0f5}
.showcase-bars{height:56px;display:flex;align-items:end;gap:6px}
.showcase-bars i{display:block;flex:1;min-width:5px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,#7c8af1,#4b5ce0);opacity:.85}
.showcase-bottom b,.showcase-bottom small{display:block}.showcase-bottom b{font-size:12px;color:#35445c}.showcase-bottom small{font-size:10px;color:#77849a;margin-top:4px}
.showcase-check{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e8f7f1;color:#128367;font-size:15px;font-weight:750}
.landing-features{max-width:790px}
.landing-section-heading .kicker{margin-bottom:6px;font-size:10px}
.landing-section-heading h2{font-size:22px;letter-spacing:-.5px;margin-bottom:15px}
.login-pro .login-benefits{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:11px;margin:0 0 17px}
.login-pro .login-benefits article{min-height:104px;padding:14px;gap:11px;border-color:#e7ebf3;border-radius:11px;box-shadow:0 6px 18px #23314606}
.login-pro .login-benefits article>span{flex:0 0 34px;width:34px;height:34px;font-size:19px}
.login-pro .login-benefits strong{font-size:12px;color:#2c3c52}
.login-pro .login-benefits small{font-size:10px;line-height:1.5}
.landing-privacy{display:flex;align-items:flex-start;gap:9px;color:#68778d;font-size:11px;line-height:1.5;margin:15px 0 26px}
.landing-privacy span{color:#07856b;font-size:16px;line-height:1}
.login-pro .public-free-plan{display:flex;flex-direction:column;gap:3px;max-width:650px;margin:0 0 24px;padding:14px 16px;border:1px solid #dfe8e5;border-radius:10px;background:#f7fbfa;color:#68778d;font-size:11px}
.login-pro .public-free-plan strong{color:#1c745e;font-size:12px}
.login-card-pro{position:sticky;top:34px;align-self:start;margin-top:138px;padding:34px;border:1px solid #e6eaf2;border-radius:17px;box-shadow:0 22px 65px #25385412}
.login-card-mark{display:grid;place-items:center;width:43px;height:43px;margin-bottom:20px;border-radius:13px;background:#4b5ce0;color:#fff;font-family:Georgia,serif;font-size:33px;font-weight:700;line-height:1}
.login-card-pro .kicker{margin-bottom:7px}
.login-card-pro h2{font-size:26px;margin-bottom:6px;letter-spacing:-.7px}
.login-card-intro{font-size:12px;color:var(--muted);margin-bottom:22px}
.login-card-pro .field{font-size:12px;margin-bottom:16px}
.login-card-pro .field input{min-height:45px}
.login-card-pro .button{min-height:46px;border-radius:8px}
.login-card-pro>p.small{margin-top:14px;font-size:11px}
.login-assurance{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding-top:17px;margin-top:26px}
.login-assurance span{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#e8f7f1;color:#138166;font-size:13px;font-weight:750}
.login-assurance p{margin:0;color:#77849a;font-size:10px;line-height:1.55}
@media(max-width:980px){.login-pro{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:28px;padding-left:28px;padding-right:28px}.login-card-pro{margin-top:128px}.login-pro .landing-hero h1{font-size:clamp(42px,6vw,58px)}}
@media(max-width:700px){.login-pro{display:flex;flex-direction:column;gap:24px;min-height:0;padding:20px 16px 38px}.login-pro:before{top:30px;left:-40vw;width:120vw;height:680px}.landing-header{margin-bottom:39px}.landing-note{font-size:10px}.login-pro .landing-header .brand span{font-size:18px}.login-pro .landing-hero h1{font-size:clamp(40px,11vw,54px);letter-spacing:-1.9px}.landing-lead{font-size:15px!important;line-height:1.55}.landing-showcase{margin:30px 0;padding:15px 14px 13px}.showcase-metrics{gap:6px}.showcase-metrics>div{padding:9px 8px}.showcase-metrics small,.showcase-metrics span{font-size:9px}.showcase-metrics strong{font-size:13px}.showcase-bottom{grid-template-columns:minmax(90px,1fr) minmax(145px,1.3fr) 24px;gap:10px}.showcase-bars{gap:3px;height:45px}.login-pro .login-benefits{gap:8px}.login-pro .login-benefits article{min-height:112px;padding:11px;gap:8px}.login-pro .login-benefits article>span{flex-basis:29px;width:29px;height:29px;font-size:17px}.login-pro .login-benefits strong{font-size:11px}.login-pro .login-benefits small{font-size:9px}.login-card-pro{position:static;width:100%;max-width:480px;align-self:center;margin:0;padding:25px}.login-pro .public-free-plan{margin-bottom:18px}}
@media(max-width:380px){.login-pro .login-benefits{grid-template-columns:1fr}.login-pro .login-benefits article{min-height:82px}.landing-note{display:none}.showcase-metrics strong{font-size:12px}.showcase-bottom{grid-template-columns:1fr 1.4fr}.showcase-check{display:none}}
/* Gastos: agrupar importes y datos contables en columnas compactas. */
.expense-list .table-wrap table{width:100%;min-width:1035px;table-layout:fixed}
.expense-list th:nth-child(1),.expense-list td:nth-child(1){width:42px}
.expense-list th:nth-child(2),.expense-list td:nth-child(2){width:46px}
.expense-list th:nth-child(3),.expense-list td:nth-child(3){width:116px}
.expense-list th:nth-child(4),.expense-list td:nth-child(4){width:235px}
.expense-list th:nth-child(5),.expense-list td:nth-child(5){width:72px}
.expense-list th:nth-child(6),.expense-list td:nth-child(6){width:112px}
.expense-list th:nth-child(7),.expense-list td:nth-child(7){width:250px}
.expense-list th:nth-child(8),.expense-list td:nth-child(8){width:116px;text-align:center}
.expense-list .expense-amounts,.expense-list .expense-accounting{box-sizing:border-box;white-space:normal;overflow:hidden}
.expense-list .expense-amounts .income-accounting-stack{min-width:0;gap:6px}
.expense-list .expense-amounts .income-accounting-stack>span{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:4px;min-width:0;white-space:nowrap;font-size:11px}
.expense-list .expense-amounts .income-accounting-stack strong{font-size:11px;white-space:nowrap}
.expense-list .expense-accounting-stack{display:grid;gap:5px;min-width:0;line-height:1.2}
.expense-list .expense-account-title{display:grid;gap:2px;min-width:0;padding-bottom:3px;border-bottom:1px solid #edf0f4}
.expense-list .expense-account-title small{font-size:10px;color:var(--muted)}
.expense-list .expense-account-title strong{font-size:11px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}
.expense-list .expense-accounting-stack>span{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:6px;min-width:0;white-space:nowrap;font-size:10px;color:var(--muted)}
.expense-list .expense-accounting-stack>span strong{font-size:11px;color:var(--ink);white-space:nowrap}
@media(max-width:650px){.expense-list .table-wrap table{min-width:1035px}}
/* Portada para autónomos: lectura, impuestos y archivos AEAT. */
.app-brand{display:flex;align-items:center;min-width:0}.app-brand-logo{display:block;width:min(170px,100%);height:auto;object-fit:contain}.mobile-brand img,.public-brand-logo{display:block;width:min(190px,52vw);height:auto;object-fit:contain}
.tax-period-export{display:flex;align-items:flex-end;flex-direction:column;gap:5px}.tax-period-export .button{font-size:12px;min-height:38px}.tax-period-export [role=status]{font-size:10px;color:var(--muted);max-width:310px;text-align:right}
@media(max-width:1150px){.sidebar>.app-brand{justify-content:center;padding:0 2px}.app-brand-logo{width:54px}.sidebar:hover>.app-brand,.sidebar:focus-within>.app-brand{justify-content:flex-start;padding:0 7px}.sidebar:hover .app-brand-logo,.sidebar:focus-within .app-brand-logo{width:170px}}
@media(max-width:900px){.tax-period-export .button{white-space:normal;max-width:260px}}
@media(max-width:650px){.sidebar>.app-brand{justify-content:flex-start!important;padding:0 4px!important}.app-brand-logo{width:158px}.tax-period-export{width:100%;align-items:stretch}.tax-period-export .button{max-width:none;width:100%}.tax-period-export [role=status]{text-align:left}}
.autonomo-home{max-width:1240px;margin:0 auto;padding:28px 40px 0;color:#243046}.autonomo-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:30px}.autonomo-header img{display:block;max-width:200px;width:100%;height:auto;object-fit:contain}.autonomo-header>span{font-size:13px;color:#6c7789}.autonomo-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center;padding:62px 0 76px}.autonomo-copy h1{font-size:clamp(38px,4vw,56px);line-height:1.08;letter-spacing:-2px;margin:18px 0 24px}.autonomo-copy h1 em{font-style:normal;color:#5357d8}.autonomo-copy>p:not(.kicker){font-size:17px;line-height:1.75;color:#627086;max-width:520px}.autonomo-ctas{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 14px}.autonomo-ctas .button{min-height:52px;padding:14px 24px;font-size:15px}.autonomo-copy>small{color:#788398;font-size:12px}.autonomo-demo{background:linear-gradient(135deg,#e6eaff,#f4f9ff);padding:30px 24px 18px;border:1px solid #dce3f4;border-radius:24px;box-shadow:0 24px 70px #4758b119;animation:home-enter .65s ease both}.scan-demo{display:grid;grid-template-columns:.8fr 1fr;gap:22px;align-items:center}.scan-document{position:relative;overflow:hidden;background:#fff;border:1px solid #e2e6ef;border-radius:9px;padding:26px 18px;box-shadow:0 15px 24px #27396715;transform:rotate(-5deg)}.scan-doc-label{font-size:12px;letter-spacing:2px;font-weight:800}.scan-lines{display:grid;gap:10px;margin:28px 0 36px}.scan-lines i{height:6px;background:#e8ebf3;border-radius:3px}.scan-lines i:nth-child(2){width:70%}.scan-document-total{border-top:1px solid #dce0eb;padding-top:14px;display:grid;gap:7px;font-size:12px}.scan-document-total b{font-size:20px}.scan-beam{position:absolute;left:0;right:0;top:0;height:3px;background:#6a65ef;box-shadow:0 0 24px 8px #8178ed40;animation:invoice-scan 4s ease-in-out infinite}.scan-pill{display:inline-block;border-radius:20px;background:#e0f4eb;color:#227557;padding:7px 10px;font-size:10px;font-weight:700}.scan-reading h2{font-size:25px;letter-spacing:-.7px;line-height:1.15;margin:16px 0}.scan-reading>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #dbe2f0;padding:10px 0;font-size:11px}.scan-reading>div strong{white-space:nowrap}.scan-reading>p{font-size:10px;color:#737f94}.scan-demo-footer{display:flex;align-items:center;gap:7px;margin-top:26px;font-size:10px;color:#64718b}.scan-demo-footer small{margin-left:auto;font-size:9px}.scan-pulse{width:7px;height:7px;border-radius:50%;background:#4aaf8d;animation:reader-pulse 2s ease-in-out infinite}.autonomo-workflow{padding:38px 0 60px;text-align:center;border-top:1px solid #e1e6ef}.autonomo-workflow h2,.autonomo-bottom h2{font-size:32px;letter-spacing:-1px;line-height:1.2;margin:12px 0 30px}.autonomo-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;text-align:left}.autonomo-cards article{display:flex;flex-direction:column;align-items:flex-start;background:white;border:1px solid #e0e6ef;border-radius:18px;padding:25px;transition:transform .2s,box-shadow .2s}.autonomo-cards article:hover{transform:translateY(-5px);box-shadow:0 18px 36px #34447712}.feature-number{font-size:10px;letter-spacing:1.1px;font-weight:700;color:#717d91}.feature-symbol{font-size:34px;color:#5558d9;background:#eef0ff;border-radius:12px;width:60px;height:60px;display:grid;place-items:center;margin:22px 0 6px}.autonomo-cards h3{font-size:20px;letter-spacing:-.5px;margin:16px 0 6px}.autonomo-cards p{font-size:14px;color:#627086;line-height:1.7;flex:1}.feature-tag{font-size:10px;font-weight:600;color:#5156b9;border-top:1px solid #edf0f6;padding-top:18px;width:100%}.autonomo-bottom{display:flex;align-items:center;justify-content:space-between;gap:35px;background:#eaeefe;border-radius:20px;padding:38px 40px;margin:0 0 35px}.autonomo-bottom h2{margin-bottom:14px;font-size:28px}.autonomo-bottom p:not(.kicker){max-width:660px;line-height:1.7;color:#657187;font-size:14px}.autonomo-bottom .button{white-space:nowrap}.autonomo-footer{padding:14px 0 28px;max-width:none;font-size:11px;gap:20px}.login-access{width:min(440px,94vw)}.login-access::backdrop{background:#26313e99;backdrop-filter:blur(4px)}.login-access .modal-header img{object-fit:contain;max-width:145px;height:auto}.login-access .modal-content{padding:28px}.login-access h2{font-size:28px;margin:10px 0}.login-access .button{width:100%;margin-top:8px}.login-access .field{font-size:14px}.login-access .field input{min-height:46px}.expense-data-icons .icon-action{width:auto;min-width:105px;height:62px;padding:8px 13px;display:flex;gap:9px}.expense-data-icons .icon-action svg{width:34px;height:34px;flex:0 0 34px;stroke-width:2}.spreadsheet-action-label{font-size:12px;font-weight:700}.autonomo-copy{animation:home-enter .55s ease both}@keyframes home-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes invoice-scan{0%,100%{top:5%;opacity:.3}50%{top:92%;opacity:1}}@keyframes reader-pulse{50%{box-shadow:0 0 0 5px #4aaf8d22}}@media(prefers-reduced-motion:reduce){.autonomo-home *{animation:none!important;transition:none!important}}@media(max-width:800px){.autonomo-home{padding:20px 22px 0}.autonomo-header>span{display:none}.autonomo-hero{grid-template-columns:1fr;gap:35px;padding:28px 0 48px}.autonomo-copy h1{font-size:43px}.autonomo-demo{max-width:550px;width:100%;justify-self:center}.autonomo-cards{grid-template-columns:1fr}.autonomo-workflow h2{font-size:28px}.autonomo-bottom{display:block;padding:28px}.autonomo-bottom .button{margin-top:10px}.autonomo-footer{flex-direction:column;gap:8px}.expense-data-icons .icon-action{min-width:95px;height:58px;padding:7px 10px}.expense-data-icons{flex-wrap:wrap}}@media(max-width:380px){.scan-demo{gap:12px}.scan-document{padding:22px 12px}.scan-reading h2{font-size:21px}.autonomo-copy h1{font-size:37px}}

.overview-period-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.overview-period-controls{display:flex;gap:5px;padding:4px;background:#f1f3fa;border-radius:10px}.overview-period-button{min-width:44px;padding:8px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:#4a5266;font:inherit;font-weight:650;cursor:pointer}.overview-period-button:hover{background:#e6e9f5}.overview-period-button.is-active{background:#4f55df;color:#fff;box-shadow:0 1px 4px #4f55df55}.overview-period-button:focus-visible{outline:3px solid #ffb547;outline-offset:2px}@media(max-width:650px){.overview-period-tools{width:100%;justify-content:flex-start}.overview-period-controls{width:100%;justify-content:space-between}.overview-period-button{flex:1;padding:8px 6px}}

.print-document-heading .print-date{font-size:14pt;font-weight:700;color:#173d54}.overview-invoice-topline{display:flex;align-items:baseline;justify-content:space-between;gap:5px;width:100%;min-width:0}.overview-invoice-reference{font-size:12px;white-space:nowrap}.overview-invoice-date{font-size:11px;color:#737c8e;white-space:nowrap}.overview-invoice-total small{display:none}.overview-evolution-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px 18px;align-items:start}.overview-evolution-grid>.overview-chart-card{min-width:0;margin-bottom:18px}.overview-evolution-legend{grid-column:1/-1;justify-content:flex-end;gap:16px;flex-wrap:nowrap;white-space:nowrap;padding:0 4px}.overview-evolution-grid .overview-chart-legend{gap:12px;flex-wrap:wrap;justify-content:flex-end}.overview-evolution-grid .overview-evolution-legend{flex-wrap:nowrap}.overview-chart-legend .legend-income-prev:before{background:rgba(79,85,223,.28);border:1px solid rgba(79,85,223,.42)}.overview-chart-legend .legend-expense-prev:before{background:rgba(232,134,67,.3);border:1px solid rgba(232,134,67,.46)}#overview-quarter-chart{min-width:440px}@media(max-width:1100px){.overview-evolution-grid{grid-template-columns:1fr}}@media(max-width:650px){.overview-invoice-topline{align-items:flex-start;flex-direction:column;gap:2px}.overview-invoice-date{font-size:12px}.overview-evolution-grid .overview-chart-legend{justify-content:flex-start}}

.mark-paid-action{color:#087c68;border-color:#b8ddd2}.mark-paid-action:hover{background:#eaf7f2;color:#066b59;border-color:#77c3ac}.income-list .invoice-row-actions{gap:5px;white-space:nowrap}

.income-list tbody tr[data-record-row]{cursor:pointer}.income-list tbody tr[data-record-row]:hover{background:#f1f5ff}.income-list tbody tr[data-record-row]:focus-visible{outline:2px solid #4f55df;outline-offset:-2px}.income-list .income-concept-tooltip-target{position:relative;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:help}.income-list .income-concept-tooltip-target:focus-visible{outline:2px solid #4f55df;outline-offset:1px}

.income-list tr.income-emission-overdue td:not(:last-child),.income-list tr.income-emission-overdue td:not(:last-child) *:not(svg):not(path){color:#c62828!important}.income-list tr.income-emission-overdue td:not(:last-child) .badge{color:#c62828!important}.income-hover-tooltip{position:fixed;z-index:10001;width:max-content;max-width:min(460px,calc(100vw - 24px));max-height:42vh;overflow:auto;padding:10px 13px;border:1px solid #c7cfdd;border-radius:9px;background:#fff;color:#263246;box-shadow:0 8px 24px #1b2b431f;font-size:13px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;pointer-events:none}
/* Gastos: la fila abre la edición; archivo y acciones siguen siendo independientes. */
.expense-list .table-wrap{overflow-x:auto}
.expense-list .table-wrap table{width:max-content;min-width:860px;table-layout:fixed}
.expense-list th,.expense-list td{padding-left:5px;padding-right:5px}
.expense-list th:nth-child(1),.expense-list td:nth-child(1){width:42px}
.expense-list th:nth-child(2),.expense-list td:nth-child(2){width:48px}
.expense-list th:nth-child(3),.expense-list td:nth-child(3){width:130px}
.expense-list th:nth-child(4),.expense-list td:nth-child(4){width:72px}
.expense-list th:nth-child(5),.expense-list td:nth-child(5){width:120px}
.expense-list th:nth-child(6),.expense-list td:nth-child(6){width:300px}
.expense-list th:nth-child(7),.expense-list td:nth-child(7){width:148px}
.expense-list tbody tr.expense-edit-row{cursor:pointer}
.expense-list tbody tr.expense-edit-row:hover{background:#f1f5ff}
.expense-list tbody tr.expense-edit-row:focus-visible{outline:2px solid #4f55df;outline-offset:-2px}
.expense-list .expense-concept-in-account{display:grid;gap:2px;min-width:0;margin-top:2px;padding-top:4px;border-top:1px solid #edf0f4;cursor:help}
.expense-list .expense-concept-in-account small{font-size:10px;color:var(--muted)}
.expense-list .expense-concept-in-account>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.25}
.expense-list .expense-accounting-stack{gap:4px}
.expense-list .expense-row-actions{justify-content:flex-start;gap:4px}
.expense-list .expense-row-actions .icon-action{width:32px;height:32px;flex:0 0 32px}
@media(max-width:650px){.expense-list .table-wrap table{min-width:860px}.expense-list .expense-concept-in-account>span{font-size:10px}}
@media(max-width:650px){
 .income-list .table-wrap table{width:100%;min-width:720px;table-layout:fixed}
 .income-list th,.income-list td{padding-left:5px;padding-right:5px}
 .income-list th:nth-child(1),.income-list td:nth-child(1){width:52px}
 .income-list th:nth-child(2),.income-list td:nth-child(2){width:66px}
 .income-list th:nth-child(3),.income-list td:nth-child(3){width:62px}
 .income-list th:nth-child(4),.income-list td:nth-child(4){width:70px}
 .income-list th:nth-child(5),.income-list td:nth-child(5){width:58px}
 .income-list th:nth-child(6),.income-list td:nth-child(6){width:84px}
 .income-list th:nth-child(7),.income-list td:nth-child(7){width:150px}
 .income-list th:nth-child(8),.income-list td:nth-child(8){display:none!important}
 .income-list th:nth-child(9),.income-list td:nth-child(9){width:174px;min-width:174px;position:sticky;right:0;z-index:2;background:#fff;box-shadow:-5px 0 8px #23314612}
 .income-list tbody tr:nth-child(even) td:nth-child(9){background:#f8f9fb}
 .income-list tbody tr:hover td:nth-child(9){background:#f1f5ff}
 .income-list .invoice-row-actions{gap:4px;justify-content:flex-start}
 .income-list .icon-action{width:32px;height:32px;flex:0 0 32px}
 .income-list .income-amounts{min-width:0}
 .income-list .income-accounting-stack{min-width:0!important;gap:6px}
 .income-list .income-accounting-stack>span{grid-template-columns:minmax(0,1fr) max-content;gap:3px;font-size:10px;white-space:nowrap}
 .income-list .income-accounting-stack strong{font-size:10px}
 .income-list td:nth-child(3) button,.income-list .income-concept-tooltip-target{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* Gastos: ocho columnas restauradas y concepto con el espacio flexible principal. */
.expense-list .table-wrap table{width:100%;min-width:1120px;table-layout:fixed}
.expense-list th:nth-child(1),.expense-list td:nth-child(1){width:4%}
.expense-list th:nth-child(2),.expense-list td:nth-child(2){width:5%}
.expense-list th:nth-child(3),.expense-list td:nth-child(3){width:13%}
.expense-list th:nth-child(4),.expense-list td:nth-child(4){width:32%}
.expense-list th:nth-child(5),.expense-list td:nth-child(5){width:7%}
.expense-list th:nth-child(6),.expense-list td:nth-child(6){width:13%}
.expense-list th:nth-child(7),.expense-list td:nth-child(7){width:18%}
.expense-list th:nth-child(8),.expense-list td:nth-child(8){width:8%}
.expense-list .expense-concept-cell{min-width:0}
.expense-list .expense-concept-tooltip{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.3;cursor:help}
.expense-list .expense-accounting-stack>span{display:flex;align-items:baseline;justify-content:flex-start;gap:4px;min-width:0;white-space:nowrap;font-size:10px;color:var(--muted)}
.expense-list .expense-accounting-stack>span strong{margin-left:0;text-align:left;font-size:11px;color:var(--ink);white-space:nowrap}
.expense-list .expense-account-title{display:grid;gap:2px;min-width:0}
.expense-list .expense-account-title small{font-size:10px;color:var(--muted)}
.expense-list .expense-account-title>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.expense-list .expense-row-actions{justify-content:center;gap:3px}
.expense-list .expense-row-actions .icon-action{width:30px;height:30px;flex:0 0 30px}
@media(max-width:650px){.expense-list .table-wrap table{min-width:1120px}.expense-list .expense-concept-tooltip{font-size:11px}}

.expense-list .expense-amounts .income-accounting-stack>span{display:flex;align-items:baseline;justify-content:flex-start;gap:4px;white-space:nowrap}
.expense-list .expense-amounts .income-accounting-stack>span strong{margin-left:0;text-align:left;white-space:nowrap}

.paid-record-summary{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:16px;align-items:start;margin:0 0 18px;padding:14px 16px;border:1px solid var(--line,#e1e6ef);border-radius:12px;background:#f8f9fc}.paid-record-summary small{display:block;margin-bottom:4px;color:var(--muted);font-size:12px}.paid-record-summary p{margin:0;line-height:1.45;overflow-wrap:anywhere}.paid-record-total{min-width:100px;text-align:right}.paid-record-total strong{font-size:18px}.paid-date-field{width:min(100%,230px)}.paid-date-field input{max-width:230px}
@media(max-width:520px){.paid-record-summary{grid-template-columns:1fr}.paid-record-total{text-align:left}}

.paid-date-field{width:min(100%,340px)}.paid-date-label{display:block;margin:0 0 7px;font-weight:650}.paid-date-selected{margin:0 0 10px;color:var(--ink);font-size:14px;font-weight:600;text-transform:capitalize}.paid-calendar{width:100%;padding:13px;border:1px solid #e4e8f0;border-radius:16px;background:linear-gradient(160deg,#fff,#f8f9fd);box-shadow:0 8px 24px #202a4010}.paid-calendar-head{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;margin-bottom:10px;text-align:center;text-transform:capitalize}.paid-calendar-head strong{font-size:14px}.paid-calendar-nav{width:36px;height:36px;border:0;border-radius:11px;background:#eef1ff;color:#4f55df;font-size:25px;line-height:1;cursor:pointer}.paid-calendar-nav:hover{background:#dfe4ff}.paid-calendar-weekdays,.paid-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.paid-calendar-weekdays{margin:0 0 5px;color:#8790a2;font-size:11px;font-weight:700}.paid-calendar-weekdays span{padding:4px 0}.paid-calendar-day{position:relative;aspect-ratio:1;display:grid;place-items:center;padding:0;border:0;border-radius:10px;background:transparent;color:#293449;font:inherit;font-size:13px;cursor:pointer}.paid-calendar-day:hover{background:#eef1ff;color:#4f55df}.paid-calendar-day.is-outside{color:#bbc1ce}.paid-calendar-day.is-selected{background:#4f55df;color:#fff;font-weight:700;box-shadow:0 3px 9px #4f55df40}.paid-calendar-day.is-today:not(.is-selected):after{position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:#4f55df;content:""}.paid-calendar-today{margin-top:9px;padding:5px 0;border:0;background:none;color:#4f55df;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.paid-calendar-today:hover{text-decoration:underline}

#detail-body .paid-date-field{margin-inline:auto}#detail-body .paid-date-label,#detail-body .paid-date-selected{text-align:center}#detail-body .paid-calendar-today{display:block;margin:9px auto 0}

.tax-control{margin-top:18px}.tax-control-heading{display:flex;align-items:center;justify-content:space-between;gap:22px}.tax-control-heading h2{margin:3px 0 7px}.tax-control-heading p:not(.kicker){margin:0 0 10px;color:var(--muted)}.tax-control-period{display:inline-block;padding:5px 10px;border-radius:8px;background:#eef0ff;color:#454bd1;font-size:13px}.tax-control-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.tax-control-buttons .button{display:inline-flex;gap:9px;align-items:center;justify-content:center;min-height:52px;padding:12px 15px;font-size:13px}.tax-control-buttons svg{width:27px;height:27px;flex:0 0 27px}.tax-control-status{font-size:12px;color:var(--muted);margin:10px 0 0}.tax-control-status:empty{display:none}@media(max-width:1100px){.tax-control-heading{align-items:flex-start;flex-direction:column}.tax-control-buttons{justify-content:flex-start;flex-shrink:1}}@media(max-width:600px){.tax-control-buttons{width:100%}.tax-control-buttons .button{width:100%}}

/* Filas compactas compartidas por el registro y la edición de gastos. */
#reader-form{container-type:inline-size}#expense-review .field{margin-bottom:12px}#expense-review .expense-input-row{display:grid;grid-column:1/-1;gap:10px;align-items:end;min-width:0}#expense-review .expense-address-row{grid-template-columns:minmax(0,2fr) minmax(0,.75fr) minmax(0,1.3fr)}#expense-review .expense-dates-row{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))}#expense-review .expense-amounts-row{grid-template-columns:minmax(0,1.35fr) minmax(0,.7fr) minmax(0,1.1fr) minmax(0,1.1fr)}#expense-review .expense-input-row input{padding:9px 8px;min-width:0;height:42px;min-height:42px}#expense-review .review-separator{padding-top:12px;margin-top:4px}#expense-review .review-separator h3{margin-bottom:5px}#expense-review .review-separator p{margin-bottom:10px}#expense-review .record-extra{margin-top:0}#expense-review .expense-supplier-extra{gap:0 10px}
.expense-guide-picker{position:relative;margin-top:6px}.expense-guide-trigger{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:9px 12px;border:1px solid #cfd7ef;border-radius:10px;background:linear-gradient(110deg,#f5f6ff,#fff);color:var(--ink);font:inherit;text-align:left}.expense-guide-trigger:hover,.expense-guide-trigger[aria-expanded=true]{border-color:var(--blue);box-shadow:0 0 0 3px #4b5ce012}.expense-guide-trigger>svg{width:21px;height:21px;flex-shrink:0;color:var(--blue)}#expense-guide-selection{display:flex;align-items:center;gap:8px;min-width:0;flex:1;font-size:13px}#expense-guide-selection>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-guide-code{display:inline-block;flex-shrink:0;background:#eef0ff;color:#454fca;font-size:11px;font-weight:700;padding:3px 6px;border-radius:5px}.expense-guide-chevron{margin-left:auto;color:var(--blue);font-size:20px;line-height:1}.expense-guide-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:8;background:#fff;border:1px solid #dce1ed;border-radius:12px;box-shadow:0 14px 35px #23314626;padding:10px}.expense-guide-menu .expense-guide-search{margin:0 0 8px;padding:9px 11px;min-height:38px;border-radius:8px;background:#f7f8fc;font-size:13px}.expense-guide-menu [role=listbox]{max-height:290px;overflow-y:auto;overscroll-behavior:contain}.expense-guide-group-title{position:sticky;top:0;background:#f4f6fb;color:#64718a;padding:7px 9px;margin:4px 0;font-size:11px;font-weight:700;border-radius:6px}.expense-guide-option{display:flex;width:100%;align-items:center;gap:8px;padding:8px;border:0;border-radius:7px;background:#fff;color:var(--ink);text-align:left;font-size:12px}.expense-guide-option>span:nth-child(2){flex:1;min-width:0}.expense-guide-option small{margin-left:auto;white-space:nowrap;font-size:11px;color:var(--muted)}.expense-guide-option:hover,.expense-guide-option:focus-visible{background:#f1f3ff;outline-offset:-2px}.expense-guide-option[aria-selected=true]{background:#eef0ff;color:var(--dark);font-weight:650}.expense-guide-option.is-empty{color:var(--muted);font-size:11px}.expense-guide-no-results{margin:12px 8px;font-size:12px;color:var(--muted)}
@container(max-width:430px){#expense-review .expense-amounts-row{grid-template-columns:repeat(2,minmax(0,1fr))}#expense-review .expense-address-row,#expense-review .expense-dates-row{grid-template-columns:repeat(2,minmax(0,1fr))}#expense-review .expense-address-row>.field:first-child,#expense-review .expense-dates-row>.field:first-child{grid-column:1/-1}}

.editor-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}.editor-header-actions .icon-button{display:grid;place-items:center;flex:0 0 32px}.editor-record-arrow{background:#eef0ff;color:var(--blue)}.editor-record-arrow svg{width:20px;height:20px}.editor-record-arrow:hover:not(:disabled){background:#dfe4ff;color:var(--dark)}.editor-record-arrow:disabled{opacity:.35;cursor:default}.editor-record-position{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--muted);margin-right:6px}.editor-navigation-warning{position:relative;padding:14px 20px;background:#fff8e8;border-bottom:1px solid #efdfba;color:#76521f}.editor-navigation-warning p{margin:0 0 10px;font-size:13px}.editor-navigation-warning>div{display:flex;gap:8px;flex-wrap:wrap}.editor-navigation-warning .button{min-height:36px;font-size:12px;padding:8px 12px}@media(max-width:480px){.editor-record-position{display:none}.editor-header-actions{gap:4px}.modal-header:has(.editor-header-actions){gap:10px}.modal-header:has(.editor-header-actions) h2{font-size:20px}}

.expense-list th:nth-child(4),.expense-list td:nth-child(4){width:30%}.expense-list th:nth-child(8),.expense-list td:nth-child(8){width:10%}.expense-select-label{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:30px;margin:0;cursor:pointer}.expense-select-label input{appearance:none;width:23px;height:23px;margin:0;border:1.5px solid #b9c4da;border-radius:6px;background:#fff;cursor:pointer}.expense-select-label input:checked{background:var(--blue);border-color:var(--blue)}.expense-select-label>span{position:absolute;pointer-events:none;color:#fff;font-size:16px;line-height:1;opacity:0}.expense-select-label:has(input:checked)>span{opacity:1}.expense-select-label:has(input:disabled){opacity:.5;cursor:wait}.expense-list tr.is-bulk-selected>td{background:#eef0ff}.expense-list .expense-row-actions{gap:3px}.expense-actions-heading{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.expense-actions-heading input{width:18px;height:18px;margin:0;accent-color:var(--blue);cursor:pointer}.expense-bulk-toolbar{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.expense-bulk-toolbar [role=status]{font-size:12px;font-weight:600;color:var(--blue);white-space:nowrap}.expense-bulk-toolbar select{min-height:38px;max-width:225px;padding:8px 10px;border:1px solid #c8d1ee;border-radius:8px;background:#f5f6ff;color:var(--ink);font:inherit;font-size:12px}.expense-bulk-toolbar .icon-button{width:27px;height:27px;font-size:21px}.expense-bulk-documents{list-style:none;padding:0;max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:9px}.expense-bulk-documents li{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr) max-content;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px}.expense-bulk-documents li:last-child{border:0}.danger-button{background:#ae403b;border-color:#ae403b}.danger-button:hover{background:#8e302c}@media(max-width:1100px){.expense-list .records-search-row{flex-wrap:wrap}.expense-bulk-toolbar{margin-left:auto}}@media(max-width:650px){.expense-bulk-toolbar{width:100%;justify-content:flex-end;margin-top:8px}.expense-bulk-toolbar select{flex:1;max-width:none}.expense-bulk-documents li{grid-template-columns:1fr max-content}.expense-bulk-documents li>span:first-of-type{grid-column:1/-1;grid-row:2}}

.expense-list .expense-tax-inline{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font-size:11px;line-height:1.25;color:var(--muted)}.expense-list .expense-tax-inline>span{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.expense-list .expense-tax-inline strong{font-size:11px;color:var(--ink);font-weight:700}.expense-list .expense-accounting-stack .expense-account-title{margin-top:2px}.expense-list .expense-account-title>strong{font-size:11px;color:var(--muted);font-weight:550}.expense-state-icon{position:relative}.expense-state-icon.is-unreviewed{background:#fff3df;color:#b56b12}.expense-review-dot{position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border-radius:50%;background:#ed941a;border:2px solid #fff}
/* Rich text fields for income invoices and budgets */
.rich-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.rich-field .field-label{font-size:12px;font-weight:550;color:#526078}
.rich-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px;border:1px solid #d9e0eb;border-radius:7px 7px 0 0;background:#f7f9fb}
.rich-toolbar button{min-width:32px;height:30px;padding:3px 8px;border:1px solid #d9e0eb;border-radius:5px;background:#fff;color:var(--ink);cursor:pointer}
.rich-toolbar button:hover,.rich-toolbar button:focus{border-color:#86b9aa;background:#f0f8f5}
.rich-toolbar label{display:flex;align-items:center;gap:5px;margin-left:auto;color:var(--muted);font-size:12px}
.rich-toolbar select{height:30px;border:1px solid #d9e0eb;border-radius:5px;background:#fff;color:var(--ink)}
.rich-editor{min-height:76px;padding:11px 12px;border:1px solid #d9e0eb;border-top:0;border-radius:0 0 7px 7px;background:#fff;color:var(--ink);font:inherit;line-height:1.55;white-space:normal;overflow-wrap:anywhere;outline:none}
.rich-field-large .rich-editor{min-height:132px}
.rich-editor:focus{border-color:#72a996;box-shadow:0 0 0 3px #72a99622}
.rich-editor:empty::before{content:attr(data-placeholder);color:#8a93a1;pointer-events:none}
.rich-editor p,.rich-editor div,.print-rich-text p,.print-rich-text div{margin:0 0 .45em}
.rich-editor p:last-child,.rich-editor div:last-child,.print-rich-text p:last-child,.print-rich-text div:last-child{margin-bottom:0}
.due-date-field[hidden]{display:none!important}
.print-rich-text{white-space:normal;line-height:1.5;overflow-wrap:anywhere}

/* Lector: documento primero, subida compacta debajo y datos sin caja ni scroll interior. */
.reader-layout>section:first-child{display:flex;flex-direction:column;min-width:0}
.reader-layout #invoice-dropzone{box-sizing:border-box;min-height:1000px}
.reader-layout #photo-panel:not([hidden]){order:-1}
.reader-layout:has(#photo-panel:not([hidden])) #invoice-dropzone{height:auto;min-height:0;max-height:none;padding:12px 16px;overflow:visible}
.reader-layout:has(#photo-panel:not([hidden])) #invoice-dropzone>.scan-icon,.reader-layout:has(#photo-panel:not([hidden])) #invoice-dropzone>h2,.reader-layout:has(#photo-panel:not([hidden])) #invoice-dropzone>p:not(#reader-file-name){display:none}
.reader-layout:has(#photo-panel:not([hidden])) #invoice-dropzone>.button{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;margin:0;min-height:44px}
.reader-layout>.review-card{height:auto;min-height:0;max-height:none;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;scrollbar-gutter:auto}

/* Shared expense form: reference in heading, identity on one row and concept before amounts. */
.reader-layout>.review-card .section-title .expense-document-heading,#detail-body .modal-header .expense-document-heading{font-size:27px;line-height:1.35;letter-spacing:-.4px;overflow-wrap:anywhere;margin:0}
#expense-review .expense-party-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
#expense-review .expense-concept-row{grid-column:1/-1;width:100%;margin-top:2px}
#expense-review .expense-concept-row textarea{width:100%;min-height:76px}
#supplier-contact-fields>.review-separator{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-bottom:12px}
#supplier-contact-fields>.review-separator h3,#supplier-contact-fields>.review-separator p{margin:0}
#invoice-dropzone #reader-file-name{display:block;margin:8px 0 0;overflow-wrap:anywhere}
#record-attachment-uploader .document-attach{margin-top:14px}
#record-attachment-uploader .attachment-select{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
@media(max-width:520px){.reader-layout>.review-card .section-title .expense-document-heading,#detail-body .modal-header .expense-document-heading{font-size:23px}#expense-review .expense-party-row{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}

/* Compact reread action at the left of the document toolbar. */
.zoom-toolbar>.reader-reread-icon{margin-right:auto;width:34px;height:32px;min-width:34px;min-height:32px;padding:0;display:grid;place-items:center;font-size:21px;line-height:1}

/* Withholding is visible alongside the expense amounts. */
#expense-review .expense-amounts-row{grid-template-columns:minmax(0,1.2fr) minmax(0,.65fr) repeat(3,minmax(0,1fr))}
@container(max-width:430px){#expense-review .expense-amounts-row{grid-template-columns:repeat(2,minmax(0,1fr))}#expense-review .expense-amounts-row>.field:last-child{grid-column:1/-1}}

/* New quote only: ordered single-row metadata and matching editors with tools underneath. */
.new-quote-layout .invoice-meta{grid-template-columns:repeat(6,minmax(140px,1fr));gap:10px;align-items:end;overflow-x:auto;padding-bottom:6px;min-width:0}
.new-quote-layout .invoice-meta>.field{min-width:0;margin-bottom:0}
.new-quote-layout .invoice-meta input,.new-quote-layout .invoice-meta select{width:100%;min-width:0}
.new-quote-layout .rich-field .rich-editor{border:1px solid #d9e0eb;border-bottom:0;border-radius:7px 7px 0 0;font:inherit}
.new-quote-layout .rich-field .rich-toolbar{border-radius:0 0 7px 7px;margin:0}
.new-quote-layout .invoice-totals+.rich-field{margin-top:18px}
/* Empty reader starts with equally tall areas; loaded data remains open and unrestricted. */
.reader-layout:not(:has(#photo-panel:not([hidden])))>.review-card{min-height:1000px}

/* Each user's expense account preferences. */
#expense-accounts-settings{max-width:none}#expense-accounts-settings .expense-accounts-table td{white-space:normal;vertical-align:middle}.expense-accounts-table th:first-child{min-width:100px}.expense-accounts-table th:nth-child(2){min-width:180px}.expense-account-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.expense-account-actions svg{width:22px;height:22px}.expense-account-actions button:disabled{opacity:.35;cursor:default}.account-customized{display:block;font-size:12px;color:#526282;margin-top:3px}.expense-account-edit-form{border:1px solid var(--line);border-radius:12px;padding:20px;margin-top:20px;background:#f8f9ff}.expense-account-edit-form .expense-account-error{margin-top:12px}.expense-account-edit-form .account-percentage input{max-width:150px}

/* Configuration: whole-title click targets for independent native disclosures. */
.settings-accordion-card{padding:0;overflow:hidden}
.settings-accordion{border:1px solid var(--line);border-radius:13px;background:#fff;margin:0 0 16px}
.settings-accordion-card>.settings-accordion{border:0;margin:0;border-radius:inherit}
.settings-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:18px 22px;cursor:pointer;list-style:none;font-size:19px;font-weight:650;line-height:1.35;color:var(--ink)}
.settings-accordion>summary::-webkit-details-marker{display:none}
.settings-accordion>summary:hover{background:#f4f6ff}
.settings-accordion>summary:focus-visible{outline:3px solid #4b5ce0;outline-offset:-3px;border-radius:10px}
.settings-chevron{font-size:30px;line-height:1;transition:transform .15s;flex-shrink:0}
.settings-accordion[open]>summary>.settings-chevron{transform:rotate(90deg)}
.settings-accordion[open]>summary{border-bottom:1px solid var(--line)}
.settings-section-body{padding:20px 22px}
.settings-profile-sections{padding:0;background:transparent;border:0;box-shadow:none}
.settings-profile-sections .form-actions{border-top:0;margin-top:0;padding-top:0;padding-bottom:4px}
@media(max-width:650px){.settings-accordion>summary{padding:16px;font-size:18px}.settings-section-body{padding:18px 16px}}
@media(prefers-reduced-motion:reduce){.settings-chevron{transition:none}}

/* One Enter is one line in the editor, preview and printed document. */
.rich-editor,.invoice-preview .print-rich-text{line-height:1.45;white-space:normal;font-weight:400}
.rich-editor p,.rich-editor div,.invoice-preview .print-rich-text p,.invoice-preview .print-rich-text div{margin:0;padding:0;min-height:1em}
.invoice-preview .print-rich-text{overflow-wrap:anywhere}

/* Shared rich editor: tools below Concept and Notes in all four invoice/quote forms. */
.rich-field .rich-editor{border:1px solid #d9e0eb;border-bottom:0;border-radius:7px 7px 0 0}
.rich-field .rich-toolbar{border-radius:0 0 7px 7px;margin:0}

/* Income table: protect money and actions; only Contact and Concept absorb width. */
.income-list{container:income / inline-size;min-width:0}
.income-list .table-wrap{width:100%;min-width:0;max-width:100%;overflow-x:auto}
.income-list .table-wrap>table.income-responsive-table{width:100%;min-width:0;max-width:100%;table-layout:fixed;box-sizing:border-box}
.income-list .table-wrap>table.income-responsive-table th,.income-list .table-wrap>table.income-responsive-table td{box-sizing:border-box;width:auto;min-width:0;max-width:none;padding:12px 6px;position:static;box-shadow:none;overflow:hidden}
.income-responsive-table col.income-col-state{width:104px}
.income-responsive-table col.income-col-number{width:110px}
.income-responsive-table col.income-col-date,.income-responsive-table col.income-col-payment{width:96px}
.income-responsive-table col.income-col-amounts{width:154px}
.income-responsive-table col.income-col-tax{width:148px}
.income-responsive-table col.income-col-actions{width:154px}
.income-responsive-table col.income-col-contact{width:calc((100% - 862px) * .25)}
.income-responsive-table col.income-col-concept{width:auto}
.income-list .income-responsive-table .income-accounting-stack{width:100%;min-width:0;gap:6px}
.income-list .income-responsive-table .income-accounting-stack>span{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 8px;white-space:normal;min-width:0;font-size:12px;line-height:1.35}
.income-list .income-responsive-table .income-accounting-stack strong{display:block;flex:0 1 auto;max-width:100%;margin-left:auto;font-size:13px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.income-list .income-responsive-table .invoice-row-actions{display:flex;gap:4px;justify-content:flex-end;flex-wrap:nowrap}
.income-list .income-responsive-table .icon-action{width:32px;height:34px;min-width:32px;flex:0 0 32px}
.income-list .income-responsive-table .invoice-number,.income-list .income-responsive-table .contact-link{text-decoration:none;max-width:100%}
.income-list .income-responsive-table .income-concept-tooltip-target,.income-list .income-responsive-table .contact-link{display:block;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.income-status-dot{display:none;width:10px;height:10px;border-radius:50%;background:currentColor;flex:0 0 10px}
@container income (max-width:1100px){
 .income-responsive-table col.income-col-state{width:34px}
 .income-responsive-table col.income-col-number{width:104px}
 .income-responsive-table col.income-col-date{width:92px}
 .income-responsive-table col.income-col-payment{width:0}
 .income-list .table-wrap>table.income-responsive-table th:nth-child(5),.income-list .table-wrap>table.income-responsive-table td:nth-child(5){display:table-cell;visibility:hidden;padding:0;border:0;overflow:hidden}
 .income-responsive-table col.income-col-contact{width:calc((100% - 686px) * .25)}
 .income-list .income-responsive-table td:first-child .badge{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent}
 .income-list .income-responsive-table .income-status-label{display:none}
 .income-list .income-responsive-table .income-status-dot{display:inline-block}
 .income-list .income-responsive-table th:first-child{font-size:0}
}
/* Below 760px, keep all figures and actions within the container in compact rows. */
@container income (max-width:760px){
 .income-list .table-wrap{overflow:visible}
 .income-list .table-wrap>table.income-responsive-table{display:block}
 .income-responsive-table colgroup{display:none}
 .income-responsive-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .income-responsive-table tbody{display:block}
 .income-list .income-responsive-table tbody tr{display:grid;grid-template-columns:20px minmax(0,1fr) 92px 72px;gap:7px 8px;padding:12px 6px;border-bottom:1px solid var(--line);align-items:start}
 .income-list .table-wrap>table.income-responsive-table tbody td{display:block!important;width:auto;min-width:0;max-width:100%;padding:0;border:0;white-space:normal;background:transparent;box-shadow:none;position:static}
 .income-list .income-responsive-table td:nth-child(1){grid-column:1;grid-row:1}
 .income-list .income-responsive-table td:nth-child(2){grid-column:2;grid-row:1}
 .income-list .income-responsive-table td:nth-child(3){grid-column:1/4;grid-row:2}
 .income-list .income-responsive-table td:nth-child(4){grid-column:3;grid-row:1;font-size:12px}
 .income-list .income-responsive-table td:nth-child(5){grid-column:1/4;grid-row:5;font-size:12px;color:var(--muted)}
 .income-list .income-responsive-table td:nth-child(5):before{content:'Pago: '}
 .income-list .income-responsive-table td:nth-child(6){grid-column:1/4;grid-row:3}
 .income-list .income-responsive-table td:nth-child(7){grid-column:1/3;grid-row:4}
 .income-list .income-responsive-table td:nth-child(8){grid-column:3/5;grid-row:4}
 .income-list .income-responsive-table td:nth-child(9){grid-column:4;grid-row:1/4}
 .income-list .income-responsive-table .invoice-row-actions{display:grid;grid-template-columns:repeat(2,32px);justify-content:end;gap:4px}
 .income-list .income-responsive-table .income-accounting-stack>span{font-size:12px}
 .income-list .income-responsive-table .income-accounting-stack strong{font-size:13px}
 .income-list .income-responsive-table .invoice-number{font-size:12px;white-space:nowrap}
}

.income-list .income-responsive-table .invoice-number:hover,.income-list .income-responsive-table .invoice-number:focus,.income-list .income-responsive-table .contact-link:hover,.income-list .income-responsive-table .contact-link:focus{text-decoration:none}
@container income (max-width:760px){.income-list .income-responsive-table .invoice-number{white-space:normal;overflow-wrap:anywhere}}

/* Keep each financial label beside its value, without stretching the gap. */
.income-list .income-responsive-table .income-accounting-stack>span{justify-content:flex-start;column-gap:4px}
.income-list .income-responsive-table .income-accounting-stack strong{margin-left:0;text-align:left}

/* Keep the nine-column table grid aligned when optional columns are hidden. */
@container income (min-width:760.01px) and (max-width:1100px){
 .income-responsive-table col.income-col-payment,.income-responsive-table col.income-col-tax{width:0}
 .income-responsive-table col.income-col-contact{width:calc((100% - 538px) * .25)}
 .income-list .table-wrap>table.income-responsive-table th:nth-child(5),.income-list .table-wrap>table.income-responsive-table td:nth-child(5),.income-list .table-wrap>table.income-responsive-table th:nth-child(8),.income-list .table-wrap>table.income-responsive-table td:nth-child(8){display:table-cell!important;visibility:hidden;padding:0;border:0;font-size:0;overflow:hidden}
}
@container income (max-width:760px){
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(6){display:block!important;grid-column:1/-1;grid-row:3;visibility:visible;overflow:visible}
 .income-list .income-responsive-table .income-concept-tooltip-target{display:block;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
 .income-list .income-responsive-table td:nth-child(9){grid-row:1/3}
 .income-list .income-responsive-table td:nth-child(7){grid-column:1/-1}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(8){display:none!important}
}

@container income (max-width:760px){.income-list .table-wrap>table.income-responsive-table tbody td:nth-child(5){visibility:visible}}

.quotes-table.income-list tbody tr[data-quote-row]{cursor:pointer}
.quotes-table.income-list tbody tr[data-quote-row]:focus-visible{outline:2px solid #4f55df;outline-offset:-2px}
@container income (max-width:760px){.quotes-table.income-list .income-responsive-table td:nth-child(5):before{content:'Vencimiento: '}}

/* Concept and Notes: three initial lines; rich content grows naturally without a cap. */
.rich-field .rich-editor,.new-quote-layout .rich-field .rich-editor{box-sizing:border-box;min-height:calc(4.35em + 24px);height:auto;max-height:none;line-height:1.45;overflow:visible}
textarea[data-auto-grow],#expense-review .expense-concept-row textarea[data-auto-grow]{box-sizing:border-box;width:100%;min-height:calc(4.35em + 24px);max-height:none;line-height:1.45;resize:vertical;overflow-y:hidden}

/* Hidden cells retain their column slots; their contents must not contribute height. */
@container income (min-width:760.01px) and (max-width:1100px){
 .income-list .table-wrap>table.income-responsive-table td:nth-child(5),.income-list .table-wrap>table.income-responsive-table td:nth-child(8){height:0;line-height:0}
 .income-list .table-wrap>table.income-responsive-table td:nth-child(5)>*,.income-list .table-wrap>table.income-responsive-table td:nth-child(8)>*{display:none!important}
}

/* On narrow screens tools follow page content; primary navigation stays above it. */
@media(max-width:900px){
 .workspace>.sidebar-foot{position:static;display:flex!important;flex-direction:column!important;gap:12px!important;width:auto;min-width:0;margin:12px 16px 0!important;padding:18px 0 0!important;border-top:1px solid var(--line)}
 .workspace>.sidebar-foot .tax-deadline-card{display:block!important;width:100%;margin:0!important;padding:14px}
 .workspace>.sidebar-foot .sidebar-utilities{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:stretch;gap:6px!important;overflow:visible;white-space:normal;margin:0;padding:0;border:0}
 .workspace>.sidebar-foot .nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:90px;min-height:58px;margin:0;padding:8px 12px;font-size:12px;border-radius:8px}
 .workspace>.sidebar-foot .nav-text{display:inline!important}
 .workspace>.sidebar-foot .nav-icon{display:inline-block;width:auto;flex:0 0 auto;font-size:20px}
 .workspace>.sidebar-foot .identity{display:none}
 .workspace>.sidebar-foot .sidebar-logout{display:flex;align-items:center;justify-content:center;gap:8px;align-self:flex-end;width:auto;min-height:38px;margin:0;padding:8px 10px;border:0;background:transparent;font-size:12px}
}
@media(max-width:650px){.workspace>.sidebar-foot{margin-left:12px!important;margin-right:12px!important}}

@media(max-width:900px){.workspace{display:flex;flex-direction:column;min-height:100vh}.workspace>#main{flex:1 0 auto;min-width:0}}

/* Rich concepts keep authored marks; lists stay compact and tooltips show the complete text. */
.concept-rich-display{font-weight:400;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.concept-rich-display p,.concept-rich-display div{margin:0;padding:0}
.income-list .income-responsive-table .income-concept-tooltip-target.concept-rich-display,.expense-list .expense-concept-tooltip.concept-rich-display,.overview-invoice-concept.concept-rich-display{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;overflow:hidden;text-overflow:ellipsis}
.income-hover-tooltip p,.income-hover-tooltip div{margin:0;line-height:1.45}
#concept-form .rich-field{grid-column:1/-1}
@container income (max-width:760px){.income-list .income-responsive-table .income-concept-tooltip-target.concept-rich-display{display:block;-webkit-line-clamp:unset;overflow:visible}}
.settings-save-status:empty{display:none}
#account-settings-selection{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#expense-account-options{max-height:min(360px,50vh);overflow-y:auto;overscroll-behavior:contain}
.account-settings-picker .settings-account-row{display:flex;gap:6px;padding:3px 5px}
.settings-account-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;border:0;padding:8px 3px;background:transparent;color:inherit;font:inherit;text-align:left}
.settings-account-main>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}
.settings-account-main>small{margin-left:auto;white-space:nowrap}
.account-settings-picker .expense-account-actions{display:flex;gap:3px;flex:0 0 auto}
.account-settings-picker .icon-action{width:30px;height:30px}
.account-settings-picker .icon-action svg{width:17px;height:17px}
@media(max-width:520px){.settings-account-main{flex-wrap:wrap}.settings-account-main>small{margin-left:0}.account-settings-picker .expense-account-actions{flex-direction:column}}

#expense-accounts-settings .account-settings-picker .expense-guide-menu{position:static;margin-top:6px}

/* Fichas start at the same viewport breakpoint as the icon-only sidebar. */
.income-payment-pending{display:none}
@media(max-width:1150px){
 .income-list .table-wrap{width:100%;max-width:100%;min-width:0;overflow:visible}
 .income-list .table-wrap>table.income-responsive-table{display:block;width:100%;min-width:0;max-width:100%}
 .income-list .income-responsive-table colgroup{display:none!important}
 .income-list .income-responsive-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .income-list .income-responsive-table tbody{display:block}
 .income-list .income-responsive-table tbody tr{display:grid;grid-template-columns:max-content max-content minmax(84px,.6fr) minmax(0,1fr) max-content max-content;gap:12px 14px;align-items:start;margin:0 0 10px;padding:14px 12px;border:1px solid var(--line);border-radius:10px}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(n){display:block!important;position:static;visibility:visible!important;width:auto;min-width:0;max-width:100%;height:auto;line-height:1.45;font-size:inherit;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible;white-space:normal}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(5)>*{display:inline!important}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(8)>*{display:grid!important}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(1){grid-column:1;grid-row:1}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(2){grid-column:2;grid-row:1}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(4){grid-column:3;grid-row:1;white-space:nowrap!important}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(5){grid-column:4;grid-row:1}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(5):before{content:'Pago: ';color:var(--muted)}
 .quotes-table.income-list .table-wrap>table.income-responsive-table tbody td:nth-child(5):before{content:'Vencimiento: '}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(9){grid-column:5/7;grid-row:1;justify-self:end}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(3){grid-column:1/-1;grid-row:2}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(6){grid-column:1/5;grid-row:3;align-self:start}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(8){grid-column:5;grid-row:3;min-width:112px}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(7){grid-column:6;grid-row:3;min-width:124px}
 .income-list .income-responsive-table td:first-child .badge{display:inline-flex;align-items:center;padding:3px 7px;background:#fff4d8}
 .income-list .income-responsive-table td:first-child .badge.green{background:#e3f5ee}
 .income-list .income-responsive-table td:first-child .badge.red{background:#ffeded}
 .income-list .income-responsive-table .income-status-label{display:inline!important}
 .income-list .income-responsive-table .income-status-dot{display:none!important}
 .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(5).is-pending>.income-payment-date{display:none!important}
 .income-list .income-responsive-table .income-payment-pending{color:#c62828;white-space:nowrap}
 .income-list .income-responsive-table .invoice-row-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:4px}
 .income-list .income-responsive-table .icon-action{width:32px;height:34px;min-width:32px;flex:0 0 32px}
 .income-list .income-responsive-table .invoice-number,.income-list .income-responsive-table .contact-link{font-size:inherit;white-space:normal;overflow-wrap:anywhere}
 .income-list .income-responsive-table .income-concept-tooltip-target.concept-rich-display{display:block;-webkit-line-clamp:unset;overflow:visible;white-space:normal;overflow-wrap:anywhere}
 .income-list .income-responsive-table .income-accounting-stack>span{justify-content:flex-start;column-gap:4px;font-size:12px}
 .income-list .income-responsive-table .income-accounting-stack strong{font-size:13px;margin-left:0}
}
@media(max-width:1150px){
 @container income (max-width:680px){
  .income-list .income-responsive-table tbody tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 68px;gap:10px 8px;padding:12px 8px}
  .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(1){grid-column:1;grid-row:1}
  .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(2){grid-column:2;grid-row:1}
  .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(4){grid-column:1;grid-row:2}
  .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(5){grid-column:2;grid-row:2}
  .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(9){grid-column:3;grid-row:1/3}
  .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(3){grid-column:1/-1;grid-row:3}
  .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(6){grid-column:1/-1;grid-row:4}
  .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(8){grid-column:1;grid-row:5;min-width:0}
  .income-list .table-wrap>table.income-responsive-table tbody td:nth-child(7){grid-column:2/4;grid-row:5;min-width:0;justify-self:end}
  .income-list .income-responsive-table .invoice-row-actions{display:grid;grid-template-columns:repeat(2,32px);gap:4px}
  .income-list .income-responsive-table td:first-child .badge{max-width:100%;font-size:10px;white-space:normal;overflow-wrap:anywhere;padding:3px 5px}
  .income-list .income-responsive-table .invoice-number{font-size:12px}
 }
}
/* Accounts are already visible when opening Settings, without a second dropdown. */
#expense-accounts-settings .account-settings-picker .expense-guide-trigger{cursor:default}
#expense-accounts-settings .account-settings-picker .expense-guide-chevron{display:none}

/* All account groups stay in normal document flow; nothing overlays the editor. */
#expense-accounts-settings #expense-account-options{height:auto;max-height:none;overflow:visible;overscroll-behavior:auto}
#expense-accounts-settings .account-settings-picker .expense-guide-menu{position:static;inset:auto;z-index:auto;height:auto;max-height:none;overflow:visible;box-shadow:none}
#expense-accounts-settings .expense-guide-group-title{position:static;top:auto}
#expense-accounts-settings #expense-account-editor{position:relative;z-index:auto;clear:both;margin-bottom:16px}
#expense-accounts-settings .expense-account-edit-form .form-actions{position:static;clear:both;display:flex;flex-wrap:wrap;gap:10px}

/* Expense cards follow the same icon-sidebar breakpoint as income cards. */
.expense-card-reference{display:none}
@media(max-width:1150px){
 .expense-list .table-wrap{width:100%;max-width:100%;min-width:0;overflow:visible}
 .expense-list .table-wrap>table.expense-responsive-table{display:block;width:100%;min-width:0;max-width:100%}
 .expense-list .expense-responsive-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .expense-list .expense-responsive-table tbody{display:block}
 .expense-list .expense-responsive-table tbody tr{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1fr) max-content max-content;gap:10px 12px;align-items:start;margin:0 0 10px;padding:14px 12px;border:1px solid var(--line);border-radius:10px}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(n){display:block!important;position:static;visibility:visible;width:auto;min-width:0;max-width:100%;height:auto;line-height:1.45;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible;white-space:normal}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(1){grid-column:1;grid-row:1}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(5){grid-column:2/4;grid-row:1;display:flex!important;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(8){grid-column:4/6;grid-row:1;justify-self:end}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(2){grid-column:1;grid-row:2/4}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(3){grid-column:2/6;grid-row:2}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(4){grid-column:2/6;grid-row:3}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(7){grid-column:1/4;grid-row:4}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(6){grid-column:4/6;grid-row:4;justify-self:end}
 .expense-list .expense-responsive-table .expense-card-reference{display:block;color:var(--muted);font-weight:600;overflow-wrap:anywhere}
 .expense-list .expense-responsive-table .expense-file-thumb{display:flex;align-items:center;justify-content:center;width:50px;height:64px;min-width:0;overflow:hidden}
 .expense-list .expense-responsive-table .expense-file-thumb img,.expense-list .expense-responsive-table .expense-file-thumb canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
 .expense-list .expense-responsive-table .expense-state-icon{width:32px;height:32px}
 .expense-list .expense-responsive-table .expense-concept-tooltip.concept-rich-display{display:block;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;-webkit-line-clamp:unset;overflow-wrap:anywhere}
 .expense-list .expense-responsive-table .expense-provider{overflow-wrap:anywhere;font-size:inherit}
 .expense-list .expense-responsive-table .expense-row-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;justify-content:flex-end}
 .expense-list .expense-responsive-table .expense-row-actions .icon-action{width:30px;height:32px;min-width:30px;flex:0 0 30px}
 .expense-list .expense-responsive-table .expense-select-label{width:30px;height:32px;min-width:30px;flex:0 0 30px}
 .expense-list .expense-responsive-table .income-accounting-stack{min-width:0;gap:6px}
 .expense-list .expense-responsive-table .income-accounting-stack>span{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:2px 4px;font-size:12px}
 .expense-list .expense-responsive-table .income-accounting-stack strong{margin-left:0;max-width:100%;font-size:13px;white-space:normal;overflow-wrap:anywhere}
 .expense-list .expense-responsive-table .expense-tax-inline{display:flex;flex-wrap:wrap;gap:4px 6px;font-size:12px}
 .expense-list .expense-responsive-table .expense-tax-inline strong{font-size:13px;white-space:normal;overflow-wrap:anywhere}
 .expense-list .expense-responsive-table .expense-account-title>strong{font-size:12px;white-space:normal;overflow:visible;overflow-wrap:anywhere}
}
@media(max-width:800px){
 .expense-list .expense-responsive-table tbody tr{grid-template-columns:48px minmax(0,1fr) 100px;gap:10px 8px;padding:12px 8px}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(1){grid-column:1;grid-row:1}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(5){grid-column:2;grid-row:1;display:block!important}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(8){grid-column:3;grid-row:1}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(2){grid-column:1;grid-row:2/4}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(3){grid-column:2/4;grid-row:2}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(4){grid-column:2/4;grid-row:3}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(6){grid-column:1/-1;grid-row:4;justify-self:stretch}
 .expense-list .table-wrap>table.expense-responsive-table tbody td:nth-child(7){grid-column:1/-1;grid-row:5}
 .expense-list .expense-responsive-table .expense-file-thumb{width:44px;height:56px}
 .expense-list .expense-responsive-table .expense-amounts .income-accounting-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .expense-list .expense-responsive-table .expense-card-date{font-size:12px}
}

.expense-card-select-all{display:none}
@media(max-width:1150px){.expense-list .records-search-row{flex-wrap:wrap}.expense-card-select-all{display:flex;align-items:center;gap:7px;min-height:36px;color:var(--muted);font-size:12px;cursor:pointer}.expense-card-select-all input{width:18px;height:18px}}

/* Supplier agenda suggestions, scoped to expense forms. */
#expense-review .supplier-autocomplete{position:relative;min-width:0}
#expense-review .supplier-suggestions{position:absolute;top:100%;left:0;right:0;z-index:30;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 8px 24px #20344d24;max-height:300px;overflow:auto;padding:5px}
#expense-review .supplier-suggestions button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:10px;text-align:left;background:white;border:0;border-radius:6px;color:#243447;font:inherit;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
#expense-review .supplier-suggestions button span{font-size:.86em;color:#64748b}
#expense-review .supplier-suggestions button:hover,#expense-review .supplier-suggestions button[aria-selected="true"],#expense-review .supplier-suggestions button:focus-visible{background:#eef0ff;outline:2px solid #5559e8;outline-offset:-2px}
#expense-review .supplier-search-message{font-size:.85em;padding:5px 10px;margin:0;color:#64748b}
#expense-review .supplier-match-status{grid-column:1/-1;margin:0;line-height:1.4}
#expense-review .supplier-match-status:empty{display:none}

/* Overview: expense share uses the same period and bases as the totals. */
.metrics.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1150px){.metrics.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.metrics.overview-metrics{grid-template-columns:1fr}}

/* Totals reflect only visible rows after the period and search filters. */
.records-visible-totals{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-left:auto;min-width:0}
.records-visible-totals>span{display:flex;flex-direction:column;gap:2px;text-align:right;white-space:nowrap}
.records-visible-totals small{color:var(--muted);font-size:12px}
.records-visible-totals strong{font-size:15px;font-variant-numeric:tabular-nums}
.income-list .records-search-row>.search-field,.expense-list .records-search-row>.search-field{flex:1 1 240px;min-width:min(240px,100%);width:auto;max-width:440px}
@media(max-width:800px){
 .records-visible-totals{flex:1 1 100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
 .records-visible-totals>span{white-space:normal;overflow-wrap:anywhere}
 .records-visible-totals strong{font-size:14px}
}

/* Investment register and linked internal amortization documents. */
.asset-book{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}
.asset-book .section-title{flex-wrap:wrap;gap:14px}.asset-book h3{font-size:19px}
.asset-modal .form-grid{gap:12px 18px}.asset-modal label{min-width:0}
.asset-modal .asset-schedule td,.asset-modal .asset-schedule th{padding:10px;white-space:nowrap}
.asset-modal .asset-schedule{font-size:13px}.asset-modal .asset-schedule .button{padding:5px 10px;min-height:32px}
.asset-source-list{display:grid;gap:8px;margin-top:14px;max-height:55vh;overflow:auto}
.asset-source-choice{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px;text-align:left;display:flex;flex-direction:column;gap:4px;color:var(--ink);font:inherit}
.asset-source-choice:hover{background:var(--pale)}.asset-proposal{grid-column:1/-1;margin:12px 0}
.asset-proposal p{margin:6px 0}.asset-manual-proposal{display:block;text-align:left;margin:4px 0 12px}
.asset-row-label{display:block;color:var(--blue);font-size:12px;margin-top:4px}
.asset-document-thumb{font-size:30px;color:var(--blue);text-decoration:none}
.asset-modal .form-actions{flex-wrap:wrap}.asset-modal textarea{width:100%}
@media(max-width:650px){.asset-modal .form-grid{grid-template-columns:1fr}.asset-book .form-actions{width:100%;display:grid;grid-template-columns:1fr}.asset-book .form-actions .button{width:100%}}

/* Importación desde Configuración */
.import-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.import-panel{border:1px solid var(--border,#dfe3ec);border-radius:14px;padding:1rem;min-width:0}.import-drop-zone{width:100%;min-height:120px;border:2px dashed var(--border,#cbd2e1);border-radius:12px;background:var(--surface-soft,#f7f8fc);color:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;text-align:center;padding:1rem;cursor:pointer}.import-drop-zone span{font-size:.88rem;color:var(--muted,#657087)}.import-drop-zone:hover,.import-drop-zone:focus-visible,.import-drop-zone.is-dragging{border-color:var(--primary,#4f5fe8);background:var(--primary-soft,#f0f1ff);outline:none}.supplier-change-button{align-self:end;margin-bottom:.45rem;white-space:nowrap}.expense-party-row{align-items:end}.supplier-section input[readonly]{background:var(--surface-soft,#f7f8fc);color:var(--muted,#657087)}.supplier-edit-note{grid-column:1/-1;margin:0}
@media(max-width:760px){.import-sections{grid-template-columns:1fr}.import-panel{padding:.85rem}.expense-party-row{align-items:stretch}.supplier-change-button{align-self:start}}

.supplier-summary{grid-column:1/-1;display:flex;align-items:center;gap:.65rem;padding:.25rem 0 .75rem;min-width:0}.supplier-summary>div{display:flex;align-items:baseline;gap:.65rem;min-width:0;flex-wrap:wrap}.supplier-summary strong{font-size:1rem;color:var(--ink,#182033)}.supplier-summary span{font-size:.9rem;color:var(--muted,#657087)}.supplier-edit-icon{display:inline-grid;place-items:center;flex:0 0 auto;width:30px;height:30px;padding:0;border:1px solid var(--border,#dfe3ec);border-radius:8px;background:var(--surface,#fff);color:var(--primary,#4f5fe8);cursor:pointer}.supplier-edit-icon:hover,.supplier-edit-icon:focus-visible{background:var(--primary-soft,#f0f1ff);border-color:var(--primary,#4f5fe8);outline:2px solid transparent}.supplier-editor-fields{grid-column:1/-1;display:grid;gap:.75rem;min-width:0}.supplier-editor-fields[hidden]{display:none}
