:root{--surface-page: #f7f8f7;--surface-card: #ffffff;--surface-sunken: #eef0ef;--surface-raised: #ffffff;--text-primary: #14201d;--text-secondary: #55635f;--text-tertiary: #7d8b86;--text-inverse: #ffffff;--border-subtle: #e2e6e4;--border-strong: #cdd4d1;--brand-600: #0f6b64;--brand-500: #14837a;--brand-400: #2c9d93;--brand-soft: #e4f2f0;--brand-contrast: #ffffff;--status-overdue-fg: #8f2318;--status-overdue-bg: #fdecea;--status-overdue-line: #c2412f;--status-due-soon-fg: #8a5300;--status-due-soon-bg: #fdf1de;--status-due-soon-line: #c98a1e;--status-upcoming-fg: #40514c;--status-upcoming-bg: #eef1f0;--status-upcoming-line: #9aa8a3;--status-filed-fg: #1f6136;--status-filed-bg: #e6f4ea;--status-filed-line: #2f8c50;--otat-fg: #7a3577;--otat-bg: #f8ebf7;--otat-line: #a4529f;--compliance-fg: #7a4a12;--compliance-bg: #fdf6e8;--compliance-line: #d3a44a;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1.0625rem;--text-lg: 1.375rem;--text-xl: 1.875rem;--text-2xl: 2.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(16, 32, 28, .06), 0 1px 3px rgba(16, 32, 28, .04);--shadow-md: 0 2px 4px rgba(16, 32, 28, .06), 0 6px 16px rgba(16, 32, 28, .07);--shadow-lg: 0 8px 24px rgba(16, 32, 28, .1), 0 2px 6px rgba(16, 32, 28, .06);--focus-ring: 0 0 0 3px rgba(20, 131, 122, .32)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--surface-page: #0e1614;--surface-card: #16211e;--surface-sunken: #101a18;--surface-raised: #1c2926;--text-primary: #e8eeec;--text-secondary: #a3b2ad;--text-tertiary: #7b8a85;--border-subtle: #253430;--border-strong: #33453f;--brand-600: #3fb3a7;--brand-500: #35a89c;--brand-400: #55c4b8;--brand-soft: #12302d;--brand-contrast: #06201d;--status-overdue-fg: #ff9d8e;--status-overdue-bg: #34160f;--status-overdue-line: #d4553f;--status-due-soon-fg: #f2c173;--status-due-soon-bg: #2f2210;--status-due-soon-line: #c2912f;--status-upcoming-fg: #a3b2ad;--status-upcoming-bg: #1b2724;--status-upcoming-line: #55655f;--status-filed-fg: #7fd3a0;--status-filed-bg: #12291b;--status-filed-line: #3f9a63;--otat-fg: #e2a4de;--otat-bg: #2a172a;--otat-line: #96529a;--compliance-fg: #ecc37c;--compliance-bg: #2b2211;--compliance-line: #a8802f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 2px 4px rgba(0, 0, 0, .35), 0 6px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .35);--focus-ring: 0 0 0 3px rgba(63, 179, 167, .35)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul,ol{padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--brand-500);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:color-mix(in srgb,var(--surface-card) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}.app-main{flex:1;width:100%;max-width:940px;margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-8)}.wordmark{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md);font-weight:650;letter-spacing:-.02em}.wordmark-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:linear-gradient(140deg,var(--brand-400),var(--brand-600));color:var(--brand-contrast);font-size:var(--text-xs);font-weight:700}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.user-email{font-size:var(--text-sm);color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:550;transition:background .12s ease,border-color .12s ease,transform 80ms ease;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-500);color:var(--brand-contrast)}.btn-primary:hover:not(:disabled){background:var(--brand-600)}.btn-secondary{background:var(--surface-card);border-color:var(--border-strong);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--surface-sunken)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-primary)}.btn-lg{padding:var(--space-3) var(--space-5);font-size:var(--text-base)}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.section{margin-bottom:var(--space-7)}.section-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.section-title{font-size:var(--text-lg);font-weight:620;letter-spacing:-.02em}.section-hint{font-size:var(--text-sm);color:var(--text-secondary)}.eyebrow{font-size:var(--text-xs);font-weight:620;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.summary-tile{padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-1)}.summary-tile-value{font-size:var(--text-xl);font-weight:640;letter-spacing:-.03em;line-height:1.1}.summary-tile-label{font-size:var(--text-sm);color:var(--text-secondary)}.summary-tile[data-tone=overdue] .summary-tile-value{color:var(--status-overdue-fg)}.summary-tile[data-tone=due_soon] .summary-tile-value{color:var(--status-due-soon-fg)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;letter-spacing:.01em;white-space:nowrap}.badge[data-status=overdue]{background:var(--status-overdue-bg);color:var(--status-overdue-fg)}.badge[data-status=due_soon]{background:var(--status-due-soon-bg);color:var(--status-due-soon-fg)}.badge[data-status=upcoming]{background:var(--status-upcoming-bg);color:var(--status-upcoming-fg)}.badge[data-status=filed]{background:var(--status-filed-bg);color:var(--status-filed-fg)}.badge-otat{background:var(--otat-bg);color:var(--otat-fg)}.badge-zero{background:var(--surface-sunken);color:var(--text-secondary);border:1px dashed var(--border-strong)}.obligation-list{display:flex;flex-direction:column;gap:var(--space-3)}.obligation{position:relative;display:grid;grid-template-columns:1fr auto;gap:var(--space-2) var(--space-5);padding:var(--space-4) var(--space-5);background:var(--surface-card);border:1px solid var(--border-subtle);border-left:3px solid var(--status-upcoming-line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow .14s ease,transform .14s ease}.obligation:hover{box-shadow:var(--shadow-md)}.obligation[data-status=overdue]{border-left-color:var(--status-overdue-line)}.obligation[data-status=due_soon]{border-left-color:var(--status-due-soon-line)}.obligation[data-status=filed]{border-left-color:var(--status-filed-line);opacity:.72}.obligation[data-tax-type=OTAT]{border-left-color:var(--otat-line);border-left-width:4px;background:linear-gradient(to right,var(--otat-bg) 0%,var(--surface-card) 46%)}.obligation-main{min-width:0}.obligation-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-1)}.obligation-tax-type{font-size:var(--text-md);font-weight:640;letter-spacing:-.01em}.obligation-period{font-size:var(--text-sm);color:var(--text-secondary)}.obligation-meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.obligation-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:var(--space-2);text-align:right}.obligation-amount{font-size:var(--text-lg);font-weight:620;letter-spacing:-.02em;line-height:1.2}.obligation-amount-none{font-size:var(--text-sm);font-weight:500;color:var(--text-tertiary);line-height:1.35}.obligation-countdown{font-size:var(--text-sm);font-weight:550}.obligation-countdown[data-status=overdue]{color:var(--status-overdue-fg)}.obligation-countdown[data-status=due_soon]{color:var(--status-due-soon-fg)}.obligation-countdown[data-status=upcoming],.obligation-countdown[data-status=filed]{color:var(--text-secondary)}.obligation-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding-top:var(--space-3);margin-top:var(--space-1);border-top:1px solid var(--border-subtle)}.obligation-note{grid-column:1 / -1;display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary)}.obligation-note strong{color:var(--text-primary);font-weight:600}.obligation-note[data-variant=otat]{background:var(--otat-bg);color:var(--otat-fg)}.obligation-note[data-variant=otat] strong{color:var(--otat-fg)}.compliance-callout{display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--compliance-bg);border:1px solid var(--compliance-line);border-radius:var(--radius-md)}.compliance-icon{flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-pill);background:var(--compliance-line);color:var(--surface-card);font-weight:700;font-size:var(--text-sm)}.compliance-body{min-width:0}.compliance-title{font-size:var(--text-base);font-weight:640;color:var(--compliance-fg);margin-bottom:var(--space-1)}.compliance-text{font-size:var(--text-sm);color:var(--compliance-fg)}.compliance-facts{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin-top:var(--space-3);font-size:var(--text-sm);color:var(--compliance-fg)}.compliance-facts dt{display:inline;opacity:.78}.compliance-facts dd{display:inline;margin:0 0 0 var(--space-1);font-weight:600}.disclaimer{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary)}.disclaimer:before{content:"ⓘ";color:var(--text-tertiary)}.disclaimer[data-inline=true]{margin-top:var(--space-2);font-size:var(--text-xs)}.form{display:flex;flex-direction:column;gap:var(--space-5)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--text-sm);font-weight:600}.field-hint{font-size:var(--text-sm);color:var(--text-secondary)}.input,.select{width:100%;padding:var(--space-3) var(--space-3);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--text-base);transition:border-color .12s ease}.input:hover,.select:hover{border-color:var(--brand-400)}.input::placeholder{color:var(--text-tertiary)}.input-prefixed{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:var(--space-3);color:var(--text-tertiary);pointer-events:none}.input-prefixed .input{padding-left:calc(var(--space-3) + .85rem)}.form-error{padding:var(--space-3) var(--space-4);background:var(--status-overdue-bg);color:var(--status-overdue-fg);border-radius:var(--radius-sm);font-size:var(--text-sm)}.autocomplete{position:relative}.suggestions{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-1)}.suggestion-btn{display:block;width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;font-size:var(--text-sm)}.suggestion-btn:hover,.suggestion-btn:focus-visible{background:var(--brand-soft)}.place-preview{display:grid;grid-template-columns:168px 1fr;gap:var(--space-4);padding:var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-md)}.place-thumb{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius-sm);background:var(--border-subtle)}.place-facts{display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);min-width:0}.place-address{font-weight:600;font-size:var(--text-base)}.tax-preview{padding:var(--space-4) var(--space-5);background:var(--brand-soft);border-radius:var(--radius-md)}.tax-preview-rows{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-3) 0}.tax-preview-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);font-size:var(--text-base)}.tax-preview-row dt{color:var(--text-secondary)}.tax-preview-row dd{margin:0;font-weight:620}.tax-preview-row[data-tax-type=OTAT] dt,.tax-preview-row[data-tax-type=OTAT] dd{color:var(--otat-fg)}.tax-preview-total{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--brand-400);font-weight:650}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);text-align:center;color:var(--text-secondary)}.empty-state-title{font-size:var(--text-md);font-weight:620;color:var(--text-primary)}.auth-screen{min-height:100%;display:grid;place-items:center;padding:var(--space-5)}.auth-card{width:100%;max-width:420px;padding:var(--space-7) var(--space-6);text-align:center;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.auth-title{font-size:var(--text-2xl);font-weight:680;letter-spacing:-.035em;margin:var(--space-4) 0 var(--space-2)}.auth-subtitle{color:var(--text-secondary);margin-bottom:var(--space-6)}.auth-taxes{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-6)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 620px){.app-main{padding:var(--space-5) var(--space-4) var(--space-7)}.obligation{grid-template-columns:1fr}.obligation-side{flex-direction:row;align-items:baseline;justify-content:space-between;width:100%;text-align:left}.place-preview{grid-template-columns:1fr}.user-email{display:none}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.income-rows{display:flex;flex-direction:column;gap:var(--space-2)}.income-row{display:grid;grid-template-columns:8rem 12rem 1fr;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.income-label{font-weight:600;font-size:var(--text-base)}.income-input{margin:0}.income-estimate{font-size:var(--text-sm);color:var(--text-secondary)}.income-estimate .tabular{font-weight:620;color:var(--text-primary)}.income-estimate-none{color:var(--text-tertiary)}.income-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4)}@media (max-width: 620px){.income-row{grid-template-columns:1fr;gap:var(--space-2)}}.obligation-details{grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);margin-top:var(--space-2);background:var(--surface-sunken);border-radius:var(--radius-sm)}.obligation-details textarea.input{resize:vertical;font-family:inherit}.obligation-details-actions{display:flex;gap:var(--space-2)}.obligation-notes{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);white-space:pre-wrap}.badge-annual,.obligation-note[data-variant=annual]{background:var(--brand-soft);color:var(--brand-600)}.obligation-note[data-variant=annual] strong{color:var(--brand-600)}.property-strip{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-6)}.property-chip{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.property-chip-address{display:block;font-weight:600;font-size:var(--text-base)}.property-chip-meta{display:block;font-size:var(--text-sm);color:var(--text-secondary)}.cadence-picker{display:flex;align-items:center;gap:var(--space-2)}.cadence-picker .select{width:auto;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}
