@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&display=swap";*{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{overflow-x:clip}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg-primary: #f8fafc;--color-bg-secondary: #ffffff;--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-border-primary: #e2e8f0;--color-border-secondary: #cbd5e1;--color-border-focus: #3574B8;--color-accent-primary: #3574B8;--color-accent-primary-hover: #285a91;--color-accent-secondary: #5a9bd4;--color-accent-light: #cfe0f3;--color-accent-primary-fill: #3574B8;--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;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);color:var(--color-text-primary);background-color:var(--color-bg-primary)}[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: #3574B8;--color-accent-secondary: #8fc1e8;--color-accent-light: #1e3a5f;--color-accent-primary-fill: #3574B8;--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: #080e1a;--color-sidebar-text: #e2e8f0;--color-sidebar-text-muted: #94a3b8;--color-sidebar-border: #1e293b;--color-sidebar-hover: #1e293b;--color-sidebar-active: #3574B8;--color-txn-income: #86efac;--color-txn-income-bg: #166534;--color-txn-expense: #fca5a5;--color-txn-expense-bg: #991b1b;--color-txn-transfer: #93c5fd;--color-txn-transfer-bg: #285a91;--color-txn-split: #fcd34d;--color-txn-split-bg: #92400e;--color-txn-journal: #c4b5fd;--color-txn-journal-bg: #7c3aed;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3)}[data-theme=dark] .ag-theme-quartz{--ag-background-color: var(--color-bg-primary);--ag-header-background-color: var(--color-bg-secondary);--ag-odd-row-background-color: var(--color-bg-primary);--ag-row-hover-color: var(--color-bg-hover);--ag-border-color: var(--color-border-primary);--ag-row-border-color: var(--color-border-primary)}: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}.amount-positive{color:var(--color-txn-income)}.amount-negative{color:var(--color-txn-expense)}.amount-transfer{color:var(--color-txn-transfer)}.amount-dimmed{color:var(--color-text-muted)}body{margin:0;min-height:100vh;background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:background-color .2s ease,color .2s ease}a{color:var(--color-accent-primary);text-decoration:none}a:hover{text-decoration:underline}button{border-radius:6px;border:1px solid var(--color-border-secondary);padding:.5em 1em;font-size:.875rem;font-weight:500;font-family:inherit;background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;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{padding:.5em;font-size:1rem;border:1px solid var(--color-border-secondary);border-radius:6px;background-color:var(--color-bg-secondary);color:var(--color-text-primary)}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 ease,box-shadow .2s ease}.card-lift:hover{transform:translateY(-2px);box-shadow:0 8px 25px -5px #0000001a,0 4px 10px -3px #0000000d}.ui-badge{display:inline-block;padding:2px 8px;border-radius:8px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;line-height:1.3;white-space:nowrap;vertical-align:middle;position:relative;top:-1px}.ui-badge-sm{font-size:.6875rem;padding:1px 6px;border-radius:6px}.ui-badge-md{font-size:.75rem;padding:2px 8px;border-radius:8px}.ui-badge-lg{font-size:.8125rem;padding:3px 10px;border-radius:10px}.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{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease;white-space:nowrap;font-family:inherit}.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){background-color:var(--color-error-dark);border-color:var(--color-error-dark)}.ui-btn-danger:active:not(:disabled){background-color:var(--color-error-dark);border-color:var(--color-error-dark)}.ui-btn-ghost{background-color:transparent;color:var(--color-text-secondary);border-color:transparent}.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{background-color:transparent;color:var(--color-accent-primary);border-color:transparent;padding:.25rem .5rem;font-weight:500}.ui-btn-text:hover:not(:disabled){color:var(--color-accent-primary-hover);text-decoration:underline;background-color:transparent}.ui-btn-text:active:not(:disabled){color:var(--color-info-dark)}.ui-btn-icon{background-color:transparent;color:var(--color-text-muted);border-color:transparent;padding:.375rem;border-radius:4px}.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{background-color:transparent;color:var(--color-text-light);border-color:transparent;padding:.375rem;border-radius:4px}.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:ui-btn-spin 1s linear infinite}@keyframes ui-btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-btn-icon,.ui-btn-icon-right{display:inline-flex;align-items:center;flex-shrink:0}.ui-btn-label{display:inline-flex;align-items:center}.ui-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:ui-modal-fade-in .15s ease-out}.ui-modal-content{background:var(--color-bg-secondary);border-radius:8px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:ui-modal-slide-up .2s ease-out;outline:none}.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{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1.25rem;background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);border-radius:8px 8px 0 0}.ui-modal-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.ui-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--color-text-muted);transition:background-color .15s ease,color .15s ease}.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{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;background-color:var(--color-bg-primary);border-top:1px solid var(--color-border-primary);border-radius:0 0 8px 8px}@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(max-width:640px){.ui-modal-overlay{padding:.5rem;align-items:flex-end}.ui-modal-content{max-height:95vh;border-radius:12px 12px 0 0}.ui-modal-sm,.ui-modal-md,.ui-modal-lg,.ui-modal-xl{max-width:100%}}.ui-toast-container{position:fixed;bottom:1rem;right:1rem;z-index:1100;display:flex;flex-direction:column;gap:.5rem;max-width:400px}.ui-toast{background:var(--color-bg-secondary);border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;overflow:hidden;animation:ui-toast-slide-in .3s ease-out}.ui-toast-content{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem}.ui-toast-icon{flex-shrink:0}.ui-toast-message{flex:1;font-size:.875rem;color:var(--color-text-primary);line-height:1.4}.ui-toast-action{flex-shrink:0;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;border:none;border-radius:4px;cursor:pointer;transition:background-color .15s ease}.ui-toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--color-text-muted);transition:background-color .15s ease,color .15s ease}.ui-toast-close:hover{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}.ui-toast-progress-track{height:3px;background-color:var(--color-bg-hover)}.ui-toast-progress-bar{height:100%;transition:width .05s 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(max-width:640px){.ui-toast-container{left:1rem;right:1rem;max-width:none}}.ui-skeleton{background:linear-gradient(90deg,var(--color-border-primary) 0%,var(--color-bg-tertiary) 50%,var(--color-border-primary) 100%);background-size:200% 100%;animation:ui-skeleton-shimmer 1.5s infinite ease-in-out;border-radius:4px}.ui-skeleton-text{height:1em;width:100%;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{display:flex;flex-direction:column;gap:.5em}.ui-skeleton-lines .ui-skeleton-text{margin-bottom:0}.ui-skeleton-card{border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.ui-skeleton-card-content{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.ui-skeleton-table-row{display:flex;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border-primary)}.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:ui-skeleton-pulse 1.5s infinite ease-in-out}@keyframes ui-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.ui-form-field{display:flex;flex-direction:column;gap:.375rem}.ui-form-field-label{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.ui-form-field-required{color:var(--color-error);margin-left:.25rem}.ui-form-field-hint{font-size:.75rem;color:var(--color-text-muted);margin:0}.ui-form-field-error-message{font-size:.75rem;color:var(--color-error);margin:0}.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{padding:10px 12px;font-size:1rem;border:1px solid var(--color-border-secondary);border-radius:6px;background-color:var(--color-bg-secondary);transition:border-color .15s ease,box-shadow .15s ease}.ui-form-field input:focus,.ui-form-field select:focus,.ui-form-field textarea:focus{outline:none;border-color:var(--color-accent-primary);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{min-height:80px;resize:vertical}.ui-message-box{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border-radius:8px;border:1px solid}.ui-message-box-icon{flex-shrink:0;margin-top:.125rem}.ui-message-box-content{flex:1;min-width:0}.ui-message-box-title{font-weight:600;font-size:.875rem;margin:0 0 .25rem}.ui-message-box-message{font-size:.875rem;line-height:1.5}.ui-message-box-message p{margin:0}.ui-message-box-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;border-radius:4px;cursor:pointer;opacity:.6;transition:opacity .15s ease,background-color .15s ease}.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{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:1px solid var(--color-border-primary);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--color-text-muted);transition:all .15s;white-space:nowrap;flex-shrink:0}.ui-tab:hover{color:var(--color-text-primary)}.ui-tab:focus:not(:focus-visible){outline:none}.ui-tab:focus-visible{position:relative;z-index:1;outline:2px solid var(--color-accent-primary);outline-offset:2px}.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{display:inline-flex;align-items:center;justify-content:center;margin-left:.5rem;min-width:1.25rem;height:1.25rem;padding:0 .375rem;font-size:.6875rem;font-weight:600;border-radius:10px}.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{display:inline-flex;align-items:center}.year-filter-select{padding:.5rem 2rem .5rem .75rem;font-size:.875rem;font-weight:500;color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:.375rem;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;min-width:100px}.year-filter-select:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-secondary)}.year-filter-select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #3574b833}.ui-segmented-control{display:inline-flex;align-items:center;gap:3px;padding:5px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:12px}.ui-segmented-control__button{padding:.656rem 1.3125rem;border:none;border-radius:9px;background:transparent;cursor:pointer;font-size:1.3125rem;font-family:inherit;font-weight:500;color:var(--color-text-secondary);transition:background-color .15s,color .15s,box-shadow .15s;white-space:nowrap;line-height:1.25}.ui-segmented-control__button:hover:not(.active):not(:disabled){background:#0000001f;color:var(--color-text-primary)}.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{padding:3px;border-radius:11px}.ui-segmented-control--sm .ui-segmented-control__button{padding:.469rem .9375rem;font-size:1.219rem;border-radius:8px}.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(max-width:768px){.ui-segmented-control--responsive{flex-wrap:wrap;gap:2px}.ui-segmented-control--responsive .ui-segmented-control__button{flex:1 1 auto;min-height:44px;padding:.5rem .75rem}}.filter-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.5rem 0}.filter-bar__year select{padding:.75rem 2.25rem .75rem 1.125rem;font-size:1.3125rem;font-weight:500;color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:.5625rem;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;min-width:100px}.filter-bar__year select:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-secondary)}.filter-bar__year select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #3574b833}.filter-bar__spacer{flex:1}.filter-bar__trailing{display:flex;align-items:center;gap:.5rem;margin-left:auto;font-size:.875rem;color:var(--color-text-secondary)}.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;display:flex;flex-direction:column;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary);font-size:var(--tree-table-font-size);overflow:hidden;outline:none}.tree-table:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:-2px}.tree-table-header{display:flex;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-primary);font-weight:600;color:var(--color-text-secondary);position:sticky;top:0;z-index:10}.tree-table-header-cell{padding:var(--tree-table-header-padding);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-right:1px solid var(--color-border-primary);-webkit-user-select:none;user-select:none;position:relative}.tree-table-header-cell:last-child{border-right:none}.tree-table-resize-handle{position:absolute;top:0;width:10px;height:100%;cursor:col-resize;z-index:11}.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{display:flex;align-items:center;gap:4px;pointer-events:none}.tree-table-level-controls{display:inline-flex;align-items:center;pointer-events:auto}.tree-level-btn{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:0;border-radius:3px;outline:none;transition:color .1s ease,background-color .1s ease}.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-y:auto;overflow-x:hidden}.tree-table-row{display:flex;cursor:pointer;transition:background-color .1s ease}.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);display:flex;align-items:center;overflow:hidden;border-right:1px solid transparent}.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{width:100%;height:100%;padding:0 8px;margin:-1px;border:2px solid var(--color-accent-primary);border-radius:3px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:inherit;font-family:inherit;outline:none;box-sizing:border-box}.tree-table-edit-input:focus{box-shadow:0 0 0 2px #3b82f633}.tree-table-cell.cell-dirty{background-color:#fbbf241a}.tree-cell-content{display:flex;align-items:center;gap:4px;min-width:0;width:100%;height:100%;position:relative}.tree-connector-line{position:absolute;top:0;bottom:0;width:1px;background:var(--color-border-secondary)}.tree-connector-vertical{position:absolute;top:0;width:1px;height:50%;background:var(--color-border-secondary)}.tree-connector-vertical:not(.last-child){height:100%}.tree-connector-horizontal{position:absolute;top:50%;width:10px;height:1px;background:var(--color-border-secondary);transform:translateY(-50%)}.tree-expand-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:none;cursor:pointer;color:var(--color-text-muted);border-radius:3px;flex-shrink:0;transition:color .1s ease,background-color .1s ease}.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{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.tree-table-cell{font-variant-numeric:tabular-nums}.tree-table-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:var(--color-text-muted)}.tree-table-spinner{width:24px;height:24px;border:2px solid var(--color-border-primary);border-top-color:var(--color-accent-primary);border-radius:50%;animation:tree-table-spin .8s linear infinite}@keyframes tree-table-spin{to{transform:rotate(360deg)}}.tree-table-empty{display:flex;align-items:center;justify-content:center;padding:48px 24px;color:var(--color-text-muted);font-style:italic}.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{display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:2px;color:var(--color-text-muted);cursor:grab;border-radius:3px;flex-shrink:0;opacity:0;transition:opacity .15s ease,color .1s ease,background-color .1s ease}.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, rgba(239, 68, 68, .1));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)}.tree-table-checkbox-cell,.tree-table-checkbox-header-cell{padding:0 6px}.tree-table-checkbox{pointer-events:auto;cursor:pointer;margin:0;accent-color:var(--color-accent-primary)}[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 (max-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);font-size:.8125rem;padding:.375rem .625rem;border-radius:4px;max-width:300px;z-index:9999;pointer-events:none;animation:tooltip-fade-in .15s ease-out}@keyframes tooltip-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ui-autocomplete{position:relative}.ui-autocomplete__input{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);outline:none;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{font-size:.8125rem;color:var(--color-text-muted);padding:.25rem 0}.ui-autocomplete__dropdown{z-index:1000;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;box-shadow:0 4px 12px #0000001f;max-height:240px;overflow-y:auto;list-style:none;margin:0;padding:.25rem}.ui-autocomplete__option{padding:.5rem .75rem;font-size:.875rem;cursor:pointer;border-radius:4px}.ui-autocomplete__option--highlighted{background-color:var(--color-bg-hover)}.ui-autocomplete__no-results{padding:.75rem;font-size:.875rem;color:var(--color-text-muted)}.ui-empty-state{text-align:center;padding:2rem 1.5rem;color:var(--text-muted)}.ui-empty-state__icon{margin-bottom:.75rem;color:var(--text-muted)}.ui-empty-state__icon svg{width:2.5rem;height:2.5rem}.ui-empty-state__title{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:0 0 .375rem}.ui-empty-state__description{font-size:.875rem;max-width:400px;margin:0 auto}.ui-empty-state__hint{font-size:.8125rem;margin:.375rem auto 0;max-width:400px;opacity:.8}.ui-empty-state__actions{margin-top:1rem;display:flex;justify-content:center;gap:.5rem}.error-boundary-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;text-align:center}.error-boundary-fallback h2{margin:0;font-size:1.25rem;color:var(--color-text-primary)}.error-boundary-fallback details{max-width:600px;text-align:left}.error-boundary-fallback pre{padding:.75rem;background:var(--color-bg-tertiary);border-radius:4px;font-size:.8rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-boundary-fallback__retry{padding:.5rem 1.5rem;border:1px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-secondary);cursor:pointer;font-size:.9rem}.error-boundary-fallback__retry:hover{background:var(--color-bg-tertiary)}.ui-selectable-list__header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--color-border-primary);margin-bottom:.25rem}.ui-selectable-list__select-all{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;cursor:pointer}.ui-selectable-list__count{font-size:.8125rem;color:var(--color-text-muted)}.ui-selectable-list__items{display:flex;flex-direction:column}.ui-selectable-list__item{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.875rem;cursor:pointer;border-radius:4px}.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{display:block;min-width:400px}.waterfall-zero-line{stroke:var(--color-border);stroke-width:1;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{font-size:12px;font-weight:600;fill:var(--color-text-primary)}.waterfall-bar-label{font-size:11px;fill:var(--color-text-secondary)}.waterfall-connector{stroke:var(--color-text-tertiary);stroke-width:1;stroke-dasharray:3 2}.ui-form-group{margin-bottom:1rem}.ui-form-group:last-child{margin-bottom:0}.ui-form-group label{display:block;font-weight:500;margin-bottom:.375rem;font-size:.875rem;color:var(--color-text-secondary)}.ui-form-row{display:flex;gap:1rem;margin-bottom:1rem}.ui-form-row .ui-form-group{flex:1;margin-bottom:0}.ui-actions{display:flex;gap:.5rem;margin-top:1rem}.ui-actions-right{display:flex;gap:.5rem;margin-left:auto}.ui-checkbox-label,.ui-form-group label.ui-checkbox-label{display:inline-flex;align-items:center;gap:.5rem;font-weight:400;font-size:.875rem;color:var(--color-text-secondary);cursor:pointer}.ui-checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;vertical-align:middle;cursor:pointer}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;background:linear-gradient(135deg,var(--color-sidebar-bg) 0%,var(--color-accent-primary) 100%)}.login-logo{width:355px;height:auto;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}.login-card{background:var(--color-bg-secondary);padding:2.5rem;border-radius:12px;text-align:center;max-width:400px;width:90%;box-shadow:var(--shadow-lg)}.login-card p{color:var(--color-text-muted);margin:0 0 1.5rem}.login-card .ui-btn{width:100%;padding:.75rem 1.5rem;font-size:1rem}.login-card .error-message{color:var(--color-error);background:var(--color-error-light);padding:.75rem;border-radius:6px;margin:0 0 1.5rem;font-size:.875rem}.theme-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:transparent;border:none;border-radius:6px;color:var(--color-sidebar-text-muted);cursor:pointer;transition:background-color .15s,color .15s}.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%;justify-content:flex-start;padding:.5rem 1rem;color:var(--color-sidebar-text-muted)}.sidebar .theme-toggle:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text)}.mobile-header .theme-toggle{min-width:44px;min-height:44px;justify-content:center;padding:.5rem}.nav-section-container{list-style:none}.nav-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 1rem .375rem 28px;background:none;border:none;cursor:pointer;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-sidebar-text-muted);font-family:inherit;opacity:.85}.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{transition:transform .2s ease;flex-shrink:0;opacity:.5}.nav-section-icon.expanded{transform:rotate(90deg)}.nav-section-items{list-style:none;padding:0;margin:0;overflow:hidden;transition:max-height .2s ease-out,opacity .2s ease-out}.nav-section-items>li>a{padding-left:36px}.nav-section-items>li>a.active{padding-left:33px}.nav-section-items.expanded{max-height:500px;opacity:1}.nav-section-items.collapsed{max-height:0;opacity:0;visibility:hidden}.nav-section-dot{display:inline-block;width:6px;height:6px;background:var(--color-accent-primary);border-radius:50%;margin-left:6px;vertical-align:middle}.nav-section-container.secondary .nav-section-header{color:var(--color-sidebar-text-muted);opacity:.8}.nav-subgroup-header{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-sidebar-text-muted);padding:.75rem 1rem .25rem 32px;opacity:.7;cursor:default;list-style:none}.nav-subgroup-item a{padding-left:36px!important}.nav-subgroup-item a.active{padding-left:33px!important}.nav-standalone{list-style:none;margin-top:.5rem}.nav-standalone>a{display:block;font-size:.875rem;font-weight:500;color:var(--color-sidebar-text);padding:.5rem 1rem .5rem 36px;text-decoration:none;transition:background-color .15s}.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{display:flex;min-height:100vh}.sidebar{width:195px;background:var(--color-sidebar-bg);color:var(--color-sidebar-text);padding:1rem 0;flex-shrink:0;display:flex;flex-direction:column;transition:width .2s ease,background-color .2s ease;position:relative}.sidebar.collapsed{width:28px;transition:width .15s ease,margin-right .15s ease,box-shadow .15s ease,background-color .2s ease}.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{width:195px;margin-right:-167px;z-index:100;box-shadow:2px 0 8px #0000004d}.sidebar.collapsed:hover .nav-list,.sidebar.collapsed:hover .sidebar-footer{display:block;animation:sidebarPeekFadeIn .12s ease .04s both}.sidebar.collapsed:hover .sidebar-header>a{display:block;animation:sidebarPeekFadeIn .12s ease .04s both}.sidebar.collapsed:hover .sidebar-header{border-bottom:1px solid var(--color-sidebar-border);padding:0 1rem .375rem}.sidebar.collapsed:hover .sidebar-toggle{position:absolute;bottom:4px;right:4px;margin:0}@keyframes sidebarPeekFadeIn{0%{opacity:0}to{opacity:1}}.sidebar.collapsed.peek-dismissed:hover{width:28px;margin-right:0;box-shadow:none}.sidebar.collapsed.peek-dismissed:hover .nav-list,.sidebar.collapsed.peek-dismissed:hover .sidebar-footer{display:none;animation:none}.sidebar.collapsed.peek-dismissed:hover .sidebar-header>a{display:none;animation:none}.sidebar.collapsed.peek-dismissed:hover .sidebar-header{border-bottom:none;padding:.5rem 0}.sidebar.collapsed.peek-dismissed:hover .sidebar-toggle{position:static;margin:0 auto}.sidebar-header{padding:0 1rem .375rem;border-bottom:1px solid var(--color-sidebar-border);display:flex;flex-direction:column;align-items:center;position:relative}.sidebar-toggle{position:absolute;bottom:4px;right:4px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:4px;color:var(--color-sidebar-text-muted);border-radius:4px;transition:background-color .15s,color .15s;outline:none}.sidebar-toggle:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text)}.sidebar-toggle:focus{outline:none}.sidebar.collapsed .sidebar-toggle{position:static;margin:0 auto}.sidebar-logo{height:122px;width:auto}.nav-list{list-style:none;padding:0;margin:1rem 0;flex:1}.nav-list a{display:block;padding:.5rem 1rem .5rem 36px;font-size:.875rem;color:var(--color-sidebar-text);text-decoration:none;transition:background-color .15s}.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{flex:1;padding:1.5rem;background:var(--color-bg-primary);overflow:auto;transition:background .2s ease;min-width:0}.sidebar-footer{padding:1rem;border-top:1px solid var(--color-sidebar-border)}.user-info{font-size:.875rem;color:var(--color-sidebar-text-muted);margin-bottom:.5rem;margin-top:.75rem;text-align:center}.logout-btn{width:100%;background:transparent;border:1px solid var(--color-border-secondary);color:var(--color-sidebar-text-muted);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{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:var(--color-warning);color:var(--color-text-primary);font-size:.7rem;font-weight:600;border-radius:8px;margin-left:8px}.nav-list a.active .nav-badge{background:#fff;color:var(--color-accent-primary)}.mobile-header{display:none;background:var(--color-sidebar-bg);color:var(--color-sidebar-text);padding:.75rem 1rem;align-items:center;gap:1rem;position:fixed;top:0;left:0;right:0;z-index:100;transition:background-color .2s ease}.mobile-logo{height:54px;width:auto;flex:1;object-fit:contain}.menu-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:.25rem;color:var(--color-sidebar-text)}.menu-btn:hover{color:var(--color-sidebar-text)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:199}@media(max-width:1024px){.sidebar{width:200px}.main-content{padding:1rem}}@media(max-width:768px){.sidebar-toggle{display:none}.mobile-header{display:flex;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))}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:200;transform:translate(-100%);transition:transform .3s ease,background-color .2s ease;width:260px;padding-left:env(safe-area-inset-left);padding-bottom:env(safe-area-inset-bottom)}.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{padding:.75rem 1rem;min-height:44px;display:flex;align-items:center}.menu-btn{min-width:44px;min-height:44px;padding:.5rem}.logout-btn{min-height:44px;padding:.75rem}}.preview-gate__overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999}.preview-gate__card{background:#1a1f2e;border:1px solid rgba(212,160,23,.25);border-radius:12px;padding:2.5rem 2rem 2rem;max-width:420px;width:90%;text-align:center;box-shadow:0 8px 40px #0006,0 0 60px #d4a0170f}.preview-gate__title{font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:700;color:#e0b840;margin:0 0 1rem;letter-spacing:.02em}.preview-gate__description{color:#94a3b8;font-size:.95rem;margin:0 0 1rem;line-height:1.6}.preview-gate__description strong{color:#f1f5f9;font-weight:600}.preview-gate__card .ui-btn-primary{background:linear-gradient(135deg,#d4a017,#b8860b);color:#0f1219;border:none;font-weight:700;letter-spacing:.04em;padding:.6rem 2rem;margin-top:.5rem}.preview-gate__card .ui-btn-primary:hover{box-shadow:0 2px 16px #d4a0174d}.shortcuts-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.shortcuts-modal{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:12px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.shortcuts-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-tertiary)}.shortcuts-header h2{margin:0;font-size:1.125rem;color:var(--color-text-primary)}.shortcuts-close{background:transparent;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:0;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px}.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{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.shortcuts-hint{font-size:.8125rem;color:var(--color-text-muted);margin:0 0 .75rem}.shortcuts-list{list-style:none;padding:0;margin:0}.shortcuts-list li{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--color-border-primary)}.shortcuts-list li:last-child{border-bottom:none}.shortcut-key{display:flex;align-items:center;gap:.25rem}.shortcut-key kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);border-radius:4px;font-family:inherit;font-size:.75rem;font-weight:500;color:var(--color-text-primary);box-shadow:0 1px 0 var(--color-border-secondary)}.shortcut-desc{font-size:.875rem;color:var(--color-text-secondary)}.shortcuts-footer{padding:.75rem 1.5rem;border-top:1px solid var(--color-border-primary);background:var(--color-bg-tertiary);text-align:center}.shortcuts-footer p{margin:0;font-size:.8125rem;color:var(--color-text-muted)}@media(max-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;font-family:Verdana;border-collapse:collapse}.pvtUi select{user-select:none;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.pvtUi td.pvtOutput{vertical-align:top}table.pvtTable{font-size:8pt;text-align:left;border-collapse:collapse;margin-top:3px;margin-left:3px;font-family:Verdana}table.pvtTable thead tr th,table.pvtTable tbody tr th{background-color:#ebf0f8;border:1px solid #c8d4e3;font-size:8pt;padding:5px}table.pvtTable .pvtColLabel{text-align:center}table.pvtTable .pvtTotalLabel{text-align:right}table.pvtTable tbody tr td{color:#2a3f5f;padding:5px;background-color:#fff;border:1px solid #c8d4e3;vertical-align:top;text-align:right}.pvtTotal,.pvtGrandTotal{font-weight:700}.pvtRowOrder,.pvtColOrder{cursor:pointer;width:15px;margin-left:5px;display:inline-block;user-select:none;text-decoration:none!important;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.pvtAxisContainer,.pvtVals{border:1px solid #a2b1c6;background:#f2f5fa;padding:5px;min-width:20px;min-height:20px}.pvtRenderers{padding-left:5px;-webkit-user-select:none;user-select:none}.pvtDropdown{display:inline-block;position:relative;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none;margin:3px}.pvtDropdownIcon{float:right;color:#a2b1c6}.pvtDropdownCurrent{text-align:left;border:1px solid #a2b1c6;border-radius:4px;display:inline-block;position:relative;width:210px;box-sizing:border-box;background:#fff}.pvtDropdownCurrentOpen{border-radius:4px 4px 0 0}.pvtDropdownMenu{background:#fff;position:absolute;width:100%;margin-top:-1px;border-radius:0 0 4px 4px;border:1px solid #a2b1c6;border-top:1px solid #dfe8f3;box-sizing:border-box}.pvtDropdownValue{padding:2px 5px;font-size:12px;text-align:left}.pvtDropdownActiveValue{background:#ebf0f8}.pvtVals{text-align:center;white-space:nowrap;vertical-align:top;padding-bottom:12px}.pvtRows{height:35px}.pvtAxisContainer li{padding:8px 6px;list-style-type:none;cursor:move}.pvtAxisContainer li.pvtPlaceholder{-webkit-border-radius:5px;padding:3px 15px;-moz-border-radius:5px;border-radius:5px;border:1px dashed #a2b1c6}.pvtAxisContainer li.pvtPlaceholder span.pvtAttr{display:none}.pvtAxisContainer li span.pvtAttr{-webkit-text-size-adjust:100%;background:#f3f6fa;border:1px solid #c8d4e3;padding:2px 5px;white-space:nowrap;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.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{position:absolute;right:5px;top:5px;font-size:18px;cursor:pointer;text-decoration:none!important}.pvtDragHandle{position:absolute;left:5px;top:5px;font-size:18px;cursor:move;color:#a2b1c6}.pvtButton{color:#506784;border-radius:5px;padding:3px 6px;background:#f2f5fa;border:1px solid;border-color:#c8d4e3;font-size:14px;margin:3px;transition:.34s all cubic-bezier(.19,1,.22,1);text-decoration:none!important}.pvtButton:hover{background:#e2e8f0;border-color:#a2b1c6}.pvtButton:active{background:#d1dae6}.pvtFilterBox input{border:1px solid #c8d4e3;border-radius:5px;color:#506784;padding:0 3px;font-size:14px}.pvtFilterBox input:focus{border-color:#119dff;outline:none}.pvtFilterBox{z-index:100;width:300px;border:1px solid #506784;background-color:#fff;position:absolute;text-align:center;user-select:none;min-height:100px;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.pvtFilterBox h4{margin:15px}.pvtFilterBox p{margin:10px auto}.pvtFilterBox button{color:#2a3f5f}.pvtFilterBox input[type=text]{width:230px;color:#2a3f5f;margin-bottom:5px}.pvtCheckContainer{text-align:left;font-size:14px;white-space:nowrap;overflow-y:scroll;width:100%;max-height:30vh;border-top:1px solid #dfe8f3}.pvtCheckContainer p{margin:0 0 1px;padding:3px;cursor:default}.pvtCheckContainer p.selected{background:#ebf0f8}.pvtOnly{display:none;width:35px;float:left;font-size:12px;padding-left:5px;cursor:pointer}.pvtOnlySpacer{display:block;width:35px;float:left}.pvtCheckContainer p:hover .pvtOnly{display:block}.pvtCheckContainer p:hover .pvtOnlySpacer{display:none}.pvtRendererArea{padding:5px}.enrollment-page{height:100%;display:flex;flex-direction:column}.enrollment-page .header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.enrollment-page .header h2{margin:0}.enrollment-page .enrollment-tabs{margin-bottom:0;border-bottom:none}.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(max-width:1024px){.enrollment-page .grid-container,.enrollment-page .chart-container,.enrollment-page .pivot-container{min-height:400px}}@media(max-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(max-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{position:fixed;inset:0;background:#000c;z-index:1000;display:flex;align-items:center;justify-content:center}.attachment-preview-container{display:flex;flex-direction:column;width:90vw;height:90vh;background:var(--color-bg-secondary);border-radius:8px;overflow:hidden}.attachment-preview-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-tertiary);flex-shrink:0}.attachment-preview-filename{font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-preview-actions{display:flex;gap:.25rem}.attachment-preview-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;cursor:pointer;border-radius:4px;color:var(--color-text-secondary);text-decoration:none}.attachment-preview-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.attachment-preview-body{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--color-bg-tertiary)}.attachment-preview-pdf{width:100%;height:100%;border:none}.attachment-preview-image{max-width:100%;max-height:100%;object-fit:contain}.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{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffffd9;border-radius:50%;cursor:pointer;color:var(--color-text-primary);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{position:relative;width:100%}.category-selector--disabled,.category-selector--loading{opacity:.6}.category-selector__trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-secondary);cursor:pointer;text-align:left}.category-selector__trigger:disabled{cursor:not-allowed;opacity:.6}.category-selector__value{display:flex;align-items:center;gap:.5rem;flex:1;overflow:hidden}.category-selector__number{font-family:monospace;font-size:.8125rem;color:var(--color-text-muted)}.category-selector__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-selector__placeholder{color:var(--color-text-muted)}.category-selector__arrow{color:var(--color-text-muted);font-size:.625rem}.category-selector__dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;box-shadow:0 4px 12px #00000026;margin-top:4px;max-height:300px;display:flex;flex-direction:column}.category-selector__dropdown--fixed{z-index:10000;max-height:400px}.category-selector__search{padding:.5rem;border:none;border-bottom:1px solid var(--color-border-primary);font-size:.875rem;outline:none}.category-selector__toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem;font-size:.75rem;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-primary);cursor:pointer}.category-selector__toggle:hover{background:var(--color-bg-hover)}.category-selector__toggle input{margin:0}.category-selector__options{overflow-y:auto;flex:1}.category-selector__option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:none;cursor:pointer;text-align:left;font-size:.875rem}.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);font-size:.8125rem;font-weight:500;cursor:default}.category-selector__option--parent:hover{background:transparent}.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{font-family:monospace;font-size:.75rem;color:var(--color-text-muted);min-width:60px}.category-selector__option-name{flex:1}.category-selector__group{margin-bottom:.25rem}.category-selector__group-header{padding:.5rem .75rem;font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-bg-tertiary)}.category-selector__badge{font-size:.625rem;padding:.125rem .375rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.category-selector__badge--shared{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.category-selector__empty{padding:1rem;text-align:center;color:var(--color-text-muted)}.import-modal-content{display:flex;flex-direction:column;gap:1.5rem}.import-step{display:flex;flex-direction:column;gap:.75rem}.import-step h4{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.file-upload{display:flex;gap:.5rem;align-items:center}.file-upload input[type=file]{flex:1;padding:.5rem;border:1px dashed var(--color-border-primary);border-radius:4px;background:var(--color-bg-tertiary)}.file-hint{font-size:.75rem;color:var(--color-text-muted);margin:0}.import-error{padding:.75rem;background:var(--color-error-light);color:var(--color-error);border-radius:4px;font-size:.875rem}.preview-summary{display:flex;gap:2rem;padding:.75rem;background:var(--color-bg-tertiary);border-radius:4px}.summary-stat{display:flex;flex-direction:column;align-items:center}.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{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase}.preview-warnings{padding:.75rem;background:var(--color-warning-light);border-radius:4px;font-size:.875rem}.preview-warnings ul{margin:.5rem 0 0;padding-left:1.25rem}.preview-warnings li{margin:.25rem 0}.preview-table-wrapper{max-height:300px;overflow-y:auto;border:1px solid var(--color-border-primary);border-radius:4px}.preview-table th,.preview-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--color-border-primary)}.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;font-style:italic;color:var(--color-text-muted)}.import-modal-content .modal-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:1rem;border-top:1px solid var(--color-border-primary)}.donor-search .new-donor-btn{margin-top:.75rem;background:var(--color-bg-tertiary);border:1px dashed var(--color-border-secondary);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;color:var(--color-text-muted);transition:all .15s}.donor-search .new-donor-btn:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.donor-search.selected-donor{display:flex;justify-content:space-between;align-items:center;background:var(--color-success-light);border:1px solid #86efac;border-radius:6px;padding:.75rem 1rem}.donor-search.selected-donor .donor-info{display:flex;flex-direction:column;gap:.25rem}.donor-search.selected-donor .email{font-size:.75rem;color:var(--color-text-muted)}.donor-search.selected-donor .clear-btn{padding:.375rem .75rem;font-size:.75rem}.budget-sidebar{width:130px;min-width:130px;padding:12px;border-right:1px solid var(--color-border-primary);background:var(--color-bg-secondary);overflow-y:auto}.sidebar-section{margin-bottom:16px}.sidebar-section:last-child{margin-bottom:0}.sidebar-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 8px;letter-spacing:.5px}.sidebar-options{display:flex;flex-direction:column;gap:2px}.sidebar-option{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;cursor:pointer;font-size:.8125rem;color:var(--color-text-primary);transition:background-color .15s}.sidebar-option:hover{background:var(--color-bg-hover)}.sidebar-option input[type=radio]{width:12px;height:12px;margin:0;cursor:pointer;accent-color:var(--color-accent-primary)}.sidebar-option .option-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-option .current-badge{color:var(--color-accent-primary);font-size:.5rem;margin-left:4px}.version-timeline{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0}.version-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:16px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s;border:2px solid transparent;background:transparent}.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{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.platform-settlement-subtitle{margin:0;color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.platform-settlement-loading,.platform-settlement-error,.platform-settlement-empty{padding:2rem;text-align:center;color:var(--color-text-secondary)}.platform-settlement-error{color:var(--color-error)}.platform-settlement-empty-income .platform-settlement-import-prompt{padding:2rem;text-align:center;background:var(--color-bg-tertiary)}.platform-settlement-import-prompt p{margin-bottom:1rem;color:var(--color-text-secondary)}.import-statement-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-accent-primary);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background .2s}.import-statement-btn:hover{background:var(--color-accent-primary-hover);color:#fff;text-decoration:none}.platform-settlement-summary{margin-bottom:2rem;border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.platform-settlement-summary table{width:100%;border-collapse:collapse;font-size:.875rem}.platform-settlement-summary th,.platform-settlement-summary td{padding:.375rem 1rem;text-align:left;border-bottom:1px solid var(--color-border-primary)}.platform-settlement-summary th{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;background:var(--color-bg-secondary)}.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{background:transparent;border-top:1px solid var(--color-border-secondary);border-bottom:1px solid var(--color-border-secondary);font-weight:600;font-size:.8125rem;color:var(--color-text-secondary)}.domain-name{font-weight:500}.no-bank-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;font-size:.7rem;font-weight:600;border-radius:4px;text-transform:uppercase;background:var(--color-bg-tertiary);color:var(--color-text-muted)}.apab-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;font-size:.7rem;font-weight:600;border-radius:4px;text-transform:uppercase;background:var(--color-warning-light);color:var(--color-warning-dark)}.status-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;font-size:.7rem;font-weight:600;border-radius:4px;text-transform:uppercase}.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{display:inline-flex;align-items:center;justify-content:flex-end}.pending-badge{display:inline-block;width:3.5rem;text-align:left;margin-right:.5rem}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.transfers-header h4{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.transfers-actions{display:flex;gap:.5rem}.transfer-group{margin-bottom:1.5rem}.transfer-group h5{margin:0;padding:.625rem .75rem;font-size:.875rem;font-weight:600;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}.transfers-table{width:100%;border-collapse:collapse;font-size:.8125rem;table-layout:fixed;border:1px solid var(--color-border-primary);border-radius:0 0 6px 6px;overflow:hidden}.transfers-table th,.transfers-table td{padding:.3rem .75rem;text-align:left;border-bottom:1px solid var(--color-border-primary)}.transfers-table th{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;background:var(--color-bg-secondary)}.transfers-table .include-col{width:65px;text-align:center}.transfers-table .date-col{width:113px}.transfers-table .source-col{width:70px;text-align:center}.transfers-table .type-col{width:80px;text-align:center}.transfers-table .account-col{width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfers-table .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfers-table .amount{width:90px;text-align:right;font-variant-numeric:tabular-nums}.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{display:inline-block;padding:.125rem .5rem;font-size:.7rem;font-weight:600;border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.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{padding:1rem;text-align:center;color:var(--color-text-secondary);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{width:40px;text-align:center}.platform-settlement .edit-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:4px;opacity:.6;transition:opacity .15s,background .15s}.platform-settlement .edit-btn:hover{opacity:1;background:var(--color-bg-secondary)}.current-period-banner{padding:.75rem 1.25rem;margin-bottom:1.5rem;border-radius:8px;font-size:1.1rem;font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary)}.balance-check-banner{display:flex;flex-direction:column;gap:.75rem;padding:.875rem 1.25rem;margin-bottom:1.5rem;border-radius:8px;font-size:.875rem}.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{display:flex;align-items:center;justify-content:space-between;gap:1rem}.banner-header-row{display:flex;justify-content:space-between;align-items:center}.banner-title{display:flex;align-items:center;gap:.5rem}.balance-check-icon{display:flex;align-items:center}.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{display:flex;gap:1rem}.reconciliation-item{display:flex;flex-direction:column;gap:.375rem;padding:.75rem 1rem;min-width:180px;background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:6px}.reconciliation-item label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.025em}.reconciliation-item .reconciliation-value{font-size:1.125rem;font-weight:600;font-variant-numeric:tabular-nums}.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{width:100%;padding:.5rem .75rem;font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums;border:1px solid var(--color-border-primary);border-radius:4px;text-align:right}.statement-input:focus{outline:none;border-color:var(--color-accent-primary);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{font-size:.875rem;font-weight:400;color:var(--color-text-muted)}.statement-import-link{display:block;margin-top:.25rem;font-size:.75rem;text-align:right;color:var(--color-accent-primary)}.banner-actions-row{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.verify-status{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;border-radius:4px;white-space:nowrap}.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{width:100%;text-align:left}.closed-months-toggle .lock-icon{color:var(--color-text-secondary)}.closed-months-list{margin-top:.5rem;border:1px solid var(--color-border-primary);border-radius:6px;overflow:hidden}.closed-month-row{border-bottom:1px solid var(--color-border-primary)}.closed-month-row:last-child{border-bottom:none}.closed-month-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .75rem;background:var(--color-bg-secondary);font-size:.8125rem;text-align:left}.closed-month-header--static{cursor:default;color:var(--color-text-secondary)}.closed-month-header--static:hover{background:var(--color-bg-secondary)}.closed-month-label{font-weight:600;min-width:120px}.closed-month-financials{display:flex;gap:1rem}.closed-month-financials .financial-item{display:flex;flex-direction:column;align-items:flex-end;min-width:70px}.closed-month-financials .financial-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.closed-month-financials .financial-value{font-size:.8125rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.closed-month-financials .financial-item.highlight .financial-value{font-weight:600;color:var(--color-text-primary)}.closed-month-indicators{display:flex;align-items:center;gap:.25rem;margin-left:.75rem}.closed-month-indicators .balanced-icon{color:var(--color-success)}.closed-month-attachment{display:flex;align-items:center;justify-content:center;padding:.25rem;color:var(--color-text-secondary);border-radius:4px;transition:background-color .15s,color .15s}.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{flex:1;color:var(--color-text-muted);font-size:.7rem}.closed-month-detail{padding:.5rem .75rem .75rem;background:var(--color-bg-tertiary)}.closed-month-table{width:100%;border-collapse:collapse;font-size:.8125rem}.closed-month-table th,.closed-month-table td{padding:.3rem .75rem;text-align:left;border-bottom:1px solid var(--color-border-primary)}.closed-month-table th{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;color:var(--color-text-secondary);background:var(--color-bg-secondary)}.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{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-primary);display:flex;align-items:center;gap:.5rem}.closed-month-statement-upload .statement-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-accent-primary);text-decoration:none;font-size:.875rem}.closed-month-statement-upload .statement-link:hover{text-decoration:underline}.closed-month-statement-upload .upload-statement-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:4px;color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.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{margin-left:auto;padding:.375rem .75rem;background:none;border:1px solid var(--color-border-primary);border-radius:4px;color:var(--color-text-secondary);font-size:.8rem;cursor:pointer}.reopen-btn:hover{border-color:var(--color-warning);color:var(--color-warning)}.reopen-confirm{margin-left:auto;display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--color-warning-dark)}.reopen-warning-icon{color:var(--color-warning);flex-shrink:0}.reopen-confirm-btn{padding:.25rem .625rem;background-color:var(--color-warning);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;white-space:nowrap}.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{padding:.25rem .625rem;background:none;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.8rem;cursor:pointer;color:var(--color-text-secondary)}.platform-settlement-section{margin-bottom:2rem;border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary)}.section-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.section-header .transaction-count{font-size:.8125rem;color:var(--color-text-secondary)}.section-actions{display:flex;gap:.5rem}.domain-group{margin-bottom:1rem;border:1px solid var(--color-border-primary);border-radius:6px;overflow:hidden}.domain-group:last-child{margin-bottom:0}.domain-group-header{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;background:var(--color-bg-tertiary);border:none;cursor:pointer;font-size:.875rem;text-align:left;transition:filter .15s}.domain-group-header:hover{filter:brightness(.95)}.domain-group-header .expand-icon{flex-shrink:0;color:var(--color-text-secondary)}.domain-badge{display:inline-block;padding:.125rem .5rem;font-size:.8125rem;font-weight:600;border-radius:4px}.domain-group-total{font-weight:600;font-variant-numeric:tabular-nums;margin-left:auto}.domain-group-table{width:100%;border-collapse:collapse;font-size:.8125rem}.domain-group-table th,.domain-group-table td{padding:.3rem .75rem;text-align:left;border-bottom:1px solid var(--color-border-primary)}.domain-group-table th{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;color:var(--color-text-secondary);background:var(--color-bg-secondary)}.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{width:65px;text-align:center}.domain-group-table:not(.transfers-table) .date-col{width:113px}.domain-group-table:not(.transfers-table) .type-col{width:80px;text-align:center}.domain-group-table:not(.transfers-table) .account-col{width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.domain-group-table:not(.transfers-table) .description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.domain-group-table:not(.transfers-table) .amount{width:90px}.domain-group-table:not(.transfers-table) .actions-col{width:40px;text-align:center}.include-header-actions{display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap}.mini-action-btn{padding:.125rem .375rem;font-size:.6875rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:3px;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.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{margin:0 0 1rem;color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.close-dialog-totals{margin-bottom:1rem;padding:.75rem 1rem;background:var(--color-bg-tertiary);border-radius:6px}.close-total-row{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.875rem}.close-total-row.highlight{font-weight:600;border-top:1px solid var(--color-border-primary);margin-top:.375rem;padding-top:.5rem}.close-dialog-notes{margin-top:1rem}.close-dialog-notes h4{margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.notes-hint{margin:0 0 .75rem;font-size:.8rem;color:var(--color-text-secondary)}.imported-file-note{display:flex;align-items:center;gap:.5rem;color:var(--color-success)}.imported-check{flex-shrink:0}.note-input-group{margin-bottom:.75rem}.note-input-group label{display:block;margin-bottom:.25rem;font-size:.8125rem;font-weight:500}.note-input-group input{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--color-border-primary);border-radius:4px}.note-input-group input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #0066cc26}.close-dialog-warning{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:var(--color-warning-light);border-radius:4px;color:var(--color-warning-dark);font-size:.875rem}.close-dialog-error{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:var(--color-error-light);border-radius:4px;color:var(--color-error-dark);font-size:.875rem}.statement-upload-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-primary)}.statement-upload-section h4{margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.file-input-wrapper{display:flex;align-items:center;gap:.5rem}.file-input-label{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;border:1px dashed var(--color-border-primary);border-radius:6px;background:var(--color-bg-tertiary);cursor:pointer;transition:all .15s}.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{width:56px;height:56px;margin:0 auto 1.25rem;background:linear-gradient(135deg,var(--color-success),var(--color-success-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;animation:celebrate .6s ease;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{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.success-message{font-size:.875rem;color:var(--color-text-muted);margin:0 0 1.5rem;line-height:1.5}.unattributed-deposits-section .domain-group-header h4{color:var(--color-warning-dark)}.unattributed-hint{font-size:.8rem;color:var(--color-warning-dark);background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:4px;padding:.5rem .75rem;margin:0 0 .5rem}.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{padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem;min-width:180px}.stats{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.stats-grouped{display:flex;flex-direction:column;gap:1rem}.stats-row h5{margin:0 0 .5rem;font-size:.875rem;color:var(--color-text-muted);font-weight:500}.stats-row .stats{margin-bottom:0}.stat{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:.75rem 1rem;min-width:100px;text-align:center;box-shadow:0 1px 2px #0000000d}.stat-value{display:block;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.stat-label{font-size:.75rem;color:var(--color-text-muted);margin-top:.125rem}.stat.highlight{background:var(--color-success-light);border-color:var(--color-success)}.stat.highlight .stat-value{color:var(--color-success-dark)}.errors{background:var(--color-bg-secondary);padding:1rem;border-radius:4px;margin-top:1rem}.errors h4{margin:0 0 .5rem;color:var(--color-error-dark)}.errors ul{margin:0;padding-left:1.5rem;font-size:.875rem}.errors li{color:var(--color-error-dark)}.created-donations{background:var(--color-bg-secondary);padding:1rem;border-radius:4px;margin-top:1rem}.created-donations h4{margin:0 0 .75rem;color:var(--color-success-dark)}.donations-table{width:100%;border-collapse:collapse;font-size:.875rem}.donations-table th,.donations-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--color-border-primary)}.donations-table th{background:var(--color-bg-primary);font-weight:600;color:var(--color-text-secondary)}.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);padding:1rem;border-radius:4px;margin-top:1rem;border:1px solid var(--color-warning)}.needs-review h4{margin:0 0 .5rem;color:var(--color-warning-dark)}.review-notice{font-size:.875rem;color:var(--color-warning-dark);margin:0 0 .75rem}.needs-review ul{margin:0;padding-left:1.5rem;font-size:.875rem}.needs-review li{color:var(--color-warning-dark);margin-bottom:.25rem}.email-import-section{background:var(--color-bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--color-border-primary)}.email-import-section h3{margin:0 0 .5rem;color:var(--color-text-primary)}.email-import-section .hint{margin-bottom:1.5rem}.email-import-section .no-emails{color:var(--color-text-muted);font-style:italic;padding:2rem;text-align:center}.email-list{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.email-item{border:1px solid var(--color-border-primary);padding:15px;border-radius:8px;background:var(--color-bg-primary);transition:box-shadow .2s}.email-item:hover{box-shadow:0 2px 4px #0000000d}.email-header{display:flex;justify-content:space-between;margin-bottom:8px;align-items:center;flex-wrap:wrap;gap:8px}.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{display:flex;gap:10px}.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{display:flex;align-items:flex-end;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--color-border-primary)}.email-controls .form-group{margin-bottom:0;flex:0 0 auto}.email-controls select{width:auto;min-width:150px}.refresh-button{flex-shrink:0}.preview-section{background:var(--color-bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--color-border-primary);margin-top:1.5rem}.preview-section h3{margin:0 0 .5rem;color:var(--color-text-primary)}.no-transactions-message{text-align:center;padding:3rem 2rem}.no-transactions-message p{margin-bottom:.75rem;color:var(--color-text-muted)}.no-transactions-message p:first-child{font-size:1.125rem;color:var(--color-text-primary);font-weight:500}.no-transactions-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.no-transactions-actions button{padding:.625rem 1.5rem}.preview-table-container{overflow-x:auto;margin:1rem 0;border:1px solid var(--color-border-primary);border-radius:4px;max-width:100%}.preview-table{width:100%;border-collapse:collapse;font-size:.875rem}.preview-table th,.preview-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border-primary);white-space:nowrap}.preview-table th:nth-child(1),.preview-table td:nth-child(1){width:60px;text-align:center}.preview-table th:nth-child(2),.preview-table td:nth-child(2){width:60px;text-align:center}.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){min-width:180px;white-space:normal}.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){min-width:200px;max-width:400px;white-space:normal}.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){min-width:200px;white-space:normal}.preview-table th:nth-child(9),.preview-table td:nth-child(9){min-width:150px;white-space:normal}.preview-table th{background:var(--color-bg-primary);font-weight:600;color:var(--color-text-secondary);position:sticky;top:0;z-index:1}.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{font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.preview-table .skip-reason{color:var(--color-warning-dark);font-size:.813rem;font-style:italic}.preview-table .will-import{color:var(--color-success-dark);font-size:.813rem;font-weight:500}.preview-table select{width:100%;min-width:120px;padding:.375rem;border:1px solid var(--color-border-secondary);border-radius:4px;font-size:.875rem}.preview-table select:disabled{background:var(--color-bg-tertiary);cursor:not-allowed}.preview-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-primary)}.preview-actions button{padding:.625rem 1.5rem}.preview-note{background:var(--color-warning-light);color:var(--color-warning-dark);padding:.75rem;border-radius:4px;margin-top:1rem;font-size:.875rem}@media(max-width:1024px){.import-page{max-width:100%}}@media(max-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]{padding:.75rem;font-size:16px;min-height:44px}.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{margin:.75rem -1rem;border-radius:0;border-left:none;border-right:none}.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{padding:1rem;margin-top:1rem}.errors,.needs-review,.created-donations{padding:.75rem}.preview-section{padding:1rem;margin-top:1rem}}@media(max-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{margin-top:2rem;background:var(--color-bg-secondary);padding:1.5rem;border-radius:8px;border:1px solid var(--color-border-primary)}.import-history h3{margin-top:0;margin-bottom:1rem;color:var(--color-text-primary)}.history-table{width:100%;border-collapse:collapse;font-size:.875rem}.history-table th,.history-table td{text-align:left;padding:.75rem .5rem;border-bottom:1px solid var(--color-border-primary)}.history-table th{font-weight:600;color:var(--color-text-secondary)}.history-table .filename-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-table .delete-btn{background:none;border:1px solid var(--color-error);color:var(--color-error);padding:.25rem .5rem;border-radius:4px;cursor:pointer;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 var(--color-error);border-radius:8px;padding:1rem;margin-bottom:1rem}.delete-confirm p{margin:0 0 .5rem}.delete-confirm ul{margin:.5rem 0;padding-left:1.5rem}.delete-confirm .delete-actions{display:flex;gap:.5rem;margin-top:1rem}.delete-confirm .danger{background:var(--color-error);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.delete-confirm .danger:hover{background:var(--color-error-dark)}.dual-preview{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.preview-section-table{background:var(--color-bg-secondary);border-radius:8px;padding:1rem;border:1px solid var(--color-border-primary)}.preview-section-table h4{margin:0 0 .75rem;color:var(--color-text-primary);display:flex;align-items:center;gap:.5rem}.preview-counts{font-weight:400;font-size:.875rem;color:var(--color-text-muted)}.preview-section-table .preview-table-container{margin:0;max-height:400px;overflow-y:auto}.preview-section-table .preview-table th,.preview-section-table .preview-table td{padding:.5rem .75rem;text-align:left}.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-radius:6px;border:1px solid var(--color-border-primary)}.preview-grid-container .ag-header{background:var(--color-bg-primary)}.preview-grid-container .duplicate-row{background:var(--color-bg-primary);color:var(--color-text-light)}.preview-grid-container .status-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:.7rem;font-weight:500;line-height:1.2}.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:var(--color-text-muted)}.preview-grid-container .status-badge.transfer,.preview-grid-container .status-badge.matched{background:var(--color-info-light);color:var(--color-info-dark);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{display:inline-flex;align-items:center;gap:4px}.preview-grid-container .match-actions{display:inline-flex;gap:2px}.preview-grid-container .match-btn{width:20px;height:20px;padding:0;border:1px solid var(--color-border-secondary);border-radius:3px;background:var(--color-bg-secondary);cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.preview-grid-container .match-btn:hover{background:var(--color-bg-tertiary)}.preview-grid-container .match-btn.confirm.active{background:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark)}.preview-grid-container .match-btn.reject.active{background:var(--color-error-light);border-color:var(--color-error);color:var(--color-error-dark)}.preview-grid-container .new-badge{display:inline-block;margin-left:4px;padding:1px 4px;background:var(--color-info-light);color:var(--color-info-dark);border-radius:3px;font-size:.6rem;font-weight:600;text-transform:uppercase;vertical-align:middle;line-height:1.2}.preview-section-table .preview-table .description-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-truncated{text-align:center;padding:.5rem;color:var(--color-text-muted);font-size:.875rem;background:var(--color-bg-primary);border-top:1px solid var(--color-border-primary);margin:0}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.status-badge.new{background:var(--color-success-light);color:var(--color-success-dark)}.status-badge.duplicate{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.status-badge.transfer,.status-badge.matched{background:var(--color-info-light);color:var(--color-info-dark);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{display:inline-block;margin-left:.375rem;padding:.125rem .375rem;background:var(--color-info-light);color:var(--color-info-dark);border-radius:4px;font-size:.625rem;font-weight:600;text-transform:uppercase;vertical-align:middle}.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{margin-top:1rem;padding:1rem;background:var(--color-bg-primary);border-radius:8px;border:1px solid var(--color-border-primary);justify-content:flex-start}.section-stats .stat{background:var(--color-bg-secondary);min-width:120px;flex:0 0 auto}.section-stats .stat-value{color:var(--color-text-primary)}.section-stats .stat.create{background:var(--color-success-light);border-color:var(--color-success)}.section-stats .stat.create .stat-value{color:var(--color-success-dark)}.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(max-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);padding:1.5rem;border-radius:8px;border:1px solid var(--color-border-primary)}.bank-sync-section h3{margin:0 0 .5rem;color:var(--color-text-primary)}.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:var(--color-error);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.bank-sync-section .success-message{background:var(--color-success-light);color:var(--color-success-dark);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.bank-sync-section .no-accounts-message{text-align:center;padding:2rem;color:var(--color-text-muted)}.bank-sync-section .no-accounts-message ul{text-align:left;display:inline-block;margin:1rem 0}.sync-controls{display:flex;gap:1rem;margin-bottom:1.5rem}.sync-controls .form-group{margin-bottom:0}.account-selection{margin-bottom:1.5rem}.account-selection h4{margin:0 0 .75rem;font-size:.9375rem;color:var(--color-text-secondary)}.account-list{display:flex;flex-direction:column;gap:.5rem}.account-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;cursor:pointer}.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{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;font-size:.75rem}.account-balances .balance-row{display:flex;align-items:center;gap:.5rem}.account-balances .balance-label{color:var(--color-text-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.03em;min-width:2.5rem;text-align:right}.account-balances .balance-value{color:var(--color-text-secondary);font-weight:500;font-variant-numeric:tabular-nums;min-width:5.5rem;text-align:right}.account-balances .balance-value.book{color:var(--color-accent-primary)}.account-balances .balance-value.outstanding{color:var(--color-warning-dark);font-style:italic}.reconcile-status{font-size:.7rem;padding:2px 6px;border-radius:3px;white-space:nowrap;margin-left:.5rem}.reconcile-status.balanced{color:var(--color-success);background:var(--color-success-light)}.reconcile-status.resolves{color:var(--color-info-dark);background:var(--color-info-light)}.reconcile-status.partial{color:var(--color-warning);background:var(--color-warning-light)}.reconcile-status.attention{color:var(--color-error);background:var(--color-error-light)}.unmapped-badge{font-size:.75rem;background:var(--color-warning-light);color:var(--color-warning-dark);padding:.125rem .5rem;border-radius:4px}.stale-badge{display:inline-block;margin-left:.5rem;font-size:.65rem;font-weight:500;background:var(--color-warning-light);color:var(--color-warning-dark);padding:.125rem .375rem;border-radius:3px;text-transform:uppercase;letter-spacing:.02em;cursor:help}.sync-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.simplefin-preview{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-primary)}.simplefin-preview h4{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem}.simplefin-preview .preview-counts{font-weight:400;color:var(--color-text-muted);font-size:.875rem}.simplefin-preview .preview-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.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{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.households-page .header-text h2{margin:0 0 .25rem}.households-page .header-text .description{margin:0}.households-main-content{display:flex;flex-direction:column;gap:1.5rem;max-width:900px}.households-page .search-panel,.households-page .detail-panel{width:100%}.households-page .loading{padding:2rem;text-align:center;color:var(--color-text-muted)}.households-page .error{padding:1rem;text-align:center;color:var(--color-error);background:var(--color-error-light);border-radius:6px}.households-page .empty-state{text-align:center;padding:3rem;color:var(--color-text-muted)}.households-page .empty-state p{margin-bottom:0}.households-page .search-input-wrapper{margin-bottom:1rem}.households-page .search-input{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.households-page .search-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #3574b81a}.households-page .search-input::placeholder{color:var(--color-text-light)}.households-page .search-results{display:flex;flex-direction:column;gap:.5rem}.households-page .household-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px;padding:.75rem 1rem;cursor:pointer;transition:border-color .15s,box-shadow .15s;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.25rem 1rem}.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{font-weight:600;font-size:1rem;color:var(--color-text-primary);grid-column:1;grid-row:1}.households-page .household-stats{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end;grid-column:2;grid-row:1 / 3;justify-content:space-between}.households-page .stat-badge{background:var(--color-bg-hover);color:var(--color-text-secondary);padding:.125rem .5rem;border-radius:9999px;font-size:.75rem}.households-page .household-parents{font-size:.875rem;color:var(--color-text-muted);grid-column:1;grid-row:2;align-self:end}.households-page .household-detail{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.households-page .detail-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);border-radius:8px 8px 0 0}.households-page .detail-header h3{margin:0;font-size:1.125rem}.households-page .detail-actions{display:flex;gap:.5rem}.households-page .detail-content{padding:1.5rem}.households-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-primary)}.households-page .section-title{font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.households-page .parent-cards{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.households-page .parent-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;padding:1rem;position:relative;transition:opacity .2s ease-out}.households-page .parent-card-pending-delete{opacity:.5;border-color:var(--color-warning);background:var(--color-warning-light)}.households-page .parent-card-pending-delete .parent-name,.households-page .parent-card-pending-delete .parent-email,.households-page .parent-card-pending-delete .parent-alt-name{text-decoration:line-through;color:var(--color-text-muted)}.households-page .pending-delete-badge{position:absolute;top:.5rem;right:.5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--color-warning-dark);background:var(--color-warning-light);padding:.125rem .375rem;border-radius:3px;border:1px solid #fbbf24}.households-page .parent-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.households-page .parent-name{font-weight:600;color:var(--color-text-primary)}.households-page .parent-alt-name{font-size:.875rem;color:var(--color-text-muted);font-style:italic}.households-page .parent-email{font-size:.875rem;color:var(--color-accent-primary)}.households-page .parent-students{font-size:.875rem;color:var(--color-text-muted);margin-top:.5rem}.households-page .parent-preferences{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.households-page .preferences-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.households-page .preferences-row{display:flex;flex-wrap:wrap;gap:.75rem}.households-page .preferences-row label{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--color-text)}.households-page .preferences-row select{padding:.125rem .375rem;font-size:.8125rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text)}.households-page .preferences-hint{font-size:.75rem;color:var(--color-text-light);font-style:italic}.households-page .parent-actions{display:flex;gap:.25rem}.households-page .student-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.households-page .student-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:4px}.households-page .student-name{font-weight:500;color:var(--color-text-primary)}.households-page .student-grad-year{font-size:.875rem;color:var(--color-text-muted)}.households-page .student-email{font-size:.875rem;color:var(--color-accent-primary)}.households-page .donation-table-container{margin-bottom:1.5rem}.households-page .donation-table{width:100%;border-collapse:collapse;font-size:.875rem}.households-page .donation-table th,.households-page .donation-table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--color-border-primary)}.households-page .donation-table th{font-weight:600;color:var(--color-text-muted);background:var(--color-bg-primary)}.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{font-weight:500;text-align:right}.households-page button.primary{background:var(--color-accent-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;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);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;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:var(--color-error);border:1px solid var(--color-error);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:background-color .15s}.households-page button.danger:hover:not(:disabled){background:var(--color-error-light)}.households-page button.icon-btn{background:none;border:none;padding:.25rem .5rem;color:var(--color-text-muted);cursor:pointer;font-size:.75rem;border-radius:4px;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:var(--color-error)}.households-page .close-btn{font-size:1.25rem;padding:.25rem .5rem;color:var(--color-text-light)}.households-page .close-btn:hover{color:var(--color-text-muted)}.duplicate-alert-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-warning-light);border:1px solid #f59e0b;border-radius:6px;margin-bottom:1.5rem}.duplicate-alert-banner .alert-icon{font-size:1.25rem;color:var(--color-warning-dark)}.duplicate-alert-banner .alert-text{font-size:.875rem;color:var(--color-warning-dark)}.duplicate-alert-banner .alert-text strong{color:var(--color-warning-dark)}.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{font-weight:600;text-decoration:underline;margin-left:.25rem}.households-page .empty-message{color:var(--color-text-muted);font-size:.875rem;font-style:italic;margin:.5rem 0}.households-page .edit-name-input{font-size:1.125rem;font-weight:600;padding:.375rem .5rem;border:1px solid var(--color-accent-primary);border-radius:4px;min-width:250px}.households-page .edit-name-input:focus{outline:none;box-shadow:0 0 0 3px #3574b81a}.households-page .parent-email-secondary{font-size:.8rem;color:var(--color-text-muted)}.households-page .parent-address{font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem}.households-page .parent-phone{font-size:.8rem;color:var(--color-text-muted)}.households-page .parent-donation-stats{font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem}.households-page .student-info{display:flex;flex-direction:column;gap:.125rem}.households-page .student-actions{display:flex;gap:.25rem}.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{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.form-field input,.form-field select{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #3574b81a}.form-field.small input,.ui-form-field.small input{width:80px}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.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{padding:.75rem 1rem;background:var(--color-error-light);color:var(--color-error);border-radius:6px;margin-bottom:1rem;font-size:.875rem}.households-page .parents-students-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.households-page .parents-students-grid .parent-cards,.households-page .parents-students-grid .student-list{margin-bottom:0}.households-page .section-header-actions{display:flex;gap:.75rem}.households-page .student-name-row{display:flex;align-items:center;gap:.5rem}.households-page .student-badge{font-size:.625rem;font-weight:600;padding:.125rem .375rem;border-radius:9999px;text-transform:uppercase}.households-page .student-badge.instrumental{background:var(--color-info-light);color:var(--color-info-dark)}.households-page .student-ensembles{font-size:.75rem;color:var(--color-success-dark);font-style:italic}.form-row.checkbox-row{display:flex;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-primary)}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary);cursor:pointer}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}@media(max-width:1024px){.households-page .parents-students-grid{grid-template-columns:1fr;gap:1rem}}@media(max-width:768px){.households-page .detail-header{padding:.75rem 1rem;flex-wrap:wrap;gap:.75rem}.households-page .detail-content{padding:1rem}.households-page .detail-actions{width:100%;flex-wrap:wrap}.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(max-width:480px){.households-page .page-header{flex-direction:column;gap:1rem}.households-page .header-text{width:100%}.duplicate-alert-banner{flex-direction:column;text-align:center}.households-page .donation-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.households-page .donation-table{min-width:400px}}.donation-source-toggle{display:flex;gap:0;border:1px solid var(--color-border-primary);border-radius:.375rem;overflow:hidden;width:fit-content;margin-bottom:.5rem}.donation-source-toggle button{padding:.375rem .75rem;border:none;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:.8125rem;cursor:pointer;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{width:100%;border-collapse:collapse;font-size:.875rem}.households-page .trx-donation-table th,.households-page .trx-donation-table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--color-border-primary)}.households-page .trx-donation-table th{font-weight:600;color:var(--color-text-muted);background:var(--color-bg-primary)}.households-page .trx-donation-table .amount-col{text-align:right}.domain-badge-inline{display:inline-block;padding:.0625rem .375rem;border-radius:9999px;font-size:.75rem;font-weight:500}.section-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:9999px;background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:.6875rem;font-weight:600;margin-left:.375rem}.duplicate-loading,.duplicate-empty{padding:2rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.duplicate-group-list{display:flex;flex-direction:column;gap:1rem}.duplicate-group-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.duplicate-group-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary)}.duplicate-group-name{font-weight:600;font-size:1rem;color:var(--color-text-primary)}.duplicate-group-count{font-size:.8rem;color:var(--color-text-muted)}.duplicate-conflict-warning{padding:.625rem 1rem;background:var(--color-warning-light);color:var(--color-warning-dark);font-size:.8rem;border-bottom:1px solid #f59e0b}.duplicate-parent-table{width:100%;border-collapse:collapse;font-size:.8125rem}.duplicate-parent-table th,.duplicate-parent-table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--color-border-primary)}.duplicate-parent-table th{font-weight:600;color:var(--color-text-muted);background:var(--color-bg-primary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.duplicate-parent-table .col-radio{width:2rem;text-align:center}.duplicate-parent-table .col-right{text-align:right}.duplicate-parent-table tr.selected td{background:var(--color-accent-light)}.duplicate-alt-name{font-size:.75rem;color:var(--color-text-muted);font-style:italic}.duplicate-address,.duplicate-secondary-emails{font-size:.75rem;color:var(--color-text-light)}.duplicate-source-badge{display:inline-block;padding:.0625rem .375rem;border-radius:9999px;font-size:.6875rem;font-weight:500;background:var(--color-bg-hover);color:var(--color-text-secondary)}.swap-names-btn{background:none;border:1px solid var(--color-border-primary);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;color:var(--color-accent-primary);cursor:pointer;white-space:nowrap;transition:background-color .15s}.swap-names-btn:hover{background:var(--color-bg-tertiary)}.duplicate-group-actions{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg-primary);border-top:1px solid var(--color-border-primary)}.merge-btn{background:var(--color-accent-primary);color:#fff;border:none;padding:.375rem .75rem;border-radius:4px;font-size:.8125rem;cursor:pointer;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{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border-secondary);padding:.375rem .75rem;border-radius:4px;font-size:.8125rem;cursor:pointer;transition:all .15s}.dismiss-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-color:var(--color-text-light)}.merge-hint{font-size:.75rem;color:var(--color-text-light)}.merge-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:start}.merge-comparison-divider{align-self:center;padding-top:2rem;font-size:.875rem;color:var(--color-text-light);font-weight:500}.merge-direction-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;cursor:pointer;font-size:.875rem;color:var(--color-text-secondary)}.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{font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.merge-comparison-detail{font-size:.8125rem;color:var(--color-text-muted);margin-bottom:.25rem}.split-helper-text{padding:.5rem .75rem;background:var(--color-accent-light);border:1px solid var(--color-accent-primary);border-radius:6px;color:var(--color-info-dark);font-size:.8125rem;margin-bottom:.75rem}.parent-card.split-mode{cursor:pointer}.parent-card .split-checkbox{width:1.125rem;height:1.125rem;cursor:pointer;flex-shrink:0;margin-right:.5rem}.parent-card .split-checkbox:disabled{opacity:.4;cursor:not-allowed}.split-toolbar{margin-top:.75rem;padding:.75rem;background:var(--color-accent-light);border:1px solid #bfdbfe;border-radius:6px;display:flex;align-items:center;gap:.75rem}.email-editor{border:1px solid var(--color-border-secondary);border-radius:4px;background:var(--color-bg-secondary)}.email-editor-toolbar{display:flex;gap:4px;padding:8px;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-primary);flex-wrap:wrap}.email-editor-toolbar button{padding:4px 8px;border:1px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-secondary);cursor:pointer;font-size:14px;min-width:28px;display:flex;align-items:center;justify-content:center}.email-editor-toolbar button:hover{background:var(--color-bg-tertiary)}.email-editor-toolbar button.active{background:var(--color-bg-hover);border-color:var(--color-text-light)}.email-editor-toolbar button:focus:not(:focus-visible){outline:none}.email-editor-toolbar button:focus-visible{position:relative;z-index:1;outline:2px solid var(--color-accent-primary);outline-offset:2px}.email-editor-toolbar button:disabled{opacity:.4;cursor:not-allowed}.toolbar-divider{width:1px;background:var(--color-border-primary);margin:0 4px}.email-editor-toolbar-label{font-size:12px;color:var(--color-text-muted);align-self:center}.email-editor-content{min-height:200px;max-height:400px;overflow-y:auto;padding:12px;font-size:.875rem;line-height:1.5;outline:none}.email-editor-content p{margin:0 0 1em}.email-editor-content ul,.email-editor-content ol{margin:0 0 1em;padding-left:1.5em}.email-editor-content a{color:var(--color-info);text-decoration:underline}.email-editor-content img{height:auto;cursor:pointer}.email-editor-content table{border-collapse:collapse;font-size:.75rem}.email-editor-content th,.email-editor-content td{padding:4px 8px}.email-preview-container{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.email-preview-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-primary)}.email-preview-header h4{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.email-preview-nav{display:flex;align-items:center;gap:.5rem}.email-preview-nav .nav-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;cursor:pointer;transition:all .15s}.email-preview-nav .nav-btn:hover{background:var(--color-bg-hover)}.email-preview-nav .nav-indicator{font-size:.75rem;color:var(--color-text-muted);min-width:60px;text-align:center}.email-preview-recipient,.email-preview-subject{padding:.5rem 1rem;border-bottom:1px solid var(--color-border-primary);font-size:.875rem;background:var(--color-bg-secondary)}.email-preview-recipient .label,.email-preview-subject .label{color:var(--color-text-muted);margin-right:.5rem;font-weight:500}.email-preview-recipient .value,.email-preview-subject .value{color:var(--color-text-primary)}.email-preview-recipient .email{color:var(--color-text-muted);margin-left:.25rem}.email-preview-body{padding:1rem;background:var(--color-bg-secondary);overflow-y:auto;max-height:calc(100vh - 500px);min-height:150px}.email-preview-body pre{margin:0;font-family:inherit;font-size:.875rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;color:var(--color-text-secondary)}.email-preview-body .html-content{font-size:.875rem;line-height:1.6;color:var(--color-text-secondary)}.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{padding:2rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.email-preview-container.edited{border-color:var(--color-warning)}.email-preview-actions{display:flex;align-items:center;gap:.75rem}.edited-badge{display:inline-block;background:var(--color-warning-light);color:var(--color-warning-dark);font-size:.625rem;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px;margin-left:.5rem;vertical-align:middle}.edit-btn,.done-btn,.revert-btn{padding:4px 12px;font-size:.75rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .15s}.edit-btn{background:var(--color-info-light);color:var(--color-info-dark);border:1px solid var(--color-info)}.edit-btn:hover{background:var(--color-accent-light)}.done-btn{background:var(--color-success-light);color:var(--color-success-dark);border:1px solid var(--color-success)}.done-btn:hover{background:var(--color-success-light)}.revert-btn{background:var(--color-warning-light);color:var(--color-warning-dark);border:1px solid var(--color-warning)}.revert-btn:hover{background:var(--color-warning-light)}.email-preview-body .email-editor{margin:-12px;border:none;border-radius:0}.send-history-tab{display:flex;flex-direction:column;gap:1rem}.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{margin:0 0 .75rem;font-size:.9375rem;display:flex;align-items:center;justify-content:space-between}.close-detail{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--color-text-muted);padding:0 .25rem}.close-detail:hover{color:var(--color-text-primary)}.entry-grid{width:100%}.email-page{height:100%;display:flex;flex-direction:column}.email-page h2{margin:0 0 .5rem}.email-page-content{flex:1;min-height:0}.wizard-step-indicator{display:flex;align-items:center;gap:0;margin:1rem 0 1.5rem;padding:0 1rem}.wizard-step-wrapper{display:flex;align-items:center;flex:1}.wizard-step-wrapper:first-child{flex:0}.wizard-step-connector{flex:1;height:2px;background:var(--color-border-primary);margin:0 .5rem}.wizard-step-connector.completed{background:var(--color-accent-primary)}.wizard-step{display:flex;align-items:center;gap:.5rem;background:none;border:2px solid var(--color-border-primary);border-radius:999px;padding:.375rem 1rem;font-size:.875rem;color:var(--color-text-muted);cursor:default;white-space:nowrap;transition:all .15s}.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{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--color-bg-tertiary);font-size:.75rem;font-weight:600}.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{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-info-light);border:1px solid #bae6fd;border-radius:6px;margin-bottom:1rem}.quick-compose-label{font-size:.8125rem;font-weight:500;color:var(--color-info-dark)}.quick-compose-btn{padding:.25rem .75rem;font-size:.8125rem;background:#fff;border:1px solid #7dd3fc;border-radius:4px;cursor:pointer;color:var(--color-info);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{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.purpose-card{display:flex;flex-direction:column;gap:.375rem;padding:1.25rem;background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);border-radius:8px;cursor:pointer;text-align:left;transition:all .15s;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{font-weight:600;font-size:.9375rem;color:var(--color-text-primary)}.purpose-card-subtitle{font-size:.8125rem;color:var(--color-text-muted)}.purpose-card-badge{position:absolute;top:.5rem;right:.5rem;font-size:.6875rem;padding:.125rem .5rem;background:var(--color-bg-tertiary);color:var(--color-text-muted);border-radius:999px;font-weight:500}.audience-picker{margin-top:.5rem;padding:1rem;background:var(--color-bg-primary);border-radius:8px}.audience-picker h4{margin:0 0 .75rem;font-size:.9375rem}.audience-options{display:flex;gap:1rem}.audience-btn{flex:1;display:flex;flex-direction:column;gap:.25rem;padding:1rem;background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);border-radius:6px;cursor:pointer;text-align:left;transition:all .15s}.audience-btn:hover{border-color:var(--color-accent-primary)}.audience-btn-label{font-weight:600;font-size:.875rem}.audience-btn-subtitle{font-size:.8125rem;color:var(--color-text-muted)}.recipients-step-layout{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;margin-bottom:1rem}.email-wizard .recipients-filters{display:block;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.25rem}.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;padding:1.25rem;display:flex;flex-direction:column}.recipients-list-panel h3{margin:0 0 .75rem;font-size:1rem}.preference-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.excluded-count{font-size:.8125rem;color:var(--color-warning);background:var(--color-warning-light);padding:.25rem .5rem;border-radius:4px}.bounced-count{font-size:.8125rem;color:var(--color-error);background:var(--color-error-light);padding:.25rem .5rem;border-radius:4px}.student-row.disabled{opacity:.5;cursor:not-allowed;display:flex;align-items:center;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--color-bg-tertiary)}.student-row .name.bounced{text-decoration:line-through}.student-row .status.opted-out{font-size:.6875rem;color:var(--color-warning);font-style:italic}.student-row .status.bounced{font-size:.6875rem;color:var(--color-error);font-style:italic}.email-selector{font-size:.75rem;padding:.125rem .25rem;border:1px solid var(--color-border-primary);border-radius:3px;max-width:180px}.template-step-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem}.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);border-radius:4px;padding:.75rem;min-height:200px;max-height:400px;overflow-y:auto;font-size:.875rem;line-height:1.6;color:var(--color-text-secondary)}.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{display:block;font-weight:500;margin-bottom:.375rem;font-size:.875rem}.template-selector select{width:100%}.template-step .form-group{margin-bottom:1rem}.template-step .form-group label{display:block;font-weight:500;margin-bottom:.375rem;font-size:.875rem}.template-step .form-group input[type=text],.template-step .form-group textarea{width:100%}.template-step .form-group textarea{font-family:monospace;font-size:.8125rem;resize:vertical}.review-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.review-panel-header h3{margin:0;font-size:1rem}.review-mode-toggle{display:flex;border:1px solid var(--color-border-primary);border-radius:4px;overflow:hidden}.toggle-btn{padding:.25rem .75rem;font-size:.75rem;border:none;background:var(--color-bg-secondary);cursor:pointer;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{width:100%;border-collapse:collapse;font-size:.8125rem}.recipient-overview-table th{text-align:left;padding:.5rem;border-bottom:2px solid var(--color-border-primary);font-size:.75rem;color:var(--color-text-muted);font-weight:600}.recipient-overview-table td{padding:.5rem;border-bottom:1px solid var(--color-bg-tertiary)}.recipient-overview-table .text-right{text-align:right}.email-cell{color:var(--color-text-muted);font-size:.75rem}.override-badge{display:inline-block;font-size:.625rem;padding:.0625rem .25rem;background:var(--color-info-light);color:var(--color-info-dark);border-radius:2px;margin-left:.25rem;font-weight:600}.status-met{color:var(--color-success-dark)}.status-not-met{color:var(--color-error-dark)}.recipient-overview-summary{text-align:center;padding:.5rem;color:var(--color-text-muted);font-size:.8125rem}.recipient-overview-empty{text-align:center;padding:2rem;color:var(--color-text-light)}.review-send-controls{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg-tertiary);border-radius:8px;margin-bottom:1rem}.send-test-section{flex-shrink:0}.send-main-section{display:flex;align-items:center;gap:.75rem}.link-btn{background:none;border:none;color:var(--color-accent-primary);cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.step-actions{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;gap:1rem}.step-actions .btn:last-child{margin-left:auto}.email-wizard .filter-controls{margin-bottom:1rem}.email-wizard .filter-controls label{display:block;font-weight:500;margin-bottom:.375rem;font-size:.875rem}.email-wizard .filter-controls select,.email-wizard .filter-controls input[type=number]{width:100%}.email-wizard .select-all{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--color-bg-primary);border-radius:4px;margin-bottom:.5rem}.email-wizard .select-all label{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.email-wizard .selected-count{font-size:.75rem;color:var(--color-text-muted)}.email-wizard .student-list{overflow-y:auto;border:1px solid var(--color-border-primary);border-radius:4px;min-height:200px;max-height:calc(100vh - 400px)}.email-wizard .student-row{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--color-bg-tertiary);cursor:pointer;transition:background-color .15s}.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{font-size:.75rem;padding:.125rem .5rem;border-radius:9999px}.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:var(--color-info-dark)}.email-wizard .batch-exclude-section{border-top:1px solid var(--color-border-primary);padding-top:.75rem}.email-wizard .batch-exclude-summary{display:block;font-size:.75rem;color:var(--color-text-muted);margin-top:.25rem;margin-bottom:.25rem}.email-wizard .batch-detail-toggle{font-size:.8125rem;padding:.25rem 0;margin-top:.25rem}.email-wizard .batch-list{margin-top:.25rem;padding-left:.25rem}.email-wizard .batch-item{font-size:.8125rem;padding:.25rem 0}.email-wizard .batch-info{color:var(--color-text-secondary);line-height:1.3}.email-wizard .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.email-wizard .checkbox-label input[type=checkbox]{width:auto}.email-wizard .collapsible-header{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:.5rem 0;font-size:.875rem;color:var(--color-text-muted);cursor:pointer;width:100%;text-align:left}.email-wizard .collapsible-header:hover{color:var(--color-accent-primary)}.email-wizard .checkbox-inline{display:flex;align-items:center;gap:.375rem;font-size:.875rem;cursor:pointer;white-space:nowrap}.email-wizard .test-email-inline{padding:.375rem .5rem;font-size:.875rem;border:1px solid var(--color-border-primary);border-radius:4px;width:200px}.email-wizard .edited-count-badge{display:inline-block;background:var(--color-warning-light);color:var(--color-warning-dark);font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:4px;margin-top:.5rem}@media(max-width:1024px){.purpose-grid{grid-template-columns:repeat(2,1fr)}.recipients-step-layout,.template-step-layout,.review-layout{grid-template-columns:1fr}}@media(max-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{display:flex;gap:1rem;padding:1rem;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);flex-wrap:wrap}.selector-header select{flex:1;min-width:200px;padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem}.email-type-toggle{display:flex;gap:0}.email-type-toggle button{padding:.5rem 1rem;border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);font-size:.875rem;cursor:pointer;transition:background-color .15s}.email-type-toggle button:first-child{border-radius:4px 0 0 4px}.email-type-toggle button:last-child{border-radius:0 4px 4px 0;border-left:none}.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{position:relative;z-index:1;outline:2px solid var(--color-accent-primary);outline-offset:2px}.email-list-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);font-size:.875rem}.email-count{color:var(--color-text-muted)}.selector-loading{padding:1.5rem;text-align:center;color:var(--color-text-muted)}.selector-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-bg-primary);border-top:1px solid var(--color-border-primary)}.selected-count{font-size:.875rem;color:var(--color-text-primary)}.selected-count strong{color:var(--color-accent-primary)}.add-selected-btn{background:var(--color-accent-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer}.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{padding:.75rem 1rem;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary)}.paste-header h4{margin:0 0 .25rem;font-size:.875rem;color:var(--color-text-primary)}.paste-header p{margin:0;font-size:.75rem;color:var(--color-text-muted)}.paste-body{padding:1rem}.paste-textarea{width:100%;min-height:150px;padding:.75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-family:monospace;font-size:.8125rem;resize:vertical}.paste-textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #3574b81a}.paste-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.paste-actions button{padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer}.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{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-primary)}.parsed-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.parsed-results-header h5{margin:0;font-size:.875rem;color:var(--color-text-primary)}.parsed-method{font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg-tertiary);padding:.125rem .5rem;border-radius:4px}.parsed-email-list{max-height:200px;overflow-y:auto;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;padding:.5rem}.parsed-email-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;border-radius:4px}.parsed-email-item:hover{background:var(--color-bg-hover)}.parsed-email-item input{cursor:pointer}.parsed-email-item label{flex:1;cursor:pointer;-webkit-user-select:none;user-select:none}.parsed-email-item.selected{background:var(--color-bg-active)}.parsed-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem}.parsed-count{font-size:.875rem;color:var(--color-text-muted)}.add-parsed-btn{background:var(--color-success);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer}.add-parsed-btn:hover:not(:disabled){background:var(--color-success-dark)}.add-parsed-btn:disabled{opacity:.5;cursor:not-allowed}.parse-error{margin-top:.75rem;padding:.75rem;background:var(--color-error-light);border:1px solid var(--color-error);border-radius:6px;color:var(--color-error);font-size:.875rem}.parsing-indicator{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;color:var(--color-text-muted);font-size:.875rem}.parsing-indicator:before{content:"";width:1rem;height:1rem;border:2px solid var(--color-border-primary);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin 1s linear infinite}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.members-header h4{margin:0;font-size:1rem;color:var(--color-text-primary)}.members-header-actions{display:flex;gap:.5rem}.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{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary)}.add-members-header h5{margin:0;font-size:.875rem;color:var(--color-text-primary)}.add-members-content{padding:1rem}.add-members-source-tabs{display:flex;gap:0;margin-bottom:1rem}.add-members-source-tabs button{padding:.375rem .75rem;border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);font-size:.8125rem;cursor:pointer}.add-members-source-tabs button:first-child{border-radius:4px 0 0 4px}.add-members-source-tabs button:last-child{border-radius:0 4px 4px 0;border-left:none}.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{position:relative;z-index:1;outline:2px solid var(--color-accent-primary);outline-offset:2px}.add-members-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary)}.members-list-container{max-height:calc(100vh - 400px);overflow-y:auto}.member-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;background:var(--color-bg-primary);border-radius:4px;margin-bottom:.5rem;border:1px solid transparent;transition:background .3s ease,border-color .3s ease,opacity .3s ease}.member-item:last-child{margin-bottom:0}.member-item-info{display:flex;align-items:center;gap:.5rem}.member-item-email{font-size:.875rem;color:var(--color-text-primary)}.member-item-role{font-size:.75rem;color:var(--color-text-muted);background:var(--color-bg-hover);padding:.125rem .5rem;border-radius:4px;text-transform:capitalize}.member-item-role.owner{background:var(--color-warning-light);color:var(--color-warning-dark)}.member-item-role.manager{background:var(--color-info-light);color:var(--color-info-dark)}.member-item-actions{display:flex;gap:.25rem}.members-empty{text-align:center;padding:2rem;color:var(--color-text-muted)}.members-empty p{margin:0 0 1rem}.members-loading{text-align:center;padding:1.5rem;color:var(--color-text-muted)}.pending-emails-section{margin-top:1rem;padding:.75rem;background:var(--color-warning-light);border:1px solid #fde68a;border-radius:6px}.pending-emails-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.pending-emails-header span{font-size:.8125rem;color:var(--color-warning-dark);font-weight:500}.pending-emails-list{display:flex;flex-wrap:wrap;gap:.375rem}.pending-email-tag{display:flex;align-items:center;gap:.25rem;background:var(--color-bg-secondary);border:1px solid #fde68a;padding:.125rem .375rem;border-radius:4px;font-size:.75rem}.add-result{margin-top:.75rem;padding:.5rem .75rem;border-radius:4px;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:var(--color-error)}.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{display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-border-primary);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin 1s linear infinite}.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);font-size:.75rem;padding:.125rem .5rem;border-radius:9999px;transition:opacity .3s ease}.warning-badge{background:var(--color-error-light);color:var(--color-error);font-size:.75rem;padding:.125rem .5rem;border-radius:9999px}.role-select{padding:.25rem .5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;background:var(--color-bg-secondary)}.role-select:disabled{opacity:.5;cursor:not-allowed}.save-role-btn{background:var(--color-accent-primary);color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;font-size:.8125rem;cursor:pointer}.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);padding:.25rem .5rem;border-radius:4px;font-size:.8125rem;cursor:pointer}.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{display:flex;gap:.5rem}.quick-add-input{flex:1;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem}.quick-add-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #3574b81a}.quick-add-input.error{border-color:var(--color-error)}.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:var(--color-error);font-size:.8125rem;margin-top:.375rem}.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{padding:2rem;text-align:center}.error{color:var(--color-error)}.groups-main-content{display:flex;gap:1.5rem;align-items:flex-start}.groups-list{display:flex;flex-direction:column;gap:.5rem;width:475px;flex-shrink:0;max-height:calc(100vh - 200px);overflow-y:auto}.group-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:border-color .15s,box-shadow .15s}.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{display:flex;flex-direction:column;gap:.25rem}.group-name{font-weight:600;font-size:1rem;color:var(--color-text-primary)}.group-email{font-size:.875rem;color:var(--color-text-muted)}.group-meta{display:flex;align-items:center;gap:1rem}.member-count{background:var(--color-bg-hover);color:var(--color-text-secondary);padding:.25rem .75rem;border-radius:9999px;font-size:.875rem}.empty-state{text-align:center;padding:3rem;color:var(--color-text-muted)}.empty-state p{margin-bottom:1rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.header-text h2{margin:0 0 .25rem}.header-text .description{margin:0}.header-actions{display:flex;gap:.5rem}.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{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);border-radius:8px 8px 0 0}.detail-header h3{margin:0;font-size:1.125rem}.detail-actions{display:flex;gap:.5rem}.detail-content{padding:1.5rem}.detail-info{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin-bottom:1.5rem}.detail-label{font-weight:500;color:var(--color-text-muted)}button.primary{background:var(--color-accent-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;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);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;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:var(--color-error);border:1px solid #fecaca;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:background-color .15s}button.danger:hover:not(:disabled){background:var(--color-error-light)}button.icon-btn{background:none;border:none;padding:.25rem;color:var(--color-text-light);cursor:pointer;line-height:1}button.icon-btn:hover{color:var(--color-error)}.refresh-btn{display:flex;align-items:center;gap:.5rem}.refresh-btn.loading:before{content:"";width:1rem;height:1rem;border:2px solid var(--color-border-primary);border-top-color:var(--color-accent-primary);border-radius:50%;animation:spin 1s linear infinite}.action-result{padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem}.action-result.success{background:var(--color-success-light);color:var(--color-success-dark)}.action-result.error{background:var(--color-error-light);color:var(--color-error)}.action-result.info{background:var(--color-info-light);color:var(--color-info-dark)}.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{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);border-radius:8px 8px 0 0}.create-form-header h3{margin:0;font-size:1.125rem}.close-btn{font-size:1.25rem;padding:.25rem .5rem}.create-form-content{padding:1.5rem}.form-section{margin-bottom:1.5rem}.form-section:last-child{margin-bottom:0}.form-section h4{margin:0 0 1rem;font-size:.9375rem;color:var(--color-text-primary)}.form-row{margin-bottom:1rem}.form-row:last-child{margin-bottom:0}.form-row label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.form-row input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem}.form-row input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #3574b81a}.email-input-wrapper{display:flex;align-items:center}.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);border-left:none;padding:.5rem .75rem;border-radius:0 6px 6px 0;font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.email-source-tabs{display:flex;gap:0;margin-bottom:1rem}.email-source-tabs button{padding:.5rem 1rem;border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);font-size:.875rem;cursor:pointer;transition:background-color .15s}.email-source-tabs button:first-child{border-radius:6px 0 0 6px}.email-source-tabs button:last-child{border-radius:0 6px 6px 0;border-left:none}.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{position:relative;z-index:1;outline:2px solid var(--color-accent-primary);outline-offset:2px}.collected-emails-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.collected-emails-header h4{margin:0}.collected-emails-list{display:flex;flex-wrap:wrap;gap:.5rem;max-height:150px;overflow-y:auto;padding:.75rem;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}.collected-email-item{display:flex;align-items:center;gap:.25rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);padding:.25rem .5rem;border-radius:4px;font-size:.8125rem}.collected-email-item span{color:var(--color-text-primary)}.collected-email-item .icon-btn{font-size:.75rem;padding:.125rem;margin-left:.25rem}.create-form-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;background:var(--color-bg-primary);border-top:1px solid var(--color-border-primary);border-radius:0 0 8px 8px}.edit-name-input{font-size:1.125rem;font-weight:600;padding:.375rem .5rem;border:1px solid var(--color-accent-primary);border-radius:4px;min-width:250px}.edit-name-input:focus{outline:none;box-shadow:0 0 0 3px #3574b81a}.edit-description-input{padding:.375rem .5rem;border:1px solid var(--color-accent-primary);border-radius:4px;font-size:.875rem;width:100%}.edit-description-input:focus{outline:none;box-shadow:0 0 0 3px #3574b81a}@media(max-width:1024px){.google-groups-page{max-width:100%}.groups-list{width:380px}.detail-content{padding:1rem}}@media(max-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;gap:1rem;align-items:stretch}.header-actions{flex-wrap:wrap}.group-card{padding:1rem;min-height:44px}button.primary,button.secondary,button.danger{padding:.75rem 1rem;min-height:44px}.create-form-panel{margin-bottom:1rem}.create-form-content{padding:1rem}.create-form-footer{padding:1rem;flex-wrap:wrap}.detail-header{flex-direction:column;gap:.75rem;align-items:flex-start;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-radius:0 6px 0 0;border-left:none}.email-source-tabs button:nth-child(3){border-radius:0 0 0 6px;border-top:none}.email-source-tabs button:last-child{border-radius:0 0 6px;border-top:none;border-left:none}}@media(max-width:480px){.page-header .header-text h2{font-size:1.25rem}.group-name{font-size:.9375rem}.group-email{font-size:.8125rem;word-break:break-all}.edit-name-input{min-width:200px;font-size:1rem}.collected-emails-list{max-height:100px}.collected-email-item{font-size:.75rem}}.email-export-page{padding:20px;max-width:800px}.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;padding:16px;margin-bottom:20px}.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;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:1rem}.results{border-top:1px solid var(--color-border-primary);padding-top:20px}.results-info{color:var(--color-text-muted);font-size:.9rem;margin-bottom:16px}.email-section{margin-bottom:20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-header h3{margin:0;font-size:1rem}.btn-copy{background:var(--color-success);color:#fff;border:none;padding:6px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;min-width:80px}.btn-copy:hover:not(:disabled){background:var(--color-success-dark)}.btn-copy:disabled{background:var(--color-border-secondary);cursor:not-allowed}.email-section textarea{width:100%;padding:12px;border:1px solid var(--color-border-primary);border-radius:4px;font-family:monospace;font-size:.85rem;resize:vertical;background:var(--color-bg-secondary)}.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;padding:1.5rem;margin-bottom:2rem}.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{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.esignature-page .form-field input,.esignature-page .form-field textarea,.esignature-page .form-field select{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem}.esignature-page .form-field input:focus,.esignature-page .form-field textarea:focus,.esignature-page .form-field select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #3574b81a}.esignature-page .form-hint{display:block;margin-top:.375rem;font-size:.75rem;color:var(--color-text-muted)}.esignature-page .input-mode-toggle{display:flex;gap:1.5rem;margin-top:.5rem}.esignature-page .mode-option{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.esignature-page .mode-option input{width:auto;cursor:pointer}.esignature-page .ensemble-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin-top:.5rem}.esignature-page .ensemble-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:4px;cursor:pointer;font-size:.875rem;transition:border-color .15s,background-color .15s}.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{display:flex;gap:.5rem;margin-top:1.5rem}.esignature-page .btn-primary{background:var(--color-accent-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;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);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;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{background:#fff;color:var(--color-error);border:1px solid #fecaca;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;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);padding:.375rem .75rem;border-radius:4px;font-size:.75rem;cursor:pointer;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{font-size:1.125rem;margin-bottom:1rem}.esignature-page .trackings-list{display:flex;flex-direction:column;gap:.75rem}.esignature-page .tracking-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px;padding:1rem;cursor:pointer;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{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.esignature-page .tracking-name{font-weight:600;color:var(--color-text-primary)}.esignature-page .tracking-progress{font-size:.875rem;color:var(--color-text-muted)}.esignature-page .tracking-meta{display:flex;justify-content:space-between;font-size:.875rem;color:var(--color-text-muted)}.esignature-page .tracking-ensembles{font-style:italic}.esignature-page .tracking-template{font-size:.75rem;color:var(--color-accent-primary-hover);background:var(--color-info-light);padding:.25rem .5rem;border-radius:4px;margin-top:.5rem;display:inline-block}.esignature-page .tracking-description{font-size:.875rem;color:var(--color-text-muted);margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border-primary)}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.esignature-page .detail-header h2{margin:0}.esignature-page .detail-actions{display:flex;gap:.5rem}.esignature-page .progress-bar{position:relative;height:24px;background:var(--color-border-primary);border-radius:12px;margin-bottom:1.5rem;overflow:hidden}.esignature-page .progress-fill{position:absolute;top:0;left:0;height:100%;background:var(--color-success);transition:width .3s ease}.esignature-page .progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.esignature-page .batches-list{display:flex;flex-direction:column;gap:1rem}.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:var(--color-success-light)}.esignature-page .batch-card.selected{border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #3574b833}.esignature-page .batch-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:1rem}.esignature-page .batch-select{display:flex;align-items:center;gap:.5rem;cursor:pointer;flex:1}.esignature-page .batch-select input{width:1.25rem;height:1.25rem;cursor:pointer}.esignature-page .batch-sent-toggle{display:flex;align-items:center;gap:.375rem;cursor:pointer;font-size:.75rem;color:var(--color-text-muted)}.esignature-page .batch-sent-toggle input{width:1rem;height:1rem;cursor:pointer}.esignature-page .sent-label{font-size:.75rem;color:var(--color-text-muted)}.esignature-page .batch-sent-system{font-size:.75rem;color:var(--color-success-dark);font-weight:500}.esignature-page .batch-title{font-weight:600;color:var(--color-text-primary)}.esignature-page .batch-sent-info{font-size:.75rem;color:var(--color-success-dark);margin-bottom:.75rem}.esignature-page .batch-entries{overflow-x:auto}.esignature-page .batch-entries table{width:100%;border-collapse:collapse;font-size:.875rem}.esignature-page .batch-entries th,.esignature-page .batch-entries td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--color-border-primary)}.esignature-page .batch-entries th{font-weight:600;color:var(--color-text-muted);background:var(--color-bg-secondary)}.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{min-height:100vh;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;padding:1rem}.opt-out-container{background:var(--color-bg-secondary);border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem;max-width:500px;width:100%}.opt-out-container h1{margin:0 0 1.5rem;color:var(--color-text-primary);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;padding:1rem;margin:1rem 0}.document-info p{margin:.5rem 0;color:var(--color-text-primary)}.document-info strong{color:var(--color-text-primary)}.opt-out-explanation{color:var(--color-text-muted);line-height:1.6;margin-bottom:1.5rem}.opt-out-explanation p{margin:0}.opt-out-actions{display:flex;flex-direction:column;gap:.75rem}.note{color:var(--color-text-light);font-size:.9rem;margin-top:1rem!important}.preferences-page{min-height:100vh;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;padding:1rem}.preferences-container{background:var(--color-bg-primary);border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem;max-width:500px;width:100%}.preferences-container h1{margin:0 0 .25rem;color:var(--color-text);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{font-size:1rem;margin:0 0 .75rem;color:var(--color-text)}.preferences-option{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem 0}.preferences-option input[type=radio]{margin-top:.2rem;accent-color:var(--color-primary)}.preferences-option-label{color:var(--color-text);font-size:.95rem}.preferences-option-hint{color:var(--color-text-secondary);font-size:.85rem}.preferences-actions{margin-top:2rem;display:flex;flex-direction:column;gap:.75rem}.preferences-footer{text-align:center;color:var(--color-text-secondary);font-size:.85rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--color-border)}.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);font-size:.9rem;margin-bottom:1rem}.validation-empty{padding:1.5rem;background:var(--color-bg-tertiary);border-radius:4px;color:var(--color-text-muted);text-align:center}.validation-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.9rem}.validation-counts{display:flex;gap:1.5rem}.validation-count{color:var(--color-text-primary)}.validation-required-count{color:var(--color-text-muted)}.validation-bulk-actions{display:flex;gap:.5rem}.validation-bulk-actions .btn-small{padding:.375rem .75rem;font-size:.75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;cursor:pointer;color:var(--color-text-secondary);transition:background-color .15s}.validation-bulk-actions .btn-small:hover{background:var(--color-bg-tertiary)}.validation-fields{display:flex;flex-direction:column;gap:1.5rem}.validation-page-group{border:1px solid var(--color-border-primary);border-radius:4px;overflow:hidden}.validation-page-header{background:var(--color-bg-tertiary);padding:.5rem 1rem;font-weight:600;font-size:.85rem;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-primary)}.validation-table{width:100%;border-collapse:collapse}.validation-table th{text-align:left;padding:.75rem 1rem;background:var(--color-bg-primary);font-weight:600;font-size:.85rem;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-primary)}.validation-table td{padding:.75rem 1rem;border-bottom:1px solid var(--color-border-primary)}.validation-table tr:last-child td{border-bottom:none}.validation-table tr:hover{background:var(--color-bg-primary)}.field-name-cell{display:flex;align-items:center;gap:.5rem}.auto-detected-badge{font-size:.7rem;padding:.15rem .4rem;background:var(--color-info-light);color:var(--color-info-dark);border-radius:3px;text-transform:uppercase;font-weight:600}.required-cell{width:80px;text-align:center}.required-cell input[type=checkbox]{width:18px;height:18px;cursor:pointer}.type-cell{width:150px}.type-cell select{width:100%;padding:.4rem;border:1px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-secondary);font-size:.9rem}.type-cell select:focus{outline:none;border-color:var(--color-border-focus)}.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;padding:1.5rem;margin-bottom:2rem}.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{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.template-page .form-field input[type=text],.template-page .form-field textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;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{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #3574b81a}.template-page .file-selected-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--color-success-light);border:1px solid #bbf7d0;border-radius:6px}.template-page .file-selected-row .file-name{flex:1;font-size:.875rem;color:var(--color-success-dark);font-weight:500;word-break:break-all}.template-page .btn-small{padding:.25rem .5rem;font-size:.75rem}.template-page .form-actions{display:flex;gap:.5rem;margin-top:1.5rem}.template-page .error-message{margin-top:1rem;padding:.75rem 1rem;background:var(--color-error-light);color:var(--color-error);border:1px solid #fecaca;border-radius:6px;font-size:.875rem}.template-page .btn-primary{background:var(--color-accent-primary);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;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);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;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{background:#fff;color:var(--color-error);border:1px solid #fecaca;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;cursor:pointer;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{font-size:1.125rem;margin-bottom:1rem}.template-page .templates-list{display:flex;flex-direction:column;gap:.75rem}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.template-page .template-name{font-weight:600;color:var(--color-text-primary)}.template-page .template-status{font-size:.75rem;padding:.25rem .5rem;border-radius:4px}.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:var(--color-error)}.template-page .template-meta{display:flex;justify-content:space-between;font-size:.875rem;color:var(--color-text-muted);margin-bottom:.5rem}.template-page .template-description{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.75rem;padding-top:.5rem;border-top:1px solid var(--color-border-primary)}.template-page .template-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border-primary)}.template-page .no-templates{color:var(--color-text-muted);font-style:italic}.sig-field-editor{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-primary)}.sig-editor-instructions{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.5rem}.sig-editor-count{font-size:.875rem;font-weight:500;color:var(--color-success-dark);margin-bottom:1rem}.sig-editor-loading,.sig-editor-error{padding:2rem;text-align:center;color:var(--color-text-muted)}.sig-editor-error{color:var(--color-error)}.sig-editor-pages{display:flex;flex-direction:column;gap:1rem;background:var(--color-pdf-bg);padding:1rem;border-radius:6px;overflow-x:auto}.sig-editor-page{background:#fff;box-shadow:0 2px 8px #0000004d;margin:0 auto}.sig-page-label{position:absolute;top:-24px;left:0;font-size:.75rem;color:#fff;background:#00000080;padding:2px 8px;border-radius:4px 4px 0 0}.sig-field-marker{border:2px dashed #f59e0b;background:#fef3c7cc;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s,border-color .15s}.sig-field-marker:hover{border-color:var(--color-error);background:#fee2e2cc}.sig-field-label{font-size:11px;font-weight:600;color:var(--color-warning-dark)}.sig-field-marker:hover .sig-field-label{color:var(--color-error)}.sig-field-remove{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;border:none;background:var(--color-error);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.sig-field-marker:hover .sig-field-remove{opacity:1}.sig-field-preview{border:2px dashed var(--color-accent-primary);background:#3574b81a;display:flex;align-items:center;justify-content:center;border-radius:4px}.sig-preview-label{font-size:10px;color:var(--color-accent-primary);font-weight:500}.sig-editor-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.sig-undo-btn{padding:.375rem .75rem;font-size:.75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;cursor:pointer;color:var(--color-text-secondary);transition:background-color .15s}.sig-undo-btn:hover{background:var(--color-bg-tertiary)}.sig-editor-type-selector{display:flex;gap:.5rem;margin-bottom:1rem}.sig-type-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);border-radius:6px;cursor:pointer;font-size:.875rem;color:var(--color-text-secondary);transition:all .15s}.sig-type-btn:hover{background:var(--color-bg-primary)}.sig-type-btn.active{font-weight:600;color:var(--color-text-primary)}.sig-type-dot{width:10px;height:10px;border-radius:50%}.sig-field-marker.autofill-field .sig-field-label{font-size:9px}.send-signature-page{padding:1.5rem;max-width:900px;margin:0 auto}.send-signature-page h1{margin-bottom:1.5rem;color:var(--color-text-primary)}.step-indicator{display:flex;justify-content:space-between;margin-bottom:2rem;padding:0 1rem}.step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.step:after{content:"";position:absolute;top:15px;left:50%;width:100%;height:2px;background:var(--color-border-primary);z-index:-1}.step:last-child:after{display:none}.step.completed:after{background:var(--color-success)}.step-number{width:30px;height:30px;border-radius:50%;background:var(--color-border-primary);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;margin-bottom:.5rem}.step.active .step-number{background:var(--color-accent-primary-fill);color:#fff}.step.completed .step-number{background:var(--color-success);color:#fff}.step-label{font-size:.8rem;color:var(--color-text-muted)}.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;padding:1.5rem;min-height:300px;margin-bottom:1.5rem}.step-content h2{margin-bottom:1rem;font-size:1.25rem;color:var(--color-text-primary)}.template-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.template-card{border:2px solid var(--color-border-primary);border-radius:8px;padding:1rem;cursor:pointer;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{margin-bottom:.75rem;background:var(--color-bg-tertiary);border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:120px}.template-thumbnail img{max-width:100%;max-height:200px;object-fit:contain;border:1px solid var(--color-border-primary);border-radius:2px}.template-info{flex:1}.template-name{font-weight:600;margin-bottom:.5rem}.template-desc{font-size:.9rem;color:var(--color-text-muted);margin-bottom:.5rem}.template-year{font-size:.8rem;color:var(--color-text-light)}.no-templates{color:var(--color-text-muted);font-style:italic}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--color-text-primary)}.form-group input[type=text],.form-group input[type=date],.form-group input[type=number],.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:1rem}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #1976d21a}.form-group .hint{font-size:.85rem;color:var(--color-text-muted);margin-top:.25rem;display:block}.checkbox-label input[type=checkbox]{width:18px;height:18px}.radio-group{display:flex;flex-direction:column;gap:.75rem}.radio-group label{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.interval-input{display:flex;align-items:center;gap:.5rem}.interval-input input{width:80px}.selected-count{color:var(--color-text-muted);font-size:.9rem}.review-section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-primary)}.review-section:last-child{border-bottom:none}.review-section h3{font-size:.9rem;color:var(--color-text-muted);margin-bottom:.25rem;font-weight:500}.review-section p{margin:0;color:var(--color-text-primary)}.review-section ul{margin:.5rem 0 0;padding-left:1.25rem}.review-section li{color:var(--color-text-muted)}.step-navigation{display:flex;gap:1rem;margin-bottom:2rem}.step-navigation .spacer{flex:1}.btn-send:hover:not(:disabled){background:var(--color-success)}.existing-campaigns{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border-primary)}.existing-campaigns h2{font-size:1.1rem;margin-bottom:1rem}.campaigns-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.campaign-card{border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem;cursor:pointer;transition:all .15s}.campaign-card:hover{border-color:var(--color-accent-primary);background:var(--color-bg-tertiary)}.campaign-name{font-weight:600;margin-bottom:.5rem}.campaign-status{font-size:.85rem;color:var(--color-text-muted);text-transform:capitalize}.campaign-stats{font-size:.85rem;color:var(--color-success);margin-top:.5rem}.validating-hint{color:var(--color-text-muted);font-style:italic;margin-top:.5rem}.email-validation-results{margin-top:1rem;padding:1rem;background:var(--color-bg-tertiary);border-radius:4px;font-size:.9rem}.valid-emails{margin-bottom:1rem}.valid-emails strong{color:var(--color-success)}.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:var(--color-error)}.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:var(--color-error);font-size:.9rem;margin-top:.5rem}.vague-time-section{margin-top:1rem;padding:1rem;background:var(--color-bg-primary);border-radius:8px;border:1px solid var(--color-border-primary)}.vague-time-section .form-group{margin-top:1rem}.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{font-size:.9rem;margin-top:8px}.campaigns-section{margin-bottom:32px}.campaigns-section h2{font-size:1.1rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 16px}.campaigns-table{width:100%;border-collapse:collapse;background:var(--color-bg-secondary);border-radius:8px;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;padding:12px 16px;font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.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 ease}.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{padding:20px 16px;vertical-align:middle}.col-name{width:35%}.col-name .campaign-name{display:block;color:var(--color-text-primary);font-size:.95rem;margin-bottom:4px}.col-name .campaign-description{display:block;font-size:.85rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.col-status{width:15%}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500}.status-badge.status-draft{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.status-badge.status-sending{background:var(--color-warning-light);color:var(--color-warning-dark)}.status-badge.status-sent{background:var(--color-info-light);color:var(--color-info-dark)}.status-badge.status-complete{background:var(--color-success-light);color:var(--color-success-dark)}.col-progress{width:30%}.progress-cell{display:flex;align-items:center;justify-content:flex-end;gap:12px}.progress-bar{flex:1;max-width:160px;height:8px;background:var(--color-border-primary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--color-accent-primary);border-radius:4px;transition:width .3s ease}.progress-fill.complete{background:var(--color-success)}.progress-text{font-size:.85rem;color:var(--color-text-muted);white-space:nowrap;min-width:70px;text-align:right}.col-date{width:12%;text-align:right;font-size:.85rem;color:var(--color-text-muted)}.col-actions{width:8%;text-align:center}.campaigns-table th.col-actions{text-align:center}.delete-warning p{margin:0 0 12px;color:var(--color-text-secondary)}.delete-warning .warning-text{color:var(--color-error);font-size:.9rem}.modal-actions{display:flex;gap:12px;justify-content:flex-end}@media(max-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(max-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{padding:1.5rem;max-width:1200px;margin:0 auto}.campaign-header{margin-bottom:1.5rem}.back-link{background:none;border:none;color:var(--color-accent-primary);cursor:pointer;font-size:.9rem;padding:0;margin-bottom:.5rem}.back-link:hover{text-decoration:underline}.campaign-header h1{margin:0 0 .5rem;color:var(--color-text-primary)}.campaign-meta{display:flex;align-items:center;gap:1rem}.template-name{color:var(--color-text-secondary);font-size:.95rem}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-size:.85rem;font-weight:500;text-transform:capitalize}.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{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1.5rem}.status-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem;text-align:center}.card-value{font-size:2rem;font-weight:700;color:var(--color-text-primary)}.card-label{font-size:.85rem;color:var(--color-text-secondary);margin-top:.25rem}.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{height:12px;background:var(--color-border-primary);border-radius:6px;overflow:hidden}.progress-fill{height:100%;background:var(--color-success);transition:width .3s ease}.progress-label{text-align:center;margin-top:.5rem;color:var(--color-text-secondary);font-size:.9rem}.campaign-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.btn-send{background:var(--color-success)}.btn-send:hover:not(:disabled){background:var(--color-success-dark)}.btn-secondary{padding:.75rem 1.5rem;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:4px;font-size:1rem;cursor:pointer}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary)}.btn-danger{padding:.75rem 1.5rem;background:var(--color-bg-secondary);color:var(--color-error);border:1px solid var(--color-error);border-radius:4px;font-size:1rem;cursor:pointer}.btn-danger:hover:not(:disabled){background:var(--color-error-light)}.success-message{background:var(--color-success-light);color:var(--color-success-dark);padding:1rem;border-radius:4px;margin-bottom:1rem}.recipients-filters{display:flex;gap:1rem;margin-bottom:1rem}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-weight:500;color:var(--color-text-secondary)}.filter-group select,.filter-group input{padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.9rem}.filter-group input{width:250px}.recipients-table-wrapper{overflow-x:auto;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.recipients-table{width:100%;border-collapse:collapse}.recipients-table th,.recipients-table td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--color-border-primary)}.recipients-table th{background:var(--color-bg-tertiary);font-weight:600;font-size:.85rem;color:var(--color-text-secondary)}.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{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border-primary)}.campaign-details h3{font-size:1rem;margin-bottom:1rem;color:var(--color-text-primary)}.details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.8rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.detail-value{color:var(--color-text-primary)}.btn-small{padding:.375rem .75rem;font-size:.8rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;cursor:pointer;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(max-width:768px){.status-cards{grid-template-columns:repeat(3,1fr)}.recipients-filters{flex-direction:column}.filter-group input{width:100%}}.signature-reports-page{padding:1.5rem;max-width:1400px;margin:0 auto}.reports-header{margin-bottom:1.5rem}.reports-header h1{margin:0 0 .5rem;color:var(--color-text-primary)}.reports-header p{color:var(--color-text-muted);margin:0}.reports-controls{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.control-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem 1.5rem}.control-label{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:var(--color-text-primary);margin-bottom:.75rem}.template-select{width:100%;max-width:400px;padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:1rem}.campaign-name{flex:1;font-weight:500}.campaign-stats{color:var(--color-text-muted);font-size:.9rem}.options-section{display:flex;flex-direction:row;align-items:center;gap:1.5rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px}.btn-primary{padding:.75rem 1.5rem;background:var(--color-accent-primary);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer}.btn-primary:hover:not(:disabled){background:var(--color-accent-primary-hover)}.btn-primary:disabled{background:var(--color-border-secondary);cursor:not-allowed}.btn-secondary{padding:.5rem 1rem;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:4px;font-size:.9rem;cursor:pointer}.btn-secondary:hover{background:var(--color-bg-tertiary)}.btn-link{background:none;border:none;color:var(--color-accent-primary);cursor:pointer;font-size:.9rem;padding:0}.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{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-tertiary)}.report-summary{color:var(--color-text-muted);font-size:.95rem}.report-actions{display:flex;gap:.75rem}.report-grid{width:100%;min-height:300px}.loading-report{text-align:center;padding:3rem;color:var(--color-text-muted)}@media print{.no-print{display:none!important}.signature-reports-page{padding:0;max-width:none}.report-section{border:none}.ag-root-wrapper,.ag-body-viewport{overflow:visible!important}.ag-paging-panel{display:none!important}}@media(max-width:768px){.options-section{flex-direction:column;align-items:flex-start}.report-toolbar{flex-direction:column;gap:1rem;align-items:flex-start}}.esignature-hub{height:100%;display:flex;flex-direction:column}.hub-content{flex:1;min-height:0;position:relative}.hub-panel{display:none;height:100%}.hub-panel.active{display:block}.hub-panel>*{height:100%}.cal-import-dates{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px}.cal-import-field{display:flex;flex-direction:column;gap:4px}.cal-import-field label{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.cal-import-field input[type=date]{padding:6px 8px;border:1px solid var(--color-border-secondary);border-radius:4px;font-size:14px}.cal-import-preview{max-height:450px;overflow-y:auto;border:1px solid var(--color-border-secondary);border-radius:4px}.cal-import-table{width:100%;border-collapse:collapse;font-size:14px}.cal-import-table thead{position:sticky;top:0;background:var(--color-bg-primary);z-index:1}.cal-import-table th{padding:8px 10px;text-align:left;font-weight:600;border-bottom:2px solid var(--color-border-secondary);white-space:nowrap}.cal-import-table td{padding:8px 10px;border-bottom:1px solid var(--color-border-primary);vertical-align:top}.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{padding:3px 6px;border:1px solid var(--color-border-secondary);border-radius:3px;font-size:13px;width:130px}.cal-time-multi{display:flex;flex-direction:column;gap:4px}.cal-time-row{display:flex;align-items:center;gap:6px}.cal-time-label{font-size:12px;color:var(--color-text-secondary);min-width:32px}.cal-badge-new{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:500;background:var(--color-success-light);color:var(--color-success)}.cal-badge-dupe{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:500;background:var(--color-warning-light);color:var(--color-warning);cursor:help}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.event-page .header-actions{display:flex;align-items:center;gap:1rem}.event-page .pdf-dropdown select{cursor:pointer}.event-page .semester-tabs{display:flex;gap:.25rem}.event-page .semester-tab{padding:.5rem 1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);cursor:pointer;font-size:.875rem;color:var(--color-text-secondary);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;padding:1.5rem;margin-bottom:2rem}.event-page .event-form h2{margin:0 0 1rem;font-size:1.125rem}.event-page .form-row{display:flex;gap:1rem;margin-bottom:1rem}.event-page .form-field,.event-page .ui-form-field{flex:1;margin-bottom:.5rem}.event-page .form-field label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.event-page .form-field input[type=text],.event-page .form-field input[type=date],.event-page .form-field select,.event-page .form-field textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem}.event-page .form-field input:focus,.event-page .form-field select:focus,.event-page .form-field textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #3574b81a}.event-page .checkbox-field{flex:none}.event-page .ensemble-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding:.5rem 0}.event-page .checkbox-label{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-secondary);cursor:pointer}.event-page .checkbox-label input[type=checkbox]{width:16px;height:16px}.event-page .form-actions{display:flex;gap:.5rem;margin-top:1.5rem}.event-page .event-actions{display:flex;gap:8px;margin-bottom:2rem}.event-page .create-btn{margin-bottom:0}.event-page .events-section{margin-bottom:2rem}.event-page .events-section h2{font-size:1.125rem;margin-bottom:1rem}.event-page .events-table-container{overflow-x:auto}.event-page .events-table{width:100%;border-collapse:collapse;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden;font-size:.875rem}.event-page .events-table th,.event-page .events-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border-primary)}.event-page .events-table th{background:var(--color-bg-primary);font-weight:600;color:var(--color-text-secondary)}.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{font-weight:500;color:var(--color-text-primary)}.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{font-size:.75rem;color:var(--color-text-muted);margin-bottom:.5rem}.event-page .ensemble-row{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:140px}.event-page .select-only-label{font-size:.65rem;color:var(--color-text-light);margin-left:1.25rem;margin-top:-.125rem}.event-page .select-only-label input[type=checkbox]{width:12px;height:12px}.event-page .select-badge{font-size:.75rem;color:var(--color-accent-primary);font-weight:500}.event-page .days-container{display:flex;flex-direction:column;gap:.5rem}.event-page .day-row{display:flex;gap:.5rem;align-items:center}.event-page .day-date{width:150px;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem}.event-page .day-time{flex:1;min-width:180px;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem}.event-page .day-label{width:140px;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem}.event-page .day-row input:focus{outline:none;border-color:var(--color-accent-primary);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{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.ensemble-management-page .header-text h2{margin:0 0 .25rem}.ensemble-management-page .header-text .description{margin:0}.ensemble-main-content{display:flex;gap:1.5rem;align-items:flex-start}.ensemble-management-page .list-panel{width:350px;flex-shrink:0}.ensemble-management-page .detail-panel{flex:1;min-width:0}.ensemble-management-page .loading{padding:2rem;text-align:center;color:var(--color-text-muted)}.ensemble-management-page .empty-state{text-align:center;padding:3rem;color:var(--color-text-muted);background:var(--color-bg-primary);border-radius:8px}.ensemble-management-page .empty-state p{margin:.5rem 0}.ensemble-management-page .empty-members{text-align:center;padding:2rem;color:var(--color-text-muted);background:var(--color-bg-primary);border-radius:6px}.ensemble-management-page .empty-members p{margin:0}.ensemble-management-page .ensemble-list{display:flex;flex-direction:column;gap:.5rem;max-height:calc(100vh - 250px);overflow-y:auto}.ensemble-management-page .ensemble-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px;padding:.75rem 1rem;cursor:pointer;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{font-weight:600;font-size:1rem;color:var(--color-text-primary);margin-bottom:.25rem}.ensemble-management-page .ensemble-meta{display:flex;align-items:center;gap:.5rem}.ensemble-management-page .member-count{font-size:.875rem;color:var(--color-text-secondary)}.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{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);border-radius:8px 8px 0 0}.ensemble-management-page .detail-header h3{margin:0;font-size:1.125rem}.ensemble-management-page .detail-title-row{display:flex;align-items:center;gap:1rem}.ensemble-management-page .curricular-toggle{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-muted);cursor:pointer}.ensemble-management-page .curricular-toggle input{cursor:pointer}.ensemble-management-page .detail-actions{display:flex;gap:.5rem}.ensemble-management-page .detail-content{padding:1.5rem}.ensemble-management-page .edit-name-row{display:flex;align-items:center;gap:.5rem;flex:1}.ensemble-management-page .edit-name-input{font-size:1.125rem;font-weight:600;padding:.375rem .5rem;border:1px solid var(--color-accent-primary);border-radius:4px;flex:1}.ensemble-management-page .edit-name-input:focus{outline:none;box-shadow:0 0 0 3px #3574b81a}.ensemble-management-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-primary)}.ensemble-management-page .section-title{font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.ensemble-management-page .section-actions{display:flex;gap:.5rem}.ensemble-management-page .select-all-row{margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-primary)}.ensemble-management-page .select-all-row label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-muted);cursor:pointer}.ensemble-management-page .select-all-row input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.ensemble-management-page .members-list{display:flex;flex-direction:column;gap:.375rem;max-height:calc(100vh - 400px);overflow-y:auto}.ensemble-management-page .member-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:4px;transition:background-color .15s}.ensemble-management-page .member-row:hover{background:var(--color-bg-tertiary)}.ensemble-management-page .member-row.selected{background:var(--color-accent-light);border-color:var(--color-accent-primary)}.ensemble-management-page .member-checkbox{flex-shrink:0}.ensemble-management-page .member-checkbox input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.ensemble-management-page .member-info{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ensemble-management-page .member-name{font-weight:500;color:var(--color-text-primary)}.ensemble-management-page .member-email{font-size:.875rem;color:var(--color-text-muted)}.ensemble-management-page .member-instrument{font-size:.75rem;color:var(--color-success-dark);background:var(--color-success-light);padding:.125rem .375rem;border-radius:4px}.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{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.ensemble-management-page .form-field input[type=text]{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem;font-family:inherit}.ensemble-management-page .form-field input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #3574b81a}.ensemble-management-page .form-field.checkbox-field label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.ensemble-management-page .form-field.checkbox-field input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.ensemble-management-page .form-error{padding:.75rem 1rem;background:var(--color-error-light);color:var(--color-error);border-radius:6px;margin-top:1rem;font-size:.875rem}.ensemble-management-page .student-search-container{position:relative;margin-bottom:1rem}.ensemble-management-page .student-search-input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem;font-family:inherit}.ensemble-management-page .student-search-input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #3574b81a}.ensemble-management-page .student-search-container .searching-indicator{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:.75rem;color:var(--color-text-muted)}.ensemble-management-page .no-results-hint{padding:.5rem 0;font-size:.875rem;color:var(--color-text-muted)}.ensemble-management-page .ensemble-search-field .ensemble-search-container{position:relative}.ensemble-management-page .ensemble-search-field input[type=text]{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem;font-family:inherit}.ensemble-management-page .ensemble-search-field input[type=text]:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #3574b81a}.ensemble-management-page .ensemble-search-field .searching-indicator{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);font-size:.75rem;color:var(--color-text-muted)}.ensemble-management-page .ensemble-search-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-height:200px;overflow-y:auto;z-index:10;margin:0;padding:0;list-style:none}.ensemble-management-page .ensemble-search-dropdown li{padding:.5rem .75rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:1px solid var(--color-bg-tertiary)}.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{font-weight:500;color:var(--color-text-primary)}.ensemble-management-page .ensemble-search-dropdown .status{font-size:.75rem;padding:.125rem .375rem;border-radius:4px}.ensemble-management-page .ensemble-search-dropdown .status.active{background:var(--color-success-light);color:var(--color-success-dark)}.ensemble-management-page .ensemble-search-dropdown .status.inactive{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.ensemble-management-page .selected-ensemble-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-accent-light);border:1px solid #93c5fd;border-radius:6px}.ensemble-management-page .selected-ensemble-chip span:first-child{font-weight:500;color:var(--color-info-dark)}.ensemble-management-page .selected-ensemble-chip .chip-status{font-size:.75rem;color:var(--color-text-muted)}.ensemble-management-page .selected-ensemble-chip .chip-remove{margin-left:auto;background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.25rem;padding:0;line-height:1}.ensemble-management-page .selected-ensemble-chip .chip-remove:hover{color:var(--color-error)}.ensemble-management-page .form-warning{padding:.75rem 1rem;background:var(--color-warning-light);color:var(--color-warning-dark);border-radius:6px;margin-top:1rem;font-size:.875rem}@media(max-width:1024px){.ensemble-management-page{max-width:100%}.ensemble-management-page .list-panel{width:280px}.ensemble-management-page .detail-content{padding:1rem}}@media(max-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;gap:1rem;align-items:stretch}.ensemble-management-page .ensemble-card{padding:1rem;min-height:44px}.ensemble-management-page .member-row{padding:.75rem;min-height:44px}.ensemble-management-page .detail-header{flex-direction:column;gap:.75rem;align-items:flex-start;padding:1rem}.ensemble-management-page .detail-actions{width:100%;flex-wrap:wrap}.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;gap:.75rem;align-items:stretch}.ensemble-management-page .section-actions{justify-content:flex-start}.ensemble-management-page .select-all-row label{min-height:44px;display:flex;align-items:center}}@media(max-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{font-size:.8125rem;word-break:break-all}.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{display:flex;gap:.5rem}.ensemble-management-page .import-result h4{margin:0 0 1rem;color:var(--color-text-primary)}.ensemble-management-page .import-stats{background:var(--color-bg-primary);padding:1rem;border-radius:6px;margin-bottom: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{margin:0 0 .5rem;color:var(--color-error);font-size:.875rem}.ensemble-management-page .import-errors ul{margin:0;padding-left:1.25rem;font-size:.8125rem;color:var(--color-error-dark)}.ensemble-management-page .import-errors li{margin:.25rem 0}.email-templates-page{padding:1.5rem}.email-templates-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.email-templates-page .page-header h1{margin:0;font-size:1.5rem}.email-templates-page .templates-grid{width:100%}.grid-delete-btn{background:none;border:1px solid var(--color-error);color:var(--color-error);padding:2px 8px;border-radius:3px;cursor:pointer;font-size:.75rem}.grid-delete-btn:hover{background:var(--color-error);color:#fff}.email-templates-page .template-form{max-width:900px}.email-templates-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.email-templates-page .form-row label,.email-templates-page .form-section label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.25rem}.email-templates-page .form-row input,.email-templates-page .form-row select{display:block;width:100%;margin-top:.25rem;padding:.4rem .6rem;border:1px solid var(--color-border-secondary);border-radius:4px;font-size:.9rem}.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{display:block;width:100%;padding:.4rem .6rem;border:1px solid var(--color-border-secondary);border-radius:4px;font-size:.9rem}.email-templates-page .required{color:var(--color-error)}.email-templates-page .form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.variable-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.4rem .5rem;margin-bottom:.35rem;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:4px;font-size:.8rem}.variable-toolbar-disabled{color:var(--color-text-muted);font-style:italic}.variable-toolbar-label{color:var(--color-text-muted);font-weight:600;margin-right:.25rem}.variable-btn{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:3px;padding:2px 8px;cursor:pointer;font-size:.78rem;color:var(--color-accent-primary);white-space:nowrap}.variable-btn:hover{background:var(--color-accent-light);border-color:var(--color-accent-primary)}.preview-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.preview-modal{background:var(--color-bg-secondary);border-radius:8px;padding:1.5rem;max-width:700px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.preview-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.preview-modal-header h2{margin:0;font-size:1.2rem}.preview-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-muted);padding:0 .25rem}.preview-note{color:var(--color-text-muted);font-size:.85rem;margin-bottom:1rem}.preview-subject{padding:.5rem 0;border-bottom:1px solid var(--color-border-primary);margin-bottom:1rem}.preview-body{line-height:1.5}.preview-body img{max-width:100%;height:auto}.version-history{margin-top:2rem;border-top:1px solid var(--color-border-primary);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{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.version-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:4px;cursor:pointer;font-size:.85rem}.version-item:hover{background:var(--color-bg-tertiary)}.version-item.selected{border-color:var(--color-accent-primary);background:var(--color-accent-light)}.version-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.version-number{font-weight:700;color:var(--color-accent-primary)}.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-style:italic;font-size:.8rem}.version-revert-btn{background:none;border:1px solid #6c757d;color:var(--color-text-secondary);padding:2px 10px;border-radius:3px;cursor:pointer;font-size:.78rem;flex-shrink:0}.version-revert-btn:hover{background:var(--color-text-secondary);color:#fff}.version-revert-btn:disabled{opacity:.5;cursor:not-allowed}.version-comparison{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.comparison-panel{border:1px solid var(--color-border-primary);border-radius:4px;padding:.75rem;overflow:auto;max-height:400px}.comparison-panel h4{margin:0 0 .5rem;font-size:.9rem;color:var(--color-text-primary)}.comparison-subject{font-size:.85rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-primary);margin-bottom:.5rem}.comparison-body{font-size:.85rem;line-height:1.4}.comparison-body img{max-width:100%;height:auto}.no-access-page{max-width:600px;margin:80px auto;padding:2rem;text-align:center}.no-access-page h1{margin-bottom:1.5rem;font-size:1.5rem;color:var(--color-text-primary)}.no-access-page p{margin-top:1.5rem;color:var(--color-text-secondary)}.no-access-page a{color:var(--color-primary)}.no-access-page .btn{margin-top:2rem}.add-account-form{display:flex;flex-direction:column;gap:16px}.parent-context{background:var(--color-bg-tertiary);border-radius:6px;padding:12px;display:flex;gap:8px}.context-label{color:var(--color-text-muted);font-weight:500}.context-value{color:var(--color-text-primary);font-weight:500}.inherited-info{display:flex;gap:24px;padding:8px 12px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px}.inherited-item{display:flex;gap:6px;align-items:center}.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{display:flex;flex-direction:column;gap:4px}.add-account-form label{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.add-account-form input{padding:8px 12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .15s ease}.add-account-form input:focus{outline:none;border-color:var(--color-accent-primary);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{font-size:12px;color:var(--color-error)}.add-account-form .field-hint{font-size:12px;color:var(--color-text-muted)}.add-account-actions{display:flex;gap:12px;justify-content:flex-end}.categories-page{padding:1.5rem;max-width:1200px;margin:0 auto}.categories-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.categories-page .page-header h1{margin:0;font-size:1.5rem;font-weight:600}.categories-page .header-controls{display:flex;gap:1rem;align-items:center}.categories-page .domain-filter{padding:.5rem 1rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem;min-width:200px}.categories-page .filter-hint{color:var(--color-text-muted);font-size:.875rem;margin-bottom:1rem}.categories-page .categories-content{background:var(--color-bg-secondary);border-radius:8px;overflow:hidden}.categories-page .loading-skeleton{display:flex;flex-direction:column;gap:.5rem;padding:1rem}.categories-page .error-message{color:var(--color-error);padding:1rem;text-align:center}.categories-page .empty-state{color:var(--color-text-muted);padding:2rem;text-align:center}.view-mode-toggle{display:flex;border:1px solid var(--color-border-primary);border-radius:6px;overflow:hidden}.view-mode-toggle button{padding:.375rem .75rem;font-size:.8125rem;border:none;background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;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{display:flex;align-items:center}.category-group-name{font-weight:600;font-size:.9375rem;color:var(--color-text-primary);text-transform:capitalize}.category-group-count{color:var(--color-text-muted);font-weight:400;font-size:.875rem}.category-domain-group-header{display:flex;align-items:center}.category-domain-group-name{font-weight:700;font-size:1rem;color:var(--color-text-primary)}.category-type-badge{color:var(--color-text-muted);font-size:.8125rem}.category-name-cell{display:flex;align-items:center;gap:.5rem;width:100%}.category-number{font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.8125rem;color:var(--color-text-muted);min-width:50px;flex-shrink:0}.category-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.categories-page .context-menu{background:var(--color-bg-primary, #fff);border:1px solid var(--color-border, #ddd);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px 0;z-index:1000;min-width:160px}.categories-page .context-menu button{display:block;width:100%;padding:8px 12px;text-align:left;background:none;border:none;font-size:13px;color:var(--color-text-primary, #333);cursor:pointer}.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{height:1px;background:var(--color-border-primary, #ddd);margin:4px 0}.show-inactive-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.show-inactive-toggle input[type=checkbox]{margin:0;cursor:pointer}.categories-tree-table .tree-table-row.inactive-row{opacity:.6}.categories-tree-table .tree-table-row.inactive-row .category-label{text-decoration:line-through;color:var(--color-text-muted)}.categories-tree-table .tree-table-row.inactive-row .category-number{text-decoration:line-through}.category-name-cell.inactive .category-label{text-decoration:line-through;color:var(--color-text-muted)}.category-name-cell.inactive .category-number{text-decoration:line-through}.journal-entry-form{display:flex;flex-direction:column;gap:1rem}.journal-entry-hint{font-size:.875rem;color:var(--color-text-muted);background:var(--color-bg-tertiary);padding:.75rem 1rem;border-radius:6px;margin:0;border-left:3px solid var(--color-accent-primary)}.je-lines-header-row{display:flex;gap:.5rem;align-items:center;padding:.25rem 0;margin-top:.5rem}.je-line-header{font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.5px}.je-line-header--program{width:140px;flex-shrink:0}.je-line-header--account{flex:2;min-width:180px}.je-line-header--debit,.je-line-header--credit{width:100px;flex-shrink:0;text-align:right;padding-right:.5rem}.je-line-header--memo{flex:1;min-width:120px}.je-line-header--action{width:36px;flex-shrink:0}.je-line-row-wrapper{padding:.25rem 0}.je-line-row{display:flex;gap:.5rem;align-items:center}.je-line-row-wrapper .line-student-subrow{padding-left:calc(140px + .5rem);margin-top:4px;padding-bottom:4px}.je-line-program{width:140px;flex-shrink:0}.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{width:100px;flex-shrink:0}.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{width:36px;flex-shrink:0;display:flex;justify-content:center}.je-balance-indicator{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:6px;margin-top:.5rem;font-size:.875rem}.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{display:flex;gap:1.5rem}.je-balance-totals span{font-weight:500}.je-balance-status{font-weight:600}@media(max-width:900px){.je-lines-header-row,.je-line-row{flex-wrap:wrap}.je-line-program,.je-line-account{flex:1 1 100%;width:100%}.je-line-debit,.je-line-credit{flex:1 1 45%;width:auto}.je-line-memo{flex:1 1 100%}.je-line-header--program,.je-line-header--account,.je-line-header--memo{display:none}.je-line-row{padding:.5rem;background:var(--color-bg-tertiary);border-radius:6px;margin-bottom:.5rem}}.transactions-page{padding:1.5rem}.transactions-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.transactions-page .page-header h1{margin:0;font-size:1.5rem;font-weight:600}.transactions-page .header-actions{display:flex;gap:.5rem}.transaction-filters{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem;margin-bottom:1rem}.transaction-filters__row{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.transaction-filters__row:last-child{margin-bottom:0}.transaction-filters__field{display:flex;flex-direction:column;gap:.25rem;min-width:150px}.transaction-filters__field--checkbox{flex-direction:row;align-items:center;min-width:auto}.transaction-filters__label{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase}.transaction-filters__select,.transaction-filters__input{padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.transaction-filters__checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.transaction-filters__clear-btn{padding:.5rem 1rem;border:1px solid var(--color-border-primary);border-radius:4px;background:transparent;font-size:.875rem;cursor:pointer;color:var(--color-text-muted);margin-top:auto}.transaction-filters__clear-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.transaction-filters__active-filters{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.transaction-filters__badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .5rem .375rem .75rem;background:var(--color-accent-light);border:1px solid var(--color-accent-primary);border-radius:16px;font-size:.8125rem;color:var(--color-info-dark)}.transaction-filters__badge-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--color-accent-primary);cursor:pointer;border-radius:50%;transition:background-color .15s}.transaction-filters__badge-clear:hover{background:#1976d233}.transactions-grid{height:calc(100vh - 240px);min-height:300px;border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.grid-reset-btn-header{display:inline-flex;align-items:center;justify-content:center;width:36px;padding:.5rem 0;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:14px;cursor:pointer;transition:background .15s,border-color .15s}.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);padding:2rem;text-align:center}.edit-modal-content,.bulk-modal-content{display:flex;flex-direction:column;gap:1rem}.transaction-context{background:var(--color-bg-tertiary);padding:1rem;border-radius:4px;font-size:.875rem}.transaction-context p{margin:.25rem 0}.transaction-context--grid{display:flex;flex-direction:column;gap:.75rem}.context-row{display:flex;gap:2rem}.context-item{display:flex;align-items:baseline;gap:.5rem}.context-item--wide{flex:1}.context-label{font-weight:500;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.context-value{color:var(--color-text-primary);font-size:.875rem;font-weight:500}.context-amount{font-weight:600;font-size:1rem}.context-type{display:flex;align-items:center;gap:.35rem}.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{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:var(--color-accent-light);color:var(--color-accent-primary);border-radius:4px;font-size:.75rem;font-weight:500}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{font-weight:500;font-size:.875rem}.form-field select{padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem}.form-hint{font-size:.75rem;color:var(--color-text-muted);margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-primary)}.modal-actions__spacer{flex:1}.delete-confirm-group{display:flex;gap:.5rem}.transaction-form{display:flex;flex-direction:column;gap:1rem}.transaction-form .form-field{display:flex;flex-direction:column;gap:.25rem}.transaction-form label{font-weight:500;font-size:.875rem}.transaction-form input,.transaction-form select,.transaction-form textarea{padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;font-family:inherit}.transaction-form textarea{resize:vertical;min-height:60px}.transaction-form input:focus,.transaction-form select:focus,.transaction-form textarea:focus{outline:none;border-color:var(--color-accent-primary);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{display:flex;gap:1rem;align-items:flex-end}.txn-type-toggle{display:inline-flex;border:1px solid var(--color-border-primary);border-radius:4px;overflow:hidden}.txn-type-toggle button{padding:.5rem .875rem;border:none;background:var(--color-bg-secondary);font-size:.875rem;font-family:inherit;cursor:pointer;color:var(--color-text-muted);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{display:flex;justify-content:space-between;align-items:center}.lines-header label{margin:0}.lines-footer{margin-top:.5rem;margin-bottom:-1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.lines-footer .balance-indicator{margin-top:0;flex-shrink:1}.split-badge{font-size:.75rem;color:var(--color-accent-primary);font-weight:500}.lines-header-row{display:flex;gap:1rem;align-items:center;padding:.25rem 0;margin-top:.25rem;margin-bottom:.25rem}.line-header{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.5px}.line-header--amount{width:90px;flex-shrink:0;justify-content:flex-end}.line-header--domain{width:160px;flex-shrink:0}.line-header--category{flex:2;min-width:200px}.line-header--memo{flex:2;min-width:180px}.line-header--action{width:32px}.lines-container{display:flex;flex-direction:column;gap:.5rem}.line-row-wrapper{display:flex;flex-direction:column;gap:6px}.line-row{display:flex;gap:1rem;align-items:center}.line-amount{width:90px;flex-shrink:0}.line-amount input{text-align:right}.line-domain{width:160px;flex-shrink:0}.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{width:100%;padding:.25rem .5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;height:32px;box-sizing:border-box}.balance-indicator{font-size:.75rem;padding:.5rem;border-radius:4px;margin-top:.5rem}.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{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;margin-bottom:.25rem;background:var(--color-info-light);border:1px solid var(--color-info-light);border-radius:4px;font-size:.75rem;color:var(--color-text-secondary)}.suggestion-chip__icon{color:var(--color-info);flex-shrink:0}.suggestion-chip__label{font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-chip__confidence{color:var(--color-text-muted);cursor:help;flex-shrink:0}.suggestion-chip__accept{display:inline-flex;align-items:center;gap:.125rem;padding:.125rem .375rem;margin-left:auto;background:var(--color-success);color:#fff;border:none;border-radius:3px;font-size:.6875rem;font-weight:500;cursor:pointer;transition:background-color .15s;flex-shrink:0}.suggestion-chip__accept:hover{background:var(--color-success-dark)}.split-category{color:var(--color-text-muted);font-size:.875em}.action-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:4px;transition:background-color .15s,color .15s}.action-icon-btn svg{width:16px;height:16px;flex-shrink:0}.action-icon-btn:hover{background:var(--color-bg-hover);color:var(--color-accent-primary)}.transfer-account-display,.transfer-amount-display{padding:.5rem;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;color:var(--color-text-muted);cursor:not-allowed}.transfer-amount-display{text-align:right}.btn-confirm-delete:hover{background-color:var(--color-error-dark)}.btn-cancel-delete{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.je-edit-header-row{display:flex;gap:1rem}.je-edit-date,.je-edit-ref{flex:1}.notes-attachments-row{display:flex;gap:1rem;align-items:flex-start}.notes-attachments-row__notes{flex:3}.notes-attachments-row__notes textarea{height:100%;min-height:60px;resize:vertical}.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{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--color-bg-tertiary);border-radius:4px;font-size:.875rem}.transaction-context--compact .context-source{margin-left:auto;color:var(--color-text-muted);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{padding-left:calc(250px + 2rem);margin-top:8px;padding-bottom:4px}.cross-domain-warning{display:flex;align-items:center;gap:.35rem;padding:2px 0 2px calc(90px + 1rem);font-size:.75rem;color:var(--color-warning)}.student-chip-picker{display:inline-flex;align-items:center;gap:2px}.student-chip-icon{color:var(--color-text-muted);margin-right:4px;flex-shrink:0}.student-chip{display:inline-flex;align-items:center;padding:2px 8px;font-size:.75rem;line-height:1.25rem;border:1px solid var(--color-border-secondary);border-radius:9999px;background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;font-family:inherit}.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{padding:2px 6px;color:var(--color-text-light);border-color:var(--color-border-primary);background:transparent}.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{margin-top:.5rem;border:1px solid var(--color-border-primary);border-radius:8px;background:var(--color-bg-secondary);padding:1rem 1.25rem}.account-mappings-page{padding:1.5rem;max-width:900px;margin:0 auto}.account-mappings-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.account-mappings-page .page-header h1{margin:0;font-size:1.5rem;font-weight:600}.account-mappings-page .page-subtitle{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.875rem}.account-mappings-page .header-actions{display:flex;gap:.75rem;align-items:center}.account-mappings-page .unsaved-warning{background:var(--color-warning-light);color:var(--color-warning-dark);padding:.5rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.account-mappings-page .mapping-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.account-mappings-page .section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.account-mappings-page .section-header h2{margin:0;font-size:1.125rem;font-weight:600}.account-mappings-page .section-description{margin:.25rem 0 0;color:var(--color-text-muted);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{display:flex;gap:.75rem;align-items:center}.account-mappings-page .error-message{color:var(--color-error);padding:2rem;text-align:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.account-mappings-page .ag-cell-inline-editing{padding:0!important}.account-mappings-page .ag-cell-inline-editing input{padding:0 8px;height:100%;font-size:inherit}.account-mappings-page .empty-state{padding:2rem;text-align:center;color:var(--color-text-muted);background:var(--color-bg-tertiary);border:1px dashed var(--color-border-primary);border-radius:4px}.account-mappings-page .empty-state p{margin:0;font-size:.875rem}.account-mappings-page .spinning{animation:spin 1s linear infinite}.budget-page{display:grid;grid-template-columns:130px 1fr;grid-template-rows:auto 1fr;height:calc(100vh - 56px);margin:-1.5rem -1.5rem -1.5rem 0;overflow:hidden}.budget-page .page-header{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary)}.budget-page .header-title{display:flex;align-items:center;gap:1rem}.budget-page .page-header h1{margin:0;font-size:1.25rem;font-weight:600}.budget-page .net-summary{font-size:1.125rem;font-weight:600;font-variant-numeric:tabular-nums}.budget-page .net-summary.positive{color:var(--color-success)}.budget-page .net-summary.negative{color:var(--color-error)}.budget-page .header-actions{display:flex;gap:.5rem}.budget-main{display:flex;flex-direction:column;overflow:hidden;padding:.75rem 1rem;min-height:0}.version-timeline-area{margin-bottom:.5rem}.budget-summary{display:flex;align-items:flex-start;gap:2rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem}.summary-table{border-collapse:collapse;font-size:.875rem}.summary-table th{text-align:right;font-weight:500;color:var(--color-text-muted);padding:.25rem 1rem;min-width:100px}.summary-table th:first-child{text-align:left}.summary-table td{padding:.25rem 1rem}.summary-table .summary-label{font-size:.875rem;color:var(--color-text-muted);text-align:left}.summary-table .summary-value{font-size:.875rem;font-weight:600;color:var(--color-text-primary);text-align:right;font-variant-numeric:tabular-nums}.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);font-weight:500;font-size:.875rem;align-self:center}.budget-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.budget-grid-options{display:flex;gap:1rem}.budget-grid-options .checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary);cursor:pointer}.budget-grid-options .checkbox-label input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.budget-content,.budget-grid{flex:1;min-height:0;display:flex;flex-direction:column}.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);padding:.5rem 0;flex-shrink:0}.budget-totals-footer .totals-row{display:grid;grid-template-columns:1fr 130px 130px;padding:.25rem 1rem;font-size:.875rem}.budget-totals-footer .totals-label{font-weight:500;color:var(--color-text-muted)}.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{font-style:italic;color:var(--color-text-muted)}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-form .warning-text{color:var(--color-warning);font-size:.875rem}.modal-form .modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--color-border-primary)}.error-banner{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;margin-bottom:.75rem;background:var(--color-error-light);border:1px solid var(--color-error);border-radius:8px;color:var(--color-error);font-size:.875rem}.error-banner button{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0;line-height:1}.modal-form .info-text{font-size:.813rem;color:var(--color-text-muted);margin-top:.5rem}.sticky-save-bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary);box-shadow:0 -2px 8px #0000001a;z-index:100}.sticky-save-bar .unsaved-text{font-size:.875rem;font-weight:500;color:var(--color-warning)}.sticky-save-bar .sticky-save-actions{display:flex;gap:.5rem}.budget-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:var(--color-bg-secondary);border:1px dashed var(--color-border-primary);border-radius:8px;color:var(--color-text-muted)}.budget-empty-state h3{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.budget-empty-state p{margin:0 0 1.5rem;font-size:.875rem}.budget-empty-state .empty-actions{display:flex;gap:.75rem}.budget-empty-state .copy-source{font-size:.75rem;color:var(--color-text-muted);margin-top:.75rem}.reports-page{padding:4px 20px 12px;max-width:1400px;margin:0 auto}.reports-page .ui-tabs{margin-bottom:12px}.reports-filters{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.year-selector{padding:8px 10px;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px;min-width:90px}.year-selector:focus{outline:none;border-color:var(--color-accent-primary)}.hide-cents-toggle{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.hide-cents-toggle input{cursor:pointer}.summary-card{display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-left:auto}.summary-label{font-size:16px;color:var(--color-text-secondary);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{padding:14px 20px;margin-bottom:10px;background:var(--color-error-light);border:2px solid var(--color-error);border-radius:8px;color:var(--color-error-dark);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{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:10px}.budget-info{display:flex;align-items:center;gap:12px}.budget-name{font-size:14px;font-weight:600;color:var(--color-text-primary)}.budget-status-badge{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.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{display:flex;align-items:center;gap:12px}.show-all-versions-toggle{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.show-all-versions-toggle input{cursor:pointer}.budget-version-selector{padding:6px 10px;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:13px;min-width:200px}.budget-version-selector:focus{outline:none;border-color:var(--color-accent-primary)}.context-menu{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px 0;z-index:1000;min-width:200px}.context-menu button{display:block;width:100%;padding:8px 12px;text-align:left;background:none;border:none;font-size:13px;color:var(--color-text-primary);cursor:pointer}.context-menu button:hover:not(:disabled){background:var(--color-bg-hover)}.context-menu button:disabled{color:var(--color-text-muted);cursor:default}.actual-link{background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:0;text-align:right;width:100%}.actual-link:hover{text-decoration:underline;color:var(--color-accent-primary)}.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{padding:1.5rem;max-width:1400px}.review-queue-page__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.review-queue-page__title-row{display:flex;align-items:center;gap:.75rem}.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);font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:12px}.review-queue-page__controls{display:flex;align-items:center;gap:1rem}.review-queue-page__toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--color-text-muted)}.review-queue-page__toggle input{cursor:pointer}.review-queue-page__loading{display:flex;flex-direction:column;gap:1rem}.review-queue-page__error{color:var(--color-error);padding:2rem;text-align:center}.review-queue-page__empty{text-align:center;padding:4rem 2rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.review-queue-page__empty-icon{font-size:3rem;color:var(--color-success);margin-bottom:1rem}.review-queue-page__empty h2{margin:0 0 .5rem;font-size:1.25rem}.review-queue-page__empty p{margin:0;color:var(--color-text-muted)}.review-queue-page__empty-hint{margin-top:1rem!important;font-size:.875rem}.account-review-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.account-review-panel__header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-tertiary)}.account-review-panel__header h2{margin:0;font-size:1.125rem;font-weight:600}.account-review-panel__summary{font-size:.875rem;color:var(--color-text-muted)}.account-review-panel__loading{padding:2rem}.account-review-panel__error{color:var(--color-error);padding:2rem;text-align:center}.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;padding:2rem;color:var(--color-text-muted)}.account-review-panel__empty p{margin:0}.pending-transactions-grid{display:flex;flex-direction:column;gap:.75rem}.pending-transactions-grid__toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.pending-transactions-grid__status{font-size:.875rem;color:var(--color-text-muted)}.pending-transactions-grid__ready{font-weight:500;color:var(--color-text-primary)}.pending-transactions-grid__not-ready{color:var(--color-warning-dark);margin-left:.5rem}.pending-transactions-grid__actions{display:flex;gap:.5rem}.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{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 0;border:none;background:none;cursor:pointer;font-size:.9375rem;font-weight:600;color:var(--color-text-primary);text-align:left}.recently-approved-grid__header:hover{color:var(--color-accent-primary)}.recently-approved-grid__header-icon{display:flex;color:var(--color-text-muted)}.recently-approved-grid__header-title{flex:1}.recently-approved-grid__header-subtitle{font-size:.75rem;font-weight:400;color:var(--color-text-muted)}.recently-approved-grid__toolbar{display:flex;justify-content:flex-end;margin-bottom:.5rem}.recently-approved-grid__grid{border:1px solid var(--color-border-primary);border-radius:4px;overflow:hidden}.transfer-badge{display:inline-block;padding:.125rem .375rem;font-size:.6875rem;font-weight:500;color:var(--color-accent-primary);background:var(--color-accent-light);border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.row-approve-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:var(--color-success);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s}.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{display:inline-block;padding:1px 6px;border-radius:8px;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.3px;line-height:1.3}.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);padding:.75rem 1rem;border-radius:6px;margin-bottom: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);padding:.75rem 1rem;border-radius:6px;margin-bottom: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{display:flex;gap:.5rem}.pending-transactions-grid__filter-input{flex:1;max-width:300px;padding:.375rem .75rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem}.pending-transactions-grid__filter-input:focus{outline:none;border-color:var(--color-accent-primary)}.pending-transactions-grid__reset-cols{background:none;border:none;color:var(--color-text-muted);font-size:.75rem;cursor:pointer;padding:.25rem .5rem;white-space:nowrap}.pending-transactions-grid__reset-cols:hover{color:var(--color-accent-primary);text-decoration:underline}.attachments-section{border:1px solid var(--color-border-primary);border-radius:6px;padding:12px;background:var(--color-bg-primary)}.attachments-loading,.attachments-empty{font-size:13px;color:var(--color-text-muted);padding:8px 0}.attachments-list{list-style:none;margin:0 0 12px;padding:0}.attachment-item{display:flex;align-items:center;justify-content:space-between;padding:8px;border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary)}.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{display:block;font-size:13px;color:var(--color-accent-primary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-link:hover{text-decoration:underline}.attachment-meta{display:block;font-size:11px;color:var(--color-text-light);margin-top:2px}.attachment-delete-btn{background:none;border:none;cursor:pointer;padding:4px 8px;color:var(--color-text-light);border-radius:4px;margin-left:8px;display:flex;align-items:center}.attachment-delete-btn:hover{background-color:var(--color-error-light);color:var(--color-error)}.attachment-delete-confirm{display:flex;gap:4px;margin-left:8px}.btn-confirm-delete,.btn-cancel-delete{padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;border:none}.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{display:flex;align-items:center;gap:8px}.btn-upload{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:var(--color-accent-primary);color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer}.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{font-size:11px;color:var(--color-text-light)}.attachment-error{margin-top:8px;padding:6px 8px;background-color:var(--color-error-light);color:var(--color-error);border-radius:4px;font-size:12px}.account-register-page{display:flex;flex-direction:column;height:100%;padding:1rem;gap:1rem}.register-header{display:flex;flex-direction:column;gap:1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem}.register-header-top{display:flex;align-items:center;gap:1rem}.register-title{font-size:1.25rem;font-weight:600;margin:0;flex:1}.account-number{color:var(--color-text-secondary);margin-right:.5rem}.domain-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;margin-left:.75rem;vertical-align:middle;letter-spacing:.025em}.register-header-actions{margin-left:auto}.balance-comparison{display:flex;gap:1rem;flex-wrap:wrap}.balance-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;padding:.75rem 1rem;min-width:150px}.balance-card.balance-diff{border-color:var(--color-warning);background:var(--color-warning-light)}.balance-label{font-size:.75rem;color:var(--color-text-secondary);margin-bottom:.25rem;display:flex;align-items:center;gap:.25rem}.balance-label span{cursor:help;border-bottom:1px dotted var(--color-text-secondary)}.balance-value{font-size:1.125rem;font-weight:600;font-variant-numeric:tabular-nums}.not-connected{color:var(--color-text-light);font-weight:400;font-style:italic}.stale-icon{color:var(--color-warning);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.transaction-counts{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.875rem}.count-item{display:flex;align-items:center;gap:.5rem}.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-green{color:var(--color-success);opacity:.8}.status-icon.status-unreconciled{color:var(--color-accent-primary)}.status-icon.status-pending{color:var(--color-warning)}.register-grid .pending-row,.register-grid .ag-row-pinned{font-style:italic;color:var(--color-text-secondary);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{display:inline-block;background:var(--color-warning-light);color:var(--color-warning-dark);padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;font-style:normal}.register-grid .category-cell{display:flex;align-items:center}.page-loading,.page-error{display:flex;align-items:center;justify-content:center;height:100%;padding:2rem;color:var(--color-text-secondary)}.page-error{color:var(--color-error)}.reconciliation-summary{display:flex;gap:2rem;padding:1rem 1.5rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.reconciliation-summary__balance-section{flex:1;min-width:300px}.reconciliation-summary__match-section{flex:0 0 auto;min-width:200px;padding-left:2rem;border-left:1px solid var(--color-border-primary)}.reconciliation-summary__title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.reconciliation-summary__rows{display:flex;flex-direction:column;gap:.25rem}.reconciliation-summary__row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.9375rem}.reconciliation-summary__row--indent{padding-left:1rem}.reconciliation-summary__row--secondary{font-size:.875rem;color:var(--text-secondary)}.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{display:flex;align-items:center;gap:.5rem;color:var(--color-text-primary)}.reconciliation-summary__operator{display:inline-flex;justify-content:center;width:1rem;font-weight:600;color:var(--color-text-secondary)}.reconciliation-summary__count{font-size:.8125rem;color:var(--color-text-muted);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-decoration:underline;text-underline-offset:2px}.reconciliation-summary__spacer{height:.75rem}.reconciliation-summary__status{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;font-size:.75rem;font-weight:700}.reconciliation-summary__status--balanced{background:var(--color-success);color:#fff}.reconciliation-summary__status--unbalanced{background:var(--color-danger);color:#fff}.reconciliation-summary__match-stats{display:flex;align-items:baseline;gap:.5rem}.reconciliation-summary__stat{display:flex;flex-direction:column;align-items:center;gap:.125rem}.reconciliation-summary__stat--divider{color:var(--color-text-muted);font-size:1.25rem}.reconciliation-summary__stat--unmatched{margin-left:1rem;padding-left:1rem;border-left:1px solid var(--color-border-primary)}.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{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.reconciliation-summary__close-status{margin-top:1rem;padding:.5rem .75rem;border-radius:4px;font-size:.8125rem;background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.reconciliation-summary__close-status--ready{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success);font-weight:500}@media(max-width:600px){.reconciliation-summary{flex-direction:column}.reconciliation-summary__match-section{padding-left:0;padding-top:1rem;border-left:none;border-top:1px solid var(--color-border-primary)}}.matching-grid{display:flex;flex-direction:column;gap:.75rem}.matching-grid__toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.matching-grid__filters{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.matching-grid__filter-group{display:flex;align-items:center;gap:.5rem}.matching-grid__filter-group label{font-size:.8125rem;color:var(--color-text-secondary);white-space:nowrap}.matching-grid__select{padding:.375rem .5rem;font-size:.875rem;border:1px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-primary)}.matching-grid__filter-group--search{flex:1;min-width:150px}.matching-grid__search-input{width:100%;padding:.375rem .75rem;font-size:.875rem;border:1px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-primary)}.matching-grid__search-input:focus{outline:none;border-color:var(--color-accent-primary)}.matching-grid__stats{display:flex;gap:1rem;font-size:.8125rem}.matching-grid__stat--matched{color:var(--color-success)}.matching-grid__stat--unmatched{color:var(--color-warning)}.matching-grid__grid{min-height:200px}.match-badge{display:inline-flex;align-items:center;gap:.25rem;padding:2px 8px;font-size:.8rem;font-weight:500;border-radius:4px;white-space:nowrap;line-height:1.2}.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{display:inline-block;padding:2px 8px;font-size:.8rem;font-weight:500;border-radius:4px;white-space:nowrap;line-height:1.2}.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{display:flex;flex-direction:column;gap:.125rem;font-size:.8125rem;line-height:1.2}.matched-info__date{color:var(--color-text-secondary)}.matched-info__desc{color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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{padding:1rem 1.5rem;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-primary)}.match-modal__statement-info{display:flex;align-items:center;gap:1rem}.match-modal__date{font-size:.8125rem;color:var(--color-text-secondary);white-space:nowrap}.match-modal__desc{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-modal__amount{font-family:var(--font-mono, ui-monospace, monospace);font-weight:600;display:flex;align-items:center;gap:.25rem}.match-modal__ref{font-size:.75rem;color:var(--color-text-muted)}.match-modal__book-list{flex:1;overflow-y:auto;max-height:300px}.match-modal__empty{padding:2rem;text-align:center;color:var(--color-text-muted)}.match-modal__book-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;border-bottom:1px solid var(--color-border-primary);cursor:pointer;transition:background-color .15s}.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{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.match-modal__amount--match,.match-modal__check{color:var(--color-success)}.exceptions-panel{border:1px solid var(--border-color);border-radius:8px;background:var(--surface-1);overflow:hidden}.exceptions-panel__header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--surface-2);border-bottom:1px solid var(--border-color)}.exceptions-panel__title{display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:.9375rem}.exceptions-panel__blocking-badge{padding:.125rem .5rem;font-size:.75rem;font-weight:600;background:var(--color-danger);color:#fff;border-radius:999px}.exceptions-panel__toggle{background:none;border:none;font-size:.75rem;color:var(--text-secondary);cursor:pointer;padding:.25rem}.exceptions-panel__content{display:flex;flex-direction:column}.exceptions-panel__tabs.ui-tabs{margin-bottom:0;border-bottom:1px solid var(--border-color);background:var(--surface-1)}.exceptions-panel__tabs .ui-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-size:.8125rem}.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);background:none;box-shadow:none}.exceptions-panel__tab-label{white-space:nowrap}.exceptions-panel__tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;font-size:.6875rem;font-weight:600;background:var(--surface-3);border-radius:999px}.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{padding:1.5rem;text-align:center;color:var(--text-tertiary);font-size:.875rem}.exceptions-panel__empty--success{color:var(--color-success);background:color-mix(in srgb,var(--color-success) 8%,transparent)}.exceptions-panel__list{display:flex;flex-direction:column}.exceptions-panel__list-header{padding:.5rem 1rem;background:var(--surface-2);border-bottom:1px solid var(--border-color)}.exceptions-panel__warning{font-size:.8125rem;color:var(--color-danger)}.exceptions-panel__info{font-size:.8125rem;color:var(--text-secondary)}.exceptions-panel__item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid var(--border-color);gap:1rem}.exceptions-panel__item:last-child{border-bottom:none}.exceptions-panel__item:hover{background:var(--surface-2)}.exceptions-panel__item-info{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.exceptions-panel__item-date{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap}.exceptions-panel__item-desc{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.875rem}.exceptions-panel__item-ref{font-size:.75rem;color:var(--text-tertiary);white-space:nowrap}.exceptions-panel__item-right{display:flex;align-items:center;gap:.75rem}.exceptions-panel__item-amount{font-family:var(--font-mono, ui-monospace, monospace);font-size:.875rem;white-space:nowrap}.exceptions-panel__match-btn{padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 15%,transparent);border:none;border-radius:4px;cursor:pointer;transition:background-color .15s}.exceptions-panel__match-btn:hover{background:color-mix(in srgb,var(--color-primary) 25%,transparent)}.exceptions-panel__footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--surface-2);border-top:1px solid var(--border-color)}.exceptions-panel__total-label{font-size:.875rem;color:var(--text-secondary)}.exceptions-panel__total-amount{font-family:var(--font-mono, ui-monospace, monospace);font-size:.9375rem;font-weight:600}@media(max-width:600px){.exceptions-panel__tabs.ui-tabs{flex-direction:column}.exceptions-panel__tabs .ui-tab{justify-content:flex-start;padding:.625rem 1rem;border-bottom:none;border-left:2px solid transparent}.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;padding:3rem 1rem;color:var(--color-text-muted)}.reconciliation-history__empty p{margin:0}.reconciliation-history__empty-hint{font-size:.875rem;margin-top:.5rem!important}.reconciliation-history__list{display:flex;flex-direction:column;gap:.75rem}.reconciliation-history__card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem 1.25rem;cursor:pointer;transition:all .15s ease}.reconciliation-history__card:hover{border-color:var(--color-border-secondary);box-shadow:var(--shadow-sm)}.reconciliation-history__card-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.75rem}.reconciliation-history__period{font-size:1.125rem;font-weight:600;margin:0;color:var(--color-text-primary)}.reconciliation-history__date-range{font-size:.8125rem;color:var(--color-text-muted)}.reconciliation-history__balances{display:flex;align-items:center;gap:1.5rem;margin-bottom:.75rem}.reconciliation-history__balance{display:flex;flex-direction:column;gap:.125rem}.reconciliation-history__balance-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.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{display:flex;align-items:center;gap:1rem;padding-top:.75rem;border-top:1px solid var(--color-border-primary)}.reconciliation-history__completed{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--color-success)}.reconciliation-history__by{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--color-text-secondary)}.reconciliation-history__card--reopened{border-color:var(--color-warning);border-left:3px solid var(--color-warning)}.reconciliation-history__reopened-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;color:var(--color-warning-dark);background:var(--color-warning-light);padding:.125rem .5rem;border-radius:4px}.reconciliation-history__completed--reopened{color:var(--color-warning)}@media(max-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{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;max-width:1400px;margin:0 auto}.reconciliation-page__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.reconciliation-page__header-left{display:flex;align-items:center;gap:1rem}.reconciliation-page__back-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--surface-2);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:background-color .15s,color .15s}.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{font-size:.875rem;color:var(--text-secondary)}.reconciliation-page__header-right{display:flex;align-items:center;gap:1rem}.reconciliation-page__period{font-size:.875rem;color:var(--text-secondary);background:var(--surface-2);padding:.375rem .75rem;border-radius:4px}.reconciliation-page__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:300px;color:var(--text-secondary)}.spinner{animation:spin 1s linear infinite}.reconciliation-page__history{margin-bottom:1.5rem;text-align:left;background:var(--surface-2);border-radius:8px;padding:1rem}.reconciliation-page__history h3{margin:0 0 .75rem;font-size:.875rem;color:var(--text-secondary)}.reconciliation-page__history ul{list-style:none;padding:0;margin:0}.reconciliation-page__history li{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem;border-bottom:1px solid var(--border-color)}.reconciliation-page__history li:last-child{border-bottom:none}.reconciliation-page__completed-badge{display:flex;align-items:center;gap:.25rem;color:var(--color-success);font-size:.75rem}.reconciliation-page__upload{display:flex;justify-content:center;padding:2rem}.reconciliation-page__upload-card{background:var(--surface-1);border:2px dashed var(--border-color);border-radius:12px;padding:3rem 2rem;max-width:500px;text-align:center;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{margin:0 0 1.5rem;color:var(--text-secondary);line-height:1.5}.reconciliation-page__upload-actions{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.reconciliation-page__upload-hint{font-size:.8125rem;color:var(--text-tertiary);margin:0}.reconciliation-page__matching{display:flex;flex-direction:column;gap:1.5rem}.reconciliation-page__upload-prompt{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;background:var(--surface-2);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-secondary)}.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{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-color)}.reconciliation-page__warning{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning);border-radius:8px;font-size:.875rem}.reconciliation-page__complete{display:flex;justify-content:center;padding:2rem}.reconciliation-page__complete-card{background:var(--surface-1);border:1px solid var(--border-color);border-radius:12px;padding:3rem 2rem;max-width:500px;text-align:center}.reconciliation-page__complete-icon{color:var(--color-success);margin-bottom:1rem}.reconciliation-page__complete-card h2{margin:0 0 1rem;font-size:1.5rem;color:var(--color-success)}.reconciliation-page__complete-card p{margin:0 0 2rem;color:var(--text-secondary);line-height:1.5}.reconciliation-page__complete-actions{display:flex;flex-direction:column;gap:.75rem}.reconciliation-page__tabs{margin-bottom:1rem}.reconciliation-page__history{display:flex;flex-direction:column;gap:1rem}.reconciliation-page__history-header{display:flex;justify-content:flex-end}.reconciliation-page__history-detail{display:flex;flex-direction:column;gap:1.5rem}.reconciliation-page__history-banner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--surface-2);border-radius:8px;color:var(--text-secondary);font-size:.875rem}.reconciliation-page__history-banner-info{display:flex;align-items:center;gap:.5rem}.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{display:flex;gap:.75rem}.reconciliation-page__back-to-list{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--surface-2);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:.875rem;transition:background-color .15s,color .15s}.reconciliation-page__back-to-list:hover{background:var(--surface-3);color:var(--text-primary)}.reconciliation-page__no-statement{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;color:var(--text-muted);font-size:.875rem}@media(max-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{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.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{margin-top:1rem;border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.venmo-guided-import__help-title{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-bg-tertiary);cursor:pointer;list-style:none}.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{padding:1rem;background:var(--color-bg-tertiary);border-radius:8px;margin-top:.5rem}.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{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;margin-top:1rem}.venmo-guided-import__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;border:2px dashed var(--color-border-primary);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s;width:100%;max-width:500px;color:var(--color-text-secondary)}.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{font-size:1.1rem;font-weight:500;margin-bottom:.75rem}.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);padding:1rem;border-radius:8px}.venmo-guided-import__fee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.venmo-guided-import__fee-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:var(--color-bg-secondary);border-radius:4px}.venmo-guided-import__fee-label{font-size:.9rem;color:var(--color-text-secondary)}.venmo-guided-import__fee-amount{font-weight:500;font-variant-numeric:tabular-nums}.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{font-weight:600;color:var(--color-text-primary)}.venmo-guided-import__fee-total .venmo-guided-import__fee-amount{font-weight:600}.venmo-guided-import__actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-primary)}.venmo-guided-import__complete{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;text-align:center}.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{display:flex;gap:0;border-bottom:1px solid var(--color-border-primary);margin-bottom:1rem}.venmo-guided-import__tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--color-text-secondary);font-size:.95rem;transition:color .2s,border-color .2s}.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{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.venmo-guided-import__month-list-header label{font-weight:500}.venmo-guided-import__email-actions{margin-bottom:1rem}.venmo-month-list{max-height:calc(100vh - 26rem);overflow-y:auto;border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:1rem}.venmo-month-list__item{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;cursor:pointer;border-bottom:1px solid var(--color-border-primary);transition:background .15s}.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{padding:.2rem .5rem;font-size:.75rem;border:1px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-secondary);cursor:pointer;color:var(--color-text-secondary);white-space:nowrap}.venmo-month-list__action:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.venmo-month-badge{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;white-space:nowrap}.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{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-info-light);border:1px solid var(--color-info);border-radius:8px;color:var(--color-info-dark);font-size:.9rem;margin-bottom:1rem}.venmo-guided-import__email-status{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--color-bg-tertiary);border-radius:8px;color:var(--color-text-secondary)}.venmo-guided-import__email-status--not-found{background:var(--color-warning-light);color:var(--color-warning-dark)}.venmo-guided-import__email-found{display:flex;flex-direction:column;gap:1rem}.venmo-guided-import__email-card{padding:1rem;border:1px solid var(--color-border-primary);border-radius:8px;background:var(--color-bg-secondary)}.venmo-guided-import__email-subject{font-weight:500;margin-bottom:.25rem}.venmo-guided-import__email-date{color:var(--color-text-secondary);font-size:.9rem}.venmo-guided-import__spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.detection-signals{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.detection-signal{display:inline-block;padding:.0625rem .375rem;border-radius:3px;font-size:.75rem;white-space:nowrap;background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.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{background:#f3e8ff;color:#6b21a8}.detection-signal--payer{background:var(--color-warning-light);color:var(--color-warning-dark)}.detection-signal--description{background:#e0e7ff;color:#3730a3}.detection-signal--same-date{background:var(--color-held-light);color:var(--color-held)}.detection-confidence{font-size:.6875rem;color:var(--color-text-muted);margin-left:.125rem}.accounts-page{padding:1.5rem}.accounts-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.accounts-page .page-header h1{margin:0;font-size:1.5rem;font-weight:600}.accounts-page .header-actions{display:flex;gap:.5rem}.accounts-grid{height:calc(100vh - 200px);min-height:300px;border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.accounts-grid .ag-row{cursor:pointer}.accounts-page .page-hint{margin-top:.75rem;font-size:.875rem;color:var(--color-text-muted)}.accounts-page .error-message{color:var(--color-error);padding:2rem;text-align:center}.text-muted{color:var(--color-text-muted)}.accounts-page .grid-reset-btn-header{display:inline-flex;align-items:center;justify-content:center;width:36px;padding:.5rem 0;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:14px;cursor:pointer;transition:background .15s,border-color .15s}.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]{display:flex;align-items:center}.settlement-page{padding:4px 20px 12px;max-width:1400px;margin:0 auto}.settlement-page .ui-tabs{margin-bottom:12px}.settlement-filters{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.bank-reconciliation-summary .banks-grid{height:calc(100vh - 220px);min-height:300px;border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden}.bank-reconciliation-summary .banks-grid .ag-row{cursor:pointer}.bank-reconciliation-summary .banks-grid .ag-cell[col-id=domain_code]{display:flex;align-items:center}.bank-reconciliation-summary .page-hint{margin-top:.75rem;font-size:.875rem;color:var(--color-text-muted)}.recon-status-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:.75rem;font-weight:500;line-height:1.2;white-space:nowrap}.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{display:flex;flex-direction:column;height:100%;padding:1rem;gap:1rem}.trx-donations-page .page-header h1{font-size:1.25rem;font-weight:600;margin:0}.trx-donations-grid{flex:1;min-height:400px}.domain-badge{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;line-height:1.25rem}.trx-donations-dashboard-page{display:flex;flex-direction:column;height:100%;padding:1rem;gap:.75rem}.trx-donations-dashboard-page .page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.trx-donations-dashboard-page .page-header h1{font-size:1.25rem;font-weight:600;margin:0}.trx-dashboard-content{display:flex;flex-direction:column;gap:1.25rem}.trx-dashboard-loading{padding:3rem;text-align:center;color:var(--color-text-muted)}.trx-donations-dashboard-page .domain-stripe{display:block;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600;line-height:1.5;text-align:center}.trx-donations-dashboard-page .metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.trx-donations-dashboard-page .metric-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem;box-shadow:0 1px 3px #0000000f;min-height:5.5rem}.trx-donations-dashboard-page .metric-value{font-size:1.75rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.trx-donations-dashboard-page .metric-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.trx-donations-dashboard-page .metric-sub{font-size:.75rem;color:var(--color-text-muted)}.trx-donations-dashboard-page .charts-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.trx-donations-dashboard-page .chart-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem;min-height:300px;box-shadow:0 1px 3px #0000000f}.trx-donations-dashboard-page .chart-card.wide{grid-column:1 / -1}.trx-donations-dashboard-page .chart-card button{border:none;padding:0;background:transparent;border-radius:0;font-size:inherit}.trx-donations-dashboard-page .chart-card button:hover{background-color:transparent;border-color:transparent}.trx-donations-dashboard-page .historical-toggle{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--color-text-muted);cursor:pointer;padding-top:.5rem}.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{font-size:.875rem;font-weight:600;margin:0 0 .75rem;color:var(--color-text-secondary)}.source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.source-item{display:flex;flex-direction:column;gap:.125rem;padding:.75rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg)}.source-name{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:capitalize}.source-amount{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.source-count{font-size:.75rem;color:var(--color-text-muted)}@media(max-width:900px){.trx-donations-dashboard-page .charts-row{grid-template-columns:1fr}}.reserve-strategy-page{display:flex;flex-direction:column;height:100%;padding:1rem;gap:.75rem;overflow-y:auto}.reserve-strategy-page .page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.reserve-strategy-page .page-header h1{font-size:1.25rem;font-weight:600;margin:0}.reserve-strategy-page .reserve-tabs-row{display:flex;align-items:flex-end;border-bottom:2px solid var(--color-border-primary)}.reserve-strategy-page .reserve-tabs.ui-tabs{margin-bottom:0;border-bottom:none}.reserve-strategy-page .reserve-toggles{display:flex;gap:6px;margin-left:auto;margin-bottom:4px}.reserve-strategy-page .reserve-unit-toggle{display:flex;align-items:center}.reserve-strategy-page .view-mode-toggle{display:flex;border:1px solid var(--color-border-primary);border-radius:6px;overflow:hidden}.reserve-strategy-page .view-mode-toggle button{padding:.25rem .625rem;font-size:.75rem;border:none;background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;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{display:flex;justify-content:flex-end;gap:0;margin-bottom:.5rem}.yoy-toggle{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);padding:.2rem .6rem;font-size:.75rem;font-weight:600;cursor:pointer;color:var(--color-text-secondary)}.yoy-toggle:first-child{border-radius:4px 0 0 4px}.yoy-toggle:last-child{border-radius:0 4px 4px 0;border-left:none}.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{font-size:.8rem;color:var(--color-text-muted);font-style:italic}.reserve-strategy-page .loading-message,.reserve-strategy-page .error-message{padding:2rem;text-align:center;color:var(--color-text-secondary)}.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{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.reserve-strategy-page .metric-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;text-align:center}.reserve-strategy-page .metric-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.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{font-size:.8rem;color:var(--color-text-secondary);margin-top:.25rem}.reserve-strategy-page .metric-sublabel{display:block;font-size:.75rem;color:var(--color-text-muted)}.reserve-strategy-page .est-label{font-size:.7rem;color:var(--color-text-muted);font-weight:400}.reserve-strategy-page .charts-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.reserve-strategy-page .chart-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1rem;min-height:300px;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{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--color-text-secondary);justify-content:flex-end;cursor:pointer}.reserve-strategy-page .revenue-risk-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.reserve-strategy-page .data-table{width:100%;border-collapse:collapse;font-size:.85rem}.reserve-strategy-page .data-table th{text-align:left;font-weight:600;padding:.4rem .75rem;border-bottom:2px solid var(--color-border-primary);color:var(--color-text-secondary);font-size:.8rem}.reserve-strategy-page .data-table td{padding:.4rem .75rem;border-bottom:1px solid var(--color-border-primary)}.reserve-strategy-page .data-table .right{text-align:right}.reserve-strategy-page .data-table .header-row td{font-weight:700;border-top:2px solid var(--color-border-primary)}.reserve-strategy-page .no-data{color:var(--color-text-muted);font-style:italic;font-size:.85rem}.reserve-strategy-page .data-caveat{color:var(--color-text-muted);font-size:.8rem;font-style:italic;margin-top:.5rem}.reserve-strategy-page .slider-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.reserve-strategy-page .slider-label-left,.reserve-strategy-page .slider-label-right{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap}.reserve-strategy-page .slider-container{flex:1;position:relative}.reserve-strategy-page .what-if-slider{width:100%;cursor:pointer}.reserve-strategy-page .current-net-marker{position:absolute;top:-4px;width:2px;height:24px;background:var(--color-accent-primary);transform:translate(-50%)}.reserve-strategy-page .current-net-marker .marker-label{color:var(--color-accent-primary)}.reserve-strategy-page .break-even-marker{position:absolute;top:-4px;width:2px;height:24px;background:var(--color-text-secondary);transform:translate(-50%)}.reserve-strategy-page .break-even-marker .marker-label{color:var(--color-text-muted)}.reserve-strategy-page .marker-label{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);font-size:.65rem;white-space:nowrap;cursor:pointer;background:var(--color-bg-primary);padding:0 2px;border-radius:2px}.reserve-strategy-page .marker-label:hover{text-decoration:underline}.reserve-strategy-page .slider-value{font-size:.85rem;text-align:center;margin-bottom:.25rem}.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{font-size:.85rem;text-align:center;color:var(--color-text-secondary);margin-bottom:.75rem}.reserve-strategy-page .financials-table-wrapper{overflow-x:auto}.reserve-strategy-page .financials-table .row-label{font-weight:500;white-space:nowrap}.reserve-strategy-page .financials-table .row-label.indent{padding-left:1.5rem;font-weight:400}.reserve-strategy-page .expand-toggle{background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--color-accent-primary);padding:.5rem 0;font-weight:500}.reserve-strategy-page .expand-toggle:hover{text-decoration:underline}.reserve-strategy-page .sub-table{margin-bottom:.5rem}.waterfall-committed{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.85rem;color:var(--color-text-secondary);margin:0 0 .25rem}.committed-swatch{display:inline-block;width:12px;height:12px;background:#8b3a3a;border-radius:2px;flex-shrink:0}.trip-assist-slider{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-border-primary)}.trip-assist-slider label{display:block;font-size:.85rem;color:var(--color-text-secondary);margin-bottom:.25rem}.trip-assist-slider input[type=range]{width:100%;cursor:pointer}.trip-assist-range{display:flex;justify-content:space-between;font-size:.75rem;color:var(--color-text-muted)}.trip-runway-summary{display:flex;gap:1rem;margin-bottom:.75rem}.trip-stat{flex:1;text-align:center;padding:.75rem .5rem;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}.trip-stat-value{font-size:1.15rem;font-weight:700;color:var(--color-text-primary)}.trip-stat-value.positive{color:var(--color-success)}.trip-stat-value.negative{color:var(--color-error)}.trip-stat-label{font-size:.75rem;color:var(--color-text-secondary);margin-top:.2rem}.depletion-text{text-align:center;font-size:.9rem;font-weight:600;margin-bottom:.75rem}.trip-controls{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.trip-control-row{display:flex;align-items:center;gap:.75rem}.trip-control-label{font-size:.85rem;font-weight:500;color:var(--color-text-secondary);min-width:3.5rem}.trip-control-slider{flex:1;cursor:pointer}.trip-cost-display{font-size:.85rem;font-weight:700;min-width:4.5rem;text-align:right}.trip-control-freq{flex-shrink:0}@media(max-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{min-width:calc(50% - .5rem);flex:1 1 calc(50% - .5rem)}.trip-control-row{flex-wrap:wrap}}.stripe-payouts-page{padding:4px 20px 12px;max-width:1400px;margin:0 auto}.stripe-payouts-page h1{margin-bottom:16px}.stripe-payouts-summary{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.stripe-payouts-summary .summary-card{flex:1;min-width:200px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:16px}.stripe-payouts-summary .summary-label{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.stripe-payouts-summary .summary-value{font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.stripe-payouts-summary .summary-detail{font-size:.85rem;color:var(--color-text-muted);margin-top:4px}.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{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin-bottom:16px}.payout-error{background:var(--color-error-light);color:var(--color-error-dark);padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:.9rem}.payout-section{margin-top:16px}.payout-section h3{font-size:.95rem;margin-bottom:8px}.payout-table{width:100%;border-collapse:collapse;font-size:.875rem}.payout-table th,.payout-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--color-border-primary)}.payout-table th{font-weight:600;color:var(--color-text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.payout-table .monospace{font-family:SF Mono,Fira Code,monospace;font-size:.8rem}.text-danger{color:var(--color-error)}.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{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.settings-header .header-text h2{margin:0 0 .25rem;font-size:1.5rem;color:var(--color-text-primary)}.settings-header .header-text .description{margin:0}.settings-tabs{display:flex;gap:.25rem;background:var(--color-bg-tertiary);padding:.25rem;border-radius:8px}.settings-tabs .tab{padding:.5rem 1rem;border-radius:6px;text-decoration:none;color:var(--color-text-muted);font-size:.875rem;font-weight:500;transition:all .15s ease}.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);font-size:.875rem;margin:0}.users-page .loading-text{color:var(--color-text-muted);font-size:.875rem;padding:1rem 0}.users-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.users-page .page-header .filter-group{display:flex;align-items:center;gap:.5rem}.users-page .page-header label{color:var(--color-text-muted);font-size:.875rem}.users-page .page-header select{padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.875rem;cursor:pointer}.users-page .page-header select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent-primary) 10%,transparent)}.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{width:100%;border-collapse:collapse}.users-page .users-table th,.users-page .users-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border-primary)}.users-page .users-table th{font-weight:600;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg-primary)}.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{display:flex;flex-wrap:wrap;gap:.375rem}.users-page .modal-subtitle{margin:0 0 1rem;color:var(--color-text-muted);font-size:.875rem}.users-page .role-checkboxes{display:flex;flex-direction:column;gap:.75rem}.users-page .role-checkbox{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;cursor:pointer;transition:border-color .15s,background-color .15s}.users-page .role-checkbox:hover{border-color:var(--color-accent-primary);background:var(--color-accent-light)}.users-page .role-checkbox input{margin-top:.125rem;width:1rem;height:1rem;cursor:pointer}.users-page .role-checkbox .role-info{flex:1}.users-page .role-checkbox .role-name{font-weight:600;color:var(--color-text-primary);font-size:.875rem}.users-page .role-checkbox .role-desc{display:block;color:var(--color-text-muted);font-size:.8rem;margin-top:.25rem}@media(max-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{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.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{width:100%;border-collapse:collapse}.roles-page .roles-table th,.roles-page .roles-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border-primary)}.roles-page .roles-table th{font-weight:600;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg-primary)}.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);padding:.125rem .375rem;border-radius:3px;font-size:.625rem;text-transform:uppercase;margin-left:.5rem}.roles-page .role-actions{display:flex;gap:.5rem}.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{margin:0 0 1.5rem;font-size:1.125rem;color:var(--color-text-primary)}.roles-page .form-group{margin-bottom:1.25rem}.roles-page .form-group label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.roles-page .form-group input[type=text]{width:100%;max-width:400px;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:.875rem}.roles-page .form-group input[type=text]:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent-primary) 10%,transparent)}.roles-page .form-group input[type=text]:disabled{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.roles-page .permissions-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-primary)}.roles-page .permissions-section>label{display:block;margin-bottom:1rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.roles-page .permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.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{margin:0 0 .75rem;font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.roles-page .permission-checkbox{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;cursor:pointer;font-size:.875rem;color:var(--color-text-primary)}.roles-page .permission-checkbox:hover{color:var(--color-accent-primary)}.roles-page .permission-checkbox input{width:1rem;height:1rem;cursor:pointer}.roles-page .form-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-primary)}.roles-page .affected-users{margin:1rem 0 0;padding:.75rem 1rem;background:var(--color-warning-light);border-radius:6px;max-height:150px;overflow-y:auto}.roles-page .affected-users-label{font-size:.75rem;font-weight:600;color:var(--color-warning-dark);text-transform:uppercase;margin-bottom:.5rem}.roles-page .affected-users ul{list-style:none;margin:0;padding:0}.roles-page .affected-users li{font-size:.875rem;color:var(--color-warning-dark);padding:.125rem 0}@media(max-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{margin:1rem;max-width:calc(100% - 2rem)}}.google-accounts-page{padding:0}.google-accounts-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.google-accounts-page .page-header .header-info{flex:1}.google-accounts-page .page-header .description{margin:0;color:var(--color-text-muted);font-size:.875rem}.google-accounts-page .empty-state{text-align:center;padding:3rem 1rem;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px}.google-accounts-page .empty-state p{margin:.5rem 0;color:var(--color-text-muted)}.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{width:100%;border-collapse:collapse}.google-accounts-page .accounts-table th,.google-accounts-page .accounts-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border-primary)}.google-accounts-page .accounts-table th{font-weight:600;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg-primary)}.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{display:block;font-weight:600}.google-accounts-page .purpose-desc{display:block;color:var(--color-text-muted);font-size:.8rem;margin-top:.25rem}.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);font-size:.8rem;white-space:nowrap}.google-accounts-page .status-badge{display:inline-block;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:500}.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:var(--color-error)}.google-accounts-page .actions-cell .delete-btn:hover{background:var(--color-error-light)}.form-hint{margin:.375rem 0 0;font-size:.8rem;color:var(--color-text-muted)}@media(max-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{padding:1.5rem;max-width:1000px}.status-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem;font-weight:500}.status-banner.running{background:var(--color-info-light);color:var(--color-info);border:1px solid var(--color-info)}.status-banner .spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{margin:0;font-size:1rem;font-weight:600}.config-grid{display:flex;flex-direction:column;gap:.75rem}.config-row{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:1rem}.config-row label{font-weight:500;color:var(--color-text-secondary);font-size:.875rem}.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{padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.875rem;background:var(--color-bg-primary);max-width:400px}.config-row input:focus,.config-row select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #0969da1a}.time-inputs{display:flex;align-items:center;gap:.5rem}.time-inputs select{width:70px}.toggle-label{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.toggle-label input[type=checkbox]{width:18px;height:18px}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.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{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border-primary)}.config-note{margin-top:1rem;font-size:.75rem;color:var(--color-text-muted)}.save-error{margin-bottom:1rem}.status-grid{display:flex;flex-direction:column;gap:.5rem}.status-item{display:grid;grid-template-columns:120px 1fr;gap:1rem;font-size:.875rem}.status-label{color:var(--color-text-secondary);font-weight:500}.status-item.error{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border-primary)}.error-message{color:var(--color-error);font-family:monospace;font-size:.8125rem}.run-status{display:inline-block;padding:.125rem .375rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:capitalize}.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{width:100%;border-collapse:collapse;font-size:.8125rem}.history-table th,.history-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--color-border-primary)}.history-table th{font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-tertiary)}.history-table tbody tr:hover{background:var(--color-bg-hover)}.history-table tr.failed{background:var(--color-error-light)}.error-hint{font-size:.6875rem;color:var(--color-text-muted);margin-left:.25rem;cursor:help}.no-history{color:var(--color-text-muted);font-style:italic}.login-history-page{padding:1.5rem}.login-history-filters{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;align-items:flex-end}.login-history-filters .filter-group{display:flex;flex-direction:column;gap:.25rem}.login-history-filters .filter-group label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.login-history-filters .filter-group input,.login-history-filters .filter-group select{padding:.375rem .5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;background:var(--color-bg-primary);color:var(--color-text-primary)}.login-history-filters .filter-group input:focus,.login-history-filters .filter-group select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px var(--color-accent-subtle)}.login-history-truncation-warning{padding:.5rem .75rem;margin-bottom:.75rem;border-radius:4px;font-size:.875rem;background:var(--color-bg-warning);color:var(--color-text-warning);border:1px solid var(--color-border-warning)}.login-history-grid{height:calc(100vh - 320px);min-height:300px}.login-history-email-attempted{font-style:italic;opacity:.7}.hold-countdown{text-align:center;padding:8px 16px;margin-top:6px;margin-bottom:-2px;font-size:14px;font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:6px}.hold-countdown--warning{color:var(--color-warning-dark);background:var(--color-warning-light);animation:hold-countdown-pulse 1s ease-in-out infinite}@keyframes hold-countdown-pulse{0%,to{opacity:1}50%{opacity:.7}}.perf-picker{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:.25rem 0}@media(max-width:640px){.perf-picker{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.perf-picker__card{padding:.5rem .75rem}}.perf-picker::-webkit-scrollbar{display:none}.perf-picker__card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.625rem 1rem;border:1px solid var(--color-border-primary);border-radius:10px;background:var(--color-bg-primary);cursor:pointer;white-space:nowrap;min-width:0;flex-shrink:0;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent}.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{font-weight:400;font-size:.9rem;color:var(--color-text-secondary);transition:color .2s ease}.perf-picker__label:after{content:attr(data-text);font-weight:600;display:block;height:0;visibility:hidden;overflow:hidden}.perf-picker__card--active .perf-picker__label,.perf-picker__card--active .perf-picker__cast{font-weight:600}.perf-picker__datetime{font-size:.8rem;color:var(--color-text-secondary)}.perf-picker__cast{font-size:.75rem;color:var(--cast-color, var(--color-text-muted));text-transform:uppercase;letter-spacing:.5px}.perf-picker__sold-out{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.cast-columns{background:var(--color-bg-secondary);border:1px solid var(--cast-border-color, var(--color-border-primary));border-radius:8px;margin:0 auto 12px;max-width:87%}@media(max-width:640px){.cast-columns{max-width:100%}}.cast-columns__toggle{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.5rem 1rem;background:none;border:none;color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;transition:color .15s}.cast-columns__toggle:hover{color:var(--color-text-primary)}.cast-columns__toggle:focus{outline:none}.cast-columns__chevron{display:inline-block;transition:transform .2s}.cast-columns__chevron--up{transform:rotate(180deg)}.cast-columns__body{padding:0 1.25rem 1.25rem}.cast-columns__search{width:100%;padding:.5rem .75rem;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;color:var(--color-text-primary);font-size:.85rem;outline:none;box-sizing:border-box}.cast-columns__search::placeholder{color:var(--color-text-secondary)}.cast-columns__search:focus{border-color:var(--color-border-focus)}.cast-columns__grid{display:flex;gap:1.5rem;margin-top:.75rem}@media(max-width:768px){.cast-columns__grid{flex-direction:column;gap:1rem}}.cast-columns__col{flex:1;min-width:0}.cast-columns__heading{font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;padding-bottom:.35rem;border-bottom:2px solid var(--cast-col-color, var(--color-border-primary))}.cast-columns__members{list-style:none;margin:0;padding:0;max-height:350px;overflow-y:auto}.cast-columns__member{display:flex;justify-content:space-between;align-items:baseline;padding:.3rem 0;border-bottom:1px solid var(--color-border-primary);gap:.5rem}.cast-columns__member:last-child{border-bottom:none}.cast-columns__member-name{font-size:.85rem;color:var(--color-text-primary);white-space:nowrap}.cast-columns__member--lead .cast-columns__member-name{font-style:italic;font-weight:600}.cast-columns__member-role{font-size:.7rem;color:var(--color-text-secondary);text-align:right;font-style:italic}.cast-columns__no-results{font-size:.85rem;color:var(--color-text-secondary);font-style:italic;padding:.5rem 0}.cast-columns__disclaimer{font-size:.75rem;color:var(--color-text-secondary);text-align:center;margin:1rem 0 0;font-style:italic}.presale-gate{max-width:500px;margin:60px auto;padding:24px}.presale-gate__card{text-align:center;padding:2rem 1.5rem;border:1px solid var(--color-border-primary);border-radius:8px;background:var(--color-bg-secondary)}.presale-gate__card h2{margin:0 0 1rem;font-size:1.375rem}.presale-gate__message{font-size:.9375rem;color:var(--color-text-muted);margin:0 0 .5rem;line-height:1.5}.presale-gate__prompt{font-size:.875rem;color:var(--color-text-primary);margin:0 0 1rem;font-weight:500}.presale-gate__form{display:flex;flex-direction:column;gap:.75rem;align-items:center}.presale-gate__input{width:100%;max-width:280px;padding:.625rem .75rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:1rem;text-align:center;text-transform:uppercase;letter-spacing:.1em;background:var(--color-bg-secondary);color:var(--color-text-primary)}.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: #888;--seat-unavailable-text: #555;--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: #3a3a3a;--seat-unavailable-text: #888;--seat-admin-comped: #7a5568;--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{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.seatmap-poc__header h1{margin:0;font-size:24px}.seatmap-poc__header-controls{display:flex;gap:12px;align-items:center}.seatmap-poc__mode-toggle{display:flex;gap:0;border:1px solid var(--color-border-secondary);border-radius:6px;overflow:hidden}.seatmap-poc__mode-toggle button{padding:8px 16px;border:none;background:var(--color-bg-tertiary);color:var(--color-text-muted);cursor:pointer;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{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.seatmap-poc__venue{background:var(--color-bg-tertiary);border-radius:12px;padding:20px 16px 24px;position:relative;width:fit-content;min-width:fit-content}.stage{width:64%;margin:0 auto 4px;padding:8px 0;background:var(--stage-bg);border-radius:0 0 50% 50%;text-align:center;box-sizing:border-box}.stage__label{color:#fff;font-weight:700;font-size:16px;letter-spacing:2px}.stage-front{text-align:center;font-size:12px;font-weight:700;color:#fff;background:var(--section-label-bg);padding:4px 16px;margin:12px auto 6px;border-radius:4px;width:fit-content}.section--front{margin-bottom:8px}.section--front-with-tables .seat-row{gap:4px}.seat-row{display:flex;align-items:center;justify-content:center;gap:2px;margin-bottom:2px}.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{display:flex;gap:2px;justify-content:center}.row-label{width:18px;font-size:11px;font-weight:600;color:var(--color-text-muted);text-align:center;flex-shrink:0}.seat-wrapper{position:relative;display:inline-flex}.seat-popover{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;display:flex;flex-direction:column;min-width:110px;overflow:hidden}.seat-popover--flip{bottom:auto;top:calc(100% + 6px)}.seat-popover__option{padding:6px 12px;border:none;background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;font-size:13px;text-align:left;display:flex;justify-content:space-between;gap:8px;transition:background .1s;min-height:36px;align-items:center}.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{font-weight:700;color:var(--color-accent-primary)}.seat{position:relative;width:26px;height:24px;border:none;border-radius:4px;font-size:9px;font-weight:600;cursor:pointer;transition:all .12s;padding:0;line-height:24px;text-align:center}.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);transform:scale(1.15);z-index:1}.seat--selected{background:var(--seat-selected);color:#fff;box-shadow:0 0 0 1px var(--seat-selected-ring);transform:scale(1.02);z-index:1}.seat--sold{background:var(--seat-sold);color:var(--seat-sold-text);cursor:not-allowed;opacity:.7;pointer-events:none}.seat--ada{font-size:16px;line-height:24px;text-shadow:0 0 2px rgba(0,0,0,.4),0 1px 1px rgba(0,0,0,.3)}.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);transform:scale(1.1);z-index:1}.main-sections{display:flex;justify-content:center;gap:20px;margin-top:8px}.section--left,.section--right,.section--center{flex-shrink:0}.row-divider{display:flex;align-items:center;gap:6px;margin:2px 0 1px;padding:0 22px}.row-divider:before,.row-divider:after{content:"";flex:1;height:1px;background:var(--color-text-muted);opacity:.3}.row-divider__label{font-size:8px;font-weight:700;color:var(--color-text-muted);letter-spacing:1px;opacity:.6;white-space:nowrap}.section__label{text-align:center;font-size:12px;font-weight:700;color:#fff;background:var(--section-label-bg);padding:4px 16px;border-radius:4px;margin-bottom:6px}.cabaret-table{width:25px;height:25px;border:1.5px solid transparent;border-radius:50%;background:var(--seat-available);cursor:pointer;padding:0;flex-shrink:0;font-size:9px;font-weight:700;color:var(--seat-available-text);transition:all .15s}.cabaret-table--left{margin-right:20px}.cabaret-table--right{margin-left:20px}.cabaret-table--available:hover{transform:scale(1.1);background:var(--seat-available-hover)}.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{background:var(--seat-sold);color:var(--seat-sold-text);border-color:transparent;cursor:not-allowed;pointer-events:none}.table-confirm{text-align:center;padding:.5rem 0}.table-confirm__seats{font-size:1rem;color:var(--color-text-secondary);margin-bottom:.75rem}.table-confirm__price{font-size:1.75rem;font-weight:700;color:var(--color-text-primary)}.seatmap-poc__legend{display:flex;gap:20px;justify-content:center;margin-top:20px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary)}.legend-swatch{width:20px;height:18px;border-radius:4px;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);font-size:14px;line-height:18px;text-align:center;text-shadow:0 0 2px rgba(0,0,0,.4)}.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{margin-top:12px;padding:16px 20px;background:var(--color-bg-tertiary);border-radius:8px;border:1px solid var(--color-border-primary)}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--color-border-secondary)}.seatmap-poc__summary h3{margin:0;font-size:16px}.summary-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;padding:4px 0;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-primary)}.summary-item--comped{color:var(--color-success)}.summary-item__price{flex-shrink:0;font-variant-numeric:tabular-nums}.summary-item__original-price{color:var(--color-text-secondary);margin-right:6px}.summary-breakdown{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-secondary)}.summary-row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:400;color:var(--color-text-secondary);padding:2px 0;font-variant-numeric:tabular-nums}.summary-row--total{font-size:16px;font-weight:700;color:var(--color-text-primary);margin-top:8px;padding-top:8px;border-top:2px solid var(--color-border-secondary)}.seatmap-poc__summary>.ui-btn{margin-top:20px}.checkout-btn{margin-top:12px;padding:10px 32px;background:var(--color-accent-primary);color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;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{position:absolute;bottom:0;right:0;font-size:10px;font-weight:700;line-height:1;color:#00e676;text-shadow:0 0 3px rgba(0,0,0,.7);pointer-events:none}.seat--small .seat__checkin-mark{font-size:9px}.seat--admin-selected{box-shadow:0 0 0 2px #1976d2;transform:scale(1.08);z-index:2}.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{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--color-border-primary)}.seat-popover__seat-label{font-size:13px;color:var(--color-text-muted)}.seat-popover__status{font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px}.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{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 14px;font-size:13px}.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);font-weight:500;text-align:right}@media(max-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{width:100%;justify-content:space-between}.seatmap-poc__summary{position:relative!important;margin-top:12px}.seat-btn,.table-btn{min-width:44px;min-height:44px}.checkout-btn{min-height:44px;width:100%}}.show-page{max-width:1100px;margin:0 auto;padding:24px}.show-page__perf-tabs{margin-bottom:8px}.show-page__header{display:flex;justify-content:center;margin-bottom:20px}.show-page__poster{max-height:176px;width:auto;border-radius:8px;object-fit:cover}.summary-perf-datetime{font-weight:400;color:var(--color-text-muted)}.show-page__loading,.show-page__error{text-align:center;padding:60px 20px;font-size:16px;color:var(--color-text-muted)}.show-page__error{color:var(--color-error)}.summary-perf-group+.summary-perf-group{margin-top:20px;padding-top:12px;border-top:1px solid var(--color-border-secondary)}.summary-perf-label{font-weight:600;font-size:13px;color:var(--color-text-primary);margin-bottom:2px;padding-bottom:2px;border-bottom:1px solid var(--color-border-primary)}.summary-message{margin-top:12px;padding:10px 16px;background:var(--color-info-light);border-radius:6px;font-size:14px;color:var(--color-info)}.show-list{display:flex;flex-direction:column;gap:16px}.show-card{display:flex;gap:20px;padding:20px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s}.show-card:hover{border-color:var(--color-border-secondary);box-shadow:var(--shadow-md)}.show-card__poster{width:120px;height:160px;object-fit:cover;border-radius:6px;flex-shrink:0}.show-card__info{display:flex;flex-direction:column;gap:4px}.show-card__name{margin:0;font-size:20px}.show-card__dates{margin:0;font-size:14px;color:var(--color-text-muted)}.show-card__desc{margin:4px 0 0;font-size:14px;color:var(--color-text-muted);line-height:1.4}@media(max-width:768px){.show-page{padding:2px 16px 16px}.show-page__header{margin-bottom:12px}.show-page__poster{max-height:120px}.show-card{flex-direction:column;gap:12px}.show-card__poster{width:100%;height:auto;aspect-ratio:3/4}}.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);font-weight:400;margin-bottom:24px}.checkout-page__buyer-form{display:flex;flex-direction:column;gap:16px}.checkout-page__buyer-form label{display:flex;flex-direction:column;gap:4px;font-weight:500}.checkout-page__buyer-form input{padding:8px 12px;border:1px solid var(--color-border-primary);border-radius:6px;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);padding:8px 12px;background:var(--color-error-light);border-radius:6px}.checkout-form{display:flex;flex-direction:column;width:100%;min-width:0;gap:16px;margin-top:16px}.checkout-form>.ui-btn{align-self:center;width:80%}.checkout-page__promo-section{padding-top:4px}.checkout-page__promo-toggle{background:none;border:none;color:var(--color-accent-primary);cursor:pointer;font-size:.875rem;padding:0;text-decoration:underline}.checkout-page__promo-toggle:hover{color:var(--color-accent-primary-hover)}.checkout-page__comp-input-row{display:flex;gap:8px;align-items:center}.checkout-page__comp-input-row input{flex:1;text-transform:uppercase}.checkout-page__comp-valid{color:var(--color-success);font-weight:600;font-size:14px;white-space:nowrap}.checkout-page__comp-error{color:var(--color-error);font-size:13px;margin-top:4px}.checkout-page__promo-info{color:var(--color-text-secondary);font-size:13px;margin-top:4px}.checkout-page__comp-confirm{text-align:center;padding:24px 16px;background:var(--color-bg-tertiary);border-radius:8px}.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{display:flex;gap:8px;flex-wrap:wrap}.checkout-page__donation-btn{padding:8px 16px;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:.875rem;font-weight:500;cursor:pointer;min-width:60px;text-align:center}.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{display:flex;align-items:center;gap:4px;margin-top:8px}.checkout-page__donation-dollar{font-size:16px;font-weight:500}.checkout-page__donation-custom input{width:100px;padding:8px 12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:16px}.checkout-page__disclosure{font-size:13px;color:var(--color-text-secondary);padding:12px;background:var(--color-bg-tertiary);border-radius:6px;line-height:1.5}.checkout-page__footer{margin-top:32px;padding-top:20px;border-top:1px solid var(--color-border-primary);text-align:center}.checkout-page__footer p{font-size:13px;color:var(--color-text-secondary);margin:0}.checkout-page__footer a{color:var(--color-accent-primary);text-decoration:none}.checkout-page__footer a:hover{text-decoration:underline}@media(max-width:640px){.checkout-page{padding:16px 12px}.checkout-page__buyer-form input{font-size:16px;min-height:44px}.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{position:absolute;top:8px;left:8px;width:42px;height:42px;opacity:.5}.ticket-card__header{text-align:center;border-bottom:1px solid var(--color-border-secondary);padding-bottom:6px;margin-bottom:8px}.ticket-card__show{font-size:14px;font-weight:700;margin-bottom:3px}.ticket-card__perf{font-size:12px;color:var(--color-text-secondary);margin-bottom:2px}.ticket-card__datetime{font-size:12px;color:var(--color-text-secondary);font-weight:400}.ticket-card__seat{text-align:center;margin-bottom:8px}.ticket-card__seat-label{display:block;font-size:22px;font-weight:700;text-align:center;margin-bottom:2px}.ticket-card__status-overlay{text-align:center;padding:16px 0;color:var(--color-text-secondary);font-size:15px;font-style:italic}.ticket-card__qr{text-align:center;padding-top:6px;border-top:1px solid var(--color-border-secondary)}.ticket-card__qr img{display:block;margin:0 auto;width:85%;height:auto}.ticket-card__type{margin:4px 0 0;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.ticket-card__hint{margin:2px 0 0;font-size:11px;color:var(--color-text-muted)}.ticket-card__wallet-row{display:flex;justify-content:center;gap:8px;margin-top:8px}.ticket-card__wallet-btn{display:block;transition:opacity .15s ease}.ticket-card__wallet-btn:hover{opacity:.85}.ticket-card__wallet-btn img{display:inline-block}.ticket-card__footer{text-align:center;font-size:11px;color:var(--color-text-muted);margin-top:6px}@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);border-radius:8px;padding:16px;margin-bottom:16px;text-align:center}.order-confirmation__banner h2{color:var(--color-success-dark);margin:0 0 4px}.order-confirmation__banner p{margin:0;color:var(--color-text-secondary)}.order-confirmation__email-note{text-align:center;color:var(--color-text-secondary);margin-bottom:24px}.order-confirmation__tickets-table{width:100%;border-collapse:collapse;margin-bottom:24px;table-layout:fixed}.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:nth-child(1){width:32%}.order-confirmation__tickets-table th:nth-child(2){width:22%}.order-confirmation__tickets-table th:nth-child(3){width:16%}.order-confirmation__tickets-table th:nth-child(4){width:16%}.order-confirmation__tickets-table th:last-child{width:14%;text-align:right}.order-confirmation__tickets-table tbody tr{border-bottom:1px solid var(--color-border-primary)}.order-confirmation__tickets-table td{padding:8px 4px;overflow-wrap:break-word}.order-confirmation__tickets-table td:last-child{text-align:right}.order-confirmation__ticket-row--returned{opacity:.5}.order-confirmation__datetime{font-size:12px;color:var(--color-text-secondary);font-weight:400}.order-confirmation__totals{border-top:2px solid var(--color-border-primary);padding-top:12px}.order-confirmation__total-row{display:flex;justify-content:space-between;padding:4px 0}.order-confirmation__total-row--grand{font-weight:700;font-size:18px}.order-confirmation__disclosure{font-size:13px;color:var(--color-text-secondary);padding:12px;background:var(--color-bg-tertiary);border-radius:6px;line-height:1.5;margin-top:8px}.order-confirmation__tickets-section{margin:32px 0}.order-confirmation__tickets-section h3{text-align:center;margin-bottom:16px}.order-confirmation__perf-header{text-align:center;margin:24px 0 8px;font-size:1rem;font-weight:600}.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{display:grid;grid-template-columns:1fr;gap:16px;max-width:320px;margin:0 auto}.order-confirmation__swap-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px;margin-top:8px;border:1px solid var(--color-accent-primary);border-radius:6px;background:transparent;color:var(--color-accent-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.order-confirmation__swap-btn:hover{background:var(--color-accent-primary);color:#fff}.order-confirmation__swap-blocked{margin:6px 0 0;font-size:11px;color:var(--color-text-secondary);text-align:center;font-style:italic}.order-confirmation__transfer-pending{background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:6px;padding:10px 14px;margin-top:8px;text-align:center;font-size:13px}.order-confirmation__transfer-pending p{margin:0 0 8px}.order-confirmation__transfer-cancel-btn{padding:6px 14px;border:1px solid var(--color-error);border-radius:4px;background:transparent;color:var(--color-error);font-size:12px;font-weight:500;cursor:pointer}.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{margin:32px 0 16px;padding:20px;background:var(--color-info-light);border:1px solid var(--color-accent-secondary);border-radius:10px;text-align:center}.order-confirmation__send-section>summary{list-style:none;cursor:pointer}.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{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 6px;color:var(--color-accent-primary)}.order-confirmation__send-section p{color:var(--color-text-secondary);font-size:14px;margin:0}.order-confirmation__send-checklist{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;text-align:left}.order-confirmation__send-checkbox{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px;cursor:pointer;font-size:14px}.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:1;display:flex;flex-direction:column;gap:1px}.order-confirmation__send-ticket-main{font-weight:600;font-size:14px}.order-confirmation__send-ticket-detail{font-size:12px;color:var(--color-text-secondary)}.order-confirmation__send-email{display:block;width:100%;padding:10px 12px;margin-bottom:10px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;color:var(--color-text-primary);background:var(--color-bg-primary);box-sizing:border-box}.order-confirmation__send-error{color:var(--color-error);font-size:13px;margin-bottom:8px}.order-confirmation__send-btn{display:block;width:100%;padding:12px 16px;background:var(--color-accent-primary);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease}.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{display:block;margin:12px auto 0;padding:8px 20px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:6px;cursor:pointer;font-size:14px}.order-confirmation__print-btn:hover{background:var(--color-bg-secondary)}@media(max-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{margin:32px 0 16px;padding:20px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:10px;text-align:center}.order-confirmation__donate-section>summary{list-style:none;cursor:pointer}.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{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 6px;color:var(--color-accent-primary)}.order-confirmation__donate-section p{color:var(--color-text-secondary);font-size:14px;margin:0}.order-confirmation__donate-btn{display:block;width:100%;padding:12px 16px;background:var(--color-accent-primary);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease}.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{display:flex;align-items:flex-start;gap:12px;padding:16px;margin:32px 0 16px;background:var(--color-success-light);border:1px solid var(--color-success);border-radius:8px;color:var(--color-success-dark)}.order-confirmation__donate-success strong{display:block;margin-bottom:4px}.order-confirmation__donate-success p{margin:0;font-size:13px;line-height:1.5}.order-confirmation__share{margin-top:32px;padding:20px;background:var(--color-bg-tertiary);border-radius:8px;text-align:center}.order-confirmation__share h3{margin:0 0 12px}.order-confirmation__share-link-row{display:flex;align-items:center;gap:8px}.order-confirmation__share-link{flex:1;min-width:0;padding:8px 12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;color:var(--color-accent-primary);background:var(--color-bg-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-confirmation__share-link:hover{text-decoration:underline}.order-confirmation__copy-btn{display:flex;align-items:center;gap:4px;padding:8px 14px;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-primary);cursor:pointer;font-size:14px;white-space:nowrap;color:var(--color-text-primary)}.order-confirmation__copy-btn:hover{background:var(--color-bg-secondary)}.order-confirmation__footer-links{margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border-primary);text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.order-confirmation__footer-links span{color:var(--color-text-secondary);font-size:13px}.order-confirmation__footer-links a{color:var(--color-text-secondary);text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:4px}.order-confirmation__footer-links span a{color:var(--color-accent-primary);font-size:13px}.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{border-radius:12px;padding:24px;margin-bottom:24px;text-align:center;border:2px solid}.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{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border-primary)}.scan-result__detail-label{color:var(--color-text-muted);font-weight:500}.scan-result__detail-value{color:var(--color-text-primary);font-weight:600;text-align:right}.scan-result__detail-subvalue{font-weight:400;font-size:.85em;color:var(--color-text-secondary)}.show-cast-section{background:#151a27;border-top:1px solid rgba(255,255,255,.06);border-radius:0 0 12px 12px}.show-cast-section__toggle{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:none;border:none;color:var(--color-text-light);font-size:.85rem;cursor:pointer;transition:color .15s}.show-cast-section__toggle:hover{color:#f1f5f9}.show-cast-section__toggle:focus{outline:none}.show-cast-section__chevron{display:inline-block;transition:transform .2s}.show-cast-section__chevron--up{transform:rotate(180deg)}.show-cast-section__body{max-height:600px;overflow-y:auto;padding:0 1.25rem 1.25rem}.show-cast-section__search{width:100%;padding:.5rem .75rem;background:#0f1219;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#f1f5f9;font-size:.85rem;outline:none;position:sticky;top:0;z-index:1;box-sizing:border-box}.show-cast-section__search::placeholder{color:var(--color-text-secondary)}.show-cast-section__search:focus{border-color:#d4a01766}.show-cast-section__explainer{font-size:.8rem;color:var(--color-text-muted);font-style:italic;margin:.75rem 0;text-align:center}.show-cast-section__columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-top:.75rem}.show-cast-section__column{border:1px solid var(--cast-col-color, rgba(255, 255, 255, .08));border-radius:8px;padding:1rem;background:#ffffff05}.show-cast-section__cast-name{font-family:Playfair Display,Georgia,serif;font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.show-cast-section__perf-labels{font-size:.75rem;color:var(--color-text-muted);margin:0 0 .75rem}.show-cast-section__members{list-style:none;margin:0;padding:0}.show-cast-section__member{display:flex;justify-content:space-between;align-items:baseline;padding:.3rem 0;border-bottom:1px solid rgba(255,255,255,.04);gap:.5rem}.show-cast-section__member:last-child{border-bottom:none}.show-cast-section__member-name{font-size:.85rem;color:#f1f5f9;white-space:nowrap}.show-cast-section__member--lead .show-cast-section__member-name{font-style:italic;font-weight:600}.show-cast-section__member-role{font-size:.7rem;color:var(--color-text-light);text-align:right;font-style:italic}.show-cast-section__no-results{font-size:.85rem;color:var(--color-text-secondary);font-style:italic;padding:.5rem 0}.show-cast-section__disclaimer{font-size:.75rem;color:var(--color-text-secondary);text-align:center;margin:1rem 0 0;font-style:italic}@media(max-width:600px){.show-cast-section__body{padding:0 1rem 1rem}}.show-landing{min-height:100vh;background:radial-gradient(ellipse at 50% 0%,rgba(212,160,23,.06) 0%,transparent 50%),#0f1219}.show-landing section{background:transparent;border:none;border-radius:0;margin-bottom:0}.show-landing__header{background:#0f1219;border-bottom:1px solid rgba(212,160,23,.3);padding:1rem 2rem}.show-landing__header-inner{max-width:640px;margin:0 auto;display:flex;align-items:center;gap:1rem;text-decoration:none;color:inherit}.show-landing__header-inner:hover,.show-landing__header-inner:active,.show-landing__header-inner:focus{text-decoration:none;color:inherit}.show-landing__logo{width:56px;height:56px;border-radius:50%;flex-shrink:0}.show-landing__org-name{display:flex;flex-direction:column}.show-landing__org-line1{font-family:Playfair Display,Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:700;color:#f1f5f9;letter-spacing:.02em;line-height:1.2}.show-landing__org-line2{font-size:.8rem;font-weight:400;color:#94a3b8;letter-spacing:.08em;text-transform:uppercase}.show-landing__hero{padding:3rem 2rem 2rem;text-align:center;position:relative}.show-landing__hero-title{font-family:Playfair Display,Georgia,serif;font-size:2rem;font-weight:700;color:#f1f5f9;margin:0 0 .5rem;letter-spacing:.01em}.show-landing__hero-subtitle{font-size:1rem;color:#64748b;margin:0;font-style:italic}.show-landing__divider{width:60px;height:2px;margin:1.5rem auto 0;background:linear-gradient(90deg,transparent,#d4a017 30%,#d4a017 70%,transparent);opacity:.6}.show-landing__events{max-width:640px;margin:0 auto;padding:0 2rem 3rem;display:flex;flex-direction:column;gap:1.5rem}.show-landing__show-wrapper{border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.06);transition:transform .2s ease,box-shadow .3s ease}.show-landing__show-wrapper:hover{transform:translateY(-3px);box-shadow:0 8px 30px #0006,0 0 40px #d4a01714}.show-landing__card{display:flex;flex-direction:column;overflow:hidden;background:#1a1f2e;text-decoration:none;color:inherit}.show-landing__card:hover{text-decoration:none}.show-landing__card-poster-wrap{position:relative;overflow:hidden}.show-landing__card-poster{width:100%;max-height:260px;object-fit:cover;display:block}.show-landing__card-ribbon{position:absolute;top:12px;right:-4px;background:linear-gradient(135deg,#d4a017,#b8860b);color:#0f1219;font-size:.7rem;font-weight:700;letter-spacing:.06em;padding:.35rem .75rem;border-radius:3px 0 0 3px;box-shadow:0 2px 8px #0000004d}.show-landing__card-body{display:flex;flex:1;padding:1.25rem 1.5rem;align-items:center;gap:1.25rem}.show-landing__card-date{display:flex;flex-direction:column;align-items:center;min-width:48px;padding-right:1.25rem;border-right:1px solid rgba(255,255,255,.08)}.show-landing__card-month{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#d4a017}.show-landing__card-day{font-family:Playfair Display,Georgia,serif;font-size:1.75rem;font-weight:700;color:#f1f5f9;line-height:1}.show-landing__card-details{flex:1}.show-landing__card-casts{display:flex;flex-direction:column;align-items:center;min-width:48px;padding-left:1.25rem;border-left:1px solid rgba(255,255,255,.08)}.show-landing__card-title{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:600;color:#f1f5f9;margin:0 0 .35rem;line-height:1.3}.show-landing__card-cta{background:#d4a01726;color:#e0b840;text-align:center;font-size:.95rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.75rem 1rem;transition:background .2s ease,color .2s ease}.show-landing__card:hover .show-landing__card-cta{background:#d4a01740;color:#f5d060}.show-landing__card-daterange{font-size:.95rem;color:#94a3b8;margin:.15rem 0}.show-landing__card-desc{font-size:.85rem;color:#64748b;margin:.35rem 0 0;line-height:1.4}.show-landing__presale-drawer{background:#d4a01714;padding:.75rem 1rem;border-top:1px solid rgba(212,160,23,.2)}.show-landing__presale-form{display:flex;align-items:center;gap:.5rem}.show-landing__presale-input{flex:1;background:#0f121999;border:1px solid rgba(212,160,23,.4);color:#f1f5f9;text-transform:uppercase;letter-spacing:.1em;text-align:center;font-size:.9rem;padding:.5rem .75rem;border-radius:4px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.show-landing__presale-input::placeholder{color:#64748b;text-transform:none;letter-spacing:normal}.show-landing__presale-input:focus{border-color:#e0b840;box-shadow:0 0 0 3px #d4a0171f}.show-landing__presale-go{background:linear-gradient(135deg,#d4a017,#b8860b);color:#0f1219;font-weight:700;text-transform:uppercase;padding:.5rem 1.25rem;border-radius:4px;border:none;cursor:pointer;font-size:.9rem;letter-spacing:.04em;align-self:stretch;transition:box-shadow .2s ease}.show-landing__presale-go:hover:not(:disabled){box-shadow:0 2px 12px #d4a0174d}.show-landing__presale-go:disabled{opacity:.5;cursor:not-allowed}.show-landing__presale-error{color:#f87171;font-size:.85rem;font-weight:600;text-align:center;padding:.5rem 1rem 0}.show-landing__presale-drawer--success{background:#4ade8026;color:#86efac;display:flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}.show-landing__presale-checkmark{display:inline-block;animation:presale-pop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes presale-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3)}to{transform:scale(1);opacity:1}}.show-landing__season-note{text-align:center;padding:.75rem 2rem 4rem}.show-landing__season-note p{font-size:.9rem;color:#475569;letter-spacing:.02em;margin:0}.show-landing__season-link{color:#d4a017;text-decoration:none}.show-landing__season-link:hover{text-decoration:underline;color:#e8b84a}.show-landing__status{text-align:center;padding:4rem 2rem;color:#94a3b8;font-size:1rem}.show-landing__empty{max-width:480px;margin:2rem auto 4rem;padding:2.5rem 2rem;text-align:center;background:#1a1f2e;border:1px solid rgba(212,160,23,.2);border-radius:12px}.show-landing__empty-text{font-family:Playfair Display,Georgia,serif;font-size:1.15rem;color:#f1f5f9;margin:0 0 .5rem}.show-landing__empty-subtext{font-size:.9rem;color:#64748b;font-style:italic;margin:0 0 1.5rem}.show-landing__empty-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#d4a017,#b8860b);color:#0f1219;font-weight:600;font-size:.95rem;letter-spacing:.02em;text-decoration:none;border-radius:8px;transition:transform .15s ease,box-shadow .2s ease}.show-landing__empty-link:hover{transform:translateY(-1px);box-shadow:0 4px 20px #d4a0174d;text-decoration:none;color:#0f1219}.show-landing__empty-arrow{font-size:1.1rem;transition:transform .15s ease}.show-landing__empty-link:hover .show-landing__empty-arrow{transform:translate(3px)}.show-landing__footer{max-width:640px;margin:0 auto;padding:2rem 2rem 3rem;text-align:center;border-top:1px solid rgba(255,255,255,.06)}.show-landing__footer p{font-size:.85rem;color:#64748b;margin:0}.show-landing__footer a{color:#d4a017;text-decoration:none}.show-landing__footer a:hover{text-decoration:underline;color:#e8b84a}@media(max-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-poster-wrap,.show-landing__card-poster{max-height:200px}.show-landing__card-ribbon{top:8px;font-size:.6rem;padding:.25rem .6rem}.show-landing__card-body{padding:1.25rem;flex-direction:column;align-items:flex-start;gap:.75rem}.show-landing__card-date{flex-direction:row;gap:.5rem;align-items:baseline;padding-right:0;padding-bottom:.5rem;border-right:none;border-bottom:1px solid rgba(255,255,255,.08);width:100%}.show-landing__card-day{font-size:1.5rem}.show-landing__card-casts{flex-direction:row;gap:.5rem;align-items:baseline;padding-left:0;padding-top:.5rem;border-left:none;border-top:1px solid rgba(255,255,255,.08);width:100%}.show-landing__card-title{font-size:1.15rem}.show-landing__card-cta{font-size:.85rem;padding:.6rem .75rem}.show-landing__presale-drawer{padding:.6rem .75rem}.show-landing__presale-input{font-size:.8rem;padding:.4rem .5rem}.show-landing__presale-go{font-size:.8rem;padding:.4rem .75rem}}.show-list-page{padding:1.5rem;max-width:900px}.show-list-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.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{display:flex;flex-direction:column;gap:12px}.admin-show-card{display:flex;flex-direction:row;gap:16px;padding:16px;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}.admin-show-card:hover{border-color:var(--color-border-secondary);box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.admin-show-card:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}.admin-show-card__poster{width:80px;height:107px;border-radius:6px;object-fit:cover;flex-shrink:0}.admin-show-card__poster-placeholder{width:80px;height:107px;border-radius:6px;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);flex-shrink:0}.admin-show-card__content{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.admin-show-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-show-card__name{margin:0;font-size:1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-show-card__badges{display:flex;gap:6px;flex-shrink:0}.admin-show-card__meta{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--color-text-muted)}.admin-show-card__meta svg{flex-shrink:0}.admin-show-card__performances{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--color-text-muted)}.admin-show-card__performances svg{flex-shrink:0}.admin-show-card__separator{color:var(--color-text-muted);opacity:.5}@media(max-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{width:100%;height:auto;aspect-ratio:3 / 4;max-width:120px}}.show-editor-page{padding:1.5rem;max-width:1100px}.show-editor-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.show-editor-page .page-header__left{display:flex;align-items:center;gap:1rem}.page-toggle-link{font-size:.875rem;color:var(--color-accent-primary);text-decoration:none;font-weight:500}.page-toggle-link:hover{text-decoration:underline}.show-editor-page .page-header h1{margin:0;font-size:1.5rem}.show-editor-page .back-link{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:.875rem;padding:0}.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{font-weight:500;font-size:.8125rem;margin-bottom:.375rem}.setup-poster__preview-wrap{display:flex;align-items:flex-start;gap:1rem}.setup-poster__preview{max-height:120px;border-radius:4px;border:1px solid var(--color-border-secondary);object-fit:contain}.setup-poster__actions{display:flex;flex-direction:column;gap:.375rem}.detail-form{max-width:500px}.detail-form .ui-form-field{margin-bottom:1rem}.detail-form label{display:block;font-weight:500;font-size:.8125rem;margin-bottom:.25rem}.detail-form input,.detail-form textarea,.detail-form select{width:100%;padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.detail-readonly{display:flex;flex-wrap:wrap;gap:1.5rem;margin:1rem 0;font-size:.8125rem;color:var(--color-text-muted)}.list-item{display:flex;gap:1rem;align-items:center;padding:.75rem;border:1px solid var(--color-border-secondary);border-radius:4px;margin-bottom:.5rem}.list-item__info{display:flex;flex-direction:column;gap:.125rem}.list-item__meta{font-size:.8125rem;color:var(--color-text-muted)}.list-item__actions{display:flex;gap:.5rem}.list-item--editing{margin-bottom:.5rem}.inline-form{padding:1rem;border:1px solid var(--color-border-primary);border-radius:6px;margin-top:.75rem;background:var(--color-bg-secondary)}.inline-form .form-field{margin-bottom:.75rem}.inline-form label{display:block;font-weight:500;font-size:.8125rem;margin-bottom:.25rem}.inline-form input{width:100%;padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.add-btn{margin-top:.75rem}.empty-state{color:var(--color-text-muted);text-align:center;padding:2rem 1rem}.pricing-table{width:auto;border-collapse:collapse}.pricing-table th{text-align:center;padding:.5rem;font-weight:600;font-size:.8125rem;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-primary)}.pricing-table th:first-child{text-align:left}.pricing-table td{padding:.375rem .5rem;border-bottom:1px solid var(--color-border-secondary)}.pricing-table .section-label{font-weight:500;font-size:.875rem;text-transform:capitalize}.price-input{width:80px;padding:.375rem .5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;text-align:right;background:var(--color-bg-secondary);color:var(--color-text-primary)}.pricing-scope{margin-bottom:1rem;max-width:400px}.pricing-scope label{display:block;font-weight:500;font-size:.8125rem;margin-bottom:.25rem}.pricing-scope select{width:100%;padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.pricing-scope-hint{font-size:.75rem;color:var(--color-text-muted);margin:.25rem 0 0}.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{display:flex;align-items:center;gap:.375rem}.setup-detail-info{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.25rem 0;padding:1rem;border:1px solid var(--color-border-secondary);border-radius:6px;background:var(--color-bg-secondary)}.setup-detail-info__item{display:flex;flex-direction:column;gap:.125rem}.setup-detail-info__label{font-size:.6875rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.setup-detail-info__value{font-size:.875rem;color:var(--color-text-primary)}.setup-sale-window{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.25rem}.setup-dirty-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.625rem 1rem;border:1px solid var(--color-warning-dark);border-radius:6px;background:var(--color-warning-light);color:var(--color-warning-dark);font-size:.8125rem;font-weight:500}.setup-dirty-bar__actions{display:flex;gap:.5rem}.setup-perf-label{display:flex;align-items:center;gap:.5rem}.setup-perf-meta{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--color-text-muted)}.setup-empty-state{text-align:center;padding:2rem 1.5rem;border:2px dashed var(--color-border-primary);border-radius:8px;color:var(--color-text-muted)}.setup-empty-state__title{font-size:.9375rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.375rem}.setup-empty-state__hint{font-size:.8125rem;max-width:400px;margin:0 auto}.setup-tt-pricing-indicator{font-size:.75rem;color:var(--color-text-muted)}.setup-price-cell{position:relative;display:inline-flex;align-items:center}.setup-price-cell__prefix{position:absolute;left:.5rem;font-size:.8125rem;color:var(--color-text-muted);pointer-events:none}.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{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin:1.25rem 0 .75rem}.setup-section-divider:after{content:"";flex:1;border-top:1px solid var(--color-border-primary)}.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{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.setup-checkbox-group label{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.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{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:.25rem}.setup-identity-row{display:flex;gap:1rem;margin-bottom:1rem}.setup-identity-row>:first-child{flex:1}.setup-identity-row>:last-child{flex:0 0 auto}.setup-collapsible summary{font-size:.875rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;margin:1.25rem 0 .75rem}.setup-tables-divider{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.setup-tables-divider:after{content:"";flex:1;border-top:1px solid var(--color-border-primary)}.setup-sticky-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding:.75rem 1rem;border:1px solid var(--color-border-secondary);border-radius:6px;background:var(--color-bg-secondary);position:sticky;bottom:1rem}.setup-sticky-actions__indicator{font-size:.8125rem;font-weight:500;color:var(--color-warning-dark);margin-right:auto}.setup-sticky-actions__buttons{display:flex;gap:.5rem}.setup-cast-card{border:1px solid var(--color-border-secondary);border-radius:6px;margin-bottom:.5rem;overflow:hidden}.setup-cast-card__header{display:flex;gap:1rem;align-items:center;padding:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.setup-cast-card__header:hover{background:var(--color-bg-hover)}.setup-cast-card__title{display:flex;align-items:center;gap:.5rem}.setup-cast-card__rename-input{font-size:.95rem;font-weight:600;padding:.15rem .4rem;border:1px solid var(--color-accent-primary);border-radius:4px;outline:none;width:12rem}.setup-cast-card__count{font-size:.75rem;color:var(--color-text-muted)}.setup-cast-colors{display:flex;align-items:center;gap:3px}.setup-cast-color-swatch{width:16px;height:16px;border-radius:50%;border:2px solid transparent;cursor:pointer;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{width:16px;height:16px;border-radius:50%;border:1px solid var(--color-border-primary);background:var(--color-bg-primary);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.setup-cast-color-clear:hover{border-color:var(--color-text-muted)}.setup-cast-card__body{padding:0 .75rem .75rem;border-top:1px solid var(--color-border-secondary)}.setup-cast-card__empty{font-size:.8125rem;color:var(--color-text-muted);padding:.5rem 0}.setup-cast-member__lead{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:.125rem;border-radius:3px;display:flex;align-items:center;flex-shrink:0}.setup-cast-member__lead:hover,.setup-cast-member__lead--active{color:var(--color-warning)}.setup-cast-member{display:flex;gap:.75rem;align-items:center;padding:.375rem 0;border-bottom:1px solid var(--color-border-secondary)}.setup-cast-member:last-of-type{border-bottom:none}.setup-cast-member__info{display:flex;align-items:baseline;gap:.5rem}.setup-cast-member__name{font-size:.875rem}.setup-cast-member__name--lead{font-weight:600}.setup-cast-member__role{font-size:.75rem;color:var(--color-text-muted);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{font-size:.75rem;font-style:italic;padding:.125rem .375rem;border:1px solid var(--color-accent-primary);border-radius:4px;outline:none;width:10rem;color:var(--color-text-muted)}.setup-cast-member__remove{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:.125rem;border-radius:3px}.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{display:flex;gap:.5rem;align-items:flex-start}.setup-cast-add-member__search{position:relative;flex:1}.setup-cast-add-member__search input{width:100%;padding:.375rem .5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.8125rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.setup-cast-add-member__selected{display:flex;align-items:center;gap:.375rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:4px;padding:.375rem .5rem;font-size:.8125rem}.setup-cast-add-member__clear{display:flex;align-items:center;padding:.125rem;border:none;background:none;cursor:pointer;color:var(--color-text-secondary);border-radius:2px}.setup-cast-add-member__clear:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.setup-cast-add-member__lead-label{display:flex;align-items:center;gap:.25rem;cursor:pointer;color:var(--color-text-muted);flex-shrink:0}.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{width:140px;padding:.375rem .5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.8125rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.seats-tab-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1.5rem;margin-bottom:1rem}.seats-tab-controls .form-field{min-width:200px}.seats-tab-controls label{display:block;font-weight:500;font-size:.8125rem;margin-bottom:.25rem}.seats-tab-controls select{width:100%;padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.seats-summary{display:flex;gap:1rem;font-size:.875rem;padding-bottom:.5rem}.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{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem;padding:.75rem 1rem;border:1px solid var(--color-accent-primary);border-radius:6px;background:var(--color-bg-secondary)}.seat-action-bar__label{display:flex;align-items:baseline;gap:.5rem;font-size:.875rem}.seat-action-bar__meta{color:var(--color-text-muted);font-size:.8125rem}.seat-action-bar__note{flex:1;min-width:150px;padding:.375rem .5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.8125rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.seat-action-bar__buttons{display:flex;gap:.5rem}.seats-tab-layout{display:flex;gap:1rem;align-items:flex-start}.seats-tab-layout__map{flex:1;min-width:0;overflow-x:auto}.seat-detail-pane{width:260px;flex-shrink:0;padding:1rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary);font-size:.8125rem;position:sticky;top:1rem}.seat-detail-pane__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.seat-detail-pane__header h4{margin:0;font-size:.9375rem}.seat-detail-pane__close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--color-text-muted);padding:0 .25rem}.seat-detail-pane__status{display:inline-block;padding:.125rem .5rem;border-radius:3px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-bottom:.75rem}.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{display:block;font-size:.6875rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.125rem}.seat-detail-pane__value{color:var(--color-text-primary)}.seat-detail-pane__other-seats{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.seat-detail-pane__seat-link{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:3px;padding:.125rem .375rem;font-size:.75rem;cursor:pointer;color:var(--color-text-primary)}.seat-detail-pane__seat-link:hover{background:var(--color-bg-hover);border-color:var(--color-accent-primary)}.seats-summary--checked-in{color:var(--color-success)}.seat-detail-pane__links{display:flex;flex-direction:column;gap:.375rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border-secondary)}.seat-detail-pane__link{display:inline-block;background:none;border:none;padding:0;font-size:.8125rem;font-weight:500;color:var(--color-accent-primary);cursor:pointer;text-align:left;text-decoration:none}.seat-detail-pane__link:hover{text-decoration:underline}.seat-detail-pane__actions{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border-primary)}.seat-action-bar__label>span:not(:last-child):after{content:", "}.door-sales-tab__controls{margin-bottom:1rem;max-width:300px}.door-sales-tab__controls label{display:block;font-weight:500;font-size:.8125rem;margin-bottom:.25rem}.door-sales-tab__controls select{width:100%;padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.door-sales-tab__map{overflow-x:auto}.door-sales-tab__form{margin-top:1.5rem;padding:1rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary);max-width:700px}.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{display:block;font-weight:500;font-size:.8125rem;margin-bottom:.25rem}.door-sales-tab__form input,.door-sales-tab__form select{width:100%;padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.settings-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border-secondary)}.settings-section:last-child{border-bottom:none}.settings-section h3{margin:0 0 .25rem;font-size:1rem}.settings-description{color:var(--color-text-muted);font-size:.875rem;margin:0 0 1rem}.settings-description code{background:var(--color-bg-secondary);padding:.125rem .375rem;border-radius:3px;font-size:.8125rem}.settings-status{margin-bottom:1rem}.settings-status__indicator{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500;padding:.25rem .625rem;border-radius:4px}.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{display:flex;align-items:center;gap:.75rem}.settings-url{background:var(--color-bg-secondary);padding:.5rem .75rem;border-radius:4px;font-size:.875rem;border:1px solid var(--color-border-secondary)}.reset-checkins-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border-secondary)}.reset-checkins-section h4{margin:0 0 .75rem;font-size:.875rem}.reset-checkins-confirm{padding:1rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary);max-width:400px}.reset-checkins-confirm p{margin:0 0 .75rem;font-size:.875rem}.show-editor-page--wide{max-width:none}.show-editor-page--wide .seatmap-poc{max-width:none;width:fit-content;margin:0;padding:0}.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);padding:.125rem .5rem;border-radius:3px;font-size:.875rem}.perf-button-group{display:flex;gap:.375rem;flex-wrap:wrap}.perf-button-group__btn{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.5rem .75rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary);cursor:pointer;color:var(--color-text-primary);font-size:.8125rem;transition:border-color .15s,background .15s}.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{font-size:.75rem;opacity:.8}.codes-tab__divider{border-top:1px solid var(--color-border-primary);margin:1.5rem 0}.codes-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.codes-section__header h3{margin:0;font-size:.9375rem;font-weight:600}.codes-section__actions{display:flex;gap:.5rem}.codes-section__empty{font-size:.8125rem;color:var(--color-text-muted);margin:0}.distributions-context-menu{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px;box-shadow:0 4px 12px #00000026;padding:4px 0;min-width:180px}.distributions-context-menu__item{display:block;width:100%;padding:8px 12px;text-align:left;background:none;border:none;font-size:13px;color:var(--color-text-primary);cursor:pointer}.distributions-context-menu__item:hover{background:var(--color-bg-hover)}.distributions-context-menu__item--danger{color:var(--color-error)}.distributions-context-menu__separator{height:1px;background:var(--color-border-primary);margin:4px 0}.reports-tab__header{display:flex;align-items:end;gap:1rem;margin-bottom:1.5rem}.reports-tab__header>.ui-btn{height:36px}.report-hero{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.report-hero__card{padding:1.25rem 1.5rem;border:1px solid var(--color-border-secondary);border-radius:6px;background:var(--color-bg-secondary)}.report-hero__card--revenue{flex:2;min-width:200px;border-left:3px solid var(--color-accent-primary)}.report-hero__card--attendance{flex:2;min-width:200px}.report-hero__card--orders{flex:1;min-width:140px}.report-hero__label{font-size:.6875rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.report-hero__value{font-size:1.5rem;font-weight:700;line-height:1.2}.report-hero__value--xl{font-size:2.25rem}.report-hero__value-dim{font-weight:400;color:var(--color-text-muted);font-size:1rem}.report-hero__sub{font-size:.75rem;color:var(--color-text-muted);margin-top:.375rem}.report-hero__breakdown{display:flex;gap:1rem;margin-top:.5rem;font-size:.75rem;color:var(--color-text-muted)}.report-hero__fill-bar{height:8px;background:var(--color-bg-tertiary);border-radius:4px;margin-top:.625rem;overflow:hidden}.report-hero__fill-bar-inner{height:100%;background:var(--color-accent-primary);border-radius:4px;transition:width .4s ease}.reports-tab__charts-row{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.reports-tab__charts-row>.reports-tab__timeline{flex:3;min-width:300px;margin-bottom:0}.reports-tab__charts-row>.report-donut{flex:2;min-width:250px}.reports-tab__timeline{padding:1rem 1.25rem;border:1px solid var(--color-border-secondary);border-radius:6px;background:var(--color-bg-secondary);margin-bottom:1.5rem}.reports-tab__timeline h3{margin:0 0 .5rem;font-size:.875rem;font-weight:600}.timeline-chart{height:280px}.report-donut{padding:1rem 1.25rem;border:1px solid var(--color-border-secondary);border-radius:6px;background:var(--color-bg-secondary)}.report-donut h3{margin:0 0 .5rem;font-size:.875rem;font-weight:600}.report-donut__chart{height:280px}.report-supporting{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.report-card--compact{flex:1;min-width:120px;padding:.75rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary)}.report-card--compact__label{font-size:.625rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.report-card--compact__value{font-size:1.125rem;font-weight:600;margin:.125rem 0}.report-card--compact__sub{font-size:.6875rem;color:var(--color-text-muted)}.reports-tab__breakdowns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.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__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{display:grid;grid-template-columns:var(--split-pct, 40%) 6px 1fr;gap:0;height:calc(100vh - 200px)}.orders-tab__left{display:flex;flex-direction:column;min-height:0;overflow:hidden}.orders-tab__filters{display:flex;align-items:flex-end;gap:1rem;padding:0 .5rem .5rem 0}.orders-tab__filters .ui-form-field{min-width:200px;margin-bottom:0}.orders-tab__filters select,.orders-tab__filters input[type=text]{width:100%;height:36px;padding:0 .5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.orders-tab__master{flex:1;min-height:200px;overflow:hidden;padding-right:.5rem}.orders-tab__master .ag-row{cursor:pointer}.orders-tab__row--selected{background-color:var(--color-bg-tertiary)!important}.orders-tab__divider{width:6px;cursor:col-resize;background:transparent;position:relative}.orders-tab__divider:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:var(--color-border-secondary);transition:background .15s}.orders-tab__divider:hover:after{background:var(--color-accent-primary)}.orders-tab__detail{min-height:0;overflow-y:auto;padding-left:.5rem}.orders-tab__empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);font-size:.875rem;border:1px dashed var(--color-border-secondary);border-radius:6px}.order-detail-panel{padding:1rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary)}.order-detail-panel--loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-muted)}.order-detail-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.order-detail-panel__header h4{margin:0;font-size:.9375rem;display:flex;align-items:center;gap:.5rem}.order-detail-panel__tickets-link{font-size:1rem;text-decoration:none;opacity:.7;transition:opacity .15s}.order-detail-panel__tickets-link:hover{opacity:1}.order-detail-panel__close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--color-text-muted);padding:0 .25rem}.order-detail-panel__meta{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem;font-size:.8125rem;margin-bottom:.75rem}.order-detail-panel__meta-row{display:flex;gap:.5rem}.order-detail-panel__meta-label{color:var(--color-text-muted);font-weight:500;min-width:4rem}.order-detail-panel__meta--amounts{padding-top:.5rem;padding-bottom:.75rem;border-top:1px solid var(--color-border-secondary);border-bottom:1px solid var(--color-border-secondary)}.order-detail-panel__meta-row--total .order-detail-panel__meta-label{color:var(--color-text-primary);font-weight:600}.order-detail-panel__seat-map-group{text-align:center}.order-detail-panel__seat-map-group:first-child{margin-top:.75rem}.order-detail-panel__seat-map-label{font-size:.6875rem;color:var(--color-text-muted);margin-top:.5rem}.order-detail-panel__seat-map{width:200px;max-width:100%;margin:.125rem auto 0;display:block}.order-detail-panel__section-title{margin:.25rem 0;font-size:.8125rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.order-detail-panel__tickets{width:100%;border-collapse:collapse;font-size:.8125rem}.order-detail-panel__tickets th{text-align:left;padding:.375rem .5rem;font-weight:600;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-primary)}.order-detail-panel__tickets th.text-right,.order-detail-panel__tickets td.text-right{text-align:right}.order-detail-panel__tickets td{padding:.375rem .5rem;border-bottom:1px solid var(--color-border-secondary);vertical-align:middle}.order-detail-panel__ticket-row--cancelled{opacity:.5}.order-detail-panel__perf-date{font-size:.75rem;color:var(--color-text-muted)}.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{display:inline;font-size:1rem;font-weight:700;color:var(--color-text-muted);margin-left:.25rem;cursor:default}.order-detail-panel__ticket-actions{display:flex;gap:.25rem;flex-wrap:nowrap}.order-detail-panel__action-btn{background:none;border:1px solid var(--color-border-primary);border-radius:4px;padding:.125rem .375rem;font-size:.75rem;cursor:pointer;color:var(--color-text-primary);white-space:nowrap}.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{min-width:1.75rem;text-align:center;font-weight:700;letter-spacing:.1em}.order-detail-panel__menu-dropdown{position:absolute;right:0;top:100%;z-index:10;display:flex;flex-direction:column;min-width:8rem;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:4px;box-shadow:0 2px 8px #00000040;padding:.25rem 0}.order-detail-panel__menu-item{background:none;border:none;padding:.375rem .75rem;font-size:.75rem;cursor:pointer;text-align:left;white-space:nowrap;color:var(--color-text-primary)}.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{background:none;border:none;cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--color-text-primary);padding:0}.order-detail-panel__transfers-list{margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem}.order-detail-panel__transfer-item{display:flex;gap:.75rem;font-size:.8125rem;padding:.25rem 0;border-bottom:1px solid var(--color-border-secondary)}.order-detail-panel__transfer-status--pending{color:var(--color-warning)}.order-detail-panel__transfer-status--claimed{color:var(--color-success)}.order-detail-panel__swap-item{font-size:.8125rem;padding:.25rem 0;border-bottom:1px solid var(--color-border-secondary)}.order-detail-panel__swap-line{display:flex;gap:.5rem;align-items:baseline}.order-detail-panel__swap-time{color:var(--color-text-muted);min-width:7rem}.order-detail-panel__swap-initiator{color:var(--color-text-muted)}.order-detail-panel__swap-perf{margin-left:7.5rem;color:var(--color-text-muted);font-style:italic}.order-detail-panel__swap-note{margin-left:7.5rem;color:var(--color-text-muted)}.order-detail-panel__actions{display:flex;gap:.5rem;margin-top:.75rem}@media(max-width:1024px){.orders-tab{grid-template-columns:1fr;height:auto}.orders-tab__divider{display:none}.orders-tab__master{max-height:50vh;padding-right:0}.orders-tab__detail{padding-left:0}}@media(max-width:768px){.orders-tab{grid-template-columns:1fr;height:auto}.orders-tab__detail{position:fixed;inset:0;z-index:100;background:var(--color-bg-primary);overflow-y:auto;padding:1rem}.orders-tab__master{min-height:200px}.orders-tab__detail:has(.orders-tab__empty-state){display:none}}.admin-swap-modal{display:flex;flex-direction:column;gap:var(--spacing-md)}.admin-swap-modal__tickets{overflow-x:auto}.admin-swap-modal__ticket-table{width:100%;border-collapse:collapse;font-size:.8125rem}.admin-swap-modal__ticket-table th{text-align:left;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:2px solid var(--color-border-primary);color:var(--color-text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.admin-swap-modal__ticket-table td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border-primary);vertical-align:middle}.admin-swap-modal__ticket-table th:first-child,.admin-swap-modal__ticket-table td:first-child{width:2rem;text-align:center}.admin-swap-modal__ticket-row--dimmed{opacity:.4}.admin-swap-modal__assignment{white-space:nowrap}.admin-swap-modal__arrow{font-weight:600;color:var(--color-accent-primary)}.admin-swap-modal__pending{color:var(--color-text-light);font-style:italic}.admin-swap-modal__perf-picker{padding:var(--spacing-xs) 0}.admin-swap-modal__seatmap{max-height:420px;overflow:auto;border:1px solid var(--color-border-primary);border-radius:6px;padding:var(--spacing-sm)}.admin-swap-modal__seatmap .seat--order-highlight{outline:2px solid var(--color-warning);outline-offset:1px;z-index:1}.admin-swap-modal__note textarea{width:100%;resize:vertical;font-size:.8125rem;padding:var(--spacing-sm);border:1px solid var(--color-border-secondary);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:inherit}.admin-swap-modal__note textarea:focus{outline:2px solid var(--color-border-focus);border-color:var(--color-border-focus)}.admin-swap-modal__loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.admin-swap-modal__footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.scanner-page{position:fixed;inset:0;display:flex;flex-direction:column;background:#000;color:#fff;z-index:1000;overflow:hidden;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)}.scanner-picker{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:2rem;background:#1a1a2e}.scanner-picker h1{font-size:1.5rem;margin-bottom:.5rem}.scanner-picker p{color:#ffffffb3;margin-bottom:1.5rem}.scanner-picker__list{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:400px}.scanner-picker__item{padding:1rem 1.25rem;min-height:60px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;color:#fff;cursor:pointer;text-align:left;transition:background .15s;touch-action:manipulation;-webkit-user-select:none;user-select:none}.scanner-picker__item:hover{background:#fff3}.scanner-picker__item-show{font-size:1rem;font-weight:600}.scanner-picker__item-detail{font-size:.875rem;color:#ffffffb3;margin-top:.25rem}.scanner-picker__empty,.scanner-picker__loading{text-align:center;color:#fff9;padding:2rem}.scanner-header{display:flex;align-items:center;padding:.75rem 1rem;background:#000c;gap:.75rem;z-index:10}.scanner-header__back{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1}.scanner-header__title{flex:1;font-size:1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scanner-header__count{font-size:.875rem;color:#fffc;white-space:nowrap}.scanner-header__sound{background:none;border:none;color:#fff;font-size:1.25rem;cursor:pointer;padding:.5rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.scanner-camera{flex:1;position:relative;overflow:hidden;transform:translateZ(0)}.scanner-camera video{width:100%;height:100%;object-fit:cover}.scanner-camera:after{content:"";position:absolute;inset:0;background:#00000026;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:none;z-index:4;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-size:100% 100%,65vmin 65vmin;-webkit-mask-position:center,center;-webkit-mask-repeat:no-repeat;-webkit-mask-composite:destination-out;mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-size:100% 100%,65vmin 65vmin;mask-position:center,center;mask-repeat:no-repeat;mask-composite:exclude}.scanner-viewfinder{position:absolute;top:50%;left:50%;width:65vmin;height:65vmin;transform:translate(-50%,-50%);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}.scanner-camera__loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;font-size:1.25rem;z-index:5}.scanner-camera__error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center;color:#fffc}.scanner-result{position:absolute;bottom:0;left:0;right:0;padding:1rem 1.5rem 1rem 2rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));box-sizing:border-box;transform:translateZ(0);animation:scanner-result-slide-up .25s ease-out;z-index:20;cursor:default;touch-action:manipulation;-webkit-user-select:none;user-select:none}@keyframes scanner-result-slide-up{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}.scanner-result--valid{background:var(--color-success)}.scanner-result--already_checked_in{background:var(--color-warning)}.scanner-result--invalid{background:var(--color-error)}.scanner-result--wrong_performance{background:var(--color-warning-dark)}.scanner-result--past_performance{background:var(--color-text-secondary)}.scanner-result--transferred,.scanner-result--pending_transfer,.scanner-result--network_error{background:var(--color-error)}.scanner-result__checkmark{font-size:4rem;line-height:1;margin-bottom:.25rem;text-align:center}.scanner-result__status{font-size:1.25rem;font-weight:700;margin-bottom:.25rem;text-align:center}.scanner-result__body{display:flex;align-items:center;gap:1rem}.scanner-result__body .scanner-result__details{flex:1;min-width:0}.scanner-result__details{font-size:.9rem;line-height:1.4;opacity:.95}.scanner-result__actions{display:flex;gap:.75rem}.scanner-result__btn{padding:.625rem 1.25rem;min-height:44px;border:2px solid rgba(255,255,255,.8);border-radius:.375rem;background:#ffffff26;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s;touch-action:manipulation}.scanner-result__btn:hover{background:#ffffff4d}.scanner-result__btn--confirm{background:#ffffffe6;color:var(--color-success);border-color:#ffffffe6}.scanner-result__btn--confirm:hover{background:#fff}.scanner-result__swap-note{font-size:.8rem;opacity:.75;font-style:italic}.scanner-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:.75rem 1.5rem;background:#000c;border-radius:.5rem;font-size:.9rem;z-index:15;animation:scanner-toast-fade 1.5s ease-out forwards}@keyframes scanner-toast-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.transfer-claim-page{max-width:480px;margin:0 auto;padding:24px 16px;min-height:100vh;font-family:Arial,sans-serif;color:var(--color-text-primary)}.transfer-loading{text-align:center;padding:48px 0;color:var(--color-text-muted)}.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);margin:0 0 20px;text-align:center}.transfer-error-card{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:12px;padding:32px 24px;text-align:center}.transfer-error-card h2{color:var(--color-text-secondary);margin:0 0 12px}.transfer-ticket-info{margin-bottom:20px}.transfer-detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border-secondary, #f0f0f0)}.transfer-label{color:var(--color-text-secondary);font-size:14px}.transfer-value{font-weight:500;text-align:right;color:var(--color-text-primary)}.transfer-seat{font-weight:700;color:var(--color-accent-primary)}.transfer-claim-button{display:block;width:100%;padding:14px;background:var(--color-accent-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:16px}.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;padding:10px 14px;font-size:14px;margin-bottom:12px}.transfer-seat-map{text-align:center;margin-bottom:16px}.transfer-seat-map img{width:300px;max-width:100%;height:auto}.transfer-tickets-grid{display:grid;grid-template-columns:1fr;gap:16px;max-width:320px;margin:0 auto}.transfer-save-notice{background:var(--color-info-light);border:1px solid var(--color-info);border-radius:8px;padding:12px 16px;font-size:14px;margin:16px 0;color:var(--color-info-dark)}.transfer-print-button{display:block;width:100%;padding:10px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;cursor:pointer;margin-top:12px}.transfer-print-button:hover{background:var(--color-bg-secondary)}.transfer-show-name{text-align:center;font-size:18px;font-weight:700;margin-bottom:16px;color:var(--color-text-primary)}.transfer-ticket-list{margin-bottom:20px}.transfer-tickets-table{width:100%;border-collapse:collapse;font-size:14px}.transfer-tickets-table thead tr{border-bottom:2px solid var(--color-border-primary)}.transfer-tickets-table th{padding:8px 4px;text-align:left;color:var(--color-text-secondary);font-weight:500;font-size:13px}.transfer-tickets-table td{padding:8px 4px;border-bottom:1px solid var(--color-border-secondary, #f0f0f0)}.transfer-datetime{text-align:center;color:var(--color-text-secondary);font-size:14px;margin-top:8px}@media print{.transfer-claim-page{padding:0}.transfer-print-button,.transfer-save-notice{display:none}}.swap-page{width:fit-content;max-width:100%;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex;flex-direction:column;gap:1rem}.swap-page__header{display:flex;flex-direction:column;gap:.5rem}.swap-page__header h1{margin:0;font-size:1.5rem}.swap-page__back{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-accent-primary);text-decoration:none;font-size:.875rem;font-weight:500}.swap-page__back:hover{text-decoration:underline}.swap-page__summary{display:flex;flex-direction:column;gap:.5rem}.swap-page__summary-row{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:var(--color-bg-tertiary);border-radius:6px;font-size:.875rem;flex-wrap:wrap}.swap-page__summary-row--new{background:var(--color-success-light);border:1px solid var(--color-success)}.swap-page__summary-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);flex-shrink:0}.swap-page__summary-value{font-weight:500;flex:1}.swap-page__summary-actions{display:flex;gap:.5rem;flex-shrink:0;align-items:center}.swap-page__summary-actions .ui-btn-secondary{color:var(--color-text-primary);border-color:var(--color-text-muted)}.swap-page__loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-secondary)}.swap-page__seatmap{border:1px solid var(--color-border-primary);border-radius:6px;padding:1rem}.swap-page__seatmap .seat--highlighted{animation:swap-seat-pulse 1.5s ease-in-out infinite;z-index:2}@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(max-width:640px){.swap-page__summary-row{flex-direction:column;align-items:flex-start;gap:.25rem}.swap-page__seatmap{border:none;padding:0;border-radius:0}}.public-scanner-gate{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#1a1a2e;color:#fff;padding:2rem;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.public-scanner-gate__card{width:100%;max-width:360px;text-align:center}.public-scanner-gate__card h1{font-size:1.5rem;margin-bottom:.5rem}.public-scanner-gate__card p{color:#ffffffb3;margin-bottom:1.5rem}.public-scanner-gate__input{width:100%;padding:.875rem 1rem;font-size:1rem;border:1px solid rgba(255,255,255,.3);border-radius:.5rem;background:#ffffff1a;color:#fff;outline:none;box-sizing:border-box}.public-scanner-gate__input:focus{border-color:#fff9}.public-scanner-gate__input::placeholder{color:#fff6}.public-scanner-gate__error{color:var(--color-error);font-size:.875rem;margin-top:.5rem}.public-scanner-gate__btn{width:100%;margin-top:1rem;padding:.875rem;font-size:1rem;font-weight:600;border:none;border-radius:.5rem;background:var(--color-accent-primary);color:#fff;cursor:pointer;min-height:48px;touch-action:manipulation}.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;margin:0 auto;padding:2rem 1rem;color:var(--color-text-primary)}.privacy-page h1{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.privacy-page .effective-date{font-size:.85rem;color:var(--color-text-light);margin-bottom:2rem}.privacy-page h2{font-size:1.15rem;font-weight:600;margin-top:1.5rem;margin-bottom:.5rem}.privacy-page p,.privacy-page ul{font-size:.95rem;line-height:1.6;margin-bottom:.75rem}.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;margin:0 auto;padding:2rem 1rem;color:var(--color-text-primary)}.terms-page h1{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.terms-page .effective-date{font-size:.85rem;color:var(--color-text-light);margin-bottom:2rem}.terms-page h2{font-size:1.15rem;font-weight:600;margin-top:1.5rem;margin-bottom:.5rem}.terms-page p,.terms-page ul{font-size:.95rem;line-height:1.6;margin-bottom:.75rem}.terms-page ul{padding-left:1.25rem}.terms-page li{margin-bottom:.25rem}.terms-page a{color:var(--color-accent-primary)}.send-presale-page{padding:1.5rem;max-width:1100px}.send-presale-page__header{margin-bottom:1.5rem;text-align:center}.send-presale-page__header h1{margin:0 0 .25rem;font-size:1.5rem}.send-presale-page__show-name{margin:0;font-size:.875rem;color:var(--color-text-muted)}.send-presale-page__footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border-secondary)}.send-presale-page__footer-right{display:flex;gap:.5rem}.send-presale-page__content{margin-top:1.5rem}.mode-selection__cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.mode-card{display:flex;flex-direction:column;align-items:flex-start;padding:1.5rem;border:2px solid var(--color-border-primary);border-radius:8px;background:var(--color-bg-secondary);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s;color:var(--color-text-primary);font-family:inherit;font-size:inherit}.mode-card:hover{border-color:var(--color-accent-primary);box-shadow:0 2px 8px #00000014}.mode-card h3{margin:0 0 .5rem;font-size:1rem}.mode-card p{margin:0;font-size:.875rem;color:var(--color-text-muted)}.compose-form{max-width:600px}.compose-form__field{margin-bottom:1rem}.compose-form__field>label{display:block;font-weight:500;font-size:.8125rem;margin-bottom:.25rem}.compose-form__field input[type=text],.compose-form__field input[type=number],.compose-form__field textarea,.compose-form__field select{width:100%;padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:inherit}.compose-form__field textarea{resize:vertical;min-height:120px}.compose-form__hint{display:block;margin-top:.25rem;font-size:.75rem;color:var(--color-text-muted)}.compose-form__locked-sender{margin:0;font-size:.875rem;color:var(--color-text-muted);font-style:italic}.required{color:var(--color-error)}.audience-layout{display:grid;grid-template-columns:1fr 300px;gap:1.5rem;align-items:start}@media(max-width:768px){.audience-layout{grid-template-columns:1fr}}.audience-section{border:1px solid var(--color-border-secondary);border-radius:6px;padding:.75rem;margin-bottom:1rem}.audience-section legend{font-weight:600;font-size:.875rem;padding:0 .25rem}.audience-checkbox{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;cursor:pointer;font-size:.875rem}.audience-checkbox input[type=checkbox]{width:auto;accent-color:var(--color-accent-primary)}.audience-section textarea{width:100%;padding:.5rem;border:1px solid var(--color-border-primary);border-radius:4px;font-size:.875rem;background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:inherit;resize:vertical}.donor-thresholds{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.audience-preview-panel{padding:1rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary)}.audience-preview-panel h4{margin:0 0 .75rem;font-size:.875rem}.audience-preview-panel__empty{font-size:.8125rem;color:var(--color-text-muted);margin:0}.audience-preview-panel__hint{font-size:.75rem;color:var(--color-text-muted);margin:.75rem 0 0}.audience-counts__row{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.8125rem;border-bottom:1px solid var(--color-border-secondary)}.audience-counts__total{display:flex;justify-content:space-between;padding:.5rem 0 0;font-size:.875rem;font-weight:600}.audience-warnings{margin-top:.5rem;padding:.5rem;border-radius:4px;background:var(--color-warning-light);color:var(--color-warning-dark);font-size:.8125rem}.audience-warnings p{margin:.25rem 0}.preview-layout{display:grid;grid-template-columns:1fr 350px;gap:1.5rem;align-items:start}@media(max-width:768px){.preview-layout{grid-template-columns:1fr}}.preview-grid h4{margin:0 0 .75rem;font-size:.875rem}.preview-warnings{margin-bottom:.75rem;padding:.5rem .75rem;border-radius:4px;background:var(--color-warning-light);color:var(--color-warning-dark);font-size:.8125rem}.preview-warnings p{margin:.25rem 0}.preview-email h4{margin:0 0 .75rem;font-size:.875rem}.preview-email__card{padding:1rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary);margin-bottom:.75rem}.preview-email__subject{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border-secondary);font-size:.875rem}.preview-email__body{font-size:.8125rem}.preview-email__body pre{margin:0;white-space:pre-wrap;font-family:inherit}.confirm-summary h3{margin:0 0 1rem;font-size:1.125rem}.confirm-summary__card{padding:1rem;border:1px solid var(--color-border-primary);border-radius:6px;background:var(--color-bg-secondary);max-width:500px}.confirm-summary__row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.875rem;border-bottom:1px solid var(--color-border-secondary)}.confirm-summary__row:last-child{border-bottom:none}.confirm-summary__label{font-weight:500;color:var(--color-text-muted)}#root{min-height:100vh}h2{margin-top:0;color:var(--color-text-primary)}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-sidebar-bg) 0%,var(--color-accent-primary) 100%)}.loading-logo{width:200px;height:auto;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3));animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.signing-page{min-height:100vh;background:var(--color-bg-primary);padding:20px}.signing-container{max-width:1200px;margin:0 auto;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.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{margin:5px 0;opacity:.9}.signing-content{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px}@media(max-width:900px){.signing-content{grid-template-columns:1fr}}.signing-content-single{padding:20px}.signing-actions{display:flex;flex-direction:column;gap:15px;margin-top:20px;padding:20px;background:var(--color-bg-primary);border-radius:8px}.signing-progress{font-size:.9rem;color:var(--color-text-muted);text-align:center}.signing-pdf-section,.signing-form-section{padding:10px}.signing-form-section h3{margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid var(--color-border-primary);color:var(--color-text-primary)}.form-fields{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.form-field{display:flex;flex-direction:column;gap:5px}.form-field label{font-weight:500;color:var(--color-text-secondary);font-size:.9rem}.form-field input{padding:10px 12px;border:1px solid var(--color-border-secondary);border-radius:6px;font-size:1rem}.form-field input:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #3574b81a}.signature-fields{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.signature-field{display:flex;align-items:center;justify-content:space-between;padding:15px;background:var(--color-bg-primary);border-radius:6px;border:1px solid var(--color-border-primary)}.signature-preview-small{display:flex;align-items:center;gap:10px}.signature-preview-small img{max-width:150px;max-height:50px;border:1px solid var(--color-border-secondary);border-radius:4px}.consent-section{margin:20px 0;padding:20px;background:var(--color-consent-bg);border:1px solid var(--color-consent-border);border-radius:6px}.consent-disclosure{font-size:.9rem;color:var(--color-consent-text);margin-bottom:15px}.consent-disclosure ul{margin:10px 0;padding-left:20px}.consent-disclosure li{margin:5px 0}.consent-checkbox{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.consent-checkbox input{margin-top:3px}.btn-large{width:100%;padding:15px 30px;font-size:1.1rem}.signature-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.signature-modal-content{background:#fff;padding:30px;border-radius:12px;max-width:500px;width:90%}.signature-modal-content h3{margin:0 0 20px}.signature-tabs{display:flex;gap:10px;margin-bottom:20px}.signature-tabs .tab{padding:10px 20px;background:var(--color-bg-hover);border:none;border-radius:6px;cursor:pointer}.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{font-size:.85rem;color:var(--color-text-muted);margin-top:10px}.signature-type-area{display:flex;flex-direction:column;gap:15px}.signature-input{padding:12px;border:1px solid var(--color-border-secondary);border-radius:6px;font-size:1rem}.signature-preview{padding:20px;background:var(--color-bg-primary);border-radius:6px;min-height:60px;display:flex;align-items:center}.signature-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}.signature-name-input{margin-top:15px;text-align:left}.signature-name-input label{display:block;margin-bottom:5px;font-size:.9rem;color:var(--color-text-secondary)}.signature-name-input .signature-input{width:100%;box-sizing:border-box}.signature-name-input .signature-input.error{border-color:var(--color-error)}.signature-name-input .field-error{display:block;color:var(--color-error);font-size:.8rem;margin-top:4px}.signature-reuse-area{text-align:center;padding:20px 0}.signature-preview-image{margin:15px 0;padding:15px;background:var(--color-bg-primary);border-radius:6px}.signature-name-display{font-size:.9rem;color:var(--color-text-secondary);margin-top:10px}.pdf-viewer{border:1px solid var(--color-border-primary);border-radius:6px;overflow:hidden;background:#fff;min-height:600px}.pdf-form-viewer{background:var(--color-pdf-bg);padding:20px;border-radius:6px;overflow-x:auto}.pdf-form-viewer .pdf-loading,.pdf-form-viewer .pdf-error{color:#fff;padding:40px;text-align:center}.pdf-form-viewer .pdf-page{background:#fff;box-shadow:0 2px 8px #0000004d;margin:0 auto 20px}.pdf-form-viewer .pdf-field-input{box-sizing:border-box;border:2px solid var(--color-accent-primary);background:#dbeafeb3;padding:2px 4px;font-family:inherit;outline:none}.pdf-form-viewer .pdf-field-input:focus{background:#fff;border-color:var(--color-accent-primary-hover)}.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{background:#fff;border-color:var(--color-error)}.pdf-form-viewer .pdf-field-input.pdf-field-readonly{border-color:var(--color-text-light);background:#f1f5f9e6;color:var(--color-sidebar-border);cursor:not-allowed}.pdf-form-viewer .pdf-field-error-message{font-size:11px;color:var(--color-error);background:#fee2e2f2;padding:2px 6px;border-radius:3px;margin-top:2px;white-space:nowrap;position:absolute;z-index:10;box-shadow:0 1px 3px #0000001a}.pdf-form-viewer .pdf-signature-box{border:2px dashed var(--color-warning);background:#fef3c7b3;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background-color .15s}.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);background:#f8fafce6;display:flex;align-items:center;padding:0 6px;box-sizing:border-box}.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{font-size:12px;color:var(--color-text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-form-viewer .autofill-placeholder{font-size:10px;color:var(--color-text-light);font-style:italic}@media(max-width:768px){.signing-page{padding:10px}.signing-header{padding:15px 20px}.signing-header h1{font-size:1.25rem}.signing-content{padding:15px;gap:15px}.signing-content-single{padding:15px}.signing-actions{padding:15px;margin-top:15px}.signature-modal-content{padding:20px;width:95%}.signature-tabs{flex-wrap:wrap;gap:8px}.signature-tabs .tab{flex:1;min-width:45%;padding:12px 15px;min-height:44px}.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{padding:15px;margin:15px 0}.consent-checkbox{min-height:44px}.pdf-viewer{min-height:400px}.pdf-form-viewer{padding:10px}.btn-large{padding:16px 20px;font-size:1rem}}@media(max-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}}
