.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);padding-inline:var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);white-space:nowrap;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;line-height:1;display:inline-flex}.button:disabled{opacity:.6;cursor:not-allowed}.button--sm{min-height:3.6rem;padding-inline:var(--space-3);font-size:var(--font-size-xs)}.button--lg{min-height:5.2rem;padding-inline:var(--space-6);font-size:var(--font-size-md)}.button--full-width{width:100%}.button--primary{background-color:var(--color-brand);color:var(--color-text-inverse)}.button--primary:not(:disabled):hover{background-color:var(--color-brand-hover)}.button--secondary{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.button--secondary:not(:disabled):hover{background-color:var(--color-surface-hover)}.button--ghost{color:var(--color-text)}.button--ghost:not(:disabled):hover{background-color:var(--color-surface-hover)}.button--danger{background-color:var(--danger-400);color:var(--color-text-inverse)}.button__spinner{border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;width:1.6rem;height:1.6rem;animation:.7s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}.demo-mode-banner{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--warning-100);color:var(--warning-400);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-align:center;display:flex}.demo-mode-banner svg{flex-shrink:0}.app-layout{flex-direction:column;min-height:100dvh;display:flex}.app-layout__header{z-index:var(--z-header);background-color:var(--color-brand);color:var(--color-text-inverse);box-shadow:var(--shadow-md);padding-top:env(safe-area-inset-top);position:sticky;top:0}.app-layout__header-inner{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--header-height);display:flex}.app-layout__brand{align-items:center;gap:var(--space-2);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);display:inline-flex}.app-layout__brand svg{color:var(--color-brand-highlight)}.app-layout__user{align-items:center;gap:var(--space-2);display:flex}.app-layout__user .button--ghost{color:var(--color-text-inverse)}.app-layout__user .button--ghost:not(:disabled):hover{background-color:var(--color-brand-hover)}.app-layout__user-email{font-size:var(--font-size-sm);opacity:.85;display:none}.app-layout__main{padding-block:var(--space-6);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));flex:1}@media (width>=640px){.app-layout__user-email{display:inline}}.app-layout__nav{border-top:1px solid var(--color-brand-hover)}.app-layout__nav-list{gap:var(--space-1);scrollbar-width:none;display:flex;overflow-x:auto}.app-layout__nav-list::-webkit-scrollbar{display:none}.app-layout__nav-link{align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);padding-inline:var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);white-space:nowrap;opacity:.8;transition:opacity var(--transition-fast), border-color var(--transition-fast);border-bottom:3px solid #0000;display:inline-flex}.app-layout__nav-link:hover{opacity:1}.app-layout__nav-link[aria-current=page]{border-bottom-color:var(--color-brand-highlight);opacity:1}.full-screen-loader{place-items:center;min-height:100dvh;display:grid}.full-screen-loader__spinner{border:3px solid var(--primary-100);border-top-color:var(--color-brand);border-radius:var(--radius-full);width:3.2rem;height:3.2rem;animation:.8s linear infinite full-screen-loader-spin}@keyframes full-screen-loader-spin{to{transform:rotate(360deg)}}.not-found-page{justify-content:center;align-items:center;gap:var(--space-3);min-height:60dvh;padding:var(--space-6);text-align:center;flex-direction:column;display:flex}.not-found-page__link{color:var(--color-link);font-weight:var(--font-weight-semibold);text-underline-offset:3px;text-decoration:underline}.toast-region{inset:auto var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-md);background-color:var(--color-brand);color:var(--color-text-inverse);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);pointer-events:auto;animation:toast-enter var(--transition-base);display:flex}.toast--success svg:first-child{color:var(--color-brand-highlight)}.toast--error{background-color:var(--danger-400)}.toast__message{flex:1}.toast__close{border-radius:var(--radius-full);opacity:.8;place-items:center;width:3.2rem;height:3.2rem;display:grid}.toast__close:hover{opacity:1}@keyframes toast-enter{0%{opacity:0;transform:translateY(.8rem)}}@media (width>=640px){.toast-region{width:38rem;left:auto}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:62.5%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;line-height:1.5}img,picture,svg,video,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root{isolation:isolate}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--primary-100:#e2e4e7;--primary-200:#9aa0a6;--primary-300:#3c4043;--primary-400:#202124;--secondary-100:#fdf3e7;--secondary-200:#f3cfa8;--secondary-300:#d69e58;--secondary-400:#a7712c;--neutral-100:#fff;--neutral-200:#f9f8f6;--neutral-300:#eae5de;--neutral-400:#d5cebe;--accent-100:#fce8e6;--accent-200:#f49c96;--accent-300:#e0534c;--accent-400:#b33630;--success-100:#dcf5e6;--success-400:#1b7a43;--warning-100:var(--secondary-100);--warning-400:#8a5a0a;--danger-100:var(--accent-100);--danger-400:var(--accent-400);--info-100:#dbeafe;--info-400:#1d4ed8;--color-bg:var(--neutral-200);--color-surface:var(--neutral-100);--color-surface-hover:var(--neutral-300);--color-border:var(--neutral-300);--color-border-strong:var(--primary-200);--color-text:var(--primary-400);--color-text-muted:var(--primary-300);--color-text-inverse:var(--neutral-100);--color-brand:var(--primary-400);--color-brand-hover:var(--primary-300);--color-brand-highlight:var(--secondary-300);--color-link:var(--primary-400);--color-focus-ring:var(--secondary-400);--color-focus-halo:#d69e5859;--color-overlay:#20212480;--font-family-base:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-xs:1.2rem;--font-size-sm:1.4rem;--font-size-md:1.6rem;--font-size-lg:1.8rem;--font-size-xl:2.2rem;--font-size-2xl:2.8rem;--font-size-3xl:3.6rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-base:1.5;--space-1:.4rem;--space-2:.8rem;--space-3:1.2rem;--space-4:1.6rem;--space-5:2rem;--space-6:2.4rem;--space-8:3.2rem;--space-10:4rem;--space-12:4.8rem;--radius-sm:.4rem;--radius-md:.8rem;--radius-lg:1.2rem;--radius-full:999px;--shadow-sm:0 1px 2px #2021240f;--shadow-md:0 4px 12px #20212414;--shadow-lg:0 12px 32px #2021241f;--transition-fast:.12s ease-out;--transition-base:.2s ease-out;--header-height:5.6rem;--container-max-width:120rem;--touch-target-min:4.4rem;--z-header:100;--z-overlay:200;--z-toast:300}body{font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3{line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.container{width:100%;max-width:var(--container-max-width);padding-inline:var(--space-4);margin-inline:auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-muted{color:var(--color-text-muted)}@media (width>=768px){.container{padding-inline:var(--space-6)}}.form-grid{gap:var(--space-4);display:grid}.form-grid__full{grid-column:1/-1}@media (width>=640px){.form-grid--two-columns{grid-template-columns:repeat(2,1fr)}}.form-alert{padding:var(--space-3);border-radius:var(--radius-md);background-color:var(--danger-100);color:var(--danger-400);font-size:var(--font-size-sm);grid-column:1/-1}.list-toolbar{gap:var(--space-3);min-width:0;margin-bottom:var(--space-4);flex-direction:column;display:flex}@media (width>=640px){.list-toolbar{flex-direction:row;align-items:center}}.code-badge{max-width:100%;padding:.2rem var(--space-2);border-radius:var(--radius-sm);background-color:var(--primary-100);font-family:var(--font-family-mono);font-size:var(--font-size-xs);overflow-wrap:anywhere;display:inline-block}.deleted-label{color:var(--danger-400);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.document-list__number{align-items:center;gap:var(--space-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:inline-flex}.document-list__total{font-variant-numeric:tabular-nums;font-weight:var(--font-weight-semibold);white-space:nowrap}.form-warning{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background-color:var(--warning-100);color:var(--warning-400);font-size:var(--font-size-sm);grid-column:1/-1;display:flex}.form-warning svg{flex-shrink:0;margin-top:.2rem}
