@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.z-10{z-index:10}.z-20{z-index:20}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.-mt-2{margin-top:calc(var(--spacing) * -2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.max-h-80{max-height:calc(var(--spacing) * 80)}.w-4{width:calc(var(--spacing) * 4)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-sm{max-width:var(--container-sm)}.min-w-\[160px\]{min-width:160px}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[250px\]{min-width:250px}.min-w-full{min-width:100%}.flex-1{flex:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--color-border\,\#e5e7eb\)\]{border-color:var(--color-border,#e5e7eb)}.border-amber-300{border-color:var(--color-amber-300)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-500{border-color:var(--color-red-500)}.bg-\[var\(--color-bg-secondary\,\#fff\)\]{background-color:var(--color-bg-secondary,#fff)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-200{background-color:var(--color-amber-200)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.dark\:border-gray-700:where([data-theme=dark],[data-theme=dark] *){border-color:var(--color-gray-700)}.dark\:bg-amber-800:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-amber-800)}.dark\:bg-amber-900\/20:where([data-theme=dark],[data-theme=dark] *){background-color:#7b330633}@supports (color:color-mix(in lab, red, red)){.dark\:bg-amber-900\/20:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-amber-900) 20%, transparent)}}.dark\:bg-blue-900\/20:where([data-theme=dark],[data-theme=dark] *){background-color:#1c398e33}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/20:where([data-theme=dark],[data-theme=dark] *){background-color:color-mix(in oklab, var(--color-blue-900) 20%, transparent)}}.dark\:bg-gray-700:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-gray-700)}.dark\:bg-gray-800:where([data-theme=dark],[data-theme=dark] *){background-color:var(--color-gray-800)}.dark\:text-blue-300:where([data-theme=dark],[data-theme=dark] *){color:var(--color-blue-300)}@media (hover:hover){.dark\:hover\:bg-gray-600:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--color-gray-600)}.dark\:hover\:bg-gray-700:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--color-gray-700)}.dark\:hover\:bg-gray-800:where([data-theme=dark],[data-theme=dark] *):hover{background-color:var(--color-gray-800)}}}*{box-sizing:border-box}html{overflow-x:clip}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg-primary:#f8fafc;--color-bg-secondary:#fff;--color-bg-tertiary:#f1f5f9;--color-bg-hover:#e2e8f0;--color-bg-active:#dbeafe;--color-text-primary:#1e293b;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-text-light:#94a3b8;--color-text-inverse:#fff;--color-border-primary:#e2e8f0;--color-border-secondary:#cbd5e1;--color-border-focus:#3574b8;--color-accent-primary:#3574b8;--color-accent-primary-hover:#1d4ed8;--color-accent-secondary:#5a9bd4;--color-accent-light:#cfe0f3;--color-accent-primary-fill:#2563eb;--color-accent-gold:#d4a017;--color-accent-gold-light:#f5e6c0;--color-accent-gold-dark:#a67c00;--color-success:#22c55e;--color-success-light:#dcfce7;--color-success-dark:#166534;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-warning-dark:#92400e;--color-error:#dc2626;--color-error-light:#fef2f2;--color-error-dark:#991b1b;--color-info:#3574b8;--color-info-light:#cfe0f3;--color-info-dark:#285a91;--color-held:#9d174d;--color-held-light:#fce7f3;--color-header-bg:#1e40af;--color-pdf-bg:#525659;--color-consent-bg:#fefce8;--color-consent-border:#fef08a;--color-consent-text:#713f12;--color-sidebar-bg:#1e293b;--color-sidebar-text:#e2e8f0;--color-sidebar-text-muted:#94a3b8;--color-sidebar-border:#334155;--color-sidebar-hover:#334155;--color-sidebar-active:#3574b8;--color-txn-income:#166534;--color-txn-income-bg:#dcfce7;--color-txn-expense:#991b1b;--color-txn-expense-bg:#fef2f2;--color-txn-transfer:#285a91;--color-txn-transfer-bg:#cfe0f3;--color-txn-split:#92400e;--color-txn-split-bg:#fef3c7;--color-txn-journal:#7c3aed;--color-txn-journal-bg:#f3e8ff;--color-campaign-teal:#1b6b6b;--color-campaign-teal-dark:#144b4b;--color-campaign-teal-light:#e6f2f2;--color-campaign-gold:#f5a623;--color-campaign-gold-dark:#996b0d;--color-campaign-gold-light:#fef7e9;--color-campaign-hill-green:#2d8a5e;--color-campaign-hill-green-light:#edf3e8;--color-campaign-sky:#0d3b3b;--color-campaign-navy:#081e4a;--color-campaign-navy-light:#0a2555;--color-campaign-earth:#8b7355;--color-campaign-earth-light:#f5f0eb;--color-campaign-warm-white:#fdfbf7;--color-campaign-white:#fff;--color-campaign-charcoal:#2d3748;--color-campaign-gold-gradient:#eb9e1f;--color-campaign-gold-dark-gradient:#8a5f0a;--shadow-campaign-text:0 2px 8px #0000004d;--shadow-campaign-text-sm:0 1px 4px #0000004d;--shadow-campaign-nav:-2px 0 8px #0000004d;--shadow-campaign-header:0 2px 8px #0000001a;--shadow-campaign-toast:0 4px 12px #00000026;--shadow-campaign-card:0 2px 8px #0d3b3b14, 0 4px 16px #0d3b3b0f, inset 0 1px 0 #ffffff80;--shadow-campaign-card-hover:0 12px 24px -6px #0d3b3b26, 0 6px 12px -3px #0d3b3b14, inset 0 1px 0 #fff9;--shadow-campaign-btn:0 2px 8px #f5a6234d, 0 4px 12px #00000026, inset 0 1px 0 #ffffff40;--shadow-campaign-btn-hover:0 3px 12px #f5a62366, 0 6px 16px #0003, inset 0 1px 0 #ffffff4d;--shadow-campaign-btn-active:0 1px 4px #f5a62333, 0 2px 6px #0000001a, inset 0 2px 4px #00000026;--shadow-campaign-photo:0 0 0 6px #f5a62326, 0 0 0 8px #0d3b3b4d, 0 8px 32px #0006, 0 4px 12px #0000004d;--color-campaign-border-subtle:#0000000f;--shadow-campaign-input-inset:inset 0 1px 2px #0000000d;--shadow-campaign-input-focus:inset 0 1px 2px #0000000d, 0 0 0 3px #1b6b6b1a;--color-campaign-overlay-dark:#0d3b3b99;--color-campaign-overlay-darker:#0d3b3bb3;--color-campaign-overlay-teal:#1b6b6b66;--color-campaign-overlay-teal-light:#1b6b6b80;--color-campaign-border-light:#ffffff26;--color-campaign-hover-light:#ffffff1a;--color-campaign-chevron:#ffffffb3;--campaign-header-h:calc(64px + 2 * var(--space-2));--campaign-header-h-tall:calc(204px + 2 * var(--space-2));--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-20:80px;--font-size-h1:3rem;--font-size-h2:2rem;--font-size-h3:1.5rem;--font-size-body:1rem;--font-size-small:.875rem;--font-heading:system-ui, sans-serif;--min-touch-target:44px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;color:var(--color-text-primary);background-color:var(--color-bg-primary);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}[data-theme=dark]{--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-bg-hover:#475569;--color-bg-active:#1e3a5f;--color-text-primary:#f1f5f9;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-text-light:#64748b;--color-border-primary:#334155;--color-border-secondary:#475569;--color-border-focus:#5a9bd4;--color-accent-primary:#5a9bd4;--color-accent-primary-hover:#3b82f6;--color-accent-secondary:#8fc1e8;--color-accent-light:#1e3a5f;--color-accent-primary-fill:#2563eb;--color-accent-gold:#e0b840;--color-accent-gold-light:#3d3520;--color-accent-gold-dark:#f5d060;--color-success:#4ade80;--color-success-light:#14532d;--color-success-dark:#86efac;--color-warning:#fbbf24;--color-warning-light:#78350f;--color-warning-dark:#fcd34d;--color-error:#f87171;--color-error-light:#7f1d1d;--color-error-dark:#fca5a5;--color-info:#5a9bd4;--color-info-light:#1e3a5f;--color-info-dark:#8fc1e8;--color-held:#f9a8d4;--color-held-light:#831843;--color-header-bg:#2563eb;--color-pdf-bg:#525659;--color-consent-bg:#fefce8;--color-consent-border:#fef08a;--color-consent-text:#713f12;--color-sidebar-bg:#0f172a;--color-sidebar-text:#e2e8f0;--color-sidebar-text-muted:#94a3b8;--color-sidebar-border:#1e293b;--color-sidebar-hover:#1e293b;--color-sidebar-active:#3574b8;--color-txn-income:#166534;--color-txn-income-bg:#dcfce7;--color-txn-expense:#991b1b;--color-txn-expense-bg:#fef2f2;--color-txn-transfer:#285a91;--color-txn-transfer-bg:#cfe0f3;--color-txn-split:#92400e;--color-txn-split-bg:#fef3c7;--color-txn-journal:#7c3aed;--color-txn-journal-bg:#f3e8ff;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -2px #0000004d;--color-campaign-teal:#2ec4b6;--color-campaign-teal-dark:#23a396;--color-campaign-teal-light:#0f2d2d;--color-campaign-gold:#f5b84a;--color-campaign-gold-dark:#d4952a;--color-campaign-gold-light:#362f1c;--color-campaign-gold-gradient:#d49520;--color-campaign-gold-dark-gradient:#c48a18;--color-campaign-hill-green:#3ebf7a;--color-campaign-hill-green-light:#1a3d2a;--color-campaign-sky:#0e2e2e;--color-campaign-navy:#061838;--color-campaign-navy-light:#081e4a;--color-campaign-earth:#c4a87a;--color-campaign-earth-light:#1f1a14;--color-campaign-warm-white:#0f172a;--color-campaign-white:#1e293b;--color-campaign-charcoal:#e2e8f0;--shadow-campaign-card:0 2px 8px #0000004d, 0 4px 16px #0003;--shadow-campaign-card-hover:0 12px 24px -6px #0006, 0 6px 12px -3px #00000040;--shadow-campaign-btn:0 2px 8px #0006, 0 4px 12px #0000004d;--shadow-campaign-btn-hover:0 3px 12px #00000080, 0 6px 16px #00000059;--shadow-campaign-btn-active:0 1px 4px #0000004d, inset 0 2px 4px #0000004d;--shadow-campaign-input-inset:inset 0 1px 2px #0003;--shadow-campaign-input-focus:inset 0 1px 2px #0003, 0 0 0 3px #2ec4b633;--color-campaign-border-subtle:#ffffff14}:root[data-env=dev]{--color-sidebar-bg:#1e4d35}:root[data-env=staging]{--color-sidebar-bg:#4d3520}[data-theme=dark][data-env=dev]{--color-sidebar-bg:#163d28}[data-theme=dark][data-env=staging]{--color-sidebar-bg:#3a2515}[data-theme=dark] .ag-theme-alpine{--ag-background-color:var(--color-bg-secondary);--ag-header-background-color:var(--color-bg-primary);--ag-odd-row-background-color:var(--color-bg-secondary);--ag-row-hover-color:var(--color-bg-hover);--ag-border-color:var(--color-border-primary);--ag-row-border-color:var(--color-border-primary);--ag-foreground-color:var(--color-text-primary);--ag-secondary-foreground-color:var(--color-text-secondary)}.amount-positive{color:var(--color-txn-income)}.amount-negative{color:var(--color-txn-expense)}.amount-transfer{color:var(--color-txn-transfer)}.amount-dimmed{color:#94a3b8}body{background-color:var(--color-bg-primary);min-height:100vh;color:var(--color-text-primary);margin:0;transition:background-color .2s,color .2s}a{color:var(--color-accent-primary);text-decoration:none}a:hover{text-decoration:underline}button{border:1px solid var(--color-border-secondary);background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;border-radius:6px;padding:.5em 1em;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .15s}button:not([class]):hover{background-color:var(--color-bg-tertiary);border-color:var(--color-text-muted)}button:focus{outline:2px solid var(--color-border-focus);outline-offset:2px}button.primary{background-color:var(--color-accent-primary-fill);border-color:var(--color-accent-primary-fill);color:#fff}button.primary:hover{background-color:var(--color-accent-primary-hover);border-color:var(--color-accent-primary-hover);color:#fff}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--color-border-secondary);background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-radius:6px;padding:.5em;font-size:1rem}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:2px solid var(--color-border-focus);outline-offset:2px;border-color:var(--color-border-focus)}input::placeholder,textarea::placeholder{color:var(--color-text-light)}.card-lift{transition:transform .2s,box-shadow .2s}.card-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px #0000001a,0 4px 10px -3px #0000000d}mark{color:#78350f;background-color:#fef3c7;border-radius:.15em;padding:0 .15em}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.ui-badge{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;vertical-align:middle;border-radius:8px;padding:2px 8px;font-weight:600;line-height:1.3;display:inline-block;position:relative;top:-1px}.ui-badge-sm{border-radius:6px;padding:1px 6px;font-size:.6875rem}.ui-badge-md{border-radius:8px;padding:2px 8px;font-size:.75rem}.ui-badge-lg{border-radius:10px;padding:3px 10px;font-size:.8125rem}.ui-badge-default{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.ui-badge-success{background-color:var(--color-success-light);color:var(--color-success-dark)}.ui-badge-warning{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.ui-badge-error{background-color:var(--color-error-light);color:var(--color-error-dark)}.ui-badge-info{background-color:var(--color-info-light);color:var(--color-info-dark)}.ui-badge-muted{background-color:var(--color-bg-tertiary);color:var(--color-text-muted)}.ui-badge-income{background-color:var(--color-txn-income-bg);color:var(--color-txn-income)}.ui-badge-expense{background-color:var(--color-txn-expense-bg);color:var(--color-txn-expense)}.ui-badge-transfer{background-color:var(--color-txn-transfer-bg);color:var(--color-txn-transfer)}.ui-badge-split{background-color:var(--color-txn-split-bg);color:var(--color-txn-split)}.ui-badge-journal_entry{background-color:var(--color-txn-journal-bg);color:var(--color-txn-journal)}.ui-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;font-family:inherit;font-weight:500;transition:background-color .15s,border-color .15s,opacity .15s;display:inline-flex}.ui-btn:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.ui-btn-sm{padding:.375rem .75rem;font-size:.8125rem}.ui-btn-md{padding:.5rem 1rem;font-size:.875rem}.ui-btn-lg{padding:.625rem 1.25rem;font-size:1rem}.ui-btn-primary{background-color:var(--color-accent-primary-fill);color:#fff;border-color:var(--color-accent-primary-fill)}.ui-btn-primary:hover:not(:disabled){background-color:var(--color-accent-primary-hover);border-color:var(--color-accent-primary-hover)}.ui-btn-primary:active:not(:disabled){background-color:var(--color-info-dark);border-color:var(--color-info-dark)}.ui-btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary);border-color:var(--color-border-secondary)}.ui-btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-text-light)}.ui-btn-secondary:active:not(:disabled){background-color:var(--color-border-secondary)}.ui-btn-danger{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.ui-btn-danger:hover:not(:disabled),.ui-btn-danger:active:not(:disabled){background-color:var(--color-error-dark);border-color:var(--color-error-dark)}.ui-btn-ghost{color:var(--color-text-secondary);background-color:#0000;border-color:#0000}.ui-btn-ghost:hover:not(:disabled){background-color:var(--color-bg-tertiary)}.ui-btn-ghost:active:not(:disabled){background-color:var(--color-bg-hover)}.ui-btn-text{color:var(--color-accent-primary);background-color:#0000;border-color:#0000;padding:.25rem .5rem;font-weight:500}.ui-btn-text:hover:not(:disabled){color:var(--color-accent-primary-hover);background-color:#0000;text-decoration:underline}.ui-btn-text:active:not(:disabled){color:var(--color-info-dark)}.ui-btn-icon{color:var(--color-text-muted);background-color:#0000;border-color:#0000;border-radius:4px;padding:.375rem}.ui-btn-icon:hover:not(:disabled){background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.ui-btn-icon:active:not(:disabled){background-color:var(--color-bg-hover)}.ui-btn-icon-danger{color:var(--color-text-light);background-color:#0000;border-color:#0000;border-radius:4px;padding:.375rem}.ui-btn-icon-danger:hover:not(:disabled){background-color:var(--color-error-light);color:var(--color-error)}.ui-btn-icon-danger:active:not(:disabled){background-color:var(--color-error-light);color:var(--color-error-dark)}.ui-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:auto}.ui-btn:disabled:hover{background-color:inherit;border-color:inherit;color:inherit}.ui-btn-primary:disabled,.ui-btn-primary:disabled:hover{background-color:var(--color-accent-primary-fill);border-color:var(--color-accent-primary-fill);color:#fff}.ui-btn-secondary:disabled,.ui-btn-secondary:disabled:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border-secondary);color:var(--color-text-secondary)}.ui-btn-loading{cursor:wait}.ui-btn-spinner{animation:1s linear infinite ui-btn-spin}@keyframes ui-btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-btn-icon,.ui-btn-icon-right{flex-shrink:0;align-items:center;display:inline-flex}.ui-btn-label{align-items:center;display:inline-flex}.ui-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out ui-modal-fade-in;display:flex;position:fixed;inset:0}.ui-modal-content{background:var(--color-bg-secondary);width:100%;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:8px;outline:none;animation:.2s ease-out ui-modal-slide-up;overflow-y:auto}.ui-modal-sm{max-width:400px}.ui-modal-md{max-width:500px}.ui-modal-lg{max-width:700px}.ui-modal-xl{max-width:1000px}.ui-modal-header{background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:.625rem 1.25rem;display:flex}.ui-modal-title{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:600}.ui-modal-close{cursor:pointer;width:32px;height:32px;color:var(--color-text-muted);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:flex}.ui-modal-close:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.ui-modal-close:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.ui-modal-body{padding:1.5rem}.ui-modal-footer{background-color:var(--color-bg-primary);border-top:1px solid var(--color-border-primary);border-radius:0 0 8px 8px;justify-content:flex-end;align-items:center;gap:.5rem;padding:1rem 1.5rem;display:flex}@keyframes ui-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-modal-slide-up{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.ui-modal-overlay{align-items:flex-end;padding:.5rem}.ui-modal-content{border-radius:12px 12px 0 0;max-height:95vh}.ui-modal-sm,.ui-modal-md,.ui-modal-lg,.ui-modal-xl{max-width:100%}}.ui-toast-container{z-index:1100;flex-direction:column;gap:.5rem;max-width:400px;display:flex;position:fixed;bottom:1rem;right:1rem}.ui-toast{background:var(--color-bg-secondary);border-radius:8px;animation:.3s ease-out ui-toast-slide-in;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.ui-toast-content{align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.ui-toast-icon{flex-shrink:0}.ui-toast-message{color:var(--color-text-primary);flex:1;font-size:.875rem;line-height:1.4}.ui-toast-action{cursor:pointer;border:none;border-radius:4px;flex-shrink:0;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;transition:background-color .15s}.ui-toast-close{cursor:pointer;width:24px;height:24px;color:var(--color-text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:flex}.ui-toast-close:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.ui-toast-progress-track{background-color:var(--color-bg-hover);height:3px}.ui-toast-progress-bar{height:100%;transition:width 50ms linear}.ui-toast-success{border-left:4px solid var(--color-success)}.ui-toast-success .ui-toast-icon{color:var(--color-success)}.ui-toast-success .ui-toast-action{background-color:var(--color-success-light);color:var(--color-success-dark)}.ui-toast-success .ui-toast-action:hover{background-color:var(--color-success-light)}.ui-toast-success .ui-toast-progress-bar{background-color:var(--color-success)}.ui-toast-error{border-left:4px solid var(--color-error)}.ui-toast-error .ui-toast-icon{color:var(--color-error)}.ui-toast-error .ui-toast-action{background-color:var(--color-error-light);color:var(--color-error)}.ui-toast-error .ui-toast-action:hover{background-color:var(--color-error-light)}.ui-toast-error .ui-toast-progress-bar{background-color:var(--color-error)}.ui-toast-warning{border-left:4px solid var(--color-warning)}.ui-toast-warning .ui-toast-icon{color:var(--color-warning)}.ui-toast-warning .ui-toast-action{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.ui-toast-warning .ui-toast-action:hover{background-color:var(--color-warning-light)}.ui-toast-warning .ui-toast-progress-bar{background-color:var(--color-warning)}.ui-toast-info{border-left:4px solid var(--color-accent-primary)}.ui-toast-info .ui-toast-icon{color:var(--color-accent-primary)}.ui-toast-info .ui-toast-action{background-color:var(--color-info-light);color:var(--color-accent-primary-hover)}.ui-toast-info .ui-toast-action:hover{background-color:var(--color-bg-active)}.ui-toast-info .ui-toast-progress-bar{background-color:var(--color-accent-primary)}@keyframes ui-toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (width<=640px){.ui-toast-container{max-width:none;left:1rem;right:1rem}}.ui-skeleton{background:linear-gradient(90deg,#e2e8f0 0%,#f1f5f9 50%,#e2e8f0 100%) 0 0/200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite ui-skeleton-shimmer}.ui-skeleton-text{width:100%;height:1em;margin-bottom:.5em}.ui-skeleton-text:last-child{margin-bottom:0}.ui-skeleton-rectangular{width:100%;min-height:20px}.ui-skeleton-circular{border-radius:50%}.ui-skeleton-lines{flex-direction:column;gap:.5em;display:flex}.ui-skeleton-lines .ui-skeleton-text{margin-bottom:0}.ui-skeleton-card{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.ui-skeleton-card-content{flex-direction:column;gap:.5rem;padding:1rem;display:flex}.ui-skeleton-table-row{border-bottom:1px solid #e2e8f0;gap:1rem;padding:.75rem 1rem;display:flex}.ui-skeleton-table-row .ui-skeleton-text{flex:1;margin-bottom:0}@keyframes ui-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-skeleton-pulse{animation:1.5s ease-in-out infinite ui-skeleton-pulse}@keyframes ui-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.ui-form-field{flex-direction:column;gap:.375rem;display:flex}.ui-form-field-label{color:var(--color-text-primary);font-size:.875rem;font-weight:500}.ui-form-field-required{color:var(--color-error);margin-left:.25rem}.ui-form-field-hint{color:var(--color-text-muted);margin:0;font-size:.75rem}.ui-form-field-error-message{color:var(--color-error);margin:0;font-size:.75rem}.ui-form-field-error input,.ui-form-field-error select,.ui-form-field-error textarea{border-color:var(--color-error)}.ui-form-field-error input:focus,.ui-form-field-error select:focus,.ui-form-field-error textarea:focus{border-color:var(--color-error);box-shadow:0 0 0 2px #dc262633}.ui-form-field input,.ui-form-field select,.ui-form-field textarea{border:1px solid var(--color-border-secondary);background-color:var(--color-bg-secondary);border-radius:6px;padding:10px 12px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.ui-form-field input:focus,.ui-form-field select:focus,.ui-form-field textarea:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 2px #3574b833}.ui-form-field input:disabled,.ui-form-field select:disabled,.ui-form-field textarea:disabled{background-color:var(--color-bg-tertiary);cursor:not-allowed}.ui-form-field textarea{resize:vertical;min-height:80px}.ui-message-box{border:1px solid;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex}.ui-message-box-icon{flex-shrink:0;margin-top:.125rem}.ui-message-box-content{flex:1;min-width:0}.ui-message-box-title{margin:0 0 .25rem;font-size:.875rem;font-weight:600}.ui-message-box-message{font-size:.875rem;line-height:1.5}.ui-message-box-message p{margin:0}.ui-message-box-close{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:opacity .15s,background-color .15s;display:flex}.ui-message-box-close:hover{opacity:1;background-color:#0000000d}.ui-message-box-success{background-color:var(--color-success-light);border-color:var(--color-success)}.ui-message-box-success .ui-message-box-icon{color:var(--color-success)}.ui-message-box-success .ui-message-box-title,.ui-message-box-success .ui-message-box-message,.ui-message-box-success .ui-message-box-close{color:var(--color-success-dark)}.ui-message-box-error{background-color:var(--color-error-light);border-color:var(--color-error)}.ui-message-box-error .ui-message-box-icon{color:var(--color-error)}.ui-message-box-error .ui-message-box-title,.ui-message-box-error .ui-message-box-message,.ui-message-box-error .ui-message-box-close{color:var(--color-error-dark)}.ui-message-box-warning{background-color:var(--color-warning-light);border-color:var(--color-warning)}.ui-message-box-warning .ui-message-box-icon{color:var(--color-warning)}.ui-message-box-warning .ui-message-box-title,.ui-message-box-warning .ui-message-box-message,.ui-message-box-warning .ui-message-box-close{color:var(--color-warning-dark)}.ui-message-box-info{background-color:var(--color-info-light);border-color:var(--color-info)}.ui-message-box-info .ui-message-box-icon{color:var(--color-accent-primary)}.ui-message-box-info .ui-message-box-title,.ui-message-box-info .ui-message-box-message,.ui-message-box-info .ui-message-box-close{color:var(--color-info-dark)}.ui-tabs{border-bottom:1px solid var(--color-border-primary);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0;margin-bottom:1.5rem;display:flex;overflow-x:auto}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{cursor:pointer;color:var(--color-text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .15s}.ui-tab:hover{color:var(--color-text-primary)}.ui-tab:focus:not(:focus-visible){outline:none}.ui-tab:focus-visible{z-index:1;outline:2px solid var(--color-accent-primary);outline-offset:2px;position:relative}.ui-tab.active{color:var(--color-accent-primary);border-bottom:3px solid var(--color-accent-primary);background:var(--color-accent-light);font-weight:600}.ui-tab:disabled{opacity:.5;cursor:not-allowed}.ui-tab__label{display:inline}.ui-tab__badge{border-radius:10px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;margin-left:.5rem;padding:0 .375rem;font-size:.6875rem;font-weight:600;display:inline-flex}.ui-tab__badge--warning{background:var(--color-warning);color:#856404}.ui-tab__badge--info{background:var(--color-info-light);color:var(--color-info-dark)}.year-filter{align-items:center;display:inline-flex}.year-filter-select{color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25rem;border-radius:.375rem;min-width:100px;padding:.5rem 2rem .5rem .75rem;font-size:.875rem;font-weight:500}.year-filter-select:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-secondary)}.year-filter-select:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 2px #3574b833}.ui-segmented-control{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:12px;align-items:center;gap:3px;padding:5px;display:inline-flex}.ui-segmented-control__button{cursor:pointer;color:var(--color-text-secondary);white-space:nowrap;background:0 0;border:none;border-radius:9px;padding:.656rem 1.3125rem;font-family:inherit;font-size:1.3125rem;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s,box-shadow .15s}.ui-segmented-control__button:hover:not(.active):not(:disabled){color:var(--color-text-primary);background:#0000001f}.ui-segmented-control__button.active{background:var(--color-accent-primary-fill);color:#fff;box-shadow:0 1px 2px #00000014}.ui-segmented-control__button:disabled{opacity:.5;cursor:not-allowed}.ui-segmented-control__button:focus:not(:focus-visible){outline:none}.ui-segmented-control__button:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:1px;z-index:1}.ui-segmented-control--sm{border-radius:11px;padding:3px}.ui-segmented-control--sm .ui-segmented-control__button{border-radius:8px;padding:.469rem .9375rem;font-size:1.219rem}.ui-segmented-control--lg .ui-segmented-control__button{padding:.844rem 1.6875rem;font-size:1.5rem}.ui-segmented-control--full-width{width:100%;display:flex}.ui-segmented-control--full-width .ui-segmented-control__button{flex:1}@media (width<=768px){.ui-segmented-control--responsive{flex-wrap:wrap;gap:2px}.ui-segmented-control--responsive .ui-segmented-control__button{flex:auto;min-height:44px;padding:.5rem .75rem}}.filter-bar{flex-wrap:wrap;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.filter-bar__year select{color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.875rem;border-radius:.5625rem;min-width:100px;padding:.75rem 2.25rem .75rem 1.125rem;font-size:1.3125rem;font-weight:500}.filter-bar__year select:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-secondary)}.filter-bar__year select:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 2px #3574b833}.filter-bar__spacer{flex:1}.filter-bar__trailing{color:var(--color-text-secondary);align-items:center;gap:.5rem;margin-left:auto;font-size:.875rem;display:flex}.tree-table{--tree-table-font-size:13px;--tree-table-indent-size:20px;--tree-table-row-height:36px;--tree-table-header-padding:10px 12px;--tree-table-cell-padding:0 12px;--tree-table-min-column-width:50px;border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);font-size:var(--tree-table-font-size);border-radius:6px;outline:none;flex-direction:column;display:flex;overflow:hidden}.tree-table:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-2px}.tree-table-header{background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-primary);color:var(--color-text-secondary);z-index:10;font-weight:600;display:flex;position:sticky;top:0}.tree-table-header-cell{padding:var(--tree-table-header-padding);text-overflow:ellipsis;white-space:nowrap;border-right:1px solid var(--color-border-primary);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.tree-table-header-cell:last-child{border-right:none}.tree-table-resize-handle{cursor:col-resize;z-index:11;width:10px;height:100%;position:absolute;top:0}.tree-table-resize-handle.resize-handle-right{right:0}.tree-table-resize-handle.resize-handle-left{left:0}.tree-table-header-cell.reorderable{cursor:grab}.tree-table-header-cell.reorderable:active{cursor:grabbing}.tree-table-header-cell.dragging{opacity:.5}.tree-table-header-cell.drag-over-left{box-shadow:inset 2px 0 0 var(--color-accent-primary)}.tree-table-header-cell.drag-over-right{box-shadow:inset -2px 0 0 var(--color-accent-primary)}.tree-table-header-content{pointer-events:none;align-items:center;gap:4px;display:flex}.tree-table-level-controls{pointer-events:auto;align-items:center;display:inline-flex}.tree-level-btn{cursor:pointer;width:20px;height:20px;color:var(--color-text-muted);background:0 0;border:none;border-radius:3px;outline:none;justify-content:center;align-items:center;padding:0;transition:color .1s,background-color .1s;display:inline-flex}.tree-level-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.tree-level-btn:active{background:var(--color-bg-active)}.tree-level-btn.expanded{color:var(--color-accent-primary);background:var(--color-accent-light)}.tree-level-btn.mixed{color:var(--color-warning)}.tree-table-row.sticky-parent{background:var(--color-bg-secondary);box-shadow:0 1px 2px #0000000d}.tree-table-body{flex:1;overflow:hidden auto}.tree-table-row{cursor:pointer;transition:background-color .1s;display:flex}.tree-table.hover-enabled .tree-table-row:hover{background-color:var(--color-bg-hover)}.tree-table-row.selected,.tree-table-row.selected:hover{background-color:var(--color-bg-active)}.tree-table-row.has-children>.tree-table-cell:first-child .tree-cell-value{font-weight:500}.tree-table-row.depth-0.has-children{background-color:#0000000a}.tree-table-row.depth-0.has-children:hover{background-color:#00000012}.tree-table-cell{padding:var(--tree-table-cell-padding);border-right:1px solid #0000;align-items:center;display:flex;overflow:hidden}.tree-table-cell:has(.tree-cell-content){align-items:stretch}.tree-table-cell:last-child{border-right:none}.tree-table-cell.editable{cursor:text}.tree-table-cell.editable:hover{background-color:#00000005}.tree-table-edit-input{border:2px solid var(--color-accent-primary);background:var(--color-bg-primary);width:100%;height:100%;color:var(--color-text-primary);font-size:inherit;box-sizing:border-box;border-radius:3px;outline:none;margin:-1px;padding:0 8px;font-family:inherit}.tree-table-edit-input:focus{box-shadow:0 0 0 2px #3b82f633}.tree-table-cell.cell-dirty{background-color:#fbbf241a}.tree-cell-content{align-items:center;gap:4px;width:100%;min-width:0;height:100%;display:flex;position:relative}.tree-connector-line{background:var(--color-border-secondary);width:1px;position:absolute;top:0;bottom:0}.tree-connector-vertical{background:var(--color-border-secondary);width:1px;height:50%;position:absolute;top:0}.tree-connector-vertical:not(.last-child){height:100%}.tree-connector-horizontal{background:var(--color-border-secondary);width:10px;height:1px;position:absolute;top:50%;transform:translateY(-50%)}.tree-expand-btn{cursor:pointer;width:20px;height:20px;color:var(--color-text-muted);background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .1s,background-color .1s;display:flex}.tree-expand-btn.expandable:hover{color:var(--color-text-primary);background-color:var(--color-bg-hover)}.tree-expand-btn.expandable:active{background-color:var(--color-bg-active)}.tree-expand-btn.leaf{cursor:default}.tree-leaf-spacer{width:16px;height:16px}.tree-cell-value{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);overflow:hidden}.tree-table-cell{font-variant-numeric:tabular-nums}.tree-table-loading{color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.tree-table-spinner{border:2px solid var(--color-border-primary);border-top-color:var(--color-accent-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite tree-table-spin}@keyframes tree-table-spin{to{transform:rotate(360deg)}}.tree-table-empty{color:var(--color-text-muted);justify-content:center;align-items:center;padding:48px 24px;font-style:italic;display:flex}.tree-table-body::-webkit-scrollbar{width:8px;height:8px}.tree-table-body::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}.tree-table-body::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:4px}.tree-table-body::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.tree-drag-handle{width:18px;height:18px;color:var(--color-text-muted);cursor:grab;opacity:0;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin-right:2px;transition:opacity .15s,color .1s,background-color .1s;display:flex}.tree-table-row:hover .tree-drag-handle{opacity:1}.tree-drag-handle:hover{color:var(--color-text-primary);background-color:var(--color-bg-hover)}.tree-drag-handle:active{cursor:grabbing;background-color:var(--color-bg-active)}.tree-table-row.dragging{opacity:.5}.tree-table-row.drop-target-valid{background-color:var(--color-accent-light);box-shadow:inset 0 0 0 2px var(--color-accent-primary)}.tree-table-row.drop-target-invalid{background-color:var(--color-error-light,#ef44441a);cursor:not-allowed}.tree-table-row.drop-disabled{opacity:.6;cursor:not-allowed}.tree-table-row.drop-disabled .tree-cell-value{color:var(--color-text-muted)}[data-theme=dark] .tree-table-row.sticky-parent{box-shadow:0 1px 2px #0003}[data-theme=dark] .tree-table-row.depth-0.has-children{background-color:#ffffff0f}[data-theme=dark] .tree-table-row.depth-0.has-children:hover{background-color:#ffffff1a}[data-theme=dark] .tree-table-cell.editable:hover{background-color:#ffffff08}[data-theme=dark] .tree-table-cell.cell-dirty{background-color:#fbbf2426}@container (width<=600px){.tree-table{font-size:12px}.tree-table-header-cell,.tree-table-cell{padding:8px}}.ui-tooltip{background-color:var(--color-text-primary);color:var(--color-bg-secondary);z-index:9999;pointer-events:none;border-radius:4px;max-width:300px;padding:.375rem .625rem;font-size:.8125rem;animation:.15s ease-out tooltip-fade-in}@keyframes tooltip-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ui-autocomplete{position:relative}.ui-autocomplete__input{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);width:100%;color:var(--color-text-primary);border-radius:6px;outline:none;padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.ui-autocomplete__input:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #3b82f626}.ui-autocomplete__input:disabled{opacity:.5;cursor:not-allowed}.ui-autocomplete__loading{color:var(--color-text-muted);padding:.25rem 0;font-size:.8125rem}.ui-autocomplete__dropdown{z-index:1000;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;max-height:240px;margin:0;padding:.25rem;list-style:none;overflow-y:auto;box-shadow:0 4px 12px #0000001f}.ui-autocomplete__option{cursor:pointer;border-radius:4px;padding:.5rem .75rem;font-size:.875rem}.ui-autocomplete__option--highlighted{background-color:var(--color-bg-hover)}.ui-autocomplete__no-results{color:var(--color-text-muted);padding:.75rem;font-size:.875rem}.ui-empty-state{text-align:center;color:var(--text-muted);padding:2rem 1.5rem}.ui-empty-state__icon{color:var(--text-muted);margin-bottom:.75rem}.ui-empty-state__icon svg{width:2.5rem;height:2.5rem}.ui-empty-state__title{color:var(--text-primary);margin:0 0 .375rem;font-size:.9375rem;font-weight:600}.ui-empty-state__description{max-width:400px;margin:0 auto;font-size:.875rem}.ui-empty-state__hint{opacity:.8;max-width:400px;margin:.375rem auto 0;font-size:.8125rem}.ui-empty-state__actions{justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.error-boundary-fallback{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.error-boundary-fallback h2{color:var(--color-text-primary);margin:0;font-size:1.25rem}.error-boundary-fallback details{text-align:left;max-width:600px}.error-boundary-fallback pre{background:var(--color-bg-tertiary);white-space:pre-wrap;word-break:break-word;border-radius:4px;padding:.75rem;font-size:.8rem;overflow-x:auto}.error-boundary-fallback__retry{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);cursor:pointer;border-radius:4px;padding:.5rem 1.5rem;font-size:.9rem}.error-boundary-fallback__retry:hover{background:var(--color-bg-tertiary)}.ui-selectable-list__header{border-bottom:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;margin-bottom:.25rem;padding:.5rem 0;display:flex}.ui-selectable-list__select-all{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.ui-selectable-list__count{color:var(--color-text-muted);font-size:.8125rem}.ui-selectable-list__items{flex-direction:column;display:flex}.ui-selectable-list__item{cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.875rem;display:flex}.ui-selectable-list__item:hover{background-color:var(--color-bg-hover)}.ui-selectable-list__item input[type=checkbox]{flex-shrink:0}.waterfall-chart{width:100%;overflow-x:auto}.waterfall-chart svg{min-width:400px;display:block}.waterfall-zero-line{stroke:var(--color-border);stroke-width:1px;stroke-dasharray:4 2}.waterfall-bar-total{fill:#2d3a2d}.waterfall-bar-result{fill:#4e79a7}.waterfall-bar-negative{fill:var(--color-error)}.waterfall-bar-increase{fill:var(--color-success)}.waterfall-bar-decrease{fill:#8b3a3a}.waterfall-value-label{fill:var(--color-text-primary);font-size:12px;font-weight:600}.waterfall-bar-label{fill:var(--color-text-secondary);font-size:11px}.waterfall-connector{stroke:var(--color-text-tertiary);stroke-width:1px;stroke-dasharray:3 2}.ui-form-group{margin-bottom:1rem}.ui-form-group:last-child{margin-bottom:0}.ui-form-group label{color:var(--color-text-secondary);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.ui-form-row{gap:1rem;margin-bottom:1rem;display:flex}.ui-form-row .ui-form-group{flex:1;margin-bottom:0}.ui-actions{gap:.5rem;margin-top:1rem;display:flex}.ui-actions-right{gap:.5rem;margin-left:auto;display:flex}.ui-checkbox-label,.ui-form-group label.ui-checkbox-label{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;font-weight:400;display:inline-flex}.ui-checkbox-label input[type=checkbox]{vertical-align:middle;cursor:pointer;flex-shrink:0;width:16px;height:16px;margin:0}.badge-grid{vertical-align:middle;white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:.8rem;font-weight:500;line-height:1.2;display:inline-block}.login-page{background:url(/images/hills-desktop.webp) 50%/cover no-repeat;background-color:var(--color-sidebar-bg);flex-direction:column;justify-content:center;align-items:center;gap:2rem;min-height:100vh;display:flex}.login-card{background:var(--color-bg-secondary);text-align:center;width:90%;max-width:400px;box-shadow:var(--shadow-lg);border-radius:12px;padding:2.5rem}.login-title{color:var(--color-text-primary);margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.login-card p{color:var(--color-text-muted);margin:0 0 1.5rem}.login-form{flex-direction:column;gap:.75rem;display:flex}.login-form input{border:1px solid var(--color-border);background:var(--color-bg-primary);width:100%;color:var(--color-text-primary);box-sizing:border-box;border-radius:6px;padding:.75rem;font-size:1rem}.login-form input:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 2px var(--color-accent-primary-light,#3b82f633);outline:none}.login-card .ui-btn{width:100%;margin-top:.5rem;padding:.75rem 1.5rem;font-size:1rem}.login-card .error-message{color:var(--color-error);background:var(--color-error-light);border-radius:6px;margin:0 0 1.5rem;padding:.75rem;font-size:.875rem}.theme-toggle{color:var(--color-sidebar-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;transition:background-color .15s,color .15s;display:flex}.theme-toggle:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text)}.theme-toggle:focus{outline:none}.theme-toggle:focus-visible{box-shadow:inset 0 0 0 2px var(--color-accent-secondary)}.theme-toggle svg{flex-shrink:0}.theme-toggle-label{font-size:.875rem;font-weight:400}.sidebar .theme-toggle{width:100%;color:var(--color-sidebar-text-muted);justify-content:flex-start;padding:.5rem 1rem}.sidebar .theme-toggle:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text)}.mobile-header .theme-toggle{justify-content:center;min-width:44px;min-height:44px;padding:.5rem}.nav-section-container{list-style:none}.nav-section-header{cursor:pointer;text-transform:uppercase;letter-spacing:.1em;width:100%;color:var(--color-sidebar-text-muted);opacity:.85;background:0 0;border:none;justify-content:space-between;align-items:center;padding:.5rem 1rem .375rem 28px;font-family:inherit;font-size:.75rem;font-weight:600;display:flex}.nav-section-header:hover{opacity:1;background:var(--color-sidebar-hover)}.nav-section-header:focus{outline:none}.nav-section-header:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px;border-radius:4px}.nav-section-icon{opacity:.5;flex-shrink:0;transition:transform .2s}.nav-section-icon.expanded{transform:rotate(90deg)}.nav-section-items{margin:0;padding:0;list-style:none;transition:max-height .2s ease-out,opacity .2s ease-out;overflow:hidden}.nav-section-items>li>a{padding-left:36px}.nav-section-items>li>a.active{padding-left:33px}.nav-section-items.expanded{opacity:1;max-height:500px}.nav-section-items.collapsed{opacity:0;visibility:hidden;max-height:0}.nav-section-dot{background:var(--color-accent-primary);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.nav-section-container.secondary .nav-section-header{color:var(--color-sidebar-text-muted);opacity:.8}.nav-subgroup-header{text-transform:uppercase;letter-spacing:.08em;color:var(--color-sidebar-text-muted);opacity:.7;cursor:default;padding:.75rem 1rem .25rem 32px;font-size:.6875rem;font-weight:600;list-style:none}.nav-subgroup-item a{padding-left:36px!important}.nav-subgroup-item a.active{padding-left:33px!important}.nav-standalone{margin-top:.5rem;list-style:none}.nav-standalone>a{color:var(--color-sidebar-text);padding:.5rem 1rem .5rem 36px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:block}.nav-standalone>a:hover{background:var(--color-sidebar-hover)}.nav-standalone>a.active{background:var(--color-sidebar-active);color:#fff;border-left:3px solid var(--color-accent-gold);padding-left:33px}.app-layout{min-height:100vh;display:flex}.sidebar{background:var(--color-sidebar-bg);width:195px;color:var(--color-sidebar-text);flex-direction:column;flex-shrink:0;padding:1rem 0;transition:width .2s,background-color .2s;display:flex;position:relative}.sidebar.collapsed{width:28px;transition:width .15s,margin-right .15s,box-shadow .15s,background-color .2s}.sidebar.collapsed .nav-list,.sidebar.collapsed .sidebar-footer{display:none}.sidebar.collapsed .sidebar-header{border-bottom:none;padding:.5rem 0}.sidebar.collapsed .sidebar-header>a{display:none}.sidebar.collapsed:hover{z-index:100;width:195px;margin-right:-167px;box-shadow:2px 0 8px #0000004d}.sidebar.collapsed:hover .nav-list,.sidebar.collapsed:hover .sidebar-footer,.sidebar.collapsed:hover .sidebar-header>a{animation:.12s 40ms both sidebarPeekFadeIn;display:block}.sidebar.collapsed:hover .sidebar-header{border-bottom:1px solid var(--color-sidebar-border);padding:0 1rem .375rem}.sidebar.collapsed:hover .sidebar-toggle{margin:0;position:absolute;bottom:4px;right:4px}@keyframes sidebarPeekFadeIn{0%{opacity:0}to{opacity:1}}.sidebar.collapsed.peek-dismissed:hover{width:28px;box-shadow:none;margin-right:0}.sidebar.collapsed.peek-dismissed:hover .nav-list,.sidebar.collapsed.peek-dismissed:hover .sidebar-footer,.sidebar.collapsed.peek-dismissed:hover .sidebar-header>a{animation:none;display:none}.sidebar.collapsed.peek-dismissed:hover .sidebar-header{border-bottom:none;padding:.5rem 0}.sidebar.collapsed.peek-dismissed:hover .sidebar-toggle{margin:0 auto;position:static}.sidebar-header{border-bottom:1px solid var(--color-sidebar-border);flex-direction:column;align-items:center;padding:0 1rem .375rem;display:flex;position:relative}.sidebar-toggle{cursor:pointer;color:var(--color-sidebar-text-muted);background:0 0;border:none;border-radius:4px;outline:none;justify-content:center;align-items:center;padding:4px;transition:background-color .15s,color .15s;display:flex;position:absolute;bottom:4px;right:4px}.sidebar-toggle:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text)}.sidebar-toggle:focus{outline:none}.sidebar.collapsed .sidebar-toggle{margin:0 auto;position:static}.sidebar-logo{width:auto;height:122px}.nav-list{flex:1;margin:1rem 0;padding:0;list-style:none}.nav-list a{color:var(--color-sidebar-text);padding:.5rem 1rem .5rem 36px;font-size:.875rem;text-decoration:none;transition:background-color .15s;display:block}.nav-list a:hover{background:var(--color-sidebar-hover)}.nav-list a:focus{outline:none}.nav-list a:focus-visible{box-shadow:inset 0 0 0 2px var(--color-accent-secondary)}.nav-list a.active{background:var(--color-sidebar-active);color:#fff;border-left:3px solid var(--color-accent-gold);padding-left:33px}.nav-list a.nav-sibling{background:color-mix(in srgb, var(--color-sidebar-active) 20%, transparent)}.nav-list a.nav-sibling:hover{background:color-mix(in srgb, var(--color-sidebar-active) 40%, transparent)}.main-content{background:var(--color-bg-primary);flex:1;min-width:0;padding:1.5rem;transition:background .2s;overflow:auto}.sidebar-footer{border-top:1px solid var(--color-sidebar-border);padding:1rem}.user-info{color:var(--color-sidebar-text-muted);margin-top:.75rem;margin-bottom:.5rem;font-size:.875rem}.logout-btn{border:1px solid var(--color-border-secondary);width:100%;color:var(--color-sidebar-text-muted);background:0 0;padding:.5rem;font-size:.875rem}.logout-btn:hover{background:var(--color-sidebar-hover);border-color:var(--color-text-light);color:var(--color-sidebar-text)}.nav-badge{background:var(--color-warning);min-width:16px;height:16px;color:var(--color-text-primary);border-radius:8px;justify-content:center;align-items:center;margin-left:8px;padding:0 4px;font-size:.7rem;font-weight:600;display:inline-flex}.nav-list a.active .nav-badge{color:var(--color-accent-primary);background:#fff}.mobile-header{background:var(--color-sidebar-bg);color:var(--color-sidebar-text);z-index:100;align-items:center;gap:1rem;padding:.75rem 1rem;transition:background-color .2s;display:none;position:fixed;top:0;left:0;right:0}.mobile-logo{object-fit:contain;flex:1;width:auto;height:54px}.menu-btn{cursor:pointer;color:var(--color-sidebar-text);background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:flex}.menu-btn:hover{color:var(--color-sidebar-text)}.sidebar-overlay{z-index:199;background:#00000080;display:none;position:fixed;inset:0}@media (width<=1024px){.sidebar{width:200px}.main-content{padding:1rem}}@media (width<=768px){.sidebar-toggle{display:none}.mobile-header{padding-top:max(.25rem, env(safe-area-inset-top));padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));display:flex}.sidebar{z-index:200;width:260px;padding-left:env(safe-area-inset-left);padding-bottom:env(safe-area-inset-bottom);transition:transform .3s,background-color .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.main-content{padding-top:calc(1.5rem + 56px + env(safe-area-inset-top,0px));padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:max(1rem, env(safe-area-inset-bottom))}.app-layout{flex-direction:column}.nav-list a{align-items:center;min-height:44px;padding:.75rem 1rem;display:flex}.menu-btn{min-width:44px;min-height:44px;padding:.5rem}.logout-btn{min-height:44px;padding:.75rem}}.preview-gate__overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preview-gate__card{background:var(--color-bg-secondary);text-align:center;border-radius:8px;width:90%;max-width:400px;padding:2rem;box-shadow:0 4px 24px #0003}.preview-gate__title{margin:0 0 .75rem}.preview-gate__description{color:var(--color-text-secondary);margin:0 0 1rem;line-height:1.5}.shortcuts-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shortcuts-modal{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);width:90%;max-width:500px;max-height:80vh;box-shadow:var(--shadow-lg);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.shortcuts-header{border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-tertiary);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.shortcuts-header h2{color:var(--color-text-primary);margin:0;font-size:1.125rem}.shortcuts-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;line-height:1;display:flex}.shortcuts-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.shortcuts-content{padding:1rem 1.5rem;overflow-y:auto}.shortcuts-section{margin-bottom:1.5rem}.shortcuts-section:last-child{margin-bottom:0}.shortcuts-section h3{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.875rem;font-weight:600}.shortcuts-hint{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.8125rem}.shortcuts-list{margin:0;padding:0;list-style:none}.shortcuts-list li{border-bottom:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.shortcuts-list li:last-child{border-bottom:none}.shortcut-key{align-items:center;gap:.25rem;display:flex}.shortcut-key kbd{background:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);min-width:24px;height:24px;color:var(--color-text-primary);box-shadow:0 1px 0 var(--color-border-secondary);border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:.75rem;font-weight:500;display:inline-flex}.shortcut-desc{color:var(--color-text-secondary);font-size:.875rem}.shortcuts-footer{border-top:1px solid var(--color-border-primary);background:var(--color-bg-tertiary);text-align:center;padding:.75rem 1.5rem}.shortcuts-footer p{color:var(--color-text-muted);margin:0;font-size:.8125rem}@media (width<=768px){.shortcuts-modal{width:95%;max-height:85vh;margin:1rem}.shortcuts-header,.shortcuts-content{padding:.875rem 1rem}.shortcuts-footer{padding:.625rem 1rem}.shortcuts-list li{flex-direction:column;align-items:flex-start;gap:.25rem}.shortcut-desc{font-size:.8125rem}}.pvtUi{color:#2a3f5f;border-collapse:collapse;font-family:Verdana}.pvtUi select{-webkit-user-select:none;user-select:none;-khtml-user-select:none}.pvtUi td.pvtOutput{vertical-align:top}table.pvtTable{text-align:left;border-collapse:collapse;margin-top:3px;margin-left:3px;font-family:Verdana;font-size:8pt}table.pvtTable thead tr th,table.pvtTable tbody tr th{background-color:#ebf0f8;border:1px solid #c8d4e3;padding:5px;font-size:8pt}table.pvtTable .pvtColLabel{text-align:center}table.pvtTable .pvtTotalLabel{text-align:right}table.pvtTable tbody tr td{color:#2a3f5f;vertical-align:top;text-align:right;background-color:#fff;border:1px solid #c8d4e3;padding:5px}.pvtTotal,.pvtGrandTotal{font-weight:700}.pvtRowOrder,.pvtColOrder{cursor:pointer;-webkit-user-select:none;user-select:none;-khtml-user-select:none;width:15px;margin-left:5px;display:inline-block;text-decoration:none!important}.pvtAxisContainer,.pvtVals{background:#f2f5fa;border:1px solid #a2b1c6;min-width:20px;min-height:20px;padding:5px}.pvtRenderers{-webkit-user-select:none;user-select:none;padding-left:5px}.pvtDropdown{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-khtml-user-select:none;margin:3px;display:inline-block;position:relative}.pvtDropdownIcon{float:right;color:#a2b1c6}.pvtDropdownCurrent{text-align:left;box-sizing:border-box;background:#fff;border:1px solid #a2b1c6;border-radius:4px;width:210px;display:inline-block;position:relative}.pvtDropdownCurrentOpen{border-radius:4px 4px 0 0}.pvtDropdownMenu{box-sizing:border-box;background:#fff;border:1px solid #a2b1c6;border-top-color:#dfe8f3;border-radius:0 0 4px 4px;width:100%;margin-top:-1px;position:absolute}.pvtDropdownValue{text-align:left;padding:2px 5px;font-size:12px}.pvtDropdownActiveValue{background:#ebf0f8}.pvtVals{text-align:center;white-space:nowrap;vertical-align:top;padding-bottom:12px}.pvtRows{height:35px}.pvtAxisContainer li{cursor:move;padding:8px 6px;list-style-type:none}.pvtAxisContainer li.pvtPlaceholder{border:1px dashed #a2b1c6;border-radius:5px;padding:3px 15px}.pvtAxisContainer li.pvtPlaceholder span.pvtAttr{display:none}.pvtAxisContainer li span.pvtAttr{-webkit-text-size-adjust:100%;white-space:nowrap;-webkit-user-select:none;user-select:none;-khtml-user-select:none;background:#f3f6fa;border:1px solid #c8d4e3;border-radius:5px;padding:2px 5px}.pvtTriangle{cursor:pointer;color:#506784}.pvtHorizList li{display:inline-block}.pvtVertList{vertical-align:top}.pvtFilteredAttribute{font-style:italic}.sortable-chosen .pvtFilterBox{display:none!important}.pvtCloseX{cursor:pointer;font-size:18px;position:absolute;top:5px;right:5px;text-decoration:none!important}.pvtDragHandle{cursor:move;color:#a2b1c6;font-size:18px;position:absolute;top:5px;left:5px}.pvtButton{color:#506784;background:#f2f5fa;border:1px solid #c8d4e3;border-radius:5px;margin:3px;padding:3px 6px;font-size:14px;transition:all .34s cubic-bezier(.19,1,.22,1);text-decoration:none!important}.pvtButton:hover{background:#e2e8f0;border-color:#a2b1c6}.pvtButton:active{background:#d1dae6}.pvtFilterBox input{color:#506784;border:1px solid #c8d4e3;border-radius:5px;padding:0 3px;font-size:14px}.pvtFilterBox input:focus{border-color:#119dff;outline:none}.pvtFilterBox{z-index:100;text-align:center;-webkit-user-select:none;user-select:none;-khtml-user-select:none;background-color:#fff;border:1px solid #506784;width:300px;min-height:100px;position:absolute}.pvtFilterBox h4{margin:15px}.pvtFilterBox p{margin:10px auto}.pvtFilterBox button{color:#2a3f5f}.pvtFilterBox input[type=text]{color:#2a3f5f;width:230px;margin-bottom:5px}.pvtCheckContainer{text-align:left;white-space:nowrap;border-top:1px solid #dfe8f3;width:100%;max-height:30vh;font-size:14px;overflow-y:scroll}.pvtCheckContainer p{cursor:default;margin:0 0 1px;padding:3px}.pvtCheckContainer p.selected{background:#ebf0f8}.pvtOnly{float:left;cursor:pointer;width:35px;padding-left:5px;font-size:12px;display:none}.pvtOnlySpacer{float:left;width:35px;display:block}.pvtCheckContainer p:hover .pvtOnly{display:block}.pvtCheckContainer p:hover .pvtOnlySpacer{display:none}.pvtRendererArea{padding:5px}.enrollment-page{flex-direction:column;height:100%;display:flex}.enrollment-page .header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.enrollment-page .header h2{margin:0}.enrollment-page .enrollment-tabs{border-bottom:none;margin-bottom:0}.enrollment-page .description{color:var(--color-text-muted);margin-bottom:1rem}.enrollment-page .grid-container,.enrollment-page .chart-container,.enrollment-page .pivot-container{flex:1;min-height:500px}.enrollment-page .pivot-container{overflow:auto}.enrollment-page .pvtUi{font-family:inherit}.enrollment-page .pvtTable{font-size:.875rem}@media (width<=1024px){.enrollment-page .grid-container,.enrollment-page .chart-container,.enrollment-page .pivot-container{min-height:400px}}@media (width<=768px){.enrollment-page .header{flex-direction:column;align-items:flex-start;gap:.75rem}.enrollment-page .enrollment-tabs{width:100%}.enrollment-page .enrollment-tabs .ui-tab{flex:1;min-height:44px}.enrollment-page .grid-container,.enrollment-page .chart-container,.enrollment-page .pivot-container{min-height:350px}.enrollment-page .ag-root-wrapper{font-size:.8125rem}.enrollment-page .ag-header-cell,.enrollment-page .ag-cell{padding:8px 6px}}@media (width<=480px){.enrollment-page .header h2{font-size:1.25rem}.enrollment-page .grid-container,.enrollment-page .chart-container,.enrollment-page .pivot-container{min-height:300px}.enrollment-page .ag-root-wrapper{font-size:.75rem}.enrollment-page .ag-header-cell,.enrollment-page .ag-cell{padding:6px 4px}}.attachment-preview-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.attachment-preview-container{background:var(--color-bg-secondary);border-radius:8px;flex-direction:column;width:90vw;height:90vh;display:flex;overflow:hidden}.attachment-preview-header{border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-tertiary);flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.attachment-preview-filename{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.attachment-preview-actions{gap:.25rem;display:flex}.attachment-preview-btn{cursor:pointer;width:32px;height:32px;color:var(--color-text-secondary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;text-decoration:none;display:flex}.attachment-preview-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.attachment-preview-body{background:var(--color-bg-tertiary);flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.attachment-preview-pdf{border:none;width:100%;height:100%}.attachment-preview-image{object-fit:contain;max-width:100%;max-height:100%}.attachment-preview-loading,.attachment-preview-unsupported{text-align:center;color:var(--color-text-muted);font-size:.875rem}.attachment-preview-unsupported a{color:var(--color-accent-primary)}.attachment-preview-nav{cursor:pointer;color:#333;background:#ffffffd9;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 1px 4px #0003}.attachment-preview-nav:hover{background:#fff}.attachment-preview-nav--prev{left:12px}.attachment-preview-nav--next{right:12px}.category-selector{width:100%;position:relative}.category-selector--disabled,.category-selector--loading{opacity:.6}.category-selector__trigger{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);cursor:pointer;text-align:left;border-radius:4px;justify-content:space-between;align-items:center;width:100%;padding:.5rem;display:flex}.category-selector__trigger:disabled{cursor:not-allowed;opacity:.6}.category-selector__value{flex:1;align-items:center;gap:.5rem;display:flex;overflow:hidden}.category-selector__number{color:var(--color-text-muted);font-family:monospace;font-size:.8125rem}.category-selector__name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.category-selector__placeholder{color:var(--color-text-muted)}.category-selector__arrow{color:var(--color-text-muted);font-size:.625rem}.category-selector__dropdown{z-index:100;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;flex-direction:column;max-height:300px;margin-top:4px;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 12px #00000026}.category-selector__dropdown--fixed{z-index:10000;max-height:400px}.category-selector__search{border:none;border-bottom:1px solid var(--color-border-primary);outline:none;padding:.5rem;font-size:.875rem}.category-selector__toggle{color:var(--color-text-muted);border-bottom:1px solid var(--color-border-primary);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem;font-size:.75rem;display:flex}.category-selector__toggle:hover{background:var(--color-bg-hover)}.category-selector__toggle input{margin:0}.category-selector__options{flex:1;overflow-y:auto}.category-selector__option{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.875rem;display:flex}.category-selector__option:hover{background:var(--color-bg-hover)}.category-selector__option--selected{background:var(--color-accent-light)}.category-selector__option--clear{color:var(--color-text-muted);font-style:italic}.category-selector__option--parent{color:var(--color-text-muted);cursor:default;font-size:.8125rem;font-weight:500}.category-selector__option--parent:hover{background:0 0}.category-selector__option--parent .category-selector__option-name:before{content:"▸ ";color:var(--color-text-muted)}.category-selector__option--highlighted{background:var(--color-bg-hover)}.category-selector__option--highlighted.category-selector__option--selected{background:var(--color-accent-light)}.category-selector__option-number{color:var(--color-text-muted);min-width:60px;font-family:monospace;font-size:.75rem}.category-selector__option-name{flex:1}.category-selector__group{margin-bottom:.25rem}.category-selector__group-header{text-transform:uppercase;color:var(--color-text-muted);background:var(--color-bg-tertiary);padding:.5rem .75rem;font-size:.75rem;font-weight:600}.category-selector__badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:.125rem .375rem;font-size:.625rem}.category-selector__badge--shared{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.category-selector__empty{text-align:center;color:var(--color-text-muted);padding:1rem}.import-modal-content{flex-direction:column;gap:1.5rem;display:flex}.import-step{flex-direction:column;gap:.75rem;display:flex}.import-step h4{color:var(--color-text-primary);margin:0;font-size:.875rem;font-weight:600}.file-upload{align-items:center;gap:.5rem;display:flex}.file-upload input[type=file]{border:1px dashed var(--color-border-primary);background:var(--color-bg-tertiary);border-radius:4px;flex:1;padding:.5rem}.file-hint{color:var(--color-text-muted);margin:0;font-size:.75rem}.import-error{background:var(--color-error-light);color:var(--color-error);border-radius:4px;padding:.75rem;font-size:.875rem}.preview-summary{background:var(--color-bg-tertiary);border-radius:4px;gap:2rem;padding:.75rem;display:flex}.summary-stat{flex-direction:column;align-items:center;display:flex}.stat-value{font-size:1.5rem;font-weight:600}.stat-value.success{color:var(--color-success)}.stat-value.warning{color:var(--color-warning)}.stat-label{color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem}.preview-warnings{background:var(--color-warning-light);border-radius:4px;padding:.75rem;font-size:.875rem}.preview-warnings ul{margin:.5rem 0 0;padding-left:1.25rem}.preview-warnings li{margin:.25rem 0}.preview-table-wrapper{border:1px solid var(--color-border-primary);border-radius:4px;max-height:300px;overflow-y:auto}.preview-table th,.preview-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.5rem .75rem}.preview-table th{background:var(--color-bg-tertiary);font-weight:600;position:sticky;top:0}.preview-table .amount{text-align:right;font-family:monospace}.preview-table tr.unmatched{background:var(--color-warning-light)}.status-matched{color:var(--color-success);font-weight:500}.status-unmatched{color:var(--color-warning);font-size:.75rem}.more-rows{text-align:center;color:var(--color-text-muted);font-style:italic}.import-modal-content .modal-actions{border-top:1px solid var(--color-border-primary);justify-content:flex-end;gap:.5rem;padding-top:1rem;display:flex}.donor-search .new-donor-btn{background:var(--color-bg-tertiary);border:1px dashed var(--color-border-secondary);cursor:pointer;color:var(--color-text-muted);border-radius:6px;margin-top:.75rem;padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.donor-search .new-donor-btn:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.donor-search.selected-donor{background:var(--color-success-light);border:1px solid #86efac;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.donor-search.selected-donor .donor-info{flex-direction:column;gap:.25rem;display:flex}.donor-search.selected-donor .email{color:var(--color-text-muted);font-size:.75rem}.donor-search.selected-donor .clear-btn{padding:.375rem .75rem;font-size:.75rem}.budget-sidebar{border-right:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:130px;min-width:130px;padding:12px;overflow-y:auto}.sidebar-section{margin-bottom:16px}.sidebar-section:last-child{margin-bottom:0}.sidebar-label{text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.5px;margin:0 0 8px;font-size:.6875rem;font-weight:600}.sidebar-options{flex-direction:column;gap:2px;display:flex}.sidebar-option{cursor:pointer;color:var(--color-text-primary);border-radius:4px;align-items:center;gap:6px;padding:4px 6px;font-size:.8125rem;transition:background-color .15s;display:flex}.sidebar-option:hover{background:var(--color-bg-hover)}.sidebar-option input[type=radio]{cursor:pointer;width:12px;height:12px;accent-color:var(--color-accent-primary);margin:0}.sidebar-option .option-text{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar-option .current-badge{color:var(--color-accent-primary);margin-left:4px;font-size:.5rem}.version-timeline{flex-wrap:wrap;gap:8px;padding:8px 0;display:flex}.version-pill{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:16px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:500;transition:all .15s;display:inline-flex}.version-pill.draft{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-warning-light)}.version-pill.draft:hover{background:var(--color-warning-light)}.version-pill.active{border-color:var(--color-accent-primary);background:var(--color-accent-primary);color:#fff}.version-pill.active:hover{background:var(--color-accent-primary-hover);border-color:var(--color-accent-primary-hover)}.version-pill.active .star-icon{fill:currentColor}.version-pill.superseded{border-color:var(--color-border-primary);color:var(--color-text-muted);background:var(--color-bg-tertiary);opacity:.7}.version-pill.superseded:hover{opacity:1;background:var(--color-bg-hover)}.version-pill.selected{box-shadow:0 0 0 2px var(--color-bg-secondary), 0 0 0 4px var(--color-accent-primary)}.version-number{font-variant-numeric:tabular-nums}.star-icon{flex-shrink:0}.platform-settlement{padding:1rem}.platform-settlement-header{margin-bottom:1.5rem}.platform-settlement-header h3{color:var(--color-text-primary);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.platform-settlement-subtitle{color:var(--color-text-secondary);margin:0;font-size:.875rem;line-height:1.5}.platform-settlement-loading,.platform-settlement-error,.platform-settlement-empty{text-align:center;color:var(--color-text-secondary);padding:2rem}.platform-settlement-error{color:var(--color-error)}.platform-settlement-empty-income .platform-settlement-import-prompt{text-align:center;background:var(--color-bg-tertiary);padding:2rem}.platform-settlement-import-prompt p{color:var(--color-text-secondary);margin-bottom:1rem}.import-statement-btn{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.import-statement-btn:hover{background:var(--color-accent-primary-hover);color:#fff;text-decoration:none}.platform-settlement-summary{border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:2rem;overflow:hidden}.platform-settlement-summary table{border-collapse:collapse;width:100%;font-size:.875rem}.platform-settlement-summary th,.platform-settlement-summary td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.375rem 1rem}.platform-settlement-summary th{text-transform:uppercase;letter-spacing:.025em;background:var(--color-bg-secondary);font-size:.75rem;font-weight:600}.platform-settlement-summary th.amount,.platform-settlement-summary td.amount{text-align:right}.platform-settlement-summary tfoot{border-top:2px solid var(--color-border-primary)}.platform-settlement-summary .totals-row td{background:var(--color-bg-secondary);border-bottom:none}.platform-settlement-summary .shared-account-subtotal td{border-top:1px solid var(--color-border-secondary);border-bottom:1px solid var(--color-border-secondary);color:var(--color-text-secondary);background:0 0;font-size:.8125rem;font-weight:600}.domain-name{font-weight:500}.no-bank-badge{text-transform:uppercase;background:var(--color-bg-tertiary);color:var(--color-text-muted);border-radius:4px;margin-left:.5rem;padding:.125rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.apab-badge{text-transform:uppercase;background:var(--color-warning-light);color:var(--color-warning-dark);border-radius:4px;margin-left:.5rem;padding:.125rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.status-badge{text-transform:uppercase;border-radius:4px;margin-left:.5rem;padding:.125rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.status-badge.owed{background:var(--color-info-light);color:var(--color-info-dark)}.status-badge.owes{background:var(--color-error-light);color:var(--color-error-dark)}.pending-cell{justify-content:flex-end;align-items:center;display:inline-flex}.pending-badge{text-align:left;width:3.5rem;margin-right:.5rem;display:inline-block}.amount.owed{color:var(--color-success)}.amount.owes{color:var(--color-error)}.platform-settlement-transfers{border-top:2px solid var(--color-border-primary);padding-top:1.5rem}.transfers-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.transfers-header h4{color:var(--color-text-primary);margin:0;font-size:1.1rem;font-weight:600}.transfers-actions{gap:.5rem;display:flex}.transfer-group{margin-bottom:1.5rem}.transfer-group h5{color:var(--color-text-primary);background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-bottom:none;border-radius:6px 6px 0 0;margin:0;padding:.625rem .75rem;font-size:.875rem;font-weight:600}.transfers-table{border-collapse:collapse;table-layout:fixed;border:1px solid var(--color-border-primary);border-radius:0 0 6px 6px;width:100%;font-size:.8125rem;overflow:hidden}.transfers-table th,.transfers-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.3rem .75rem}.transfers-table th{text-transform:uppercase;letter-spacing:.025em;background:var(--color-bg-secondary);font-size:.75rem;font-weight:600}.transfers-table .include-col{text-align:center;width:65px}.transfers-table .date-col{width:113px}.transfers-table .source-col{text-align:center;width:70px}.transfers-table .type-col{text-align:center;width:80px}.transfers-table .account-col{text-overflow:ellipsis;white-space:nowrap;width:220px;overflow:hidden}.transfers-table .description{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.transfers-table .amount{text-align:right;font-variant-numeric:tabular-nums;width:90px}.transfers-table tr.included{background:var(--color-bg-secondary)}.transfers-table tr.excluded{background:var(--color-bg-secondary);color:var(--color-text-light)}.source-badge{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:4px;padding:.125rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.source-badge.fee-badge{background:var(--color-warning-light);color:var(--color-warning-dark);border-color:var(--color-warning)}.source-badge.payment-badge{background:var(--color-info-light);color:var(--color-info-dark);border-color:var(--color-info)}.no-transfers{text-align:center;color:var(--color-text-secondary);padding:1rem;font-style:italic}.transfers-table tr.fee-row{background:var(--color-warning-light)}.transfers-table tr.fee-row.excluded{background:var(--color-bg-secondary)}.transfers-table .actions-col{text-align:center;width:40px}.platform-settlement .edit-btn{width:24px;height:24px;color:var(--color-text-secondary);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:opacity .15s,background .15s;display:inline-flex}.platform-settlement .edit-btn:hover{opacity:1;background:var(--color-bg-secondary)}.current-period-banner{color:var(--color-text-secondary);background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1.25rem;font-size:1.1rem;font-weight:600}.balance-check-banner{border-radius:8px;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding:.875rem 1.25rem;font-size:.875rem;display:flex}.balance-check-banner.match{background:var(--color-success-light);border:1px solid var(--color-success)}.balance-check-banner.mismatch{background:var(--color-warning-light);border:1px solid var(--color-warning-dark)}.banner-content-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.banner-header-row{justify-content:space-between;align-items:center;display:flex}.banner-title{align-items:center;gap:.5rem;display:flex}.balance-check-icon{align-items:center;display:flex}.balance-check-banner.match .balance-check-icon{color:var(--color-success)}.balance-check-banner.mismatch .balance-check-icon{color:var(--color-warning-dark)}.balance-check-label{font-size:1.25rem;font-weight:600}.balance-check-status{font-size:.8125rem;font-weight:600}.balance-check-status.success{color:var(--color-success)}.balance-check-status.warning{color:var(--color-error)}.three-way-reconciliation{gap:1rem;display:flex}.reconciliation-item{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:6px;flex-direction:column;gap:.375rem;min-width:180px;padding:.75rem 1rem;display:flex}.reconciliation-item label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;font-weight:500}.reconciliation-item .reconciliation-value{font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:600}.reconciliation-item.match{border-color:var(--color-success);background:var(--color-success-light)}.reconciliation-item.match .reconciliation-value{color:var(--color-success)}.reconciliation-item.mismatch{border-color:var(--color-error);background:var(--color-error-light)}.reconciliation-item.mismatch .reconciliation-value{color:var(--color-error)}.statement-input{font-variant-numeric:tabular-nums;border:1px solid var(--color-border-primary);text-align:right;border-radius:4px;width:100%;padding:.5rem .75rem;font-size:1rem;font-weight:600}.statement-input:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 2px #0066cc26}.statement-input.valid{border-color:var(--color-success);background:var(--color-success-light)}.statement-input.invalid{border-color:var(--color-error);background:var(--color-error-light)}.statement-input::placeholder{color:var(--color-text-muted);font-size:.875rem;font-weight:400}.statement-import-link{text-align:right;color:var(--color-accent-primary);margin-top:.25rem;font-size:.75rem;display:block}.banner-actions-row{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.verify-status{white-space:nowrap;border-radius:4px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.verify-status.verified{background:var(--color-success-light);color:var(--color-success);border:1px solid var(--color-success)}.verify-status.warning{background:var(--color-warning-light);color:var(--color-warning-dark);border:1px solid var(--color-warning)}.closed-months-section{margin-bottom:1.5rem}.closed-months-toggle{text-align:left;width:100%}.closed-months-toggle .lock-icon{color:var(--color-text-secondary)}.closed-months-list{border:1px solid var(--color-border-primary);border-radius:6px;margin-top:.5rem;overflow:hidden}.closed-month-row{border-bottom:1px solid var(--color-border-primary)}.closed-month-row:last-child{border-bottom:none}.closed-month-header{background:var(--color-bg-secondary);text-align:left;align-items:center;gap:.5rem;width:100%;padding:.375rem .75rem;font-size:.8125rem;display:flex}.closed-month-header--static{cursor:default;color:var(--color-text-secondary)}.closed-month-header--static:hover{background:var(--color-bg-secondary)}.closed-month-label{min-width:120px;font-weight:600}.closed-month-financials{gap:1rem;display:flex}.closed-month-financials .financial-item{flex-direction:column;align-items:flex-end;min-width:70px;display:flex}.closed-month-financials .financial-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.625rem}.closed-month-financials .financial-value{font-variant-numeric:tabular-nums;color:var(--color-text-primary);font-size:.8125rem;font-weight:500}.closed-month-financials .financial-item.highlight .financial-value{color:var(--color-text-primary);font-weight:600}.closed-month-indicators{align-items:center;gap:.25rem;margin-left:.75rem;display:flex}.closed-month-indicators .balanced-icon{color:var(--color-success)}.closed-month-attachment{color:var(--color-text-secondary);border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:background-color .15s,color .15s;display:flex}.closed-month-attachment:hover{background:var(--color-bg-tertiary);color:var(--color-accent-primary)}.closed-month-attachment-placeholder{width:22px;height:22px;display:inline-block}.closed-month-meta{color:var(--color-text-muted);flex:1;font-size:.7rem}.closed-month-detail{background:var(--color-bg-tertiary);padding:.5rem .75rem .75rem}.closed-month-table{border-collapse:collapse;width:100%;font-size:.8125rem}.closed-month-table th,.closed-month-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.3rem .75rem}.closed-month-table th{text-transform:uppercase;letter-spacing:.025em;color:var(--color-text-secondary);background:var(--color-bg-secondary);font-size:.75rem;font-weight:600}.closed-month-table .amount{text-align:right;font-variant-numeric:tabular-nums}.closed-month-table .note{color:var(--color-text-secondary);font-style:italic}.closed-month-table tfoot td{border-bottom:none;border-top:2px solid var(--color-border-primary);background:var(--color-bg-secondary)}.closed-month-statement-upload{border-top:1px solid var(--color-border-primary);align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.closed-month-statement-upload .statement-link{color:var(--color-accent-primary);align-items:center;gap:.25rem;font-size:.875rem;text-decoration:none;display:inline-flex}.closed-month-statement-upload .statement-link:hover{text-decoration:underline}.closed-month-statement-upload .upload-statement-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);color:var(--color-text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.875rem;transition:all .2s;display:inline-flex}.closed-month-statement-upload .upload-statement-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-accent-primary);color:var(--color-accent-primary)}.closed-month-statement-upload .upload-statement-btn.uploading{opacity:.7;pointer-events:none}.reopen-btn{border:1px solid var(--color-border-primary);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:4px;margin-left:auto;padding:.375rem .75rem;font-size:.8rem}.reopen-btn:hover{border-color:var(--color-warning);color:var(--color-warning)}.reopen-confirm{color:var(--color-warning-dark);align-items:center;gap:.5rem;margin-left:auto;font-size:.8rem;display:flex}.reopen-warning-icon{color:var(--color-warning);flex-shrink:0}.reopen-confirm-btn{background-color:var(--color-warning);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:.25rem .625rem;font-size:.8rem}.reopen-confirm-btn:hover{background-color:var(--color-warning);color:#fff;opacity:.9}.reopen-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.reopen-cancel-btn{border:1px solid var(--color-border-primary);cursor:pointer;color:var(--color-text-secondary);background:0 0;border-radius:4px;padding:.25rem .625rem;font-size:.8rem}.platform-settlement-section{border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:2rem;overflow:hidden}.section-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.section-header h4{color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:600}.section-header .transaction-count{color:var(--color-text-secondary);font-size:.8125rem}.section-actions{gap:.5rem;display:flex}.domain-group{border:1px solid var(--color-border-primary);border-radius:6px;margin-bottom:1rem;overflow:hidden}.domain-group:last-child{margin-bottom:0}.domain-group-header{background:var(--color-bg-tertiary);cursor:pointer;text-align:left;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;font-size:.875rem;transition:filter .15s;display:flex}.domain-group-header:hover{filter:brightness(.95)}.domain-group-header .expand-icon{color:var(--color-text-secondary);flex-shrink:0}.domain-badge{border-radius:4px;padding:.125rem .5rem;font-size:.8125rem;font-weight:600;display:inline-block}.domain-group-total{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.domain-group-table{border-collapse:collapse;width:100%;font-size:.8125rem}.domain-group-table th,.domain-group-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.3rem .75rem}.domain-group-table th{text-transform:uppercase;letter-spacing:.025em;color:var(--color-text-secondary);background:var(--color-bg-secondary);font-size:.75rem;font-weight:600}.domain-group-table .amount{text-align:right;font-variant-numeric:tabular-nums}.domain-group-table:not(.transfers-table){table-layout:fixed}.domain-group-table:not(.transfers-table) .include-col{text-align:center;width:65px}.domain-group-table:not(.transfers-table) .date-col{width:113px}.domain-group-table:not(.transfers-table) .type-col{text-align:center;width:80px}.domain-group-table:not(.transfers-table) .account-col{text-overflow:ellipsis;white-space:nowrap;width:150px;overflow:hidden}.domain-group-table:not(.transfers-table) .description{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.domain-group-table:not(.transfers-table) .amount{width:90px}.domain-group-table:not(.transfers-table) .actions-col{text-align:center;width:40px}.include-header-actions{white-space:nowrap;align-items:center;gap:.375rem;display:inline-flex}.mini-action-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);color:var(--color-text-secondary);cursor:pointer;border-radius:3px;padding:.125rem .375rem;font-size:.6875rem;transition:all .15s}.mini-action-btn:hover{background:var(--color-accent-primary);border-color:var(--color-accent-primary);color:#fff}.domain-group-table tr.included{background:var(--color-bg-secondary)}.domain-group-table tr.excluded{background:var(--color-bg-secondary);color:var(--color-text-light)}.domain-group-table tfoot{border-top:1px solid var(--color-border-primary)}.domain-group-table .totals-row td{background:var(--color-bg-secondary);border-bottom:none;padding-top:.375rem;padding-bottom:.375rem}.close-dialog-summary{color:var(--color-text-secondary);margin:0 0 1rem;font-size:.875rem;line-height:1.5}.close-dialog-totals{background:var(--color-bg-tertiary);border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.close-total-row{justify-content:space-between;padding:.375rem 0;font-size:.875rem;display:flex}.close-total-row.highlight{border-top:1px solid var(--color-border-primary);margin-top:.375rem;padding-top:.5rem;font-weight:600}.close-dialog-notes{margin-top:1rem}.close-dialog-notes h4{margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.notes-hint{color:var(--color-text-secondary);margin:0 0 .75rem;font-size:.8rem}.imported-file-note{color:var(--color-success);align-items:center;gap:.5rem;display:flex}.imported-check{flex-shrink:0}.note-input-group{margin-bottom:.75rem}.note-input-group label{margin-bottom:.25rem;font-size:.8125rem;font-weight:500;display:block}.note-input-group input{border:1px solid var(--color-border-primary);border-radius:4px;width:100%;padding:.5rem .75rem;font-size:.875rem}.note-input-group input:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 2px #0066cc26}.close-dialog-warning{background:var(--color-warning-light);color:var(--color-warning-dark);border-radius:4px;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;font-size:.875rem;display:flex}.close-dialog-error{background:var(--color-error-light);color:var(--color-error-dark);border-radius:4px;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;font-size:.875rem;display:flex}.statement-upload-section{border-top:1px solid var(--color-border-primary);margin-top:1rem;padding-top:1rem}.statement-upload-section h4{margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.file-input-wrapper{align-items:center;gap:.5rem;display:flex}.file-input-label{border:1px dashed var(--color-border-primary);background:var(--color-bg-tertiary);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:all .15s;display:inline-flex}.file-input-label:hover{border-color:var(--color-accent-primary);background:var(--color-bg-secondary)}.clear-file-btn{border-radius:50%}.success-content{text-align:center;padding:1rem 0}.success-icon{background:linear-gradient(135deg, var(--color-success), var(--color-success-dark));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1.25rem;animation:.6s celebrate;display:flex;box-shadow:0 0 #10b98166}@keyframes celebrate{0%{transform:scale(0);box-shadow:0 0 #10b98199}50%{transform:scale(1.15)}70%{box-shadow:0 0 0 16px #10b98100}to{transform:scale(1);box-shadow:0 0 #10b98100}}.success-title{color:var(--color-text-primary);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.success-message{color:var(--color-text-muted);margin:0 0 1.5rem;font-size:.875rem;line-height:1.5}.unattributed-deposits-section .domain-group-header h4{color:var(--color-warning-dark)}.unattributed-hint{color:var(--color-warning-dark);background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:4px;margin:0 0 .5rem;padding:.5rem .75rem;font-size:.8rem}.import-page{max-width:1400px}.import-page .description{color:var(--color-text-muted);margin-bottom:1.5rem}.import-page .settlement-filters{margin-bottom:1rem}.import-page .year-selector{border:1px solid var(--color-border-primary);border-radius:6px;min-width:180px;padding:.5rem .75rem;font-size:.875rem}.stats{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.stats-grouped{flex-direction:column;gap:1rem;display:flex}.stats-row h5{color:var(--color-text-muted);margin:0 0 .5rem;font-size:.875rem;font-weight:500}.stats-row .stats{margin-bottom:0}.stat{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);text-align:center;border-radius:8px;min-width:100px;padding:.75rem 1rem;box-shadow:0 1px 2px #0000000d}.stat-value{color:var(--color-text-primary);font-size:1.5rem;font-weight:600;display:block}.stat-label{color:var(--color-text-muted);margin-top:.125rem;font-size:.75rem}.stat.highlight{background:var(--color-success-light);border-color:#6ee7b7}.stat.highlight .stat-value{color:#059669}.errors{background:var(--color-bg-secondary);border-radius:4px;margin-top:1rem;padding:1rem}.errors h4{color:var(--color-error-dark);margin:0 0 .5rem}.errors ul{margin:0;padding-left:1.5rem;font-size:.875rem}.errors li{color:#7f1d1d}.created-donations{background:var(--color-bg-secondary);border-radius:4px;margin-top:1rem;padding:1rem}.created-donations h4{color:var(--color-success-dark);margin:0 0 .75rem}.donations-table{border-collapse:collapse;width:100%;font-size:.875rem}.donations-table th,.donations-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.5rem .75rem}.donations-table th{background:var(--color-bg-primary);color:var(--color-text-secondary);font-weight:600}.donations-table tbody tr:hover{background:var(--color-bg-primary)}.donations-table td:nth-child(4){text-align:right;font-family:monospace}.needs-review{background:var(--color-warning-light);border:1px solid #fcd34d;border-radius:4px;margin-top:1rem;padding:1rem}.needs-review h4{color:var(--color-warning-dark);margin:0 0 .5rem}.review-notice{color:#78350f;margin:0 0 .75rem;font-size:.875rem}.needs-review ul{margin:0;padding-left:1.5rem;font-size:.875rem}.needs-review li{color:#78350f;margin-bottom:.25rem}.email-import-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.5rem}.email-import-section h3{color:var(--color-text-primary);margin:0 0 .5rem}.email-import-section .hint{margin-bottom:1.5rem}.email-import-section .no-emails{color:var(--color-text-muted);text-align:center;padding:2rem;font-style:italic}.email-list{flex-direction:column;gap:15px;margin-bottom:20px;display:flex}.email-item{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);border-radius:8px;padding:15px;transition:box-shadow .2s}.email-item:hover{box-shadow:0 2px 4px #0000000d}.email-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.email-header strong{color:var(--color-text-primary);flex:1}.email-date{color:var(--color-text-muted);font-size:14px}.email-snippet{color:var(--color-text-secondary);margin-bottom:10px;font-size:14px}.email-actions{gap:10px;display:flex}.email-actions button{padding:8px 16px;font-size:14px}.email-actions button.primary{background-color:var(--color-accent-primary-fill);color:#fff}.email-actions button.primary:hover:not(:disabled){background-color:var(--color-accent-primary-hover)}.email-controls{border-bottom:1px solid var(--color-border-primary);align-items:flex-end;gap:15px;margin-bottom:20px;padding-bottom:15px;display:flex}.email-controls .form-group{flex:none;margin-bottom:0}.email-controls select{width:auto;min-width:150px}.refresh-button{flex-shrink:0}.preview-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-top:1.5rem;padding:1.5rem}.preview-section h3{color:var(--color-text-primary);margin:0 0 .5rem}.no-transactions-message{text-align:center;padding:3rem 2rem}.no-transactions-message p{color:var(--color-text-muted);margin-bottom:.75rem}.no-transactions-message p:first-child{color:var(--color-text-primary);font-size:1.125rem;font-weight:500}.no-transactions-actions{justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.no-transactions-actions button{padding:.625rem 1.5rem}.preview-table-container{border:1px solid var(--color-border-primary);border-radius:4px;max-width:100%;margin:1rem 0;overflow-x:auto}.preview-table{border-collapse:collapse;width:100%;font-size:.875rem}.preview-table th,.preview-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);white-space:nowrap;padding:.75rem}.preview-table th:first-child,.preview-table td:first-child,.preview-table th:nth-child(2),.preview-table td:nth-child(2){text-align:center;width:60px}.preview-table th:nth-child(3),.preview-table td:nth-child(3){min-width:100px}.preview-table th:nth-child(4),.preview-table td:nth-child(4){white-space:normal;min-width:180px}.preview-table th:nth-child(5),.preview-table td:nth-child(5){min-width:90px}.preview-table th:nth-child(6),.preview-table td:nth-child(6){white-space:normal;min-width:200px;max-width:400px}.preview-table th:nth-child(7),.preview-table td:nth-child(7){min-width:150px}.preview-table th:nth-child(8),.preview-table td:nth-child(8){white-space:normal;min-width:200px}.preview-table th:nth-child(9),.preview-table td:nth-child(9){white-space:normal;min-width:150px}.preview-table th{background:var(--color-bg-primary);color:var(--color-text-secondary);z-index:1;font-weight:600;position:sticky;top:0}.preview-table tbody tr:hover{background:var(--color-bg-primary)}.preview-table tbody tr.disabled-row{opacity:.5;background:var(--color-bg-tertiary)}.preview-table .amount-cell{text-align:right;font-family:monospace;font-weight:600}.preview-table .student-cell{color:var(--color-text-muted);font-size:.813rem}.preview-table .email-small{color:var(--color-text-muted);margin-top:2px;font-size:.75rem}.preview-table .skip-reason{color:#ea580c;font-size:.813rem;font-style:italic}.preview-table .will-import{color:#059669;font-size:.813rem;font-weight:500}.preview-table select{border:1px solid var(--color-border-secondary);border-radius:4px;width:100%;min-width:120px;padding:.375rem;font-size:.875rem}.preview-table select:disabled{background:var(--color-bg-tertiary);cursor:not-allowed}.preview-actions{border-top:1px solid var(--color-border-primary);justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.preview-actions button{padding:.625rem 1.5rem}.preview-note{background:var(--color-warning-light);color:var(--color-warning-dark);border-radius:4px;margin-top:1rem;padding:.75rem;font-size:.875rem}@media (width<=1024px){.import-page{max-width:100%}}@media (width<=768px){.import-form{padding:1rem}.stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-value{font-size:1.25rem}.form-group select,.form-group input[type=file]{min-height:44px;padding:.75rem;font-size:16px}.email-import-section{padding:1rem}.email-controls{flex-direction:column;align-items:stretch}.email-controls .form-group{flex:none;width:100%}.email-controls select{width:100%;min-width:auto}.refresh-button{width:100%}.email-item{padding:12px}.email-actions{flex-direction:column}.email-actions button{width:100%;min-height:44px;padding:12px 16px}.preview-table-container{border-left:none;border-right:none;border-radius:0;margin:.75rem -1rem}.preview-table th,.preview-table td{padding:.5rem;font-size:.8125rem}.preview-actions{flex-direction:column}.preview-actions button{width:100%;min-height:44px}.no-transactions-actions{flex-direction:column}.no-transactions-actions button{width:100%;min-height:44px}.donations-table th,.donations-table td{padding:.375rem .5rem;font-size:.8125rem}.result{margin-top:1rem;padding:1rem}.errors,.needs-review,.created-donations{padding:.75rem}.preview-section{margin-top:1rem;padding:1rem}}@media (width<=480px){.import-page h2{font-size:1.25rem}.stats{grid-template-columns:1fr 1fr}.stat-value{font-size:1.125rem}.stat-label{font-size:.6875rem}.email-header{flex-direction:column;align-items:flex-start}.email-snippet{font-size:.8125rem}}.import-history{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-top:2rem;padding:1.5rem}.import-history h3{color:var(--color-text-primary);margin-top:0;margin-bottom:1rem}.history-table th{color:var(--color-text-secondary);font-weight:600}.history-table .filename-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.history-table .delete-btn{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #dc2626;border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.history-table .delete-btn:hover{background:var(--color-error-light)}.history-table .delete-btn:disabled{opacity:.5;cursor:not-allowed}.delete-confirm{background:var(--color-error-light);border:1px solid #fecaca;border-radius:8px;margin-bottom:1rem;padding:1rem}.delete-confirm p{margin:0 0 .5rem}.delete-confirm ul{margin:.5rem 0;padding-left:1.5rem}.delete-confirm .delete-actions{gap:.5rem;margin-top:1rem;display:flex}.delete-confirm .danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:4px;padding:.5rem 1rem}.delete-confirm .danger:hover{background:#b91c1c}.dual-preview{flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;display:flex}.preview-section-table{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem}.preview-section-table h4{color:var(--color-text-primary);align-items:center;gap:.5rem;margin:0 0 .75rem;display:flex}.preview-counts{color:var(--color-text-muted);font-size:.875rem;font-weight:400}.preview-section-table .preview-table-container{max-height:400px;margin:0;overflow-y:auto}.preview-section-table .preview-table th,.preview-section-table .preview-table td{text-align:left;padding:.5rem .75rem}.preview-section-table .preview-table .amount-cell{text-align:right;white-space:nowrap}.preview-grid-container{width:100%;margin-bottom:0}.preview-grid-container .ag-root-wrapper{border:1px solid var(--color-border-primary);border-radius:6px}.preview-grid-container .ag-header{background:var(--color-bg-primary)}.preview-grid-container .duplicate-row{background:var(--color-bg-primary);color:#94a3b8}.preview-grid-container .status-badge{border-radius:3px;padding:2px 6px;font-size:.7rem;font-weight:500;line-height:1.2;display:inline-block}.preview-grid-container .status-badge.new{background:var(--color-success-light);color:var(--color-success-dark)}.preview-grid-container .status-badge.duplicate{background:var(--color-bg-tertiary);color:#64748b}.preview-grid-container .status-badge.transfer,.preview-grid-container .status-badge.matched{background:var(--color-info-light);color:#1d4ed8;cursor:help}.preview-grid-container .status-badge.manual-match-high{background:var(--color-success-light);color:var(--color-success-dark);cursor:help}.preview-grid-container .status-badge.manual-match-probable{background:var(--color-warning-light);color:var(--color-warning-dark);cursor:help}.preview-grid-container .manual-match-status{align-items:center;gap:4px;display:inline-flex}.preview-grid-container .match-actions{gap:2px;display:inline-flex}.preview-grid-container .match-btn{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;line-height:1;display:inline-flex}.preview-grid-container .match-btn:hover{background:var(--color-bg-tertiary)}.preview-grid-container .match-btn.confirm.active{background:var(--color-success-light);color:var(--color-success-dark);border-color:#16a34a}.preview-grid-container .match-btn.reject.active{background:var(--color-error-light);color:var(--color-error-dark);border-color:#dc2626}.preview-grid-container .new-badge{background:var(--color-info-light);color:#1d4ed8;text-transform:uppercase;vertical-align:middle;border-radius:3px;margin-left:4px;padding:1px 4px;font-size:.6rem;font-weight:600;line-height:1.2;display:inline-block}.preview-section-table .preview-table .description-cell{text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.preview-truncated{text-align:center;color:var(--color-text-muted);background:var(--color-bg-primary);border-top:1px solid var(--color-border-primary);margin:0;padding:.5rem;font-size:.875rem}.status-badge.new{background:var(--color-success-light);color:var(--color-success-dark)}.status-badge.duplicate{background:var(--color-bg-tertiary);color:#64748b}.status-badge.transfer,.status-badge.matched{background:var(--color-info-light);color:#1d4ed8;cursor:help}.status-badge.manual-match-high{background:var(--color-success-light);color:var(--color-success-dark);cursor:help}.status-badge.manual-match-probable{background:var(--color-warning-light);color:var(--color-warning-dark);cursor:help}.new-badge{background:var(--color-info-light);color:#1d4ed8;text-transform:uppercase;vertical-align:middle;border-radius:4px;margin-left:.375rem;padding:.125rem .375rem;font-size:.625rem;font-weight:600;display:inline-block}.preview-section-table .preview-table tr.duplicate-row{background:var(--color-bg-primary);opacity:.7}.preview-section-table .preview-table tr.duplicate-row td{color:var(--color-text-light)}.section-stats{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;justify-content:flex-start;margin-top:1rem;padding:1rem}.section-stats .stat{background:var(--color-bg-secondary);flex:none;min-width:120px}.section-stats .stat-value{color:var(--color-text-primary)}.section-stats .stat.create{background:var(--color-success-light);border-color:#86efac}.section-stats .stat.create .stat-value{color:#059669}.section-stats .stat.skip{background:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}.section-stats .stat.skip .stat-value{color:var(--color-text-muted)}@media (width<=768px){.dual-preview{gap:1rem}.preview-section-table{padding:.75rem}.preview-section-table h4{flex-direction:column;align-items:flex-start;gap:.25rem}.preview-counts{font-size:.8125rem}.preview-section-table .preview-table-container{max-height:300px}.preview-section-table .preview-table th,.preview-section-table .preview-table td{padding:.375rem .5rem;font-size:.8125rem}}.bank-sync-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.5rem}.bank-sync-section h3{color:var(--color-text-primary);margin:0 0 .5rem}.bank-sync-section .hint{margin-bottom:1.5rem}.bank-sync-section .hint a{color:var(--color-accent-primary);text-decoration:none}.bank-sync-section .hint a:hover{text-decoration:underline}.bank-sync-section .error-message{background:var(--color-error-light);color:#dc2626;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.bank-sync-section .success-message{background:var(--color-success-light);color:#059669;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.bank-sync-section .no-accounts-message{text-align:center;color:var(--color-text-muted);padding:2rem}.bank-sync-section .no-accounts-message ul{text-align:left;margin:1rem 0;display:inline-block}.sync-controls{gap:1rem;margin-bottom:1.5rem;display:flex}.sync-controls .form-group{margin-bottom:0}.account-selection{margin-bottom:1.5rem}.account-selection h4{color:var(--color-text-secondary);margin:0 0 .75rem;font-size:.9375rem}.account-list{flex-direction:column;gap:.5rem;display:flex}.account-item{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.account-item:hover{background:var(--color-bg-tertiary)}.account-item.unmapped{opacity:.6;cursor:not-allowed}.account-item input[type=checkbox]{width:auto}.account-name{flex:1;font-weight:500}.account-balance{color:var(--color-text-muted);font-size:.875rem}.account-balances{flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;font-size:.75rem;display:flex}.account-balances .balance-row{align-items:center;gap:.5rem;display:flex}.account-balances .balance-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;text-align:right;min-width:2.5rem;font-size:.65rem}.account-balances .balance-value{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;text-align:right;min-width:5.5rem;font-weight:500}.account-balances .balance-value.book{color:var(--color-accent-primary)}.reconcile-status{white-space:nowrap;border-radius:3px;margin-left:.5rem;padding:2px 6px;font-size:.7rem}.reconcile-status.balanced{color:#16a34a;background:var(--color-success-light)}.reconcile-status.resolves{color:#2563eb;background:var(--color-info-light)}.reconcile-status.partial{color:#d97706;background:var(--color-warning-light)}.reconcile-status.attention{color:#dc2626;background:var(--color-error-light)}.unmapped-badge{background:var(--color-warning-light);color:var(--color-warning-dark);border-radius:4px;padding:.125rem .5rem;font-size:.75rem}.sync-actions{gap:1rem;margin-bottom:1.5rem;display:flex}.simplefin-preview{border-top:1px solid var(--color-border-primary);margin-top:1.5rem;padding-top:1.5rem}.simplefin-preview h4{align-items:center;gap:.75rem;margin:0 0 1rem;display:flex}.simplefin-preview .preview-counts{color:var(--color-text-muted);font-size:.875rem;font-weight:400}.simplefin-preview .preview-actions{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.households-page{max-width:1400px}.households-page h2{margin-bottom:.5rem}.households-page .description{color:var(--color-text-muted);margin-bottom:1.5rem}.households-page .page-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.households-page .header-text h2{margin:0 0 .25rem}.households-page .header-text .description{margin:0}.households-main-content{flex-direction:column;gap:1.5rem;max-width:900px;display:flex}.households-page .search-panel,.households-page .detail-panel{width:100%}.households-page .loading{text-align:center;color:var(--color-text-muted);padding:2rem}.households-page .error{text-align:center;color:#dc2626;background:var(--color-error-light);border-radius:6px;padding:1rem}.households-page .empty-state{text-align:center;color:var(--color-text-muted);padding:3rem}.households-page .empty-state p{margin-bottom:0}.households-page .search-input-wrapper{margin-bottom:1rem}.households-page .search-input{border:1px solid var(--color-border-primary);border-radius:6px;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.households-page .search-input:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.households-page .search-input::placeholder{color:var(--color-text-light)}.households-page .search-results{flex-direction:column;gap:.5rem;display:flex}.households-page .household-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:.75rem 1rem;transition:border-color .15s,box-shadow .15s;display:grid}.households-page .household-card:hover{border-color:var(--color-accent-primary);box-shadow:0 2px 4px #3574b81a}.households-page .household-card.selected{border-color:var(--color-accent-primary);background:var(--color-accent-light)}.households-page .household-card-header{display:contents}.households-page .household-name{color:var(--color-text-primary);grid-area:1/1;font-size:1rem;font-weight:600}.households-page .household-stats{flex-direction:column;grid-area:1/2/3;justify-content:space-between;align-items:flex-end;gap:.25rem;display:flex}.households-page .stat-badge{background:var(--color-bg-hover);color:var(--color-text-secondary);border-radius:9999px;padding:.125rem .5rem;font-size:.75rem}.households-page .household-donors{color:var(--color-text-muted);grid-area:2/1;align-self:end;font-size:.875rem}.households-page .household-detail{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.households-page .detail-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.households-page .detail-header h3{margin:0;font-size:1.125rem}.households-page .detail-actions{gap:.5rem;display:flex}.households-page .detail-content{padding:1.5rem}.households-page .section-header{border-bottom:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.households-page .section-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.households-page .donor-cards{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.households-page .donor-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;padding:1rem;transition:opacity .2s ease-out;position:relative}.households-page .donor-card-pending-delete{opacity:.5;background:var(--color-warning-light);border-color:#fbbf24}.households-page .donor-card-pending-delete .donor-name,.households-page .donor-card-pending-delete .donor-email,.households-page .donor-card-pending-delete .donor-alt-name{color:var(--color-text-muted);text-decoration:line-through}.households-page .pending-delete-badge{text-transform:uppercase;color:var(--color-warning-dark);background:var(--color-warning-light);border:1px solid #fbbf24;border-radius:3px;padding:.125rem .375rem;font-size:.7rem;font-weight:600;position:absolute;top:.5rem;right:.5rem}.households-page .donor-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.households-page .donor-name{color:var(--color-text-primary);font-weight:600}.households-page .donor-alt-name{color:var(--color-text-muted);font-size:.875rem;font-style:italic}.households-page .donor-email{color:var(--color-accent-primary);font-size:.875rem}.households-page .donor-students{color:var(--color-text-muted);margin-top:.5rem;font-size:.875rem}.households-page .donor-preferences{border-top:1px solid var(--color-border);margin-top:.75rem;padding-top:.75rem}.households-page .preferences-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.households-page .preferences-row{flex-wrap:wrap;gap:.75rem;display:flex}.households-page .preferences-row label{color:var(--color-text);align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.households-page .preferences-row select{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:4px;padding:.125rem .375rem;font-size:.8125rem}.households-page .preferences-hint{color:var(--color-text-light);font-size:.75rem;font-style:italic}.households-page .donor-actions{gap:.25rem;display:flex}.households-page .student-list{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.households-page .student-item{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:4px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.households-page .student-name{color:var(--color-text-primary);font-weight:500}.households-page .student-grad-year{color:var(--color-text-muted);font-size:.875rem}.households-page .donation-table-container{margin-bottom:1.5rem}.households-page .donation-table{border-collapse:collapse;width:100%;font-size:.875rem}.households-page .donation-table th,.households-page .donation-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.5rem .75rem}.households-page .donation-table th{color:var(--color-text-muted);background:var(--color-bg-primary);font-weight:600}.households-page .donation-table td{color:var(--color-text-primary)}.households-page .donation-table tr:hover td{background:var(--color-bg-primary)}.households-page .donation-table tr.selected td{background:var(--color-accent-light)}.households-page .donation-amount{text-align:right;font-weight:500}.households-page button.primary{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s}.households-page button.primary:hover:not(:disabled){background:var(--color-accent-primary-hover)}.households-page button.primary:disabled{opacity:.5;cursor:not-allowed}.households-page button.secondary{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s,border-color .15s}.households-page button.secondary:hover:not(:disabled){background:var(--color-bg-primary);border-color:var(--color-border-secondary)}.households-page button.danger{background:var(--color-bg-secondary);color:#dc2626;cursor:pointer;border:1px solid #fecaca;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s}.households-page button.danger:hover:not(:disabled){background:var(--color-error-light)}.households-page button.icon-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;transition:background-color .15s,color .15s}.households-page button.icon-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.households-page button.icon-btn.danger:hover{background:var(--color-error-light);color:#dc2626}.households-page .close-btn{color:var(--color-text-light);padding:.25rem .5rem;font-size:1.25rem}.households-page .close-btn:hover{color:var(--color-text-muted)}.duplicate-alert-banner{background:var(--color-warning-light);border:1px solid #f59e0b;border-radius:6px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.duplicate-alert-banner .alert-icon{color:var(--color-warning-dark);font-size:1.25rem}.duplicate-alert-banner .alert-text{color:var(--color-warning-dark);font-size:.875rem}.duplicate-alert-banner .alert-text strong{color:#78350f}.duplicate-alert-banner.clickable{cursor:pointer;transition:background-color .15s}.duplicate-alert-banner.clickable:hover{background:var(--color-warning)}.duplicate-alert-banner .alert-review-cta{margin-left:.25rem;font-weight:600;text-decoration:underline}.households-page .empty-message{color:var(--color-text-muted);margin:.5rem 0;font-size:.875rem;font-style:italic}.households-page .edit-name-input{border:1px solid var(--color-accent-primary);border-radius:4px;min-width:250px;padding:.375rem .5rem;font-size:1.125rem;font-weight:600}.households-page .edit-name-input:focus{outline:none;box-shadow:0 0 0 3px #3574b81a}.households-page .donor-email-secondary{color:var(--color-text-muted);font-size:.8rem}.households-page .donor-address{color:var(--color-text-muted);margin-top:.25rem;font-size:.8rem}.households-page .donor-phone{color:var(--color-text-muted);font-size:.8rem}.households-page .donor-donation-stats{color:var(--color-text-muted);margin-top:.25rem;font-size:.8rem}.households-page .student-info{flex-direction:column;gap:.125rem;display:flex}.households-page .student-actions{gap:.25rem;display:flex}.modal-description{color:var(--color-text-muted);margin-bottom:1rem;font-size:.9rem}.form-field,.ui-form-field{margin-bottom:1rem}.form-field:last-child,.ui-form-field:last-child{margin-bottom:0}.form-field label{color:var(--color-text-secondary);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-field input,.form-field select{border:1px solid var(--color-border-primary);border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem}.form-field input:focus,.form-field select:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.form-field.small input,.ui-form-field.small input{width:80px}.form-row{gap:1rem;margin-bottom:1rem;display:flex}.form-row.two-col .form-field,.form-row.two-col .ui-form-field,.form-row.three-col .form-field,.form-row.three-col .ui-form-field{flex:1;margin-bottom:0}.form-row.three-col .form-field.small,.form-row.three-col .ui-form-field.small{flex:0 0 80px}.form-error{background:var(--color-error-light);color:#dc2626;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.households-page .donors-students-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;display:grid}.households-page .donors-students-grid .donor-cards,.households-page .donors-students-grid .student-list{margin-bottom:0}.households-page .section-header-actions{gap:.75rem;display:flex}.households-page .student-name-row{align-items:center;gap:.5rem;display:flex}.households-page .student-badge{text-transform:uppercase;border-radius:9999px;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.households-page .student-badge.instrumental{background:var(--color-info-light);color:#1e40af}.households-page .student-ensembles{color:#059669;font-size:.75rem;font-style:italic}.form-row.checkbox-row{border-top:1px solid var(--color-border-primary);gap:1.5rem;margin-top:1rem;padding-top:1rem;display:flex}.checkbox-label{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:1rem;height:1rem}@media (width<=1024px){.households-page .donors-students-grid{grid-template-columns:1fr;gap:1rem}}@media (width<=768px){.households-page .detail-header{flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem}.households-page .detail-content{padding:1rem}.households-page .detail-actions{flex-wrap:wrap;width:100%}.households-page .detail-actions button{flex:1;min-width:120px}.form-row{flex-direction:column}.form-row.checkbox-row{flex-direction:column;gap:.75rem}.households-page button.primary,.households-page button.secondary,.households-page button.danger{min-height:44px;padding:.75rem 1rem}.households-page button.icon-btn{min-width:44px;min-height:44px;padding:.5rem}.households-page .household-card{padding:1rem}}@media (width<=480px){.households-page .page-header{flex-direction:column;gap:1rem}.households-page .header-text{width:100%}.duplicate-alert-banner{text-align:center;flex-direction:column}.households-page .donation-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.households-page .donation-table{min-width:400px}}.donation-source-toggle{border:1px solid var(--color-border-primary);border-radius:.375rem;gap:0;width:fit-content;margin-bottom:.5rem;display:flex;overflow:hidden}.donation-source-toggle button{background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;border:none;padding:.375rem .75rem;font-size:.8125rem;transition:background-color .15s,color .15s}.donation-source-toggle button:not(:last-child){border-right:1px solid var(--color-border-primary)}.donation-source-toggle button.active{background:var(--color-accent-primary);color:#fff}.households-page .trx-donation-table{border-collapse:collapse;width:100%;font-size:.875rem}.households-page .trx-donation-table th,.households-page .trx-donation-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.5rem .75rem}.households-page .trx-donation-table th{color:var(--color-text-muted);background:var(--color-bg-primary);font-weight:600}.households-page .trx-donation-table .amount-col{text-align:right}.domain-badge-inline{border-radius:9999px;padding:.0625rem .375rem;font-size:.75rem;font-weight:500;display:inline-block}.section-badge{background:var(--color-bg-tertiary);min-width:1.25rem;height:1.25rem;color:var(--color-text-secondary);border-radius:9999px;justify-content:center;align-items:center;margin-left:.375rem;padding:0 .375rem;font-size:.6875rem;font-weight:600;display:inline-flex}.duplicate-loading,.duplicate-empty{text-align:center;color:var(--color-text-muted);padding:2rem;font-size:.875rem}.duplicate-group-list{flex-direction:column;gap:1rem;display:flex}.duplicate-group-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.duplicate-group-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.duplicate-group-name{color:var(--color-text-primary);font-size:1rem;font-weight:600}.duplicate-group-count{color:var(--color-text-muted);font-size:.8rem}.duplicate-conflict-warning{background:var(--color-warning-light);color:var(--color-warning-dark);border-bottom:1px solid #f59e0b;padding:.625rem 1rem;font-size:.8rem}.duplicate-donor-table{border-collapse:collapse;width:100%;font-size:.8125rem}.duplicate-donor-table th,.duplicate-donor-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.5rem .75rem}.duplicate-donor-table th{color:var(--color-text-muted);background:var(--color-bg-primary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.duplicate-donor-table .col-radio{text-align:center;width:2rem}.duplicate-donor-table .col-right{text-align:right}.duplicate-donor-table tr.selected td{background:var(--color-accent-light)}.duplicate-alt-name{color:var(--color-text-muted);font-size:.75rem;font-style:italic}.duplicate-address,.duplicate-secondary-emails{color:var(--color-text-light);font-size:.75rem}.duplicate-source-badge{background:var(--color-bg-hover);color:var(--color-text-secondary);border-radius:9999px;padding:.0625rem .375rem;font-size:.6875rem;font-weight:500;display:inline-block}.swap-names-btn{border:1px solid var(--color-border-primary);color:var(--color-accent-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;transition:background-color .15s}.swap-names-btn:hover{background:var(--color-bg-tertiary)}.duplicate-group-actions{background:var(--color-bg-primary);border-top:1px solid var(--color-border-primary);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.merge-btn{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.375rem .75rem;font-size:.8125rem;transition:background-color .15s}.merge-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.merge-btn:disabled{opacity:.5;cursor:not-allowed}.dismiss-btn{color:var(--color-text-muted);border:1px solid var(--color-border-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:.375rem .75rem;font-size:.8125rem;transition:all .15s}.dismiss-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-color:var(--color-text-light)}.merge-hint{color:var(--color-text-light);font-size:.75rem}.merge-comparison{grid-template-columns:1fr auto 1fr;align-items:start;gap:.75rem;display:grid}.merge-comparison-divider{color:var(--color-text-light);align-self:center;padding-top:2rem;font-size:.875rem;font-weight:500}.merge-direction-label{cursor:pointer;color:var(--color-text-secondary);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.merge-direction-label input[type=radio]{cursor:pointer}.merge-direction-text{font-weight:500}.merge-comparison-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;padding:.75rem}.merge-comparison-name{color:var(--color-text-primary);margin-bottom:.5rem;font-weight:600}.merge-comparison-detail{color:var(--color-text-muted);margin-bottom:.25rem;font-size:.8125rem}.split-helper-text{background:var(--color-accent-light);color:#1e40af;border:1px solid #bfdbfe;border-radius:6px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.8125rem}.donor-card.split-mode{cursor:pointer}.donor-card .split-checkbox{cursor:pointer;flex-shrink:0;width:1.125rem;height:1.125rem;margin-right:.5rem}.donor-card .split-checkbox:disabled{opacity:.4;cursor:not-allowed}.split-toolbar{background:var(--color-accent-light);border:1px solid #bfdbfe;border-radius:6px;align-items:center;gap:.75rem;margin-top:.75rem;padding:.75rem;display:flex}.campaign-email-editor{border:1px solid var(--color-border-secondary);background:var(--color-bg-secondary);border-radius:4px}.campaign-email-editor-toolbar{border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-primary);flex-wrap:wrap;gap:4px;padding:8px;display:flex}.campaign-email-editor-toolbar button{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;min-width:28px;padding:4px 8px;font-size:14px;display:flex}.campaign-email-editor-toolbar button:hover{background:var(--color-bg-tertiary)}.campaign-email-editor-toolbar button.active{background:var(--color-bg-hover);border-color:var(--color-text-light)}.campaign-email-editor-toolbar button:focus:not(:focus-visible){outline:none}.campaign-email-editor-toolbar button:focus-visible{z-index:1;outline:2px solid var(--color-accent-primary);outline-offset:2px;position:relative}.campaign-email-editor-toolbar button:disabled{opacity:.4;cursor:not-allowed}.campaign-email-editor-toolbar .toolbar-divider{background:var(--color-border-primary);width:1px;margin:0 4px}.campaign-email-editor-content .tiptap{outline:none;min-height:200px;max-height:400px;padding:12px;font-size:.875rem;line-height:1.5;overflow-y:auto}.campaign-email-editor-content .tiptap p{margin:0 0 1em}.campaign-email-editor-content .tiptap ul,.campaign-email-editor-content .tiptap ol{margin:0 0 1em;padding-left:1.5em}.campaign-email-editor-content .tiptap a{color:#06c;text-decoration:underline}.campaign-email-editor-content .tiptap img{max-width:100%;height:auto}.campaign-email-editor-content .tiptap h1{margin:0 0 .5em;font-size:1.5rem;font-weight:700}.campaign-email-editor-content .tiptap h2{margin:0 0 .5em;font-size:1.25rem;font-weight:600}.campaign-email-editor-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--color-text-muted);pointer-events:none;height:0}.campaign-email-editor-content .tiptap table{border-collapse:collapse;font-size:.75rem}.campaign-email-editor-content .tiptap th,.campaign-email-editor-content .tiptap td{padding:4px 8px}.email-preview-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.email-preview-header{background:#f1f5f9;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.email-preview-header h4{color:#475569;margin:0;font-size:.875rem;font-weight:600}.email-preview-nav{align-items:center;gap:.5rem;display:flex}.email-preview-nav .nav-btn{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:.875rem;font-weight:600;transition:all .15s;display:flex}.email-preview-nav .nav-btn:hover{background:#e2e8f0}.email-preview-nav .nav-indicator{color:#64748b;text-align:center;min-width:60px;font-size:.75rem}.email-preview-recipient,.email-preview-subject{background:#fff;border-bottom:1px solid #e2e8f0;padding:.5rem 1rem;font-size:.875rem}.email-preview-recipient .label,.email-preview-subject .label{color:#64748b;margin-right:.5rem;font-weight:500}.email-preview-recipient .value,.email-preview-subject .value{color:#1e293b}.email-preview-recipient .email{color:#64748b;margin-left:.25rem}.email-preview-body{background:#fff;min-height:150px;max-height:calc(100vh - 500px);padding:1rem;overflow-y:auto}.email-preview-body pre{white-space:pre-wrap;word-wrap:break-word;color:#334155;margin:0;font-family:inherit;font-size:.875rem;line-height:1.6}.email-preview-body .html-content{color:#334155;font-size:.875rem;line-height:1.6}.email-preview-body .html-content p{margin:0 0 1em}.email-preview-body .html-content a{color:var(--color-accent-primary-hover);text-decoration:underline}.email-preview-body .html-content img{max-width:100%;height:auto}.email-preview-empty{text-align:center;color:#64748b;padding:2rem;font-size:.875rem}.email-preview-container.edited{border-color:#f59e0b}.email-preview-actions{align-items:center;gap:.75rem;display:flex}.edited-badge{color:#92400e;text-transform:uppercase;vertical-align:middle;background:#fef3c7;border-radius:4px;margin-left:.5rem;padding:2px 6px;font-size:.625rem;font-weight:600;display:inline-block}.edit-btn,.done-btn,.revert-btn{cursor:pointer;border-radius:4px;padding:4px 12px;font-size:.75rem;font-weight:500;transition:all .15s}.edit-btn{color:#0369a1;background:#e0f2fe;border:1px solid #7dd3fc}.edit-btn:hover{background:#bae6fd}.done-btn{color:#166534;background:#dcfce7;border:1px solid #86efac}.done-btn:hover{background:#bbf7d0}.revert-btn{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.revert-btn:hover{background:#fde68a}.email-preview-body .email-editor{border:none;border-radius:0;margin:-12px}.send-history-tab{flex-direction:column;gap:1rem;display:flex}.batch-grid{width:100%}.batch-grid .ag-row{cursor:pointer}.batch-row-selected{background-color:var(--color-accent-light)!important}.batch-detail-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem}.batch-detail-panel h4{justify-content:space-between;align-items:center;margin:0 0 .75rem;font-size:.9375rem;display:flex}.close-detail{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:0 .25rem;font-size:1.25rem}.close-detail:hover{color:var(--color-text-primary)}.entry-grid{width:100%}.email-page{flex-direction:column;height:100%;display:flex}.email-page h2{margin:0 0 .5rem}.email-page-content{flex:1;min-height:0}.wizard-step-indicator{align-items:center;gap:0;margin:1rem 0 1.5rem;padding:0 1rem;display:flex}.wizard-step-wrapper{flex:1;align-items:center;display:flex}.wizard-step-wrapper:first-child{flex:0}.wizard-step-connector{background:var(--color-border-primary);flex:1;height:2px;margin:0 .5rem}.wizard-step-connector.completed{background:var(--color-accent-primary)}.wizard-step{border:2px solid var(--color-border-primary);color:var(--color-text-muted);cursor:default;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:.5rem;padding:.375rem 1rem;font-size:.875rem;transition:all .15s;display:flex}.wizard-step.active{border-color:var(--color-accent-primary);color:var(--color-accent-primary);font-weight:600}.wizard-step.completed{border-color:var(--color-accent-primary);background:var(--color-accent-primary);color:#fff;cursor:pointer}.wizard-step.completed:hover{opacity:.9}.wizard-step:disabled:not(.completed):not(.active){opacity:.5}.wizard-step-number{background:var(--color-bg-tertiary);border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:600;display:inline-flex}.wizard-step.active .wizard-step-number{background:var(--color-accent-primary-fill);color:#fff}.wizard-step.completed .wizard-step-number{background:var(--color-bg-tertiary)}.wizard-step-label{font-size:.8125rem}.quick-compose-bar{background:var(--color-info-light);border:1px solid #bae6fd;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;display:flex}.quick-compose-label{color:#0369a1;font-size:.8125rem;font-weight:500}.quick-compose-btn{cursor:pointer;color:#0284c7;background:#fff;border:1px solid #7dd3fc;border-radius:4px;padding:.25rem .75rem;font-size:.8125rem;transition:all .15s}.quick-compose-btn:hover{background:var(--color-info-light)}.purpose-step h3{margin:0 0 1rem;font-size:1.125rem}.purpose-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.purpose-card{background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;gap:.375rem;padding:1.25rem;transition:all .15s;display:flex;position:relative}.purpose-card:hover:not(:disabled){border-color:var(--color-accent-primary);box-shadow:0 2px 8px #3b82f61a}.purpose-card.selected{border-color:var(--color-accent-primary);background:var(--color-accent-light)}.purpose-card.disabled{opacity:.6;cursor:not-allowed}.purpose-card-title{color:var(--color-text-primary);font-size:.9375rem;font-weight:600}.purpose-card-subtitle{color:var(--color-text-muted);font-size:.8125rem}.purpose-card-badge{background:var(--color-bg-tertiary);color:var(--color-text-muted);border-radius:999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;position:absolute;top:.5rem;right:.5rem}.audience-picker{background:var(--color-bg-primary);border-radius:8px;margin-top:.5rem;padding:1rem}.audience-picker h4{margin:0 0 .75rem;font-size:.9375rem}.audience-options{gap:1rem;display:flex}.audience-btn{background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);cursor:pointer;text-align:left;border-radius:6px;flex-direction:column;flex:1;gap:.25rem;padding:1rem;transition:all .15s;display:flex}.audience-btn:hover{border-color:var(--color-accent-primary)}.audience-btn-label{font-size:.875rem;font-weight:600}.audience-btn-subtitle{color:var(--color-text-muted);font-size:.8125rem}.recipients-step-layout{grid-template-columns:280px 1fr;gap:1.5rem;margin-bottom:1rem;display:grid}.email-wizard .recipients-filters{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.25rem;display:block}.email-wizard .recipients-filters h3{margin:0 0 1rem;font-size:1rem}.recipients-list-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;flex-direction:column;padding:1.25rem;display:flex}.recipients-list-panel h3{margin:0 0 .75rem;font-size:1rem}.preference-summary{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.excluded-count{color:#d97706;background:var(--color-warning-light);border-radius:4px;padding:.25rem .5rem;font-size:.8125rem}.bounced-count{color:#dc2626;background:var(--color-error-light);border-radius:4px;padding:.25rem .5rem;font-size:.8125rem}.student-row.disabled{opacity:.5;cursor:not-allowed;border-bottom:1px solid var(--color-bg-tertiary);align-items:center;gap:.5rem;padding:.5rem;display:flex}.student-row .name.bounced{text-decoration:line-through}.student-row .status.opted-out{color:#d97706;font-size:.6875rem;font-style:italic}.student-row .status.bounced{color:#dc2626;font-size:.6875rem;font-style:italic}.email-selector{border:1px solid var(--color-border-primary);border-radius:3px;max-width:180px;padding:.125rem .25rem;font-size:.75rem}.template-step-layout{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem;display:grid}.template-editor-panel,.template-preview-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.25rem}.template-editor-panel h3,.template-preview-panel h3{margin:0 0 1rem;font-size:1rem}.readonly-field{background-color:var(--color-bg-tertiary);cursor:default;opacity:.85}.template-body-readonly{background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);min-height:200px;max-height:400px;color:var(--color-text-secondary);border-radius:4px;padding:.75rem;font-size:.875rem;line-height:1.6;overflow-y:auto}.template-body-readonly p{margin:0 0 1em}.template-body-readonly img{max-width:100%;height:auto}.template-body-readonly a{color:var(--color-accent-primary-hover);text-decoration:underline}.template-selector{margin-bottom:1rem}.template-selector label{margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.template-selector select{width:100%}.template-step .form-group{margin-bottom:1rem}.template-step .form-group label{margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.template-step .form-group input[type=text],.template-step .form-group textarea{width:100%}.template-step .form-group textarea{resize:vertical;font-family:monospace;font-size:.8125rem}.review-layout{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem;display:grid}.review-recipients-panel,.review-preview-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.25rem}.review-panel-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.review-panel-header h3{margin:0;font-size:1rem}.review-mode-toggle{border:1px solid var(--color-border-primary);border-radius:4px;display:flex;overflow:hidden}.toggle-btn{background:var(--color-bg-secondary);cursor:pointer;border:none;padding:.25rem .75rem;font-size:.75rem;transition:all .15s}.toggle-btn.active{background:var(--color-accent-primary);color:#fff}.toggle-btn:not(.active):hover{background:var(--color-bg-tertiary)}.recipient-overview-table{border-collapse:collapse;width:100%;font-size:.8125rem}.recipient-overview-table th{text-align:left;border-bottom:2px solid var(--color-border-primary);color:var(--color-text-muted);padding:.5rem;font-size:.75rem;font-weight:600}.recipient-overview-table td{border-bottom:1px solid var(--color-bg-tertiary);padding:.5rem}.recipient-overview-table .text-right{text-align:right}.email-cell{color:var(--color-text-muted);font-size:.75rem}.override-badge{background:var(--color-info-light);color:#1e40af;border-radius:2px;margin-left:.25rem;padding:.0625rem .25rem;font-size:.625rem;font-weight:600;display:inline-block}.status-met{color:var(--color-success-dark)}.status-not-met{color:var(--color-error-dark)}.recipient-overview-summary{text-align:center;color:var(--color-text-muted);padding:.5rem;font-size:.8125rem}.recipient-overview-empty{text-align:center;color:var(--color-text-light);padding:2rem}.review-send-controls{background:var(--color-bg-tertiary);border-radius:8px;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.send-test-section{flex-shrink:0}.send-main-section{align-items:center;gap:.75rem;display:flex}.link-btn{color:var(--color-accent-primary);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.step-actions{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.step-actions .btn:last-child{margin-left:auto}.email-wizard .filter-controls{margin-bottom:1rem}.email-wizard .filter-controls label{margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.email-wizard .filter-controls select,.email-wizard .filter-controls input[type=number]{width:100%}.email-wizard .select-all{background:var(--color-bg-primary);border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem;display:flex}.email-wizard .select-all label{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.email-wizard .selected-count{color:var(--color-text-muted);font-size:.75rem}.email-wizard .student-list{border:1px solid var(--color-border-primary);border-radius:4px;min-height:200px;max-height:calc(100vh - 400px);overflow-y:auto}.email-wizard .student-row{border-bottom:1px solid var(--color-bg-tertiary);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem;transition:background-color .15s;display:flex}.email-wizard .student-row:hover{background:var(--color-bg-primary)}.email-wizard .student-row .name{flex:1;font-size:.875rem}.email-wizard .student-row .status{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem}.email-wizard .student-row .status.met{background:var(--color-success-light);color:var(--color-success-dark)}.email-wizard .student-row .status.not-met{background:var(--color-error-light);color:var(--color-error-dark)}.email-wizard .student-row .status.donated{background:var(--color-info-light);color:#1e40af}.email-wizard .batch-exclude-section{border-top:1px solid var(--color-border-primary);padding-top:.75rem}.email-wizard .batch-exclude-summary{color:var(--color-text-muted);margin-top:.25rem;margin-bottom:.25rem;font-size:.75rem;display:block}.email-wizard .batch-detail-toggle{margin-top:.25rem;padding:.25rem 0;font-size:.8125rem}.email-wizard .batch-list{margin-top:.25rem;padding-left:.25rem}.email-wizard .batch-item{padding:.25rem 0;font-size:.8125rem}.email-wizard .batch-info{color:var(--color-text-secondary);line-height:1.3}.email-wizard .checkbox-label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.email-wizard .checkbox-label input[type=checkbox]{width:auto}.email-wizard .collapsible-header{color:var(--color-text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem 0;font-size:.875rem;display:flex}.email-wizard .collapsible-header:hover{color:var(--color-accent-primary)}.email-wizard .checkbox-inline{cursor:pointer;white-space:nowrap;align-items:center;gap:.375rem;font-size:.875rem;display:flex}.email-wizard .test-email-inline{border:1px solid var(--color-border-primary);border-radius:4px;width:200px;padding:.375rem .5rem;font-size:.875rem}.email-wizard .edited-count-badge{background:var(--color-warning-light);color:var(--color-warning-dark);border-radius:4px;margin-top:.5rem;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-block}@media (width<=1024px){.purpose-grid{grid-template-columns:repeat(2,1fr)}.recipients-step-layout,.template-step-layout,.review-layout{grid-template-columns:1fr}}@media (width<=768px){.wizard-step-indicator{flex-wrap:wrap;gap:.25rem;padding:0}.wizard-step-connector{display:none}.wizard-step-wrapper{flex:0}.wizard-step-label{display:none}.purpose-grid{grid-template-columns:1fr}.audience-options{flex-direction:column}.review-send-controls{flex-direction:column;align-items:stretch}}.ensemble-email-selector{border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.selector-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);flex-wrap:wrap;gap:1rem;padding:1rem;display:flex}.selector-header select{border:1px solid var(--color-border-primary);border-radius:4px;flex:1;min-width:200px;padding:.5rem;font-size:.875rem}.email-type-toggle{gap:0;display:flex}.email-type-toggle button{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);cursor:pointer;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s}.email-type-toggle button:first-child{border-radius:4px 0 0 4px}.email-type-toggle button:last-child{border-left:none;border-radius:0 4px 4px 0}.email-type-toggle button:hover:not(.active){background:var(--color-bg-primary)}.email-type-toggle button.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.email-type-toggle button:focus:not(:focus-visible){outline:none}.email-type-toggle button:focus-visible{z-index:1;outline:2px solid var(--color-accent-primary);outline-offset:2px;position:relative}.email-list-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.875rem;display:flex}.email-count{color:var(--color-text-muted)}.selector-loading{text-align:center;color:var(--color-text-muted);padding:1.5rem}.selector-footer{background:var(--color-bg-primary);border-top:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.selected-count strong{color:var(--color-accent-primary)}.add-selected-btn{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem}.add-selected-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.add-selected-btn:disabled{opacity:.5;cursor:not-allowed}.paste-data-input{border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.paste-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);padding:.75rem 1rem}.paste-header h4{color:var(--color-text-primary);margin:0 0 .25rem;font-size:.875rem}.paste-header p{color:var(--color-text-muted);margin:0;font-size:.75rem}.paste-body{padding:1rem}.paste-textarea{border:1px solid var(--color-border-primary);resize:vertical;border-radius:6px;width:100%;min-height:150px;padding:.75rem;font-family:monospace;font-size:.8125rem}.paste-textarea:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.paste-actions{justify-content:flex-end;gap:.5rem;margin-top:.75rem;display:flex}.paste-actions button{cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem}.parse-btn{background:var(--color-accent-primary);color:#fff;border:none}.parse-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.parse-btn:disabled{opacity:.5;cursor:not-allowed}.clear-btn{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary)}.clear-btn:hover{background:var(--color-bg-primary)}.parsed-results{border-top:1px solid var(--color-border-primary);margin-top:1rem;padding-top:1rem}.parsed-results-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.parsed-results-header h5{color:var(--color-text-primary);margin:0;font-size:.875rem}.parsed-method{color:var(--color-text-muted);background:var(--color-bg-tertiary);border-radius:4px;padding:.125rem .5rem;font-size:.75rem}.parsed-email-list{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;max-height:200px;padding:.5rem;overflow-y:auto}.parsed-email-item{border-radius:4px;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}.parsed-email-item:hover{background:var(--color-bg-hover)}.parsed-email-item input{cursor:pointer}.parsed-email-item label{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1}.parsed-email-item.selected{background:var(--color-bg-active)}.parsed-footer{justify-content:space-between;align-items:center;margin-top:.75rem;display:flex}.parsed-count{color:var(--color-text-muted);font-size:.875rem}.add-parsed-btn{background:var(--color-success);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem}.add-parsed-btn:hover:not(:disabled){background:var(--color-success-dark)}.add-parsed-btn:disabled{opacity:.5;cursor:not-allowed}.parse-error{background:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error);border-radius:6px;margin-top:.75rem;padding:.75rem;font-size:.875rem}.parsing-indicator{color:var(--color-text-muted);align-items:center;gap:.5rem;margin-top:.75rem;font-size:.875rem;display:flex}.parsing-indicator:before{content:"";border:2px solid var(--color-border-primary);border-top-color:var(--color-accent-primary);border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.members-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.members-header h4{color:var(--color-text-primary);margin:0;font-size:1rem}.members-header-actions{gap:.5rem;display:flex}.add-members-panel{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:1rem;overflow:hidden}.add-members-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.add-members-header h5{color:var(--color-text-primary);margin:0;font-size:.875rem}.add-members-content{padding:1rem}.add-members-source-tabs{gap:0;margin-bottom:1rem;display:flex}.add-members-source-tabs button{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);cursor:pointer;padding:.375rem .75rem;font-size:.8125rem}.add-members-source-tabs button:first-child{border-radius:4px 0 0 4px}.add-members-source-tabs button:last-child{border-left:none;border-radius:0 4px 4px 0}.add-members-source-tabs button.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.add-members-source-tabs button:focus:not(:focus-visible){outline:none}.add-members-source-tabs button:focus-visible{z-index:1;outline:2px solid var(--color-accent-primary);outline-offset:2px;position:relative}.add-members-footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary);justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;display:flex}.members-list-container{max-height:calc(100vh - 400px);overflow-y:auto}.member-item{background:var(--color-bg-primary);border:1px solid #0000;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.625rem .75rem;transition:background .3s,border-color .3s,opacity .3s;display:flex}.member-item:last-child{margin-bottom:0}.member-item-info{align-items:center;gap:.5rem;display:flex}.member-item-email{color:var(--color-text-primary);font-size:.875rem}.member-item-role{color:var(--color-text-muted);background:var(--color-bg-hover);text-transform:capitalize;border-radius:4px;padding:.125rem .5rem;font-size:.75rem}.member-item-role.owner{background:var(--color-warning-light);color:var(--color-warning-dark)}.member-item-role.manager{background:var(--color-info-light);color:#1e40af}.member-item-actions{gap:.25rem;display:flex}.members-empty{text-align:center;color:var(--color-text-muted);padding:2rem}.members-empty p{margin:0 0 1rem}.members-loading{text-align:center;color:var(--color-text-muted);padding:1.5rem}.pending-emails-section{background:var(--color-warning-light);border:1px solid #fde68a;border-radius:6px;margin-top:1rem;padding:.75rem}.pending-emails-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.pending-emails-header span{color:var(--color-warning-dark);font-size:.8125rem;font-weight:500}.pending-emails-list{flex-wrap:wrap;gap:.375rem;display:flex}.pending-email-tag{background:var(--color-bg-secondary);border:1px solid #fde68a;border-radius:4px;align-items:center;gap:.25rem;padding:.125rem .375rem;font-size:.75rem;display:flex}.add-result{border-radius:4px;margin-top:.75rem;padding:.5rem .75rem;font-size:.8125rem}.add-result.success{background:var(--color-success-light);color:var(--color-success-dark)}.add-result.error{background:var(--color-error-light);color:#dc2626}.add-result.partial{background:var(--color-warning-light);color:var(--color-warning-dark)}.member-item.pending-add{background:var(--color-success-light);border:1px dashed #86efac}.member-item.pending-add .member-status-icon{border:2px solid var(--color-border-primary);border-top-color:var(--color-accent-primary);border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin;display:inline-block}.member-item.pending-remove{opacity:.5;background:var(--color-bg-tertiary)}.member-item.pending-role-change{background:var(--color-warning-light);border:1px dashed #fde68a}.member-item.timeout{background:var(--color-error-light);border:1px dashed #fecaca}.pending-badge{background:var(--color-warning-light);color:var(--color-warning-dark);border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;transition:opacity .3s}.warning-badge{background:var(--color-error-light);color:#dc2626;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem}.role-select{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:4px;padding:.25rem .5rem;font-size:.875rem}.role-select:disabled{opacity:.5;cursor:not-allowed}.save-role-btn{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.8125rem}.save-role-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.save-role-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-role-btn{background:var(--color-bg-secondary);color:var(--color-text-muted);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:4px;padding:.25rem .5rem;font-size:.8125rem}.cancel-role-btn:hover:not(:disabled){background:var(--color-bg-primary)}.cancel-role-btn:disabled{opacity:.5;cursor:not-allowed}.quick-add-section{margin-bottom:1rem}.quick-add-input-wrapper{gap:.5rem;display:flex}.quick-add-input{border:1px solid var(--color-border-primary);border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.875rem}.quick-add-input:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.quick-add-input.error{border-color:#dc2626}.quick-add-input.error:focus{box-shadow:0 0 0 3px #dc26261a}.quick-add-input:disabled{background:var(--color-bg-primary);opacity:.7}.quick-add-error{color:#dc2626;margin-top:.375rem;font-size:.8125rem}.bulk-add-link{margin-top:.5rem}.google-groups-page{max-width:1400px}.google-groups-page h2{margin-bottom:.5rem}.google-groups-page .description{color:var(--color-text-muted);margin-bottom:1.5rem}.loading,.error{text-align:center;padding:2rem}.error{color:#dc2626}.groups-main-content{align-items:flex-start;gap:1.5rem;display:flex}.groups-list{flex-direction:column;flex-shrink:0;gap:.5rem;width:475px;max-height:calc(100vh - 200px);display:flex;overflow-y:auto}.group-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:border-color .15s,box-shadow .15s;display:flex}.group-card:hover{border-color:var(--color-accent-primary);box-shadow:0 2px 4px #3574b81a}.group-card.selected{border-color:var(--color-accent-primary);background:var(--color-accent-light)}.group-info{flex-direction:column;gap:.25rem;display:flex}.group-name{color:var(--color-text-primary);font-size:1rem;font-weight:600}.group-email{color:var(--color-text-muted);font-size:.875rem}.group-meta{align-items:center;gap:1rem;display:flex}.member-count{background:var(--color-bg-hover);color:var(--color-text-secondary);border-radius:9999px;padding:.25rem .75rem;font-size:.875rem}.empty-state{text-align:center;color:var(--color-text-muted);padding:3rem}.empty-state p{margin-bottom:1rem}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.header-text h2{margin:0 0 .25rem}.header-text .description{margin:0}.header-actions{gap:.5rem;display:flex}.group-detail-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;flex:1;min-width:0}.detail-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.detail-header h3{margin:0;font-size:1.125rem}.detail-actions{gap:.5rem;display:flex}.detail-content{padding:1.5rem}.detail-info{grid-template-columns:auto 1fr;gap:.5rem 1rem;margin-bottom:1.5rem;display:grid}.detail-label{color:var(--color-text-muted);font-weight:500}button.primary{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s}button.primary:hover:not(:disabled){background:var(--color-accent-primary-hover)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s,border-color .15s}button.secondary:hover:not(:disabled){background:var(--color-bg-primary);border-color:var(--color-border-secondary)}button.danger{background:var(--color-bg-secondary);color:#dc2626;cursor:pointer;border:1px solid #fecaca;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s}button.danger:hover:not(:disabled){background:var(--color-error-light)}button.icon-btn{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;padding:.25rem;line-height:1}button.icon-btn:hover{color:#dc2626}.refresh-btn{align-items:center;gap:.5rem;display:flex}.refresh-btn.loading:before{content:"";border:2px solid var(--color-border-primary);border-top-color:var(--color-accent-primary);border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}.action-result{border-radius:6px;margin-bottom:1.5rem;padding:.75rem 1rem}.action-result.success{background:var(--color-success-light);color:var(--color-success-dark)}.action-result.error{background:var(--color-error-light);color:#dc2626}.action-result.info{background:var(--color-info-light);color:#1e40af}.create-form-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:1.5rem}.create-form-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.create-form-header h3{margin:0;font-size:1.125rem}.close-btn{padding:.25rem .5rem;font-size:1.25rem}.create-form-content{padding:1.5rem}.form-section{margin-bottom:1.5rem}.form-section:last-child{margin-bottom:0}.form-section h4{color:var(--color-text-primary);margin:0 0 1rem;font-size:.9375rem}.form-row{margin-bottom:1rem}.form-row:last-child{margin-bottom:0}.form-row label{color:var(--color-text-secondary);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-row input{border:1px solid var(--color-border-primary);border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem}.form-row input:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.email-input-wrapper{align-items:center;display:flex}.email-input-wrapper input{border-radius:6px 0 0 6px;flex:1}.email-suffix{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);color:var(--color-text-muted);white-space:nowrap;border-left:none;border-radius:0 6px 6px 0;padding:.5rem .75rem;font-size:.875rem}.email-source-tabs{gap:0;margin-bottom:1rem;display:flex}.email-source-tabs button{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);cursor:pointer;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s}.email-source-tabs button:first-child{border-radius:6px 0 0 6px}.email-source-tabs button:last-child{border-left:none;border-radius:0 6px 6px 0}.email-source-tabs button:hover:not(.active){background:var(--color-bg-primary)}.email-source-tabs button.active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.email-source-tabs button:focus:not(:focus-visible){outline:none}.email-source-tabs button:focus-visible{z-index:1;outline:2px solid var(--color-accent-primary);outline-offset:2px;position:relative}.collected-emails-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.collected-emails-header h4{margin:0}.collected-emails-list{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;flex-wrap:wrap;gap:.5rem;max-height:150px;padding:.75rem;display:flex;overflow-y:auto}.collected-email-item{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8125rem;display:flex}.collected-email-item span{color:var(--color-text-primary)}.collected-email-item .icon-btn{margin-left:.25rem;padding:.125rem;font-size:.75rem}.create-form-footer{background:var(--color-bg-primary);border-top:1px solid var(--color-border-primary);border-radius:0 0 8px 8px;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;display:flex}.edit-name-input{border:1px solid var(--color-accent-primary);border-radius:4px;min-width:250px;padding:.375rem .5rem;font-size:1.125rem;font-weight:600}.edit-name-input:focus{outline:none;box-shadow:0 0 0 3px #3574b81a}.edit-description-input{border:1px solid var(--color-accent-primary);border-radius:4px;width:100%;padding:.375rem .5rem;font-size:.875rem}.edit-description-input:focus{outline:none;box-shadow:0 0 0 3px #3574b81a}@media (width<=1024px){.google-groups-page{max-width:100%}.groups-list{width:380px}.detail-content{padding:1rem}}@media (width<=768px){.groups-main-content{flex-direction:column}.groups-list{width:100%;max-height:none;overflow-y:visible}.group-detail-panel{width:100%}.page-header{flex-direction:column;align-items:stretch;gap:1rem}.header-actions{flex-wrap:wrap}.group-card{min-height:44px;padding:1rem}button.primary,button.secondary,button.danger{min-height:44px;padding:.75rem 1rem}.create-form-panel{margin-bottom:1rem}.create-form-content{padding:1rem}.create-form-footer{flex-wrap:wrap;padding:1rem}.detail-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.detail-info{grid-template-columns:1fr;gap:.5rem}.detail-label{margin-top:.5rem}.email-source-tabs{flex-wrap:wrap}.email-source-tabs button{flex:1;min-width:45%}.email-source-tabs button:first-child{border-radius:6px 0 0}.email-source-tabs button:nth-child(2){border-left:none;border-radius:0 6px 0 0}.email-source-tabs button:nth-child(3){border-top:none;border-radius:0 0 0 6px}.email-source-tabs button:last-child{border-top:none;border-left:none;border-radius:0 0 6px}}@media (width<=480px){.page-header .header-text h2{font-size:1.25rem}.group-name{font-size:.9375rem}.group-email{word-break:break-all;font-size:.8125rem}.edit-name-input{min-width:200px;font-size:1rem}.collected-emails-list{max-height:100px}.collected-email-item{font-size:.75rem}}.email-export-page{max-width:800px;padding:20px}.email-export-page h1{margin-bottom:8px}.email-export-page .description{color:var(--color-text-muted);margin-bottom:24px}.ensemble-selection{background:var(--color-bg-tertiary);border-radius:8px;margin-bottom:20px;padding:16px}.ensemble-selection h2{margin:0 0 12px;font-size:1.1rem}.generate-btn{margin-bottom:24px}.btn-primary{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:1rem}.results{border-top:1px solid var(--color-border-primary);padding-top:20px}.results-info{color:var(--color-text-muted);margin-bottom:16px;font-size:.9rem}.email-section{margin-bottom:20px}.section-header h3{margin:0;font-size:1rem}.btn-copy{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:4px;min-width:80px;padding:6px 16px;font-size:.9rem}.btn-copy:hover:not(:disabled){background:#218838}.btn-copy:disabled{background:var(--color-border-secondary);cursor:not-allowed}.email-section textarea{border:1px solid var(--color-border-primary);resize:vertical;background:var(--color-bg-secondary);border-radius:4px;width:100%;padding:12px;font-family:monospace;font-size:.85rem}.email-section textarea:read-only{background:var(--color-bg-tertiary)}.esignature-page{max-width:1200px}.esignature-page h1{margin-bottom:.5rem}.esignature-page .description{color:var(--color-text-muted);margin-bottom:1.5rem}.esignature-page .create-form{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:2rem;padding:1.5rem}.esignature-page .create-form h2{margin:0 0 1rem;font-size:1.125rem}.esignature-page .form-field,.esignature-page .ui-form-field{margin-bottom:1rem}.esignature-page .form-field label{color:var(--color-text-secondary);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.esignature-page .form-field input,.esignature-page .form-field textarea,.esignature-page .form-field select{border:1px solid var(--color-border-primary);border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem}.esignature-page .form-field input:focus,.esignature-page .form-field textarea:focus,.esignature-page .form-field select:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.esignature-page .form-hint{color:var(--color-text-muted);margin-top:.375rem;font-size:.75rem;display:block}.esignature-page .input-mode-toggle{gap:1.5rem;margin-top:.5rem;display:flex}.esignature-page .mode-option{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.esignature-page .mode-option input{cursor:pointer;width:auto}.esignature-page .ensemble-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin-top:.5rem;display:grid}.esignature-page .ensemble-checkbox{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem;font-size:.875rem;transition:border-color .15s,background-color .15s;display:flex}.esignature-page .ensemble-checkbox:hover{border-color:var(--color-accent-primary);background:var(--color-info-light)}.esignature-page .ensemble-checkbox input{width:auto}.esignature-page .form-actions{gap:.5rem;margin-top:1.5rem;display:flex}.esignature-page .btn-primary{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s}.esignature-page .btn-primary:hover:not(:disabled){background:var(--color-accent-primary-hover)}.esignature-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.esignature-page .btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s,border-color .15s}.esignature-page .btn-secondary:hover:not(:disabled){background:var(--color-bg-primary);border-color:var(--color-border-secondary)}.esignature-page .btn-danger{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s}.esignature-page .btn-danger:hover:not(:disabled){background:var(--color-error-light)}.esignature-page .btn-danger:disabled{opacity:.5;cursor:not-allowed}.esignature-page .btn-copy{background:var(--color-bg-primary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:4px;padding:.375rem .75rem;font-size:.75rem;transition:background-color .15s,border-color .15s}.esignature-page .btn-copy:hover{background:var(--color-bg-hover);border-color:var(--color-border-secondary)}.esignature-page .create-btn,.esignature-page .trackings-section{margin-bottom:2rem}.esignature-page .trackings-section h2{margin-bottom:1rem;font-size:1.125rem}.esignature-page .trackings-list{flex-direction:column;gap:.75rem;display:flex}.esignature-page .tracking-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:6px;padding:1rem;transition:border-color .15s,box-shadow .15s}.esignature-page .tracking-card:hover{border-color:var(--color-accent-primary);box-shadow:0 2px 4px #3574b81a}.esignature-page .tracking-card.selected{border-color:var(--color-accent-primary);background:var(--color-info-light)}.esignature-page .tracking-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.esignature-page .tracking-name{color:var(--color-text-primary);font-weight:600}.esignature-page .tracking-progress{color:var(--color-text-muted);font-size:.875rem}.esignature-page .tracking-meta{color:var(--color-text-muted);justify-content:space-between;font-size:.875rem;display:flex}.esignature-page .tracking-ensembles{font-style:italic}.esignature-page .tracking-template{color:var(--color-accent-primary-hover);background:var(--color-info-light);border-radius:4px;margin-top:.5rem;padding:.25rem .5rem;font-size:.75rem;display:inline-block}.esignature-page .tracking-description{color:var(--color-text-muted);border-top:1px solid var(--color-border-primary);margin-top:.5rem;padding-top:.5rem;font-size:.875rem}.esignature-page .no-trackings{color:var(--color-text-muted);font-style:italic}.esignature-page .tracking-detail{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.5rem}.esignature-page .detail-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.esignature-page .detail-header h2{margin:0}.esignature-page .detail-actions{gap:.5rem;display:flex}.esignature-page .progress-bar{background:var(--color-border-primary);border-radius:12px;height:24px;margin-bottom:1.5rem;position:relative;overflow:hidden}.esignature-page .progress-fill{background:#22c55e;height:100%;transition:width .3s;position:absolute;top:0;left:0}.esignature-page .progress-text{color:var(--color-text-primary);font-size:.75rem;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.esignature-page .batches-list{flex-direction:column;gap:1rem;display:flex}.esignature-page .batch-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;padding:1rem}.esignature-page .batch-card.sent{background:var(--color-success-light);border-color:#bbf7d0}.esignature-page .batch-card.selected{border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #3574b833}.esignature-page .batch-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.esignature-page .batch-select{cursor:pointer;flex:1;align-items:center;gap:.5rem;display:flex}.esignature-page .batch-select input{cursor:pointer;width:1.25rem;height:1.25rem}.esignature-page .batch-sent-toggle{cursor:pointer;color:var(--color-text-muted);align-items:center;gap:.375rem;font-size:.75rem;display:flex}.esignature-page .batch-sent-toggle input{cursor:pointer;width:1rem;height:1rem}.esignature-page .sent-label{color:var(--color-text-muted);font-size:.75rem}.esignature-page .batch-sent-system{color:#059669;font-size:.75rem;font-weight:500}.esignature-page .batch-title{color:var(--color-text-primary);font-weight:600}.esignature-page .batch-sent-info{color:#059669;margin-bottom:.75rem;font-size:.75rem}.esignature-page .batch-entries{overflow-x:auto}.esignature-page .batch-entries table{border-collapse:collapse;width:100%;font-size:.875rem}.esignature-page .batch-entries th,.esignature-page .batch-entries td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.5rem .75rem}.esignature-page .batch-entries th{color:var(--color-text-muted);background:var(--color-bg-secondary);font-weight:600}.esignature-page .batch-entries td{color:var(--color-text-primary)}.esignature-page .batch-card.sent .batch-entries th{background:var(--color-success-light)}.opt-out-page{background:var(--color-bg-tertiary);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.opt-out-container{background:var(--color-bg-secondary);border-radius:8px;width:100%;max-width:500px;padding:2rem;box-shadow:0 2px 8px #0000001a}.opt-out-container h1{color:var(--color-text-primary);margin:0 0 1.5rem;font-size:1.5rem}.loading{text-align:center;color:var(--color-text-muted);padding:2rem}.document-info{background:var(--color-bg-primary);border-radius:6px;margin:1rem 0;padding:1rem}.document-info p{color:var(--color-text-primary);margin:.5rem 0}.document-info strong{color:var(--color-text-primary)}.opt-out-explanation{color:var(--color-text-muted);margin-bottom:1.5rem;line-height:1.6}.opt-out-explanation p{margin:0}.opt-out-actions{flex-direction:column;gap:.75rem;display:flex}.note{color:var(--color-text-light);font-size:.9rem;margin-top:1rem!important}.preferences-page{background:var(--color-bg-secondary);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.preferences-container{background:var(--color-bg-primary);border-radius:8px;width:100%;max-width:500px;padding:2rem;box-shadow:0 2px 8px #0000001a}.preferences-container h1{color:var(--color-text);margin:0 0 .25rem;font-size:1.5rem}.preferences-subtitle{color:var(--color-text-secondary);margin:0 0 1.5rem;font-size:.95rem}.preferences-section{margin-bottom:1.5rem}.preferences-section h2{color:var(--color-text);margin:0 0 .75rem;font-size:1rem}.preferences-option{align-items:flex-start;gap:.5rem;padding:.5rem 0;display:flex}.preferences-option input[type=radio]{accent-color:var(--color-primary);margin-top:.2rem}.preferences-option-label{color:var(--color-text);font-size:.95rem}.preferences-option-hint{color:var(--color-text-secondary);font-size:.85rem}.preferences-actions{flex-direction:column;gap:.75rem;margin-top:2rem;display:flex}.preferences-footer{text-align:center;color:var(--color-text-secondary);border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1rem;font-size:.85rem}.preferences-loading{text-align:center;color:var(--color-text-secondary);padding:2rem}.field-validation-editor{margin:1rem 0}.validation-instructions{color:var(--color-text-muted);margin-bottom:1rem;font-size:.9rem}.validation-empty{background:var(--color-bg-tertiary);color:var(--color-text-muted);text-align:center;border-radius:4px;padding:1.5rem}.validation-summary{justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.9rem;display:flex}.validation-counts{gap:1.5rem;display:flex}.validation-count{color:var(--color-text-primary)}.validation-required-count{color:var(--color-text-muted)}.validation-bulk-actions{gap:.5rem;display:flex}.validation-bulk-actions .btn-small{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;color:var(--color-text-secondary);border-radius:4px;padding:.375rem .75rem;font-size:.75rem;transition:background-color .15s}.validation-bulk-actions .btn-small:hover{background:var(--color-bg-tertiary)}.validation-fields{flex-direction:column;gap:1.5rem;display:flex}.validation-page-group{border:1px solid var(--color-border-primary);border-radius:4px;overflow:hidden}.validation-page-header{background:var(--color-bg-tertiary);color:var(--color-text-muted);border-bottom:1px solid var(--color-border-primary);padding:.5rem 1rem;font-size:.85rem;font-weight:600}.validation-table{border-collapse:collapse;width:100%}.validation-table th{text-align:left;background:var(--color-bg-primary);color:var(--color-text-muted);border-bottom:1px solid var(--color-border-primary);padding:.75rem 1rem;font-size:.85rem;font-weight:600}.validation-table td{border-bottom:1px solid var(--color-border-primary);padding:.75rem 1rem}.validation-table tr:last-child td{border-bottom:none}.validation-table tr:hover{background:var(--color-bg-primary)}.field-name-cell{align-items:center;gap:.5rem;display:flex}.auto-detected-badge{background:var(--color-info-light);color:var(--color-info-dark);text-transform:uppercase;border-radius:3px;padding:.15rem .4rem;font-size:.7rem;font-weight:600}.required-cell{text-align:center;width:80px}.required-cell input[type=checkbox]{cursor:pointer;width:18px;height:18px}.type-cell{width:150px}.type-cell select{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:4px;width:100%;padding:.4rem;font-size:.9rem}.type-cell select:focus{border-color:var(--color-border-focus);outline:none}.template-page{max-width:1200px}.template-page h1{margin-bottom:.5rem}.template-page .description{color:var(--color-text-muted);margin-bottom:1.5rem}.template-page .create-form{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:2rem;padding:1.5rem}.template-page .create-form h2{margin:0 0 1rem;font-size:1.125rem}.template-page .form-field,.template-page .ui-form-field{margin-bottom:1rem}.template-page .form-field label{color:var(--color-text-secondary);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.template-page .form-field input[type=text],.template-page .form-field textarea{border:1px solid var(--color-border-primary);border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem}.template-page .form-field input[type=file]{font-size:.875rem}.template-page .form-field input:focus,.template-page .form-field textarea:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.template-page .file-selected-row{background:var(--color-success-light);border:1px solid #bbf7d0;border-radius:6px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.template-page .file-selected-row .file-name{color:var(--color-success-dark);word-break:break-all;flex:1;font-size:.875rem;font-weight:500}.template-page .btn-small{padding:.25rem .5rem;font-size:.75rem}.template-page .form-actions{gap:.5rem;margin-top:1.5rem;display:flex}.template-page .error-message{background:var(--color-error-light);color:#dc2626;border:1px solid #fecaca;border-radius:6px;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem}.template-page .btn-primary{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s}.template-page .btn-primary:hover:not(:disabled){background:var(--color-accent-primary-hover)}.template-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.template-page .btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s,border-color .15s}.template-page .btn-secondary:hover:not(:disabled){background:var(--color-bg-primary);border-color:var(--color-border-secondary)}.template-page .btn-danger{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fecaca;border-radius:6px;padding:.375rem .75rem;font-size:.75rem;transition:background-color .15s}.template-page .btn-danger:hover:not(:disabled){background:var(--color-error-light)}.template-page .btn-danger:disabled{opacity:.5;cursor:not-allowed}.template-page .create-btn,.template-page .templates-section{margin-bottom:2rem}.template-page .templates-section h2{margin-bottom:1rem;font-size:1.125rem}.template-page .templates-list{flex-direction:column;gap:.75rem;display:flex}.template-page .template-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px;padding:1rem}.template-page .template-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.template-page .template-name{color:var(--color-text-primary);font-weight:600}.template-page .template-status{border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.template-page .template-status.active{background:var(--color-success-light);color:var(--color-success-dark)}.template-page .template-status.inactive{background:var(--color-error-light);color:#dc2626}.template-page .template-meta{color:var(--color-text-muted);justify-content:space-between;margin-bottom:.5rem;font-size:.875rem;display:flex}.template-page .template-description{color:var(--color-text-muted);border-top:1px solid var(--color-border-primary);margin-bottom:.75rem;padding-top:.5rem;font-size:.875rem}.template-page .template-actions{border-top:1px solid var(--color-border-primary);justify-content:flex-end;gap:.5rem;padding-top:.75rem;display:flex}.template-page .no-templates{color:var(--color-text-muted);font-style:italic}.sig-field-editor{border-top:1px solid var(--color-border-primary);margin-top:1.5rem;padding-top:1.5rem}.sig-editor-instructions{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.875rem}.sig-editor-count{color:#059669;margin-bottom:1rem;font-size:.875rem;font-weight:500}.sig-editor-loading,.sig-editor-error{text-align:center;color:var(--color-text-muted);padding:2rem}.sig-editor-error{color:#dc2626}.sig-editor-pages{background:var(--color-pdf-bg);border-radius:6px;flex-direction:column;gap:1rem;padding:1rem;display:flex;overflow-x:auto}.sig-editor-page{background:#fff;margin:0 auto;box-shadow:0 2px 8px #0000004d}.sig-page-label{color:#fff;background:#00000080;border-radius:4px 4px 0 0;padding:2px 8px;font-size:.75rem;position:absolute;top:-24px;left:0}.sig-field-marker{cursor:pointer;background:#fef3c7cc;border:2px dashed #f59e0b;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s;display:flex}.sig-field-marker:hover{background:#fee2e2cc;border-color:#dc2626}.sig-field-label{color:var(--color-warning-dark);font-size:11px;font-weight:600}.sig-field-marker:hover .sig-field-label{color:#dc2626}.sig-field-remove{color:#fff;cursor:pointer;opacity:0;background:#dc2626;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:-8px;right:-8px}.sig-field-marker:hover .sig-field-remove{opacity:1}.sig-field-preview{border:2px dashed var(--color-accent-primary);background:#3574b81a;border-radius:4px;justify-content:center;align-items:center;display:flex}.sig-preview-label{color:var(--color-accent-primary);font-size:10px;font-weight:500}.sig-editor-toolbar{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.sig-undo-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;color:var(--color-text-secondary);border-radius:4px;padding:.375rem .75rem;font-size:.75rem;transition:background-color .15s}.sig-undo-btn:hover{background:var(--color-bg-tertiary)}.sig-editor-type-selector{gap:.5rem;margin-bottom:1rem;display:flex}.sig-type-btn{background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);cursor:pointer;color:var(--color-text-secondary);border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;transition:all .15s;display:flex}.sig-type-btn:hover{background:var(--color-bg-primary)}.sig-type-btn.active{color:var(--color-text-primary);font-weight:600}.sig-type-dot{border-radius:50%;width:10px;height:10px}.sig-field-marker.autofill-field .sig-field-label{font-size:9px}.send-signature-page{max-width:900px;margin:0 auto;padding:1.5rem}.send-signature-page h1{color:var(--color-text-primary);margin-bottom:1.5rem}.step-indicator{justify-content:space-between;margin-bottom:2rem;padding:0 1rem;display:flex}.step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step:after{content:"";background:var(--color-border-primary);z-index:-1;width:100%;height:2px;position:absolute;top:15px;left:50%}.step:last-child:after{display:none}.step.completed:after{background:#22c55e}.step-number{background:var(--color-border-primary);width:30px;height:30px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:flex}.step.active .step-number{background:var(--color-accent-primary-fill);color:#fff}.step.completed .step-number{color:#fff;background:#22c55e}.step-label{color:var(--color-text-muted);font-size:.8rem}.step.active .step-label{color:var(--color-accent-primary);font-weight:600}.step-content{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;min-height:300px;margin-bottom:1.5rem;padding:1.5rem}.step-content h2{color:var(--color-text-primary);margin-bottom:1rem;font-size:1.25rem}.template-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.template-card{border:2px solid var(--color-border-primary);cursor:pointer;border-radius:8px;padding:1rem;transition:all .15s}.template-card:hover{border-color:var(--color-accent-primary);background:var(--color-bg-tertiary)}.template-card.selected{border-color:var(--color-accent-primary);background:var(--color-accent-light)}.template-thumbnail{background:var(--color-bg-tertiary);border-radius:4px;justify-content:center;align-items:center;min-height:120px;margin-bottom:.75rem;display:flex;overflow:hidden}.template-thumbnail img{object-fit:contain;border:1px solid var(--color-border-primary);border-radius:2px;max-width:100%;max-height:200px}.template-info{flex:1}.template-name{margin-bottom:.5rem;font-weight:600}.template-desc{color:var(--color-text-muted);margin-bottom:.5rem;font-size:.9rem}.template-year{color:var(--color-text-light);font-size:.8rem}.no-templates{color:var(--color-text-muted);font-style:italic}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--color-text-primary);margin-bottom:.5rem;font-weight:500;display:block}.form-group input[type=text],.form-group input[type=date],.form-group input[type=number],.form-group textarea{border:1px solid var(--color-border-primary);border-radius:4px;width:100%;padding:.75rem;font-size:1rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 2px #1976d21a}.form-group .hint{color:var(--color-text-muted);margin-top:.25rem;font-size:.85rem;display:block}.radio-group{flex-direction:column;gap:.75rem;display:flex}.radio-group label{cursor:pointer;align-items:center;gap:.5rem;font-weight:400;display:flex}.interval-input{align-items:center;gap:.5rem;display:flex}.interval-input input{width:80px}.selected-count{color:var(--color-text-muted);font-size:.9rem}.review-section{border-bottom:1px solid var(--color-border-primary);margin-bottom:1.25rem;padding-bottom:1rem}.review-section:last-child{border-bottom:none}.review-section h3{color:var(--color-text-muted);margin-bottom:.25rem;font-size:.9rem;font-weight:500}.review-section p{color:var(--color-text-primary);margin:0}.review-section ul{margin:.5rem 0 0;padding-left:1.25rem}.review-section li{color:var(--color-text-muted)}.step-navigation{gap:1rem;margin-bottom:2rem;display:flex}.step-navigation .spacer{flex:1}.existing-campaigns{border-top:1px solid var(--color-border-primary);margin-top:2rem;padding-top:2rem}.existing-campaigns h2{margin-bottom:1rem;font-size:1.1rem}.campaigns-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.campaign-card{border:1px solid var(--color-border-primary);cursor:pointer;border-radius:8px;padding:1rem;transition:all .15s}.campaign-card:hover{border-color:var(--color-accent-primary);background:var(--color-bg-tertiary)}.campaign-name{margin-bottom:.5rem;font-weight:600}.campaign-status{color:var(--color-text-muted);text-transform:capitalize;font-size:.85rem}.campaign-stats{color:#22c55e;margin-top:.5rem;font-size:.85rem}.validating-hint{color:var(--color-text-muted);margin-top:.5rem;font-style:italic}.email-validation-results{background:var(--color-bg-tertiary);border-radius:4px;margin-top:1rem;padding:1rem;font-size:.9rem}.valid-emails{margin-bottom:1rem}.valid-emails strong{color:#22c55e}.valid-emails ul{margin:.5rem 0 0;padding-left:1.25rem}.valid-emails li{color:var(--color-text-primary);margin-bottom:.25rem}.invalid-emails strong{color:#dc2626}.invalid-emails ul{margin:.5rem 0 0;padding-left:1.25rem}.invalid-emails li{color:var(--color-text-muted);margin-bottom:.25rem}.warning-text{color:#dc2626;margin-top:.5rem;font-size:.9rem}.vague-time-section{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;margin-top:1rem;padding:1rem}.vague-time-section .form-group,.vague-time-section .form-group:first-of-type{margin-top:1rem}.campaigns-page{padding:20px}.campaigns-page.loading,.campaigns-page.empty{text-align:center;color:var(--color-text-muted);padding:60px 20px}.campaigns-page .empty-hint{margin-top:8px;font-size:.9rem}.campaigns-section{margin-bottom:32px}.campaigns-section h2{color:var(--color-text-secondary);margin:0 0 16px;font-size:1.1rem;font-weight:600}.campaigns-table{border-collapse:collapse;background:var(--color-bg-secondary);border-radius:8px;width:100%;overflow:hidden;box-shadow:0 1px 3px #00000014}.campaigns-table thead{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary)}.campaigns-table th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;font-size:.75rem;font-weight:600}.campaigns-table th.col-progress,.campaigns-table th.col-date{text-align:right}.campaigns-table tbody tr{border-bottom:1px solid var(--color-bg-tertiary);cursor:pointer;transition:background-color .15s}.campaigns-table tbody tr:last-child{border-bottom:none}.campaigns-table tbody tr:hover{background-color:var(--color-bg-primary)}.campaigns-table tbody tr.complete,.campaigns-table tbody tr.complete:hover{background-color:var(--color-success-light)}.campaigns-table td{vertical-align:middle;padding:20px 16px}.col-name{width:35%}.col-name .campaign-name{color:var(--color-text-primary);margin-bottom:4px;font-size:.95rem;display:block}.col-name .campaign-description{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:300px;font-size:.85rem;display:block;overflow:hidden}.col-status{width:15%}.status-badge{border-radius:12px;padding:4px 10px;font-size:.8rem;font-weight:500;display:inline-block}.status-badge.status-draft{background:var(--color-bg-tertiary);color:#64748b}.status-badge.status-sending{background:var(--color-warning-light);color:var(--color-warning-dark)}.status-badge.status-sent{background:var(--color-info-light);color:#1e40af}.status-badge.status-complete{background:var(--color-success-light);color:var(--color-success-dark)}.col-progress{width:30%}.progress-cell{justify-content:flex-end;align-items:center;gap:12px;display:flex}.progress-bar{background:var(--color-border-primary);border-radius:4px;flex:1;max-width:160px;height:8px;overflow:hidden}.progress-fill{background:var(--color-accent-primary);border-radius:4px;height:100%;transition:width .3s}.progress-fill.complete{background:#22c55e}.progress-text{color:var(--color-text-muted);white-space:nowrap;text-align:right;min-width:70px;font-size:.85rem}.col-date{text-align:right;width:12%;color:var(--color-text-muted);font-size:.85rem}.col-actions{text-align:center;width:8%}.campaigns-table th.col-actions{text-align:center}.delete-warning p{color:var(--color-text-secondary);margin:0 0 12px}.delete-warning .warning-text{color:#dc2626;font-size:.9rem}.modal-actions{justify-content:flex-end;gap:12px;display:flex}@media (width<=768px){.campaigns-table th.col-date,.campaigns-table td.col-date{display:none}.col-name{width:50%}.col-progress{width:35%}.progress-bar{max-width:100px}.col-name .campaign-description{max-width:200px}}@media (width<=480px){.campaigns-table th.col-status,.campaigns-table td.col-status{display:none}.col-name{width:60%}.progress-bar{max-width:80px}}.campaign-tracking-page{max-width:1200px;margin:0 auto;padding:1.5rem}.campaign-tracking-page .campaign-header{margin-bottom:1.5rem}.back-link{color:var(--color-accent-primary);cursor:pointer;background:0 0;border:none;margin-bottom:.5rem;padding:0;font-size:.9rem}.back-link:hover{text-decoration:underline}.campaign-header h1{color:var(--color-text-primary);margin:0 0 .5rem}.campaign-meta{align-items:center;gap:1rem;display:flex}.template-name{color:var(--color-text-secondary);font-size:.95rem}.status-draft{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.status-sending{background:var(--color-warning-light);color:var(--color-warning-dark)}.status-sent{background:var(--color-info-light);color:var(--color-info-dark)}.status-complete{background:var(--color-success-light);color:var(--color-success-dark)}.status-pending{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.status-viewed{background:var(--color-info-light);color:var(--color-info-dark)}.status-signed{background:var(--color-success-light);color:var(--color-success-dark)}.status-cancelled{background:var(--color-error-light);color:var(--color-error-dark)}.status-opted-out{background:var(--color-warning-light);color:var(--color-warning-dark)}.status-cards{grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.status-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);text-align:center;border-radius:8px;padding:1rem}.card-value{color:var(--color-text-primary);font-size:2rem;font-weight:700}.card-label{color:var(--color-text-secondary);margin-top:.25rem;font-size:.85rem}.status-card.status-sent{border-left:3px solid var(--color-accent-primary)}.status-card.status-viewed{border-left:3px solid var(--color-info)}.status-card.status-signed{border-left:3px solid var(--color-success)}.status-card.status-opted-out{border-left:3px solid var(--color-warning)}.progress-section{margin-bottom:1.5rem}.progress-bar{background:var(--color-border-primary);border-radius:6px;height:12px;overflow:hidden}.progress-fill{background:var(--color-success);height:100%;transition:width .3s}.progress-label{text-align:center;color:var(--color-text-secondary);margin-top:.5rem;font-size:.9rem}.campaign-actions{gap:1rem;margin-bottom:1.5rem;display:flex}.btn-send{background:var(--color-success)}.btn-send:hover:not(:disabled){background:var(--color-success-dark)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary)}.btn-danger{background:var(--color-bg-secondary);color:var(--color-error);border:1px solid var(--color-error);cursor:pointer;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem}.btn-danger:hover:not(:disabled){background:var(--color-error-light)}.success-message{background:var(--color-success-light);color:var(--color-success-dark);border-radius:4px;margin-bottom:1rem;padding:1rem}.recipients-filters{gap:1rem;margin-bottom:1rem;display:flex}.filter-group{align-items:center;gap:.5rem;display:flex}.filter-group label{color:var(--color-text-secondary);font-weight:500}.filter-group select,.filter-group input{border:1px solid var(--color-border-primary);border-radius:4px;padding:.5rem;font-size:.9rem}.filter-group input{width:250px}.recipients-table-wrapper{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;overflow-x:auto}.recipients-table{border-collapse:collapse;width:100%}.recipients-table th,.recipients-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.75rem 1rem}.recipients-table th{background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:.85rem;font-weight:600}.recipients-table tr:hover{background:var(--color-bg-tertiary)}.recipients-table tr:last-child td{border-bottom:none}.no-results{text-align:center;color:var(--color-text-secondary);padding:2rem}.campaign-details{border-top:1px solid var(--color-border-primary);margin-top:2rem;padding-top:1.5rem}.campaign-details h3{color:var(--color-text-primary);margin-bottom:1rem;font-size:1rem}.details-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;display:grid}.detail-item{flex-direction:column;gap:.25rem;display:flex}.detail-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.detail-value{color:var(--color-text-primary)}.btn-small{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:4px;padding:.375rem .75rem;font-size:.8rem;text-decoration:none;display:inline-block}.btn-small:hover{background:var(--color-bg-tertiary)}.btn-download{color:var(--color-accent-primary);border-color:var(--color-accent-primary)}.btn-download:hover{background:var(--color-accent-light)}@media (width<=768px){.status-cards{grid-template-columns:repeat(3,1fr)}.recipients-filters{flex-direction:column}.filter-group input{width:100%}}.signature-reports-page{max-width:1400px;margin:0 auto;padding:1.5rem}.reports-header{margin-bottom:1.5rem}.reports-header h1{color:var(--color-text-primary);margin:0 0 .5rem}.reports-header p{color:var(--color-text-muted);margin:0}.reports-controls{flex-direction:column;gap:1.5rem;margin-bottom:2rem;display:flex}.control-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem 1.5rem}.control-label{color:var(--color-text-primary);justify-content:space-between;align-items:center;margin-bottom:.75rem;font-weight:600;display:flex}.template-select{border:1px solid var(--color-border-primary);border-radius:4px;width:100%;max-width:400px;padding:.5rem;font-size:1rem}.campaign-name{flex:1;font-weight:500}.campaign-stats{color:var(--color-text-muted);font-size:.9rem}.options-section{flex-direction:row;align-items:center;gap:1.5rem;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox-label input[type=checkbox]{width:16px;height:16px}.btn-primary{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500}.btn-primary:hover:not(:disabled){background:var(--color-accent-primary-hover)}.btn-primary:disabled{background:var(--color-border-secondary);cursor:not-allowed}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.btn-secondary:hover{background:var(--color-bg-tertiary)}.btn-link{color:var(--color-accent-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem}.btn-link:hover{text-decoration:underline}.report-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.report-toolbar{border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-tertiary);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.report-summary{color:var(--color-text-muted);font-size:.95rem}.report-actions{gap:.75rem;display:flex}.report-grid{width:100%;min-height:300px}.loading-report{text-align:center;color:var(--color-text-muted);padding:3rem}@media print{.no-print{display:none!important}.signature-reports-page{max-width:none;padding:0}.report-section{border:none}.ag-root-wrapper,.ag-body-viewport{overflow:visible!important}.ag-paging-panel{display:none!important}}@media (width<=768px){.options-section{flex-direction:column;align-items:flex-start}.report-toolbar{flex-direction:column;align-items:flex-start;gap:1rem}}.esignature-hub{flex-direction:column;height:100%;display:flex}.hub-content{flex:1;min-height:0;position:relative}.hub-panel{height:100%;display:none}.hub-panel.active{display:block}.hub-panel>*{height:100%}.cal-import-dates{align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.cal-import-field{flex-direction:column;gap:4px;display:flex}.cal-import-field label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.cal-import-field input[type=date]{border:1px solid var(--color-border-secondary);border-radius:4px;padding:6px 8px;font-size:14px}.cal-import-preview{border:1px solid var(--color-border-secondary);border-radius:4px;max-height:450px;overflow-y:auto}.cal-import-table{border-collapse:collapse;width:100%;font-size:14px}.cal-import-table thead{background:var(--color-bg-primary);z-index:1;position:sticky;top:0}.cal-import-table th{text-align:left;border-bottom:2px solid var(--color-border-secondary);white-space:nowrap;padding:8px 10px;font-weight:600}.cal-import-table td{border-bottom:1px solid var(--color-border-primary);vertical-align:top;padding:8px 10px}.cal-col-check{width:32px;text-align:center!important}.cal-col-date,.cal-col-status{white-space:nowrap}.cal-row-dupe{opacity:.6}.cal-time-input{border:1px solid var(--color-border-secondary);border-radius:3px;width:130px;padding:3px 6px;font-size:13px}.cal-time-multi{flex-direction:column;gap:4px;display:flex}.cal-time-row{align-items:center;gap:6px;display:flex}.cal-time-label{color:var(--color-text-secondary);min-width:32px;font-size:12px}.cal-badge-new{background:var(--color-success-light);color:var(--color-success);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.cal-badge-dupe{background:var(--color-warning-light);color:var(--color-warning);cursor:help;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.event-page{max-width:1400px}.event-page h1{margin-bottom:.5rem}.event-page .description{color:var(--color-text-muted);margin-bottom:1.5rem}.event-page .event-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.event-page .header-actions{align-items:center;gap:1rem;display:flex}.event-page .pdf-dropdown select{cursor:pointer}.event-page .semester-tabs{gap:.25rem;display:flex}.event-page .semester-tab{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;color:var(--color-text-secondary);padding:.5rem 1rem;font-size:.875rem;transition:all .15s}.event-page .semester-tab:first-child{border-radius:6px 0 0 6px}.event-page .semester-tab:last-child{border-radius:0 6px 6px 0}.event-page .semester-tab.active{background:var(--color-accent-primary-fill);border-color:var(--color-accent-primary-fill);color:#fff}.event-page .semester-tab:hover:not(.active){background:var(--color-bg-primary)}.event-page .event-form{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:2rem;padding:1.5rem}.event-page .event-form h2{margin:0 0 1rem;font-size:1.125rem}.event-page .form-row{gap:1rem;margin-bottom:1rem;display:flex}.event-page .form-field,.event-page .ui-form-field{flex:1;margin-bottom:.5rem}.event-page .form-field label{color:var(--color-text-secondary);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.event-page .form-field input[type=text],.event-page .form-field input[type=date],.event-page .form-field select,.event-page .form-field textarea{border:1px solid var(--color-border-primary);border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem}.event-page .form-field input:focus,.event-page .form-field select:focus,.event-page .form-field textarea:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.event-page .checkbox-field{flex:none}.event-page .ensemble-checkboxes{flex-wrap:wrap;gap:.5rem 1.5rem;padding:.5rem 0;display:flex}.event-page .checkbox-label{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:.375rem;font-size:.875rem;display:flex}.event-page .checkbox-label input[type=checkbox]{width:16px;height:16px}.event-page .form-actions{gap:.5rem;margin-top:1.5rem;display:flex}.event-page .event-actions{gap:8px;margin-bottom:2rem;display:flex}.event-page .create-btn{margin-bottom:0}.event-page .events-section{margin-bottom:2rem}.event-page .events-section h2{margin-bottom:1rem;font-size:1.125rem}.event-page .events-table-container{overflow-x:auto}.event-page .events-table{border-collapse:collapse;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;width:100%;font-size:.875rem;overflow:hidden}.event-page .events-table th,.event-page .events-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.75rem 1rem}.event-page .events-table th{background:var(--color-bg-primary);color:var(--color-text-secondary);font-weight:600}.event-page .events-table tbody tr:hover{background:var(--color-bg-primary)}.event-page .events-table tbody tr:last-child td{border-bottom:none}.event-page .event-name{color:var(--color-text-primary);font-weight:500}.event-page .action-cell{white-space:nowrap}.event-page .action-cell button+button{margin-left:.5rem}.event-page .text-muted{color:var(--color-text-light)}.event-page .no-events{color:var(--color-text-muted);font-style:italic}.event-page .field-hint{color:var(--color-text-muted);margin-bottom:.5rem;font-size:.75rem}.event-page .ensemble-row{flex-direction:column;align-items:flex-start;gap:0;min-width:140px;display:flex}.event-page .select-only-label{color:var(--color-text-light);margin-top:-.125rem;margin-left:1.25rem;font-size:.65rem}.event-page .select-only-label input[type=checkbox]{width:12px;height:12px}.event-page .select-badge{color:var(--color-accent-primary);font-size:.75rem;font-weight:500}.event-page .days-container{flex-direction:column;gap:.5rem;display:flex}.event-page .day-row{align-items:center;gap:.5rem;display:flex}.event-page .day-date{border:1px solid var(--color-border-primary);border-radius:6px;width:150px;padding:.5rem .75rem;font-size:.875rem}.event-page .day-time{border:1px solid var(--color-border-primary);border-radius:6px;flex:1;min-width:180px;padding:.5rem .75rem;font-size:.875rem}.event-page .day-label{border:1px solid var(--color-border-primary);border-radius:6px;width:140px;padding:.5rem .75rem;font-size:.875rem}.event-page .day-row input:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.ensemble-management-page{max-width:1200px}.ensemble-management-page h2{margin-bottom:.5rem}.ensemble-management-page .description{color:var(--color-text-muted);margin-bottom:1.5rem}.ensemble-management-page .page-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.ensemble-management-page .header-text h2{margin:0 0 .25rem}.ensemble-management-page .header-text .description{margin:0}.ensemble-main-content{align-items:flex-start;gap:1.5rem;display:flex}.ensemble-management-page .list-panel{flex-shrink:0;width:350px}.ensemble-management-page .detail-panel{flex:1;min-width:0}.ensemble-management-page .loading{text-align:center;color:var(--color-text-muted);padding:2rem}.ensemble-management-page .empty-state{text-align:center;color:var(--color-text-muted);background:var(--color-bg-primary);border-radius:8px;padding:3rem}.ensemble-management-page .empty-state p{margin:.5rem 0}.ensemble-management-page .empty-members{text-align:center;color:var(--color-text-muted);background:var(--color-bg-primary);border-radius:6px;padding:2rem}.ensemble-management-page .empty-members p{margin:0}.ensemble-management-page .ensemble-list{flex-direction:column;gap:.5rem;max-height:calc(100vh - 250px);display:flex;overflow-y:auto}.ensemble-management-page .ensemble-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:6px;padding:.75rem 1rem;transition:border-color .15s,box-shadow .15s}.ensemble-management-page .ensemble-card:hover{border-color:var(--color-accent-primary);box-shadow:0 2px 4px #3574b81a}.ensemble-management-page .ensemble-card.selected{border-color:var(--color-accent-primary);background:var(--color-accent-light)}.ensemble-management-page .ensemble-name{color:var(--color-text-primary);margin-bottom:.25rem;font-size:1rem;font-weight:600}.ensemble-management-page .ensemble-meta{align-items:center;gap:.5rem;display:flex}.ensemble-management-page .member-count{color:var(--color-text-secondary);font-size:.875rem}.ensemble-management-page .ensemble-detail{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.ensemble-management-page .detail-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.ensemble-management-page .detail-header h3{margin:0;font-size:1.125rem}.ensemble-management-page .detail-title-row{align-items:center;gap:1rem;display:flex}.ensemble-management-page .curricular-toggle{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:.375rem;font-size:.875rem;display:flex}.ensemble-management-page .curricular-toggle input{cursor:pointer}.ensemble-management-page .detail-actions{gap:.5rem;display:flex}.ensemble-management-page .detail-content{padding:1.5rem}.ensemble-management-page .edit-name-row{flex:1;align-items:center;gap:.5rem;display:flex}.ensemble-management-page .edit-name-input{border:1px solid var(--color-accent-primary);border-radius:4px;flex:1;padding:.375rem .5rem;font-size:1.125rem;font-weight:600}.ensemble-management-page .edit-name-input:focus{outline:none;box-shadow:0 0 0 3px #3574b81a}.ensemble-management-page .section-header{border-bottom:1px solid var(--color-border-primary);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.ensemble-management-page .section-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.ensemble-management-page .section-actions{gap:.5rem;display:flex}.ensemble-management-page .select-all-row{border-bottom:1px solid var(--color-border-primary);margin-bottom:.75rem;padding-bottom:.5rem}.ensemble-management-page .select-all-row label{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.ensemble-management-page .select-all-row input[type=checkbox]{cursor:pointer;width:1rem;height:1rem}.ensemble-management-page .members-list{flex-direction:column;gap:.375rem;max-height:calc(100vh - 400px);display:flex;overflow-y:auto}.ensemble-management-page .member-row{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:4px;align-items:center;gap:.75rem;padding:.5rem .75rem;transition:background-color .15s;display:flex}.ensemble-management-page .member-row:hover{background:var(--color-bg-tertiary)}.ensemble-management-page .member-row.selected{background:var(--color-accent-light);border-color:#93c5fd}.ensemble-management-page .member-checkbox{flex-shrink:0}.ensemble-management-page .member-checkbox input[type=checkbox]{cursor:pointer;width:1rem;height:1rem}.ensemble-management-page .member-info{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.ensemble-management-page .member-name{color:var(--color-text-primary);font-weight:500}.ensemble-management-page .member-email{color:var(--color-text-muted);font-size:.875rem}.ensemble-management-page .member-instrument{color:#059669;background:var(--color-success-light);border-radius:4px;padding:.125rem .375rem;font-size:.75rem}.ensemble-management-page .modal-description{color:var(--color-text-muted);margin-bottom:1rem;font-size:.9rem}.ensemble-management-page .form-field{margin-bottom:1rem}.ensemble-management-page .form-field:last-child{margin-bottom:0}.ensemble-management-page .form-field label{color:var(--color-text-secondary);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.ensemble-management-page .form-field input[type=text]{border:1px solid var(--color-border-primary);border-radius:6px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.ensemble-management-page .form-field input:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.ensemble-management-page .form-field.checkbox-field label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.ensemble-management-page .form-field.checkbox-field input[type=checkbox]{cursor:pointer;width:1rem;height:1rem}.ensemble-management-page .form-error{background:var(--color-error-light);color:#dc2626;border-radius:6px;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem}.ensemble-management-page .student-search-container{margin-bottom:1rem;position:relative}.ensemble-management-page .student-search-input{border:1px solid var(--color-border-primary);border-radius:6px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.ensemble-management-page .student-search-input:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.ensemble-management-page .student-search-container .searching-indicator{color:var(--color-text-muted);font-size:.75rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.ensemble-management-page .no-results-hint{color:var(--color-text-muted);padding:.5rem 0;font-size:.875rem}.ensemble-management-page .ensemble-search-field .ensemble-search-container{position:relative}.ensemble-management-page .ensemble-search-field input[type=text]{border:1px solid var(--color-border-primary);border-radius:6px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.ensemble-management-page .ensemble-search-field input[type=text]:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.ensemble-management-page .ensemble-search-field .searching-indicator{color:var(--color-text-muted);font-size:.75rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.ensemble-management-page .ensemble-search-dropdown{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);z-index:10;border-radius:6px;max-height:200px;margin:0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.ensemble-management-page .ensemble-search-dropdown li{cursor:pointer;border-bottom:1px solid var(--color-bg-tertiary);justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.ensemble-management-page .ensemble-search-dropdown li:last-child{border-bottom:none}.ensemble-management-page .ensemble-search-dropdown li:hover,.ensemble-management-page .ensemble-search-dropdown li.highlighted{background:var(--color-accent-light)}.ensemble-management-page .ensemble-search-dropdown li.active{opacity:.6}.ensemble-management-page .ensemble-search-dropdown .name{color:var(--color-text-primary);font-weight:500}.ensemble-management-page .ensemble-search-dropdown .status{border-radius:4px;padding:.125rem .375rem;font-size:.75rem}.ensemble-management-page .ensemble-search-dropdown .status.active{background:var(--color-success-light);color:#047857}.ensemble-management-page .ensemble-search-dropdown .status.inactive{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.ensemble-management-page .selected-ensemble-chip{background:var(--color-accent-light);border:1px solid #93c5fd;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.ensemble-management-page .selected-ensemble-chip span:first-child{color:#1e40af;font-weight:500}.ensemble-management-page .selected-ensemble-chip .chip-status{color:var(--color-text-muted);font-size:.75rem}.ensemble-management-page .selected-ensemble-chip .chip-remove{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:1.25rem;line-height:1}.ensemble-management-page .selected-ensemble-chip .chip-remove:hover{color:#dc2626}.ensemble-management-page .form-warning{background:var(--color-warning-light);color:var(--color-warning-dark);border-radius:6px;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem}@media (width<=1024px){.ensemble-management-page{max-width:100%}.ensemble-management-page .list-panel{width:280px}.ensemble-management-page .detail-content{padding:1rem}}@media (width<=768px){.ensemble-main-content{flex-direction:column}.ensemble-management-page .list-panel,.ensemble-management-page .detail-panel{width:100%}.ensemble-management-page .ensemble-list{max-height:none;overflow-y:visible}.ensemble-management-page .page-header{flex-direction:column;align-items:stretch;gap:1rem}.ensemble-management-page .ensemble-card{min-height:44px;padding:1rem}.ensemble-management-page .member-row{min-height:44px;padding:.75rem}.ensemble-management-page .detail-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.ensemble-management-page .detail-actions{flex-wrap:wrap;width:100%}.ensemble-management-page .detail-actions button{flex:1;min-width:80px}.ensemble-management-page .members-list{max-height:400px}.ensemble-management-page .member-info{flex-direction:column;align-items:flex-start;gap:.25rem}.ensemble-management-page .section-header{flex-direction:column;align-items:stretch;gap:.75rem}.ensemble-management-page .section-actions{justify-content:flex-start}.ensemble-management-page .select-all-row label{align-items:center;min-height:44px;display:flex}}@media (width<=480px){.ensemble-management-page .page-header .header-text h2{font-size:1.25rem}.ensemble-management-page .ensemble-name,.ensemble-management-page .member-name{font-size:.9375rem}.ensemble-management-page .member-email{word-break:break-all;font-size:.8125rem}.ensemble-management-page .edit-name-input{font-size:1rem}.ensemble-management-page .form-field input[type=text],.ensemble-management-page .student-search-input{font-size:16px}.ensemble-management-page .selected-ensemble-chip{flex-wrap:wrap}}.ensemble-management-page .header-actions{gap:.5rem;display:flex}.ensemble-management-page .import-result h4{color:#0f172a;margin:0 0 1rem}.ensemble-management-page .import-stats{background:var(--color-bg-primary);border-radius:6px;margin-bottom:1rem;padding:1rem}.ensemble-management-page .import-stats p{margin:.25rem 0;font-size:.9rem}.ensemble-management-page .import-stats strong{font-weight:600}.ensemble-management-page .import-errors{background:var(--color-error-light);border:1px solid #fecaca;border-radius:6px;padding:1rem}.ensemble-management-page .import-errors h5{color:#dc2626;margin:0 0 .5rem;font-size:.875rem}.ensemble-management-page .import-errors ul{color:var(--color-error-dark);margin:0;padding-left:1.25rem;font-size:.8125rem}.ensemble-management-page .import-errors li{margin:.25rem 0}.email-templates-page{padding:1.5rem}.email-templates-page .page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.email-templates-page .page-header h1{margin:0;font-size:1.5rem}.email-templates-page .templates-grid{width:100%}.grid-delete-btn{color:#dc3545;cursor:pointer;background:0 0;border:1px solid #dc3545;border-radius:3px;padding:2px 8px;font-size:.75rem}.grid-delete-btn:hover{color:#fff;background:#dc3545}.email-templates-page .template-form{max-width:900px}.email-templates-page .form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.email-templates-page .form-row label,.email-templates-page .form-section label{margin-bottom:.25rem;font-size:.85rem;font-weight:600;display:block}.email-templates-page .form-row input,.email-templates-page .form-row select{border:1px solid var(--color-border-secondary);border-radius:4px;width:100%;margin-top:.25rem;padding:.4rem .6rem;font-size:.9rem;display:block}.email-templates-page .readonly-input{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.email-templates-page .form-section{margin-bottom:1rem}.email-templates-page .subject-input{border:1px solid var(--color-border-secondary);border-radius:4px;width:100%;padding:.4rem .6rem;font-size:.9rem;display:block}.email-templates-page .required{color:#dc3545}.email-templates-page .form-actions{gap:.75rem;margin-top:1.5rem;display:flex}.variable-toolbar{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:4px;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.35rem;padding:.4rem .5rem;font-size:.8rem;display:flex}.variable-toolbar-disabled{color:#999;font-style:italic}.variable-toolbar-label{color:var(--color-text-muted);margin-right:.25rem;font-weight:600}.variable-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);cursor:pointer;color:var(--color-accent-primary);white-space:nowrap;border-radius:3px;padding:2px 8px;font-size:.78rem}.variable-btn:hover{background:var(--color-accent-light);border-color:var(--color-accent-primary)}.preview-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preview-modal{background:var(--color-bg-secondary);border-radius:8px;width:90%;max-width:700px;max-height:80vh;padding:1.5rem;overflow-y:auto;box-shadow:0 4px 20px #00000026}.preview-modal-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.preview-modal-header h2{margin:0;font-size:1.2rem}.preview-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:0 .25rem;font-size:1.5rem}.preview-note{color:var(--color-text-muted);margin-bottom:1rem;font-size:.85rem}.preview-subject{border-bottom:1px solid var(--color-border-primary);margin-bottom:1rem;padding:.5rem 0}.preview-body{line-height:1.5}.preview-body img{max-width:100%;height:auto}.version-history{border-top:1px solid var(--color-border-primary);margin-top:2rem;padding-top:1rem}.version-history h3{margin:0 0 1rem;font-size:1.1rem}.no-versions{color:var(--color-text-muted);font-style:italic}.version-list{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.version-item{border:1px solid var(--color-border-primary);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.85rem;display:flex}.version-item:hover{background:var(--color-bg-tertiary)}.version-item.selected{border-color:var(--color-accent-primary);background:var(--color-accent-light)}.version-info{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.version-number{color:var(--color-accent-primary);font-weight:700}.version-by{color:var(--color-text-primary)}.version-date{color:var(--color-text-muted);font-size:.8rem}.version-summary{color:var(--color-text-muted);font-size:.8rem;font-style:italic}.version-revert-btn{color:#6c757d;cursor:pointer;background:0 0;border:1px solid #6c757d;border-radius:3px;flex-shrink:0;padding:2px 10px;font-size:.78rem}.version-revert-btn:hover{color:#fff;background:#6c757d}.version-revert-btn:disabled{opacity:.5;cursor:not-allowed}.version-comparison{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.comparison-panel{border:1px solid var(--color-border-primary);border-radius:4px;max-height:400px;padding:.75rem;overflow:auto}.comparison-panel h4{color:var(--color-text-primary);margin:0 0 .5rem;font-size:.9rem}.comparison-subject{border-bottom:1px solid var(--color-border-primary);margin-bottom:.5rem;padding-bottom:.5rem;font-size:.85rem}.comparison-body{font-size:.85rem;line-height:1.4}.comparison-body img{max-width:100%;height:auto}.no-access-page{text-align:center;max-width:600px;margin:80px auto;padding:2rem}.no-access-page h1{color:var(--color-text-primary);margin-bottom:1.5rem;font-size:1.5rem}.no-access-page p{color:var(--color-text-secondary);margin-top:1.5rem}.no-access-page a{color:var(--color-primary)}.no-access-page .btn{margin-top:2rem}.add-account-form{flex-direction:column;gap:16px;display:flex}.parent-context{background:var(--color-bg-tertiary);border-radius:6px;gap:8px;padding:12px;display:flex}.context-label{color:var(--color-text-muted);font-weight:500}.context-value{color:var(--color-text-primary);font-weight:500}.inherited-info{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px;gap:24px;padding:8px 12px;display:flex}.inherited-item{align-items:center;gap:6px;display:flex}.inherited-label{color:var(--color-text-muted);font-size:13px}.inherited-value{color:var(--color-text-secondary);font-size:13px;font-weight:500}.add-account-form .form-field{flex-direction:column;gap:4px;display:flex}.add-account-form label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.add-account-form input{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);color:var(--color-text-primary);border-radius:6px;padding:8px 12px;font-size:14px;transition:border-color .15s}.add-account-form input:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 2px #3b82f626}.add-account-form input::placeholder{color:var(--color-text-muted)}.add-account-form .form-field.has-error input{border-color:var(--color-error)}.add-account-form .field-error{color:var(--color-error);font-size:12px}.add-account-form .field-hint{color:var(--color-text-muted);font-size:12px}.add-account-actions{justify-content:flex-end;gap:12px;display:flex}.categories-page{max-width:1200px;margin:0 auto;padding:1.5rem}.categories-page .page-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.categories-page .page-header h1{margin:0;font-size:1.5rem;font-weight:600}.categories-page .header-controls{align-items:center;gap:1rem;display:flex}.categories-page .domain-filter{border:1px solid var(--color-border-primary);border-radius:6px;min-width:200px;padding:.5rem 1rem;font-size:.875rem}.categories-page .filter-hint{color:var(--color-text-muted);margin-bottom:1rem;font-size:.875rem}.categories-page .categories-content{background:var(--color-bg-secondary);border-radius:8px;overflow:hidden}.categories-page .loading-skeleton{flex-direction:column;gap:.5rem;padding:1rem;display:flex}.categories-page .error-message{color:var(--color-error);text-align:center;padding:1rem}.categories-page .empty-state{color:var(--color-text-muted);text-align:center;padding:2rem}.view-mode-toggle{border:1px solid var(--color-border-primary);border-radius:6px;display:flex;overflow:hidden}.view-mode-toggle button{background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;border:none;padding:.375rem .75rem;font-size:.8125rem;transition:background-color .15s,color .15s}.view-mode-toggle button:not(:last-child){border-right:1px solid var(--color-border-primary)}.view-mode-toggle button.active{background:var(--color-accent-light);color:var(--color-text-primary);font-weight:500}.view-mode-toggle button:hover:not(.active){background:var(--color-bg-hover)}.categories-tree-table{height:calc(100vh - 200px);min-height:400px}.category-group-header{align-items:center;display:flex}.category-group-name{color:var(--color-text-primary);text-transform:capitalize;font-size:.9375rem;font-weight:600}.category-group-count{color:var(--color-text-muted);font-size:.875rem;font-weight:400}.category-domain-group-header{align-items:center;display:flex}.category-domain-group-name{color:var(--color-text-primary);font-size:1rem;font-weight:700}.category-type-badge{color:var(--color-text-muted);font-size:.8125rem}.category-name-cell{align-items:center;gap:.5rem;width:100%;display:flex}.category-number{color:var(--color-text-muted);flex-shrink:0;min-width:50px;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.8125rem}.category-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.categories-page .context-menu{background:var(--color-bg-primary,#fff);border:1px solid var(--color-border,#ddd);z-index:1000;border-radius:6px;min-width:160px;padding:4px 0;box-shadow:0 4px 12px #00000026}.categories-page .context-menu button{text-align:left;width:100%;color:var(--color-text-primary,#333);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:13px;display:block}.categories-page .context-menu button:hover:not(:disabled){background:var(--color-bg-hover,#f5f5f5)}.categories-page .context-menu button:disabled{color:var(--color-text-muted,#999);cursor:default}.categories-page .context-menu-separator{background:var(--color-border-primary,#ddd);height:1px;margin:4px 0}.show-inactive-toggle{color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:flex}.show-inactive-toggle input[type=checkbox]{cursor:pointer;margin:0}.categories-tree-table .tree-table-row.inactive-row{opacity:.6}.categories-tree-table .tree-table-row.inactive-row .category-label{color:var(--color-text-muted);text-decoration:line-through}.categories-tree-table .tree-table-row.inactive-row .category-number{text-decoration:line-through}.category-name-cell.inactive .category-label{color:var(--color-text-muted);text-decoration:line-through}.category-name-cell.inactive .category-number{text-decoration:line-through}.journal-entry-form{flex-direction:column;gap:1rem;display:flex}.journal-entry-hint{color:var(--color-text-muted);background:var(--color-bg-tertiary);border-left:3px solid var(--color-accent-primary);border-radius:6px;margin:0;padding:.75rem 1rem;font-size:.875rem}.je-lines-header-row{align-items:center;gap:.5rem;margin-top:.5rem;padding:.25rem 0;display:flex}.je-line-header{text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.5px;font-size:.7rem;font-weight:600}.je-line-header--program{flex-shrink:0;width:140px}.je-line-header--account{flex:2;min-width:180px}.je-line-header--debit,.je-line-header--credit{text-align:right;flex-shrink:0;width:100px;padding-right:.5rem}.je-line-header--memo{flex:1;min-width:120px}.je-line-header--action{flex-shrink:0;width:36px}.je-line-row-wrapper{padding:.25rem 0}.je-line-row{align-items:center;gap:.5rem;display:flex}.je-line-row-wrapper .line-student-subrow{margin-top:4px;padding-bottom:4px;padding-left:calc(140px + .5rem)}.je-line-program{flex-shrink:0;width:140px}.je-line-program select,.je-line-program .domain-selector{width:100%}.je-line-account{flex:2;min-width:180px}.je-line-debit,.je-line-credit{flex-shrink:0;width:100px}.je-line-debit input,.je-line-credit input{text-align:right;width:100%}.je-line-memo{flex:1;min-width:120px}.je-line-memo input{width:100%}.je-line-action{flex-shrink:0;justify-content:center;width:36px;display:flex}.je-balance-indicator{border-radius:6px;justify-content:space-between;align-items:center;margin-top:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.je-balance-indicator.balanced{background:var(--color-success-light);color:var(--color-success-dark)}.je-balance-indicator.unbalanced{background:var(--color-warning-light);color:var(--color-warning-dark)}.je-balance-totals{gap:1.5rem;display:flex}.je-balance-totals span{font-weight:500}.je-balance-status{font-weight:600}@media (width<=900px){.je-lines-header-row,.je-line-row{flex-wrap:wrap}.je-line-program,.je-line-account{flex:100%;width:100%}.je-line-debit,.je-line-credit{flex:45%;width:auto}.je-line-memo{flex:100%}.je-line-header--program,.je-line-header--account,.je-line-header--memo{display:none}.je-line-row{background:var(--color-bg-tertiary);border-radius:6px;margin-bottom:.5rem;padding:.5rem}}.transactions-page{padding:1.5rem}.transactions-page .page-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.transactions-page .page-header h1{margin:0;font-size:1.5rem;font-weight:600}.transactions-page .header-actions{gap:.5rem;display:flex}.transaction-filters{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:1rem;padding:1rem}.transaction-filters__row{flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;display:flex}.transaction-filters__row:last-child{margin-bottom:0}.transaction-filters__field{flex-direction:column;gap:.25rem;min-width:150px;display:flex}.transaction-filters__field--checkbox{flex-direction:row;align-items:center;min-width:auto}.transaction-filters__label{color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem;font-weight:500}.transaction-filters__select,.transaction-filters__input{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);color:var(--color-text-primary);border-radius:4px;padding:.5rem;font-size:.875rem}.transaction-filters__checkbox-label{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.transaction-filters__clear-btn{border:1px solid var(--color-border-primary);cursor:pointer;color:var(--color-text-muted);background:0 0;border-radius:4px;margin-top:auto;padding:.5rem 1rem;font-size:.875rem}.transaction-filters__clear-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.transaction-filters__active-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.transaction-filters__badge{background:var(--color-accent-light);border:1px solid var(--color-accent-primary);color:var(--color-info-dark);border-radius:16px;align-items:center;gap:.5rem;padding:.375rem .5rem .375rem .75rem;font-size:.8125rem;display:inline-flex}.transaction-filters__badge-clear{width:18px;height:18px;color:var(--color-accent-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .15s;display:flex}.transaction-filters__badge-clear:hover{background:#1976d233}.transactions-grid{border:1px solid var(--color-border-primary);border-radius:8px;height:calc(100vh - 240px);min-height:300px;overflow:hidden}.grid-reset-btn-header{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:36px;color:var(--color-text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 0;font-size:14px;transition:background .15s,border-color .15s;display:inline-flex}.grid-reset-btn-header:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}.transactions-grid .ag-row{cursor:pointer}.uncategorized{color:var(--color-warning);font-style:italic}.transactions-page .error-message{color:var(--color-error);text-align:center;padding:2rem}.edit-modal-content,.bulk-modal-content{flex-direction:column;gap:1rem;display:flex}.transaction-context{background:var(--color-bg-tertiary);border-radius:4px;padding:1rem;font-size:.875rem}.transaction-context p{margin:.25rem 0}.transaction-context--grid{flex-direction:column;gap:.75rem;display:flex}.context-row{gap:2rem;display:flex}.context-item{align-items:baseline;gap:.5rem;display:flex}.context-item--wide{flex:1}.context-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;font-size:.75rem;font-weight:500}.context-value{color:var(--color-text-primary);font-size:.875rem;font-weight:500}.context-amount{font-size:1rem;font-weight:600}.context-type{align-items:center;gap:.35rem;display:flex}.type-icon{flex-shrink:0}.type-icon--expense{color:var(--color-error)}.type-icon--income{color:var(--color-success)}.type-icon--transfer{color:var(--color-accent-primary)}.transfer-badge{background:var(--color-accent-light);color:var(--color-accent-primary);border-radius:4px;margin-left:.5rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.form-field label{font-size:.875rem;font-weight:500}.form-field select{border:1px solid var(--color-border-primary);border-radius:4px;padding:.5rem;font-size:.875rem}.modal-actions{border-top:1px solid var(--color-border-primary);justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.modal-actions__spacer{flex:1}.delete-confirm-group{gap:.5rem;display:flex}.transaction-form{flex-direction:column;gap:1rem;display:flex}.transaction-form .form-field{flex-direction:column;gap:.25rem;display:flex}.transaction-form label{font-size:.875rem;font-weight:500}.transaction-form input,.transaction-form select,.transaction-form textarea{border:1px solid var(--color-border-primary);border-radius:4px;padding:.5rem;font-family:inherit;font-size:.875rem}.transaction-form textarea{resize:vertical;min-height:60px}.transaction-form input:focus,.transaction-form select:focus,.transaction-form textarea:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 2px #1976d233}.transaction-form input:disabled,.transaction-form select:disabled{background:var(--color-bg-tertiary);cursor:not-allowed}.form-row{align-items:flex-end;gap:1rem;display:flex}.txn-type-toggle{border:1px solid var(--color-border-primary);border-radius:4px;display:inline-flex;overflow:hidden}.txn-type-toggle button{background:var(--color-bg-secondary);cursor:pointer;color:var(--color-text-muted);border:none;padding:.5rem .875rem;font-family:inherit;font-size:.875rem;transition:background-color .15s,color .15s}.txn-type-toggle button+button{border-left:1px solid var(--color-border-primary)}.txn-type-toggle button:hover:not(.active){background:var(--color-bg-hover)}.txn-type-toggle button.active.expense{background:var(--color-error-light);color:var(--color-error);font-weight:500}.txn-type-toggle button.active.deposit{background:var(--color-success-light);color:var(--color-success);font-weight:500}.lines-header{justify-content:space-between;align-items:center;display:flex}.lines-header label{margin:0}.lines-footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;margin-bottom:-1rem;display:flex}.lines-footer .balance-indicator{flex-shrink:1;margin-top:0}.split-badge{color:var(--color-accent-primary);font-size:.75rem;font-weight:500}.lines-header-row{align-items:center;gap:1rem;margin-top:.25rem;margin-bottom:.25rem;padding:.25rem 0;display:flex}.line-header{text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.5px;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;display:flex}.line-header--amount{flex-shrink:0;justify-content:flex-end;width:90px}.line-header--domain{flex-shrink:0;width:160px}.line-header--category{flex:2;min-width:200px}.line-header--memo{flex:2;min-width:180px}.line-header--action{width:32px}.lines-container{flex-direction:column;gap:.5rem;display:flex}.line-row-wrapper{flex-direction:column;gap:6px;display:flex}.line-row{align-items:center;gap:1rem;display:flex}.line-amount{flex-shrink:0;width:90px}.line-amount input{text-align:right}.line-domain{flex-shrink:0;width:160px}.line-category{flex:3;min-width:300px}.line-description{flex:2;min-width:180px}.line-row input,.line-row select,.line-row .category-selector__trigger{border:1px solid var(--color-border-primary);box-sizing:border-box;border-radius:4px;width:100%;height:32px;padding:.25rem .5rem;font-size:.875rem}.balance-indicator{border-radius:4px;margin-top:.5rem;padding:.5rem;font-size:.75rem}.balance-indicator.balanced{background:var(--color-success-light);color:var(--color-success)}.balance-indicator.unbalanced{background:var(--color-warning-light);color:var(--color-warning-dark)}.suggestion-chip{background:var(--color-info-light);border:1px solid var(--color-info-light);color:var(--color-text-secondary);border-radius:4px;align-items:center;gap:.375rem;margin-bottom:.25rem;padding:.25rem .5rem;font-size:.75rem;display:flex}.suggestion-chip__icon{color:var(--color-info);flex-shrink:0}.suggestion-chip__label{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.suggestion-chip__confidence{color:var(--color-text-muted);cursor:help;flex-shrink:0}.suggestion-chip__accept{background:var(--color-success);color:#fff;cursor:pointer;border:none;border-radius:3px;flex-shrink:0;align-items:center;gap:.125rem;margin-left:auto;padding:.125rem .375rem;font-size:.6875rem;font-weight:500;transition:background-color .15s;display:inline-flex}.suggestion-chip__accept:hover{background:var(--color-success-dark)}.split-category{color:var(--color-text-muted);font-size:.875em}.action-icon-btn{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.action-icon-btn svg{flex-shrink:0;width:16px;height:16px}.action-icon-btn:hover{background:var(--color-bg-hover);color:var(--color-accent-primary)}.transfer-account-display,.transfer-amount-display{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);color:var(--color-text-muted);cursor:not-allowed;border-radius:4px;padding:.5rem;font-size:.875rem}.transfer-amount-display{text-align:right}.je-edit-header-row{gap:1rem;display:flex}.je-edit-date,.je-edit-ref{flex:1}.notes-attachments-row{align-items:flex-start;gap:1rem;display:flex}.notes-attachments-row__notes{flex:3}.notes-attachments-row__notes textarea{resize:vertical;height:100%;min-height:60px}.notes-attachments-row__attachments{flex:2}.notes-attachments-row__attachments .attachments-section{padding:8px}.notes-attachments-row__attachments .attachments-empty{padding:2px 0}.transaction-context--compact{background:var(--color-bg-tertiary);border-radius:4px;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.transaction-context--compact .context-source{color:var(--color-text-muted);margin-left:auto;font-size:.8125rem}.donation-donor-field{margin-bottom:.75rem}.donation-donor-field .donor-search.donor-search-container,.donation-donor-field .donor-search.selected-donor{max-width:400px}.line-student-subrow{margin-top:8px;padding-bottom:4px;padding-left:calc(250px + 2rem)}.cross-domain-warning{color:var(--color-warning);align-items:center;gap:.35rem;padding:2px 0 2px calc(90px + 1rem);font-size:.75rem;display:flex}.student-chip-picker{align-items:center;gap:2px;display:inline-flex}.student-chip-icon{color:var(--color-text-muted);flex-shrink:0;margin-right:4px}.student-chip{border:1px solid var(--color-border-secondary);background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;border-radius:9999px;align-items:center;padding:2px 8px;font-family:inherit;font-size:.75rem;line-height:1.25rem;display:inline-flex}.student-chip:hover{background:var(--color-bg-tertiary);border-color:var(--color-text-light)}.student-chip--active{background:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark);font-weight:500}.student-chip--active:hover{background:var(--color-success-light);border-color:var(--color-success)}.student-chip--none{color:var(--color-text-light);border-color:var(--color-border-primary);background:0 0;padding:2px 6px}.student-chip--none:hover{color:var(--color-text-muted);border-color:var(--color-border-secondary);background:var(--color-bg-primary)}.student-chip--none.student-chip--active{color:var(--color-text-muted);background:var(--color-bg-tertiary);border-color:var(--color-text-light);font-weight:500}.transaction-edit-inline{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:8px;margin-top:.5rem;padding:1rem 1.25rem}.account-mappings-page{max-width:900px;margin:0 auto;padding:1.5rem}.account-mappings-page .page-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.account-mappings-page .page-header h1{margin:0;font-size:1.5rem;font-weight:600}.account-mappings-page .page-subtitle{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.875rem}.account-mappings-page .header-actions{align-items:center;gap:.75rem;display:flex}.account-mappings-page .unsaved-warning{background:var(--color-warning-light);color:var(--color-warning-dark);border-radius:6px;margin-bottom:1rem;padding:.5rem 1rem;font-size:.875rem}.account-mappings-page .mapping-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.account-mappings-page .section-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.account-mappings-page .section-header h2{margin:0;font-size:1.125rem;font-weight:600}.account-mappings-page .section-description{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.8125rem}.account-mappings-page .mapping-grid{min-height:100px}.account-mappings-page .mapping-grid .ag-root-wrapper{border:1px solid var(--color-border-primary);border-radius:4px}.account-mappings-page .section-actions{align-items:center;gap:.75rem;display:flex}.account-mappings-page .error-message{color:var(--color-error);text-align:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:2rem}.account-mappings-page .ag-cell-inline-editing{padding:0!important}.account-mappings-page .ag-cell-inline-editing input{height:100%;font-size:inherit;padding:0 8px}.account-mappings-page .empty-state{text-align:center;color:var(--color-text-muted);background:var(--color-bg-tertiary);border:1px dashed var(--color-border-primary);border-radius:4px;padding:2rem}.account-mappings-page .empty-state p{margin:0;font-size:.875rem}.account-mappings-page .spinning{animation:1s linear infinite spin}.budget-page{grid-template-rows:auto 1fr;grid-template-columns:130px 1fr;height:calc(100vh - 56px);margin:-1.5rem -1.5rem -1.5rem 0;display:grid;overflow:hidden}.budget-page .page-header{border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary);grid-column:1/-1;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.budget-page .header-title{align-items:center;gap:1rem;display:flex}.budget-page .page-header h1{margin:0;font-size:1.25rem;font-weight:600}.budget-page .net-summary{font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:600}.budget-page .net-summary.positive{color:var(--color-success)}.budget-page .net-summary.negative{color:var(--color-error)}.budget-page .header-actions{gap:.5rem;display:flex}.budget-main{flex-direction:column;min-height:0;padding:.75rem 1rem;display:flex;overflow:hidden}.version-timeline-area{margin-bottom:.5rem}.budget-summary{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;align-items:flex-start;gap:2rem;margin-bottom:.75rem;padding:.75rem 1rem;display:flex}.summary-table{border-collapse:collapse;font-size:.875rem}.summary-table th{text-align:right;color:var(--color-text-muted);min-width:100px;padding:.25rem 1rem;font-weight:500}.summary-table th:first-child{text-align:left}.summary-table td{padding:.25rem 1rem}.summary-table .summary-label{color:var(--color-text-muted);text-align:left;font-size:.875rem}.summary-table .summary-value{color:var(--color-text-primary);text-align:right;font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600}.summary-table .summary-net{border-top:1px solid var(--color-border-primary)}.summary-table .summary-net td{padding-top:.5rem}.summary-table .summary-value.positive{color:var(--color-success)}.summary-table .summary-value.negative{color:var(--color-error)}.unsaved-indicator{color:var(--color-warning);align-self:center;font-size:.875rem;font-weight:500}.budget-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.budget-grid-options{gap:1rem;display:flex}.budget-grid-options .checkbox-label{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.budget-grid-options .checkbox-label input[type=checkbox]{cursor:pointer;width:1rem;height:1rem}.budget-content,.budget-grid{flex-direction:column;flex:1;min-height:0;display:flex}.budget-page:has(.sticky-save-bar) .budget-content{padding-bottom:60px}.budget-tree-table{flex:1;min-height:0}.budget-totals-footer{border-top:2px solid var(--color-border-primary);background:var(--color-bg-secondary);flex-shrink:0;padding:.5rem 0}.budget-totals-footer .totals-row{grid-template-columns:1fr 130px 130px;padding:.25rem 1rem;font-size:.875rem;display:grid}.budget-totals-footer .totals-label{color:var(--color-text-muted);font-weight:500}.budget-totals-footer .totals-value{text-align:right;font-variant-numeric:tabular-nums}.budget-totals-footer .totals-net{border-top:1px solid var(--color-border-primary);margin-top:.25rem;padding-top:.5rem;font-weight:600}.budget-totals-footer .totals-net .totals-label{color:var(--color-text-primary)}.budget-totals-footer .totals-value.positive{color:var(--color-success)}.budget-totals-footer .totals-value.negative{color:var(--color-error)}.budget-tree-table .tree-table-row.parent-row{background-color:#00000008}.budget-tree-table .tree-table-row.parent-row:hover{background-color:#0000000d}.parent-row-text{font-weight:600}.parent-aggregate{color:var(--color-text-muted);font-style:italic}.modal-form{flex-direction:column;gap:1rem;display:flex}.modal-form .warning-text{color:var(--color-warning);font-size:.875rem}.modal-form .modal-actions{border-top:1px solid var(--color-border-primary);justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding-top:1rem;display:flex}.error-banner{background:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.error-banner button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1}.modal-form .info-text{color:var(--color-text-muted);margin-top:.5rem;font-size:.813rem}.sticky-save-bar{background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary);z-index:100;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000001a}.sticky-save-bar .unsaved-text{color:var(--color-warning);font-size:.875rem;font-weight:500}.sticky-save-bar .sticky-save-actions{gap:.5rem;display:flex}.budget-empty-state{text-align:center;background:var(--color-bg-secondary);border:1px dashed var(--color-border-primary);color:var(--color-text-muted);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.budget-empty-state h3{color:var(--color-text-primary);margin:0 0 .5rem;font-size:1rem;font-weight:600}.budget-empty-state p{margin:0 0 1.5rem;font-size:.875rem}.budget-empty-state .empty-actions{gap:.75rem;display:flex}.budget-empty-state .copy-source{color:var(--color-text-muted);margin-top:.75rem;font-size:.75rem}.reports-page{max-width:1400px;margin:0 auto;padding:4px 20px 12px}.reports-page .ui-tabs{margin-bottom:12px}.reports-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.year-selector{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);color:var(--color-text-primary);border-radius:6px;min-width:90px;padding:8px 10px;font-size:14px}.year-selector:focus{border-color:var(--color-accent-primary);outline:none}.hide-cents-toggle{color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:14px;display:flex}.hide-cents-toggle input{cursor:pointer}.summary-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;align-items:center;gap:12px;margin-left:auto;padding:10px 20px;display:flex}.summary-label{color:var(--color-text-secondary);font-size:16px;font-weight:500}.summary-value{font-size:22px;font-weight:700}.summary-value.positive{color:var(--color-success)}.summary-value.negative{color:var(--color-error)}.no-budget-message{background:var(--color-error-light);border:2px solid var(--color-error);color:var(--color-error-dark);border-radius:8px;margin-bottom:10px;padding:14px 20px;font-size:15px;font-weight:600}.no-budget-message a{color:var(--color-error-dark);text-decoration:underline}.reports-grid{height:calc(100vh - 220px);min-height:400px}.reports-tree-table{height:100%}.reports-tree-table .tree-table-row.parent-row{background-color:var(--color-bg-secondary)}.reports-tree-table .tree-table-row.parent-row:hover{background-color:var(--color-bg-hover)}.parent-row{font-weight:600}.likely-override{color:var(--color-accent-primary)}.negative{color:var(--color-error)!important}.positive{color:var(--color-success)!important}.total-row{font-weight:600}.reports-tree-table .tree-table-row.total-revenue,.reports-tree-table .tree-table-row.total-expenses{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary)}.reports-tree-table .tree-table-row.total-net{background-color:var(--color-bg-tertiary);border-top:2px solid var(--color-border-secondary)}.reports-tree-table .tree-table-row.total-grand{background-color:var(--color-bg-hover);border-top:3px double var(--color-border-secondary);font-size:14px}.reports-tree-table .tree-table-row.total-section{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary)}.bva-budget-bar{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:8px 16px;display:flex}.budget-info{align-items:center;gap:12px;display:flex}.budget-name{color:var(--color-text-primary);font-size:14px;font-weight:600}.budget-status-badge{text-transform:capitalize;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500}.budget-status-badge.status-draft{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.budget-status-badge.status-superseded{background-color:var(--color-bg-tertiary);color:var(--color-text-muted)}.budget-version-controls{align-items:center;gap:12px;display:flex}.show-all-versions-toggle{color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:14px;display:flex}.show-all-versions-toggle input{cursor:pointer}.budget-version-selector{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);color:var(--color-text-primary);border-radius:6px;min-width:200px;padding:6px 10px;font-size:13px}.budget-version-selector:focus{border-color:var(--color-accent-primary);outline:none}.context-menu{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);z-index:1000;border-radius:6px;min-width:200px;padding:4px 0;box-shadow:0 4px 12px #00000026}.context-menu button{text-align:left;width:100%;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:13px;display:block}.context-menu button:hover:not(:disabled){background:var(--color-bg-hover)}.context-menu button:disabled{color:var(--color-text-muted);cursor:default}.actual-link{color:inherit;cursor:pointer;font:inherit;text-align:right;background:0 0;border:none;width:100%;padding:0}.actual-link:hover{color:var(--color-accent-primary);text-decoration:underline}.reports-tree-table .tree-table-row.fund-balance-row{background-color:#f0f7ff}.reports-tree-table .tree-table-row.fund-balance-row.total-row{background-color:#e0efff;font-weight:700}.reports-tree-table .tree-table-row.fund-balance-row .tree-table-cell:nth-child(2),.reports-tree-table .tree-table-row.fund-balance-row .tree-table-cell:nth-child(3){color:var(--color-text-muted)}:root[data-theme=dark] .reports-tree-table .tree-table-row.fund-balance-row{background-color:#1e3a5f}:root[data-theme=dark] .reports-tree-table .tree-table-row.fund-balance-row.total-row{background-color:#2a4a6f}.review-queue-page{max-width:1400px;padding:1.5rem}.review-queue-page__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.review-queue-page__title-row{align-items:center;gap:.75rem;display:flex}.review-queue-page__title-row h1{margin:0;font-size:1.5rem;font-weight:600}.review-queue-page__total-badge{background:var(--color-warning);color:var(--color-warning-dark);border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.review-queue-page__controls{align-items:center;gap:1rem;display:flex}.review-queue-page__toggle{cursor:pointer;color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.review-queue-page__toggle input{cursor:pointer}.review-queue-page__loading{flex-direction:column;gap:1rem;display:flex}.review-queue-page__error{color:var(--color-error);text-align:center;padding:2rem}.review-queue-page__empty{text-align:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:4rem 2rem}.review-queue-page__empty-icon{color:var(--color-success);margin-bottom:1rem;font-size:3rem}.review-queue-page__empty h2{margin:0 0 .5rem;font-size:1.25rem}.review-queue-page__empty p{color:var(--color-text-muted);margin:0}.review-queue-page__empty-hint{font-size:.875rem;margin-top:1rem!important}.account-review-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.account-review-panel__header{border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-tertiary);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.account-review-panel__header h2{margin:0;font-size:1.125rem;font-weight:600}.account-review-panel__summary{color:var(--color-text-muted);font-size:.875rem}.account-review-panel__loading{padding:2rem}.account-review-panel__error{color:var(--color-error);text-align:center;padding:2rem}.account-review-panel__section{padding:1rem 1.5rem}.account-review-panel__section--pending{background:var(--color-warning-light);border-bottom:1px solid var(--color-border-primary)}.account-review-panel__section--approved{background:var(--color-bg-secondary)}.account-review-panel__section-title{margin:0 0 1rem;font-size:1rem;font-weight:600}.account-review-panel__empty{text-align:center;color:var(--color-text-muted);padding:2rem}.account-review-panel__empty p{margin:0}.pending-transactions-grid{flex-direction:column;gap:.75rem;display:flex}.pending-transactions-grid__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pending-transactions-grid__status{color:var(--color-text-muted);font-size:.875rem}.pending-transactions-grid__ready{color:var(--color-text-primary);font-weight:500}.pending-transactions-grid__not-ready{color:var(--color-warning-dark);margin-left:.5rem}.pending-transactions-grid__actions{gap:.5rem;display:flex}.pending-transactions-grid__grid{border:1px solid var(--color-border-primary);border-radius:4px;overflow:hidden}.recently-approved-grid{margin-top:.5rem}.recently-approved-grid__header{cursor:pointer;width:100%;color:var(--color-text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.75rem 0;font-size:.9375rem;font-weight:600;display:flex}.recently-approved-grid__header:hover{color:var(--color-accent-primary)}.recently-approved-grid__header-icon{color:var(--color-text-muted);display:flex}.recently-approved-grid__header-title{flex:1}.recently-approved-grid__header-subtitle{color:var(--color-text-muted);font-size:.75rem;font-weight:400}.recently-approved-grid__toolbar{justify-content:flex-end;margin-bottom:.5rem;display:flex}.recently-approved-grid__grid{border:1px solid var(--color-border-primary);border-radius:4px;overflow:hidden}.transfer-badge{color:var(--color-accent-primary);background:var(--color-accent-light);text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:.125rem .375rem;font-size:.6875rem;font-weight:500;display:inline-block}.row-approve-btn{background:var(--color-success);color:#fff;cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;font-weight:700;transition:background .15s;display:flex}.row-approve-btn:hover{background:var(--color-success-dark)}.row-approve-btn--disabled{background:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:not-allowed}.row-approve-btn--disabled:hover{background:var(--color-bg-tertiary)}.row-selected-detail{background:var(--color-accent-light)!important}.reconciliation-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:8px;padding:1px 6px;font-size:.65rem;font-weight:500;line-height:1.3;display:inline-block}.reconciliation-badge--unreconciled{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.reconciliation-badge--cleared{background:var(--color-warning-light);color:var(--color-warning-dark)}.reconciliation-badge--reconciled{background:var(--color-success-light);color:var(--color-success)}.reconciliation-warning{background:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error-dark);border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.4}.reconciliation-info{background:var(--color-warning-light);border:1px solid var(--color-warning);color:var(--color-warning-dark);border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.4}.reconciliation-warning strong,.reconciliation-info strong{display:inline}.line-amount input.input-disabled{background:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:not-allowed}.pending-transactions-grid__filter{gap:.5rem;display:flex}.pending-transactions-grid__filter-input{border:1px solid var(--color-border-primary);border-radius:4px;flex:1;max-width:300px;padding:.375rem .75rem;font-size:.875rem}.pending-transactions-grid__filter-input:focus{border-color:var(--color-accent-primary);outline:none}.pending-transactions-grid__reset-cols{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:.25rem .5rem;font-size:.75rem}.pending-transactions-grid__reset-cols:hover{color:var(--color-accent-primary);text-decoration:underline}.attachments-section{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);border-radius:6px;padding:12px}.attachments-loading,.attachments-empty{color:var(--color-text-muted);padding:8px 0;font-size:13px}.attachments-list{margin:0 0 12px;padding:0;list-style:none}.attachment-item{border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary);justify-content:space-between;align-items:center;padding:8px;display:flex}.attachment-item:first-child{border-radius:4px 4px 0 0}.attachment-item:last-child{border-bottom:none;border-radius:0 0 4px 4px}.attachment-item:only-child{border-radius:4px}.attachment-info{flex:1;min-width:0}.attachment-link{color:var(--color-accent-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;text-decoration:none;display:block;overflow:hidden}.attachment-link:hover{text-decoration:underline}.attachment-meta{color:var(--color-text-light);margin-top:2px;font-size:11px;display:block}.attachment-delete-btn{cursor:pointer;color:var(--color-text-light);background:0 0;border:none;border-radius:4px;align-items:center;margin-left:8px;padding:4px 8px;display:flex}.attachment-delete-btn:hover{background-color:var(--color-error-light);color:var(--color-error)}.attachment-delete-confirm{gap:4px;margin-left:8px;display:flex}.btn-confirm-delete,.btn-cancel-delete{cursor:pointer;border:none;border-radius:4px;padding:4px 8px;font-size:11px}.btn-confirm-delete{background-color:var(--color-error);color:#fff}.btn-confirm-delete:hover{background-color:var(--color-error)}.btn-cancel-delete{background-color:var(--color-border-primary);color:var(--color-text-secondary)}.btn-cancel-delete:hover{background-color:var(--color-border-secondary)}.attachment-upload{align-items:center;gap:8px;display:flex}.btn-upload{background-color:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:flex}.btn-upload:hover:not(:disabled){background-color:var(--color-accent-primary-hover)}.btn-upload:disabled{background-color:var(--color-text-light);cursor:not-allowed}.upload-hint{color:var(--color-text-light);font-size:11px}.attachment-error{background-color:var(--color-error-light);color:var(--color-error);border-radius:4px;margin-top:8px;padding:6px 8px;font-size:12px}.account-register-page{flex-direction:column;gap:1rem;height:100%;padding:1rem;display:flex}.register-header{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;flex-direction:column;gap:1rem;padding:1rem;display:flex}.register-header-top{align-items:center;gap:1rem;display:flex}.register-title{flex:1;margin:0;font-size:1.25rem;font-weight:600}.account-number{color:var(--color-text-secondary);margin-right:.5rem}.domain-badge{vertical-align:middle;letter-spacing:.025em;border-radius:12px;margin-left:.75rem;padding:4px 12px;font-size:.85rem;font-weight:600;display:inline-block}.register-header-actions{margin-left:auto}.balance-comparison{flex-wrap:wrap;gap:1rem;display:flex}.balance-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;min-width:150px;padding:.75rem 1rem}.balance-card.balance-diff{border-color:var(--color-warning);background:var(--color-warning-light)}.balance-label{color:var(--color-text-secondary);align-items:center;gap:.25rem;margin-bottom:.25rem;font-size:.75rem;display:flex}.balance-label span{cursor:help;border-bottom:1px dotted var(--color-text-secondary)}.balance-value{font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:600}.not-connected{color:var(--color-text-light);font-style:italic;font-weight:400}.stale-icon{color:var(--color-warning);animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.transaction-counts{flex-wrap:wrap;gap:1.5rem;font-size:.875rem;display:flex}.count-item{align-items:center;gap:.5rem;display:flex}.count-label{color:var(--color-text-secondary)}.count-value{font-weight:500}.count-value.count-warning{color:var(--color-warning-dark);font-weight:600}.register-grid{flex:1;min-height:400px}.register-grid .amount-cell{text-align:right;font-variant-numeric:tabular-nums}.register-grid .right-aligned-header .ag-header-cell-label{justify-content:flex-end}.status-icon{opacity:.7}.status-icon.status-reconciled{color:var(--color-success);opacity:1}.status-icon.status-cleared{color:var(--color-accent-primary)}.status-icon.status-pending{color:var(--color-warning)}.register-grid .pending-row,.register-grid .ag-row-pinned{color:var(--color-text-secondary);font-style:italic;background-color:#fefce8!important}.register-grid [class*=pinned-top],.register-grid [class*=floating-top]{border-bottom:2px solid var(--color-border-primary)!important}.pending-badge{background:var(--color-warning-light);color:var(--color-warning-dark);border-radius:4px;padding:.125rem .5rem;font-size:.75rem;font-style:normal;font-weight:500;display:inline-block}.register-grid .category-cell{align-items:center;display:flex}.page-loading,.page-error{height:100%;color:var(--color-text-secondary);justify-content:center;align-items:center;padding:2rem;display:flex}.page-error{color:var(--color-error)}.reconciliation-summary{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;gap:2rem;padding:1rem 1.5rem;display:flex}.reconciliation-summary__balance-section{flex:1;min-width:300px}.reconciliation-summary__match-section{border-left:1px solid var(--color-border-primary);flex:none;min-width:200px;padding-left:2rem}.reconciliation-summary__title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.reconciliation-summary__rows{flex-direction:column;gap:.25rem;display:flex}.reconciliation-summary__row{justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.9375rem;display:flex}.reconciliation-summary__row--indent{padding-left:1rem}.reconciliation-summary__row--secondary{color:var(--text-secondary);font-size:.875rem}.reconciliation-summary__amount--secondary{color:var(--text-secondary)}.reconciliation-summary__row--total{border-top:1px solid var(--color-border-primary);margin-top:.25rem;padding-top:.5rem;font-weight:600}.reconciliation-summary__row--book{border-top:1px dashed var(--color-border-primary);margin-top:.5rem;padding-top:.5rem}.reconciliation-summary__row--difference{border-top:2px solid var(--color-border-primary);margin-top:.25rem;padding-top:.5rem;font-weight:600}.reconciliation-summary__row--balanced{color:var(--color-success)}.reconciliation-summary__row--unbalanced{color:var(--color-error)}.reconciliation-summary__label{color:var(--color-text-primary);align-items:center;gap:.5rem;display:flex}.reconciliation-summary__operator{width:1rem;color:var(--color-text-secondary);justify-content:center;font-weight:600;display:inline-flex}.reconciliation-summary__count{color:var(--color-text-muted);font-size:.8125rem;font-weight:400}.reconciliation-summary__amount{font-family:var(--font-mono,ui-monospace, monospace);text-align:right;white-space:nowrap;min-width:120px}.reconciliation-summary__amount--positive{color:var(--color-success)}.reconciliation-summary__amount--negative{color:var(--color-text-secondary)}.reconciliation-summary__amount--warning{color:var(--color-error)}.reconciliation-summary__amount--underline{text-underline-offset:2px;text-decoration:underline}.reconciliation-summary__spacer{height:.75rem}.reconciliation-summary__status{border-radius:50%;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.75rem;font-weight:700;display:inline-flex}.reconciliation-summary__status--balanced{background:var(--color-success);color:#fff}.reconciliation-summary__status--unbalanced{background:var(--color-danger);color:#fff}.reconciliation-summary__match-stats{align-items:baseline;gap:.5rem;display:flex}.reconciliation-summary__stat{flex-direction:column;align-items:center;gap:.125rem;display:flex}.reconciliation-summary__stat--divider{color:var(--color-text-muted);font-size:1.25rem}.reconciliation-summary__stat--unmatched{border-left:1px solid var(--color-border-primary);margin-left:1rem;padding-left:1rem}.reconciliation-summary__stat--unmatched .reconciliation-summary__stat-value{color:var(--color-warning)}.reconciliation-summary__stat-value{font-size:1.5rem;font-weight:600;line-height:1}.reconciliation-summary__stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.reconciliation-summary__close-status{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:4px;margin-top:1rem;padding:.5rem .75rem;font-size:.8125rem}.reconciliation-summary__close-status--ready{background:color-mix(in srgb, var(--color-success) 15%, transparent);color:var(--color-success);font-weight:500}@media (width<=600px){.reconciliation-summary{flex-direction:column}.reconciliation-summary__match-section{border-left:none;border-top:1px solid var(--color-border-primary);padding-top:1rem;padding-left:0}}.matching-grid{flex-direction:column;gap:.75rem;display:flex}.matching-grid__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.matching-grid__filters{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.matching-grid__filter-group{align-items:center;gap:.5rem;display:flex}.matching-grid__filter-group label{color:var(--color-text-secondary);white-space:nowrap;font-size:.8125rem}.matching-grid__select{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);color:var(--color-text-primary);border-radius:4px;padding:.375rem .5rem;font-size:.875rem}.matching-grid__filter-group--search{flex:1;min-width:150px}.matching-grid__search-input{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);border-radius:4px;padding:.375rem .75rem;font-size:.875rem}.matching-grid__search-input:focus{border-color:var(--color-accent-primary);outline:none}.matching-grid__stats{gap:1rem;font-size:.8125rem;display:flex}.matching-grid__stat--matched{color:var(--color-success)}.matching-grid__stat--unmatched{color:var(--color-warning)}.matching-grid__grid{min-height:200px}.match-badge{white-space:nowrap;border-radius:4px;align-items:center;gap:.25rem;padding:2px 8px;font-size:.8rem;font-weight:500;line-height:1.2;display:inline-flex}.match-badge--unmatched{background:var(--color-warning-light);color:var(--color-warning-dark)}.match-badge--matched,.match-badge--exact{background:var(--color-success-light);color:var(--color-success-dark)}.match-badge--fuzzy{background:var(--color-info-light);color:var(--color-info-dark)}.match-badge--pre-matched{background:var(--color-accent-light);color:var(--color-accent-primary)}.match-badge--manual{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.type-badge{white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:.8rem;font-weight:500;line-height:1.2;display:inline-block}.type-badge--deposit,.type-badge--credit{background:var(--color-success-light);color:var(--color-success-dark)}.type-badge--debit{background:var(--color-error-light);color:var(--color-error-dark)}.type-badge--check{background:var(--color-info-light);color:var(--color-info-dark)}.matched-info{flex-direction:column;gap:.125rem;font-size:.8125rem;line-height:1.2;display:flex}.matched-info__date{color:var(--color-text-secondary)}.matched-info__desc{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.matched-info--empty{color:var(--color-text-muted)}.row-matched{background:color-mix(in srgb, var(--color-success) 5%, transparent)}.row-unmatched{background:color-mix(in srgb, var(--color-warning) 5%, transparent)}.match-modal__statement{background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-primary);padding:1rem 1.5rem}.match-modal__statement-info{align-items:center;gap:1rem;display:flex}.match-modal__date{color:var(--color-text-secondary);white-space:nowrap;font-size:.8125rem}.match-modal__desc{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.match-modal__amount{font-family:var(--font-mono,ui-monospace, monospace);align-items:center;gap:.25rem;font-weight:600;display:flex}.match-modal__ref{color:var(--color-text-muted);font-size:.75rem}.match-modal__book-list{flex:1;max-height:300px;overflow-y:auto}.match-modal__empty{text-align:center;color:var(--color-text-muted);padding:2rem}.match-modal__book-item{border-bottom:1px solid var(--color-border-primary);cursor:pointer;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;transition:background-color .15s;display:flex}.match-modal__book-item:hover{background:var(--color-bg-tertiary)}.match-modal__book-item--likely{background:color-mix(in srgb, var(--color-success) 8%, transparent)}.match-modal__book-item--likely:hover{background:color-mix(in srgb, var(--color-success) 15%, transparent)}.match-modal__book-info{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.match-modal__amount--match,.match-modal__check{color:var(--color-success)}.exceptions-panel{border:1px solid var(--border-color);background:var(--surface-1);border-radius:8px;overflow:hidden}.exceptions-panel__header{background:var(--surface-2);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.exceptions-panel__title{align-items:center;gap:.75rem;font-size:.9375rem;font-weight:600;display:flex}.exceptions-panel__blocking-badge{background:var(--color-danger);color:#fff;border-radius:999px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.exceptions-panel__toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:.75rem}.exceptions-panel__content{flex-direction:column;display:flex}.exceptions-panel__tabs.ui-tabs{border-bottom:1px solid var(--border-color);background:var(--surface-1);margin-bottom:0}.exceptions-panel__tabs .ui-tab{flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem;display:flex}.exceptions-panel__tabs .ui-tab:hover{background:var(--surface-2);color:var(--text-primary)}.exceptions-panel__tabs .ui-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);box-shadow:none;background:0 0}.exceptions-panel__tab-label{white-space:nowrap}.exceptions-panel__tab-count{background:var(--surface-3);border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;font-size:.6875rem;font-weight:600;display:inline-flex}.exceptions-panel__tab-count--zero{background:color-mix(in srgb, var(--color-success) 15%, transparent);color:var(--color-success)}.exceptions-panel__tab--blocking .exceptions-panel__tab-count{background:var(--color-danger);color:#fff}.exceptions-panel__tab-content{max-height:200px;overflow-y:auto}.exceptions-panel__empty{text-align:center;color:var(--text-tertiary);padding:1.5rem;font-size:.875rem}.exceptions-panel__empty--success{color:var(--color-success);background:color-mix(in srgb, var(--color-success) 8%, transparent)}.exceptions-panel__list{flex-direction:column;display:flex}.exceptions-panel__list-header{background:var(--surface-2);border-bottom:1px solid var(--border-color);padding:.5rem 1rem}.exceptions-panel__warning{color:var(--color-danger);font-size:.8125rem}.exceptions-panel__info{color:var(--text-secondary);font-size:.8125rem}.exceptions-panel__item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.exceptions-panel__item:last-child{border-bottom:none}.exceptions-panel__item:hover{background:var(--surface-2)}.exceptions-panel__item-info{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.exceptions-panel__item-date{color:var(--text-secondary);white-space:nowrap;font-size:.8125rem}.exceptions-panel__item-desc{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.875rem;overflow:hidden}.exceptions-panel__item-ref{color:var(--text-tertiary);white-space:nowrap;font-size:.75rem}.exceptions-panel__item-right{align-items:center;gap:.75rem;display:flex}.exceptions-panel__item-amount{font-family:var(--font-mono,ui-monospace, monospace);white-space:nowrap;font-size:.875rem}.exceptions-panel__match-btn{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 15%, transparent);cursor:pointer;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500;transition:background-color .15s}.exceptions-panel__match-btn:hover{background:color-mix(in srgb, var(--color-primary) 25%, transparent)}.exceptions-panel__footer{background:var(--surface-2);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.exceptions-panel__total-label{color:var(--text-secondary);font-size:.875rem}.exceptions-panel__total-amount{font-family:var(--font-mono,ui-monospace, monospace);font-size:.9375rem;font-weight:600}@media (width<=600px){.exceptions-panel__tabs.ui-tabs{flex-direction:column}.exceptions-panel__tabs .ui-tab{border-bottom:none;border-left:2px solid #0000;justify-content:flex-start;padding:.625rem 1rem}.exceptions-panel__tabs .ui-tab.active{border-left-color:var(--color-primary)}.exceptions-panel__item-info{flex-direction:column;align-items:flex-start;gap:.25rem}}.reconciliation-history{padding:1rem}.reconciliation-history__empty{text-align:center;color:var(--color-text-muted);padding:3rem 1rem}.reconciliation-history__empty p{margin:0}.reconciliation-history__empty-hint{font-size:.875rem;margin-top:.5rem!important}.reconciliation-history__list{flex-direction:column;gap:.75rem;display:flex}.reconciliation-history__card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:8px;padding:1rem 1.25rem;transition:all .15s}.reconciliation-history__card:hover{border-color:var(--color-border-secondary);box-shadow:var(--shadow-sm)}.reconciliation-history__card-header{align-items:baseline;gap:.75rem;margin-bottom:.75rem;display:flex}.reconciliation-history__period{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:600}.reconciliation-history__date-range{color:var(--color-text-muted);font-size:.8125rem}.reconciliation-history__balances{align-items:center;gap:1.5rem;margin-bottom:.75rem;display:flex}.reconciliation-history__balance{flex-direction:column;gap:.125rem;display:flex}.reconciliation-history__balance-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem}.reconciliation-history__balance-value{font-size:1.125rem;font-weight:500;font-family:var(--font-mono,ui-monospace, monospace);color:var(--color-text-primary)}.reconciliation-history__balance-arrow{color:var(--color-text-muted);font-size:1.25rem}.reconciliation-history__footer{border-top:1px solid var(--color-border-primary);align-items:center;gap:1rem;padding-top:.75rem;display:flex}.reconciliation-history__completed{color:var(--color-success);align-items:center;gap:.375rem;font-size:.8125rem;display:inline-flex}.reconciliation-history__by{color:var(--color-text-secondary);align-items:center;gap:.375rem;font-size:.8125rem;display:inline-flex}.reconciliation-history__card--reopened{border-color:var(--color-warning);border-left:3px solid var(--color-warning)}.reconciliation-history__reopened-badge{color:var(--color-warning-dark);background:var(--color-warning-light);border-radius:4px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.reconciliation-history__completed--reopened{color:var(--color-warning)}@media (width<=480px){.reconciliation-history__card-header{flex-direction:column;gap:.25rem}.reconciliation-history__balances{gap:1rem}.reconciliation-history__balance-value{font-size:1rem}}.reconciliation-page{flex-direction:column;gap:1.5rem;max-width:1400px;margin:0 auto;padding:1.5rem;display:flex}.reconciliation-page__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.reconciliation-page__header-left{align-items:center;gap:1rem;display:flex}.reconciliation-page__back-btn{background:var(--surface-2);border:1px solid var(--border-color);cursor:pointer;width:44px;height:44px;color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}.reconciliation-page__back-btn:hover{background:var(--surface-3);color:var(--text-primary)}.reconciliation-page__title-section h1{margin:0;font-size:1.5rem;font-weight:600}.reconciliation-page__account-name{color:var(--text-secondary);font-size:.875rem}.reconciliation-page__header-right{align-items:center;gap:1rem;display:flex}.reconciliation-page__period{color:var(--text-secondary);background:var(--surface-2);border-radius:4px;padding:.375rem .75rem;font-size:.875rem}.reconciliation-page__loading{min-height:300px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.spinner{animation:1s linear infinite spin}.reconciliation-page__history{text-align:left;background:var(--surface-2);border-radius:8px;margin-bottom:1.5rem;padding:1rem}.reconciliation-page__history h3{color:var(--text-secondary);margin:0 0 .75rem;font-size:.875rem}.reconciliation-page__history ul{margin:0;padding:0;list-style:none}.reconciliation-page__history li{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem;display:flex}.reconciliation-page__history li:last-child{border-bottom:none}.reconciliation-page__completed-badge{color:var(--color-success);align-items:center;gap:.25rem;font-size:.75rem;display:flex}.reconciliation-page__upload{justify-content:center;padding:2rem;display:flex}.reconciliation-page__upload-card{background:var(--surface-1);border:2px dashed var(--border-color);text-align:center;border-radius:12px;max-width:500px;padding:3rem 2rem;transition:border-color .15s}.reconciliation-page__upload-card:hover{border-color:var(--color-primary)}.reconciliation-page__upload-icon{color:var(--text-tertiary);margin-bottom:1rem}.reconciliation-page__upload-card h2{margin:0 0 1rem;font-size:1.25rem}.reconciliation-page__upload-card p{color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.reconciliation-page__upload-actions{justify-content:center;gap:1rem;margin-bottom:1rem;display:flex}.reconciliation-page__upload-hint{color:var(--text-tertiary);margin:0;font-size:.8125rem}.reconciliation-page__matching{flex-direction:column;gap:1.5rem;display:flex}.reconciliation-page__upload-prompt{background:var(--surface-2);border:2px dashed var(--border-color);color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;display:flex}.reconciliation-page__upload-prompt svg{color:var(--text-tertiary)}.reconciliation-page__grid{background:var(--surface-1);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.reconciliation-page__actions{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.reconciliation-page__warning{background:color-mix(in srgb, var(--color-warning) 15%, transparent);color:var(--color-warning);border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.reconciliation-page__complete{justify-content:center;padding:2rem;display:flex}.reconciliation-page__complete-card{background:var(--surface-1);border:1px solid var(--border-color);text-align:center;border-radius:12px;max-width:500px;padding:3rem 2rem}.reconciliation-page__complete-icon{color:var(--color-success);margin-bottom:1rem}.reconciliation-page__complete-card h2{color:var(--color-success);margin:0 0 1rem;font-size:1.5rem}.reconciliation-page__complete-card p{color:var(--text-secondary);margin:0 0 2rem;line-height:1.5}.reconciliation-page__complete-actions{flex-direction:column;gap:.75rem;display:flex}.reconciliation-page__tabs{margin-bottom:1rem}.reconciliation-page__history{flex-direction:column;gap:1rem;display:flex}.reconciliation-page__history-header{justify-content:flex-end;display:flex}.reconciliation-page__history-detail{flex-direction:column;gap:1.5rem;display:flex}.reconciliation-page__history-banner{background:var(--surface-2);color:var(--text-secondary);border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.875rem;display:flex}.reconciliation-page__history-banner-info{align-items:center;gap:.5rem;display:flex}.reconciliation-page__history-banner-info svg{color:var(--color-success)}.reconciliation-page__history-banner--reopened{background:var(--color-warning-light);border:1px solid var(--color-warning)}.reconciliation-page__history-banner--reopened .reconciliation-page__history-banner-info svg{color:var(--color-warning)}.reconciliation-page__history-actions{gap:.75rem;display:flex}.reconciliation-page__back-to-list{background:var(--surface-2);border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);border-radius:6px;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;transition:background-color .15s,color .15s;display:inline-flex}.reconciliation-page__back-to-list:hover{background:var(--surface-3);color:var(--text-primary)}.reconciliation-page__no-statement{color:var(--text-muted);align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;display:inline-flex}@media (width<=768px){.reconciliation-page{padding:1rem}.reconciliation-page__header{flex-direction:column;align-items:flex-start}.reconciliation-page__actions{flex-direction:column;gap:1rem}.reconciliation-page__actions button{width:100%}}.venmo-guided-import{padding:1.5rem}.venmo-guided-import__header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.venmo-guided-import__header h1{flex:1;margin:0;font-size:1.5rem}.venmo-guided-import__school-year{color:var(--color-text-secondary);font-size:.9rem}.venmo-guided-import__help{border:1px solid var(--color-border-primary);border-radius:8px;margin-top:1rem;overflow:hidden}.venmo-guided-import__help-title{background:var(--color-bg-tertiary);cursor:pointer;align-items:center;gap:.5rem;padding:.75rem 1rem;list-style:none;display:flex}.venmo-guided-import__help-title::-webkit-details-marker{display:none}.venmo-guided-import__help-chevron{margin-left:auto;transition:transform .2s}.venmo-guided-import__help[open] .venmo-guided-import__help-chevron{transform:rotate(180deg)}.venmo-guided-import__help-content{background:var(--color-bg-tertiary);border-radius:8px;margin-top:.5rem;padding:1rem}.venmo-guided-import__help-content ol{margin:0;padding-left:1.5rem}.venmo-guided-import__help-content li{margin-bottom:.5rem}.venmo-guided-import__help-content a{color:var(--color-accent-primary);text-decoration:none}.venmo-guided-import__help-content a:hover{text-decoration:underline}.venmo-guided-import__upload{flex-direction:column;align-items:center;gap:1.5rem;margin-top:1rem;padding:2rem;display:flex}.venmo-guided-import__dropzone{border:2px dashed var(--color-border-primary);cursor:pointer;width:100%;max-width:500px;color:var(--color-text-secondary);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem;transition:border-color .2s,background .2s;display:flex}.venmo-guided-import__dropzone:hover{border-color:var(--color-accent-primary);background:var(--color-bg-tertiary)}.venmo-guided-import__filename{color:var(--color-accent-primary);font-weight:500}.venmo-guided-import__section{margin-top:1.5rem}.venmo-guided-import__section h2{margin-bottom:.75rem;font-size:1.1rem;font-weight:500}.venmo-guided-import__grid{border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.venmo-guided-import__fee-summary{background:var(--color-bg-tertiary);border-radius:8px;padding:1rem}.venmo-guided-import__fee-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.venmo-guided-import__fee-item{background:var(--color-bg-secondary);border-radius:4px;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.venmo-guided-import__fee-label{color:var(--color-text-secondary);font-size:.9rem}.venmo-guided-import__fee-amount{font-variant-numeric:tabular-nums;font-weight:500}.venmo-guided-import__fee-total{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary)}.venmo-guided-import__fee-total .venmo-guided-import__fee-label{color:var(--color-text-primary);font-weight:600}.venmo-guided-import__fee-total .venmo-guided-import__fee-amount{font-weight:600}.venmo-guided-import__actions{border-top:1px solid var(--color-border-primary);justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.venmo-guided-import__complete{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem;display:flex}.venmo-guided-import__complete-icon{color:var(--color-success);margin-bottom:1rem}.venmo-guided-import__complete h2{margin-bottom:.5rem}.venmo-guided-import__complete p{color:var(--color-text-secondary)}.venmo-guided-import__tabs{border-bottom:1px solid var(--color-border-primary);gap:0;margin-bottom:1rem;display:flex}.venmo-guided-import__tab{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;transition:color .2s,border-color .2s;display:flex}.venmo-guided-import__tab:hover{color:var(--color-text-primary)}.venmo-guided-import__tab--active{color:var(--color-accent-primary);border-bottom-color:var(--color-accent-primary)}.venmo-guided-import__email-scan{padding:1.5rem}.venmo-guided-import__month-section{margin-bottom:1rem}.venmo-guided-import__month-list-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.venmo-guided-import__month-list-header label{font-weight:500}.venmo-guided-import__email-actions{margin-bottom:1rem}.venmo-month-list{border:1px solid var(--color-border-primary);border-radius:8px;max-height:calc(100vh - 26rem);margin-bottom:1rem;overflow-y:auto}.venmo-month-list__item{cursor:pointer;border-bottom:1px solid var(--color-border-primary);align-items:center;gap:.75rem;padding:.5rem 1rem;transition:background .15s;display:flex}.venmo-month-list__item:last-child{border-bottom:none}.venmo-month-list__item:not(.venmo-month-list__item--selected):hover{background:var(--color-bg-tertiary)}.venmo-month-list__item--selected{background:var(--color-accent-light);border-left:3px solid var(--color-accent-primary);font-weight:600}.venmo-month-list__label{flex:1;font-size:.95rem}.venmo-month-list__action{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);cursor:pointer;color:var(--color-text-secondary);white-space:nowrap;border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.venmo-month-list__action:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.venmo-month-badge{white-space:nowrap;border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.venmo-month-badge--no-data{background:var(--color-border-primary);color:var(--color-text-muted)}.venmo-month-badge--no-activity{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.venmo-month-badge--reconciled{background:var(--color-success-light);color:var(--color-success-dark)}.venmo-guided-import__info-banner{background:var(--color-info-light);border:1px solid var(--color-info);color:var(--color-info-dark);border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.venmo-guided-import__email-status{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:8px;align-items:center;gap:.75rem;padding:1rem;display:flex}.venmo-guided-import__email-status--not-found{background:var(--color-warning-light);color:var(--color-warning-dark)}.venmo-guided-import__email-found{flex-direction:column;gap:1rem;display:flex}.venmo-guided-import__email-card{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:8px;padding:1rem}.venmo-guided-import__email-subject{margin-bottom:.25rem;font-weight:500}.venmo-guided-import__email-date{color:var(--color-text-secondary);font-size:.9rem}.venmo-guided-import__spinner{animation:1s linear infinite spin}.detection-signals{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.detection-signal{white-space:nowrap;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-radius:3px;padding:.0625rem .375rem;font-size:.75rem;display:inline-block}.detection-signal--event{background:var(--color-success-light);color:var(--color-success-dark)}.detection-signal--keyword{background:var(--color-info-light);color:var(--color-info-dark)}.detection-signal--price{color:#6b21a8;background:#f3e8ff}.detection-signal--payer{background:var(--color-warning-light);color:var(--color-warning-dark)}.detection-signal--description{color:#3730a3;background:#e0e7ff}.detection-signal--same-date{background:var(--color-held-light);color:var(--color-held)}.detection-confidence{color:var(--color-text-muted);margin-left:.125rem;font-size:.6875rem}.accounts-page{padding:1.5rem}.accounts-page .page-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.accounts-page .page-header h1{margin:0;font-size:1.5rem;font-weight:600}.accounts-page .header-actions{gap:.5rem;display:flex}.accounts-grid{border:1px solid var(--color-border-primary);border-radius:8px;height:calc(100vh - 200px);min-height:300px;overflow:hidden}.accounts-grid .ag-row{cursor:pointer}.accounts-page .page-hint{color:var(--color-text-muted);margin-top:.75rem;font-size:.875rem}.accounts-page .error-message{color:var(--color-error);text-align:center;padding:2rem}.text-muted{color:var(--color-text-muted)}.accounts-page .grid-reset-btn-header{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:36px;color:var(--color-text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:.5rem 0;font-size:14px;transition:background .15s,border-color .15s;display:inline-flex}.accounts-page .grid-reset-btn-header:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}.accounts-grid .ag-cell[col-id=domain_code]{align-items:center;display:flex}.settlement-page{max-width:1400px;margin:0 auto;padding:4px 20px 12px}.settlement-page .ui-tabs{margin-bottom:12px}.settlement-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.bank-reconciliation-summary .banks-grid{border:1px solid var(--color-border-primary);border-radius:8px;height:calc(100vh - 220px);min-height:300px;overflow:hidden}.bank-reconciliation-summary .banks-grid .ag-row{cursor:pointer}.bank-reconciliation-summary .banks-grid .ag-cell[col-id=domain_code]{align-items:center;display:flex}.bank-reconciliation-summary .page-hint{color:var(--color-text-muted);margin-top:.75rem;font-size:.875rem}.recon-status-badge{white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:.75rem;font-weight:500;line-height:1.2;display:inline-block}.recon-status-badge.badge-success{background:var(--color-success-light);color:var(--color-success-dark)}.recon-status-badge.badge-info{background:var(--color-info-light);color:var(--color-info-dark)}.recon-status-badge.badge-warning{background:var(--color-warning-light);color:var(--color-warning-dark)}.recon-status-badge.badge-muted{background:var(--color-bg-tertiary);color:var(--color-text-muted)}[data-theme=dark] .recon-status-badge.badge-muted{background:var(--color-bg-hover);color:var(--color-text-muted)}.trx-donations-page{flex-direction:column;gap:1rem;height:100%;padding:1rem;display:flex}.trx-donations-page .page-header h1{margin:0;font-size:1.25rem;font-weight:600}.trx-donations-grid{flex:1;min-height:400px}.domain-badge{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;line-height:1.25rem;display:inline-block}.trx-donations-dashboard-page{flex-direction:column;gap:.75rem;height:100%;padding:1rem;display:flex}.trx-donations-dashboard-page .page-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.trx-donations-dashboard-page .page-header h1{margin:0;font-size:1.25rem;font-weight:600}.trx-dashboard-content{flex-direction:column;gap:1.25rem;display:flex}.trx-dashboard-loading{text-align:center;color:var(--color-text-muted);padding:3rem}.trx-donations-dashboard-page .domain-stripe{text-align:center;border-radius:9999px;padding:.25rem .75rem;font-size:.875rem;font-weight:600;line-height:1.5;display:block}.trx-donations-dashboard-page .metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.trx-donations-dashboard-page .metric-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:.25rem;min-height:5.5rem;padding:1.25rem;display:flex;box-shadow:0 1px 3px #0000000f}.trx-donations-dashboard-page .metric-value{color:var(--color-text-primary);font-size:1.75rem;font-weight:700;line-height:1.2}.trx-donations-dashboard-page .metric-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.trx-donations-dashboard-page .metric-sub{color:var(--color-text-muted);font-size:.75rem}.trx-donations-dashboard-page .charts-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.trx-donations-dashboard-page .chart-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;min-height:300px;padding:1rem;box-shadow:0 1px 3px #0000000f}.trx-donations-dashboard-page .chart-card.wide{grid-column:1/-1}.trx-donations-dashboard-page .chart-card button{font-size:inherit;background:0 0;border:none;border-radius:0;padding:0}.trx-donations-dashboard-page .chart-card button:hover{background-color:#0000;border-color:#0000}.trx-donations-dashboard-page .historical-toggle{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:.375rem;padding-top:.5rem;font-size:.75rem;display:flex}.trx-donations-dashboard-page .historical-toggle input{cursor:pointer}.source-breakdown{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000000f}.source-breakdown h3{color:var(--color-text-secondary);margin:0 0 .75rem;font-size:.875rem;font-weight:600}.source-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.source-item{border:1px solid var(--color-border-primary);background:var(--color-bg);border-radius:6px;flex-direction:column;gap:.125rem;padding:.75rem;display:flex}.source-name{color:var(--color-text-secondary);text-transform:capitalize;font-size:.75rem;font-weight:600}.source-amount{color:var(--color-text-primary);font-size:1.125rem;font-weight:600}.source-count{color:var(--color-text-muted);font-size:.75rem}@media (width<=900px){.trx-donations-dashboard-page .charts-row{grid-template-columns:1fr}}.reserve-strategy-page{flex-direction:column;gap:.75rem;height:100%;padding:1rem;display:flex;overflow-y:auto}.reserve-strategy-page .page-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.reserve-strategy-page .page-header h1{margin:0;font-size:1.25rem;font-weight:600}.reserve-strategy-page .reserve-tabs-row{border-bottom:2px solid var(--color-border-primary);align-items:flex-end;display:flex}.reserve-strategy-page .reserve-tabs.ui-tabs{border-bottom:none;margin-bottom:0}.reserve-strategy-page .reserve-toggles{gap:6px;margin-bottom:4px;margin-left:auto;display:flex}.reserve-strategy-page .reserve-unit-toggle{align-items:center;display:flex}.reserve-strategy-page .view-mode-toggle{border:1px solid var(--color-border-primary);border-radius:6px;display:flex;overflow:hidden}.reserve-strategy-page .view-mode-toggle button{background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;border:none;padding:.25rem .625rem;font-size:.75rem;transition:background-color .15s,color .15s}.reserve-strategy-page .view-mode-toggle button:not(:last-child){border-right:1px solid var(--color-border-primary)}.reserve-strategy-page .view-mode-toggle button.active{background:var(--color-accent-light);color:var(--color-text-primary);font-weight:500}.reserve-strategy-page .view-mode-toggle button:hover:not(.active){background:var(--color-bg-hover)}.reserve-strategy-page .multi-year-comparison{flex:1;min-height:0}.yoy-toolbar{justify-content:flex-end;gap:0;margin-bottom:.5rem;display:flex}.yoy-toggle{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;color:var(--color-text-secondary);padding:.2rem .6rem;font-size:.75rem;font-weight:600}.yoy-toggle:first-child{border-radius:4px 0 0 4px}.yoy-toggle:last-child{border-left:none;border-radius:0 4px 4px 0}.yoy-toggle.active{background:var(--color-accent-primary-fill);border-color:var(--color-accent-primary-fill);color:#fff}.change-positive-strong{background-color:#228b2240}.change-positive-medium{background-color:#228b2226}.change-positive-light{background-color:#228b2214}.change-positive-faint{background-color:#228b220a}.change-negative-strong{background-color:#c81e1e40}.change-negative-medium{background-color:#c81e1e26}.change-negative-light{background-color:#c81e1e14}.change-negative-faint{background-color:#c81e1e0a}.reserve-strategy-page .consolidated-note{color:var(--color-text-muted);font-size:.8rem;font-style:italic}.reserve-strategy-page .loading-message,.reserve-strategy-page .error-message{text-align:center;color:var(--color-text-secondary);padding:2rem}.reserve-strategy-page .card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000000f}.reserve-strategy-page .card h3{margin:0 0 .75rem;font-size:1rem;font-weight:600}.reserve-strategy-page .board-summary p{margin:0;font-size:.95rem;line-height:1.5}.reserve-strategy-page .metrics-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.reserve-strategy-page .metric-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);text-align:center;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000000f}.reserve-strategy-page .metric-value{color:var(--color-text-primary);font-size:1.5rem;font-weight:700}.reserve-strategy-page .metric-value.positive{color:var(--color-success)}.reserve-strategy-page .metric-value.negative{color:var(--color-error)}.reserve-strategy-page .metric-label{color:var(--color-text-secondary);margin-top:.25rem;font-size:.8rem}.reserve-strategy-page .metric-sublabel{color:var(--color-text-muted);font-size:.75rem;display:block}.reserve-strategy-page .est-label{color:var(--color-text-muted);font-size:.7rem;font-weight:400}.reserve-strategy-page .charts-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.reserve-strategy-page .chart-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;min-height:300px;padding:1rem;box-shadow:0 1px 3px #0000000f}.reserve-strategy-page .chart-card h3{margin:0 0 .5rem;font-size:.9rem;font-weight:600}.reserve-strategy-page .sp-toggle{color:var(--color-text-secondary);cursor:pointer;justify-content:flex-end;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.reserve-strategy-page .revenue-risk-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.reserve-strategy-page .data-table{border-collapse:collapse;width:100%;font-size:.85rem}.reserve-strategy-page .data-table th{text-align:left;border-bottom:2px solid var(--color-border-primary);color:var(--color-text-secondary);padding:.4rem .75rem;font-size:.8rem;font-weight:600}.reserve-strategy-page .data-table td{border-bottom:1px solid var(--color-border-primary);padding:.4rem .75rem}.reserve-strategy-page .data-table .right{text-align:right}.reserve-strategy-page .data-table .header-row td{border-top:2px solid var(--color-border-primary);font-weight:700}.reserve-strategy-page .no-data{color:var(--color-text-muted);font-size:.85rem;font-style:italic}.reserve-strategy-page .data-caveat{color:var(--color-text-muted);margin-top:.5rem;font-size:.8rem;font-style:italic}.reserve-strategy-page .slider-row{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.reserve-strategy-page .slider-label-left,.reserve-strategy-page .slider-label-right{color:var(--color-text-secondary);white-space:nowrap;font-size:.75rem}.reserve-strategy-page .slider-container{flex:1;position:relative}.reserve-strategy-page .what-if-slider{cursor:pointer;width:100%}.reserve-strategy-page .current-net-marker{background:var(--color-accent-primary);width:2px;height:24px;position:absolute;top:-4px;transform:translate(-50%)}.reserve-strategy-page .current-net-marker .marker-label{color:var(--color-accent-primary)}.reserve-strategy-page .break-even-marker{background:var(--color-text-secondary);width:2px;height:24px;position:absolute;top:-4px;transform:translate(-50%)}.reserve-strategy-page .break-even-marker .marker-label{color:var(--color-text-muted)}.reserve-strategy-page .marker-label{white-space:nowrap;cursor:pointer;background:var(--color-bg-primary);border-radius:2px;padding:0 2px;font-size:.65rem;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.reserve-strategy-page .marker-label:hover{text-decoration:underline}.reserve-strategy-page .slider-value{text-align:center;margin-bottom:.25rem;font-size:.85rem}.reserve-strategy-page .slider-value .positive{color:var(--color-success)}.reserve-strategy-page .slider-value .negative{color:var(--color-error)}.reserve-strategy-page .runway-text{text-align:center;color:var(--color-text-secondary);margin-bottom:.75rem;font-size:.85rem}.reserve-strategy-page .financials-table-wrapper{overflow-x:auto}.reserve-strategy-page .financials-table .row-label{white-space:nowrap;font-weight:500}.reserve-strategy-page .financials-table .row-label.indent{padding-left:1.5rem;font-weight:400}.reserve-strategy-page .expand-toggle{cursor:pointer;color:var(--color-accent-primary);background:0 0;border:none;padding:.5rem 0;font-size:.85rem;font-weight:500}.reserve-strategy-page .expand-toggle:hover{text-decoration:underline}.reserve-strategy-page .sub-table{margin-bottom:.5rem}.waterfall-committed{color:var(--color-text-secondary);justify-content:center;align-items:center;gap:.4rem;margin:0 0 .25rem;font-size:.85rem;display:flex}.committed-swatch{background:#8b3a3a;border-radius:2px;flex-shrink:0;width:12px;height:12px;display:inline-block}.trip-assist-slider{border-top:1px solid var(--color-border-primary);margin-top:1rem;padding-top:.75rem}.trip-assist-slider label{color:var(--color-text-secondary);margin-bottom:.25rem;font-size:.85rem;display:block}.trip-assist-slider input[type=range]{cursor:pointer;width:100%}.trip-assist-range{color:var(--color-text-muted);justify-content:space-between;font-size:.75rem;display:flex}.trip-runway-summary{gap:1rem;margin-bottom:.75rem;display:flex}.trip-stat{text-align:center;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;flex:1;padding:.75rem .5rem}.trip-stat-value{color:var(--color-text-primary);font-size:1.15rem;font-weight:700}.trip-stat-value.positive{color:var(--color-success)}.trip-stat-value.negative{color:var(--color-error)}.trip-stat-label{color:var(--color-text-secondary);margin-top:.2rem;font-size:.75rem}.depletion-text{text-align:center;margin-bottom:.75rem;font-size:.9rem;font-weight:600}.trip-controls{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.trip-control-row{align-items:center;gap:.75rem;display:flex}.trip-control-label{color:var(--color-text-secondary);min-width:3.5rem;font-size:.85rem;font-weight:500}.trip-control-slider{cursor:pointer;flex:1}.trip-cost-display{text-align:right;min-width:4.5rem;font-size:.85rem;font-weight:700}.trip-control-freq{flex-shrink:0}@media (width<=900px){.reserve-strategy-page .charts-row,.reserve-strategy-page .revenue-risk-row{grid-template-columns:1fr}.trip-runway-summary{flex-wrap:wrap}.trip-stat{flex:calc(50% - .5rem);min-width:calc(50% - .5rem)}.trip-control-row{flex-wrap:wrap}}.stripe-payouts-page{max-width:1400px;margin:0 auto;padding:4px 20px 12px}.stripe-payouts-page h1{margin-bottom:16px}.stripe-payouts-summary{flex-wrap:wrap;gap:16px;margin-bottom:20px;display:flex}.stripe-payouts-summary .summary-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;flex:1;min-width:200px;padding:16px}.stripe-payouts-summary .summary-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.8rem}.stripe-payouts-summary .summary-value{color:var(--color-text-primary);font-size:1.5rem;font-weight:600}.stripe-payouts-summary .summary-detail{color:var(--color-text-muted);margin-top:4px;font-size:.85rem}.stripe-payouts-grid{border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.stripe-payouts-grid .ag-row{cursor:pointer}.stripe-payouts-grid .negative-payout-row{background-color:var(--color-error-light)}[data-theme=dark] .stripe-payouts-grid .negative-payout-row{background-color:#f8717114}.stripe-payouts-grid .text-danger{color:var(--color-error)}.payout-detail-grid{grid-template-columns:1fr 1fr;gap:8px 24px;margin-bottom:16px;display:grid}.payout-error{background:var(--color-error-light);color:var(--color-error-dark);border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:.9rem}.payout-section{margin-top:16px}.payout-section h3{margin-bottom:8px;font-size:.95rem}.payout-table{border-collapse:collapse;width:100%;font-size:.875rem}.payout-table th,.payout-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:6px 10px}.payout-table th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.payout-table .monospace{font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.text-danger{color:var(--color-error)}.contact-detail{max-width:900px;margin:0 auto;padding:1.5rem}.contact-detail .page-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.contact-detail .page-header h1{color:var(--color-text-primary);margin:0;font-size:1.75rem;font-weight:600}.contact-detail .support-level-selector select{border:2px solid var(--color-border-primary);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.contact-detail .support-level-selector select:focus{outline:none;box-shadow:0 0 0 3px #3574b81a}.contact-detail .follow-up-banner{color:var(--color-accent-primary);background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;display:flex}.contact-detail .follow-up-banner.overdue{color:#ef4444;background:#ef44441a;border-color:#ef444433}.contact-detail .follow-up-banner .follow-up-icon{font-size:1rem}.contact-detail .card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #00000014}.contact-detail .card-header{border-bottom:2px solid var(--color-border-primary);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.contact-detail .card-header h2{color:var(--color-text-primary);margin:0;font-size:1.125rem;font-weight:600}.contact-detail .info-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.contact-detail .info-item label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.contact-detail .info-item p{color:var(--color-text-primary);margin:0;font-size:.9375rem}.contact-detail .info-item .text-muted{color:var(--color-text-muted);font-style:italic}.contact-detail .tags-section{border-top:1px solid var(--color-border-primary);margin-top:1.25rem;padding-top:1.25rem}.contact-detail .tags-section label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.contact-detail .tag-category-section{margin-bottom:.75rem}.contact-detail .tag-category-section:last-child{margin-bottom:0}.contact-detail .tags-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.contact-detail .tag-remove-btn{cursor:pointer;opacity:.6;color:inherit;background:0 0;border:none;margin-left:.375rem;padding:0;font-size:1rem;line-height:1;transition:opacity .15s}.contact-detail .tag-remove-btn:hover{opacity:1}.contact-detail .tag-add-select{border:1px dashed var(--color-border-secondary);background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;border-radius:9999px;padding:.375rem .75rem;font-size:.8125rem;transition:border-color .15s}.contact-detail .tag-add-select:hover{border-color:var(--color-accent-primary)}.contact-detail .tag-add-select:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.contact-detail .crm-notes{border-top:1px solid var(--color-border-primary);margin-top:1.25rem;padding-top:1.25rem}.contact-detail .crm-notes label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.contact-detail .crm-notes p{color:var(--color-text-secondary);margin:0;font-size:.9375rem}.contact-detail .interaction-list{flex-direction:column;gap:.75rem;display:flex}.contact-detail .interaction-item{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;gap:1rem;padding:1rem;transition:background-color .15s;display:flex}.contact-detail .interaction-item:hover{background:var(--color-bg-tertiary)}.contact-detail .interaction-type-icon{background:var(--color-accent-light);width:2.25rem;height:2.25rem;color:var(--color-accent-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.contact-detail .interaction-body{flex:1;min-width:0}.contact-detail .interaction-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.contact-detail .interaction-type{color:var(--color-text-primary);text-transform:capitalize;font-size:.875rem;font-weight:600}.contact-detail .interaction-date{color:var(--color-text-muted);font-size:.75rem}.contact-detail .interaction-notes{color:var(--color-text-secondary);margin:0;font-size:.875rem}.contact-detail .interaction-outcome{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.8125rem}.contact-detail .empty-state{text-align:center;color:var(--color-text-muted);padding:2rem 1rem}.contact-detail .btn-primary{background-color:var(--color-accent-primary);border:1px solid var(--color-accent-primary);color:#fff;cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.contact-detail .btn-primary:hover{background-color:var(--color-accent-primary-hover);border-color:var(--color-accent-primary-hover)}.contact-detail .btn-primary:disabled{opacity:.5;cursor:not-allowed}.contact-detail .btn-secondary{background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);color:var(--color-text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.contact-detail .btn-secondary:hover{background-color:var(--color-bg-primary)}.contact-detail .btn-danger{color:#fff;cursor:pointer;background-color:#ef4444;border:1px solid #ef4444;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.contact-detail .btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.contact-detail .header-actions{align-items:center;gap:.75rem;display:flex}.contact-detail .edit-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact-detail .edit-form .form-group{margin-bottom:1rem}.contact-detail .edit-form .form-group label{color:var(--color-text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.contact-detail .edit-form .form-group input,.contact-detail .edit-form .form-group textarea{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);border-radius:6px;padding:.625rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.contact-detail .edit-form .form-group input:focus,.contact-detail .edit-form .form-group textarea:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.contact-detail .edit-form .form-group textarea{resize:vertical;min-height:80px}.contact-detail .edit-actions{gap:.75rem;margin-top:.5rem;display:flex}.contact-detail .field-error{color:var(--color-error,#ef4444);margin:.25rem 0 0;font-size:.8125rem}.contact-detail .interaction-form{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:1.25rem;padding:1.5rem}.contact-detail .interaction-form h3{color:var(--color-text-primary);border-bottom:1px solid var(--color-border-primary);margin:0 0 1.25rem;padding-bottom:.75rem;font-size:1rem;font-weight:600}.contact-detail .interaction-form .form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact-detail .interaction-form .form-group{margin-bottom:1rem}.contact-detail .interaction-form .form-group label{color:var(--color-text-secondary);margin-bottom:.375rem;font-size:.8125rem;font-weight:500;display:block}.contact-detail .interaction-form .form-group label .optional{color:var(--color-text-muted);font-weight:400}.contact-detail .interaction-form .form-group input,.contact-detail .interaction-form .form-group select,.contact-detail .interaction-form .form-group textarea{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);border-radius:6px;padding:.625rem .75rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.contact-detail .interaction-form .form-group input:focus,.contact-detail .interaction-form .form-group select:focus,.contact-detail .interaction-form .form-group textarea:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.contact-detail .interaction-form .form-group textarea{resize:vertical;min-height:80px}.contact-detail .interaction-form .form-actions{border-top:1px solid var(--color-border-primary);gap:.75rem;padding-top:1rem;display:flex}.contact-detail .interaction-form .error-message{background:var(--color-error-light);color:var(--color-error);border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.campaign-management{max-width:1200px;margin:0 auto;padding:1.5rem}.campaign-management .page-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.campaign-management .page-header h1{color:var(--color-text-primary);margin:0;font-size:1.75rem;font-weight:600}.campaign-management .form-container{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:2rem;padding:2rem;box-shadow:0 1px 3px #00000014}.campaign-management .form-container h2{color:var(--color-text-primary);border-bottom:2px solid var(--color-border-primary);margin:0 0 1.5rem;padding-bottom:1rem;font-size:1.25rem;font-weight:600}.campaign-management .form-group{margin-bottom:1.25rem}.campaign-management .form-group label{color:var(--color-text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.campaign-management .form-group label .optional{color:var(--color-text-muted);font-weight:400}.campaign-management .form-group input:not([type=checkbox]),.campaign-management .form-group textarea{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);border-radius:6px;padding:.75rem;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.campaign-management .form-group input:not([type=checkbox]):focus,.campaign-management .form-group textarea:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.campaign-management .form-group textarea{resize:vertical;min-height:100px}.campaign-management .date-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;display:grid}.campaign-management .checkbox-group{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.campaign-management .checkbox-group input[type=checkbox]{cursor:pointer;width:1.125rem;height:1.125rem;accent-color:var(--color-accent-primary)}.campaign-management .checkbox-group label{cursor:pointer;margin-bottom:0}.campaign-management .form-actions{border-top:1px solid var(--color-border-primary);gap:1rem;padding-top:1.5rem;display:flex}.campaign-management .form-actions button{cursor:pointer;border-radius:6px;padding:.625rem 1.5rem;font-weight:500;transition:all .15s}.campaign-management .btn-primary{background-color:var(--color-accent-primary);border:1px solid var(--color-accent-primary);color:#fff}.campaign-management .btn-primary:hover{background-color:var(--color-accent-primary-hover);border-color:var(--color-accent-primary-hover)}.campaign-management .btn-secondary{background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);color:var(--color-text-primary)}.campaign-management .btn-secondary:hover{background-color:var(--color-bg-primary)}.campaign-management .table-container{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #00000014}.campaign-management .campaigns-table{border-collapse:collapse;width:100%}.campaign-management .campaigns-table thead{background:var(--color-bg-tertiary);border-bottom:2px solid var(--color-border-primary)}.campaign-management .campaigns-table th{text-align:left;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:1rem;font-size:.8125rem;font-weight:600}.campaign-management .campaigns-table td{border-bottom:1px solid var(--color-border-primary);padding:1.25rem 1rem}.campaign-management .campaigns-table tbody tr{transition:background-color .15s}.campaign-management .campaigns-table tbody tr:hover{background-color:var(--color-bg-primary)}.campaign-management .campaigns-table tbody tr:last-child td{border-bottom:none}.campaign-management .campaign-name{color:var(--color-text-primary);margin-bottom:.25rem;font-weight:600;display:block}.campaign-management .campaign-slug{color:var(--color-text-muted);font-family:SF Mono,Monaco,monospace;font-size:.8125rem;display:block}.campaign-management .status-badge{border-radius:9999px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}.campaign-management .status-badge.active{color:#166534;background:#dcfce7}.campaign-management .status-badge.inactive{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.campaign-management .action-btn{color:var(--color-accent-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5rem .75rem;font-weight:500;transition:all .15s}.campaign-management .action-btn:hover{background-color:#3574b81a}.campaign-management .empty-state{text-align:center;color:var(--color-text-muted);padding:3rem 1rem}.settings-layout{max-width:1200px}.settings-layout h2{margin-bottom:.5rem}.settings-layout .description{color:var(--color-text-muted);margin-bottom:1.5rem}.settings-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.settings-header .header-text h2{color:var(--color-text-primary);margin:0 0 .25rem;font-size:1.5rem}.settings-header .header-text .description{margin:0}.settings-tabs{background:var(--color-bg-tertiary);border-radius:8px;gap:.25rem;padding:.25rem;display:flex}.settings-tabs .tab{color:var(--color-text-muted);border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s}.settings-tabs .tab:hover{color:var(--color-text-primary)}.settings-tabs .tab.active{background:var(--color-bg-secondary);color:var(--color-text-primary);box-shadow:0 1px 2px #0000000d}.users-page .domain-info{color:var(--color-text-muted);margin:0;font-size:.875rem}.users-page .loading-text{color:var(--color-text-muted);padding:1rem 0;font-size:.875rem}.users-page .page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.users-page .page-header .filter-group{align-items:center;gap:.5rem;display:flex}.users-page .page-header label{color:var(--color-text-muted);font-size:.875rem}.users-page .page-header select{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.users-page .page-header select:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent-primary) 10%, transparent);outline:none}.users-page .table-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.users-page .users-table{border-collapse:collapse;width:100%}.users-page .users-table th,.users-page .users-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.75rem 1rem}.users-page .users-table th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg-primary);font-size:.75rem;font-weight:600}.users-page .users-table td{color:var(--color-text-primary);font-size:.875rem}.users-page .users-table tbody tr:hover{background:var(--color-bg-primary)}.users-page .users-table tr.no-roles,.users-page .users-table tr.no-roles:hover{background:var(--color-warning-light)}.users-page .users-table .empty-row{text-align:center;color:var(--color-text-muted);padding:3rem 1rem;font-style:italic}.users-page .user-email{font-weight:500}.users-page .role-chips{flex-wrap:wrap;gap:.375rem;display:flex}.users-page .modal-subtitle{color:var(--color-text-muted);margin:0 0 1rem;font-size:.875rem}.users-page .role-checkboxes{flex-direction:column;gap:.75rem;display:flex}.users-page .role-checkbox{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:6px;align-items:flex-start;gap:.75rem;padding:.75rem;transition:border-color .15s,background-color .15s;display:flex}.users-page .role-checkbox:hover{border-color:var(--color-accent-primary);background:var(--color-accent-light)}.users-page .role-checkbox input{cursor:pointer;width:1rem;height:1rem;margin-top:.125rem}.users-page .role-checkbox .role-info{flex:1}.users-page .role-checkbox .role-name{color:var(--color-text-primary);font-size:.875rem;font-weight:600}.users-page .role-checkbox .role-desc{color:var(--color-text-muted);margin-top:.25rem;font-size:.8rem;display:block}@media (width<=768px){.users-page .page-header{flex-direction:column;align-items:flex-start;gap:1rem}.users-page .table-card{overflow-x:auto}.users-page .users-table{min-width:500px}}.roles-page .page-header{justify-content:flex-end;margin-bottom:1.5rem;display:flex}.roles-page .table-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.roles-page .roles-table{border-collapse:collapse;width:100%}.roles-page .roles-table th,.roles-page .roles-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.75rem 1rem}.roles-page .roles-table th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg-primary);font-size:.75rem;font-weight:600}.roles-page .roles-table td{color:var(--color-text-primary);font-size:.875rem}.roles-page .roles-table tbody tr:hover{background:var(--color-bg-primary)}.roles-page .roles-table .role-name-cell{font-weight:500}.roles-page .system-badge{background:var(--color-bg-tertiary);color:var(--color-text-secondary);text-transform:uppercase;border-radius:3px;margin-left:.5rem;padding:.125rem .375rem;font-size:.625rem}.roles-page .role-actions{gap:.5rem;display:flex}.roles-page .roles-table td.stat-cell{color:var(--color-text-muted);font-size:.875rem}.roles-page .role-form{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.5rem}.roles-page .role-form h3{color:var(--color-text-primary);margin:0 0 1.5rem;font-size:1.125rem}.roles-page .form-group{margin-bottom:1.25rem}.roles-page .form-group label{color:var(--color-text-secondary);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.roles-page .form-group input[type=text]{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;max-width:400px;color:var(--color-text-primary);border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.roles-page .form-group input[type=text]:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent-primary) 10%, transparent);outline:none}.roles-page .form-group input[type=text]:disabled{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.roles-page .permissions-section{border-top:1px solid var(--color-border-primary);margin-top:1.5rem;padding-top:1.5rem}.roles-page .permissions-section>label{color:var(--color-text-secondary);margin-bottom:1rem;font-size:.875rem;font-weight:500;display:block}.roles-page .permissions-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.roles-page .permission-domain{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;padding:1rem}.roles-page .permission-domain h4{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;font-size:.8rem;font-weight:600}.roles-page .permission-checkbox{cursor:pointer;color:var(--color-text-primary);align-items:center;gap:.5rem;padding:.375rem 0;font-size:.875rem;display:flex}.roles-page .permission-checkbox:hover{color:var(--color-accent-primary)}.roles-page .permission-checkbox input{cursor:pointer;width:1rem;height:1rem}.roles-page .form-actions{border-top:1px solid var(--color-border-primary);gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.roles-page .affected-users{background:var(--color-warning-light);border-radius:6px;max-height:150px;margin:1rem 0 0;padding:.75rem 1rem;overflow-y:auto}.roles-page .affected-users-label{color:var(--color-warning-dark);text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.roles-page .affected-users ul{margin:0;padding:0;list-style:none}.roles-page .affected-users li{color:var(--color-warning-dark);padding:.125rem 0;font-size:.875rem}@media (width<=768px){.roles-page .table-card{overflow-x:auto}.roles-page .roles-table{min-width:600px}.roles-page .permissions-grid{grid-template-columns:1fr}.roles-page .modal{max-width:calc(100% - 2rem);margin:1rem}}.google-accounts-page{padding:0}.google-accounts-page .page-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.google-accounts-page .page-header .header-info{flex:1}.google-accounts-page .page-header .description{color:var(--color-text-muted);margin:0;font-size:.875rem}.google-accounts-page .empty-state{text-align:center;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;padding:3rem 1rem}.google-accounts-page .empty-state p{color:var(--color-text-muted);margin:.5rem 0}.google-accounts-page .empty-state .empty-hint{font-size:.875rem}.google-accounts-page .table-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.google-accounts-page .accounts-table{border-collapse:collapse;width:100%}.google-accounts-page .accounts-table th,.google-accounts-page .accounts-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.75rem 1rem}.google-accounts-page .accounts-table th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg-primary);font-size:.75rem;font-weight:600}.google-accounts-page .accounts-table td{color:var(--color-text-primary);font-size:.875rem}.google-accounts-page .accounts-table tbody tr:hover{background:var(--color-bg-primary)}.google-accounts-page .accounts-table tr.needs-action,.google-accounts-page .accounts-table tr.needs-action:hover{background:var(--color-warning-light)}.google-accounts-page .purpose-cell{min-width:160px}.google-accounts-page .purpose-name{font-weight:600;display:block}.google-accounts-page .purpose-desc{color:var(--color-text-muted);margin-top:.25rem;font-size:.8rem;display:block}.google-accounts-page .email-cell{color:var(--color-text-muted);font-family:monospace;font-size:.8rem}.google-accounts-page .date-cell{color:var(--color-text-muted);white-space:nowrap;font-size:.8rem}.google-accounts-page .status-badge{border-radius:9999px;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-block}.google-accounts-page .status-authorized{background:var(--color-success-light);color:var(--color-success-dark)}.google-accounts-page .status-expired{background:var(--color-error-light);color:var(--color-error-dark)}.google-accounts-page .status-not-authorized{background:var(--color-warning-light);color:var(--color-warning-dark)}.google-accounts-page .actions-cell{white-space:nowrap}.google-accounts-page .actions-cell .delete-btn{color:#dc2626}.google-accounts-page .actions-cell .delete-btn:hover{background:var(--color-error-light)}.form-hint{color:var(--color-text-muted);margin:.375rem 0 0;font-size:.8rem}@media (width<=768px){.google-accounts-page .page-header{flex-direction:column;gap:1rem}.google-accounts-page .table-card{overflow-x:auto}.google-accounts-page .accounts-table{min-width:600px}}.backups-page{max-width:1000px;padding:1.5rem}.status-banner{border-radius:6px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-weight:500;display:flex}.status-banner.running{background:var(--color-info-light);color:var(--color-info);border:1px solid var(--color-info)}.status-banner .spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.backups-page section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h3{margin:0;font-size:1rem;font-weight:600}.config-grid{flex-direction:column;gap:.75rem;display:flex}.config-row{grid-template-columns:140px 1fr;align-items:center;gap:1rem;display:grid}.config-row label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.config-value{font-size:.875rem}.not-configured{color:var(--color-text-muted);font-style:italic}.config-row input[type=text],.config-row input[type=email],.config-row select{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);border-radius:6px;max-width:400px;padding:.5rem .75rem;font-size:.875rem}.config-row input:focus,.config-row select:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #0969da1a}.time-inputs{align-items:center;gap:.5rem;display:flex}.time-inputs select{width:70px}.toggle-label{cursor:pointer;align-items:center;gap:.5rem;font-weight:400;display:flex}.toggle-label input[type=checkbox]{width:18px;height:18px}.status-badge{text-transform:uppercase;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.enabled{background:var(--color-success-light);color:var(--color-success-dark)}.status-badge.disabled{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.config-actions{border-top:1px solid var(--color-border-primary);gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.config-note{color:var(--color-text-muted);margin-top:1rem;font-size:.75rem}.save-error{margin-bottom:1rem}.status-grid{flex-direction:column;gap:.5rem;display:flex}.status-item{grid-template-columns:120px 1fr;gap:1rem;font-size:.875rem;display:grid}.status-label{color:var(--color-text-secondary);font-weight:500}.status-item.error{border-top:1px solid var(--color-border-primary);margin-top:.5rem;padding-top:.5rem}.error-message{color:var(--color-error);font-family:monospace;font-size:.8125rem}.run-status{text-transform:capitalize;border-radius:4px;padding:.125rem .375rem;font-size:.75rem;font-weight:600;display:inline-block}.run-status.success{background:var(--color-success-light);color:var(--color-success-dark)}.run-status.failed{background:var(--color-error-light);color:var(--color-error)}.run-status.running{background:var(--color-info-light);color:var(--color-info)}.history-section h3{margin:0 0 1rem;font-size:1rem;font-weight:600}.history-table{border-collapse:collapse;width:100%;font-size:.8125rem}.history-table th,.history-table td{text-align:left;border-bottom:1px solid var(--color-border-primary);padding:.5rem .75rem}.history-table th{color:var(--color-text-secondary);background:var(--color-bg-tertiary);font-weight:600}.history-table tbody tr:hover{background:var(--color-bg-hover)}.history-table tr.failed{background:var(--color-error-light)}.error-hint{color:var(--color-text-muted);cursor:help;margin-left:.25rem;font-size:.6875rem}.no-history{color:var(--color-text-muted);font-style:italic}.login-history-page{padding:1.5rem}.login-history-filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.login-history-filters .filter-group{flex-direction:column;gap:.25rem;display:flex}.login-history-filters .filter-group label{color:var(--color-text-secondary);font-size:.75rem;font-weight:500}.login-history-filters .filter-group input,.login-history-filters .filter-group select{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);color:var(--color-text-primary);border-radius:4px;padding:.375rem .5rem;font-size:.875rem}.login-history-filters .filter-group input:focus,.login-history-filters .filter-group select:focus{border-color:var(--color-accent-primary);box-shadow:0 0 0 2px var(--color-accent-subtle);outline:none}.login-history-truncation-warning{background:var(--color-bg-warning);color:var(--color-text-warning);border:1px solid var(--color-border-warning);border-radius:4px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.875rem}.login-history-grid{height:calc(100vh - 320px);min-height:300px}.login-history-email-attempted{opacity:.7;font-style:italic}.hold-countdown{text-align:center;color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:6px;margin-top:6px;margin-bottom:-2px;padding:8px 16px;font-size:14px;font-weight:600}.hold-countdown--warning{color:var(--color-warning-dark);background:var(--color-warning-light);animation:1s ease-in-out infinite hold-countdown-pulse}@keyframes hold-countdown-pulse{0%,to{opacity:1}50%{opacity:.7}}.perf-picker{flex-wrap:wrap;justify-content:center;gap:.5rem;padding:.25rem 0;display:flex}@media (width<=640px){.perf-picker{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.perf-picker__card{padding:.5rem .75rem}}.perf-picker::-webkit-scrollbar{display:none}.perf-picker__card{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border-radius:10px;flex-direction:column;flex-shrink:0;align-items:center;gap:.25rem;min-width:0;padding:.625rem 1rem;transition:border-color .2s,background .2s,box-shadow .2s;display:flex}.perf-picker__card:focus{outline:none}.perf-picker__card:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}@media (hover:hover){.perf-picker__card:hover:not(:disabled){background:#00000026;border-width:2px;padding:.5625rem .9375rem}}.perf-picker__card--active{border-color:var(--cast-color,var(--color-accent-primary));background:#00000026}.perf-picker__card--active .perf-picker__label{color:#fff}.perf-picker__card--sold-out{opacity:.55;cursor:not-allowed}.perf-picker__label{color:var(--color-text-secondary);font-size:.9rem;font-weight:400;transition:color .2s}.perf-picker__label:after{content:attr(data-text);visibility:hidden;height:0;font-weight:600;display:block;overflow:hidden}.perf-picker__card--active .perf-picker__label,.perf-picker__card--active .perf-picker__cast{font-weight:600}.perf-picker__datetime{color:var(--color-text-secondary);font-size:.8rem}.perf-picker__cast{color:var(--cast-color,var(--color-text-muted));text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.perf-picker__sold-out{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);font-size:.7rem;font-weight:600}.performance-cast{background:var(--color-bg-secondary);border:1px solid var(--cast-color,var(--color-border-primary));border-left:3px solid var(--cast-color,var(--color-accent-primary));border-radius:8px;max-width:87%;margin:0 auto 12px}@media (width<=640px){.performance-cast{max-width:100%}}.performance-cast__toggle{width:100%;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;transition:color .15s;display:flex}.performance-cast__toggle:hover{color:var(--color-text-primary)}.performance-cast__toggle:focus{outline:none}.performance-cast__chevron{transition:transform .2s;display:inline-block}.performance-cast__chevron--up{transform:rotate(180deg)}.performance-cast__body{max-height:400px;padding:0 1.25rem 1.25rem;overflow-y:auto}.performance-cast__search{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);width:100%;color:var(--color-text-primary);z-index:1;box-sizing:border-box;border-radius:6px;outline:none;padding:.5rem .75rem;font-size:.85rem;position:sticky;top:0}.performance-cast__search::placeholder{color:var(--color-text-secondary)}.performance-cast__search:focus{border-color:var(--color-border-focus)}.performance-cast__members{margin:.75rem 0 0;padding:0;list-style:none}.performance-cast__member{border-bottom:1px solid var(--color-border-primary);justify-content:space-between;align-items:baseline;gap:.5rem;padding:.35rem 0;display:flex}.performance-cast__member:last-child{border-bottom:none}.performance-cast__member-name{color:var(--color-text-primary);white-space:nowrap;font-size:.85rem}.performance-cast__member--lead .performance-cast__member-name{font-style:italic;font-weight:600}.performance-cast__member-role{color:var(--color-text-secondary);text-align:right;font-size:.8rem;font-style:italic}.performance-cast__no-results{color:var(--color-text-secondary);padding:.5rem 0;font-size:.85rem;font-style:italic}.performance-cast__disclaimer{color:var(--color-text-secondary);text-align:center;margin:1rem 0 0;font-size:.75rem;font-style:italic}.presale-gate{max-width:500px;margin:60px auto;padding:24px}.presale-gate__card{text-align:center;border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:8px;padding:2rem 1.5rem}.presale-gate__card h2{margin:0 0 1rem;font-size:1.375rem}.presale-gate__message{color:var(--color-text-muted);margin:0 0 .5rem;font-size:.9375rem;line-height:1.5}.presale-gate__prompt{color:var(--color-text-primary);margin:0 0 1rem;font-size:.875rem;font-weight:500}.presale-gate__form{flex-direction:column;align-items:center;gap:.75rem;display:flex}.presale-gate__input{border:1px solid var(--color-border-primary);text-align:center;text-transform:uppercase;letter-spacing:.1em;background:var(--color-bg-secondary);width:100%;max-width:280px;color:var(--color-text-primary);border-radius:4px;padding:.625rem .75rem;font-size:1rem}.presale-gate__input::placeholder{text-transform:none;letter-spacing:normal}.presale-gate__error{color:var(--color-error);font-size:.8125rem}.seatmap-poc{--seat-available:#2d7dd2;--seat-available-hover:#1f6bbf;--seat-available-text:#fff;--seat-selected:#b71c1c;--seat-selected-ring:#7f1414;--seat-sold:#b0b0b0;--seat-sold-text:#666;--seat-held:#bbb;--seat-held-text:#777;--seat-comped:#b0b0b0;--seat-comped-text:#666;--seat-held-mine:#2196f3;--seat-held-mine-ring:#1565c0;--seat-unavailable:#b0b0b0;--seat-unavailable-text:#666;--seat-admin-comped:#ce93d8;--seat-admin-comped-text:#4a1a5e;--seat-admin-held:#ffb74d;--seat-admin-held-text:#5d3a00;--badge-sold-bg:#e0e0e0;--badge-sold-text:#555;--badge-held-bg:#fff3e0;--badge-held-text:#e65100;--badge-comped-bg:#f3e5f5;--badge-comped-text:#7b1fa2;--section-label-bg:#1a4f8a;--stage-bg:#1a2332;max-width:1100px;margin:0 auto;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark] .seatmap-poc{--seat-available:#3b8fe8;--seat-available-hover:#5aa8f0;--seat-sold:#555;--seat-sold-text:#ccc;--seat-held:#555;--seat-held-text:#ccc;--seat-comped:#555;--seat-comped-text:#ccc;--seat-unavailable:#555;--seat-unavailable-text:#ccc;--seat-admin-comped-text:#e1bee7;--seat-admin-held-text:#5d3a00;--badge-sold-bg:var(--color-bg-tertiary);--badge-sold-text:#aaa;--badge-held-bg:var(--color-warning-light);--badge-comped-bg:#3d1f4e;--badge-comped-text:#ce93d8}.seatmap-poc__header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.seatmap-poc__header h1{margin:0;font-size:24px}.seatmap-poc__header-controls{align-items:center;gap:12px;display:flex}.seatmap-poc__mode-toggle{border:1px solid var(--color-border-secondary);border-radius:6px;gap:0;display:flex;overflow:hidden}.seatmap-poc__mode-toggle button{background:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:pointer;border:none;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s}.seatmap-poc__mode-toggle button:not(:last-child){border-right:1px solid var(--color-border-secondary)}.seatmap-poc__mode-toggle button.active{background:var(--color-accent-primary);color:#fff;font-weight:700}.seatmap-poc__venue-scroll{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.seatmap-poc__venue{background:var(--color-bg-tertiary);border-radius:12px;min-width:fit-content;padding:20px 16px 24px;position:relative}.stage{background:var(--stage-bg);text-align:center;box-sizing:border-box;border-radius:0 0 50% 50%;width:75%;margin:0 auto 4px;padding:8px 0}.stage__label{color:#fff;letter-spacing:2px;font-size:16px;font-weight:700}.stage-front{text-align:center;color:#fff;background:var(--section-label-bg);border-radius:4px;width:fit-content;margin:12px auto 6px;padding:4px 16px;font-size:12px;font-weight:700}.section--front{margin-bottom:8px}.section--front-with-tables .seat-row{gap:4px}.seat-row{justify-content:center;align-items:center;gap:2px;margin-bottom:2px;display:flex}.seat-row--front-a .seat-row__seats,.seat-row--front-b .seat-row__seats,.seat-row--front-c .seat-row__seats{gap:2px}.seat-row__seats{justify-content:center;gap:2px;display:flex}.row-label{width:18px;color:var(--color-text-muted);text-align:center;flex-shrink:0;font-size:11px;font-weight:600}.seat-wrapper{display:inline-flex;position:relative}.seat-popover{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);z-index:100;border-radius:6px;flex-direction:column;min-width:110px;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.seat-popover--flip{top:calc(100% + 6px);bottom:auto}.seat-popover__option{background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:6px 12px;font-size:13px;transition:background .1s;display:flex}.seat-popover__option:hover{background:var(--color-bg-hover)}.seat-popover__option:active{background:var(--color-bg-active)}.seat-popover__option:not(:last-child){border-bottom:1px solid var(--color-border-primary)}.seat-popover__price{color:var(--color-accent-primary);font-weight:700}.seat{cursor:pointer;text-align:center;border:none;border-radius:4px;width:26px;height:24px;padding:0;font-size:9px;font-weight:600;line-height:24px;transition:all .12s;position:relative}.seat--small{width:24px;height:22px;font-size:8px;line-height:22px}.seat--available{background:var(--seat-available);color:var(--seat-available-text)}.seat--available:hover{background:var(--seat-available-hover);z-index:1;transform:scale(1.15)}.seat--selected{background:var(--seat-selected);color:#fff;box-shadow:0 0 0 1px var(--seat-selected-ring);z-index:1;transform:scale(1.02)}.seat--sold{background:var(--seat-sold);color:var(--seat-sold-text);cursor:not-allowed;opacity:.7;pointer-events:none}.seat--ada{text-shadow:0 0 2px #0006,0 1px 1px #0000004d;font-size:16px;line-height:24px}.seat--ada.seat--sold,.seat--ada.seat--held,.seat--ada.seat--comped{text-shadow:none;opacity:.45}.seat--ada.seat--small{font-size:14px;line-height:22px}.seat--unavailable{background:var(--seat-unavailable);color:var(--seat-unavailable-text);cursor:not-allowed;pointer-events:none}.seat--held{background:var(--seat-held);color:var(--seat-held-text);cursor:not-allowed;pointer-events:none;opacity:.7}.seat--comped{background:var(--seat-comped);color:var(--seat-comped-text);cursor:not-allowed;opacity:.7;pointer-events:none}.seat--held_mine{background:var(--seat-held-mine);color:#fff;box-shadow:0 0 0 2px var(--seat-held-mine-ring);z-index:1;transform:scale(1.1)}.main-sections{justify-content:center;gap:20px;margin-top:8px;display:flex}.section--left,.section--right,.section--center{flex-shrink:0}.section__label{text-align:center;color:#fff;background:var(--section-label-bg);border-radius:4px;margin-bottom:6px;padding:4px 16px;font-size:12px;font-weight:700}.cabaret-table{border:1.5px solid var(--color-text-light);background:var(--color-bg-secondary);cursor:pointer;width:36px;height:18px;color:var(--color-text-primary);border-radius:9px;flex-shrink:0;padding:0;font-size:9px;font-weight:700;transition:all .15s}.cabaret-table--left{margin-right:20px}.cabaret-table--right{margin-left:20px}.cabaret-table--available:hover{border-color:var(--color-text-muted);transform:scale(1.1)}.cabaret-table--selected{background:var(--seat-selected);border-color:var(--seat-selected-ring);color:#fff;transform:scale(1.1)}.cabaret-table--sold,.cabaret-table--held{cursor:not-allowed;opacity:.5;border-color:var(--color-text-light);color:var(--color-text-light);pointer-events:none}.table-confirm{text-align:center;padding:.5rem 0}.table-confirm__seats{color:var(--color-text-secondary);margin-bottom:.75rem;font-size:1rem}.table-confirm__price{color:var(--color-text-primary);font-size:1.75rem;font-weight:700}.seatmap-poc__legend{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:20px;display:flex}.legend-item{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.legend-swatch{border-radius:4px;width:20px;height:18px;display:inline-block}.legend-swatch--available{background:var(--seat-available)}.legend-swatch--selected{background:var(--seat-selected);color:#fff}.legend-swatch--sold{background:var(--seat-sold);opacity:.7}.legend-swatch--ada{background:var(--seat-available);text-align:center;text-shadow:0 0 2px #0006;font-size:14px;line-height:18px}.legend-swatch--held{background:var(--seat-held);opacity:.7}.legend-swatch--comped{background:var(--seat-admin-comped);opacity:.8}.legend-swatch--unavailable{background:var(--seat-unavailable)}.legend-swatch--table{background:var(--color-bg-secondary);border:1.5px solid var(--color-text-light);border-radius:9px;width:28px;height:14px}.seatmap-poc__summary{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:8px;margin-top:12px;padding:16px 20px}.summary-header{border-bottom:1px solid var(--color-border-secondary);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.seatmap-poc__summary h3{margin:0;font-size:16px}.summary-item{color:var(--color-text-primary);border-bottom:1px solid var(--color-border-primary);justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;font-size:14px;display:flex}.summary-item--comped{color:var(--color-success)}.summary-item__price{font-variant-numeric:tabular-nums;flex-shrink:0}.summary-item__original-price{color:var(--color-text-secondary);margin-right:6px}.summary-breakdown{border-top:1px solid var(--color-border-secondary);margin-top:12px;padding-top:12px}.summary-row{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;padding:2px 0;font-size:14px;font-weight:400;display:flex}.summary-row--total{color:var(--color-text-primary);border-top:2px solid var(--color-border-secondary);margin-top:8px;padding-top:8px;font-size:16px;font-weight:700}.seatmap-poc__summary>.ui-btn{margin-top:20px}.checkout-btn{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:12px;padding:10px 32px;font-size:15px;font-weight:600;transition:background .15s}.checkout-btn:hover{background:var(--color-accent-primary-hover)}.seatmap-poc--admin .seat--comped{background:var(--seat-admin-comped);opacity:.8;color:var(--seat-admin-comped-text)}.seatmap-poc--admin .seat--held{background:var(--seat-admin-held);opacity:.7;color:var(--seat-admin-held-text)}.seatmap-poc--admin .seat--sold,.seatmap-poc--admin .seat--held,.seatmap-poc--admin .seat--comped{pointer-events:auto;cursor:pointer}.seatmap-poc--admin .cabaret-table--held{border-color:var(--seat-admin-held);color:var(--seat-admin-held);opacity:.7}.seatmap-poc--admin .cabaret-table--comped{border-color:var(--seat-admin-comped);color:var(--seat-admin-comped);opacity:.8}.seat__checkin-mark{color:#4caf50;text-shadow:0 0 2px #0009;pointer-events:none;font-size:8px;line-height:1;position:absolute;bottom:0;right:0}.seat--small .seat__checkin-mark{font-size:7px}.seat--admin-selected{z-index:2;transform:scale(1.08);box-shadow:0 0 0 2px #1976d2}.legend-swatch--held-admin{background:var(--seat-admin-held);opacity:.7}.legend-swatch--comped-admin{background:var(--seat-admin-comped);opacity:.8}.seat-popover--info{min-width:200px;padding:0}.seat-popover__header{border-bottom:1px solid var(--color-border-primary);align-items:center;gap:8px;padding:10px 14px;display:flex}.seat-popover__seat-label{color:var(--color-text-muted);font-size:13px}.seat-popover__status{text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:600}.seat-popover__status--sold{background:var(--badge-sold-bg);color:var(--badge-sold-text)}.seat-popover__status--held{background:var(--badge-held-bg);color:var(--badge-held-text)}.seat-popover__status--comped{background:var(--badge-comped-bg);color:var(--badge-comped-text)}.seat-popover__detail{justify-content:space-between;align-items:baseline;gap:12px;padding:8px 14px;font-size:13px;display:flex}.seat-popover__detail:not(:last-child){border-bottom:1px solid var(--color-border-primary)}.seat-popover__label{color:var(--color-text-muted);flex-shrink:0}.seat-popover__value{color:var(--color-text-primary);text-align:right;font-weight:500}@media (width<=768px){.seatmap-poc{padding:12px}.seatmap-poc__header{flex-direction:column;align-items:flex-start;gap:12px}.seatmap-poc__header h1{font-size:20px}.seatmap-poc__header-controls{justify-content:space-between;width:100%}.seatmap-poc__summary{margin-top:12px;position:relative!important}.seat-btn,.table-btn{min-width:44px;min-height:44px}.checkout-btn{width:100%;min-height:44px}}.show-page{max-width:1100px;margin:0 auto;padding:24px}.show-page__perf-tabs{margin-bottom:8px}.show-page__header{align-items:center;gap:24px;margin-bottom:24px;display:flex}.show-page__poster{object-fit:cover;border-radius:8px;width:auto;max-height:120px}.show-page__info h1{margin:0 0 8px;font-size:38px}.show-page__description{color:var(--color-text-secondary);margin:0;font-size:15px;line-height:1.5}.summary-perf-datetime{color:var(--color-text-muted);font-weight:400}.show-page__loading,.show-page__error{text-align:center;color:var(--color-text-muted);padding:60px 20px;font-size:16px}.show-page__error{color:var(--color-error)}.summary-perf-group+.summary-perf-group{border-top:1px solid var(--color-border-secondary);margin-top:20px;padding-top:12px}.summary-perf-label{color:var(--color-text-primary);border-bottom:1px solid var(--color-border-primary);margin-bottom:2px;padding-bottom:2px;font-size:13px;font-weight:600}.summary-message{background:var(--color-info-light);color:var(--color-info);border-radius:6px;margin-top:12px;padding:10px 16px;font-size:14px}.show-list{flex-direction:column;gap:16px;display:flex}.show-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);color:inherit;border-radius:8px;gap:20px;padding:20px;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex}.show-card:hover{border-color:var(--color-border-secondary);box-shadow:var(--shadow-md)}.show-card__poster{object-fit:cover;border-radius:6px;flex-shrink:0;width:120px;height:160px}.show-card__info{flex-direction:column;gap:4px;display:flex}.show-card__name{margin:0;font-size:20px}.show-card__dates{color:var(--color-text-muted);margin:0;font-size:14px}.show-card__desc{color:var(--color-text-muted);margin:4px 0 0;font-size:14px;line-height:1.4}@media (width<=768px){.show-page{padding:2px 16px 16px}.show-page__header{flex-direction:column;gap:8px;margin-bottom:12px}.show-page__poster{display:none}.show-page__info h1{font-size:24px}.show-card{flex-direction:column;gap:12px}.show-card__poster{aspect-ratio:3/4;width:100%;height:auto}}.checkout-page{max-width:600px;margin:0 auto;padding:24px 16px;overflow-x:hidden}.checkout-page h1{margin-bottom:4px}.checkout-page h2{color:var(--color-text-secondary);margin-bottom:24px;font-weight:400}.checkout-page__buyer-form{flex-direction:column;gap:16px;display:flex}.checkout-page__buyer-form label{flex-direction:column;gap:4px;font-weight:500;display:flex}.checkout-page__buyer-form input{border:1px solid var(--color-border-primary);border-radius:6px;padding:8px 12px;font-size:16px}.checkout-page__buyer-form input[aria-invalid=true]{border-color:var(--color-error)}.checkout-page__error,.checkout-form__error{color:var(--color-error);background:var(--color-error-light);border-radius:6px;padding:8px 12px}.checkout-form{flex-direction:column;gap:16px;width:100%;min-width:0;margin-top:16px;display:flex}.checkout-form>.ui-btn{align-self:center;width:80%}.checkout-page__promo-section{padding-top:4px}.checkout-page__promo-toggle{color:var(--color-accent-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem;text-decoration:underline}.checkout-page__promo-toggle:hover{color:var(--color-accent-primary-hover)}.checkout-page__comp-input-row{align-items:center;gap:8px;display:flex}.checkout-page__comp-input-row input{text-transform:uppercase;flex:1}.checkout-page__comp-valid{color:var(--color-success);white-space:nowrap;font-size:14px;font-weight:600}.checkout-page__comp-error{color:var(--color-error);margin-top:4px;font-size:13px}.checkout-page__promo-info{color:var(--color-text-secondary);margin-top:4px;font-size:13px}.checkout-page__comp-confirm{text-align:center;background:var(--color-bg-tertiary);border-radius:8px;padding:24px 16px}.checkout-page__comp-confirm h3{margin-top:0}.checkout-page__comp-confirm p{color:var(--color-text-secondary);margin-bottom:20px}.checkout-page__donation-section{padding-top:4px}.checkout-page__donation-section h4{margin:0 0 8px;font-size:.875rem;font-weight:500}.checkout-page__donation-presets{flex-wrap:wrap;gap:8px;display:flex}.checkout-page__donation-btn{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;text-align:center;border-radius:6px;min-width:60px;padding:8px 16px;font-size:.875rem;font-weight:500}.checkout-page__donation-btn:hover{border-color:var(--color-accent-primary)}.checkout-page__donation-btn--active{background:var(--color-accent-primary);color:#fff;border-color:var(--color-accent-primary)}.checkout-page__donation-custom{align-items:center;gap:4px;margin-top:8px;display:flex}.checkout-page__donation-dollar{font-size:16px;font-weight:500}.checkout-page__donation-custom input{border:1px solid var(--color-border-primary);border-radius:6px;width:100px;padding:8px 12px;font-size:16px}.checkout-page__disclosure{color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:6px;padding:12px;font-size:13px;line-height:1.5}@media (width<=640px){.checkout-page{padding:16px 12px}.checkout-page__buyer-form input{min-height:44px;font-size:16px}.checkout-form>.ui-btn{width:100%}}.ticket-card{border:2px solid var(--color-text-primary);border-top:3px solid var(--color-accent-primary);border-radius:8px;padding:14px}.ticket-card--dimmed{opacity:.55;border-color:var(--color-border-secondary);border-top-color:var(--color-border-secondary)}.ticket-card{position:relative}.ticket-card__logo{opacity:.5;width:42px;height:42px;position:absolute;top:8px;left:8px}.ticket-card__header{text-align:center;border-bottom:1px solid var(--color-border-secondary);margin-bottom:8px;padding-bottom:6px}.ticket-card__show{margin-bottom:3px;font-size:14px;font-weight:700}.ticket-card__perf{color:var(--color-text-secondary);margin-bottom:2px;font-size:12px}.ticket-card__datetime{color:var(--color-text-secondary);font-size:12px;font-weight:400}.ticket-card__seat{text-align:center;margin-bottom:8px}.ticket-card__seat-label{text-align:center;margin-bottom:2px;font-size:22px;font-weight:700;display:block}.ticket-card__status-overlay{text-align:center;color:var(--color-text-secondary);padding:16px 0;font-size:15px;font-style:italic}.ticket-card__qr{text-align:center;border-top:1px solid var(--color-border-secondary);padding-top:6px}.ticket-card__qr img{width:85%;height:auto;margin:0 auto;display:block}.ticket-card__type{text-transform:uppercase;letter-spacing:.5px;margin:4px 0 0;font-size:14px;font-weight:700}.ticket-card__hint{color:var(--color-text-muted);margin:2px 0 0;font-size:11px}.ticket-card__wallet-row{justify-content:center;gap:8px;margin-top:8px;display:flex}.ticket-card__wallet-btn{transition:opacity .15s;display:block}.ticket-card__wallet-btn:hover{opacity:.85}.ticket-card__wallet-btn img{display:inline-block}.ticket-card__footer{text-align:center;color:var(--color-text-muted);margin-top:6px;font-size:11px}@media print{.ticket-card{break-inside:avoid}.ticket-card__wallet-row{display:none}}.order-confirmation{max-width:600px;margin:0 auto;padding:24px 16px;overflow-x:hidden}.order-confirmation h1,.order-confirmation h2{overflow-wrap:break-word;word-break:break-word}.order-confirmation__banner{background:var(--color-success-light);border:1px solid var(--color-success);text-align:center;border-radius:8px;margin-bottom:16px;padding:16px}.order-confirmation__banner h2{color:var(--color-success-dark);margin:0 0 4px}.order-confirmation__banner p{color:var(--color-text-secondary);margin:0}.order-confirmation__email-note{text-align:center;color:var(--color-text-secondary);margin-bottom:24px}.order-confirmation__tickets-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-bottom:24px}.order-confirmation__tickets-table thead tr{border-bottom:2px solid var(--color-border-primary);text-align:left}.order-confirmation__tickets-table th{padding:8px 4px}.order-confirmation__tickets-table th:first-child{width:36%}.order-confirmation__tickets-table th:nth-child(2){width:26%}.order-confirmation__tickets-table th:nth-child(3){width:20%}.order-confirmation__tickets-table th:last-child{text-align:right;width:18%}.order-confirmation__tickets-table tbody tr{border-bottom:1px solid var(--color-border-primary)}.order-confirmation__tickets-table td{overflow-wrap:break-word;padding:8px 4px}.order-confirmation__tickets-table td:last-child{text-align:right}.order-confirmation__datetime{color:var(--color-text-secondary);font-size:12px;font-weight:400}.order-confirmation__totals{border-top:2px solid var(--color-border-primary);padding-top:12px}.order-confirmation__total-row{justify-content:space-between;padding:4px 0;display:flex}.order-confirmation__total-row--grand{font-size:18px;font-weight:700}.order-confirmation__disclosure{color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:6px;margin-top:8px;padding:12px;font-size:13px;line-height:1.5}.order-confirmation__tickets-section{margin:32px 0}.order-confirmation__tickets-section h3,.order-confirmation__seat-map{text-align:center;margin-bottom:16px}.order-confirmation__seat-map img{width:300px;max-width:100%;height:auto}.order-confirmation__tickets-grid{grid-template-columns:1fr;gap:16px;max-width:320px;margin:0 auto;display:grid}.order-confirmation__swap-btn{border:1px solid var(--color-accent-primary);width:100%;color:var(--color-accent-primary);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:8px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.order-confirmation__swap-btn:hover{background:var(--color-accent-primary);color:#fff}.order-confirmation__swap-blocked{color:var(--color-text-secondary);text-align:center;margin:6px 0 0;font-size:11px;font-style:italic}.order-confirmation__transfer-pending{background:var(--color-warning-light);border:1px solid var(--color-warning);text-align:center;border-radius:6px;margin-top:8px;padding:10px 14px;font-size:13px}.order-confirmation__transfer-pending p{margin:0 0 8px}.order-confirmation__transfer-cancel-btn{border:1px solid var(--color-error);color:var(--color-error);cursor:pointer;background:0 0;border-radius:4px;padding:6px 14px;font-size:12px;font-weight:500}.order-confirmation__transfer-cancel-btn:hover:not(:disabled){background:var(--color-error);color:#fff}.order-confirmation__transfer-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.order-confirmation__send-section{background:var(--color-info-light);border:1px solid var(--color-accent-secondary);text-align:center;border-radius:10px;margin:32px 0 16px;padding:20px}.order-confirmation__send-section>summary{cursor:pointer;list-style:none}.order-confirmation__send-section>summary::-webkit-details-marker{display:none}.order-confirmation__send-section>summary>p{margin:0}.order-confirmation__send-section[open]>summary>p{margin:0 0 14px}.order-confirmation__send-section h3{color:var(--color-accent-primary);justify-content:center;align-items:center;gap:8px;margin:0 0 6px;display:flex}.order-confirmation__send-section p{color:var(--color-text-secondary);margin:0;font-size:14px}.order-confirmation__send-checklist{text-align:left;flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.order-confirmation__send-checkbox{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;display:flex}.order-confirmation__send-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent-primary);cursor:pointer}.order-confirmation__send-checkbox-label{flex-direction:column;flex:1;gap:1px;display:flex}.order-confirmation__send-ticket-main{font-size:14px;font-weight:600}.order-confirmation__send-ticket-detail{color:var(--color-text-secondary);font-size:12px}.order-confirmation__send-email{border:1px solid var(--color-border-primary);width:100%;color:var(--color-text-primary);background:var(--color-bg-primary);box-sizing:border-box;border-radius:6px;margin-bottom:10px;padding:10px 12px;font-size:14px;display:block}.order-confirmation__send-error{color:var(--color-error);margin-bottom:8px;font-size:13px}.order-confirmation__send-btn{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px 16px;font-size:15px;font-weight:600;transition:background .15s;display:block}.order-confirmation__send-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.order-confirmation__send-btn:disabled{opacity:.5;cursor:not-allowed}.order-confirmation__print-btn{color:var(--color-text-secondary);border:1px solid var(--color-border-primary);cursor:pointer;background:0 0;border-radius:6px;margin:12px auto 0;padding:8px 20px;font-size:14px;display:block}.order-confirmation__print-btn:hover{background:var(--color-bg-secondary)}@media (width<=400px){.order-confirmation h1{font-size:24px}.order-confirmation h2{font-size:18px}.order-confirmation__tickets-table{font-size:14px}.order-confirmation__tickets-grid{max-width:none}}.order-confirmation__donate-section{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);text-align:center;border-radius:10px;margin:32px 0 16px;padding:20px}.order-confirmation__donate-section>summary{cursor:pointer;list-style:none}.order-confirmation__donate-section>summary::-webkit-details-marker{display:none}.order-confirmation__donate-section>summary>p{margin:0}.order-confirmation__donate-section[open]>summary>p{margin:0 0 14px}.order-confirmation__donate-section h3{color:var(--color-accent-primary);justify-content:center;align-items:center;gap:8px;margin:0 0 6px;display:flex}.order-confirmation__donate-section p{color:var(--color-text-secondary);margin:0;font-size:14px}.order-confirmation__donate-btn{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px 16px;font-size:15px;font-weight:600;transition:background .15s;display:block}.order-confirmation__donate-btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.order-confirmation__donate-btn:disabled{opacity:.5;cursor:not-allowed}.order-confirmation__donate-success{background:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success-dark);border-radius:8px;align-items:flex-start;gap:12px;margin:32px 0 16px;padding:16px;display:flex}.order-confirmation__donate-success strong{margin-bottom:4px;display:block}.order-confirmation__donate-success p{margin:0;font-size:13px;line-height:1.5}.order-confirmation__share{background:var(--color-bg-tertiary);text-align:center;border-radius:8px;margin-top:32px;padding:20px}.order-confirmation__share h3{margin:0 0 8px}.order-confirmation__share-text{color:var(--color-text-secondary);margin:0 0 12px;font-size:14px}.order-confirmation__share-link-row{gap:8px;display:flex}.order-confirmation__share-input{border:1px solid var(--color-border-primary);color:var(--color-text-primary);background:var(--color-bg-primary);border-radius:6px;flex:1;padding:8px 12px;font-size:14px}.order-confirmation__copy-btn{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);cursor:pointer;white-space:nowrap;color:var(--color-text-primary);border-radius:6px;align-items:center;gap:4px;padding:8px 14px;font-size:14px;display:flex}.order-confirmation__copy-btn:hover{background:var(--color-bg-secondary)}.order-confirmation__footer-links{border-top:1px solid var(--color-border-primary);text-align:center;margin-top:24px;padding-top:20px}.order-confirmation__footer-links a{color:var(--color-text-secondary);align-items:center;gap:4px;font-size:14px;text-decoration:none;display:inline-flex}.order-confirmation__footer-links a:hover{color:var(--color-accent-primary)}@media print{.order-confirmation__print-btn,.order-confirmation__share,.order-confirmation__footer-links{display:none}.order-confirmation__tickets-section{break-inside:avoid}.order-confirmation__swap-btn,.order-confirmation__swap-blocked,.order-confirmation__send-section,.order-confirmation__donate-section,.order-confirmation__transfer-cancel-btn{display:none}}.scan-result-container{max-width:480px;margin:0 auto;padding:48px 16px}.scan-result-container--center{text-align:center}.scan-result__loading-text{font-size:18px}.scan-result__error-banner{background:var(--color-error-light);border:2px solid var(--color-error);border-radius:12px;padding:24px}.scan-result__error-title{color:var(--color-error-dark);margin:0 0 8px;font-size:28px}.scan-result__error-text{color:var(--color-error-dark);margin:0}.scan-result__banner{text-align:center;border:2px solid;border-radius:12px;margin-bottom:24px;padding:24px}.scan-result__banner--valid{background:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark)}.scan-result__banner--checked-in{background:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning-dark)}.scan-result__banner--invalid{background:var(--color-error-light);border-color:var(--color-error);color:var(--color-error-dark)}.scan-result__banner-title{margin:0 0 4px;font-size:28px}.scan-result__banner-subtitle{margin:0;font-size:14px}.scan-result__details{background:var(--color-bg-tertiary);border-radius:8px;padding:20px}.scan-result__detail-row{border-bottom:1px solid var(--color-border-primary);justify-content:space-between;padding:8px 0;display:flex}.scan-result__detail-label{color:var(--color-text-muted);font-weight:500}.scan-result__detail-value{color:var(--color-text-primary);text-align:right;font-weight:600}.scan-result__detail-subvalue{color:var(--color-text-secondary);font-size:.85em;font-weight:400}.show-cast-section{background:#151a27;border-top:1px solid #ffffff0f;border-radius:0 0 12px 12px}.show-cast-section__toggle{width:100%;color:var(--color-text-light);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.85rem;transition:color .15s;display:flex}.show-cast-section__toggle:hover{color:#f1f5f9}.show-cast-section__chevron{transition:transform .2s;display:inline-block}.show-cast-section__chevron--up{transform:rotate(180deg)}.show-cast-section__body{max-height:400px;padding:0 1.25rem 1.25rem;overflow-y:auto}.show-cast-section__search{color:#f1f5f9;z-index:1;box-sizing:border-box;background:#0f1219;border:1px solid #ffffff1a;border-radius:6px;outline:none;width:100%;padding:.5rem .75rem;font-size:.85rem;position:sticky;top:0}.show-cast-section__search::placeholder{color:var(--color-text-secondary)}.show-cast-section__search:focus{border-color:#d4a01766}.show-cast-section__explainer{color:var(--color-text-muted);text-align:center;margin:.75rem 0;font-size:.8rem;font-style:italic}.show-cast-section__columns{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-top:.75rem;display:grid}.show-cast-section__column{background:#ffffff05;border:1px solid #ffffff14;border-radius:8px;padding:1rem}.show-cast-section__cast-name{margin:0 0 .25rem;font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-weight:600}.show-cast-section__perf-labels{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.75rem}.show-cast-section__members{margin:0;padding:0;list-style:none}.show-cast-section__member{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.3rem 0;display:flex}.show-cast-section__member:last-child{border-bottom:none}.show-cast-section__member-name{color:#f1f5f9;white-space:nowrap;font-size:.85rem}.show-cast-section__member--lead .show-cast-section__member-name{font-style:italic;font-weight:600}.show-cast-section__member-role{color:var(--color-text-light);text-align:right;font-size:.8rem;font-style:italic}.show-cast-section__no-results{color:var(--color-text-secondary);padding:.5rem 0;font-size:.85rem;font-style:italic}.show-cast-section__disclaimer{color:var(--color-text-secondary);text-align:center;margin:1rem 0 0;font-size:.75rem;font-style:italic}@media (width<=600px){.show-cast-section__columns{grid-template-columns:1fr}.show-cast-section__body{padding:0 1rem 1rem}}.show-landing{background:radial-gradient(at 50% 0,#d4a0170f 0%,#0000 50%),#0f1219;min-height:100vh}.show-landing section{background:0 0;border:none;border-radius:0;margin-bottom:0}.show-landing__header{background:#0f1219;border-bottom:1px solid #d4a0174d;padding:1rem 2rem}.show-landing__header-inner{align-items:center;gap:1rem;max-width:640px;margin:0 auto;display:flex}.show-landing__logo{border-radius:50%;flex-shrink:0;width:56px;height:56px}.show-landing__org-name{flex-direction:column;display:flex}.show-landing__org-line1{color:#f1f5f9;letter-spacing:.02em;font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:700;line-height:1.2}.show-landing__org-line2{color:#94a3b8;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:400}.show-landing__hero{text-align:center;padding:3rem 2rem 2rem;position:relative}.show-landing__hero-title{color:#f1f5f9;letter-spacing:.01em;margin:0 0 .5rem;font-family:Playfair Display,Georgia,serif;font-size:2rem;font-weight:700}.show-landing__hero-subtitle{color:#64748b;margin:0;font-size:1rem;font-style:italic}.show-landing__divider{opacity:.6;background:linear-gradient(90deg,#0000,#d4a017 30% 70%,#0000);width:60px;height:2px;margin:1.5rem auto 0}.show-landing__events{flex-direction:column;gap:1.5rem;max-width:640px;margin:0 auto;padding:0 2rem 3rem;display:flex}.show-landing__show-wrapper{border:1px solid #ffffff0f;border-radius:12px;transition:transform .2s,box-shadow .3s;overflow:hidden}.show-landing__show-wrapper:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0006,0 0 40px #d4a01714}.show-landing__card{color:inherit;background:#1a1f2e;text-decoration:none;display:flex;overflow:hidden}.show-landing__card:hover{text-decoration:none}.show-landing__card-poster{object-fit:cover;flex-shrink:0;width:140px;min-height:180px}.show-landing__card-body{flex:1;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.show-landing__card-date{border-right:1px solid #ffffff14;flex-direction:column;align-items:center;min-width:48px;padding-right:1.25rem;display:flex}.show-landing__card-month{text-transform:uppercase;letter-spacing:.1em;color:#d4a017;font-size:.7rem;font-weight:600}.show-landing__card-day{color:#f1f5f9;font-family:Playfair Display,Georgia,serif;font-size:1.75rem;font-weight:700;line-height:1}.show-landing__card-details{flex:1}.show-landing__card-title{color:#f1f5f9;margin:0 0 .35rem;font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:600;line-height:1.3}.show-landing__card-daterange{color:#94a3b8;margin:.15rem 0;font-size:.85rem}.show-landing__card-desc{color:#64748b;margin:.35rem 0 0;font-size:.85rem;line-height:1.4}.show-landing__season-note{text-align:center;padding:2rem 2rem 4rem}.show-landing__season-note p{color:#475569;letter-spacing:.02em;margin:0;font-size:.9rem;font-style:italic}.show-landing__status{text-align:center;color:#94a3b8;padding:4rem 2rem;font-size:1rem}.show-landing__empty{text-align:center;background:#1a1f2e;border:1px solid #d4a01733;border-radius:12px;max-width:480px;margin:2rem auto 4rem;padding:2.5rem 2rem}.show-landing__empty-text{color:#f1f5f9;margin:0 0 .5rem;font-family:Playfair Display,Georgia,serif;font-size:1.15rem}.show-landing__empty-subtext{color:#64748b;margin:0 0 1.5rem;font-size:.9rem;font-style:italic}.show-landing__empty-link{color:#0f1219;letter-spacing:.02em;background:linear-gradient(135deg,#d4a017 0%,#b8860b 100%);border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .2s;display:inline-flex}.show-landing__empty-link:hover{color:#0f1219;text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 20px #d4a0174d}.show-landing__empty-arrow{font-size:1.1rem;transition:transform .15s}.show-landing__empty-link:hover .show-landing__empty-arrow{transform:translate(3px)}@media (width<=600px){.show-landing__header{padding:.75rem 1rem}.show-landing__logo{width:44px;height:44px}.show-landing__org-line1{font-size:1.15rem}.show-landing__hero{padding:2rem 1.5rem 1.5rem}.show-landing__hero-title{font-size:1.5rem}.show-landing__events{padding:0 1rem 2rem}.show-landing__card{flex-direction:column;align-items:stretch}.show-landing__card-poster{object-fit:contain;background:#111520;width:100%;height:auto;min-height:0;max-height:280px}.show-landing__card-body{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.25rem}.show-landing__card-date{border-bottom:1px solid #ffffff14;border-right:none;flex-direction:row;align-items:baseline;gap:.5rem;width:100%;padding-bottom:.5rem;padding-right:0}.show-landing__card-day{font-size:1.5rem}.show-landing__card-title{font-size:1.15rem}}.show-list-page{max-width:900px;padding:1.5rem}.show-list-page .page-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.show-list-page .page-header h1{margin:0;font-size:1.5rem}.show-list-toolbar{margin-bottom:1rem}.show-list-page .empty-state{color:var(--color-text-muted);text-align:center;padding:3rem 1rem}.show-cards{flex-direction:column;gap:12px;display:flex}.admin-show-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;border-radius:8px;flex-direction:row;gap:16px;padding:16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.admin-show-card:hover{border-color:var(--color-border-secondary);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.admin-show-card:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.admin-show-card__poster{object-fit:cover;border-radius:6px;flex-shrink:0;width:80px;height:107px}.admin-show-card__poster-placeholder{background:var(--color-bg-secondary);width:80px;height:107px;color:var(--color-text-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.admin-show-card__content{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.admin-show-card__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-show-card__name{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.admin-show-card__badges{flex-shrink:0;gap:6px;display:flex}.admin-show-card__meta{color:var(--color-text-muted);align-items:center;gap:6px;font-size:.8125rem;display:flex}.admin-show-card__meta svg{flex-shrink:0}.admin-show-card__performances{color:var(--color-text-muted);align-items:center;gap:6px;font-size:.8125rem;display:flex}.admin-show-card__performances svg{flex-shrink:0}.admin-show-card__separator{color:var(--color-text-muted);opacity:.5}@media (width<=600px){.admin-show-card{flex-direction:column;align-items:flex-start}.admin-show-card__header{flex-direction:column;align-items:flex-start;gap:4px}.admin-show-card__poster,.admin-show-card__poster-placeholder{aspect-ratio:3/4;width:100%;max-width:120px;height:auto}}.show-editor-page{max-width:1100px;padding:1.5rem}.show-editor-page .page-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.show-editor-page .page-header__left{align-items:center;gap:1rem;display:flex}.page-toggle-link{color:var(--color-accent-primary);font-size:.875rem;font-weight:500;text-decoration:none}.page-toggle-link:hover{text-decoration:underline}.show-editor-page .page-header h1{margin:0;font-size:1.5rem}.show-editor-page .back-link{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:0;font-size:.875rem}.show-editor-page .back-link:hover{color:var(--color-text-primary)}.show-editor-page .tab-content{margin-top:1.5rem}.setup-poster{margin-bottom:1.25rem}.setup-poster__label{margin-bottom:.375rem;font-size:.8125rem;font-weight:500}.setup-poster__preview-wrap{align-items:flex-start;gap:1rem;display:flex}.setup-poster__preview{border:1px solid var(--color-border-secondary);object-fit:contain;border-radius:4px;max-height:120px}.setup-poster__actions{flex-direction:column;gap:.375rem;display:flex}.detail-form{max-width:500px}.detail-form .ui-form-field{margin-bottom:1rem}.detail-form label{margin-bottom:.25rem;font-size:.8125rem;font-weight:500;display:block}.detail-form input,.detail-form textarea,.detail-form select{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);border-radius:4px;padding:.5rem;font-size:.875rem}.detail-readonly{color:var(--color-text-muted);flex-wrap:wrap;gap:1.5rem;margin:1rem 0;font-size:.8125rem;display:flex}.list-item{border:1px solid var(--color-border-secondary);border-radius:4px;align-items:center;gap:1rem;margin-bottom:.5rem;padding:.75rem;display:flex}.list-item__info{flex-direction:column;gap:.125rem;display:flex}.list-item__meta{color:var(--color-text-muted);font-size:.8125rem}.list-item__actions{gap:.5rem;display:flex}.list-item--editing{margin-bottom:.5rem}.inline-form{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:6px;margin-top:.75rem;padding:1rem}.inline-form .form-field{margin-bottom:.75rem}.inline-form label{margin-bottom:.25rem;font-size:.8125rem;font-weight:500;display:block}.inline-form input{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);border-radius:4px;padding:.5rem;font-size:.875rem}.add-btn{margin-top:.75rem}.empty-state{color:var(--color-text-muted);text-align:center;padding:2rem 1rem}.pricing-table{border-collapse:collapse;width:auto}.pricing-table th{text-align:center;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-primary);padding:.5rem;font-size:.8125rem;font-weight:600}.pricing-table th:first-child{text-align:left}.pricing-table td{border-bottom:1px solid var(--color-border-secondary);padding:.375rem .5rem}.pricing-table .section-label{text-transform:capitalize;font-size:.875rem;font-weight:500}.price-input{border:1px solid var(--color-border-primary);text-align:right;background:var(--color-bg-secondary);width:80px;color:var(--color-text-primary);border-radius:4px;padding:.375rem .5rem;font-size:.875rem}.pricing-scope{max-width:400px;margin-bottom:1rem}.pricing-scope label{margin-bottom:.25rem;font-size:.8125rem;font-weight:500;display:block}.pricing-scope select{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);border-radius:4px;padding:.5rem;font-size:.875rem}.pricing-scope-hint{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.75rem}.table-pricing-section{margin-top:1.5rem}.table-pricing-section h4{margin:0 0 .25rem;font-size:.875rem}.table-pricing-section .table-card{max-width:300px}.setup-header-badges{align-items:center;gap:.375rem;display:flex}.setup-detail-info{border:1px solid var(--color-border-secondary);background:var(--color-bg-secondary);border-radius:6px;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.25rem 0;padding:1rem;display:grid}.setup-detail-info__item{flex-direction:column;gap:.125rem;display:flex}.setup-detail-info__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem;font-weight:500}.setup-detail-info__value{color:var(--color-text-primary);font-size:.875rem}.setup-sale-window{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.25rem;display:grid}.setup-dirty-bar{border:1px solid var(--color-warning-dark);background:var(--color-warning-light);color:var(--color-warning-dark);border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.625rem 1rem;font-size:.8125rem;font-weight:500;display:flex}.setup-dirty-bar__actions{gap:.5rem;display:flex}.setup-perf-label{align-items:center;gap:.5rem;display:flex}.setup-perf-meta{color:var(--color-text-muted);align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.setup-empty-state{text-align:center;border:2px dashed var(--color-border-primary);color:var(--color-text-muted);border-radius:8px;padding:2rem 1.5rem}.setup-empty-state__title{color:var(--color-text-primary);margin-bottom:.375rem;font-size:.9375rem;font-weight:600}.setup-empty-state__hint{max-width:400px;margin:0 auto;font-size:.8125rem}.setup-tt-pricing-indicator{color:var(--color-text-muted);font-size:.75rem}.setup-price-cell{align-items:center;display:inline-flex;position:relative}.setup-price-cell__prefix{color:var(--color-text-muted);pointer-events:none;font-size:.8125rem;position:absolute;left:.5rem}.setup-price-cell .price-input{padding-left:1.25rem}.price-input--filled{background:var(--color-bg-secondary);border-color:var(--color-border-primary)}.price-input--empty{background:var(--color-bg-secondary);border-color:var(--color-border-secondary)}.setup-section-divider{color:var(--color-text-primary);align-items:center;gap:.75rem;margin:1.25rem 0 .75rem;font-size:.875rem;font-weight:600;display:flex}.setup-section-divider:after{content:"";border-top:1px solid var(--color-border-primary);flex:1}.setup-identity-row:has(+.setup-checkbox-group){margin-bottom:0}.setup-identity-row:has(+.setup-checkbox-group) .ui-form-field{margin-bottom:0}.setup-checkbox-group{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.setup-checkbox-group label{cursor:pointer;align-items:center;gap:.5rem;font-weight:400;display:flex}.setup-checkbox-group label.setup-checkbox--indented{padding-left:1.5rem}.setup-checkbox-group label.setup-checkbox--disabled{opacity:.5;cursor:default}.setup-checkbox-group input[type=checkbox]{width:auto;accent-color:var(--color-accent-primary)}.setup-presets-grid{grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:.25rem;display:grid}.setup-identity-row{gap:1rem;margin-bottom:1rem;display:flex}.setup-identity-row>:first-child{flex:1}.setup-identity-row>:last-child{flex:none}.setup-collapsible summary{color:var(--color-text-primary);cursor:pointer;margin:1.25rem 0 .75rem;font-size:.875rem;font-weight:600}.setup-tables-divider{color:var(--color-text-primary);align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:flex}.setup-tables-divider:after{content:"";border-top:1px solid var(--color-border-primary);flex:1}.setup-sticky-actions{border:1px solid var(--color-border-secondary);background:var(--color-bg-secondary);border-radius:6px;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.25rem;padding:.75rem 1rem;display:flex;position:sticky;bottom:1rem}.setup-sticky-actions__indicator{color:var(--color-warning-dark);margin-right:auto;font-size:.8125rem;font-weight:500}.setup-sticky-actions__buttons{gap:.5rem;display:flex}.setup-cast-card{border:1px solid var(--color-border-secondary);border-radius:6px;margin-bottom:.5rem;overflow:hidden}.setup-cast-card__header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:1rem;padding:.75rem;display:flex}.setup-cast-card__header:hover{background:var(--color-bg-hover)}.setup-cast-card__title{align-items:center;gap:.5rem;display:flex}.setup-cast-card__rename-input{border:1px solid var(--color-accent-primary);border-radius:4px;outline:none;width:12rem;padding:.15rem .4rem;font-size:.95rem;font-weight:600}.setup-cast-card__count{color:var(--color-text-muted);font-size:.75rem}.setup-cast-colors{align-items:center;gap:3px;display:flex}.setup-cast-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:16px;height:16px;padding:0;transition:transform .1s}.setup-cast-color-swatch:hover{transform:scale(1.2)}.setup-cast-color-swatch.active{border-color:var(--color-text-primary);box-shadow:0 0 0 1px var(--color-bg-primary)}.setup-cast-color-clear{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);cursor:pointer;width:16px;height:16px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex}.setup-cast-color-clear:hover{border-color:var(--color-text-muted)}.setup-cast-card__body{border-top:1px solid var(--color-border-secondary);padding:0 .75rem .75rem}.setup-cast-card__empty{color:var(--color-text-muted);padding:.5rem 0;font-size:.8125rem}.setup-cast-member__lead{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:3px;flex-shrink:0;align-items:center;padding:.125rem;display:flex}.setup-cast-member__lead:hover,.setup-cast-member__lead--active{color:var(--color-warning)}.setup-cast-member{border-bottom:1px solid var(--color-border-secondary);align-items:center;gap:.75rem;padding:.375rem 0;display:flex}.setup-cast-member:last-of-type{border-bottom:none}.setup-cast-member__info{align-items:baseline;gap:.5rem;display:flex}.setup-cast-member__name{font-size:.875rem}.setup-cast-member__name--lead{font-weight:600}.setup-cast-member__role{color:var(--color-text-muted);font-size:.75rem;font-style:italic}.setup-cast-member__role--editable{cursor:pointer;border-radius:3px;padding:.0625rem .25rem}.setup-cast-member__role--editable:hover{background:var(--color-bg-hover)}.setup-cast-member__role-input{border:1px solid var(--color-accent-primary);width:10rem;color:var(--color-text-muted);border-radius:4px;outline:none;padding:.125rem .375rem;font-size:.75rem;font-style:italic}.setup-cast-member__remove{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:3px;padding:.125rem}.setup-cast-member__remove:hover{color:var(--color-error-dark);background:var(--color-error-light)}.setup-cast-add-member{margin-top:.5rem}.setup-cast-add-member__fields{align-items:flex-start;gap:.5rem;display:flex}.setup-cast-add-member__search{flex:1;position:relative}.setup-cast-add-member__search input{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);border-radius:4px;padding:.375rem .5rem;font-size:.8125rem}.setup-cast-add-member__selected{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;align-items:center;gap:.375rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}.setup-cast-add-member__clear{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;border-radius:2px;align-items:center;padding:.125rem;display:flex}.setup-cast-add-member__clear:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.setup-cast-add-member__lead-label{cursor:pointer;color:var(--color-text-muted);flex-shrink:0;align-items:center;gap:.25rem;display:flex}.setup-cast-add-member__lead-label input[type=checkbox]{width:auto}.setup-cast-add-member__lead-label:has(input:checked){color:var(--color-warning)}.setup-cast-add-member__role{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:140px;color:var(--color-text-primary);border-radius:4px;padding:.375rem .5rem;font-size:.8125rem}.seats-tab-controls{flex-wrap:wrap;align-items:flex-end;gap:1.5rem;margin-bottom:1rem;display:flex}.seats-tab-controls .form-field{min-width:200px}.seats-tab-controls label{margin-bottom:.25rem;font-size:.8125rem;font-weight:500;display:block}.seats-tab-controls select{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);border-radius:4px;padding:.5rem;font-size:.875rem}.seats-summary{gap:1rem;padding-bottom:.5rem;font-size:.875rem;display:flex}.seats-summary--available{color:var(--color-success-dark)}.seats-summary--unavailable{color:var(--color-error)}.seats-tab-map{max-width:100%;overflow-x:auto}.seats-tab-map .seat--unavailable{pointer-events:auto;cursor:pointer;opacity:.8}.seats-tab-map .seat--highlighted{outline:3px solid var(--color-accent-primary);outline-offset:1px;z-index:2}.seats-tab-map .seat--order-highlight{outline:2px solid var(--color-warning);outline-offset:1px;z-index:1}.seat-action-bar{border:1px solid var(--color-accent-primary);background:var(--color-bg-secondary);border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;padding:.75rem 1rem;display:flex}.seat-action-bar__label{align-items:baseline;gap:.5rem;font-size:.875rem;display:flex}.seat-action-bar__meta{color:var(--color-text-muted);font-size:.8125rem}.seat-action-bar__note{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);min-width:150px;color:var(--color-text-primary);border-radius:4px;flex:1;padding:.375rem .5rem;font-size:.8125rem}.seat-action-bar__buttons{gap:.5rem;display:flex}.seats-tab-layout{align-items:flex-start;gap:1rem;display:flex}.seats-tab-layout__map{flex:1;min-width:0;overflow-x:auto}.seat-detail-pane{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:6px;flex-shrink:0;width:260px;padding:1rem;font-size:.8125rem;position:sticky;top:1rem}.seat-detail-pane__header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.seat-detail-pane__header h4{margin:0;font-size:.9375rem}.seat-detail-pane__close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:0 .25rem;font-size:1.25rem}.seat-detail-pane__status{text-transform:uppercase;border-radius:3px;margin-bottom:.75rem;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.seat-detail-pane__status--sold{background:var(--color-bg-active);color:var(--color-info-dark)}.seat-detail-pane__status--comped{background:var(--color-warning-light);color:var(--color-warning-dark)}.seat-detail-pane__status--held{background:var(--color-held-light);color:var(--color-held)}.seat-detail-pane__field{margin-bottom:.5rem}.seat-detail-pane__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.125rem;font-size:.6875rem;font-weight:500;display:block}.seat-detail-pane__value{color:var(--color-text-primary)}.seat-detail-pane__other-seats{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.seat-detail-pane__seat-link{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;color:var(--color-text-primary);border-radius:3px;padding:.125rem .375rem;font-size:.75rem}.seat-detail-pane__seat-link:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary)}.seats-summary--checked-in{color:#4caf50}.seat-detail-pane__links{border-top:1px solid var(--color-border-secondary);flex-direction:column;gap:.375rem;margin-top:.75rem;padding-top:.75rem;display:flex}.seat-detail-pane__link{color:var(--color-accent-primary);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-block}.seat-detail-pane__link:hover{text-decoration:underline}.seat-action-bar__label>span:not(:last-child):after{content:", "}.door-sales-tab__controls{max-width:300px;margin-bottom:1rem}.door-sales-tab__controls label{margin-bottom:.25rem;font-size:.8125rem;font-weight:500;display:block}.door-sales-tab__controls select{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);border-radius:4px;padding:.5rem;font-size:.875rem}.door-sales-tab__map{max-width:100%;overflow-x:auto}.door-sales-tab__form{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:6px;max-width:700px;margin-top:1.5rem;padding:1rem}.door-sales-tab__form h4{margin:0 0 .75rem;font-size:.9375rem}.door-sales-tab__form .ui-form-field{margin-bottom:.75rem}.door-sales-tab__form label{margin-bottom:.25rem;font-size:.8125rem;font-weight:500;display:block}.door-sales-tab__form input,.door-sales-tab__form select{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);border-radius:4px;padding:.5rem;font-size:.875rem}.settings-section{border-bottom:1px solid var(--color-border-secondary);margin-bottom:2rem;padding-bottom:2rem}.settings-section:last-child{border-bottom:none}.settings-section h3{margin:0 0 .25rem;font-size:1rem}.settings-description{color:var(--color-text-muted);margin:0 0 1rem;font-size:.875rem}.settings-description code{background:var(--color-bg-secondary);border-radius:3px;padding:.125rem .375rem;font-size:.8125rem}.settings-status{margin-bottom:1rem}.settings-status__indicator{border-radius:4px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;display:inline-flex}.settings-status__indicator--set{background:var(--color-success-light);color:var(--color-success-dark)}.settings-status__indicator--unset{background:var(--color-warning-light);color:var(--color-warning-dark)}.settings-url-row{align-items:center;gap:.75rem;display:flex}.settings-url{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:4px;padding:.5rem .75rem;font-size:.875rem}.reset-checkins-section{border-top:1px solid var(--color-border-secondary);margin-top:2rem;padding-top:1.5rem}.reset-checkins-section h4{margin:0 0 .75rem;font-size:.875rem}.reset-checkins-confirm{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:6px;max-width:400px;padding:1rem}.reset-checkins-confirm p{margin:0 0 .75rem;font-size:.875rem}.show-editor-page--wide,.show-editor-page--wide .seatmap-poc{max-width:none}.settings-current-password{margin-bottom:1rem;font-size:.875rem}.settings-current-password__label{color:var(--color-text-muted)}.settings-current-password__value{background:var(--color-bg-secondary);border-radius:3px;padding:.125rem .5rem;font-size:.875rem}.perf-button-group{flex-wrap:wrap;gap:.375rem;display:flex}.perf-button-group__btn{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);cursor:pointer;color:var(--color-text-primary);border-radius:6px;flex-direction:column;align-items:center;gap:.125rem;padding:.5rem .75rem;font-size:.8125rem;transition:border-color .15s,background .15s;display:flex}.perf-button-group__btn:hover{border-color:var(--color-accent-primary)}.perf-button-group__btn--active{border-color:var(--color-accent-primary-fill);background:var(--color-accent-primary-fill);color:#fff}.perf-button-group__label{font-weight:500;line-height:1.2}.perf-button-group__date{opacity:.8;font-size:.75rem}.codes-tab__divider{border-top:1px solid var(--color-border-primary);margin:1.5rem 0}.codes-section__header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.codes-section__header h3{margin:0;font-size:.9375rem;font-weight:600}.codes-section__actions{gap:.5rem;display:flex}.codes-section__empty{color:var(--color-text-muted);margin:0;font-size:.8125rem}.reports-tab__header{align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.reports-tab__header>.ui-btn{height:36px}.reports-tab__header .ui-form-field{min-width:250px}.reports-tab__header label{margin-bottom:.25rem;font-size:.8125rem;font-weight:500;display:block}.reports-tab__header select,.reports-tab__header input[type=text]{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;height:36px;color:var(--color-text-primary);border-radius:4px;padding:0 .5rem;font-size:.875rem}.reports-tab__cards{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.report-card{border:1px solid var(--color-border-secondary);background:var(--color-bg-secondary);border-radius:6px;flex:1;min-width:140px;padding:1rem}.report-card__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:500}.report-card__value{margin:.25rem 0;font-size:1.5rem;font-weight:600}.report-card__sub{color:var(--color-text-muted);font-size:.75rem}.reports-tab__breakdowns{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.report-breakdown{min-width:0}.report-breakdown h3{margin:0 0 .5rem;font-size:.875rem;font-weight:600}.report-grid{width:100%}.reports-tab__breakdowns>.report-breakdown:only-child{grid-column:1/-1}.reports-tab__timeline{margin-top:2rem}.reports-tab__timeline h3{margin:0 0 .5rem;font-size:.875rem;font-weight:600}.timeline-chart{height:300px}.reports-tab__seatmap{margin-top:2rem}.reports-tab__seatmap h3{margin:0 0 .5rem;font-size:.875rem;font-weight:600}.seatmap-fill-container{max-width:100%;overflow-x:auto}.orders-tab{grid-template-rows:auto 1fr;grid-template-columns:var(--split-pct,40%) 6px 1fr;gap:.5rem 0;height:calc(100vh - 200px);display:grid}.orders-tab__filters{grid-column:1/-1;align-items:flex-end;gap:1rem;padding:0 .5rem;display:flex}.orders-tab__filters .ui-form-field{min-width:200px;margin-bottom:0}.orders-tab__filters select,.orders-tab__filters input[type=text]{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);width:100%;height:36px;color:var(--color-text-primary);border-radius:4px;padding:0 .5rem;font-size:.875rem}.orders-tab__master{min-height:200px;padding-right:.5rem;overflow:hidden}.orders-tab__master .ag-row{cursor:pointer}.orders-tab__row--selected{background-color:var(--color-bg-tertiary)!important}.orders-tab__divider{cursor:col-resize;background:0 0;grid-area:2/2;width:6px;position:relative}.orders-tab__divider:after{content:"";background:var(--color-border-secondary);width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:2px}.orders-tab__divider:hover:after{background:var(--color-accent-primary)}.orders-tab__detail{min-height:0;padding-left:.5rem;overflow-y:auto}.orders-tab__empty-state{height:100%;color:var(--color-text-muted);border:1px dashed var(--color-border-secondary);border-radius:6px;justify-content:center;align-items:center;font-size:.875rem;display:flex}.order-detail-panel{border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:6px;padding:1rem}.order-detail-panel--loading{min-height:200px;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.order-detail-panel__header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.order-detail-panel__header h4{align-items:center;gap:.5rem;margin:0;font-size:.9375rem;display:flex}.order-detail-panel__tickets-link{opacity:.7;font-size:1rem;text-decoration:none;transition:opacity .15s}.order-detail-panel__tickets-link:hover{opacity:1}.order-detail-panel__close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:0 .25rem;font-size:1.25rem}.order-detail-panel__meta{grid-template-columns:1fr 1fr;gap:.25rem 1rem;margin-bottom:.75rem;font-size:.8125rem;display:grid}.order-detail-panel__meta-row{gap:.5rem;display:flex}.order-detail-panel__meta-label{color:var(--color-text-muted);min-width:4rem;font-weight:500}.order-detail-panel__section-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin:.75rem 0 .25rem;font-size:.8125rem;font-weight:600}.order-detail-panel__tickets{border-collapse:collapse;width:100%;font-size:.8125rem}.order-detail-panel__tickets th{text-align:left;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-primary);padding:.375rem .5rem;font-weight:600}.order-detail-panel__tickets th.text-right,.order-detail-panel__tickets td.text-right{text-align:right}.order-detail-panel__tickets td{border-bottom:1px solid var(--color-border-secondary);vertical-align:middle;padding:.375rem .5rem}.order-detail-panel__ticket-row--cancelled{opacity:.5}.order-detail-panel__perf-date{color:var(--color-text-muted);font-size:.75rem}.order-detail-panel__status--checked_in{color:var(--color-success)}.order-detail-panel__status--cancelled,.order-detail-panel__status--refunded{color:var(--color-error)}.order-detail-panel__status--donated_back{color:var(--color-accent-primary)}.order-detail-panel__status--partial_return{color:var(--color-warning)}.order-detail-panel__transfer-badge{color:var(--color-text-muted);cursor:default;margin-left:.25rem;font-size:1rem;font-weight:700;display:inline}.order-detail-panel__ticket-actions{flex-wrap:nowrap;gap:.25rem;display:flex}.order-detail-panel__action-btn{border:1px solid var(--color-border-primary);cursor:pointer;color:var(--color-text-primary);white-space:nowrap;background:0 0;border-radius:4px;padding:.125rem .375rem;font-size:.75rem}.order-detail-panel__action-btn:disabled{opacity:.5;cursor:not-allowed}.order-detail-panel__action-btn--checkin{color:var(--color-success);border-color:var(--color-success)}.order-detail-panel__action-btn--undo{color:var(--color-warning);border-color:var(--color-warning)}.order-detail-panel__action-btn--void,.order-detail-panel__action-btn--refund{color:var(--color-error);border-color:var(--color-error)}.order-detail-panel__action-btn--donate-back{color:var(--color-accent-primary);border-color:var(--color-accent-primary)}.order-detail-panel__more-menu{position:relative}.order-detail-panel__more-btn{text-align:center;letter-spacing:.1em;min-width:1.75rem;font-weight:700}.order-detail-panel__menu-dropdown{z-index:10;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:4px;flex-direction:column;min-width:8rem;padding:.25rem 0;display:flex;position:absolute;top:100%;right:0;box-shadow:0 2px 8px #00000040}.order-detail-panel__menu-item{cursor:pointer;text-align:left;white-space:nowrap;color:var(--color-text-primary);background:0 0;border:none;padding:.375rem .75rem;font-size:.75rem}.order-detail-panel__menu-item:hover:not(:disabled){background:var(--color-bg-hover)}.order-detail-panel__menu-item:disabled{opacity:.5;cursor:not-allowed}.order-detail-panel__menu-item--refund,.order-detail-panel__menu-item--void{color:var(--color-error)}.order-detail-panel__menu-item--donate-back{color:var(--color-accent-primary)}.order-detail-panel__transfers{margin-top:.75rem}.order-detail-panel__transfers-toggle{cursor:pointer;color:var(--color-text-primary);background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:500}.order-detail-panel__transfers-list{flex-direction:column;gap:.25rem;margin-top:.5rem;display:flex}.order-detail-panel__transfer-item{border-bottom:1px solid var(--color-border-secondary);gap:.75rem;padding:.25rem 0;font-size:.8125rem;display:flex}.order-detail-panel__transfer-status--pending{color:var(--color-warning)}.order-detail-panel__transfer-status--claimed{color:var(--color-success)}.order-detail-panel__actions{gap:.5rem;margin-top:.75rem;display:flex}@media (width<=1024px){.orders-tab{grid-template-columns:1fr;height:auto}.orders-tab__divider{display:none}.orders-tab__master{min-height:200px;max-height:50vh;padding-right:0}.orders-tab__detail{padding-left:0}}@media (width<=768px){.orders-tab{grid-template-columns:1fr;height:auto}.orders-tab__detail{z-index:100;background:var(--color-bg-primary);padding:1rem;position:fixed;inset:0;overflow-y:auto}.orders-tab__master{min-height:200px}.orders-tab__detail:has(.orders-tab__empty-state){display:none}}.scanner-page{color:#fff;z-index:1000;touch-action:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:#000;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.scanner-picker{background:#1a1a2e;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.scanner-picker h1{margin-bottom:.5rem;font-size:1.5rem}.scanner-picker p{color:#ffffffb3;margin-bottom:1.5rem}.scanner-picker__list{flex-direction:column;gap:.75rem;width:100%;max-width:400px;display:flex}.scanner-picker__item{color:#fff;cursor:pointer;text-align:left;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;min-height:60px;padding:1rem 1.25rem;transition:background .15s}.scanner-picker__item:hover{background:#fff3}.scanner-picker__item-show{font-size:1rem;font-weight:600}.scanner-picker__item-detail{color:#ffffffb3;margin-top:.25rem;font-size:.875rem}.scanner-picker__empty,.scanner-picker__loading{text-align:center;color:#fff9;padding:2rem}.scanner-header{z-index:10;background:#000c;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.scanner-header__back{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.5rem;font-size:1.5rem;line-height:1;display:flex}.scanner-header__title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:1rem;font-weight:600;overflow:hidden}.scanner-header__count{color:#fffc;white-space:nowrap;font-size:.875rem}.scanner-header__sound{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.5rem;font-size:1.25rem;display:flex}.scanner-camera{flex:1;position:relative;overflow:hidden;transform:translateZ(0)}.scanner-camera video{object-fit:cover;width:100%;height:100%}.scanner-camera:after{content:"";-webkit-backdrop-filter:blur(3px);pointer-events:none;z-index:4;-webkit-mask-composite:destination-out;background:#00000026;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:50%,50%;mask-position:50%,50%;-webkit-mask-size:100% 100%,65vmin 65vmin;mask-size:100% 100%,65vmin 65vmin;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-composite:xor;mask-composite:exclude}.scanner-viewfinder{pointer-events:none;z-index:5;background: linear-gradient(to right, var(--color-accent-gold) 6px, transparent 6px) no-repeat left top / 60px 6px, linear-gradient(to bottom, var(--color-accent-gold) 6px, transparent 6px) no-repeat left top / 6px 60px,  linear-gradient(to left, var(--color-accent-gold) 6px, transparent 6px) no-repeat right top / 60px 6px, linear-gradient(to bottom, var(--color-accent-gold) 6px, transparent 6px) no-repeat right top / 6px 60px,  linear-gradient(to right, var(--color-accent-gold) 6px, transparent 6px) no-repeat left bottom / 60px 6px, linear-gradient(to top, var(--color-accent-gold) 6px, transparent 6px) no-repeat left bottom / 6px 60px,  linear-gradient(to left, var(--color-accent-gold) 6px, transparent 6px) no-repeat right bottom / 60px 6px, linear-gradient(to top, var(--color-accent-gold) 6px, transparent 6px) no-repeat right bottom / 6px 60px;width:65vmin;height:65vmin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scanner-camera__loading{z-index:5;background:#0009;justify-content:center;align-items:center;font-size:1.25rem;display:flex;position:absolute;inset:0}.scanner-camera__error{text-align:center;color:#fffc;justify-content:center;align-items:center;padding:2rem;display:flex;position:absolute;inset:0}.scanner-result{padding:1rem 1.5rem 1rem 2rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));box-sizing:border-box;z-index:20;cursor:default;touch-action:manipulation;-webkit-user-select:none;user-select:none;animation:.25s ease-out scanner-result-slide-up;position:absolute;bottom:0;left:0;right:0;transform:translate(0,0)}@keyframes scanner-result-slide-up{0%{transform:translateY(100%)}to{transform:translate(0,0)}}.scanner-result--valid{background:#16a34a}.scanner-result--already_checked_in{background:#ca8a04}.scanner-result--invalid{background:#dc2626}.scanner-result--wrong_performance{background:#ea580c}.scanner-result--past_performance{background:#6b7280}.scanner-result--transferred,.scanner-result--pending_transfer,.scanner-result--network_error{background:#dc2626}.scanner-result__checkmark{text-align:center;margin-bottom:.25rem;font-size:4rem;line-height:1}.scanner-result__status{text-align:center;margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.scanner-result__body{align-items:center;gap:1rem;display:flex}.scanner-result__body .scanner-result__details{flex:1;min-width:0}.scanner-result__details{opacity:.95;font-size:.9rem;line-height:1.4}.scanner-result__actions{gap:.75rem;display:flex}.scanner-result__btn{color:#fff;cursor:pointer;touch-action:manipulation;background:#ffffff26;border:2px solid #fffc;border-radius:.375rem;min-height:44px;padding:.625rem 1.25rem;font-size:1rem;font-weight:600;transition:background .15s}.scanner-result__btn:hover{background:#ffffff4d}.scanner-result__btn--confirm{color:#16a34a;background:#ffffffe6;border-color:#ffffffe6}.scanner-result__btn--confirm:hover{background:#fff}.scanner-result__swap-note{opacity:.75;font-size:.8rem;font-style:italic}.scanner-toast{z-index:15;background:#000c;border-radius:.5rem;padding:.75rem 1.5rem;font-size:.9rem;animation:1.5s ease-out forwards scanner-toast-fade;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes scanner-toast-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.transfer-claim-page{max-width:480px;min-height:100vh;color:var(--color-text-primary);margin:0 auto;padding:24px 16px;font-family:Arial,sans-serif}.transfer-loading{text-align:center;color:var(--color-text-muted);padding:48px 0}.transfer-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:12px;padding:24px;box-shadow:0 2px 8px #00000014}.transfer-card h2{color:var(--color-accent-primary);text-align:center;margin:0 0 20px}.transfer-error-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);text-align:center;border-radius:12px;padding:32px 24px}.transfer-error-card h2{color:var(--color-text-secondary);margin:0 0 12px}.transfer-ticket-info{margin-bottom:20px}.transfer-detail-row{border-bottom:1px solid var(--color-border-secondary,#f0f0f0);justify-content:space-between;padding:8px 0;display:flex}.transfer-label{color:var(--color-text-secondary);font-size:14px}.transfer-value{text-align:right;color:var(--color-text-primary);font-weight:500}.transfer-seat{color:var(--color-accent-primary);font-weight:700}.transfer-claim-button{background:var(--color-accent-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:16px;padding:14px;font-size:16px;font-weight:600;display:block}.transfer-claim-button:hover:not(:disabled){background:var(--color-accent-primary-hover)}.transfer-claim-button:disabled{opacity:.6;cursor:not-allowed}.transfer-claim-error{color:var(--color-error);background:var(--color-error-light);border:1px solid var(--color-error);border-radius:6px;margin-bottom:12px;padding:10px 14px;font-size:14px}.transfer-seat-map{text-align:center;margin-bottom:16px}.transfer-seat-map img{width:300px;max-width:100%;height:auto}.transfer-tickets-grid{grid-template-columns:1fr;gap:16px;max-width:320px;margin:0 auto;display:grid}.transfer-save-notice{background:var(--color-info-light);border:1px solid var(--color-info);color:var(--color-info-dark);border-radius:8px;margin:16px 0;padding:12px 16px;font-size:14px}.transfer-print-button{width:100%;color:var(--color-text-secondary);border:1px solid var(--color-border-primary);cursor:pointer;background:0 0;border-radius:6px;margin-top:12px;padding:10px;font-size:14px;display:block}.transfer-print-button:hover{background:var(--color-bg-secondary)}.transfer-show-name{text-align:center;color:var(--color-text-primary);margin-bottom:16px;font-size:18px;font-weight:700}.transfer-ticket-list{margin-bottom:20px}.transfer-tickets-table{border-collapse:collapse;width:100%;font-size:14px}.transfer-tickets-table thead tr{border-bottom:2px solid var(--color-border-primary)}.transfer-tickets-table th{text-align:left;color:var(--color-text-secondary);padding:8px 4px;font-size:13px;font-weight:500}.transfer-tickets-table td{border-bottom:1px solid var(--color-border-secondary,#f0f0f0);padding:8px 4px}.transfer-datetime{text-align:center;color:var(--color-text-secondary);margin-top:8px;font-size:14px}@media print{.transfer-claim-page{padding:0}.transfer-print-button,.transfer-save-notice{display:none}}.swap-page{flex-direction:column;gap:1rem;width:fit-content;max-width:100%;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex}.swap-page__header{flex-direction:column;gap:.5rem;display:flex}.swap-page__header h1{margin:0;font-size:1.5rem}.swap-page__back{color:var(--color-accent-primary);align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.swap-page__back:hover{text-decoration:underline}.swap-page__summary{flex-direction:column;gap:.5rem;display:flex}.swap-page__summary-row{background:var(--color-bg-tertiary);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.625rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.swap-page__summary-row--new{background:var(--color-success-light);border:1px solid var(--color-success)}.swap-page__summary-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);flex-shrink:0;font-size:.75rem;font-weight:700}.swap-page__summary-value{flex:1;font-weight:500}.swap-page__summary-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.swap-page__summary-actions .ui-btn-secondary{color:var(--color-text-primary);border-color:var(--color-text-muted)}.swap-page__loading{min-height:200px;color:var(--color-text-secondary);justify-content:center;align-items:center;display:flex}.swap-page__seatmap{border:1px solid var(--color-border-primary);border-radius:6px;padding:1rem;overflow-x:auto}.swap-page__seatmap .seat--highlighted{z-index:2;animation:1.5s ease-in-out infinite swap-seat-pulse}@keyframes swap-seat-pulse{0%,to{outline:3px solid var(--color-warning);outline-offset:1px;box-shadow:0 0 #f59e0b66}50%{outline:3px solid var(--color-warning);outline-offset:2px;box-shadow:0 0 8px 2px #f59e0b80}}@media (width<=640px){.swap-page__summary-row{flex-direction:column;align-items:flex-start;gap:.25rem}}.public-scanner-gate{color:#fff;padding:2rem;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:#1a1a2e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.public-scanner-gate__card{text-align:center;width:100%;max-width:360px}.public-scanner-gate__card h1{margin-bottom:.5rem;font-size:1.5rem}.public-scanner-gate__card p{color:#ffffffb3;margin-bottom:1.5rem}.public-scanner-gate__input{color:#fff;box-sizing:border-box;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:.5rem;outline:none;width:100%;padding:.875rem 1rem;font-size:1rem}.public-scanner-gate__input:focus{border-color:#fff9}.public-scanner-gate__input::placeholder{color:#fff6}.public-scanner-gate__error{color:var(--color-error);margin-top:.5rem;font-size:.875rem}.public-scanner-gate__btn{background:var(--color-accent-primary);color:#fff;cursor:pointer;touch-action:manipulation;border:none;border-radius:.5rem;width:100%;min-height:48px;margin-top:1rem;padding:.875rem;font-size:1rem;font-weight:600}.public-scanner-gate__btn:hover:not(:disabled){background:var(--color-accent-primary-hover)}.public-scanner-gate__btn:disabled{opacity:.5;cursor:not-allowed}.privacy-page{max-width:640px;color:var(--color-text-primary);margin:0 auto;padding:2rem 1rem}.privacy-page h1{margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.privacy-page .effective-date{color:var(--color-text-light);margin-bottom:2rem;font-size:.85rem}.privacy-page h2{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.15rem;font-weight:600}.privacy-page p,.privacy-page ul{margin-bottom:.75rem;font-size:.95rem;line-height:1.6}.privacy-page ul{padding-left:1.25rem}.privacy-page li{margin-bottom:.25rem}.privacy-page a{color:var(--color-accent-primary)}.terms-page{max-width:640px;color:var(--color-text-primary);margin:0 auto;padding:2rem 1rem}.terms-page h1{margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.terms-page .effective-date{color:var(--color-text-light);margin-bottom:2rem;font-size:.85rem}.terms-page h2{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.15rem;font-weight:600}.terms-page p,.terms-page ul{margin-bottom:.75rem;font-size:.95rem;line-height:1.6}.terms-page ul{padding-left:1.25rem}.terms-page li{margin-bottom:.25rem}.terms-page a{color:var(--color-accent-primary)}.mobile-nav-overlay{background-color:var(--color-campaign-overlay-dark);z-index:200;position:fixed;inset:0}.mobile-nav{background-color:var(--color-campaign-sky);z-index:300;width:250px;padding:var(--space-8) var(--space-4);box-shadow:var(--shadow-campaign-nav);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.mobile-nav a{font-family:var(--font-heading);color:var(--color-text-inverse);padding:var(--space-4);font-size:var(--font-size-h3);min-height:var(--min-touch-target);border-bottom:1px solid var(--color-campaign-border-light);margin-bottom:var(--space-2);align-items:center;text-decoration:none;transition:background-color .2s;display:flex}.mobile-nav a:last-child{border-bottom:none}.mobile-nav a:hover,.mobile-nav a:active{background-color:var(--color-campaign-hover-light)}.mobile-nav a[aria-current]{color:var(--color-campaign-gold);background-color:var(--color-campaign-hover-light)}.mobile-nav a:focus-visible{outline:2px solid var(--color-campaign-gold);outline-offset:-2px}.mobile-nav:focus{outline:none}@media (width>=768px){.mobile-nav,.mobile-nav-overlay{display:none}}.campaign-header{background-color:var(--color-campaign-sky);padding:var(--space-2) var(--space-4);z-index:100;transition:box-shadow .3s,border-color .3s;position:fixed;top:0;left:0;right:0}.campaign-header--scrolled{box-shadow:var(--shadow-campaign-header)}.campaign-header-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.campaign-logo a{align-items:center;text-decoration:none;display:flex}.campaign-logo{flex-shrink:0}.campaign-logo img{width:auto;height:204px;transition:height .25s}.campaign-header--scrolled .campaign-logo img{height:64px}.campaign-nav-desktop{gap:var(--space-6);align-items:center;display:none}.campaign-nav-desktop a{font-family:var(--font-heading);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);font-size:1.25rem;text-decoration:none;transition:color .2s;position:relative}.campaign-nav-desktop a:after{content:"";bottom:0;left:var(--space-4);right:var(--space-4);background-color:var(--color-campaign-gold);height:2px;transition:transform .2s;position:absolute;transform:scaleX(0)}.campaign-nav-desktop a:hover:after,.campaign-nav-desktop a[aria-current]:after{transform:scaleX(1)}.campaign-nav-desktop a:hover,.campaign-nav-desktop a[aria-current]{color:var(--color-campaign-gold)}.campaign-nav-desktop a:focus-visible{outline:2px solid var(--color-campaign-gold);outline-offset:2px}.mobile-menu-button{color:var(--color-text-inverse);cursor:pointer;padding:var(--space-2);min-width:var(--min-touch-target);min-height:var(--min-touch-target);background:0 0;border:none;justify-content:center;align-items:center;font-size:28px;display:flex}@media (width>=768px){.campaign-nav-desktop{display:flex}.mobile-menu-button{display:none}}@media (width>=768px) and (width<=1199px){:root{--campaign-header-h:calc(30px + 4 * var(--space-2));--campaign-header-h-tall:calc(30px + 4 * var(--space-2))}.campaign-logo{display:none}.campaign-header-content{justify-content:flex-end}}@media (width<=359px){:root{--campaign-header-h:calc(42px + 4 * var(--space-2));--campaign-header-h-tall:calc(42px + 4 * var(--space-2))}.campaign-logo{display:none}.campaign-header-content{justify-content:flex-end}}@media (prefers-reduced-motion:reduce){.campaign-header,.campaign-logo img,.campaign-nav-desktop a:after{transition:none}}.hill-divider{width:100vw;margin-bottom:-1px;line-height:0;display:block;position:relative;left:50%;overflow:hidden;transform:translate(-50%)}.hill-divider svg{width:100%;height:auto;display:block}.campaign-footer{background-color:var(--color-campaign-sky);color:var(--color-text-inverse);padding:var(--space-8) var(--space-4);margin-top:auto}.campaign-footer-content{text-align:center;max-width:1200px;margin:0 auto}.fppc-disclosure{margin:0;font-size:1rem}.campaign-layout{background-color:var(--color-campaign-warm-white);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-body:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-body:1.125rem;flex-direction:column;min-height:100vh;display:flex}.campaign-main{padding-top:var(--campaign-header-h-tall);flex:1}.campaign-layout a:focus-visible,.campaign-layout button:focus-visible{outline:2px solid var(--color-campaign-teal);outline-offset:2px}.hero-intro{background-color:var(--color-campaign-warm-white);padding:var(--space-8) var(--space-4) var(--space-16)}.hero-intro-values{max-width:1200px;margin:0 auto var(--space-8);padding:0 0 var(--space-5);border-bottom:1px solid var(--color-campaign-gold);justify-content:center;align-items:center;gap:var(--space-2) var(--space-4);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.22em;color:var(--color-campaign-teal);flex-wrap:wrap;font-size:1rem;line-height:1.2;list-style:none;display:flex}.hero-intro-values li{align-items:center;gap:var(--space-4);white-space:nowrap;margin-right:-.22em;display:flex}.hero-intro-values li:not(:last-child):after{content:"";background-color:var(--color-campaign-gold-dark);border-radius:50%;flex:none;width:5px;height:5px}.hero-intro-inner{gap:var(--space-12);grid-template-columns:minmax(0,55fr) minmax(0,45fr);align-items:center;max-width:1200px;margin:0 auto;display:grid}.hero-intro-body p{font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-campaign-charcoal);margin:0 0 var(--space-4) 0;line-height:1.8}.hero-intro-headline{font-family:var(--font-heading);font-size:var(--font-size-h1);letter-spacing:-.02em;color:var(--color-campaign-teal);margin:0 0 var(--space-8) 0;line-height:1.15}.hero-intro-invite{background-color:var(--color-campaign-white);border:1px solid var(--color-campaign-gold);padding:var(--space-6);box-shadow:var(--shadow-campaign-card);border-radius:10px}.hero-intro-closer{font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-campaign-teal);margin:0 0 var(--space-4) 0;font-style:italic;font-weight:600;line-height:1.8}.hero-intro-invite .hero-cta{margin-top:0}.hero-intro-portrait img{object-fit:cover;object-position:center top;width:100%;height:auto;max-height:78svh;box-shadow:var(--shadow-campaign-photo);border-radius:10px;display:block}.hero{color:var(--color-text-inverse);text-align:center;background-image:url(/images/hills-desktop.webp);background-position:50%;background-size:cover;flex-direction:column;align-items:center;display:flex;position:relative}.hero--sub{min-height:22svh;padding:var(--space-16) var(--space-4) var(--space-12);justify-content:center}.hero:before{content:"";background:linear-gradient(to bottom, var(--color-campaign-overlay-dark) 0%, var(--color-campaign-overlay-teal) 50%, var(--color-campaign-overlay-teal-light) 100%);z-index:1;position:absolute;inset:0}.hero-content{z-index:2;max-width:800px;margin:0 auto;position:relative}.hero-headline{font-family:var(--font-heading);font-size:var(--font-size-h1);margin:0 0 var(--space-4) 0;text-shadow:var(--shadow-campaign-text);line-height:1.2}.hero-subheadline{font-family:var(--font-body);font-size:var(--font-size-h3);opacity:.95;text-shadow:var(--shadow-campaign-text-sm);margin:0}.hero-cta{margin-top:var(--space-4);padding:var(--space-4) var(--space-8);background:linear-gradient(to bottom, var(--color-campaign-gold) 0%, var(--color-campaign-gold-gradient) 100%);color:var(--color-campaign-sky);font-family:var(--font-heading);cursor:pointer;min-height:var(--min-touch-target);text-shadow:none;box-shadow:var(--shadow-campaign-btn);border:none;border-radius:6px;font-size:1.125rem;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-block}.hero-cta:hover{background:linear-gradient(to bottom, var(--color-campaign-gold-dark) 0%, var(--color-campaign-gold-dark-gradient) 100%);color:var(--color-text-inverse);box-shadow:var(--shadow-campaign-btn-hover);transform:translateY(-1px)}.hero-cta:active{box-shadow:var(--shadow-campaign-btn-active);transform:translateY(0)}.hero-cta:focus-visible{outline:2px solid var(--color-campaign-teal);outline-offset:2px}@media (width<=900px){.hero-intro-inner{gap:var(--space-8);grid-template-columns:1fr}.hero-intro-portrait{order:-1;max-width:420px;margin:0 auto}.hero-intro-portrait img{max-height:60svh}}@media (width<=768px){.hero-intro{padding:var(--space-6) var(--space-4) var(--space-12)}.hero-intro-values{letter-spacing:.14em;gap:var(--space-2) var(--space-3);padding-bottom:var(--space-4);margin-bottom:var(--space-6);font-size:.8125rem}.hero-intro-values li{gap:var(--space-3);margin-right:-.14em}.hero-intro-values li:not(:last-child):after{width:4px;height:4px}.hero-intro-headline{font-size:2.25rem}.hero-intro-invite{padding:var(--space-5) var(--space-4)}.hero{background-image:url(/images/hills-mobile.webp)}.hero-headline{font-size:2.5rem}.hero-subheadline{font-size:1.125rem}}@media (width<=520px){.hero-intro-values{gap:var(--space-1);letter-spacing:.2em;flex-direction:column;font-size:.9375rem;line-height:1.35}.hero-intro-values li{margin-right:-.2em}.hero-intro-values li:not(:last-child):after{display:none}}.contact-form-container{position:relative}.contact-form{gap:var(--space-6);flex-direction:column;display:flex}.form-field{gap:var(--space-2);flex-direction:column;display:flex}.form-field label{font-family:var(--font-heading);color:var(--color-campaign-teal);font-size:var(--font-size-body)}.required{color:var(--color-campaign-gold-dark)}.form-field input,.form-field textarea{font-family:var(--font-body);font-size:var(--font-size-body);padding:var(--space-3);border:2px solid var(--color-campaign-teal-light);box-shadow:var(--shadow-campaign-input-inset);scroll-margin-top:var(--campaign-header-h);border-radius:6px;transition:border-color .2s,box-shadow .2s}.form-field input:focus,.form-field textarea:focus{border-color:var(--color-campaign-teal);box-shadow:var(--shadow-campaign-input-focus);outline:none}.form-field input:focus-visible,.form-field textarea:focus-visible,.submit-button:focus-visible{outline:2px solid var(--color-campaign-teal);outline-offset:2px}.form-field input.error,.form-field textarea.error{border-color:var(--color-error)}.error-message{font-family:var(--font-body);font-size:var(--font-size-small);color:var(--color-error)}.character-count{font-family:var(--font-body);font-size:var(--font-size-small);color:var(--color-text-muted);text-align:right}.submit-button{font-family:var(--font-heading);padding:var(--space-4) var(--space-8);background:linear-gradient(to bottom, var(--color-campaign-gold) 0%, var(--color-campaign-gold-gradient) 100%);color:var(--color-campaign-sky);cursor:pointer;min-height:var(--min-touch-target);box-shadow:var(--shadow-campaign-btn);border:none;border-radius:6px;font-size:1.125rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s}.submit-button:hover:not(:disabled){background:linear-gradient(to bottom, var(--color-campaign-gold-dark) 0%, var(--color-campaign-gold-dark-gradient) 100%);color:var(--color-text-inverse);box-shadow:var(--shadow-campaign-btn-hover);transform:translateY(-1px)}.submit-button:active:not(:disabled){box-shadow:var(--shadow-campaign-btn-active);transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.back-to-top{right:var(--space-6);bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));z-index:90;width:var(--min-touch-target);height:var(--min-touch-target);cursor:pointer;background-color:var(--color-campaign-teal);min-width:44px;min-height:44px;color:var(--color-text-inverse);box-shadow:var(--shadow-campaign-btn);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;transition:background-color .2s,transform .15s;display:flex;position:fixed}.back-to-top:hover{background-color:var(--color-campaign-teal-dark);transform:translateY(-2px)}.back-to-top:focus-visible{outline:2px solid var(--color-campaign-gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){.back-to-top{transition:none}.back-to-top:hover{transform:none}}.bio-content{max-width:800px;margin:0 auto}.bio-content p{font-family:var(--font-body);font-size:var(--font-size-body);margin:0 0 var(--space-4) 0;line-height:1.8}.bio-photo{float:right;object-fit:cover;object-position:center 15%;width:220px;height:220px;margin:0 0 var(--space-6) var(--space-8);border:3px solid var(--color-campaign-gold);box-shadow:var(--shadow-md);shape-outside:circle(50%);border-radius:50%}.bio-drop-cap:first-letter{font-family:var(--font-heading);float:left;margin-right:var(--space-2);margin-top:var(--space-1);color:var(--color-campaign-teal);font-size:4rem;line-height:.8}.bio-service-list{font-family:var(--font-body);font-size:var(--font-size-body);margin:0 0 var(--space-6) 0;padding-left:var(--space-6);line-height:1.8;list-style:outside}.bio-service-list li{margin-bottom:var(--space-2)}@media (width<=768px){.bio-photo{float:none;margin:0 auto var(--space-6);width:180px;height:180px;display:block}.bio-drop-cap:first-letter{font-size:3rem}}.priorities-content{max-width:800px;margin:0 auto}.priorities-intro{font-family:var(--font-body);color:var(--color-campaign-charcoal);margin:0 0 var(--space-16) 0;padding-left:var(--space-5);border-left:4px solid var(--color-campaign-gold);font-size:1.15rem;line-height:1.8}.priority-block{margin-bottom:var(--space-10)}.priority-block h3{font-family:var(--font-heading);font-size:var(--font-size-h3);color:var(--color-campaign-teal);margin:0 0 var(--space-5) 0;letter-spacing:-.015em}.priority-block+.priority-block{margin-top:var(--space-16)}.priority-block p{font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-campaign-charcoal);margin:0 0 var(--space-4) 0;line-height:1.8}.priority-block p:last-child{margin-bottom:0}.priority-photo{width:100%;height:auto;margin:0 0 var(--space-5) 0;border-radius:8px;display:block}.priority-alert{margin:0 0 var(--space-5) 0}.priority-alert__card{padding:var(--space-5) var(--space-6);background-color:var(--color-campaign-gold-light);border-left:4px solid var(--color-campaign-gold-dark);box-shadow:var(--shadow-campaign-card);border-radius:8px;margin:0}.priority-alert .priority-alert__title{font-family:var(--font-heading);color:var(--color-campaign-charcoal);margin:0 0 var(--space-2) 0;font-size:1rem;font-weight:700;line-height:1.4}.priority-alert .priority-alert__body{font-family:var(--font-body);color:var(--color-campaign-charcoal);margin:0;font-size:1rem;line-height:1.65}.priority-alert__map{width:100%;height:auto;margin-top:var(--space-4);border:1px solid var(--color-campaign-gold);border-radius:6px;display:block}.priority-alert__source{font-family:var(--font-body);font-size:var(--font-size-small);color:var(--color-campaign-charcoal);margin-top:var(--space-2);padding-left:var(--space-1);font-style:italic}.photo-todo{font-family:var(--font-body);font-size:var(--font-size-small);color:var(--color-campaign-charcoal);background:var(--color-campaign-gold-light);border:1px dashed var(--color-campaign-gold);padding:var(--space-2) var(--space-3);border-radius:6px;margin:0 0 var(--space-5) 0!important}@media (width<=768px){.priority-block h3{font-size:1.35rem}.priorities-intro{font-size:1.05rem}.priority-alert__card{padding:var(--space-4)}}.accomplishments-content{max-width:960px;margin:0 auto}.accomplishments-block{margin-bottom:var(--space-12)}.accomplishments-block h3{font-family:var(--font-heading);font-size:var(--font-size-h3);color:var(--color-campaign-teal);margin:0 0 var(--space-6) 0;text-align:center;letter-spacing:-.015em}.accomplishments-list{margin:0 0 var(--space-6) 0;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));padding:0;list-style:none;display:grid}.accomplishments-list li{background:var(--color-campaign-white);border-left:4px solid var(--color-campaign-gold);box-shadow:var(--shadow-campaign-card);padding:var(--space-4) var(--space-5);font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-campaign-charcoal);border-radius:10px;line-height:1.6;position:relative}.accomplishments-list--plain li{border-left-color:var(--color-campaign-teal)}.contributed-heading{font-family:var(--font-heading);color:var(--color-campaign-teal);margin:0 0 var(--space-4) 0;font-size:1.1rem}.liaison-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.liaison-card{background:var(--color-campaign-white);border-top:4px solid var(--color-campaign-teal);box-shadow:var(--shadow-campaign-card);padding:var(--space-5);border-radius:10px}.liaison-card h4{font-family:var(--font-heading);color:var(--color-campaign-teal);margin:0 0 var(--space-4) 0;font-size:1.1rem}.liaison-chips{margin:0;padding:0;list-style:none}.liaison-chips li{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-primary);font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-campaign-charcoal);line-height:1.5}.liaison-chips li:last-child{border-bottom:none;padding-bottom:0}@media (width<=640px){.accomplishments-block h3{font-size:1.35rem}.accomplishments-list{grid-template-columns:1fr}}.endorsements-content{max-width:1000px;margin:0 auto}.endorsements-intro{text-align:center;font-family:var(--font-body);color:var(--color-text-secondary);margin:0 0 var(--space-12) 0;font-size:1.25rem}.endorsements-group{background:var(--color-campaign-white);border-top:4px solid var(--color-campaign-teal);box-shadow:var(--shadow-campaign-card);padding:var(--space-6);margin-bottom:var(--space-6);border-radius:10px}.endorsements-group h3{font-family:var(--font-heading);font-size:var(--font-size-h3);color:var(--color-campaign-teal);margin:0 0 var(--space-5) 0;letter-spacing:-.015em}.endorsement-names{gap:var(--space-3) var(--space-6);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.endorsement-names li{font-family:var(--font-body);color:var(--color-campaign-charcoal);padding-left:var(--space-4);border-left:3px solid var(--color-campaign-gold);font-size:1.1rem;line-height:1.5}.endorsement-name{display:block}.endorsement-title{font-size:var(--font-size-small);color:var(--color-campaign-charcoal);opacity:.8;margin-top:2px;line-height:1.4;display:block}.endorsements-cta{text-align:center;margin-top:var(--space-16)}.endorsements-cta-button{background-color:var(--color-campaign-gold);color:var(--color-campaign-charcoal);font-family:var(--font-heading);padding:var(--space-3) var(--space-8);box-shadow:var(--shadow-campaign-card);scroll-margin-top:var(--campaign-header-h);border-radius:999px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block}.endorsements-cta-button:hover{box-shadow:var(--shadow-campaign-card-hover);transform:translateY(-2px)}@media (width<=768px){.endorsements-group{padding:var(--space-5) var(--space-4)}.endorsement-names{grid-template-columns:1fr}}.contact-content{max-width:600px;margin:0 auto}.contact-intro{font-family:var(--font-body);font-size:var(--font-size-body);text-align:center;margin:0 0 var(--space-8) 0;line-height:1.8}.contact-intro a{color:var(--color-campaign-teal);scroll-margin-top:var(--campaign-header-h);text-decoration:underline}.contact-form-card{background-color:var(--color-bg-secondary);padding:var(--space-8);box-shadow:var(--shadow-campaign-card);border-left:4px solid var(--color-campaign-gold);border-radius:8px}@media (width<=768px){.contact-form-card{padding:var(--space-6) var(--space-4)}}.home-section{padding:var(--space-20) var(--space-4);scroll-margin-top:var(--campaign-header-h)}.home-section:focus{outline:none}.home-section--warm{background-color:var(--color-campaign-warm-white)}.home-section--green{background-color:var(--color-campaign-hill-green-light)}.home-section__title{font-family:var(--font-heading);font-size:var(--font-size-h2);color:var(--color-campaign-teal);margin:0 0 var(--space-12) 0;letter-spacing:-.015em;text-align:center}.home-section a,.home-section button,.home-section input,.home-section textarea{scroll-margin-top:var(--campaign-header-h)}@media (width<=768px){.home-section{padding:var(--space-16) var(--space-4)}.home-section__title{margin-bottom:var(--space-8);font-size:1.75rem}}.news-page{padding:var(--space-16) var(--space-4);background-color:var(--color-campaign-warm-white);min-height:40vh}.news-content{max-width:800px;margin:0 auto}.news-loading,.news-error,.news-empty{text-align:center;padding:var(--space-10) 0;font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-campaign-charcoal)}.news-error{color:var(--color-error)}.news-empty p{color:var(--color-campaign-charcoal);opacity:.7;font-style:italic}.news-list{gap:var(--space-5);flex-direction:column;display:flex}.news-card{gap:var(--space-4);background:var(--color-campaign-white);box-shadow:var(--shadow-campaign-card);color:inherit;border-radius:10px;text-decoration:none;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden}.news-card:hover{box-shadow:var(--shadow-campaign-card-hover);transform:translateY(-2px)}.news-card-image{object-fit:cover;flex-shrink:0;width:200px;min-height:160px}.news-card-body{padding:var(--space-4);flex-direction:column;justify-content:center;display:flex}.news-card-title{font-family:var(--font-heading);color:var(--color-campaign-teal);margin:0 0 var(--space-1) 0;letter-spacing:-.01em;font-size:1.25rem}.news-card-meta{font-family:var(--font-body);font-size:var(--font-size-small,.85rem);color:var(--color-campaign-charcoal);opacity:.6;margin-bottom:var(--space-2)}.news-card-excerpt{font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-campaign-charcoal);margin:0;line-height:1.6}@media (width<=640px){.news-page{padding:var(--space-8) var(--space-3)}.news-card{flex-direction:column}.news-card-image{width:100%;height:180px;min-height:auto}}.news-post-page{padding:var(--space-12) var(--space-4);background-color:var(--color-campaign-warm-white);min-height:50vh}.news-post-content{max-width:720px;margin:0 auto}.news-post-loading,.news-post-not-found{text-align:center;padding:var(--space-16) 0;font-family:var(--font-body);color:var(--color-campaign-charcoal)}.news-post-not-found h2{font-family:var(--font-heading);font-size:var(--font-size-h2);color:var(--color-campaign-teal);margin:0 0 var(--space-2) 0}.back-to-news{font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-campaign-teal);margin-bottom:var(--space-6);font-weight:600;text-decoration:none;display:inline-block}.back-to-news:hover{text-decoration:underline}.news-post-title{font-family:var(--font-heading);color:var(--color-campaign-teal);margin:0 0 var(--space-2) 0;letter-spacing:-.02em;font-size:2rem;line-height:1.2}.news-post-meta{font-family:var(--font-body);font-size:var(--font-size-small,.85rem);color:var(--color-campaign-charcoal);opacity:.6;margin-bottom:var(--space-6)}.news-post-featured-image{object-fit:cover;width:100%;max-height:400px;margin-bottom:var(--space-6);border-radius:8px}.news-post-body{font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-campaign-charcoal);line-height:1.8}.news-post-body h2{font-family:var(--font-heading);font-size:var(--font-size-h3,1.4rem);color:var(--color-campaign-teal);margin:var(--space-6) 0 var(--space-3) 0}.news-post-body h3{font-family:var(--font-heading);color:var(--color-campaign-teal);margin:var(--space-5) 0 var(--space-2) 0;font-size:1.15rem}.news-post-body p{margin:0 0 var(--space-4) 0}.news-post-body a{color:var(--color-campaign-teal);text-decoration:underline}.news-post-body ul,.news-post-body ol{margin:0 0 var(--space-4) 0;padding-left:var(--space-5)}.news-post-body li{margin-bottom:var(--space-1)}.news-post-body blockquote{border-left:4px solid var(--color-campaign-gold);margin:var(--space-4) 0;padding:var(--space-2) var(--space-4);color:var(--color-campaign-charcoal);opacity:.85;font-style:italic}.news-post-body img{max-width:100%;height:auto;margin:var(--space-4) 0;border-radius:6px}@media (width<=640px){.news-post-page{padding:var(--space-6) var(--space-3)}.news-post-title{font-size:1.6rem}}.posts-dashboard{padding:1.5rem}.posts-dashboard-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.posts-dashboard-header h1{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.posts-new-btn{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.25rem;font-weight:600;transition:opacity .15s}.posts-new-btn:hover{opacity:.9}.posts-filter-bar{margin-bottom:1rem}.posts-filter-select{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:6px;padding:.4rem .75rem;font-size:.9rem}.posts-loading,.posts-empty{text-align:center;color:var(--text-secondary);padding:3rem 0}.posts-table{border-collapse:collapse;width:100%}.posts-table th{text-align:left;border-bottom:2px solid var(--border-color);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:.6rem .75rem;font-size:.8rem}.posts-table-row{cursor:pointer;transition:background .1s}.posts-table-row:hover{background:var(--bg-hover)}.posts-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:.75rem;font-size:.9rem}.posts-table-title{font-weight:600}.posts-table-author,.posts-table-date{color:var(--text-secondary)}.posts-status-badge{border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.posts-status-published{color:#059669;background:#10b9811f}.posts-status-draft{color:var(--text-secondary);background:#9ca3af26}.posts-table-actions{text-align:right;width:40px}.posts-delete-btn{cursor:pointer;opacity:.5;background:0 0;border:none;padding:.25rem;font-size:1rem;transition:opacity .15s}.posts-delete-btn:hover{opacity:1}.post-editor{max-width:900px;padding:1.5rem}.post-editor-loading{text-align:center;color:var(--text-secondary);padding:3rem 0}.post-editor-header h1{color:var(--text-primary);margin:0 0 1.5rem;font-size:1.75rem;font-weight:700}.post-editor-form{flex-direction:column;gap:1.25rem;display:flex}.post-editor-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.post-editor-title-input{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:6px;padding:.6rem .75rem;font-size:1.1rem}.post-editor-title-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 2px #3b82f626}.post-editor-tiptap{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.tiptap-toolbar{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-wrap:wrap;gap:2px;padding:.4rem;display:flex}.tiptap-btn{color:var(--text-primary);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:4px;min-width:32px;padding:.3rem .6rem;font-size:.85rem;font-weight:600;transition:background .1s}.tiptap-btn:hover{background:var(--bg-hover)}.tiptap-btn.active{background:var(--accent-primary);color:#fff}.tiptap-btn:disabled{opacity:.3;cursor:default}.tiptap-toolbar-spacer{flex:1}.tiptap-content{background:var(--bg-primary);min-height:300px;color:var(--text-primary);padding:1rem}.tiptap-content .tiptap{outline:none;min-height:280px}.tiptap-content .tiptap p{margin:0 0 .75rem}.tiptap-content .tiptap h2{margin:1.5rem 0 .75rem;font-size:1.4rem;font-weight:700}.tiptap-content .tiptap h3{margin:1.25rem 0 .5rem;font-size:1.15rem;font-weight:600}.tiptap-content .tiptap ul,.tiptap-content .tiptap ol{margin:0 0 .75rem;padding-left:1.5rem}.tiptap-content .tiptap blockquote{border-left:3px solid var(--border-color);color:var(--text-secondary);margin:.75rem 0;padding:.25rem 1rem}.tiptap-content .tiptap a{color:var(--accent-primary);text-decoration:underline}.post-editor-file-input{color:var(--text-primary);font-size:.9rem}.post-editor-image-preview{margin-top:.75rem}.post-editor-image-preview img{object-fit:cover;border-radius:6px;max-width:300px;max-height:200px;margin-bottom:.5rem;display:block}.post-editor-remove-image{color:#dc2626;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600}.post-editor-remove-image:hover{text-decoration:underline}.post-editor-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:.75rem;padding-top:.75rem;display:flex}.post-editor-actions button{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;transition:opacity .15s}.post-editor-actions button:disabled{opacity:.6;cursor:not-allowed}.post-editor-cancel-btn{color:var(--text-secondary);background:0 0;border:1px solid var(--border-color)!important}.post-editor-cancel-btn:hover:not(:disabled){background:var(--bg-hover)}.post-editor-draft-btn,.post-editor-save-btn{background:var(--accent-primary);color:#fff}.post-editor-draft-btn:hover:not(:disabled),.post-editor-save-btn:hover:not(:disabled){opacity:.9}.post-editor-publish-btn{color:#fff;background:#059669}.post-editor-publish-btn:hover:not(:disabled){opacity:.9}.post-editor-unpublish-btn{color:var(--text-secondary);background:0 0;border:1px solid var(--border-color)!important}.post-editor-unpublish-btn:hover:not(:disabled){background:var(--bg-hover)}.endorse-page{padding:var(--space-16) var(--space-4);background-color:var(--color-campaign-earth-light)}.endorse-content{max-width:600px;margin:0 auto}.endorse-intro{margin-bottom:var(--space-8);text-align:center}.endorse-intro p{font-family:var(--font-body);font-size:var(--font-size-body);margin:0;line-height:1.8}.endorse-form-card{background-color:var(--color-bg-secondary);padding:var(--space-8);box-shadow:var(--shadow-md);border-radius:8px}.endorse-form-card h1{font-family:var(--font-heading);font-size:var(--font-size-h2);color:var(--color-campaign-teal);margin:0 0 var(--space-2) 0}.endorse-form-card>p{font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0 0 var(--space-8) 0}.endorse-form{gap:var(--space-6);flex-direction:column;display:flex}.endorse-name-row{gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.endorse-field{gap:var(--space-2);flex-direction:column;display:flex}.endorse-field label{font-family:var(--font-heading);color:var(--color-campaign-teal);font-size:var(--font-size-body)}.endorse-field .required{color:var(--color-campaign-gold-dark)}.endorse-field input,.endorse-field textarea{font-family:var(--font-body);font-size:var(--font-size-body);padding:var(--space-3);border:2px solid var(--color-campaign-teal-light);border-radius:6px;transition:border-color .2s}.endorse-field input:focus,.endorse-field textarea:focus{border-color:var(--color-campaign-teal);outline:none}.endorse-field input:focus-visible,.endorse-field textarea:focus-visible{outline:2px solid var(--color-campaign-teal);outline-offset:2px}.endorse-char-count{font-family:var(--font-body);font-size:var(--font-size-small);color:var(--color-text-muted);text-align:right;margin-top:var(--space-1)}.endorse-file-help{font-family:var(--font-body);font-size:var(--font-size-small);color:var(--color-text-muted);margin-top:var(--space-1)}.endorse-file-input{font-family:var(--font-body);font-size:var(--font-size-small);color:var(--color-text-muted)}.endorse-file-input::file-selector-button{font-family:var(--font-heading);font-size:var(--font-size-small);padding:var(--space-2) var(--space-4);margin-right:var(--space-4);background-color:var(--color-campaign-teal-light);color:var(--color-campaign-teal);cursor:pointer;border:none;border-radius:6px;font-weight:700;transition:background-color .2s}.endorse-file-input::file-selector-button:hover{background-color:var(--color-campaign-teal);color:var(--color-text-inverse)}.endorse-submit{font-family:var(--font-heading);padding:var(--space-4) var(--space-8);background-color:var(--color-campaign-gold);color:var(--color-campaign-sky);cursor:pointer;min-height:var(--min-touch-target);border:none;border-radius:6px;width:100%;font-size:1.125rem;font-weight:700;transition:background-color .2s}.endorse-submit:hover:not(:disabled){background-color:var(--color-campaign-gold-dark);color:var(--color-text-inverse)}.endorse-submit:disabled{opacity:.6;cursor:not-allowed}.endorse-submit:focus-visible{outline:2px solid var(--color-campaign-teal);outline-offset:2px}.endorse-success{padding:var(--space-20) var(--space-4);justify-content:center;align-items:center;min-height:60vh;display:flex}.endorse-success-card{background-color:var(--color-bg-secondary);width:100%;max-width:480px;box-shadow:var(--shadow-md);padding:var(--space-8);text-align:center;border-radius:8px}.endorse-success-icon{width:48px;height:48px;color:var(--color-success);margin:0 auto var(--space-4);display:block}.endorse-success-card h2{font-family:var(--font-heading);font-size:var(--font-size-h2);color:var(--color-campaign-teal);margin:0 0 var(--space-2) 0}.endorse-success-card p{font-family:var(--font-body);font-size:var(--font-size-body);color:var(--color-text-secondary);margin:0}@media (width<=768px){.endorse-page{padding:var(--space-12) var(--space-4)}.endorse-form-card{padding:var(--space-6) var(--space-4)}.endorse-name-row{grid-template-columns:1fr}}#root{min-height:100vh}h2{color:var(--color-text-primary);margin-top:0}.loading-screen{background:linear-gradient(135deg, var(--color-sidebar-bg) 0%, var(--color-accent-primary) 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-logo{filter:drop-shadow(0 4px 6px #0000004d);width:200px;height:auto;animation:1.5s ease-in-out infinite pulse}.signing-page{background:var(--color-bg-primary);min-height:100vh;padding:20px}.signing-container{background:#fff;border-radius:8px;max-width:1200px;margin:0 auto;overflow:hidden;box-shadow:0 2px 8px #0000001a}.signing-header{background:var(--color-header-bg);color:#fff;padding:20px 30px}.signing-header h1{margin:0 0 10px;font-size:1.5rem}.signing-header p{opacity:.9;margin:5px 0}.signing-content{grid-template-columns:1fr 1fr;gap:20px;padding:20px;display:grid}@media (width<=900px){.signing-content{grid-template-columns:1fr}}.signing-content-single{padding:20px}.signing-actions{background:var(--color-bg-primary);border-radius:8px;flex-direction:column;gap:15px;margin-top:20px;padding:20px;display:flex}.signing-progress{color:var(--color-text-muted);text-align:center;font-size:.9rem}.signing-pdf-section,.signing-form-section{padding:10px}.signing-form-section h3{border-bottom:1px solid var(--color-border-primary);color:var(--color-text-primary);margin:0 0 15px;padding-bottom:10px}.form-fields{flex-direction:column;gap:15px;margin-bottom:20px;display:flex}.form-field{flex-direction:column;gap:5px;display:flex}.form-field label{color:var(--color-text-secondary);font-size:.9rem;font-weight:500}.form-field input{border:1px solid var(--color-border-secondary);border-radius:6px;padding:10px 12px;font-size:1rem}.form-field input:focus{border-color:var(--color-accent-primary);outline:none;box-shadow:0 0 0 3px #3574b81a}.signature-fields{flex-direction:column;gap:15px;margin-bottom:20px;display:flex}.signature-field{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;justify-content:space-between;align-items:center;padding:15px;display:flex}.signature-preview-small{align-items:center;gap:10px;display:flex}.signature-preview-small img{border:1px solid var(--color-border-secondary);border-radius:4px;max-width:150px;max-height:50px}.consent-section{background:var(--color-consent-bg);border:1px solid var(--color-consent-border);border-radius:6px;margin:20px 0;padding:20px}.consent-disclosure{color:var(--color-consent-text);margin-bottom:15px;font-size:.9rem}.consent-disclosure ul{margin:10px 0;padding-left:20px}.consent-disclosure li{margin:5px 0}.consent-checkbox{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.consent-checkbox input{margin-top:3px}.btn-large{width:100%;padding:15px 30px;font-size:1.1rem}.signature-modal{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.signature-modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;padding:30px}.signature-modal-content h3{margin:0 0 20px}.signature-tabs{gap:10px;margin-bottom:20px;display:flex}.signature-tabs .tab{background:var(--color-bg-hover);cursor:pointer;border:none;border-radius:6px;padding:10px 20px}.signature-tabs .tab.active{background:var(--color-accent-primary-hover);color:#fff}.signature-draw-area{text-align:center}.signature-canvas{border:2px solid var(--color-border-secondary);border-radius:6px}.signature-hint{color:var(--color-text-muted);margin-top:10px;font-size:.85rem}.signature-type-area{flex-direction:column;gap:15px;display:flex}.signature-input{border:1px solid var(--color-border-secondary);border-radius:6px;padding:12px;font-size:1rem}.signature-preview{background:var(--color-bg-primary);border-radius:6px;align-items:center;min-height:60px;padding:20px;display:flex}.signature-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.signature-name-input{text-align:left;margin-top:15px}.signature-name-input label{color:var(--color-text-secondary);margin-bottom:5px;font-size:.9rem;display:block}.signature-name-input .signature-input{box-sizing:border-box;width:100%}.signature-name-input .signature-input.error{border-color:var(--color-error)}.signature-name-input .field-error{color:var(--color-error);margin-top:4px;font-size:.8rem;display:block}.signature-reuse-area{text-align:center;padding:20px 0}.signature-preview-image{background:var(--color-bg-primary);border-radius:6px;margin:15px 0;padding:15px}.signature-name-display{color:var(--color-text-secondary);margin-top:10px;font-size:.9rem}.pdf-viewer{border:1px solid var(--color-border-primary);background:#fff;border-radius:6px;min-height:600px;overflow:hidden}.pdf-form-viewer{background:var(--color-pdf-bg);border-radius:6px;padding:20px;overflow-x:auto}.pdf-form-viewer .pdf-loading,.pdf-form-viewer .pdf-error{color:#fff;text-align:center;padding:40px}.pdf-form-viewer .pdf-page{background:#fff;margin:0 auto 20px;box-shadow:0 2px 8px #0000004d}.pdf-form-viewer .pdf-field-input{box-sizing:border-box;border:2px solid var(--color-accent-primary);background:#dbeafeb3;outline:none;padding:2px 4px;font-family:inherit}.pdf-form-viewer .pdf-field-input:focus{border-color:var(--color-accent-primary-hover);background:#fff}.pdf-form-viewer .pdf-field-input::placeholder{color:var(--color-text-light);font-size:10px}.pdf-form-viewer .pdf-field-input.pdf-field-error{border-color:var(--color-error);background:#fee2e2b3}.pdf-form-viewer .pdf-field-input.pdf-field-error:focus{border-color:var(--color-error);background:#fff}.pdf-form-viewer .pdf-field-input.pdf-field-readonly{border-color:var(--color-text-light);color:var(--color-sidebar-border);cursor:not-allowed;background:#f1f5f9e6}.pdf-form-viewer .pdf-field-error-message{color:var(--color-error);white-space:nowrap;z-index:10;background:#fee2e2f2;border-radius:3px;margin-top:2px;padding:2px 6px;font-size:11px;position:absolute;box-shadow:0 1px 3px #0000001a}.pdf-form-viewer .pdf-signature-box{border:2px dashed var(--color-warning);cursor:pointer;background:#fef3c7b3;justify-content:center;align-items:center;transition:border-color .15s,background-color .15s;display:flex}.pdf-form-viewer .pdf-signature-box:hover{border-color:var(--color-warning);background:#fef3c7e6}.pdf-form-viewer .pdf-signature-box.signed{border-style:solid;border-color:var(--color-success);background:#fff}.pdf-form-viewer .signature-placeholder{color:var(--color-warning-dark);font-size:12px;font-weight:500}.pdf-form-viewer .pdf-autofill-box{border:1px solid var(--color-border-secondary);box-sizing:border-box;background:#f8fafce6;align-items:center;padding:0 6px;display:flex}.pdf-form-viewer .pdf-autofill-box.empty{border-style:dashed;border-color:var(--color-text-light)}.pdf-form-viewer .pdf-autofill-box.filled{border-color:var(--color-success);background:#fff}.pdf-form-viewer .autofill-value{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.pdf-form-viewer .autofill-placeholder{color:var(--color-text-light);font-size:10px;font-style:italic}@media (width<=768px){.signing-page{padding:10px}.signing-header{padding:15px 20px}.signing-header h1{font-size:1.25rem}.signing-content{gap:15px;padding:15px}.signing-content-single{padding:15px}.signing-actions{margin-top:15px;padding:15px}.signature-modal-content{width:95%;padding:20px}.signature-tabs{flex-wrap:wrap;gap:8px}.signature-tabs .tab{flex:1;min-width:45%;min-height:44px;padding:12px 15px}.signature-actions{flex-wrap:wrap}.signature-actions button{flex:1;min-width:100px;min-height:44px}.form-field input{padding:12px;font-size:16px}.signature-input{padding:14px 12px;font-size:16px}.signature-field{flex-direction:column;align-items:stretch;gap:10px}.signature-preview-small{justify-content:center}.consent-section{margin:15px 0;padding:15px}.consent-checkbox{min-height:44px}.pdf-viewer{min-height:400px}.pdf-form-viewer{padding:10px}.btn-large{padding:16px 20px;font-size:1rem}}@media (width<=480px){.signing-header h1{font-size:1.125rem}.signing-header p{font-size:.875rem}.signing-form-section h3{font-size:1rem}.form-field label,.consent-disclosure{font-size:.85rem}.signature-preview-small img{max-width:120px;max-height:40px}}
