:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--color-bg-light:#fafafa;--color-card-light:#fff;--color-border-light:#e5e7eb;--color-text-main-light:#171717;--color-text-muted-light:#737373;--color-bg-dark:#0a1929;--color-card-dark:#1a2332;--color-border-dark:#2a3442;--color-text-main-dark:#ededed;--color-text-muted-dark:#a3a3a3;--color-accent:#0070f3;--color-accent-hover:#0761d1;--color-accent-soft:#0070f31a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-dark-sm:0 1px 2px 0 #0000004d;--shadow-dark-md:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--shadow-dark-lg:0 10px 15px -3px #00000080,0 4px 6px -2px #0006;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-med:.2s cubic-bezier(.4,0,.2,1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100vh;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{min-height:100vh;transition:background var(--transition-med),color var(--transition-med);justify-content:center;padding:40px 24px;display:flex}.app-shell--light{background:var(--color-bg-light);color:var(--color-text-main-light)}.app-shell--dark{background:var(--color-bg-dark);color:var(--color-text-main-dark)}.app-shell__inner{width:100%;max-width:1100px}.app-header{border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;padding-bottom:16px;display:flex}.app-shell--dark .app-header{border-bottom-color:var(--color-border-dark)}.app-logo{align-items:center;height:48px;margin-bottom:-8px;display:inline-flex}.app-logo img{object-fit:contain;width:auto;height:100%}.app-header__controls{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.control-group{flex-direction:column;gap:6px;font-size:.875rem;display:flex}.control-label{color:var(--color-text-muted-light);font-size:.8125rem;font-weight:500}.app-shell--dark .control-label{color:var(--color-text-muted-dark)}.control-select{border-radius:var(--radius-sm);border:1px solid var(--color-border-light);background:var(--color-card-light);min-width:140px;transition:border var(--transition-fast),box-shadow var(--transition-fast);outline:none;padding:8px 12px;font-size:.875rem}.app-shell--dark .control-select{background:var(--color-card-dark);border-color:var(--color-border-dark);color:var(--color-text-main-dark)}.control-select:hover{border-color:var(--color-text-muted-light)}.control-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.app-shell--dark .control-select:hover{border-color:var(--color-text-muted-dark)}.theme-toggle{border:1px solid var(--color-border-light);background:var(--color-card-light);cursor:pointer;width:48px;height:28px;transition:background var(--transition-med),border var(--transition-med);border-radius:999px;padding:3px;display:inline-flex;position:relative}.app-shell--dark .theme-toggle{background:var(--color-card-dark);border-color:var(--color-border-dark)}.theme-toggle:hover{border-color:#0d9488}.app-shell--dark .theme-toggle:hover{border-color:#14b8a6}.theme-toggle__knob{width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--transition-med),background var(--transition-med);background:#0d9488;border-radius:50%;position:absolute;top:3px;left:3px}.theme-toggle__knob--right{transform:translate(20px)}.app-shell--dark .theme-toggle__knob{background:#14b8a6}.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}.card{background:var(--color-card-light);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);transition:background var(--transition-med),border var(--transition-med),box-shadow var(--transition-med);margin-bottom:20px;padding:24px}.app-shell--dark .card{background:var(--color-card-dark);border-color:var(--color-border-dark);box-shadow:var(--shadow-dark-sm)}.card--top-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.card--two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.card-column{border-radius:var(--radius-md);border:1px solid var(--color-border-light);background:var(--color-bg-light);padding:20px}.app-shell--dark .card-column{border-color:var(--color-border-dark);background:var(--color-bg-dark)}.card-title{letter-spacing:-.01em;color:var(--color-text-main-light);margin:0 0 16px;font-size:.875rem;font-weight:600}.app-shell--dark .card-title{color:var(--color-text-main-dark)}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{flex-direction:column;gap:6px;font-size:.875rem;display:flex}.field label{color:var(--color-text-muted-light);font-size:.8125rem;font-weight:500}.app-shell--dark .field label{color:var(--color-text-muted-dark)}.field input,.field select,.field textarea{border-radius:var(--radius-sm);border:1px solid var(--color-border-light);background:var(--color-card-light);transition:border var(--transition-fast),box-shadow var(--transition-fast);font-size:.875rem;font-family:var(--font-sans);outline:none;padding:10px 12px}.field textarea{resize:none;height:120px;min-height:120px;max-height:120px}.app-shell--dark .field input,.app-shell--dark .field select,.app-shell--dark .field textarea{background:var(--color-card-dark);border-color:var(--color-border-dark);color:var(--color-text-main-dark)}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-muted-light)}.app-shell--dark .field input::placeholder,.app-shell--dark .field textarea::placeholder{color:var(--color-text-muted-dark)}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--color-text-muted-light)}.app-shell--dark .field input:hover,.app-shell--dark .field select:hover,.app-shell--dark .field textarea:hover{border-color:var(--color-text-muted-dark)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.field--full{grid-column:1/-1}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.items-table{border-radius:var(--radius-md);border:1px solid var(--color-border-light);margin-bottom:16px;overflow:hidden}.app-shell--dark .items-table{border-color:var(--color-border-dark)}.items-table__header{letter-spacing:-.01em;background:var(--color-bg-light);color:var(--color-text-muted-light);border-bottom:1px solid var(--color-border-light);grid-template-columns:2.3fr repeat(5,.9fr) 1.2fr 40px;align-items:center;gap:8px;padding:12px 16px;font-size:.75rem;font-weight:600;display:grid}.items-table__header span{align-items:center;padding:0;display:flex}.items-table__header span:nth-last-child(2){justify-content:flex-end}.app-shell--dark .items-table__header{background:var(--color-bg-dark);color:var(--color-text-muted-dark);border-bottom-color:var(--color-border-dark)}.items-table__body{background:var(--color-card-light)}.app-shell--dark .items-table__body{background:var(--color-card-dark)}.items-table__row{border-top:1px solid var(--color-border-light);grid-template-columns:2.3fr repeat(5,.9fr) 1.2fr 40px;align-items:center;gap:8px;padding:12px 16px;display:grid}.items-table__row:first-child{border-top:none}.app-shell--dark .items-table__row{border-top-color:var(--color-border-dark)}.items-table__row input{border-radius:var(--radius-sm);border:1px solid var(--color-border-light);background:var(--color-bg-light);width:100%;transition:border var(--transition-fast),box-shadow var(--transition-fast);outline:none;padding:6px 10px;font-size:.8125rem}.items-table__row input:hover{border-color:var(--color-text-muted-light)}.items-table__row input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.app-shell--dark .items-table__row input{border-color:var(--color-border-dark);background:var(--color-bg-dark);color:var(--color-text-main-dark)}.app-shell--dark .items-table__row input:hover{border-color:var(--color-text-muted-dark)}.items-table__amount{font-variant-numeric:tabular-nums;text-align:right;padding:0;font-size:.8125rem;font-weight:500}.items-table__remove{cursor:pointer;color:var(--color-text-muted-light);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:none;justify-self:center;padding:4px;font-size:1.25rem;line-height:1}.items-table__remove:hover{color:#dc2626;background:#ef44441a}.app-shell--dark .items-table__remove{color:var(--color-text-muted-dark)}.btn-primary,.btn-secondary{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);font-size:.875rem;font-weight:500;font-family:var(--font-sans);letter-spacing:-.01em;border:1px solid #0000;justify-content:center;align-items:center;padding:10px 16px;display:inline-flex}.btn-primary{color:#fff;box-shadow:var(--shadow-sm);background:#0d9488;border-color:#0d9488}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md);background:#0f766e;border-color:#0f766e}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.app-shell--dark .btn-primary{color:#fff;background:#0d9488;border-color:#0d9488}.app-shell--dark .btn-primary:hover:not(:disabled){background:#0f766e;border-color:#0f766e}.btn-secondary{color:var(--color-text-main-light);border:1px solid var(--color-border-light);background:0 0}.btn-secondary:hover{background:var(--color-bg-light);border-color:var(--color-text-muted-light)}.app-shell--dark .btn-secondary{color:var(--color-text-main-dark);border-color:var(--color-border-dark)}.app-shell--dark .btn-secondary:hover{background:var(--color-bg-dark);border-color:var(--color-text-muted-dark)}.form-warning{color:#dc2626;text-align:right;margin:8px 0 0;font-size:.8125rem}.app-shell--dark .form-warning{color:#f87171}.bottom-grid{grid-template-columns:minmax(0,2.5fr) minmax(0,1.6fr);gap:20px;display:grid}.bottom-right{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.card--totals{width:100%;max-width:280px}.totals{margin:0}.totals__row{justify-content:space-between;align-items:center;padding:8px 0;font-size:.875rem;display:flex}.totals__row+.totals__row{border-top:1px solid var(--color-border-light)}.app-shell--dark .totals__row+.totals__row{border-top-color:var(--color-border-dark)}.totals__row dt{color:var(--color-text-muted-light);font-weight:500}.app-shell--dark .totals__row dt{color:var(--color-text-muted-dark)}.totals__row dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.totals__row--total{margin-top:4px;padding-top:12px;font-size:1rem;border-top:2px solid var(--color-border-light)!important}.app-shell--dark .totals__row--total{border-top-color:var(--color-border-dark)!important}.app-footer{border-top:1px solid var(--color-border-light);color:var(--color-text-muted-light);text-align:center;margin-top:32px;padding-top:24px;font-size:.8125rem}.app-shell--dark .app-footer{border-top-color:var(--color-border-dark);color:var(--color-text-muted-dark)}@media (max-width:900px){.app-shell{padding:24px 16px}.app-header{flex-direction:column;align-items:flex-start}.card{padding:20px}.card--two-columns{grid-template-columns:1fr}.card--top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid{grid-template-columns:1fr}.items-table__header,.items-table__row{grid-template-columns:2.5fr repeat(3,1fr) 1.1fr 1.1fr 1.3fr 36px;gap:6px;padding:10px 12px}.bottom-grid{grid-template-columns:1fr}.bottom-right{align-items:stretch}.card--totals{max-width:none}}@media (max-width:640px){.items-table__header,.items-table__row{grid-template-columns:2.8fr repeat(2,1fr) 1.1fr 1.1fr 1.4fr 32px}.app-header__controls{justify-content:space-between;width:100%}.card{padding:16px}}
