:root{--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--z-toast:800;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--transition-slower:500ms ease;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}[data-theme=dark],[data-theme=true-black]{--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003;--shadow-lg:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003;--shadow-xl:0 20px 25px -5px #0006,0 10px 10px -5px #0003}:root{--color-personal:#3b82f6;--color-personal-bg:#3b82f61a;--color-personal-bg-hover:#3b82f626;--color-personal-border:#3b82f64d;--color-household:#22c55e;--color-household-bg:#22c55e1a;--color-household-bg-hover:#22c55e26;--color-household-border:#22c55e4d}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.gap-0{gap:0}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--primary-color)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-danger{color:var(--danger-color)}.underline{text-decoration:underline}.no-underline{text-decoration:none}.line-through{text-decoration:line-through}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.whitespace-nowrap{white-space:nowrap}.whitespace-normal{white-space:normal}.break-words{word-wrap:break-word;overflow-wrap:break-word}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-bottom:auto}.mt-auto,.my-auto{margin-top:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mr-0{margin-right:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.py-xs{padding-bottom:var(--spacing-xs);padding-top:var(--spacing-xs)}.py-sm{padding-bottom:var(--spacing-sm);padding-top:var(--spacing-sm)}.py-md{padding-bottom:var(--spacing-md);padding-top:var(--spacing-md)}.py-lg{padding-bottom:var(--spacing-lg);padding-top:var(--spacing-lg)}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.grid{display:grid}.visible{visibility:visible}.invisible{visibility:hidden}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:-webkit-fit-content;width:fit-content}.min-w-0{min-width:0}.max-w-full{max-width:100%}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:-webkit-sticky;position:sticky}.static{position:static}.inset-0{bottom:0;left:0;right:0;top:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.border{border:1px solid var(--border-color)}.border-0{border:0}.border-t{border-top:1px solid var(--border-color)}.border-b{border-bottom:1px solid var(--border-color)}.border-l{border-left:1px solid var(--border-color)}.border-r{border-right:1px solid var(--border-color)}.rounded{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.rounded-none{border-radius:0}.bg-transparent{background-color:initial}.bg-surface{background-color:var(--surface-color)}.bg-background{background-color:var(--background-color)}.bg-primary{background-color:var(--primary-color)}.bg-success{background-color:var(--success-color)}.bg-warning{background-color:var(--warning-color)}.bg-danger{background-color:var(--danger-color)}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.transition-none{transition:none}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.not-sr-only{clip:auto;height:auto;margin:0;overflow:visible;padding:0;position:static;white-space:normal;width:auto}.focus-ring:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.z-0{z-index:0}.z-10{z-index:10}.z-dropdown{z-index:var(--z-dropdown)}.z-sticky{z-index:var(--z-sticky)}.z-fixed{z-index:var(--z-fixed)}.z-modal-backdrop{z-index:var(--z-modal-backdrop)}.z-modal{z-index:var(--z-modal)}.z-popover{z-index:var(--z-popover)}.z-tooltip{z-index:var(--z-tooltip)}.z-toast{z-index:var(--z-toast)}.list-none{list-style:none}.list-disc{list-style:disc}.list-decimal{list-style:decimal}.sidebar-layout{display:flex;gap:var(--spacing-xl);margin:0 auto;max-width:1400px;min-height:calc(100vh - 80px);padding:var(--spacing-xl)}.sidebar-layout__nav{flex-shrink:0;width:280px}.sidebar-layout__nav--narrow{width:220px}.sidebar-layout__nav--wide{width:320px}.sidebar-layout__nav-inner{position:-webkit-sticky;position:sticky;top:var(--spacing-xl)}.sidebar-layout__nav-header{margin-bottom:var(--spacing-sm);padding:var(--spacing-md)}.sidebar-layout__nav-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.sidebar-layout__nav-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin:var(--spacing-xs) 0 0 0}.sidebar-layout__nav-list{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;margin:0;padding:0}.sidebar-layout__nav-section{margin-top:var(--spacing-md)}.sidebar-layout__nav-section:first-child{margin-top:0}.sidebar-layout__nav-section-title{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;margin-bottom:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);text-transform:uppercase}.sidebar-layout__content{flex:1 1;min-width:0}.sidebar-layout__content-header{margin-bottom:var(--spacing-xl)}.sidebar-layout__content-title{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--spacing-xs) 0}.sidebar-layout__content-description{color:var(--text-secondary);font-size:var(--text-base);margin:0}.sidebar-layout__section{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-xl)}.sidebar-layout__section:last-child{margin-bottom:0}.sidebar-layout__section-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--spacing-md) 0}.sidebar-layout__section-description{color:var(--text-secondary);font-size:var(--text-sm);margin:0 0 var(--spacing-lg) 0}@media (max-width:1024px){.sidebar-layout{flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg)}.sidebar-layout__nav,.sidebar-layout__nav--narrow,.sidebar-layout__nav--wide{width:100%}.sidebar-layout__nav-inner{position:static}.sidebar-layout__nav-list{-webkit-overflow-scrolling:touch;flex-direction:row;gap:var(--spacing-xs);overflow-x:auto;padding-bottom:var(--spacing-xs);scrollbar-width:thin}.sidebar-layout__nav-list::-webkit-scrollbar{height:4px}.sidebar-layout__nav-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}}@media (max-width:768px){.sidebar-layout{gap:var(--spacing-md);padding:var(--spacing-md)}.sidebar-layout__section{border-radius:var(--radius-md);padding:var(--spacing-lg)}.sidebar-layout__content-title{font-size:var(--text-xl)}}@media (max-width:480px){.sidebar-layout{padding:var(--spacing-sm)}.sidebar-layout__section{margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.sidebar-layout__nav-section-title{display:none}}.sidebar-layout--mobile-menu{gap:0;min-height:calc(100vh - 60px);padding:0}.sidebar-layout__mobile-menu{background:var(--background-color);display:flex;flex-direction:column;min-height:calc(100vh - 60px);width:100%}.sidebar-layout__mobile-header{background:var(--surface-color);border-bottom:1px solid var(--border-color);padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-lg)}.sidebar-layout__mobile-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0}.sidebar-layout__mobile-list{display:flex;flex-direction:column;padding:var(--spacing-sm) 0}.sidebar-layout__mobile-item{align-items:center;background:var(--surface-color);border:none;border-bottom:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:var(--spacing-md);padding:var(--spacing-lg);text-align:left;transition:background-color .15s ease;width:100%}.sidebar-layout__mobile-item:first-child{border-top:1px solid var(--border-color)}.sidebar-layout__mobile-item:hover{background:var(--background-color)}.sidebar-layout__mobile-item:active{background:var(--background-hover)}.sidebar-layout__mobile-item.active{color:var(--primary-color)}.sidebar-layout__mobile-item svg{color:var(--text-secondary);flex-shrink:0}.sidebar-layout__mobile-item.active svg{color:var(--primary-color)}.sidebar-layout__mobile-item span{flex:1 1}.sidebar-layout__mobile-item .chevron{color:var(--text-tertiary);margin-left:auto}.sidebar-layout__mobile-content{background:var(--background-color);display:flex;flex-direction:column;min-height:calc(100vh - 60px);width:100%}.sidebar-layout__mobile-back{align-items:center;background:var(--surface-color);border:none;border-bottom:1px solid var(--border-color);color:var(--primary-color);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);text-align:left;transition:background-color .15s ease;width:100%}.sidebar-layout__mobile-back:hover{background:var(--background-color)}.sidebar-layout__mobile-back .back-icon{transform:rotate(180deg)}.sidebar-layout__mobile-content .sidebar-layout__content{flex:1 1;padding:var(--spacing-lg)}@media (min-width:1025px){.sidebar-layout__mobile-back,.sidebar-layout__mobile-content,.sidebar-layout__mobile-menu{display:none}.sidebar-layout--mobile-menu{gap:var(--spacing-xl);min-height:calc(100vh - 80px);padding:var(--spacing-xl)}}.page-layout{margin:0 auto;max-width:1400px;padding:var(--spacing-xl)}.page-layout--narrow{max-width:800px}.page-layout--wide{max-width:1600px}.page-layout--full{max-width:none}.page-layout__header{margin-bottom:var(--spacing-xl)}.page-layout__header--with-actions{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:space-between}.page-layout__title-group{flex:1 1;min-width:200px}.page-layout__title{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0 0 var(--spacing-xs) 0}.page-layout__subtitle{color:var(--text-secondary);font-size:var(--text-base);margin:0}.page-layout__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-sm)}.page-section{margin-bottom:var(--spacing-xl)}.page-section:last-child{margin-bottom:0}.page-section__header{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-lg)}.page-section__title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.page-section__actions{align-items:center;display:flex;gap:var(--spacing-sm)}.content-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.content-card--compact{padding:var(--spacing-lg)}.content-card--flush{padding:0}.content-card__header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.content-card--flush .content-card__header{margin-bottom:0;padding:var(--spacing-lg)}.content-card__title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.content-card--flush .content-card__body{padding:var(--spacing-lg)}.content-card__footer{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.content-card--flush .content-card__footer{margin-top:0;padding:var(--spacing-lg)}.page-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg)}.page-grid--2{grid-template-columns:repeat(2,1fr)}.page-grid--3{grid-template-columns:repeat(3,1fr)}.page-grid--4{grid-template-columns:repeat(4,1fr)}.page-grid--auto{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.page-grid--auto-sm{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:1024px){.page-layout{padding:var(--spacing-lg)}.page-grid--3,.page-grid--4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.page-layout{padding:var(--spacing-md)}.page-layout__header--with-actions{align-items:stretch;flex-direction:column}.page-layout__actions{justify-content:flex-start}.page-layout__title{font-size:var(--text-xl)}.content-card{border-radius:var(--radius-md);padding:var(--spacing-lg)}.page-grid--2,.page-grid--3,.page-grid--4{grid-template-columns:1fr}}@media (max-width:480px){.page-layout{padding:var(--spacing-sm)}.content-card{padding:var(--spacing-md)}.content-card--compact{padding:var(--spacing-sm)}.page-section__header{align-items:flex-start;flex-direction:column}}.nav-tabs{display:flex;gap:var(--spacing-xs)}.nav-tabs--contained{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-xs)}.nav-tabs--vertical{background:#0000;border:none;flex-direction:column;padding:0}.nav-tabs--vertical .nav-tab{border-radius:var(--radius-md);justify-content:flex-start;padding:var(--spacing-sm) var(--spacing-md);width:100%}.nav-tabs--horizontal{-webkit-overflow-scrolling:touch;flex-direction:row;overflow-x:auto;scrollbar-width:none}.nav-tabs--horizontal::-webkit-scrollbar{display:none}.nav-tabs--underline{background:#0000;border:none;border-bottom:1px solid var(--border-color);border-radius:0;gap:0;padding:0}.nav-tabs--underline .nav-tab{border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:var(--spacing-sm) var(--spacing-md)}.nav-tabs--underline .nav-tab:hover{background:#0000;border-bottom-color:var(--border-color)}.nav-tabs--underline .nav-tab.active{background:#0000;border-bottom-color:var(--primary-color);color:var(--primary-color)}.nav-tabs--pills{background:#0000;border:none;gap:var(--spacing-sm);padding:0}.nav-tabs--pills .nav-tab{border-radius:var(--radius-full);padding:var(--spacing-xs) var(--spacing-md)}.nav-tab{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--spacing-sm);line-height:1.4;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.nav-tab:hover{background:var(--background-color);color:var(--text-primary)}.nav-tab:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.nav-tab.active{background:var(--primary-color);color:#fff}.nav-tab.active:hover{background:var(--primary-hover);color:#fff}.nav-tab.disabled,.nav-tab:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.nav-tab svg,.nav-tab__icon{flex-shrink:0;height:18px;width:18px}.nav-tab--icon-only{padding:var(--spacing-sm)}.nav-tab--icon-only svg{height:20px;width:20px}.nav-tab__badge{background:var(--background-color);border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);line-height:1.4;margin-left:auto;padding:2px 8px}.nav-tab.active .nav-tab__badge{background:#fff3;color:#fff}.nav-tab__badge--success{background:#10b98126;color:var(--success-color)}.nav-tab__badge--warning{background:#f59e0b26;color:var(--warning-color)}.nav-tab__badge--danger{background:#ef444426;color:var(--danger-color)}.nav-tab.active .nav-tab__badge--danger,.nav-tab.active .nav-tab__badge--success,.nav-tab.active .nav-tab__badge--warning{background:#fff3;color:#fff}.nav-tab__content{align-items:flex-start;display:flex;flex-direction:column;gap:2px;text-align:left}.nav-tab__label{font-weight:var(--font-medium)}.nav-tab__description{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-normal)}.nav-tab.active .nav-tab__description{color:#fffc}.nav-tabs--sm .nav-tab{font-size:var(--text-xs);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.nav-tabs--sm .nav-tab svg{height:14px;width:14px}.nav-tabs--lg .nav-tab{font-size:var(--text-base);padding:var(--spacing-md) var(--spacing-lg)}.nav-tabs--lg .nav-tab svg{height:20px;width:20px}@media (max-width:1024px){.nav-tabs--vertical{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:row;overflow-x:auto;padding:var(--spacing-xs)}.nav-tabs--vertical .nav-tab{flex-shrink:0;width:auto}}@media (max-width:768px){.nav-tabs--vertical .nav-tab{padding:var(--spacing-sm) var(--spacing-md)}.nav-tabs--vertical.nav-tabs--collapse-labels .nav-tab__content,.nav-tabs--vertical.nav-tabs--collapse-labels .nav-tab__label{display:none}.nav-tabs--vertical.nav-tabs--collapse-labels .nav-tab svg{height:20px;width:20px}.nav-tabs--vertical.nav-tabs--collapse-labels .nav-tab__badge{margin-left:0}}@media (max-width:480px){.nav-tabs--horizontal .nav-tab,.nav-tabs--vertical .nav-tab{font-size:var(--text-xs);padding:var(--spacing-xs) var(--spacing-sm)}.nav-tab svg{height:16px;width:16px}}.form-row{margin-bottom:var(--spacing-md)}.form-row-3{grid-gap:var(--spacing-md);grid-template-columns:1fr 1fr 1fr}.form-row-3,.form-row-4{display:grid;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-row-4{grid-gap:var(--spacing-md);grid-template-columns:1fr 1fr 1fr 1fr}.form-group,.form-group-inline{margin-bottom:var(--spacing-sm)}.form-group-inline{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-sm)}.form-group-grid{display:block;margin-bottom:0}.form-group label,.form-group-grid label{color:var(--text-primary);font-size:.9rem;font-weight:500}.form-group-grid>label:first-child{display:block;margin-bottom:var(--spacing-sm)}.form-group input,.form-group select,.form-group textarea,.form-group-grid input,.form-group-grid select,.form-group-grid textarea,.form-select{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-family:inherit;font-size:1rem;padding:var(--spacing-md);transition:border-color .2s;width:100%}.form-group input[type=date],.form-group-grid input[type=date]{cursor:pointer;position:relative}.form-group input[type=date]::-webkit-calendar-picker-indicator,.form-group-grid input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(0);filter:invert(var(--calendar-icon-invert,0));margin-left:auto;opacity:.6;padding:4px}[data-theme=dark] .form-group input[type=date]::-webkit-calendar-picker-indicator,[data-theme=dark] .form-group-grid input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1)}.form-group input[type=date]::-webkit-calendar-picker-indicator:hover,.form-group-grid input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.form-group-grid input:focus,.form-group-grid select:focus,.form-group-grid textarea:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled,.form-group-grid input:disabled,.form-group-grid select:disabled,.form-group-grid textarea:disabled,.form-select:disabled{cursor:not-allowed;opacity:.6}.form-group textarea,.form-group-grid textarea{min-height:80px;resize:vertical}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper input,.input-wrapper select,.input-wrapper textarea{flex:1 1}.input-wrapper .required-indicator{color:var(--danger-color);font-size:1.1rem;font-weight:700;pointer-events:none;position:absolute;right:var(--spacing-md);-webkit-user-select:none;user-select:none}.input-wrapper select+.required-indicator{right:calc(var(--spacing-md) + 24px)}.input-wrapper input:not(:placeholder-shown)+.required-indicator,.input-wrapper select:not([value=""]):valid+.required-indicator,.input-wrapper textarea:not(:placeholder-shown)+.required-indicator{display:none}.form-error{background-color:#ef44441a;margin-bottom:var(--spacing-md)}form.submitting .form-group{opacity:.7;pointer-events:none}.input-disabled{background-color:var(--background-color)!important}.password-display-container{margin:var(--spacing-md) 0}.password-display-label{color:var(--text-primary);display:block;font-size:.9rem;font-weight:500;margin-bottom:var(--spacing-sm)}.password-display{align-items:center;display:flex;gap:var(--spacing-xs)}.password-display-input{color:var(--text-primary);flex:1 1;font-family:Courier New,monospace;font-size:1rem;padding:var(--spacing-md)}.password-copy-btn,.password-display-input,.password-generate-btn,.password-toggle-btn{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm)}.password-copy-btn,.password-generate-btn,.password-toggle-btn{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-sm);transition:all .2s}.password-copy-btn:hover,.password-generate-btn:hover,.password-toggle-btn:hover{background-color:var(--surface-color);border-color:var(--primary-color);color:var(--primary-color)}.copy-success{color:var(--success-color);display:block;font-size:.85rem;margin-top:var(--spacing-xs)}.password-warning{background-color:#f59e0b1a;border:1px solid var(--warning-color);border-radius:var(--border-radius-sm);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.password-warning p{color:var(--text-primary);font-size:.85rem;font-weight:600;margin:0 0 var(--spacing-xs) 0}.password-warning ul{margin:0;padding-left:var(--spacing-lg)}.password-warning li{color:var(--text-secondary);font-size:.8rem;line-height:1.4;margin-bottom:2px}.password-requirements{padding:var(--spacing-sm) var(--spacing-md)}.requirements-title{color:var(--text-primary);font-size:.85rem;font-weight:600;margin:0 0 var(--spacing-xs) 0}.requirements-list{list-style:none;margin:0;padding:0}.requirements-list li{font-size:.8rem;line-height:1.4;margin-bottom:2px;padding-left:var(--spacing-md);position:relative}.requirements-list li:last-child{margin-bottom:0}.requirements-list li:before{content:"✓";font-weight:700;left:0;position:absolute}.requirements-list li.valid,.requirements-list li.valid:before{color:var(--success-color)}.requirements-list li.invalid{color:var(--text-secondary)}.requirements-list li.invalid:before{color:var(--text-secondary);content:"○"}.reminder-popup{animation:slideDown .15s ease;border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);left:0;min-width:200px;padding:var(--spacing-md);top:calc(100% + 8px);z-index:100}.reminder-popup,.reminder-popup:before{background:var(--surface-color);position:absolute}.reminder-popup:before{border-left:1px solid var(--border-color);border-top:1px solid var(--border-color);content:"";height:12px;left:20px;top:-6px;transform:rotate(45deg);width:12px}.inline-reminder-control{align-items:center;display:flex;flex-wrap:nowrap;gap:var(--spacing-sm)}.inline-reminder-control .checkbox-label{margin-bottom:0;white-space:nowrap}.reminder-separator{color:var(--text-tertiary);font-weight:500;-webkit-user-select:none;user-select:none}.inline-reminder-select{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.9rem;min-width:140px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.inline-reminder-select:focus{box-shadow:0 0 0 3px #2563eb1a;outline:none}.inline-reminder-select:focus,.inline-reminder-select:hover{border-color:var(--primary-color)}.icon-upload-container{align-items:stretch;display:flex}.icon-upload-button{align-items:center;background:var(--background-color);border-style:solid;border:1px dashed var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;flex-direction:row;font-size:1rem;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-md);transition:all .2s;width:100%}.icon-upload-button:hover{background:var(--surface-color);border-color:var(--primary-color)}.icon-upload-button span{color:var(--text-secondary);font-size:.9rem;font-weight:500}.icon-preview{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);display:flex;justify-content:center;min-height:0;padding:var(--spacing-md);position:relative;width:100%}.icon-preview img{height:1rem;max-width:calc(100% - var(--spacing-md)*2);object-fit:contain}.icon-remove-btn{align-items:center;background:var(--danger-color);border:2px solid var(--surface-color);border-radius:50%;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:-8px;top:-8px;transition:all .2s;width:24px}.icon-remove-btn:hover{background:#dc2626;transform:scale(1.1)}.icon-remove-btn:disabled{cursor:not-allowed;opacity:.5}.add-card-image-btn{align-items:center;background:var(--background-color);border:2px dashed var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-md);transition:all .2s;width:100%}.add-card-image-btn:hover{background:#2563eb0d;border-color:var(--primary-color);color:var(--primary-color)}.add-card-image-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:600px){.form-row-3,.form-row-4{grid-template-columns:1fr 1fr}.form-group{margin-bottom:var(--spacing-sm)}.form-group label{color:var(--text-secondary);font-size:.7rem;letter-spacing:.3px;margin-bottom:2px;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{font-size:.9rem;padding:8px 10px}.form-group textarea{min-height:50px}.form-error{font-size:.8rem;margin-bottom:var(--spacing-sm);padding:8px 10px}.image-upload-area{margin-top:2px}.image-upload-label,.upload-placeholder{padding:var(--spacing-sm)}.upload-placeholder{gap:4px}.upload-placeholder svg{height:20px;width:20px}.upload-placeholder span{font-size:.8rem}.upload-placeholder small{font-size:.7rem}.image-preview-container{max-height:80px}.card-image-preview{max-height:60px}}.checkbox-label input[type=checkbox]:checked:after{border-bottom:2px solid var(--primary-text-color,#fff);border-left:0 solid var(--primary-text-color,#fff);border-right:2px solid var(--primary-text-color,#fff);border-top:0 solid var(--primary-text-color,#fff)}.ownership-option{text-align:left;transition:all .2s}.ownership-option:hover:not(:disabled):not(.disabled){background:var(--surface-color);border-color:var(--primary-color)}.ownership-option.disabled,.ownership-option:disabled{cursor:not-allowed;opacity:.6}.ownership-option svg{color:var(--text-secondary);flex-shrink:0}.ownership-option.active svg{color:var(--primary-color)}.ownership-option .ownership-label{font-weight:600}.ownership-locked-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ownership-locked-badge{align-items:center;border-radius:var(--border-radius-sm);display:inline-flex;font-size:.9rem;font-weight:600;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);width:-webkit-fit-content;width:fit-content}.ownership-locked-badge.personal{background:var(--color-personal-bg);color:var(--color-personal)}.ownership-locked-badge.household{background:var(--color-household-bg);color:var(--color-household)}.ownership-locked-hint{color:var(--text-secondary);font-size:.8rem;font-style:italic;margin:0}.toggle-row{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);display:flex;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-md)}.toggle-row-label{display:flex;flex-direction:column;gap:2px}.toggle-row-label span:first-child{color:var(--text-primary);font-weight:500}.toggle-row-label span:last-child:not(:first-child){color:var(--text-secondary);font-size:.85rem}.invite-method-section{margin-bottom:var(--spacing-md)}.invite-method-section .section-label{color:var(--text-primary);display:block;font-size:.9rem;font-weight:500;margin-bottom:var(--spacing-sm)}.invite-method-card,.invite-method-options{display:flex;gap:var(--spacing-md)}.invite-method-card{align-items:flex-start;background:var(--background-color);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;flex:1 1;padding:var(--spacing-md);transition:all .2s}.invite-method-card:hover{background:var(--surface-color);border-color:var(--primary-color)}.invite-method-card.selected{background:#2563eb14;border-color:var(--primary-color)}.invite-method-card input[type=radio]{display:none}.invite-method-card svg{color:var(--text-secondary);flex-shrink:0;margin-top:2px}.invite-method-card.selected svg{color:var(--primary-color)}.invite-method-info{display:flex;flex-direction:column;gap:4px}.invite-method-info strong{color:var(--text-primary);font-size:.95rem}.invite-method-card.selected .invite-method-info strong{color:var(--primary-color)}.invite-method-card.disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.invite-method-card.disabled:hover{background:var(--background-color);border-color:var(--border-color)}.invite-method-card.disabled.selected{background:#2563eb14;border-color:var(--primary-color)}.invite-method-section.disabled .section-label{opacity:.6}.invite-method-info span{color:var(--text-secondary);font-size:.8rem}@media (max-width:600px){.ownership-toggle{flex-direction:column;gap:var(--spacing-xs)}.ownership-option{gap:var(--spacing-sm);padding:8px 12px}.ownership-option svg{height:16px;width:16px}.ownership-option .ownership-label{font-size:.85rem}.ownership-option .ownership-desc{font-size:.7rem}.ownership-locked-info{gap:4px;margin-bottom:var(--spacing-xs)}.ownership-locked-badge{font-size:.8rem;gap:6px;padding:4px 8px}.ownership-locked-badge svg{height:14px;width:14px}.ownership-locked-hint{font-size:.7rem;margin:0}.invite-method-options{flex-direction:column;gap:var(--spacing-sm)}.invite-method-card{padding:var(--spacing-sm) var(--spacing-md)}.invite-method-card svg{height:20px;width:20px}.invite-method-info strong{font-size:.9rem}.invite-method-info span{font-size:.75rem}}.badge{border-radius:12px;font-size:.75rem;font-weight:600;gap:4px;line-height:1;padding:4px 10px}.badge--primary,.badge.primary{background:var(--color-personal-bg-hover);color:var(--color-personal)}.badge--success,.badge.success{background:var(--color-household-bg-hover);color:var(--color-household)}.badge--warning,.badge.warning{background:#f59e0b26;color:#f59e0b}.badge--danger,.badge.danger{background:#ef444426;color:#ef4444}.badge--info,.badge.info{background:#06b6d426;color:#06b6d4}.badge--neutral,.badge.neutral{background:var(--background-color);border:1px solid var(--border-color);color:var(--text-secondary)}.badge--sm,.badge.sm{font-size:.65rem;padding:2px 6px}.badge--lg,.badge.lg{font-size:.85rem;padding:6px 14px}.badge--icon{border-radius:50%;height:24px;justify-content:center;padding:0;width:24px}.badge--personal,.badge.personal{background:var(--color-personal-bg-hover);color:var(--color-personal)}.badge--household,.badge.household{background:var(--color-household-bg-hover);color:var(--color-household)}.status-badge{border-radius:12px;font-size:.8rem;gap:6px}.status-badge--paid,.status-badge.paid{background:var(--color-household-bg-hover);color:var(--color-household)}.status-badge--pending,.status-badge.pending{background:#f59e0b26;color:#f59e0b}.status-badge--overdue,.status-badge.overdue{background:#ef444426;color:#ef4444}.status-badge--upcoming,.status-badge.upcoming{background:var(--color-personal-bg-hover);color:var(--color-personal)}.status-badge--inactive,.status-badge.inactive{background:#6b728026;color:#6b7280}.income-item-badges{display:flex;gap:4px}.income-item-badges .badge{border-radius:4px;font-size:.65rem;font-weight:500;padding:2px 6px}.income-item-badges .badge.owner{background:var(--color-personal-bg-hover);color:var(--color-personal)}.income-item-badges .badge.inactive{background:#ef444426;color:#ef4444}.income-item-badges .badge.shared{align-items:center;background:var(--color-household-bg-hover);color:var(--color-household);display:flex;gap:3px}.count-badge{align-items:center;background:var(--background-color);border-radius:10px;color:var(--text-secondary);display:inline-flex;font-size:.7rem;height:20px;justify-content:center;min-width:20px;padding:0 6px}.count-badge.active{background:var(--primary-color);color:#fff}.count-badge.warning{background:#f59e0b26;color:#f59e0b}.count-badge.danger{background:#ef444426;color:#ef4444}.info-box{align-items:flex-start;background:#3b82f614;border:1px solid #3b82f64d;border-radius:var(--border-radius);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.info-box svg{color:var(--primary-color);flex-shrink:0;margin-top:2px}.info-box strong{color:var(--primary-color);display:block;font-size:.9rem;margin-bottom:4px}.info-box p{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0}.info-box.disabled{opacity:.6}.warning-box{align-items:flex-start;background:#f59e0b14;border:1px solid #f59e0b4d;border-radius:var(--border-radius);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.warning-box svg{color:var(--warning-color);flex-shrink:0;margin-top:2px}.warning-box strong{color:var(--warning-color);display:block;font-size:.9rem;margin-bottom:4px}.warning-box p{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0}.success-box{align-items:flex-start;background:#22c55e14;border:1px solid #22c55e4d;border-radius:var(--border-radius);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.success-box svg{color:var(--success-color);flex-shrink:0;margin-top:2px}.success-box strong{color:var(--success-color);display:block;font-size:.9rem;margin-bottom:4px}.success-box p{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0}.error-box{align-items:flex-start;background:#ef444414;border:1px solid #ef44444d;border-radius:var(--border-radius);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.error-box svg{color:var(--danger-color);flex-shrink:0;margin-top:2px}.error-box strong{color:var(--danger-color);display:block;font-size:.9rem;margin-bottom:4px}.error-box p{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0}@media (max-width:600px){.error-box,.info-box,.success-box,.warning-box{padding:var(--spacing-sm) var(--spacing-md)}.error-box svg,.info-box svg,.success-box svg,.warning-box svg{height:18px;width:18px}}.btn-with-loader{gap:var(--spacing-sm);justify-content:center;min-width:120px}.btn-with-loader,.inline-loader{align-items:center;display:inline-flex}.inline-loader{color:var(--text-secondary);font-size:.875rem;gap:var(--spacing-xs)}.inline-loader svg{animation:spin 1s linear infinite}.modal-loading{pointer-events:auto;position:relative}.modal-loading .modal-body{opacity:.6;pointer-events:none}.modal-loading-overlay{align-items:center;background:#fffc;background:rgba(var(--surface-rgb,255,255,255),.8);border-radius:var(--border-radius);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.skeleton,.skeleton-text{animation:skeleton-pulse 1.5s ease-in-out infinite;background:var(--border-color)}.skeleton-text{border-radius:4px;height:14px;width:100%}.skeleton-text.short{width:30%}.skeleton-text.medium{width:60%}.skeleton-input{height:40px}.skeleton-button,.skeleton-input{animation:skeleton-pulse 1.5s ease-in-out infinite;background:var(--border-color);border-radius:var(--border-radius-sm)}.skeleton-button{height:38px;width:100px}.skeleton-circle{animation:skeleton-pulse 1.5s ease-in-out infinite;background:var(--border-color)}.modal-skeleton{padding:var(--spacing-lg)}.modal-skeleton-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.modal-skeleton-field{flex:1 1}.modal-skeleton-label{border-radius:4px;height:14px;margin-bottom:var(--spacing-sm);width:30%}.modal-skeleton-input,.modal-skeleton-label{animation:skeleton-pulse 1.5s ease-in-out infinite;background:var(--border-color)}.modal-skeleton-input{animation-delay:.1s;border-radius:var(--border-radius-sm);height:40px}.modal-progress{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-md)}.modal-progress-step{background:var(--border-color);border-radius:50%;height:8px;transition:all .3s;width:8px}.modal-progress-step.active{background:var(--primary-color);transform:scale(1.25)}.modal-progress-step.complete{background:var(--success-color)}.progress-bar{background:var(--border-color);border-radius:2px;height:4px;overflow:hidden;width:100%}.progress-bar-fill{background:var(--primary-color);border-radius:2px;height:100%;transition:width .3s ease}.progress-bar-fill.success{background:var(--success-color)}.progress-bar-fill.warning{background:var(--warning-color)}.progress-bar-fill.danger{background:var(--danger-color)}.is-loading{pointer-events:none;position:relative}.is-loading:after{align-items:center;background:#ffffffb3;background:rgba(var(--surface-rgb,255,255,255),.7);bottom:0;content:"";display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.empty-state{padding:var(--spacing-xl) var(--spacing-lg)}.empty-state h3{margin:0 0 var(--spacing-sm)}.empty-state p{margin:0 0 var(--spacing-lg);max-width:300px}:root{--primary-color:#2563eb;--primary-hover:#1d4ed8;--secondary-color:#64748b;--success-color:#10b981;--warning-color:#f59e0b;--danger-color:#ef4444;--background-color:#f8fafc;--surface-color:#fff;--text-primary:#1e293b;--text-secondary:#64748b;--text-tertiary:#94a3b8;--text-muted:#94a3b8;--border-color:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--spacing-xs:0.5rem;--spacing-sm:0.75rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:2.5rem;--spacing-3xl:3rem;--nav-width:250px;--nav-collapsed-width:70px;--border-radius:8px;--border-radius-sm:4px;--transition-speed:0.3s}[data-theme=dark]{--primary-color:#3b82f6;--primary-hover:#2563eb;--secondary-color:#94a3b8;--success-color:#22c55e;--warning-color:#fbbf24;--danger-color:#f87171;--background-color:#0f172a;--surface-color:#1e293b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#64748b;--border-color:#334155;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;background-color:var(--background-color);color:#1e293b;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f8fafc;background:var(--background-color)}::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#64748b;background:var(--secondary-color)}button{background:none;border:none;color:inherit;font-family:inherit;font-size:100%;line-height:inherit;margin:0;padding:0}.btn,button.btn-danger,button.btn-info,button.btn-primary,button.btn-secondary,button.btn-success,button.btn-warning{align-items:center;border:1px solid #0000;border-radius:4px;border-radius:var(--border-radius-sm);box-sizing:border-box;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.75rem;gap:var(--spacing-sm);justify-content:center;line-height:1.5;min-height:38px;padding:.75rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);text-align:center;text-decoration:none;transition:all .2s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:disabled,button.btn-danger:disabled,button.btn-info:disabled,button.btn-primary:disabled,button.btn-secondary:disabled,button.btn-success:disabled,button.btn-warning:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn-primary{background-color:#2563eb;background-color:var(--primary-color);border-color:#2563eb;border-color:var(--primary-color);color:#fff;color:var(--primary-text-color,#fff)}.btn-primary:hover:not(:disabled){background-color:#1d4ed8;background-color:var(--primary-hover);border-color:#1d4ed8;border-color:var(--primary-hover)}.btn-secondary,button.btn-secondary{background-color:#fff;background-color:var(--surface-color);border-color:#e2e8f0;border-color:var(--border-color);color:#1e293b;color:var(--text-primary)}.btn-secondary:hover:not(:disabled),button.btn-secondary:hover:not(:disabled){background-color:#f8fafc;background-color:var(--background-color);border-color:#64748b;border-color:var(--secondary-color)}.btn-success{background-color:#10b981;background-color:var(--success-color);border-color:#10b981;border-color:var(--success-color);color:#fff}.btn-success:hover:not(:disabled){background-color:#059669;border-color:#059669}.btn-danger{background-color:#ef4444;background-color:var(--danger-color);border-color:#ef4444;border-color:var(--danger-color);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626;border-color:#dc2626}.btn-warning{background-color:#f59e0b;background-color:var(--warning-color);border-color:#f59e0b;border-color:var(--warning-color);color:#fff}.btn-warning:hover:not(:disabled){background-color:#d97706;border-color:#d97706}.btn-info{background-color:#2563eb;background-color:var(--primary-color);border-color:#2563eb;border-color:var(--primary-color);color:#fff;color:var(--primary-text-color,#fff)}.btn-info:hover:not(:disabled){background-color:#1d4ed8;background-color:var(--primary-hover);border-color:#1d4ed8;border-color:var(--primary-hover)}.btn-cyan{background-color:#06b6d4;border-color:#06b6d4;color:#fff}.btn-cyan:hover:not(:disabled){background-color:#0891b2;border-color:#0891b2}.btn-outline,.btn.btn-outline{background-color:initial;border-color:#e2e8f0;border-color:var(--border-color);color:#64748b;color:var(--text-secondary)}.btn-outline:hover:not(:disabled),.btn.btn-outline:hover:not(:disabled){background-color:#f8fafc;background-color:var(--background-color);border-color:#2563eb;border-color:var(--primary-color);color:#2563eb;color:var(--primary-color)}.btn-danger-outline,button.btn-danger-outline{align-items:center;background-color:initial;border:1px solid #ef4444;border:1px solid var(--danger-color);border-radius:4px;border-radius:var(--border-radius-sm);color:#ef4444;color:var(--danger-color);cursor:pointer;display:inline-flex;font-weight:600;gap:.75rem;gap:var(--spacing-sm);padding:.75rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.btn-danger-outline:hover:not(:disabled),button.btn-danger-outline:hover:not(:disabled){background-color:#ef4444;background-color:var(--danger-color);color:#fff}.btn-outline-primary{background-color:initial;border-color:#2563eb;border-color:var(--primary-color);color:#2563eb;color:var(--primary-color)}.btn-outline-primary:hover:not(:disabled){background-color:#2563eb;background-color:var(--primary-color);color:#fff}.btn-outline-secondary{background-color:initial;border-color:#e2e8f0;border-color:var(--border-color);color:#64748b;color:var(--text-secondary)}.btn-outline-secondary:hover:not(:disabled){background-color:#f8fafc;background-color:var(--background-color);border-color:#64748b;border-color:var(--secondary-color);color:#1e293b;color:var(--text-primary)}.btn-sm{font-size:.8rem;min-height:32px;padding:.5rem 1rem;padding:var(--spacing-xs) var(--spacing-md)}.btn-md{font-size:.9rem;padding:.75rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg)}.btn-lg{font-size:1rem;padding:1rem 2rem;padding:var(--spacing-md) var(--spacing-xl)}.btn-icon{background-color:initial;border-color:#e2e8f0;border-color:var(--border-color);color:#64748b;display:inline-flex;min-height:32px;min-width:32px;padding:.75rem;padding:var(--spacing-sm)}.btn-icon .css-spinner{border-width:2px;height:14px;width:14px}.btn-icon:hover:not(:disabled){background-color:#f8fafc;background-color:var(--background-color);border-color:#2563eb;border-color:var(--primary-color);color:#2563eb;color:var(--primary-color)}.btn-icon.danger:hover:not(:disabled){border-color:#ef4444;border-color:var(--danger-color);color:#ef4444;color:var(--danger-color)}.btn-icon.success:hover:not(:disabled){border-color:#10b981;border-color:var(--success-color);color:#10b981;color:var(--success-color)}@keyframes btn-spinner-rotate{to{transform:rotate(1turn)}}.spinner{animation:btn-spinner-rotate 1s linear infinite}.btn-loading .btn-content{visibility:hidden}.btn-loading .btn-spinner{align-items:center;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0}.btn-loading .btn-spinner .spinner{display:none}.btn-loading .btn-spinner:after{animation:btn-spinner-rotate .8s linear infinite;border-color:currentcolor #0000;border-radius:50%;border-style:solid;border-width:2px;content:"";height:18px;width:18px}.btn-block{display:flex;width:100%}.toggle-field input[type=checkbox],input[type=checkbox].toggle,label.toggle-field input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#64748b;border-radius:10px;cursor:pointer;flex-shrink:0;height:20px;margin:0;position:relative;transition:all .25s ease;width:40px}.toggle-field input[type=checkbox]:checked,input[type=checkbox].toggle:checked,label.toggle-field input[type=checkbox]:checked{background:#2563eb;background:var(--primary-color)}.toggle-field input[type=checkbox]:before,input[type=checkbox].toggle:before,label.toggle-field input[type=checkbox]:before{background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000004d;content:"";height:16px;left:2px;position:absolute;top:2px;transition:all .25s cubic-bezier(.4,0,.2,1);width:16px}.toggle-field input[type=checkbox]:checked:before,input[type=checkbox].toggle:checked:before,label.toggle-field input[type=checkbox]:checked:before{transform:translateX(20px)}.toggle-field input[type=checkbox]:focus,input[type=checkbox].toggle:focus,label.toggle-field input[type=checkbox]:focus{box-shadow:0 0 0 3px #2563eb1a;outline:none}.toggle-field input[type=checkbox]:disabled,input[type=checkbox].toggle:disabled,label.toggle-field input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.toggle-field{gap:1rem}.toggle-field span{color:#1e293b;font-weight:500}.input-with-indicator{align-items:center;display:flex;position:relative;width:100%}.input-with-indicator>.currency-input-wrapper,.input-with-indicator>.custom-select,.input-with-indicator>.date-picker,.input-with-indicator>input,.input-with-indicator>select,.input-with-indicator>textarea{flex:1 1;width:100%}.required-indicator{color:#ef4444;font-size:1rem;pointer-events:none;position:absolute;right:1rem;right:var(--spacing-md);top:50%;transform:translateY(-50%);-webkit-user-select:none;user-select:none;z-index:2}.input-with-indicator>select+.required-indicator{right:calc(1rem + 24px);right:calc(var(--spacing-md) + 24px)}.input-with-indicator>.date-picker+.required-indicator{right:calc(1rem + 32px);right:calc(var(--spacing-md) + 32px)}.input-with-indicator>.custom-select+.required-indicator{right:calc(1rem + 28px);right:calc(var(--spacing-md) + 28px)}.input-with-indicator>.currency-input-wrapper+.required-indicator{right:1rem;right:var(--spacing-md)}.form-label .required-asterisk,label .required-asterisk{color:#ef4444;margin-left:2px}.toast-container{display:flex;flex-direction:column;gap:var(--spacing-sm);left:50%;max-width:500px;pointer-events:none;position:fixed;top:20px;transform:translateX(-50%);width:90%;z-index:10000}.toast{align-items:center;animation:slideDown .3s ease,fadeIn .3s ease;background-color:var(--surface-color);border-left:4px solid;border-radius:var(--border-radius);box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #0003;display:flex;gap:var(--spacing-md);min-height:60px;padding:var(--spacing-md) var(--spacing-lg);pointer-events:auto}.toast-success{border-left-color:var(--success-color)}.toast-error{border-left-color:var(--danger-color)}.toast-warning{border-left-color:var(--warning-color)}.toast-info{border-left-color:var(--primary-color)}.toast-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.toast-success .toast-icon{color:var(--success-color)}.toast-error .toast-icon{color:var(--danger-color)}.toast-warning .toast-icon{color:var(--warning-color)}.toast-info .toast-icon{color:var(--primary-color)}.toast-message{color:var(--text-primary);flex:1 1;font-size:.95rem;line-height:1.4}.toast-close{align-items:center;background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:var(--spacing-xs);transition:all .2s}.toast-close:hover{background-color:var(--background-color);color:var(--text-primary)}@media (max-width:768px){.toast-container{top:70px;width:95%}.toast{min-height:50px;padding:var(--spacing-sm) var(--spacing-md)}.toast-message{font-size:.9rem}}.notifications-container{position:relative}.navbar:not(.collapsed) .notifications-container{margin-right:var(--spacing-md)}.notification-bell{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-sm);position:relative;transition:all .2s}.notification-bell:hover{background:var(--surface-color);color:var(--primary-color)}.notification-badge{align-items:center;animation:pulse 2s infinite;background:#ef4444;border-radius:9px;color:#fff;display:flex;font-size:.7rem;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 4px;position:absolute;right:4px;top:4px}.notifications-dropdown{animation:slideUp .2s ease;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);bottom:calc(100% + 12px);box-shadow:0 10px 25px #0000004d;left:0;max-width:90vw;position:absolute;width:400px;z-index:10000}.notifications-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-md)}.notifications-header-left{align-items:center;display:flex;gap:var(--spacing-sm)}.notifications-header h3{color:var(--text-primary);font-size:1.1rem;margin:0}.notifications-header-actions{display:flex;gap:var(--spacing-xs)}.header-action-btn{align-items:center;background:none;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:6px;transition:all .2s}.header-action-btn:hover{background:var(--surface-color);border-color:var(--primary-color);color:var(--primary-color)}.count-badge{background:var(--primary-color);border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:4px 8px}.notifications-body{max-height:500px;overflow-y:auto}.notifications-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xl)}.notifications-loading .spinner{animation:spin 1s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:32px;margin-bottom:var(--spacing-sm);width:32px}.notifications-empty{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xl);text-align:center}.notifications-empty svg{margin-bottom:var(--spacing-md);opacity:.3}.notifications-empty p{font-size:.95rem;margin:0}.notifications-list{display:flex;flex-direction:column}.notification-item{align-items:flex-start;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:background .2s}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--bg-color)}.notification-item.unread{background:#3b82f60d;border-left:3px solid var(--primary-color)}.notification-item.read{opacity:.7}.notification-icon{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-hover) 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.notification-icon .icon-success{color:#22c55e}.notification-icon .icon-danger{color:#ef4444}.notification-icon .icon-warning{color:#f59e0b}.notification-icon .icon-primary{color:#fff}.notification-content{flex:1 1;min-width:0}.notification-title{color:var(--text-primary);font-size:.95rem;margin-bottom:4px}.notification-title strong{font-weight:600}.notification-email{font-size:.85rem}.notification-email,.notification-message{color:var(--text-secondary);margin-bottom:4px}.notification-message{font-size:.9rem;line-height:1.4}.notification-time{color:var(--text-secondary);font-size:.75rem}.notification-actions{display:flex;flex-shrink:0;gap:var(--spacing-xs)}.btn-approve,.btn-reject{align-items:center;border:none;border-radius:var(--border-radius);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.btn-approve{background:#22c55e1a;color:#22c55e}.btn-approve:hover:not(:disabled){background:#22c55e;color:#fff}.btn-reject{background:#ef44441a;color:#ef4444}.btn-reject:hover:not(:disabled){background:#ef4444;color:#fff}.btn-approve:disabled,.btn-reject:disabled{cursor:not-allowed;opacity:.5}.notifications-inline{padding:0;width:100%}.notifications-inline-header{align-items:center;background:var(--background-color);color:var(--text-primary);display:flex;font-size:.95rem;font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg)}.count-badge-inline{background:var(--primary-color);border-radius:10px;color:#fff;font-size:.75rem;font-weight:600;margin-left:auto;padding:2px 6px}.notifications-inline-body{max-height:300px;overflow-y:auto}.notifications-loading-inline{align-items:center;display:flex;justify-content:center;padding:var(--spacing-lg)}.spinner-small{animation:spin 1s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:20px;width:20px}.notifications-empty-inline{color:var(--text-secondary);font-size:.9rem;padding:var(--spacing-lg);text-align:center}.notifications-empty-inline p{margin:0}.notifications-list-inline{display:flex;flex-direction:column}.notification-item-inline{align-items:center;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);transition:background .2s}.notification-item-inline:last-child{border-bottom:none}.notification-item-inline:hover{background:var(--background-color)}.notification-item-inline.unread{background:#3b82f60d}.notification-icon-inline{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-hover) 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.notification-content-inline{flex:1 1;min-width:0}.notification-title-inline{color:var(--text-primary);font-size:.85rem;font-weight:600;margin-bottom:2px}.notification-message-inline{color:var(--text-secondary);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-actions-inline{display:flex;flex-shrink:0;gap:var(--spacing-xs)}.btn-approve-inline,.btn-reject-inline{align-items:center;border:none;border-radius:var(--border-radius);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s;width:28px}.btn-approve-inline{background:#22c55e1a;color:#22c55e}.btn-approve-inline:hover:not(:disabled){background:#22c55e;color:#fff}.btn-reject-inline{background:#ef44441a;color:#ef4444}.btn-reject-inline:hover:not(:disabled){background:#ef4444;color:#fff}.btn-approve-inline:disabled,.btn-reject-inline:disabled{cursor:not-allowed;opacity:.5}.view-all-link{color:var(--primary-color);cursor:pointer;font-size:.85rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);text-align:center;transition:background .2s}.view-all-link:hover{background:var(--background-color)}.notifications-footer{background:var(--bg-color);border-top:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-md);text-align:center}.notifications-hint{color:var(--text-muted);font-size:.75rem}.navbar{background-color:var(--surface-color);border-right:1px solid var(--border-color);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:width var(--transition-speed) ease;width:var(--nav-width);z-index:1000}.navbar.collapsed{width:var(--nav-collapsed-width)}.nav-header{border-bottom:1px solid var(--border-color);justify-content:space-between;min-height:60px;padding:var(--spacing-md);position:relative}.nav-header,.nav-header-left{align-items:center;display:flex}.nav-header-left{flex:1 1;gap:var(--spacing-md)}.nav-toggle{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;display:flex;height:auto;justify-content:center;padding:var(--spacing-md);transition:background-color .2s;width:auto}.nav-toggle:hover{background-color:var(--background-color)}.navbar.collapsed .nav-header{justify-content:center;padding:var(--spacing-md)}.navbar.collapsed .nav-toggle{padding:var(--spacing-md) var(--spacing-sm)}.nav-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;overflow:hidden;white-space:nowrap}.profile-button,.profile-section{align-items:center;display:flex;position:relative}.profile-button{background:none;border:none;border-radius:50%;color:var(--text-primary);cursor:pointer;height:44px;justify-content:center;padding:var(--spacing-sm);transition:background-color .2s;width:44px}.profile-button:hover{background-color:var(--background-color)}.profile-notification-badge{animation:pulse 2s infinite;background:#ef4444;border:2px solid var(--surface-color);border-radius:9px;color:#fff;font-size:.7rem;font-weight:700;height:18px;min-width:18px;padding:0 4px;position:absolute;right:4px;top:4px}.profile-avatar-footer,.profile-notification-badge{align-items:center;display:flex;justify-content:center}.profile-avatar-footer{flex-shrink:0}.profile-icon-footer{color:var(--text-primary);flex-shrink:0}.profile-image-navbar{object-fit:cover}.profile-avatar-navbar,.profile-image-navbar{border:2px solid var(--border-color);border-radius:50%;flex-shrink:0;height:36px;width:36px}.profile-avatar-navbar{align-items:center;background-color:var(--primary-color);color:#fff;color:var(--primary-text-color,#fff);display:flex;font-size:.85rem;font-weight:600;justify-content:center}.profile-name-footer{color:var(--text-primary);flex:1 1;font-size:.85rem;font-weight:500;line-height:1.3;text-align:left}.profile-menu{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);bottom:0;box-shadow:var(--shadow-lg);left:calc(100% + var(--spacing-xs));min-width:250px;overflow:hidden;position:absolute;z-index:1001}.navbar.collapsed .profile-menu{bottom:var(--spacing-md);left:calc(100% + var(--spacing-xs))}.profile-menu-header-link{display:block;text-decoration:none;transition:background-color .2s}.profile-menu-header-link:hover .profile-menu-header{background-color:#3b82f60d}.profile-menu-header{align-items:center;background-color:var(--background-color);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);transition:background-color .2s}.profile-avatar{align-items:center;background-color:var(--primary-color);color:#fff;color:var(--primary-text-color,#fff);display:flex;flex-shrink:0;font-size:1.5rem;justify-content:center}.profile-avatar,.profile-image-menu{border-radius:50%;height:48px;width:48px}.profile-image-menu{border:2px solid var(--border-color);object-fit:cover}.profile-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.profile-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.profile-email,.profile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-email{color:var(--text-secondary);font-size:.85rem}.profile-role{color:var(--primary-color);font-size:.75rem;font-weight:600;margin-top:2px}.profile-menu-divider{background-color:var(--border-color);height:1px;margin:var(--spacing-xs) 0}.profile-menu-item{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:background-color .2s;width:100%}.profile-menu-item:hover{background-color:var(--background-color)}.profile-menu-item.logout{color:var(--danger-color)}.profile-menu-item.logout:hover{background-color:#ef44441a}.profile-menu-icon{width:18px}.profile-menu-badge,.profile-menu-icon{align-items:center;display:flex;height:18px;justify-content:center}.profile-menu-badge{background:#ef4444;border-radius:9px;color:#fff;font-size:.7rem;font-weight:700;margin-left:auto;min-width:18px;padding:0 4px}.nav-menu{flex:1 1;list-style:none;overflow-y:auto;padding:var(--spacing-md)}.nav-item{margin-bottom:var(--spacing-xs)}.nav-link{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.95rem;gap:var(--spacing-md);padding:var(--spacing-md);text-decoration:none;transition:all .2s;width:100%}.nav-link:hover{background-color:var(--background-color);color:var(--text-primary)}.nav-link.active{background-color:var(--primary-color);color:#fff;color:var(--primary-text-color,#fff)}.nav-icon{align-items:center;display:flex;justify-content:center;min-width:20px}.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar.collapsed .nav-label{display:none}.navbar.collapsed .nav-link{justify-content:center;padding:var(--spacing-md) var(--spacing-sm)}.admin-section{padding:0 var(--spacing-md) var(--spacing-md) var(--spacing-md)}.admin-link{align-items:center;border-radius:var(--border-radius);color:#3b82f6;display:flex;font-size:.95rem;font-weight:500;gap:var(--spacing-md);padding:var(--spacing-md);text-decoration:none;transition:all .2s}.admin-link:hover{background-color:#2563eb1a}.admin-link.active{background-color:#2563eb26}.admin-icon{align-items:center;display:flex;justify-content:center;min-width:20px}.admin-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar.collapsed .admin-link{justify-content:center;padding:var(--spacing-md) var(--spacing-sm)}.nav-footer{border-top:1px solid var(--border-color);display:flex;justify-content:center;padding:var(--spacing-md);position:relative}.footer-actions{align-items:center;justify-content:center;width:100%}.navbar.collapsed .footer-actions{gap:var(--spacing-xs);justify-content:center}.profile-menu-notifications,.profile-menu-notifications-wrapper{padding:0;width:100%}.notifications-popup-container{bottom:calc(var(--spacing-md) + 60px);left:var(--spacing-md);position:fixed;z-index:1002}.navbar.collapsed .notifications-popup-container{left:var(--spacing-md)}@media (max-width:768px){.navbar{transform:translateX(-100%);width:var(--nav-width)}.navbar.mobile-open{transform:translateX(0)}.navbar.collapsed{width:var(--nav-width)}.navbar.collapsed .admin-label,.navbar.collapsed .nav-label{display:block}.navbar.collapsed .admin-link,.navbar.collapsed .nav-link{justify-content:flex-start;padding:var(--spacing-md)}}.offline-banner{align-items:center;animation:slideUp .3s ease-out;background:linear-gradient(135deg,#ef4444,#dc2626);bottom:0;box-shadow:0 -4px 20px #00000026;color:#fff;display:flex;font-size:.9rem;font-weight:500;gap:10px;justify-content:center;left:0;padding:12px 20px;position:fixed;right:0;z-index:10000}.offline-banner svg{flex-shrink:0}.app.offline .main-content{padding-bottom:60px}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--border-color) 0,var(--background-color) 50%,var(--border-color) 100%);background-size:200px 100%;border-radius:var(--border-radius-sm)}.skeleton-text{display:block}.skeleton-circle{border-radius:50%;flex-shrink:0}.skeleton-block{display:block}.skeleton-form-field{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.skeleton-table-row td{padding:var(--spacing-md)}.skeleton-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-lg)}.skeleton-card-header{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.skeleton-card-title{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs)}.skeleton-card-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.btn-loading{align-items:center;display:inline-flex;gap:var(--spacing-sm);justify-content:center;position:relative}.btn-loading:disabled{cursor:not-allowed;opacity:.7}.css-spinner{animation:spin .8s linear infinite;border-color:currentcolor #0000;border-radius:50%;border-style:solid;border-width:2px;display:inline-block;height:18px;width:18px}.css-spinner.spinner-sm{border-width:2px;height:14px;width:14px}.css-spinner.spinner-lg{border-width:3px;height:24px;width:24px}.css-spinner.spinner-xl{border-width:3px;height:32px;width:32px}.loading-overlay{align-items:center;background:#ffffffe6;background:rgba(var(--background-rgb,255,255,255),.9);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loading-overlay-content{color:var(--text-primary);font-weight:500}.loading-overlay-content,.loading-section{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md)}.loading-section{color:var(--text-secondary);justify-content:center;padding:var(--spacing-xl)}.skeleton-settings{display:flex;flex-direction:column;gap:var(--spacing-xl)}.skeleton-settings-header{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.skeleton-settings-group{background:var(--background-color);border-radius:var(--border-radius);padding:var(--spacing-lg)}.skeleton-list-item{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:var(--spacing-md);padding:var(--spacing-md)}.skeleton-list-item:last-child{border-bottom:none}.skeleton-list-content{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs)}.loading-state{font-size:.95rem;gap:var(--spacing-sm)}.loading-state .spinner{color:var(--primary-color)}.skeleton-pulse{animation:pulse 2s ease-in-out infinite}.inline-loading{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.875rem;gap:var(--spacing-xs)}.form-submitting{pointer-events:none;position:relative}.form-submitting:after{background:#ffffffb3;background:rgba(var(--surface-rgb,255,255,255),.7);border-radius:inherit;bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes loading-dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.btn-loading-dots:after{animation:loading-dots 1.5s steps(1) infinite;content:""}.loading-progress{background:var(--border-color);border-radius:2px;height:4px;overflow:hidden;width:100%}.loading-progress-bar{animation:progress-indeterminate 1.5s ease-in-out infinite;background:var(--primary-color);height:100%}@keyframes progress-indeterminate{0%{margin-left:0;width:0}50%{margin-left:15%;width:70%}to{margin-left:100%;width:0}}[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--border-color) 0,#ffffff1a 50%,var(--border-color) 100%)}[data-theme=dark] .loading-overlay{background:#000000e6}.dashboard-page{margin:0 auto;max-width:1400px;overflow-x:hidden;padding:var(--spacing-lg) var(--spacing-xl)}.dashboard-page,.dashboard-page *{box-sizing:border-box}.dashboard-header{margin-bottom:var(--spacing-lg)}.dashboard-header h1{color:var(--text-primary);font-size:1.75rem;font-weight:var(--font-bold);margin:0}.overdue-banner{align-items:center;background:#ef44441a;border:1px solid #ef444440;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:1.25rem;margin-bottom:var(--spacing-lg);padding:1.25rem var(--spacing-lg);transition:var(--transition-base)}.overdue-banner:hover{background:#ef444426;border-color:#ef444466}.overdue-banner-icon{align-items:center;background:#ef444433;border-radius:var(--radius-lg);color:var(--danger-color);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.overdue-banner-content{display:flex;flex-direction:column;gap:2px}.overdue-banner-content strong{color:var(--danger-color);font-size:1.1rem}.overdue-banner-content span{color:var(--text-secondary);font-size:var(--text-sm)}.overdue-banner-bills{display:flex;flex:1 1;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:flex-end}.overdue-bill-tag{background:#ef444426;border-radius:6px;color:#fca5a5;font-size:.8rem;padding:.3rem var(--spacing-sm);white-space:nowrap}[data-theme=light] .overdue-bill-tag{color:#dc2626}.overdue-bill-tag.more{background:#ffffff0d;color:var(--text-secondary)}.alerts-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.alert-card{align-items:center;border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) 1.25rem;transition:var(--transition-base)}.alert-card.overdue{background:#ef44441a;border:1px solid #ef444433;color:var(--danger-color)}.alert-card.overdue:hover{background:#ef444426}.alert-card.info{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-primary)}.alert-content{display:flex;flex-direction:column;gap:2px}.alert-content strong{font-size:.95rem;font-weight:var(--font-semibold)}.alert-content span{font-size:var(--text-sm);opacity:.8}.alert-actions{display:flex;gap:var(--spacing-xs);margin-left:var(--spacing-xs)}.alert-actions .btn-sm{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;height:30px;justify-content:center;transition:var(--transition-fast);width:30px}.alert-actions .btn-sm.success{background:#22c55e26;color:var(--success-color)}.alert-actions .btn-sm.success:hover{background:var(--success-color);color:#fff}.alert-actions .btn-sm.danger{background:#ef44441a;color:var(--danger-color)}.alert-actions .btn-sm.danger:hover{background:var(--danger-color);color:#fff}.dashboard-stats{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(4,1fr);margin-bottom:var(--spacing-lg)}.dash-stat-card{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:14px;display:flex;gap:var(--spacing-md);padding:1.25rem;transition:var(--transition-base)}.dash-stat-card:hover{border-color:var(--text-muted)}.dash-stat-card.clickable{cursor:pointer}.dash-stat-card.clickable:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.dash-stat-icon{align-items:center;border-radius:var(--radius-lg);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.dash-stat-icon.blue{background:#fbbf2426}.dash-stat-icon.blue svg{stroke:var(--warning-color);color:var(--warning-color)}.dash-stat-icon.green{background:#22c55e26}.dash-stat-icon.green svg{stroke:var(--success-color);color:var(--success-color)}.dash-stat-icon.purple{background:#06b6d426}.dash-stat-icon.purple svg{stroke:#06b6d4;color:#06b6d4}.dash-stat-icon.orange{background:#f9731626}.dash-stat-icon.orange svg{stroke:#f97316;color:#f97316}.dash-stat-info{display:flex;flex-direction:column;min-width:0}.dash-stat-value{color:var(--text-primary);font-size:1.4rem;font-weight:var(--font-bold);line-height:var(--leading-tight)}.dash-stat-value.success{color:var(--success-color)}.dash-stat-label{color:var(--text-secondary);font-size:var(--text-sm);margin-top:2px}.dashboard-page .spending-trend-card{margin-bottom:var(--spacing-lg)}.content-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr;width:100%}.content-column{display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:0}.card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);max-width:100%;overflow:hidden;width:100%}.card-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-md) 1.25rem}.card-header h3{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.card-link{align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);display:flex;height:32px;justify-content:center;transition:var(--transition-base);width:32px}.card-link:hover{background:var(--background-color);color:var(--primary-color)}.card-body{padding:var(--spacing-md) 1.25rem}.bill-list{display:flex;flex-direction:column}.bill-item{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.bill-item:last-child{border-bottom:none}.bill-name{color:var(--text-primary);display:block;font-size:.95rem;font-weight:var(--font-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-date{align-items:center;color:var(--text-secondary);display:flex;font-size:.8rem;gap:.25rem;margin-top:2px}.bill-date svg{color:var(--primary-color);flex-shrink:0}.bill-amount{color:var(--text-primary);flex-shrink:0;font-size:var(--text-base);font-weight:var(--font-semibold);white-space:nowrap}.bill-amount.success{color:var(--success-color)}.mini-calendar{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.mini-calendar .cal-header{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,minmax(0,1fr))}.mini-calendar .cal-day-name{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:.25rem 0;text-align:center}.mini-calendar .cal-days{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,minmax(0,1fr))}.mini-calendar .cal-day{align-items:center;aspect-ratio:1;border:none;border-radius:6px;color:var(--text-secondary);display:flex;font-size:.8rem;justify-content:center;max-width:100%;min-width:0;overflow:hidden;position:relative;transition:background var(--transition-fast)}.mini-calendar .cal-day:not(.empty):hover{background:var(--background-color)}.mini-calendar .cal-day.empty{visibility:hidden}.mini-calendar .cal-day.today{background:var(--primary-color);color:var(--primary-text-color);font-weight:var(--font-semibold)}.mini-calendar .cal-day.has-bill:not(.today):after{background:var(--primary-color);border-radius:var(--radius-full);bottom:4px;content:"";height:6px;position:absolute;width:6px}.mini-calendar .cal-day.overdue:not(.today):after{background:var(--danger-color)}.category-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.category-item{align-items:flex-start;display:flex;gap:var(--spacing-sm)}.cat-icon{align-items:center;display:flex;flex-shrink:0;font-size:var(--text-xl);height:32px;justify-content:center;width:32px}.cat-info{flex:1 1;min-width:0}.cat-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.cat-name{font-weight:var(--font-medium)}.cat-amount,.cat-name{color:var(--text-primary);font-size:var(--text-sm)}.cat-amount{font-weight:var(--font-semibold)}.cat-bar{background:var(--background-color);height:8px;overflow:hidden}.cat-bar,.cat-bar-fill{border-radius:var(--radius-sm)}.cat-bar-fill{height:100%;transition:width var(--transition-slow)}.empty-state{color:var(--text-muted);gap:var(--spacing-sm);padding:var(--spacing-2xl)}.empty-state svg{opacity:.4}.empty-state span{font-size:var(--text-sm)}.loading-icon{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media (max-width:1100px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.content-grid{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-page{max-width:100%;padding:var(--spacing-sm);width:100%}.dashboard-page .spending-trend-card{margin-bottom:var(--spacing-sm)}.dashboard-header{margin-bottom:var(--spacing-md)}.dashboard-header h1{font-size:1.35rem}.overdue-banner{flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-md)}.overdue-banner-icon{height:40px;width:40px}.overdue-banner-content strong{font-size:var(--text-base)}.overdue-banner-bills{flex:100% 1;justify-content:flex-start;order:3}.overdue-banner .btn{justify-content:center;order:4;width:100%}.dashboard-stats{gap:var(--spacing-xs);grid-template-columns:repeat(2,1fr);width:100%}.dash-stat-card{gap:var(--spacing-sm);padding:var(--spacing-md)}.dash-stat-icon{border-radius:10px;height:42px;width:42px}.dash-stat-icon svg{height:20px;width:20px}.dash-stat-value{font-size:var(--text-xl)}.dash-stat-label{font-size:var(--text-xs)}.content-grid{grid-template-columns:1fr}.content-column,.content-grid{gap:var(--spacing-sm);width:100%}.card-header{padding:var(--spacing-sm) var(--spacing-md)}.card-body{overflow:hidden;padding:var(--spacing-sm)}.bill-item{padding:.625rem 0}.bill-amount,.bill-name{font-size:var(--text-sm)}.alerts-row{flex-direction:column}.alert-card{width:100%}.mini-calendar{overflow:hidden;width:100%}.mini-calendar .cal-days,.mini-calendar .cal-header{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.mini-calendar .cal-day-name{font-size:.6rem;padding:.25rem 0;text-align:center}.mini-calendar .cal-day{aspect-ratio:1;border-radius:var(--radius-sm);font-size:.7rem}.mini-calendar .cal-day.today{border-radius:6px}.mini-calendar .cal-day.has-bill:not(.today):after{bottom:3px;height:5px;width:5px}.category-item{gap:var(--spacing-xs)}.cat-icon{font-size:1.1rem;height:28px;width:28px}.cat-amount,.cat-name{font-size:var(--text-sm)}}@media (max-width:400px){.dashboard-stats{gap:var(--spacing-xs);grid-template-columns:1fr 1fr}.dash-stat-card{align-items:flex-start;flex-direction:column;padding:var(--spacing-sm)}.dash-stat-icon{height:36px;width:36px}.dash-stat-value{font-size:1.1rem}.dash-stat-label{font-size:.7rem}}.bill-icon-wrapper{align-items:center;border-radius:6px;display:flex;flex-shrink:0;justify-content:center;overflow:hidden}.bill-icon-wrapper.has-image{background:var(--background-color);border:1px solid var(--border-color)}.bill-icon-wrapper.emoji-only{background:#0000;border:1px solid #0000}.bill-icon-xs{border-radius:4px;height:28px;min-width:40px;width:40px}.bill-icon-sm{border-radius:5px;height:36px;min-width:56px;width:56px}.bill-icon-md{border-radius:6px;height:44px;min-width:72px;width:72px}.bill-icon-lg{border-radius:8px;height:52px;min-width:88px;width:88px}.bill-icon-xl{border-radius:10px;height:68px;min-width:120px;width:120px}.bill-icon-image{height:100%;object-fit:contain;padding:4px;width:100%}.bill-icon-emoji{align-items:center;display:flex;justify-content:center;line-height:1}.bill-icon-xs .bill-icon-emoji{font-size:18px}.bill-icon-sm .bill-icon-emoji{font-size:22px}.bill-icon-md .bill-icon-emoji{font-size:26px}.bill-icon-lg .bill-icon-emoji{font-size:30px}.bill-icon-xl .bill-icon-emoji{font-size:38px}.bill-icon-fallback{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.bill-icon-xs .bill-icon-fallback{font-size:16px}.bill-icon-sm .bill-icon-fallback{font-size:20px}.bill-icon-md .bill-icon-fallback{font-size:24px}.bill-icon-lg .bill-icon-fallback{font-size:28px}.bill-icon-xl .bill-icon-fallback{font-size:36px}[data-theme=dark] .bill-icon-wrapper.has-image{background:#ffffff0d;border-color:var(--border-color)}.spending-trend-card{--chart-color:var(--primary-color);background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.spending-trend-header{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.spending-trend-title{display:flex;flex-direction:column;gap:.25rem;min-width:0}.title-label{color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.spending-value-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem}.spending-value{color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1.1}.spending-change{align-items:center;display:inline-flex;font-size:.875rem;font-weight:500;gap:.25rem}.spending-change.positive{color:#22c55e}.period-label{color:var(--text-secondary);font-size:.85rem}.spending-trend-controls{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.period-select{-webkit-appearance:none;appearance:none;background:var(--background-color);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.875rem;padding:.5rem 2rem .5rem .75rem;transition:border-color .2s}.period-select:hover{border-color:var(--text-muted)}.period-select:focus{border-color:var(--primary-color);outline:none}.spending-trend-chart{overflow:hidden;padding:1rem 1.25rem .5rem;position:relative}.chart-wrapper{display:flex;height:180px}.y-axis-labels{display:flex;flex-direction:column;flex-shrink:0;justify-content:space-between;padding:0 .25rem 0 0;position:relative;width:45px}.y-label{font-feature-settings:"tnum";color:var(--text-muted);font-size:.7rem;font-variant-numeric:tabular-nums;line-height:1;text-align:right}.chart-area{flex:1 1;min-width:0;overflow:hidden;position:relative}.trend-svg{cursor:crosshair;display:block;height:100%;width:100%}.trend-line{fill:none;stroke:var(--chart-color);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.trend-area{opacity:1}.grid-line{stroke:var(--border-color);stroke-width:1;stroke-dasharray:4 4;opacity:.5}.grid-line,.hover-line{vector-effect:non-scaling-stroke}.hover-line{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:4 4;opacity:.6}.hover-dot{fill:var(--chart-color);stroke:var(--surface-color);stroke-width:2;vector-effect:non-scaling-stroke}.x-axis-labels{display:flex;justify-content:space-between;margin-left:45px;padding:.5rem 0 0}.x-label{color:var(--text-muted);font-size:.7rem;white-space:nowrap}.chart-tooltip{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:100px;padding:.5rem .75rem;pointer-events:none;position:absolute;text-align:center;top:0;transform:translateX(-50%);z-index:10}.tooltip-date{color:var(--text-secondary);font-size:.75rem;margin-bottom:.25rem}.tooltip-value{color:var(--text-primary);font-size:1rem;font-weight:600}.tooltip-daily{color:var(--chart-color);font-size:.75rem;margin-top:.125rem}.spending-trend-empty,.spending-trend-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:.75rem;height:180px;justify-content:center}.spending-trend-empty svg{opacity:.4}.spending-trend-empty span{font-size:.9rem}@media (max-width:768px){.spending-trend-header{flex-direction:row;gap:.5rem;padding:.875rem 1rem}.spending-trend-title{flex:1 1;min-width:0}.spending-trend-controls{flex-shrink:0}.spending-value{font-size:1.5rem}.period-label{font-size:.75rem}.spending-trend-chart{padding:.75rem}.chart-wrapper{height:150px}.y-axis-labels{width:38px}.y-label{font-size:.6rem}.x-axis-labels{margin-left:38px;padding-top:.375rem}.x-label{font-size:.6rem}.chart-tooltip{min-width:80px;padding:.375rem .5rem}.tooltip-date{font-size:.7rem}.tooltip-value{font-size:.9rem}.spending-trend-empty,.spending-trend-loading{height:150px}}@media (max-width:400px){.spending-value{font-size:1.35rem}.chart-wrapper{height:130px}.y-axis-labels{width:32px}.y-label{font-size:.55rem}.x-axis-labels{margin-left:32px}.x-label{font-size:.55rem}.spending-trend-empty,.spending-trend-loading{height:130px}}.modal-backdrop{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.modal-backdrop.modal-hidden{opacity:0;pointer-events:none;transition:opacity .2s ease}.modal-backdrop:not(.modal-hidden){transition:opacity .2s ease}.modal-container{animation:slideUp .2s ease;background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:500px;width:90%}.modal-container>form{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.modal-container.modal-small{max-width:400px}.modal-container.modal-medium{max-width:500px}.modal-container.modal-large{max-width:700px;width:95%}.modal-container.modal-xlarge{max-height:95vh;max-width:900px;width:95%}.modal-container.modal-fullwidth{max-height:95vh;max-width:1100px;width:95%}.modal-container.modal-wizard{max-width:700px;width:95%}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-md)}.modal-title-wrapper{align-items:center;display:flex;gap:var(--spacing-md)}.modal-title-wrapper h3{color:var(--text-primary);font-size:1.25rem;margin:0}.modal-icon{flex-shrink:0}.modal-icon.danger{color:var(--danger-color)}.modal-icon.warning{color:var(--warning-color)}.modal-close{align-items:center;background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-xs);transition:all .2s}.modal-close:hover{background-color:var(--background-color);color:var(--text-primary)}.modal-close:disabled{cursor:not-allowed;opacity:.5}.modal-body{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-md)}.modal-body p{color:var(--text-primary);font-size:.95rem;line-height:1.6;margin:0}.modal-footer{align-items:center;background-color:var(--background-color);border-top:1px solid var(--border-color);display:flex;flex-shrink:0;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-md)}@media (max-width:600px){.modal-backdrop{align-items:flex-end;padding:0}.modal-container{animation:slideUpMobile .3s ease;border-radius:var(--border-radius) var(--border-radius) 0 0;max-height:85vh;max-width:100%;width:100%}.modal-container.modal-large{max-height:92vh}.modal-container>form{max-height:calc(85vh - 60px);overflow:hidden}.modal-container>form .modal-body{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto}@keyframes slideUpMobile{0%{opacity:1;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:10px var(--spacing-md)}.modal-header h3{font-size:1rem}.modal-title-wrapper{gap:var(--spacing-sm)}.modal-title-wrapper svg{height:20px;width:20px}.modal-body{-webkit-overflow-scrolling:touch;padding:var(--spacing-sm) var(--spacing-md)}.modal-footer{gap:var(--spacing-sm);padding:10px var(--spacing-md)}.modal-footer .btn{flex:1 1;font-size:.9rem;justify-content:center;padding:10px var(--spacing-md)}.modal-body .form-row{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-sm)}.modal-body .form-row .form-group{margin-bottom:0}.modal-body .custom-select-trigger{font-size:.9rem;height:38px;padding:8px 10px}}.custom-select{min-width:0;position:relative}.custom-select.disabled{opacity:.6;pointer-events:none}.custom-select-trigger{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-sizing:border-box;color:var(--text-primary);cursor:pointer;display:flex;font-size:1rem;gap:var(--spacing-sm);height:55px;justify-content:space-between;padding:var(--spacing-md);text-align:left;transition:all .2s;width:100%}.custom-select-trigger:focus,.custom-select-trigger:hover:not(:disabled){border-color:var(--primary-color)}.custom-select-trigger:focus{box-shadow:0 0 0 3px #2563eb1a;outline:none}.custom-select-trigger.open{border-color:var(--primary-color)}.custom-select-value{align-items:center;display:flex;flex:1 1;gap:var(--spacing-sm);min-width:0;overflow:hidden}.custom-select-arrow,.custom-select-placeholder{color:var(--text-secondary)}.custom-select-arrow{flex-shrink:0;transition:transform .2s}.custom-select-arrow.open{transform:rotate(180deg)}.custom-select-dropdown-portal{animation:dropdownFadeIn .15s ease;background:var(--surface-color);border:1px solid var(--primary-color);border-radius:var(--border-radius-sm);box-shadow:0 10px 40px #0000004d;overflow-y:auto}.custom-select-dropdown-portal.open-down{border-top-left-radius:0;border-top-right-radius:0}.custom-select-dropdown-portal.open-up{border-bottom-left-radius:0;border-bottom-right-radius:0}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.custom-select-dropdown{background:var(--surface-color);border:1px solid var(--primary-color);border-bottom-left-radius:var(--border-radius-sm);border-bottom-right-radius:var(--border-radius-sm);border-top:none;box-shadow:var(--shadow-md);left:0;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:99999}.custom-select-option{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);transition:background-color .15s}.custom-select-option:hover{background:var(--background-color)}.custom-select-option.selected{background:#2563eb1a}.custom-select-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.custom-select-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-badge{flex-shrink:0;margin-left:auto}.custom-select .ownership-badge,.custom-select-dropdown-portal .ownership-badge{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.custom-select .ownership-badge.personal,.custom-select-dropdown-portal .ownership-badge.personal{background:#3b82f626;border:1px solid #3b82f64d;color:#3b82f6}.custom-select .ownership-badge.household,.custom-select-dropdown-portal .ownership-badge.household{background:#22c55e26;border:1px solid #22c55e4d;color:#22c55e}[data-theme=dark] .custom-select .ownership-badge.personal,[data-theme=dark] .custom-select-dropdown-portal .ownership-badge.personal{background:#3b82f633}[data-theme=dark] .custom-select .ownership-badge.household,[data-theme=dark] .custom-select-dropdown-portal .ownership-badge.household{background:#22c55e33}.custom-select.small .custom-select-option,.custom-select.small .custom-select-trigger{font-size:.9rem;padding:var(--spacing-sm) var(--spacing-md)}.filters-bar .custom-select{min-width:140px}.filters-bar .custom-select-trigger{background:var(--background-color);border-color:var(--border-color);border-radius:var(--border-radius);font-size:.95rem;height:42px;padding:9px 12px}.filters-bar .custom-select-dropdown,.filters-bar .custom-select-trigger.open{border-radius:var(--border-radius)}.filters-bar .custom-select-option{font-size:.95rem;padding:10px 12px}@media (max-width:600px){.custom-select-trigger{font-size:.9rem;height:auto;min-height:38px;padding:var(--spacing-xs) var(--spacing-sm)}.custom-select-option{font-size:.9rem;padding:var(--spacing-sm) var(--spacing-md)}.custom-select-dropdown-portal{max-height:200px}}.filter-dropdown .custom-select-trigger{height:40px}.filter-dropdown .custom-select-option,.filter-dropdown .custom-select-trigger{font-size:.875rem;padding:var(--spacing-sm) var(--spacing-md)}.filter-dropdown .custom-select-label{white-space:nowrap}.text-input{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-sizing:border-box;color:var(--text-primary);display:flex;font-size:1rem;gap:var(--spacing-sm);height:55px;padding:var(--spacing-md);position:relative;transition:all .2s;width:100%}.text-input:hover:not(.disabled){border-color:var(--primary-color)}.text-input:focus-within:not(.disabled){border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.text-input.disabled{background:var(--background-color);cursor:not-allowed;opacity:.6}.text-input .text-input-field{background:#0000!important;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:1rem;height:auto!important;margin:0;min-width:0;padding:0!important;width:100%}.text-input .text-input-field,.text-input .text-input-field:focus{border:none!important;box-shadow:none!important;outline:none!important}.text-input .text-input-field::placeholder{color:var(--text-secondary)}.text-input .text-input-field:disabled{cursor:not-allowed}.text-input-field::-webkit-inner-spin-button,.text-input-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.text-input-field[type=number]{-moz-appearance:textfield}.text-input-icon{align-items:center;color:var(--text-secondary);display:flex;flex-shrink:0;justify-content:center}.text-input-icon.currency-symbol{font-size:1rem;font-weight:500}.currency-input-container{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-sizing:border-box;color:var(--text-primary);display:flex;font-size:1rem;gap:var(--spacing-xs);height:55px;padding:var(--spacing-md);position:relative;transition:all .2s;width:100%}.currency-input-container:hover:not(.disabled){border-color:var(--primary-color)}.currency-input-container:focus-within:not(.disabled){border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.currency-input-container.disabled{cursor:not-allowed;opacity:.6}.currency-prefix{font-size:1rem;font-weight:500}.currency-prefix,.text-input-suffix{color:var(--text-secondary);flex-shrink:0}.text-input-suffix{align-items:center;display:flex;font-size:.9rem;justify-content:center}.modal-body .currency-input-container,.modal-body .text-input{height:48px;padding:var(--spacing-sm) var(--spacing-md)}@media (max-width:600px){.text-input{height:44px;padding:8px 10px}.text-input,.text-input-field{font-size:.9rem}.currency-input-container{font-size:.9rem;height:44px;padding:8px 10px}.currency-prefix{font-size:.9rem}.modal-body .text-input{height:38px;padding:8px 10px}.modal-body .text-input-field{font-size:.9rem}.modal-body .currency-input-container{height:38px;padding:8px 10px}.modal-body .currency-prefix{font-size:.85rem}}.text-area{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-sizing:border-box;color:var(--text-primary);display:flex;font-size:1rem;min-height:80px;padding:var(--spacing-md);position:relative;transition:all .2s;width:100%}.text-area:hover:not(.disabled){border-color:var(--primary-color)}.text-area:focus-within:not(.disabled){border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.text-area.disabled{cursor:not-allowed;opacity:.6}.text-area .text-area-field{background:#0000!important;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:1rem;margin:0;min-height:60px;min-width:0;padding:0!important;resize:vertical;width:100%}.text-area .text-area-field,.text-area .text-area-field:focus{border:none!important;box-shadow:none!important;outline:none!important}.text-area .text-area-field::placeholder{color:var(--text-secondary)}@media (max-width:600px){.text-area{font-size:.9rem;min-height:60px;padding:8px 10px}.text-area-field{font-size:.9rem;min-height:40px}.modal-body .text-area{min-height:50px;padding:8px 10px}.modal-body .text-area-field{font-size:.9rem;min-height:35px}}.card-art-picker-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-md);position:fixed;right:0;top:0;z-index:10000}.card-art-picker-modal{animation:slideUp .3s ease;background:var(--surface-color);border-radius:var(--border-radius-lg);box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:420px;width:100%}.card-art-picker-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.card-art-picker-header h3{align-items:center;display:flex;font-size:1.1rem;font-weight:600;gap:var(--spacing-sm);margin:0}.card-art-picker-header .close-btn{background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);transition:all .2s}.card-art-picker-header .close-btn:hover{background:var(--background-color);color:var(--text-primary)}.card-art-picker-content{flex:1 1;overflow-y:auto;padding:var(--spacing-lg)}.picker-mode-tabs{background:var(--background-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);padding:4px}.mode-tab,.picker-mode-tabs{display:flex;gap:var(--spacing-xs)}.mode-tab{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.mode-tab:hover{color:var(--text-primary)}.mode-tab.active{background:var(--surface-color);box-shadow:0 1px 3px #0000001a;color:var(--primary-color)}.card-preview-container{display:flex;justify-content:center;margin-bottom:var(--spacing-lg);perspective:1000px}.generated-card-preview{aspect-ratio:1.586;border-radius:16px;box-shadow:0 25px 50px #0006,inset 0 0 0 1px #ffffff1a;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;max-width:320px;overflow:hidden;padding:20px;position:relative;transform:rotateX(2deg);transition:transform .3s ease;width:100%}.generated-card-preview:hover{transform:rotateX(0deg) scale(1.02)}.preview-shine{background:linear-gradient(135deg,#fff3,#fff0 40%,#fff0 60%,#ffffff1a)}.preview-pattern,.preview-shine{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.preview-pattern{background-image:repeating-linear-gradient(135deg,#0000,#0000 4px,#ffffff05 0,#ffffff05 8px)}.preview-chip{background:linear-gradient(135deg,#e8d5a3,#f5e6c3 30%,#d4bc7c 50%,#f5e6c3 70%,#c9a94e);border:1px solid #0000001a;border-radius:6px;box-shadow:0 2px 4px #0000001a;height:38px;left:24px;position:absolute;top:55px;width:50px}.chip-contacts{grid-gap:4px;box-sizing:border-box;display:grid;gap:4px;grid-template-columns:1fr 1fr;height:100%;padding:6px 8px}.chip-contact{background:#b4a06480;border-radius:1px}.preview-contactless{height:24px;left:88px;opacity:.7;position:absolute;top:58px;transform:rotate(90deg);width:24px}.preview-contactless svg{height:100%;width:100%}.preview-logo-area{align-items:center;display:flex;height:36px;justify-content:flex-end;max-width:120px;position:absolute;right:20px;top:16px}.preview-logo{filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));max-height:36px;max-width:100px;object-fit:contain}.preview-logo.logo-white{filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.3))}.preview-institution-text{font-size:.85rem;font-weight:700;letter-spacing:.5px;text-shadow:0 1px 2px #0000004d}.preview-logo-area .spinning{animation:spin 1s linear infinite;opacity:.5}.preview-card-number{bottom:56px;font-family:SF Mono,Consolas,monospace;font-size:1.2rem;font-weight:600;left:24px;letter-spacing:3px;position:absolute;text-shadow:0 1px 2px #0000004d}.preview-bottom-row{align-items:flex-end;bottom:16px;display:flex;justify-content:space-between;left:24px;position:absolute;right:24px}.preview-institution-name,.preview-name-on-card{font-size:.8rem;font-weight:600;letter-spacing:.5px;text-shadow:0 1px 2px #0003}.preview-bank-icon{align-items:center;display:flex;gap:12px;left:24px;opacity:.9;position:absolute;top:50px}.preview-bank-icon .bank-label{font-size:.65rem;font-weight:600;letter-spacing:.5px;opacity:.7}.preview-account-number{font-size:1.1rem!important;letter-spacing:2px!important}.preview-valid-thru{align-items:center;display:flex;gap:6px}.valid-label{font-size:.4rem;letter-spacing:.3px;line-height:1.2;opacity:.6;text-align:right;text-transform:uppercase}.valid-date{font-size:.75rem;font-weight:500;letter-spacing:1px}.preview-decoration{bottom:0;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0}.decoration-circle{background:#ffffff14;border-radius:50%;position:absolute}.decoration-circle.circle-1{height:200px;right:-60px;top:-60px;width:200px}.decoration-circle.circle-2{background:#ffffff0d;bottom:-40px;height:150px;left:-40px;width:150px}.theme-selector-section{margin-bottom:var(--spacing-md)}.section-label{color:var(--text-secondary);display:block;font-size:.85rem;font-weight:500;margin-bottom:var(--spacing-sm)}.theme-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(6,1fr)}.theme-swatch{align-items:center;aspect-ratio:1;border:2px solid #0000;border-radius:8px;color:#fff;cursor:pointer;display:flex;justify-content:center;min-height:40px;transition:all .2s}.theme-swatch:hover{box-shadow:0 4px 12px #0000004d;transform:scale(1.1)}.theme-swatch.selected{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--surface-color),0 0 0 4px var(--primary-color);transform:scale(1.05)}.logo-info{background:var(--background-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:.8rem;padding:var(--spacing-sm);text-align:center}.upload-section{gap:var(--spacing-md)}.upload-dropzone,.upload-section{display:flex;flex-direction:column}.upload-dropzone{align-items:center;background:var(--background-color);border:2px dashed var(--border-color);border-radius:var(--border-radius);cursor:pointer;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);text-align:center;transition:all .2s}.upload-dropzone:hover{background:#2563eb0d;border-color:var(--primary-color)}.upload-dropzone svg{color:var(--text-secondary)}.upload-dropzone span{color:var(--text-primary);font-weight:500}.upload-dropzone small{color:var(--text-secondary);font-size:.8rem}.upload-preview-container{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md)}.upload-preview-image{border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;max-height:200px;max-width:100%;object-fit:contain}.change-upload-btn{background:#0000;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.change-upload-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.upload-error{color:var(--danger-color);font-size:.85rem;text-align:center}.custom-url-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.url-description{background:var(--background-color);border-left:3px solid var(--primary-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0;padding:var(--spacing-sm) var(--spacing-md)}.url-input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.url-input-group input{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:.9rem;padding:var(--spacing-sm) var(--spacing-md);width:100%}.url-input-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.url-input-group input.error{border-color:var(--danger-color)}.url-error{color:var(--danger-color);font-size:.8rem}.url-preview{background:var(--background-color);display:flex;justify-content:center;padding:var(--spacing-md)}.url-preview,.url-preview img{border-radius:var(--border-radius)}.url-preview img{max-height:150px;max-width:100%;object-fit:contain}.card-art-picker-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.btn-remove-small{background:#0000;border:1px solid var(--danger-color);border-radius:var(--border-radius);color:var(--danger-color);cursor:pointer;font-size:.8rem;padding:var(--spacing-xs) var(--spacing-sm);transition:all .2s}.btn-remove-small:hover{background:var(--danger-color);color:#fff}.footer-actions{display:flex;gap:var(--spacing-sm);margin-left:auto}.btn-cancel{background:#0000;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;font-size:.85rem;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.btn-cancel:hover{background:var(--background-color);color:var(--text-primary)}.btn-select{background:var(--primary-color);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s}.btn-select:hover{background:var(--primary-hover)}.btn-select:disabled{cursor:not-allowed;opacity:.5}.card-image-preview-wrapper{border-radius:var(--border-radius);cursor:pointer;display:block;margin:0 auto;max-width:340px;overflow:hidden;position:relative;width:100%}.card-image-preview-wrapper .card-image-preview{border-radius:var(--border-radius);display:block;transition:filter .2s ease;width:100%}.card-image-actions-overlay{align-items:center;background:#0009;bottom:0;display:flex;gap:var(--spacing-md);justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .2s ease}.card-image-actions-overlay.visible{opacity:1;pointer-events:auto}@media (hover:hover){.card-image-preview-wrapper:hover .card-image-actions-overlay{opacity:1;pointer-events:auto}.card-image-preview-wrapper:hover .card-image-preview{filter:brightness(.7)}}.card-action-btn{align-items:center;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s ease;width:44px}.card-action-btn.edit{background:var(--primary-color)}.card-action-btn.edit:hover{background:var(--primary-hover);transform:scale(1.1)}.card-action-btn.remove{background:var(--danger-color)}.card-action-btn.remove:hover{background:#dc2626;transform:scale(1.1)}.card-action-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:480px){.card-art-picker-modal{max-height:95vh}.card-art-picker-content{padding:var(--spacing-md)}.generated-card-preview{padding:16px;transform:none}.generated-card-preview:hover{transform:none}.preview-card-number{bottom:50px;font-size:1rem}.preview-bottom-row{bottom:12px}.theme-grid{grid-template-columns:repeat(4,1fr)}.card-art-picker-footer{flex-direction:column;gap:var(--spacing-sm)}.btn-remove-small{order:3;width:100%}.footer-actions{margin-left:0;width:100%}.footer-actions button{flex:1 1}.card-image-preview-wrapper{max-width:100%}.card-action-btn{height:40px;width:40px}}.bm-page{display:flex;flex-direction:column;margin:0 auto;max-width:1600px;min-height:calc(100vh - 60px);overflow-x:hidden;padding:var(--spacing-lg) var(--spacing-xl)}.bm-page,.bm-page *{box-sizing:border-box}.bm-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-lg)}.bm-header h1{font-size:1.75rem;font-weight:var(--font-bold);margin:0}.bm-header-buttons{display:flex;gap:var(--spacing-xs)}.bm-btn-text{margin-left:.25rem}.bm-toolbar{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.bm-view-toggle{border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;overflow:hidden}.bm-view-btn{align-items:center;background:var(--surface-color);border:none;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:var(--transition-fast);width:40px}.bm-view-btn:not(:last-child){border-right:1px solid var(--border-color)}.bm-view-btn:hover{background:var(--background-color);color:var(--text-primary)}.bm-view-btn.active{background:var(--primary-color);color:#fff}.bm-search-filter{align-items:center;display:flex;gap:var(--spacing-xs);margin-left:auto}.month-nav-bar{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 1.25rem}.month-nav-controls{align-items:center;display:flex;gap:var(--spacing-xs)}.month-nav-btn{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:var(--transition-fast);width:32px}.month-nav-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.month-nav-today{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:.375rem var(--spacing-sm);transition:var(--transition-fast)}.month-nav-today:hover{border-color:var(--primary-color);color:var(--primary-color)}.month-nav-label{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);min-width:140px}.month-nav-stats{align-items:center;display:flex;gap:var(--spacing-lg)}.month-stat{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.month-stat.overdue{background:#ef44441a;border-radius:var(--border-radius);padding:.375rem var(--spacing-sm)}.month-stat-label{color:var(--text-tertiary);font-size:.6875rem;letter-spacing:.5px;text-transform:uppercase}.month-stat.overdue .month-stat-label{color:var(--danger-color)}.month-stat-value{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.month-stat-value.paid{color:var(--success-color)}.month-stat.overdue .month-stat-value{color:var(--danger-color)}.budget-bar{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 1.25rem}.budget-income,.budget-remaining{align-items:center;display:flex;gap:var(--spacing-xs)}.budget-income svg{color:var(--success-color)}.budget-label{color:var(--text-secondary);font-size:var(--text-sm)}.budget-value{color:var(--text-primary);font-weight:var(--font-semibold)}.budget-value.positive{color:var(--success-color)}.budget-value.negative{color:var(--danger-color)}.budget-progress{align-items:center;display:flex;flex:1 1;gap:var(--spacing-sm);min-width:200px}.progress-track{flex:1 1}.progress-fill.good{background:var(--success-color)}.progress-fill.caution{background:var(--warning-color)}.progress-fill.warning{background:var(--danger-color)}.progress-label{color:var(--text-secondary);font-size:.8125rem;white-space:nowrap}.bm-page .overdue-banner{background:linear-gradient(135deg,#7f1d1d,#991b1b);border-radius:var(--radius-lg);display:block;margin-bottom:var(--spacing-md);padding:var(--spacing-md) 1.25rem}.bm-page .overdue-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;margin-bottom:var(--spacing-sm)}.bm-page .overdue-title{align-items:center;color:#fecaca;display:flex;font-size:.9375rem;font-weight:var(--font-semibold);gap:var(--spacing-xs)}.bm-page .overdue-summary{align-items:center;display:flex;gap:var(--spacing-md)}.bm-page .overdue-count{color:#fca5a5;font-size:var(--text-sm)}.bm-page .overdue-total{color:#fff;font-size:var(--text-lg);font-weight:var(--font-semibold)}.bm-page .overdue-list{grid-gap:var(--spacing-xs);display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.bm-page .overdue-item{align-items:center;background:#0003;border-radius:var(--border-radius);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:.625rem var(--spacing-sm);transition:background var(--transition-fast)}.bm-page .overdue-item:hover{background:#0000004d}.bm-page .overdue-item-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.bm-page .overdue-item-name{color:#fff;font-size:var(--text-sm);font-weight:var(--font-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-page .overdue-item-due{color:#fca5a5;font-size:.8rem}.bm-page .overdue-item-amount{color:#fff;font-size:.9375rem;font-weight:var(--font-semibold)}.bm-page .overdue-expand{align-items:center;background:#0000;border:none;color:#fca5a5;cursor:pointer;display:flex;font-size:.8125rem;gap:.25rem;justify-content:center;margin-top:auto;padding:var(--spacing-xs);padding-top:var(--spacing-xs);transition:color var(--transition-fast);width:100%}.bm-page .overdue-expand:hover{color:#fff}.bm-bento-grid{grid-gap:1.25rem;align-items:stretch;display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}.bm-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.bm-card-wide{grid-column:span 3}.bm-card-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.bm-card-header.income{background:#22c55e14}.bm-card-header.income .bm-card-title,.bm-card-header.success .bm-card-title{color:var(--success-color)}.bm-card-header.muted .bm-card-title{color:var(--text-tertiary)}.bm-card-title{align-items:center;color:var(--text-primary);display:flex;font-size:.9375rem;gap:var(--spacing-xs)}.bm-card-count,.bm-card-title{font-weight:var(--font-semibold)}.bm-card-count{background:var(--background-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.8125rem;padding:.125rem .625rem}.bm-card-content{flex:1 1;padding:var(--spacing-sm)}.bm-bottom-cards{grid-gap:1.25rem;align-items:start;display:grid;gap:1.25rem;grid-column:span 3;grid-template-columns:repeat(3,1fr)}.bm-bottom-cards.bento-count-0,.bm-bottom-cards:empty{display:none}.bento-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:426px;overflow:hidden}.bento-card.expanded{height:auto}.bento-card-header{align-items:center;border-bottom:1px solid var(--border-color);box-sizing:border-box;display:flex;flex-shrink:0;height:40px;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.bento-card-header.income{background:#22c55e14}.bento-card-header.income .bento-card-title,.bento-card-header.success .bento-card-title{color:var(--success-color)}.bento-card-header.muted .bento-card-title{color:var(--text-tertiary)}.bento-card-title{align-items:center;color:var(--text-primary);display:flex;font-size:.9375rem;font-weight:var(--font-semibold);gap:var(--spacing-xs)}.bento-card-info{display:flex;flex-direction:column;flex-shrink:0;height:90px;justify-content:center}.bento-card-info.has-content{border-bottom:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-md)}.bento-card-items{flex:1 1;min-height:0;padding:var(--spacing-xs) var(--spacing-md) var(--spacing-sm)}.bento-card-items,.bento-card-items-list{display:flex;flex-direction:column}.bento-card-items-list .bm-bill-item{box-sizing:border-box;flex-shrink:0;height:48px}.bm-bottom-cards.bento-count-1{grid-template-columns:1fr}.bm-bottom-cards.bento-count-1 .bento-card-items-list{grid-gap:0 var(--spacing-lg);display:grid;gap:0 var(--spacing-lg);grid-template-columns:repeat(2,1fr)}.bm-bottom-cards.bento-count-2{grid-template-columns:repeat(2,1fr)}.bento-card-expand{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--text-sm);gap:var(--spacing-xs);height:36px;justify-content:center;margin-top:auto;transition:var(--transition-fast);width:100%}.bento-card-expand:hover{color:var(--primary-color)}.bm-month-bills-expand{grid-column:1/-1}.bm-bills-grid{grid-gap:var(--spacing-xs);display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(2,1fr)}.bm-empty{align-items:center;color:var(--text-tertiary);display:flex;flex-direction:column;gap:var(--spacing-xs);grid-column:span 2;justify-content:center;padding:var(--spacing-xl);text-align:center}.bm-empty svg{opacity:.5}.bm-bill-item{align-items:center;border-radius:var(--border-radius);cursor:pointer;display:flex;gap:.625rem;padding:var(--spacing-xs) var(--spacing-sm);transition:background var(--transition-fast)}.bm-bill-item:hover{background:var(--background-color)}.bm-bill-item.paid{opacity:.6}.bm-bill-item.overdue{background:#ef444414}.bm-bill-item.overdue:hover{background:#ef44441f}.paid-check{color:var(--success-color);flex-shrink:0}.bm-bill-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.bm-bill-name{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:.375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-bill-name .autopay-icon{color:var(--primary-color);flex-shrink:0}.bm-bill-due{color:var(--text-secondary);font-size:var(--text-xs)}.bm-bill-due.overdue{color:var(--danger-color)}.bm-bill-amount{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);white-space:nowrap}.bm-bill-amount.paid,.bm-bill-amount.positive{color:var(--success-color)}.bento-info-primary{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:var(--leading-tight)}.bento-info-primary span{font-weight:var(--font-normal)}.bento-info-primary span,.bento-info-secondary{color:var(--text-secondary);font-size:var(--text-sm)}.bento-info-secondary{margin-top:2px}.bento-info-stats{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-xs)}.bento-info-stat{display:flex;flex-direction:column;gap:2px}.bento-info-stat-label{color:var(--text-tertiary);font-size:.6875rem;text-transform:uppercase}.bento-info-stat-value{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.bento-info-stat-value.positive{color:var(--success-color)}.bm-card-expand{align-items:center;background:#0000;border:none;border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8125rem;gap:.25rem;justify-content:center;margin-top:var(--spacing-xs);padding:var(--spacing-xs);transition:var(--transition-fast);width:100%}.bm-card-expand:hover{background:var(--background-color);color:var(--primary-color)}.view-bill-card,.view-bill-modal{padding:var(--spacing-md)}.view-bill-card{align-items:flex-start;background:var(--background-color);border-left:4px solid var(--primary-color);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.view-bill-card.overdue{background:linear-gradient(90deg,#ef444414 0,var(--background-color) 100%);border-left-color:var(--danger-color)}.view-bill-card.paid{border-left-color:var(--success-color)}.view-bill-card.inactive{border-left-color:var(--text-tertiary);opacity:.7}.view-bill-card-icon{align-items:center;background:var(--surface-color);border-radius:var(--border-radius);display:flex;flex-shrink:0;height:48px;justify-content:center;overflow:hidden;width:48px}.view-bill-card-icon img{height:100%;object-fit:contain;width:100%}.view-bill-card-info{flex:1 1;min-width:0}.view-bill-card-info h2{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 .25rem}.view-bill-card-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--spacing-xs)}.autopay-badge{align-items:center;color:var(--primary-color);display:inline-flex;font-size:.8125rem;gap:.25rem;margin-top:.25rem}.view-bill-card-amount{flex-shrink:0;text-align:right}.view-bill-card-amount .amount{color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold)}.view-bill-card.overdue .view-bill-card-amount .amount{color:var(--danger-color)}.view-bill-card-amount .status{align-items:center;display:flex;font-size:var(--text-xs);font-weight:var(--font-medium);gap:.25rem;justify-content:flex-end;margin-top:.25rem}.view-bill-card-amount .status.overdue{color:var(--danger-color)}.view-bill-card-amount .status.paid{color:var(--success-color)}.view-bill-card-amount .status.inactive{color:var(--text-tertiary)}.view-bill-details{margin-bottom:var(--spacing-md)}.view-bill-detail-row{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.625rem 0}.view-bill-detail-row:last-child{border-bottom:none}.detail-label{font-size:var(--text-sm)}.detail-value{align-items:center;display:flex;font-size:.9375rem;font-weight:var(--font-medium);gap:var(--spacing-xs)}.detail-value.overdue{color:var(--danger-color)}.detail-value svg{color:var(--text-tertiary)}.detail-value-with-image{gap:var(--spacing-sm)}.card-image-preview{border-radius:var(--radius-sm);box-shadow:var(--shadow-md);height:30px;object-fit:cover;width:48px}.detail-link{align-items:center;color:var(--primary-color);display:inline-flex;font-weight:var(--font-medium);gap:.25rem;text-decoration:none}.detail-link:hover{text-decoration:underline}.view-bill-notes{background:var(--background-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);padding:var(--spacing-sm)}.view-bill-notes p{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal);margin:.25rem 0 0}.view-bill-actions{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding-top:var(--spacing-md)}.view-bill-actions-left,.view-bill-actions-right{display:flex;gap:var(--spacing-xs)}.btn-icon{background:#0000;border-radius:var(--border-radius);height:40px;transition:var(--transition-fast);width:40px}.btn-icon:hover{background:var(--background-color);color:var(--text-primary)}.btn-icon-danger{border-color:#ef44444d;color:var(--danger-color)}.btn-icon-danger:hover{background:#ef44441a;border-color:var(--danger-color)}.btn-income{background-color:#15803d;border-color:#15803d;color:#fff}.btn-income:hover:not(:disabled){background-color:#166534;border-color:#166534}.btn-success-soft{background:#22c55e26;border:1px solid #22c55e4d;color:var(--success-color)}.btn-success-soft:hover{background:#22c55e40;border-color:var(--success-color)}.btn-primary-soft{background:#3b82f626;border:1px solid #3b82f64d;color:var(--primary-color)}.btn-primary-soft:hover{background:#3b82f640;border-color:var(--primary-color)}.btn-danger-soft{background:#ef444426;border:1px solid #ef44444d;color:var(--danger-color)}.btn-danger-soft:hover{background:#ef444440;border-color:var(--danger-color)}.modal-footer-split{align-items:center;display:flex;justify-content:space-between}.modal-footer-right{display:flex;gap:var(--spacing-xs)}.payment-bill-summary{align-items:center;background:var(--background-color);border-radius:var(--border-radius);display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.bill-info{align-items:center;display:flex;flex:1 1;gap:var(--spacing-sm);min-width:0}.bill-info h4{font-size:var(--text-base);margin:0}.bill-info p{font-size:var(--text-sm);margin:0}.bill-amount-display{color:var(--primary-color);font-size:var(--text-xl);font-weight:var(--font-bold)}.form-row-2{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.optional-label{font-size:.8em}.delete-confirm-content{padding:var(--spacing-lg) 0;text-align:center}.delete-confirm-content p{margin-bottom:var(--spacing-xs)}.delete-confirm-content .text-secondary{color:var(--text-secondary);font-size:var(--text-sm)}.delete-confirm-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg)}.bm-page .calendar-view-wrapper.calendar-page{flex:1 1;min-height:0;overflow:hidden;padding:0}.bm-page .agenda-view-wrapper.calendar-page{flex:none;height:auto;padding:0}@media (max-width:1400px){.bm-bento-grid{grid-template-columns:repeat(2,1fr)}.bm-bottom-cards,.bm-card-wide{grid-column:span 2}}@media (max-width:1024px){.bm-page{padding:var(--spacing-md) var(--spacing-lg)}.month-nav-bar{flex-wrap:wrap;gap:var(--spacing-md)}.month-nav-stats{justify-content:space-between;width:100%}.budget-bar{flex-wrap:wrap;gap:var(--spacing-md)}.budget-progress{order:3;width:100%}}@media (max-width:768px){.bm-page{padding:var(--spacing-md)}.bm-header{flex-wrap:wrap}.bm-header h1{font-size:var(--text-xl)}.bm-btn-text{display:none}.bm-toolbar{flex-wrap:nowrap}.bm-search-filter{flex:1 1;margin-left:auto;max-width:none}.month-nav-bar{align-items:stretch;flex-direction:column;gap:var(--spacing-sm)}.month-nav-controls,.month-nav-stats{justify-content:center}.month-nav-stats{flex-wrap:wrap;gap:var(--spacing-sm)}.month-stat{align-items:center}.budget-bar{align-items:stretch;flex-direction:column;gap:var(--spacing-sm)}.budget-income,.budget-remaining{justify-content:space-between}.bm-bento-grid{grid-template-columns:1fr}.bm-bottom-cards,.bm-card-wide{grid-column:span 1}.bm-bills-grid,.bm-bottom-cards{grid-template-columns:1fr}.bm-empty{grid-column:span 1}.form-row-2,.overdue-list{grid-template-columns:1fr}.view-bill-actions{flex-direction:column;gap:var(--spacing-sm)}.view-bill-actions-left,.view-bill-actions-right{justify-content:flex-start;width:100%}.view-bill-actions-right{flex-direction:column}.view-bill-actions-right .btn{justify-content:center;width:100%}}.loading-state{padding:var(--spacing-3xl)}.import-upload-step{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-instructions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:space-between}.import-instructions p{color:var(--text-secondary);margin:0}.btn-text-link{align-items:center;background:none;border:none;color:var(--primary-color);cursor:pointer;display:inline-flex;font-size:var(--text-sm);gap:.375rem;padding:0}.btn-text-link:hover{text-decoration:underline}.import-dropzone{border:2px dashed var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-xl);position:relative;text-align:center;transition:var(--transition-base)}.import-dropzone:hover{background:#3b82f60d;border-color:var(--primary-color)}.import-file-input{cursor:pointer;inset:0;opacity:0;position:absolute}.import-dropzone-label{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--spacing-xs);pointer-events:none}.import-dropzone-hint,.import-dropzone-label svg{color:var(--text-tertiary)}.import-dropzone-hint{font-size:.8125rem}.import-field-info{background:var(--background-color);border-radius:var(--border-radius);font-size:var(--text-sm);padding:var(--spacing-md) 1.25rem}.import-field-info h4{color:var(--text-primary);font-size:.8125rem;font-weight:var(--font-semibold);letter-spacing:.5px;margin:0 0 var(--spacing-xs) 0;text-transform:uppercase}.import-field-info h4:not(:first-child){margin-top:var(--spacing-md)}.import-field-info ul{list-style:disc;margin:0;padding-left:1.25rem}.import-field-info li{color:var(--text-secondary);line-height:var(--leading-normal);margin-bottom:.375rem}.import-field-info li:last-child{margin-bottom:0}.import-field-info code{background:var(--surface-color);border-radius:var(--radius-sm);color:var(--primary-color);font-family:Monaco,Consolas,monospace;font-size:.8125rem;padding:.125rem .375rem}.import-errors,.import-warnings{border-radius:var(--border-radius);display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.import-errors{background:#ef44441a;border:1px solid #ef44444d;color:var(--danger-color)}.import-warnings{background:#f59e0b1a;border:1px solid #f59e0b4d;color:var(--warning-color)}.import-errors>svg,.import-warnings>svg{flex-shrink:0}.import-errors ul,.import-warnings ul{margin:0;padding-left:1.25rem}.import-errors li,.import-warnings li{margin-bottom:.25rem}.import-preview-step{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-preview-summary{font-size:.9375rem;margin:0}.import-warning{color:var(--warning-color)}.import-preview-table{border:1px solid var(--border-color);border-radius:var(--border-radius);overflow-x:auto}.import-preview-table table{border-collapse:collapse;font-size:var(--text-sm);width:100%}.import-preview-table td,.import-preview-table th{border-bottom:1px solid var(--border-color);padding:.625rem var(--spacing-sm);text-align:left}.import-preview-table th{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.5px;text-transform:uppercase}.import-preview-table tbody tr:hover,.import-preview-table th{background:var(--background-color)}.import-preview-table tbody tr:last-child td{border-bottom:none}.import-preview-more{color:var(--text-tertiary);font-size:var(--text-sm);margin:0;padding:var(--spacing-sm);text-align:center}.type-badge{border-radius:var(--radius-sm);display:inline-block;font-size:var(--text-xs);font-weight:var(--font-medium);padding:.125rem var(--spacing-xs)}.type-badge.household{background:var(--color-household-bg-hover);color:var(--color-household)}.type-badge.personal{background:var(--color-personal-bg-hover);color:var(--color-personal)}.import-result-step{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-result-summary{align-items:center;background:var(--background-color);border-radius:var(--border-radius);display:flex;flex-direction:column;padding:var(--spacing-xl);text-align:center}.import-result-summary.success svg{color:var(--success-color)}.import-result-summary.has-errors svg{color:var(--warning-color)}.import-result-summary h3{font-size:var(--text-xl);margin:var(--spacing-md) 0 var(--spacing-xs)}.import-result-summary p{color:var(--text-secondary);margin:0}.import-failed{color:var(--danger-color)}.date-picker{position:relative;width:100%}.date-picker-input{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);transition:all .2s;-webkit-user-select:none;user-select:none}.date-picker-input.active,.date-picker-input:hover:not(.disabled){border-color:var(--primary-color)}.date-picker-input.active{box-shadow:0 0 0 3px #2563eb1a}.date-picker-input.disabled{background-color:var(--surface-color);cursor:not-allowed;opacity:.6}.date-picker-icon{color:var(--text-secondary);flex-shrink:0}.date-picker-value{color:var(--text-primary);flex:1 1;font-size:1rem}.date-picker-placeholder{color:var(--text-tertiary);flex:1 1;font-size:1rem}.required-indicator{color:var(--danger-color);font-weight:700;margin-left:auto}.date-picker-backdrop{display:none}@media (max-width:768px){.date-picker-backdrop{background:#00000080;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:99998}}.date-picker-dropdown{animation:slideDown .15s ease;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 10px 40px #0000004d;min-width:300px;padding:var(--spacing-md);position:fixed;z-index:99999}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.calendar-header{gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.calendar-nav-btn{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.calendar-nav-btn:hover{background:var(--surface-color);border-color:var(--primary-color);color:var(--primary-color)}.calendar-month-year{color:var(--text-primary);flex:1 1;font-size:.95rem;font-weight:600;text-align:center}.calendar-weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:var(--spacing-sm)}.calendar-weekday{color:var(--text-secondary);font-size:.75rem;font-weight:600;padding:4px;text-align:center;text-transform:uppercase}.calendar-days{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:var(--spacing-md)}.calendar-day{align-items:center;aspect-ratio:1;background:var(--background-color);border:1px solid #0000;border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;justify-content:center;min-height:36px;position:relative;transition:all .15s}.calendar-day:hover:not(.disabled){background:var(--surface-color);border-color:var(--primary-color);color:var(--primary-color)}.calendar-day.other-month{background:#0000;color:var(--text-tertiary)}.calendar-day.other-month:hover:not(.disabled){background:var(--background-color);opacity:.7}.calendar-day.selected,.calendar-day.today{border-color:var(--primary-color);font-weight:600}.calendar-day.selected{background:var(--primary-color);color:#fff}.calendar-day.selected:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.calendar-day.disabled{background:#0000;color:var(--text-tertiary);cursor:not-allowed;opacity:.4}.calendar-day.disabled:hover{background:#0000;border-color:#0000}.calendar-footer{border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-sm)}.calendar-footer-btn{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:var(--spacing-sm);transition:all .2s}.calendar-footer-btn:hover{background:var(--surface-color);border-color:var(--primary-color);color:var(--primary-color)}[data-theme=dark] .calendar-day.selected{background:var(--primary-color);color:#fff}[data-theme=dark] .calendar-day.today{border-color:var(--primary-color)}@media (max-width:768px){.date-picker-dropdown{animation:slideUpCalendar .2s ease;border-radius:12px 12px 0 0;bottom:0!important;left:0!important;max-width:100%!important;min-width:100%!important;padding:12px 16px 16px;position:fixed!important;right:0!important;top:auto!important;width:100%!important}@keyframes slideUpCalendar{0%{opacity:1;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.date-picker-input{padding:var(--spacing-sm) var(--spacing-md)}.date-picker-icon{height:16px;width:16px}.date-picker-placeholder,.date-picker-value{font-size:.9rem}.calendar-header{margin-bottom:8px;padding:0}.calendar-nav-btn{height:32px;width:32px}.calendar-month-year{font-size:1rem;font-weight:600}.calendar-weekdays{gap:2px;margin-bottom:4px}.calendar-weekday{font-size:.65rem;padding:4px 0}.calendar-days{gap:2px;margin-bottom:8px}.calendar-day{aspect-ratio:unset;border-radius:6px;font-size:.9rem;height:38px;min-height:38px}.calendar-footer{border-top:1px solid var(--border-color);gap:8px;padding:8px 0 0}.calendar-footer-btn{font-size:.9rem;padding:10px 16px}}@media (max-width:380px){.date-picker-dropdown{padding:10px 12px 14px}.calendar-day{font-size:.85rem;height:34px;min-height:34px}.calendar-nav-btn{height:28px;width:28px}.calendar-footer-btn{padding:8px 12px}}.manage-income-content{display:flex;flex-direction:column;max-height:calc(85vh - 120px);overflow:hidden}.income-summary-header{background:linear-gradient(135deg,#05966926,#0596690d);border-radius:var(--border-radius);flex-shrink:0;justify-content:space-between;margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.income-summary-header,.income-summary-info{align-items:center;display:flex;gap:var(--spacing-md)}.income-summary-icon{align-items:center;background:#059669;border-radius:var(--border-radius);color:#fff;display:flex;height:48px;justify-content:center;width:48px}.income-summary-info h3{color:#059669;font-size:1.5rem;margin:0}.income-summary-info p{color:var(--text-secondary);font-size:.85rem;margin:0}.income-list{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-sm);min-height:0;overflow-y:auto;padding-bottom:var(--spacing-sm);padding-right:var(--spacing-xs)}.income-item{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all .2s}.income-item:hover{border-color:#05966980}.income-item.inactive{opacity:.6}.income-item-icon{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:#059669;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.income-item-icon .income-logo{border-radius:4px;height:32px;object-fit:contain;width:32px}.income-item-info{flex:1 1;min-width:0}.income-item-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.income-item-header h4{color:var(--text-primary);font-size:.95rem;font-weight:600;margin:0}.income-item-frequency{color:var(--text-secondary);font-size:.8rem;margin:4px 0 0}.income-item-amount{color:var(--text-primary);font-size:.85rem;margin:2px 0 0}.income-item-amount .monthly{color:#059669;font-weight:600}.income-item-actions{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-sm)}.income-item-share{align-items:center;border-right:1px solid var(--border-color);display:flex;gap:var(--spacing-xs);padding-right:var(--spacing-sm)}.income-item-share-label{color:var(--text-secondary);font-size:.75rem;white-space:nowrap}.income-item-buttons{display:flex;gap:var(--spacing-xs)}.income-empty-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);text-align:center}.income-empty-state svg{margin-bottom:var(--spacing-md);opacity:.5}.income-empty-state h3{color:var(--text-primary);margin:0 0 var(--spacing-sm)}.income-empty-state p{margin:0 0 var(--spacing-lg);max-width:300px}.income-sharing-section{display:none}@media (max-width:600px){.manage-income-content{max-height:calc(80vh - 100px)}.income-summary-header{align-items:stretch;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm)}.income-summary-info{gap:var(--spacing-sm)}.income-summary-icon{height:40px;width:40px}.income-summary-info h3{font-size:1.25rem}.income-item{gap:var(--spacing-sm);padding:var(--spacing-sm)}.income-item-icon{height:36px;width:36px}.income-item-header h4{font-size:.9rem}.income-item-actions{flex-direction:column;gap:var(--spacing-xs)}.income-item-share{border-bottom:1px solid var(--border-color);border-right:none;padding-bottom:var(--spacing-xs);padding-right:0}}.view-income-card,.view-income-modal{padding:var(--spacing-md)}.view-income-card{align-items:flex-start;background:var(--background-color);border-left:4px solid var(--color-household);border-radius:var(--border-radius);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.view-income-card.inactive{border-left-color:var(--text-tertiary);opacity:.7}.view-income-card-icon{align-items:center;background:var(--surface-color);border-radius:var(--border-radius);color:var(--color-household);display:flex;flex-shrink:0;height:48px;justify-content:center;overflow:hidden;width:48px}.view-income-card-icon img{height:100%;object-fit:contain;width:100%}.view-income-card-info{flex:1 1;min-width:0}.view-income-card-info h2{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 .25rem}.view-income-card-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.5rem}.view-income-card-amount{flex-shrink:0;text-align:right}.view-income-card-amount .amount{color:var(--color-household);font-size:1.5rem;font-weight:700}.view-income-card-amount .monthly-equivalent{color:var(--text-secondary);font-size:.875rem;margin-top:.125rem}.view-income-card-amount .status{align-items:center;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;justify-content:flex-end;margin-top:.25rem}.view-income-card-amount .status.inactive{color:var(--text-tertiary)}.view-income-details{margin-bottom:var(--spacing-md)}.view-income-detail-row{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.625rem 0}.view-income-detail-row:last-child{border-bottom:none}.view-income-detail-row .detail-label{color:var(--text-secondary);font-size:.875rem}.view-income-detail-row .detail-value{align-items:center;color:var(--text-primary);display:flex;font-size:.9375rem;font-weight:500;gap:.5rem}.view-income-detail-row .detail-value svg{color:var(--text-tertiary)}.view-income-notes{background:var(--background-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);padding:.75rem}.view-income-notes .detail-label{color:var(--text-tertiary);display:block;font-size:.75rem;letter-spacing:.5px;margin-bottom:.375rem;text-transform:uppercase}.view-income-notes p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}.view-income-actions{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding-top:var(--spacing-md)}.view-income-actions-left,.view-income-actions-right{display:flex;gap:.5rem}@media (max-width:480px){.view-income-card,.view-income-modal{padding:var(--spacing-sm)}.view-income-card{flex-direction:column;gap:var(--spacing-sm)}.view-income-card-icon{height:40px;width:40px}.view-income-card-info h2{font-size:1rem}.view-income-card-amount{align-items:baseline;display:flex;gap:.5rem;text-align:left;width:100%}.view-income-card-amount .amount{font-size:1.25rem}.view-income-detail-row{align-items:flex-start;flex-direction:column;gap:.25rem}.view-income-actions{flex-direction:column;gap:.75rem}.view-income-actions-left,.view-income-actions-right{width:100%}.view-income-actions-right .btn{flex:1 1;justify-content:center}}.password-requirements{background:var(--bg-tertiary);border-radius:8px;margin-top:.75rem;padding:.75rem 1rem}.password-requirements .requirements-title{color:var(--text-secondary);font-size:.8rem;font-weight:500;margin-bottom:.5rem}.password-requirements .requirements-list{display:flex;flex-direction:column;gap:.35rem;list-style:none;margin:0;padding:0}.password-requirements .requirements-list li{align-items:center;color:var(--text-secondary);display:flex;font-size:.8rem;gap:.25rem}.password-requirements .requirements-list li.valid{color:#22c55e}.password-requirements .requirements-list li.invalid{color:#ef4444}.password-requirements.compact{padding:.5rem .75rem}.password-requirements.compact .requirements-list li,.password-requirements.compact .requirements-title{font-size:.75rem}.browse-households-modal{max-width:750px}.browse-households-modal .modal-body{padding:var(--spacing-lg)}.browse-description{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:var(--spacing-lg)}.search-box{margin-bottom:var(--spacing-lg);position:relative}.search-icon{color:var(--text-secondary);left:12px;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:1rem;padding:12px 12px 12px 42px;width:100%}.search-input:focus{border-color:var(--primary-color);outline:none}.households-list{flex-direction:column;max-height:400px;overflow-y:auto}.household-card,.households-list{display:flex;gap:var(--spacing-md)}.household-card{align-items:center;background:var(--surface-color);border:2px solid var(--border-color);border-radius:12px;padding:var(--spacing-md);transition:all .2s}.household-card:hover{border-color:var(--primary-color)}.household-card-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:12px;box-shadow:0 2px 8px #3b82f64d;display:flex;height:48px;justify-content:center;min-width:48px;width:48px}.household-card-icon svg{color:#fff;height:24px;width:24px}.household-card-info{flex:1 1;min-width:0}.household-card-name{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.household-card-meta{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.8rem;gap:8px}.household-card-meta-item{align-items:center;display:flex;gap:4px}.household-card-action{flex-shrink:0}.household-card-action .btn-primary,.household-card-action .btn-success-outline{font-size:.85rem;padding:8px 16px;white-space:nowrap}.btn-success-outline{align-items:center;background:#22c55e1a;border:2px solid #22c55e;border-radius:var(--border-radius);color:#22c55e;cursor:not-allowed;display:inline-flex;font-weight:600;gap:6px}.loading-state{flex-direction:column}.spinner{border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin-bottom:var(--spacing-md);width:40px}.empty-state{padding:var(--spacing-xl)}.empty-state svg{color:var(--text-secondary);opacity:.5}.empty-state h3{margin:0 0 var(--spacing-xs) 0}.empty-state p{font-size:.9rem;margin:0}@media (max-width:600px){.household-card{flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm)}.household-card-icon{border-radius:10px;height:40px;min-width:40px;width:40px}.household-card-icon svg{height:20px;width:20px}.household-card-info{flex:1 1}.household-card-name{font-size:.95rem}.household-card-meta{font-size:.75rem}.household-card-action{width:100%}.household-card-action .btn-primary,.household-card-action .btn-success-outline{justify-content:center;padding:10px 16px;width:100%}.households-list{max-height:350px}}.custom-search{flex:1 1;min-width:0;position:relative}.custom-search.disabled{opacity:.6;pointer-events:none}.custom-search-container{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);box-sizing:border-box;color:var(--text-primary);display:flex;font-size:.95rem;gap:var(--spacing-sm);height:42px;padding:9px 12px;transition:all .2s;width:100%}.custom-search-container:hover{border-color:var(--primary-color)}.custom-search-container:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.custom-search-icon{color:var(--text-secondary);flex-shrink:0}.custom-search .custom-search-input,.custom-search-container .custom-search-input,input.custom-search-input{background:#0000!important;background-color:initial!important;border:none;box-shadow:none;color:var(--text-primary);flex:1 1;font-size:.95rem;height:auto;min-width:0;outline:none;padding:0}.custom-search .custom-search-input::placeholder,.custom-search-container .custom-search-input::placeholder,input.custom-search-input::placeholder{color:var(--text-secondary)}.custom-search .custom-search-input:focus,.custom-search-container .custom-search-input:focus,input.custom-search-input:focus{border:none;box-shadow:none;outline:none}.custom-search-clear{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.custom-search-clear:hover{background:var(--border-color);color:var(--text-primary)}.bills-filters .custom-search,.filters-bar .custom-search{flex:1 1;min-width:120px}.bills-filters .custom-search-container,.filters-bar .custom-search-container{background:var(--background-color)}@media (max-width:600px){.custom-search.collapsible.collapsed{flex:0 0 auto;max-width:none;min-width:auto;transition:all .2s ease}.custom-search.collapsible.collapsed .custom-search-container{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;height:42px;justify-content:center;padding:0;width:42px}.custom-search.collapsible.collapsed .custom-search-container:hover{border-color:var(--primary-color);color:var(--primary-color)}.custom-search.collapsible.collapsed .custom-search-input{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.custom-search.collapsible.collapsed .custom-search-clear{display:none}.custom-search.collapsible.collapsed .custom-search-icon{color:var(--text-secondary)}.custom-search.collapsible.collapsed .custom-search-container:hover .custom-search-icon{color:var(--primary-color)}.custom-search.collapsible.expanded{flex:1 1;max-width:none;min-width:120px;transition:all .2s ease}.custom-search.collapsible.expanded .custom-search-container{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);height:42px;justify-content:flex-start;padding:9px 12px;width:100%}.custom-search.collapsible.expanded .custom-search-input{clip:auto;flex:1 1;height:auto;margin:0;overflow:visible;padding:0;position:static;white-space:normal;width:auto}.custom-search.collapsible.expanded .custom-search-clear{display:flex}}@media (max-width:768px) and (min-width:601px){.bills-filters .custom-search,.filters-bar .custom-search{max-width:250px;min-width:150px}}@media (max-width:600px){.custom-search:not(.collapsible){flex:1 1;min-width:120px}}.bill-search{flex:0 0 320px;min-width:0;position:relative;width:320px}.bill-search.dropdown-open .custom-search-container{border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.bill-search-dropdown{background:var(--surface-color);border:1px solid var(--primary-color);border-radius:0 0 var(--border-radius) var(--border-radius);border-top:none;box-shadow:var(--shadow-lg);left:0;max-height:350px;overflow-y:auto;overscroll-behavior:contain;position:absolute;right:0;top:100%;z-index:1001}.bill-search-item{align-items:center;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:background .15s}.bill-search-item:last-child{border-bottom:none}.bill-search-item.highlighted,.bill-search-item:hover{background:var(--background-color)}.bill-search-item.overdue{background:#ef44440d}.bill-search-item.overdue.highlighted,.bill-search-item.overdue:hover{background:#ef44441a}.bill-search-item.paid{opacity:.6}.bill-search-item.inactive{opacity:.5}.bill-search-item-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.bill-search-item-name{align-items:center;color:var(--text-primary);display:flex;font-size:.9rem;font-weight:500;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-search-item-name .autopay-icon{color:#3b82f6;flex-shrink:0}.bill-search-item-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:.75rem;gap:6px}.bill-search-item-meta .meta-separator{opacity:.5}.bill-search-item-due{align-items:center;display:flex;gap:3px}.bill-search-item-due.overdue{color:#ef4444;font-weight:500}.bill-search-item-inactive{align-items:center;color:var(--text-tertiary);display:flex;gap:3px}.bill-search-item-amount{color:var(--text-primary);flex-shrink:0;font-size:.9rem;font-weight:600;white-space:nowrap}.bill-search-item.overdue .bill-search-item-amount{color:#ef4444}.bill-search-empty{align-items:center;color:var(--text-tertiary);display:flex;flex-direction:column;font-size:.9rem;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-lg)}.bill-search-empty svg{opacity:.5}.bill-search-mobile-trigger{display:none}.bill-search-desktop{display:block}@media (max-width:600px){.bill-search-desktop{display:none}.bill-search-mobile-trigger{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:42px;justify-content:center;padding:0;transition:all .2s;width:42px}.bill-search-mobile-trigger:focus,.bill-search-mobile-trigger:hover{border-color:var(--primary-color);color:var(--primary-color)}.bill-search-mobile-trigger.disabled{opacity:.6;pointer-events:none}}.bill-search-mobile-overlay{animation:slideUp .2s ease-out;background:var(--background-color);bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:9999}.bill-search-mobile-header{align-items:center;background:var(--surface-color);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;gap:var(--spacing-sm);padding:var(--spacing-md)}.bill-search-mobile-input-container{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;flex:1 1;gap:var(--spacing-sm);padding:10px 12px;transition:border-color .2s}.bill-search-mobile-input-container:focus-within{border-color:var(--primary-color)}.bill-search-mobile-icon{color:var(--text-secondary);flex-shrink:0}.bill-search-mobile-input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:1rem;min-width:0;outline:none;padding:0}.bill-search-mobile-input::placeholder{color:var(--text-tertiary)}.bill-search-mobile-clear{align-items:center;background:var(--border-color);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:all .2s;width:28px}.bill-search-mobile-clear:hover{background:var(--text-tertiary);color:var(--text-primary)}.bill-search-mobile-cancel{background:#0000;border:none;color:var(--primary-color);cursor:pointer;flex-shrink:0;font-size:.95rem;font-weight:500;padding:8px 12px;transition:opacity .2s}.bill-search-mobile-cancel:hover{opacity:.8}.bill-search-mobile-results{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto}.bill-search-mobile-results .bill-search-item{padding:var(--spacing-md)}.bill-search-mobile-results .bill-search-item-name{font-size:1rem}.bill-search-mobile-results .bill-search-item-meta{font-size:.8rem}.bill-search-mobile-results .bill-search-item-amount{font-size:1rem}.bill-search-mobile-hint{align-items:center;color:var(--text-tertiary);display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);text-align:center}.bill-search-mobile-hint svg{opacity:.4}.bill-search-mobile-hint span{font-size:.95rem}@media (max-width:768px) and (min-width:601px){.bill-search{flex:1 1;min-width:120px;width:auto}.bill-search-dropdown{max-height:300px;min-width:280px}.bill-search-item{padding:var(--spacing-sm)}}.bill-search-inactive-toggle{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;height:42px;justify-content:center;padding:0;transition:all .2s;width:42px}.bill-search-inactive-toggle:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.bill-search-inactive-toggle.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.bill-search-inactive-toggle.active:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.account-option{align-items:center;display:flex;gap:10px;width:100%}.account-option-card-image{border-radius:4px;box-shadow:0 1px 3px #0003;flex-shrink:0;height:30px;object-fit:cover;width:48px}.account-option-icon{flex-shrink:0;font-size:1.25rem;text-align:center;width:48px}.account-option-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-selected{align-items:center;display:flex;gap:10px;width:100%}.account-selected-card-image{border-radius:3px;box-shadow:0 1px 2px #00000026;flex-shrink:0;height:25px;object-fit:cover;width:40px}.account-selected-icon{flex-shrink:0;font-size:1.1rem;text-align:center;width:40px}.account-selected-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-option .ownership-badge,.account-selected .ownership-badge{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.account-option .ownership-badge.personal,.account-selected .ownership-badge.personal{background:#3b82f626;color:#3b82f6}.account-option .ownership-badge.household,.account-selected .ownership-badge.household{background:#22c55e26;color:#22c55e}.wizard-container{animation:slideUp var(--transition-base);background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow-xl)}.modal-wizard,.wizard-container{display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:95%}.modal-wizard{min-height:500px}.modal-wizard form{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.wizard-header{justify-content:space-between;padding:var(--spacing-lg)}.wizard-header,.wizard-steps{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0}.wizard-steps{background:var(--background-color);gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-lg) var(--spacing-xl)}.wizard-step,.wizard-step-wrapper{align-items:center;display:flex}.wizard-step{flex-direction:column;gap:var(--spacing-xs)}.step-icon-circle{align-items:center;background:var(--surface-color);border:2px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);display:flex;height:40px;justify-content:center;transition:var(--transition-slow);width:40px}.wizard-step.active .step-icon-circle{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.wizard-step.completed .step-icon-circle{background:var(--success-color);border-color:var(--success-color);color:#fff}.step-connector{background:var(--border-color);height:2px;margin:0 var(--spacing-xs);transition:background var(--transition-slow);width:40px}.step-connector.completed{background:var(--success-color)}.step-label{color:var(--text-secondary);font-size:var(--text-xs);text-align:center;white-space:nowrap}.wizard-step.active .step-label{color:var(--primary-color);font-weight:var(--font-semibold)}.step-item{flex-direction:column;gap:var(--spacing-xs)}.step-dot,.step-item{align-items:center;display:flex}.step-dot{background:var(--surface-color);border:2px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.95rem;font-weight:var(--font-semibold);height:40px;justify-content:center;transition:var(--transition-slow);width:40px}.step-dot.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:scale(1.1)}.step-dot.completed{background:var(--success-color);border-color:var(--success-color);color:#fff}.step-line{background:var(--border-color);flex:1 1;height:2px;max-width:60px;min-width:30px;transition:background var(--transition-slow)}.step-line.completed{background:var(--success-color)}.step-item .step-dot.active+.step-label{color:var(--primary-color);font-weight:var(--font-semibold)}.wizard-body{flex:1 1;min-height:300px;overflow-y:auto;padding:var(--spacing-xl)}.wizard-step-content{animation:slideIn var(--transition-slow);margin:0 auto;max-width:500px}@keyframes slideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.wizard-step-content h3{color:var(--text-primary);font-size:1.75rem;margin:0 0 var(--spacing-sm) 0}.step-description{color:var(--text-secondary);font-size:var(--text-base);margin:0 0 var(--spacing-xl) 0}.wizard-field{margin-bottom:var(--spacing-xl)}.wizard-field label:not(.toggle-field){color:var(--text-primary);display:block;font-size:.95rem;font-weight:var(--font-medium);margin-bottom:var(--spacing-sm)}.wizard-field input:not([type=checkbox]),.wizard-field select:not(.frequency-interval):not(.frequency-unit):not(.custom-frequency-interval):not(.custom-frequency-unit),.wizard-field textarea{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--text-base);padding:var(--spacing-md);transition:var(--transition-base);width:100%}.wizard-field input:not([type=checkbox]):focus,.wizard-field select:focus,.wizard-field textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.wizard-field textarea{min-height:100px;resize:vertical}.field-hint{color:var(--text-secondary);font-size:var(--text-sm);font-style:italic;margin-top:var(--spacing-sm)}.toggle-field{align-items:center;background:#0000;border:none;border-radius:0;cursor:pointer;display:flex;gap:var(--spacing-md);padding:0;transition:var(--transition-base)}.toggle-field:hover{background:#0000;border-color:#0000}.toggle-field input[type=checkbox]{-webkit-appearance:none;appearance:none;background:#64748b;border-radius:10px;cursor:pointer;flex-shrink:0;height:20px;margin:0;position:relative;transition:all .25s ease;width:40px}.toggle-field input[type=checkbox]:checked{background:var(--primary-color)}.toggle-field input[type=checkbox]:before{background:#fff;border-radius:var(--radius-full);box-shadow:0 1px 3px #0000004d;content:"";height:16px;left:2px;position:absolute;top:2px;transition:all .25s cubic-bezier(.4,0,.2,1);width:16px}.toggle-field input[type=checkbox]:checked:before{transform:translateX(20px)}.toggle-field input[type=checkbox]:focus{box-shadow:0 0 0 3px #2563eb1a;outline:none}.toggle-field input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.toggle-field span{color:var(--text-primary);font-size:.95rem;font-weight:var(--font-medium);-webkit-user-select:none;user-select:none}.icon-upload-area{width:100%}.icon-upload-box{align-items:center;background:var(--background-color);border:2px dashed var(--border-color);border-radius:var(--border-radius);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-xl);text-align:center;transition:var(--transition-base)}.icon-upload-box:hover{background:var(--surface-color);border-color:var(--primary-color)}.icon-upload-box svg{color:var(--text-tertiary);margin-bottom:var(--spacing-xs)}.icon-upload-box span{color:var(--text-primary);display:block;font-size:.95rem;font-weight:var(--font-medium)}.icon-upload-box .upload-hint{color:var(--text-secondary)!important;display:block;font-size:.8rem!important;font-weight:var(--font-normal)!important;margin-top:var(--spacing-xs)}.icon-preview-large{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;justify-content:center;min-height:150px;padding:var(--spacing-xl);position:relative}.icon-preview-large img{max-height:120px;max-width:100%;object-fit:contain}.icon-remove-btn-large{align-items:center;background:var(--danger-color);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:var(--spacing-sm);top:var(--spacing-sm);transition:var(--transition-base);width:32px}.icon-remove-btn-large:hover{background:#dc2626;transform:scale(1.1)}.review-card{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.review-step{max-width:600px!important;padding:0!important}.review-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.review-section-compact{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md)}.review-header-compact{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.review-header-compact h4{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold);margin:0}.review-detail-with-badge{align-items:center;display:flex;justify-content:space-between}.edit-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.8rem;padding:0}.edit-link:hover{text-decoration:underline}.review-row{align-items:center;display:flex;gap:var(--spacing-sm)}.review-icon-small{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-shrink:0;height:24px;max-width:80px;min-width:24px;object-fit:contain;padding:2px}.review-label{color:var(--text-primary);flex:1 1;font-size:var(--text-sm);font-weight:var(--font-medium)}.review-value{color:var(--primary-color);font-size:var(--text-sm);font-weight:var(--font-semibold)}.review-detail{color:var(--text-secondary);font-size:.8rem;line-height:1.4;margin-top:var(--spacing-xs)}.review-badge{background:#3b82f626;border-radius:10px;color:var(--primary-color);display:inline-block;font-size:.65rem;margin-left:var(--spacing-sm);padding:2px 6px;vertical-align:middle}.review-badge.variable{background:#f59e0b26;color:var(--warning-color)}.review-detail strong{color:var(--text-primary);font-weight:var(--font-medium)}@media (max-width:500px){.review-grid{grid-template-columns:1fr}}.review-section{border-bottom:1px solid var(--border-color);padding:var(--spacing-lg)}.review-section:last-child{border-bottom:none}.review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.review-header h4{color:var(--text-primary);font-size:1.1rem;margin:0}.review-header button{background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--primary-color);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--spacing-xs) var(--spacing-md);transition:var(--transition-base)}.review-header button:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.review-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.review-content p{color:var(--text-primary);line-height:1.6;margin:0}.review-content strong{color:var(--text-secondary);font-weight:var(--font-medium);margin-right:var(--spacing-xs)}.review-icon{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;justify-content:center;margin-bottom:var(--spacing-sm);padding:var(--spacing-md)}.review-icon img{max-height:60px;max-width:120px;object-fit:contain}.wizard-footer{background:var(--background-color);border-top:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl)}.wizard-footer-left,.wizard-footer-right{display:flex;gap:var(--spacing-sm)}.currency-input-wrapper{align-items:center;display:flex;position:relative}.currency-symbol{color:var(--text-secondary);font-size:var(--text-base);font-weight:var(--font-medium);left:var(--spacing-md);pointer-events:none;position:absolute;z-index:1}.currency-input{padding-left:calc(var(--spacing-md) + 1.25rem)!important}.repeat-interval-row{align-items:stretch;display:flex;gap:var(--spacing-sm)}.repeat-interval-input{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);flex-shrink:0;font-size:var(--text-base);height:55px;max-width:70px;min-width:70px;padding:var(--spacing-md);text-align:center;width:70px}.repeat-interval-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.repeat-interval-input::-webkit-inner-spin-button,.repeat-interval-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.repeat-interval-input[type=number]{-moz-appearance:textfield}.repeat-unit-select{flex:1 1;min-width:140px}.schedule-hint{margin-bottom:var(--spacing-md);margin-top:var(--spacing-sm)}.payment-account-row{align-items:stretch;display:flex;gap:var(--spacing-sm)}.payment-account-row .custom-select{flex:1 1}.payment-account-row .btn{flex-shrink:0}.toggle-button-group{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.ownership-option,.ownership-toggle{display:flex;gap:var(--spacing-md)}.ownership-option{align-items:center;background:var(--background-color);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;flex:1 1;padding:var(--spacing-md);transition:var(--transition-base)}.ownership-option:hover:not(:disabled){background:var(--surface-color);border-color:var(--primary-color)}.ownership-option.active{background:#2563eb14;border-color:var(--primary-color)}.ownership-option:disabled{cursor:not-allowed;opacity:.6}.ownership-option>div{display:flex;flex-direction:column;gap:2px}.ownership-option .ownership-label{color:var(--text-primary);font-size:.95rem;font-weight:var(--font-semibold)}.ownership-option .ownership-desc{color:var(--text-secondary);font-size:.8rem}.ownership-option.active .ownership-label{color:var(--primary-color)}.toggle-button{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition-base);white-space:nowrap}.toggle-button:not(:last-child){border-right:1px solid var(--border-color)}.toggle-button:hover:not(.active):not(:disabled){background:var(--surface-color);color:var(--text-primary)}.toggle-button.active{background:var(--primary-color);color:#fff}.toggle-button:disabled{cursor:not-allowed;opacity:.5}.day-of-week-row{align-items:stretch;display:flex;gap:var(--spacing-sm)}.week-of-month-select{min-width:100px;width:100px}.day-of-week-select{flex:1 1;min-width:140px}.custom-frequency{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;gap:10px;margin-top:var(--spacing-md);padding:var(--spacing-md)}.custom-frequency-label{color:var(--text-secondary);font-size:var(--text-sm);white-space:nowrap}.custom-frequency-interval,.custom-frequency-unit{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;padding:var(--spacing-sm) var(--spacing-md)}.custom-frequency-interval{text-align:center;width:70px}.custom-frequency-unit{min-width:90px}.custom-frequency-interval:focus,.custom-frequency-unit:focus{border-color:var(--primary-color);outline:none}.frequency-selector{align-items:center;display:flex;gap:10px}.frequency-prefix{color:var(--text-secondary);font-size:.95rem;white-space:nowrap}.frequency-selector select{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);flex:none!important;font-size:var(--text-base);padding:var(--spacing-md);width:auto!important}.frequency-selector select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.frequency-selector .frequency-interval{max-width:70px!important;min-width:70px!important;text-align:center;width:70px!important}.frequency-selector .frequency-unit{max-width:120px!important;min-width:120px!important;width:120px!important}.optional-label{color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--font-normal)}@media (max-width:768px){.modal-wizard{border-radius:0;height:100%;max-height:100%;max-width:100%;min-height:0;min-height:auto;width:100%}.wizard-header{padding:var(--spacing-md)}.wizard-header h3{font-size:1.1rem}.wizard-steps{gap:4px;padding:var(--spacing-sm) var(--spacing-md)}.step-dot{font-size:.8rem;height:28px;width:28px}.step-label{font-size:.6rem}.step-line{max-width:30px;min-width:15px}.wizard-body{padding:var(--spacing-md)}.wizard-step-content{max-width:100%}.wizard-step-content h3{font-size:var(--text-xl);margin-bottom:var(--spacing-xs)}.step-description{font-size:var(--text-sm);margin-bottom:var(--spacing-lg)}.wizard-field{margin-bottom:var(--spacing-md)}.wizard-field label:not(.toggle-field){font-size:var(--text-sm);margin-bottom:var(--spacing-xs)}.wizard-field input:not([type=checkbox]),.wizard-field select,.wizard-field textarea{font-size:.95rem;padding:var(--spacing-sm) var(--spacing-md)}.wizard-field textarea{min-height:80px}.field-hint{font-size:.8rem}.ownership-option{padding:var(--spacing-sm) var(--spacing-md)}.ownership-option .ownership-label{font-size:var(--text-sm)}.ownership-option .ownership-desc{font-size:var(--text-xs)}.toggle-button-group{width:100%}.toggle-button{flex:1 1;font-size:.8rem;padding:var(--spacing-sm);text-align:center}.icon-upload-box{padding:var(--spacing-lg)}.icon-upload-box svg{height:24px;width:24px}.icon-upload-box span{font-size:var(--text-sm)}.icon-preview-large{min-height:100px;padding:var(--spacing-md)}.icon-preview-large img{max-height:80px}.repeat-interval-row{flex-wrap:nowrap}.repeat-interval-input{height:44px;max-width:60px;min-width:60px;padding:var(--spacing-sm);width:60px}.repeat-interval-row .custom-select .custom-select-trigger{height:44px}.day-of-week-row{flex-wrap:wrap}.day-of-week-select,.week-of-month-select{flex:1 1;min-width:0;min-width:auto}.payment-account-row{flex-wrap:nowrap}.payment-account-row .btn{padding:var(--spacing-sm)}.currency-input-wrapper .currency-symbol{font-size:.95rem;left:var(--spacing-sm)}.currency-input{padding-left:calc(var(--spacing-sm) + 1rem)!important}.review-grid{gap:var(--spacing-sm);grid-template-columns:1fr}.review-section-compact{padding:var(--spacing-sm)}.wizard-footer{gap:var(--spacing-sm)}.wizard-footer,.wizard-footer .btn{padding:var(--spacing-sm) var(--spacing-md)}.wizard-footer .btn{font-size:var(--text-sm)}}.url-input-wrapper{align-items:center;display:flex;position:relative}.url-input-wrapper input{flex:1 1;padding-right:44px}.url-input-wrapper .url-test-link{align-items:center;border-radius:var(--radius-sm);color:var(--primary-color);display:flex;justify-content:center;padding:var(--spacing-xs);position:absolute;right:var(--spacing-sm);transition:background-color var(--transition-base)}.url-input-wrapper .url-test-link:hover{background-color:var(--background-color)}.review-url{align-items:center;display:flex;gap:var(--spacing-xs)}.review-url a{color:var(--primary-color);text-decoration:none;word-break:break-all}.review-url a:hover{text-decoration:underline}.review-url svg{color:var(--text-secondary);flex-shrink:0}.wizard-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}@media (max-width:500px){.wizard-row{grid-template-columns:1fr}}.bill-name-row{align-items:flex-start;display:flex;gap:var(--spacing-md)}.bill-name-input-wrapper{flex:1 1;position:relative}.bill-name-input-wrapper input{width:100%}.bill-logo-preview{flex-shrink:0}.bill-logo-preview,.logo-thumbnail,.logo-thumbnail-wrapper{height:80px;position:relative;width:80px}.logo-thumbnail{background:#0000;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.logo-thumbnail.has-options{cursor:pointer}.logo-thumbnail.has-options:hover{border-color:var(--primary-color)}.logo-options-indicator{background:var(--primary-color);bottom:2px;height:18px;right:2px;width:18px}.logo-options-indicator,.logo-thumbnail-wrapper .logo-remove-btn{align-items:center;border-radius:var(--radius-full);color:#fff;display:flex;justify-content:center;position:absolute}.logo-thumbnail-wrapper .logo-remove-btn{background:var(--danger-color);border:none;cursor:pointer;height:22px;opacity:0;right:-6px;top:-6px;transition:opacity var(--transition-base);width:22px;z-index:10}.logo-thumbnail-wrapper:hover .logo-remove-btn{opacity:1}.logo-picker-dropdown{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-xl);left:0;min-width:280px;overflow:hidden;position:absolute;top:85px;z-index:var(--z-dropdown)}.logo-picker-header{background:var(--background-color);border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.8rem;font-weight:var(--font-medium);padding:10px var(--spacing-md)}.logo-picker-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(80px,1fr));max-height:200px;overflow-y:auto;padding:var(--spacing-md)}.logo-picker-option{align-items:center;background:var(--background-color);border:2px solid #0000;border-radius:var(--border-radius);cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:var(--spacing-sm);transition:var(--transition-fast)}.logo-picker-option:hover{background:var(--background-secondary);border-color:var(--primary-color)}.logo-picker-option.selected{background:#3b82f61a;background:var(--primary-color-light,#3b82f61a);border-color:var(--primary-color)}.logo-picker-option img{border-radius:var(--radius-sm);height:48px;object-fit:contain;width:48px}.logo-picker-label{color:var(--text-secondary);font-size:.65rem;max-width:70px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.logo-picker-upload{align-items:center;background:var(--background-color);border:none;border-top:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8rem;gap:6px;justify-content:center;padding:10px;transition:var(--transition-fast);width:100%}.logo-picker-upload:hover{background:var(--background-secondary);color:var(--primary-color)}.logo-thumbnail img{height:100%;object-fit:contain;padding:var(--spacing-sm);width:100%}.logo-upload-btn{align-items:center;background:var(--background-color);border:2px dashed var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;font-size:.7rem;gap:4px;height:80px;justify-content:center;transition:var(--transition-base);width:80px}.logo-upload-btn:hover{background:var(--background-secondary);border-color:var(--primary-color);color:var(--primary-color)}.logo-loading{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);display:flex;height:80px;justify-content:center;width:80px}.logo-loading .spinning{animation:spin 1s linear infinite}.logo-hint{color:var(--text-secondary);font-size:.8rem}.retry-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.retry-link:hover{color:var(--primary-hover)}@media (max-width:480px){.step-label{display:none}.step-dot{font-size:var(--text-xs);height:24px;width:24px}.wizard-footer{flex-direction:column;gap:var(--spacing-xs)}.wizard-footer-left,.wizard-footer-right{justify-content:stretch;width:100%}.wizard-footer-left button,.wizard-footer-right button{flex:1 1}.wizard-footer-right{flex-direction:row}}.household-page{margin:0 auto;max-width:1600px;min-height:100vh;padding:var(--spacing-xl)}.household-header-content{align-items:center;display:flex;gap:var(--spacing-lg)}.household-icon{color:var(--primary-color)}.nav-tabs--household .nav-tab.active{background-color:rgba(var(--primary-rgb),.1);color:var(--primary-color);font-weight:600}.nav-tabs--household .nav-tab.active:hover{background-color:rgba(var(--primary-rgb),.15);color:var(--primary-color)}.household-content{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);max-height:calc(100vh - 200px);overflow-y:auto;padding:var(--spacing-xl)}.household-section h2{color:var(--text-primary);font-size:1.75rem;margin-bottom:var(--spacing-xs)}.household-section .filter-select-custom{min-width:140px}.household-section .filter-select-custom .custom-select-trigger{font-size:.9rem;min-height:38px;padding:var(--spacing-sm) var(--spacing-md)}@media (max-width:1024px){.household-layout{gap:var(--spacing-lg);grid-template-columns:1fr}.household-sidebar{position:static}.household-nav{flex-direction:row;flex-wrap:wrap}.household-tab{flex:1 1;justify-content:center;min-width:120px}}@media (max-width:768px){.household-page{padding:var(--spacing-md)}.household-header-content{gap:var(--spacing-md)}.household-icon{height:24px;width:24px}.household-layout{gap:var(--spacing-md);height:auto}.household-sidebar{overflow:hidden;padding:var(--spacing-sm)}.household-content{max-height:none;padding:var(--spacing-md)}.household-nav{-webkit-overflow-scrolling:touch;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-xs);overflow-x:auto;padding-bottom:var(--spacing-xs)}.household-tab{flex:1 1 auto;justify-content:center;max-width:none;min-width:44px!important;padding:var(--spacing-sm)}.household-tab .tab-label{display:none}.household-section h2{font-size:1.35rem}.section-description{font-size:.85rem}}.household-settings-form{max-width:800px}.household-section .settings-group{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);margin:0 0 var(--spacing-xl) 0;padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-lg)}.household-section .settings-group:last-of-type{border-bottom:none}.household-section .settings-group>h3{color:var(--text-primary);font-size:1.1rem;font-style:italic;font-weight:600;margin:0 0 var(--spacing-xs) 0}.section-hint{font-size:.9rem;margin-bottom:var(--spacing-lg)}.settings-row{grid-gap:var(--spacing-lg);gap:var(--spacing-lg);grid-template-columns:1fr 1fr}.form-group,.settings-row{margin-bottom:var(--spacing-md)}.form-group.half-width{margin-bottom:0}.form-group label{color:var(--text-primary);font-size:.9rem}.select-input,.text-input{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:1rem;padding:var(--spacing-md);transition:border-color .2s}.select-input:focus,.text-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.select-input:disabled,.text-input:disabled{cursor:not-allowed;opacity:.6}.form-hint{font-size:.85rem}.message{font-size:.95rem}.message-success{background-color:#22c55e1a}@media (max-width:768px){.settings-row{grid-template-columns:1fr}}.accounts-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:var(--spacing-lg)}.account-card{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;flex-direction:column;min-height:200px;padding:var(--spacing-lg);transition:all .2s}.account-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.account-card.inactive{opacity:.6}.account-card-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.account-icon{flex-shrink:0;font-size:2rem}.account-info{flex:1 1}.account-info h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 var(--spacing-xs) 0}.account-type{color:var(--text-secondary);font-size:.85rem}.inactive-badge{background-color:#ef44441a;border-radius:12px;color:var(--danger-color);font-size:.75rem;font-weight:600;padding:2px 8px}.account-details{flex:1 1;flex-direction:row;gap:var(--spacing-md);margin-bottom:auto}.account-card-image-compact,.account-details{align-items:center;display:flex;overflow:hidden}.account-card-image-compact{aspect-ratio:1.586;border-radius:var(--border-radius-sm);flex-shrink:0;justify-content:center;width:120px}.account-card-image-compact img{height:100%;object-fit:contain;width:100%}.account-info-grid{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs)}.detail-row{align-items:flex-start;display:flex;font-size:.9rem;justify-content:space-between;padding:var(--spacing-xs) 0}.detail-row.full-width{flex-direction:column;gap:var(--spacing-xs)}.detail-label{color:var(--text-secondary);flex-shrink:0;font-weight:500}.detail-value{color:var(--text-primary);text-align:right}.detail-value.notes{font-size:.85rem;line-height:1.4;text-align:left}.account-actions{border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-md)}.account-actions .btn-icon{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;flex:1 1;font-size:.85rem;padding:var(--spacing-sm);transition:all .2s}.account-actions .btn-icon:hover{background-color:var(--background-color);border-color:var(--primary-color);color:var(--primary-color)}.account-actions .btn-icon.danger:hover{background-color:#ef44441a;border-color:var(--danger-color);color:var(--danger-color)}.empty-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xxl);text-align:center}.empty-state svg{opacity:.3}.empty-state p,.empty-state svg,.section-header{margin-bottom:var(--spacing-lg)}.section-header{gap:var(--spacing-lg)}.section-header>div:first-child{flex:1 1;min-width:0}.section-header .header-actions{display:flex;flex-shrink:0;gap:var(--spacing-sm)}.section-description{font-size:.9rem;margin-top:var(--spacing-xs)}@media (max-width:768px){.accounts-grid{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:row;gap:var(--spacing-md)}.section-header .header-actions{flex-shrink:0}.btn-icon-mobile{padding:var(--spacing-sm)!important}.btn-icon-mobile .btn-text{display:none}.account-card{min-height:auto;padding:var(--spacing-md)}.account-card-header{flex-wrap:nowrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.account-icon{flex-shrink:0;font-size:1.2rem;height:40px;width:40px}.account-info{flex:1 1;min-width:0}.account-info h3{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-type{font-size:.8rem}.account-details{align-items:flex-start;flex-direction:row;gap:var(--spacing-sm)}.account-card-image-compact{align-self:center;width:100px}.account-info-grid{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.account-info-grid .detail-row{border-bottom:none;display:flex;flex-direction:row;gap:var(--spacing-sm);justify-content:space-between;padding:var(--spacing-xs) 0}.account-info-grid .detail-row .detail-label{font-size:.8rem}.account-info-grid .detail-row .detail-value{font-size:.85rem;text-align:right}.account-actions{border-top:1px solid var(--border-color);flex-wrap:wrap;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.account-actions .btn-icon{flex:1 1;font-size:.8rem;min-width:calc(33% - var(--spacing-xs));padding:var(--spacing-xs) var(--spacing-sm)}.member-card{align-items:flex-start;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.member-avatar{font-size:1rem;height:48px;width:48px}.member-info h3{font-size:1rem}.member-email{font-size:.8rem;word-break:break-all}.member-meta{gap:var(--spacing-sm)}.member-actions{justify-content:flex-end;width:100%}}.image-upload-area{margin-top:var(--spacing-xs);width:100%}.modal-body .image-upload-area{margin-bottom:var(--spacing-sm)}.modal-body .form-group{margin-bottom:var(--spacing-xs)}.image-upload-options{align-items:stretch;display:flex;gap:var(--spacing-md)}.card-art-picker-btn{align-items:center;background:#2563eb0d;border:2px dashed var(--primary-color);border-radius:var(--border-radius);cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-lg);transition:all .2s}.card-art-picker-btn:hover{background:#2563eb1a;border-style:solid}.card-art-picker-btn span,.card-art-picker-btn svg{color:var(--primary-color)}.card-art-picker-btn span{font-size:.9rem;font-weight:600}.card-art-picker-btn small{color:var(--text-secondary);font-size:.75rem}.image-upload-divider{align-items:center;color:var(--text-secondary);display:flex;font-size:.8rem;font-weight:500}.image-upload-label{cursor:pointer;display:block;flex:1 1}.upload-placeholder{align-items:center;background-color:var(--background-color);border:2px dashed var(--border-color);border-radius:var(--border-radius);display:flex;flex-direction:column;gap:var(--spacing-xs);height:100%;justify-content:center;padding:var(--spacing-lg);transition:all .2s}.upload-placeholder:hover{background-color:var(--surface-color);border-color:var(--primary-color)}.upload-placeholder svg{color:var(--text-secondary)}.upload-placeholder span{color:var(--text-primary);font-size:.85rem;font-weight:500}.upload-placeholder small{color:var(--text-secondary);font-size:.75rem}.image-preview-container{margin:0 auto;max-width:340px;position:relative;width:100%}.card-image-preview{border-radius:var(--border-radius);display:block;width:100%}.image-preview-actions{display:flex;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-sm)}.change-image-btn{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:4px;padding:6px 12px;transition:all .2s}.change-image-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.remove-image-btn{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8rem;justify-content:center;padding:6px 12px;transition:all .2s}.remove-image-btn:hover{border-color:var(--danger-color);color:var(--danger-color)}@media (max-width:600px){.image-upload-options{flex-direction:column;gap:var(--spacing-sm)}.image-upload-divider{justify-content:center;padding:var(--spacing-xs) 0}.card-art-picker-btn,.upload-placeholder{padding:var(--spacing-md)}.card-art-picker-btn svg,.upload-placeholder svg{height:20px;width:20px}}.account-card-image{aspect-ratio:1.586;border-radius:var(--border-radius) var(--border-radius) 0 0;margin:calc(var(--spacing-lg)*-1);margin-bottom:var(--spacing-md);overflow:hidden;position:relative;width:calc(100% + var(--spacing-lg)*2)}.account-card-image img{height:100%;object-fit:cover;width:100%}.account-card-image .inactive-badge{position:absolute;right:var(--spacing-sm);top:var(--spacing-sm)}.account-card-image-full{aspect-ratio:1.586;border-radius:var(--border-radius) var(--border-radius) 0 0;margin:calc(var(--spacing-lg)*-1);margin-bottom:var(--spacing-md);overflow:hidden;position:relative;width:calc(100% + var(--spacing-lg)*2)}.account-card-image-full img{height:100%;object-fit:cover;width:100%}.account-card-image-full .inactive-badge{position:absolute;right:var(--spacing-sm);top:var(--spacing-sm)}.account-card-content{padding:0 var(--spacing-md) var(--spacing-md)}.account-card-content h3{color:var(--text-primary);font-size:1.1rem;margin:0}.account-card-preview{background-color:var(--surface-color);border:2px solid var(--border-color);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);height:63px;overflow:hidden;position:absolute;right:var(--spacing-md);top:var(--spacing-md);width:100px}.account-card-preview img{background-color:#000;height:100%;object-fit:contain;width:100%}.account-card{position:relative}.settings-info-box{background-color:#2563eb1a;border:1px solid var(--primary-color);margin:var(--spacing-xl) 0;padding:var(--spacing-lg)}.settings-info-box h4{font-size:1rem;font-weight:600}.settings-info-box p{color:var(--text-primary);line-height:1.5;margin:0 0 var(--spacing-sm) 0}.settings-info-box p:last-child{margin-bottom:0}.checkbox-label{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.checkbox-label input[type=checkbox]{-webkit-appearance:none;appearance:none;background-color:var(--background-color);border:2px solid var(--border-color);border-radius:4px;flex-shrink:0;height:20px;position:relative;transition:all .2s;width:20px}.checkbox-label input[type=checkbox]:hover{border-color:var(--primary-color)}.checkbox-label input[type=checkbox]:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.checkbox-label input[type=checkbox]:checked:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:6px;position:absolute;top:2px;transform:rotate(45deg);width:4px}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.checkbox-label span{font-weight:500;-webkit-user-select:none;user-select:none}.member-card{background-color:var(--surface-color);gap:var(--spacing-lg);padding:var(--spacing-lg)}.member-avatar,.member-card{align-items:center;display:flex}.member-avatar{background:linear-gradient(135deg,var(--primary-color),#1e40af);border-radius:50%;color:#fff;flex-shrink:0;font-size:1.25rem;font-weight:600;height:60px;justify-content:center;width:60px}.member-info{flex:1 1;min-width:0}.member-info h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 var(--spacing-xs) 0}.member-email{color:var(--text-secondary);font-size:.9rem;margin:0 0 var(--spacing-sm) 0}.member-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.role-badge{padding:var(--spacing-xs) var(--spacing-sm)}.role-badge.manager{background-color:#f59e0b1a;border:1px solid #f59e0b4d}.role-badge.member{background-color:#2563eb1a;border:1px solid #2563eb4d}.member-joined{color:var(--text-secondary);font-size:.85rem}.member-actions{display:flex;flex-shrink:0;gap:var(--spacing-sm)}.no-household-container{margin:0 auto;max-width:1200px;padding:var(--spacing-xl)}.no-household-content{text-align:center}.no-household-icon{color:var(--primary-color);margin-bottom:var(--spacing-lg)}.no-household-content h2{color:var(--text-primary);font-size:2rem;margin-bottom:var(--spacing-md)}.no-household-description{color:var(--text-secondary);font-size:1.1rem;line-height:1.6;margin:0 auto var(--spacing-xl) auto;max-width:600px}.household-options{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:var(--spacing-xl);margin-left:auto;margin-right:auto;max-width:800px}.household-option-card{background-color:var(--surface-color);border:2px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-xl);text-align:center;transition:all .3s}.household-option-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-4px)}.option-icon{color:var(--primary-color);margin-bottom:var(--spacing-lg)}.household-option-card h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:var(--spacing-md)}.household-option-card p{color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}.household-option-card button{width:100%}.private-mode-info{background-color:#2563eb1a;border:1px solid var(--primary-color);border-radius:var(--border-radius);margin:var(--spacing-xl) auto 0 auto;max-width:600px;padding:var(--spacing-lg);text-align:left}.private-mode-info h4{color:var(--primary-color);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-sm) 0}.private-mode-info p{color:var(--text-primary);font-size:.9rem;line-height:1.5;margin:0}.notification-settings-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.settings-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.settings-card-header{align-items:center;background:var(--background-color);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.settings-card-title{align-items:flex-start;display:flex;gap:var(--spacing-md)}.settings-icon{color:var(--primary-color);flex-shrink:0;margin-top:2px}.settings-card-title h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 4px}.settings-card-title p{color:var(--text-secondary);font-size:.9rem;margin:0}.settings-card-body{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.checkbox-group{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:var(--spacing-sm)}.checkbox-label{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;display:flex;justify-content:space-between;padding:var(--spacing-md);position:relative;transition:all .2s;-webkit-user-select:none;user-select:none}.checkbox-label:hover{background:var(--surface-color);border-color:var(--primary-color)}.checkbox-label input[type=checkbox]{cursor:pointer;opacity:0;position:absolute}.checkbox-label span{color:var(--text-primary);flex:1 1;font-size:.95rem}.checkbox-toggle{background-color:var(--border-color);border-radius:12px;flex-shrink:0;height:24px;position:relative;transition:background-color .3s;width:44px}.checkbox-toggle:before{background-color:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .3s;width:20px}.checkbox-label input[type=checkbox]:checked~.checkbox-toggle{background-color:var(--primary-color)}.checkbox-label input[type=checkbox]:checked~.checkbox-toggle:before{transform:translateX(20px)}.time-input{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:.95rem;padding:var(--spacing-sm);width:150px}.time-input:focus{border-color:var(--primary-color);outline:none}.notification-info-box{background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border:1px solid var(--primary-color);border-radius:var(--border-radius);margin-top:var(--spacing-md);padding:var(--spacing-lg)}.notification-info-box h4{color:var(--primary-color);font-size:1rem;margin:0 0 var(--spacing-md) 0}.notification-info-box ul{color:var(--text-primary);margin:0;padding-left:var(--spacing-lg)}.notification-info-box li{line-height:1.6;margin-bottom:var(--spacing-sm)}.notification-info-box li:last-child{margin-bottom:0}.settings-info-box{background:var(--background-color);border-left:3px solid var(--primary-color);color:var(--text-secondary);font-size:.9rem;padding:var(--spacing-md)}.settings-info-box strong{color:var(--text-primary)}.private-mode-banner{background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border:1px solid var(--primary-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.private-mode-banner-content{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.banner-icon{flex-shrink:0;font-size:2rem}.banner-text{flex:1 1;min-width:250px}.banner-text strong{color:var(--primary-color);display:block;font-size:1.1rem;margin-bottom:4px}.banner-text p{color:var(--text-secondary);font-size:.9rem;margin:0}.banner-actions{display:flex;flex-shrink:0;gap:var(--spacing-sm)}.btn-primary-small,.btn-secondary-small{align-items:center;border:none;border-radius:var(--border-radius);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);transition:all .2s;white-space:nowrap}.btn-primary-small{background:var(--primary-color);color:#fff}.btn-primary-small:hover{background:var(--primary-hover);transform:translateY(-1px)}.btn-secondary-small{background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary-small:hover{background:var(--background-color);border-color:var(--primary-color)}.private-welcome-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.welcome-section{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-lg)}.welcome-section h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 var(--spacing-md) 0}.welcome-section-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-md)}.welcome-section-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}@media (max-width:768px){.welcome-section-header{flex-direction:column}.welcome-section-actions{width:100%}.welcome-section-actions .btn-primary{flex:1 1;min-width:0}}.feature-list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style:none;margin:0;padding:0}.feature-list li{color:var(--text-primary);line-height:1.6;padding-left:var(--spacing-md);position:relative}.feature-list li:before{content:"✓";font-weight:700;left:0;position:absolute}.feature-list li:before,.feature-list strong{color:var(--primary-color)}.overview-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.overview-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.overview-card-header{align-items:center;background:var(--background-color);border-bottom:1px solid var(--border-color);display:flex;gap:var(--spacing-md);padding:var(--spacing-lg)}.overview-icon{color:var(--primary-color);flex-shrink:0}.overview-card-header h3{color:var(--text-primary);font-size:1.1rem;margin:0}.overview-card-body{padding:var(--spacing-lg)}.overview-stat{align-items:center;display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.overview-stat:not(:last-child){border-bottom:1px solid var(--border-color)}.overview-stat .stat-label{color:var(--text-secondary);font-size:.9rem}.overview-stat .stat-value{color:var(--text-primary);font-size:1rem;font-weight:500}.overview-stat-large{padding:var(--spacing-md) 0;text-align:center}.overview-stat-large .stat-number{color:var(--primary-color);display:block;font-size:3rem;font-weight:700;line-height:1}.overview-stat-large .stat-label{color:var(--text-secondary);display:block;font-size:.9rem;margin-top:var(--spacing-sm)}.overview-stats-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr;margin-top:var(--spacing-md)}.overview-stat-small{background:var(--background-color);border-radius:var(--border-radius);padding:var(--spacing-sm);text-align:center}.overview-stat-small .stat-value{color:var(--primary-color);display:block;font-size:1.5rem;font-weight:600}.overview-stat-small .stat-label{color:var(--text-secondary);display:block;font-size:.85rem;margin-top:4px}.account-types{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.account-type-badge{align-items:center;background:var(--background-color);border-radius:var(--border-radius);color:var(--text-primary);display:flex;font-size:.9rem;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.account-list-preview{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.account-preview-item{align-items:center;background:var(--background-color);border-radius:var(--border-radius);color:var(--text-primary);display:flex;font-size:.9rem;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.account-preview-item.more{color:var(--text-secondary);font-weight:500;justify-content:center}.account-preview-card-image{border-radius:3px;box-shadow:0 1px 2px #00000026;flex-shrink:0;height:25px;object-fit:cover;width:40px}.account-preview-icon{flex-shrink:0;font-size:1.1rem;text-align:center;width:40px}.account-preview-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-preview-more{color:var(--text-secondary);font-size:.85rem}.placeholder-stat{color:var(--text-secondary);padding:var(--spacing-xl);text-align:center}.placeholder-stat p{font-size:1.1rem;margin:0 0 var(--spacing-sm) 0}.placeholder-stat small{color:var(--text-tertiary);font-size:.85rem}.account-type-tabs{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-xs);width:-webkit-fit-content;width:fit-content}.account-type-tab{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s}.account-type-tab:hover{background:var(--surface-color);color:var(--text-primary)}.account-type-tab.active{background:var(--primary-color);color:#fff}.account-type-tab.active:hover{background:var(--primary-hover)}.account-type-tab .tab-badge{align-items:center;background:var(--surface-color);border-radius:10px;color:var(--text-secondary);display:inline-flex;font-size:.75rem;font-weight:600;height:20px;justify-content:center;min-width:24px;padding:0 6px}.account-type-tab.active .tab-badge{background:#fff3;color:#fff}.ownership-badge{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.ownership-badge.personal{background:#8b5cf626;color:#8b5cf6}.ownership-badge.household{background:#22c55e26;color:#22c55e}[data-theme=dark] .ownership-badge.personal{background:#8b5cf640}[data-theme=dark] .ownership-badge.household{background:#22c55e40}@media (max-width:768px){.account-type-tabs{overflow-x:auto;width:100%}.account-type-tab{flex-shrink:0;white-space:nowrap}}.categories-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:var(--spacing-lg)}.category-card{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;flex-direction:column;padding:var(--spacing-lg);transition:all .2s}.category-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.category-card.inactive{opacity:.6}.category-card.default-category{border-style:dashed}.default-badge{background-color:#2563eb1a;border-radius:12px;color:var(--primary-color);font-size:.75rem;font-weight:600;padding:2px 8px}.category-card-header{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.category-emoji-badge{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;flex-shrink:0;font-size:1.75rem;height:48px;justify-content:center;width:48px}.category-info{flex:1 1;min-width:0}.category-info h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 var(--spacing-xs) 0}.category-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.85rem;overflow:hidden}.category-details{flex:1 1;margin-bottom:var(--spacing-md)}.category-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.category-meta .meta-item{color:var(--text-secondary);font-size:.85rem}.category-actions{border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-md)}.category-actions .btn-icon{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;display:flex;flex:1 1;font-size:.85rem;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-sm);transition:all .2s}.category-actions .btn-icon:hover{background-color:var(--background-color);border-color:var(--primary-color);color:var(--primary-color)}.category-actions .btn-icon.danger:hover{background-color:#ef44441a;border-color:var(--danger-color);color:var(--danger-color)}.category-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.category-form .form-group{margin-bottom:0}.category-form .text-input.error{border-color:var(--danger-color)}.category-form .error-text{color:var(--danger-color);font-size:.85rem;margin-top:var(--spacing-xs)}.emoji-picker-grid{grid-gap:var(--spacing-xs);display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(10,1fr);margin-top:var(--spacing-sm)}.emoji-option{align-items:center;background:var(--background-color);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;font-size:1.25rem;height:40px;justify-content:center;transition:all .15s ease;width:40px}.emoji-option.selected,.emoji-option:hover{border-color:var(--primary-color);transform:scale(1.08)}.emoji-option.selected{background:#2563eb1a}@media (max-width:768px){.emoji-picker-grid{grid-template-columns:repeat(5,1fr)}}.icon-picker-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.icon-option{align-items:center;background:var(--background-color);border:2px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s;width:44px}.icon-option.selected,.icon-option:hover{border-color:var(--primary-color);color:var(--primary-color)}.icon-option.selected{background:#2563eb1a}.modal-actions{border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md);padding-top:var(--spacing-lg)}@media (max-width:768px){.categories-grid{grid-template-columns:1fr}.category-card{padding:var(--spacing-md)}.category-card-header{flex-wrap:nowrap;gap:var(--spacing-sm)}.category-emoji-badge{flex-shrink:0;font-size:1.25rem;height:40px;width:40px}.category-info{flex:1 1;min-width:0}.category-info h3{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-description{-webkit-line-clamp:1;font-size:.8rem}.category-details{margin-bottom:var(--spacing-sm)}.category-meta .meta-item{font-size:.8rem}.category-actions{flex-wrap:wrap;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.category-actions .btn-icon{flex:1 1;font-size:.8rem;min-width:calc(33% - var(--spacing-xs));padding:var(--spacing-xs) var(--spacing-sm)}.overview-grid{grid-template-columns:1fr}.overview-card-header{padding:var(--spacing-md)}.overview-card-header h3{font-size:1rem}.overview-card-body{padding:var(--spacing-md)}.overview-stat-large .stat-number{font-size:2.5rem}.private-mode-banner{padding:var(--spacing-md)}.private-mode-banner-content{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.banner-text{min-width:0}.banner-actions{width:100%}.banner-actions button{flex:1 1}.welcome-section{padding:var(--spacing-md)}.welcome-section h3{font-size:1rem}.feature-list li{font-size:.9rem}.settings-card-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.settings-card-body,.settings-card-header{padding:var(--spacing-md)}.checkbox-group,.household-options{grid-template-columns:1fr}.household-options{gap:var(--spacing-lg)}.household-option-card{padding:var(--spacing-lg)}.household-option-card h3{font-size:1.25rem}}@media (max-width:480px){.household-page{padding:var(--spacing-sm)}.household-sidebar{border-radius:var(--border-radius-sm);padding:var(--spacing-xs)}.household-content{border-radius:var(--border-radius-sm);padding:var(--spacing-sm)}.household-tab{padding:var(--spacing-xs)}.household-tab svg{height:18px;width:18px}.household-section h2{font-size:1.2rem}.account-card,.category-card,.member-card,.overview-card-body,.overview-card-header,.welcome-section{padding:var(--spacing-sm)}.member-avatar{font-size:.9rem;height:40px;width:40px}.emoji-picker-grid{grid-template-columns:repeat(6,1fr)}.emoji-option{font-size:1.1rem;height:36px;width:36px}}.pending-requests-section{margin-bottom:var(--spacing-xl)}.subsection-title{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:var(--spacing-md)}.members-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.member-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--spacing-md) var(--spacing-lg);transition:all .2s}.member-card:hover{box-shadow:var(--shadow-sm)}.member-card.inactive{opacity:.6}.member-card.pending{background:#f59e0b08;border-color:#f59e0b4d}.member-card-main{align-items:center;display:flex;gap:var(--spacing-md)}.member-card .user-avatar{align-items:center;background:linear-gradient(135deg,var(--primary-color),#1e40af);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:600;height:48px;justify-content:center;width:48px}.member-card .user-avatar.pending{background:linear-gradient(135deg,#f59e0b,#d97706)}.member-card .member-info{flex:1 1;min-width:150px}.member-card .member-info h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 2px}.member-card .member-email{color:var(--text-secondary);font-size:.85rem}.member-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.member-card-actions{display:flex;flex-shrink:0;gap:var(--spacing-sm);margin-left:auto}.member-action-btn{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius-md,6px);color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;font-size:var(--text-sm,.85rem);font-weight:500;gap:4px;gap:var(--spacing-xs,4px);line-height:1.5;padding:4px 8px;padding:var(--spacing-xs,4px) var(--spacing-sm,8px);transition:all .2s;transition:var(--transition-base,all .2s);white-space:nowrap}.member-action-btn:hover{background:#f59e0b1a;border-color:#f59e0b;color:#f59e0b}.member-action-btn.demote:hover{background:#2563eb1a;border-color:var(--primary-color);color:var(--primary-color)}.member-action-btn.success{border-color:var(--success-color);color:var(--success-color)}.member-action-btn.success:hover{background:#22c55e1a}.member-action-btn.danger{border-color:var(--danger-color);color:var(--danger-color)}.member-action-btn.danger:hover{background:#ef44441a}.primary-member-label{color:var(--text-secondary);font-size:.85rem;font-style:italic}.list-footer{color:var(--text-secondary);font-size:.9rem;padding:var(--spacing-md) 0;text-align:center}@media (max-width:768px){.member-card{padding:var(--spacing-md)}.member-card-main{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-md)}.member-card .user-avatar{flex-shrink:0;font-size:.9rem;height:44px;width:44px}.member-card .member-info{flex:1 1;min-width:0;text-align:left}.member-card .member-info h4{font-size:.95rem}.member-card .member-email,.member-card .member-info h4{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-card .member-email{font-size:.8rem}.member-badges{display:flex;flex-direction:row;flex-shrink:0;gap:var(--spacing-xs)}.member-badges .role-badge,.member-badges .status-badge{font-size:.75rem;padding:2px 8px}.member-card-actions{border-top:1px solid var(--border-color);margin-left:0;margin-top:var(--spacing-md);padding-top:var(--spacing-md);width:100%}.member-action-btn{flex:1 1;justify-content:center}.primary-member-label{font-size:.8rem;text-align:center;width:100%}}.users-table{background:var(--surface-color);margin-top:var(--spacing-lg);overflow:hidden}.users-table td,.users-table th{border-bottom:1px solid var(--border-color);padding:var(--spacing-md);text-align:left}.users-table th{color:var(--text-secondary);font-size:.85rem}.users-table tbody tr:hover,.users-table th{background:var(--background-color)}.user-cell{gap:var(--spacing-md)}.user-avatar{background:linear-gradient(135deg,var(--primary-color),#1e40af);font-size:.9rem;height:40px;width:40px}.user-avatar.pending{background:linear-gradient(135deg,#f59e0b,#d97706)}.user-details{min-width:0}.role-badge,.user-email{font-size:.85rem}.role-badge{align-items:center;border-radius:var(--border-radius-sm);display:inline-flex;font-weight:500;gap:4px;padding:4px 10px}.role-badge.manager{background:#f59e0b1a;color:#f59e0b}.role-badge.member{background:#3b82f61a}.role-badge.pending{background:#f59e0b1a;color:#f59e0b}.status-badge{align-items:center;border-radius:var(--border-radius-sm);display:inline-flex;font-size:.85rem;font-weight:500;gap:4px;padding:4px 10px}.status-badge.active{background:#22c55e1a}.status-badge.inactive{background:#ef44441a}.status-badge.invited{background:#3b82f61a;cursor:help}.status-badge.pending{background:#6b72801a;color:var(--text-secondary)}.action-buttons{flex-wrap:wrap;gap:var(--spacing-sm)}.action-buttons .btn-icon{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;font-size:.8rem;padding:6px 12px;transition:all .2s}.action-buttons .btn-icon:hover{border-color:var(--primary-color);color:var(--primary-color)}.action-buttons .btn-icon.success{border-color:var(--success-color);color:var(--success-color)}.action-buttons .btn-icon.success:hover{background:#22c55e1a}.action-buttons .btn-icon.danger:hover{background:#ef44441a;border-color:var(--danger-color);color:var(--danger-color)}.pending-request-row{background:#f59e0b08}.table-footer{background:var(--background-color);padding:var(--spacing-md)}.table-footer p{margin:0}.filter-group,.filters-bar{flex-wrap:wrap}.btn-filter{color:var(--text-primary);font-size:.9rem;font-weight:500}.btn-filter .filter-btn-text{display:inline}@media (max-width:768px){.btn-filter .filter-btn-text{display:none}.btn-filter{padding:var(--spacing-sm)}}.filter-count{border-radius:10px;display:inline-flex;font-size:.75rem;height:20px;min-width:20px;padding:0 6px}.filter-dropdown-backdrop{inset:0;z-index:9998}.filter-dropdown{box-shadow:var(--shadow-lg);z-index:9999}.filter-dropdown-header{color:var(--text-primary);font-weight:600}.filter-dropdown-header .btn-text-sm{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.85rem;padding:0}.filter-dropdown-header .btn-text-sm:hover{text-decoration:underline}.filter-item.filter-toggle label{margin-bottom:0}@media (max-width:768px){.filters-bar{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-sm)}.filters-bar .search-input-wrapper{flex:1 1;min-width:0}.btn-filter,.filter-dropdown-container{flex-shrink:0}.btn-filter{padding:var(--spacing-sm)}.filter-dropdown{border-radius:var(--border-radius-lg);bottom:var(--spacing-md)!important;left:var(--spacing-md)!important;max-height:60vh;max-width:none;min-width:auto;overflow-y:auto;position:fixed!important;right:var(--spacing-md)!important;top:auto!important;width:calc(100vw - var(--spacing-md)*2)}.users-table{display:none}.account-type-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;width:100%}.account-type-tab{flex:1 0 auto;font-size:.8rem;min-width:0;padding:var(--spacing-sm) var(--spacing-md)}.account-type-tab .tab-badge{font-size:.7rem;height:18px;min-width:20px}}.modal-tabs{background-color:var(--background-color);border-bottom:1px solid var(--border-color);display:flex}.modal-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;padding:var(--spacing-md) var(--spacing-lg);transition:all .2s}.modal-tab:hover{background-color:#2563eb0d;color:var(--text-primary)}.modal-tab.active{background-color:var(--surface-color);border-bottom-color:var(--primary-color);color:var(--primary-color)}.stats-page{margin:0 auto;max-width:1600px;padding:var(--spacing-xl)}.stats-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--spacing-md);height:400px;justify-content:center}.spin{animation:spin 1s linear infinite}.stats-header{margin-bottom:var(--spacing-lg)}.stats-title-row{align-items:flex-start;display:flex;justify-content:space-between}.stats-header h1{align-items:center;display:flex;font-size:var(--text-2xl);gap:var(--spacing-xs);margin:0}.stats-header p{color:var(--text-secondary);margin:.25rem 0 0}.stats-header-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.refresh-icon-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-xs);transition:var(--transition-base)}.refresh-icon-btn:hover:not(:disabled){background:var(--background-color);color:var(--primary-color)}.refresh-icon-btn:disabled{cursor:not-allowed;opacity:.5}.year-nav{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;display:flex;gap:var(--spacing-xs);padding:.25rem var(--spacing-xs)}.year-nav button{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;padding:.25rem}.year-nav button:hover:not(:disabled){background:var(--background-color);color:var(--primary-color)}.year-nav button:disabled{cursor:not-allowed;opacity:.3}.year-nav span{font-weight:var(--font-bold);min-width:50px;text-align:center}.stats-cards{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-lg)}.stat-card{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:var(--spacing-md);padding:1.25rem}.stat-card svg{background:#2563eb1a;border-radius:10px;color:var(--primary-color);flex-shrink:0;padding:var(--spacing-sm)}.stat-card.primary{background:linear-gradient(135deg,var(--primary-color),#1d4ed8);border:none;color:#fff}.stat-card.primary svg{background:#fff3;color:#fff}.stat-card.accent-blue svg{background:#3b82f626;color:#3b82f6}.stat-card.accent-green svg{background:#22c55e26;color:var(--success-color)}.stat-card.accent-purple svg{background:#8b5cf626;color:#8b5cf6}.stat-card.accent-orange svg{background:#f9731626;color:#f97316}.stat-card div{display:flex;flex-direction:column}.stat-card strong{font-size:var(--text-xl)}.stat-card span{font-size:.8rem;opacity:.8}.stats-tabs{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:.25rem;margin-bottom:var(--spacing-lg);overflow-x:auto;padding:.25rem}.stats-tabs button{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-weight:var(--font-medium);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);white-space:nowrap}.stats-tabs button:hover{background:var(--surface-color);color:var(--text-primary)}.stats-tabs button.active{background:var(--surface-color);box-shadow:var(--shadow-sm);color:var(--primary-color)}.stats-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.panel{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.panel h3{align-items:center;background:var(--background-color);border-bottom:1px solid var(--border-color);display:flex;font-size:var(--text-base);gap:var(--spacing-xs);margin:0;padding:var(--spacing-md) 1.25rem}.panel-body{padding:var(--spacing-lg)}.panel-body.center{align-items:center;display:flex;flex-direction:column}.panel-row{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr)}@media (max-width:900px){.panel-row{grid-template-columns:1fr}}.panel.full{width:100%}.empty{color:var(--text-tertiary);padding:var(--spacing-3xl);text-align:center}.bar-chart{align-items:flex-end;display:flex;gap:8px;width:100%}.bar-column{align-items:center;display:flex;flex:1 1;flex-direction:column;min-width:0}.bar-track{align-items:flex-end;display:flex;height:180px;justify-content:center;width:100%}.bar-fill{border-radius:var(--radius-sm) var(--radius-sm) 0 0;max-width:40px;min-height:4px;position:relative;transition:height var(--transition-slow);width:100%}.bar-value{font-size:.7rem;font-weight:var(--font-semibold);left:50%;position:absolute;top:-20px;transform:translateX(-50%);white-space:nowrap}.bar-label,.bar-value{color:var(--text-secondary)}.bar-label{font-size:var(--text-xs);margin-top:8px}.donut-wrapper{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%}.donut-total{fill:var(--text-primary);font-size:.2px;font-weight:var(--font-bold)}.donut-legend{flex-direction:column;width:100%}.donut-legend,.legend-row{display:flex;gap:var(--spacing-xs)}.legend-row{align-items:center;font-size:var(--text-sm)}.legend-dot{border-radius:3px;flex-shrink:0;height:10px;width:10px}.legend-icon{flex-shrink:0;font-size:var(--text-base)}.legend-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-amount{font-weight:var(--font-medium);white-space:nowrap}.top-list{flex-direction:column}.top-item,.top-list{display:flex;gap:var(--spacing-sm)}.top-item{background:var(--background-color);border-radius:6px;padding:var(--spacing-sm)}.rank,.top-item{align-items:center}.rank{background:var(--primary-color);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:var(--text-xs);font-weight:var(--font-bold);height:24px;justify-content:center;width:24px}.top-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.top-name{font-weight:var(--font-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-count{color:var(--text-secondary);font-size:var(--text-xs)}.top-amount{font-weight:var(--font-semibold);white-space:nowrap}.monthly-table{border-collapse:collapse;margin-top:var(--spacing-lg);width:100%}.monthly-table td,.monthly-table th{border-bottom:1px solid var(--border-color);padding:var(--spacing-sm);text-align:left}.monthly-table th{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase}.monthly-table tr.muted td{color:var(--text-tertiary)}.monthly-table .red{color:var(--danger-color)}.monthly-table .green{color:var(--success-color)}.progress-row{margin-bottom:var(--spacing-md)}.progress-label{display:flex;font-size:var(--text-sm);justify-content:space-between;margin-bottom:.25rem}.progress-track{background:var(--background-color);border-radius:var(--radius-sm);height:8px;overflow:hidden}.progress-fill{border-radius:var(--radius-sm);height:100%;transition:width var(--transition-slow)}.auto-stats{display:flex;gap:var(--spacing-3xl);margin-bottom:var(--spacing-lg)}.auto-item{flex-direction:column;gap:var(--spacing-xs)}.auto-icon,.auto-item{align-items:center;display:flex}.auto-icon{border-radius:var(--radius-full);height:50px;justify-content:center;width:50px}.auto-icon.green{background:#10b9811a;color:var(--success-color)}.auto-icon.gray{background:#64748b1a;color:var(--secondary-color)}.auto-item strong{font-size:var(--text-2xl)}.auto-item span{color:var(--text-secondary);font-size:var(--text-sm)}.auto-rate{background:var(--background-color);border-radius:6px;display:flex;justify-content:space-between;max-width:300px;padding:var(--spacing-md);width:100%}.auto-rate strong{color:var(--primary-color)}.yoy-summary{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.yoy-card{background:var(--background-color);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center}.yoy-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.5px;text-transform:uppercase}.yoy-label,.yoy-values{margin-bottom:var(--spacing-md)}.yoy-values{align-items:center;display:flex;gap:var(--spacing-md);justify-content:center}.yoy-current,.yoy-previous{display:flex;flex-direction:column;gap:.25rem}.yoy-year{color:var(--text-tertiary);font-size:var(--text-xs)}.yoy-amount{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold)}.yoy-current .yoy-amount{color:var(--primary-color)}.yoy-arrow{align-items:center;display:flex;justify-content:center}.yoy-arrow .up{color:var(--danger-color)}.yoy-arrow .down{color:var(--success-color)}.yoy-arrow .neutral{color:var(--text-tertiary)}.yoy-change{align-items:center;border-radius:20px;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md)}.yoy-change.up{background:#ef44441a;color:var(--danger-color)}.yoy-change.down{background:#22c55e1a;color:var(--success-color)}.yoy-change.neutral{background:#64748b1a;color:var(--text-secondary)}.yoy-change span{font-size:.8rem;font-weight:var(--font-normal)}.yoy-monthly-chart{align-items:flex-end;display:flex;gap:8px;margin-bottom:var(--spacing-lg);width:100%}.yoy-month-column{align-items:center;display:flex;flex:1 1;flex-direction:column;min-width:0}.yoy-bars{height:180px}.yoy-bar-group,.yoy-bars{align-items:flex-end;display:flex;justify-content:center;width:100%}.yoy-bar-group{gap:4px;max-width:50px}.yoy-bar{border-radius:3px 3px 0 0;min-height:0;transition:height var(--transition-slow);width:45%}.yoy-bar.current{background:var(--primary-color)}.yoy-bar.previous{background:var(--border-color)}.yoy-month-label{color:var(--text-secondary);font-size:var(--text-xs);margin-top:8px}.yoy-month-change{font-size:.65rem;font-weight:var(--font-semibold);margin-top:4px}.yoy-month-change.up{color:var(--danger-color)}.yoy-month-change.down{color:var(--success-color)}.yoy-month-change.neutral{color:var(--text-tertiary)}.yoy-legend{display:flex;gap:var(--spacing-xl);justify-content:center}.yoy-legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--spacing-xs)}.yoy-legend-dot{border-radius:3px;height:12px;width:12px}.yoy-legend-dot.current{background:var(--primary-color)}.yoy-legend-dot.previous{background:var(--border-color)}.yoy-category-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.yoy-category-row{align-items:center;background:var(--background-color);border-radius:6px;display:flex;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.yoy-category-info{align-items:center;display:flex;flex:1 1;gap:var(--spacing-sm);min-width:0}.yoy-category-icon{flex-shrink:0;font-size:var(--text-xl)}.yoy-category-name{font-weight:var(--font-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yoy-category-values{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-md)}.yoy-category-current{color:var(--primary-color);font-weight:var(--font-semibold);min-width:80px;text-align:right}.yoy-category-prev{color:var(--text-secondary);font-size:var(--text-sm);min-width:80px;text-align:right}.yoy-category-change{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-semibold);gap:.25rem;justify-content:center;min-width:70px;padding:.25rem var(--spacing-xs)}.yoy-category-change.up{background:#ef44441a;color:var(--danger-color)}.yoy-category-change.down{background:#22c55e1a;color:var(--success-color)}.yoy-category-change.neutral{background:#64748b1a;color:var(--text-secondary)}.yoy-category-change.new{background:#3b82f61a;color:var(--primary-color)}@media (max-width:768px){.stats-page{padding:var(--spacing-md)}.stats-title-row{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.stats-header-actions{align-self:flex-start}.stats-cards{grid-template-columns:repeat(2,1fr)}.stat-card{padding:var(--spacing-md)}.stat-card strong{font-size:var(--text-base)}.yoy-summary{grid-template-columns:1fr}.yoy-values{flex-wrap:wrap}.yoy-amount{font-size:1.1rem}.yoy-monthly-chart{gap:4px}.yoy-month-column{min-width:0}.yoy-bars{height:100px}.yoy-bar-group{gap:2px;max-width:30px}.yoy-month-label{font-size:.65rem}.yoy-month-change{display:none}.yoy-legend{gap:var(--spacing-md)}.yoy-legend-item{font-size:var(--text-xs)}.yoy-legend-dot{height:10px;width:10px}.yoy-category-row{flex-wrap:wrap;gap:var(--spacing-xs)}.yoy-category-info{flex:1 0 100%}.yoy-category-values{flex:1 1;justify-content:space-between}.yoy-category-current,.yoy-category-prev{min-width:auto}}@media (max-width:600px){.stats-tabs{overflow:visible;width:100%}.stats-tabs button{flex:1 1;gap:.25rem;justify-content:center;padding:var(--spacing-xs)}.stats-tabs button .tab-label{display:none}}.calendar-page{display:flex;flex-direction:column;padding:var(--spacing-lg) var(--spacing-xl)}.calendar-page *{box-sizing:border-box}.loading-state{min-height:400px}.calendar-header{gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-lg)}.cal-nav-left,.calendar-header{align-items:center;display:flex}.cal-nav-left{gap:var(--spacing-xs)}.cal-nav-left h1{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0;white-space:nowrap}.cal-nav-right{gap:var(--spacing-xs)}.cal-nav-right,.nav-btn{align-items:center;display:flex}.nav-btn{background:var(--surface-color);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;height:32px;justify-content:center;transition:var(--transition-fast);width:32px}.nav-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.view-toggle{border:1px solid var(--border-color);border-radius:6px;display:flex;overflow:hidden}.toggle-btn{align-items:center;background:var(--surface-color);border:none;color:var(--text-secondary);cursor:pointer;display:flex;height:30px;justify-content:center;transition:var(--transition-fast);width:34px}.toggle-btn:first-child{border-right:1px solid var(--border-color)}.toggle-btn:hover{background:var(--background-color)}.toggle-btn.active{background:var(--primary-color);color:var(--primary-text-color)}.manage-link .manage-text{display:inline}.calendar-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;position:relative}.cal-weekdays{background:var(--background-color);border-bottom:1px solid var(--border-color);display:grid;grid-template-columns:repeat(7,1fr)}.cal-weekday{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--spacing-sm);text-align:center;text-transform:uppercase}.cal-grid{display:grid;flex:1 1;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--rows),1fr);min-height:0}.cal-day{background:var(--surface-color);border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);cursor:pointer;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:var(--spacing-xs);transition:background var(--transition-fast)}.cal-day:nth-child(7n){border-right:none}.cal-day.other,.cal-day:hover{background:var(--background-color)}.cal-day.other{opacity:.5}.cal-day.selected{background:#3b82f61a;outline:2px solid var(--primary-color);outline-offset:-2px;z-index:1}.day-top{justify-content:space-between;margin-bottom:.25rem;min-width:0}.day-top,.day-top-left,.day-top-right{align-items:center;display:flex;gap:4px}.day-top-right{margin-left:auto}.day-num{align-items:center;border-radius:var(--radius-full);color:var(--text-primary);display:flex;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--font-semibold);height:24px;justify-content:center;width:24px}.cal-day.today .day-num{color:var(--primary-color);font-weight:var(--font-bold)}.today-badge{background:var(--primary-color);border-radius:3px;color:var(--primary-text-color);font-size:.55rem;font-weight:var(--font-bold);letter-spacing:.5px;padding:2px 4px}.day-total{background:#3b82f61a;border-radius:var(--radius-sm);color:var(--primary-color);font-size:.65rem;font-weight:var(--font-semibold);padding:2px 6px}.day-bills{align-content:flex-start;display:flex;flex:1 1;flex-direction:row;flex-wrap:wrap;gap:4px;min-height:0;min-width:0;overflow:hidden}.day-bill{background:var(--background-color);border-left:2px solid var(--primary-color);border-radius:3px;font-size:.65rem;overflow:hidden;padding:2px 4px;text-overflow:ellipsis;white-space:nowrap;width:100%}.day-bill.paid{border-left-color:var(--success-color);opacity:.5}.day-bill.overdue{background:#ef44441a;border-left-color:var(--danger-color)}.day-bill.due-soon{background:#eab3081a;border-left-color:#eab308}.day-bill .bill-name{color:var(--text-primary);font-weight:var(--font-medium)}.day-more{color:var(--text-secondary);font-size:.65rem;padding:2px;text-align:center}.day-bill.has-logo{align-items:center;background:#0000;border-left:none;border-radius:var(--radius-sm);display:flex;flex-shrink:0;justify-content:center;padding:4px;width:auto}.day-bill .bill-logo{border-radius:3px;height:30px;max-width:100%;object-fit:contain;outline:2px solid var(--primary-color);outline:2px solid var(--bill-accent,var(--primary-color));outline-offset:2px;width:auto}.day-bill.has-logo.paid .bill-logo{opacity:.5;outline-color:var(--success-color)}.day-bill.has-logo.due-soon .bill-logo{outline-color:#eab308}.day-bill.has-logo.overdue .bill-logo{outline-color:var(--danger-color)}.day-bills.compact{align-content:flex-start;flex-direction:row;flex-wrap:wrap;gap:4px}.bill-dot{background:var(--primary-color);border-radius:var(--radius-full);flex-shrink:0;height:8px;width:8px}.bill-dot.paid{background:var(--success-color);opacity:.5}.bill-dot.overdue{background:var(--danger-color)}.bill-dot.due-soon{background:#eab308}.dot-more{color:var(--text-secondary);font-size:.6rem;line-height:8px}.day-popup{animation:popIn var(--transition-fast);background:var(--background-color);border:2px solid var(--primary-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:380px;position:absolute;width:340px;z-index:var(--z-popover)}@keyframes popIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.popup-head{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-md)}.popup-head h3{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.popup-actions{display:flex;gap:.25rem}.icon-btn{align-items:center;background:var(--background-color);border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.1rem;height:28px;justify-content:center;transition:var(--transition-fast);width:28px}.icon-btn:hover{background:var(--danger-color);color:#fff}.icon-btn.primary{background:var(--primary-color);color:var(--primary-text-color)}.icon-btn.primary:hover{background:var(--primary-hover)}.popup-empty{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-3xl)}.popup-empty svg{opacity:.4}.popup-total{align-items:center;background:var(--background-color);display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.popup-total span{color:var(--text-secondary);font-size:var(--text-sm)}.popup-total strong{color:var(--primary-color);font-size:1.1rem;font-weight:var(--font-bold)}.popup-list{flex:1 1;flex-direction:column;gap:var(--spacing-xs);overflow-y:auto}.popup-item,.popup-list{display:flex;padding:var(--spacing-sm)}.popup-item{align-items:center;background:var(--background-color);border-left:3px solid #0000;border-radius:var(--radius-md);cursor:pointer;gap:var(--spacing-sm);transition:background var(--transition-fast)}.popup-item:hover{background:#3b82f60d}.popup-item.paid{border-left-color:var(--success-color)}.popup-item.overdue{border-left-color:var(--danger-color)}.popup-item.due-soon{border-left-color:#eab308}.popup-info{flex:1 1;min-width:0}.popup-name{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:4px}.popup-name svg{color:var(--primary-color)}.popup-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-xs);gap:.25rem}.popup-right{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.popup-amt{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-bold)}.badge{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:.65rem;font-weight:var(--font-semibold);gap:2px;padding:2px 6px}.badge.paid{background:#22c55e26;color:var(--success-color)}.badge.overdue{background:#ef444426;color:var(--danger-color)}.badge.due-soon{background:#eab30826;color:#eab308}.sheet-overlay{background:#00000080;inset:0;position:fixed;z-index:99}.sheet{animation:slideUp var(--transition-slow);background:var(--surface-color);border-radius:var(--radius-xl) var(--radius-xl) 0 0;bottom:0;display:flex;flex-direction:column;left:0;max-height:70vh;position:fixed;right:0;z-index:var(--z-modal)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet .popup-list{max-height:calc(70vh - 140px)}.agenda-wrap{align-items:flex-start;display:flex;gap:var(--spacing-lg)}.agenda-main{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-md);min-width:0}.agenda-empty{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);padding:var(--spacing-3xl) var(--spacing-xl);text-align:center}.agenda-empty svg{margin-bottom:var(--spacing-md);opacity:.4}.agenda-empty h3{color:var(--text-primary);margin:0 0 var(--spacing-xs)}.agenda-empty p{margin:0}.agenda-week{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.week-head{align-items:center;background:var(--background-color);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-md)}.week-info{flex:1 1}.week-title{align-items:center;color:var(--text-primary);display:flex;flex-wrap:wrap;font-weight:var(--font-semibold);gap:var(--spacing-xs)}.tag{border-radius:10px;font-size:.7rem;font-weight:var(--font-medium);padding:2px 8px}.tag.danger{background:#ef444426;color:var(--danger-color)}.tag.success{background:#22c55e26;color:var(--success-color)}.week-summary{align-items:center;display:flex;gap:var(--spacing-xs);margin-top:.25rem}.week-total{color:var(--primary-color);font-weight:var(--font-bold)}.week-count{color:var(--text-secondary);font-size:var(--text-sm)}.week-bills{display:flex;flex-direction:column}.agenda-row{align-items:center;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:background var(--transition-fast)}.agenda-row:last-child{border-bottom:none}.agenda-row:hover{background:var(--background-color)}.agenda-row.paid{background:#22c55e08}.agenda-row.overdue{background:#ef44440d}.agenda-date{align-items:center;display:flex;flex-direction:column;min-width:36px}.a-day{color:var(--text-primary);font-size:1.1rem;font-weight:var(--font-bold);line-height:var(--leading-none)}.a-dow{color:var(--text-secondary);font-size:.65rem;text-transform:uppercase}.agenda-info{flex:1 1;min-width:0}.a-name{align-items:center;color:var(--text-primary);display:flex;font-weight:var(--font-medium);gap:4px}.a-name svg{color:var(--primary-color)}.a-meta{color:var(--text-secondary);font-size:.8rem}.agenda-right{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.a-amt{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold)}.a-amt.paid{color:var(--success-color)}.week-expand{align-items:center;background:#0000;border:none;border-top:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-sm);gap:.25rem;justify-content:center;padding:var(--spacing-sm);transition:var(--transition-fast);width:100%}.week-expand:hover{background:var(--background-color);color:var(--primary-color)}.agenda-side{flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;transition:transform .1s ease-out;width:260px}.mini-cal{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-md)}.mini-cal h4{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--spacing-sm)}.mini-weekdays{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);margin-bottom:var(--spacing-xs)}.mini-weekdays span{color:var(--text-tertiary);font-size:.7rem;font-weight:var(--font-semibold);padding:.25rem 0;text-align:center}.mini-days{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.mini-day{align-items:center;aspect-ratio:1;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-xs);justify-content:center;position:relative;transition:var(--transition-fast)}.mini-day:hover:not(.other){background:var(--background-color)}.mini-day.other{opacity:.3}.mini-day.today{color:var(--primary-color);font-weight:var(--font-bold)}.mini-day.has-bill:after{background:var(--primary-color);border-radius:var(--radius-full);bottom:2px;content:"";height:4px;position:absolute;width:4px}.mini-day.overdue:after{background:var(--danger-color)}@media (max-width:1024px){.agenda-side{width:240px}}@media (max-width:768px){.calendar-page{height:calc(100vh - 56px);padding:var(--spacing-sm)}.calendar-header{flex-wrap:wrap;margin-bottom:var(--spacing-md)}.cal-nav-left h1{font-size:1.1rem}.manage-link .manage-text{display:none}.cal-weekday{font-size:.65rem;padding:var(--spacing-xs) .25rem}.cal-day{padding:.25rem}.day-num{font-size:var(--text-xs)}.today-badge{font-size:.45rem;letter-spacing:0;padding:1px 3px}.day-total{display:none}.day-bill{font-size:.6rem;padding:2px 4px}.agenda-side,.day-bill .bill-amt{display:none}.week-head{flex-wrap:wrap;gap:var(--spacing-xs)}.week-head .week-info{min-width:0}.week-head .week-title{font-size:var(--text-sm)}.week-head .week-summary{font-size:.8rem}.agenda-row{gap:var(--spacing-xs);padding:var(--spacing-sm)}}@media (max-width:480px){.day-bills{gap:1px}.day-bill{padding:1px 3px}.day-bill .bill-name{font-size:.55rem}}[data-theme=dark] .cal-day{border-color:#ffffff14}[data-theme=dark] .cal-weekdays{border-color:#ffffff1a}[data-theme=dark] .cal-day.selected{background:#3b82f626}.income-summary-bar{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.income-summary-item{align-items:center;display:flex;gap:var(--spacing-xs)}.income-summary-item svg{color:var(--success-color)}.income-label{color:var(--text-secondary);font-size:var(--text-sm)}.income-value{color:var(--success-color);font-weight:var(--font-semibold)}.income-value.bills{color:var(--text-primary)}.income-summary-divider{color:var(--border-color)}.income-percentage{border-radius:var(--radius-sm);font-size:.8rem;font-weight:var(--font-medium);padding:.125rem .375rem}.income-percentage.good{background:#22c55e1a;color:var(--success-color)}.income-percentage.caution{background:#eab3081a;color:var(--warning-color)}.income-percentage.warning{background:#ef44441a;color:var(--danger-color)}.payday-badge{align-items:center;background:#059669;border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.payday-badge svg{height:12px;width:12px}@media (max-width:768px){.income-summary-bar{flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-xs)}.income-summary-divider{display:none}.income-label{font-size:var(--text-xs)}.income-value{font-size:var(--text-sm)}}.agenda-row.payday{background:#22c55e14;border-left:3px solid var(--success-color);cursor:pointer}.agenda-row.payday:hover{background:#22c55e26}.payday-icon{align-items:center;background:#059669;border-radius:5px;display:flex;flex-shrink:0;height:36px;justify-content:center;min-width:56px;overflow:hidden;width:56px}.payday-icon svg{color:#fff}.payday-icon .payday-logo{border-radius:5px;height:100%;object-fit:contain;width:100%}.a-amt.payday-amount,.a-name.payday-name{color:var(--success-color)}.a-amt.payday-amount{font-weight:var(--font-semibold)}.popup-item.payday{background:#22c55e0d;border-left-color:var(--success-color)}.popup-payday-icon{align-items:center;background:#059669;border-radius:6px;color:#fff;display:flex;height:44px;justify-content:center;min-width:72px;overflow:hidden;width:72px}.popup-payday-icon .payday-logo{border-radius:6px;height:100%;object-fit:contain;width:100%}.popup-amt.payday,.popup-name.payday{color:var(--success-color)}.page{margin:0 auto;max-width:1600px;padding:var(--spacing-xl)}.page.page-sm{max-width:900px}.page.page-md{max-width:1200px}.page.page-full,.page.page-lg,.page.page-xl{max-width:1600px}.page-header{border-bottom:2px solid var(--border-color);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.page-header h1{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:var(--spacing-xs)}.page-description{color:var(--text-secondary);font-size:1rem}.page-content{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:var(--spacing-xl)}.placeholder-message{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:var(--spacing-xl);text-align:center}.placeholder-message h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:var(--spacing-lg)}.placeholder-message p{color:var(--text-secondary);font-size:1rem;margin-bottom:var(--spacing-md)}.placeholder-message ul{color:var(--text-secondary);list-style-position:inside;margin:var(--spacing-lg) 0;max-width:400px;text-align:left}.placeholder-message li{padding:var(--spacing-xs) 0}.placeholder-message .note{background-color:var(--background-color);border-radius:var(--border-radius-sm);color:var(--primary-color);font-style:italic;font-weight:500;margin-top:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-lg)}@media (max-width:768px){.page{padding:var(--spacing-md)}.page-header h1{font-size:1.5rem}.page-content,.placeholder-message{padding:var(--spacing-lg)}}.filters-bar{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.filters-bar .custom-search{flex:1 1;min-width:120px}.filter-controls{align-items:center;display:flex;gap:var(--spacing-sm);margin-left:auto}@media (max-width:768px){.filters-bar{align-items:stretch;flex-direction:column}.filters-bar .custom-search{max-width:none;width:100%}.filter-controls{justify-content:flex-end;margin-left:0;width:100%}.filter-group{flex-wrap:wrap}}.btn-filter,.filter-dropdown-container{flex-shrink:0;position:relative}.btn-filter{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);cursor:pointer;display:flex;gap:var(--spacing-sm);height:40px;justify-content:center;min-width:40px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.btn-filter .filter-btn-text{display:none}.btn-filter svg{flex-shrink:0}.btn-filter.has-filters,.btn-filter:hover{border-color:var(--primary-color);color:var(--primary-color)}.btn-filter.has-filters{background:#2563eb1a}.filter-count{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:flex;font-size:.7rem;font-weight:600;height:18px;justify-content:center;position:absolute;right:-4px;top:-4px;width:18px}.filter-dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:99}.filter-dropdown{animation:filterDropdownSlide .15s ease;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 10px 40px #0003;min-width:280px;position:absolute;right:0;top:calc(100% + 8px);z-index:100}@keyframes filterDropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.filter-dropdown-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:var(--spacing-md)}.filter-dropdown-header span{color:var(--text-primary);font-weight:600}.btn-text-sm{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.85rem;padding:0}.btn-text-sm:hover{text-decoration:underline}.filter-dropdown-content{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.filter-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.filter-item label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.filter-item.filter-toggle{align-items:center;flex-direction:row;justify-content:space-between}.filter-item.filter-toggle span{color:var(--text-primary);font-size:.9rem}.settings-page{min-height:100vh}.nav-tabs--settings .nav-tab.active{background-color:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.nav-tabs--settings .nav-tab.active:hover{background-color:rgba(var(--primary-rgb),.15);color:var(--primary-color)}.settings-content{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:var(--spacing-xl) var(--spacing-2xl)}.settings-section h2{color:var(--text-primary);font-size:1.75rem;margin-bottom:var(--spacing-xs)}.settings-section .settings-group{border-top:1px solid var(--border-color);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl)}.settings-section .settings-group:first-child{border-top:none;margin-top:var(--spacing-lg);padding-top:0}.settings-section .settings-group h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:var(--spacing-sm)}.setting-description{color:var(--text-secondary)}.message,.setting-description{font-size:.9rem;margin-bottom:var(--spacing-lg)}.message{border-radius:var(--border-radius-sm);padding:var(--spacing-md)}.message-success{background-color:#10b9811a;border:1px solid var(--success-color);color:var(--success-color)}.message-error{background-color:#ef44441a;border:1px solid var(--danger-color);color:var(--danger-color)}.profile-form{margin-top:var(--spacing-xl)}.profile-picture-section{margin-bottom:var(--spacing-xl)}.profile-picture-container{align-items:center;display:flex;gap:var(--spacing-xl)}.profile-picture-preview{flex-shrink:0;height:120px;width:120px}.profile-image{height:100%;object-fit:cover;width:100%}.profile-avatar-large,.profile-image{border:3px solid var(--border-color);border-radius:50%}.profile-avatar-large{align-items:center;background-color:var(--primary-color);color:#fff;color:var(--primary-text-color,#fff);display:flex;font-size:2.5rem;font-weight:600;height:120px;justify-content:center;width:120px}.profile-picture-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.timezone-select-container{align-items:stretch;display:flex;gap:var(--spacing-sm)}.timezone-select-container .custom-select{flex:1 1}.btn-detect-timezone{align-items:center;display:flex;font-size:.9rem;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap}.theme-mode-selector{display:flex;gap:var(--spacing-md)}.mode-option{align-items:center;background:var(--background-color);border:2px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);transition:all .2s}.mode-option.active,.mode-option:hover{border-color:var(--primary-color)}.mode-option.active{background-color:#3b82f61a;color:var(--primary-color)}.mode-icon{align-items:center;display:flex;justify-content:center}.color-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(90px,1fr));margin-top:var(--spacing-md)}.color-option{align-items:center;background:var(--background-color);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);transition:all .2s}.color-option:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.color-option.active{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.color-swatch{align-items:center;border-radius:50%;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-size:1.25rem;height:40px;justify-content:center;width:40px}.checkmark{font-weight:700}.color-name{color:var(--text-primary);font-size:.75rem;font-weight:500;text-align:center}.background-options{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr);margin-top:var(--spacing-md)}.background-option{align-items:center;background:var(--background-color);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:all .2s;width:100%}.background-option.active,.background-option:hover{border-color:var(--primary-color)}.background-option.active{box-shadow:0 0 0 3px #3b82f61a}.background-preview{display:flex;flex-shrink:0;gap:2px}.bg-sample{border:1px solid #ffffff1a;border-radius:3px;height:32px;width:20px}.background-info{align-items:center;display:flex;flex:1 1;gap:var(--spacing-sm);justify-content:space-between;min-width:0}.background-name{color:var(--text-primary);font-size:.8rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-badge{background-color:var(--primary-color);border-radius:8px;color:#fff;color:var(--primary-text-color,#fff);flex-shrink:0;font-size:.65rem;font-weight:600;padding:2px 8px}.notifications-form{margin-top:var(--spacing-xl)}.select-input{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:1rem;max-width:300px;padding:var(--spacing-md);transition:border-color .2s;width:100%}.select-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a;outline:none}.select-input:disabled{cursor:not-allowed;opacity:.6}.toggle-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.toggle-item{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.toggle-info{flex:1 1;margin-right:var(--spacing-lg)}.toggle-item .toggle-label{color:var(--text-primary);display:block;font-size:.95rem;font-weight:500;margin-bottom:var(--spacing-xs)}.toggle-description{color:var(--text-secondary);font-size:.85rem;margin:0}.push-notification-item{flex-wrap:wrap}.push-notification-item .toggle-label{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.push-status-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:.7rem;font-weight:500;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase}.push-status-badge.green{background:#22c55e26;color:var(--success-color)}.push-status-badge.gray{background:var(--background-color);color:var(--text-tertiary)}.push-actions{display:flex;flex-shrink:0;gap:var(--spacing-sm)}.push-actions .btn-sm{gap:4px;padding:6px 12px}.push-actions .btn-sm,.push-blocked-hint{align-items:center;display:flex;font-size:.8rem}.push-blocked-hint{background:#f59e0b1a;border-radius:var(--border-radius-sm);color:var(--warning-color);gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.push-blocked-hint svg{flex-shrink:0}.password-change-layout{grid-gap:var(--spacing-xl);align-items:start;display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 280px;margin-top:var(--spacing-lg);max-width:700px}.password-form{width:100%}.password-requirements-desktop{padding-top:calc(var(--spacing-lg) + 1.5rem)}.password-requirements-desktop .password-requirements{margin-top:0}.password-requirements-mobile{display:none}.password-input-wrapper .text-input,.password-input-wrapper input{flex:1 1;padding-right:44px}.password-input-wrapper .password-toggle{align-items:center;background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-xs);position:absolute;right:var(--spacing-sm);transition:color .2s,background-color .2s}.password-input-wrapper .password-toggle:hover{background-color:var(--background-color);color:var(--text-primary)}.password-input-wrapper .password-toggle:disabled{cursor:not-allowed;opacity:.5}.password-requirements{margin-top:var(--spacing-sm)}.password-requirements,.password-requirements-side{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-md)}.password-requirements-side{position:-webkit-sticky;position:sticky;top:0}.security-feature-card{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.feature-info{align-items:flex-start;display:flex;gap:var(--spacing-md)}.feature-icon{font-size:2rem}.feature-info h4{color:var(--text-primary);font-size:1rem;margin:0 0 var(--spacing-xs) 0}.feature-info p{color:var(--text-secondary);font-size:.9rem;margin:0 0 var(--spacing-xs) 0}.feature-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px}.feature-badge.coming-soon{background-color:#f59e0b1a;color:var(--warning-color)}.mfa-setup-container{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);margin-top:var(--spacing-lg);padding:var(--spacing-xl)}.mfa-qr-section{align-items:center;display:flex;flex-direction:column;margin-bottom:var(--spacing-xl)}.qr-code-wrapper{background:#fff;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-md)}.qr-code-wrapper img{display:block;height:200px;width:200px}.qr-hint{color:var(--text-secondary);font-size:.875rem;margin-top:var(--spacing-md)}.mfa-manual-entry{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.mfa-manual-entry h4{color:var(--text-secondary);font-size:.9rem;margin:0 0 var(--spacing-sm) 0}.manual-key{align-items:center;display:flex;gap:var(--spacing-sm)}.manual-key code{background:var(--surface-color);border-radius:var(--border-radius-sm);flex:1 1;font-family:monospace;font-size:.95rem;letter-spacing:1px;padding:var(--spacing-sm) var(--spacing-md);word-break:break-all}.mfa-verify-form .form-group{margin-bottom:var(--spacing-lg)}.mfa-code-input{font-family:monospace;font-size:1.5rem!important;letter-spacing:.5rem;max-width:200px;text-align:center}.mfa-setup-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.mfa-enabled-container{margin-top:var(--spacing-lg)}.mfa-status-card{align-items:center;background:var(--surface-color);border:2px solid var(--border-color);border-radius:var(--border-radius-lg);display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg)}.mfa-status-card.enabled{background:#22c55e0d;border-color:var(--success-color)}.mfa-status-icon{align-items:center;background:var(--success-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.mfa-status-info{flex:1 1}.mfa-status-info h4{color:var(--text-primary);font-size:1.1rem;margin:0 0 var(--spacing-xs) 0}.mfa-status-info p{color:var(--text-secondary);font-size:.9rem;margin:0}.mfa-since{color:var(--text-tertiary);display:block;font-size:.8rem;margin-top:var(--spacing-xs)}.mfa-badge{border-radius:var(--border-radius-sm);font-size:.8rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-md);text-transform:uppercase}.mfa-badge.enabled{background:var(--success-color);color:#fff}.mfa-management{flex-direction:column;margin-top:var(--spacing-lg)}.mfa-info-item,.mfa-management{display:flex;gap:var(--spacing-md)}.mfa-info-item{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md) var(--spacing-lg)}.mfa-info-item.danger{border-color:#ef44444d}.mfa-info-item .info-icon{align-items:center;background:var(--background-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.mfa-info-item.danger .info-icon{color:var(--danger-color)}.mfa-info-item .info-content{flex:1 1}.mfa-info-item .info-content h5{color:var(--text-primary);font-size:.95rem;margin:0}.mfa-info-item .info-content p{color:var(--text-secondary);font-size:.85rem;margin:var(--spacing-xs) 0 0 0}.inline-password-form{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.inline-password-form .password-input-wrapper{align-items:center;display:flex;position:relative}.inline-password-form .password-input-wrapper input{font-size:.9rem;height:36px;padding-right:36px;width:180px}.inline-password-form .password-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;position:absolute;right:8px}.mfa-backup-codes-display{background:var(--surface-color);border:2px solid var(--warning-color);border-radius:var(--border-radius-lg);margin-top:var(--spacing-lg);padding:var(--spacing-xl)}.backup-codes-header{align-items:flex-start;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.backup-codes-header .warning-icon{color:var(--warning-color);flex-shrink:0}.backup-codes-header h4{color:var(--text-primary);font-size:1.1rem;margin:0 0 var(--spacing-xs) 0}.backup-codes-header p{color:var(--text-secondary);font-size:.9rem;margin:0}.backup-codes-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:var(--spacing-xl)}.backup-code-item{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.backup-code-item code{color:var(--text-primary);font-family:monospace;font-size:.95rem;letter-spacing:1px}.backup-codes-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-bottom:var(--spacing-lg)}.backup-codes-warning{align-items:center;background:#f59e0b1a;border-radius:var(--border-radius-sm);color:var(--warning-color);display:flex;font-size:.85rem;gap:var(--spacing-sm);padding:var(--spacing-md)}.session-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.session-item{align-items:center;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;justify-content:space-between;padding:var(--spacing-md);transition:all .15s ease}.session-item:hover{border-color:var(--text-tertiary)}.session-item.current{background:#22c55e0d;border-color:var(--success-color)}.session-info{gap:var(--spacing-md)}.session-icon,.session-info{align-items:center;display:flex}.session-icon{background:var(--background-color);border-radius:var(--border-radius);color:var(--text-secondary);height:40px;justify-content:center;width:40px}.session-item.current .session-icon{background:#22c55e1a;color:var(--success-color)}.session-details h4{color:var(--text-primary);font-size:.95rem;font-weight:500;margin:0 0 var(--spacing-xs)}.session-meta{align-items:center;color:var(--text-tertiary);display:flex;font-size:.8rem;gap:var(--spacing-md)}.session-ip{font-family:monospace}.session-time{display:flex}.session-badge,.session-time{align-items:center;gap:var(--spacing-xs)}.session-badge{background:var(--background-color);border-radius:20px;color:var(--text-secondary);display:inline-flex;font-size:.75rem;font-weight:500;padding:var(--spacing-xs) var(--spacing-sm)}.session-badge.current{background:#22c55e1a;color:var(--success-color)}.session-actions{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.session-warning{align-items:center;color:var(--text-tertiary);display:flex;font-size:.8rem;gap:var(--spacing-xs);margin:0}.session-warning svg{color:var(--warning-color)}.connected-accounts-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.connected-account-item{align-items:center;background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);display:flex;justify-content:space-between;padding:var(--spacing-md);transition:border-color .2s}.connected-account-item.linked{background:#22c55e0d;border-color:var(--success-color)}.connected-account-item.connected{background:#3b82f60d;border-color:var(--primary-color)}.connected-account-item .account-info{align-items:center;display:flex;gap:var(--spacing-md)}.connected-account-item .account-icon{align-items:center;background:var(--surface-color);border-radius:var(--border-radius-sm);display:flex;height:40px;justify-content:center;width:40px}.connected-account-item .account-details h4{color:var(--text-primary);font-size:.95rem;font-weight:600;margin:0}.connected-account-item .account-email{color:var(--text-secondary);font-size:.85rem;margin:0}.connected-account-item .account-status{border:none;color:var(--text-tertiary);font-size:.85rem;margin:0}.connected-account-item .account-actions{align-items:center;border:none;display:flex;gap:var(--spacing-sm)}.connected-account-item .account-actions button.btn-secondary{align-items:center;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:var(--spacing-xs);justify-content:center;min-height:32px;padding:var(--spacing-xs) var(--spacing-md);transition:all .2s ease}.connected-account-item .account-actions button.btn-secondary:hover:not(:disabled){background-color:var(--background-color);border-color:var(--secondary-color)}.connected-account-item .account-actions button.btn-danger-outline{align-items:center;background-color:initial;border:1px solid var(--danger-color);border-radius:var(--border-radius-sm);color:var(--danger-color);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:var(--spacing-xs);justify-content:center;min-height:32px;padding:var(--spacing-xs) var(--spacing-md);transition:all .2s ease}.connected-account-item .account-actions button.btn-danger-outline:hover:not(:disabled){background-color:var(--danger-color);color:#fff}.connected-accounts-hint,.connected-accounts-note{align-items:flex-start;border-radius:var(--border-radius-sm);color:var(--text-secondary);display:flex;font-size:.8rem;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.connected-accounts-note{background:#f59e0b1a}.connected-accounts-note svg{color:var(--warning-color)}.connected-accounts-hint{background:#3b82f61a}.connected-accounts-hint svg{color:var(--primary-color)}.connected-accounts-hint svg,.connected-accounts-note svg{flex-shrink:0;margin-top:2px}.privacy-actions{display:flex;flex-direction:column;gap:var(--spacing-md)}.privacy-action-item{align-items:center;background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.action-info h4{color:var(--text-primary);font-size:.95rem;margin:0 0 var(--spacing-xs) 0}.action-info p{color:var(--text-secondary);font-size:.85rem;margin:0}.privacy-action-item .action-info{align-items:flex-start;display:flex;gap:var(--spacing-md)}.privacy-action-item .action-icon{align-items:center;background:var(--background-color);border-radius:var(--border-radius-sm);color:var(--primary-color);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.retention-settings{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.retention-item{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);justify-content:space-between;padding:var(--spacing-md)}.retention-info,.retention-item{align-items:center;display:flex;gap:var(--spacing-md)}.retention-info{flex:1 1}.retention-icon{align-items:center;background:var(--background-color);border-radius:var(--border-radius);color:var(--text-secondary);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.retention-info h4{color:var(--text-primary);font-size:.95rem;font-weight:500;margin:0 0 var(--spacing-xs)}.retention-info p{color:var(--text-tertiary);font-size:.8rem;margin:0}.retention-control{min-width:160px}.retention-actions{display:flex;justify-content:flex-end;margin-top:var(--spacing-lg)}.retention-note{align-items:center;background:var(--background-color);border-radius:var(--border-radius-sm);color:var(--text-tertiary);display:flex;font-size:.8rem;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.retention-note svg{flex-shrink:0}.danger-zone{border-top:2px solid var(--danger-color)}.danger-zone h3{color:var(--danger-color)}.danger-actions{display:flex;flex-direction:column;gap:var(--spacing-md)}.danger-action-item{align-items:center;border:1px solid #ef444433;border-radius:var(--border-radius);display:flex;justify-content:space-between}.danger-action-item,.danger-confirm{background-color:#ef44440d;padding:var(--spacing-lg)}.danger-confirm{border:2px solid var(--danger-color);border-radius:var(--border-radius)}.danger-warning{color:var(--text-primary);font-size:.95rem;line-height:1.5;margin:0 0 var(--spacing-lg) 0}.danger-confirm-actions{display:flex;gap:var(--spacing-md)}.export-modal{max-width:520px;width:100%}.export-section{margin-bottom:var(--spacing-lg)}.export-section:last-child{margin-bottom:0}.export-section-title{color:var(--text-secondary);font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 var(--spacing-md);text-transform:uppercase}.export-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.export-section-header .export-section-title{margin:0}.export-select-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.export-select-actions .btn-text{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.85rem;padding:0}.export-select-actions .btn-text:hover{text-decoration:underline}.export-select-actions .divider{color:var(--text-tertiary)}.export-modal-description{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.export-format-options{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.export-format-option{align-items:center;background:var(--background-color);border:2px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;display:flex;flex:1 1;gap:var(--spacing-sm);padding:var(--spacing-md);text-align:left;transition:all .2s}.export-format-option.selected,.export-format-option:hover{border-color:var(--primary-color)}.export-format-option.selected{background:rgba(var(--primary-color-rgb),.05)}.export-format-option .format-icon{align-items:center;background:var(--surface-color);border-radius:var(--border-radius-sm);color:var(--primary-color);display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.export-format-option .format-info{flex:1 1;min-width:0}.export-format-option .format-info h4{color:var(--text-primary);font-size:.95rem;margin:0 0 2px}.export-format-option .format-info p{color:var(--text-secondary);font-size:.8rem;margin:0}.export-format-option .format-check{color:var(--primary-color);flex-shrink:0}.export-data-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.export-data-option{align-items:center;background:var(--background-color);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);transition:background .2s}.export-data-option:hover{background:var(--surface-color)}.export-data-option input[type=checkbox]{display:none}.export-data-option .checkbox-custom{align-items:center;border:2px solid var(--border-color);border-radius:4px;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .2s;width:20px}.export-data-option input[type=checkbox]:checked+.checkbox-custom{background:var(--primary-color);border-color:var(--primary-color)}.export-data-option input[type=checkbox]:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:12px;font-weight:700}.export-data-option .option-info{display:flex;flex-direction:column;gap:2px}.export-data-option .option-label{color:var(--text-primary);font-size:.95rem;font-weight:500}.export-data-option .option-desc,.export-summary{color:var(--text-tertiary);font-size:.8rem}.export-summary{align-items:center;display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.export-summary-detail{background:var(--background-color);border-radius:var(--border-radius-sm);padding:var(--spacing-md)}.export-summary-detail h5{color:var(--text-secondary);font-size:.9rem;margin:0 0 var(--spacing-sm)}.export-summary-detail ul{color:var(--text-primary);font-size:.9rem;margin:0;padding-left:var(--spacing-lg)}.export-summary-detail li{margin-bottom:var(--spacing-xs)}.export-summary-detail li:last-child{margin-bottom:0}.delete-account-modal{max-width:480px}.delete-account-modal .modal-header.danger{background:#ef44441a;border-bottom-color:#ef444433}.delete-account-modal .modal-header.danger h3{align-items:center;color:var(--error-color);display:flex;gap:var(--spacing-sm)}.delete-warning-box{align-items:flex-start;background:#ef44441a;border:1px solid #ef444433;border-radius:var(--border-radius);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.delete-warning-box .warning-icon{color:var(--error-color);flex-shrink:0}.delete-warning-box h4{color:var(--error-color);font-size:1rem;margin:0 0 var(--spacing-xs)}.delete-warning-box p{color:var(--text-secondary);font-size:.9rem;margin:0}.delete-consequences{color:var(--text-secondary);margin:0 0 var(--spacing-lg);padding-left:var(--spacing-lg)}.delete-consequences li{font-size:.9rem;margin-bottom:var(--spacing-sm)}.delete-consequences li:last-child{color:var(--error-color);font-weight:500;margin-bottom:0}.delete-recommendation{background:var(--background-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);font-size:.9rem;margin:0;padding:var(--spacing-md)}.delete-recommendation .btn-link{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.delete-recommendation .btn-link:hover{color:var(--primary-hover)}.delete-instruction{color:var(--text-secondary);margin:0 0 var(--spacing-lg)}.delete-instruction strong{color:var(--error-color)}.collapsible-section{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-md);overflow:hidden}.collapsible-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);text-align:left;transition:background-color .2s;width:100%}.collapsible-header:hover{background-color:var(--background-color)}.collapsible-title-area{flex:1 1}.collapsible-title-area h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.collapsible-title-area .setting-description{color:var(--text-secondary);font-size:.85rem;margin:var(--spacing-xs) 0 0 0}.collapsible-icon{color:var(--text-secondary);flex-shrink:0;transition:transform .3s ease}.collapsible-icon.rotated{transform:rotate(180deg)}.collapsible-content{max-height:0;overflow:hidden;padding:0 var(--spacing-lg);transition:max-height .3s ease,padding .3s ease}.collapsible-content.expanded{max-height:1000px;overflow:visible;padding:var(--spacing-lg)}.collapsible-section.open .collapsible-header{border-bottom:1px solid var(--border-color)}.note{color:var(--text-secondary);font-size:.85rem;font-style:italic}.form-actions{padding-top:var(--spacing-xl)}.loading-state{gap:var(--spacing-md);padding:var(--spacing-xl)}.btn-icon-sm,.loading-state{align-items:center;color:var(--text-secondary);display:flex;justify-content:center}.btn-icon-sm{background:#0000;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;height:28px;padding:0;transition:all .2s;width:28px}.btn-icon-sm:hover{background:var(--background-color);color:var(--primary-color)}.test-notification-dropdown{position:relative}.test-notification-dropdown>button{align-items:center;display:flex;gap:6px}.test-notification-dropdown>button svg.rotated{transform:rotate(180deg)}.test-notification-dropdown>button svg{transition:transform .2s ease}.test-dropdown-menu{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:0 4px 20px #00000040;min-width:280px;overflow:hidden;position:fixed;z-index:9999}.test-dropdown-menu.open-downward{animation:dropdownSlideDown .15s ease-out}.test-dropdown-menu.open-upward{animation:dropdownSlideUp .15s ease-out}[data-theme=dark] .test-dropdown-menu{background-color:#1e1e1e;background-color:var(--bg-surface,#1e1e1e)}@keyframes dropdownSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.test-dropdown-item{align-items:center;background-color:initial;border:none;cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:background-color .15s ease;width:100%}.test-dropdown-item:hover{background-color:var(--bg-hover)}.test-dropdown-item:not(:last-child){border-bottom:1px solid var(--border-color)}.test-dropdown-item .test-icon{flex-shrink:0;font-size:1.25rem;text-align:center;width:28px}.test-dropdown-item .test-info{display:flex;flex-direction:column;gap:2px}.test-dropdown-item .test-label{color:var(--text-primary);font-size:.875rem;font-weight:500}.test-dropdown-item .test-desc{color:var(--text-secondary);font-size:.75rem}@media (max-width:768px){.settings-content{padding:var(--spacing-lg)}.settings-section h2{font-size:1.5rem}.nav-tabs--settings .nav-tab .nav-tab__label{display:none}.nav-tabs--settings .nav-tab{justify-content:center;min-width:44px;padding:var(--spacing-sm)}.form-row{grid-template-columns:1fr}.profile-picture-container{align-items:center;flex-direction:column;text-align:center}.profile-picture-actions{align-items:center}.color-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.theme-mode-selector{flex-direction:row}.mode-option{padding:var(--spacing-md)}.mode-option>span:not(.mode-icon){display:none}.mode-option .mode-icon{display:flex!important}.background-options{grid-template-columns:1fr}.toggle-item{align-items:center;flex-direction:row;gap:var(--spacing-md)}.toggle-info{flex:1 1;margin-right:0;min-width:0}.toggle-item .toggle-label{font-size:.9rem}.toggle-description{font-size:.8rem}.toggle-switch{flex-shrink:0}.password-change-layout{grid-template-columns:1fr;max-width:100%}.password-requirements-desktop{display:none}.password-requirements-mobile{display:block;margin-bottom:var(--spacing-md)}.password-requirements-side{position:static}.danger-action-item,.privacy-action-item,.security-feature-card{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.danger-confirm-actions{flex-direction:column;width:100%}.danger-confirm-actions .btn{width:100%}.timezone-select-container{flex-direction:column}.btn-detect-timezone{justify-content:center;width:100%}.mfa-info-item,.mfa-status-card{flex-direction:column;gap:var(--spacing-sm);text-align:center}.inline-password-form{flex-direction:column;width:100%}.inline-password-form .password-input-wrapper input{width:100%}.backup-codes-grid{grid-template-columns:repeat(2,1fr)}.backup-codes-actions{flex-direction:column}.push-notification-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.push-actions{width:100%}.push-actions .btn-sm{flex:1 1;justify-content:center}.retention-item{align-items:flex-start;flex-direction:column}.retention-control{min-width:0;min-width:auto;width:100%}.connected-account-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.connected-account-item .account-actions{width:100%}.connected-account-item .account-actions button{justify-content:center;width:100%}.test-dropdown-menu{animation:slideUp .2s ease-out;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;bottom:0;left:0;max-height:60vh;min-width:100%;overflow-y:auto;position:fixed;right:0;top:auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.test-dropdown-item{padding:var(--spacing-md)}.test-dropdown-item .test-icon{font-size:1.5rem;width:36px}}@media (max-width:600px){.retention-item{align-items:flex-start;flex-direction:column}.retention-control{min-width:0;min-width:auto;width:100%}.push-notification-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.push-actions{width:100%}.push-actions .btn-sm{flex:1 1;justify-content:center}}@media (max-width:500px){.connected-account-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.connected-account-item .account-actions{width:100%}.connected-account-item .account-actions button{justify-content:center;width:100%}}.admin-page{min-height:100vh}.admin-header-content{align-items:center;display:flex;gap:var(--spacing-lg)}.admin-shield{color:#3b82f6}.nav-tabs--admin .nav-tab.active{background-color:rgba(var(--primary-rgb),.1);color:var(--primary-color);font-weight:600}.nav-tabs--admin .nav-tab.active:hover{background-color:rgba(var(--primary-rgb),.15);color:var(--primary-color)}.admin-content{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);min-height:calc(100vh - 220px);overflow-y:auto;padding:var(--spacing-xl) var(--spacing-2xl)}.admin-section{max-width:100%}.admin-section h2{color:var(--text-primary);font-size:1.5rem;margin-bottom:var(--spacing-xs)}.section-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl)}.section-description{color:var(--text-secondary);font-size:1rem;margin-bottom:var(--spacing-xl)}.admin-section .filters-bar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.admin-section .custom-search{flex:1 1;max-width:400px;min-width:200px}.filter-group{align-items:center;display:flex;gap:var(--spacing-sm)}.filter-select{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;font-size:.9rem;padding:var(--spacing-md)}.filter-select-custom{min-width:140px}.filter-select-custom .custom-select-trigger{font-size:.9rem;min-height:38px;padding:var(--spacing-sm) var(--spacing-md)}.filter-select:focus{border-color:var(--primary-color);outline:none}.users-table{border:1px solid var(--border-color);border-radius:var(--border-radius);min-height:150px;overflow-x:auto}@media (min-width:769px){.users-table{max-height:calc(100vh - 480px);overflow-y:auto}}.users-table table{border-collapse:collapse;width:100%}.users-table thead{background-color:var(--background-color);border-bottom:2px solid var(--border-color);position:-webkit-sticky;position:sticky;top:0;z-index:1}.users-table th{font-size:.8rem;font-weight:600;letter-spacing:.5px;text-align:left;text-transform:uppercase;white-space:nowrap}.users-table td,.users-table th{color:var(--text-primary);padding:var(--spacing-sm) var(--spacing-md)}.users-table td{border-bottom:1px solid var(--border-color);font-size:.85rem}.users-table tbody tr:hover{background-color:var(--background-color)}.users-table tbody tr:last-child td{border-bottom:none}.user-cell{gap:var(--spacing-sm);min-width:220px}.user-avatar,.user-cell{align-items:center;display:flex}.user-avatar{background-color:var(--primary-color);border-radius:50%;color:#fff;flex-shrink:0;font-size:.75rem;font-weight:600;height:32px;justify-content:center;width:32px}.user-details{display:flex;flex-direction:column;gap:2px;overflow:hidden}.user-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{font-size:.75rem;gap:4px}.household-cell,.user-email{align-items:center;color:var(--text-secondary);display:flex}.household-cell{font-size:.85rem;gap:var(--spacing-xs);white-space:nowrap}.household-cell span{overflow:hidden;text-overflow:ellipsis}.role-badge,.status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;padding:4px 12px;text-transform:capitalize}.role-badge.admin{background-color:#8b5cf61a;color:#8b5cf6}.role-badge.member{background-color:#3b82f61a;color:var(--primary-color)}.status-badge.active{background-color:#10b9811a;color:var(--success-color)}.status-badge.inactive{background-color:#ef44441a;color:var(--danger-color)}.status-badge.invited{background-color:#3b82f61a;color:var(--primary-color)}.action-buttons{display:flex;gap:4px;justify-content:flex-end}.btn-icon{align-items:center;background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;min-width:28px;padding:4px;transition:all .2s}.btn-icon:hover{background-color:var(--background-color);border-color:var(--primary-color);color:var(--primary-color)}.btn-icon.danger:hover{background-color:#ef44441a;border-color:var(--danger-color);color:var(--danger-color)}.table-footer{border-top:1px solid var(--border-color);font-size:.9rem;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.empty-state,.loading-state,.table-footer{color:var(--text-secondary);text-align:center}.empty-state,.loading-state{padding:var(--spacing-xl) * 2}.empty-state svg{color:var(--border-color);margin-bottom:var(--spacing-md)}.empty-state h3{color:var(--text-primary);margin-bottom:var(--spacing-sm)}.empty-state p{color:var(--text-secondary)}.settings-row{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:var(--spacing-lg)}.settings-row:last-child{margin-bottom:0}.form-group.half-width{width:100%}.text-input,.textarea-input{background-color:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:var(--spacing-md);transition:border-color .2s;width:100%}input.text-input{height:55px}.text-input:focus,.textarea-input:focus{border-color:var(--primary-color);outline:none}.form-hint{display:block;margin-top:var(--spacing-xs)}.textarea-input{min-height:80px;resize:vertical}.form-actions{border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.settings-group{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.settings-group.compact-group{margin-bottom:var(--spacing-lg);padding:var(--spacing-xl)}.settings-group h3{align-items:center;display:flex;font-size:1.05rem;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.settings-group.compact-group h3{font-size:1rem;margin-bottom:var(--spacing-xs)}.settings-group h3 svg{color:var(--primary-color);flex-shrink:0}.section-hint{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 var(--spacing-xl) 0}.toggle-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:var(--spacing-md)}.toggle-item-inline{align-items:center;display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-xs)}.password-toggle:hover:not(:disabled){background:var(--background-color);color:var(--text-primary)}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.database-stats{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg)}.stats-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-lg)}.stats-card-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.stats-card-header h3{color:var(--text-primary);font-size:1.1rem;margin:0}.health-badge{border-radius:var(--border-radius-sm);font-size:.85rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-md)}.health-badge.healthy{background-color:#22c55e1a;border:1px solid var(--success-color);color:var(--success-color)}.stats-grid{grid-gap:var(--spacing-md);gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-item label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.stat-item .stat-value{color:var(--text-primary);font-size:1.1rem;font-weight:600}.table-stats table{border-collapse:collapse;width:100%}.table-stats th{background-color:var(--background-color);color:var(--text-secondary);font-size:.85rem;font-weight:600;text-align:left}.table-stats td,.table-stats th{border-bottom:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-md)}.table-stats td{color:var(--text-primary);font-size:.9rem}.table-stats tr:last-child td{border-bottom:none}.households-members-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.households-members-header h4{color:var(--text-primary);font-size:1rem;margin:0}.household-members{background-color:var(--background-color);border-top:1px solid var(--border-color);padding:16px}.no-members{color:var(--text-secondary);padding:24px;text-align:center}.settings-warning-box{align-items:flex-start;background:#f59e0b1a;border:1px solid var(--warning-color);border-radius:var(--border-radius);display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.settings-warning-box svg{color:var(--warning-color);flex-shrink:0;margin-top:2px}.settings-warning-box strong{color:var(--text-primary);display:block;margin-bottom:var(--spacing-xs)}.settings-warning-box p{color:var(--text-secondary);font-size:.9rem;margin:0}.email-service-card{align-items:center;border-radius:var(--border-radius-lg);cursor:pointer;display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg) var(--spacing-xl);transition:all .3s ease}.email-service-card.enabled{background:linear-gradient(135deg,#10b9811a,#10b9810d);border:2px solid var(--success-color)}.email-service-card.disabled{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border:2px solid var(--warning-color)}.email-service-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.email-service-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.email-service-card.enabled .email-service-icon{background:#10b98133;color:var(--success-color)}.email-service-card.disabled .email-service-icon{background:#f59e0b33;color:var(--warning-color)}.email-service-info{flex:1 1}.email-service-info h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 var(--spacing-xs) 0}.email-service-info p{color:var(--text-secondary);font-size:.9rem;margin:0}.email-service-toggle{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-sm)}.email-service-toggle .status-label{font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.email-service-toggle .status-label.active{color:var(--success-color)}.email-service-toggle .status-label.inactive{color:var(--warning-color)}.test-config-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.test-email-inline{align-items:center;display:flex;flex:1 1;gap:var(--spacing-sm);min-width:280px}.test-email-inline .text-input{flex:1 1;min-width:180px}.tls-toggle-row{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);margin-top:calc(var(--spacing-sm)*-1)}.toggle-requirement{align-items:center;background:#f59e0b1a;border:1px solid var(--warning-color);border-radius:var(--border-radius-sm);color:var(--warning-color);cursor:help;display:inline-flex;font-size:.75rem;gap:4px;margin-left:var(--spacing-sm);padding:2px 8px}.oauth-provider-header{align-items:center;display:flex;gap:var(--spacing-md)}.oauth-provider-header.clickable{border-radius:var(--border-radius) var(--border-radius) 0 0;cursor:pointer;margin:calc(var(--spacing-md)*-1);margin-bottom:0;padding:var(--spacing-md);transition:background-color .15s ease}.oauth-provider-header.clickable:hover{background-color:var(--hover-color)}.oauth-provider-title{align-items:center;display:flex;flex:1 1;gap:var(--spacing-sm);min-width:0}.oauth-provider-title h3{margin:0}.oauth-provider-title svg:first-child{flex-shrink:0}.oauth-provider-header .expand-icon{color:var(--text-secondary);flex-shrink:0;transition:transform .2s ease}.oauth-provider-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease-out}.oauth-provider-content>div{overflow:hidden}.oauth-provider-content.expanded{grid-template-rows:1fr}.oauth-provider-content>div>.section-hint:first-child{margin-top:var(--spacing-md)}.oauth-configured-badge{align-items:center;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:12px;color:var(--success-color);display:inline-flex;font-size:.75rem;font-weight:600;margin-left:var(--spacing-sm);padding:3px 10px}.settings-info-box{background:#3b82f60d;border:1px solid #3b82f633;border-radius:var(--border-radius);margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.settings-info-box h4{align-items:center;color:var(--primary-color);display:flex;font-size:.95rem;gap:var(--spacing-sm);margin:0 0 var(--spacing-sm) 0}.settings-info-box h4 svg{flex-shrink:0}.settings-info-box p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0}.settings-info-box code{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);display:inline-block;font-family:monospace;font-size:.8rem;padding:2px 6px;word-break:break-all}.settings-info-box a{color:var(--primary-color);text-decoration:none}.settings-info-box a:hover{text-decoration:underline}.settings-subsection{border-top:1px solid var(--border-color);margin-bottom:var(--spacing-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}.settings-subsection h4{color:var(--text-color);font-size:.95rem;font-weight:600;margin:0 0 var(--spacing-xs) 0}.settings-subsection .section-hint{margin:0}.info-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.info-card-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.info-card-header h3{font-size:1rem;font-weight:600;margin:0}.info-card-header svg{color:var(--primary-color)}.info-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.info-value{color:var(--text-color);font-size:.95rem}.info-value.version-badge{align-items:center;background:var(--primary-color);border-radius:12px;color:#fff;display:inline-flex;font-size:.85rem;font-weight:600;padding:2px 10px;width:-webkit-fit-content;width:fit-content}.info-value.mono{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.9rem}.stats-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr)}.stat-box{align-items:center;background:var(--background-color);border-radius:var(--border-radius);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-lg);text-align:center}.stat-value{color:var(--primary-color);font-size:2rem;font-weight:700;line-height:1.2}.stat-label{color:var(--text-secondary);font-size:.85rem;margin-top:var(--spacing-xs)}.btn-success-outline{background:#0000!important;border-color:#22c55e!important;border-color:var(--success-color,#22c55e)!important;color:#22c55e!important;color:var(--success-color,#22c55e)!important}.btn-success-outline:hover{background:#22c55e1a!important}.btn-danger-outline{background:#0000!important;border-color:#ef4444!important;border-color:var(--error-color,#ef4444)!important;color:#ef4444!important;color:var(--error-color,#ef4444)!important}.btn-danger-outline:hover{background:#ef44441a!important}.flex-1{flex:1 1}.flex-2{flex:2 1}.mobile-card-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.mobile-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.mobile-card-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:var(--spacing-sm)}.mobile-card-body,.mobile-card-header{padding:var(--spacing-md)}.mobile-card-row{align-items:center;display:flex;justify-content:space-between;padding:var(--spacing-xs) 0}.mobile-card-row:not(:last-child){border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.mobile-card-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase}.mobile-card-footer{background:var(--background-color);border-top:1px solid var(--border-color);padding:var(--spacing-md)}.mobile-card-footer .action-buttons{justify-content:flex-end}.mobile-card-expanded{background:var(--background-color);border-top:1px solid var(--border-color)}.mobile-card-expanded-header{border-bottom:1px solid var(--border-color);font-size:.85rem;padding:var(--spacing-sm) var(--spacing-md)}.mobile-member-item,.mobile-member-list{padding:var(--spacing-sm)}.mobile-member-item{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between}.mobile-member-item:last-child{border-bottom:none}.mobile-member-info{align-items:center;display:flex;gap:var(--spacing-sm)}@media (max-width:1024px){.admin-header-content{gap:var(--spacing-md)}.admin-shield{height:24px;width:24px}.admin-content{padding:var(--spacing-lg)}.admin-section .section-header{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-md);justify-content:space-between}.admin-section .section-header>div:first-child{flex:1 1;min-width:0}.admin-section .section-header .btn-primary{flex-shrink:0;gap:0;height:44px;min-width:44px;padding:var(--spacing-sm);width:44px}.admin-section .section-header .btn-primary span{display:none}.admin-section .section-header .btn-primary svg{margin:0}.admin-section .filters-bar{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-sm)}.admin-section .filters-bar .custom-search{flex:1 1;max-width:none;min-width:0}.settings-row{gap:var(--spacing-lg);grid-template-columns:1fr}.table-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md)}}@media (max-width:768px){.test-config-row{flex-direction:column}.test-email-inline{width:100%}.email-service-card{flex-direction:column;padding:var(--spacing-lg);text-align:center}.email-service-toggle{flex-direction:row;gap:var(--spacing-md)}}@media (max-width:600px){.info-grid,.stats-grid{grid-template-columns:1fr}.stat-box{padding:var(--spacing-md)}.stat-value{font-size:1.5rem}}.login-page{align-items:center;background:#f8fafc;background:var(--background-color,#f8fafc);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;padding:var(--spacing-lg,24px);position:relative}[data-theme=dark] .login-page{background:linear-gradient(135deg,#1e3a5f,#0f172a)}.animated-bg{bottom:0;filter:blur(80px);left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.blob{border-radius:50%;opacity:.4;position:absolute}.blob-1{animation:blob-float-1 20s ease-in-out infinite;background:linear-gradient(135deg,#93c5fd,#c4b5fd);height:600px;left:-100px;top:-200px;width:600px}.blob-2{animation:blob-float-2 25s ease-in-out infinite;background:linear-gradient(135deg,#a5f3fc,#93c5fd);bottom:-150px;height:500px;right:-100px;width:500px}.blob-3{animation:blob-float-3 22s ease-in-out infinite;background:linear-gradient(135deg,#c4b5fd,#fbcfe8);height:400px;right:20%;top:50%;width:400px}.blob-4{animation:blob-float-4 18s ease-in-out infinite;background:linear-gradient(135deg,#6ee7b7,#a5f3fc);bottom:20%;height:350px;left:10%;width:350px}[data-theme=dark] .blob{opacity:.5}[data-theme=dark] .blob-1{background:linear-gradient(135deg,#3b82f6,#8b5cf6)}[data-theme=dark] .blob-2{background:linear-gradient(135deg,#06b6d4,#3b82f6)}[data-theme=dark] .blob-3{background:linear-gradient(135deg,#8b5cf6,#ec4899)}[data-theme=dark] .blob-4{background:linear-gradient(135deg,#10b981,#06b6d4)}@keyframes blob-float-1{0%,to{transform:translate(0) scale(1)}25%{transform:translate(100px,50px) scale(1.1)}50%{transform:translate(50px,100px) scale(.95)}75%{transform:translate(-50px,50px) scale(1.05)}}@keyframes blob-float-2{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-80px,-60px) scale(1.05)}50%{transform:translate(-40px,-100px) scale(1.1)}75%{transform:translate(60px,-40px) scale(.95)}}@keyframes blob-float-3{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-70px,70px) scale(1.1)}66%{transform:translate(70px,-50px) scale(.9)}}@keyframes blob-float-4{0%,to{transform:translate(0) scale(1)}33%{transform:translate(80px,-60px) scale(.95)}66%{transform:translate(-60px,80px) scale(1.1)}}.login-stack{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:440px;width:100%;z-index:1}.login-container{background:#fff;background:var(--surface-color,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:16px;box-shadow:0 20px 60px #0000001a;padding:32px;padding:var(--spacing-2xl,32px);position:relative;width:100%}[data-theme=dark] .login-container{box-shadow:0 20px 60px #0000004d}.demo-notice-banner{align-items:center;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:12px;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);text-align:center;width:100%}.demo-notice-banner strong{color:#1e293b;color:var(--text-primary,#1e293b);font-size:.95rem}.demo-notice-banner span{color:#64748b;color:var(--text-secondary,#64748b);font-size:.85rem}[data-theme=dark] .demo-notice-banner{background:#3b82f626}[data-theme=dark] .demo-notice-banner strong{color:#fff}[data-theme=dark] .demo-notice-banner span{color:#93c5fd}.demo-accounts-section{width:100%}.demo-accounts-header{color:#64748b;color:var(--text-secondary,#64748b);font-size:.85rem;margin-bottom:var(--spacing-md);text-align:center}[data-theme=dark] .demo-accounts-header{color:#fff9}.demo-accounts-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(3,1fr)}.demo-account-chip{align-items:center;background:#fff;background:var(--surface-color,#fff);border:1px solid #e2e8f0;border:1px solid var(--border-color,#e2e8f0);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);text-align:center;transition:all .2s ease}.demo-account-chip:hover{background:#f1f5f9;background:var(--hover-color,#f1f5f9);transform:translateY(-2px)}[data-theme=dark] .demo-account-chip{background:#ffffff0d;border-color:#ffffff1a}[data-theme=dark] .demo-account-chip:hover{background:#ffffff1a}.demo-chip-icon{align-items:center;border-radius:8px;display:flex;height:36px;justify-content:center;width:36px}.demo-account-admin .demo-chip-icon{background:#ef444433;color:#f87171}.demo-account-admin:hover{border-color:#ef444466}.demo-account-manager .demo-chip-icon{background:#3b82f633;color:#60a5fa}.demo-account-manager:hover{border-color:#3b82f666}.demo-account-member .demo-chip-icon{background:#22c55e33;color:#4ade80}.demo-account-member:hover{border-color:#22c55e66}.demo-account-private .demo-chip-icon{background:#a855f733;color:#c084fc}.demo-account-private:hover{border-color:#a855f766}.demo-chip-info{display:flex;flex-direction:column;gap:2px}.demo-chip-email{color:#1e293b;color:var(--text-primary,#1e293b);font-size:.85rem;font-weight:600}.demo-chip-type{color:#64748b;color:var(--text-secondary,#64748b);font-size:.7rem}[data-theme=dark] .demo-chip-email{color:#ffffffe6}[data-theme=dark] .demo-chip-type{color:#ffffff80}.login-header{margin-bottom:var(--spacing-xl);position:relative;text-align:center}.login-header h1{color:#1e293b;color:var(--text-primary,#1e293b);font-size:2.25rem;font-weight:700;letter-spacing:-.5px;margin-bottom:4px;margin-bottom:var(--spacing-xs,4px)}.login-header p{color:#64748b;color:var(--text-secondary,#64748b);font-size:1rem}.back-to-methods{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;left:0;padding:var(--spacing-xs);position:absolute;top:0;transition:all .2s ease}.back-to-methods:hover:not(:disabled){background:var(--background-color);color:var(--text-primary)}.back-to-methods:disabled{cursor:not-allowed;opacity:.5}.error-message{background-color:#ef44441a;border:1px solid var(--danger-color);border-radius:8px;color:var(--danger-color);font-size:.9rem;margin-bottom:var(--spacing-lg);padding:var(--spacing-md);text-align:center}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{grid-gap:var(--spacing-md);gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{color:#1e293b;color:var(--text-primary,#1e293b);font-weight:600}.login-page .form-group input{background-color:#f8fafc;background-color:var(--background-color,#f8fafc);border:2px solid #e2e8f0;border:2px solid var(--border-color,#e2e8f0);border-radius:8px;box-sizing:border-box;color:#1e293b;color:var(--text-primary,#1e293b);font-size:1rem;padding:14px 16px;transition:all .2s ease;width:100%}.login-page .form-group input::placeholder{color:#6b7280;color:var(--text-muted,#6b7280)}.login-page .form-group input:hover:not(:disabled){border-color:#9ca3af;border-color:var(--text-secondary,#9ca3af)}.login-page .form-group input:focus{background-color:#fff;background-color:var(--surface-color,#fff);border-color:#3b82f6;border-color:var(--primary-color,#3b82f6);box-shadow:0 0 0 4px #3b82f626;outline:none}.login-page .form-group input:disabled{cursor:not-allowed;opacity:.6}.form-hint{color:var(--text-secondary);font-size:.8rem;margin-top:2px}.login-footer{border-top:1px solid var(--border-color);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);text-align:center}.link-button{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s}.link-button:hover:not(:disabled){color:var(--primary-hover);text-decoration:underline}.link-button:disabled{cursor:not-allowed;opacity:.6}.btn-login{align-items:center;border-radius:8px;display:flex;font-size:1rem;font-weight:600;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-sm);min-height:52px}.btn-spinner{animation:spin 1s linear infinite}.spinner{color:var(--primary-color)}.input-disabled{opacity:.6}.login-loading{position:relative}.login-loading .login-form{opacity:.5;pointer-events:none}.login-loading-overlay{align-items:center;background:var(--surface-color);border-radius:16px;bottom:0;display:flex;justify-content:center;left:0;opacity:.95;position:absolute;right:0;top:0;z-index:10}.login-loading-content{align-items:center;color:var(--text-primary);display:flex;flex-direction:column;font-weight:500;gap:var(--spacing-md);text-align:center}.login-loading-subtext{color:var(--text-secondary);font-size:.875rem;font-weight:400;margin-top:calc(var(--spacing-xs)*-1)}.login-method-buttons{display:flex;flex-direction:column;gap:var(--spacing-md)}.btn-login-method{align-items:center;background:#f8fafc;background:var(--background-color,#f8fafc);border:2px solid #e2e8f0;border:2px solid var(--border-color,#e2e8f0);border-radius:8px;color:#1e293b;color:var(--text-primary,#1e293b);cursor:pointer;display:flex;gap:16px;gap:var(--spacing-md,16px);justify-content:center;padding:16px 24px;padding:16px var(--spacing-lg,24px);transition:all .2s ease}.btn-login-method,.btn-login-method span{font-size:1rem;font-weight:500}.btn-login-method:hover:not(:disabled){background:#fff;background:var(--surface-color,#fff);border-color:#64748b;border-color:var(--text-secondary,#64748b)}.btn-login-method:disabled{cursor:not-allowed;opacity:.6}.btn-login-method svg{flex-shrink:0}.btn-login-method.btn-google:hover:not(:disabled){background:#4285f41a;border-color:#4285f4}.btn-login-method.btn-microsoft:hover:not(:disabled){background:#00a4ef1a;border-color:#00a4ef}.btn-login-method.btn-custom{color:var(--text-primary)}.btn-login-method.btn-custom svg{color:var(--primary-color)}.btn-login-method.btn-custom:hover:not(:disabled),.btn-login-method.btn-email:hover:not(:disabled){background:#2563eb1a;border-color:var(--primary-color)}.btn-login-method.btn-email svg{color:var(--primary-color)}.oauth-buttons{flex-direction:column;margin-bottom:var(--spacing-lg)}.btn-oauth,.oauth-buttons{display:flex;gap:var(--spacing-md)}.btn-oauth{align-items:center;background:var(--background-color);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.95rem;font-weight:500;justify-content:center;padding:14px var(--spacing-lg);transition:all .2s ease}.btn-oauth:hover:not(:disabled){background:var(--surface-color);border-color:var(--text-secondary)}.btn-oauth:disabled{cursor:not-allowed;opacity:.6}.btn-oauth svg{flex-shrink:0}.btn-google:hover:not(:disabled){background:#4285f41a;border-color:#4285f4}.btn-microsoft:hover:not(:disabled){background:#00a4ef1a;border-color:#00a4ef}.oauth-divider{align-items:center;color:var(--text-muted);display:flex;font-size:.85rem;gap:var(--spacing-md);letter-spacing:.5px;text-transform:uppercase}.oauth-divider:after,.oauth-divider:before{background:var(--border-color);content:"";flex:1 1;height:1px}.oauth-error,.oauth-processing{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-xl);text-align:center}.oauth-error h2,.oauth-processing h2{color:var(--text-primary);margin:0}.oauth-error p,.oauth-processing p{color:var(--text-secondary);margin:0}.oauth-error .error-icon{color:var(--danger-color)}.oauth-error .error-message{background:none;border:none;margin:0;padding:0}.oauth-error .btn-primary{margin-top:var(--spacing-md)}.mfa-icon-container{color:var(--primary-color);display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.mfa-input{font-family:monospace;font-size:1.5rem!important;letter-spacing:.5em;text-align:center}.mfa-footer{display:flex;flex-direction:column;gap:var(--spacing-sm)}@media (max-width:500px){.login-page{padding:var(--spacing-md)}.login-stack{gap:var(--spacing-md)}.login-container{padding:var(--spacing-lg)}.login-header h1{font-size:1.75rem}.demo-notice-banner{flex-direction:column;font-size:.85rem;padding:var(--spacing-md);text-align:center}.demo-accounts-grid{grid-template-columns:repeat(2,1fr)}.demo-account-chip{padding:var(--spacing-sm)}.demo-chip-icon{height:32px;width:32px}.demo-chip-email{font-size:.8rem}}.accept-invite-page{align-items:center;background:linear-gradient(135deg,var(--background-color) 0,var(--surface-color) 100%);display:flex;justify-content:center;min-height:100vh;overflow-y:auto;padding:var(--spacing-md)}.accept-invite-container{background:var(--surface-color);border-radius:var(--border-radius-lg);box-shadow:0 20px 40px #0000001a;margin:var(--spacing-md) 0;max-width:420px;min-width:300px;padding:var(--spacing-lg);width:100%}@media (min-width:1200px){.accept-invite-page{padding:var(--spacing-lg)}.accept-invite-container{max-width:460px;padding:var(--spacing-xl)}}@media (min-width:1440px){.accept-invite-container{max-width:500px;padding:var(--spacing-2xl)}}@media (min-width:1200px){.invite-icon{height:64px;width:64px}.invite-icon svg{height:32px;width:32px}.accept-invite-header{margin-bottom:var(--spacing-lg)}.accept-invite-header h1{font-size:1.5rem}.accept-invite-form{gap:var(--spacing-md)}.btn-large{font-size:1rem;margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl)}}@media (min-width:1920px){.accept-invite-container{max-width:540px}.invite-icon{height:72px;margin-bottom:var(--spacing-md);width:72px}.invite-icon svg{height:36px;width:36px}.accept-invite-header{margin-bottom:var(--spacing-xl)}.accept-invite-header h1{font-size:1.65rem}.accept-invite-header p{font-size:1rem}.accept-invite-form .form-group label{font-size:.9rem}}@media (min-width:2560px){.accept-invite-container{max-width:580px;padding:var(--spacing-2xl) var(--spacing-3xl)}.invite-icon{height:80px;width:80px}.invite-icon svg{height:40px;width:40px}.accept-invite-header h1{font-size:1.85rem}.accept-invite-header p,.btn-large{font-size:1.05rem}.btn-large{padding:var(--spacing-md) var(--spacing-2xl)}}.accept-invite-header{margin-bottom:var(--spacing-md);text-align:center}.invite-icon{align-items:center;background:linear-gradient(135deg,var(--primary-color),#60a5fa);border-radius:50%;color:#fff;display:flex;height:56px;justify-content:center;margin:0 auto var(--spacing-sm);width:56px}.invite-icon svg{height:28px;width:28px}.accept-invite-header h1{color:var(--text-primary);font-size:1.35rem;margin:0 0 var(--spacing-xs)}.accept-invite-header p{color:var(--text-secondary);font-size:.9rem;line-height:1.4;margin:0}.accept-invite-header strong{color:var(--text-primary)}.accept-invite-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.accept-invite-form .form-group{margin-bottom:0}.accept-invite-form .form-group label{color:var(--text-primary);display:block;font-size:.85rem;font-weight:500;margin-bottom:4px}.accept-invite-form input{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:1rem;padding:var(--spacing-md);transition:all .2s;width:100%}.accept-invite-form .text-input{width:100%}.accept-invite-form .text-input.disabled{opacity:.7}.accept-invite-form .text-input.disabled .text-input-field{cursor:not-allowed}.accept-invite-form input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.accept-invite-form input.error{border-color:var(--danger-color)}.accept-invite-form input.disabled-input{background:var(--background-color);color:var(--text-secondary);cursor:not-allowed}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper .text-input{width:100%}.password-input-wrapper .text-input-field{padding-right:44px}.password-toggle{border-radius:var(--border-radius-sm);color:var(--text-secondary);padding:var(--spacing-xs);right:12px;transition:all .2s;z-index:1}.password-toggle:hover{background:var(--background-color);color:var(--text-primary)}.field-error{color:var(--danger-color);font-size:.8rem;margin-top:var(--spacing-xs)}.success-text{color:var(--success-color)}.error-text,.success-text{display:block;font-size:.8rem;margin-top:var(--spacing-xs)}.error-text{color:var(--danger-color)}.accept-invite-form .text-input.input-success .text-input-field{border-color:var(--success-color)}.accept-invite-form .text-input.input-error .text-input-field{border-color:var(--danger-color)}.form-error{background:#ef44441a;border:1px solid var(--danger-color);border-radius:var(--border-radius-sm);color:var(--danger-color);font-size:.9rem;padding:var(--spacing-md)}.btn-large,.form-error{align-items:center;display:flex;gap:var(--spacing-sm)}.btn-large{font-size:.95rem;justify-content:center;margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg)}.error-state,.loading-state,.success-state{padding:var(--spacing-xl);text-align:center}.error-state p,.loading-state p,.success-state p{color:var(--text-secondary);margin:var(--spacing-md) 0}.error-icon{align-items:center;background:#ef44441a;border-radius:50%;color:var(--danger-color);display:flex;height:80px;justify-content:center;width:80px}.error-icon,.success-icon{margin:0 auto var(--spacing-lg)}.success-icon{color:var(--success-color);height:100px;width:100px}.success-state h1{color:var(--success-color);margin-bottom:var(--spacing-sm)}.loading-redirect{color:var(--text-secondary);gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.spinner{animation:spin 1s linear infinite}@media (max-width:480px){.accept-invite-page{align-items:flex-start;padding:var(--spacing-md);padding-top:10vh}.accept-invite-container{padding:var(--spacing-xl)}.invite-icon{height:64px;width:64px}.invite-icon svg{height:32px;width:32px}.accept-invite-header h1{font-size:1.5rem}}.setup-wizard{--setup-bg-primary:#0f172a;--setup-bg-secondary:#1e293b;--setup-bg-tertiary:#334155;--setup-text-primary:#f1f5f9;--setup-text-secondary:#94a3b8;--setup-text-muted:#64748b;--setup-border-color:#475569;--setup-accent-color:#3b82f6;--setup-accent-hover:#2563eb;align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);display:flex;justify-content:center;min-height:100vh;padding:2rem}.setup-container{background:var(--setup-bg-secondary);border-radius:16px;box-shadow:0 25px 50px -12px #00000080;max-width:700px;overflow:hidden;width:100%}.setup-progress{background:var(--setup-bg-tertiary);border-bottom:1px solid var(--setup-border-color);display:flex;justify-content:space-between;padding:1.5rem 2rem}.progress-step{align-items:center;display:flex;flex-direction:column;gap:.5rem;opacity:.4;transition:opacity .3s ease}.progress-step.active,.progress-step.completed{opacity:1}.step-icon{align-items:center;background:var(--setup-bg-secondary);border:2px solid var(--setup-border-color);border-radius:50%;color:var(--setup-text-secondary);display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.progress-step.active .step-icon{background:var(--setup-accent-color);border-color:var(--setup-accent-color);color:#fff}.progress-step.completed .step-icon{background:#22c55e;border-color:#22c55e;color:#fff}.step-title{color:var(--setup-text-secondary);font-size:.75rem;text-align:center}.progress-step.active .step-title{color:var(--setup-text-primary);font-weight:600}.setup-content{min-height:400px;padding:2rem}.setup-error{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#ef4444;display:flex;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.step-welcome{text-align:center}.welcome-icon{align-items:center;background:linear-gradient(135deg,var(--setup-accent-color),var(--setup-accent-hover));border-radius:50%;color:#fff;display:flex;height:100px;justify-content:center;margin:0 auto 1.5rem;width:100px}.step-welcome h1{color:var(--setup-text-primary);font-size:2rem;margin-bottom:.5rem}.welcome-subtitle{color:var(--setup-text-secondary);font-size:1.1rem;margin-bottom:2rem}.welcome-features{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:400px;text-align:left}.feature{align-items:flex-start;background:var(--setup-bg-tertiary);border-radius:8px;display:flex;gap:1rem;padding:1rem}.feature svg{color:var(--setup-accent-color);flex-shrink:0;margin-top:2px}.feature h3{color:var(--setup-text-primary);font-size:1rem;margin-bottom:.25rem}.feature p{color:var(--setup-text-secondary);font-size:.875rem;margin:0}.step-form h2{color:var(--setup-text-primary);font-size:1.5rem;margin-bottom:.5rem}.step-description{color:var(--setup-text-secondary);margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{color:var(--setup-text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{background:var(--setup-bg-tertiary);border:1px solid var(--setup-border-color);border-radius:8px;color:var(--setup-text-primary);font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--setup-accent-color);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input.error{border-color:#ef4444}.form-group input::placeholder{color:var(--setup-text-muted)}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group.flex-1{flex:1 1}.form-group.flex-2{flex:2 1}.field-error{color:#ef4444;display:block;font-size:.75rem;margin-top:.25rem}.field-hint,.password-hint{color:var(--setup-text-muted);font-size:.75rem;margin-top:.5rem}.password-input{position:relative}.password-input input{padding-right:3rem}.password-toggle{align-items:center;background:none;border:none;color:var(--setup-text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.password-toggle:hover{color:var(--setup-text-primary)}.smtp-toggle{margin-bottom:1.5rem}.toggle-container{align-items:center;cursor:pointer;display:flex;gap:.75rem}.toggle-container input{display:none}.toggle-switch{background:var(--setup-bg-tertiary);border:1px solid var(--setup-border-color);border-radius:13px;height:26px;position:relative;transition:background .3s ease;width:48px}.toggle-switch:after{background:#fff;border-radius:50%;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .3s ease;width:20px}.toggle-container input:checked+.toggle-switch{background:var(--setup-accent-color);border-color:var(--setup-accent-color)}.toggle-container input:checked+.toggle-switch:after{transform:translateX(22px)}.toggle-switch.small{border-radius:10px;height:20px;width:36px}.toggle-switch.small:after{height:14px;left:2px;top:2px;width:14px}.toggle-container input:checked+.toggle-switch.small:after{transform:translateX(16px)}.toggle-label{color:var(--setup-text-primary);font-size:.95rem}.toggle-container.inline{margin-bottom:1.5rem;margin-top:.5rem}.toggle-container.inline .toggle-switch{flex-shrink:0}.toggle-container.inline .toggle-label{margin-left:.25rem}.smtp-fields{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.skip-notice{align-items:flex-start;background:var(--setup-bg-tertiary);border-radius:8px;display:flex;gap:1rem;margin-top:1rem;padding:1.5rem}.skip-notice svg{color:var(--setup-text-muted);flex-shrink:0}.skip-notice h4{color:var(--setup-text-primary);font-size:1rem;margin-bottom:.25rem}.skip-notice p{color:var(--setup-text-secondary);font-size:.875rem;margin:0}.step-complete{padding:2rem 0;text-align:center}.complete-icon{align-items:center;animation:scaleIn .5s ease;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;color:#fff;display:flex;height:100px;justify-content:center;margin:0 auto 1.5rem;width:100px}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.step-complete h1{color:var(--setup-text-primary);font-size:2rem;margin-bottom:.5rem}.step-complete p{color:var(--setup-text-secondary);font-size:1.1rem;margin-bottom:2rem}.loading-redirect{align-items:center;color:var(--setup-text-secondary);display:flex;gap:.75rem;justify-content:center}.loading-redirect .spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.setup-navigation{align-items:center;background:var(--setup-bg-tertiary);border-top:1px solid var(--setup-border-color);display:flex;padding:1.5rem 2rem}.nav-spacer{flex:1 1}.setup-navigation .btn-primary,.setup-navigation .btn-secondary{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.setup-navigation .btn-primary{background:var(--setup-accent-color);border:none;color:#fff}.setup-navigation .btn-primary:hover:not(:disabled){background:var(--setup-accent-hover)}.setup-navigation .btn-primary:disabled{cursor:not-allowed;opacity:.6}.setup-navigation .btn-secondary{background:#0000;border:1px solid var(--setup-border-color);color:var(--setup-text-secondary)}.setup-navigation .btn-secondary:hover:not(:disabled){background:var(--setup-bg-secondary);color:var(--setup-text-primary)}@media (max-width:640px){.setup-wizard{padding:1rem}.setup-progress{gap:.25rem;padding:1rem}.step-title{display:none}.step-icon{height:32px;width:32px}.setup-content{padding:1.5rem}.form-row{grid-template-columns:1fr}.complete-icon,.welcome-icon{height:80px;width:80px}.step-complete h1,.step-welcome h1{font-size:1.5rem}}.startup-screen{align-items:center;background:linear-gradient(135deg,#1e3a5f,#0f172a);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;padding:var(--spacing-lg,24px);position:relative}.startup-screen .animated-bg{bottom:0;filter:blur(80px);left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.startup-screen .blob{border-radius:50%;opacity:.5;position:absolute}.startup-screen .blob-1{animation:startup-blob-1 20s ease-in-out infinite;background:linear-gradient(135deg,#3b82f6,#8b5cf6);height:600px;left:-100px;top:-200px;width:600px}.startup-screen .blob-2{animation:startup-blob-2 25s ease-in-out infinite;background:linear-gradient(135deg,#06b6d4,#3b82f6);bottom:-150px;height:500px;right:-100px;width:500px}.startup-screen .blob-3{animation:startup-blob-3 22s ease-in-out infinite;background:linear-gradient(135deg,#8b5cf6,#ec4899);height:400px;right:20%;top:50%;width:400px}.startup-screen .blob-4{animation:startup-blob-4 18s ease-in-out infinite;background:linear-gradient(135deg,#10b981,#06b6d4);bottom:30%;height:350px;left:10%;width:350px}@keyframes startup-blob-1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}@keyframes startup-blob-2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-40px,30px) scale(.9)}66%{transform:translate(20px,-40px) scale(1.05)}}@keyframes startup-blob-3{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,30px) scale(1.1)}66%{transform:translate(-30px,-20px) scale(.95)}}@keyframes startup-blob-4{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-30px,-40px) scale(1.05)}66%{transform:translate(40px,20px) scale(.9)}}.startup-content{padding:2rem;position:relative;text-align:center;z-index:1}.startup-logo h1{color:#fff;font-size:3rem;font-weight:700;margin:0 0 .5rem}.startup-tagline{color:#ffffffb3;font-size:1.1rem;margin:0 0 2.5rem}.startup-spinner{display:flex;justify-content:center;margin-bottom:1.5rem}.startup-spinner .css-spinner{color:#3b82f6}.startup-message{color:#fff9;font-size:1rem;margin:0}.startup-offline-icon{color:#f87171;margin-bottom:1.5rem}.startup-offline-title{color:#fff;font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.startup-offline-desc{color:#fff9;font-size:.95rem;line-height:1.5;margin:0 0 1.5rem;max-width:300px}.startup-retry-btn{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.startup-retry-btn:hover{background:#2563eb;transform:translateY(-1px)}.startup-retry-btn:active{transform:translateY(0)}.startup-retry-btn:disabled{cursor:not-allowed;opacity:.8;transform:none}.startup-retry-btn.checking{background:#64748b}.startup-retry-btn .css-spinner{color:#fff}.startup-offline-icon{align-items:center;display:flex;justify-content:center;min-height:48px;transition:opacity .2s ease}.startup-offline-icon .css-spinner{color:#3b82f6}.app{display:flex;min-height:100vh}.app.mobile-view{flex-direction:column}.main-content{background-color:var(--background-color);flex:1 1;margin-left:var(--nav-width);min-height:100vh;overflow-x:hidden;position:relative;transition:margin-left var(--transition-speed) ease;width:calc(100% - var(--nav-width))}.main-content.nav-collapsed{margin-left:var(--nav-collapsed-width);width:calc(100% - var(--nav-collapsed-width))}.mobile-header{align-items:center;background:var(--surface-color);border-bottom:1px solid var(--border-color);display:none;gap:var(--spacing-md);height:60px;left:0;padding:0 var(--spacing-md);position:fixed;right:0;top:0;z-index:999}.mobile-menu-btn{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:background-color .2s;width:40px}.mobile-menu-btn:hover{background:var(--background-color)}.mobile-title{color:var(--text-primary);font-size:1.1rem;font-weight:600}.mobile-nav-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:999}@media (max-width:768px){.mobile-header{display:flex}.mobile-nav-overlay{display:block}.main-content{margin-top:60px;min-height:calc(100vh - 60px)}.main-content,.main-content.mobile,.main-content.nav-collapsed{margin-left:0;width:100%}}
/*# sourceMappingURL=main.673e90f2.css.map*/