
:root{
  --bb-ink:#0b1220;--bb-ink-soft:#111827;--bb-primary:#2563eb;--bb-primary-hover:#1d4ed8;--bb-primary-pressed:#1e40af;--bb-coffee:#7c2d12;--bb-coffee-dark:#111827;--bb-copper:#c26a2e;--bb-cream:#f8fafc;--bb-off-white:#f8fafc;
  --surface-page:#f7f9ff;--surface-main:#fff;--surface-card:#f2f3f9;--surface-tonal:#d5e4f7;--surface-nested:#e6e8ee;--surface-input:#fff;--surface-list:#fff;--surface-dark:#0b1220;
  --text-strong:#0f172a;--text:#1f2937;--text-muted:#64748b;--text-soft:#94a3b8;--text-inverse:#f8fafc;--text-inverse-muted:rgba(248,250,252,.72);
  --border-strong:#cbd5e1;--border:#d7dfea;--border-soft:rgba(15,23,42,.12);--border-subtle:rgba(15,23,42,.08);--divider:rgba(15,23,42,.1);
  --success-bg:#ecfdf5;--success-border:#a7f3d0;--success-text:#065f46;--warning-bg:#fffbeb;--warning-border:#fcd34d;--warning-text:#92400e;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#fecaca;--danger-text:#991b1b;--info-bg:#eff6ff;--info-border:#bfdbfe;--info-text:#1d4ed8;--neutral-bg:#f1f5f9;--neutral-border:#cbd5e1;--neutral-text:#334155;
  --selection-bg:#dbeafe;--selection-border:#93c5fd;--selection-text:#1e3a8a;--bottom-nav-surface:var(--surface-dark);--bottom-nav-active:var(--bb-primary);--bottom-nav-text:rgba(248,250,252,.72);--bottom-nav-active-text:#fff;--state-layer-inverse-hover:rgba(248,250,252,.06);--focus-ring:rgba(37,99,235,.25);
  /* Access shell intentionally preserves the Bean Block doctrine brand palette. */
  --access-ink:#111721;--access-ink-soft:#181e29;--access-primary:#f67e0f;--access-primary-hover:#ff932b;--access-coffee:#784c1d;--access-cream:#ffe5cd;--access-input:#fff;--access-pin-border:rgba(255,229,205,.42);--access-white:#fff;--access-text-inverse:#fff7ed;--access-text-inverse-muted:rgba(255,247,237,.72);--access-text-soft:#86684a;--access-danger-bg:#fde8e5;--access-danger-border:#f5b8b1;--access-focus-ring:rgba(246,126,15,.28);--access-input-highlight:rgba(255,255,255,.16);--access-input-inset:inset 0 0 0 1px rgba(17,23,33,.08);--access-error-ring:rgba(245,184,177,.28);--access-toast-border:rgba(255,255,255,.14);--access-toast-icon-bg:rgba(245,184,177,.20);--access-elevation:0 28px 80px rgba(0,0,0,.30);--access-state-hover:rgba(255,255,255,.06);
  --font-brand:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --font-body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --bb-density:0;
  --fs-display:2.5rem;--fs-stat:2.5rem;--fs-page-title:2rem;--fs-lead:1.125rem;--fs-section-head:1.5rem;--fs-card-title:1.25rem;--fs-body:0.9375rem;--fs-subheadline:0.875rem;--fs-label:0.75rem;--ls-label:.04em;--fs-btn:var(--fs-body);--lh-display:1.1;--lh-heading:1.25;--lh-body:1.5;
  --radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:16px;--radius-2xl:16px;--radius-pill:999px;
  --shadow-card:0 4px 14px rgba(15,23,42,.06);--shadow-shell:0 14px 36px rgba(15,23,42,.22);--shadow-modal:0 26px 70px rgba(15,23,42,.28);--shadow-auth:0 28px 80px rgba(0,0,0,.28);
  --space-1:calc(4px + (var(--bb-density) * 0px));--space-2:calc(8px + (var(--bb-density) * 2px));--space-3:calc(12px + (var(--bb-density) * 2px));--space-4:calc(16px + (var(--bb-density) * 4px));--space-5:calc(24px + (var(--bb-density) * 4px));--space-6:calc(24px + (var(--bb-density) * 4px));--control-desktop:calc(40px + (var(--bb-density) * 8px));--control-mobile:48px;--mobile-header-height:64px;--mobile-nav-height:64px;--mobile-nav-clearance:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 72px);--z-header:9000;--z-nav:9200;--z-modal:10000;--z-toast:11000;--motion-duration-page:300ms;--motion-duration-enter:400ms;--motion-duration-exit:220ms;--motion-easing-decelerate:cubic-bezier(0.05,0.7,0.1,1.0);--motion-easing-accelerate:cubic-bezier(0.3,0,0.8,0.15);
}
*{box-sizing:border-box;margin:0;padding:0}html{min-height:100%;background:var(--surface-page);font-size:100%;-webkit-text-size-adjust:100%}body{min-height:100%;background:var(--surface-page);color:var(--text);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}a{color:inherit;text-decoration:none}svg{display:block;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}.hidden{display:none!important}.muted{color:var(--text-muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.nowrap{white-space:nowrap}.num{text-align:right;font-variant-numeric:tabular-nums}.desktop-only{display:block}.mobile-only{display:none!important}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.access-shell{position:relative;isolation:isolate;display:grid;width:100vw;max-width:100vw;min-width:0;min-height:100dvh;overflow:hidden;background:var(--access-ink);color:var(--access-text-inverse);box-shadow:var(--access-elevation)}.access-wave{position:absolute;inset-inline:0;z-index:-1;width:100%;pointer-events:none;user-select:none}.access-wave--top{top:0;height:clamp(116px,14vw,204px)}.access-wave--bottom{bottom:0;height:clamp(176px,22vw,296px)}.access-wave svg{width:100%;height:100%}.access-wave path{stroke:none}.access-wave-primary{fill:var(--access-primary)}.access-wave-secondary{fill:var(--access-coffee)}.access-main{display:grid;place-items:center;width:100%;min-width:0;min-height:100%;padding:max(32px,env(safe-area-inset-top)) 24px max(32px,env(safe-area-inset-bottom))}.access-stack{width:min(100%,344px);min-width:0;display:grid;justify-items:center;text-align:center;transform:translateY(clamp(-24px,-2vh,-8px))}.access-logo{width:40px;height:48px;margin-bottom:var(--space-3)}.access-brand{margin:0;color:var(--access-primary);font-family:var(--font-brand);font-size:var(--fs-card-title);font-weight:800;line-height:1;letter-spacing:-.04em}.access-title{width:100%;min-width:0;max-width:100%;margin:7px 0 0;color:var(--access-text-inverse);overflow-wrap:normal;white-space:normal;font-size:clamp(2.25rem,7.2vw,var(--fs-display));font-weight:800;line-height:.9;letter-spacing:-.055em}.access-title span{display:block}.access-form{width:min(100%,320px);min-width:0;display:grid;gap:var(--space-2);margin-top:var(--space-4)}.access-pin{width:100%;min-height:56px;border:2px solid var(--access-pin-border);border:2px solid color-mix(in srgb,var(--access-cream) 42%,transparent);border-radius:var(--radius-lg);background:var(--access-input);color:var(--access-ink);box-shadow:0 0 0 1px var(--access-input-highlight),var(--access-input-inset);padding:0 14px;text-align:center;font-size:1.65rem;font-weight:800;letter-spacing:.36em;font-variant-numeric:tabular-nums;outline:none;transition:border-color 160ms var(--motion-easing-decelerate),box-shadow 160ms var(--motion-easing-decelerate),background 160ms var(--motion-easing-decelerate)}.access-pin::placeholder{color:var(--access-text-soft);opacity:1;letter-spacing:.26em}.access-pin:focus{border-color:var(--access-primary);box-shadow:0 0 0 4px var(--access-focus-ring),var(--access-input-inset)}.access-pin[aria-invalid="true"]{border-color:var(--access-danger-border);background:var(--access-danger-bg);box-shadow:0 0 0 4px var(--access-error-ring),var(--access-input-inset);animation:pin-shake 300ms var(--motion-easing-accelerate)}.access-pin:disabled{opacity:.78;cursor:wait}.access-message{min-height:20px;margin:0;color:var(--access-danger-border);font-size:var(--fs-subheadline);font-weight:650;line-height:1.4}.access-message:empty{display:none;visibility:hidden}.access-submit{width:100%;min-height:56px;border:none;border-radius:var(--radius-pill);background:var(--access-primary);color:var(--access-ink);padding:0 14px;font-size:1rem;font-weight:800;letter-spacing:-.015em;cursor:pointer;transition:transform 140ms var(--motion-easing-decelerate),background 140ms var(--motion-easing-decelerate),opacity 140ms var(--motion-easing-decelerate)}.access-submit:hover:not(:disabled){background:var(--access-primary-hover)}.access-submit:active:not(:disabled){transform:translateY(1px)}.access-submit:disabled{opacity:.48;cursor:not-allowed}.access-submit-content{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.access-spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 700ms linear infinite}.access-back{justify-self:center;min-height:48px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--access-text-inverse);padding:0 13px;font-size:var(--fs-subheadline);font-weight:700;cursor:pointer;transition:color 140ms var(--motion-easing-decelerate),background 140ms var(--motion-easing-decelerate)}.access-back:hover{color:var(--access-white);background:var(--access-state-hover)}.access-version{position:absolute;z-index:1;left:max(20px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));margin:0;color:var(--access-ink);font-size:var(--fs-label);font-weight:800;letter-spacing:.02em;pointer-events:none;user-select:none}.access-toast{position:absolute;z-index:2;top:max(16px,env(safe-area-inset-top));left:50%;width:min(calc(100% - 32px),400px);display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--access-toast-border);border-radius:var(--radius-lg);background:var(--access-ink-soft);color:var(--access-text-inverse);box-shadow:var(--access-elevation);opacity:0;pointer-events:none;transform:translate(-50%,calc(-100% - 12px));transition:opacity 180ms var(--motion-easing-decelerate),transform 220ms var(--motion-easing-decelerate)}.access-toast.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%,0)}.access-toast-icon{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--access-toast-icon-bg);color:var(--access-danger-border);font-size:var(--fs-subheadline);font-weight:800}.access-toast-message{font-size:var(--fs-subheadline);font-weight:650;line-height:1.35}.access-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes pin-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)} }@media(max-width:919px){.access-main{padding-inline:16px}.access-stack{transform:translateY(-13px)}.access-title{font-size:clamp(2.25rem,12vw,var(--fs-display))}.access-version{left:max(16px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom))}.access-toast{top:max(12px,env(safe-area-inset-top));width:min(calc(100% - 24px),400px)}}
.mobile-header{display:none;position:fixed;inset:0 0 auto 0;min-height:var(--mobile-header-height);z-index:var(--z-header);padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--bb-ink);color:var(--text-inverse);box-shadow:var(--shadow-shell)}.mobile-header-inner{min-height:54px;display:flex;align-items:center;gap:12px}.mobile-logo{width:42px;height:42px;display:block}.mobile-copy{flex:1 1 auto;min-width:0;display:grid;gap:2px}.mobile-kicker{margin:0;color:rgba(248,250,252,.60);font-size:var(--fs-label);font-weight:650;letter-spacing:var(--ls-label);text-transform:uppercase}.mobile-title{margin:0;color:var(--text-inverse);font-size:var(--fs-card-title);font-weight:800;line-height:var(--lh-heading);letter-spacing:-.015em}.mobile-sync{margin:0;color:rgba(248,250,252,.68);font-size:var(--fs-subheadline);font-weight:400;line-height:1.15}.mobile-header-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.mobile-icon-btn{width:44px;height:44px;display:grid;place-items:center;background:rgba(248,250,252,.11);border-radius:var(--radius-md);color:var(--text-inverse);border:1px solid rgba(248,250,252,.14)}.mobile-bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);min-height:var(--mobile-nav-height);overflow:hidden;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--bottom-nav-surface);color:var(--bottom-nav-text);box-shadow:0 -10px 30px rgba(17,23,33,.18)}.mobile-nav-inner{display:grid;grid-template-columns:repeat(var(--nav-count),minmax(0,1fr));gap:6px;width:100%;min-width:0;margin:0;padding:0}.mobile-nav-button{position:relative;z-index:0;width:100%;min-width:0;min-height:48px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:var(--radius-lg);background:transparent;color:var(--bottom-nav-text);font-family:var(--font-body);font-size:var(--fs-label);font-weight:800;line-height:1.05;letter-spacing:.03em;text-align:center;white-space:nowrap;transition:color 140ms ease,background 140ms ease}.mobile-nav-button.active{background:var(--bottom-nav-active);color:var(--bottom-nav-active-text)}.mobile-nav-button:hover{background:var(--state-layer-inverse-hover)}.mobile-nav-button.active:hover{background:var(--bottom-nav-active)}.mobile-nav-button svg{width:20px;height:20px;flex:0 0 20px}.mobile-nav-button span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-nav-button.nav-feedback{animation:mobile-nav-select-feedback 360ms var(--motion-easing-decelerate) both;transform-origin:center}.mobile-nav-button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}@keyframes mobile-nav-select-feedback{from{transform:scale(.94)}to{transform:scale(1)}}
.app-shell{display:grid;grid-template-columns:calc(248px + (var(--bb-density) * 18px)) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--surface-dark);color:var(--text-inverse);padding:20px 16px;overflow-y:auto;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:11px;margin-bottom:24px}.sidebar-logo{width:32px;height:32px;display:block}.brand-name{margin:0;color:var(--text-inverse);font-family:var(--font-brand);font-size:1rem;font-weight:800;line-height:.95;letter-spacing:.01em}.brand-sub{margin:2px 0 0;color:var(--text-inverse-muted);font-size:11px;font-weight:650;letter-spacing:-.01em;white-space:nowrap}.nav-list{display:grid;gap:6px}.nav-section-label{margin:16px 0 6px;padding:0 12px;color:rgba(248,250,252,.36);font-size:var(--fs-label);font-weight:650;letter-spacing:var(--ls-label);text-transform:uppercase}.nav-button{width:100%;height:36px;min-height:36px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 12px;border-radius:var(--radius-pill);background:transparent;color:rgba(248,250,252,.68);font-size:var(--fs-body);font-weight:650;text-align:left;transition:background 140ms ease,color 140ms ease}.nav-button:hover{background:rgba(248,250,252,.08);color:#fff}.nav-button.active{background:var(--bb-primary);color:#fff}.nav-button svg{width:18px;height:18px;justify-self:center}.nav-badge,.mobile-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--warning-border);color:var(--warning-text);font-size:10px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.mobile-nav-badge{position:absolute;top:3px;right:10px;height:17px;min-width:17px;padding:0 4px;font-size:9px}.sidebar-footer{margin-top:auto;display:grid;gap:10px;padding-top:18px}.sidebar-hub-button{border:1px solid rgba(248,250,252,.14);background:rgba(248,250,252,.06);color:#fff}.sidebar-hub-button:hover{background:rgba(248,250,252,.12);color:#fff}.rules-back-btn{margin-bottom:var(--space-2)}
.main{min-width:0;padding:18px 20px 22px}.page-wrap{max-width:1500px;margin:0 auto;position:relative}.topbar{position:absolute;top:0;right:0;z-index:2;min-height:42px;display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:0}.topbar-spacer{display:none}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.topbar .btn-small{min-height:var(--control-desktop)}.sync-block{display:grid;justify-items:center;align-content:center;min-height:40px;padding:0 6px;color:var(--text-muted);font-size:var(--fs-subheadline);font-weight:400;line-height:1.15;text-align:center}.sync-block strong{color:var(--text-strong);font-size:var(--fs-subheadline);font-weight:600}.desktop-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-height:54px;margin-bottom:var(--space-4);padding-right:330px}.kicker{margin:0 0 8px;color:var(--bb-primary);font-size:var(--fs-label);font-weight:650;letter-spacing:var(--ls-label);text-transform:uppercase}.page-title{margin:0;color:var(--text-strong);font-size:var(--fs-page-title);line-height:var(--lh-display);letter-spacing:-.03em;font-weight:700}.page-subtitle{max-width:660px;margin:5px 0 0;color:var(--text-muted);font-size:var(--fs-lead);line-height:1.45}.section-title{margin:0;color:var(--text-strong);font-size:var(--fs-section-head);line-height:1.2;font-weight:700;letter-spacing:-.015em}.section-subtitle{margin:4px 0 0;color:var(--text-muted);font-size:var(--fs-subheadline);line-height:var(--lh-body)}
.surface-main{background:var(--surface-main);border:none;border-radius:var(--radius-2xl);box-shadow:none;padding:var(--space-5)}.surface-card{background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-xl);box-shadow:none;padding:var(--space-4)}.surface-tonal{background:var(--surface-tonal);border:none;border-radius:var(--radius-xl);padding:var(--space-4)}.surface-nested{background:var(--surface-nested);border:none;border-radius:var(--radius-xl);padding:var(--space-3)}.surface-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:var(--space-4)}
.card{background:var(--surface-card);border:none;border-radius:var(--radius-xl);padding:var(--space-4)}.card-action{box-shadow:var(--shadow-card)}.card-signal{background:var(--surface-card);border:none;border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:none}.card-signal.brand{background:var(--surface-card)}.card-signal.success{background:var(--success-bg)}.card-signal.warning{background:var(--warning-bg)}.card-signal.info{background:var(--info-bg)}.card-signal.danger{background:var(--danger-bg)}.card-framed{border:1px solid var(--border-soft)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:var(--space-3)}.card-title{margin:0;color:var(--text-strong);font-size:var(--fs-card-title);font-weight:700;line-height:var(--lh-heading);letter-spacing:-.015em}.surface-card .surface-nested,.surface-tonal .surface-nested,.surface-nested .surface-nested,.card .surface-nested{border-radius:max(4px,calc(var(--radius-xl) - 6px))}
.btn{min-height:var(--control-desktop);min-width:56px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--surface-tonal);color:var(--text-strong);font-size:var(--fs-subheadline);font-weight:650;line-height:1;white-space:nowrap;position:relative;isolation:isolate;transition:background 140ms ease,border-color 140ms ease}.btn:active{transform:scale(0.99)}.btn::after{content:'';position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;transition:opacity 140ms ease;pointer-events:none}.btn:hover::after{opacity:.08}.btn-primary:hover::after{opacity:.12}.btn:active::after{opacity:.14}.btn-primary{background:var(--bb-primary);border-color:var(--bb-primary);color:#fff}.btn-secondary{background:var(--bb-ink);color:var(--text-inverse)}.btn-tonal{background:#dbeafe;border-color:#bfdbfe;color:#1e3a8a}.btn-outline{background:#fff;border-color:var(--border-strong);color:var(--text-strong)}.btn-outline.btn-transparent{background:transparent}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-text{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-small{min-height:32px;min-width:44px;padding:7px 14px;font-size:var(--fs-label)}.btn-small::before{content:'';position:absolute;inset:-6px 0;border-radius:inherit;pointer-events:auto}.btn-block{width:100%;justify-content:center}.btn:disabled{opacity:.42;cursor:not-allowed;box-shadow:none!important}.chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.filter-chip{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;cursor:pointer}.filter-chip-visual{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid var(--border-soft);border-radius:var(--radius-pill);background:var(--surface-tonal);color:var(--text-strong);font-size:var(--fs-label);font-weight:650;line-height:1;white-space:nowrap;position:relative;isolation:isolate;transition:background 140ms ease,border-color 140ms ease}.filter-chip-visual::after{content:'';position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;transition:opacity 140ms ease}.filter-chip:hover .filter-chip-visual::after{opacity:.08}.filter-chip:hover .filter-chip-visual{border-color:var(--border-strong)}.filter-chip.active .filter-chip-visual{background:var(--selection-border);border-color:transparent;color:var(--selection-text)}.status-chip{min-height:24px;display:inline-flex;align-items:center;justify-content:center;gap:0;padding:4px 9px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--neutral-bg);color:var(--neutral-text);font-size:var(--fs-label);font-weight:650;line-height:1;white-space:nowrap;cursor:default;box-shadow:none}.badge{min-height:22px;display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--neutral-bg);color:var(--neutral-text);font-size:var(--fs-label);font-weight:650;line-height:1;white-space:nowrap;cursor:default}.status-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.status-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.status-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.status-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.status-neutral{background:var(--neutral-bg);border-color:var(--neutral-border);color:var(--neutral-text)}
.btn-group{--btn-group-height:32px;--btn-group-radius:calc(var(--btn-group-height)/2);display:inline-flex;align-items:center;gap:0;padding:1px;border:1px solid var(--border-soft);border-radius:var(--btn-group-radius);background:transparent;width:max-content}.btn-group button{position:relative;min-height:calc(var(--btn-group-height) - 4px);border:none;background:transparent;color:var(--text-strong);border-radius:calc(var(--btn-group-radius) - 1px);font-size:var(--fs-label);font-weight:650;cursor:pointer;padding:0 16px;white-space:nowrap;transition:background-color 140ms ease,color 140ms ease}.btn-group button::before{content:'';position:absolute;inset:-8px 0;border-radius:inherit;pointer-events:auto}.btn-group button:hover{background-color:var(--surface-nested);color:var(--text-strong)}.btn-group button.active{font-weight:700}.btn-group button.status-choice-warning.active{background-color:var(--warning-border);color:var(--warning-text)}.btn-group button.status-choice-success.active{background-color:var(--success-border);color:var(--success-text)}
.form-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.form-grid-3{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.form-full{grid-column:1/-1}.field{display:grid;gap:6px;width:100%;min-width:0;align-content:start}.form-grid>*,.form-grid-3>*{min-width:0}.field label{color:var(--text-muted);font-size:var(--fs-label);font-weight:650;letter-spacing:var(--ls-label);text-transform:uppercase;line-height:1.1;display:flex;align-items:center;gap:5px}.field label .req{color:var(--bb-primary)}.helper{color:var(--text-muted);font-size:var(--fs-subheadline);line-height:var(--lh-body)}input,select,textarea{width:100%;max-width:100%;min-width:0;min-height:var(--control-desktop);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-input);color:var(--text);padding:7px 12px;font-size:1rem;font-weight:400;outline:none;transition:border-color 140ms ease,box-shadow 140ms ease}textarea{min-height:80px;resize:vertical}input[type=date]{appearance:none;-webkit-appearance:none}input:focus,select:focus,textarea:focus{border-color:var(--bb-primary);box-shadow:0 0 0 4px rgba(37,99,235,.16)}select{appearance:none;-webkit-appearance:none;padding-right:42px;background-color:var(--surface-input);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9' fill='none' stroke='%232563eb' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:calc(100% - 14px) 50%;background-repeat:no-repeat;background-size:14px 14px}.readonly-value{min-height:var(--control-desktop);display:flex;align-items:center;padding:7px 12px;border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-tonal);color:var(--text-strong);font-size:1rem;font-weight:400}.input-prefix{position:relative}.prefix-label{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1rem;font-weight:400;pointer-events:none}.input-prefix input{padding-left:28px}.conf-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.conf-high{background:#059669}.conf-med{background:#d97706}.conf-low{background:#dc2626}
.batch-month-control{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface-card)}.batch-month-control label{display:block;color:var(--text-strong);font-size:var(--fs-card-title);font-weight:700;line-height:var(--lh-heading);letter-spacing:normal;text-transform:none}.batch-month-actions{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto;justify-content:flex-end;min-width:0}.batch-month-trigger{flex:0 0 auto;width:calc(14ch + 28px);min-height:var(--control-desktop);font-size:1rem;font-weight:400;cursor:pointer}.batch-month-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:min(320px,calc(100vw - 48px));padding:var(--space-4);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--surface-main);box-shadow:var(--shadow-modal)}.batch-month-popover-head,.batch-month-year-nav,.batch-month-popover-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.batch-month-icon-button{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:20px;line-height:0;display:inline-flex;align-items:center;justify-content:center}.batch-month-icon-button svg{width:20px;height:20px;flex:0 0 20px}.batch-month-popover-actions{justify-content:flex-end}.batch-month-popover-head{margin-bottom:var(--space-3)}.batch-month-popover-head h3{margin:0;color:var(--text-strong);font-size:var(--fs-card-title);font-weight:700;line-height:var(--lh-heading)}.batch-month-year-nav{justify-content:center;margin-bottom:var(--space-3);color:var(--text-strong);font-size:var(--fs-body)}.batch-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.batch-month-option{min-height:40px;padding:8px 6px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-list);color:var(--text);font-size:var(--fs-subheadline);font-weight:500;cursor:pointer}.batch-month-option:hover{background:var(--surface-tonal)}.batch-month-option[aria-pressed="true"]{border-color:var(--selection-border);background:var(--selection-border);color:var(--selection-text);font-weight:700}.batch-month-option.is-today{box-shadow:inset 0 0 0 2px var(--bb-primary)}.batch-month-popover-actions{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--divider)}.field-warning{margin:0;color:var(--warning-text);font-size:var(--fs-label);font-weight:650;line-height:1.35}.batch-month-control+.drop-zone{margin-top:0}@media(max-width:919px){.batch-month-control{align-items:stretch;flex-direction:column}.batch-month-actions{width:100%;max-width:none}.batch-month-trigger{flex:1 1 auto;width:auto;min-width:0}.batch-month-actions>#batchMonthThisMonth{min-width:110px;padding-inline:18px}.batch-month-popover{left:0;right:0;width:auto}.batch-month-option{min-height:48px}}.scan-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);align-items:start}.review-workspace{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:var(--space-4);align-items:start}.review-queue-workspace{position:relative;display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--space-4);height:calc(100vh - 140px);min-height:520px;max-height:calc(100vh - 140px);align-items:stretch;isolation:isolate}.review-queue-pane{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.review-queue-list-pane{position:relative}.review-queue-main{min-width:0;min-height:0;display:flex;flex-direction:column}.queue-pane-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-shrink:0;padding-bottom:var(--space-3)}.queue-pane-header .section-title,.queue-pane-header .card-title{margin:0}.queue-pane-header .section-subtitle{margin:2px 0 0}.queue-list{min-height:0;overflow-y:auto;padding:0 var(--space-2)}.queue-item{width:100%;display:block;padding:var(--space-3) var(--space-2);border:0;border-bottom:1px solid var(--divider);border-radius:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.queue-item-copy{display:grid;gap:2px;min-width:0}.queue-item-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item:last-child{border-bottom:0}.queue-item:hover{background:var(--surface-tonal)}.queue-item.selected{background:var(--surface-tonal);border-radius:var(--radius-lg)}.queue-item:focus-visible{outline:3px solid var(--bb-primary);outline-offset:-3px}.queue-detail-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-shrink:0;padding-bottom:var(--space-3)}.queue-detail-heading{display:flex;align-items:center;gap:var(--space-3);min-width:0}.queue-detail-heading>div{min-width:0}.queue-detail-heading .section-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-drawer-toggle,.queue-drawer-close{display:none}.queue-view-switch{display:none}.queue-detail-header .queue-detail-heading .queue-drawer-toggle{flex:0 0 auto}.queue-detail-content{min-height:0;flex:1;overflow:hidden;padding:0}.queue-comparison-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);height:100%;min-height:0}.queue-receipt-pane,.queue-expense-pane{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.queue-receipt-pane{border-right:1px solid var(--divider);padding-right:var(--space-4)}.queue-receipt-canvas{position:relative;min-height:0;flex:1;overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-card)}.queue-receipt-stage{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;padding:var(--space-4);outline:none;touch-action:none;cursor:default}.queue-receipt-stage:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}.queue-receipt-stage img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;pointer-events:none;user-select:none;transform-origin:center center;transition:transform 160ms var(--motion-easing-decelerate)}.queue-receipt-stage.queue-image-pan-active{cursor:grab}.queue-receipt-stage.queue-image-pan-active img{cursor:grab}.queue-receipt-stage.queue-image-dragging,.queue-receipt-stage.queue-image-dragging img{cursor:grabbing}.queue-receipt-stage.queue-image-dragging img{transition:none}.queue-receipt-controls{position:absolute;left:50%;bottom:var(--space-3);z-index:2;display:flex;align-items:center;gap:2px;transform:translateX(-50%);padding:2px;border:1px solid rgba(15,23,42,.12);border-radius:var(--radius-pill);background:rgba(255,255,255,.94);box-shadow:var(--shadow-card);backdrop-filter:blur(8px)}.queue-image-control{flex:0 0 auto}.queue-image-zoom-label{min-width:56px;min-height:44px;justify-content:center;padding-inline:10px}.queue-receipt-controls .btn:hover{background:var(--surface-tonal)}.queue-receipt-controls .btn:disabled{opacity:.35}.queue-receipt-empty{display:grid;place-items:center;gap:4px;width:100%;min-height:180px;padding:var(--space-4);text-align:center}.queue-receipt-empty .empty-title,.queue-receipt-empty .empty-desc{margin:0}.queue-expense-scroll{min-height:0;flex:1;overflow-y:auto;padding-right:var(--space-2)}.queue-detail-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3)}.queue-detail-summary .section-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-detail-amount{color:var(--text-strong);font-size:var(--fs-card-title);font-weight:700;white-space:nowrap}.queue-status-grid,.queue-info-grid{margin-top:var(--space-3)}.queue-value{min-height:var(--control-desktop);display:flex;align-items:center;color:var(--text-strong);font-size:1rem}.queue-vat-breakdown{margin-top:var(--space-3)}.queue-copy-field{margin-top:var(--space-3)}.queue-copy-value{min-height:auto;white-space:pre-wrap}.queue-edit-form{display:grid;gap:var(--space-3);padding-bottom:var(--space-2)}.queue-edit-form .field{margin:0}.queue-edit-vat{margin:0}.queue-edit-vat .kicker{margin-bottom:var(--space-3)}.queue-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-shrink:0;padding-top:var(--space-3)}.queue-drawer-scrim{display:none}.queue-image-viewer{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-5);background:rgba(15,23,42,.78)}.queue-image-viewer-card{display:flex;flex-direction:column;width:min(100%,1100px);height:min(100%,900px);overflow:hidden;border-radius:var(--radius-2xl);background:var(--surface-page);box-shadow:var(--shadow-modal)}.queue-image-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-shrink:0;padding:var(--space-3) var(--space-4)}.queue-image-viewer-head h2{margin:0;color:var(--text-strong);font-size:var(--fs-card-title)}.queue-image-viewer-body{min-height:0;flex:1;display:grid;place-items:center;overflow:auto;padding:var(--space-4);background:var(--surface-nested)}.queue-image-viewer-body img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.queue-detail-actions>span{display:flex;gap:var(--space-2);min-width:0}.expense-side-scrim,.expense-side-panel{display:none}.records-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);align-items:start}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.rules-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--space-4);align-items:start}.drop-zone{border:1.5px dashed #94a3b8;border-radius:var(--radius-xl);padding:30px 20px;text-align:center;background:transparent;cursor:pointer;transition:border-color 140ms ease,background 140ms ease}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--bb-primary);background:transparent}.drop-zone svg{width:40px;height:40px;margin:0 auto 12px;color:var(--bb-primary);opacity:.78}.drop-title{font-weight:700;color:var(--text-strong);font-size:var(--fs-card-title);line-height:var(--lh-heading)}.drop-sub{color:var(--text-muted);font-size:var(--fs-subheadline);margin-top:4px}.receipt-preview-img{width:100%;max-height:420px;object-fit:contain;border-radius:var(--radius-lg);border:1px solid var(--border-soft);background:var(--surface-list)}.receipt-preview-empty{height:180px;background:var(--surface-card);border-radius:var(--radius-lg);display:grid;place-items:center;color:var(--text-muted);font-size:var(--fs-subheadline);border:1px dashed var(--border-strong);text-align:center;padding:16px}.ocr-box{max-height:300px;overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#fff;padding:12px;color:var(--text);font-size:var(--fs-subheadline);white-space:pre-wrap}.analysis-fallback{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3);border:1px solid var(--warning-border);border-radius:var(--radius-lg);background:var(--warning-bg);color:var(--warning-text)}.analysis-fallback p{margin:0;font-size:var(--fs-subheadline);font-weight:650;line-height:1.35}.analysis-fallback .btn{flex:0 0 auto}.analysis-overlay{position:absolute;inset:0;z-index:100;background:var(--surface-main);border-radius:var(--radius-2xl);overflow:hidden}.analysis-skeleton{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:var(--space-4);min-height:100%;padding:0}.analysis-skeleton-main,.analysis-skeleton-side{min-width:0}.analysis-skeleton-side{display:grid;align-content:start;gap:var(--space-4)}.analysis-skeleton-card{padding:var(--space-4);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--surface-card);box-shadow:none}.analysis-skeleton-main>.analysis-skeleton-card{min-height:100%}.skeleton-line,.skeleton-field,.skeleton-textarea,.skeleton-button,.skeleton-receipt,.skeleton-ocr,.skeleton-check{background:var(--surface-tonal);border-radius:var(--radius-md);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-line{height:12px;margin-bottom:var(--space-2)}.skeleton-title{width:38%;height:20px}.skeleton-subtitle{width:58%;margin-bottom:var(--space-4)}.skeleton-kicker{width:26%;height:10px;margin-bottom:var(--space-3)}.skeleton-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}.skeleton-field-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.skeleton-field{height:var(--control-desktop)}.skeleton-field-wide{margin-bottom:var(--space-3)}.analysis-skeleton-vat{padding:var(--space-3);margin-bottom:var(--space-3);border-radius:var(--radius-lg);background:var(--surface-nested)}.skeleton-textarea{height:80px;margin-bottom:var(--space-3)}.skeleton-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.skeleton-button{width:86px;height:var(--control-desktop)}.skeleton-button-primary{width:112px}.skeleton-receipt{height:180px;margin-top:var(--space-2)}.skeleton-ocr{height:112px;margin-top:var(--space-3)}.skeleton-check{height:18px;margin-top:var(--space-2)}.analysis-spinner-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:var(--space-2);min-width:232px;padding:var(--space-5);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--surface-main);box-shadow:var(--shadow-modal);text-align:center}.analysis-spinner{width:28px;height:28px;border-width:3.5px}.analysis-spinner-text{margin:0;color:var(--text-strong);font-size:var(--fs-card-title);font-weight:700;line-height:var(--lh-heading);letter-spacing:-.015em}.analysis-spinner-sub{margin:0;color:var(--text-muted);font-size:var(--fs-subheadline);line-height:1.4}@keyframes skeleton-pulse{0%,100%{opacity:.56}50%{opacity:1}}.empty-state{min-height:180px;display:grid;place-items:center;text-align:center;padding:20px;border:1px dashed var(--border-strong);border-radius:var(--radius-xl);background:var(--surface-card)}.empty-state svg{width:36px;height:36px;margin:0 auto 12px;color:var(--bb-primary);opacity:.6}.empty-title{margin:0 0 5px;color:var(--text-strong);font-weight:700;font-size:var(--fs-card-title);line-height:var(--lh-heading)}.empty-desc{color:var(--text-muted);font-size:var(--fs-subheadline)}.confirm-message{margin:0;color:var(--text);font-size:var(--fs-body);line-height:var(--lh-body)}.alert{padding:12px 14px;border:1px solid var(--info-border);border-radius:var(--radius-lg);background:var(--info-bg);color:var(--info-text);font-size:var(--fs-subheadline);font-weight:600}.alert.success{border-color:var(--success-border);background:var(--success-bg);color:var(--success-text)}.alert.warning{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning-text)}.alert.danger{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.spinner{width:22px;height:22px;border-radius:50%;border:3px solid #dbeafe;border-top-color:var(--bb-primary);animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.loading-row{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-card);font-weight:400;margin-bottom:12px}
.table-card{overflow-x:auto;overflow-y:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--surface-list)}.data-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;font-size:var(--fs-body)}.data-table th{position:sticky;top:0;z-index:1;background:#f1f5f9;color:var(--text-muted);font-size:var(--fs-label);font-weight:650;letter-spacing:var(--ls-label);text-transform:uppercase;text-align:left;padding:10px;border-bottom:1px solid var(--border-soft)}.data-table td{padding:10px;border-bottom:1px solid var(--border-subtle);vertical-align:middle;color:var(--text)}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#f8fafc}.data-table tbody tr.selected{background:#eff6ff}.record-list{display:none;gap:0}.record-card{background:transparent;border:none;border-bottom:1px solid var(--divider);border-radius:0;box-shadow:none;padding:var(--space-3) 0;display:grid;gap:var(--space-2)}.record-card:first-child{padding-top:0}.record-card:last-child{border-bottom:0;padding-bottom:0}.record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.record-title{margin:0;color:var(--text-strong);font-weight:700;font-size:var(--fs-card-title);line-height:var(--lh-heading);letter-spacing:-.01em}.record-meta{margin:3px 0 0;color:var(--text-muted);font-size:var(--fs-subheadline)}.record-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.detail-cell{background:transparent;border:none;border-radius:0;padding:0}.detail-cell+.detail-cell{border-left:1px solid var(--divider);padding-left:var(--space-2)}.detail-label{color:var(--text-muted);font-size:var(--fs-label);font-weight:650;letter-spacing:var(--ls-label);text-transform:uppercase}.detail-value{margin-top:3px;color:var(--text-strong);font-weight:400;font-size:var(--fs-body)}.filters-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.filters-row input,.filters-row select{min-height:36px;font-size:var(--fs-body)}.filter-bar{background:var(--surface-card);border:none;border-radius:var(--radius-xl);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr;gap:10px;align-items:end}.filter-item{display:grid;gap:3px;min-width:0}.filter-item label{font-size:var(--fs-label);font-weight:650;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--text-muted)}.filter-item input,.filter-item select{min-height:34px;font-size:var(--fs-body);padding:6px 10px;width:100%}.mini-list{display:grid;gap:8px}.mini-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--divider);font-size:var(--fs-body)}.mini-row:last-child{border-bottom:0}.mini-label{color:var(--text-muted);font-weight:650}.mini-value{color:var(--text-strong);font-weight:650;text-align:right}.detail-panel{position:sticky;top:84px}.detail-panel .receipt-preview-img{max-height:220px}.split-line{height:1px;background:var(--divider);margin:12px 0}
.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.62)}.modal-backdrop.show{display:flex;animation:backdrop-fade-in 200ms ease both}.modal-backdrop.closing{animation:backdrop-fade-out 180ms ease both}.modal{width:min(100%,560px);max-height:min(88dvh,820px);display:flex;flex-direction:column;overflow:hidden;border:none;border-radius:var(--radius-2xl);background:var(--surface-page);color:var(--text);box-shadow:var(--shadow-modal)}.modal.confirm{max-width:460px;animation:confirm-in 180ms var(--motion-easing-decelerate) both}.modal.wide{width:min(100%,760px)}.modal-head{position:relative;flex-shrink:0;padding:var(--space-4) var(--space-5) var(--space-2) var(--space-5);border:none}.modal-title{margin:0;color:var(--text-strong);font-size:var(--fs-section-head);font-weight:700;letter-spacing:-.02em;line-height:var(--lh-heading)}.modal-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:var(--space-2) var(--space-5) var(--space-4) var(--space-5)}.modal-body .alert.warning,.modal-body .alert.danger{border:none!important;background:var(--warning-bg);color:var(--warning-text)!important;font-weight:600}.modal-body .alert.danger{background:var(--danger-bg);color:var(--danger-text)!important}.modal-actions{display:flex;flex-shrink:0;justify-content:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-5) var(--space-5) var(--space-5)}.modal-actions .btn:last-child{min-width:100px}.modal-close-x{position:absolute;top:var(--space-4);right:var(--space-5);width:36px;height:36px;display:none;align-items:center;justify-content:center;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);cursor:pointer;transition:background 140ms ease,color 140ms ease}.modal-close-x:hover{background:var(--surface-tonal);color:var(--text-strong)}.modal-close-x:active{background:var(--selection-bg);color:var(--text-strong);transform:scale(0.94)}.modal-close-x::before{content:'';position:absolute;inset:-4px;border-radius:inherit;pointer-events:auto}.modal-close-x svg{width:18px;height:18px;pointer-events:none}@keyframes modal-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes modal-out{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}@keyframes confirm-in{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes backdrop-fade-in{from{opacity:0}to{opacity:1}}@keyframes backdrop-fade-out{from{opacity:1}to{opacity:0}}.toast{position:fixed;left:50%;bottom:24px;z-index:var(--z-toast);transform:translate(-50%,140px);display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:min(420px,calc(100vw - 32px));padding:16px 20px;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);background:var(--bb-ink);color:var(--text-inverse);box-shadow:var(--shadow-modal);font-size:var(--fs-subheadline);font-weight:650;opacity:0;pointer-events:none;transition:transform var(--motion-duration-page) var(--motion-easing-decelerate),opacity var(--motion-duration-page) var(--motion-easing-decelerate)}.toast.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}.toast .toast-dismiss{padding:0 8px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--bb-primary);font-size:var(--fs-subheadline);font-weight:650;white-space:nowrap;cursor:pointer}.scan-fab{display:none}@keyframes page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}section[id^="tab-"].active-page{display:block!important;animation:page-in var(--motion-duration-page) var(--motion-easing-decelerate) both;}
@media(max-width:919px){.btn-group button::before{inset:-6px 0}.app-shell{display:block;padding-top:var(--mobile-header-height)}.sidebar,.desktop-only,.topbar{display:none!important}.mobile-only{display:block!important}.main{padding:16px 14px var(--mobile-nav-clearance)}.mobile-header,.mobile-bottom-nav{display:block}.btn-group{--btn-group-height:36px}.btn-group button{font-size:var(--fs-subheadline)}.desktop-header{margin-bottom:14px;min-height:auto;padding-right:0}.page-title{font-size:1.625rem;font-weight:700}.form-grid,.form-grid-3,.scan-workspace,.review-workspace,.records-workspace,.summary-grid,.rules-workspace{grid-template-columns:minmax(0,1fr)}.record-details{grid-template-columns:repeat(2,minmax(0,1fr))}.surface-main,.surface-card,.surface-tonal,.surface-nested{min-width:0;max-width:100%}input,select,textarea,.readonly-value{min-height:var(--control-mobile)}.btn{min-height:var(--control-mobile);font-size:1rem}.toast{left:50%;right:auto;width:calc(100vw - 28px);max-width:none;bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 12px)}.modal-backdrop{align-items:flex-end;padding:0;transition:none}.modal-backdrop.show{animation:backdrop-fade-in 180ms ease both}.modal-backdrop.closing{animation:backdrop-fade-out 180ms ease both}.modal-backdrop:has(.modal.confirm){align-items:center;padding:18px}.modal{width:100%;max-height:86dvh;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.modal.sheet{transform:translateY(100%);will-change:transform;transition:transform var(--motion-duration-enter) var(--motion-easing-decelerate)}.modal.sheet.is-open{transform:translateY(0)}.modal.sheet.closing{transform:translateY(100%);transition-duration:var(--motion-duration-exit);transition-timing-function:var(--motion-easing-accelerate)}.modal.confirm{max-width:380px;border-radius:var(--radius-2xl);animation:confirm-in 180ms var(--motion-easing-decelerate) both}.modal.confirm.closing{animation:modal-out 150ms ease both}.modal-head{padding:var(--space-4) var(--space-4) var(--space-2) var(--space-4)}.modal-body{padding:var(--space-2) var(--space-4) var(--space-4) var(--space-4);max-height:62dvh}.modal-actions{flex-direction:column-reverse!important;gap:8px!important;padding:var(--space-2) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom)) var(--space-4)!important}.modal-actions .btn{width:100%!important;min-height:var(--control-mobile)!important}.modal-actions .btn-danger{background:transparent!important;color:var(--danger)!important;box-shadow:none!important;border:none!important;font-weight:700!important}.modal.confirm .modal-actions{flex-direction:row!important;padding:var(--space-2) var(--space-4) var(--space-4) var(--space-4)!important}.modal.confirm .modal-actions .btn{width:auto!important}.modal.confirm .modal-actions .btn-danger{background:var(--danger)!important;color:#fff!important;box-shadow:none!important;border:none!important;font-weight:650!important}.confirm-backdrop .modal{animation:none}.confirm-backdrop.show .modal{animation:confirm-in 180ms var(--motion-easing-decelerate) both}.confirm-backdrop .modal{width:min(100%,420px);max-height:min(82dvh,620px);border-radius:var(--radius-2xl)}.scan-fab{position:fixed;right:16px;bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 16px);z-index:9100;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:56px;min-height:56px;padding:0 16px;border:1px solid rgba(59,130,246,.22);border-radius:var(--radius-lg);background:var(--bb-primary);color:#fff;box-shadow:0 10px 24px rgba(0,0,0,.28);font-size:1rem;font-weight:650;letter-spacing:-.01em}.filter-grid{grid-template-columns:1fr 1fr}.filter-item input,.filter-item select{min-height:48px;font-size:var(--fs-body)}.receipt-preview-img{max-height:300px}.ocr-box{max-height:220px}.analysis-skeleton{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.analysis-skeleton-side{grid-template-columns:1fr;gap:var(--space-3)}.analysis-skeleton-card{padding:var(--space-4)}.skeleton-field-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-field-grid-three .skeleton-field:last-child{display:none}.analysis-spinner-card{min-width:220px;padding:var(--space-4);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.take-photo-btn{display:none!important}}
@media(max-width:919px){:root{--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px}.surface-main{padding:var(--space-4);border-radius:var(--radius-xl)}}
@media(max-width:919px){.review-queue-workspace{grid-template-columns:1fr;height:auto;min-height:0;max-height:none}.review-queue-pane{max-height:none;overflow:visible}.queue-list,.queue-detail-content{overflow:visible}.queue-detail-content{flex:none}.analysis-fallback{align-items:stretch;flex-direction:column}.analysis-fallback .btn{width:100%}}
@media(min-width:920px){.expense-side-scrim{position:fixed;inset:0;z-index:calc(var(--z-modal) - 1);display:block;border:0;background:rgba(15,23,42,.32);opacity:0;transition:opacity var(--motion-duration-page) var(--motion-easing-decelerate)}.expense-side-scrim:not(.hidden){opacity:1}.expense-side-panel{position:fixed;inset:var(--space-4) var(--space-4) var(--space-4) auto;z-index:var(--z-modal);display:flex;flex-direction:column;width:min(960px,calc(100vw - 280px));overflow:hidden;border-radius:var(--radius-2xl);background:var(--surface-page);box-shadow:var(--shadow-modal);transform:translateX(20%);transition:transform var(--motion-duration-page) var(--motion-easing-decelerate),opacity var(--motion-duration-exit) var(--motion-easing-accelerate)}.expense-side-panel.open{transform:translateX(0);opacity:1}.expense-side-panel.closing{opacity:0}.expense-side-panel:not(.open){pointer-events:none}.expense-side-panel.hidden{display:none}.expense-side-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-shrink:0;padding:var(--space-3) var(--space-4)}.expense-side-head h2{margin:0;color:var(--text-strong);font-size:var(--fs-section-head)}.expense-side-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);min-height:0;flex:1;padding:0 var(--space-4)}.expense-side-receipt{min-width:0;min-height:0;display:flex;overflow:hidden;padding-right:var(--space-4);border-right:1px solid var(--divider)}.expense-side-receipt .queue-receipt-canvas{width:100%;height:100%}.expense-side-details{min-width:0;min-height:0;overflow-y:auto;padding-right:var(--space-2)}.expense-side-details>.queue-expense-scroll{min-height:100%;overflow:visible;padding-right:0}.expense-side-details .queue-detail-summary{padding-top:var(--space-1)}.expense-side-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-shrink:0;padding:var(--space-3) var(--space-4) var(--space-4)}.expense-side-actions span{display:flex;gap:var(--space-2)}.expense-side-actions .btn-danger{margin-right:auto}.expense-side-panel .queue-edit-form{padding-bottom:var(--space-2)}.expense-side-panel .queue-edit-form .field{margin:0}.expense-side-panel .queue-edit-vat{margin:0}.btn:not(.btn-small)::before{content:'';position:absolute;inset:-4px 0;border-radius:inherit;pointer-events:auto}:root{--bb-density:-1;--control-desktop:36px}#reviewBackBtn{width:36px;height:36px;min-width:36px;min-height:36px}.modal:not(.confirm){animation:modal-in 170ms ease both}.modal:not(.confirm).closing{animation:modal-out 150ms ease both}.modal:not(.confirm) .modal-head{padding-right:calc(var(--space-5) + 36px + 4px)}.modal:not(.confirm) .modal-close-x{display:flex}.modal:not(.confirm) .modal-close-btn{display:none}.confirm-backdrop .modal{width:min(440px,calc(100vw - 32px))!important;border-radius:var(--radius-2xl)!important;box-shadow:var(--shadow-modal)!important}.confirm-backdrop .modal-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;margin-top:8px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
@media(prefers-reduced-motion:reduce){.access-spinner{animation-duration:700ms!important}.access-toast{transition-duration:180ms,220ms!important}}
@media(min-width:920px) and (max-width:1279px){.review-queue-workspace{grid-template-columns:minmax(0,1fr)}.review-queue-list-pane{position:absolute;inset:0 auto 0 0;z-index:4;width:280px;transform:translateX(calc(-100% - var(--space-4)));transition:transform var(--motion-duration-page) var(--motion-easing-decelerate);box-shadow:var(--shadow-modal)}.review-queue-workspace.queue-drawer-open .review-queue-list-pane{transform:translateX(0)}.review-queue-main{position:relative;z-index:1}.queue-drawer-toggle,.queue-drawer-close{display:inline-flex}.queue-drawer-close{position:absolute;top:var(--space-2);right:var(--space-2);z-index:1}.queue-drawer-scrim{position:absolute;inset:0;z-index:3;border:0;background:rgba(15,23,42,.32);cursor:pointer}.queue-drawer-scrim.hidden{display:none!important}}
@media(max-width:919px){.review-queue-workspace{grid-template-columns:minmax(0,1fr);height:auto;min-height:0;max-height:none}.review-queue-list-pane{max-height:280px;overflow:hidden}.review-queue-main{min-height:620px}.queue-list{max-height:210px}.queue-drawer-toggle,.queue-drawer-close,.queue-drawer-scrim{display:none!important}.queue-view-switch{display:inline-flex;align-self:flex-start;margin:var(--space-3) 0 0}.queue-view-switch[hidden]{display:none!important}.queue-view-switch button.active{background:var(--selection-border);color:var(--selection-text)}.queue-comparison-grid{display:block}.queue-receipt-pane,.queue-expense-pane{display:none}.queue-show-receipt .queue-receipt-pane,.queue-show-details .queue-expense-pane{display:flex}.queue-receipt-pane{border-right:0;padding-right:0}.queue-detail-content{flex:1;min-height:0;overflow:hidden}.queue-receipt-canvas{height:min(62dvh,520px);min-height:320px;max-height:none}.queue-expense-scroll{padding-right:0}.queue-edit-action-group{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end}.queue-detail-header{align-items:flex-start}.queue-detail-header #queueMarkReadyBtn{flex:0 0 auto}.queue-detail-heading .queue-drawer-toggle{display:none!important}}
