:root{color:#fff;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--panel:#111;--border:#555;--muted:silver;background:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:18px}*{box-sizing:border-box}body{min-width:280px;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{color:#fff;cursor:pointer;overflow-wrap:anywhere;background:#000;border:2px solid #eee;border-radius:12px;justify-content:center;align-items:center;gap:10px;max-width:100%;min-height:48px;padding:10px 14px;font-weight:650;line-height:1.25;display:inline-flex}button:hover{background:#222}button:disabled{cursor:not-allowed;opacity:.5}button.primary{color:#000;background:#fff;border-color:#fff;font-weight:750}button.primary:hover{background:#ddd}button.subtle{background:#111;border:1px solid #666;font-size:.92rem}button.danger{color:#fff;border-color:#bcbcbc;margin-top:24px}button.icon-button{flex:0 0 48px;padding:10px}button .icon{flex-shrink:0}:focus-visible{outline-offset:4px;outline:3px solid #fff}.primary:focus-visible{outline-color:#bbb}input,select,textarea{color:#fff;background:#171717;border:1px solid #777;border-radius:8px;width:100%;min-width:0;min-height:48px;padding:11px 12px;line-height:1.3}input[type=date],input[type=time]{-webkit-appearance:none;width:100%;min-width:0;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left}select{text-overflow:ellipsis;padding-right:28px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#b5b5b5;opacity:1}input[type=checkbox]{accent-color:#fff;flex:0 0 25px;width:25px;height:25px;min-height:25px}h1{letter-spacing:-.035em;margin:0 0 20px;font-size:1.65rem;line-height:1.12}h2{letter-spacing:-.025em;margin:0 0 12px;font-size:1.24rem;line-height:1.25}p{overflow-wrap:anywhere;margin:8px 0 14px;line-height:1.45}ul{padding-left:22px;line-height:1.5}strong{overflow-wrap:anywhere}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:0;left:-100px}.skip-link{z-index:100;color:#000;background:#fff;padding:14px;position:fixed;top:-100px;left:12px}.skip-link:focus{top:12px}.app-shell{max-width:1200px;margin:auto}.app-header{padding:calc(14px + env(safe-area-inset-top)) 16px 10px;align-items:center;gap:10px;display:flex}.brand-icon{object-fit:contain;flex:0 0 65px;width:65px;height:65px}.header-copy{flex:1;min-width:0}.scope-label{display:block}.scope-label select{letter-spacing:-.02em;background:#000;border:2px solid #eee;border-radius:12px;min-height:54px;padding-left:12px;font-size:1.17rem;font-weight:780}.phase-label{color:#ddd;margin:6px 0 0;font-size:.73rem;line-height:1.35}main{padding:0 16px calc(110px + env(safe-area-inset-bottom));min-width:0}.local-status{color:#cfcfcf;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;padding:3px 0 18px;font-size:.69rem;line-height:1.4;display:flex}.panel{background:var(--panel);border:1px solid var(--border);border-radius:13px;min-width:0;margin-bottom:14px;padding:18px}.field{min-width:0;margin-bottom:14px;display:block}.field>span{color:#d4d4d4;overflow-wrap:anywhere;margin-bottom:7px;font-size:.9rem;line-height:1.3;display:block}.form-grid,.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px;display:grid}.form-grid>*,.filters>*{min-width:0}.full{grid-column:1/-1}.filters .field{background:#111;border:1px solid #555;border-radius:13px;padding:14px}.filters select{font-weight:700}details>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:48px;font-weight:700;line-height:1.3;display:flex}details>summary:after{content:"⌄";text-align:center;flex:0 0 20px;font-size:1.4rem}details[open]>summary:after{content:"⌃"}details[open]>summary{margin-bottom:18px}.filter-details{padding:8px 18px}.filter-details .field:last-child{margin-bottom:14px}.total-card{margin-top:16px;padding:24px 20px}.total-card h2{font-size:1.22rem}.total{letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin:10px 0;font-size:clamp(2.4rem,8vw,3.8rem);font-weight:800;line-height:1.15}.total-card>p:not(.total){margin-bottom:6px}.small{font-size:.85rem;line-height:1.4}.muted{color:var(--muted)}.primary-actions{gap:10px;margin:14px 0 20px;display:grid}.primary-actions>button{width:100%}.primary-actions>.primary{min-height:62px;font-size:1.12rem}.primary-actions>button:nth-child(2){min-height:57px;font-size:1.08rem}.icon{vertical-align:middle;width:26px;height:26px}.primary-actions .icon{width:30px;height:30px}.section-heading{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin:24px 0 12px;display:flex}.section-heading h1,.section-heading h2{min-width:0;margin:0}.section-heading>button{flex-shrink:0}.expense-list,.item-list{flex-direction:column;gap:10px;display:flex}.expense-row{text-align:left;grid-template-columns:minmax(0,1fr) auto 18px;gap:8px;width:100%;min-height:90px;margin-bottom:0;padding:16px;font-weight:400;display:grid}.expense-info{flex-direction:column;gap:5px;min-width:0;display:flex}.expense-info>strong{font-size:1.15rem;font-weight:760;line-height:1.25}.expense-amount{font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere;max-width:126px;font-size:1.08rem;font-weight:760}.expense-row>.icon{width:18px;height:24px}.badge{color:#fff;border:1px solid #9a9a9a;border-radius:5px;width:-moz-fit-content;width:fit-content;padding:3px 6px;font-size:.71rem;font-weight:650}.empty{text-align:center;color:#e2e2e2;padding:24px 18px}.pending-section{padding-top:26px}.pending-section .expense-row{margin-bottom:10px}.notice{overflow-wrap:anywhere;background:#1d1d1d;border:2px solid #bbb;border-radius:10px;margin:0 0 18px;padding:14px;font-size:.93rem;line-height:1.4}.notice.error{border-color:#fff;border-left-width:6px}.notice.error:before{content:"Atención: ";font-weight:800}.update-banner p{margin:8px 0 12px}.ocr-panel{margin-top:14px}.ocr-panel strong{font-size:.97rem}.ocr-panel button{width:100%;margin-top:4px;font-size:.9rem}.ocr-panel p{margin-bottom:8px}progress{accent-color:#fff;width:100%;height:14px;margin:12px 0 4px}progress::-webkit-progress-bar{background:#444;border-radius:7px}progress::-webkit-progress-value{background:#fff;border-radius:7px}.photo-actions{flex-direction:column;gap:10px;margin:16px 0;display:flex}.photo-actions button:first-child{min-height:60px}.photo-actions p{margin:0 0 6px}.original-photo-panel{margin-top:16px}.original-photo{object-fit:contain;background:#000;border:1px solid #666;border-radius:8px;width:100%;height:auto;max-height:60dvh;display:block}.original-photo-controls{flex-direction:column;gap:10px;margin:14px 0;display:flex}.original-photo-controls button{width:100%}.original-photo-panel>p:last-child{margin-bottom:0}#scan-summary{grid-column:1/-1}fieldset{border:0;min-width:0;margin:0;padding:0}.segments{border:2px solid #fff;border-radius:13px;grid-template-columns:1fr 1fr;margin:20px 0 18px;display:grid;overflow:hidden}.segments button{border:0;border-radius:0;min-height:54px}.segments button.selected{color:#000;background:#fff}#expense-form>fieldset>.form-grid>.field{background:#131313;border:1px solid #555;border-radius:12px;padding:12px}#expense-form>fieldset>.form-grid>.field:first-child,#expense-form>fieldset>.form-grid>.field:nth-child(2),#expense-form>fieldset>.form-grid>.field:nth-child(3){grid-column:1/-1}#expense-form .field input,#expense-form .field select{font-weight:650}#expense-form input[data-field=total]{font-size:1.5rem;font-weight:780}.check-field{align-items:center;gap:12px;min-height:48px;padding:10px 0 20px;font-size:.9rem;line-height:1.4;display:flex}.fiscal-details{margin-top:2px}.vat-line{border:1px solid #777;border-radius:10px;margin-bottom:12px;padding:12px}.vat-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.vat-heading strong{font-size:.9rem}.vat-heading button{padding:8px;font-size:.8rem}.vat-line .field{margin-bottom:0}.vat-add{grid-template-columns:1fr 1fr;gap:10px;display:grid}.vat-add button{font-size:.86rem}.save-button{width:100%;min-height:60px;margin-top:6px;font-size:1.15rem}.ocr-raw{margin-top:20px}pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#000;border:1px solid #555;border-radius:6px;max-height:400px;padding:12px;font-size:.79rem;line-height:1.5;overflow-y:auto}.review-warning li{margin-bottom:7px;font-size:.85rem}.list-button{text-align:left;justify-content:space-between;display:flex}.list-button>span{flex-direction:column;gap:7px;min-width:0;display:flex}.list-button .icon{flex-shrink:0}.vehicle-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.vehicle-card>div{min-width:0}.vehicle-card p{margin:5px 0 0}.vehicle-card button{font-size:.85rem}.stack{flex-direction:column;gap:12px;margin:16px 0;display:flex}.category-list{margin:20px 0;padding:0;list-style:none}.category-list li{border-bottom:1px solid #666;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;display:flex}.category-list li>span{overflow-wrap:anywhere;min-width:0;font-size:.9rem}.category-actions{flex:none;gap:6px;display:flex}.category-actions button{min-width:48px;padding:8px;font-size:.78rem}.navigation{z-index:30;padding:7px max(6px, env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-right));background:#000;border-top:1px solid #666;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.nav-item{background:#000;border:0;border-radius:8px;flex-direction:column;gap:4px;min-height:66px;padding:7px 2px;font-size:.8rem;font-weight:400;display:flex}.nav-item .icon{width:27px;height:27px}.nav-item.active{background:#191919;outline:1px solid #666;font-weight:800}.nav-item>span{overflow-wrap:normal;word-break:normal;-webkit-hyphens:auto;hyphens:auto;min-width:0;max-width:100%}.desktop-km{display:none}.app-footer{color:#b5b5b5;text-align:center;padding-top:30px;font-size:.7rem}dialog{color:#fff;background:#080808;border:2px solid #eee;border-radius:14px;width:min(94vw,800px);max-height:90dvh;padding:18px}dialog::backdrop{background:#000000d9}dialog img{object-fit:contain;max-width:100%;height:auto;max-height:65dvh;margin:auto;display:block}dialog .section-heading{margin-top:0}.scan-dialog{max-width:calc(100vw - 20px);padding-bottom:max(18px, env(safe-area-inset-bottom));overflow:hidden auto}.scan-dialog .section-heading{align-items:flex-start}.scan-dialog h3{margin:0 0 12px;font-size:1rem}.scan-stage{isolation:isolate;width:calc(100% - 48px);margin:28px auto 32px;position:relative}.scan-stage img{object-fit:initial;-webkit-user-select:none;user-select:none;width:100%;height:auto;max-height:none;margin:0;display:block}.scan-guides{pointer-events:none;filter:drop-shadow(0 0 2px #000);width:100%;height:100%;position:absolute;inset:0}.scan-handle{z-index:1;color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#000;border:3px solid #fff;border-radius:50%;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;font-size:18px;position:absolute;transform:translate(-50%,-50%)}.scan-handle:active{cursor:grabbing;background:#333}.scan-coordinate-fields{margin:16px 0}.scan-coordinate-fields>legend{margin-bottom:14px;font-weight:700}.scan-corner-fields{border:1px solid #777;border-radius:10px;margin-bottom:12px;padding:14px}.scan-corner-fields .field{margin-bottom:0}.scan-contrast-field input{accent-color:#fff;min-height:48px;padding:0}.scan-editor-actions{flex-direction:column;gap:12px;margin-top:18px;display:flex}.scan-editor-actions button{width:100%}.loading{max-width:650px;margin:60px auto;padding:24px}button.subtle,.ocr-panel button,.vat-heading button,.vat-add button,.vehicle-card button,.category-actions button,.nav-item,.field>span,.check-field,.vat-heading strong,.category-list li>span{font-size:1rem}@media (max-width:600px){.filters{grid-template-columns:1fr}.filters .field{margin-bottom:12px}.filters .field>span{font-size:1rem}.filters select{background:#111;border:0;min-height:48px;padding:0 25px 0 0;font-size:1.08rem}:is(#expense-form .form-grid>.field:has([data-field=category]),#expense-form .form-grid>.field:has([data-field=sheetId])){grid-column:1/-1}}@media (max-width:350px){:root{font-size:18px}.brand-icon{flex-basis:52px;width:52px;height:52px}.scope-label select{font-size:1rem}main,.app-header{padding-left:12px;padding-right:12px}.form-grid{grid-template-columns:1fr}.expense-row{grid-template-columns:minmax(0,1fr) 18px}.expense-row .expense-amount{text-align:left;grid-area:2/1;max-width:none}.expense-row>.icon{grid-area:1/2/3}.category-list li{flex-wrap:wrap}}@media (min-width:850px){.app-shell{grid-template-columns:210px minmax(0,1fr);display:grid}.app-header{grid-column:1/-1;max-width:780px;padding:24px 30px 16px}.brand-icon{flex-basis:78px;width:78px;height:78px}.scope-label select{font-size:1.35rem}.phase-label{font-size:.8rem}.navigation{border:0;grid-template-columns:1fr;align-self:start;gap:10px;padding:16px 14px;position:sticky;inset:16px auto auto}.nav-item,.desktop-km{flex-direction:row;justify-content:flex-start;gap:14px;min-height:58px;padding:15px 12px;font-size:.96rem}.desktop-km{margin-top:24px;font-size:.9rem;display:flex}main{max-width:930px;padding:0 30px 60px}.local-status{padding-bottom:20px}.primary-actions{grid-template-columns:1fr 1fr}.primary-actions>button:first-child,.primary-actions>button:nth-child(2){min-height:62px}.ocr-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 20px;display:grid}.ocr-panel .ocr-progress,.ocr-panel .ocr-progress-text{grid-column:1/-1}.ocr-panel button{min-width:210px}.photo-actions{grid-template-columns:1fr 1fr;display:grid}.photo-actions p{grid-column:1/-1}.original-photo-controls{flex-direction:row}#expense-form>fieldset>.form-grid>.field:nth-child(2),#expense-form>fieldset>.form-grid>.field:nth-child(3){grid-column:auto}.total-card{padding:26px}.expense-info>strong{font-size:1.2rem}.expense-amount{max-width:200px}}@media (prefers-reduced-motion:no-preference){button{transition:background-color .1s}}
