@layer theme,base,components,animations,utilities;@layer base{*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}*{margin:0}html{tab-size:4}body,dialog,[popover]{font-family:var(--font-sans);font-size:var(--text-regular);line-height:var(--leading-normal);color:var(--foreground)}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{max-width:100%}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:1.25;&:first-child{margin-block-start:0}}h1{font-size:var(--text-1);margin:var(--space-10) 0 var(--space-6)}h2{font-size:var(--text-2);margin:var(--space-8) 0 var(--space-5)}h3{font-size:var(--text-3);margin:var(--space-6) 0 var(--space-4)}h4{font-size:var(--text-4);margin:var(--space-5) 0 var(--space-3)}h5{font-size:var(--text-5);margin:var(--space-4) 0 var(--space-2)}h6{font-size:var(--text-regular);margin:var(--space-4) 0 var(--space-2)}p{margin-block-end:var(--space-4);&:last-child{margin-block-end:0}}a{color:var(--primary);text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast);&:hover{color:rgb(from var(--primary) r g b / .8)}}strong,b{font-weight:var(--font-semibold)}em,i{font-style:italic}small{font-size:var(--text-7)}code{font-family:var(--font-mono);font-size:.875em;padding:calc(var(--space-1) / 2) var(--space-1);background-color:var(--faint);border-radius:var(--radius-small)}pre{font-family:var(--font-mono);padding:var(--space-4);background-color:var(--faint);border-radius:var(--radius-medium);overflow-x:auto;margin-block-end:var(--space-4);code{padding:0;background:none;border-radius:0}}blockquote{border-inline-start:4px solid var(--border);padding-inline-start:var(--space-4);margin:var(--space-4) 0;color:var(--muted-foreground);font-style:italic}hr{border:none;border-top:1px solid var(--border);margin:var(--space-2) 0}ul,ol{padding-inline-start:var(--space-6);margin-block-end:var(--space-4)}ul{list-style-type:disc}ol{list-style-type:decimal}li{margin-block-end:var(--space-1)}mark{background-color:rgb(from var(--warning) r g b / .3);padding:calc(var(--space-1) / 2) var(--space-1);border-radius:var(--radius-small)}[hidden]{display:none}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}:disabled{opacity:.5;cursor:not-allowed}}@layer theme{:root{color-scheme:light dark;--background: light-dark(#fff, #09090b);--foreground: light-dark(#09090b, #fafafa);--card: light-dark(#fff, #18181b);--card-foreground: light-dark(#09090b, #fafafa);--primary: light-dark(#574747, #fafafa);--primary-foreground: light-dark(#fafafa, #18181b);--secondary: light-dark(#f4f4f5, #27272a);--secondary-foreground: light-dark(#574747, #fafafa);--muted: light-dark(#f4f4f5, #27272a);--muted-foreground: light-dark(#71717a, #a1a1aa);--faint: light-dark(#fafafa, #1e1e21);--faint-foreground: light-dark(#a1a1aa, #71717a);--accent: light-dark(#f4f4f5, #27272a);--danger: light-dark(#d32f2f, #f4807b);--danger-foreground: light-dark(#fafafa, #18181b);--success: light-dark(#008032, #6cc070);--success-foreground: light-dark(#fafafa, #18181b);--warning: light-dark(#a65b00, #f0a030);--warning-foreground: #09090b;--border: light-dark(#d4d4d8, #52525b);--input: light-dark(#d4d4d8, #52525b);--ring: light-dark(#574747, #d4d4d8);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-18: 4.5rem;--radius-small: .125rem;--radius-medium: .375rem;--radius-large: .75rem;--radius-full: 9999px;--bar-height: .5rem;--font-sans: system-ui, sans-serif;--font-mono: ui-monospace, Consolas, monospace;--text-1: clamp(1.75rem, 1.5rem + 1.1vw, 2.25rem);--text-2: clamp(1.5rem, 1.3rem + .8vw, 1.875rem);--text-3: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);--text-4: clamp(1.125rem, 1.05rem + .3vw, 1.25rem);--text-5: 1.125rem;--text-6: 1rem;--text-7: .875rem;--text-8: .75rem;--text-regular: var(--text-6);--leading-normal: 1.5;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 600;--shadow-small: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-medium: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-large: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition: .2s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 50;--z-modal: 200}}@layer animations{.animate-pop-in{opacity:1;transform:perspective(1000px) rotateX(0) translateZ(0);transition:opacity .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1),overlay .15s cubic-bezier(.4,0,.2,1) allow-discrete,display .15s cubic-bezier(.4,0,.2,1) allow-discrete;@starting-style{opacity:0;transform:perspective(1000px) rotateX(-15deg) translateZ(-80px)}&[data-state=closing]{opacity:0;transform:perspective(1000px) rotateX(-15deg) translateZ(-80px)}&[data-state=closing]::backdrop{opacity:0}}dialog::backdrop{opacity:1;transition:opacity .15s cubic-bezier(.4,0,.2,1);@starting-style{opacity:0}}.animate-slide-in{opacity:1;transform:translate(0);transition:opacity .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1);@starting-style{opacity:0;transform:translate(100%)}&[data-state=closing]{opacity:0;transform:translate(100%)}}}@layer base{:is(button,[type=submit],[type=reset],[type=button],a.button),::file-selector-button{--_hov: color-mix(in srgb, var(--primary), white 25%);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-7);font-weight:var(--font-medium);line-height:var(--leading-normal);white-space:nowrap;text-decoration:none;background-color:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-medium);border:1px solid;border-color:rgb(from #fff r g b / .15) rgb(from #000 r g b / .2) rgb(from #000 r g b / .2) rgb(from #fff r g b / .15);transition:background-color var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast);&:not(:disabled){cursor:pointer}&:hover:not(:disabled){background-color:var(--_hov)}&:active:not(:disabled){transform:translate(1px,1px)}&[data-variant=secondary]{--_hov: color-mix(in srgb, var(--secondary), black 10%);background-color:var(--secondary);color:var(--secondary-foreground);border-color:rgb(from #fff r g b / .5) rgb(from #000 r g b / .1) rgb(from #000 r g b / .1) rgb(from #fff r g b / .5)}&[data-variant=danger]{--_hov: color-mix(in srgb, var(--danger), black 15%);background-color:var(--danger);color:var(--danger-foreground)}&:is(.outline,.ghost){--_hov: var(--accent);background-color:transparent;color:var(--foreground);&[data-variant=danger]{--_hov: color-mix(in srgb, var(--danger), transparent 90%);color:var(--danger)}&[data-variant=secondary]{--_hov: color-mix(in srgb, var(--secondary), transparent 80%);color:var(--secondary-foreground)}}&.outline{border-color:var(--border);&[data-variant=danger]{border-color:var(--danger)}&[data-variant=secondary]{border-color:var(--secondary)}}&.ghost{border-color:transparent}&.small{padding:var(--space-1) var(--space-3);font-size:var(--text-8)}&.large{height:3rem;padding:0 var(--space-6);font-size:var(--text-regular)}&.icon{width:2.5rem;padding:0;&.small{width:2rem}&.large{width:3rem}}}::file-selector-button{background-color:transparent;color:var(--foreground);border:1px solid var(--border)}::file-selector-button:hover{background-color:var(--accent)}}@layer components{menu.buttons{list-style-type:none;padding-inline-start:0;display:inline-flex;>li{&:first-child>*{border-start-start-radius:var(--radius-medium);border-end-start-radius:var(--radius-medium)}&:last-child>*{border-start-end-radius:var(--radius-medium);border-end-end-radius:var(--radius-medium)}>*{border-radius:0}&:not(:last-child)>*{border-inline-end:1px solid rgb(from var(--primary-foreground) r g b / .2)}}}}@layer base{label{display:block;font-size:var(--text-7);font-weight:var(--font-medium);&:has(input:where([type=checkbox],[type=radio])){display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--font-normal)}}:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color]),textarea,select){width:100%;margin-block-start:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--text-7);line-height:var(--leading-normal);background-color:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius-medium);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);&::placeholder{color:var(--muted-foreground)}&:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px rgb(from var(--ring) r g b / .2);z-index:1}&:disabled{background-color:var(--muted)}&:is([aria-invalid=true],:user-invalid){border-color:var(--danger);&:focus{box-shadow:0 0 0 2px rgb(from var(--danger) r g b / .2)}}}textarea{height:auto;min-height:5rem;padding:var(--space-3);resize:vertical}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-2) center;padding-inline-end:var(--space-6)}input:where([type=checkbox],[type=radio]){appearance:none;width:1rem;height:1rem;margin:0;position:relative;background-color:var(--background);border:1px solid var(--input);transition:background-color var(--transition-fast),border-color var(--transition-fast);&:checked{background-color:var(--primary);border-color:var(--primary);&:after{content:"";position:absolute;inset:0;background-color:var(--primary-foreground);mask-position:center;mask-repeat:no-repeat;mask-size:100%}}}input[type=checkbox]{border-radius:var(--radius-small);&:checked:after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='4'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")}&[role=switch]{--switch-height: calc(var(--bar-height) * 3);--switch-inset: 2px;--switch-thumb: calc(var(--switch-height) - var(--switch-inset) * 3);width:calc(var(--switch-height) * 2);height:var(--switch-height);border-radius:var(--radius-full);background-color:var(--input);&:before{content:"";position:absolute;top:50%;left:var(--switch-inset);transform:translateY(-50%);width:var(--switch-thumb);height:var(--switch-thumb);background-color:var(--background);border-radius:var(--radius-full);transition:transform var(--transition);box-shadow:var(--shadow-small)}&:checked{background-color:var(--primary);&:after{content:none}&:before{transform:translateY(-50%) translate(var(--switch-height))}}}}input[type=radio]{border-radius:var(--radius-full);&:checked:after{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='currentColor'/%3E%3C/svg%3E")}}:where(input:where([type=checkbox],[type=radio],[type=range]),select):not(:disabled),label:has(input:where([type=checkbox],[type=radio]):not(:disabled)){cursor:pointer}input[type=range]{width:100%;height:var(--bar-height);appearance:none;background:var(--muted);border-radius:var(--radius-full);&::-webkit-slider-thumb{appearance:none;width:1.25rem;height:1.25rem;background:var(--primary);border-radius:var(--radius-full);transition:transform var(--transition-fast);&:hover{transform:scale(1.1)}}&::-moz-range-thumb{width:1.25rem;height:1.25rem;background:var(--primary);border:none;border-radius:var(--radius-full)}}fieldset{border:1px solid var(--border);border-radius:var(--radius-medium);padding:var(--space-4);margin-block-end:var(--space-4)}legend{font-size:var(--text-7);font-weight:var(--font-medium);padding:0 var(--space-2)}}@layer components{fieldset.group{display:flex;align-items:stretch;border:none;padding:0;margin:0;>:is(input,textarea,select){flex:1;margin-block-start:0;&:not(:focus){border-inline-end-color:transparent}}>:is(input,textarea,select,button){border-radius:0;&:first-child{border-radius:var(--radius-medium) 0 0 var(--radius-medium)}&:last-child{border-radius:0 var(--radius-medium) var(--radius-medium) 0}}>legend{float:inline-start;display:inline-flex;align-items:center;padding:0 var(--space-3);line-height:var(--leading-normal);font-weight:var(--font-normal);color:var(--muted-foreground);background-color:var(--muted);border:1px solid var(--input);border-inline-end:none;border-radius:var(--radius-medium) 0 0 var(--radius-medium)}}[data-field]{margin-block-end:var(--space-4);[data-hint],.error{font-size:var(--text-8);font-weight:var(--font-normal);color:var(--muted-foreground);margin-block-start:var(--space-1)}.error{display:none}&[data-field=error] .error{display:block;color:var(--danger)}}}@layer base{.table{min-width:320px;width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-7)}thead{border-bottom:1px solid var(--border)}th,td{overflow-wrap:break-word}th{padding:var(--space-3) var(--space-2);text-align:start;font-weight:var(--font-medium);color:var(--muted-foreground)}td{padding:var(--space-3) var(--space-2)}tbody tr{border-bottom:1px solid var(--border);transition:background-color var(--transition-fast);&:last-child{border-bottom:none}&:hover{background-color:rgb(from var(--muted) r g b / .5)}}}@layer base{progress{appearance:none;width:100%;height:var(--bar-height);border:none;border-radius:var(--radius-full);overflow:hidden;background-color:var(--muted);&::-webkit-progress-bar{background-color:var(--muted);border-radius:var(--radius-full)}&::-webkit-progress-value{background-color:var(--primary);border-radius:var(--radius-full);transition:width var(--transition)}&::-moz-progress-bar{background-color:var(--primary);border-radius:var(--radius-full)}}meter{appearance:none;width:100%;height:var(--bar-height);border:none;border-radius:var(--radius-full);overflow:hidden;background:var(--muted);&::-webkit-meter-bar{background:var(--muted);border:none;border-radius:var(--radius-full);height:var(--bar-height)}&::-webkit-meter-optimum-value,&::-webkit-meter-suboptimum-value,&::-webkit-meter-even-less-good-value{border-radius:var(--radius-full)}&::-webkit-meter-optimum-value{background:var(--success)}&::-webkit-meter-suboptimum-value{background:var(--warning)}&::-webkit-meter-even-less-good-value{background:var(--danger)}&::-moz-meter-bar{background:var(--success);border-radius:var(--radius-full)}&:-moz-meter-sub-optimum::-moz-meter-bar{background:var(--warning)}&:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:var(--danger)}}}@layer components{[aria-busy=true]{&:before{content:"";display:inline-block;inset:0;margin:auto;width:1.5rem;height:1.5rem;border:2px solid var(--muted);border-top-color:var(--primary);border-radius:var(--radius-full);animation:spin 1s linear infinite;text-align:center}&[data-spinner~=small]:before{width:1rem;height:1rem}&[data-spinner~=large]:before{width:2rem;height:2rem;border-width:3px}&[data-spinner~=overlay]{position:relative;>*{opacity:.3;pointer-events:none}&:before{position:absolute;inset:0;margin:auto;z-index:1}}}@keyframes spin{to{transform:rotate(360deg)}}}@layer components{:root{--grid-cols: 12;--grid-gap: 1.5rem;--container-max: 1280px;--container-pad: 1rem}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.row{display:grid;grid-template-columns:repeat(var(--grid-cols),1fr);gap:var(--grid-gap);width:100%}.col,[class*=col-]{grid-column-end:span var(--span, var(--grid-cols))}.col-1{--span: 1}.col-2{--span: 2}.col-3{--span: 3}.col-4{--span: 4}.col-5{--span: 5}.col-6{--span: 6}.col-7{--span: 7}.col-8{--span: 8}.col-9{--span: 9}.col-10{--span: 10}.col-11{--span: 11}.col-12{--span: 12}.offset-1{grid-column-start:2}.offset-2{grid-column-start:3}.offset-3{grid-column-start:4}.offset-4{grid-column-start:5}.offset-5{grid-column-start:6}.offset-6{grid-column-start:7}.col-end{grid-column-start:span var(--span, 1);grid-column-end:-1}@media (max-width:768px){.row{--grid-cols: 4;--grid-gap: 1rem}.col,[class*=col-]{--span: 4}[class*=offset-]{grid-column-start:auto}}}@layer components{.card{background-color:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-medium);box-shadow:var(--shadow-small);padding:var(--space-6);overflow:hidden}}@layer components{[role=alert]{position:relative;display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-6);background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius-medium);font-size:var(--text-7);&[data-variant]{border:none}&[data-variant=error],&[data-variant=danger]{color:var(--danger);background-color:light-dark(color-mix(in srgb,var(--danger) 8%,transparent),color-mix(in srgb,var(--danger) 20%,transparent));& a{color:var(--danger)}}&[data-variant=success]{color:var(--success);background-color:light-dark(color-mix(in srgb,var(--success) 8%,transparent),color-mix(in srgb,var(--success) 20%,transparent));& a{color:var(--success)}}&[data-variant=warning]{color:var(--warning);background-color:light-dark(color-mix(in srgb,var(--warning) 8%,transparent),color-mix(in srgb,var(--warning) 20%,transparent));& a{color:var(--warning)}}}}@layer components{.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-4);font-size:var(--text-8);font-weight:var(--font-medium);line-height:var(--leading-normal);background-color:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-full);&.secondary{background-color:var(--secondary);color:var(--secondary-foreground)}&.outline{background-color:transparent;color:var(--foreground);border:1px solid var(--border)}&.success{color:var(--success);background-color:light-dark(color-mix(in srgb,var(--success) 10%,transparent),color-mix(in srgb,var(--success) 30%,transparent))}&.warning{color:var(--warning);background-color:light-dark(color-mix(in srgb,var(--warning) 10%,transparent),color-mix(in srgb,var(--warning) 30%,transparent))}&.danger{color:var(--danger);background-color:light-dark(color-mix(in srgb,var(--danger) 10%,transparent),color-mix(in srgb,var(--danger) 30%,transparent))}}}@layer components{details{border:1px solid var(--border);border-radius:var(--radius-medium);overflow:hidden;+details{margin-top:-1px;border-start-start-radius:0;border-start-end-radius:0}&:has(+details){border-end-start-radius:0;border-end-end-radius:0}&[open] summary{border-bottom:1px solid var(--border)}}summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-4);font-weight:var(--font-medium);cursor:pointer;user-select:none;transition:background-color var(--transition-fast);&:hover{background-color:var(--muted)}&::-webkit-details-marker,&::marker{display:none}&:after{content:"";width:1em;height:1em;flex-shrink:0;background-color:currentColor;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");mask-size:contain;mask-repeat:no-repeat;transition:transform var(--transition-fast)}details[open] &:after{transform:rotate(180deg)}}details>*:not(summary){margin:var(--space-4)}}@layer components{[role=tablist]{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1);background-color:var(--muted);border-radius:var(--radius-medium)}[role=tab]{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);font-size:var(--text-7);font-weight:var(--font-medium);white-space:nowrap;background-color:transparent;color:var(--foreground);border:none;border-radius:calc(var(--radius-medium) - 2px);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);&:hover{color:var(--muted-foreground)}&[aria-selected=true]{background-color:var(--background);box-shadow:var(--shadow-small)}}[role=tabpanel]{padding:var(--space-4) 0;&:focus-visible{outline:none}}}@layer components{dialog{position:fixed;inset:0;z-index:var(--z-modal);width:min(100% - 2rem,32rem);max-height:85vh;margin:auto;padding:0;background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius-large);box-shadow:var(--shadow-large);overflow:hidden;opacity:0;transform:scale(.95);transition:opacity .15s ease,transform .15s ease,overlay .15s ease allow-discrete,display .15s ease allow-discrete;&[open]{opacity:1;transform:scale(1)}@starting-style{&[open]{opacity:0;transform:scale(.95)}}&::backdrop{background-color:#0000;transition:background-color .15s ease,overlay .15s ease allow-discrete,display .15s ease allow-discrete}&[open]::backdrop{background-color:#00000080}@starting-style{&[open]::backdrop{background-color:#0000}}>header,>form>header{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-6);padding-block-end:0;>h1,>h2,>h3,>h4,>h5,>h6{margin-block-end:0}>p{font-size:var(--text-7);color:var(--muted-foreground);margin-block-end:0}}>p,>div,>section,>form>p,>form>div,>form>section{padding:var(--space-6);overflow-y:auto}>footer,>form>footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-6);padding-block-start:0}}}@layer components{ot-dropdown{[popover]{position:fixed;margin:0;min-width:12rem;background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius-medium);box-shadow:var(--shadow-medium);opacity:0;transform:translateY(-4px);transition:opacity .15s ease-out,transform .15s ease-out,display .15s allow-discrete,overlay .15s allow-discrete;&:popover-open{opacity:1;transform:translateY(0)}@starting-style{&:popover-open{opacity:0;transform:translateY(-4px)}}}[role=menuitem]{display:flex;align-items:center;justify-content:start;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-7);text-align:start;color:var(--foreground);background:none;border:none;border-radius:var(--radius-small);cursor:pointer;&:hover,&:focus{background-color:var(--accent);outline:none}}}}@layer components{.toast-container{position:fixed;display:flex;flex-direction:column;pointer-events:none;margin:0;padding:0;border:none;background:transparent;overflow:visible;&::backdrop{display:none}&[data-placement=top-left]{inset:var(--space-4) auto auto var(--space-4)}&[data-placement=top-center]{inset:var(--space-4) auto auto 50%;transform:translate(-50%)}&[data-placement=top-right]{inset:var(--space-4) var(--space-4) auto auto}&[data-placement=bottom-left]{inset:auto auto var(--space-4) var(--space-4);flex-direction:column-reverse}&[data-placement=bottom-center]{inset:auto auto var(--space-4) 50%;transform:translate(-50%);flex-direction:column-reverse}&[data-placement=bottom-right]{inset:auto var(--space-4) var(--space-4) auto;flex-direction:column-reverse}}.toast{--transition: .3s;--transition-in: calc(var(--transition) - 50ms);padding:var(--space-5) var(--space-4);max-width:28rem;min-width:20rem;pointer-events:auto;background-color:var(--card);border:1px solid var(--border);border-inline-start-width:var(--space-1);border-inline-start-style:solid;border-radius:var(--radius-medium);box-shadow:var(--shadow-small);transition:opacity var(--transition-in),transform var(--transition-in),margin var(--transition-in);line-height:1;.toast-title{font-weight:600;margin:0 0 var(--space-3) 0}.toast-message{color:var(--muted-foreground)}&[data-variant=success]{border-inline-start-color:var(--success);.toast-title{color:var(--success)}}&[data-variant=danger]{border-inline-start-color:var(--danger);.toast-title{color:var(--danger)}}&[data-variant=warning]{border-inline-start-color:var(--warning);.toast-title{color:var(--warning)}}>[data-close]{margin-inline-start:auto;background:none;border:none;padding:0;cursor:pointer;opacity:.5;&:hover{opacity:1}}margin:var(--space-2) 0;&[data-entering]{opacity:0;transform:translateY(-1rem)}&[data-exiting]{opacity:0;margin:0;padding-block:0;max-height:0;overflow:hidden;transition:opacity var(--transition),margin var(--transition),padding var(--transition),max-height var(--transition)}}}@layer components{[data-sidebar-layout]{--topnav-offset: 0px;display:grid;grid-template-columns:14rem 1fr;min-height:100dvh;gap:var(--space-4);&:has(nav[data-topnav]){--topnav-offset: var(--space-12);>main [id]{scroll-margin-block-start:calc(var(--space-12) + var(--space-6))}}>main{min-width:0;margin-block-start:var(--topnav-offset);padding-block-start:var(--space-8)}>aside[data-sidebar]{position:sticky;top:var(--topnav-offset);z-index:1;height:calc(100dvh - var(--topnav-offset));align-self:start;background-color:var(--background);border-inline-end:1px solid var(--border);box-shadow:var(--shadow-medium);display:flex;flex-direction:column;>:is(header,footer){flex-shrink:0;padding:var(--space-3)}>footer{margin-block-start:auto}>nav{flex:1;min-height:0;overflow-y:auto;padding:var(--space-3) var(--space-2);font-size:var(--text-7);ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1);li{margin:0}}a{display:flex;gap:var(--space-2);padding:var(--space-1) var(--space-3);color:var(--foreground);text-decoration:none;border-radius:var(--radius-small);transition:background-color var(--transition-fast);&:is(:hover,[aria-current]){background-color:var(--accent)}}details{border:none;overflow:visible;+details{margin-top:0}&[open] summary{border-bottom:none}>ul{margin-inline-start:var(--space-4);padding:var(--space-1) 0}}summary{justify-content:flex-start;padding:var(--space-2) var(--space-3);border-radius:var(--radius-small);&:after{width:.75rem;height:.75rem;margin-inline-start:auto}}}}}nav[data-topnav]{position:fixed;inset:0 0 auto;z-index:5;min-height:var(--space-12);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background-color:var(--background);border-bottom:1px solid var(--border);box-shadow:var(--shadow-small);a{text-decoration:none}}:is([data-sidebar-toggle],[data-sidebar-header]){display:none}[data-sidebar-toggle]{padding:0 var(--space-1);background:none;border:1px solid var(--border);border-radius:var(--radius-small)}@media (min-width:769px){[data-sidebar-layout=always]{transition:grid-template-columns var(--transition);[data-sidebar-toggle]{display:inline-block}>aside[data-sidebar]{transform:translate(0);opacity:1;transition:transform var(--transition),opacity var(--transition),visibility var(--transition)}&[data-sidebar-open]{grid-template-columns:0px 1fr;gap:0;>aside[data-sidebar]{overflow:hidden;min-width:0;transform:translate(-100%);opacity:0;visibility:hidden;border-inline-end:none}}}}@media (max-width:768px){[data-sidebar-layout]{grid-template-columns:1fr;>aside[data-sidebar]{position:fixed;left:0;width:16rem;transform:translate(-100%);transition:transform var(--transition);box-shadow:var(--shadow-large)}&[data-sidebar-open]>aside[data-sidebar]{transform:translate(0)}}[data-sidebar-toggle]{display:inline-block}[data-sidebar-header]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}}}@layer components{[role=status].skeleton{--_c: light-dark( color-mix(in srgb, var(--muted) 30%, white), color-mix(in srgb, var(--muted) 90%, var(--foreground)) );margin-block-end:var(--space-3);background:var(--muted);border-radius:var(--radius-medium);animation:anim 2s infinite;background-size:200% 100%;background-image:linear-gradient(90deg,var(--muted) 0%,var(--_c) 50%,var(--muted) 100%);&.box{width:4rem;height:4rem}&.line{height:1rem;width:100%}}[role=status].skeleton:last-child{margin-block-end:0}@keyframes anim{0%{background-position:200% 0}to{background-position:-200% 0}}}@layer components{[data-tooltip]{position:relative}[data-tooltip]:before,[data-tooltip]:after{position:absolute;inset-inline-start:50%;opacity:0;visibility:hidden;transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast);pointer-events:none;z-index:1000}[data-tooltip]:after{content:attr(data-tooltip);inset-block-end:calc(100% + 10px);transform:translate(-50%) translateY(4px);padding:var(--space-2) var(--space-3);font-size:var(--text-7);line-height:1;white-space:nowrap;background:var(--foreground);color:var(--background);border-radius:var(--radius-medium)}[data-tooltip]:before{content:"";inset-block-end:calc(100% - 5px);transform:translate(-50%) translateY(4px);border:8px solid transparent;border-top-color:var(--foreground)}[data-tooltip]:is(:hover,:focus-visible):before,[data-tooltip]:is(:hover,:focus-visible):after{opacity:1;visibility:visible;transition-delay:.7s;transform:translate(-50%) translateY(0)}}@layer utilities{.align-left{text-align:start}.align-center{text-align:center}.align-right{text-align:end}.text-light{color:var(--muted-foreground)}.text-lighter{color:var(--faint-foreground)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.hstack{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;align-content:flex-start;height:auto}.vstack{display:flex;flex-direction:column;gap:var(--space-3)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.mt-2{margin-block-start:var(--space-2)}.mt-4{margin-block-start:var(--space-4)}.mt-6{margin-block-start:var(--space-6)}.mb-2{margin-block-end:var(--space-2)}.mb-4{margin-block-end:var(--space-4)}.mb-6{margin-block-end:var(--space-6)}.p-4{padding:var(--space-4)}.w-100{width:100%}ul,ol{&.unstyled{list-style:none;padding-inline-start:0;margin-inline-start:0}}}:root{--color-base-100: oklch(98% 0 0);--color-base-200: oklch(96% .001 286.375);--color-base-300: oklch(92% .004 286.32);--color-base-content: oklch(21% .006 285.885);--color-neutral: oklch(44% .017 285.786);--color-primary: oklch(70% .213 47.604);--color-primary-hover: oklch(65% .213 47.604);--color-bg: oklch(98% 0 0);--color-bg-secondary: oklch(96% .001 286.375);--color-bg-tertiary: oklch(92% .004 286.32);--color-fg: oklch(21% .006 285.885);--color-fg-muted: oklch(45% .006 285.885);--color-border: oklch(92% .004 286.32);--color-border-hover: oklch(85% .006 286.32);--color-success: oklch(70% .14 182.503);--color-success-bg: oklch(95% .03 182.503);--color-warning: oklch(66% .179 58.318);--color-warning-bg: oklch(95% .04 58.318);--color-error: oklch(58% .253 17.585);--color-error-bg: oklch(95% .05 17.585);--color-info: oklch(62% .214 259.815);--color-info-bg: oklch(95% .04 259.815);--color-console-bg: oklch(15% 0 0);--color-console-fg: oklch(90% 0 0);--color-console-muted: oklch(70% 0 0);--color-primary-5: color-mix(in oklch, var(--color-primary) 5%, transparent);--color-primary-10: color-mix(in oklch, var(--color-primary) 10%, transparent);--color-primary-15: color-mix(in oklch, var(--color-primary) 15%, transparent);--color-primary-20: color-mix(in oklch, var(--color-primary) 20%, transparent);--color-primary-30: color-mix(in oklch, var(--color-primary) 30%, transparent);--color-success-5: color-mix(in oklch, var(--color-success) 5%, transparent);--color-success-10: color-mix(in oklch, var(--color-success) 10%, transparent);--color-success-20: color-mix(in oklch, var(--color-success) 20%, transparent);--color-success-30: color-mix(in oklch, var(--color-success) 30%, transparent);--color-warning-10: color-mix(in oklch, var(--color-warning) 10%, transparent);--color-warning-20: color-mix(in oklch, var(--color-warning) 20%, transparent);--color-warning-30: color-mix(in oklch, var(--color-warning) 30%, transparent);--color-error-5: color-mix(in oklch, var(--color-error) 5%, transparent);--color-error-10: color-mix(in oklch, var(--color-error) 10%, transparent);--color-error-20: color-mix(in oklch, var(--color-error) 20%, transparent);--color-info-10: color-mix(in oklch, var(--color-info) 10%, transparent);--color-fg-10: color-mix(in oklch, var(--color-fg) 10%, transparent);--color-border-20: color-mix(in oklch, var(--color-border) 20%, transparent);--color-border-30: color-mix(in oklch, var(--color-border) 30%, transparent);--color-border-40: color-mix(in oklch, var(--color-border) 40%, transparent);--color-border-50: color-mix(in oklch, var(--color-border) 50%, transparent);--color-bg-90: color-mix(in oklch, var(--color-bg) 90%, transparent);--color-bg-80: color-mix(in oklch, var(--color-bg) 80%, transparent);--color-bg-50: color-mix(in oklch, var(--color-bg) 50%, transparent);--color-bg-secondary-50: color-mix(in oklch, var(--color-bg-secondary) 50%, transparent);--color-bg-secondary-95: color-mix(in oklch, var(--color-bg-secondary) 95%, transparent);--color-bg-tertiary-10: color-mix(in oklch, var(--color-bg-tertiary) 10%, transparent);--color-bg-tertiary-20: color-mix(in oklch, var(--color-bg-tertiary) 20%, transparent);--color-bg-tertiary-30: color-mix(in oklch, var(--color-bg-tertiary) 30%, transparent);--color-bg-tertiary-40: color-mix(in oklch, var(--color-bg-tertiary) 40%, transparent);--color-bg-tertiary-50: color-mix(in oklch, var(--color-bg-tertiary) 50%, transparent);--color-bg-tertiary-80: color-mix(in oklch, var(--color-bg-tertiary) 80%, transparent);--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--radius-sm: .25rem;--radius: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--sidebar-width: 14rem;--sidebar-collapsed: 4rem;--detail-sidebar: 24rem;--detail-sidebar-wide: 42rem;--container-sm: 24rem;--container-md: 32rem;--container-lg: 48rem;--container-xl: 56rem;--container-2xl: 64rem;--container-3xl: 72rem;--container-4xl: 80rem;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--transition-fast: .15s;--transition: .2s}[data-theme=dark]{--color-base-100: oklch(30.33% .016 252.42);--color-base-200: oklch(25.26% .014 253.1);--color-base-300: oklch(20.15% .012 254.09);--color-base-content: oklch(97.807% .029 256.847);--color-neutral: oklch(37% .044 257.287);--color-primary: oklch(58% .233 277.117);--color-primary-hover: oklch(63% .233 277.117);--color-bg: oklch(25.26% .014 253.1);--color-bg-secondary: oklch(30.33% .016 252.42);--color-bg-tertiary: oklch(35% .018 252);--color-fg: oklch(97.807% .029 256.847);--color-fg-muted: oklch(70% .02 256.847);--color-border: oklch(35% .02 254.09);--color-border-hover: oklch(45% .025 254.09);--color-success: oklch(60% .118 184.704);--color-success-bg: oklch(30% .04 184.704);--color-warning: oklch(66% .179 58.318);--color-warning-bg: oklch(30% .06 58.318);--color-error: oklch(58% .253 17.585);--color-error-bg: oklch(30% .08 17.585);--color-info: oklch(58% .158 241.966);--color-info-bg: oklch(30% .05 241.966);--color-console-bg: oklch(12% .01 253);--color-console-fg: oklch(85% .02 253);--color-console-muted: oklch(60% .015 253);--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow: 0 4px 6px -1px rgba(0,0,0,.4), 0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.4), 0 4px 6px -4px rgba(0,0,0,.3)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-flex{display:inline-flex}.grid{display:grid}.flex-1,.sidebar-spacer{flex:1}.flex-1-min-0{flex:1;min-width:0}.shrink-0{flex-shrink:0}.flex-wrap{flex-wrap:wrap}.hstack{display:flex;align-items:center;gap:var(--sp-2)}.vstack{display:flex;flex-direction:column;gap:var(--sp-3)}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.self-end{align-self:flex-end}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-5{gap:var(--sp-5)}.gap-6{gap:var(--sp-6)}.gap-sm{gap:var(--sp-2)}.gap-md{gap:var(--sp-4)}.gap-lg{gap:var(--sp-6)}.w-full{width:100%}.w-currency{width:5rem}.min-w-0{min-width:0}.max-w-sm{max-width:var(--container-sm)}.max-w-md{max-width:var(--container-md)}.max-w-lg{max-width:var(--container-lg)}.max-w-xl{max-width:var(--container-xl)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.h-full{height:100%}.min-h-screen{min-height:100vh}.max-w-none{max-width:none}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mt-0{margin-top:0}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-5{margin-top:var(--sp-5)}.mt-6{margin-top:var(--sp-6)}.mt-8{margin-top:var(--sp-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--sp-1)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.mb-5{margin-bottom:var(--sp-5)}.mb-6{margin-bottom:var(--sp-6)}.mb-8{margin-bottom:var(--sp-8)}.ml-1{margin-left:var(--sp-1)}.ml-2{margin-left:var(--sp-2)}.ml-3{margin-left:var(--sp-3)}.ml-4{margin-left:var(--sp-4)}.ml-6{margin-left:var(--sp-6)}.mr-1{margin-right:var(--sp-1)}.mr-2{margin-right:var(--sp-2)}.p-0{padding:0}.p-1{padding:var(--sp-1)}.p-2{padding:var(--sp-2)}.p-3{padding:var(--sp-3)}.p-4{padding:var(--sp-4)}.p-6{padding:var(--sp-6)}.p-8{padding:var(--sp-8)}.p-content{padding:1rem 1.5rem}.px-1{padding-left:var(--sp-1);padding-right:var(--sp-1)}.px-2{padding-left:var(--sp-2);padding-right:var(--sp-2)}.px-3{padding-left:var(--sp-3);padding-right:var(--sp-3)}.px-4{padding-left:var(--sp-4);padding-right:var(--sp-4)}.px-6{padding-left:var(--sp-6);padding-right:var(--sp-6)}.py-1{padding-top:var(--sp-1);padding-bottom:var(--sp-1)}.py-2{padding-top:var(--sp-2);padding-bottom:var(--sp-2)}.py-3{padding-top:var(--sp-3);padding-bottom:var(--sp-3)}.py-4{padding-top:var(--sp-4);padding-bottom:var(--sp-4)}.pt-1{padding-top:var(--sp-1)}.pt-2{padding-top:var(--sp-2)}.pt-3{padding-top:var(--sp-3)}.pt-4{padding-top:var(--sp-4)}.pt-6{padding-top:var(--sp-6)}.pb-1{padding-bottom:var(--sp-1)}.pb-2{padding-bottom:var(--sp-2)}.pb-3{padding-bottom:var(--sp-3)}.pb-4{padding-bottom:var(--sp-4)}.pb-safe{padding-bottom:env(safe-area-inset-bottom)}.pt-safe{padding-top:env(safe-area-inset-top)}.space-y-2>*+*{margin-top:var(--sp-2)}.space-y-3>*+*{margin-top:var(--sp-3)}.space-y-4>*+*{margin-top:var(--sp-4)}.space-y-6>*+*{margin-top:var(--sp-6)}.text-2xs{font-size:.625rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.font-mono{font-family:var(--font-mono)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration:underline}.no-underline{text-decoration:none}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-muted,.color-muted{color:var(--color-fg-muted)}.color-primary{color:var(--color-primary)}.color-primary-muted{color:color-mix(in oklch,var(--color-primary) 60%,transparent)}.color-success{color:var(--color-success)}.color-warning{color:var(--color-warning)}.color-error{color:var(--color-error)}.color-info{color:var(--color-info)}.amount-large{font-size:1.5rem;font-family:var(--font-mono);font-weight:700}.amount-secondary{font-size:1rem;font-weight:400;color:var(--color-fg-muted)}.amount-income{font-weight:500;color:var(--color-success)}.amount-warning{font-weight:500;color:var(--color-warning)}.text-overdue{color:var(--color-error);font-weight:500}.currency-stack{display:flex;flex-direction:column;align-items:flex-end;gap:0;font-variant-numeric:tabular-nums}.currency-line{white-space:nowrap;line-height:1.4}.bg-base{background:var(--color-bg)}.bg-secondary{background:var(--color-bg-secondary)}.bg-tertiary{background:var(--color-bg-tertiary)}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scroll-list{max-height:20rem;overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-80{opacity:.8}.border{border:1px solid var(--color-border)}.border-t{border-top:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-l{border-left:1px solid var(--color-border)}.border-r{border-right:1px solid var(--color-border)}.border-dashed{border-style:dashed}.rounded{border-radius:var(--radius)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-wait{cursor:wait}.pointer-events-none{pointer-events:none}.select-none{user-select:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.focus-ring:focus{outline:none;box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-primary)}.focus-ring:focus:not(:focus-visible){box-shadow:none}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-primary)}.focus-ring-inset:focus{outline:none;box-shadow:inset 0 0 0 2px var(--color-primary)}.focus-ring-inset:focus:not(:focus-visible){box-shadow:none}.focus-ring-inset:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-primary)}article.card{padding:var(--sp-4)}.text-hint{font-size:.875rem;color:var(--color-fg-muted)}.text-caption{font-size:.75rem;color:var(--color-fg-muted)}.page-title{font-weight:700;font-size:1.5rem}.mono-xs{font-family:var(--font-mono);font-size:.75rem}.settings-error{font-size:.6rem;color:var(--color-error)}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg)}.app-shell.monospace{font-family:var(--font-mono)}.app-layout{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--color-bg-secondary)}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto}.app-content{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;min-width:0;padding-bottom:8rem;padding-top:var(--sp-2)}.content-area{flex:1;padding:var(--sp-4);margin-bottom:4rem}.row{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--sp-4)}.sidebar-nav{display:none;flex-direction:column;gap:var(--sp-4);padding:var(--sp-4) var(--sp-3);padding-top:env(safe-area-inset-top,var(--sp-4));padding-bottom:env(safe-area-inset-bottom,var(--sp-4));flex-shrink:0;height:100vh;overflow:hidden;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);width:var(--sidebar-width)}.sidebar-nav[data-collapsed=true]{width:var(--sidebar-collapsed);padding-left:var(--sp-2);padding-right:var(--sp-2)}.sidebar-header{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2);text-decoration:none;color:inherit;transition:opacity var(--transition-fast)}.sidebar-header:hover{opacity:.8}.sidebar-logo{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-lg);background:var(--color-primary);color:#fff;flex-shrink:0}.sidebar-title{font-weight:600;color:var(--color-fg)}.sidebar-nav-list{display:flex;flex-direction:column;gap:.25rem;min-height:0;flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-footer{border-top:1px solid var(--color-border);padding-top:var(--sp-3);display:flex;align-items:center;justify-content:space-between;padding-left:var(--sp-2);padding-right:var(--sp-2)}.sidebar-version{font-size:.625rem;color:var(--color-fg-muted);opacity:.4}.sidebar-toggle-btn{padding:.375rem;border-radius:var(--radius-lg);color:var(--color-fg-muted);background:transparent;border:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.sidebar-toggle-btn:hover{background:var(--color-fg-10);color:var(--color-fg)}.sidebar-footer-actions{display:flex;align-items:center;gap:var(--sp-1)}.nav-section-header{padding:var(--sp-4) var(--sp-2) var(--sp-1)}.nav-section-header:first-child{padding-top:0}.nav-section-header span{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.075em;color:var(--color-fg-muted);opacity:.4}.nav-item-link{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-lg);transition:background-color var(--transition-fast),color var(--transition-fast);text-decoration:none;color:var(--color-fg-muted)}.nav-item-link:hover{background:var(--color-fg-10);color:var(--color-fg)}.nav-item-link.active{font-weight:600;color:var(--color-fg);background:var(--color-fg-10)}.nav-item-link .icon-md{flex-shrink:0}.nav-item-text{font-size:.875rem}.sidebar-nav .sidebar-expand-icon{display:none}.sidebar-nav[data-collapsed=true]{.sidebar-label,.nav-section-header,.nav-item-text,.sidebar-collapse-icon{display:none}.sidebar-expand-icon{display:block}.sidebar-header{justify-content:center;padding:0}.sidebar-footer{justify-content:center}.nav-item-link{justify-content:center;padding:var(--sp-2);position:relative}.nav-item-link:hover:after{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:.75rem;padding:.375rem .75rem;background:var(--color-fg);color:var(--color-bg);font-size:.75rem;font-weight:500;white-space:nowrap;border-radius:var(--radius);z-index:100;pointer-events:none}}.mobile-nav{position:fixed;bottom:0;width:100%;background:var(--color-bg-90);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--color-border);z-index:50;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav-inner{display:flex;justify-content:space-around;align-items:center;height:4rem;padding:0 var(--sp-2)}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:var(--sp-2);width:4rem;transition:all var(--transition-fast);text-decoration:none}.mobile-nav-icon{color:var(--color-fg-muted)}.mobile-nav-icon-active{border-radius:.75rem;background:var(--color-primary);padding:.25rem .75rem;box-shadow:var(--shadow-sm);color:#fff}.mobile-nav-label{font-size:.5625rem;font-weight:500;letter-spacing:.1em;color:var(--color-fg-muted)}.mobile-nav-label.active{font-weight:700;color:var(--color-fg)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:2.75rem;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary-95);position:sticky;top:0;z-index:40;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);flex-shrink:0}.page-header-title{font-size:.875rem;font-weight:600;letter-spacing:.025em;color:var(--color-fg);text-decoration:none;flex-shrink:0}.page-header-title:hover{opacity:.8}.page-header-selectors{display:none;align-items:center;gap:var(--sp-3);flex-shrink:0}.back-link{padding:.25rem;margin-left:-.5rem;border-radius:var(--radius);color:var(--color-fg);transition:background-color var(--transition-fast)}.back-link:hover{background:var(--color-bg-secondary)}.global-search-form{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--color-border-30);border-radius:var(--radius);transition:all var(--transition-fast)}.global-search-form:focus-within{background:var(--color-bg);box-shadow:0 0 0 2px var(--color-primary-20)}.global-search-form .global-search-icon{width:.875rem;height:.875rem;max-width:.875rem;max-height:.875rem;color:var(--color-fg-muted);flex-shrink:0}.global-search-input{border:none;background:transparent;font-size:.875rem;font-weight:500;color:var(--color-fg);width:3rem;transition:width var(--transition-fast);outline:none;padding:0;line-height:1}.global-search-input::placeholder{color:var(--color-fg-muted)}.global-search-input:focus{width:10rem}.section-header{padding-bottom:var(--sp-4)}.section-header h1{font-size:1.125rem;font-weight:600;line-height:1.5;margin:0}.section-header.with-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6)}.section-header .subtitle{font-size:.875rem;color:var(--color-fg-muted);margin:0}.section-title{font-size:.75rem;font-weight:700;letter-spacing:.025em;margin:0}.tab-strip,.filter-pills,.custom-command-tabs{display:flex;align-items:center;gap:2px;padding:2px;background:var(--color-border-30);border-radius:var(--radius);overflow-x:auto}.filter-pills{background:var(--color-bg-secondary);flex-shrink:0}.custom-command-tabs{padding:.125rem;gap:.125rem;margin-left:.5rem}.tab-item,.filter-pill,.custom-command-tab{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);font-size:.75rem;font-weight:600;letter-spacing:.025em;border-radius:calc(var(--radius) - 2px);color:var(--color-fg-muted);text-decoration:none;white-space:nowrap;transition:background-color var(--transition-fast),color var(--transition-fast);border:none;background:transparent;cursor:pointer}.filter-pill{font-weight:500}.tab-item:hover,.filter-pill:hover,.custom-command-tab:not(.active):hover{color:var(--color-fg);background:var(--color-bg-50)}.tab-item.active,.filter-pill.active,.custom-command-tab.active{color:var(--color-fg);background:var(--color-bg);box-shadow:var(--shadow-sm)}.filter-pill.active.bg-success{background:var(--color-success);color:#fff}.filter-pill.active.bg-warning{background:var(--color-warning);color:#fff}.filter-pill.active.bg-error{background:var(--color-error);color:#fff}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;border-radius:var(--radius-full)}.badge-primary{background:var(--color-primary-20);color:var(--color-primary)}.badge-success{background:var(--color-success-20);color:var(--color-success)}.badge-warning{background:var(--color-warning-20);color:var(--color-warning)}.badge-error{background:var(--color-error-20);color:var(--color-error)}.badge-muted{background:var(--color-bg-secondary);color:var(--color-fg-muted)}.badge-sm{padding:.125rem .375rem;font-size:.625rem;border-radius:var(--radius-sm)}.tag-overflow{font-size:.625rem;color:var(--color-fg-muted);opacity:.6}.tag-remove{background:none;border:none;padding:0;cursor:pointer;color:inherit;opacity:.6;transition:opacity var(--transition-fast)}.tag-remove:hover{opacity:1}.icon-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--sp-2);border-radius:var(--radius);background:var(--color-primary-10);color:var(--color-primary);cursor:pointer;border:none;transition:all var(--transition-fast);&:hover{background:var(--color-primary);color:#fff}&.muted{background:var(--color-bg-tertiary-50);color:var(--color-fg-muted);&:hover{background:var(--color-bg-tertiary-80);color:var(--color-fg)}}&.ghost{background:transparent;color:var(--color-fg-muted);&:hover{background:var(--color-bg-tertiary);color:var(--color-fg)}}}.icon-button-danger:hover{background:var(--color-error-20);color:var(--color-error)}button[data-variant=success],.button[data-variant=success]{background:var(--color-success);color:#fff;border-color:var(--color-success)}button[data-variant=success]:hover,.button[data-variant=success]:hover{background:color-mix(in oklch,var(--color-success) 85%,black)}button[data-variant=warning],.button[data-variant=warning]{background:var(--color-warning);color:#fff;border-color:var(--color-warning)}button[data-variant=warning]:hover,.button[data-variant=warning]:hover{background:color-mix(in oklch,var(--color-warning) 85%,black)}.form-field-group{padding:.75rem;background:var(--color-bg-secondary-50);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:.75rem}.form-input,.form-select,.form-textarea{width:100%;padding:.5rem .75rem;font-size:.875rem;background:var(--color-bg-secondary);border:none;border-radius:var(--radius);color:var(--color-fg)}.form-input,.form-textarea{margin-top:.25rem}.form-textarea{resize:none}.form-select{cursor:pointer}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary)}.form-checkbox,.form-radio{width:1rem;height:1rem;accent-color:var(--color-primary)}.form-checkbox{border-radius:var(--radius-sm);border:1px solid var(--color-border)}.radio-label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.radio{appearance:none;width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-radius:50%;cursor:pointer;transition:all var(--transition-fast);position:relative}.radio:checked{border-color:var(--color-primary)}.radio:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.5rem;height:.5rem;border-radius:50%;background:var(--color-primary)}.radio:focus{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-primary)}.radio-primary:checked{border-color:var(--color-primary)}.radio-primary:checked:after{background:var(--color-primary)}.checkbox{appearance:none;width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-radius:.25rem;cursor:pointer;transition:all var(--transition-fast);position:relative}.checkbox:checked{background:var(--color-primary);border-color:var(--color-primary)}.checkbox:checked:after{content:"";position:absolute;top:45%;left:50%;transform:translate(-50%,-50%) rotate(45deg);width:.3rem;height:.55rem;border:solid white;border-width:0 2px 2px 0}.checkbox:focus{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-primary)}.form-warning{padding:.75rem;background:var(--color-warning-20);border:1px solid var(--color-warning-30);border-radius:var(--radius);color:var(--color-warning);font-size:.875rem}.form-section{padding:var(--sp-4)}.field-label{font-size:.75rem;font-weight:600;letter-spacing:.025em;color:var(--color-fg-muted)}.readonly-value{padding:var(--sp-2) var(--sp-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem}.data-table{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg)}.data-table-header{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--color-bg-secondary);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-fg-muted)}.data-table-header-cell{display:flex;align-items:center;gap:var(--sp-1);background:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;min-width:0;text-align:left}.sort-column-btn{display:flex;align-items:center;gap:var(--sp-1);background:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;transition:color var(--transition-fast)}.sort-column-btn:hover,.sort-column-btn.active{color:var(--color-fg)}.data-table-header-cell.align-right{justify-content:flex-end}.data-table-header-cell.align-center{justify-content:center}.data-table-row{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--color-border-50);font-size:.875rem;text-decoration:none;color:inherit;transition:background-color var(--transition-fast);align-items:center}.data-table-row:hover{background:var(--color-bg-secondary-50)}.data-table-row.clickable{cursor:pointer}.data-table-row.clickable:hover{background:var(--color-bg-secondary)}.data-table-empty{padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--color-fg-muted)}.data-table-footer{margin-top:var(--sp-4)}.data-list{list-style:none;padding:0;margin:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg)}.data-list li{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border)}.data-list li:last-child{border-bottom:none}.data-list li strong{display:block;font-size:.875rem;font-weight:600;color:var(--color-fg);margin-bottom:.125rem}.data-list li span{font-size:.875rem;color:var(--color-fg-muted)}table tr.clickable{cursor:pointer}table tr.clickable:hover{background:var(--color-bg-secondary)}table .actions-cell{width:0;text-align:right;font-weight:600}.sort-column-btn{display:inline-flex;align-items:center;gap:.25rem;background:transparent;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;transition:color var(--transition-fast)}.clickable-row{cursor:pointer;transition:background-color var(--transition-fast);&:hover{background:var(--color-border-30)}&.selected{background:var(--color-border-40)}}.row-overdue{background:var(--color-error-5)}.row-former{opacity:.6;&:hover{opacity:.8}}.stat-card{border-radius:var(--radius-lg);background:var(--color-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.stat-card-label{font-size:.6875rem;font-weight:600;letter-spacing:.025em;color:var(--color-fg-muted)}.stat-card-value{font-size:1.5rem;font-weight:700;color:var(--color-fg);&.success{color:var(--color-success)}&.error{color:var(--color-error)}&.primary{color:var(--color-primary)}}.stat-card-subtitle{font-size:.75rem;color:var(--color-fg-muted);margin-top:var(--sp-1)}.stat-card-featured{border-radius:var(--radius-lg);background:linear-gradient(to right,color-mix(in oklch,var(--color-primary) 10%,var(--color-bg)),var(--color-primary-5));border:1px solid var(--color-primary-20)}.metrics-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}.alert-error,.alert-warning,.alert-success{margin-bottom:1rem;border-radius:var(--radius);padding:.75rem 1rem}.alert-error{border:1px solid var(--color-error-30);background:var(--color-error-10)}.alert-warning{border:1px solid var(--color-warning-30);background:var(--color-warning-10)}.alert-success{border:1px solid var(--color-success-30);background:var(--color-success-10)}.alert-success.fade-out{animation:alert-fade 3s ease-out forwards}@keyframes alert-fade{0%,60%{opacity:1}to{opacity:0;height:0;padding:0;margin:0;overflow:hidden}}.inline-success,.inline-error,.inline-warning,.inline-info{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:.875rem;animation:inline-fade 3s ease-out forwards}.inline-success{color:var(--color-success)}.inline-error{color:var(--color-error)}.inline-warning{color:var(--color-warning)}.inline-info{color:var(--color-primary)}@keyframes inline-fade{0%,70%{opacity:1}to{opacity:0}}.inline-notice{display:flex;align-items:center;gap:var(--sp-2);font-size:.75rem;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius)}.inline-notice.warning{background:var(--color-warning-10);color:var(--color-warning)}.inline-notice.error{background:var(--color-error-10);color:var(--color-error)}.inline-notice-link{text-decoration:underline;text-underline-offset:2px;opacity:.8}.inline-notice-link:hover{opacity:1}.connection-banner{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);background:var(--color-warning-10);color:var(--color-warning);font-size:.875rem;border-bottom:1px solid var(--color-warning-20)}.connection-banner.hidden{display:none}.alert-link{margin-top:.25rem;display:inline-flex;align-items:center;gap:.25rem;text-decoration:underline;text-underline-offset:2px}.error-message{padding:1rem;background:var(--color-error-10);border:1px solid var(--color-error-20);border-radius:var(--radius);color:var(--color-error)}.error-card-wrapper{padding:0 var(--sp-4)}.error-card{border:1px solid var(--color-border-30);background:var(--color-bg-tertiary-10);padding:var(--sp-8);margin-bottom:var(--sp-6)}.error-card h2{font-size:1.25rem;font-weight:700;color:var(--color-fg);margin:0 0 var(--sp-2)}.error-card .error-link{display:block;color:var(--color-fg);text-decoration:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:2px;margin-bottom:var(--sp-4);word-break:break-all;transition:color var(--transition-fast)}.error-card .error-link:hover{color:var(--color-primary)}.error-card .error-link small{display:block;font-size:.75rem;color:var(--color-fg-muted);margin-top:.25rem}.error-card .error-message{color:var(--color-fg-muted);margin-bottom:var(--sp-4)}.error-card .error-location{display:block;font-size:.75rem;color:var(--color-fg-muted);margin-bottom:var(--sp-4)}.error-card .settings-link{color:var(--color-fg);text-decoration:underline}.flash-group{display:flex;flex-direction:column}.flash-group [role=alert]{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);font-size:.875rem;border-bottom:1px solid;animation:inline-fade 5s ease-out forwards}.flash-group [role=alert] .hstack{gap:var(--sp-2)}.flash-group [role=alert] button{margin-left:auto;opacity:.6}.flash-group [role=alert] button:hover{opacity:1}.flash-group [data-variant=success]{background:var(--color-success-10);color:var(--color-success);border-color:var(--color-success-20)}.flash-group [data-variant=error]{background:var(--color-error-10);color:var(--color-error);border-color:var(--color-error-20)}.flash-group [data-variant=warning]{background:var(--color-warning-10);color:var(--color-warning);border-color:var(--color-warning-20)}.flash-group [role=alert]:not([data-variant]){background:var(--color-primary-10);color:var(--color-primary);border-color:var(--color-primary-20)}.theme-toggle{position:relative;display:flex;align-items:center;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg-secondary);padding:.25rem;box-shadow:var(--shadow-sm)}.theme-toggle-indicator{position:absolute;inset:.25rem 0;width:calc(100% / 3 - .125rem);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg);box-shadow:var(--shadow-sm);left:0;transition:left var(--transition)}[data-theme=light] .theme-toggle-indicator{left:calc(100% / 3)}[data-theme=dark] .theme-toggle-indicator{left:calc(100% * 2 / 3)}.theme-toggle-btn{display:flex;width:calc(100% / 3);align-items:center;justify-content:center;padding:var(--sp-2);background:transparent;border:none;cursor:pointer;color:var(--color-fg-muted);transition:color var(--transition-fast);position:relative;z-index:1}.theme-toggle-btn:hover{color:var(--color-fg)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:var(--color-bg)}.login-card-wrapper{width:100%;max-width:28rem}.login-card{padding:var(--sp-8)}.login-header{text-align:center;margin-bottom:var(--sp-8)}.login-logo{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;margin:0 auto var(--sp-4);border-radius:var(--radius-full);border:2px solid var(--color-border)}.login-footer{margin-top:var(--sp-6);text-align:center}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:var(--color-bg-secondary);border-radius:var(--radius);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-text{height:1em;border-radius:var(--radius-sm)}.skeleton-circle{border-radius:var(--radius-full)}.skeleton-button{height:2.25rem;min-width:5rem}.skeleton-row{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--color-border-50)}.skeleton-cell{height:1rem;background:var(--color-bg-secondary);border-radius:var(--radius-sm);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-row{&:nth-child(1) .skeleton-cell{animation-delay:0s}&:nth-child(2) .skeleton-cell{animation-delay:.1s}&:nth-child(3) .skeleton-cell{animation-delay:.2s}&:nth-child(4) .skeleton-cell{animation-delay:.3s}&:nth-child(5) .skeleton-cell{animation-delay:.4s}}.skeleton-stat-card{padding:var(--sp-4);border-radius:var(--radius-lg);background:var(--color-bg);border:1px solid var(--color-border);.skeleton-label{height:.625rem;width:40%;margin-bottom:var(--sp-2)}.skeleton-value{height:1.5rem;width:70%}}.empty-state{padding:var(--sp-8);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:16rem}.empty-state-icon{width:4rem;height:4rem;margin-bottom:var(--sp-4);color:var(--color-fg-muted);opacity:.4}.empty-state-title{font-size:1.125rem;font-weight:600;color:var(--color-fg);margin:0 0 var(--sp-2)}.empty-state-description{font-size:.875rem;color:var(--color-fg-muted);margin:0 0 var(--sp-4);max-width:24rem}.empty-state-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap;justify-content:center}.empty-state-illustrated{position:relative;background:linear-gradient(135deg,var(--color-bg-secondary-50) 0%,var(--color-bg) 50%,var(--color-bg-secondary-50) 100%);border-radius:var(--radius-lg);border:1px dashed var(--color-border)}.empty-state-illustrated:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,var(--color-primary-5) 0%,transparent 30%),radial-gradient(circle at 80% 20%,var(--color-success-5) 0%,transparent 30%);border-radius:inherit;pointer-events:none}.saved-indicator{display:inline-flex;align-items:center;gap:var(--sp-1);color:var(--color-success);font-size:.875rem;font-weight:500;opacity:0;animation:saved-fade 2s ease-out forwards}@keyframes saved-fade{0%{opacity:0;transform:translateY(4px)}10%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}.account-indicator{display:inline-flex;align-items:center;gap:var(--sp-2)}.account-indicator-icon{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--radius);flex-shrink:0}.account-indicator-icon.assets{background:var(--color-primary-10);color:var(--color-primary)}.account-indicator-icon.liabilities{background:var(--color-warning-10);color:var(--color-warning)}.account-indicator-icon.equity{background:var(--color-info-10);color:var(--color-info)}.account-indicator-icon.income{background:var(--color-success-10);color:var(--color-success)}.account-indicator-icon.expenses{background:var(--color-error-10);color:var(--color-error)}.account-indicator-label{font-size:.875rem;color:var(--color-fg)}.account-indicator-label.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-row{display:flex;gap:var(--sp-2);align-items:center;max-width:28rem}.settings-row+.settings-row{margin-top:var(--sp-1)}.settings-row-wide{max-width:none}.settings-row-label{font-family:var(--font-mono);font-size:.7rem;color:var(--color-fg-muted);width:7rem;flex-shrink:0;text-align:right}.settings-input{font-family:var(--font-mono);font-size:.75rem;padding:.2rem .4rem;height:1.5rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg)}.settings-input:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary)}.settings-input-grow{flex:1;min-width:0}.settings-btn{font-family:var(--font-mono);font-size:.7rem;height:1.5rem;min-height:0;padding:0 var(--sp-2);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-fg);transition:opacity var(--transition-fast)}.settings-btn-primary{background:var(--color-fg);color:var(--color-bg)}.settings-btn-primary:hover{opacity:.8}.settings-btn-outline{background:none;border:1px solid var(--color-border)}.settings-btn-icon{width:1.5rem;padding:0}.settings-hint{font-size:.6rem;color:var(--color-fg-muted)}.settings-alias-chip{display:inline-flex;align-items:center;padding:0 var(--sp-1);height:1.25rem;border-radius:var(--radius-sm);font-size:.625rem;background:var(--color-bg-secondary-50);border:1px solid var(--color-border-30);color:var(--color-fg-muted)}.settings-chip-remove{background:none;border:none;cursor:pointer;padding:0;color:var(--color-fg-muted);font-size:.7rem;line-height:1;transition:color var(--transition-fast)}.settings-chip-remove:hover{color:var(--color-error)}.settings-inline-add{font-family:var(--font-mono);font-size:.75rem;width:3.5rem;height:1.5rem;padding:0 var(--sp-1);text-align:center;text-transform:uppercase;background:var(--color-bg-secondary);border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg)}.settings-inline-add:focus{outline:none;border-style:solid;box-shadow:0 0 0 2px var(--color-primary)}.settings-account-tree{font-family:var(--font-mono);font-size:.75rem;line-height:1.6;background:var(--color-bg-secondary);border-radius:var(--radius);border:1px solid var(--color-border);padding:var(--sp-2) 0}.settings-account-tree-header{display:flex;align-items:center;padding:.15rem var(--sp-3);border-bottom:1px solid var(--color-border);margin-bottom:.15rem}.settings-account-tree-header span:first-child{font-weight:600;flex:1}.settings-account-tree-header span:last-child{font-size:.65rem;color:var(--color-fg-muted)}.settings-account-row{display:flex;align-items:center;padding:0 var(--sp-3)}.settings-account-row[data-editable=true]{cursor:pointer}.settings-tree-toggle{background:none;border:none;cursor:pointer;padding:0;width:1rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-fg-muted)}.settings-tree-spacer{width:1rem;display:inline-block;flex-shrink:0}.settings-delete-btn{background:none;border:none;cursor:pointer;padding:0 .15rem;opacity:.4;transition:opacity var(--transition-fast);flex-shrink:0;color:inherit}.settings-delete-btn:hover{opacity:.8}.settings-add-row{font-family:var(--font-mono);font-size:.75rem;background:var(--color-bg-secondary);border:1px dashed var(--color-border);border-radius:var(--radius);margin-top:var(--sp-1);padding:.35rem var(--sp-3)}.settings-add-row .settings-input{border:1px solid var(--color-border);background:var(--color-bg)}.settings-file-label{font-family:var(--font-mono);font-size:.65rem;cursor:pointer;display:inline-flex;align-items:center;gap:var(--sp-1);padding:.1rem .4rem;height:1.3rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-fg-muted);transition:border-color var(--transition-fast)}.settings-file-label:hover{border-color:var(--color-border-hover)}.settings-file-label input[type=file],.settings-file-label [data-phx-upload-ref]{display:none}.settings-section-heading{font-size:.875rem;font-weight:700;margin:0}.settings-section-heading-sm{font-size:.8rem;font-weight:700;margin:0}@media (prefers-reduced-motion: reduce){.skeleton,.skeleton-cell{animation:none;opacity:.6}.alert-success.fade-out,.inline-success{animation:none}.saved-indicator{animation:none;opacity:1}.ocr-loading-spinner{animation:none;border-top-color:var(--color-primary)}}.modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-backdrop-overlay{position:fixed;inset:0;z-index:-1;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-dialog{position:relative;z-index:1;background:var(--color-bg);border-radius:var(--border-radius);box-shadow:0 20px 60px #0003;width:100%;max-width:28rem;max-height:90vh;overflow-y:auto}.modal-dialog.max-w-2xl{max-width:42rem}.modal-dialog.max-w-lg{max-width:32rem}.modal-dialog.max-w-3xl{max-width:48rem}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 0}.modal-title{font-size:1.125rem;font-weight:600;margin:0}.modal-close{margin:-.25rem -.5rem -.25rem 0}.modal-body{padding:1rem 1.5rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1.5rem 1.25rem}[data-theme=dark] .modal-dialog{box-shadow:0 20px 60px #00000080}.icon-xs{width:.75rem;height:.75rem}.icon-sm{width:1rem;height:1rem}.icon-md{width:1.25rem;height:1.25rem}.icon-lg{width:1.5rem;height:1.5rem}.icon-xl{width:2rem;height:2rem}.icon-2xl{width:3rem;height:3rem}.icon-huge{width:120px;height:120px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{transform:translateY(.5rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.spinner-xs,.spinner-sm,.spinner-md,.spinner-lg{border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin 1s linear infinite}.spinner-xs{width:.5rem;height:.5rem}.spinner-sm{width:.75rem;height:.75rem}.spinner-md{width:1.25rem;height:1.25rem}.spinner-lg{width:2rem;height:2rem;border-width:3px}.spin,.animate-spin{animation:spin 1s linear infinite}@media (prefers-reduced-motion: reduce){.spin,.animate-spin{animation:none}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.amount{font-family:var(--font-mono);text-align:right}.amount-nowrap{font-family:var(--font-mono);text-align:right;white-space:nowrap}.panel{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--sp-4)}.panel-sm{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--sp-3)}.detail-layout{flex:1;display:flex;overflow:hidden}.detail-sidebar{width:var(--detail-sidebar);border-right:1px solid var(--color-border);padding:1.5rem;overflow-y:auto;flex-shrink:0}.detail-sidebar-wide{width:auto;flex:1;max-width:var(--detail-sidebar-wide)}.detail-preview{flex:1;background:var(--color-bg-secondary);padding:1.5rem;overflow-y:auto}.detail-container{max-width:var(--container-xl);margin:0 auto}.detail-section{margin-bottom:var(--sp-6)}.detail-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-4)}.detail-section-title{font-size:.875rem;font-weight:600;letter-spacing:.025em;color:var(--color-fg-muted);margin:0}.detail-field{margin-bottom:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-1)}.detail-field-label{font-size:.625rem;font-weight:600;letter-spacing:.025em;color:var(--color-fg-muted);margin-bottom:var(--sp-1)}.detail-field-value{font-size:.875rem;color:var(--color-fg)}.detail-field dt{font-size:.75rem;letter-spacing:.025em;color:var(--color-fg-muted)}.detail-field dd{font-size:.875rem;color:var(--color-fg);margin:0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-4)}.detail-grid.cols-4{grid-template-columns:repeat(2,1fr)}.transaction-item{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3);border-radius:var(--radius);border:1px solid var(--color-border-50);text-decoration:none;color:inherit;transition:background-color var(--transition-fast)}.transaction-item:hover{background:var(--color-bg-secondary)}.transaction-icon{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-primary-10);display:flex;align-items:center;justify-content:center;flex-shrink:0}.transaction-details{flex:1;min-width:0;margin-left:var(--sp-3)}.transaction-payee{font-weight:500;font-size:.875rem;color:var(--color-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-meta{font-size:.75rem;color:var(--color-fg-muted)}.transaction-amount{font-size:.875rem;font-family:var(--font-mono);font-weight:600;color:var(--color-fg)}.attachment-link,.attachment-empty,.attachment-warning{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius);font-size:.875rem;transition:background-color var(--transition-fast),color var(--transition-fast);width:100%;text-align:left;border:none;cursor:pointer;text-decoration:none}.attachment-link{background:var(--color-success-20);color:var(--color-success)}.attachment-link:hover{background:var(--color-success-30)}.attachment-link.active{background:var(--color-primary-20);color:var(--color-primary)}.attachment-empty{display:inline-flex;background:var(--color-bg-secondary);color:var(--color-fg-muted);cursor:default}.attachment-warning{display:inline-flex;background:var(--color-warning-20);color:var(--color-warning);cursor:default}.attachment-row,.posting-row{display:flex;gap:var(--sp-3);align-items:flex-start;justify-content:space-between;padding:var(--sp-3);background:var(--color-bg-secondary);border-radius:var(--radius)}.posting-row{padding:var(--sp-2) var(--sp-3)}.current-attachment-item,.staged-file-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.current-attachment-info,.staged-file-info{display:flex;align-items:center;gap:.75rem;min-width:0}.current-attachment-details{min-width:0}.current-attachment-name,.staged-file-name{font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.current-attachment-view{font-size:.625rem;color:var(--color-primary);text-decoration:none}.current-attachment-view:hover{text-decoration:underline}.current-attachment-remove{padding:.375rem;color:var(--color-fg-muted);background:transparent;border:none;border-radius:var(--radius);cursor:pointer;flex-shrink:0;transition:background-color var(--transition-fast),color var(--transition-fast)}.current-attachment-remove:hover{background:var(--color-error-20);color:var(--color-error)}.settings-with-sidebar{display:flex;gap:0;min-height:0}.settings-sidebar-nav{width:14rem;flex-shrink:0;border-right:1px solid var(--color-border);background:var(--color-bg-secondary);overflow-y:auto;padding:var(--sp-4) 0}.settings-sidebar-category{padding:0 var(--sp-2);margin-bottom:var(--sp-3)}.settings-sidebar-category:last-child{margin-bottom:0}.settings-sidebar-category-header{padding:var(--sp-2) var(--sp-3);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.075em;color:var(--color-fg-muted);opacity:.6;margin:0}.settings-sidebar-items{list-style:none;margin:0;padding:0}.settings-sidebar-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);font-size:.8125rem;color:var(--color-fg-muted);text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast);outline:none}.settings-sidebar-item:hover{background:var(--color-fg-10);color:var(--color-fg)}.settings-sidebar-item:focus-visible{box-shadow:0 0 0 2px var(--color-primary)}.settings-sidebar-item.active{background:var(--color-primary-10);color:var(--color-primary);font-weight:600}.settings-sidebar-item .icon-sm{flex-shrink:0;opacity:.8}.settings-sidebar-item.active .icon-sm{opacity:1}.settings-sidebar-content{flex:1;min-width:0;overflow-y:auto;padding:var(--sp-4) var(--sp-4) var(--sp-4) var(--sp-3)}.settings-tab-heading:focus{outline:none}@media (max-width: 768px){.settings-with-sidebar{flex-direction:column}.settings-sidebar-nav{display:none}.settings-sidebar-content{width:100%;padding-bottom:5rem}}.settings-mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100}@media (max-width: 768px){.settings-with-sidebar .settings-mobile-nav{display:block}}.settings-mobile-pill{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);width:100%;padding:var(--sp-2) var(--sp-4);padding-bottom:calc(var(--sp-2) + env(safe-area-inset-bottom));background:var(--color-bg);border:none;border-top:1px solid var(--color-border);cursor:pointer;transition:background-color var(--transition-fast)}.settings-mobile-pill:hover{background:var(--color-bg-secondary)}.settings-mobile-pill-drag{width:2rem;height:.25rem;border-radius:var(--radius-full);background:var(--color-border)}.settings-mobile-pill-label{font-size:.75rem;font-weight:600;color:var(--color-fg)}.settings-mobile-pill-icon{color:var(--color-fg-muted);transition:transform var(--transition)}.settings-mobile-nav[data-expanded=true] .settings-mobile-pill{display:none}.settings-mobile-nav[data-expanded=true] .settings-mobile-pill-icon{transform:rotate(180deg)}.settings-mobile-sheet{position:fixed;bottom:0;left:0;right:0;max-height:70vh;background:var(--color-bg);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);box-shadow:0 -4px 20px #00000026;transform:translateY(100%);transition:transform var(--transition);overflow:hidden;display:flex;flex-direction:column}.settings-mobile-nav[data-expanded=true] .settings-mobile-sheet{transform:translateY(0)}.settings-mobile-sheet-header{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border);cursor:grab;touch-action:pan-y}.settings-mobile-sheet-drag{width:2.5rem;height:.25rem;border-radius:var(--radius-full);background:var(--color-border)}.settings-mobile-sheet-title{font-size:.875rem;font-weight:600;color:var(--color-fg)}.settings-mobile-sheet-nav{flex:1;overflow-y:auto;padding:var(--sp-2) 0;padding-bottom:calc(var(--sp-4) + env(safe-area-inset-bottom))}.settings-mobile-category{padding:var(--sp-2) var(--sp-4)}.settings-mobile-category-header{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.075em;color:var(--color-fg-muted);opacity:.6;margin:0 0 var(--sp-2);padding:0 var(--sp-2)}.settings-mobile-items{list-style:none;margin:0;padding:0}.settings-mobile-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3);border-radius:var(--radius);font-size:.9375rem;color:var(--color-fg-muted);text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast)}.settings-mobile-item:hover,.settings-mobile-item:active{background:var(--color-fg-10);color:var(--color-fg)}.settings-mobile-item.active{background:var(--color-primary-10);color:var(--color-primary);font-weight:600}.settings-mobile-backdrop{position:fixed;inset:0;background:#0006;opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition);z-index:-1}.settings-mobile-nav[data-expanded=true] .settings-mobile-backdrop{opacity:1;visibility:visible}.filter-bar,.advanced-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.advanced-filters{padding:.5rem 1rem;background:var(--color-bg-50);gap:.75rem}.advanced-filters .filter-label{display:inline;margin-bottom:0}.advanced-filters .hstack{flex-wrap:nowrap}.filter-bar-search{width:100%;order:1}.filter-bar-filters{display:flex;align-items:center;gap:var(--sp-3);overflow-x:auto;order:2}.filter-bar-actions{margin-left:auto;order:3}.filter-select,.grouping-select,.date-input{padding:var(--sp-2) var(--sp-3);font-size:.875rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-fg);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.filter-select:focus,.grouping-select:focus,.date-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-20)}.filter-select:hover{background:var(--color-bg-secondary)}.grouping-select{padding:.375rem .5rem;font-size:.75rem;font-weight:500}.date-input{padding:.25rem .5rem;font-size:.75rem}.advanced-filters .button.date-toggle,.advanced-filters button.date-toggle{padding:.25rem .5rem;font-size:.75rem;line-height:normal}.clear-filters-btn{font-size:.75rem;color:var(--color-fg-muted);background:transparent;border:none;padding:var(--sp-1) var(--sp-2);cursor:pointer;transition:color var(--transition-fast)}.clear-filters-btn:hover{color:var(--color-fg)}.filter-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;font-size:.625rem;font-weight:700;border-radius:var(--radius-full);background:var(--color-primary);color:#fff}.compact-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-2) var(--sp-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius)}.compact-filter-item,.compact-filter-item form,.compact-filter-date,.compact-filter-dates{display:flex;align-items:center;gap:var(--sp-2)}.compact-filter-input,.compact-filter-select{padding:var(--sp-1) var(--sp-2);font-size:.75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-fg)}.compact-filter-input:focus,.compact-filter-select:focus{outline:none;border-color:var(--color-primary)}.compact-filter-input[type=date]{width:8.5rem}.compact-filter-separator{color:var(--color-fg-muted);font-size:.75rem}.compact-filter-label{font-size:.75rem;font-weight:500;color:var(--color-fg-muted);white-space:nowrap}.compact-filter-btn{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);font-size:.75rem;font-weight:500;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer}.compact-filter-btn:hover{background:var(--color-primary-hover)}.compact-filter-checkbox{display:flex;align-items:center;gap:var(--sp-2);font-size:.75rem;color:var(--color-fg);cursor:pointer;margin-left:auto}.compact-filter-checkbox input{cursor:pointer}.filter-label{display:block;margin-bottom:.25rem;padding-left:.125rem;font-size:.625rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-fg-muted);font-weight:600}.filter-summary{font-size:.75rem;color:var(--color-fg-muted);margin-left:auto}.search-input-wrapper{position:relative}.search-input-icon{position:absolute;left:var(--sp-3);top:50%;transform:translateY(-50%);color:var(--color-fg-muted);pointer-events:none}.search-input{width:100%;padding:var(--sp-2) var(--sp-3) var(--sp-2) 2.25rem;font-size:.875rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-20)}.search-input::placeholder{color:var(--color-fg-muted)}.role-selector,.project-switcher,.grouping-selector,.language-selector{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--color-border-30);border-radius:var(--radius)}.grouping-selector{gap:.25rem;background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:.25rem}.language-selector{background:var(--color-bg-secondary);padding:.375rem var(--sp-3)}.role-selector select,.language-selector select{background:transparent;border:none;font-size:.875rem;font-weight:500;color:var(--color-fg);outline:none}.role-selector select{cursor:default}.language-selector select{cursor:pointer}.project-switcher{text-decoration:none;color:var(--color-fg);transition:background-color var(--transition-fast)}.project-switcher:hover{background:var(--color-border)}.project-switcher span{font-size:.875rem;font-weight:500}.grouping-label{padding:0 .5rem;font-size:.75rem;color:var(--color-fg-muted)}.language-selector-icon{color:var(--color-fg-muted)}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-4);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary);text-align:center;transition:border-color var(--transition),background var(--transition);cursor:pointer}.upload-dropzone:hover{border-color:var(--color-primary);background:var(--color-bg-tertiary)}.upload-dropzone-label{cursor:pointer;text-align:center;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-dropzone-icon{width:4rem;height:4rem;margin:0 auto 1rem;color:var(--color-fg-muted);opacity:.4}.upload-dropzone-icon-lg{width:3rem;height:3rem;margin:0 auto .75rem;color:var(--color-fg-muted);opacity:.4}.upload-dropzone-tall{min-height:200px}.upload-dropzone.upload-dropzone-compact{padding:var(--sp-2)}.upload-dropzone.upload-dropzone-compact .upload-dropzone-label{padding:.75rem;gap:.25rem}.upload-dropzone.upload-dropzone-compact .upload-dropzone-icon{width:2rem;height:2rem;margin:0 auto .5rem}.upload-dropzone.upload-dropzone-compact .upload-dropzone-title{font-size:.875rem}.upload-dropzone.upload-dropzone-compact .upload-dropzone-subtitle{display:none}.upload-dropzone.upload-dropzone-compact .upload-dropzone-hint{margin-top:.5rem}.upload-dropzone-title{font-size:1.125rem;color:var(--color-fg-muted);font-weight:500}.upload-dropzone-subtitle,.upload-dropzone-hint{font-size:.875rem;color:var(--color-fg-muted);opacity:.6;margin-top:.25rem}.upload-dropzone-hint{font-size:.75rem;margin-top:1rem}.upload-entry{padding:var(--sp-1) var(--sp-2);background:var(--color-bg-secondary);border-radius:var(--radius-sm);font-size:.75rem;margin-top:var(--sp-3)}.preview-container{height:100%;display:flex;flex-direction:column}.preview-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--color-primary);text-decoration:none}.preview-link:hover{text-decoration:underline}.preview-frame{flex:1;background:var(--color-bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}.preview-iframe,.pdf-preview iframe,.pdf-viewer-frame iframe,.pdf-preview-iframe-fullscreen{width:100%;height:100%;border:none}.preview-image-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1rem}.preview-image{max-width:100%;max-height:100%;object-fit:contain}.preview-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-fg-muted);opacity:.6}.preview-empty-icon{width:6rem;height:6rem;margin-bottom:1rem}.preview-empty-title{font-size:1.125rem}.preview-empty-subtitle{font-size:.875rem;margin-top:.25rem}.pdf-preview{background:var(--color-bg-secondary);border-radius:var(--radius-lg);overflow:hidden}.pdf-preview iframe{height:600px}.pdf-preview-fullscreen{height:100%;display:flex;align-items:center;justify-content:center}.pdf-preview-iframe-fullscreen{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.pdf-viewer-card{padding:var(--sp-4)}.pdf-viewer-frame{width:100%;height:720px;overflow:hidden;border-radius:var(--radius);border:1px solid var(--color-border)}.ocr-fields{display:flex;flex-direction:column;gap:var(--sp-3)}.ocr-field{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) var(--sp-3);background:var(--color-bg-secondary);border-radius:var(--radius)}.ocr-field-label{font-size:.75rem;color:var(--color-fg-muted);letter-spacing:.025em}.ocr-field-value{font-size:.875rem;color:var(--color-fg);text-align:right}.ocr-field-select{display:flex;flex-direction:column;gap:var(--sp-1)}.ocr-field-select .ocr-field-label{margin-bottom:var(--sp-1)}.ocr-field-select select,.ocr-field-select input{width:100%;padding:var(--sp-2);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius);font-size:.875rem;color:var(--color-fg)}.ocr-field-select select:focus,.ocr-field-select input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-20)}.ocr-field-select select option{padding:var(--sp-2)}.ocr-field-select .w-auto{width:auto;min-width:100px}.ocr-raw-text{margin-top:var(--sp-2)}.ocr-raw-summary{cursor:pointer;font-size:.75rem;color:var(--color-fg-muted);display:flex;align-items:center;gap:.25rem;padding:var(--sp-1) 0}.ocr-raw-summary:hover{color:var(--color-fg)}.ocr-raw-content{margin-top:var(--sp-2);padding:var(--sp-3);background:var(--color-bg-tertiary);border-radius:var(--radius);font-size:.7rem;line-height:1.4;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;color:var(--color-fg-muted)}.ocr-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-8);color:var(--color-fg-muted)}.ocr-loading-spinner{width:2rem;height:2rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--sp-3)}.ocr-preview{border-top:1px solid var(--color-border);padding-top:var(--sp-4)}.ocr-preview-frame{background:var(--color-bg-tertiary);border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border)}.ocr-preview-iframe{width:100%;height:400px;border:none}.ocr-preview-image{width:100%;height:auto;max-height:400px;object-fit:contain;display:block}.ocr-preview-pdf-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-8)}.balance-content,.files-content{padding:0 var(--sp-4)}.balance-tree{font-family:var(--font-mono)}.balance-section-header{display:flex;justify-content:space-between;align-items:flex-end;padding:var(--sp-2);cursor:pointer}.balance-section-grid,.balance-tree-grid{display:grid;align-items:center;gap:.75rem;width:100%}.balance-section-row{display:flex;align-items:flex-end;justify-content:space-between;width:100%}.balance-section-title{font-weight:700;color:var(--color-fg)}.balance-chevron{color:var(--color-fg-muted);transition:transform var(--transition-fast)}.balance-chevron.collapsed{transform:rotate(-90deg)}.balance-tree-line{position:relative;padding-left:1rem;margin-left:.25rem}.balance-tree-line:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background-color:var(--color-border)}.balance-amount{font-weight:700;color:var(--color-fg);text-align:right;min-width:5rem}.balance-tree-node{padding:.375rem .5rem;cursor:pointer;color:var(--color-fg-muted);&.highlighted{color:var(--color-fg)}&:hover{background:var(--color-bg-secondary);border-radius:var(--radius-sm)}}.balance-tree-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%}.balance-tree-label{display:flex;align-items:center;gap:.5rem;min-width:0}.balance-tree-link{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;text-decoration:none;color:inherit}.balance-tree-link:hover{text-decoration:underline}.balance-tree-name{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.balance-tree-value{font-size:.75rem;font-variant-numeric:tabular-nums;text-align:right;min-width:5rem;color:inherit;text-decoration:none}.balance-tree-value:hover{text-decoration:underline}.balance-tree-maximized{position:fixed;inset:var(--sp-4);z-index:50;overflow:auto}.leader-dots{flex-grow:1;border-bottom:1px dotted var(--color-border);margin:0 6px;position:relative;top:-4px}.tree-toggle{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;border-radius:var(--radius-sm);background:transparent;border:none;cursor:pointer;padding:0;flex-shrink:0;transition:background-color var(--transition-fast)}.tree-toggle:hover{background:var(--color-border-40)}.tree-toggle .rotated{transform:rotate(-90deg)}.tree-toggle-spacer{width:1rem;height:1rem;flex-shrink:0}.balance-report-section{margin-bottom:2rem}.balance-report-header{border-bottom:1px solid var(--color-border);padding-bottom:.5rem;margin-bottom:.75rem;padding-left:.25rem}.balance-report-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.balance-report-title{display:flex;flex-direction:column;gap:.125rem}.balance-report-title h3{font-size:.75rem;font-weight:700;color:var(--color-fg);letter-spacing:.1em}.balance-report-date-range{font-size:.625rem;color:var(--color-fg-muted)}.balance-report-content{font-size:.875rem;font-family:var(--font-mono);display:flex;flex-direction:column;gap:.125rem;user-select:none}.balance-total-row,.balance-total-row-grid{margin-top:1.5rem;padding-top:1rem;border-top:1px dashed var(--color-border);padding-left:.5rem;padding-right:.5rem}.balance-total-row{display:flex;justify-content:space-between;align-items:center}.balance-total-row-grid{display:grid;align-items:center;gap:.75rem;width:100%}.balance-total-label{font-weight:700;font-size:.875rem;letter-spacing:.05em;color:var(--color-fg)}.balance-total-value{font-weight:700;font-size:1.125rem;color:var(--color-fg);&.positive{color:var(--color-success)}&.negative{color:var(--color-error)}}.balance-currency-totals{margin-top:1.5rem;padding-top:1rem;border-top:1px dashed var(--color-border);padding-left:.5rem;padding-right:.5rem}.balance-currency-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.balance-currency-label{font-size:.75rem;font-weight:500;color:var(--color-fg-muted);letter-spacing:.05em;text-transform:uppercase}.balance-currency-value{font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--color-fg);&.negative{color:var(--color-error)}}.profit-loss-summary{background:var(--color-bg-secondary)}.profit-loss-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--sp-4);margin-bottom:var(--sp-4)}.profit-loss-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--sp-3)}.profit-loss-title{display:flex;flex-direction:column;gap:.125rem}.profit-loss-date-range{font-size:.75rem;color:var(--color-fg-muted)}.profit-loss-main{display:flex;align-items:center;gap:var(--sp-3)}.profit-loss-value{font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums;margin:0;&.positive{color:var(--color-success)}&.negative{color:var(--color-error)}}.profit-loss-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius);font-size:.75rem;font-weight:600;&.positive{background:var(--color-success-10);color:var(--color-success)}&.negative{background:var(--color-error-10);color:var(--color-error)}}.profit-loss-section{margin-top:0}.pl-tree-header{display:flex;justify-content:space-between;align-items:flex-end;padding:var(--sp-2);border-radius:var(--radius);transition:background-color var(--transition-fast)}.pl-tree-header.pl-income{background:var(--color-success-10);border:1px solid var(--color-success-20);color:var(--color-success)}.pl-tree-header.pl-expense{background:var(--color-error-10);border:1px solid var(--color-error-20);color:var(--color-error)}.pl-income-row,.pl-expense-row{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition-fast);gap:var(--sp-3)}.pl-income-row{color:color-mix(in oklch,var(--color-success) 80%,var(--color-fg))}.pl-expense-row{color:color-mix(in oklch,var(--color-error) 80%,var(--color-fg))}.pl-income-row:hover,.pl-expense-row:hover{background:var(--color-bg-secondary)}.chart-container{overflow-x:auto}.chart-bars{display:flex;align-items:flex-end;gap:var(--sp-2);height:12rem;border-bottom:1px solid var(--color-border);border-left:1px solid var(--color-border);padding:var(--sp-4);min-width:600px}.chart-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--sp-1)}.chart-bar-pair{width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px;height:10rem}.chart-bar{width:45%;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:opacity var(--transition-fast)}.chart-bar:hover{opacity:.8}.chart-bar.income,.chart-legend-dot.income{background:var(--color-success)}.chart-bar.expense,.chart-legend-dot.expense{background:var(--color-error)}.chart-bar-label{font-size:.625rem;color:var(--color-fg-muted);text-align:center}.chart-legend{display:flex;align-items:center;justify-content:center;gap:var(--sp-4);margin-top:var(--sp-3)}.chart-legend-item{display:flex;align-items:center;gap:var(--sp-2)}.chart-legend-dot{width:.75rem;height:.75rem;border-radius:var(--radius-sm)}.git-history-layout{display:grid;grid-template-columns:minmax(320px,1fr) 1.5fr;gap:var(--sp-4);height:calc(100vh - 8rem);padding:var(--sp-4)}.git-panel{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);overflow:hidden;min-height:0}.git-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border);flex-shrink:0}.git-panel-header h3{margin:0}.git-panel-footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--color-border);flex-shrink:0}.git-commit-scroll{flex:1 1 0;overflow-y:auto;padding:var(--sp-2) 0}.git-diff-scroll{flex:1 1 0;overflow-y:auto;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-4)}.git-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-8)}.commit-entry{display:flex;align-items:flex-start;gap:var(--sp-3);width:100%;text-align:left;padding:var(--sp-2) var(--sp-4);background:transparent;border:none;border-left:2px solid var(--color-border);margin-left:var(--sp-6);cursor:pointer;transition:background-color var(--transition-fast);position:relative}.commit-entry:hover{background:var(--color-bg-secondary)}.commit-entry.selected{background:var(--color-primary-10);border-left-color:var(--color-primary)}.commit-indicator{position:absolute;left:-6px;top:var(--sp-3);width:9px;height:9px;border-radius:50%;background:var(--color-border);border:2px solid var(--color-bg);flex-shrink:0}.commit-entry.selected .commit-indicator{background:var(--color-primary)}.commit-entry:hover .commit-indicator{background:var(--color-fg-muted)}.commit-body{flex:1;min-width:0}.commit-top-row{display:flex;align-items:baseline;gap:var(--sp-2)}.commit-hash{font-family:var(--font-mono);font-size:.7rem;padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-fg-muted);white-space:nowrap;flex-shrink:0}.commit-message{font-weight:600;color:var(--color-fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-meta{font-size:.75rem;color:var(--color-fg-muted);margin-top:2px}.commit-meta-sep{margin:0 2px;opacity:.6}.diff-stats-bar{display:flex;gap:var(--sp-4);font-size:.75rem;padding:var(--sp-2) var(--sp-4);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0}.diff-file{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.diff-file-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.diff-content{font-family:var(--font-mono);font-size:.75rem;overflow-x:auto;background:var(--color-bg)}.diff-content pre{margin:0}.diff-content code{background:transparent;padding:0}.diff-line-added{background:var(--color-success-10);color:var(--color-success);padding:0 var(--sp-3)}.diff-line-removed{background:var(--color-error-10);color:var(--color-error);padding:0 var(--sp-3)}.diff-line-hunk{background:var(--color-info-10);color:var(--color-info);font-weight:600;padding:var(--sp-1) var(--sp-3)}.diff-line-header{background:var(--color-bg-secondary);color:var(--color-fg);font-weight:600;padding:var(--sp-1) var(--sp-3)}.diff-line-unchanged{color:var(--color-fg-muted);padding:0 var(--sp-3)}.diff-added{color:var(--color-success);font-weight:600}.diff-removed{color:var(--color-error);font-weight:600}.git-status-layout{width:100%}.git-branch-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-4);border:1px solid var(--color-border-30);border-radius:var(--radius);background:var(--color-bg-tertiary-10)}.git-status-panels{display:grid;grid-template-columns:1fr 20rem;gap:var(--sp-4);align-items:start}@media (max-width: 900px){.git-status-panels{grid-template-columns:1fr}}.git-status-section{border:1px solid var(--color-border-30);border-radius:var(--radius);overflow:hidden}.git-status-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3);background:var(--color-bg-tertiary-10);border-bottom:1px solid var(--color-border-30)}.git-status-empty-hint{padding:var(--sp-3) var(--sp-4);text-align:center}.git-status-file-list{display:flex;flex-direction:column}.git-status-file-entry{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-bottom:1px solid var(--color-border-10);transition:background-color var(--transition-fast)}.git-status-file-entry:last-child{border-bottom:none}.git-status-file-entry:hover{background:var(--color-bg-secondary)}.git-status-badge{font-size:.7rem;font-weight:700;font-family:var(--font-mono);width:1.2rem;text-align:center;flex-shrink:0}.git-status-path{font-size:.8rem;font-family:var(--font-mono);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-action-link{font-size:.75rem;font-weight:600;background:none;border:none;cursor:pointer;padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;transition:all var(--transition-fast)}.git-action-stage{color:var(--color-success)}.git-action-stage:hover{background:var(--color-success-10, rgba(0,180,0,.08))}.git-action-unstage{color:var(--color-fg-muted)}.git-action-unstage:hover{color:var(--color-error);background:var(--color-error-10, rgba(220,0,0,.08))}.git-commit-form-panel{border:1px solid var(--color-border-30);border-radius:var(--radius);overflow:hidden;position:sticky;top:var(--sp-4)}.git-commit-form{padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3)}.git-commit-textarea{width:100%;resize:vertical;font-family:var(--font-mono);font-size:.8rem;padding:var(--sp-2);border:1px solid var(--color-border-30);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-fg);min-height:5rem}.git-commit-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-10)}@media (max-width: 768px){.git-history-layout{grid-template-columns:1fr;height:auto}.git-commit-scroll{max-height:50vh}.git-diff-scroll{max-height:70vh}.commit-entry{margin-left:var(--sp-4)}}.files-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}.files-panel{border:1px solid var(--color-border-30);border-radius:var(--radius);padding:var(--sp-4);background:var(--color-bg-tertiary-10)}.files-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.files-panel-title{font-size:.875rem;font-weight:600;color:var(--color-fg)}.files-panel-actions{display:flex;align-items:center;gap:.25rem}.files-breadcrumbs{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:1rem}.files-breadcrumb-link{color:var(--color-fg-muted);background:transparent;border:none;padding:0;cursor:pointer;transition:color var(--transition-fast)}.files-breadcrumb-link:hover{color:var(--color-fg)}.files-breadcrumb-current{color:var(--color-fg);font-weight:600}.files-breadcrumb-separator{color:var(--color-fg-muted)}.files-empty-state{color:var(--color-fg-muted);font-size:.875rem}.new-item-form{margin-bottom:.75rem;padding:.5rem;background:var(--color-bg-secondary);border-radius:var(--radius)}.new-item-form-inner{display:flex;align-items:center;gap:.5rem}.new-item-input{flex:1;height:2rem;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);padding:0 .5rem;font-size:.75rem;color:var(--color-fg);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.new-item-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-30)}.file-list-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:var(--radius);transition:background-color var(--transition-fast)}.file-list-item:hover{background:var(--color-border-30)}.file-list-link{flex:1;display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--color-fg);text-decoration:none}.file-list-link:hover{text-decoration:underline}.file-list-actions{display:flex;align-items:center;gap:.25rem;opacity:0;transition:opacity var(--transition-fast)}.file-list-item:hover .file-list-actions{opacity:1}.fullscreen-editor{position:fixed;inset:0;z-index:50;background:var(--color-bg);display:flex;flex-direction:column}.fullscreen-editor-header{background:var(--color-bg-secondary-95);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border-20);display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem}.fullscreen-editor-title{font-size:.875rem;font-weight:600;color:var(--color-fg);display:flex;align-items:center;gap:.5rem}.fullscreen-editor-actions{display:flex;align-items:center;gap:.5rem}.fullscreen-editor-content{flex:1;overflow:auto;padding:var(--sp-6)}.fullscreen-editor-form{max-width:80rem;margin:0 auto}.search-replace-panel .search-input{width:100%;height:2.25rem;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);padding:0 .75rem;font-size:.8125rem;color:var(--color-fg);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-replace-panel .search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-30)}.search-replace-panel .checkbox-sm{width:.875rem;height:.875rem;border-radius:3px}.search-results-list{max-height:24rem;overflow-y:auto;border:1px solid var(--color-border-30);border-radius:var(--radius)}.search-result-file{border-bottom:1px solid var(--color-border-20)}.search-result-file:last-child{border-bottom:none}.search-result-file-header{padding:.5rem .75rem;background:var(--color-bg-secondary-50);font-size:.8125rem;font-weight:600}.search-result-file-name{color:var(--color-primary);text-decoration:none;word-break:break-all}.search-result-file-name:hover{text-decoration:underline}.search-result-lines{font-family:var(--font-mono);font-size:.75rem}.search-result-line{display:flex;align-items:baseline;gap:.5rem;padding:.25rem .75rem;text-decoration:none;color:var(--color-fg);transition:background-color var(--transition-fast);cursor:pointer;overflow:hidden}.search-result-line:hover{background:var(--color-border-20)}.search-result-line-num{color:var(--color-fg-muted);min-width:2.5rem;text-align:right;flex-shrink:0;font-size:.6875rem}.search-result-line-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-highlight{background:var(--color-warning-30, rgba(250, 204, 21, .3));color:inherit;padding:0 1px;border-radius:2px}.badge-sm{font-size:.625rem;padding:.1rem .4rem;border-radius:999px;background:var(--color-bg-secondary);color:var(--color-fg-muted);font-weight:600}.scripts-layout{display:grid;grid-template-columns:16rem 1fr;gap:var(--sp-4);min-height:calc(100vh - 8rem)}.scripts-sidebar{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.scripts-sidebar-section{padding:var(--sp-4)}.scripts-list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--radius);transition:background-color var(--transition-fast)}.scripts-list-item:hover{background:var(--color-bg-tertiary)}.scripts-list-item a{text-decoration:none;color:var(--color-fg)}.scripts-delete-btn{opacity:0;color:var(--color-error);transition:opacity var(--transition-fast)}.scripts-list-item:hover .scripts-delete-btn{opacity:1}.scripts-main-content{flex:1;overflow-y:auto}.scripts-form-container{padding:var(--sp-6);max-width:var(--container-xl);margin:0 auto;width:100%}.scripts-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-fg-muted);text-align:center;padding:var(--sp-8)}.transactions-section-header{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.bookings-group-header{width:100%;padding:var(--sp-2) var(--sp-4);background:var(--color-bg-tertiary-20);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;transition:background-color var(--transition-fast);border:none;&:hover{background:var(--color-bg-tertiary-30)}}.group-title,.totals-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.075em;color:var(--color-fg)}.group-count{font-size:.75rem;color:var(--color-fg-muted);margin-left:.25rem}.group-total{font-size:.75rem;font-family:var(--font-mono);font-weight:600;color:var(--color-fg)}.group-balance{font-size:.75rem;font-family:var(--font-mono);color:var(--color-fg-muted)}.bookings-totals-footer{padding:var(--sp-3) var(--sp-4);background:var(--color-bg-tertiary-40);border-top:1px solid var(--color-border)}.data-table-row.totals-row{background:var(--color-bg-tertiary-40)}.totals-amount{font-size:.875rem;font-family:var(--font-mono);font-weight:700;color:var(--color-fg)}.assertion-row{background:var(--color-bg-secondary-50);border-left:3px solid var(--color-fg-muted)}.assertion-row:hover{background:var(--color-bg-secondary)}.assertion-row.assertion-fail{border-left-color:var(--color-error)}.bookings-page,.salary-statement-page{min-height:100vh}.employee-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow var(--transition);&:hover{box-shadow:0 4px 12px var(--color-fg-10)}&.former{opacity:.8;border-color:var(--color-border-50);background:var(--color-bg-secondary)}}.employee-card-header{padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--color-border-50);background:linear-gradient(to right,var(--color-primary-10),var(--color-primary-5));&.former{background:var(--color-bg-tertiary-50)}}.salary-info-card,.period-card{border-radius:var(--radius);padding:var(--sp-3);background:var(--color-bg-secondary-50)}.salary-info-card.former{background:var(--color-bg-tertiary-50)}.salary-preview-section{margin-top:var(--sp-8);padding-top:var(--sp-6);border-top:1px solid var(--color-border)}.salary-header{padding-bottom:var(--sp-4);margin-bottom:var(--sp-4);border-bottom:1px solid var(--color-border)}.salary-table{width:100%;font-size:.875rem;& th{padding:var(--sp-2) 0;font-weight:600;border-bottom:1px solid var(--color-border)}& td{padding:var(--sp-2) 0}.numeric{text-align:right}.subtotal{background:var(--color-bg-tertiary-50)}.subtotal td,.total td{padding:var(--sp-2) var(--sp-1)}.total{background:var(--color-primary-10)}}.salary-summary{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--color-border)}.section-header-row{margin-bottom:var(--sp-3)}.section-divider{border-top:1px solid var(--color-border);padding-top:1rem;margin-bottom:1rem}.raw-ledger-section{padding-top:1rem;margin-top:1rem;border-top:1px solid var(--color-border)}.raw-ledger-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-fg-muted);background:transparent;border:none;cursor:pointer;padding:0;transition:color var(--transition-fast);&:hover{color:var(--color-fg)}}.raw-ledger-content{margin-top:.75rem;padding:.75rem;background:var(--color-bg-secondary);border-radius:var(--radius);font-size:.75rem;overflow-x:auto}.rule-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2);background:var(--color-bg-secondary);border-radius:var(--radius)}.rule-row select,.rule-row input{font-size:.75rem;padding:var(--sp-1) var(--sp-2)}.rule-row select:not(.flex-1){width:auto}.admin-layout{min-height:100vh}.admin-sidebar{width:16rem;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);min-height:100vh}.admin-nav-item{display:block;padding:var(--sp-2) var(--sp-4);border-radius:var(--radius);color:var(--color-fg-muted);text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast);&:hover{background:var(--color-bg-tertiary);color:var(--color-fg)}&.active{background:var(--color-primary-15);color:var(--color-primary);font-weight:500}}.setup-stepper{margin-bottom:var(--sp-6)}.setup-stepper-list{display:flex;align-items:flex-start;justify-content:center;gap:0;list-style:none;margin:0;padding:0}.setup-stepper-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;max-width:10rem}.setup-stepper-indicator{width:2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;transition:all var(--transition);z-index:1;background:var(--color-bg);border:2px solid var(--color-border);color:var(--color-fg-muted)}.setup-stepper-number{font-variant-numeric:tabular-nums}.setup-stepper-label{margin-top:var(--sp-2);font-size:.75rem;text-align:center;color:var(--color-fg-muted);line-height:1.3}.setup-stepper-connector{position:absolute;top:1rem;left:calc(50% + 1rem);width:calc(100% - 2rem);height:2px;background:var(--color-border)}.setup-stepper-item{&.complete{.setup-stepper-indicator{background:var(--color-success);border-color:var(--color-success);color:#fff}.setup-stepper-label{color:var(--color-success)}.setup-stepper-connector{background:var(--color-success)}}&.current{.setup-stepper-indicator{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.setup-stepper-label{color:var(--color-fg);font-weight:500}}&.pending .setup-stepper-indicator{background:var(--color-bg-secondary);border-color:var(--color-border);color:var(--color-fg-muted)}}.completed-step-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--color-success-10);border:1px solid var(--color-success-20);border-radius:var(--radius);margin-bottom:var(--sp-3)}.completed-step-label{font-size:.875rem;font-weight:500;color:var(--color-fg)}.completed-step-value{font-size:.75rem;color:var(--color-fg-muted);margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50%}.locked-step-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:var(--sp-3);opacity:.6}.locked-step-row span{font-size:.875rem;color:var(--color-fg-muted)}.locked-step-hint{margin-left:auto;font-size:.75rem}.setup-step-card{padding:var(--sp-4);background:var(--color-bg);border:1px solid var(--color-primary-30);border-radius:var(--radius-lg);margin-bottom:var(--sp-4)}.setup-step-title{font-size:.875rem;font-weight:600;color:var(--color-fg);margin-bottom:var(--sp-3);display:flex;align-items:center;gap:var(--sp-2)}.setup-step-content{font-size:.875rem;color:var(--color-fg)}.setup-step-content p{margin-bottom:var(--sp-3);color:var(--color-fg-muted)}.setup-step-content ol{margin:var(--sp-3) 0;padding-left:var(--sp-4)}.setup-step-content ol li{margin-bottom:var(--sp-2);color:var(--color-fg-muted)}.time-warning{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);background:var(--color-warning-10);border:1px solid var(--color-warning-30);border-left:4px solid var(--color-warning);border-radius:var(--radius);margin-bottom:var(--sp-4)}.time-warning-icon{flex-shrink:0;color:var(--color-warning)}.time-warning-content{flex:1}.time-warning-title{font-size:.875rem;font-weight:600;color:var(--color-fg);margin-bottom:var(--sp-1)}.time-warning-text{font-size:.75rem;color:var(--color-fg-muted)}.connected-status-card{padding:var(--sp-4);background:var(--color-success-5);border:1px solid var(--color-success-20);border-radius:var(--radius-lg)}.connected-status-header{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.connected-status-title{font-size:1rem;font-weight:600;color:var(--color-fg)}.connected-status-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:var(--sp-1) var(--sp-2);border-radius:var(--radius);background:var(--color-bg-secondary);color:var(--color-fg-muted);margin-left:auto;&.production{background:var(--color-success-20);color:var(--color-success)}&.sandbox{background:var(--color-warning-20);color:var(--color-warning)}}.connected-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4);margin-bottom:var(--sp-4)}.connected-status-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--color-border-50)}.advanced-options-section{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--color-border)}.advanced-options-summary{display:flex;align-items:center;gap:var(--sp-2);font-size:.75rem;color:var(--color-fg-muted);cursor:pointer;padding:var(--sp-2) 0}.advanced-options-summary:hover{color:var(--color-fg)}.advanced-options-content{margin-top:var(--sp-4)}.advanced-options-content details{margin-bottom:var(--sp-3);padding:var(--sp-3);background:var(--color-bg-secondary);border-radius:var(--radius)}.advanced-options-content summary{font-size:.875rem;font-weight:500;cursor:pointer;color:var(--color-fg-muted)}.advanced-options-content summary:hover{color:var(--color-fg)}.account-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;background:var(--color-bg-secondary);border-radius:var(--radius);font-size:.875rem}.expense-form-container{max-width:40rem;margin:0 auto;padding:var(--sp-4)}.expense-form{display:flex;flex-direction:column;gap:var(--sp-4)}.expense-form-row{display:flex;gap:var(--sp-3)}.expense-form-row-stacked{flex-direction:column}.expense-form-field{display:flex;flex-direction:column;gap:var(--sp-1)}.expense-form-field.flex-1{flex:1}.expense-form-field.flex-2{flex:2}.expense-form-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-fg-muted);margin-bottom:.125rem}.expense-status-toggle{display:flex;background:var(--color-bg-secondary);border-radius:var(--radius);padding:.125rem;gap:.125rem}.expense-status-option{flex:1;padding:.375rem .5rem;font-size:.75rem;font-weight:500;text-align:center;border-radius:calc(var(--radius) - 2px);cursor:pointer;color:var(--color-fg-muted);transition:all var(--transition-fast)}.expense-status-option:hover{color:var(--color-fg)}.expense-status-option.active{background:var(--color-bg);color:var(--color-fg);box-shadow:var(--shadow-sm)}.expense-receipts-section{margin-top:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--color-border)}.expense-receipts-header{margin-bottom:var(--sp-2)}.expense-attachments-list{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:var(--sp-2)}.expense-attachment-item{display:flex;align-items:center;justify-content:space-between;padding:.375rem .5rem;background:var(--color-success-10);border-radius:var(--radius)}.expense-attachment-link{display:flex;align-items:center;gap:.375rem;color:var(--color-success);font-size:.8125rem;background:none;border:none;cursor:pointer;min-width:0}.expense-attachment-link:hover{text-decoration:underline}.expense-attachment-remove,.expense-attachment-rescan{padding:.25rem;color:var(--color-fg-muted);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;opacity:.6;transition:all var(--transition-fast)}.expense-attachment-remove:hover{opacity:1;color:var(--color-error);background:var(--color-error-10)}.expense-attachment-rescan:hover{opacity:1;color:var(--color-primary);background:var(--color-primary-10)}.expense-upload-compact{border:1px dashed var(--color-border);border-radius:var(--radius);transition:all var(--transition-fast)}.expense-upload-compact:hover{border-color:var(--color-primary);background:var(--color-primary-5)}.expense-upload-label{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;font-size:.8125rem;color:var(--color-fg-muted);cursor:pointer}.expense-upload-label:hover{color:var(--color-primary)}.expense-upload-progress{margin-top:var(--sp-2);padding:var(--sp-2);background:var(--color-bg-secondary);border-radius:var(--radius)}.expense-form-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--color-border)}.expense-raw-section{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--color-border)}.tag-chips-container{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;padding:.375rem .5rem;min-height:2.25rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color var(--transition-fast)}.tag-chips-container:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-20)}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;background:var(--color-primary-10);color:var(--color-primary);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.tag-chip-remove{display:flex;align-items:center;justify-content:center;padding:0;margin-left:.125rem;background:none;border:none;color:var(--color-primary);opacity:.6;cursor:pointer;border-radius:50%;transition:opacity var(--transition-fast),background var(--transition-fast)}.tag-chip-remove:hover{opacity:1;background:var(--color-primary-20)}.tag-input{flex:1;min-width:80px;padding:.125rem .25rem;border:none;background:transparent;font-size:.8125rem;color:var(--color-fg);outline:none}.tag-input::placeholder{color:var(--color-fg-muted)}@media (max-width: 640px){.expense-form-row{flex-direction:column}.expense-form-field.flex-1,.expense-form-field.flex-2{flex:none}}@media (min-width: 768px){.app-layout{flex-direction:row}.app-content{padding-bottom:2.5rem}.content-area{padding:var(--sp-8);margin-bottom:0}.sidebar-nav{display:flex}.mobile-nav{display:none}.page-header{padding:var(--sp-2) var(--sp-6);gap:var(--sp-3)}.page-header-selectors{display:flex}.filter-bar{padding:var(--sp-3) var(--sp-6);gap:var(--sp-4)}.filter-bar-search{width:auto;flex:1;min-width:12rem;max-width:20rem}.advanced-filters{padding:.5rem 1.5rem}.metrics-grid{grid-template-columns:repeat(2,1fr)}.detail-grid.cols-4{grid-template-columns:repeat(4,1fr)}.pdf-viewer-frame{height:820px}.posting-row{flex-direction:row}}@media (max-width: 767px){.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{grid-column:span 12}.posting-row{flex-direction:column;align-items:stretch}.scripts-layout{grid-template-columns:1fr}.data-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table-header,.data-table-row{min-width:600px}.filter-bar{flex-direction:column;gap:var(--sp-2)}.filter-bar>*{width:100%}}@media (min-width: 1024px){.files-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1280px){.metrics-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 480px){.metrics-grid{grid-template-columns:1fr}}@media (max-width: 640px){.setup-stepper-list{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.setup-stepper-item{flex-direction:row;max-width:none;gap:var(--sp-3)}.setup-stepper-label{margin-top:0;text-align:left}.setup-stepper-connector{display:none}}
