:root{--background:#fff;--foreground:#171717}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:100vh;padding:1rem;display:flex}:root{--muted:#5c5c5c;--border:#d4d4d4;--surface:#f5f5f5;--accent:#1d4ed8;--danger:#b91c1c;--success:#166534;--notice-bg:#fff7d6;--notice-fg:#5c4400}@media (prefers-color-scheme:dark){:root{--muted:#a3a3a3;--border:#3f3f3f;--surface:#171717;--accent:#93b4ff;--danger:#fca5a5;--success:#86efac;--notice-bg:#3a3000;--notice-fg:#ffe9a3}}a{color:var(--accent)}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:.375rem;padding:.5rem 1rem}button:disabled{cursor:progress;opacity:.7}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.button-link{padding:.25rem .5rem}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:10;background:var(--background);padding:.5rem;top:1rem;left:1rem}.auth-page{flex-direction:column;gap:1.5rem;max-width:24rem;margin:4rem auto;padding:0 1rem;display:flex}.auth-form{flex-direction:column;gap:1rem;display:flex}.form-field{flex-direction:column;gap:.25rem;display:flex}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border);background:var(--background);color:var(--foreground);border-radius:.375rem;padding:.5rem}.form-field input[aria-invalid=true],.form-field select[aria-invalid=true],.form-field textarea[aria-invalid=true]{border-color:var(--danger)}.form-error{color:var(--danger)}.form-hint{color:var(--muted)}.form-notice{color:var(--success)}.form-notice:empty{width:1px;height:1px;position:absolute;overflow:hidden}.auth-links{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.app-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding:.75rem 1rem;display:flex}.app-brand{color:var(--foreground);font-size:1.125rem;font-weight:700;text-decoration:none}.app-nav{flex:1}.app-nav ul{flex-wrap:wrap;gap:.25rem 1rem;list-style:none;display:flex}.app-nav a{text-decoration:none}.app-nav a[aria-current=page]{font-weight:700;text-decoration:underline}.app-nav-toggle{display:none}.app-user{color:var(--muted);align-items:center;gap:.75rem;display:flex}.estimate-notice{background:var(--notice-bg);color:var(--notice-fg);padding:.5rem 1rem;font-size:.875rem}.app-main{flex-direction:column;gap:1rem;max-width:72rem;padding:1.5rem 1rem;display:flex}@media (max-width:48rem){.app-nav{flex-basis:100%;order:3}.app-nav-toggle{display:inline-block}.app-nav ul{flex-direction:column;margin-top:.5rem}.app-nav[data-open=false] ul{display:none}.app-nav li a{padding:.5rem 0;display:block}.app-user{margin-left:auto}}.holding-form,.holding-fields{flex-direction:column;gap:1rem;max-width:40rem;display:flex}.holding-form fieldset{border:1px solid var(--border);border-radius:.375rem;flex-direction:column;gap:.75rem;min-width:0;padding:.75rem 1rem 1rem;display:flex}.holding-form legend{padding:0 .25rem;font-weight:600}.holding-form .form-choice{border:0;flex-flow:wrap;gap:.5rem 1.5rem;padding:0}.holding-form .form-choice legend{flex-basis:100%;margin-bottom:.25rem;padding:0;font-weight:400}.holding-form .form-choice .form-error{flex-basis:100%}.form-field input[readonly]{background:var(--surface);color:var(--muted)}.form-check{align-items:center;gap:.5rem;display:flex}.holding-form button[type=submit]{align-self:flex-start}.data-table{border-collapse:collapse;width:100%}.data-table caption{text-align:left;padding-bottom:.5rem;font-weight:600}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.5rem}.data-table thead th{border-bottom-width:2px}.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}@media screen and (max-width:48rem){.data-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.data-table,.data-table tbody,.data-table tfoot,.data-table tr,.data-table th,.data-table td,.data-table caption{display:block}.data-table tr{border-bottom:1px solid var(--border);padding:.5rem 0}.data-table th,.data-table td,.data-table .num{text-align:right;white-space:normal;border:0;justify-content:space-between;gap:1rem;padding:.25rem 0;display:flex}.data-table td:empty{display:none}.data-table th:before,.data-table td:before{content:attr(data-label);color:var(--muted);text-align:left;font-weight:400}}.table-scroll{max-width:100%;margin-bottom:1rem;overflow-x:auto}.table-scroll td{overflow-wrap:anywhere}.warning-list{background:var(--notice-bg);color:var(--notice-fg);margin:0 0 1rem;padding:.5rem 1rem .5rem 2rem}.note-box{background:var(--notice-bg);color:var(--notice-fg);margin:0 0 1rem;padding:.5rem 1rem}.tax-seal{border:2px solid var(--border);margin:0 0 1rem;padding:.25rem .75rem;display:inline-block}.plain-list{list-style:none}.app-nav .nav-badge{background:var(--notice-bg);color:var(--notice-fg);border-radius:999px;margin-left:.25rem;padding:0 .4rem;font-size:.8125rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.filter-links ul{flex-wrap:wrap;gap:.5rem 1rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.filter-links a[aria-current=page]{font-weight:600;text-decoration:none}.summary-list{gap:.5rem;max-width:40rem;margin:0 0 1.5rem;display:grid}.summary-list div{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:0 1rem;padding-bottom:.25rem;display:flex}.summary-list dt{color:var(--muted)}.summary-list dd{overflow-wrap:anywhere;margin:0}.status-actions{flex-direction:column;gap:.75rem;max-width:40rem;display:flex}.status-actions form{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.button-danger{border-color:var(--danger);color:var(--danger)}.category-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.category-actions form{flex-wrap:wrap;gap:.5rem;display:flex}.category-rename input{min-width:0;max-width:14rem}.category-actions .form-error,.category-actions .form-notice{flex-basis:100%}.contract-panel{border-top:1px solid var(--border);flex-direction:column;gap:1rem;margin:0 0 2rem;padding:1rem 0 0;display:flex}.contract-panel h3 small{color:var(--muted);font-weight:400}.period-forms{flex-wrap:wrap;gap:.75rem;margin:0 0 1rem;display:flex}.period-forms form{border:1px solid var(--border);border-radius:.375rem;flex-wrap:wrap;align-items:flex-end;gap:.5rem;min-width:0;padding:.5rem .75rem .75rem;display:flex}.period-forms .form-field input,.period-forms .form-field select{min-width:0;max-width:11rem}.amount-negative{color:var(--danger)}.total-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.75rem;margin:0 0 1.5rem;display:grid}.total-cards div{border:1px solid var(--border);border-radius:.375rem;padding:.75rem 1rem}.total-cards dt{color:var(--muted);overflow-wrap:anywhere}.total-cards dd{font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-size:1.25rem;font-weight:600}.total-cards .total-cards-main{border-width:2px}.cell-lines{flex-direction:column;align-items:flex-end;display:inline-flex}.report{flex-direction:column;gap:1.5rem;min-width:0;display:flex}.report section{flex-direction:column;gap:.5rem;min-width:0;display:flex}.report-holding{font-size:1.125rem;font-weight:600}.report-meta{flex-wrap:wrap;gap:.25rem 1.5rem;margin:.5rem 0;display:flex}.report-meta div{gap:.375rem;display:flex}.report-meta dt{color:var(--muted)}.report-meta dt:after{content:":"}.report-notes{white-space:pre-wrap;overflow-wrap:anywhere}.report-list{padding-left:1.25rem}.report-footer{border-top:1px solid var(--border);color:var(--muted);padding-top:.75rem;font-size:.875rem}.report .tax-seal{align-self:flex-start}.report-preview,.share-links{gap:.75rem;margin:1rem 0;display:grid}.report-situation{flex-direction:column;gap:.25rem;display:inline-flex}.share-link-create{gap:.5rem;min-width:0;display:grid}.share-link-create input{width:100%;min-width:0}.share-link-create button{justify-self:start}.report-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media print{@page{size:A4;margin:15mm 12mm}:root{--background:#fff;--foreground:#000;--muted:#444;--border:#999;--surface:#fff;--accent:#000;--danger:#000;--success:#000;--notice-bg:#fff;--notice-fg:#000}body{font-size:10pt}.app-header,.skip-link,.no-print{display:none!important}.app-main{max-width:none;padding:0}a{color:inherit;text-decoration:none}.estimate-notice,.warning-list,.note-box{border:1px solid var(--border)}.report{gap:.75rem}.report h2,.report h3,.data-table caption{break-after:avoid}.data-table tr,.total-cards div,.summary-list div,.warning-list li{break-inside:avoid}.data-table th,.data-table td{padding:.2rem .35rem}.total-cards{grid-template-columns:repeat(3,1fr);gap:.4rem;margin:0}.total-cards div{padding:.35rem .5rem}.total-cards dd{font-size:1rem}.summary-list{max-width:none;margin:0}}
