:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--danger:#d55e00;--danger-bg:#d55e001a;--danger-border:#d55e0073;--success:#0072b2;--success-bg:#0072b21a;--success-border:#0072b273;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--danger:#ff9f5a;--danger-bg:#ff9f5a26;--danger-border:#ff9f5a80;--success:#56b4e9;--success-bg:#56b4e926;--success-border:#56b4e980;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.auth-page{flex:1;justify-content:center;align-items:center;padding:40px 20px;display:flex}.auth-page-inner{flex-direction:column;align-items:center;gap:24px;width:100%;display:flex}.auth-tagline{color:var(--text-h);text-align:center;margin:0;font-size:22px;font-weight:600}.auth-card{border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow);text-align:left;box-sizing:border-box;border-radius:12px;padding:32px}.auth-card h1{text-align:center;margin:0 0 24px;font-size:28px}.auth-page-stack{flex-direction:column;gap:20px}.auth-page-stack h1{text-align:center;margin:0;font-size:28px}.auth-page-stack .auth-card{max-width:400px}.accordion-body form{margin:0}.auth-tabs{background:var(--code-bg);border-radius:10px;gap:4px;margin-bottom:24px;padding:4px;display:flex}.auth-tab{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 12px;font-weight:600}.auth-tab.active{background:var(--bg);color:var(--accent);box-shadow:var(--shadow)}.auth-divider{color:var(--text);align-items:center;gap:12px;margin:20px 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-google{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.auth-google:hover{background:var(--code-bg)}.auth-field{flex-direction:column;gap:6px;margin-bottom:18px;display:flex}.auth-field label{color:var(--text-h);font-size:14px;font-weight:500}.auth-field input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:10px 12px}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.auth-link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-end;padding:0;font-size:13px;font-weight:500}.auth-link-button:hover{text-decoration:underline}.auth-back{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;margin-bottom:20px;padding:0;font-size:13px;font-weight:600;display:inline-block}.auth-back:hover{color:var(--accent)}.auth-hint{text-align:center;color:var(--text);font-size:14px}.auth-hint a{color:var(--accent)}.auth-submit{width:100%;font:inherit;border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);cursor:pointer;border-radius:8px;margin-top:4px;padding:10px 12px;font-weight:600}.auth-submit:hover{background:var(--accent-border)}.auth-actions{align-items:center;gap:10px;margin-top:4px;display:flex}.auth-actions .auth-submit{flex:1;width:auto;margin-top:0}.auth-cancel{font:inherit;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:10px 12px;font-weight:600}.auth-cancel:hover{background:var(--code-bg)}.field-display{justify-content:space-between;align-items:center;gap:12px;display:flex}.field-display .auth-field{flex:1;margin-bottom:0}.field-display span{color:var(--text-h)}.icon-btn{border:1px solid var(--border);width:34px;height:34px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-btn:hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.auth-error,.auth-success{border-radius:8px;align-items:center;gap:8px;margin-bottom:18px;padding:8px 12px;font-size:14px;display:flex}.auth-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger)}.auth-error:before{content:"✕";flex-shrink:0;font-weight:700}.auth-success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.auth-success:before{content:"✓";flex-shrink:0;font-weight:700}.file-preview{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.file-preview-toolbar{border:1px solid var(--border);background:var(--code-bg);border-radius:999px;align-self:center;align-items:center;gap:8px;padding:4px 6px;display:flex}.file-preview-zoom-btn{border:1px solid var(--border);background:var(--bg);width:28px;height:28px;color:var(--text-h);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}.file-preview-zoom-btn:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.file-preview-zoom-btn:disabled{opacity:.4;cursor:not-allowed}.file-preview-zoom-level{text-align:center;min-width:44px;color:var(--text-h);font-size:13px;font-weight:600}.file-preview-reset-btn{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600}.file-preview-reset-btn:hover{border-color:var(--accent-border);color:var(--accent)}.file-preview-viewport{border:1px solid var(--border);background:var(--code-bg);border-radius:8px;flex:1;justify-content:center;align-items:flex-start;min-height:0;display:flex;overflow:auto}.file-preview-image{max-width:100%;transition:transform .15s}.file-preview-frame{background:var(--bg);transform-origin:top;border:none;width:100%;height:100%;min-height:70vh;transition:transform .15s}.file-preview-fallback{color:var(--text)}.file-preview-fallback a{color:var(--accent)}.home-content{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:1100px;display:flex}.page-tabs{border-bottom:1px solid var(--border);align-items:center;gap:4px;width:100%;display:flex;overflow-x:auto}.page-tab{color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.page-tab:hover{color:var(--text-h)}.page-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.page-tab-close{width:16px;height:16px;color:var(--text);border-radius:4px;justify-content:center;align-items:center;font-size:11px;display:flex}.page-tab-close:hover{background:var(--accent-bg);color:var(--accent)}.page-tab-panel{flex-direction:column;width:100%;min-height:75vh;display:flex}.home-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);border-radius:8px;padding:8px 12px;font-size:14px}.invoice-table-wrap{border:1px solid var(--border);border-radius:12px;width:100%;overflow-x:auto}.invoice-table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:14px}.invoice-table th,.invoice-table td{border-bottom:1px solid var(--border);padding:10px 16px}.invoice-table th{color:var(--text-h);background:var(--code-bg);font-weight:600}.invoice-table tbody tr:last-child td{border-bottom:none}.invoice-file-cell{align-items:center;gap:10px;display:flex}.invoice-file-link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0}.invoice-file-link:hover{text-decoration:underline}.invoice-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:32px;height:32px}.invoice-thumb-placeholder{background:var(--code-bg);color:var(--text);justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.invoice-table-error{color:var(--danger);white-space:normal;margin-top:4px;font-size:12px}.status-badge{background:var(--code-bg);color:var(--text);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.status-badge.status-parsed,.status-badge.status-approved{background:var(--success-bg);color:var(--success)}.status-badge.status-failed{background:var(--danger-bg);color:var(--danger)}.status-badge.status-review_required{background:var(--accent-bg);color:var(--accent)}.table-icon-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;display:flex}.table-icon-btn:hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.invoice-row-actions{align-items:center;gap:6px;display:flex}.details-accordion{border:1px solid var(--border);box-sizing:border-box;border-radius:12px;width:100%;max-width:700px;margin:0 auto;padding:8px 20px}.accordion-item+.accordion-item{border-top:1px solid var(--border)}.accordion-header{width:100%;font:inherit;color:var(--text-h);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:14px 0;font-size:16px;font-weight:600;display:flex}.accordion-chevron{color:var(--text);transition:transform .2s}.accordion-header[aria-expanded=true] .accordion-chevron{transform:rotate(180deg)}.accordion-body{padding-bottom:20px}.details-grid{grid-template-columns:max-content 1fr;gap:8px 16px;margin:0;display:grid}.details-grid dt{color:var(--text);font-size:13px;font-weight:500}.details-grid dd{color:var(--text-h);margin:0;font-size:14px}.details-empty{color:var(--text);font-size:14px}.line-item-add-btn{border:1px dashed var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:8px;margin-top:14px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.line-item-add-btn span{background:var(--accent-bg);width:18px;height:18px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.line-item-add-btn:hover{border-color:var(--accent-border);color:var(--accent)}.line-item-add-form{border:1px solid var(--border);border-radius:8px;margin-top:14px;padding:14px}.line-item-add-grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.line-item-add-grid input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;min-width:0;padding:8px 10px;font-size:13px}.line-item-add-grid input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg);border:1px solid var(--border);width:100%;max-width:420px;max-height:90vh;box-shadow:var(--shadow);box-sizing:border-box;text-align:left;border-radius:12px;padding:28px;overflow-y:auto}.modal-card h2{margin:0 0 20px;font-size:20px}.modal-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.modal-field label{color:var(--text-h);font-size:14px;font-weight:500}.modal-field input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:10px 12px}.modal-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.modal-actions{align-items:center;gap:10px;margin-top:4px;display:flex}.modal-save{font:inherit;border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);cursor:pointer;border-radius:8px;flex:1;padding:10px 12px;font-weight:600}.modal-save:hover{background:var(--accent-border)}.modal-cancel{font:inherit;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:10px 12px;font-weight:600}.modal-cancel:hover{background:var(--code-bg)}.file-upload{text-align:left;width:100%}.file-upload-zone{border:1.5px dashed var(--border);text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:32px 20px;transition:border-color .15s,background .15s;display:flex}.file-upload-zone:hover,.file-upload-zone:focus-visible{border-color:var(--accent-border);background:var(--accent-bg);outline:none}.file-upload-zone.is-dragging{border-color:var(--accent);background:var(--accent-bg)}.file-upload-title{color:var(--text-h);font-size:16px;font-weight:600}.file-upload-or{color:var(--text);font-size:13px}.file-upload-zone input[type=file]{color:var(--text);max-width:100%;font-size:13px}.file-upload-zone input[type=file]::file-selector-button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;margin-right:12px;padding:8px 16px;font-weight:600;transition:background .15s}.file-upload-zone input[type=file]::file-selector-button:hover{background:var(--accent-border)}.file-upload-hint{color:var(--text);font-size:13px;font-weight:400!important}.file-upload-list{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.file-upload-item{border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;padding:10px;display:flex}.file-upload-item.is-error{border-color:var(--danger-border)}.file-upload-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:40px;height:40px}.file-upload-thumb-placeholder{background:var(--code-bg);color:var(--text);justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.file-upload-meta{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.file-upload-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.file-upload-size{color:var(--text);font-size:12px}.file-upload-error{color:var(--danger);font-size:12px}.file-upload-error:before{content:"✕ ";font-weight:700}.file-upload-progress{background:var(--code-bg);border-radius:2px;height:4px;overflow:hidden}.file-upload-progress-bar{background:var(--accent);height:100%;transition:width .15s}.file-upload-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.file-upload-actions button{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:13px}.file-upload-actions button:hover{border-color:var(--accent-border);color:var(--accent)}.invoice-upload-page{max-width:480px;margin:0 auto;padding:40px 20px}.invoice-received-list{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}.invoice-received-item{border:1px solid var(--border);border-radius:8px;align-items:flex-start;gap:12px;padding:10px;display:flex}.invoice-received-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:700;display:flex}.invoice-received-item.is-success{border-color:var(--success-border)}.invoice-received-item.is-success .invoice-received-icon{background:var(--success-bg);color:var(--success)}.invoice-received-item.is-error{border-color:var(--danger-border)}.invoice-received-item.is-error .invoice-received-icon{background:var(--danger-bg);color:var(--danger)}.invoice-received-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.invoice-received-name{color:var(--text-h);overflow-wrap:anywhere;font-size:14px;font-weight:500}.invoice-received-status{color:var(--text);font-size:12px}.invoice-received-error{color:var(--danger);font-size:12px}.nav{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:0 20px;display:flex}.nav-tabs{align-items:center;gap:4px;display:flex;overflow-x:auto}.nav-tab{color:var(--text);white-space:nowrap;border-bottom:2px solid #0000;padding:18px 16px;font-size:14px;font-weight:500;text-decoration:none;display:block}.nav-tab:hover{color:var(--text-h)}.nav-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.nav-auth{font:inherit;border:1px solid var(--accent-border);background:var(--accent-bg);cursor:pointer;border-radius:8px;flex-shrink:0;padding:6px 16px;font-weight:600;color:var(--accent)!important}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
