*{box-sizing:border-box}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-2);margin:0;line-height:1.5}main{max-width:1200px;padding:var(--space-4);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}@media (width<=639px){main{padding:var(--space-3);gap:var(--space-3)}}h1{font-size:var(--font-size-4);margin:0}h2{font-size:var(--font-size-3);margin:0 0 var(--space-2)}h3,h4{font-size:var(--font-size-2);margin:var(--space-3) 0 var(--space-2)}section:not([class*=ui-]):not([class*=home-]):not([class*=record-]),main>form:not([class*=ui-]):not([class*=home-]):not([class*=record-]),main>div:not([class*=ui-]):not([class*=home-]):not([class*=record-]){background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2);padding:var(--space-3)}form{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}label{gap:var(--space-1);width:100%;max-width:320px;color:var(--color-text-muted);font-size:var(--font-size-1);flex-direction:column;display:flex}input,select{width:100%;padding:var(--space-2);font-size:var(--font-size-2);font-family:var(--font-family);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-1)}button{padding:var(--space-2) var(--space-3);font-size:var(--font-size-2);font-family:var(--font-family);color:var(--color-accent-contrast);background:var(--color-accent);border-radius:var(--radius-1);cursor:pointer;border:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}ul{padding-left:var(--space-4);margin:0}li{margin-bottom:var(--space-1)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border)}[role=alert]{color:var(--color-danger);margin:0}a{color:var(--color-accent)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}form.inline-form{align-items:flex-end;gap:var(--space-1);background:0 0;border:none;flex-direction:row;padding:0;display:inline-flex}header.company-banner{align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-3);display:flex}.company-badge{min-width:calc(var(--space-4) + var(--space-2));height:calc(var(--space-4) + var(--space-2));border-radius:var(--radius-1);font-size:var(--font-size-1);justify-content:center;align-items:center;font-weight:600;display:inline-flex}.bottom-bar{gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border-top:1px solid var(--color-border);align-items:center;display:flex;position:sticky;bottom:0}.bottom-bar a,.bottom-bar button{min-width:44px;min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-1);color:var(--color-text);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.bottom-bar a:hover{background:var(--color-background)}@media (width>=640px){.bottom-bar{display:none}}.shell{background:var(--color-background);grid-template:"topbar topbar""sidebar main"1fr"bottombar bottombar"/240px minmax(0,1fr);min-height:100vh;display:grid}.skip-link{padding:var(--space-2) var(--space-3);background:var(--color-surface);border:2px solid var(--color-accent);border-radius:var(--radius-1);z-index:10;position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--space-3);top:var(--space-3)}.shell-topbar{gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);grid-area:topbar;align-items:center;display:flex}.shell-company{font-size:var(--font-size-3);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.shell-search-hint{color:var(--color-text-muted);font-size:var(--font-size-1);margin-left:auto}.shell-sidebar{padding:var(--space-3) var(--space-3) var(--space-5);border-right:1px solid var(--color-border);background:var(--color-surface);grid-area:sidebar}.shell-area+.shell-area{margin-top:var(--space-4)}.shell-area-title{margin:0 0 var(--space-1);font-size:var(--font-size-1);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.shell-sidebar ul{margin:0;padding:0;list-style:none}.shell-link{padding:var(--space-1) var(--space-2);border-radius:var(--radius-1);color:var(--color-text);text-decoration:none;display:block}.shell-link:hover{background:var(--color-background)}.shell-link.active{background:var(--color-accent);color:var(--color-accent-contrast)}.shell-main{width:100%;max-width:1200px;padding:var(--space-4);gap:var(--space-4);flex-direction:column;grid-area:main;margin-inline:0 auto;display:flex}.shell-message{padding:var(--space-4)}@media (width<=639px){.shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"topbar""main""bottombar"}.shell-sidebar{display:none}.shell-main{padding:var(--space-3)}.shell-topbar{padding:var(--space-2) var(--space-3)}.shell-topbar .new-menu,.shell-search-hint{display:none}}.bottom-bar{grid-area:bottombar}.ui-button{min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-1);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.ui-button.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.ui-button.danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-accent-contrast)}.ui-button[aria-busy=true]{opacity:.6;cursor:progress}.record-menu{position:relative}.record-menu>button{min-width:44px;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-1);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit}.record-menu>ul{z-index:10;margin:var(--space-1) 0 0;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-1);min-width:12rem;box-shadow:var(--shadow-2);list-style:none;position:absolute;right:0}.record-menu>ul li{margin:0}.record-menu>ul button{text-align:left;width:100%;min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-1);color:var(--color-text);font:inherit;background:0 0;border:0;display:block}.record-menu>ul button:hover{background:var(--color-background)}.ui-overlay{z-index:20;background:#0b122073;place-items:center;display:grid;position:fixed;inset:0}.ui-dialog,.ui-sheet{background:var(--color-surface);border-radius:var(--radius-2);box-shadow:var(--shadow-2);padding:var(--space-4);max-width:560px;width:calc(100vw - 2 * var(--space-4));max-height:80vh;overflow:auto}.ui-sheet{height:100vh;max-height:100vh;padding:var(--space-4) var(--space-4) 0;border-radius:0;margin-left:auto}.ui-dialog-body{gap:var(--space-3);flex-direction:column;min-height:100%;display:flex}.ui-dialog-body>:first-child{font-size:var(--font-size-3);margin:0}.ui-sheet .ui-dialog-body>.ui-sheet-actions{margin-top:auto}.ui-sheet-actions{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) 0;background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;position:sticky;bottom:0}.ui-popover{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-1);box-shadow:var(--shadow-1);padding:var(--space-1)}.ui-menu{min-width:200px;margin:0;padding:0;list-style:none}.ui-menu-item{padding:var(--space-2);border-radius:var(--radius-1);cursor:pointer}.ui-menu-item[data-focused]{background:var(--color-background)}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2);padding:var(--space-3);box-shadow:var(--shadow-1)}.ui-card-title{margin:0 0 var(--space-2);font-size:var(--font-size-2);color:var(--color-text-muted)}.ui-badge{padding:2px var(--space-2);font-size:var(--font-size-1);border:1px solid var(--color-border);border-radius:999px;display:inline-block}.ui-badge[data-tone=positive]{border-color:var(--color-accent);color:var(--color-accent)}.ui-badge[data-tone=warning]{border-color:var(--color-warning);color:var(--color-warning)}.ui-badge[data-tone=danger]{border-color:var(--color-danger);color:var(--color-danger)}.ui-page-header{align-items:start;gap:var(--space-2) var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.ui-page-header>nav{grid-column:1/-1}.ui-page-titles{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.ui-page-header h1,.ui-page-header h2{font-size:var(--font-size-4);margin:0}.ui-page-context{color:var(--color-text-muted);margin:0}.ui-page-actions{gap:var(--space-2);display:flex}.ui-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2);width:100%}.ui-table caption{text-align:left;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-1)}.ui-table th,.ui-table td{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);text-align:left}.ui-table [data-align=end]{text-align:right}.ui-money{font-variant-numeric:tabular-nums}.ui-table th button{align-items:baseline;gap:var(--space-1);font:inherit;color:var(--color-text);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;display:inline-flex}.ui-sort-caret{color:var(--color-text-muted);font-size:var(--font-size-1);flex:none;line-height:1}.ui-table th[aria-sort=ascending] .ui-sort-caret,.ui-table th[aria-sort=descending] .ui-sort-caret{color:var(--color-accent)}.ui-table td>button:not(.ui-button){min-height:44px;font:inherit;text-align:left;color:var(--color-accent);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:flex-start;padding:0;font-weight:600;text-decoration:underline;display:inline-flex}.ui-table td>button:not(.ui-button) .record-note{font-weight:400;text-decoration-thickness:from-font}.ui-table td{vertical-align:top}.ui-table tfoot th,.ui-table tfoot td{border-top:2px solid var(--color-text);font-variant-numeric:tabular-nums;font-weight:600}.ui-table tfoot th{text-align:left}@media (width<=639px){.ui-table,.ui-table tbody,.ui-table tfoot,.ui-table tr,.ui-table td,.ui-table tfoot th{width:100%;display:block}.ui-table thead{display:none}.ui-table caption{padding-inline:0;display:block}.ui-table tr{border-top:1px solid var(--color-border);padding:var(--space-2) 0}.ui-table td{justify-content:space-between;gap:var(--space-3);border:0;display:flex}.ui-table td:before{content:attr(data-label);color:var(--color-text-muted);white-space:nowrap}.ui-table tfoot tr{border-top-width:2px;border-top-color:var(--color-text)}.ui-table tfoot th,.ui-table tfoot td{border-top:0}.ui-table tfoot td:empty{display:none}}.ui-field{margin-bottom:var(--space-3);flex-direction:column;gap:4px;display:flex}.ui-field label{font-weight:600}.ui-field input,.ui-field select,.ui-field textarea{min-height:44px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-1);background:var(--color-surface);color:var(--color-text);font:inherit}.ui-field[data-invalid=true] input,.ui-field[data-invalid=true] select,.ui-field[data-invalid=true] textarea{border-color:var(--color-danger);border-width:2px}.ui-textarea{padding:var(--space-2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-size-1);resize:vertical;line-height:1.5}.ui-field-hint{color:var(--color-text-muted);font-size:var(--font-size-1);margin:0}.ui-field-error{color:var(--color-danger);margin:0;font-weight:600}.ui-file-drop{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius-2);background:var(--color-surface);flex-wrap:wrap;display:flex}.ui-file-drop[data-dragging=true]{border-style:solid;border-color:var(--color-accent);padding:calc(var(--space-3) - 1px);border-width:2px}.ui-field[data-invalid=true] .ui-file-drop{border-color:var(--color-danger)}.ui-file-drop input[type=file]{background:0 0;border:0;flex:0 auto;max-width:100%;min-height:44px;padding:0}.ui-file-none{color:var(--color-text-muted);font-size:var(--font-size-1);margin:0}.ui-file-chosen{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;margin:0;display:flex}.ui-file-name{overflow-wrap:anywhere;font-weight:600}.ui-file-size{color:var(--color-text-muted);font-size:var(--font-size-1);font-variant-numeric:tabular-nums;white-space:nowrap}.ui-file-status{font-size:var(--font-size-1);color:var(--color-text-muted);margin:0}.ui-file-status[data-status=uploaded]{color:var(--color-text)}.ui-file-status[data-status=failed]{color:var(--color-danger);font-weight:600}.ui-error-summary{border:2px solid var(--color-danger);border-radius:var(--radius-1);padding:var(--space-3);margin-bottom:var(--space-3)}.ui-error-summary h2{margin:0 0 var(--space-2);font-size:var(--font-size-2);color:var(--color-danger)}.ui-empty{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-2);padding:var(--space-5) var(--space-4);text-align:center}.ui-empty p{max-width:60ch;margin-inline:auto}.ui-toast{border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:var(--radius-1);background:var(--color-surface);padding:var(--space-2) var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.ui-toast[data-tone=problem]{border-left-color:var(--color-danger)}.ui-skeleton-line{height:var(--font-size-2);margin-bottom:var(--space-1);border-radius:var(--radius-1);background:var(--color-border);display:block}.ui-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ui-tablist{gap:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.ui-tab{padding:var(--space-2) var(--space-3);cursor:pointer}.ui-tab[data-selected]{border-bottom:2px solid var(--color-accent);font-weight:600}.palette-matches{margin:var(--space-2) 0 0;padding:0;list-style:none}.palette-match{justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-2);border-radius:var(--radius-1);font:inherit;color:var(--color-text);cursor:pointer;background:0 0;border:0;display:flex}.palette-match:hover{background:var(--color-background)}.palette-area{color:var(--color-text-muted);font-size:var(--font-size-1)}@media (width<=639px){.ui-sheet{width:100vw;max-width:none;padding:var(--space-3) var(--space-3) 0}.ui-button,.record-menu>button{min-height:44px}}.service-status{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-left:4px solid var(--color-danger);border-radius:var(--radius-1);background:var(--color-surface);margin:0}.service-status:empty{display:none}.companies-note{color:var(--color-text-muted);font-size:var(--font-size-1);margin:0}.company-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:stretch;margin:0;padding:0;list-style:none;display:grid}.company-cards>li{margin:0;display:flex}.company-cards>li>.ui-card{gap:var(--space-2);flex-direction:column;width:100%;display:flex}.company-card-name{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--font-size-3);margin:0;line-height:1.3;display:flex}.company-card-name>.company-badge,.company-card-name>.ui-badge{flex:none}.company-card-name>span{overflow-wrap:anywhere;flex:auto;min-width:0}.company-card-note{margin:calc(var(--space-2) * -1) 0 0;color:var(--color-text-muted);font-size:var(--font-size-1)}.company-figures{gap:var(--space-1);flex-direction:column;margin:0;display:flex}.company-figure{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.company-figure dt{color:var(--color-text-muted);font-size:var(--font-size-1)}.company-figure dd{margin:0}.company-card-actions{align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);margin-top:auto;display:flex}.company-card-actions>.ui-button{flex:auto}.home-attention{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.home-attention-item{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) 0;flex-wrap:wrap;display:flex}.home-attention-item+.home-attention-item{border-top:1px solid var(--color-border)}.home-attention-message{flex:16rem;min-width:0}.home-attention-clear{color:var(--color-text-muted);margin:0}.home-figures{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:stretch;display:grid}.home-figures>.ui-card{gap:var(--space-1);flex-direction:column;display:flex}.home-figure{gap:var(--space-1);color:inherit;flex-direction:column;text-decoration:none;display:flex}.home-figure:hover .home-figure-value{text-decoration:underline}.home-figure-label{color:var(--color-text-muted);font-size:var(--font-size-1)}.home-figure-value{font-size:var(--font-size-4);font-variant-numeric:tabular-nums;line-height:1.2}.home-figure-note{padding-top:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-1);margin:auto 0 0}.home-quick{gap:var(--space-2);flex-wrap:wrap;display:flex}.home-feed-link{font-weight:400;display:block}@media (width<=639px){.home-figures{grid-template-columns:minmax(0,1fr)}.home-quick .ui-button{flex:100%}}.record-name{font-weight:600;display:block}.record-note{color:var(--color-text-muted);font-size:var(--font-size-1);display:block}.record-nowrap{white-space:nowrap}.record-stack{align-items:flex-start;gap:var(--space-1);flex-direction:column;display:inline-flex}.record-actions{align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.record-status{margin:0}.record-summary{padding:var(--space-2) 0 0;border-top:1px solid var(--color-border);margin:0}.record-summary>div{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-1) 0;display:flex}.record-summary>div+div{border-top:1px solid var(--color-border)}.record-summary dt{color:var(--color-text-muted)}.record-summary dd{text-align:right;margin:0}.record-summary>div[data-lead] dt,.record-summary>div[data-lead] dd{color:var(--color-text);font-weight:600}.record-action{padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-direction:column;align-items:flex-start;display:flex}@media (width<=639px){.ui-table td .record-actions{flex:auto;justify-content:flex-end}.ui-table td .record-actions>.ui-button{white-space:normal;flex:auto}.ui-table td .record-stack{align-items:flex-end}.record-action>.ui-button{width:100%}}.record-section{padding-top:var(--space-3);border-top:1px solid var(--color-border);gap:var(--space-3);flex-direction:column;display:flex}.record-section>.ui-page-header h2{font-size:var(--font-size-3)}.record-measure{max-width:30ch}.record-figures{max-width:34rem}.ui-card>.record-summary{border-top:0;padding-top:0}.form-group{border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.form-group>legend{margin-bottom:var(--space-2);color:var(--color-text);font-size:var(--font-size-2);padding:0;font-weight:600}.form-group>.ui-field:last-child{margin-bottom:0}.form-group .ui-field input.ui-money{max-width:10rem}.form-group .ui-field input[type=date]{max-width:12rem}.record-form-page{max-width:60rem}.expense-form{gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:start;max-width:56rem;display:grid}@media (width>=900px){.expense-form{grid-template-columns:repeat(2,minmax(0,1fr))}}.expense-form>.ui-toast,.expense-form>.ui-error-summary,.expense-form>.form-group-wide,.expense-form>.record-action{grid-column:1/-1}.expense-form>.ui-error-summary,.expense-form>.ui-toast{margin-bottom:0}.expense-form>.record-action{margin-top:calc(var(--space-2) * -1)}.record-lead{max-width:60ch;margin:0}.record-warnings{gap:var(--space-2);flex-direction:column;max-width:60ch;margin:0;padding:0;list-style:none;display:flex}.record-warnings>li{margin:0}.loan-figures{margin:var(--space-3) 0 0;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));display:grid}.loan-figure{gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.loan-figure dt{color:var(--color-text-muted);font-size:var(--font-size-1)}.loan-figure dd{font-size:var(--font-size-4);margin:0;line-height:1.2}.record-status+.record-lead{margin-top:var(--space-1)}.loan-figure[data-lead] dd{font-weight:600}.record-section>.ui-page-header .ui-page-titles{flex-direction:column;align-items:flex-start;gap:0}.record-section>.ui-empty{padding:var(--space-4)}.record-section>.record-lead,.ui-sheet .record-lead>.record-note{margin-top:calc(var(--space-2) * -1)}.record-search{max-width:28rem}.record-search .ui-field{margin-bottom:0}.record-groups{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.record-groups>.ui-card{gap:var(--space-2);flex-direction:column;display:flex}.record-groups>.ui-card>.ui-card-title{margin-bottom:0}.record-groups>.ui-card>.record-action{margin-top:auto}
