*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#6366f1;--primary-dark:#4f46e5;--primary-light:#818cf8;--secondary:#8b5cf6;--accent:#f59e0b;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--bg-primary:#fff;--bg-secondary:linear-gradient(135deg,#f8fafc,#f1f5f9 25%,#e0e7ff 35%,#ede9fe 50%,#f0f9ff 65%,#f8fafc);--bg-secondary-solid:#f8fafc;--bg-tertiary:#f1f5f9;--bg-card:#ffffffeb;--bg-card-hover:#fff;--text-primary:#1e293b;--text-secondary:#64748b;--text-tertiary:#94a3b8;--text-inverse:#fff;--border:#e2e8f0cc;--border-light:#f1f5f999;--border-accent:#6366f14d;--gradient-primary:linear-gradient(135deg,#6366f1,#8b5cf6);--gradient-secondary:linear-gradient(135deg,#818cf8,#a78bfa);--gradient-success:linear-gradient(135deg,#10b981,#059669);--gradient-warning:linear-gradient(135deg,#f59e0b,#d97706);--gradient-error:linear-gradient(135deg,#ef4444,#dc2626);--gradient-info:linear-gradient(135deg,#3b82f6,#2563eb);--gradient-bg:linear-gradient(135deg,#f8fafc,#f1f5f9 20%,#e0e7ff 40%,#ede9fe 60%,#f0f9ff 80%,#f8fafc);--shadow-sm:0 1px 2px 0 #6366f10d;--shadow:0 2px 4px -1px #6366f11a,0 1px 3px -1px #6366f11a;--shadow-md:0 4px 8px -2px #6366f11f,0 2px 4px -2px #6366f11a;--shadow-lg:0 12px 24px -4px #6366f126,0 4px 8px -2px #6366f11f;--shadow-xl:0 20px 40px -8px #6366f12e;--shadow-colored:0 8px 16px -4px #6366f140;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:0.5rem;--radius:0.75rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-xl:2rem;--radius-full:9999px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-fast:all 0.15s cubic-bezier(0.4,0,0.2,1);--transition-slow:all 0.5s cubic-bezier(0.4,0,0.2,1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;animation:gradientShift 20s ease infinite;background:linear-gradient(135deg,#f8fafc,#f1f5f9 20%,#e0e7ff 40%,#ede9fe 60%,#f0f9ff 80%,#f8fafc);background:var(--gradient-bg);background-size:400% 400%;color:#1e293b;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;min-height:100vh}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}code{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Courier New,monospace}@media (max-width:768px){body{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}@media (max-width:480px){body{font-size:14px}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}}.house-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.house-form-modal{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:var(--bg-card);border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100%;max-height:none;max-width:none;width:100%}.house-form-header{align-items:center;background:var(--bg-secondary);border-bottom:2px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-xl)}.house-form-header h2{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0}.house-form{flex:1 1;overflow-y:auto;padding:var(--spacing-xl)}.error-message{background:#ef44441a;border-left:4px solid var(--error);border-radius:var(--radius-md);color:var(--error-dark);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.form-group input{border-radius:var(--radius-md);font-family:inherit}.form-group input:focus{box-shadow:0 0 0 3px #6366f11a}@media (max-width:768px){.house-form-header{padding:var(--spacing-lg)}.house-form-header h2{font-size:1.5rem}.house-form{padding:var(--spacing-lg)}.form-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.btn-cancel,.btn-submit{font-size:1rem;min-height:48px;padding:var(--spacing-md) var(--spacing-lg);width:100%}}@media (max-width:480px){.house-form-header{padding:var(--spacing-md)}.house-form-header h2{font-size:1.25rem}.house-form{padding:var(--spacing-md)}.form-group input{font-size:16px}}.house-selector-header{position:relative;z-index:101}.house-selector-logo-text{color:var(--text-secondary);font-size:.875rem;font-weight:600;margin-top:2px}.house-name-text{font-weight:500}.house-name-text-placeholder{font-weight:400}.house-chevron-small{color:var(--text-tertiary)}.house-name-text,.house-selector-logo-text{align-items:center;display:flex;gap:var(--spacing-xs)}.house-name-text{color:var(--text-secondary);font-size:.875rem;font-weight:600;transition:var(--transition)}.house-name-text-placeholder{color:var(--text-tertiary);font-size:.875rem;font-style:italic;font-weight:500}.house-chevron-small{color:var(--text-secondary);flex-shrink:0;height:14px;transition:transform .2s ease;width:14px}.logo-house-selector:hover .house-name-text{color:var(--primary)}.logo-house-selector:hover .house-chevron-small{color:var(--primary);transform:translateX(2px)}.house-selector-trigger{-webkit-tap-highlight-color:rgba(0,0,0,.1);align-items:center;-webkit-appearance:none;appearance:none;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:var(--spacing-sm);justify-content:space-between;min-width:180px;outline:none;padding:var(--spacing-sm) var(--spacing-lg);position:relative;touch-action:manipulation;transition:var(--transition);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;z-index:1}.house-selector-trigger:focus{outline:2px solid var(--primary);outline-offset:2px}.house-selector-trigger:active{background:var(--bg-card)}.house-selector-trigger:hover{background:var(--bg-card);border-color:var(--border-accent);box-shadow:var(--shadow-sm)}.house-selector-trigger:active{transform:scale(.98)}.house-selector-text{flex:1 1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.house-chevron{color:var(--text-secondary);flex-shrink:0;height:18px;transition:transform .2s ease;width:18px}.house-selector-trigger:active .house-chevron{transform:translateX(2px)}.house-dropdown{animation:slideDown .2s ease-out;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:block!important;left:0;max-height:400px;max-width:300px;min-width:240px;opacity:1!important;overflow-y:auto;position:absolute;right:0;top:calc(100% + var(--spacing-sm));visibility:visible!important;z-index:1000}.house-dropdown-list{padding:var(--spacing-xs)}.house-dropdown-item{align-items:center;background:#0000;border:none;border-radius:var(--radius);color:var(--text-primary);cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-md);text-align:left;transition:var(--transition);width:100%}.house-dropdown-item:hover{background:var(--bg-tertiary);transform:translateX(4px)}.house-dropdown-item.active{background:linear-gradient(135deg,#6366f11a,#8b5cf61a);color:var(--primary);font-weight:600}.house-item-icon{color:var(--primary);flex-shrink:0;height:18px;width:18px}.house-item-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.house-check-icon{color:var(--primary);flex-shrink:0;height:18px;width:18px}.house-dropdown-divider{background:var(--border);height:1px;margin:var(--spacing-xs) 0}.house-dropdown-add{align-items:center;background:#0000;border:none;border-radius:var(--radius);border-top:1px solid var(--border);color:var(--primary);cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-xs);padding:var(--spacing-md);transition:var(--transition);width:100%}.house-dropdown-add:hover{background:var(--bg-tertiary);color:var(--primary-dark)}.house-dropdown-add svg{height:18px;width:18px}.house-dropdown-empty{padding:var(--spacing-xl);text-align:center}.house-dropdown-empty p{color:var(--text-secondary);margin:0 0 var(--spacing-md) 0}.house-selector-header-loading{color:var(--text-secondary);font-size:.875rem;padding:var(--spacing-sm) var(--spacing-lg)}.house-selector{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);transition:var(--transition)}.house-selector:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg)}.house-selector label{align-items:center;color:var(--text-primary);display:flex;font-size:.9375rem;font-weight:700;gap:var(--spacing-xs)}.house-select{background:var(--bg-primary);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;flex:1 1;font-size:.9375rem;font-weight:500;min-width:200px;padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition)}.house-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.btn-add-house{align-items:center;background:var(--gradient-primary);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition);white-space:nowrap}.btn-add-house:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.house-selector-loading{color:#666;padding:15px;text-align:center}@media (max-width:768px){.house-selector-header{flex-shrink:0}.house-selector-trigger{justify-content:center;max-width:44px;min-height:44px;min-width:44px;padding:var(--spacing-xs);pointer-events:auto;position:relative;width:44px;z-index:1}.house-chevron,.house-selector-text{display:none}.house-dropdown{left:0;max-width:100vw;min-width:auto;right:0}.house-selector{align-items:stretch;flex-direction:column}.house-select{min-height:44px;min-width:auto;width:100%}.btn-add-house{justify-content:center;min-height:44px;width:100%}}@media (max-width:480px){.house-selector-trigger{font-size:.875rem;justify-content:center;max-width:44px;min-width:44px;padding:var(--spacing-xs);width:44px}.house-chevron,.house-selector-text{display:none}.house-dropdown-item{min-height:44px;padding:var(--spacing-md)}}.medication-alerts{margin-bottom:20px}.alert-section{border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:15px;padding:15px}.alert-section.low-stock{background-color:#fff3cd;border-left:4px solid #ffc107}.alert-section.expiring{background-color:#f8d7da;border-left:4px solid #dc3545}.alert-section h3{color:#333;font-size:18px;margin:0 0 10px}.alert-section ul{list-style:none;margin:0;padding:0}.alert-section li{border-bottom:1px solid #0000001a;padding:8px 0}.alert-section li:last-child{border-bottom:none}.alert-section li strong{color:#333}.alert-section .house-name{color:#666;font-size:.9em}@media (max-width:768px){.medication-alerts{margin-bottom:var(--spacing-md)}.alert-section{padding:var(--spacing-md)}.alert-section h3{font-size:1.125rem}.alert-section li{font-size:.875rem;padding:var(--spacing-sm) 0}}@media (max-width:480px){.alert-section{padding:var(--spacing-sm)}.alert-section h3{font-size:1rem}}.budget-summary{animation:slideInUp .8s ease-out backwards;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--spacing-xl);transition:var(--transition)}.budget-summary h3{align-items:center;color:var(--text-primary);display:flex;font-size:1.5rem;font-weight:700;gap:var(--spacing-sm);letter-spacing:-.01em;margin:0 0 var(--spacing-lg) 0}.budget-summary-loading{color:var(--text-secondary);padding:var(--spacing-xl);text-align:center}.budget-summary-card{align-items:center;background:var(--bg-tertiary);border-left:4px solid var(--info);box-shadow:var(--shadow-sm);display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);transition:var(--transition)}.budget-summary-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.budget-summary-card.total{background:linear-gradient(135deg,#10b98114,#05966914);border-left-color:var(--success)}.budget-summary-icon{font-size:32px;line-height:1}.budget-summary-content{flex:1 1}.budget-summary-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.1em;margin-bottom:var(--spacing-xs);text-transform:uppercase}.budget-summary-value{color:var(--text-primary);font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.budget-people-summary{border-top:2px solid var(--border);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl)}.budget-people-summary h4{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 var(--spacing-lg) 0}.people-summary-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.person-summary-card{background:var(--bg-tertiary);border:2px solid var(--border);border-left:4px solid var(--success);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:var(--transition)}.person-summary-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.person-summary-name{color:var(--text-primary);font-size:1rem;font-weight:700;margin-bottom:var(--spacing-md)}.person-summary-deductions,.person-summary-salary{color:var(--text-secondary);font-size:.875rem;margin-bottom:var(--spacing-xs)}.person-summary-remaining{border-top:2px solid var(--border);font-size:1.125rem;font-weight:800;margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.person-summary-remaining.positive{color:var(--success)}.person-summary-remaining.negative{color:var(--error)}@media (max-width:768px){.budget-summary{padding:var(--spacing-lg)}.budget-summary h3{font-size:1.25rem}.budget-summary-grid,.people-summary-grid{gap:var(--spacing-md);grid-template-columns:1fr}.budget-summary-card{padding:var(--spacing-md)}.budget-summary-value{font-size:1.25rem}.person-summary-card{padding:var(--spacing-md)}}@media (max-width:480px){.budget-summary{padding:var(--spacing-md)}.budget-summary h3{font-size:1.125rem}.budget-summary-card{flex-direction:column;padding:var(--spacing-sm);text-align:center}.budget-summary-value{font-size:1.125rem}}.dashboard{margin:0 auto;max-width:1400px;padding:var(--spacing-xl)}.dashboard-header{margin-bottom:var(--spacing-2xl)}.dashboard h1{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:2.5rem;font-weight:800;letter-spacing:-.03em;margin:0 0 var(--spacing-md) 0}.dashboard-subtitle{font-weight:500;margin:0}.dashboard-loading,.dashboard-subtitle{color:var(--text-secondary);font-size:1.125rem}.dashboard-loading{padding:var(--spacing-2xl);text-align:center}.dashboard-empty{color:var(--text-secondary);padding:var(--spacing-3xl) var(--spacing-xl);text-align:center}.dashboard-empty h2{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:var(--spacing-md)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:var(--spacing-2xl)}.stat-card{align-items:center;animation:slideInUp .6s ease-out backwards;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--spacing-lg);overflow:hidden;padding:var(--spacing-xl);position:relative;transition:var(--transition)}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}.stat-card:before{background:var(--gradient-primary);content:"";height:100%;left:0;position:absolute;top:0;transition:var(--transition);width:6px}.stat-card:after{animation:float 6s ease-in-out infinite;background:radial-gradient(circle,#6366f114 0,#0000 70%);content:"";height:200%;pointer-events:none;position:absolute;right:-50%;top:-50%;width:200%}.stat-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg);transform:translateY(-6px) scale(1.02)}.stat-card:hover .stat-icon{animation:pulse 1.5s ease-in-out infinite;transform:scale(1.1)}.stat-card.info:before{background:var(--gradient-info)}.stat-card.warning:before{background:var(--gradient-warning)}.stat-card.danger:before{background:var(--gradient-error)}.stat-card.grocery:before{background:var(--gradient-secondary)}.stat-icon{animation:float 4s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(99,102,241,.25));font-size:3.5rem;line-height:1;transition:var(--transition)}.stat-content{animation:fadeIn .8s ease-out;flex:1 1}.stat-value{animation:pulse 2s ease-in-out infinite;color:var(--primary);font-size:2.75rem;letter-spacing:-.02em;line-height:1;margin-bottom:var(--spacing-xs)}.stat-label{color:var(--text-secondary);font-size:.875rem;letter-spacing:.1em;margin-bottom:var(--spacing-sm)}.stat-progress{margin-top:10px}.progress-bar{background:var(--bg-tertiary);border-radius:var(--radius-full);box-shadow:inset 0 2px 6px #c4b5fd1a;height:12px;margin-bottom:var(--spacing-xs);overflow:hidden;position:relative;width:100%}.progress-bar:before{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-fill{background:var(--gradient-primary);border-radius:var(--radius-full);box-shadow:0 2px 8px #6366f14d;height:100%;overflow:hidden;position:relative;transition:width 1s cubic-bezier(.4,0,.2,1)}.progress-fill:after{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.progress-text{color:var(--text-tertiary);font-size:.75rem;font-weight:500}.dashboard-main{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 1fr;margin-top:var(--spacing-2xl)}.dashboard-left,.dashboard-right{display:flex;flex-direction:column;gap:var(--spacing-lg)}.dashboard-card{animation:slideInUp .8s ease-out backwards;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--spacing-xl);transition:var(--transition)}.dashboard-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.dashboard-card.clickable-card{cursor:pointer}.dashboard-card.clickable-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:var(--spacing-lg)}.card-header,.card-header h2{align-items:center;display:flex;gap:var(--spacing-sm)}.card-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin:0}.card-icon{color:var(--primary);height:24px;width:24px}.card-header-info{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.card-badge{background:var(--gradient-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:#fff;font-size:.8125rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-md)}.card-progress{color:var(--text-secondary);font-size:.875rem;font-weight:500}.grocery-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.grocery-checkbox{align-items:center;display:flex}.grocery-checkbox input[type=checkbox]{accent-color:var(--primary);cursor:pointer;height:20px;width:20px}.dashboard-sections{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:var(--spacing-2xl)}.dashboard-section{animation:slideInUp .8s ease-out backwards;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--spacing-xl);transition:var(--transition)}.dashboard-section:first-child{animation-delay:.2s}.dashboard-section:nth-child(2){animation-delay:.4s}.dashboard-section:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.dashboard-section h2{align-items:center;color:var(--text-primary);display:flex;font-size:1.5rem;font-weight:700;gap:var(--spacing-sm);letter-spacing:-.01em;margin:0 0 var(--spacing-lg) 0}.empty-state{padding:20px}.grocery-preview{display:flex;flex-direction:column;gap:10px}.grocery-item{background:var(--bg-tertiary);border:1px solid #0000;padding:var(--spacing-md)}.grocery-item:hover{background:var(--bg-card);transform:translateX(4px)}.grocery-item.purchased{text-decoration:line-through}.grocery-check{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:1.25rem;min-width:28px}.grocery-name{color:var(--text-primary);flex:1 1;font-size:.9375rem;font-weight:600}.grocery-quantity{background:var(--bg-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-secondary);font-size:.875rem;padding:var(--spacing-xs) var(--spacing-sm)}.grocery-more{color:#666;font-size:14px;font-style:italic;padding:10px;text-align:center}.recent-items{display:flex;flex-direction:column;gap:12px}.recent-item{align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-xl);display:flex;gap:12px;padding:12px;transition:var(--transition)}.recent-item:hover{background:#eee}.item-name{color:#333;flex:1 1;font-weight:500}.item-quantity{background:var(--bg-secondary);border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;padding:4px 8px}.item-date{color:#999;font-size:12px}.recent-notes{display:flex;flex-direction:column;gap:12px}.note-card{background:var(--bg-tertiary);border-left:3px solid var(--info);border-radius:var(--radius-xl);padding:15px}.note-content{line-height:1.5;margin:0 0 8px}.projects-preview{display:flex;flex-direction:column;gap:var(--spacing-md)}.project-preview-item{animation:fadeIn .5s ease-out backwards;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;overflow:hidden;padding:var(--spacing-md);position:relative;transition:var(--transition)}.project-preview-item:first-child{animation-delay:.2s}.project-preview-item:nth-child(2){animation-delay:.3s}.project-preview-item:nth-child(3){animation-delay:.4s}.project-preview-item:nth-child(4){animation-delay:.5s}.project-preview-item:nth-child(5){animation-delay:.6s}.project-preview-item:before{background:var(--gradient-primary);content:"";height:100%;left:0;position:absolute;top:0;transition:var(--transition);width:3px}.project-preview-item:hover{background:var(--bg-hover);border-color:var(--border-accent);box-shadow:var(--shadow-sm);transform:translateX(4px)}.project-preview-item:hover:before{width:4px}.project-preview-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:space-between;margin-bottom:var(--spacing-sm)}.project-preview-name{color:var(--text-primary);flex:1 1;font-size:1.125rem;font-weight:700;letter-spacing:-.01em;margin:0;min-width:0}.project-preview-badges{display:flex;flex-shrink:0;flex-wrap:wrap;gap:var(--spacing-xs)}.project-priority-badge,.project-status-badge{border-radius:var(--radius-md);box-shadow:var(--shadow-xs);color:#fff;font-size:.6875rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);text-transform:capitalize;white-space:nowrap}.project-preview-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.875rem;line-height:1.5;margin:0 0 var(--spacing-sm) 0;overflow:hidden}.project-preview-budget{border-top:1px solid var(--border);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.project-budget-info{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:space-between;margin-bottom:var(--spacing-xs)}.project-budget-info .budget-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.project-budget-info .budget-amount{color:var(--text-primary);font-size:.875rem;font-weight:600}.project-preview-budget .progress-bar{background:var(--bg-tertiary);border-radius:var(--radius-full);height:6px;margin-top:var(--spacing-xs);overflow:hidden;width:100%}.project-preview-budget .progress-fill{background:var(--primary);border-radius:var(--radius-full);height:100%;transition:width .3s ease}.project-preview-date{align-items:center;border-top:1px solid var(--border);color:var(--text-secondary);display:flex;font-size:.8125rem;gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.project-preview-date svg{color:var(--text-tertiary);height:14px;width:14px}@media (max-width:1024px){.dashboard-main{grid-template-columns:1fr}}@media (max-width:768px){.dashboard{padding:var(--spacing-md)}.dashboard-header h1{font-size:1.75rem}.dashboard-subtitle{font-size:.9375rem}.stats-grid{gap:var(--spacing-md);grid-template-columns:1fr}.stat-card{padding:var(--spacing-lg)}.stat-icon{font-size:2.5rem}.stat-value{font-size:2rem}.stat-label{font-size:.75rem}.dashboard-main{gap:var(--spacing-md)}.dashboard-main,.dashboard-sections{grid-template-columns:1fr}.dashboard-card{padding:var(--spacing-lg)}.project-preview-item{padding:var(--spacing-sm)}.project-preview-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}.project-preview-badges{align-self:flex-start}.project-preview-name{font-size:1rem}.project-budget-info{gap:var(--spacing-xs)}.card-header,.project-budget-info{align-items:flex-start;flex-direction:column}.card-header{gap:var(--spacing-sm)}.card-header h2{font-size:1.25rem}.grocery-item{padding:var(--spacing-sm)}.grocery-name{font-size:.875rem}}@media (max-width:480px){.dashboard{padding:var(--spacing-sm)}.dashboard-header h1{font-size:1.5rem}.stat-card{flex-direction:column;padding:var(--spacing-md);text-align:center}.stat-icon{font-size:2rem}.stat-value{font-size:1.75rem}.dashboard-card{padding:var(--spacing-md)}}.item-form-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.item-form-modal{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:var(--bg-card);border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100%;max-height:none;max-width:none;overflow-y:auto;width:100%}.item-form-header{align-items:center;background:var(--bg-secondary);border-bottom:2px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-xl)}.item-form-header h2{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0}.btn-close{border:2px solid var(--border);box-shadow:var(--shadow-sm);padding:0}.btn-close:hover{border-color:var(--border-accent);color:var(--text-primary);transform:scale(1.05)}.item-form{flex:1 1;overflow-y:auto;padding:var(--spacing-xl)}.form-group{margin-bottom:20px}.form-group input,.form-group textarea{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:1rem;padding:var(--spacing-md);transition:var(--transition);width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.form-row{grid-gap:15px;gap:15px;grid-template-columns:1fr 1fr}.form-actions{border-top:2px solid var(--border);margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl)}.btn-cancel,.btn-submit{border:2px solid var(--border);font-size:1rem;padding:var(--spacing-sm) var(--spacing-xl)}.btn-cancel:hover{background:var(--bg-hover);border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-submit{border-color:#0000}.btn-submit:hover:not(:disabled){transform:translateY(-2px)}.btn-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.item-form-header{padding:var(--spacing-lg)}.item-form-header h2{font-size:1.5rem}.item-form{padding:var(--spacing-lg)}.form-row{gap:var(--spacing-md);grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.btn-cancel,.btn-submit{font-size:1rem;min-height:48px;padding:var(--spacing-md) var(--spacing-lg);width:100%}}@media (max-width:480px){.item-form-header{padding:var(--spacing-md)}.item-form-header h2{font-size:1.25rem}.item-form{padding:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-lg)}.form-group input,.form-group textarea{font-size:16px}}.item-list{width:100%}.item-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:space-between;margin-bottom:var(--spacing-xl)}.item-list-header h2{color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0}.view-toggle{border:1px solid var(--border);border-radius:var(--radius-lg)}.view-btn{border-radius:var(--radius);line-height:1}.view-btn.active{box-shadow:var(--shadow-sm)}.item-list-empty,.item-list-loading,.item-list-message{color:#666;padding:40px;text-align:center}.items-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.items-list{gap:12px}.item-card{animation:slideInUp .5s ease-out backwards;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);overflow:hidden;padding:var(--spacing-lg);position:relative;transition:var(--transition)}.item-card:before{background:var(--border);bottom:0;content:"";left:0;position:absolute;top:0;transition:var(--transition);width:4px}.item-card:after{background:radial-gradient(circle,#6366f10f 0,#0000 70%);content:"";height:200%;opacity:0;pointer-events:none;position:absolute;right:-50%;top:-50%;transition:opacity .3s ease;width:200%}.item-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-4px) scale(1.01)}.item-card:hover:after{opacity:1}.item-card.status-ok:before{background:var(--gradient-success)}.item-card.status-low:before{background:var(--gradient-warning)}.item-card.status-out:before{background:var(--gradient-error)}.item-card-main{align-items:center;display:flex;gap:16px;justify-content:space-between}.item-info{min-width:0}.item-name{color:#1a1a1a;font-size:16px;font-weight:600;line-height:1.3;margin:0 0 8px}.item-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.item-quantity-badge{background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:1px solid var(--border-accent);border-radius:var(--radius);color:var(--primary-dark)}.expiry-badge,.item-quantity-badge{animation:fadeIn .5s ease-out;font-size:.8125rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap}.expiry-badge{background:linear-gradient(135deg,#3b82f61f,#2563eb1f);border:1px solid #3b82f64d;border-radius:var(--radius);color:var(--info)}.expiry-badge.urgent{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#ef444426,#dc262626);border-color:#ef444466;color:var(--error);font-weight:700}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.item-actions-minimal{display:flex;flex-shrink:0;gap:6px}.btn-add-grocery,.btn-delete-minimal,.btn-edit-minimal{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:var(--transition);width:40px}.btn-add-grocery:hover{background:linear-gradient(135deg,#10b98114,#05966914);border-color:#10b98166;color:var(--success)}.btn-add-grocery:hover,.btn-edit-minimal:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-edit-minimal:hover{background:linear-gradient(135deg,#3b82f614,#2563eb14);border-color:#3b82f666;color:var(--info)}.btn-delete-minimal{color:var(--text-tertiary)}.btn-delete-minimal:hover{background:linear-gradient(135deg,#ef444414,#dc262614);border-color:#ef444466;box-shadow:var(--shadow-md);color:var(--error);transform:translateY(-2px)}.item-card.view-list{padding:12px 16px}.item-card.view-list .item-card-main{align-items:center}.item-card.view-list .item-info{align-items:center;display:flex;flex:1 1;gap:16px}.item-card.view-list .item-name{margin:0;min-width:200px}.item-card.view-list .item-meta{margin-left:auto}@media (max-width:768px){.item-list-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.header-actions{justify-content:space-between;width:100%}.items-grid{grid-template-columns:1fr}.item-card{padding:var(--spacing-md)}.item-card-main{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.item-actions-minimal{justify-content:flex-end;width:100%}.btn-add-grocery,.btn-delete-minimal,.btn-edit-minimal{min-height:44px;min-width:44px}.item-card.view-list .item-info{align-items:flex-start;flex-direction:column;gap:8px}.item-card.view-list .item-meta{margin-left:0}}@media (max-width:480px){.item-list-header h2{font-size:1.25rem}.btn-add{min-height:44px;padding:var(--spacing-md);width:100%}.item-card{padding:var(--spacing-sm)}.item-name{font-size:.9375rem}.item-quantity-badge{font-size:.75rem}}.notes-tab{width:100%}.notes-header{margin-bottom:20px}.notes-header h2{color:#333;margin:0}.btn-add{background:#4caf50;border-radius:4px;font-size:16px;padding:10px 20px;transition:background .3s}.btn-add:hover{background:#45a049}.note-form{background:#f9f9f9;border-radius:8px;margin-bottom:20px;padding:20px}.note-form textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:16px;min-height:120px;padding:12px}.note-form textarea:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.note-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.notes-empty,.notes-loading,.notes-message{color:#666;padding:40px;text-align:center}.notes-list{display:flex;flex-direction:column;gap:15px}.note-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.note-content{color:#333;margin-bottom:15px;white-space:pre-wrap}.note-content .linkified-url{color:#4caf50;color:var(--primary,#4caf50)}.note-footer{align-items:center;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-top:15px}.note-date{color:#999;font-size:12px}.note-actions{gap:8px}.btn-delete,.btn-edit{background:var(--bg-tertiary);font-size:.875rem;padding:var(--spacing-xs) var(--spacing-md)}.btn-edit{color:var(--text-tertiary)}.btn-edit:hover{box-shadow:var(--shadow-sm)}@media (max-width:768px){.notes-tab{padding:var(--spacing-md)}.notes-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.notes-header h2{font-size:1.5rem}.btn-add{min-height:44px;padding:var(--spacing-md);width:100%}.note-form{padding:var(--spacing-lg)}.note-form textarea{font-size:16px;min-height:100px}.note-form-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.btn-cancel,.btn-submit{min-height:48px;padding:var(--spacing-md);width:100%}.note-card{padding:var(--spacing-lg)}.note-footer{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.note-actions{justify-content:flex-end;width:100%}.btn-delete,.btn-edit{flex:1 1;min-height:44px}}@media (max-width:480px){.notes-tab{padding:var(--spacing-sm)}.notes-header h2{font-size:1.25rem}.note-card,.note-form{padding:var(--spacing-md)}}.autocomplete-wrapper{position:relative;width:100%}.autocomplete-input{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:16px;padding:10px;width:100%}.autocomplete-input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.autocomplete-input:disabled{background:#f5f5f5;cursor:not-allowed}.autocomplete-suggestions{background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:1000}.autocomplete-suggestion{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;padding:10px 15px;transition:background-color .2s}.autocomplete-suggestion:last-child{border-bottom:none}.autocomplete-suggestion.selected,.autocomplete-suggestion:hover{background-color:#f5f5f5}.suggestion-name{color:#333;flex:1 1}.suggestion-name mark{background-color:#fff9c4;font-weight:600;padding:0}.suggestion-type{background:#e3f2fd;border-radius:12px;color:#999;font-size:12px;margin-left:10px;padding:2px 8px;text-transform:capitalize}.groceries-tab{width:100%}.groceries-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.groceries-header h2{color:#333;margin:0 0 5px}.groceries-stats{color:#666;font-size:14px;margin:0}.header-actions{gap:10px}.btn-add,.btn-clear{align-items:center;border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition)}.btn-add{background:var(--gradient-success)}.btn-add-to-stock{align-items:center;background:var(--gradient-info);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition)}.btn-add-to-stock:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-add-to-stock:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.btn-clear{background:var(--gradient-warning);color:#fff}.btn-clear:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.grocery-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.grocery-form h3{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0 0 var(--spacing-lg) 0}.form-row{grid-gap:10px;gap:10px;grid-template-columns:2fr 1fr;margin-bottom:10px}.grocery-form input,.grocery-form textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:16px;padding:10px;width:100%}.grocery-form input:focus,.grocery-form textarea:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033;outline:none}.grocery-form textarea{margin-bottom:10px;min-height:60px;resize:vertical}.btn-cancel,.btn-submit{border-radius:4px;font-size:14px;padding:8px 16px}.btn-cancel{background:#f5f5f5;color:#333}.btn-cancel:hover{background:#e0e0e0}.btn-submit{background:#4caf50}.btn-submit:hover{background:#45a049}.groceries-empty,.groceries-loading,.groceries-message{color:#666;padding:40px;text-align:center}.groceries-empty p{margin:10px 0}.groceries-list{display:flex;flex-direction:column;gap:10px}.grocery-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-lg);transition:var(--transition)}.grocery-item:hover{border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.grocery-item.purchased{background:var(--bg-tertiary);opacity:.5}.grocery-item.purchased .grocery-item-name{color:#999;text-decoration:line-through}.grocery-item-content{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:15px}.grocery-checkbox-label{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:10px;min-width:200px}.grocery-checkbox{accent-color:#4caf50;cursor:pointer;height:20px;width:20px}.grocery-item-name{color:#333;flex:1 1;font-size:16px;font-weight:500}.grocery-quantity{background:#e3f2fd;border-radius:4px;color:#1976d2;font-size:14px;font-weight:500;padding:4px 10px;white-space:nowrap}.grocery-notes{color:#666;flex:1 1;font-size:14px;font-style:italic;min-width:150px}.grocery-item-actions{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-xs)}.btn-delete-small,.btn-edit-small{box-shadow:var(--shadow-sm)}.btn-delete-small:hover,.btn-edit-small:hover{box-shadow:var(--shadow-md)}@media (max-width:768px){.groceries-tab{padding:var(--spacing-md)}.groceries-header h2{font-size:1.5rem}.groceries-form{padding:var(--spacing-lg)}.groceries-form input,.groceries-form textarea{font-size:16px;min-height:44px}.form-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.form-actions button{min-height:48px;width:100%}.groceries-list{gap:var(--spacing-sm)}.grocery-item{padding:var(--spacing-md)}.grocery-checkbox input[type=checkbox]{height:24px;width:24px}.grocery-item-actions{gap:var(--spacing-xs)}.btn-delete-small,.btn-edit-small{min-height:44px;min-width:44px}}@media (max-width:480px){.grocery-item-actions{flex-direction:column;gap:4px}.groceries-tab{padding:var(--spacing-sm)}.groceries-header h2{font-size:1.25rem}.groceries-form{padding:var(--spacing-md)}.form-row{grid-template-columns:1fr}.grocery-item-content{align-items:flex-start;flex-direction:column}.grocery-checkbox-label{width:100%}}.category-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:var(--transition)}.category-tabs:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg)}.tabs-header{background:var(--bg-tertiary);border-bottom:2px solid var(--border);display:flex;flex-wrap:wrap;padding:var(--spacing-xs)}.tab-button{align-items:center;border-radius:var(--radius);display:flex;font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg)}.tab-button.active,.tab-button:hover{background:var(--bg-card)}.tab-button.active{box-shadow:var(--shadow-sm)}.tab-button.active:after{background:var(--gradient-primary);border-radius:var(--radius-full);bottom:-2px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60%}.tabs-content{min-height:400px;padding:var(--spacing-xl)}.category-tabs-empty,.category-tabs-loading,.category-tabs-message{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:var(--text-secondary);padding:var(--spacing-2xl);text-align:center}.category-tabs-empty p{line-height:1.6;margin:10px 0}@media (max-width:768px){.category-tabs{border-radius:var(--radius-lg)}.tabs-header{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.tab-button{font-size:.875rem;min-height:44px;padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap}.tabs-content{min-height:300px;padding:var(--spacing-lg)}}@media (max-width:480px){.tabs-content{padding:var(--spacing-md)}.tab-button{font-size:.8125rem;padding:var(--spacing-xs) var(--spacing-sm)}}.bank-statement-upload{width:100%}.upload-area,.upload-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.upload-area{align-items:center;background:var(--bg-secondary);border:2px dashed var(--border);border-radius:var(--radius-lg);cursor:pointer;justify-content:center;min-height:200px;padding:var(--spacing-xl);text-align:center;transition:var(--transition)}.upload-area:hover{background:var(--bg-hover);border-color:var(--primary)}.upload-area.drag-active{background:var(--primary-light);border-color:var(--primary)}.upload-icon{color:var(--text-tertiary);transition:var(--transition)}.upload-area.drag-active .upload-icon,.upload-area:hover .upload-icon{color:var(--primary)}.upload-text{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0}.upload-hint{color:var(--text-secondary);font-size:.875rem;margin:0}.files-list{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-md)}.files-list h4{font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.file-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;margin-bottom:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.file-item:hover{box-shadow:var(--shadow-xs)}.file-info{align-items:center;display:flex;gap:var(--spacing-sm)}.file-info svg{color:var(--text-tertiary);flex-shrink:0}.file-name{flex:1 1}.file-size{color:var(--text-secondary);flex-shrink:0;font-size:.875rem}.remove-file-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:var(--spacing-xs);transition:var(--transition)}.remove-file-btn:hover{background:var(--bg-hover);color:var(--error)}.upload-btn{background:var(--primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:var(--spacing-md);padding:var(--spacing-md);transition:var(--transition);width:100%}.upload-btn:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.upload-btn:disabled{cursor:not-allowed;opacity:.6}.upload-results{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-md)}.upload-results h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.upload-result{border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);padding:var(--spacing-md)}.upload-result.success{background:#22c55e1a;border-color:#22c55e4d}.upload-result.error{background:#ef44441a;border-color:#ef44444d}.result-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.result-file{color:var(--text-primary);font-size:.9375rem;font-weight:600}.result-status{border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm)}.result-status.success{color:#22c55e}.result-status.error{color:var(--error)}.result-details{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xs)}.result-details,.result-message{color:var(--text-secondary);font-size:.875rem}.result-message{margin:var(--spacing-xs) 0 0 0}@media (max-width:768px){.upload-area{min-height:150px;padding:var(--spacing-md)}.upload-text{font-size:1rem}.result-header{align-items:flex-start}.result-details,.result-header{flex-direction:column;gap:var(--spacing-xs)}}.chart-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);padding:var(--spacing-lg)}.chart-empty,.chart-loading{align-items:center;color:var(--text-secondary);display:flex;font-size:.9375rem;justify-content:center;padding:var(--spacing-xl)}.chart-empty{font-style:italic}.category-chart-wrapper{display:flex;flex-direction:column;gap:var(--spacing-md)}.category-summary{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md)}.summary-item{align-items:center;display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.summary-label{color:var(--text-secondary);font-size:.9375rem;font-weight:500}.summary-value{font-size:1rem;font-weight:600}.summary-item.uncategorized .summary-value{color:var(--text-tertiary)}@media (max-width:768px){.chart-container{-webkit-overflow-scrolling:touch;box-sizing:border-box;overflow-x:auto;padding:var(--spacing-md);width:100%}.chart-title{font-size:1.125rem}.category-chart-wrapper{flex-direction:column;width:100%}.category-chart-wrapper .recharts-responsive-container{max-height:400px;min-height:300px;width:100%!important}}@media (max-width:480px){.chart-container{padding:var(--spacing-sm)}.chart-title{font-size:1rem}.category-chart-wrapper .recharts-responsive-container{max-height:350px;min-height:250px}.summary-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}}.monthly-summary{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);padding:var(--spacing-lg)}.chart-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-lg) 0}.summary-overview{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)}.overview-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);transition:var(--transition)}.overview-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-sm)}.overview-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.overview-value{font-size:1.5rem;font-weight:700}.overview-value.income{color:#22c55e}.overview-value.expense{color:#ef4444}.monthly-table{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}.monthly-table table{border-collapse:collapse;width:100%}.monthly-table thead{background:var(--bg-secondary)}.monthly-table th{border-bottom:2px solid var(--border);color:var(--text-primary);font-size:.875rem;font-weight:600;letter-spacing:.5px;padding:var(--spacing-md);text-align:left;text-transform:uppercase}.monthly-table td{border-bottom:1px solid var(--border);font-size:.9375rem;padding:var(--spacing-md)}.monthly-table tbody tr:hover{background:var(--bg-hover)}.monthly-table tbody tr:last-child td{border-bottom:none}.month-name{color:var(--text-primary);font-weight:600;text-transform:capitalize}.amount{font-family:Courier New,monospace;font-weight:600}.amount.income{color:#22c55e}.amount.expense{color:#ef4444}.transactions-count{color:var(--text-secondary);font-weight:500;text-align:center}@media (max-width:768px){.monthly-summary{padding:var(--spacing-md)}.summary-overview{grid-template-columns:1fr}.monthly-table{font-size:.875rem}.monthly-table td,.monthly-table th{padding:var(--spacing-sm)}.overview-value{font-size:1.25rem}}.budget-tab{box-sizing:border-box;margin:0 auto;max-width:1200px;padding:var(--spacing-xl);width:100%}.budget-header{margin-bottom:var(--spacing-xl)}.budget-header h2{color:var(--text-primary);font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:0}.budget-tab-loading{color:var(--text-secondary);font-size:1.125rem;padding:var(--spacing-2xl);text-align:center}.budget-sections{border-bottom:2px solid var(--border);display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-2xl)}.section-button{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.9375rem;font-weight:500;padding:var(--spacing-md) var(--spacing-xl);position:relative;transition:var(--transition)}.section-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.section-button.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.budget-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--spacing-2xl);transition:var(--transition)}.budget-section:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl)}.section-header h3{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin:0}.budget-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.budget-form input,.budget-form select{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.9375rem;padding:var(--spacing-md);transition:var(--transition)}.budget-form input:focus,.budget-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.budget-form label{align-items:center;cursor:pointer;display:flex;gap:8px}.budget-form input[type=checkbox]{cursor:pointer;width:auto}.form-actions{gap:10px}.person-selection{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);margin:var(--spacing-xl) 0;padding:var(--spacing-lg)}.form-label{color:var(--text-primary);display:block;font-size:.9375rem;font-weight:600;margin-bottom:var(--spacing-md)}.person-checkboxes{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.checkbox-label{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background .2s}.checkbox-label:hover{background:#f0f0f0}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.checkbox-label span{color:#333;font-size:14px}.form-hint{color:#666;display:block;font-size:12px;font-style:italic;margin-top:8px}.btn-add{align-items:center;display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg)}.btn-add:hover{box-shadow:var(--shadow-colored)}.btn-submit{align-items:center;border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition)}.btn-submit:hover{box-shadow:var(--shadow-colored);transform:translateY(-2px)}.btn-cancel{border-radius:var(--radius-md);cursor:pointer;font-size:.9375rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition)}.items-list{display:flex;flex-direction:column;gap:15px}.budget-item-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;overflow:hidden;padding:var(--spacing-lg);position:relative;transition:var(--transition)}.budget-item-card:before{background:var(--gradient-primary);bottom:0;content:"";left:0;position:absolute;top:0;transition:var(--transition);width:4px}.budget-item-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.item-info{flex:1 1}.item-label{color:#333;font-size:16px;font-weight:600;margin-bottom:5px}.item-amount{color:#2196f3;font-size:18px;font-weight:700;margin-bottom:5px}.item-amount.income{color:#4caf50}.item-amount.expense{color:#dc3545}.item-details{color:#666;display:flex;flex-direction:column;font-size:14px;gap:3px}.item-day{color:#999;font-size:14px}.inactive-badge{background:#ffc107;border-radius:4px;color:#333;display:inline-block;font-size:12px;font-weight:500;margin-top:5px;padding:4px 8px}.item-actions{display:flex;gap:10px}.btn-edit{background:#ffc107;border:none;border-radius:4px;color:#333;cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s}.btn-edit:hover{background:#ffb300}.btn-delete{align-items:center;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition)}.btn-delete:hover{box-shadow:var(--shadow-sm)}.empty-state{color:#999;font-style:italic;padding:40px;text-align:center}.summary-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-2xl)}.summary-card{animation:slideInUp .6s ease-out backwards;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;padding:var(--spacing-xl);position:relative;text-align:center;transition:var(--transition)}.summary-card:before{background:var(--gradient-primary);content:"";height:4px;left:0;position:absolute;right:0;top:0}.summary-card:after{animation:float 8s ease-in-out infinite;background:radial-gradient(circle,#6366f114 0,#0000 70%);content:"";height:200%;pointer-events:none;position:absolute;right:-50%;top:-50%;width:200%}.summary-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg);transform:translateY(-6px) scale(1.02)}.summary-label{color:var(--text-tertiary);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:var(--spacing-md);text-transform:uppercase}.summary-value{color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.budget-section h4{color:#333;font-size:20px;margin:30px 0 20px}.people-calculations{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.person-calculation-card{background:#f9f9f9;border-left:4px solid #4caf50;border-radius:8px;padding:20px}.person-name{color:#333;font-size:18px;font-weight:600;margin-bottom:15px}.calculation-details{display:flex;flex-direction:column;font-size:14px;gap:8px}.calc-row{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 0}.calc-row:last-child{border-bottom:none}.calc-label{color:#666;font-weight:500}.calc-value{color:#333;font-weight:600}.calc-row.highlight{background:#f0f7ff;border-bottom:none;border-radius:6px;margin:4px 0;padding:8px 12px}.calc-row.highlight .calc-label{color:#1976d2;font-weight:600}.calc-row.highlight .calc-value{color:#1976d2;font-weight:700}.total-deductions{font-weight:600}.remaining,.total-deductions{border-top:2px solid #ddd!important;margin-top:10px;padding-top:10px}.remaining{font-size:16px;font-weight:700}.remaining.positive{color:#4caf50}.remaining.negative{color:#dc3545}.report-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:25px}.filter-group{flex-direction:column;gap:5px}.filter-group label{color:#666;font-size:14px;font-weight:500}.filter-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px}.report-results{margin-top:20px}.report-summary-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:30px}.report-summary-card{background:#f9f9f9;border-left:4px solid #2196f3;border-radius:8px;padding:15px;text-align:center}.report-summary-card.positive{border-left-color:#4caf50}.report-summary-card.negative{border-left-color:#dc3545}.report-summary-card.future{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-left-color:#9c27b0}.report-summary-label{color:#666;font-size:12px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.report-summary-value{color:#333;font-size:20px;font-weight:700}.report-items{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.report-item-card{background:#f9f9f9;border-left:4px solid #2196f3;border-radius:8px;padding:15px}.report-item-label{color:#333;font-size:16px;font-weight:600;margin-bottom:10px}.report-item-details{color:#666;display:flex;flex-direction:column;font-size:14px;gap:5px}.report-item-diff{border-top:1px solid #e0e0e0;font-weight:600;margin-top:5px;padding-top:5px}.report-item-diff.positive{color:#4caf50}.report-item-diff.negative{color:#dc3545}.category-transactions-section{display:flex;flex-direction:column;gap:var(--spacing-xl)}.category-chart-section{flex-shrink:0}.category-filter-info{align-items:center;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-top:var(--spacing-md);padding:var(--spacing-md)}.category-filter-info span{color:var(--text-primary);font-size:.9375rem}.category-filter-info strong{color:var(--primary);font-weight:600}.btn-small{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;font-size:.875rem;padding:var(--spacing-xs) var(--spacing-md);transition:var(--transition)}.btn-small:hover{background:var(--bg-tertiary);border-color:var(--primary);color:var(--primary)}.transactions-section{flex:1 1}.transactions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.transaction-card{align-items:center;animation:slideInUp .5s ease-out backwards;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--spacing-lg);overflow:hidden;padding:var(--spacing-lg);position:relative;transition:var(--transition)}.transaction-card:before{background:var(--border);bottom:0;content:"";left:0;position:absolute;top:0;transition:var(--transition);width:5px}.transaction-card.income:before{background:var(--gradient-success)}.transaction-card.expense:before{background:var(--gradient-error)}.transaction-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg);transform:translateY(-6px) scale(1.02)}.transaction-icon{align-items:center;animation:float 3s ease-in-out infinite;border-radius:var(--radius-lg);display:flex;filter:drop-shadow(0 4px 8px rgba(99,102,241,.25));flex-shrink:0;font-size:1.75rem;height:56px;justify-content:center;transition:var(--transition);width:56px}.transaction-card.income .transaction-icon{background:var(--gradient-success);box-shadow:0 4px 12px #10b9814d;color:#fff}.transaction-card.expense .transaction-icon{background:var(--gradient-error);box-shadow:0 4px 12px #ef44444d;color:#fff}.transaction-card:hover .transaction-icon{animation:pulse 1s ease-in-out infinite;transform:scale(1.15) rotate(8deg)}.transaction-content{flex:1 1;min-width:0}.transaction-header{align-items:flex-start;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-xs)}.transaction-description{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.4}.transaction-amount{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.transaction-card.income .transaction-amount{color:var(--success)}.transaction-card.expense .transaction-amount{color:var(--error)}.transaction-amount.income{color:var(--success)}.transaction-amount.expense{color:var(--error)}.transaction-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.transaction-date{align-items:center;color:var(--text-tertiary);display:flex;font-size:.875rem;gap:var(--spacing-xs)}.transaction-date:before{content:"📅";font-size:.75rem}.transaction-category{background:var(--bg-tertiary);border-radius:var(--radius);color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:var(--spacing-xs) var(--spacing-sm)}.transfer-transaction{border-left:3px solid var(--text-tertiary);opacity:.7}.transfer-badge{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:.75rem;font-style:italic;font-weight:500;margin-left:var(--spacing-xs);padding:.125rem .375rem}.transaction-actions{display:flex;flex-shrink:0;gap:var(--spacing-xs)}.btn-icon{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:var(--transition);width:36px}.btn-icon:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-icon.btn-edit{color:var(--text-tertiary)}.btn-icon.btn-edit:hover{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border-color:#3b82f64d;color:var(--info)}.btn-icon.btn-delete{color:var(--text-tertiary)}.btn-icon.btn-delete:hover{background:linear-gradient(135deg,#ef44441a,#dc26261a);border:2px solid #ef44444d;box-shadow:var(--shadow-sm);color:var(--error)}@media (max-width:768px){.budget-tab{box-sizing:border-box;max-width:100%;padding:var(--spacing-md);width:100%}.budget-header h2{font-size:1.5rem}.budget-sections{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.section-button{font-size:.875rem;min-height:44px;padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap}.budget-section{padding:var(--spacing-lg)}.section-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.section-header h3{font-size:1.25rem}.btn-add{min-height:44px;width:100%}.category-transactions-section{gap:var(--spacing-lg)}.category-filter-info{align-items:stretch;flex-direction:column;gap:var(--spacing-sm)}.category-filter-info button{width:100%}.budget-form{padding:var(--spacing-lg)}.budget-form input,.budget-form select,.budget-form textarea{font-size:16px;min-height:44px}.form-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.btn-cancel,.btn-submit{min-height:48px;width:100%}.people-calculations,.summary-grid{grid-template-columns:1fr}.budget-item-card{align-items:flex-start;gap:15px}.item-actions{justify-content:flex-end}.report-filters{align-items:stretch;flex-direction:column}.report-items,.report-summary-grid{grid-template-columns:1fr}.transaction-header{align-items:flex-start;flex-direction:column}.transaction-actions{justify-content:flex-end;width:100%}.transaction-card{align-items:flex-start;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.transaction-icon{font-size:1.5rem;height:44px;width:44px}.transaction-description{font-size:1rem}.transaction-amount{font-size:1.125rem}.budget-item-card{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.item-actions{flex-direction:column;gap:var(--spacing-sm);width:100%}.item-actions button{min-height:44px;width:100%}}@media (max-width:480px){.budget-tab{box-sizing:border-box;max-width:100%;padding:var(--spacing-sm);width:100%}.budget-header h2{font-size:1.25rem}.section-button{font-size:.8125rem;min-height:44px;padding:var(--spacing-xs) var(--spacing-sm)}.budget-section{border-radius:var(--radius-md);padding:var(--spacing-md)}.transaction-card{padding:var(--spacing-sm)}.section-header h3{font-size:1.125rem}}.analysis-tabs{border-bottom:2px solid var(--border);display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.analysis-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.9375rem;font-weight:500;padding:var(--spacing-md) var(--spacing-lg);position:relative;transition:var(--transition)}.analysis-tab:hover{background:var(--bg-tertiary);color:var(--text-primary)}.analysis-tab.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.analysis-content{width:100%}.section-description{color:var(--text-secondary);font-size:.9375rem;margin:var(--spacing-xs) 0 0 0}.bank-statements-list{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.bank-statements-list h4{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 var(--spacing-md) 0}.statement-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm);padding:var(--spacing-md);transition:var(--transition)}.statement-item:hover{border-color:var(--border-accent);box-shadow:var(--shadow-xs)}.statement-info{flex:1 1;min-width:0}.statement-file-name{color:var(--text-primary);font-size:.9375rem;font-weight:600;margin-bottom:var(--spacing-xs)}.statement-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.875rem;gap:var(--spacing-md)}.statement-meta span{align-items:center;display:flex;gap:var(--spacing-xs)}.btn-delete-small{align-items:center;background:#0000;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:var(--spacing-sm);transition:var(--transition)}.btn-delete-small:hover{background:var(--bg-hover);border-color:var(--error)}.transaction-source{color:var(--text-tertiary);font-size:.8125rem;font-style:italic}@media (max-width:768px){.analysis-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto;scrollbar-width:thin}.analysis-tab{font-size:.875rem;padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap}.statement-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.statement-meta{flex-direction:column;gap:var(--spacing-xs)}.btn-delete-small{align-self:flex-end}}.project-form-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-md);position:fixed;right:0;top:0;z-index:1000}.project-form-modal{animation:slideInUp .3s ease-out;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:var(--bg-card);border:2px solid var(--border-accent);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;height:100%;max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.project-form-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-xl)}.project-form-header h2{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0}.btn-close{align-items:center;background:var(--bg-tertiary);border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;line-height:1;padding:var(--spacing-sm);transition:var(--transition);width:40px}.btn-close:hover{background:var(--bg-hover);color:var(--error);transform:rotate(90deg)}.project-form{flex-grow:1;overflow-y:auto;padding:var(--spacing-xl)}.form-group{margin-bottom:var(--spacing-xl)}.form-group label{margin-bottom:var(--spacing-sm)}.form-group input,.form-group select,.form-group textarea{background:var(--bg-secondary);border:1px solid var(--border);font-size:1rem;padding:var(--spacing-md)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--bg-primary)}.form-group textarea{min-height:100px}.form-actions{flex-shrink:0;margin-top:var(--spacing-xl)}.btn-cancel:hover:not(:disabled){background:var(--border);color:var(--text-primary)}.btn-cancel:hover:not(:disabled),.btn-submit:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-cancel:disabled,.btn-submit:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}@media (max-width:768px){.project-form-overlay{padding:0}.project-form-modal{border:none;border-radius:0;max-height:100%;max-width:100%}.project-form-header{padding:var(--spacing-lg)}.project-form-header h2{font-size:1.25rem}.project-form{padding:var(--spacing-lg)}.form-row{grid-template-columns:1fr}.form-group input,.form-group select,.form-group textarea{font-size:16px;min-height:44px}.form-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.btn-cancel,.btn-submit{width:100%}}@media (max-width:480px){.project-form-header h2{font-size:1rem}.project-form{padding:var(--spacing-md)}}.project-file-upload{width:100%}.file-upload-section{margin-bottom:var(--spacing-xl)}.file-upload-label{background:var(--gradient-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:inline-block;font-size:.9375rem;font-weight:600;margin-bottom:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);transition:var(--transition)}.file-upload-label:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.file-upload-label:active{transform:translateY(0)}.file-preview{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:var(--spacing-md);max-width:400px;overflow:hidden}.file-preview img{display:block;height:auto;width:100%}.file-preview-text{background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;margin-top:var(--spacing-sm);padding:var(--spacing-sm)}.files-list{margin-top:var(--spacing-xl)}.files-list h4{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 var(--spacing-lg) 0}.files-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));overflow:hidden}.file-item{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:100%;min-height:0;overflow:hidden;padding:var(--spacing-md);position:relative;transition:var(--transition)}.file-item:hover{border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.file-preview-image{align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-shrink:0;height:150px;justify-content:center;min-height:0;overflow:hidden;width:100%}.file-preview-image img{display:block;height:100%;object-fit:cover;width:100%}.file-icon-large{align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-md);display:flex;font-size:3rem;height:150px;justify-content:center;width:100%}.file-info{flex:1 1;min-width:0}.file-info,.file-name{max-width:100%;overflow:hidden}.file-name{color:var(--text-primary);font-size:.9375rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.file-meta,.file-name{margin-bottom:var(--spacing-xs)}.file-meta{color:var(--text-secondary);display:flex;font-size:.8125rem;gap:var(--spacing-sm)}.file-type{background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:2px 6px;text-transform:capitalize}.file-date,.file-size{color:var(--text-tertiary)}.file-date{font-size:.75rem}.file-actions{border-top:1px solid var(--border);display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.btn-delete-small,.btn-download{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;display:flex;flex:1 1;justify-content:center;padding:var(--spacing-sm);transition:var(--transition)}.btn-download:hover{background:linear-gradient(135deg,#10b9811a,#0596691a);border-color:#10b98166;color:var(--success)}.btn-delete-small:hover,.btn-download:hover{transform:translateY(-1px)}.file-upload-loading,.files-empty{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-xl);color:var(--text-secondary);padding:var(--spacing-2xl);text-align:center}.files-empty p{margin:var(--spacing-sm) 0}.files-empty p:first-child{color:var(--text-primary);font-size:1rem;font-weight:600}@media (max-width:768px){.files-grid{grid-template-columns:1fr}.file-item{padding:var(--spacing-md)}.file-actions{flex-direction:row}.btn-delete-small,.btn-download{min-height:44px}}.file-preview-modal{align-items:center;background:#000000d9;cursor:pointer;display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:1000}.file-preview-modal-content{border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000080;cursor:default;max-height:90vh;max-width:90vw;object-fit:contain}.file-preview-modal-content:hover{cursor:default}.file-preview-modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:background .2s;width:40px}.file-preview-modal-close:hover{background:#ffffff4d}.file-preview-modal-loading{color:#fff;font-size:1.25rem;padding:2rem}@media (max-width:480px){.file-upload-label{text-align:center;width:100%}}.project-expenses{width:100%}.budget-summary-card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.budget-summary-card h3{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0 0 var(--spacing-lg) 0}.budget-summary-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-lg)}.budget-summary-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.budget-label{color:var(--text-tertiary);font-size:.8125rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.budget-value{font-size:1.5rem;font-weight:800}.budget-progress-container{border-top:1px solid var(--border);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.expenses-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.expenses-header h3{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.expense-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.expense-form h4{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 var(--spacing-lg) 0}.form-row{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-lg)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:.875rem;margin-bottom:var(--spacing-xs)}.form-group input,.form-group select,.form-group textarea{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:Inter,sans-serif;font-size:.9375rem;padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f133;outline:none}.form-group textarea{min-height:60px;resize:vertical}.form-actions{border-top:1px solid var(--border);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.expenses-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.expense-item{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);display:flex;gap:var(--spacing-lg);justify-content:space-between;padding:var(--spacing-lg);transition:var(--transition)}.expense-item:hover{border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.expense-main{align-items:center;display:flex;gap:var(--spacing-lg);justify-content:space-between}.expense-info,.expense-main{flex:1 1;min-width:0}.expense-description{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:var(--spacing-xs)}.expense-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.expense-category{background:var(--bg-tertiary);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.8125rem;font-weight:500;padding:var(--spacing-xs) var(--spacing-sm)}.expense-date{color:var(--text-tertiary)}.expense-notes{color:var(--text-secondary);font-size:.875rem;font-style:italic;margin-top:var(--spacing-xs)}.expense-amount{color:var(--primary);flex-shrink:0;font-size:1.5rem;font-weight:700;white-space:nowrap}.expense-actions{display:flex;flex-shrink:0;gap:var(--spacing-xs)}.expenses-empty,.expenses-loading{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-xl);color:var(--text-secondary);padding:var(--spacing-2xl);text-align:center}.expenses-empty p{margin:var(--spacing-sm) 0}.expenses-empty p:first-child{color:var(--text-primary);font-size:1rem;font-weight:600}@media (max-width:768px){.budget-summary-grid{grid-template-columns:1fr}.expenses-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.btn-add{justify-content:center;width:100%}.expense-form{padding:var(--spacing-lg)}.form-row{grid-template-columns:1fr}.form-group input,.form-group select,.form-group textarea{font-size:16px;min-height:44px}.form-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.btn-cancel,.btn-submit{width:100%}.expense-item,.expense-main{align-items:stretch;flex-direction:column}.expense-main{gap:var(--spacing-md)}.expense-amount{font-size:1.25rem}.expense-actions{justify-content:flex-end;width:100%}}@media (max-width:480px){.budget-summary-card{padding:var(--spacing-lg)}.budget-summary-card h3{font-size:1.25rem}.expense-form{padding:var(--spacing-md)}}.project-notes{width:100%}.notes-header{align-items:flex-start;gap:var(--spacing-md)}.notes-header h3{margin:0 0 var(--spacing-xs) 0}.notes-stats{color:var(--text-secondary);font-size:.875rem;margin:0}.btn-add{flex-shrink:0}.btn-add:hover{transform:translateY(-2px)}.note-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.note-form h4{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 var(--spacing-lg) 0}.note-form textarea{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:Inter,sans-serif;font-size:1rem;margin-bottom:var(--spacing-lg);min-height:80px;padding:var(--spacing-md);resize:vertical;transition:var(--transition);width:100%}.note-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f133;outline:none}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.btn-cancel,.btn-submit{border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;font-size:.9375rem;font-weight:600;min-height:44px;padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition)}.btn-cancel{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary)}.btn-cancel:hover{background:var(--border);color:var(--text-primary);transform:translateY(-1px)}.btn-submit{background:var(--gradient-primary);color:#fff}.btn-submit:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.notes-checklist{display:flex;flex-direction:column;gap:var(--spacing-sm)}.note-item{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);display:flex;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-md);transition:var(--transition)}.note-item:hover{border-color:var(--border-accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.note-item.checked{background:var(--bg-tertiary);opacity:.8}.note-checkbox-label{align-items:flex-start;cursor:pointer;display:flex;flex:1 1;gap:var(--spacing-md);min-width:0}.note-checkbox{accent-color:var(--primary);cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;width:20px}.note-content{word-wrap:break-word;color:var(--text-primary);flex:1 1;font-size:1rem;line-height:1.6}.note-content .linkified-url{color:var(--primary);cursor:pointer;text-decoration:underline}.note-content .linkified-url:hover{text-decoration:none}.note-item.checked .note-content{color:var(--text-secondary);opacity:.7;text-decoration:line-through}.note-actions{display:flex;flex-shrink:0;gap:var(--spacing-xs)}.note-form-inline{background:var(--bg-secondary);border:2px solid var(--primary);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding:var(--spacing-md)}.note-edit-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:Inter,sans-serif;font-size:1rem;min-height:60px;padding:var(--spacing-md);resize:vertical;width:100%}.note-edit-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f133;outline:none}.note-edit-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.btn-cancel-small,.btn-save-small{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:600;min-height:32px;padding:var(--spacing-xs) var(--spacing-md);transition:var(--transition)}.btn-save-small{background:var(--gradient-primary);box-shadow:var(--shadow-xs);color:#fff}.btn-save-small:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-cancel-small{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary)}.btn-cancel-small:hover{background:var(--bg-hover);color:var(--text-primary)}.notes-empty,.project-notes-loading{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-xl);color:var(--text-secondary);padding:var(--spacing-3xl);text-align:center}@media (max-width:768px){.notes-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.btn-add{justify-content:center;width:100%}.note-form{padding:var(--spacing-lg)}.note-form textarea{font-size:16px;min-height:100px}.form-actions{flex-direction:column-reverse;gap:var(--spacing-sm)}.btn-cancel,.btn-submit{width:100%}.note-item{align-items:stretch;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md)}.note-checkbox-label{width:100%}.note-actions{justify-content:flex-end;width:100%}.note-checkbox{height:24px;width:24px}}@media (max-width:480px){.notes-header h3{font-size:1.25rem}.note-form{padding:var(--spacing-md)}}.project-detail{margin:0 auto;max-width:1400px;padding:var(--spacing-xl)}.project-detail-header{border-bottom:2px solid var(--border);display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.header-left,.project-detail-header{align-items:flex-start;gap:var(--spacing-lg)}.btn-back{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;flex-shrink:0;font-size:.9375rem;font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition)}.btn-back:hover{background:var(--bg-tertiary);border-color:var(--border-accent);transform:translateX(-2px)}.project-detail-header h1{color:var(--text-primary);font-size:2.5rem;font-weight:800;letter-spacing:-.03em;margin:0 0 var(--spacing-sm) 0}.project-header-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.category-badge,.priority-badge,.status-badge{border-radius:var(--radius-full);color:#fff;font-size:.8125rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-md);text-transform:capitalize;white-space:nowrap}.category-badge{background:var(--bg-tertiary);color:var(--text-secondary)}.header-actions{gap:var(--spacing-sm)}.btn-delete,.btn-edit{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition)}.btn-edit:hover{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border-color:#3b82f666;color:var(--info);transform:translateY(-2px)}.btn-delete:hover{background:linear-gradient(135deg,#ef44441a,#dc26261a);border-color:#ef444466;color:var(--error);transform:translateY(-2px)}.project-detail-tabs{border-bottom:2px solid var(--border);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);overflow-x:auto}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.9375rem;font-weight:500;padding:var(--spacing-md) var(--spacing-xl);position:relative;transition:var(--transition);white-space:nowrap}.tab-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tab-button.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.project-detail-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);min-height:400px;padding:var(--spacing-2xl)}.overview-section{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.detail-section{border-bottom:1px solid var(--border);padding-bottom:var(--spacing-xl)}.detail-section:last-child{border-bottom:none;padding-bottom:0}.detail-section h3{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin:0 0 var(--spacing-lg) 0}.description-text{color:var(--text-secondary);font-size:1rem;line-height:1.8;margin:0;white-space:pre-wrap}.budget-overview{display:flex;flex-direction:column;gap:var(--spacing-md)}.budget-row{align-items:center;background:var(--bg-secondary);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:var(--spacing-md)}.budget-label{font-size:.9375rem}.budget-value{color:var(--text-primary);font-size:1.25rem;font-weight:700}.budget-value.spent{color:var(--primary)}.budget-value.positive{color:var(--success)}.budget-value.negative{color:var(--error)}.budget-progress-container{margin-top:var(--spacing-md)}.budget-progress-bar{height:12px;margin-bottom:var(--spacing-xs)}.budget-progress-text{color:var(--text-secondary);font-size:.875rem;text-align:center}.dates-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.date-item{background:var(--bg-secondary);border-radius:var(--radius-md);flex-direction:column;padding:var(--spacing-md)}.date-label{font-weight:600;letter-spacing:.05em;text-transform:uppercase}.date-value{color:var(--text-primary);font-size:1rem;font-weight:500}.no-dates{color:var(--text-secondary);font-style:italic;margin:0}.stats-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-item{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-lg);transition:var(--transition)}.stat-item:hover{border-color:var(--border-accent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.stat-label{color:var(--text-tertiary);font-size:.8125rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.stat-value{color:var(--text-primary);font-size:1.75rem;font-weight:800}.expenses-section,.files-section,.notes-section{width:100%}.notes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.notes-header h3{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.notes-editor{display:flex;flex-direction:column;gap:var(--spacing-lg)}.notes-textarea{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:Inter,sans-serif;font-size:1rem;min-height:300px;padding:var(--spacing-lg);resize:vertical;transition:var(--transition);width:100%}.notes-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f133;outline:none}.notes-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.notes-display{min-height:300px}.notes-content{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:1rem;line-height:1.8;padding:var(--spacing-lg);white-space:pre-wrap}.notes-empty{border:2px dashed var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);padding:var(--spacing-3xl);text-align:center}.notes-empty p{margin:var(--spacing-sm) 0}.notes-empty p:first-child{color:var(--text-primary);font-size:1rem;font-weight:600}.project-detail-error,.project-detail-loading{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-xl);color:var(--text-secondary);padding:var(--spacing-3xl);text-align:center}@media (max-width:768px){.project-detail{padding:var(--spacing-md)}.project-detail-header{align-items:stretch}.header-left,.project-detail-header{flex-direction:column;gap:var(--spacing-md)}.project-detail-header h1{font-size:1.75rem}.header-actions{justify-content:stretch;width:100%}.btn-delete,.btn-edit{flex:1 1;justify-content:center}.project-detail-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto;scrollbar-width:thin}.tab-button{font-size:.875rem;min-width:120px;padding:var(--spacing-sm) var(--spacing-md)}.project-detail-content{padding:var(--spacing-lg)}.dates-grid,.stats-grid{grid-template-columns:1fr}.budget-row{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}}@media (max-width:480px){.project-detail-header h1{font-size:1.5rem}.project-detail-content{padding:var(--spacing-md)}.detail-section h3{font-size:1.25rem}.notes-header{align-items:stretch;flex-direction:column;gap:var(--spacing-md)}.notes-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}.projects-tab{animation:fadeIn .5s ease-out;margin:0 auto;max-width:1400px;padding:var(--spacing-xl)}.projects-header{align-items:flex-start;animation:slideInUp .6s ease-out;display:flex;gap:var(--spacing-lg);justify-content:space-between;margin-bottom:var(--spacing-xl)}.projects-header h2{color:var(--text-primary);font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:0 0 var(--spacing-xs) 0;overflow:hidden;position:relative}.projects-header h2:after{animation:slideInLeft .8s ease-out .4s forwards;background:var(--gradient-primary);bottom:0;content:"";height:3px;left:0;position:absolute;transform:translateX(-100%);width:100%}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.projects-subtitle{animation:fadeIn .6s ease-out .3s backwards;color:var(--text-secondary);font-size:.9375rem;margin:0}.header-actions{align-items:center;animation:fadeIn .6s ease-out .5s backwards;display:flex;flex-shrink:0;gap:var(--spacing-md)}.view-toggle{background:var(--bg-tertiary);border-radius:var(--radius-md);display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs)}.view-btn{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:1.125rem;padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition)}.view-btn:hover{background:var(--bg-card);color:var(--text-primary)}.btn-add,.view-btn.active{background:var(--gradient-primary);color:#fff}.btn-add{border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;font-size:.9375rem;font-weight:600;padding:var(--spacing-sm) var(--spacing-xl);transition:var(--transition);white-space:nowrap}.btn-add:hover{animation:pulse .6s ease-in-out;box-shadow:var(--shadow-md);transform:translateY(-2px) scale(1.05)}.projects-filters{animation:slideInUp .7s ease-out .2s backwards;display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.filter-group{align-items:center;display:flex;gap:var(--spacing-sm)}.filter-group label{color:var(--text-secondary);font-size:.9375rem;font-weight:600}.filter-select{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:.9375rem;min-width:180px;padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition)}.filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f133;outline:none}.projects-grid{grid-gap:var(--spacing-xl);animation:fadeIn .5s ease-out .3s backwards;display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.projects-list{animation:fadeIn .5s ease-out .3s backwards}.project-card,.projects-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.project-card{animation:slideInUp .6s ease-out backwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);cursor:pointer;overflow:hidden;padding:var(--spacing-xl);position:relative;transition:var(--transition)}.projects-grid .project-card:first-child{animation-delay:.4s}.projects-grid .project-card:nth-child(2){animation-delay:.5s}.projects-grid .project-card:nth-child(3){animation-delay:.6s}.projects-grid .project-card:nth-child(4){animation-delay:.7s}.projects-grid .project-card:nth-child(5){animation-delay:.8s}.projects-grid .project-card:nth-child(6){animation-delay:.9s}.projects-grid .project-card:nth-child(n+7){animation-delay:1s}.projects-list .project-card:first-child{animation-delay:.4s}.projects-list .project-card:nth-child(2){animation-delay:.5s}.projects-list .project-card:nth-child(3){animation-delay:.6s}.projects-list .project-card:nth-child(4){animation-delay:.7s}.projects-list .project-card:nth-child(5){animation-delay:.8s}.projects-list .project-card:nth-child(6){animation-delay:.9s}.projects-list .project-card:nth-child(n+7){animation-delay:1s}.project-card:before{background:var(--gradient-primary);content:"";height:100%;left:0;position:absolute;top:0;transition:var(--transition);width:4px}.project-card:after{background:radial-gradient(circle,#6366f10f 0,#0000 70%);content:"";height:200%;opacity:0;pointer-events:none;position:absolute;right:-50%;top:-50%;transition:opacity .3s ease;width:200%}.project-card:hover{transform:translateY(-6px) scale(1.02)}.project-card:hover:after{opacity:1}.project-card:hover:before{width:6px}.projects-list .project-card{align-items:center;flex-direction:row;justify-content:space-between}.project-card-header{align-items:flex-start;display:flex;gap:var(--spacing-md);justify-content:space-between}.project-name{color:var(--text-primary);flex:1 1;font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin:0}.projects-list .project-name{font-size:1.25rem}.project-badges{display:flex;flex-shrink:0;gap:var(--spacing-xs)}.priority-badge,.status-badge{border-radius:var(--radius-full);color:#fff;font-size:.75rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm);text-transform:capitalize;white-space:nowrap}.project-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.9375rem;line-height:1.6;margin:0;overflow:hidden}.projects-list .project-description{flex:1 1;margin:0 var(--spacing-lg)}.project-category{margin-top:var(--spacing-xs)}.category-tag{background:var(--bg-tertiary);border-radius:var(--radius-full);color:var(--text-secondary);display:inline-block;font-size:.8125rem;font-weight:500;padding:var(--spacing-xs) var(--spacing-sm)}.project-budget{margin-top:var(--spacing-sm)}.budget-info{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.budget-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.budget-estimated{color:var(--text-primary);font-size:1.125rem;font-weight:700}.budget-actual{color:var(--text-secondary);font-size:.9375rem}.budget-progress-bar{background:var(--bg-tertiary);border-radius:var(--radius-full);height:8px;margin-top:var(--spacing-xs);overflow:hidden;width:100%}.budget-progress-fill{background:var(--primary);border-radius:var(--radius-full);height:100%;transition:width .3s ease}.project-dates{border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:var(--spacing-lg);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.projects-list .project-dates{border-top:none;flex-direction:column;gap:var(--spacing-xs);margin-top:0;padding-top:0}.date-item{align-items:center;display:flex;gap:var(--spacing-xs)}.date-label{color:var(--text-tertiary);font-size:.8125rem;font-weight:500}.date-value{color:var(--text-secondary);font-size:.875rem}.project-card-actions{align-items:center;border-top:1px solid var(--border);display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.projects-list .project-card-actions{border-top:none;flex-shrink:0;margin-top:0;padding-top:0}.btn-view{background:#0000;border:2px solid var(--primary);border-radius:var(--radius-md);color:var(--primary);cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition)}.btn-view:hover{background:var(--primary);color:#fff;transform:translateY(-1px)}.btn-delete-small,.btn-edit-small{align-items:center;background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:var(--transition);width:36px}.btn-edit-small:hover{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border-color:#3b82f666;color:var(--info);transform:translateY(-2px)}.btn-delete-small:hover{background:linear-gradient(135deg,#ef44441a,#dc26261a);border-color:#ef444466;color:var(--error);transform:translateY(-2px)}.projects-empty,.projects-loading,.projects-message{animation:fadeIn .6s ease-out .4s backwards;background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-xl);color:var(--text-secondary);padding:var(--spacing-3xl);text-align:center}.projects-empty p{margin:var(--spacing-sm) 0}.projects-empty p:first-child{color:var(--text-primary);font-size:1.125rem;font-weight:600}@media (max-width:768px){.projects-tab{padding:var(--spacing-md)}.projects-header{align-items:stretch;flex-direction:column}.header-actions{justify-content:space-between;width:100%}.projects-grid{grid-template-columns:1fr}.project-card{padding:var(--spacing-lg)}.projects-list .project-card{align-items:stretch;flex-direction:column}.project-card-header{flex-direction:column;gap:var(--spacing-sm)}.project-badges{align-self:flex-start}.budget-info{align-items:flex-start;gap:var(--spacing-xs)}.budget-info,.project-card-actions{flex-direction:column}.btn-view{width:100%}}@media (max-width:480px){.projects-header h2{font-size:1.5rem}.view-toggle{display:none}.btn-add{justify-content:center;width:100%}}.connection-status{border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px;padding:20px}.connection-status.error{background:#ffebee;border-left:4px solid #c62828;color:#c62828}.connection-message{margin:0 auto;max-width:800px}.connection-message strong{display:block;font-size:18px;margin-bottom:10px}.connection-message p{line-height:1.6;margin:8px 0}.connection-message ul{margin:10px 0;padding-left:20px}.connection-message li{margin:5px 0}.connection-message code{background:#0000001a;border-radius:3px;font-family:monospace;padding:2px 6px}.retry-button{background:#c62828;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:15px;padding:10px 20px;transition:background .2s}.retry-button:hover:not(:disabled){background:#b71c1c}.retry-button:disabled{cursor:not-allowed;opacity:.6}.notification-header-btn{align-items:center;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;padding:0;position:relative;transition:var(--transition);width:44px}.notification-header-btn:hover:not(:disabled){background:var(--bg-card);border-color:var(--border-accent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.notification-header-btn:active:not(:disabled){transform:scale(.95)}.notification-header-btn.active{background:linear-gradient(135deg,#10b9811a,#0596691a);border-color:var(--success);color:var(--success)}.notification-header-btn.active:hover{background:linear-gradient(135deg,#10b98126,#05966926)}.notification-header-btn.denied{background:var(--bg-tertiary);border-color:var(--border);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.notification-header-icon{stroke-width:2;height:20px;width:20px}.notification-loading-spinner{animation:spin .6s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:16px;position:absolute;width:16px}.notification-status{align-items:center;background:#e3f2fd;border-radius:8px;display:flex;font-size:14px;gap:10px;margin-bottom:20px;padding:12px 16px}.notification-status.denied{background:#ffebee;color:#c62828}.notification-icon{font-size:20px}.btn-enable-notifications,.btn-unsubscribe{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;margin-left:auto;padding:6px 12px;transition:all .2s}.btn-enable-notifications{background:#2196f3;color:#fff}.btn-enable-notifications:hover:not(:disabled){background:#1976d2}.btn-enable-notifications:disabled{background:#90caf9;cursor:not-allowed;opacity:.7}.btn-unsubscribe{background:#f44336;color:#fff}.btn-unsubscribe:hover{background:#d32f2f}@media (max-width:768px){.notification-header-btn{font-size:1.125rem;height:40px;width:40px}}@media (max-width:480px){.notification-header-btn{font-size:1rem;height:36px;width:36px}}.settings-menu-container{position:relative;z-index:1000}.settings-menu-trigger{-webkit-tap-highlight-color:rgba(0,0,0,.1);align-items:center;background:#f5f5f5;background:var(--bg-tertiary,#f5f5f5);border:2px solid #e0e0e0;border:2px solid var(--border,#e0e0e0);border-radius:8px;border-radius:var(--radius-lg,8px);color:#333;color:var(--text-primary,#333);cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;min-height:40px;min-width:40px;padding:0;transition:all .2s;transition:var(--transition,all .2s);width:40px}.settings-menu-trigger:hover{background:var(--bg-card);border-color:var(--border-accent);box-shadow:var(--shadow-sm);transform:rotate(90deg)}.settings-menu-trigger:active{transform:rotate(90deg) scale(.95)}.settings-menu-dropdown{animation:slideDown .2s ease-out;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:300px;min-width:240px;overflow:hidden;position:absolute;right:0;top:calc(100% + var(--spacing-sm));z-index:1001}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-menu-header{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:var(--spacing-md) var(--spacing-lg);text-transform:uppercase}.settings-menu-divider{background:var(--border);height:1px;margin:var(--spacing-xs) 0}.settings-menu-item{-webkit-tap-highlight-color:rgba(0,0,0,.1);align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);text-align:left;transition:var(--transition);width:100%}.settings-menu-item:hover:not(.disabled){background:var(--bg-tertiary)}.settings-menu-item:active:not(.disabled){transform:translateX(4px)}.settings-menu-item.disabled{cursor:not-allowed;opacity:.5}.settings-menu-item svg{color:var(--text-secondary);flex-shrink:0}.settings-menu-item span:not(.settings-menu-item-value){flex:1 1}.settings-menu-item-value{color:var(--text-tertiary);font-size:.875rem;font-weight:400}.settings-menu-item-value.enabled{color:#10b981;color:var(--success,#10b981);font-weight:600}.settings-menu-item-value.disabled{color:var(--text-tertiary)}.settings-menu-item-danger{color:#ef4444;color:var(--danger,#ef4444)}.settings-menu-item-danger:hover:not(.disabled){background:#ef44441a}.settings-menu-item-danger svg{color:#ef4444;color:var(--danger,#ef4444)}@media (max-width:768px){.settings-menu-dropdown{left:auto;min-width:200px;right:0}}.install-prompt{animation:slideUp .3s ease-out;bottom:20px;left:50%;max-width:400px;position:fixed;transform:translateX(-50%);width:calc(100% - 40px);z-index:1000}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(100%)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.install-prompt-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;gap:16px;padding:20px}.install-prompt-icon{font-size:48px;text-align:center}.install-prompt-text{text-align:center}.install-prompt-text h3{color:#1f2937;font-size:18px;font-weight:600;margin:0 0 8px}.install-prompt-text p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.install-prompt-actions{display:flex;gap:12px}.install-prompt-button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.install-prompt-button.install{background:#6366f1;color:#fff}.install-prompt-button.install:hover{background:#4f46e5}.install-prompt-button.dismiss{background:#f3f4f6;color:#6b7280}.install-prompt-button.dismiss:hover{background:#e5e7eb}@media (max-width:480px){.install-prompt{bottom:10px;width:calc(100% - 20px)}.install-prompt-content{padding:16px}.install-prompt-text h3{font-size:16px}.install-prompt-text p{font-size:13px}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:var(--spacing-xl);position:relative}.login-container:before{animation:float 20s ease-in-out infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:200%;pointer-events:none;position:absolute;right:-50%;top:-50%;width:200%}.login-card{animation:slideInUp .6s ease-out;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:var(--bg-card);border:2px solid #fff3;border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);max-width:420px;padding:var(--spacing-3xl);position:relative;width:100%;z-index:1}.login-header{margin-bottom:var(--spacing-2xl);text-align:center}.login-logo{align-items:center;animation:float 3s ease-in-out infinite;background:var(--gradient-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto var(--spacing-lg);padding:var(--spacing-sm);width:80px}.login-logo img{height:100%;object-fit:contain;width:100%}.login-header h1{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:2rem;font-weight:800;letter-spacing:-.02em;margin:0 0 var(--spacing-sm) 0}.login-subtitle{color:var(--text-secondary);font-size:.9375rem;margin:0}.login-form{gap:var(--spacing-lg)}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:var(--spacing-sm)}.form-group label{color:var(--text-primary);font-size:.9375rem;font-weight:600}.form-group input{background:var(--bg-secondary);border:2px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-family:Inter,sans-serif;font-size:1rem;min-height:48px;padding:var(--spacing-md);transition:var(--transition);width:100%}.form-group input:focus{background:var(--bg-primary);border-color:var(--primary);box-shadow:0 0 0 4px #6366f133;outline:none}.form-group input:disabled{cursor:not-allowed;opacity:.6}.login-error{align-items:center;animation:shake .5s ease-in-out;background:linear-gradient(135deg,#ef44441a,#dc26261a);border:2px solid #ef44444d;border-radius:var(--radius-lg);color:var(--error);display:flex;font-size:.9375rem;font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-md)}.login-error svg{flex-shrink:0}.login-button{align-items:center;background:var(--gradient-primary);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-md);min-height:52px;padding:var(--spacing-md) var(--spacing-xl);transition:var(--transition);width:100%}.login-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:20px;width:20px}.login-footer{border-top:1px solid var(--border);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);text-align:center}.login-footer p{color:var(--text-tertiary);font-size:.8125rem;margin:0}.login-version{font-family:monospace;font-size:.75rem;margin-top:.5rem;opacity:.6}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}@media (max-width:480px){.login-container{padding:var(--spacing-md)}.login-card{padding:var(--spacing-xl)}.login-header h1{font-size:1.75rem}.login-logo{height:64px;width:64px}}.App{min-height:100vh;position:relative}.App:before{background:radial-gradient(circle at 20% 50%,#8b5cf61a 0,#0000 50%),radial-gradient(circle at 80% 80%,#ec48991a 0,#0000 50%),radial-gradient(circle at 40% 20%,#f59e0b0d 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:0}.app-header{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:var(--bg-card);border-bottom:1px solid var(--border-accent);border-radius:0 0 var(--radius-xl) var(--radius-xl);box-shadow:var(--shadow-md);gap:var(--spacing-lg);justify-content:space-between;margin:var(--spacing-md) var(--spacing-md) var(--spacing-2xl);padding:var(--spacing-xl) var(--spacing-2xl);position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-header,.header-left{align-items:center;display:flex;flex-wrap:wrap}.header-left{flex:1 1;gap:var(--spacing-xl)}.header-house-selector,.logo-container{align-items:center;display:flex}.logo-container{gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.logo-house-selector{padding:var(--spacing-xs)}.logo-house-selector:active{transform:scale(.98)}.logo-house-selector{border-radius:var(--radius-lg);cursor:pointer;margin:calc(var(--spacing-sm)*-1);padding:var(--spacing-sm);transition:var(--transition);user-select:none;-webkit-user-select:none}.logo-house-selector:hover{background:var(--bg-tertiary);transform:translateY(-2px)}.logo-house-selector:active{transform:translateY(0) scale(.98)}.logo-text-container{align-items:flex-start;display:flex;flex-direction:column;gap:var(--spacing-xs)}.app-logo{animation:float 4s ease-in-out infinite;filter:drop-shadow(0 2px 8px rgba(99,102,241,.3));height:48px;transition:var(--transition);width:48px}.app-logo:hover{filter:drop-shadow(0 4px 12px rgba(99,102,241,.4));transform:scale(1.1) rotate(5deg)}.clickable-logo{-webkit-tap-highlight-color:rgba(0,0,0,.1);cursor:pointer;user-select:none;-webkit-user-select:none}.clickable-logo:active{transform:scale(.95) rotate(-5deg)}.app-header h1{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:2.25rem;font-weight:800;letter-spacing:-.03em;margin:0}.header-right{align-items:center;gap:var(--spacing-md)}.app-nav,.header-right{display:flex;flex-wrap:wrap}.app-nav{gap:var(--spacing-sm)}.app-nav button{align-items:center;background:var(--bg-tertiary);border:2px solid #0000;border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:var(--spacing-xs);overflow:hidden;padding:var(--spacing-sm) var(--spacing-lg);position:relative;transition:var(--transition)}.app-nav button:before{background:var(--gradient-primary);content:"";height:100%;left:-100%;opacity:.1;position:absolute;top:0;transition:left .4s cubic-bezier(.4,0,.2,1);width:100%;z-index:0}.app-nav button:hover:before{left:100%}.app-nav button:hover{background:var(--bg-card);border-color:var(--border-accent);box-shadow:var(--shadow-sm);color:var(--text-primary);transform:translateY(-2px)}.app-nav button.active{background:var(--gradient-primary);border-color:#0000;box-shadow:var(--shadow-colored);color:#fff}.app-nav button.active:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.app-nav button.active:before{display:none}.app-main{box-sizing:border-box;margin:0 auto;max-width:1400px;padding:0 var(--spacing-xl) var(--spacing-2xl);position:relative;width:100%;z-index:1}.auth-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--spacing-lg);justify-content:center;min-height:100vh}.loading-spinner-large{animation:spin 1s linear infinite;border:4px solid var(--bg-tertiary);border-radius:50%;border-top-color:var(--primary);height:48px;width:48px}.user-menu{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.user-name{color:var(--text-primary);font-size:.9375rem;font-weight:600}.logout-button{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;padding:var(--spacing-xs);transition:var(--transition);width:32px}.logout-button:hover{background:var(--bg-hover);color:var(--error);transform:translateX(2px)}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.app-header{border-radius:0;justify-content:space-between;margin-left:0;margin-right:0;margin-top:0;padding:var(--spacing-sm) var(--spacing-md)}.app-header,.header-left{align-items:center;flex-direction:row;gap:var(--spacing-sm)}.header-left{flex:1 1;min-width:0;overflow:hidden}.header-left .house-selector-header{flex-shrink:1;max-width:180px;min-width:0}.logo-container{flex-shrink:0;gap:var(--spacing-xs);margin-bottom:0}.app-header h1{font-size:1.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-logo{flex-shrink:0;height:32px;width:32px}.header-right{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-xs)}.user-menu{padding:var(--spacing-xs)}.user-name{display:none}.logout-button{height:44px;min-height:44px;min-width:44px;width:44px}.settings-menu-container{align-items:center;display:flex}.app-main{box-sizing:border-box;max-width:100%;padding:0 var(--spacing-md) var(--spacing-xl);padding-bottom:calc(var(--spacing-xl) + 60px);width:100%}.app-nav{display:flex;gap:var(--spacing-xs)}.app-nav button{align-items:center;border-radius:var(--radius-md);flex-shrink:0;height:44px;justify-content:center;min-height:44px;min-width:44px;padding:var(--spacing-xs);width:44px}.app-nav button span:last-child{display:none}.app-nav button span:first-child{font-size:1.25rem;line-height:1}.app-nav button.active{background:var(--gradient-primary);box-shadow:0 2px 8px #6366f14d}}@media (max-width:480px){.app-header{padding:var(--spacing-xs) var(--spacing-sm)}.app-header h1{display:none;font-size:1rem}.app-logo{height:28px;width:28px}.header-left,.logo-container{gap:var(--spacing-xs)}.header-left .house-selector-header{max-width:44px}.house-selector-text{display:none}.app-nav{gap:4px}.app-nav button{height:40px;min-height:40px;min-width:40px;padding:var(--spacing-xs);width:40px}.app-nav button span:first-child{font-size:1.125rem}}
/*# sourceMappingURL=main.8ed5e3db.css.map*/