@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Source+Sans+Pro:wght@300;400;600;700&family=Roboto:wght@300;400;500;700&display=swap";.household-card-content{height:100%;display:flex;flex-direction:column}.member-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:#e0e0e0;color:#616161;font-weight:500;font-size:14px;margin-right:8px}:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--font-family-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-family-body: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-xxl: 2rem;--font-size-xxxl: 2.5rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--line-height-loose: 2;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .05em;--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1.5rem;--border-radius-full: 9999px;--header-height: 3.75rem;--sidebar-width: 15rem;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}:root{--color-primary-50: hsl(203, 89%, 95%);--color-primary-50-rgb: 237, 248, 252;--color-primary-100: hsl(203, 89%, 90%);--color-primary-100-rgb: 219, 241, 250;--color-primary-200: hsl(203, 89%, 80%);--color-primary-200-rgb: 183, 226, 245;--color-primary-300: hsl(203, 89%, 70%);--color-primary-300-rgb: 147, 212, 240;--color-primary-400: hsl(203, 89%, 60%);--color-primary-400-rgb: 111, 197, 235;--color-primary-500: hsl(203, 89%, 53%);--color-primary-500-rgb: 29, 155, 240;--color-primary-600: hsl(203, 89%, 45%);--color-primary-600-rgb: 18, 132, 214;--color-primary-700: hsl(203, 89%, 37%);--color-primary-700-rgb: 15, 108, 176;--color-primary-800: hsl(203, 89%, 30%);--color-primary-800-rgb: 12, 88, 143;--color-primary-900: hsl(203, 89%, 23%);--color-primary-900-rgb: 9, 67, 110;--color-gray-50: hsl(210, 20%, 98%);--color-gray-50-rgb: 247, 249, 250;--color-gray-100: hsl(210, 16%, 93%);--color-gray-100-rgb: 233, 236, 239;--color-gray-200: hsl(210, 14%, 89%);--color-gray-200-rgb: 222, 226, 230;--color-gray-300: hsl(210, 12%, 80%);--color-gray-300-rgb: 199, 203, 208;--color-gray-400: hsl(210, 10%, 70%);--color-gray-400-rgb: 173, 177, 182;--color-gray-500: hsl(210, 8%, 50%);--color-gray-500-rgb: 120, 124, 130;--color-gray-600: hsl(210, 6%, 35%);--color-gray-600-rgb: 84, 88, 93;--color-gray-700: hsl(210, 5%, 25%);--color-gray-700-rgb: 60, 63, 67;--color-gray-800: hsl(210, 4%, 16%);--color-gray-800-rgb: 39, 40, 43;--color-gray-900: hsl(210, 3%, 10%);--color-gray-900-rgb: 24, 25, 26;--color-success-500: hsl(161, 100%, 40%);--color-success-500-rgb: 0, 204, 136;--color-success-600: hsl(161, 100%, 35%);--color-success-600-rgb: 0, 179, 119;--color-error-500: hsl(355, 100%, 64%);--color-error-500-rgb: 255, 76, 96;--color-error-600: hsl(355, 100%, 55%);--color-error-600-rgb: 255, 51, 76;--color-warning-500: hsl(44, 100%, 50%);--color-warning-500-rgb: 255, 204, 0;--color-warning-600: hsl(44, 100%, 45%);--color-warning-600-rgb: 230, 184, 0}:root{--color-background: var(--color-gray-900);--color-card-background: var(--color-gray-800);--color-text-primary: var(--color-gray-50);--color-text-secondary: var(--color-gray-400);--color-text-tertiary: var(--color-gray-500);--color-border: rgba(255, 255, 255, .1);--color-border-hover: rgba(255, 255, 255, .2);--color-border-focus: rgba(255, 255, 255, .3);--color-accent: var(--color-primary-500);--color-accent-rgb: var(--color-primary-500-rgb);--color-accent-hover: var(--color-primary-400);--color-accent-pressed: var(--color-primary-600);--color-accent-subtle: rgba(29, 155, 240, .1);--color-button-hover: rgba(255, 255, 255, .1);--color-button-pressed: rgba(255, 255, 255, .05);--color-success: var(--color-success-500);--color-success-rgb: var(--color-success-500-rgb);--color-error: var(--color-error-500);--color-error-rgb: var(--color-error-500-rgb);--color-warning: var(--color-warning-500);--color-warning-rgb: var(--color-warning-500-rgb);--shadow-theme: 0 4px 12px rgba(0, 0, 0, .3)}[data-theme=light]{--color-background: var(--color-gray-50);--color-card-background: white;--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-600);--color-text-tertiary: var(--color-gray-500);--color-border: rgba(0, 0, 0, .1);--color-border-hover: rgba(0, 0, 0, .2);--color-border-focus: rgba(0, 0, 0, .3);--color-accent: var(--color-primary-500);--color-accent-rgb: var(--color-primary-500-rgb);--color-accent-hover: var(--color-primary-600);--color-accent-pressed: var(--color-primary-700);--color-accent-subtle: rgba(29, 155, 240, .05);--color-button-hover: rgba(0, 0, 0, .05);--color-button-pressed: rgba(0, 0, 0, .1);--color-success: var(--color-success-600);--color-success-rgb: var(--color-success-600-rgb);--color-error: var(--color-error-600);--color-error-rgb: var(--color-error-600-rgb);--color-warning: var(--color-warning-600);--color-warning-rgb: var(--color-warning-600-rgb);--shadow-theme: 0 4px 12px rgba(0, 0, 0, .08)}body{font-family:var(--font-family-body);font-weight:var(--font-weight-normal);font-size:var(--font-size-md);background-color:var(--color-background);color:var(--color-text-primary);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-weight:var(--font-weight-medium);text-align:center;white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);border:none;outline:none;min-height:2.5rem}.btn--primary{background-color:var(--color-accent);color:#fff}.btn--primary:hover{background-color:var(--color-accent-hover);text-decoration:none}.btn--primary:active{background-color:var(--color-accent-pressed)}.btn--secondary{background-color:var(--color-button-hover);color:var(--color-text-primary)}.btn--secondary:hover{background-color:var(--color-button-pressed);text-decoration:none}.btn--danger{background-color:var(--color-error);color:#fff}.btn--danger:hover{background-color:var(--color-error-600);text-decoration:none}.btn--success{background-color:var(--color-success);color:#fff}.btn--success:hover{background-color:var(--color-success-600);text-decoration:none}.btn--outline{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-primary)}.btn--outline:hover{border-color:var(--color-border-hover);background-color:var(--color-button-hover);text-decoration:none}.btn--text{background-color:transparent;color:var(--color-accent);padding:var(--spacing-xs) var(--spacing-sm);min-height:auto}.btn--text:hover{background-color:var(--color-accent-subtle);text-decoration:none}.btn--sm{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);height:2rem;min-height:auto}.btn--lg{font-size:var(--font-size-lg);padding:var(--spacing-sm) var(--spacing-lg);min-height:3rem}.btn--full{width:100%}.btn__icon{margin-right:var(--spacing-xs)}.btn__icon--right{margin-right:0;margin-left:var(--spacing-xs)}.btn:disabled,.btn--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn--loading{position:relative;color:transparent;pointer-events:none}.btn--loading:after{content:"";position:absolute;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .7s linear infinite}.card{background-color:var(--color-card-background);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal);overflow:hidden}.card__header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:0}.card__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.card__content{padding:var(--spacing-md)}.card__footer{padding:var(--spacing-md);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.card--interactive{cursor:pointer}.card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card--flat{box-shadow:none;border:1px solid var(--color-border)}.card--flat:hover{border-color:var(--color-border-hover)}.card--padded{padding:var(--spacing-md)}.card--outlined{background-color:transparent;border:1px solid var(--color-border)}.card--full-height{height:100%;display:flex;flex-direction:column}.card--full-height .card__content{flex:1}.form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form__group{display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.form__group:last-child{margin-bottom:0}.form__label{font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs);display:inline-block;color:var(--color-text-primary)}.form__label--required:after{content:"*";color:var(--color-error);margin-left:var(--spacing-xs)}.form__input{background-color:var(--color-card-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%;min-height:2.5rem}.form__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-subtle);outline:none}.form__input:disabled{opacity:.6;cursor:not-allowed}.form__input::placeholder{color:var(--color-text-tertiary)}.form__input--textarea{min-height:6rem;resize:vertical}.form__input--select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.form__checkbox,.form__radio{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;margin-bottom:var(--spacing-sm)}.form__checkbox-input,.form__radio-input{width:1.125rem;height:1.125rem;border:1px solid var(--color-border);background-color:var(--color-card-background);cursor:pointer}.form__checkbox-input:checked,.form__radio-input:checked{border-color:var(--color-accent);background-color:var(--color-accent)}.form__checkbox-label,.form__radio-label{font-weight:var(--font-weight-normal);cursor:pointer}.form__help-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.form__error{font-size:var(--font-size-xs);color:var(--color-error);margin-top:var(--spacing-xs)}.form__input--error{border-color:var(--color-error)}.form__input--error:focus{box-shadow:0 0 0 2px rgba(var(--color-error-rgb),.2)}.form__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.alert{padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);position:relative;display:flex;align-items:flex-start;gap:var(--spacing-sm)}.alert:last-child{margin-bottom:0}.alert--info{background-color:rgba(var(--color-primary-500-rgb),.1);color:var(--color-primary-700);border-left:4px solid var(--color-primary-500)}.alert--success{background-color:rgba(var(--color-success-500-rgb),.1);color:var(--color-success-600);border-left:4px solid var(--color-success)}.alert--warning{background-color:rgba(var(--color-warning-500-rgb),.1);color:var(--color-warning-600);border-left:4px solid var(--color-warning)}.alert--error{background-color:rgba(var(--color-error-500-rgb),.1);color:var(--color-error);border-left:4px solid var(--color-error)}.alert__icon{flex-shrink:0;margin-top:2px}.alert__content{flex:1}.alert__title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);font-size:var(--font-size-md)}.alert__message{font-size:var(--font-size-sm);margin:0}.alert__close{background:transparent;border:none;color:currentColor;cursor:pointer;padding:var(--spacing-xs);font-size:var(--font-size-lg);line-height:1;opacity:.7;transition:opacity var(--transition-fast);flex-shrink:0}.alert__close:hover{opacity:1}.alert--dismissible{padding-right:calc(var(--spacing-md) * 2 + 24px)}.alert--fixed{position:fixed;z-index:1000;width:100%;max-width:500px;box-shadow:var(--shadow-lg)}.alert--fixed.alert--top{top:var(--spacing-md)}.alert--fixed.alert--bottom{bottom:var(--spacing-md)}.alert--fixed.alert--center{left:50%;transform:translate(-50%)}@keyframes alert-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.alert--animated{animation:alert-fade-in .3s ease-out forwards}.spinner{border:3px solid var(--color-border);border-radius:50%;border-top:3px solid var(--color-accent);width:24px;height:24px;animation:spin 1s linear infinite;display:inline-block}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-lg{width:40px;height:40px;border-width:4px}.spinner-with-text{display:flex;align-items:center;gap:var(--spacing-sm)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:var(--color-text-secondary);background-color:var(--color-background);transition:background-color var(--transition-normal),color var(--transition-normal)}.loading-container .spinner{margin-bottom:var(--spacing-md)}.loading-inline{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary)}.btn-loading{position:relative;color:transparent!important}.btn-loading .spinner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.skeleton{background:linear-gradient(90deg,var(--color-border) 25%,rgba(255,255,255,.1) 50%,var(--color-border) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--border-radius-sm);height:16px}.skeleton-text{height:16px;margin-bottom:var(--spacing-sm);width:100%}.skeleton-title{height:24px;margin-bottom:var(--spacing-md);width:70%}.skeleton-circle{height:48px;width:48px;border-radius:50%}.skeleton-button{height:38px;width:120px;border-radius:var(--border-radius-md)}.skeleton-image{height:200px;width:100%;border-radius:var(--border-radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.progress{height:8px;background-color:var(--color-border);border-radius:var(--border-radius-sm);overflow:hidden;margin:var(--spacing-md) 0}.progress-bar{height:100%;background-color:var(--color-accent);transition:width .3s ease}.progress-with-label{display:flex;align-items:center;gap:var(--spacing-md)}.progress-with-label .progress{flex:1;margin:0}.progress-percentage{width:40px;text-align:right;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-lg)}.table th,.table td{text-align:left;padding:var(--spacing-md);border-bottom:1px solid var(--color-border);transition:border-color var(--transition-normal)}.table th{font-weight:600;color:var(--color-text-secondary);transition:color var(--transition-normal)}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:var(--color-accent-subtle)}.table-compact th,.table-compact td{padding:var(--spacing-sm)}.table-striped tbody tr:nth-child(odd){background-color:#00000005}[data-theme=dark] .table-striped tbody tr:nth-child(odd){background-color:#ffffff05}.table-bordered,.table-bordered th,.table-bordered td{border:1px solid var(--color-border)}.table-container{max-height:500px;overflow-y:auto;margin-bottom:var(--spacing-lg)}.table-fixed-header{position:sticky;top:0;background-color:var(--color-card-background);z-index:1;box-shadow:0 1px 2px #0000001a}.table .text-center{text-align:center}.table .text-right{text-align:right}.table .row-success{background-color:#00c48c0d}.table .row-error{background-color:#ff4d4d0d}.table .row-warning{background-color:#ffb8000d}.table .row-selected{background-color:var(--color-accent-subtle)}.table-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-tertiary);font-style:italic}@media (max-width: 768px){.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-stacked{display:block}.table-stacked thead{display:none}.table-stacked tbody{display:block}.table-stacked tr{display:block;border:1px solid var(--color-border);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);padding:var(--spacing-sm)}.table-stacked td{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(0,0,0,.05);padding:var(--spacing-sm) 0}.table-stacked td:last-child{border-bottom:none}.table-stacked td:before{content:attr(data-label);font-weight:600;color:var(--color-text-secondary)}}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.m-0{margin:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.p-0{padding:0}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-screen{height:100vh}.text-left{text-align:left}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-xxl{font-size:var(--font-size-xxl)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-100{z-index:100}.rounded-sm{border-radius:var(--border-radius-sm)}.rounded-md{border-radius:var(--border-radius-md)}.rounded-lg{border-radius:var(--border-radius-lg)}.rounded-full{border-radius:9999px}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-6{grid-column:span 6}.col-span-8{grid-column:span 8}.col-span-12{grid-column:span 12}@media (max-width: 768px){.sm-grid-cols-1{grid-template-columns:repeat(1,1fr)}.sm-col-span-full{grid-column:1 / -1}}@media (min-width: 769px) and (max-width: 1024px){.md-grid-cols-2{grid-template-columns:repeat(2,1fr)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:var(--font-size-sm);font-weight:500;border-radius:var(--border-radius-full);border:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background-color:var(--color-button-dark);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:none;ring:1px solid var(--color-accent)}.btn-submit{width:100%;height:48px;padding:12px;border-radius:var(--border-radius-lg);gap:8px;font-weight:600;background-color:var(--color-button-dark);color:#fff;transition:all var(--transition-normal);border:none}[data-theme=light] .btn-submit{background-color:var(--color-button-dark);color:#fff;border:none}:root:not([data-theme=light]) .btn-submit{background-color:var(--color-button-dark);color:#fff;border:none}.btn-submit:not(:disabled):hover{background-color:var(--color-button-dark-hover)}:root:not([data-theme=light]) .btn-submit:not(:disabled):hover{background-color:var(--color-button-dark-hover)}.btn-primary{background-color:var(--color-button-dark);color:#fff;font-weight:500;padding:10px 16px;border-radius:var(--border-radius-full);border:none}.btn-primary:not(:disabled):hover{background-color:var(--color-button-dark-hover)}.btn-primary:not(:disabled):active{background-color:var(--color-button-dark-active)}.btn-secondary{height:32px;padding:8px 12px;border-radius:var(--border-radius-full);color:#fff;background-color:var(--color-button-dark);font-weight:500;border:none}[data-theme=light] .btn-secondary{color:#fff;background-color:var(--color-button-dark);border:none}:root:not([data-theme=light]) .btn-secondary{color:#fff;background-color:var(--color-button-dark);border:none}.btn-secondary:not(:disabled):hover{background-color:var(--color-button-dark-hover)}:root:not([data-theme=light]) .btn-secondary:not(:disabled):hover{background-color:var(--color-button-dark-hover)}.btn-dropdown{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--border-radius-full);padding:8px 10px 8px 12px;height:36px;font-size:var(--font-size-sm);color:#fff;background-color:var(--color-button-dark);border:none;transition:all var(--transition-fast)}[data-theme=light] .btn-dropdown{color:#fff;background-color:var(--color-button-dark);border:none}:root:not([data-theme=light]) .btn-dropdown{color:#fff;background-color:var(--color-button-dark);border:none}.btn-dropdown:not(:disabled):hover{background-color:var(--color-button-dark-hover)}:root:not([data-theme=light]) .btn-dropdown:not(:disabled):hover{background-color:var(--color-button-dark-hover)}.btn-dropdown-icon{width:16px;height:16px;color:var(--color-text-secondary);transition:transform var(--transition-fast)}.btn-dropdown[aria-expanded=true] .btn-dropdown-icon{transform:rotate(180deg)}.btn-ghost{background-color:var(--color-button-dark);color:#fff;padding:8px 14px;border-radius:var(--border-radius-full);border:none}.btn-ghost:not(:disabled):hover{background-color:var(--color-button-dark-hover)}:root:not([data-theme=light]) .btn-ghost:not(:disabled):hover{background-color:var(--color-button-dark-hover)}.btn-sm{height:32px;padding:8px 12px;font-size:var(--font-size-sm)}.btn-md{height:40px;padding:8px 16px;font-size:var(--font-size-md)}.btn-lg{height:48px;padding:12px 20px;font-size:var(--font-size-lg);font-weight:600}.btn-icon{width:40px;height:40px;border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-button-dark);color:#fff}.btn-icon.btn-sm{width:32px;height:32px}.btn-icon.btn-lg{width:48px;height:48px}.btn-full{width:100%}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:not(:disabled):hover{opacity:.9}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:not(:disabled):hover{opacity:.9}.btn-outline{background-color:var(--color-button-dark);color:#fff;border:none}.btn-outline:hover:not(:disabled){background-color:var(--color-button-dark-hover)}.btn-outline:active:not(:disabled){background-color:var(--color-button-dark-active)}.login-btn{width:100%;padding:var(--spacing-md);margin-bottom:var(--spacing-xl);font-size:var(--font-size-md);font-weight:500;background-color:var(--color-button-dark);color:#fff;border-radius:var(--border-radius-md);transition:opacity var(--transition-fast),background-color var(--transition-fast)}.btn-code{background-color:var(--color-button-dark);color:#fff;padding:8px 16px;border-radius:var(--border-radius-full);font-weight:500;border:none}.btn-code:not(:disabled):hover{background-color:var(--color-button-dark-hover)}.btn-code:not(:disabled):active{background-color:var(--color-button-dark-active)}input,textarea{display:flex;width:100%;background-color:var(--color-card-background);border:1px solid var(--color-border);color:var(--color-text-primary);padding:.75rem 1rem;border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-family:var(--font-family-body);line-height:var(--line-height-normal);outline:none;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}select{display:flex;width:100%;background-color:var(--color-card-background);border:1px solid var(--color-border);color:var(--color-text-primary);padding:.75rem 2.5rem .75rem 1rem;border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-family:var(--font-family-body);line-height:var(--line-height-normal);outline:none;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px;cursor:pointer;box-shadow:var(--shadow-sm)}input:hover,select:hover,textarea:hover{border-color:var(--color-border-hover)}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-subtle)}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-gray-100);border-color:var(--color-border)}[data-theme=light] input:disabled,[data-theme=light] select:disabled,[data-theme=light] textarea:disabled{background-color:var(--color-gray-100)}:root:not([data-theme=light]) input:disabled,:root:not([data-theme=light]) select:disabled,:root:not([data-theme=light]) textarea:disabled{background-color:var(--color-gray-800)}input[type=email],input[type=password],input[type=text],input[type=number],input[type=date]{height:3rem}::placeholder{color:var(--color-text-tertiary);opacity:.7}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.form-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.form-error:before{content:"⚠️";font-size:var(--font-size-xs)}.form-check{display:flex;align-items:center;margin-bottom:var(--spacing-sm)}.form-check input[type=checkbox],.form-check input[type=radio]{width:auto;margin-right:var(--spacing-sm)}.form-check label{margin-bottom:0;cursor:pointer}.form-inline{display:flex;align-items:center;gap:var(--spacing-md)}.form-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-row>*{flex:1}.form-help{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.input-sm{height:2rem;padding:.375rem .75rem;font-size:var(--font-size-sm);border-radius:var(--border-radius-sm)}.input-md{height:2.5rem;padding:.5rem 1rem;font-size:var(--font-size-md);border-radius:var(--border-radius-md)}.input-lg{height:3.5rem;padding:.75rem 1.25rem;font-size:var(--font-size-lg);border-radius:var(--border-radius-md)}.input-search{padding-left:2.75rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");background-repeat:no-repeat;background-position:1rem center;background-size:16px}.amount-input{position:relative;display:flex;align-items:center}.amount-input input{padding-left:2rem}.currency-symbol{position:absolute;left:1rem;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);pointer-events:none;z-index:2}.switch{position:relative;display:inline-block;width:44px;height:24px;margin:0}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-border);transition:var(--transition-fast);border-radius:24px}.switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:var(--transition-fast);border-radius:50%}input:checked+.switch-slider{background-color:var(--color-accent)}input:focus+.switch-slider{box-shadow:0 0 0 2px var(--color-accent-subtle)}input:checked+.switch-slider:before{transform:translate(20px)}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.required-field label:after{content:" *";color:var(--color-error)}.input-valid{border-color:var(--color-success)}.input-invalid{border-color:var(--color-error)}.validation-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);pointer-events:none}@media (max-width: 768px){.form-row{flex-direction:column;gap:var(--spacing-sm)}.form-inline{flex-direction:column;align-items:stretch}input[type=email],input[type=password],input[type=text],input[type=number],input[type=date]{font-size:16px}}.card{background-color:var(--color-card-background);border-radius:var(--border-radius-md);border:1px solid var(--color-border);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-theme);transition:background-color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.card-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.card-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);margin:0}.card-body{margin-bottom:var(--spacing-md)}.card-footer{padding-top:var(--spacing-md);margin-top:var(--spacing-md);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--spacing-md)}.card-compact{padding:var(--spacing-md)}.card-borderless{border:none;box-shadow:var(--shadow-md)}.card-elevated{box-shadow:var(--shadow-lg)}.card-flat{box-shadow:none}.card-interactive{cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-columns{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.card-img-top{margin:calc(-1 * var(--spacing-lg)) calc(-1 * var(--spacing-lg)) var(--spacing-md);border-top-left-radius:var(--border-radius-md);border-top-right-radius:var(--border-radius-md);overflow:hidden}.card-img-top img{width:100%;display:block}.login-card{background-color:var(--color-card-background);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);padding:var(--spacing-xl);width:100%;max-width:480px;box-shadow:var(--shadow-theme);transition:background-color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}@media (max-width: 768px){.card{padding:var(--spacing-md)}.card-columns{grid-template-columns:1fr}}.alert{padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);display:flex;align-items:flex-start;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.alert-icon{margin-right:var(--spacing-md);flex-shrink:0}.alert-content{flex:1}.alert-title{font-weight:600;margin-bottom:var(--spacing-xs)}.alert-message{font-size:var(--font-size-sm);margin-bottom:0}.alert-actions{margin-top:var(--spacing-sm);display:flex;gap:var(--spacing-sm)}.alert-dismissible{padding-right:var(--spacing-xl);position:relative}.alert-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);padding:var(--spacing-xs);cursor:pointer;background:transparent;border:none;color:currentColor;opacity:.6}.alert-close:hover{opacity:1}.alert-info{background-color:#5e17eb1a;border:1px solid var(--color-accent);color:var(--color-accent)}.alert-success{background-color:#00c48c1a;border:1px solid var(--color-success);color:var(--color-success)}.alert-error{background-color:#ff4d4d1a;border:1px solid var(--color-error);color:var(--color-error)}.alert-warning{background-color:#ffb8001a;border:1px solid var(--color-warning);color:var(--color-warning)}.alert-compact{padding:var(--spacing-sm);font-size:var(--font-size-sm)}.alert-banner{border-radius:0;margin:0;text-align:center}.alert-toast{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);z-index:1000;max-width:400px;box-shadow:var(--shadow-lg)}.alert-animated{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.custom-btn{display:inline-flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box;min-width:64px;padding:var(--mui-spacing-1) var(--mui-spacing-2);border-radius:4px;font-family:'"Roboto", "Helvetica", "Arial", sans-serif';font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.02857em;line-height:1.75;cursor:pointer;transition:background-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1)}.custom-btn__icon{display:inherit;margin-left:var(--mui-spacing-1);margin-right:-var(--mui-spacing-1)}.custom-btn__icon--left{margin-right:var(--mui-spacing-1);margin-left:-var(--mui-spacing-1)}.custom-btn--primary{background-color:#1976d2;color:#fff}.custom-btn--primary:hover{background-color:#1565c0}.custom-btn--secondary{background-color:#9c27b0;color:#fff}.custom-btn--secondary:hover{background-color:#7b1fa2}.custom-btn--danger{background-color:#d32f2f;color:#fff}.custom-btn--danger:hover{background-color:#ab2424}.custom-btn--outlined{background-color:transparent;border:1px solid #1976d2;color:#1976d2}.custom-btn--outlined:hover{background-color:#1976d20a}.custom-btn--outlined.custom-btn--danger{border-color:#d32f2f;color:#d32f2f}.custom-btn--outlined.custom-btn--danger:hover{background-color:#d32f2f0a}.custom-btn--text{background-color:transparent;color:#1976d2;padding:var(--mui-spacing-1) var(--mui-spacing-1)}.custom-btn--text:hover{background-color:#1976d20a}.custom-btn--text.custom-btn--danger{color:#d32f2f}.custom-btn--text.custom-btn--danger:hover{background-color:#d32f2f0a}.custom-btn--sm{padding:4px var(--mui-spacing-1);font-size:.75rem}.custom-btn--md{padding:var(--mui-spacing-1) var(--mui-spacing-2)}.custom-btn--lg{padding:var(--mui-spacing-2) var(--mui-spacing-3);font-size:1rem}.custom-btn--full{width:100%}.custom-btn--disabled,.custom-btn:disabled{color:#00000061;background-color:#0000001f;cursor:default;pointer-events:none;box-shadow:none}.custom-btn--disabled.custom-btn--outlined,.custom-btn:disabled.custom-btn--outlined{border:1px solid rgba(0,0,0,.12);background-color:transparent}.custom-btn--disabled.custom-btn--text,.custom-btn:disabled.custom-btn--text{background-color:transparent}.custom-btn--loading{position:relative;color:transparent;pointer-events:none}.custom-btn--loading:after{content:"";position:absolute;width:var(--mui-spacing-2);height:var(--mui-spacing-2);border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:spin .3s linear infinite}.form__container{width:100%;display:flex;flex-direction:column;gap:var(--mui-spacing-3)}.form__group{display:flex;flex-direction:column;gap:var(--mui-spacing-2)}.form__field{margin-bottom:var(--mui-spacing-2)}.form__field--required label:after{content:"*";color:var(--mui-error-main);margin-left:4px}.form__field--error input,.form__field--error select,.form__field--error textarea{border-color:var(--mui-error-main)}.form__label{display:block;font-size:var(--mui-font-size-sm);font-weight:var(--mui-font-weight-medium);margin-bottom:4px}.form__input{width:100%;padding:var(--mui-spacing-1);border:1px solid var(--mui-grey-300);border-radius:var(--mui-border-radius-sm);font-family:var(--mui-font-family);font-size:var(--mui-font-size-md)}.form__input:focus{outline:none;border-color:var(--mui-primary-main);box-shadow:0 0 0 1px var(--mui-primary-main)}.form__input--invalid{border-color:var(--mui-error-main)}.form__input--invalid:focus{box-shadow:0 0 0 1px var(--mui-error-main)}.form__input--textarea{min-height:100px;resize:vertical}.form__input--select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--mui-spacing-4);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--mui-spacing-1) center}.form__checkbox,.form__radio{display:flex;align-items:center;margin-bottom:var(--mui-spacing-1);cursor:pointer}.form__checkbox input,.form__radio input{margin-right:var(--mui-spacing-1)}.form__checkbox label,.form__radio label{font-size:var(--mui-font-size-sm);-webkit-user-select:none;user-select:none}.form__helper{font-size:var(--mui-font-size-xs);color:var(--mui-text-secondary);margin-top:4px}.form__error{font-size:var(--mui-font-size-xs);color:var(--mui-error-main);margin-top:4px}.form__actions{display:flex;justify-content:flex-end;gap:var(--mui-spacing-2);margin-top:var(--mui-spacing-3)}.card{background-color:var(--mui-background-paper);border-radius:var(--mui-border-radius-md);box-shadow:var(--mui-elevation-1);overflow:hidden;transition:.3s cubic-bezier(.4,0,.2,1)}.card__header{padding:var(--mui-spacing-2);border-bottom:1px solid var(--mui-grey-200)}.card__title{font-size:1.25rem;font-weight:500;margin:0}.card__subtitle{font-size:.875rem;color:var(--mui-text-secondary);margin-top:4px}.card__content{padding:var(--mui-spacing-2)}.card__footer{padding:var(--mui-spacing-2);border-top:1px solid var(--mui-grey-200);display:flex;justify-content:flex-end;gap:var(--mui-spacing-1)}.card--clickable{cursor:pointer}.card--clickable:hover{box-shadow:var(--mui-elevation-2)}.card--outlined{box-shadow:none;border:1px solid var(--mui-grey-200)}.card--outlined:hover{border-color:var(--mui-primary-main)}.card--compact .card__header,.card--compact .card__content,.card--compact .card__footer{padding:var(--mui-spacing-1)}.card--active{border-left:3px solid var(--mui-primary-main)}.card--warning{border-left:3px solid var(--mui-warning-main)}.card--error{border-left:3px solid var(--mui-error-main)}.card--success{border-left:3px solid var(--mui-success-main)}.card--mui{padding:var(--mui-spacing-2)}.card--mui .card__header{padding:var(--mui-spacing-1) 0;margin-bottom:var(--mui-spacing-1);border-bottom:1px solid var(--mui-grey-200)}.card--mui .card__title{font-size:1rem;font-weight:500;color:var(--mui-text-primary)}.card--mui .card__subtitle{font-size:.875rem;color:var(--mui-text-secondary)}.card--mui .card__content{padding:var(--mui-spacing-1) 0}.card--mui .card__footer{padding:var(--mui-spacing-1) 0;margin-top:var(--mui-spacing-1);border-top:1px solid var(--mui-grey-200)}.card--mui:hover{background-color:#00000005}.card--elevated{box-shadow:var(--mui-elevation-2);background-color:var(--mui-background-paper)}.card--selectable{cursor:pointer;position:relative}.card--selectable.selected{background-color:#1976d214;border-color:#1976d2}.card--selectable .card__checkbox{position:absolute;top:var(--mui-spacing-2);right:var(--mui-spacing-2)}.card--legacy-tile{background:var(--mui-background-paper);border-radius:var(--mui-border-radius-sm);outline:2px solid transparent;outline-offset:-2px;width:100%;height:100%;padding:var(--mui-spacing-2)}.card--legacy-clickable{cursor:pointer;transition:.15s cubic-bezier(.2,0,.38,.9)}.card--legacy-clickable:hover{background-color:#0000000a}.card--legacy-clickable:active{background-color:#00000014}.card--legacy-selectable{position:relative}.custom-card{display:flex;flex-direction:column;height:100%;background-color:var(--mui-background-paper);border-radius:var(--mui-border-radius-md);box-shadow:var(--mui-elevation-1)}.custom-card__header{padding:var(--mui-spacing-3);border-bottom:1px solid var(--mui-grey-200)}.custom-card__title{font-size:1.25rem;font-weight:500;color:var(--mui-text-primary);margin-bottom:var(--mui-spacing-1)}.custom-card__subtitle{font-size:.875rem;color:var(--mui-text-secondary)}.custom-card__content{padding:var(--mui-spacing-3);flex:1}.custom-card__footer{padding:var(--mui-spacing-3);border-top:1px solid var(--mui-grey-200);display:flex;justify-content:flex-end;gap:var(--mui-spacing-2)}.custom-card--clickable{cursor:pointer}.custom-card--clickable:hover{background-color:#0000000a}.custom-card--selectable{position:relative}.custom-card--selectable.selected{background-color:#1976d214}.custom-card--light{background-color:var(--mui-background-paper)}.custom-card__media{width:100%;height:auto}.custom-card__media img{width:100%;height:100%;object-fit:cover}.custom-alert{width:100%;margin-bottom:var(--mui-spacing-3);border-radius:var(--mui-border-radius-sm);padding:var(--mui-spacing-2) var(--mui-spacing-3)}.custom-alert__title{font-family:var(--mui-font-family);font-weight:var(--mui-font-weight-medium);font-size:var(--mui-font-size-md);margin-bottom:var(--mui-spacing-1)}.custom-alert__message{font-family:var(--mui-font-family);font-size:var(--mui-font-size-sm)}.custom-alert__close{padding:var(--mui-spacing-1);margin-left:var(--mui-spacing-2)}.custom-alert--info{background-color:rgba(var(--mui-info-main),.1);color:var(--mui-info-main);border-left:4px solid var(--mui-info-main)}.custom-alert--success{background-color:rgba(var(--mui-success-main),.1);color:var(--mui-success-main);border-left:4px solid var(--mui-success-main)}.custom-alert--warning{background-color:rgba(var(--mui-warning-main),.1);color:var(--mui-warning-main);border-left:4px solid var(--mui-warning-main)}.custom-alert--error{background-color:rgba(var(--mui-error-main),.1);color:var(--mui-error-main);border-left:4px solid var(--mui-error-main)}.custom-alert--toast{position:fixed;top:var(--mui-spacing-3);right:var(--mui-spacing-3);z-index:1400;box-shadow:var(--mui-elevation-2);min-width:250px;max-width:400px}.custom-alert--toast-enter{animation:slideIn .3s ease-out}.custom-alert--toast-exit{animation:slideOut .3s ease-in}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.data-table{width:100%;margin-bottom:var(--mui-spacing-3);border-collapse:collapse;font-family:'"Roboto", "Helvetica", "Arial", sans-serif'}.data-table__container{width:100%;margin-bottom:var(--mui-spacing-3);overflow-x:auto;background-color:var(--mui-background-paper);border-radius:var(--mui-border-radius-sm);box-shadow:var(--mui-elevation-1)}.data-table__header{padding:var(--mui-spacing-3);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(0,0,0,.12)}.data-table__title{font-size:1.25rem;font-weight:500;color:var(--mui-text-primary);margin:0}.data-table__description{font-size:.875rem;color:var(--mui-text-secondary);margin-top:var(--mui-spacing-1)}.data-table__toolbar{padding:var(--mui-spacing-2);display:flex;justify-content:flex-end;align-items:center;gap:var(--mui-spacing-2)}.data-table__batch-actions{display:flex;gap:var(--mui-spacing-1)}.data-table__table{width:100%;border-collapse:collapse}.data-table__head{background-color:#00000005}.data-table__header-row{height:56px}.data-table__header-cell{padding:var(--mui-spacing-2);font-weight:500;color:var(--mui-text-secondary);text-align:left;border-bottom:1px solid rgba(0,0,0,.12)}.data-table__header-cell--sortable{cursor:pointer}.data-table__header-cell--sortable:hover{background-color:#0000000a}.data-table__header-cell--sortable.sorted-asc:after,.data-table__header-cell--sortable.sorted-desc:after{content:"";display:inline-block;width:0;height:0;margin-left:var(--mui-spacing-1);vertical-align:middle;border-right:5px solid transparent;border-left:5px solid transparent}.data-table__header-cell--sortable.sorted-asc:after{border-bottom:5px solid var(--mui-text-secondary)}.data-table__header-cell--sortable.sorted-desc:after{border-top:5px solid var(--mui-text-secondary)}.data-table__row{height:52px;transition:background-color .2s ease}.data-table__row:hover{background-color:#0000000a}.data-table__row--selected{background-color:#1976d214}.data-table__row--clickable{cursor:pointer}.data-table__cell{padding:var(--mui-spacing-2);font-size:.875rem;color:var(--mui-text-primary);border-bottom:1px solid rgba(0,0,0,.12)}.data-table__footer{padding:var(--mui-spacing-2);display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(0,0,0,.12)}.data-table--compact .data-table__header-row{height:48px}.data-table--compact .data-table__row{height:40px}.data-table--compact .data-table__header-cell,.data-table--compact .data-table__cell{padding:var(--mui-spacing-1) var(--mui-spacing-2)}.data-table--sticky-header .data-table__head{position:sticky;top:0;z-index:1}.data-table--hoverable-rows .data-table__row:hover{background-color:#00000014}.data-table--zebra .data-table__row:nth-of-type(odd){background-color:#00000005}.data-table--loading{position:relative}.data-table--loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffffffb3;display:flex;align-items:center;justify-content:center;z-index:1}.MuiTheme-dark .data-table--loading:after{background-color:#000000b3}.loader__container{position:relative;display:flex;align-items:center;justify-content:center}.loader__spinner{width:40px;height:40px;border:4px solid rgba(25,118,210,.2);border-radius:50%;border-top-color:#1976d2;animation:spin .3s linear infinite}.loader__spinner--sm{width:24px;height:24px;border-width:3px}.loader__spinner--lg{width:64px;height:64px;border-width:5px}.loader--inline{display:inline-flex;margin:0 var(--mui-spacing-1)}.loader--overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1300;display:flex;align-items:center;justify-content:center}.loader--container{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffffffb3;z-index:1000;display:flex;align-items:center;justify-content:center}.MuiTheme-dark .loader--container{background-color:#121212b3}.loader__content{display:flex;flex-direction:column;align-items:center;gap:var(--mui-spacing-2)}.loader__text{font-family:'"Roboto", "Helvetica", "Arial", sans-serif';font-size:.875rem;color:var(--mui-text-primary);margin-top:var(--mui-spacing-1)}.loader__linear{width:100%;height:4px;background-color:#1976d233;position:relative;overflow:hidden}.loader__linear:after{content:"";position:absolute;top:0;left:0;height:100%;width:30%;background-color:#1976d2;animation:loading-bar 2s infinite ease-in-out}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loading-bar{0%{left:-30%}50%{left:100%}to{left:-30%}}.dashboard{width:100%}.dashboard__container{width:100%;min-height:calc(100vh - 64px);padding-top:var(--mui-spacing-3);padding-bottom:var(--mui-spacing-3)}@media (min-width: 900px){.dashboard__container{padding-top:var(--mui-spacing-4);padding-bottom:var(--mui-spacing-4)}}.dashboard__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;margin-bottom:var(--mui-spacing-4)}@media (min-width: 900px){.dashboard__header{margin-bottom:var(--mui-spacing-3)}}.dashboard__title-wrapper{flex:1;margin-bottom:var(--mui-spacing-2)}@media (min-width: 900px){.dashboard__title-wrapper{margin-bottom:0}}.dashboard__title{font-size:2rem;font-weight:700;color:var(--mui-text-primary);margin:0}.dashboard__subtitle{font-size:1rem;font-weight:400;color:var(--mui-text-secondary);margin-top:var(--mui-spacing-1)}.dashboard__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:var(--mui-spacing-2)}@media (max-width: 900px){.dashboard__actions{width:100%;justify-content:flex-start;margin-top:var(--mui-spacing-2)}}.dashboard__filters{display:flex;flex-wrap:wrap;margin-bottom:var(--mui-spacing-3);gap:var(--mui-spacing-2)}.dashboard__filters-group{display:flex;align-items:center;flex-wrap:wrap;gap:var(--mui-spacing-1)}.dashboard__content{display:flex;flex-wrap:wrap;margin-bottom:var(--mui-spacing-4)}.dashboard__main{flex:1 1 70%;min-width:0;padding-right:var(--mui-spacing-2)}@media (max-width: 900px){.dashboard__main{flex:1 1 100%;padding-right:0;margin-bottom:var(--mui-spacing-3)}}.dashboard__sidebar{flex:1 1 30%;min-width:300px}@media (max-width: 900px){.dashboard__sidebar{flex:1 1 100%}}.dashboard__section{margin-bottom:var(--mui-spacing-4)}.dashboard__section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--mui-spacing-2)}.dashboard__section-title{font-size:1.25rem;font-weight:500;color:var(--mui-text-primary);margin:0;display:flex;align-items:center;gap:var(--mui-spacing-1)}.dashboard__section-content{width:100%}.dashboard__card-grid{display:flex;flex-wrap:wrap;margin:0-var(--mui-spacing-1);margin-bottom:var(--mui-spacing-3)}.dashboard__card-grid>*{padding:var(--mui-spacing-1)}.dashboard__card-grid--2col>*{flex:0 0 100%}@media (min-width: 900px){.dashboard__card-grid--2col>*{flex:0 0 50%}}.dashboard__card-grid--3col>*{flex:0 0 100%}@media (min-width: 900px){.dashboard__card-grid--3col>*{flex:0 0 50%}}@media (min-width: 1200px){.dashboard__card-grid--3col>*{flex:0 0 33.333%}}.dashboard__card-grid--4col>*{flex:0 0 100%}@media (min-width: 900px){.dashboard__card-grid--4col>*{flex:0 0 50%}}@media (min-width: 1200px){.dashboard__card-grid--4col>*{flex:0 0 25%}}.dashboard__calendar-grid{display:flex;flex-wrap:wrap}.dashboard__calendar-grid-cell{flex:0 0 14.2857142857%;aspect-ratio:1;padding:var(--mui-spacing-1)}.dashboard__calendar-grid-cell--today{background-color:#1976d21a}.dashboard__calendar-grid-cell--has-bills{border-left:3px solid #1976d2}.dashboard__loading{display:flex;justify-content:center;align-items:center;min-height:300px}@media (min-width: 1200px){.dashboard__header{margin-bottom:var(--mui-spacing-4)}}@media (min-width: 900px) and (max-width: 1199px){.dashboard__header{flex-direction:column;align-items:flex-start}.dashboard__actions{margin-top:var(--mui-spacing-2);justify-content:flex-start}}.auth__container{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:var(--mui-spacing-3);background-color:var(--mui-background-default)}.auth__card{width:100%;max-width:400px;padding:var(--mui-spacing-3);margin:var(--mui-spacing-2);border-radius:var(--mui-border-radius-md);background-color:var(--mui-background-paper);box-shadow:var(--mui-elevation-2)}.auth__logo{display:flex;justify-content:center;margin-bottom:var(--mui-spacing-3)}.auth__title{font-size:1.5rem;font-weight:700;text-align:center;color:var(--mui-text-primary);margin-bottom:var(--mui-spacing-2)}.auth__subtitle{font-size:.875rem;text-align:center;color:var(--mui-text-secondary);margin-bottom:var(--mui-spacing-3)}.auth__form{display:flex;flex-direction:column;gap:var(--mui-spacing-2);margin-bottom:var(--mui-spacing-3)}.auth__footnote{font-size:.75rem;text-align:center;color:var(--mui-text-secondary)}.auth__link{color:var(--mui-primary-main);text-decoration:none}.auth__link:hover{color:var(--mui-primary-dark);text-decoration:underline}.auth__alert{margin-bottom:var(--mui-spacing-2)}.auth__alert--error{background-color:var(--mui-error-main);color:var(--mui-error-contrast-text);border-left:3px solid var(--mui-error-dark);padding:var(--mui-spacing-2);border-radius:var(--mui-border-radius-sm);font-size:.875rem;display:flex;align-items:center;gap:var(--mui-spacing-1)}.auth__alert--success{background-color:var(--mui-success-main);color:var(--mui-success-contrast-text);border-left:3px solid var(--mui-success-dark);padding:var(--mui-spacing-2);border-radius:var(--mui-border-radius-sm);font-size:.875rem;display:flex;align-items:center;gap:var(--mui-spacing-1)}.auth__panel-switcher{display:flex;margin-bottom:var(--mui-spacing-3)}.auth__panel-tab{flex:1;text-align:center;padding:var(--mui-spacing-2);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}.auth__panel-tab--active{border-bottom-color:var(--mui-primary-main)}.auth__panel-label{font-size:.875rem;font-weight:500;color:var(--mui-text-secondary)}.auth__divider{display:flex;align-items:center;margin:var(--mui-spacing-3) 0}.auth__divider:before,.auth__divider:after{content:"";flex:1;border-bottom:1px solid var(--mui-grey-300)}.auth__divider-text{padding:0 var(--mui-spacing-1);font-size:.75rem;text-transform:uppercase;color:var(--mui-text-secondary)}.auth__social-buttons{display:flex;flex-direction:column;gap:var(--mui-spacing-2);margin-bottom:var(--mui-spacing-3)}.auth__social-button{display:flex;align-items:center;justify-content:center;gap:var(--mui-spacing-1);padding:var(--mui-spacing-1) 0;border-radius:var(--mui-border-radius-sm);cursor:pointer;transition:background-color .2s;text-decoration:none;color:var(--mui-primary-main)}.auth__social-button:hover{background-color:#0000000a}.auth-divider{display:flex;align-items:center;margin:var(--mui-spacing-3) 0;color:var(--mui-text-secondary)}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--mui-grey-200)}.auth-divider:before{margin-right:var(--mui-spacing-2)}.auth-divider:after{margin-left:var(--mui-spacing-2)}.social-buttons{display:flex;flex-direction:column;gap:var(--mui-spacing-2);margin-bottom:var(--mui-spacing-3)}.auth-footer{margin-top:var(--mui-spacing-3);text-align:center;font-size:.875rem;line-height:1.5}.auth-link{color:var(--mui-primary-main);font-weight:500}.auth-link:hover{text-decoration:underline}a{color:var(--mui-primary-main);text-decoration:none}a:hover{text-decoration:underline}@media (max-width: 600px){.auth__container,.auth__card{padding:var(--mui-spacing-2)}}.transactions__container{width:100%;max-width:1200px;margin:0 auto;padding:var(--mui-spacing-3)}.transactions__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:var(--mui-spacing-4)}.transactions__header-title{flex:1 1 auto}@media (min-width: 900px){.transactions__header-title{flex:1 1 70%}}.transactions__header-title h2{font-size:1.5rem;font-weight:500;color:var(--mui-text-primary);margin:0}.transactions__header-actions{display:flex;justify-content:flex-end;gap:var(--mui-spacing-2);flex:1 1 100%;margin-top:var(--mui-spacing-2)}@media (min-width: 900px){.transactions__header-actions{flex:0 0 auto;margin-top:0}}.transactions__filters{display:flex;flex-wrap:wrap;gap:var(--mui-spacing-2);margin-bottom:var(--mui-spacing-3)}.transactions__filters-group{display:flex;flex-wrap:wrap;gap:var(--mui-spacing-2);align-items:center}@media (max-width: 900px){.transactions__filters-group{width:100%}}.transactions__table-container{width:100%;margin-bottom:var(--mui-spacing-4)}.transactions__table-wrapper{width:100%;background-color:var(--mui-background-paper);border-radius:var(--mui-border-radius-sm);box-shadow:var(--mui-elevation-1);overflow:hidden}.transactions__pagination{display:flex;justify-content:center;margin-top:var(--mui-spacing-3)}@media (min-width: 900px){.transactions__pagination{justify-content:flex-end}}.transactions__empty{width:100%;min-height:300px;display:flex;justify-content:center}.transactions__empty-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--mui-spacing-4);max-width:600px}.transactions__empty-icon{color:var(--mui-text-secondary);margin-bottom:var(--mui-spacing-3);font-size:48px}.transactions__empty-title{font-size:1.25rem;font-weight:500;color:var(--mui-text-primary);margin-bottom:var(--mui-spacing-1)}.transactions__empty-description{font-size:.875rem;color:var(--mui-text-secondary);margin-bottom:var(--mui-spacing-3);max-width:400px}.transactions__loading{width:100%;min-height:300px;display:flex;justify-content:center;align-items:center}.transactions__details{width:100%}.transactions__details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--mui-spacing-3)}.transactions__details-title{font-size:1.25rem;font-weight:500;color:var(--mui-text-primary);margin:0}.transactions__details-content{width:100%;background-color:var(--mui-background-paper);border-radius:var(--mui-border-radius-sm);padding:var(--mui-spacing-3)}.transactions__details-section{margin-bottom:var(--mui-spacing-4)}.transactions__details-section:last-child{margin-bottom:0}.transactions__details-section-title{font-size:1rem;font-weight:500;color:var(--mui-text-primary);margin:0 0 var(--mui-spacing-2)}.transactions__details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--mui-spacing-3)}.transactions__details-field-label{font-size:.75rem;font-weight:500;color:var(--mui-text-secondary);margin-bottom:4px}.transactions__details-field-value{font-size:.875rem;color:var(--mui-text-primary)}.transactions__status{display:inline-flex;align-items:center;padding:4px var(--mui-spacing-1);border-radius:var(--mui-border-radius-sm);font-size:.75rem;font-weight:500}.transactions__status--pending{background-color:#ed6c021a;color:var(--mui-warning-main)}.transactions__status--completed{background-color:#2e7d321a;color:var(--mui-success-main)}.transactions__status--failed{background-color:#d32f2f1a;color:var(--mui-error-main)}.transactions__search{width:100%;max-width:400px}.transactions__dropdown{min-width:150px}.transactions__table{width:100%;border-collapse:collapse}.transactions__amount{font-weight:500;font-family:'"Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace'}.transactions__amount--income{color:var(--mui-success-main)}.transactions__amount--expense{color:var(--mui-error-main)}.transactions-container{width:100%;max-width:1200px;margin:0 auto;padding:var(--mui-spacing-3)}.transactions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--mui-spacing-4)}.transactions-title{font-size:2rem;font-weight:700;margin:0}.transactions-actions{display:flex;gap:var(--mui-spacing-2)}.transactions-filters{display:flex;flex-wrap:wrap;gap:var(--mui-spacing-2);margin-bottom:var(--mui-spacing-3);padding:var(--mui-spacing-3);background-color:var(--mui-background-paper);border-radius:var(--mui-border-radius-md)}.filter-group{display:flex;align-items:center;gap:var(--mui-spacing-1)}.filter-label{font-size:.875rem;color:var(--mui-text-secondary)}.transactions-table{width:100%;border-collapse:collapse;margin-bottom:var(--mui-spacing-4)}.transactions-table th{text-align:left;padding:var(--mui-spacing-2);background-color:var(--mui-grey-100);color:var(--mui-text-primary);font-weight:500;border-bottom:1px solid var(--mui-grey-200)}.transactions-table td{padding:var(--mui-spacing-2);border-bottom:1px solid var(--mui-grey-200)}.transaction-row{transition:background-color .15s ease}.transaction-row:hover{background-color:#0000000a}.transaction-amount{font-family:'"Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace';text-align:right}.transaction-amount.income{color:var(--mui-success-main)}.transaction-amount.expense{color:var(--mui-error-main)}.transaction-date{color:var(--mui-text-secondary);font-size:.875rem}.transaction-category{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:1rem;font-size:.875rem;color:var(--mui-common-white);background-color:var(--mui-primary-main)}.transaction-form{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--mui-spacing-3);margin-bottom:var(--mui-spacing-4)}.form-group{display:flex;flex-direction:column;gap:var(--mui-spacing-1)}.form-group.full{grid-column:span 12}.form-group.half{grid-column:span 6}.form-group.third{grid-column:span 4}.form-group.quarter{grid-column:span 3}.transactions-pagination{display:flex;justify-content:center;align-items:center;gap:var(--mui-spacing-2);margin-top:var(--mui-spacing-3)}.pagination-button{padding:var(--mui-spacing-1) var(--mui-spacing-2);border:1px solid var(--mui-grey-200);background-color:var(--mui-background-default);color:var(--mui-text-primary);border-radius:var(--mui-border-radius-sm);cursor:pointer}.pagination-button:hover:not(.pagination-active){background-color:#0000000a}.pagination-active{background-color:var(--mui-primary-main);color:#fff;border-color:var(--mui-primary-main)}.pagination-disabled{opacity:.5;cursor:not-allowed}@media (max-width: 900px){.transactions-header{flex-direction:column;align-items:flex-start;gap:var(--mui-spacing-2)}.form-group.half,.form-group.third,.form-group.quarter{grid-column:span 12}.transactions-table{display:block;overflow-x:auto}}.households-container{padding:var(--mui-spacing-4);max-width:1400px;margin:0 auto;width:100%}.households-container .households-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--mui-spacing-3)}.households-container .households-header h1{font-size:2rem;font-weight:700;margin-bottom:var(--mui-spacing-2)}.households-container .households-header p{font-size:1rem;line-height:1.5;color:var(--mui-text-secondary)}.households-view-selector{margin:var(--mui-spacing-3) 0}.households-view-selector .view-tabs{display:flex;gap:var(--mui-spacing-2);border-bottom:1px solid var(--mui-grey-200);padding-bottom:var(--mui-spacing-3)}.tab-panel,.households-grid,.household-table-container{margin-top:var(--mui-spacing-3)}.household-table-container .household-table-row{cursor:pointer;transition:background-color .15s}.household-table-container .household-table-row:hover{background-color:#0000000a}.household-table-container .household-actions{display:flex;gap:var(--mui-spacing-2);justify-content:flex-start}.household-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--mui-spacing-5);background-color:var(--mui-background-paper);border-radius:var(--mui-border-radius-md);margin-top:var(--mui-spacing-3)}.household-table-empty p{font-size:1rem;line-height:1.5;margin-bottom:var(--mui-spacing-3);color:var(--mui-text-secondary)}@media (max-width: 900px){.households-container{padding:var(--mui-spacing-3) var(--mui-spacing-2)}.household-table-container{overflow-x:auto}.household-table-container .mui-data-table-container{min-width:800px}}.api-error-message{display:flex;align-items:flex-start;padding:1rem;border-radius:.5rem;background-color:#fef2f2;border:1px solid #fee2e2;margin:1rem 0}.api-error-message .error-icon{margin-right:1rem;flex-shrink:0;color:#dc2626}.api-error-message .error-content{flex:1}.api-error-message .error-content .error-title{font-size:1rem;font-weight:600;margin:0 0 .5rem;color:#b91c1c}.api-error-message .error-content .error-description{font-size:.875rem;margin:0 0 1rem;color:#1f2937}.api-error-message .error-content .error-tracking-id{font-size:.75rem;margin:.5rem 0 0;color:#6b7280}.api-error-message .error-content .error-tracking-id .tracking-id-value{display:inline-block;font-family:monospace;font-weight:600;background-color:#f3f4f6;padding:.125rem .375rem;border-radius:.25rem;margin-left:.5rem;-webkit-user-select:all;user-select:all}.api-error-message .error-content .retry-button{margin-top:1rem;padding:.5rem 1rem;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease}.api-error-message .error-content .retry-button:hover{background-color:#f3f4f6;border-color:#9ca3af}.api-error-message .error-content .retry-button:focus{outline:2px solid #d1d5db;outline-offset:2px}.api-error-message.warning{background-color:#fffbeb;border-color:#fef3c7}.api-error-message.warning .error-icon{color:#d97706}.api-error-message.warning .error-title{color:#b45309}.api-error-message.critical{background-color:#fee2e2;border-color:#fecaca}.api-error-message.critical .error-icon{color:#b91c1c}.api-error-message.critical .error-title{color:#991b1b}:root{--app-background: var(--color-background);--app-layer: var(--color-card-background);--app-text-primary: var(--color-text-primary);--app-text-secondary: var(--color-text-secondary);--app-border-subtle: var(--color-border);--app-interactive: var(--color-accent);--spacing-xs: var(--spacing-xs);--spacing-sm: var(--spacing-sm);--spacing-md: var(--spacing-md);--spacing-lg: var(--spacing-lg);--spacing-xl: var(--spacing-xl);--transition-fast: var(--transition-fast);--transition-medium: var(--transition-normal);--transition-slow: var(--transition-slow);--app-card-shadow: var(--shadow-theme);--app-sidebar-width: 256px;--app-topbar-height: 48px;--app-content-max-width: 1200px}html{transition:background-color var(--transition-normal) ease,color var(--transition-normal) ease}body{font-family:var(--font-family-body);font-size:var(--font-size-md);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);background-color:var(--color-background);color:var(--color-text-primary);min-height:100vh}.content-container{margin-top:var(--app-topbar-height);padding:var(--spacing-md)}.content-container.public{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - var(--app-topbar-height))}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;min-height:300px;padding:var(--spacing-lg);gap:var(--spacing-md)}.loading-container p{font-family:var(--font-family-body);font-size:var(--font-size-md);line-height:var(--line-height-normal);max-width:500px;margin-bottom:var(--spacing-xs)}.loading-container .error-message{font-family:monospace;font-size:var(--font-size-sm);color:var(--color-error);background-color:#ff4c601a;padding:var(--spacing-sm);border-left:4px solid var(--color-error);margin:var(--spacing-md) 0;overflow-wrap:break-word;max-width:100%}.sidebar-theme-switcher{padding:var(--spacing-md);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.full-width{width:100%}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:root{--mui-primary-main: #1976d2;--mui-primary-light: #42a5f5;--mui-primary-dark: #1565c0;--mui-primary-contrast-text: #fff;--mui-secondary-main: #9c27b0;--mui-secondary-light: #ba68c8;--mui-secondary-dark: #7b1fa2;--mui-secondary-contrast-text: #fff;--mui-error-main: #d32f2f;--mui-error-light: #ef5350;--mui-error-dark: #c62828;--mui-error-contrast-text: #fff;--mui-warning-main: #ed6c02;--mui-warning-light: #ff9800;--mui-warning-dark: #e65100;--mui-warning-contrast-text: #fff;--mui-info-main: #0288d1;--mui-info-light: #03a9f4;--mui-info-dark: #01579b;--mui-info-contrast-text: #fff;--mui-success-main: #2e7d32;--mui-success-light: #4caf50;--mui-success-dark: #1b5e20;--mui-success-contrast-text: #fff;--mui-grey-50: #fafafa;--mui-grey-100: #f5f5f5;--mui-grey-200: #eeeeee;--mui-grey-300: #e0e0e0;--mui-grey-400: #bdbdbd;--mui-grey-500: #9e9e9e;--mui-grey-600: #757575;--mui-grey-700: #616161;--mui-grey-800: #424242;--mui-grey-900: #212121;--mui-text-primary: rgba(0, 0, 0, .87);--mui-text-secondary: rgba(0, 0, 0, .6);--mui-text-disabled: rgba(0, 0, 0, .38);--mui-background-default: #ffffff;--mui-background-paper: #ffffff;--mui-action-active: rgba(0, 0, 0, .54);--mui-action-hover: rgba(0, 0, 0, .04);--mui-action-selected: rgba(0, 0, 0, .08);--mui-action-disabled: rgba(0, 0, 0, .26);--mui-action-disabled-background: rgba(0, 0, 0, .12);--mui-elevation-1: 0px 2px 1px -1px rgba(0,0,0,.2), 0px 1px 1px 0px rgba(0,0,0,.14), 0px 1px 3px 0px rgba(0,0,0,.12);--mui-elevation-2: 0px 3px 1px -2px rgba(0,0,0,.2), 0px 2px 2px 0px rgba(0,0,0,.14), 0px 1px 5px 0px rgba(0,0,0,.12);--mui-elevation-4: 0px 2px 4px -1px rgba(0,0,0,.2), 0px 4px 5px 0px rgba(0,0,0,.14), 0px 1px 10px 0px rgba(0,0,0,.12);--mui-elevation-8: 0px 5px 5px -3px rgba(0,0,0,.2), 0px 8px 10px 1px rgba(0,0,0,.14), 0px 3px 14px 2px rgba(0,0,0,.12);--mui-spacing-1: 8px;--mui-spacing-2: 16px;--mui-spacing-3: 24px;--mui-spacing-4: 32px;--mui-spacing-5: 40px;--mui-font-family: "Roboto", "Helvetica", "Arial", sans-serif;--mui-font-size-xs: .75rem;--mui-font-size-sm: .875rem;--mui-font-size-md: 1rem;--mui-font-size-lg: 1.25rem;--mui-font-size-xl: 1.5rem;--mui-font-weight-light: 300;--mui-font-weight-regular: 400;--mui-font-weight-medium: 500;--mui-font-weight-bold: 700;--mui-border-radius-sm: 4px;--mui-border-radius-md: 6px;--mui-border-radius-lg: 8px;--mui-border-radius-xl: 12px;--mui-zindex-drawer: 1200;--mui-zindex-modal: 1300;--mui-zindex-snackbar: 1400;--mui-zindex-tooltip: 1500;--mui-breakpoint-xs: 0;--mui-breakpoint-sm: 600px;--mui-breakpoint-md: 900px;--mui-breakpoint-lg: 1200px;--mui-breakpoint-xl: 1536px}.MuiTheme-dark{--mui-text-primary: rgba(255, 255, 255, .87);--mui-text-secondary: rgba(255, 255, 255, .6);--mui-text-disabled: rgba(255, 255, 255, .38);--mui-background-default: #121212;--mui-background-paper: #1e1e1e;--mui-action-active: rgba(255, 255, 255, .7);--mui-action-hover: rgba(255, 255, 255, .08);--mui-action-selected: rgba(255, 255, 255, .16);--mui-action-disabled: rgba(255, 255, 255, .3);--mui-action-disabled-background: rgba(255, 255, 255, .12)}.layout-container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--mui-spacing-3)}.text-primary{color:var(--mui-text-primary)}.text-secondary{color:var(--mui-text-secondary)}.text-success{color:var(--mui-success-main)}.text-error{color:var(--mui-error-main)}.text-warning{color:var(--mui-warning-main)}.text-info{color:var(--mui-info-main)}.transition-fade{transition:opacity .3s ease}.transition-slide{transition:transform .3s ease}.transition-shadow{transition:box-shadow .3s ease}.legacy-card{background-color:var(--mui-background-paper);border-radius:var(--mui-border-radius-md);box-shadow:var(--mui-elevation-2);padding:var(--mui-spacing-3)}.legacy-button{font-family:'"Roboto", "Helvetica", "Arial", sans-serif';font-weight:500;border-radius:var(--mui-border-radius-sm);transition:background-color .2s,color .2s,box-shadow .2s}.mb-1{margin-bottom:var(--mui-spacing-1)}.mb-2{margin-bottom:var(--mui-spacing-2)}.mb-3{margin-bottom:var(--mui-spacing-3)}.mb-4{margin-bottom:var(--mui-spacing-4)}.mb-5{margin-bottom:var(--mui-spacing-5)}.mt-1{margin-top:var(--mui-spacing-1)}.mt-2{margin-top:var(--mui-spacing-2)}.mt-3{margin-top:var(--mui-spacing-3)}.mt-4{margin-top:var(--mui-spacing-4)}.mt-5{margin-top:var(--mui-spacing-5)}.p-1{padding:var(--mui-spacing-1)}.p-2{padding:var(--mui-spacing-2)}.p-3{padding:var(--mui-spacing-3)}.p-4{padding:var(--mui-spacing-4)}.p-5{padding:var(--mui-spacing-5)}:root{--app-background: var(--color-background);--app-text-primary: var(--color-text-primary);--app-text-secondary: var(--color-text-secondary);--app-interactive: var(--color-accent);--app-primary-button: var(--color-accent);--app-secondary-button: var(--color-accent-subtle);--app-border: var(--color-border);--app-separator: var(--color-border);--app-success: var(--color-success);--app-warning: var(--color-warning);--app-error: var(--color-error);--grid-gutter: var(--spacing-md);--grid-margin: auto;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xlg: 1200px;--breakpoint-max: 1400px}.global-error-container{position:fixed;bottom:var(--spacing-md);right:var(--spacing-md);width:400px;max-width:90vw;z-index:9999;box-shadow:0 4px 12px #00000026;border-radius:.5rem;animation:slide-in .3s ease-out}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}:root{--spacing-page: 2rem;--spacing-section: 1.5rem;--header-height: 4rem;--max-width-content: 1440px;--transition-fast: .15s ease}*{box-sizing:border-box;margin:0;padding:0}html{transition:background-color var(--transition-normal),color var(--transition-normal);font-size:16px}body{margin:0;padding:0;font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:var(--font-weight-normal);font-size:var(--font-size-md);background-color:var(--color-background);color:var(--color-text-primary);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal)}p{margin-bottom:1rem;max-width:65ch}small{font-size:var(--font-size-xs)}strong,b{font-weight:var(--font-weight-semibold)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--spacing-md);max-width:40ch}h1{font-size:var(--font-size-xxl);letter-spacing:var(--letter-spacing-tight);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg)}h2{font-size:var(--font-size-xl);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-lg);letter-spacing:var(--letter-spacing-tight)}h4{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}h5,h6{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);font-weight:var(--font-weight-bold);color:var(--color-text-secondary)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-center{text-align:center}.text-right{text-align:right}.text-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-logo{display:flex;align-items:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);color:var(--color-text-primary);font-family:var(--font-family-heading);letter-spacing:var(--letter-spacing-tight)}.app-logo-icon{height:40px;width:40px;margin-right:var(--spacing-sm);background-image:url(/assets/logo-D3UkkQnw.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center}a{color:var(--color-accent);text-decoration:none;font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}a:hover{color:var(--color-accent-hover);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;text-decoration:none}button,input,select,textarea{font-family:var(--font-family-body);font-size:var(--font-size-md);line-height:var(--line-height-normal)}label{font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs);display:inline-block}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.theme-toggle{display:flex;align-items:center;cursor:pointer;margin-right:var(--spacing-md)}.theme-toggle-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:color var(--transition-fast)}.theme-toggle:hover .theme-toggle-icon{color:var(--color-text-primary)}@media (max-width: 768px){html{font-size:15px}h1{font-size:calc(var(--font-size-xl) + 2px)}h2{font-size:var(--font-size-lg)}}body{margin:0;padding:0;font-family:Roboto,Helvetica,Arial,sans-serif}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;background-color:var(--color-background);color:var(--color-text-primary);padding:var(--spacing-lg);text-align:center}.loading-spinner{margin:var(--spacing-lg) auto;border:4px solid var(--color-border);border-top:4px solid var(--color-accent);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
