*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0f1e;--bg-secondary: #151b2e;--bg-tertiary: #1f2937;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent: #6366f1;--accent-hover: #4f46e5;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--border: #334155;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5)}[data-theme=light]{--bg-primary: #f1f5f9;--bg-secondary: #ffffff;--bg-tertiary: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--accent: #6366f1;--accent-hover: #4f46e5;--success: #059669;--danger: #dc2626;--warning: #d97706;--border: #cbd5e1;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .12)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%)}.login-card{background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:2.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border)}[data-theme=light] .login-card{background:var(--bg-secondary);border:1px solid var(--border)}.theme-toggle-btn{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;width:48px;height:48px;border-radius:50%;border:2px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:transform .2s,box-shadow .2s,background .2s}.theme-toggle-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-lg);background:var(--bg-tertiary)}.theme-toggle-btn:active{transform:scale(.98)}.theme-toggle-icon{font-size:1.5rem;line-height:1}@media (max-width: 480px){.theme-toggle-btn{bottom:1rem;right:1rem;width:44px;height:44px}.theme-toggle-icon{font-size:1.35rem}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app{min-height:100vh}.header{background:linear-gradient(135deg,#151b2e,#0f1419);border-bottom:1px solid rgba(99,102,241,.2);padding:0;position:sticky;top:0;z-index:100;box-shadow:0 4px 20px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.budget-header{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:2px solid rgba(99,102,241,.3);padding:0;position:sticky;top:0;z-index:100;box-shadow:0 4px 20px #0006}.budget-header-content{max-width:1600px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 2rem}.budget-branding{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.budget-branding h1{font-size:1.75rem;font-weight:700;color:#fff;margin:0;line-height:1.2}.budget-branding p{color:#ffffffe6;font-size:.9rem;margin:0}.budget-branding .demo-badge{margin-top:.25rem}.header-content{max-width:1600px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:.875rem 2rem;gap:2rem;height:72px}.header-brand{display:flex;align-items:center;gap:.875rem;min-width:220px;flex-shrink:0}.header-logo{width:40px;height:40px;filter:drop-shadow(0 2px 8px rgba(99,102,241,.4));flex-shrink:0}.header-title{font-size:1.375rem;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--success));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;line-height:1.2}.demo-badge{display:inline-block;padding:.2rem .625rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:12px;font-size:.625rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-top:.375rem;box-shadow:0 2px 8px #8b5cf666;line-height:1;vertical-align:middle}.nav-main{display:flex;gap:.5rem;flex:1;justify-content:space-between;align-items:center;padding:.375rem;background:#1f2937f2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(99,102,241,.2);box-shadow:0 8px 32px #0000004d;border-radius:16px;height:48px;max-width:1000px;margin:0 auto;position:sticky;bottom:1rem;z-index:50}.nav-item{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;color:var(--text-secondary);border:none;padding:.625rem 1rem;cursor:pointer;border-radius:8px;font-size:.875rem;font-weight:600;transition:all .2s ease;position:relative;white-space:nowrap;height:38px;line-height:1;flex:1;min-width:0}.nav-item .nav-icon{font-size:1.125rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.nav-item:hover{background:#6366f114;color:var(--text-primary)}.nav-item.active{background:#6366f11f;color:var(--accent)}.nav-item.active:before{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60%;height:2px;background:var(--accent);border-radius:1px}.nav-actions{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.nav-action{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:#1f293799;border:1px solid var(--border);border-radius:10px;font-size:1.25rem;cursor:pointer;transition:all .2s ease;padding:0;line-height:1;flex-shrink:0}.nav-action:hover{background:#6366f133;border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.nav-action.active{background:#6366f126;border-color:var(--accent)}.nav-action.emergency{background:linear-gradient(135deg,#ef444433,#f9731633);border-color:#ef44444d}.nav-action.emergency:hover{background:linear-gradient(135deg,#ef44444d,#f973164d);border-color:var(--danger);box-shadow:0 4px 12px #ef444466}.nav-action.logout{background:#ef444426;border-color:#ef44444d}.nav-action.logout:hover{background:#ef44444d;border-color:var(--danger);box-shadow:0 4px 12px #ef444466}@media (max-width: 1200px){.nav-item span:not(.nav-icon){display:none}.nav-item{padding:.625rem}.nav-main{gap:.5rem}}@media (max-width: 768px){.header{display:block!important;position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:101!important;height:60px!important}.budget-header{padding:.5rem .75rem}.budget-header-content{flex-wrap:wrap;gap:.625rem;padding:.5rem .75rem}.budget-branding{flex:1;min-width:150px}.budget-branding h1{font-size:1.1rem}.budget-branding p{font-size:.75rem}.nav-actions{gap:.375rem}.nav-action{width:36px;height:36px;padding:0;font-size:1.1rem}.back-to-portal-btn,.back-to-portal{padding:.5rem .875rem!important;font-size:.875rem!important}.header-content{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;padding:.5rem!important;height:60px!important;gap:.5rem!important;justify-content:space-between!important;align-items:center!important;max-width:100%!important}.header-brand{display:flex!important;align-items:center!important;gap:.5rem!important;flex:0 1 auto!important;min-width:0!important}.back-to-portal{display:flex!important;padding:.25rem!important;font-size:1.2rem!important;flex-shrink:0!important;width:32px!important;height:32px!important}.header-logo{display:block!important;width:32px!important;height:32px!important;flex-shrink:0!important}.header-title{display:block!important;font-size:.95rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;flex:1!important;min-width:0!important}.demo-badge{display:none!important}.nav-main{position:fixed!important;bottom:0!important;left:0!important;right:0!important;top:auto!important;width:100%!important;display:flex!important;justify-content:space-around!important;align-items:center!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0!important;padding:.5rem .25rem!important;background:#0f1419fa!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border-top:1px solid var(--border)!important;border-radius:0!important;height:auto!important;z-index:100!important;gap:.25rem!important;box-shadow:0 -4px 20px #00000080!important}.nav-item{flex-direction:column;padding:.5rem .25rem;gap:.25rem;font-size:.65rem;min-width:60px}.nav-item .nav-icon{font-size:1.25rem}.nav-item span:not(.nav-icon){display:block;font-size:.65rem}.nav-actions{display:flex!important;flex-direction:row!important;gap:.375rem!important;background:transparent!important;padding:0!important;flex-shrink:0!important;align-items:center!important;position:relative!important;z-index:10!important}.nav-action{display:inline-flex!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;font-size:1.1rem!important;flex-shrink:0!important;align-items:center!important;justify-content:center!important;opacity:1!important;visibility:visible!important;background:#ffffff1a!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:8px!important}.nav-action.active{background:#6366f126!important}.container{padding:1rem!important;padding-top:70px!important;padding-bottom:120px!important;min-height:100vh!important}.app{padding-top:0!important}main.container{margin-top:0!important}.dashboard-grid{grid-template-columns:1fr;gap:1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.card{padding:1rem}.stat-card{padding:1.5rem 1rem}.stat-card-icon{width:48px;height:48px}.stat-value{font-size:2rem}.stat-label{font-size:.75rem}.list-item-icon{width:40px;height:40px;font-size:1.25rem}.list-item-title{font-size:.9rem}.list-item-subtitle{font-size:.75rem}.list-item-amount{font-size:1rem}.form-row,.form-grid,.items-grid{grid-template-columns:1fr}.list-item{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.list-item-actions{width:100%;justify-content:flex-end}.loan-details-grid,.scenarios-grid,.recommendations-grid{grid-template-columns:1fr}.chat-layout{flex-direction:column;height:auto;min-height:500px}.chat-sidebar{width:100%;margin-top:0}.chat-messages{min-height:400px}.emergency-tabs{flex-direction:column}.emergency-tabs button{width:100%}.emergency-header{flex-direction:column;gap:1rem;align-items:flex-start}.btn-print{width:100%}}.container{max-width:1400px;margin:0 auto;padding:2rem;background-color:var(--bg-primary);min-height:calc(100vh - 100px)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.card{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow-md);transition:all .3s ease;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--success));opacity:0;transition:opacity .3s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.card:hover:before{opacity:1}.card h2{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.card h3{font-size:1rem;font-weight:600;margin-bottom:.75rem;color:var(--text-secondary)}.stat-card{text-align:center;padding:2rem 1.5rem;border-left:4px solid transparent;transition:all .3s ease}.stat-card:hover{border-left-color:var(--accent)}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026;border-left-color:var(--accent)}.stat-card.clickable:active{transform:translateY(-2px)}.stat-card-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin:0 auto 1rem;background:linear-gradient(135deg,var(--accent),var(--success));box-shadow:0 4px 12px #6366f14d}.stat-value{font-size:2.5rem;font-weight:700;margin:1rem 0;line-height:1.1}.stat-label{font-size:.8125rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:.5rem}.stat-meta{color:var(--text-muted);font-size:.875rem;margin-top:.75rem}.recent-transactions-list{display:flex;flex-direction:column;gap:.75rem}.recent-transaction-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease}.recent-transaction-item:hover{background:var(--bg-tertiary);border-color:var(--primary);transform:translate(4px)}.recent-tx-left{flex:1;min-width:0}.recent-tx-merchant{font-weight:600;font-size:.95rem;color:var(--text-primary);margin-bottom:.25rem}.recent-tx-meta{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.recent-tx-category{text-transform:capitalize}.recent-tx-separator{opacity:.5}.recent-tx-institution{font-size:.75rem}.recent-tx-right{text-align:right;flex-shrink:0;margin-left:1rem}.recent-tx-amount{font-weight:700;font-size:1rem;margin-bottom:.25rem}.recent-tx-date{font-size:.8rem;color:var(--text-muted)}@media (max-width: 768px){.recent-transaction-item{flex-direction:column;align-items:flex-start;gap:.75rem}.recent-tx-right{width:100%;display:flex;justify-content:space-between;align-items:center;margin-left:0}.recent-tx-amount{margin-bottom:0}}.neutral{color:var(--accent)}.list-item{display:flex;align-items:center;padding:1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;margin-bottom:.75rem;transition:all .2s ease;border-left:3px solid transparent}.list-item:hover{background:var(--bg-tertiary);border-left-color:var(--accent);transform:translate(4px);box-shadow:var(--shadow-md)}.list-item-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-right:1rem;flex-shrink:0;background:var(--bg-tertiary)}.list-item-content{flex:1;min-width:0}.list-item-title{font-weight:600;color:var(--text-primary);font-size:1rem;margin-bottom:.25rem}.list-item-subtitle{font-size:.8125rem;color:var(--text-muted)}.list-item-amount{font-size:1.25rem;font-weight:700;white-space:nowrap;margin-left:1rem}.list-item-amount.positive{color:var(--success)}.list-item-amount.negative{color:var(--danger)}.btn{background-color:var(--accent);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.btn:hover{background-color:var(--accent-hover);filter:brightness(1.08)}.btn:active{filter:brightness(.95)}.btn:disabled{opacity:.6;cursor:not-allowed;filter:none}.btn:disabled:hover{background-color:var(--accent);filter:none}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.mini-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(99,102,241,.3);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background-color:var(--bg-tertiary);border-color:var(--text-muted);filter:brightness(1.15)}.btn-danger{background-color:var(--danger)}.btn-danger:hover{background-color:#dc2626}.btn-small{padding:.375rem .75rem;font-size:.875rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.375rem;font-weight:500;font-size:.875rem;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem;border:1px solid var(--border);border-radius:6px;background-color:var(--bg-tertiary);color:var(--text-primary);font-size:.95rem;transition:border-color .2s}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.list{list-style:none}.list-item{background-color:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.list-item:hover{border-color:var(--accent);transform:translate(4px)}.list-item-content{flex:1}.list-item-title{font-weight:600;font-size:1rem;margin-bottom:.25rem}.list-item-details{font-size:.875rem;color:var(--text-secondary);display:flex;gap:1rem;flex-wrap:wrap}.list-item-actions{display:flex;gap:.5rem}.badge{display:inline-block;padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge-success{background-color:#10b98133;color:var(--success)}.badge-danger{background-color:#ef444433;color:var(--danger)}.badge-warning{background-color:#f59e0b33;color:var(--warning)}.badge-info{background-color:#3b82f633;color:var(--accent)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-text{margin-bottom:1.5rem}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-shrink:0}.section-header h2{margin:0}.profile-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border)}.profile-item:last-child{border-bottom:none}.profile-label{color:var(--text-secondary);font-size:.875rem}.insight-card{padding:1rem;background:linear-gradient(135deg,#6366f11a,#10b9811a);border-radius:8px;border-left:3px solid var(--accent);margin-bottom:1rem;animation:slideIn .5s ease}.insight-card strong{color:var(--accent);display:block;margin-bottom:.5rem}.insight-card p{color:var(--text-secondary);line-height:1.6;margin:0}.recommendations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.recommendation-card{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border:1px solid var(--border);transition:all .3s ease;animation:fadeIn .5s ease}.recommendation-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.recommendation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.recommendation-badge{animation:pulse 2s infinite}.priority-indicator{font-size:.75rem;color:var(--text-secondary);padding:.25rem .5rem;background-color:var(--bg-tertiary);border-radius:6px}.recommendation-title{font-size:1.125rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary)}.recommendation-description{color:var(--text-secondary);line-height:1.6;margin:0 0 1rem}.recommendation-action{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.loan-card-enhanced{animation:slideIn .5s ease}.loan-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;gap:1rem}.loan-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1rem 0}.loan-detail-item{display:flex;flex-direction:column;gap:.25rem}.loan-detail-item .label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.scenarios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.scenario-card{transition:all .3s ease;animation:fadeIn .5s ease}.scenario-card:hover{transform:scale(1.02)}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid var(--bg-tertiary);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.btn{position:relative}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(99,102,241,.1) 0%,transparent 70%);animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stat-value,.stat-label{position:relative;z-index:1}.ai-chat-container{display:flex;flex-direction:column;height:100%;background-color:var(--bg-primary)}.chat-layout{display:flex;gap:1.5rem;flex:1;min-height:600px;height:calc(100vh - 250px)}.chat-messages{flex:1;display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;background:var(--bg-secondary)}.chat-sidebar{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:1rem}.messages-container{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background-color:var(--bg-secondary)}.message{display:flex;gap:1rem;animation:slideIn .3s ease;max-width:100%}.message-user{flex-direction:row-reverse}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;background:var(--bg-tertiary);border:2px solid var(--border)}.message-user .message-avatar{background:linear-gradient(135deg,var(--accent),var(--success));border-color:var(--accent)}.message-content{flex:1;min-width:0;max-width:70%}.message-user .message-content{display:flex;flex-direction:column;align-items:flex-end}.message-text{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:1rem;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word;color:var(--text-primary)}.message-user .message-text{background:linear-gradient(135deg,var(--accent),var(--accent-hover));border-color:var(--accent);color:#fff}.message-text p{margin:0;margin-bottom:.5rem}.message-text p:last-child{margin-bottom:0}.message-timestamp{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;padding:0 .5rem}.typing-indicator{display:flex;gap:.5rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;width:fit-content}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-10px);opacity:1}}.chat-input-container{border-top:1px solid var(--border);padding:1rem 1.5rem;background:var(--bg-secondary)}.chat-error{background:#ef44441a;border:1px solid var(--danger);color:var(--danger);padding:.75rem;border-radius:8px;font-size:.875rem;margin-bottom:.75rem}.chat-input-wrapper{display:flex;gap:.75rem;align-items:flex-end}.chat-input{flex:1;min-height:50px;max-height:150px;padding:.875rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-tertiary);color:var(--text-primary);font-size:.95rem;font-family:inherit;resize:none;transition:border-color .2s}.chat-input:focus{outline:none;border-color:var(--accent)}.chat-input:disabled{opacity:.5;cursor:not-allowed}.chat-send-btn{width:50px;height:50px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;border-radius:12px}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.suggested-questions{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.suggested-question-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;text-align:left;font-size:.875rem;cursor:pointer;transition:all .2s;line-height:1.4}.suggested-question-btn:hover:not(:disabled){background:var(--bg-primary);border-color:var(--accent);transform:translate(4px)}.suggested-question-btn:disabled{opacity:.5;cursor:not-allowed}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.messages-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.messages-container::-webkit-scrollbar-thumb:hover{background:var(--accent)}.emergency-info{display:flex;flex-direction:column;gap:1.5rem;height:100%;padding-bottom:2rem}.emergency-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:2px solid var(--border)}.emergency-header h1{margin:0;font-size:1.75rem;color:var(--text-primary)}.emergency-header .subtitle{margin:.5rem 0 0;font-size:.875rem;color:var(--text-secondary)}.btn-print{background:var(--accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .2s;font-weight:500}.btn-print:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.emergency-tabs{display:flex;gap:.5rem;flex-wrap:wrap;padding:.5rem 0}.emergency-tabs button{padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;font-size:.95rem;cursor:pointer;transition:all .2s;font-weight:500}.emergency-tabs button:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--text-primary)}.emergency-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px #6366f14d}.tab-content{flex:1;display:flex;flex-direction:column;gap:1.5rem}.tab-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--border)}.tab-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.btn-add{background:var(--success);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s;font-weight:500}.btn-add:hover{background:var(--success-hover);transform:translateY(-2px);box-shadow:0 4px 12px #22c55e4d}.add-form{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;animation:slideIn .3s ease}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-group input,.form-group select,.form-group textarea{padding:.625rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.95rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-group textarea{resize:vertical;min-height:60px}.form-group input[type=checkbox]{width:auto;margin-right:.5rem}.btn-submit{background:var(--accent);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s;font-weight:600;width:100%}.btn-submit:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.info-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;transition:all .3s ease;animation:fadeIn .5s ease;position:relative}.info-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d;border-color:var(--accent)}.info-card.inactive{opacity:.6;border-color:var(--danger)}.card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.card-header h3{margin:0;font-size:1.125rem;color:var(--text-primary);word-wrap:break-word;flex:1}.card-actions{display:flex;gap:.5rem;flex-shrink:0;margin-left:1rem}.btn-icon{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;opacity:.7;transition:all .2s}.btn-icon:hover{opacity:1;transform:scale(1.2)}.card-body{display:flex;flex-direction:column;gap:.75rem}.info-row{display:flex;gap:.5rem;font-size:.9rem}.info-row.full-width{flex-direction:column;gap:.25rem}.info-row .label{font-weight:600;color:var(--text-secondary);min-width:100px;flex-shrink:0}.info-row .value{color:var(--text-primary);word-wrap:break-word;flex:1}.info-row.full-width .label{min-width:auto}.info-row .value a{color:var(--accent);text-decoration:none;transition:color .2s}.info-row .value a:hover{color:var(--accent-hover);text-decoration:underline}.priority-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;margin-top:.5rem}.priority-1{background:#ef444433;color:var(--danger);border:1px solid var(--danger)}.priority-2{background:#fbbf2433;color:#fbbf24;border:1px solid #fbbf24}.priority-3{background:#22c55e33;color:var(--success);border:1px solid var(--success)}.inactive-badge{position:absolute;top:1rem;right:1rem;background:var(--danger);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.document-category{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.category-title{font-size:1.25rem;color:var(--text-primary);margin:0;padding:.5rem 0;border-bottom:2px solid var(--accent)}.empty-state{text-align:center;padding:3rem 2rem;background:var(--bg-tertiary);border:2px dashed var(--border);border-radius:12px;color:var(--text-secondary)}.empty-state p{margin:.5rem 0;font-size:.95rem}@media print{.emergency-tabs,.btn-add,.btn-print,.card-actions{display:none!important}.emergency-info{background:#fff;color:#000}.info-card{page-break-inside:avoid;border:1px solid #ccc;box-shadow:none}.emergency-header{border-bottom:2px solid #000}.category-title{border-bottom:2px solid #000;page-break-after:avoid}}.orb-portal{min-height:100vh;background:#060b18;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden}.orb-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.orb-bg:before{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:conic-gradient(from 0deg at 50% 50%,#667eea14,#a855f70f,#22c55e0d,#4facfe12,#f59e0b0a,#a855f70f,#667eea14 360deg);animation:orb-aurora 25s linear infinite}@keyframes orb-aurora{to{transform:rotate(360deg)}}.orb-nebula{position:absolute;border-radius:50%;filter:blur(90px)}.orb-nebula-1{width:550px;height:550px;background:radial-gradient(circle,#667eea 0%,transparent 70%);top:-15%;left:-8%;opacity:.3;animation:orb-drift-1 18s ease-in-out infinite alternate}.orb-nebula-2{width:450px;height:450px;background:radial-gradient(circle,#a855f7 0%,transparent 70%);bottom:-5%;right:-8%;opacity:.25;animation:orb-drift-2 22s ease-in-out infinite alternate}.orb-nebula-3{width:400px;height:400px;background:radial-gradient(circle,#22c55e 0%,transparent 70%);top:45%;left:35%;opacity:.12;animation:orb-drift-3 20s ease-in-out infinite alternate}@keyframes orb-drift-1{0%{transform:translate(0) scale(1)}to{transform:translate(60px,40px) scale(1.15)}}@keyframes orb-drift-2{0%{transform:translate(0) scale(1)}to{transform:translate(-50px,-30px) scale(1.1)}}@keyframes orb-drift-3{0%{transform:translate(0) scale(1)}to{transform:translate(30px,-40px) scale(1.2)}}.orb-particle{position:absolute;border-radius:50%;background:#fff9;animation:orb-twinkle ease-in-out infinite alternate}@keyframes orb-twinkle{0%{opacity:.05;transform:scale(.6)}to{opacity:.8;transform:scale(1.3)}}.orb-header{display:flex;align-items:center;gap:.75rem;padding:1.75rem 2rem 0;position:relative;z-index:2;width:100%;max-width:800px;justify-content:center}.orb-logo{width:40px;height:40px;border-radius:50%;object-fit:cover;background:#fff;padding:2px;box-shadow:0 4px 16px #0000004d}.orb-title{font-size:1.6rem;font-weight:700;background:linear-gradient(135deg,#c7d2fe,#a78bfa,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;letter-spacing:-.02em}.orb-logout{position:absolute;right:2rem;background:transparent;border:1px solid rgba(148,163,184,.12);color:#94a3b866;padding:.375rem .625rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.orb-logout:hover{color:#94a3b8e6;border-color:#94a3b84d}.orb-cluster{position:relative;width:100%;max-width:800px;height:480px;flex:1;max-height:540px;z-index:2;margin-top:.5rem}.orb-item{position:absolute;transform:translate(-50%,-50%) scale(0);cursor:pointer;display:flex;flex-direction:column;align-items:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1);z-index:1;animation:orb-float 5s ease-in-out infinite;animation-delay:var(--float-delay)}.orb-item-in{transform:translate(-50%,-50%) scale(1);transition-delay:var(--orb-delay)}.orb-item-hover{z-index:10;transform:translate(-50%,-50%) scale(1.12)}@keyframes orb-float{0%,to{margin-top:0}50%{margin-top:-8px}}.orb-ring{position:absolute;width:calc(var(--orb-size) + 20px);height:calc(var(--orb-size) + 20px);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--orb-glow) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.orb-item-hover .orb-ring{opacity:1}.orb-body{width:var(--orb-size);height:var(--orb-size);border-radius:50%;background:linear-gradient(145deg,#ffffff14,#ffffff05);border:1.5px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;transition:all .35s cubic-bezier(.34,1.56,.64,1);box-shadow:0 8px 32px #0000004d,inset 0 1px #ffffff14}.orb-item-hover .orb-body{border-color:var(--orb-accent);box-shadow:0 0 40px var(--orb-glow),0 8px 32px #0000004d,inset 0 1px #ffffff1f;background:linear-gradient(145deg,#ffffff1f,#ffffff08)}.orb-icon{font-size:calc(var(--orb-size) * .35);filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.orb-item-hover .orb-icon{transform:scale(1.15)}.orb-label{margin-top:10px;color:#ffffffbf;font-size:.8rem;font-weight:600;white-space:nowrap;letter-spacing:.02em;transition:color .25s;text-shadow:0 2px 8px rgba(0,0,0,.5)}.orb-item-hover .orb-label{color:#fff}.orb-desc{margin-top:4px;color:#ffffff80;font-size:.7rem;text-align:center;max-width:180px;line-height:1.4;animation:orb-fade-in .2s ease-out}@keyframes orb-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.orb-mobile-list{display:none}@media (max-width: 640px){.orb-cluster{display:none}.orb-mobile-list{display:flex;flex-direction:column;gap:.625rem;width:100%;max-width:480px;padding:1.25rem 1rem 0;z-index:2}.orb-mobile-item{display:flex;align-items:center;gap:.75rem;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.08);border-radius:14px;padding:.875rem 1rem;cursor:pointer;transition:all .25s;text-align:left;width:100%;color:inherit;font:inherit;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.orb-mobile-item:hover{border-color:var(--orb-accent);box-shadow:0 4px 24px var(--orb-glow);transform:translateY(-2px);background:#ffffff0f}.orb-mobile-icon{font-size:1.75rem;flex-shrink:0}.orb-mobile-info{flex:1;display:flex;flex-direction:column;gap:2px}.orb-mobile-info strong{font-size:.95rem;color:#ffffffe6}.orb-mobile-info span{font-size:.75rem;color:#ffffff73;line-height:1.3}.orb-mobile-arrow{color:#ffffff4d;font-size:1.1rem;flex-shrink:0}.orb-header{padding:1.25rem 1rem 0}}.orb-footer{position:relative;z-index:2;text-align:center;padding:1.5rem 0 1rem;color:#fff3;font-size:.7rem}.orb-footer p{margin:0}[data-theme=light] .orb-portal{background:#f0f2f8}[data-theme=light] .orb-bg:before{opacity:.4}[data-theme=light] .orb-nebula-1{opacity:.1}[data-theme=light] .orb-nebula-2{opacity:.08}[data-theme=light] .orb-nebula-3{opacity:.06}[data-theme=light] .orb-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(100,116,139,.12) 1px,transparent 1px);background-size:28px 28px;opacity:.6}[data-theme=light] .orb-particle{background:none;border-radius:50%;filter:blur(1px);animation-name:orb-bokeh}[data-theme=light] .orb-particle:nth-child(5n+1){background:#667eea26}[data-theme=light] .orb-particle:nth-child(5n+2){background:#a855f71f}[data-theme=light] .orb-particle:nth-child(5n+3){background:#22c55e1f}[data-theme=light] .orb-particle:nth-child(5n+4){background:#4facfe24}[data-theme=light] .orb-particle:nth-child(5n+5){background:#f59e0b1f}@keyframes orb-bokeh{0%{opacity:.3;transform:scale(3)}to{opacity:.7;transform:scale(5)}}[data-theme=light] .orb-title{background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;background-clip:text}[data-theme=light] .orb-body{background:linear-gradient(145deg,#ffffffe6,#fff9);border-color:#00000014;box-shadow:0 8px 32px #00000014,inset 0 1px #ffffffe6}[data-theme=light] .orb-item-hover .orb-body{border-color:var(--orb-accent);box-shadow:0 0 30px var(--orb-glow),0 8px 32px #00000014}[data-theme=light] .orb-label{color:#0009;text-shadow:none}[data-theme=light] .orb-item-hover .orb-label{color:#000000d9}[data-theme=light] .orb-desc{color:#00000073}[data-theme=light] .orb-logout{border-color:#0000001a;color:#00000059}[data-theme=light] .orb-footer{color:#0003}[data-theme=light] .orb-mobile-item{background:#ffffffb3;border-color:#00000014}[data-theme=light] .orb-mobile-info strong{color:#000c}[data-theme=light] .orb-mobile-info span{color:#00000073}[data-theme=light] .orb-mobile-arrow{color:#00000040}.back-to-portal{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:.5rem;margin-right:.5rem;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.back-to-portal:hover{background:var(--bg-tertiary);color:var(--accent);transform:translate(-2px)}@media (max-width: 400px){.header-content{padding:.5rem;gap:.5rem;height:56px}.header-title{font-size:.85rem}.back-to-portal{width:28px;height:28px;font-size:1.1rem}.header-logo{width:28px;height:28px}.nav-actions{gap:.4rem;padding:.3rem .5rem}.nav-action{width:36px!important;height:36px!important;font-size:1.1rem!important}}.food-order-app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.food-order-header{background:#0f1419fa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:1rem 2rem;position:sticky;top:0;z-index:100}.food-order-header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:1rem}.food-order-header .header-brand{display:flex;align-items:center;gap:.75rem}.food-order-header .header-icon{font-size:2rem}.food-order-header h1{font-size:1.5rem;font-weight:600;margin:0;background:linear-gradient(135deg,#f093fb,#f5576c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.step-indicator{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:1.5rem 2rem}.step-indicator-progress{max-width:600px;margin:0 auto 1.5rem;height:6px;background:var(--bg-tertiary);border-radius:10px;overflow:hidden}.step-indicator-fill{height:100%;background:linear-gradient(90deg,#f093fb,#f5576c);transition:width .3s ease;border-radius:10px}.step-indicator-labels{display:flex;justify-content:space-between;max-width:600px;margin:0 auto}.step-label{display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:.5;transition:opacity .3s ease}.step-label.active{opacity:1}.step-label.completed{opacity:.7}.step-number{width:32px;height:32px;border-radius:50%;background:var(--bg-tertiary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.step-label.active .step-number{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.step-label.completed .step-number{background:var(--success);color:#fff}.step-text{font-size:.875rem;color:var(--text-secondary)}.step-label.active .step-text{color:var(--text-primary);font-weight:500}.food-order-container{flex:1;max-width:800px;margin:0 auto;padding:2rem;width:100%}.step-content{animation:fadeIn .3s ease}.step-header{text-align:center;margin-bottom:2.5rem}.step-icon{font-size:4rem;margin-bottom:1rem}.step-header h2{font-size:2rem;margin:0 0 .5rem;color:var(--text-primary)}.step-description{font-size:1.125rem;color:var(--text-secondary);margin:0}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-input{width:100%;padding:.875rem 1rem;background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:1rem;transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.form-help{display:block;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.autocomplete-wrapper{position:relative}.autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:2px solid var(--border);border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:10;list-style:none;margin:0;padding:0;box-shadow:0 4px 6px #0000004d}.autocomplete-item{padding:.75rem 1rem;cursor:pointer;transition:background .2s ease}.autocomplete-item:hover{background:var(--bg-tertiary)}.delivery-services-info{margin-top:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:12px;text-align:center}.delivery-services-info h3{margin:0 0 1rem;font-size:1.125rem;color:var(--text-primary)}.services-badges{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.service-badge{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500}.service-badge.lieferando{background:linear-gradient(135deg,#ff8c00,tomato);color:#fff}.service-badge.ubereats{background:linear-gradient(135deg,#06c167,#00a550);color:#fff}.service-badge.wolt{background:linear-gradient(135deg,#00c2e8,#009fc5);color:#fff}.services-note{font-size:.875rem;color:var(--text-secondary);margin:0}.counters-grid{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.counter-group{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--bg-secondary);border-radius:12px;border:2px solid var(--border)}.counter-label{display:flex;align-items:center;gap:1rem}.counter-icon{font-size:2rem}.counter-title{font-size:1.125rem;font-weight:500;color:var(--text-primary)}.counter-subtitle{font-size:.875rem;color:var(--text-secondary)}.counter-control{display:flex;align-items:center;gap:1rem}.counter-btn{width:40px;height:40px;border-radius:50%;border:2px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.counter-btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.1)}.counter-btn:disabled{opacity:.3;cursor:not-allowed}.counter-value{font-size:1.5rem;font-weight:600;color:var(--text-primary);min-width:40px;text-align:center}.group-summary{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;background:var(--bg-secondary);border-radius:12px;margin-bottom:2rem}.summary-icon{font-size:2rem}.summary-text{font-size:1.125rem;color:var(--text-primary)}.summary-detail{color:var(--text-secondary);font-weight:400}.preference-section{margin-bottom:2.5rem}.preference-section h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary)}.section-hint{font-size:.875rem;color:var(--text-secondary);margin:0 0 1rem}.budget-options{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.budget-btn{padding:1.5rem 1rem;background:var(--bg-secondary);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:.5rem}.budget-btn:hover{border-color:var(--accent);transform:translateY(-2px)}.budget-btn.active{background:linear-gradient(135deg,#6366f133,#8b5cf633);border-color:var(--accent)}.budget-icon{font-size:1.5rem;color:var(--accent)}.budget-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.dietary-options,.cuisine-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.dietary-option,.cuisine-option{padding:1rem;background:var(--bg-secondary);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative}.dietary-option:hover,.cuisine-option:hover{border-color:var(--accent);transform:translateY(-2px)}.dietary-option.active,.cuisine-option.active{background:linear-gradient(135deg,#6366f133,#8b5cf633);border-color:var(--accent)}.option-icon{font-size:2rem}.option-label{font-size:.875rem;font-weight:500;color:var(--text-primary);text-align:center}.option-check{position:absolute;top:.5rem;right:.5rem;color:var(--success);font-size:1.25rem}.step-actions{display:flex;gap:1rem;margin-top:2rem}.step-actions button{flex:1}.loading-state,.error-state,.empty-state{display:flex;align-items:center;justify-content:center;min-height:400px;text-align:center}.loading-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.loading-dots{display:flex;gap:.75rem;align-items:center;justify-content:center}.loading-dots .dot{width:12px;height:12px;border-radius:50%;background:var(--accent);animation:dotPulse 1.4s ease-in-out infinite}.loading-dots .dot:nth-child(1){animation-delay:0s}.loading-dots .dot:nth-child(2){animation-delay:.2s}.loading-dots .dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{transform:scale(1);opacity:.5}40%{transform:scale(1.3);opacity:1}}.loading-container h2{font-size:1.5rem;margin:0;color:var(--text-primary)}.loading-steps{display:flex;flex-direction:column;gap:.5rem;font-size:.95rem;color:var(--text-secondary)}.step-item{display:flex;align-items:center;gap:.5rem}.loading-spinner h2,.error-container h2,.empty-container h2{font-size:1.5rem;margin:0 0 .5rem;color:var(--text-primary)}.loading-spinner p,.error-container p,.empty-container p{color:var(--text-secondary);margin:0}.error-icon,.empty-icon{font-size:4rem;margin-bottom:1rem}.error-message{color:var(--error);margin:1rem 0}.error-actions,.empty-actions{display:flex;gap:1rem;margin-top:1.5rem;justify-content:center}.empty-hint{font-size:.875rem;margin-top:.5rem}.recommendations-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.restaurant-card{background:var(--bg-secondary);border-radius:16px;overflow:hidden;border:2px solid var(--border);transition:all .3s ease}.restaurant-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 20px #0000004d}.restaurant-photo{position:relative;width:100%;height:200px;overflow:hidden}.restaurant-photo img{width:100%;height:100%;object-fit:cover}.open-status{position:absolute;bottom:1rem;right:1rem;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.open-status.open{background:#22c55ee6;color:#fff}.open-status.closed{background:#ef4444e6;color:#fff}.restaurant-info{padding:1.5rem}.restaurant-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.restaurant-name{font-size:1.5rem;margin:0;color:var(--text-primary);flex:1}.price-level{display:flex;gap:.125rem}.price-symbol{font-size:1rem;font-weight:600}.price-symbol.filled{color:var(--success)}.price-symbol.empty{color:var(--text-muted);opacity:.3}.restaurant-rating{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.rating-stars{display:flex;gap:.125rem;align-items:center}.star{font-size:1.25rem;color:var(--text-muted)}.star.full{color:#fbbf24}.star.half{background:linear-gradient(90deg,#fbbf24 50%,var(--text-muted) 50%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rating-value{font-weight:600;color:var(--text-primary);margin-left:.25rem}.review-count{font-size:.875rem;color:var(--text-secondary)}.restaurant-address{font-size:.875rem;color:var(--text-secondary);margin-bottom:1rem}.recommendation-reasoning{display:flex;gap:.75rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px;margin-bottom:1rem}.reasoning-icon{font-size:1.25rem;flex-shrink:0}.recommendation-reasoning p{margin:0;color:var(--text-primary);font-size:.9375rem}.delivery-links h4{font-size:.875rem;margin:0 0 .75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.delivery-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.delivery-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;border-radius:8px;text-decoration:none;font-weight:500;font-size:.875rem;transition:all .2s ease}.delivery-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.delivery-btn.lieferando{background:linear-gradient(135deg,#ff8c00,tomato);color:#fff}.delivery-btn.ubereats{background:linear-gradient(135deg,#06c167,#00a550);color:#fff}.delivery-btn.wolt{background:linear-gradient(135deg,#00c2e8,#009fc5);color:#fff}.btn-icon{font-size:1.5rem}.btn-text{font-size:.875rem}.recommendations-actions{display:flex;gap:1rem;justify-content:center}.address-confirmation{background:#6366f11a;border:2px solid var(--accent);border-radius:12px;padding:2rem;margin:2rem 0;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.confirmation-icon{font-size:4rem}.confirmed-address h3{font-size:1.125rem;margin:0 0 .75rem;color:var(--text-primary)}.address-line{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;line-height:1.6}.address-meta{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.meta-item{display:flex;align-items:center;gap:.5rem;justify-content:center}.address-history{margin-bottom:2rem}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.history-header h3{font-size:1.125rem;margin:0;color:var(--text-primary)}.history-hint{font-size:.875rem;color:var(--text-secondary)}.history-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.history-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.history-item:hover{border-color:var(--accent);background:#6366f10d;transform:translate(4px)}.history-icon{font-size:1.5rem;flex-shrink:0}.history-details{flex:1;min-width:0}.history-address{font-weight:500;color:var(--text-primary);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-meta{font-size:.85rem;color:var(--text-secondary);margin-top:.25rem}.history-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.25rem;padding:.25rem .5rem;border-radius:4px;transition:all .2s;flex-shrink:0;opacity:0}.history-item:hover .history-remove{opacity:1}.history-remove:hover{background:#ef44441a;color:#ef4444}.autocomplete-wrapper,.autocomplete-container{position:relative}.form-input.verified{border-color:var(--success);background:#10b9810d}.verified-badge{margin-left:.5rem;font-size:.875rem;color:var(--success);font-weight:500}.clear-address-btn{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.25rem;padding:.25rem;line-height:1;transition:color .2s;z-index:5}.clear-address-btn:hover{color:var(--text-primary)}.address-predictions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-secondary);border:2px solid var(--accent);border-radius:8px;max-height:300px;overflow-y:auto;z-index:100;box-shadow:0 8px 24px #0006;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.prediction-item{padding:1rem;cursor:pointer;transition:all .2s;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.75rem}.prediction-item:last-child{border-bottom:none}.prediction-item:hover{background:#6366f11a}.prediction-icon{font-size:1.25rem;flex-shrink:0}.prediction-text{flex:1;color:var(--text-primary);font-size:.95rem;line-height:1.4}.address-confirmation-small{margin-top:1rem;background:#10b9811a;border:2px solid var(--success);border-radius:8px;padding:1rem}.confirmation-details{display:flex;flex-direction:column;gap:.5rem}.detail-row{display:flex;align-items:flex-start;gap:.75rem;font-size:.9rem}.detail-label{flex-shrink:0;min-width:120px;color:var(--text-secondary);font-weight:500}.detail-value{flex:1;color:var(--text-primary)}.detail-value.coordinates{font-family:Courier New,monospace;font-size:.85rem;color:var(--accent)}.loading-indicator{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-top:1rem}.loading-dots-small{display:flex;gap:.5rem;align-items:center}.loading-dots-small .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:dotPulse 1.4s ease-in-out infinite}.loading-dots-small .dot:nth-child(1){animation-delay:0s}.loading-dots-small .dot:nth-child(2){animation-delay:.2s}.loading-dots-small .dot:nth-child(3){animation-delay:.4s}.loading-indicator span{color:var(--text-secondary);font-size:.9rem}.filters-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.filters-header h3{margin:0;font-size:1.125rem;color:var(--text-primary)}.reset-filters{background:none;border:1px solid var(--border);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.reset-filters:hover{border-color:var(--accent);color:var(--accent)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.75rem}.filter-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.rating-filter,.price-filter{display:flex;gap:.5rem;flex-wrap:wrap}.rating-btn,.price-btn{padding:.5rem 1rem;border:2px solid var(--border);background:var(--bg-tertiary);border-radius:6px;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:all .2s;font-weight:500}.rating-btn:hover,.price-btn:hover{border-color:var(--accent)}.rating-btn.active,.price-btn.active{border-color:var(--accent);background:#6366f133;color:var(--accent)}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.sort-select{width:100%;padding:.75rem;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:border-color .2s}.sort-select:focus{outline:none;border-color:var(--accent)}.cuisine-tags{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.cuisine-tags label{display:block;margin-bottom:.75rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.cuisine-tag{padding:.5rem 1rem;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:20px;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:all .2s}.cuisine-tag:hover{border-color:var(--accent)}.cuisine-tag.active{background:#6366f133;border-color:var(--accent);color:var(--accent);font-weight:500}.no-results{text-align:center;padding:3rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;margin:2rem 0}.no-results p{font-size:1.125rem;color:var(--text-secondary);margin:0}.step-header-compact{text-align:center;margin-bottom:1.5rem}.step-header-compact h2{font-size:1.5rem;margin:0 0 .25rem}.filter-count{font-size:.9rem;color:var(--text-secondary);margin:0}.filters-bar-compact{display:flex;flex-wrap:wrap;gap:.75rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;margin-bottom:1.5rem;align-items:center}.filter-select{padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:border-color .2s;flex:1;min-width:140px}.filter-select:focus{outline:none;border-color:var(--accent)}.filter-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:.9rem;white-space:nowrap}.filter-checkbox input[type=checkbox]{cursor:pointer}.reset-btn-compact{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .2s;white-space:nowrap}.reset-btn-compact:hover{border-color:var(--accent);color:var(--accent)}.restaurants-list-compact{display:flex;flex-direction:column;gap:1rem}.restaurant-card-compact{display:flex;gap:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem;transition:all .2s}.restaurant-card-compact:hover{border-color:var(--accent);box-shadow:0 2px 8px #6366f11a}.restaurant-photo-compact{position:relative;width:120px;height:120px;flex-shrink:0;border-radius:6px;overflow:hidden}.restaurant-photo-compact img{width:100%;height:100%;object-fit:cover}.status-badge{position:absolute;top:.5rem;right:.5rem;font-size:.75rem}.restaurant-details-compact{flex:1;display:flex;flex-direction:column;gap:.75rem}.restaurant-main{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.restaurant-name-compact{font-size:1.125rem;margin:0;color:var(--text-primary);font-weight:600}.restaurant-meta{display:flex;align-items:center;gap:.75rem;font-size:.875rem;flex-shrink:0}.rating-compact{display:flex;align-items:center;gap:.25rem}.stars{color:#fbbf24;font-size:.9rem}.rating-num{color:var(--text-primary);font-weight:500}.review-count-compact{color:var(--text-secondary);font-size:.85rem}.price-compact{color:var(--success);font-weight:600}.restaurant-reason-compact{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin:0}.delivery-buttons-compact{display:flex;gap:.5rem;flex-wrap:wrap}.delivery-btn-compact{padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex;align-items:center;gap:.25rem}.delivery-btn-compact.lieferando{background:#ff8000;color:#fff}.delivery-btn-compact.lieferando:hover{background:#e67300}.delivery-btn-compact.ubereats{background:#06c167;color:#fff}.delivery-btn-compact.ubereats:hover{background:#05a857}.delivery-btn-compact.wolt{background:#00c2e8;color:#fff}.delivery-btn-compact.wolt:hover{background:#00a8c8}.no-results-compact{text-align:center;padding:2rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px}.no-results-compact p{margin:0;color:var(--text-secondary);font-size:1rem}.recommendations-actions-compact{display:flex;gap:1rem;justify-content:center;margin-top:2rem}@media (max-width: 768px){.restaurant-card-compact{flex-direction:column}.restaurant-photo-compact{width:100%;height:180px}.restaurant-main{flex-direction:column;gap:.5rem}.filters-bar-compact{flex-direction:column}.filter-select{width:100%}}.recommendation-reasoning{background:#6366f10d;border-left:3px solid var(--accent);padding:1rem;margin:1rem 0;border-radius:6px}.reasoning-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.reasoning-icon{font-size:1.25rem}.recommendation-reasoning p{margin:0;line-height:1.6;color:var(--text-secondary)}.divider{position:relative;text-align:center;margin:1.5rem 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}.divider span{position:relative;display:inline-block;padding:0 1rem;background:var(--bg-primary);color:var(--text-secondary);font-size:.875rem}.input-hint{display:block;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary);font-style:italic}.food-order-footer{padding:1.5rem;text-align:center;border-top:1px solid var(--border);background:var(--bg-secondary)}.food-order-footer p{margin:0;font-size:.875rem;color:var(--text-secondary)}@media (max-width: 768px){.food-order-header{padding:1rem}.food-order-container{padding:.75rem}.step-header h2{font-size:1.25rem}.step-description{font-size:.875rem}.budget-options{grid-template-columns:1fr}.dietary-options,.cuisine-options{grid-template-columns:repeat(2,1fr)}.delivery-buttons{grid-template-columns:1fr}.step-actions,.recommendations-actions{flex-direction:column}}.transit-app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.transit-header{background:linear-gradient(135deg,#0f1419,#1a1f2e);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:2px solid rgba(99,102,241,.3);padding:0;position:sticky;top:0;z-index:100;box-shadow:0 4px 20px #0006}.transit-header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 2rem}.back-to-portal-btn{background:#6366f126;border:1px solid rgba(99,102,241,.3);padding:.75rem 1.5rem;border-radius:10px;color:#60a5fa;cursor:pointer;transition:all .2s ease;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.back-to-portal-btn:hover{background:#6366f140;border-color:#6366f180;transform:translate(-3px);box-shadow:0 4px 12px #6366f133}.back-to-portal-btn:active{transform:translate(-2px)}.transit-branding{display:flex;flex-direction:column;gap:.25rem}.transit-branding h1{font-size:1.75rem;font-weight:700;margin:0;color:#fff;display:flex;align-items:center;gap:.75rem;text-shadow:0 2px 10px rgba(96,165,250,.3)}.transit-branding h1:before{content:"🚇";font-size:2rem;filter:drop-shadow(0 0 10px rgba(96,165,250,.5))}.transit-branding p{margin:0;margin-left:2.75rem;font-size:.875rem;color:var(--text-secondary);font-weight:400}.old-transit-branding-h1{background:linear-gradient(135deg,#4facfe,#00f2fe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.transit-branding p{margin:.25rem 0 0;color:var(--text-muted);font-size:.875rem}.transit-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.transit-footer{background:var(--bg-secondary);padding:1.5rem;text-align:center;border-top:1px solid var(--border);color:var(--text-muted);font-size:.875rem}.transit-footer p{margin:.25rem 0}.km{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(160deg,#0d1117,#161b22,#0d1117)}.km-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:#0f141ef2;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.km-title{font-size:1.15rem;font-weight:700;margin:0;color:#fff;flex:1;white-space:nowrap}.km-view-toggle{display:flex;gap:2px;background:#ffffff14;border-radius:8px;padding:2px}.km-view-toggle button{padding:.4rem .9rem;border-radius:6px;border:none;background:transparent;color:var(--text-muted);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .15s ease}.km-view-toggle button.active{background:#ffffff26;color:#fff}.km-view-toggle button:hover:not(.active){color:#ccc}.km-toast{position:fixed;top:4.5rem;left:50%;transform:translate(-50%);background:#1db954;color:#fff;padding:.6rem 1.5rem;border-radius:999px;font-weight:600;font-size:.9rem;z-index:200;box-shadow:0 4px 20px #1db95466;animation:kmToastIn .25s ease}@keyframes kmToastIn{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.km-error{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.75rem 1.25rem 0;padding:.6rem 1rem;border-radius:10px;background:#f851491f;border:1px solid rgba(248,81,73,.4);color:#f85149;font-size:.9rem}.km-error button{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;padding:0}.km-kid{flex:1;padding:1rem 1.25rem}.km-player{border-radius:12px;overflow:hidden;background:#000;margin-bottom:1rem;position:relative}.km-player-iframe{width:100%;aspect-ratio:16 / 9;display:block;border:none}.km-player-close{position:absolute;top:.5rem;right:.5rem;background:#000000b3;color:#fff;border:none;border-radius:50%;width:2rem;height:2rem;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.km-player-close:hover{background:#f85149cc}.km-sp-bar{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:14px;background:#1db9541a;border:1px solid rgba(29,185,84,.3);margin-bottom:1rem;position:relative}.km-sp-bar-art{width:56px;height:56px;border-radius:10px;object-fit:cover;flex-shrink:0}.km-sp-bar-art-empty{background:#1db95433;display:flex;align-items:center;justify-content:center;color:#1db954}.km-sp-bar-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.km-sp-bar-title{font-weight:600;font-size:.95rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.km-sp-bar-sub{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.km-sp-bar-play{width:52px;height:52px;border-radius:50%;border:none;background:#1db954;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .1s ease,box-shadow .1s ease}.km-sp-bar-play:hover{transform:scale(1.08);box-shadow:0 4px 16px #1db95480}.km-sp-bar-play:active{transform:scale(.93)}.km-sp-bar-device{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.km-sp-bar-device:hover{background:#ffffff1f;color:#fff;border-color:#ffffff4d}.km-sp-bar-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.3rem;flex-shrink:0;display:flex;align-items:center}.km-sp-bar-close:hover{color:#f85149}.km-device-picker{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg-secondary, #1a1f2e);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:.5rem;min-width:220px;max-width:300px;box-shadow:0 8px 32px #0006;z-index:50;display:flex;flex-direction:column;gap:.25rem}.km-device-header{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:.35rem .5rem}.km-device-empty{font-size:.85rem;color:var(--text-muted);padding:.75rem .5rem}.km-device-item{display:flex;align-items:center;gap:.6rem;padding:.5rem;border-radius:8px;border:none;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;font-size:.9rem;transition:background .15s ease}.km-device-item:hover{background:#1db9541f}.km-device-item.active{background:#1db9541a}.km-device-icon{font-size:1.1rem;flex-shrink:0}.km-device-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.km-device-active{font-size:.7rem;font-weight:700;color:#1db954;text-transform:uppercase;flex-shrink:0}.km-np-icon{font-size:1.5rem}.km-np-title{font-weight:600;color:#1db954}.km-loading{text-align:center;padding:3rem;color:var(--text-muted)}.km-empty{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.km-empty p:first-child{font-size:1.2rem;font-weight:600;margin:0 0 .5rem}.km-empty-hint{color:var(--text-muted);font-size:.9rem;margin:0}.km-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.km-card{position:relative;display:flex;flex-direction:column;border-radius:12px;border:2px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text-primary);cursor:pointer;transition:all .2s ease;overflow:hidden;text-align:left}.km-card:hover{border-color:#fff3;transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.km-card:active{transform:scale(.97)}.km-card-youtube:hover{border-color:#f006}.km-card-spotify:hover{border-color:#1db95466}.km-card-active{border-color:#1db954;box-shadow:0 0 12px #1db95440}.km-card-active.km-card-youtube{border-color:#f44;box-shadow:0 0 12px #ff444440}.km-card-thumb{width:100%;aspect-ratio:1;object-fit:cover;display:block}.km-card-thumb-empty{background:#ffffff14;display:flex;align-items:center;justify-content:center;font-size:2rem}.km-card-info{padding:.5rem .6rem;display:flex;flex-direction:column;gap:.15rem}.km-card-title{font-weight:600;font-size:.85rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.km-card-sub{font-size:.75rem;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.km-card-badge{position:absolute;top:.4rem;right:.4rem;width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff}.km-badge-youtube{background:#ff0000d9}.km-badge-spotify{background:#1db954d9}.km-badge-album{background:#1db954d9;font-size:.65rem}.km-album-detail{display:flex;flex-direction:column;gap:1rem;padding-bottom:1rem}.km-album-back{align-self:flex-start;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text-primary);padding:.4rem .8rem;border-radius:8px;cursor:pointer;font-size:.85rem;transition:all .15s ease}.km-album-back:hover{background:#ffffff24}.km-album-header{display:flex;align-items:center;gap:1rem}.km-album-art{width:100px;height:100px;border-radius:10px;object-fit:cover;flex-shrink:0;box-shadow:0 4px 16px #0000004d}.km-album-art-empty{display:flex;align-items:center;justify-content:center;background:#ffffff14;color:var(--text-muted);font-size:2rem}.km-album-meta{display:flex;flex-direction:column;gap:.2rem;min-width:0}.km-album-title{font-size:1.25rem;font-weight:700;margin:0;color:#fff;line-height:1.3}.km-album-artist{font-size:.9rem;color:var(--text-secondary)}.km-album-count{font-size:.8rem;color:var(--text-muted)}.km-album-tracks{display:flex;flex-direction:column;gap:2px}.km-track-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:8px;border:none;background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .15s ease}.km-track-row:hover{background:#ffffff0f}.km-track-row:active{background:#1db9541f}.km-track-num{width:1.5rem;text-align:center;font-size:.8rem;color:var(--text-muted);flex-shrink:0}.km-track-info{display:flex;flex-direction:column;min-width:0;flex:1}.km-track-name{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.km-track-artist{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.km-track-play{font-size:.7rem;color:var(--text-muted);flex-shrink:0;opacity:0;transition:opacity .15s ease}.km-track-row:hover .km-track-play{opacity:1}.km-track-playing{background:#1db9541a;border-left:3px solid #1db954;padding-left:calc(.75rem - 3px)}.km-track-playing .km-track-num{color:#1db954;font-weight:700}.km-track-playing .km-track-name{color:#1db954;font-weight:600}.km-track-playing .km-track-play{opacity:1;color:#1db954}[data-theme=light] .km-track-playing{background:#1db95414}.km-pin-screen{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.km-pin-card{text-align:center;max-width:300px;width:100%}.km-pin-card h2{font-size:1.3rem;margin:0 0 .5rem;color:#fff}.km-pin-card p{color:var(--text-muted);margin:0 0 1.25rem;font-size:.9rem}.km-pin-card form{display:flex;flex-direction:column;align-items:center;gap:.75rem}.km-pin-input{padding:.7rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:var(--text-primary);font-size:1.2rem;letter-spacing:.25em;text-align:center;width:8rem}.km-pin-error{color:#f85149;font-size:.85rem;margin:0}.km-btn{padding:.6rem 1.25rem;border-radius:8px;border:none;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .15s ease}.km-btn:disabled{opacity:.5;cursor:not-allowed}.km-btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.km-btn-primary:hover:not(:disabled){box-shadow:0 4px 16px #6366f166;transform:translateY(-1px)}.km-btn-small{padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#ffffff1a;color:#fff;font-weight:500;font-size:.85rem;cursor:pointer}.km-btn-small:hover{background:#fff3}.km-btn-spotify{background:#1db954;color:#fff;border-radius:999px;padding:.7rem 1.5rem}.km-btn-spotify:hover{box-shadow:0 4px 16px #1db95466;transform:translateY(-1px)}.km-btn-text{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.85rem;padding:.4rem 0}.km-btn-text:hover{color:#fff}.km-text-danger{color:#f85149}.km-text-danger:hover{color:#ff6b6b}.km-parent{flex:1;padding:1rem 1.25rem;max-width:900px;margin:0 auto;width:100%}.km-sections{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.km-section{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.km-section-header{display:flex;align-items:center;gap:.5rem}.km-section-header h2{font-size:1.1rem;font-weight:700;margin:0;color:#fff;flex:1}.km-section-icon{font-size:1.2rem}.km-section-count{font-size:.75rem;color:var(--text-muted);background:#ffffff14;padding:.2rem .5rem;border-radius:999px}.km-input-row{display:flex;gap:.5rem}.km-input{flex:1;min-width:0;padding:.55rem .75rem;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:var(--text-primary);font-size:.85rem}.km-input::placeholder{color:var(--text-muted)}.km-chips{display:flex;flex-wrap:wrap;gap:.35rem;min-height:1.5rem}.km-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);font-size:.8rem;color:var(--text-secondary)}.km-chip button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:0;line-height:1}.km-chip button:hover{color:#f85149}.km-hint{color:var(--text-muted);font-size:.85rem;margin:0}.km-connect{text-align:center;padding:1.5rem 1rem;background:#1db9540f;border-radius:10px;border:1px dashed rgba(29,185,84,.3)}.km-connect p{color:var(--text-muted);margin:0 0 .75rem;font-size:.85rem}.km-spotify-status{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.km-status-dot{width:8px;height:8px;border-radius:50%;background:#1db954;flex-shrink:0}.km-spotify-playlists,.km-yt-items{display:flex;flex-direction:column;gap:.4rem;max-height:250px;overflow-y:auto}.km-sp-pl{display:flex;align-items:center;gap:.6rem;padding:.5rem;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:transparent;color:var(--text-primary);cursor:pointer;text-align:left;transition:all .15s ease}.km-sp-pl:hover{background:#1db95414;border-color:#1db9544d}.km-sp-pl.selected{border-color:#1db954;background:#1db9541f}.km-sp-pl.saved{border-color:#1db95466}.km-sp-pl-img{width:44px;height:44px;border-radius:8px;object-fit:cover;flex-shrink:0}.km-sp-pl-info{display:flex;flex-direction:column;min-width:0;flex:1}.km-sp-pl-info strong{font-size:.85rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.km-sp-pl-info span{font-size:.75rem;color:var(--text-muted)}.km-sp-pl-active{font-size:.7rem;font-weight:700;color:#1db954;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.km-sp-pl-img-empty{display:flex;align-items:center;justify-content:center;background:#ffffff0f;color:var(--text-muted);font-size:1rem}.km-item-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;padding:.2rem .4rem;border-radius:6px;line-height:1;flex-shrink:0;transition:all .15s ease}.km-item-remove:hover{color:#f85149;background:#f851491a}.km-yt-items .km-sp-pl{cursor:default}.km-yt-items .km-sp-pl:hover{background:#ffffff08;border-color:#ffffff26}.km-pin-manage{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08);text-align:center}.km-pin-form{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:200px;margin:0 auto}.km-pin-form .km-pin-input{width:100%;font-size:1rem;letter-spacing:.15em}.km-pin-actions{display:flex;gap:.5rem;margin-top:.25rem}@media (max-width: 640px){.km-header{flex-wrap:wrap;padding:.6rem 1rem}.km-title{font-size:1rem}.km-sections{grid-template-columns:1fr}.km-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.km-card-info{padding:.35rem .5rem}.km-card-title{font-size:.78rem}}[data-theme=light] .km{background:var(--bg-primary)}[data-theme=light] .km-header{background:var(--bg-secondary);border-bottom:1px solid var(--border)}[data-theme=light] .km-title{color:var(--text-primary)}[data-theme=light] .km-view-toggle{background:var(--bg-tertiary)}[data-theme=light] .km-view-toggle button{color:var(--text-muted)}[data-theme=light] .km-view-toggle button.active{background:#fff;color:var(--text-primary);box-shadow:0 1px 3px #0000001a}[data-theme=light] .km-card{border-color:var(--border);background:var(--bg-secondary)}[data-theme=light] .km-card:hover{border-color:var(--text-muted);box-shadow:var(--shadow-md)}[data-theme=light] .km-section{background:var(--bg-secondary);border-color:var(--border)}[data-theme=light] .km-section-header h2{color:var(--text-primary)}[data-theme=light] .km-chip{background:var(--bg-tertiary);border-color:var(--border);color:var(--text-primary)}[data-theme=light] .km-input,[data-theme=light] .km-pin-input{background:#fff;border-color:var(--border);color:var(--text-primary)}[data-theme=light] .km-pin-card h2{color:var(--text-primary)}[data-theme=light] .km-sp-pl{border-color:var(--border)}[data-theme=light] .km-sp-pl:hover{background:#1db9540d}[data-theme=light] .km-sp-pl-img-empty{background:#0000000f}[data-theme=light] .km-yt-items .km-sp-pl:hover{background:#00000005;border-color:var(--border)}[data-theme=light] .km-connect{background:#1db9540a;border-color:#1db95433}[data-theme=light] .km-btn-small{border-color:var(--border);background:var(--bg-secondary);color:var(--text-primary)}[data-theme=light] .km-toast{box-shadow:0 4px 20px #00000026}[data-theme=light] .km-error{background:#dc26260f;border-color:#dc262633}[data-theme=light] .km-sp-bar{background:#1db9540f;border-color:#1db95433}[data-theme=light] .km-sp-bar-device{border-color:var(--border);background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=light] .km-sp-bar-device:hover{background:var(--bg-secondary);color:var(--text-primary)}[data-theme=light] .km-device-picker{background:#fff;border-color:var(--border);box-shadow:0 8px 32px #0000001f}[data-theme=light] .km-device-item:hover{background:#1db9540f}[data-theme=light] .km-card-thumb-empty{background:var(--bg-tertiary)}[data-theme=light] .km-album-back{background:var(--bg-tertiary);border-color:var(--border);color:var(--text-primary)}[data-theme=light] .km-album-back:hover{background:var(--bg-secondary)}[data-theme=light] .km-album-title{color:var(--text-primary)}[data-theme=light] .km-album-art-empty{background:var(--bg-tertiary)}[data-theme=light] .km-track-row:hover{background:#0000000a}[data-theme=light] .km-track-row:active{background:#1db95414}.transit-location-step{max-width:800px;margin:0 auto}.transit-step-header{text-align:center;margin-bottom:2rem}.transit-step-header h2{font-size:2rem;margin:0 0 .5rem;color:var(--text-primary)}.transit-step-description{color:var(--text-muted);margin:0;font-size:1rem;line-height:1.6}.departures-view{width:100%;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.departures-location-header{background:linear-gradient(135deg,#4facfe1a,#00f2fe0d);border-radius:12px;padding:1.5rem 2rem;margin-bottom:2rem;border:1px solid rgba(79,172,254,.3);box-shadow:0 4px 12px #4facfe1a;display:flex;align-items:center;justify-content:space-between;gap:2rem}.location-info h2{margin:0 0 .25rem;font-size:1.5rem;color:var(--text-primary)}.location-info p{margin:0;color:var(--text-muted);font-size:.9rem}.location-actions{display:flex;gap:1rem;align-items:center}.refresh-btn{background:linear-gradient(135deg,#4facfe33,#00f2fe33);border:1px solid rgba(79,172,254,.3);padding:.625rem .875rem;border-radius:8px;cursor:pointer;font-size:1.25rem;transition:all .3s ease}.refresh-btn:hover:not(:disabled){background:linear-gradient(135deg,#4facfe4d,#00f2fe4d);border-color:#4facfe80;transform:rotate(180deg)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.3}}.last-update{text-align:center;color:var(--text-muted);font-size:.8125rem;margin-bottom:1.5rem;padding:.5rem;background:var(--bg-secondary);border-radius:6px;display:inline-block;margin-left:50%;transform:translate(-50%)}.stations-list{display:flex;flex-direction:column;gap:1.5rem}.station-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);transition:all .3s ease;position:relative;overflow:hidden}.station-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#4facfe,#00f2fe);opacity:0;transition:opacity .3s ease}.station-card:hover{box-shadow:var(--shadow-md);border-color:#4facfe66;transform:translateY(-2px)}.station-card:hover:before{opacity:1}.station-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.station-name-wrapper{flex:1}.station-name{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary);font-weight:600}.station-distance{color:var(--text-muted);font-size:.875rem}.station-products{display:flex;gap:.5rem;flex-wrap:wrap}.product-badge{padding:.25rem .625rem;border-radius:4px;font-size:.75rem;font-weight:700;color:#fff}.product-badge.sbahn{background:#36ab4d;border-radius:50%;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center}.product-badge.ubahn{background:#005596}.product-badge.tram{background:#c00}.product-badge.bus{background:#a3007c;padding:.25rem .5rem;font-size:.6rem;letter-spacing:.5px}.no-departures{text-align:center;padding:2rem;color:var(--text-muted);font-style:italic}.service-marquee{background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border:2px solid #ffcc00;border-radius:8px;padding:.75rem 0;margin-bottom:1rem;overflow:hidden;position:relative;box-shadow:0 4px 20px #00000080,inset 0 0 30px #ffcc001a;transition:all .3s ease}.service-marquee.normal{border-color:#36ab4d;box-shadow:0 4px 20px #00000080,inset 0 0 30px #36ab4d1a}.service-marquee.normal:before{background:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(54,171,77,.03) 1px,rgba(54,171,77,.03) 2px)}.service-marquee.normal .marquee-item{color:#36ab4d;text-shadow:0 0 10px rgba(54,171,77,.5),0 0 20px rgba(54,171,77,.2)}.service-marquee.warning{border-color:#fc0}.service-marquee.warning:before{background:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(255,204,0,.03) 1px,rgba(255,204,0,.03) 2px)}.service-marquee.warning .marquee-item{color:#fc0;text-shadow:0 0 10px rgba(255,204,0,.5),0 0 20px rgba(255,204,0,.2)}.service-marquee:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.marquee-content{display:flex;animation:marquee 15s linear infinite;white-space:nowrap}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-item{display:inline-block;padding:0 3rem;font-family:Courier New,monospace;font-size:.95rem;font-weight:600;letter-spacing:.5px}.transport-filters{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ffffff05;border-radius:12px;margin-bottom:1rem;border:1px solid rgba(255,255,255,.05);flex-wrap:wrap}.filters-label{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin-right:.5rem}.filter-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:.875rem}.filter-btn:hover{background:#ffffff14;border-color:#ffffff26;transform:translateY(-1px)}.filter-btn.active{background:#ffffff1a;color:#fff;box-shadow:0 4px 12px #0000004d}.filter-btn-sbahn.active{border-color:#36ab4d}.filter-btn-ubahn.active{border-color:#005596}.filter-btn-tram.active{border-color:#c00}.filter-btn-bus.active{border-color:#a3007c}.filter-btn .filter-icon{font-size:1.25rem}.filter-btn .filter-label{font-weight:500}.transit-logo{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:#fff;border-radius:4px;flex-shrink:0}.sbahn-logo{background:#36ab4d;border-radius:50%;font-family:Helvetica Neue,Arial,sans-serif}.ubahn-logo{background:#005596;border-radius:4px;font-family:Helvetica Neue,Arial,sans-serif}.tram-logo{background:#c00;border-radius:4px;font-family:Helvetica Neue,Arial,sans-serif}.bus-logo{background:#a3007c;border-radius:4px;font-family:Helvetica Neue,Arial,sans-serif;font-size:.55rem;letter-spacing:.3px;font-weight:700;padding:0 2px}.radius-selector{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ffffff05;border-radius:12px;margin-bottom:1rem;border:1px solid rgba(255,255,255,.05);flex-wrap:wrap}.radius-label{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin-right:.5rem}.radius-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.radius-btn{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500;min-width:60px}.radius-btn:hover{background:#ffffff14;border-color:#ffffff26;transform:translateY(-1px)}.radius-btn.active{background:#6366f133;border-color:#6366f166;color:#60a5fa;box-shadow:0 0 12px #6366f14d}.vintage-board{background:linear-gradient(180deg,#1a1a1a,#0a0a0a);border:2px solid #333;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #00000080,inset 0 1px #ffffff1a}.board-header{display:grid;grid-template-columns:80px 1fr 90px 110px;gap:1rem;padding:.75rem 1rem;background:linear-gradient(180deg,#2a2a2a,#1a1a1a);border-bottom:2px solid #444;font-size:.75rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em}.board-row{display:grid;grid-template-columns:80px 1fr 90px 110px;gap:1rem;padding:.875rem 1rem;border-bottom:1px solid #222;transition:all .2s;position:relative}.board-row:last-child{border-bottom:none}.board-row:hover{background:#ffcc000d}.board-row:hover:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#fc0;animation:pulse 2s infinite}.board-cell{display:flex;align-items:center;gap:.5rem}.flip-text{font-family:Courier New,Monaco,monospace;font-size:.95rem;color:#fc0;text-shadow:0 0 10px rgba(255,204,0,.3),0 0 20px rgba(255,204,0,.1);letter-spacing:.02em;animation:subtle-flicker 3s infinite}@keyframes subtle-flicker{0%,to{opacity:1}50%{opacity:.95}}.vintage-line-badge{padding:.375rem .625rem;border-radius:4px;font-weight:700;font-size:.875rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 2px 4px #0000004d,inset 0 1px #fff3;min-width:50px;text-align:center}.destination-cell{font-weight:500}.platform-cell,.time-cell{justify-content:center;font-weight:600}.delayed-time{color:#f44!important;text-shadow:0 0 10px rgba(255,68,68,.5),0 0 20px rgba(255,68,68,.2)!important;animation:blink 2s infinite}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:.7}}.vintage-delay{font-family:Courier New,monospace;font-size:.75rem;color:#f44;background:#ff444426;padding:.125rem .375rem;border-radius:3px;font-weight:700;border:1px solid rgba(255,68,68,.3)}.departures-list{display:flex;flex-direction:column;gap:.875rem}.departure-item{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem;background:var(--bg-tertiary);border-radius:8px;border-left:3px solid transparent;transition:all .2s ease}.departure-item:hover{background:var(--bg-primary);border-left-color:#4facfe;transform:translate(2px)}.departure-line{display:flex;align-items:center;gap:.5rem}.line-icon{font-size:1.25rem}.line-badge{padding:.375rem .75rem;border-radius:6px;font-weight:700;color:#fff;font-size:.875rem;min-width:3rem;text-align:center;box-shadow:0 2px 8px #0000004d;border:1px solid rgba(255,255,255,.1)}.departure-direction{color:var(--text-primary);font-size:.95rem;display:flex;flex-direction:column;gap:.25rem}.departure-platform{color:var(--text-muted);font-size:.8125rem}.departure-time{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;font-size:1rem;font-weight:600;color:var(--success);min-width:4rem}.departure-time.delayed{color:var(--warning)}.delay-badge{background:var(--danger);color:#fff;padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.departures-loading,.departures-error,.departures-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:2rem}.departures-loading h3,.departures-error h3,.departures-empty h3{margin:1rem 0 .5rem;font-size:1.5rem;color:var(--text-primary)}.departures-loading p,.departures-error p,.departures-empty p{color:var(--text-muted);margin:0}.error-icon,.empty-icon{font-size:4rem}.error-actions{display:flex;gap:1rem;margin-top:1.5rem}@media (max-width: 768px){.transit-header{padding:.625rem .75rem}.transit-header-content{flex-direction:column;gap:.5rem;text-align:center;padding:.5rem}.transit-branding h1{font-size:1.125rem}.transit-branding h1:before{font-size:1.25rem}.transit-branding p{margin-left:1.5rem;font-size:.75rem}.transit-main{padding:.75rem}.location-picker-content{padding:1rem .75rem}.step-header{margin-bottom:1.25rem}.step-header h2{font-size:1.25rem;margin-bottom:.375rem}.step-description{font-size:.875rem}.departures-location-header{flex-direction:column;align-items:stretch;padding:1rem 1rem .875rem;gap:.875rem;margin-bottom:1rem}.location-info{width:100%}.location-info h2{font-size:1.15rem;line-height:1.3;margin-bottom:.25rem}.location-info p{font-size:.875rem;margin:0}.location-actions{width:100%;display:flex;gap:.5rem;align-items:center}.location-actions .btn-secondary{flex:1;padding:.625rem .875rem;font-size:.875rem;white-space:nowrap}.location-actions .refresh-btn{flex-shrink:0;width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.board-header,.board-row{grid-template-columns:55px 1fr 55px 80px;gap:.4rem;padding:.625rem .4rem;font-size:.8rem}.board-header{font-size:.6rem;padding:.5rem .4rem}.flip-text{font-size:.8rem;overflow:hidden;text-overflow:ellipsis}.destination-cell .flip-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.vintage-line-badge{min-width:38px;padding:.2rem .4rem;font-size:.7rem}.vintage-delay{font-size:.6rem;padding:.1rem .2rem}.time-cell,.platform-cell{font-size:.75rem}.service-marquee{padding:.5rem 0;margin-bottom:.75rem}.marquee-item{font-size:.85rem;padding:0 2rem}.transport-filters{padding:.75rem;gap:.5rem}.filter-btn{padding:.5rem .75rem;font-size:.8rem}.filter-btn .filter-icon{font-size:1.1rem}.transit-logo{width:24px;height:24px;font-size:.95rem}.bus-logo{font-size:.5rem;letter-spacing:.2px}.filters-label{width:100%;margin-bottom:.25rem}.radius-selector{padding:.75rem;gap:.5rem}.radius-label{width:100%;margin-bottom:.25rem}.radius-btn{padding:.5rem .75rem;font-size:.8rem;min-width:55px}.departure-item{grid-template-columns:1fr;gap:.75rem}.departure-time{align-items:flex-start}.station-card{padding:1rem}.station-header{flex-direction:column;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem}.station-products{align-self:flex-start}.station-name{font-size:1.1rem}.station-distance{font-size:.75rem}.error-actions{flex-direction:column;width:100%}.error-actions .btn{width:100%}}.transactions-page{width:100%;max-width:1400px;margin:0 auto;padding:2rem}.transactions-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid var(--border);padding-bottom:0}.transactions-tabs .tab{background:transparent;border:none;padding:.75rem 1.5rem;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;border-bottom:3px solid transparent;transition:color .2s ease,border-color .2s ease;position:relative;top:2px;border-radius:0}.transactions-tabs .tab:hover{color:var(--text-primary)}.transactions-tabs .tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.transactions-content{background:var(--bg-secondary);border-radius:16px;padding:2rem;box-shadow:var(--shadow-md)}.transaction-upload-container h2{font-size:2rem;margin-bottom:.5rem;color:var(--text-primary)}.upload-description{color:var(--text-secondary);margin-bottom:2rem}.error-message{background:#ef444433;border:1px solid var(--danger);border-radius:8px;padding:1rem;margin-bottom:1.5rem;color:var(--danger)}.error-content{display:flex;flex-direction:column;align-items:flex-start}.error-text{font-size:.95rem;line-height:1.6;white-space:pre-wrap}.upload-section{display:flex;flex-direction:column;gap:2rem}.upload-zone{border:3px dashed var(--border);border-radius:16px;padding:4rem 2rem;text-align:center;transition:all .3s ease;background:#6366f10d}.upload-zone:hover{border-color:var(--accent);background:#6366f11a}.upload-zone.drag-active{border-color:var(--accent);background:#6366f126;transform:scale(1.02)}.upload-label{cursor:pointer;display:block}.upload-icon{font-size:4rem;margin-bottom:1rem}.upload-main-text{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem}.upload-hint{color:var(--text-muted);font-size:.9rem}.files-selected-section{display:flex;flex-direction:column;gap:1.5rem}.files-selected-section h3{color:var(--text-primary);margin:0}.files-list{display:flex;flex-direction:column;gap:.75rem}.file-selected-item{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:all .2s ease}.file-selected-item:hover{border-color:var(--accent)}.file-selected{background:var(--bg-tertiary);border-radius:12px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.btn-remove-file{background:#ef444433;border:1px solid var(--danger);color:var(--danger);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:.9rem}.btn-remove-file:hover{background:var(--danger);color:#fff;transform:scale(1.1)}.btn-large{width:100%;padding:1rem 2rem;font-size:1.1rem}.upload-progress-container{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:2rem;margin-top:1.5rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.progress-header h3{color:var(--text-primary);margin:0;font-size:1.25rem}.files-count{color:var(--accent);font-weight:600;font-size:1rem}.progress-bar-wrapper{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.progress-bar{flex:1;height:12px;background:var(--bg-secondary);border-radius:6px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#8b5cf6);border-radius:6px;transition:width .3s ease;position:relative;overflow:hidden}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-percentage{color:var(--text-primary);font-weight:700;font-size:1rem;min-width:45px;text-align:right}.progress-status{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px;margin-bottom:1.5rem}.status-icon{font-size:2rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.status-text{flex:1}.status-message{color:var(--text-primary);font-weight:600;margin:0 0 .25rem;font-size:1rem}.current-file{color:var(--text-muted);margin:0;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.processing-steps{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;position:relative}.step-icon{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);border:2px solid var(--border);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;transition:all .3s ease}.step.active .step-icon{background:#6366f133;border-color:var(--accent);color:var(--accent);animation:stepPulse 1.5s ease-in-out infinite}.step.complete .step-icon{background:var(--accent);border-color:var(--accent);color:#fff;animation:none}@keyframes stepPulse{0%,to{box-shadow:0 0 #6366f1b3}50%{box-shadow:0 0 0 8px #6366f100}}.step-label{color:var(--text-muted);font-size:.85rem;font-weight:500;text-align:center;transition:color .3s ease}.step.active .step-label{color:var(--accent);font-weight:600}.step.complete .step-label{color:var(--text-primary)}.step-line{height:2px;background:var(--border);flex:1;margin:0 -.5rem 1.5rem;transition:background .3s ease}.step.complete+.step-line{background:var(--accent)}.file-info{display:flex;align-items:center;gap:1rem;overflow:hidden}.file-icon{font-size:2rem}.file-name{font-weight:500;color:var(--text-primary);margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.file-size{color:var(--text-muted);font-size:.9rem}.preview-section{display:flex;flex-direction:column;gap:2rem}.preview-success-banner{display:flex;align-items:center;gap:1.5rem;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:2px solid var(--accent);border-radius:12px;padding:2rem;animation:slideInBanner .5s ease-out}@keyframes slideInBanner{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.success-icon{font-size:3rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--accent);border-radius:50%;color:#fff;flex-shrink:0;animation:successPop .6s ease-out .2s both}@keyframes successPop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.success-content h2{margin:0 0 .5rem;color:var(--accent);font-size:1.5rem}.success-content p{margin:0;color:var(--text-secondary);font-size:1rem}.preview-summary{background:var(--bg-tertiary);border-radius:12px;padding:1.5rem}.preview-summary h3{color:var(--text-primary);margin-bottom:1rem}.files-summary{margin:1rem 0;padding:1rem;background:var(--bg-secondary);border-radius:8px}.duplicate-notice{margin:1rem 0;padding:1rem 1.5rem;background:#fbbf241a;border-left:4px solid var(--warning);border-radius:8px}.duplicate-header{color:var(--warning);font-weight:600;font-size:1rem;margin-bottom:.5rem}.duplicate-explanation{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.files-summary p{margin:0;color:var(--text-secondary)}.success-text{color:var(--success);font-weight:600}.error-text{color:var(--danger);font-weight:600}.file-results{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.file-result{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:6px;border-left:3px solid transparent}.file-result.success{border-left-color:var(--success)}.file-result.failed{border-left-color:var(--danger)}.file-result-icon{font-size:1.2rem;font-weight:700}.file-result.success .file-result-icon{color:var(--success)}.file-result.failed .file-result-icon{color:var(--danger)}.file-result-name{flex:1;color:var(--text-primary);font-weight:500}.file-result-count{color:var(--text-muted);font-size:.9rem}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat{display:flex;flex-direction:column;gap:.25rem}.stat-label{color:var(--text-muted);font-size:.9rem}.stat-value{font-size:1.5rem;font-weight:700}.stat-value.positive{color:var(--success)}.stat-value.negative{color:var(--danger)}.transactions-preview{display:flex;flex-direction:column;gap:1rem;max-height:600px;overflow-y:auto;padding:1rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border)}.preview-note{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem;position:sticky;top:0;background:var(--bg-secondary);padding:.5rem;margin:-1rem -1rem 1rem;border-bottom:1px solid var(--border);z-index:1}.transaction-preview-item{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;position:relative}.transaction-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.transaction-header-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.transaction-date{color:var(--text-muted);font-size:.9rem;white-space:nowrap}.btn-remove{background:#ef444433;border:1px solid var(--danger);color:var(--danger);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.btn-remove:hover{background:var(--danger);color:#fff;transform:scale(1.1)}.transaction-preview-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.preview-field{display:flex;flex-direction:column;gap:.5rem}.preview-field.full-width{grid-column:1 / -1}.preview-field label{color:var(--text-muted);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.preview-field input,.preview-field select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.75rem;color:var(--text-primary);font-size:1rem}.preview-field input:focus,.preview-field select:focus{outline:none;border-color:var(--accent)}.badge-type{font-size:.75rem;padding:.35rem .75rem;white-space:nowrap}.badge{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase}.badge.debit{background:#ef444433;color:var(--danger);border:1px solid var(--danger)}.badge.credit{background:#10b98133;color:var(--success);border:1px solid var(--success)}.preview-actions-top{position:sticky;top:70px;background:var(--bg-primary);border:2px solid var(--accent);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;z-index:20;box-shadow:0 4px 12px #00000026}.preview-actions-header{margin-bottom:1rem}.preview-actions-header h3{color:var(--text-primary);margin:0 0 .25rem;font-size:1.25rem}.transaction-count{color:var(--text-muted);margin:0;font-size:.9rem}.preview-actions{display:flex;justify-content:flex-end;gap:1rem}.preview-actions .btn-primary{font-size:1.1rem;padding:.875rem 2.5rem;box-shadow:0 4px 12px #6366f14d;font-weight:600}@keyframes pulse-button{0%,to{box-shadow:0 4px 12px #6366f14d;transform:scale(1)}50%{box-shadow:0 6px 20px #6366f180;transform:scale(1.02)}}.transactions-list-container h2{font-size:2rem;margin-bottom:2rem;color:var(--text-primary)}.filters-section{background:var(--bg-tertiary);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:var(--text-muted);font-size:.85rem;font-weight:500;text-transform:uppercase}.filter-group input,.filter-group select{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.75rem;color:var(--text-primary);font-size:1rem}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--accent)}.transactions-grid{display:flex;flex-direction:column;gap:1rem;padding-bottom:2rem}.transactions-summary{color:var(--text-muted);margin-bottom:1rem}.transaction-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:16px;padding:1.25rem;transition:all .2s ease;display:flex;gap:.75rem;position:relative;overflow:hidden}.transaction-card.ignored{opacity:.6;background:var(--bg-secondary)}.transaction-card.disabled{opacity:.5;pointer-events:none;filter:grayscale(50%)}.transaction-card.ignored:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:repeating-linear-gradient(45deg,var(--text-muted),var(--text-muted) 10px,transparent 10px,transparent 20px);opacity:.3}.transaction-card.selected{border-color:var(--accent);background:#6366f10d;box-shadow:0 0 0 2px #6366f133}.transaction-card:hover:not(.ignored){border-color:var(--accent-secondary);box-shadow:0 4px 12px #0000001a}.transaction-select{display:flex;align-items:flex-start;padding-top:.5rem}.transaction-select input[type=checkbox]{width:18px;height:18px;cursor:pointer}.list-controls{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-tertiary);border-radius:8px;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.toggle-ignored-container{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.toggle-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.bulk-actions{display:flex;gap:.5rem;flex-wrap:wrap}.select-all-container{display:flex;align-items:center;gap:.5rem}.select-all-container input[type=checkbox]{width:18px;height:18px;cursor:pointer}.ignored-badge{display:inline-flex;align-items:center;background:#ef444426;border:1px solid rgba(239,68,68,.3);color:var(--danger);padding:.125rem .5rem;border-radius:8px;font-size:.7rem;font-weight:600}.transaction-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex:1}.transaction-main{display:flex;align-items:flex-start;gap:.75rem;flex:1;min-width:0}.category-icon{font-size:2rem;flex-shrink:0;line-height:1}.transaction-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.transaction-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.transaction-merchant{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0;line-height:1.4}.transaction-meta-row{display:flex;align-items:center;gap:.75rem;font-size:.875rem;flex-wrap:wrap}.transaction-category{color:var(--text-muted);text-transform:capitalize}.transaction-institution{color:var(--success);font-size:.8rem;font-weight:500;background:#34d3991a;padding:.125rem .5rem;border-radius:6px;border:1px solid rgba(52,211,153,.2)}.transaction-date{color:var(--text-muted)}.transaction-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.transaction-amount{font-size:1.25rem;font-weight:700;white-space:nowrap}.transaction-amount.debit{color:var(--danger)}.transaction-amount.credit{color:var(--success)}.transaction-actions{display:flex;gap:.375rem;align-items:center}.btn-icon{background:var(--bg-secondary);border:1px solid var(--border);width:32px;height:32px;cursor:pointer;color:var(--text-secondary);border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.btn-icon:hover{border-color:var(--accent);color:var(--accent);background:#6366f11a}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon:disabled:hover{border-color:var(--border);color:var(--text-secondary);background:var(--bg-secondary);transform:none}.btn-icon.btn-edit:hover{border-color:var(--accent);color:var(--accent)}.btn-icon.btn-delete:hover{border-color:var(--danger);color:var(--danger);background:#ef44441a}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-secondary);border:1px solid var(--border);transition:.3s;border-radius:24px;display:flex;align-items:center;justify-content:center}.toggle-switch.loading .toggle-slider{opacity:.7;pointer-events:none}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:var(--text-muted);transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#ef444433;border-color:var(--danger)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background-color:var(--danger)}.toggle-switch:hover .toggle-slider{border-color:var(--accent)}.transaction-edit-form{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--bg-secondary);border:2px solid var(--accent);border-radius:8px;flex:1}@media (max-width: 768px){.transaction-actions{opacity:1}.btn-icon{font-size:1rem}.transaction-amount-and-actions{flex-direction:column;align-items:flex-start;gap:.5rem}.list-controls{flex-direction:column;align-items:stretch}.bulk-actions{width:100%}.bulk-actions button{flex:1}.transaction-card{padding:1rem;border-radius:12px}.transaction-select{padding-top:.25rem;flex-shrink:0}.transaction-select input[type=checkbox]{width:20px;height:20px}.transaction-card-header{flex-direction:column;gap:.75rem}.transaction-main{gap:.625rem}.category-icon{font-size:1.75rem}.transaction-merchant{font-size:.95rem}.transaction-meta-row{font-size:.8rem}.transaction-institution{font-size:.7rem;padding:.1rem .4rem}.transaction-right{align-items:flex-start;width:100%;flex-direction:row;justify-content:space-between}.transaction-amount{font-size:1.1rem}.transaction-actions{gap:.25rem}.btn-icon{width:28px;height:28px}.toggle-switch{width:40px;height:22px}.toggle-slider:before{height:14px;width:14px;left:3px;bottom:3px}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.transaction-card-body{padding-top:.625rem;margin-top:.625rem}.transaction-description{font-size:.8125rem;line-height:1.4}.transaction-badges{gap:.375rem}.badge{font-size:.7rem;padding:.2rem .5rem}.list-controls{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.toggle-ignored-container{width:100%;justify-content:space-between}.bulk-actions{width:100%;flex-direction:column}.bulk-actions button{width:100%}.transactions-grid{gap:.75rem;padding-bottom:1rem}}.transaction-card-body{padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.transaction-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0}.transaction-badges{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.badge{padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:500;display:inline-flex;align-items:center;gap:.25rem}.badge-institution{background:#34d39926;border:1px solid rgba(52,211,153,.3);color:var(--success)}.toast-container{position:fixed;top:80px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:400px}.toast{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:12px;box-shadow:0 4px 12px #0000004d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid;opacity:0;transform:translate(400px);transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-show{opacity:1;transform:translate(0)}.toast-icon{font-size:1.25rem;font-weight:700;flex-shrink:0}.toast-message{color:var(--text-primary);font-size:.9rem;line-height:1.4}.toast-success{background:#10b98126;border-color:var(--success)}.toast-success .toast-icon{color:var(--success)}.toast-error{background:#ef444426;border-color:var(--danger)}.toast-error .toast-icon{color:var(--danger)}.toast-warning{background:#f59e0b26;border-color:var(--warning)}.toast-warning .toast-icon{color:var(--warning)}.toast-info{background:#6366f126;border-color:var(--accent)}.toast-info .toast-icon{color:var(--accent)}@media (max-width: 768px){.toast-container{top:70px;right:10px;left:10px;max-width:none}.toast{padding:.875rem 1rem}}.no-transactions{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.no-transactions .hint{margin-top:.5rem;font-size:.9rem}.loading{text-align:center;padding:4rem 2rem;color:var(--text-secondary);font-size:1.1rem}.loading-container-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem;padding:2rem}.loading-spinner-animated{position:relative;display:inline-block}.loading-spinner-small{width:40px;height:40px}.loading-spinner-medium{width:60px;height:60px}.loading-spinner-large{width:80px;height:80px}.spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid transparent;border-top-color:var(--accent);border-radius:50%;animation:spinRing 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-ring:nth-child(1){animation-delay:-.45s;border-top-color:#667eea}.spinner-ring:nth-child(2){animation-delay:-.3s;border-top-color:#764ba2}.spinner-ring:nth-child(3){animation-delay:-.15s;border-top-color:#8b5cf6}@keyframes spinRing{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{font-size:1rem;color:var(--text-secondary);margin:0;font-weight:500;animation:fadeInOut 2s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.5}50%{opacity:1}}.transactions-dashboard-container h2{font-size:2rem;margin-bottom:2rem;color:var(--text-primary)}.dashboard-filters{background:var(--bg-tertiary);border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;gap:1rem;align-items:flex-end}.dashboard-content{display:flex;flex-direction:column;gap:2rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.summary-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.summary-card.income{border-left:4px solid var(--success)}.summary-card.expense{border-left:4px solid var(--danger)}.summary-card.net{border-left:4px solid var(--accent)}.summary-card h3{color:var(--text-muted);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.summary-amount{font-size:2rem;font-weight:700;color:var(--text-primary)}.analytics-section{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:2rem}.analytics-section h3{color:var(--text-primary);margin-bottom:1.5rem}.category-breakdown{display:flex;flex-direction:column;gap:1.5rem}.category-item{display:flex;flex-direction:column;gap:.5rem}.category-header{display:flex;justify-content:space-between;align-items:center}.category-name{color:var(--text-primary);font-weight:500;text-transform:capitalize}.category-amount{color:var(--text-primary);font-weight:700}.category-bar{background:var(--bg-secondary);border-radius:4px;height:8px;overflow:hidden}.category-bar-fill{background:linear-gradient(90deg,var(--accent),var(--accent-hover));height:100%;transition:width .3s ease}.category-meta{display:flex;justify-content:space-between;color:var(--text-muted);font-size:.85rem}.merchants-list{display:flex;flex-direction:column;gap:1rem}.merchant-item{display:flex;align-items:center;gap:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem}.merchant-rank{background:var(--accent);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.merchant-info{flex:1}.merchant-info h4{color:var(--text-primary);margin-bottom:.25rem}.merchant-info p{color:var(--text-muted);font-size:.85rem}.merchant-total{color:var(--text-primary);font-weight:700;font-size:1.25rem}.timeline-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.timeline-summary-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem}.timeline-summary-label{color:var(--text-muted);font-size:.875rem;font-weight:500}.timeline-summary-value{font-size:1.75rem;font-weight:700}.timeline-chart-container{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:2rem 1rem;overflow-x:auto;margin-bottom:1rem}.timeline-chart-wrapper{display:flex;gap:8px;min-width:100%;height:250px;align-items:flex-end}.timeline-day{flex:1;min-width:40px;display:flex;flex-direction:column;align-items:center;gap:.75rem;position:relative;cursor:pointer;transition:all .2s ease}.timeline-day:hover{transform:translateY(-2px)}.timeline-bars{display:flex;gap:4px;align-items:flex-end;height:180px;width:100%;padding:0 4px}.timeline-bar{flex:1;border-radius:6px 6px 0 0;min-height:4px;transition:all .3s ease;position:relative}.timeline-bar.debit{background:linear-gradient(180deg,#ff6b6b,#ee5a52)}.timeline-bar.credit{background:linear-gradient(180deg,#51cf66,#37b24d)}.timeline-day:hover .timeline-bar{filter:brightness(1.1);box-shadow:0 4px 8px #0003}.timeline-date{color:var(--text-secondary);font-size:.75rem;font-weight:500;text-align:center;white-space:nowrap}.timeline-tooltip{position:absolute;bottom:calc(100% + 1rem);left:50%;transform:translate(-50%);background:var(--bg-primary);border:2px solid var(--accent);border-radius:8px;padding:1rem;min-width:220px;box-shadow:0 8px 24px #0000004d;z-index:100;animation:tooltipFadeIn .2s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.timeline-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:var(--accent)}.tooltip-date{color:var(--text-primary);font-weight:600;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);font-size:.875rem}.tooltip-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.tooltip-row.total{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border);font-weight:600}.tooltip-label{color:var(--text-muted);font-size:.875rem}.tooltip-value{font-weight:600;font-size:.875rem}@media (max-width: 768px){.timeline-chart-wrapper{gap:4px;height:200px}.timeline-day{min-width:30px}.timeline-bars{height:140px;gap:2px}.timeline-date{font-size:.65rem}.timeline-tooltip{min-width:180px;padding:.75rem}}.insights-container{display:flex;flex-direction:column;gap:2rem}.insights-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.stat-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;text-align:center}.stat-label{color:var(--text-muted);font-size:.875rem;font-weight:500;margin-bottom:.75rem}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.stat-sublabel{color:var(--text-muted);font-size:.75rem}.insights-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:2rem}.insights-section h3{margin:0 0 1.5rem;color:var(--text-primary)}.insights-grid{display:grid;gap:1rem}.insight-card{background:var(--bg-tertiary);border-left:4px solid var(--accent);border-radius:8px;padding:1.5rem}.insight-card.insight-success{border-left-color:var(--success)}.insight-card.insight-warning{border-left-color:var(--warning)}.insight-card.insight-info{border-left-color:var(--accent)}.insight-card.insight-action{border-left-color:var(--danger)}.insight-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.insight-icon{font-size:1.5rem}.insight-header h4{margin:0;color:var(--text-primary);font-size:1.1rem}.insight-description{color:var(--text-secondary);line-height:1.6;margin:0 0 1rem}.insight-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.action-label{color:var(--text-muted);font-size:.875rem;font-weight:600;margin-bottom:.5rem}.insight-actions ul{margin:0;padding-left:1.5rem;color:var(--text-secondary)}.insight-actions li{margin-bottom:.5rem;line-height:1.5}.pattern-cards{display:grid;gap:1rem}.pattern-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.pattern-card h4{margin:0 0 1.5rem;color:var(--text-primary)}.day-chart{display:flex;align-items:flex-end;justify-content:space-around;height:150px;gap:.5rem}.day-bar-container{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;height:100%}.day-bar{width:100%;background:var(--accent);border-radius:4px 4px 0 0;min-height:4px;transition:all .3s ease;cursor:pointer}.day-bar:hover{filter:brightness(1.2);transform:scaleY(1.05)}.day-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.unusual-transactions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.unusual-transaction-card{display:flex;justify-content:space-between;align-items:center;background:var(--bg-tertiary);border:1px solid var(--warning);border-radius:8px;padding:1rem 1.5rem}.transaction-info{display:flex;flex-direction:column;gap:.25rem}.transaction-merchant{color:var(--text-primary);font-weight:600}.unusual-note{color:var(--text-muted);font-size:.875rem;line-height:1.6;margin:0;padding:1rem;background:var(--bg-tertiary);border-radius:8px;border-left:3px solid var(--warning)}@media (max-width: 768px){.insights-stats-grid{grid-template-columns:1fr}.stat-value{font-size:1.5rem}.day-chart{height:120px}.unusual-transaction-card{flex-direction:column;align-items:flex-start;gap:.75rem}}.timeline-legend{display:flex;gap:2rem;justify-content:center;margin-top:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem}.legend-color{width:20px;height:12px;border-radius:4px}.legend-color.debit{background:var(--danger)}.legend-color.credit{background:var(--success)}.no-data{text-align:center;padding:4rem 2rem;color:var(--text-muted)}@media (max-width: 768px){.transactions-page{padding:1rem}.transactions-tabs{gap:.5rem}.transactions-tabs .tab{padding:.75rem 1rem;font-size:.9rem}.transactions-content{padding:1rem}.transaction-upload-container h2,.transactions-list-container h2,.transactions-dashboard-container h2{font-size:1.5rem}.filters-grid,.summary-stats,.transaction-preview-body{grid-template-columns:1fr}.transaction-header-left{flex-wrap:wrap;gap:.5rem}.badge-type{font-size:.7rem;padding:.25rem .6rem}.dashboard-filters{flex-direction:column;align-items:stretch}.summary-cards{grid-template-columns:1fr}.timeline-date{font-size:.6rem}.file-selected{flex-direction:column;text-align:center}.preview-actions-top{top:60px;padding:1rem;margin-bottom:1rem}.preview-actions-header h3{font-size:1.1rem}.preview-actions{flex-direction:column}.preview-actions .btn{width:100%}.preview-actions .btn-primary{font-size:1rem;padding:.75rem 1.5rem}.transactions-preview{max-height:400px;padding:.75rem}.preview-success-banner{flex-direction:column;text-align:center;padding:1.5rem;gap:1rem}.success-content h2{font-size:1.25rem}.success-content p{font-size:.9rem}.success-icon{width:50px;height:50px;font-size:2rem}.transaction-card-header{flex-direction:column;align-items:flex-start;gap:1rem}.transaction-amount{align-self:flex-end}.upload-progress-container{padding:1.5rem 1rem}.progress-header h3{font-size:1.1rem}.processing-steps{flex-direction:column;gap:1rem}.step{flex-direction:row;width:100%;justify-content:flex-start;padding:.75rem;background:var(--bg-secondary);border-radius:8px}.step-line{display:none}.step-label{text-align:left;margin-left:1rem}.status-icon{font-size:1.5rem}.current-file{font-size:.8rem}}.haaretz-archive-app{min-height:100vh;background:#f5f5f0;filter:grayscale(100%) contrast(1.05)}.haaretz-header{background:linear-gradient(135deg,#2c2c2c,#1a1a1a);padding:1.5rem 2rem;box-shadow:0 2px 8px #0000004d;position:sticky;top:0;z-index:100}.haaretz-header-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:2rem}.haaretz-branding h1{font-family:Georgia,Times New Roman,serif;font-size:2rem;margin:0;color:#fff;font-weight:700;letter-spacing:.5px}.haaretz-branding p{margin:.25rem 0 0;color:#ccc;font-size:.9rem;font-family:Georgia,serif;font-style:italic}.haaretz-container{max-width:1400px;margin:0 auto;padding:2rem}.archive-controls{text-align:center;margin-bottom:2rem;padding:2rem;background:#fff;border:3px double #333;box-shadow:0 4px 12px #00000026}.render-archive-btn{font-family:Georgia,serif;font-size:1.2rem;padding:1rem 2.5rem;background:#2c2c2c;color:#fff;border:none;cursor:pointer;font-weight:700;letter-spacing:.5px;transition:all .3s ease;box-shadow:0 4px 8px #0003}.render-archive-btn:hover:not(:disabled){background:#1a1a1a;transform:translateY(-2px);box-shadow:0 6px 12px #00000040}.render-archive-btn:disabled{opacity:.6;cursor:not-allowed}.progress-message{margin-top:1.5rem;font-family:Georgia,serif;font-size:1.1rem;color:#2c2c2c;font-weight:600;padding:1rem 1.5rem;background:#f9f9f9;border:2px solid #2c2c2c;display:flex;align-items:center;gap:1rem;justify-content:center}.progress-spinner{width:24px;height:24px;border:3px solid #ddd;border-top-color:#2c2c2c;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{margin-top:1rem;padding:1rem;background:#fee;border:2px solid #c33;color:#c33;font-family:Georgia,serif;font-weight:600}.archive-info{text-align:center;font-family:Georgia,serif;font-size:1rem;margin-bottom:1.5rem;padding:1.5rem;background:#fff;border:2px solid #ddd;display:flex;flex-direction:column;gap:1rem;align-items:center}.archive-info strong{font-weight:700;color:#000}.archive-all-btn{font-family:Georgia,serif;font-size:1rem;padding:.75rem 1.5rem;background:#f39c12;color:#fff;border:none;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 3px 6px #f39c124d}.archive-all-btn:hover:not(:disabled){background:#e67e22;transform:translateY(-2px);box-shadow:0 4px 8px #f39c1266}.archive-all-btn:disabled{opacity:.6;cursor:not-allowed}.archive-actions{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap}.refresh-btn{font-family:Georgia,serif;font-size:1rem;padding:.75rem 1.5rem;background:#2c2c2c;color:#fff;border:none;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 3px 6px #2c2c2c4d}.refresh-btn:hover:not(:disabled){background:#1a1a1a;transform:translateY(-2px);box-shadow:0 4px 8px #2c2c2c66}.newspaper-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-top:2rem}.article-card{background:#fff;border:2px solid #333;padding:1.5rem;position:relative;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.article-card:hover{box-shadow:0 4px 16px #0003;transform:translateY(-2px)}.article-card.not-archived{opacity:.7;border-style:dashed;border-color:#999}.article-number{position:absolute;top:-12px;right:12px;background:#2c2c2c;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:700;font-size:.9rem;box-shadow:0 2px 6px #0000004d}.article-title{font-family:Georgia,Times New Roman,serif;font-size:1.3rem;line-height:1.5;margin:0 0 1rem;font-weight:700;color:#000}.article-title.no-archive{color:#999}.archive-link{color:#000;text-decoration:none;border-bottom:2px solid transparent;transition:border-color .3s ease}.archive-link:hover{border-bottom-color:#2c2c2c}.article-description{font-family:Georgia,serif;font-size:.95rem;line-height:1.6;color:#555;margin:.75rem 0;font-style:italic}.article-meta{display:flex;gap:1rem;align-items:center;margin-bottom:1rem;font-family:Georgia,serif;font-size:.85rem;flex-wrap:wrap}.archive-btn{font-family:Georgia,serif;font-size:.85rem;padding:.4rem 1rem;background:#2c2c2c;color:#fff;border:none;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #0003}.archive-btn:hover:not(:disabled){background:#1a1a1a;transform:translateY(-1px);box-shadow:0 3px 6px #00000040}.archive-btn:disabled{opacity:.6;cursor:not-allowed}.archive-badge{background:#2c2c2c;color:#fff;padding:.3rem .8rem;font-size:.75rem;font-weight:600;letter-spacing:.5px}.no-archive-badge{background:#ddd;color:#666;padding:.3rem .8rem;font-size:.75rem;font-weight:600;letter-spacing:.5px}.archive-date{color:#666;font-style:italic}.article-url{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.original-link{font-family:Georgia,serif;font-size:.85rem;color:#666;text-decoration:none;transition:color .3s ease}.original-link:hover{color:#000}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border:3px double #333;margin-top:2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{font-family:Georgia,Times New Roman,serif;font-size:2rem;margin-bottom:1rem;color:#2c2c2c}.empty-state p{font-family:Georgia,serif;font-size:1.1rem;color:#666;line-height:1.8;max-width:600px;margin:0 auto 1rem}.disclaimer{margin-top:2rem;padding-top:2rem;border-top:1px solid #ddd}.disclaimer small{color:#999;font-size:.85rem;line-height:1.6}.alternative-access{margin-top:2rem;padding:2rem;background:#f9f9f9;border:2px solid #ddd}.alternative-access h3{font-family:Georgia,serif;font-size:1.3rem;margin:0 0 .5rem;color:#2c2c2c}.alternative-access p{margin-bottom:1rem}.archive-link-button{display:inline-block;padding:1rem 2rem;background:#2c2c2c;color:#fff;text-decoration:none;font-family:Georgia,serif;font-weight:600;font-size:1rem;transition:all .3s ease;box-shadow:0 4px 8px #0003}.archive-link-button:hover{background:#1a1a1a;transform:translateY(-2px);box-shadow:0 6px 12px #00000040}@media (max-width: 768px){.haaretz-header{padding:1rem}.haaretz-header-content{flex-direction:column;align-items:flex-start;gap:1rem}.haaretz-branding h1{font-size:1.5rem}.haaretz-container{padding:1rem}.newspaper-grid{grid-template-columns:1fr;gap:1.5rem}.article-title{font-size:1.1rem}.render-archive-btn{font-size:1rem;padding:.75rem 1.5rem;width:100%}.archive-controls{padding:1.5rem 1rem}.empty-state{padding:3rem 1.5rem}.empty-state h2{font-size:1.5rem}.empty-state p{font-size:1rem}.archive-all-btn,.refresh-btn{width:100%;font-size:.9rem}.archive-actions{flex-direction:column;width:100%}.article-description{font-size:.85rem}.article-meta{font-size:.8rem}.archive-btn{font-size:.75rem;padding:.35rem .75rem}.progress-message{font-size:.95rem;padding:.75rem 1rem;flex-direction:column;text-align:center}.progress-spinner{width:20px;height:20px}}.catalyst-hunter-app{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#f1f5f9}.catalyst-header{background:linear-gradient(135deg,#fa709a,#fee140);padding:1.5rem 2rem;box-shadow:0 4px 20px #fa709a4d;position:sticky;top:0;z-index:100}.catalyst-header-nav{display:flex;align-items:center;gap:2rem;max-width:1600px;margin:0 auto}.catalyst-branding{flex:1}.catalyst-branding h1{font-size:1.75rem;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif}.catalyst-branding p{color:#fffffff2;margin:.25rem 0 0;font-size:.9rem;font-weight:500}.module-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.module-card{background:linear-gradient(135deg,#2d3748,#1a202c);border:2px solid rgba(250,112,154,.2);border-radius:12px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .3s}.module-card:not(.disabled):hover{transform:translateY(-4px);border-color:#fa709a66;box-shadow:0 8px 24px #fa709a4d}.module-card.active{border-color:#fa709a;background:linear-gradient(135deg,#fa709a,#fee140)}.module-card.active .module-icon,.module-card.active .module-name,.module-card.active .module-description{color:#fff}.module-card.disabled{opacity:.4;cursor:not-allowed;position:relative}.module-icon{font-size:2.5rem;margin-bottom:.5rem}.module-name{font-size:1rem;font-weight:600;color:#f1f5f9;margin-bottom:.25rem}.module-description{font-size:.8rem;color:#94a3b8;margin-bottom:.5rem}.coming-soon-badge{position:absolute;top:.5rem;right:.5rem;background:#4a5568;color:#cbd5e1;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.catalyst-container{max-width:1600px;margin:0 auto;padding:2rem}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#2d3748,#1a202c);border-radius:12px;padding:1.5rem;text-align:center;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(250,112,154,.2)}.stat-value{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#fa709a,#fee140);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.stat-label{font-size:.9rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.controls-panel{background:#2d3748;border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;gap:1.5rem;align-items:flex-end;flex-wrap:wrap;box-shadow:0 4px 12px #0000004d}.control-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:150px}.control-group label{font-size:.85rem;font-weight:600;color:#cbd5e1;text-transform:uppercase;letter-spacing:.5px}.control-group select,.control-group input[type=range]{padding:.75rem;background:#1a202c;border:1px solid #4a5568;border-radius:8px;color:#f1f5f9;font-size:.95rem}.control-group select:focus{outline:none;border-color:#fa709a}.control-group input[type=range]{padding:0;height:8px;cursor:pointer}.refresh-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#fa709a,#fee140);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.refresh-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #fa709a66}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.back-to-portal-btn{padding:.6rem 1.2rem;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.back-to-portal-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}.loading-state,.empty-state,.error-state{background:#2d3748;border-radius:12px;padding:4rem 2rem;text-align:center;margin:2rem 0}.simple-loader{width:40px;height:40px;margin:0 auto 1rem;border:3px solid #4a5568;border-top-color:#fa709a;border-radius:50%;animation:loader-spin .8s linear infinite}@keyframes loader-spin{to{transform:rotate(360deg)}}.loading-state p,.empty-state p{color:#cbd5e1;font-size:1.1rem}.empty-state .hint{color:#94a3b8;font-size:.9rem;margin-top:.5rem}.error-state p{color:#fca5a5;margin-bottom:1rem}.error-state button{padding:.75rem 1.5rem;background:#ef4444;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}.opportunities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.opportunity-card{background:linear-gradient(135deg,#2d3748,#1a202c);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(250,112,154,.2);transition:all .3s}.opportunity-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #fa709a4d;border-color:#fa709a66}.opp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.platform-badge,.risk-badge{padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.platform-badge{background:#4a5568;color:#f1f5f9}.risk-badge{color:#fff}.hidden-gem-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#000;padding:.4rem .8rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #fbbf244d;animation:gem-glow 2s ease-in-out infinite}@keyframes gem-glow{0%,to{box-shadow:0 2px 8px #fbbf244d}50%{box-shadow:0 4px 16px #fbbf2499}}.insider-signal-section{background:#3b82f614;border-left:3px solid #3b82f6;border-radius:8px;padding:12px;margin:12px 0}.insider-signal-header{font-size:.85rem;font-weight:600;color:#3b82f6;margin-bottom:8px}.insider-details{display:flex;flex-direction:column;gap:6px}.insider-stat{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#e5e7eb}.stat-icon{font-size:1rem}.stat-text{color:#d1d5db}.csuite-badge{background:#10b98133;color:#10b981;padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:600;margin-left:4px}.market-question{font-size:1.15rem;font-weight:600;color:#f1f5f9;margin:0 0 1.5rem;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.market-subtitle{font-size:.95rem;font-weight:400;color:#94a3b8;display:block;margin-top:.25rem}.key-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#0003;border-radius:8px}.metric{text-align:center}.metric-label{display:block;font-size:.75rem;color:#94a3b8;text-transform:uppercase;margin-bottom:.25rem}.metric-value{display:block;font-size:1.3rem;font-weight:700;color:#f1f5f9}.metric-value.highlight{background:linear-gradient(135deg,#fa709a,#fee140);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.action-section{padding:1rem;background:#fa709a1a;border-radius:8px;margin-bottom:1rem;text-align:center}.action-label{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.expected-return{font-size:1.5rem;font-weight:700}.reasoning-section{padding:1rem;background:#0003;border-radius:8px;margin-bottom:1rem}.reasoning-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.reasoning-header span:first-child{font-weight:600;color:#cbd5e1}.confidence-score{padding:.25rem .75rem;background:linear-gradient(135deg,#fa709a,#fee140);border-radius:12px;font-size:.85rem;font-weight:700;color:#fff}.reasoning-text{color:#cbd5e1;font-size:.9rem;line-height:1.6;margin:0}.market-details{display:flex;justify-content:space-between;padding:1rem 0;border-top:1px solid #4a5568;border-bottom:1px solid #4a5568;margin-bottom:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase}.detail-value{font-size:.9rem;color:#f1f5f9;font-weight:600}.card-actions{display:flex;gap:.75rem}.action-btn{flex:1;padding:.75rem;border-radius:8px;font-size:.9rem;font-weight:600;text-align:center;text-decoration:none;transition:all .2s;border:none;cursor:pointer}.action-btn.primary{background:linear-gradient(135deg,#fa709a,#fee140);color:#fff}.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #fa709a66}@media (max-width: 1200px){.opportunities-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}}@media (max-width: 768px){.catalyst-header{flex-direction:column;align-items:flex-start;padding:1rem}.catalyst-branding h1{font-size:1.5rem}.catalyst-container{padding:1rem}.stats-overview{grid-template-columns:repeat(2,1fr);gap:1rem}.controls-panel{flex-direction:column;align-items:stretch}.opportunities-grid,.key-metrics{grid-template-columns:1fr}}.tax-assistant-app{min-height:100vh;background:var(--bg-primary);padding-bottom:2rem}.tax-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.tax-branding h1{font-size:1.75rem;font-weight:700;color:#fff;margin-bottom:.25rem}.tax-branding p{color:#ffffffe6;font-size:.9rem}.back-btn{background:#fff3;color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.9rem;transition:background .2s}.back-btn:hover{background:#ffffff4d}.save-status{padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500}.save-status.saving{background:#fff3;color:#fff}.save-status.saved{background:#10b9814d;color:#10b981}.save-status.error{background:#ef44444d;color:#ef4444}.tax-progress-container{background:var(--bg-secondary);padding:.75rem 1.5rem;border-bottom:1px solid var(--border)}.tax-progress-bar{width:100%;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;margin-bottom:.75rem}.tax-progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .5s ease;border-radius:4px}.tax-steps{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.tax-step-indicator{flex:1;min-width:70px;display:flex;flex-direction:column;align-items:center;gap:.25rem;opacity:.5;transition:all .3s ease;cursor:pointer;padding:.375rem;border-radius:.375rem}.tax-step-indicator:hover{opacity:1;background:var(--bg-tertiary);transform:translateY(-2px)}.tax-step-indicator.active{opacity:1;background:var(--bg-tertiary);border:2px solid var(--accent)}.tax-step-indicator.completed{opacity:.7}.tax-step-indicator.completed .step-icon:after{content:"✓";position:absolute;bottom:-5px;right:-5px;font-size:.8rem;color:var(--accent);background:var(--bg-secondary);border-radius:50%;padding:2px}.step-icon{font-size:1.5rem;position:relative}.step-name{font-size:.7rem;text-align:center;color:var(--text-secondary)}.tax-step-indicator.active .step-name{color:var(--text-primary);font-weight:600}.tax-content{max-width:860px;margin:0 auto;padding:1.25rem 1rem}.tax-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.tax-step{background:var(--bg-secondary);border-radius:.75rem;padding:1.25rem;box-shadow:var(--shadow-md)}.step-header{margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.step-header h2{font-size:1.35rem;color:var(--text-primary);margin-bottom:.25rem}.step-header p{color:var(--text-secondary);font-size:.875rem}.step-form{display:flex;flex-direction:column;gap:1.25rem}.form-section{background:var(--bg-tertiary);border-radius:.625rem;padding:1rem;border:1px solid var(--border)}.form-section h3{font-size:.95rem;color:var(--text-primary);margin-bottom:.875rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.875rem}.section-header h3{margin-bottom:0}.form-group{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.form-row{display:flex;gap:.75rem;margin-bottom:.75rem}.form-row .form-group{flex:1;margin-bottom:0}.form-row .flex-1{flex:1}.form-row .flex-2{flex:2}.form-group label{font-size:.825rem;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:.375rem}.tooltip{cursor:help;opacity:.7;font-size:.8rem}.form-group input,.form-group select,.form-group textarea{padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:.375rem;color:var(--text-primary);font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group input.error,.form-group select.error{border-color:var(--danger)}.error-message{color:var(--danger);font-size:.75rem;margin-top:-.125rem}.form-group input:disabled,.calculated-field{background:var(--bg-secondary);cursor:not-allowed;opacity:.7}.checkbox-group label{flex-direction:row;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;margin-right:.375rem}.employment-card,.property-card{background:var(--bg-primary);border-radius:.625rem;padding:1rem;border:1px solid var(--border);margin-bottom:.875rem}.employment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.employment-header h3{font-size:1rem;margin:0;color:var(--text-primary)}.section-toggle{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem}.section-toggle h4{font-size:.9rem;margin:0}.section-toggle button{white-space:nowrap;font-size:.8rem;padding:.375rem .75rem}.savings-hint{background:#f59e0b14;border-left:3px solid var(--warning);padding:.5rem .75rem;border-radius:.375rem;font-size:.8rem;color:var(--text-secondary);line-height:1.45;margin-top:.375rem}.werbungskosten-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.tax-step>.step-description{font-size:.825rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.4}.employment-choice{display:flex;gap:.75rem;margin:1rem 0;flex-wrap:wrap}.employment-choice button{flex:1;min-width:180px}.belongs-to-highlight{background:linear-gradient(135deg,#6366f114,#a855f70a);padding:.625rem .875rem;border-radius:.375rem;border:1.5px solid rgba(99,102,241,.2);margin-bottom:.75rem}.belongs-to-highlight label{color:var(--accent);margin-bottom:.25rem;display:block;font-size:.825rem}.belongs-to-select{width:100%;padding:.5rem .75rem;font-size:.9rem;border:1.5px solid var(--border);border-radius:.375rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .2s}.belongs-to-select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #6366f11a}.field-hint{font-size:.8rem;color:var(--text-secondary);margin:.25rem 0 0;font-style:italic}.add-employer-hint{font-size:.8rem;color:var(--text-secondary);margin:.25rem 0 .75rem;text-align:center;font-style:italic}.subsection{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.subsection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.625rem}.subsection h4{font-size:.9rem;color:var(--text-primary);margin-bottom:.625rem}.expense-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem;padding:.5rem;background:var(--bg-primary);border-radius:.375rem}.expense-category{flex:2;min-width:0}.expense-category-wide{flex:3}.expense-amount{width:120px;flex-shrink:0}.expense-description{flex:2;min-width:0}.info-box{background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:.375rem;padding:.625rem .875rem;margin-bottom:.75rem}.info-box.success{background:#10b9811a;border-color:#10b9814d;color:#10b981}.info-box.warning{background:#f59e0b1a;border-color:#f59e0b4d;color:#f59e0b}.info-box.info{background:#3b82f61a;border-color:#3b82f64d;color:#3b82f6}.info-box p{margin:.25rem 0;font-size:.825rem}.info-box h4{margin-bottom:.375rem;font-size:.9rem}.info-box ul{margin-left:1.25rem;margin-top:.25rem;font-size:.825rem}.summary-box,.calculation-box,.property-summary{background:var(--bg-primary);border:1px solid var(--border);border-radius:.375rem;padding:.75rem;margin-top:1rem}.summary-box h4,.calculation-box h3{font-size:.9rem;margin-bottom:.5rem;color:var(--text-primary)}.summary-row,.calc-row{display:flex;justify-content:space-between;padding:.375rem 0;border-bottom:1px solid var(--border);font-size:.875rem}.summary-row:last-child,.calc-row:last-child{border-bottom:none}.summary-row.total,.calc-row.total{font-weight:600;border-top:2px solid var(--border);padding-top:.75rem}.calc-row.result{background:#6366f11a;padding:.75rem;border-radius:.5rem;margin-top:.5rem;border:none}.calc-row.highlight{background:#f59e0b1a}.summary-value{font-weight:600;color:var(--text-primary)}.summary-value.bold{font-size:1.1rem}.positive{color:var(--success)}.negative{color:var(--danger)}.deduction{color:var(--warning)}.calc-note{font-size:.85rem;color:var(--text-secondary);margin-top:.5rem;font-style:italic}.calc-note.warning{color:var(--warning)}.calculation-section{background:var(--bg-tertiary);border-radius:.75rem;padding:1.5rem;margin-top:1.5rem}.calc-table{display:flex;flex-direction:column;gap:.5rem}.calc-row.large{font-size:1.05rem;padding:.75rem 0}.calc-value{font-weight:600}.calc-value.positive{color:var(--success)}.calc-value.negative{color:var(--danger)}.calc-value.deduction{color:var(--text-secondary)}.centered{display:flex;align-items:center;justify-content:center;min-height:200px}.choice-box{background:var(--bg-tertiary);border-radius:.625rem;padding:1.5rem;text-align:center;max-width:400px;width:100%;border:1.5px solid var(--border)}.choice-box h3{font-size:1.1rem;margin-bottom:.5rem;color:var(--text-primary)}.choice-box p{color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem}.choice-box ul{text-align:left;list-style:none;padding:0;margin:0 0 1rem}.choice-box ul li{padding:.25rem 0;font-size:.875rem}.choice-buttons{display:flex;flex-direction:column;gap:.5rem}.empty-state{text-align:center;color:var(--text-secondary);font-style:italic;padding:1rem}.empty-state-large{text-align:center;padding:3rem 1rem}.empty-state-large p{font-size:1.5rem;margin-bottom:.5rem}.empty-state-hint{font-size:.9rem;color:var(--text-secondary);max-width:500px;margin:0 auto}.skip-info{text-align:center;color:var(--text-secondary);padding:1rem;background:var(--bg-tertiary);border-radius:.5rem;margin:1rem 0}.total-summary,.total-summary-large{background:var(--bg-tertiary);border:1.5px solid #667eea;border-radius:.5rem;padding:.875rem;margin-top:1rem}.total-summary h4,.total-summary-large h3{margin-bottom:.625rem;color:var(--text-primary);font-size:.95rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-item.total{grid-column:1 / -1;border-top:2px solid var(--border);padding-top:1rem;margin-top:.5rem}.summary-label{font-size:.875rem;color:var(--text-secondary)}.summary-value{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.document-upload-section{margin-bottom:1rem}.upload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-top:.875rem}.upload-card{background:var(--bg-primary);border:1.5px dashed var(--border);border-radius:.5rem;padding:1rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;transition:border-color .2s,background .2s}.upload-card:hover{border-color:#667eea;background:#6366f10d}.upload-icon{font-size:2.5rem}.upload-card h4{font-size:.875rem;color:var(--text-primary);line-height:1.3}.upload-btn{cursor:pointer}.upload-status{padding:1rem;border-radius:.5rem;margin-bottom:1rem;text-align:center;font-weight:500}.upload-status.success{background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.3)}.upload-status.error{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.upload-status.info{background:#6366f11a;color:#667eea;border:1px solid rgba(99,102,241,.3)}.uploaded-documents-section{margin-top:2rem}.documents-list{display:flex;flex-direction:column;gap:1rem}.document-item{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:.5rem;padding:1rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.document-info{display:flex;gap:1rem;flex:1}.document-icon{font-size:2rem}.document-details{flex:1}.document-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.document-meta{font-size:.85rem;color:var(--text-secondary)}.verified-badge,.verified-badge-small{background:var(--success);color:#fff;padding:.15rem .5rem;border-radius:.25rem;font-size:.75rem;margin-left:.5rem}.verified-badge-small{font-size:.7rem;padding:.1rem .4rem}.ai-analysis-preview{margin-top:.75rem;padding:.75rem;background:var(--bg-primary);border-radius:.5rem;border:1px solid var(--border)}.ai-analysis-preview pre{font-size:.75rem;color:var(--text-secondary);overflow-x:auto;max-height:150px}.review-step .step-form{gap:1rem}.review-section{background:var(--bg-tertiary);border-radius:.5rem;padding:1rem;border:1px solid var(--border)}.review-section.highlight{border:1.5px solid #667eea;background:#6366f10a}.review-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.875rem;padding-bottom:.625rem;border-bottom:1px solid var(--border)}.review-section h3{font-size:1rem;color:var(--text-primary)}.btn-edit,.btn-edit-small{background:#6366f126;color:#667eea;border:1px solid #667eea;padding:.375rem .75rem;border-radius:.375rem;cursor:pointer;font-size:.8rem;transition:all .2s}.btn-edit-small{padding:.25rem .5rem;font-size:.75rem}.btn-edit:hover,.btn-edit-small:hover{background:#6366f14d}.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.625rem}.review-item{display:flex;flex-direction:column;gap:.125rem}.review-label{font-size:.8rem;color:var(--text-secondary)}.review-value{color:var(--text-primary);font-weight:500;font-size:.9rem}.income-summary,.deductions-summary{display:flex;flex-direction:column;gap:1rem}.income-item{background:var(--bg-primary);border-radius:.5rem;padding:1rem;border:1px solid var(--border)}.income-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.income-details{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.income-count{font-size:.85rem;color:var(--text-secondary)}.income-amount{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.income-breakdown{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.85rem}.breakdown-row{display:flex;justify-content:space-between;padding:.25rem 0;color:var(--text-secondary)}.income-total{display:flex;justify-content:space-between;padding:1rem;background:var(--bg-primary);border-radius:.5rem;font-size:1.1rem;font-weight:600;border:2px solid var(--border)}.deduction-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border)}.deduction-row:last-child{border-bottom:none}.tax-calculation{display:flex;flex-direction:column;gap:.5rem}.calc-row.result-row{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;border-radius:.5rem;margin-top:1rem;font-size:1.1rem}.calc-row.result-row .refund{color:#10b981}.calc-row.result-row .payment{color:#ef4444}.result-message{padding:1rem;border-radius:.5rem;margin-top:1rem;font-size:.95rem}.result-message.success{background:#10b9811a;border:1px solid var(--success);color:var(--success)}.result-message.warning{background:#f59e0b1a;border:1px solid var(--warning);color:var(--warning)}.result-message.info{background:#3b82f61a;border:1px solid #3b82f6;color:#3b82f6}.documents-count p{margin-bottom:.75rem}.documents-list-simple{list-style:none;padding:0}.documents-list-simple li{padding:.5rem;background:var(--bg-primary);border-radius:.25rem;margin-bottom:.5rem;font-size:.9rem}.review-actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}.review-actions button{flex:1;min-width:200px}.elster-instructions{background:var(--bg-tertiary);border-radius:.5rem;padding:1rem;margin-top:1.25rem;border:1.5px solid #667eea}.elster-instructions h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:.75rem}.instructions-content{display:flex;flex-direction:column;gap:.875rem}.instruction-step{background:var(--bg-primary);border-radius:.375rem;padding:.75rem;border:1px solid var(--border)}.instruction-step h5{font-size:.95rem;color:var(--text-primary);margin-bottom:.625rem;padding-bottom:.375rem;border-bottom:1px solid var(--border)}.instruction-fields{display:flex;flex-direction:column;gap:.375rem}.field-instruction{display:grid;grid-template-columns:60px 1fr 1fr;gap:.625rem;padding:.375rem .5rem;background:var(--bg-secondary);border-radius:.25rem;font-size:.825rem}.field-line{font-weight:600;color:#667eea}.field-label{color:var(--text-secondary)}.field-value{font-weight:500;color:var(--text-primary)}.tips-list{list-style:none;padding:0}.tips-list li{background:var(--bg-primary);border-radius:.5rem;margin-bottom:.5rem;border-left:3px solid #667eea;padding:.75rem .75rem .75rem 1rem}.disclaimer-box{background:#ef444414;border:1.5px solid var(--danger);border-radius:.5rem;padding:.875rem;margin-top:1.25rem}.disclaimer-box h4{color:var(--danger);margin-bottom:.5rem;font-size:.9rem}.disclaimer-box p{color:var(--text-secondary);margin-bottom:.25rem;font-size:.8rem}.disclaimer-box ul{margin-left:1.25rem;margin-top:.25rem;color:var(--text-secondary);font-size:.8rem}.disclaimer-box li{margin-bottom:.25rem}.tax-footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:1rem;text-align:center;margin-top:1.25rem}.disclaimer{color:var(--text-secondary);font-size:.8rem;max-width:700px;margin:0 auto}.step-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.form-actions{display:flex;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-text{padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary.large,.btn-secondary.large{padding:.75rem 1.5rem;font-size:1rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary,.btn-secondary-small{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-secondary)}.btn-secondary-small{padding:.375rem .75rem;font-size:.8rem;border-radius:.375rem}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669}.btn-danger,.btn-danger-small,.btn-danger-icon{background:var(--danger);color:#fff;border:none;cursor:pointer;transition:background .2s}.btn-danger:hover,.btn-danger-small:hover,.btn-danger-icon:hover{background:#dc2626}.btn-danger-small{padding:.25rem .5rem;font-size:.75rem;border-radius:.25rem}.btn-danger-icon{padding:.375rem;border-radius:.25rem;font-size:.8rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.btn-text{background:transparent;color:var(--text-secondary);padding:.375rem .75rem}.btn-text:hover{color:var(--text-primary);text-decoration:underline}@media (max-width: 768px){.tax-header{flex-direction:column;text-align:center;padding:.75rem 1rem;gap:.5rem}.tax-branding h1{font-size:1.25rem}.tax-branding p{font-size:.8rem}.back-btn{padding:.5rem .875rem;font-size:.875rem}.tax-steps{overflow-x:auto;justify-content:flex-start;padding:.75rem .5rem;gap:.375rem}.tax-step-indicator{min-width:72px;padding:.625rem .375rem}.step-icon{font-size:1.65rem}.step-name{font-size:.75rem;line-height:1.2}.tax-content{padding:.75rem .5rem}.tax-step{padding:1rem .75rem}.form-row{flex-direction:column}.expense-row{flex-wrap:wrap}.expense-amount{width:100%}.upload-grid,.review-grid{grid-template-columns:1fr}.step-actions{flex-direction:column-reverse}.step-actions button{width:100%}.review-actions{flex-direction:column}.review-actions button{width:100%}.field-instruction{grid-template-columns:1fr;gap:.5rem}.summary-grid{grid-template-columns:1fr}.choice-box{padding:2rem 1.5rem}}.tax-returns-list{max-width:1200px;margin:0 auto;padding:2rem 1rem}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.list-header h2{font-size:2rem;color:var(--text-primary);margin-bottom:.25rem}.list-subtitle{color:var(--text-secondary);font-size:1rem}.returns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.return-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:1rem}.return-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#667eea}.return-header{display:flex;justify-content:space-between;align-items:center}.return-year{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.return-status{padding:.25rem .75rem;border-radius:.5rem;font-size:.8rem;font-weight:500}.return-info{display:flex;flex-direction:column;gap:.5rem;padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.return-name{font-size:1.1rem;font-weight:500;color:var(--text-primary)}.return-dates{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--text-secondary)}.return-result{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background:var(--bg-tertiary);border-radius:.5rem}.result-label{font-size:.85rem;color:var(--text-secondary)}.result-amount{font-size:1.5rem;font-weight:700}.result-amount.positive{color:var(--success)}.result-amount.negative{color:var(--danger)}.return-header-right{display:flex;align-items:center;gap:.75rem}.return-delete-btn{background:transparent;border:none;font-size:1.1rem;padding:.25rem .5rem;cursor:pointer;opacity:.25;transition:all .2s;border-radius:.375rem}.return-delete-btn:hover:not(:disabled){opacity:1;background:#ef44441a;transform:scale(1.15)}.return-delete-btn:disabled{cursor:not-allowed;opacity:.5}.return-open-btn{width:100%;padding:.75rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:.625rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:auto}.return-open-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.year-selector-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1.25rem}.year-selector-card h3{font-size:.95rem;color:var(--text-secondary);margin:0;white-space:nowrap;font-weight:500;letter-spacing:.3px}.year-selector-card p{display:none}.year-selector{display:flex;gap:.625rem;flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:2px}.year-selector::-webkit-scrollbar{display:none}.year-button{padding:.625rem 1.25rem;font-size:1rem;font-weight:600;border:1.5px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text-secondary);border-radius:8px;cursor:pointer;transition:all .2s ease;flex-shrink:0;white-space:nowrap;min-width:70px;text-align:center}.year-button:hover{background:#667eea26;border-color:#667eea66;color:var(--text-primary);transform:translateY(-1px)}.year-button.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff;box-shadow:0 4px 12px #667eea59;transform:translateY(-1px)}.year-button.selected:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea73}@media (max-width: 768px){.returns-grid{grid-template-columns:1fr}.list-header{flex-direction:column;align-items:stretch}.list-header button{width:100%}.year-selector-card{flex-direction:column;align-items:stretch;padding:.875rem .75rem;gap:.875rem;border-radius:10px}.year-selector-card h3{font-size:.875rem;text-align:center;font-weight:600}.year-selector{justify-content:space-between;gap:.5rem;padding:0}.year-button{flex:1;min-width:0;padding:.625rem .5rem;font-size:.9rem}}.document-upload-widget{background:var(--bg-primary);border:1.5px dashed var(--border);border-radius:.5rem;padding:.625rem .75rem;margin:.5rem 0;display:flex;flex-direction:row;align-items:center;gap:.75rem;transition:border-color .2s;flex-wrap:wrap}.document-upload-widget:hover{border-color:#667eea}.upload-widget-header{display:flex;align-items:center;gap:.375rem;font-weight:500;color:var(--text-primary)}.widget-icon{font-size:1rem}.widget-label{font-size:.825rem}.document-upload-widget>.btn-secondary-small{white-space:nowrap;flex-shrink:0}.upload-widget-btn{display:flex;justify-content:center}.upload-widget-btn button{max-width:260px}.upload-widget-status{padding:.375rem .5rem;border-radius:.375rem;text-align:center;font-size:.8rem;font-weight:500;width:100%}.upload-widget-status.success{background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.3)}.upload-widget-status.error{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.upload-widget-status.info{background:#6366f11a;color:#667eea;border:1px solid rgba(99,102,241,.3)}.upload-widget-progress{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:.375rem;font-size:.8rem;color:#667eea;width:100%}.upload-widget-spinner{width:18px;height:18px;border:3px solid rgba(99,102,241,.2);border-top-color:#667eea;border-radius:50%;animation:upload-spin .8s linear infinite;flex-shrink:0}@keyframes upload-spin{to{transform:rotate(360deg)}}.extracted-data-preview{background:var(--bg-secondary);border:1px solid var(--border);border-radius:.375rem;padding:.5rem .625rem;font-size:.8rem;width:100%}.extracted-data-preview strong{display:block;margin-bottom:.25rem;color:var(--text-primary);font-size:.8rem}.extracted-data-preview pre{margin:0;overflow-x:auto;color:var(--text-secondary);font-size:.75rem;line-height:1.35;max-height:120px}.document-upload-section{margin:.5rem 0}.upload-hint{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;font-style:italic}@media (max-width: 768px){.document-upload-widget{padding:.75rem}.upload-widget-btn button{max-width:100%}}.uploaded-documents-summary{background:var(--bg-primary);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem}.uploaded-documents-summary h3{margin-top:0;margin-bottom:1rem;color:var(--success);display:flex;align-items:center;gap:.5rem}.documents-list{display:flex;flex-direction:column;gap:.75rem}.uploaded-doc-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem}.doc-icon{font-size:1.5rem}.doc-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.doc-info strong{color:var(--text-primary);font-size:.95rem}.doc-type{font-size:.85rem;color:var(--text-secondary);font-style:italic}.verified-badge{display:inline-block;padding:.25rem .5rem;background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.3);border-radius:.25rem;font-size:.75rem;font-weight:500;margin-top:.25rem;width:fit-content}@media (max-width: 768px){.uploaded-doc-item{flex-direction:column;align-items:flex-start}.doc-icon{font-size:1.25rem}}.transaction-item{position:relative;transition:all .3s ease}.transaction-item.ignored{opacity:.5;background:var(--bg-tertiary)}.ignored-badge{display:inline-block;background:var(--warning);color:var(--bg-primary);padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;margin-left:.5rem}.transaction-amount-and-actions{display:flex;align-items:center;gap:1rem}.transaction-actions{display:flex;gap:.5rem;opacity:0;transition:opacity .2s ease}.transaction-item:hover .transaction-actions,.transaction-card:hover .transaction-actions{opacity:1}.btn-icon{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;opacity:.7;transition:all .2s ease}.btn-icon:hover{opacity:1;transform:scale(1.1)}.btn-icon.btn-danger:hover{color:var(--danger)}.transaction-edit-form{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--bg-tertiary);border:2px solid var(--accent);border-radius:8px}.transaction-edit-form input,.transaction-edit-form select{padding:.5rem;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem}.edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.toggle-ignored{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem;cursor:pointer}.toggle-ignored input[type=checkbox]{cursor:pointer}@media (max-width: 768px){.transaction-actions{opacity:1}.btn-icon{font-size:1rem}.transaction-amount-and-actions{flex-direction:column;align-items:flex-start;gap:.5rem}}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.625rem .875rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:.375rem;transition:all .2s}.checkbox-label:hover{background:var(--bg-secondary);border-color:var(--accent)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.checkbox-label span{font-weight:500;color:var(--text-primary);font-size:.875rem}.form-subsection{margin-top:1rem;padding:1rem;background:var(--bg-tertiary);border:1.5px solid var(--accent);border-radius:.5rem}.form-subsection h4{margin:0 0 .875rem;color:var(--accent);font-size:.95rem;display:flex;align-items:center;gap:.375rem}.form-subsection h4:before{content:"💑";font-size:1.5rem}.form-subsection .form-group{margin-bottom:.75rem}.form-subsection .form-group:last-child{margin-bottom:0}.belongs-to-select{background:var(--bg-secondary);border:1.5px solid var(--accent);border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s}.belongs-to-select:hover{border-color:var(--accent-hover);background:var(--bg-tertiary)}.belongs-to-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #6366f11a}.belongs-to-select option{background:var(--bg-secondary);color:var(--text-primary);padding:.375rem}.belongs-to-badge{font-size:.85rem;color:var(--text-secondary);font-weight:500;font-style:italic}.breakdown-row .belongs-to-badge{margin-left:.5rem}.draft-notice{background:linear-gradient(135deg,#667eea22,#764ba222);border-left:3px solid var(--accent);padding:.5rem .75rem;border-radius:.375rem;margin-top:.75rem;font-size:.8rem;color:var(--text-secondary);line-height:1.45}.step-actions .btn-secondary:first-child{margin-right:auto}.navigation-hint{text-align:center;color:var(--text-secondary);font-size:.85rem;margin-top:.75rem;padding:.5rem;background:var(--bg-tertiary);border-radius:.5rem}.tax-progress-container{padding-bottom:.5rem}.form-group{margin-bottom:.875rem}.form-section{margin-top:1.25rem;margin-bottom:1.25rem}.form-row{margin-bottom:.75rem}.nested-fields{margin-top:.75rem;padding-left:1rem;border-left:2px solid var(--border)}.array-item{margin-bottom:.75rem;padding:.875rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border)}.rental-property-card,.property-card{margin-bottom:1.5rem}.property-summary,.employer-summary,.summary-section{margin-top:1.25rem;padding-top:1rem;border-top:2px solid var(--border)}.calculated-field{margin-top:.75rem;margin-bottom:.75rem}.section-header{margin-bottom:1rem}.tooltip{margin-left:6px}.ai-analysis-section{background:var(--bg-tertiary);border:2px solid var(--accent);border-radius:12px;padding:24px}.btn-accent{background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border:none;padding:14px 28px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-accent:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.btn-accent:disabled{opacity:.6;cursor:not-allowed}.ai-analysis-results{margin-top:24px}.analysis-category{margin-bottom:28px;padding:20px;border-radius:8px;border-left:4px solid}.analysis-category.errors{background:#ef44441a;border-left-color:var(--danger)}.analysis-category.warnings{background:#f59e0b1a;border-left-color:var(--warning)}.analysis-category.recommendations{background:#10b9811a;border-left-color:var(--success)}.analysis-category h4{margin-bottom:8px;color:var(--text-primary)}.category-description{font-size:.9rem;color:var(--text-secondary);margin-bottom:16px}.analysis-category ul{list-style:none;padding-left:0}.analysis-category li{margin-bottom:12px;padding:12px;background:var(--bg-secondary);border-radius:6px;line-height:1.6}.error-item{border-left:3px solid var(--danger);padding-left:16px!important}.warning-item{border-left:3px solid var(--warning);padding-left:16px!important}.recommendation-item{border-left:3px solid var(--success);padding-left:16px!important}.analysis-summary{margin-top:24px;padding:20px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.analysis-summary h4{margin-bottom:12px;color:var(--accent)}.analysis-all-clear{padding:24px;background:#10b98126;border:2px solid var(--success);border-radius:8px;text-align:center}.analysis-all-clear p{font-size:1.1rem;color:var(--success)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:.75rem;align-items:start}.form-row.two-column{grid-template-columns:1fr 1fr}.form-row.three-column{grid-template-columns:1fr 1fr 1fr}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{font-weight:500;color:var(--text-primary);font-size:.85rem;display:flex;align-items:center;gap:.375rem;line-height:1.35}.form-group input,.form-group select,.form-group textarea{padding:.5rem .75rem;background:var(--bg-secondary);border:1.5px solid var(--border);border-radius:.5rem;color:var(--text-primary);font-size:.9rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-tertiary);box-shadow:0 0 0 2px #6366f11a}.form-group input:hover:not(:focus),.form-group select:hover:not(:focus){border-color:#6366f166}.calculated-field{background:linear-gradient(135deg,#6366f114,#10b98114);padding:.625rem .875rem;border-radius:.5rem;border:1.5px solid rgba(99,102,241,.25);display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.calculated-field strong{color:var(--text-primary)}.calculated-field .amount{color:var(--success);font-size:1.05rem;font-weight:700}.form-section h4{color:var(--accent);font-size:.95rem;margin-bottom:.875rem;padding-bottom:.5rem;border-bottom:1.5px solid var(--border);display:flex;align-items:center;gap:.375rem}.nested-fields{margin-top:.75rem;padding:.875rem;background:var(--bg-secondary);border-radius:.5rem;border-left:3px solid var(--accent)}.rental-property-card,.property-card,.employment-card{background:var(--bg-secondary);border:1.5px solid var(--border);border-radius:.75rem;padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.625rem;border-bottom:1.5px solid var(--border)}.section-header h3{color:var(--text-primary);font-size:1.05rem;margin:0}.hint,.info-box{background:#6366f114;border-left:3px solid var(--accent);padding:.625rem .875rem;border-radius:.375rem;color:var(--text-secondary);font-size:.825rem;line-height:1.5;margin-bottom:.875rem}.warning-box{background:#f59e0b14;border-left:3px solid var(--warning);padding:.625rem .875rem;border-radius:.375rem;margin-bottom:.875rem}.warning-box strong{color:var(--warning)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.625rem;margin-top:.625rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:.375rem;border:1px solid var(--border)}.summary-item .label{color:var(--text-secondary);font-size:.825rem}.summary-item .value{color:var(--text-primary);font-weight:600;font-size:.9rem}.summary-item .value.positive{color:var(--success)}.summary-item .value.negative{color:var(--danger)}.form-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.form-group label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:.5rem;cursor:pointer}.tooltip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:var(--accent);color:#fff;border-radius:50%;font-size:.65rem;font-weight:700;cursor:help;margin-left:4px;flex-shrink:0}.btn-secondary.add-item-btn,.btn-secondary.add-property-btn,.btn-secondary.add-employer-btn{margin-top:.75rem;width:100%;padding:.625rem;font-size:.875rem;border:1.5px dashed var(--border);background:transparent;transition:all .2s ease}.btn-secondary.add-item-btn:hover,.btn-secondary.add-property-btn:hover,.btn-secondary.add-employer-btn:hover{border-color:var(--accent);background:#6366f10d}.array-item{background:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem;padding:.875rem;margin-bottom:.625rem;position:relative}.array-item .btn-danger-small{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;font-size:.75rem}.required{color:var(--danger);margin-left:2px}.step-actions{display:flex;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1.5px solid var(--border);flex-wrap:wrap}.step-actions button{padding:.625rem 1.25rem;font-size:.9rem}.rental-choice,.investment-choice{display:flex;flex-direction:column;gap:1rem;max-width:500px;margin:2rem auto;padding:1.5rem;background:var(--bg-secondary);border-radius:.75rem;border:1.5px solid var(--border)}.rental-choice button,.investment-choice button{padding:.75rem 1.25rem;font-size:.95rem;width:100%}input[type=number]{font-variant-numeric:tabular-nums;text-align:right}.form-section{background:linear-gradient(135deg,#6366f108,#764ba208);border:1px solid rgba(99,102,241,.12);padding:1rem;border-radius:.625rem}.form-section h3{color:#a5b4fc;font-weight:600;font-size:.95rem;position:relative;padding-left:.875rem;margin-bottom:.875rem}.form-section h3:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:1.1em;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px}.form-group label{color:#cbd5e1;font-weight:500;letter-spacing:.01em}.form-group input,.form-group select,.form-group textarea{background:#1e293b80;border:1.5px solid rgba(148,163,184,.2);transition:all .2s ease}.form-group input:hover,.form-group select:hover{border-color:#6366f166;background:#1e293bb3}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;background:#1e293bcc;box-shadow:0 0 0 2px #6366f11a}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 2px 8px #667eea4d;transition:all .2s ease;font-weight:600}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn-secondary{background:#334155cc;border:1.5px solid rgba(148,163,184,.25);transition:all .2s ease}.btn-secondary:hover{background:#334155;border-color:#94a3b866}.step-header{background:linear-gradient(135deg,rgba(99,102,241,.04) 0%,transparent 100%);padding:1.25rem;border-radius:.625rem;border:none;margin-bottom:1.25rem}.step-header h2{background:linear-gradient(135deg,#a5b4fc,#c4b5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;font-size:1.25rem;margin-bottom:.375rem;line-height:1.4}.draft-notice{background:linear-gradient(135deg,#facc1514,#fbbf2414);border-left:3px solid #fbbf24;padding:.625rem .875rem;border-radius:.375rem;font-size:.825rem}.info-hint{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--bg-tertiary);border:1.5px solid var(--border);color:var(--text-muted);font-size:.7rem;font-weight:700;font-style:italic;font-family:Georgia,Times New Roman,serif;cursor:help;margin-left:.375rem;flex-shrink:0;vertical-align:middle;transition:all .15s ease;line-height:1;-webkit-user-select:none;user-select:none}.info-hint:hover{background:var(--accent);border-color:var(--accent);color:#fff}.info-hint:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);background:var(--bg-secondary);color:var(--text-primary);padding:.625rem .875rem;border-radius:8px;font-size:.8125rem;font-weight:400;font-style:normal;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;white-space:normal;width:max-content;max-width:260px;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:1000;border:1px solid var(--border);box-shadow:var(--shadow-lg);line-height:1.5;text-align:left}.info-hint:before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border);opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;z-index:1001}.info-hint:hover:after,.info-hint:hover:before{opacity:1;visibility:visible}@media (max-width: 768px){.info-hint:after{bottom:auto;top:calc(100% + 10px);left:auto;right:-8px;transform:none}.info-hint:before{bottom:auto;top:calc(100% + 4px);border-top-color:transparent;border-bottom-color:var(--border)}}.tooltip-inline{display:inline;font-size:.85rem;color:var(--warning);font-weight:500}.tooltip{cursor:help;opacity:.7;font-size:.85rem}.calculated-field{background:linear-gradient(135deg,#22d3ee14,#3b82f614);border:1.5px solid rgba(34,211,238,.25);color:#7dd3fc;font-weight:600;text-align:right}.array-item{background:#1e293b66;border:1px solid rgba(148,163,184,.15);border-radius:.5rem;transition:all .2s ease}.array-item:hover{border-color:#6366f140;background:#1e293b8c}.info-box{background:linear-gradient(135deg,#3b82f614,#2563eb14);border-left:3px solid #3b82f6;padding:.625rem .875rem;border-radius:.375rem;font-size:.825rem}.warning-box{background:linear-gradient(135deg,#fbbf2414,#f59e0b14);border-left:3px solid #fbbf24;padding:.625rem .875rem;border-radius:.375rem;font-size:.825rem}.success-box{background:linear-gradient(135deg,#22c55e14,#16a34a14);border-left:3px solid #22c55e;padding:.625rem .875rem;border-radius:.375rem;font-size:.825rem}@media (max-width: 768px){.form-row,.form-row.two-column,.form-row.three-column,.summary-grid{grid-template-columns:1fr}.step-actions{flex-direction:column-reverse;gap:.75rem}.step-actions button{width:100%;min-height:48px}.tax-steps{gap:.375rem;padding:.75rem .5rem;margin-bottom:1rem;background:#0f172a80;border-radius:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.tax-step-indicator{min-width:70px;max-width:80px;padding:.625rem .375rem;background:transparent;border-radius:.5rem;flex-shrink:0}.tax-step-indicator.active{background:#6366f126;border:1px solid rgba(99,102,241,.3)}.step-icon{font-size:1.75rem;margin-bottom:.25rem}.step-name{font-size:.75rem;font-weight:500;line-height:1.2;word-wrap:break-word}.tax-step{padding:1rem .75rem;margin:0 .5rem;background:transparent}.step-header{margin-bottom:1.5rem;padding:1rem}.step-header h2{font-size:1.35rem;line-height:1.3}.step-header p{font-size:.9rem;opacity:.9}.form-section{padding:1rem;margin-bottom:1rem}.form-section h3{font-size:1.1rem;margin-bottom:1rem}.form-section h4{font-size:1rem;margin-bottom:.75rem}.form-group input,.form-group select,.form-group textarea{padding:.875rem;font-size:16px!important;min-height:48px;border-radius:.5rem}.form-group input[type=number]{font-size:1.1rem!important;font-weight:500}.form-group input[type=checkbox],.form-group input[type=radio]{width:22px;height:22px;min-height:22px}.form-group label{font-size:.875rem;margin-bottom:.5rem}.btn-primary,.btn-secondary,.btn-success,.btn-danger{min-height:48px;padding:.875rem 1rem;font-size:1rem;border-radius:.75rem;font-weight:600}.array-item{padding:1rem;margin-bottom:.75rem}.expense-row,.repair-row,.insurance-row{display:flex;flex-direction:column;gap:.75rem}.form-subsection{padding:1rem;margin:.75rem 0;background:#1e293b4d;border-radius:.5rem}.section-toggle{flex-direction:column;align-items:stretch;gap:.75rem}.section-toggle button{width:100%}.property-header,.employer-header{flex-direction:column;align-items:stretch;gap:.75rem}.remove-btn,.delete-btn,.btn-remove{min-width:48px;min-height:48px;padding:.875rem;background:#ef444426;border:1.5px solid rgba(239,68,68,.3);border-radius:.5rem}.remove-btn:hover,.delete-btn:hover,.btn-remove:hover{background:#ef444440}.returns-grid{grid-template-columns:1fr;gap:.75rem}.return-header-right{gap:.5rem}.return-delete-btn{font-size:1rem}.return-open-btn{font-size:.95rem}.review-item{flex-direction:column;align-items:flex-start;gap:.25rem;padding:.875rem 0;border-bottom:1px solid rgba(148,163,184,.1)}.tax-assistant-container{overflow-x:hidden}.form-section+.form-section{margin-top:1.5rem}.draft-notice{padding:.875rem;font-size:.875rem;line-height:1.5}}@media (max-width: 400px){.tax-step{padding:.75rem;margin:.25rem}.step-header{padding:.875rem}.step-header h2{font-size:1.25rem}.form-section{padding:.875rem}.tax-step-indicator{min-width:65px;padding:.5rem .25rem}.step-icon{font-size:1.5rem}.step-name{font-size:.7rem;line-height:1.1}.form-group input,.form-group select{padding:.75rem}}[data-theme=light] .header{background:linear-gradient(135deg,#e2e8f0,#f1f5f9);border-bottom:1px solid var(--border);box-shadow:0 2px 8px #0000000f}[data-theme=light] .budget-header{background:linear-gradient(135deg,#667eea,#764ba2)}[data-theme=light] .nav-main{background:#fffffff2;border:1px solid var(--border);box-shadow:0 4px 16px #00000014}[data-theme=light] .nav-item:hover{background:#6366f114}[data-theme=light] .nav-item.active{background:#6366f11a;border:1px solid rgba(99,102,241,.2);box-shadow:0 0 12px #6366f11a}[data-theme=light] .nav-action{background:#0000000a;border:1px solid var(--border)}[data-theme=light] .nav-action:hover{background:#6366f11a}[data-theme=light] .nav-action.active{background:#6366f126}[data-theme=light] .nav-action.emergency{background:#ef444414;border-color:#ef444433}[data-theme=light] .nav-action.logout{background:#ef44440f;border-color:#ef444433}@media (max-width: 768px){[data-theme=light] .nav-main{background:#fffffffa!important;border-top:1px solid var(--border)!important;box-shadow:0 -2px 8px #0000000f!important}[data-theme=light] .nav-action{background:#0000000a!important;border:1px solid var(--border)!important}}[data-theme=light] .transit-app{background:var(--bg-primary)}[data-theme=light] .transit-header{background:linear-gradient(135deg,#e2e8f0,#f1f5f9);border-bottom:2px solid var(--border);box-shadow:0 2px 8px #0000000f}[data-theme=light] .transit-branding h1{color:var(--text-primary);text-shadow:none}[data-theme=light] .transit-branding h1:before{filter:none}[data-theme=light] .transit-branding p{color:var(--text-secondary)}[data-theme=light] .back-to-portal-btn{background:#6366f114;border:1px solid rgba(99,102,241,.2);color:var(--accent)}[data-theme=light] .back-to-portal-btn:hover{background:#6366f126;border-color:#6366f166}[data-theme=light] .station-card{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}[data-theme=light] .station-card:hover{box-shadow:var(--shadow-md);border-color:#4facfe4d}[data-theme=light] .transport-filters{background:#00000005;border:1px solid var(--border)}[data-theme=light] .filter-btn{background:var(--bg-secondary);border:2px solid var(--border);color:var(--text-secondary)}[data-theme=light] .filter-btn:hover{background:var(--bg-tertiary);border-color:var(--text-muted)}[data-theme=light] .filter-btn.active{background:var(--bg-secondary);color:var(--text-primary)}[data-theme=light] .radius-selector{background:#00000005;border:1px solid var(--border)}[data-theme=light] .radius-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary)}[data-theme=light] .radius-btn:hover{background:var(--bg-tertiary);border-color:var(--text-muted)}[data-theme=light] .radius-btn.active{background:#6366f11a;border-color:#6366f14d;color:var(--accent)}[data-theme=light] .vintage-board{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:2px solid var(--border);box-shadow:var(--shadow-md)}[data-theme=light] .board-header{background:linear-gradient(180deg,#e2e8f0,#f1f5f9);border-bottom:2px solid var(--border);color:var(--text-muted)}[data-theme=light] .board-row{border-bottom:1px solid var(--border)}[data-theme=light] .board-row:hover{background:#6366f10a}[data-theme=light] .board-row:hover:before{background:var(--accent)}[data-theme=light] .flip-text{color:var(--text-primary);text-shadow:none}[data-theme=light] .vintage-delay{color:var(--danger);background:#dc262614;border:1px solid rgba(220,38,38,.2)}[data-theme=light] .delayed-time{color:var(--danger)!important;text-shadow:none!important}[data-theme=light] .service-marquee{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:2px solid var(--border);box-shadow:var(--shadow-sm)}[data-theme=light] .service-marquee.normal{border-color:#36ab4d}[data-theme=light] .service-marquee.normal .marquee-item{color:#2d8a3e;text-shadow:none}[data-theme=light] .service-marquee.warning{border-color:#d4a800}[data-theme=light] .service-marquee.warning .marquee-item{color:#b8960a;text-shadow:none}[data-theme=light] .departure-item{background:var(--bg-secondary);border:1px solid var(--border)}[data-theme=light] .departure-item:hover{background:var(--bg-tertiary)}[data-theme=light] .departures-loading,[data-theme=light] .departures-error,[data-theme=light] .departures-empty{color:var(--text-primary)}[data-theme=light] .food-order-header{background:#fffffffa;box-shadow:0 2px 8px #0000000f}[data-theme=light] .food-order-header h1{background:linear-gradient(135deg,#e879a8,#c44569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .tax-assistant-app{background:var(--bg-primary)}[data-theme=light] .tax-header{background:linear-gradient(135deg,#667eea,#764ba2)}[data-theme=light] .tax-step{background:var(--bg-secondary);box-shadow:var(--shadow-sm)}[data-theme=light] .step-header{background:#6366f10a}[data-theme=light] .step-header h2{background:linear-gradient(135deg,#4f46e5,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=light] .step-header p{color:#475569}[data-theme=light] .form-section h3{color:#4338ca}[data-theme=light] .form-section h3:before{background:linear-gradient(135deg,#4f46e5,#7c3aed)}[data-theme=light] .form-section h4{color:#4338ca}[data-theme=light] .form-group label{color:#334155;font-weight:500}[data-theme=light] .form-group input,[data-theme=light] .form-group select,[data-theme=light] .form-group textarea{background:#fff;border:1.5px solid #cbd5e1;color:#1e293b}[data-theme=light] .form-group input:hover,[data-theme=light] .form-group select:hover{border-color:#94a3b8;background:#fff}[data-theme=light] .form-group input:focus,[data-theme=light] .form-group select:focus,[data-theme=light] .form-group textarea:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 2px #6366f11f}[data-theme=light] .form-group input:disabled,[data-theme=light] .calculated-field{background:#f1f5f9;border-color:#e2e8f0;color:#475569}[data-theme=light] .employment-card,[data-theme=light] .property-card,[data-theme=light] .rental-property-card{background:#fff;border:1px solid #e2e8f0}[data-theme=light] .employment-header h3{color:#1e293b}[data-theme=light] .belongs-to-highlight{background:#6366f10a;border:1.5px solid rgba(99,102,241,.15)}[data-theme=light] .belongs-to-select{background:#fff;border:1.5px solid #cbd5e1}[data-theme=light] .document-upload-widget{background:#f8fafc;border-color:#cbd5e1}[data-theme=light] .info-box,[data-theme=light] .hint{background:#3b82f60f;color:#475569}[data-theme=light] .warning-box,[data-theme=light] .savings-hint{background:#f59e0b0f;color:#475569}[data-theme=light] .draft-notice{background:#facc1514;color:#475569}[data-theme=light] .choice-box{background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .choice-box h3{color:#1e293b}[data-theme=light] .choice-box p{color:#475569}[data-theme=light] .choice-box ul{color:#334155}[data-theme=light] .summary-box,[data-theme=light] .calculation-box,[data-theme=light] .review-section{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .review-label{color:#64748b}[data-theme=light] .review-value{color:#1e293b}[data-theme=light] .array-item{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .array-item:hover{background:#f1f5f9;border-color:#6366f133}[data-theme=light] .subsection{border-top-color:#e2e8f0}[data-theme=light] .section-toggle h4,[data-theme=light] .upload-widget-header{color:#1e293b}[data-theme=light] .upload-hint{color:#64748b}[data-theme=light] .total-summary,[data-theme=light] .total-summary-large{background:#f8fafc;border-color:#818cf8}[data-theme=light] .disclaimer-box{background:#ef44440a}[data-theme=light] .elster-instructions{background:#f8fafc;border-color:#818cf8}[data-theme=light] .instruction-step{background:#fff}[data-theme=light] .field-instruction{background:#f1f5f9}[data-theme=light] .info-hint{background:#e2e8f0;border-color:#cbd5e1;color:#475569}[data-theme=light] .info-hint:hover{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=light] .tooltip{background:#94a3b8}[data-theme=light] .checkbox-label{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .checkbox-label:hover{background:#f1f5f9}[data-theme=light] .form-subsection{background:#f8fafc;border-color:#818cf8}[data-theme=light] .werbungskosten-section{border-top-color:#e2e8f0}[data-theme=light] .upload-widget-progress{background:#6366f10f}[data-theme=light] .nav-hint,[data-theme=light] .navigation-hint{background:#f1f5f9;color:#64748b}[data-theme=light] .return-card{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}[data-theme=light] .return-card:hover{box-shadow:var(--shadow-md)}[data-theme=light] .catalyst-hunter-app{background:var(--bg-primary);color:var(--text-primary)}[data-theme=light] .catalyst-header{box-shadow:0 2px 12px #fa709a26}[data-theme=light] .module-card{background:var(--bg-secondary);border:2px solid var(--border)}[data-theme=light] .module-card:not(.disabled):hover{border-color:#fa709a66;box-shadow:var(--shadow-md)}[data-theme=light] .module-name{color:var(--text-primary)}[data-theme=light] .module-description{color:var(--text-secondary)}[data-theme=light] .catalyst-hunter-app .stat-card{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}[data-theme=light] .catalyst-hunter-app .stat-label{color:var(--text-secondary)}[data-theme=light] .controls-panel{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}[data-theme=light] .control-group label{color:var(--text-secondary)}[data-theme=light] .control-group select,[data-theme=light] .control-group input[type=range]{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary)}[data-theme=light] .opportunity-card{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}[data-theme=light] .opportunity-card:hover{box-shadow:var(--shadow-md);border-color:#fa709a4d}[data-theme=light] .platform-badge{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=light] .coming-soon-badge{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=light] .loading-state,[data-theme=light] .empty-state,[data-theme=light] .error-state{background:var(--bg-secondary);border:1px solid var(--border)}[data-theme=light] .loading-state p,[data-theme=light] .empty-state p{color:var(--text-secondary)}[data-theme=light] .empty-state .hint{color:var(--text-muted)}[data-theme=light] .simple-loader{border-color:var(--border);border-top-color:#fa709a}[data-theme=light] .insider-signal-header{color:#2563eb}[data-theme=light] .catalyst-hunter-app .back-to-portal-btn{background:#fffc;color:var(--text-primary);border:2px solid var(--border)}[data-theme=light] .catalyst-hunter-app .back-to-portal-btn:hover{background:#fffffff2;border-color:var(--text-muted)}[data-theme=light] .btn{box-shadow:0 1px 3px #00000014}[data-theme=light] .btn-secondary,[data-theme=light] .btn-secondary-small{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}[data-theme=light] .btn-secondary:hover{background:var(--bg-tertiary)}[data-theme=light] .container{background:var(--bg-primary)}[data-theme=light] .card,[data-theme=light] .summary-card,[data-theme=light] .chart-card,[data-theme=light] .account-card,[data-theme=light] .income-card,[data-theme=light] .expense-card,[data-theme=light] .list-card,[data-theme=light] .detail-card,[data-theme=light] .form-card{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}[data-theme=light] .card:hover,[data-theme=light] .summary-card:hover{box-shadow:var(--shadow-md)}[data-theme=light] .form-input,[data-theme=light] input[type=text],[data-theme=light] input[type=number],[data-theme=light] input[type=email],[data-theme=light] input[type=password],[data-theme=light] input[type=date],[data-theme=light] input[type=tel],[data-theme=light] select,[data-theme=light] textarea{background:#fff;border:2px solid #cbd5e1;color:var(--text-primary)}[data-theme=light] .form-input:focus,[data-theme=light] input:focus,[data-theme=light] select:focus,[data-theme=light] textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11f}[data-theme=light] .modal-overlay{background:#0006}[data-theme=light] .modal-content,[data-theme=light] .modal{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-lg)}[data-theme=light] .chat-container,[data-theme=light] .chat-messages{background:var(--bg-primary)}[data-theme=light] .chat-message.assistant{background:var(--bg-secondary);border:1px solid var(--border)}[data-theme=light] .chat-message.user{background:#6366f114;border:1px solid rgba(99,102,241,.15)}[data-theme=light] .chat-input-area{background:var(--bg-secondary);border-top:1px solid var(--border)}[data-theme=light] .chat-input{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary)}[data-theme=light] .emergency-container{background:var(--bg-primary)}[data-theme=light] .emergency-card{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}[data-theme=light] .profile-card,[data-theme=light] .profile-section{background:var(--bg-secondary);border:1px solid var(--border)}[data-theme=light] .loan-card{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}[data-theme=light] .goal-card{background:var(--bg-secondary);border:1px solid var(--border)}[data-theme=light] ::-webkit-scrollbar-track{background:var(--bg-primary)}[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--border)}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-theme=light] .tax-calculation{background:var(--bg-secondary);border:1px solid var(--border)}[data-theme=light] .calculation-row{border-bottom:1px solid var(--border)}[data-theme=light] .year-selector-card{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}[data-theme=light] .year-button{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary)}[data-theme=light] .year-button:hover{background:#6366f114;border-color:#6366f14d}[data-theme=light] .year-button.active{background:#6366f11f;border-color:var(--accent);color:var(--accent)}[data-theme=light] .demo-badge{box-shadow:0 2px 8px #8b5cf633}[data-theme=light] .step-indicator{background:var(--bg-secondary);border-bottom:1px solid var(--border)}[data-theme=light] .step-number{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=light] .spinner{border:2px solid rgba(99,102,241,.2);border-top-color:var(--accent)}[data-theme=light] .recharts-cartesian-grid line{stroke:var(--border)}[data-theme=light] .recharts-text{fill:var(--text-secondary)}[data-theme=light] .service-option-card{background:var(--bg-secondary);border:1px solid var(--border)}[data-theme=light] .service-option-card:hover{box-shadow:var(--shadow-md)}[data-theme=light] .order-summary{background:var(--bg-secondary);border:1px solid var(--border)}[data-theme=light] .transit-footer,[data-theme=light] .tax-footer,[data-theme=light] .tax-nav{background:var(--bg-secondary);border-top:1px solid var(--border)}[data-theme=light] .loading-screen{background:var(--bg-primary);color:var(--text-primary)}[data-theme=light] ::selection{background:#6366f133;color:var(--text-primary)}[data-theme=light] .budget-header .budget-branding h1,[data-theme=light] .budget-header .budget-branding p,[data-theme=light] .tax-header .tax-branding h1,[data-theme=light] .tax-header .tax-branding p,[data-theme=light] .tax-header .back-btn{color:#fff}[data-theme=light] .dropdown-menu,[data-theme=light] .context-menu,[data-theme=light] .popup-menu{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-lg)}[data-theme=light] .tooltip-content{background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-md);color:var(--text-primary)}[data-theme=light] .tax-header .back-to-portal-btn,[data-theme=light] .budget-header .back-to-portal-btn{background:#ffffff40;color:#fff;border-color:#ffffff4d}[data-theme=light] .ai-chat-panel{background:var(--bg-secondary);border:1px solid var(--border)}[data-theme=light] .ai-chat-header{background:var(--bg-secondary);border-bottom:1px solid var(--border)}[data-theme=light] .ai-chat-input{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary)}[data-theme=light] .error-page{background:var(--bg-primary);color:var(--text-primary)}[data-theme=light] table{border-color:var(--border)}[data-theme=light] th{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border)}[data-theme=light] td{border-color:var(--border)}[data-theme=light] tr:hover{background:#6366f10a}[data-theme=light] ::placeholder{color:var(--text-muted);opacity:.7}[data-theme=light] hr,[data-theme=light] .divider{border-color:var(--border)}[data-theme=light] .divider span{background:var(--bg-primary);color:var(--text-muted)}[data-theme=light] .address-confirmation-small{background:#0596690f;border:2px solid var(--success)}[data-theme=light] .address-confirmation-small .detail-label{color:var(--text-secondary);font-weight:600}[data-theme=light] .address-confirmation-small .detail-value{color:var(--text-primary);font-weight:500}[data-theme=light] .form-section{background:#f8fafc;border:1px solid #e2e8f0}[data-theme=light] .tax-step{background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 12px #0000000f}[data-theme=light] .employment-card,[data-theme=light] .property-card{background:#fff;border:1px solid #e2e8f0}[data-theme=light] .saved-address{background:var(--bg-secondary);border:1px solid var(--border)}[data-theme=light] .saved-address:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}[data-theme=light] .autocomplete-dropdown,[data-theme=light] .predictions-list{background:#fff;border:1px solid #cbd5e1;box-shadow:0 4px 16px #0000001a}[data-theme=light] .prediction-item:hover{background:#f1f5f9}[data-theme=light] .location-info{background:var(--bg-secondary)}[data-theme=light] .location-info h2{color:var(--text-primary)}[data-theme=light] .location-info p{color:var(--text-secondary)}.volfied-game-app{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 20% 0%,rgba(253,203,110,.12),transparent 45%),radial-gradient(circle at 100% 10%,rgba(116,185,255,.1),transparent 40%),var(--bg-primary)}.volfied-header{background:linear-gradient(135deg,#0d1b2a,#1b3a4b);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:2px solid rgba(253,203,110,.3);padding:0;position:sticky;top:0;z-index:100;box-shadow:0 6px 26px #00000073;display:flex;align-items:center;gap:1.5rem;padding:1rem 2rem}.volfied-branding{flex:1}.volfied-branding h1{font-size:1.75rem;font-weight:700;margin:0;color:#ffd978;text-shadow:0 2px 12px rgba(253,203,110,.3);display:flex;align-items:center;gap:.5rem}.volfied-branding h1:before{content:"🦜";font-size:1.5rem}.volfied-branding p{margin:.25rem 0 0;color:var(--text-muted);font-size:.875rem;letter-spacing:.02em}.volfied-game-container{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;padding:.5rem 0 1rem;gap:1rem}.volfied-canvas-wrapper{position:relative;width:100%;max-width:980px;border-radius:16px;overflow:hidden;border:2px solid rgba(253,203,110,.32);background:#0a0e1a;box-shadow:0 10px 34px #0000006b,inset 0 0 0 1px #ffffff0d}.volfied-canvas-wrapper-menu{max-width:none;border:none;border-radius:0;background:transparent;box-shadow:none;min-height:520px}.volfied-canvas-wrapper-menu .volfied-overlay{position:relative;inset:auto;min-height:520px;padding:1.5rem .75rem}.volfied-canvas-wrapper-menu .volfied-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.volfied-canvas{display:block;width:100%;height:auto;image-rendering:auto}.volfied-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0d1b2aeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:inherit;display:flex;align-items:center;justify-content:center;padding:.75rem;z-index:10}.volfied-overlay-success{background:#2d6a4fe0}.volfied-overlay-fail{background:#8b0000d9}.volfied-overlay-content{text-align:center;padding:1.4rem 1.5rem;max-width:400px;width:min(100%,400px);max-height:none;overflow:visible;border:1px solid rgba(253,203,110,.25);border-radius:14px;background:linear-gradient(180deg,#ffffff0f,#ffffff08);box-shadow:0 10px 30px #00000059}.volfied-overlay-menu{width:min(100%,360px);padding:1rem 1.15rem;border:none;background:transparent;box-shadow:none}.volfied-overlay-menu .volfied-title-icon{font-size:2.2rem;margin-bottom:.35rem}.volfied-overlay-menu h2{font-size:1.65rem;margin-bottom:.45rem}.volfied-overlay-menu .volfied-subtitle{margin-bottom:.5rem!important}.volfied-overlay-menu .volfied-rules{padding:.7rem .85rem;margin:.5rem 0}.volfied-overlay-menu .volfied-rules p{font-size:.82rem!important;margin:.3rem 0!important}.volfied-overlay-menu .volfied-controls-hint{margin:.45rem 0 .35rem}.volfied-overlay-menu .volfied-controls-hint span{font-size:.78rem;padding:.3rem .6rem}.volfied-overlay-menu .volfied-start-btn{margin-top:.4rem}.volfied-title-icon{font-size:2.8rem;margin-bottom:.5rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.volfied-overlay-content h2{font-size:1.8rem;font-weight:700;color:#fdcb6e;margin:0 0 .75rem;text-shadow:0 2px 8px rgba(0,0,0,.5)}.volfied-overlay-content p{color:#ffffffd9;margin:.25rem 0;font-size:.95rem}.volfied-subtitle{color:#fff9!important;font-size:.9rem!important;margin-bottom:.8rem!important}.volfied-rules{background:#ffffff14;border-radius:10px;padding:1rem 1.25rem;margin:.7rem 0;text-align:left}.volfied-rules p{font-size:.85rem!important;margin:.375rem 0!important;color:#ffffffbf!important;line-height:1.5}.volfied-rules strong{color:#fdcb6e}.volfied-controls-hint{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin:.7rem 0 .4rem}.volfied-controls-hint span{background:#ffffff1a;padding:.375rem .75rem;border-radius:6px;font-size:.8rem;color:#fff9}.volfied-bonus{color:#fdcb6e!important;font-weight:600;font-size:1.1rem!important}.volfied-overlay-retro{-webkit-backdrop-filter:none;backdrop-filter:none;background:#000000d1}.volfied-overlay-retro.volfied-overlay-success,.volfied-overlay-retro.volfied-overlay-fail{background:#000000d1}.volfied-retro-card{text-align:center;width:min(92%,320px)}.volfied-retro-border{border:3px solid #fdcb6e;border-radius:2px;padding:1.5rem 1.25rem;background:#0d1117f2;box-shadow:0 0 0 1px #000c,inset 0 0 30px #fdcb6e0a,0 0 20px #fdcb6e1f}.volfied-retro-header{font-family:Courier New,Consolas,monospace;font-size:1.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#fdcb6e;text-shadow:0 0 10px rgba(253,203,110,.5);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid rgba(253,203,110,.25)}.volfied-retro-header.retro-success{color:#55efc4;text-shadow:0 0 10px rgba(85,239,196,.5);border-color:#55efc440}.volfied-retro-header.retro-fail{color:#ff6b6b;text-shadow:0 0 12px rgba(255,107,107,.5);border-color:#ff6b6b40}.volfied-retro-header.retro-win{color:gold;text-shadow:0 0 14px rgba(255,215,0,.6);border-color:#ffd7004d;font-size:1.8rem}.volfied-retro-body{margin:.75rem 0 1rem;display:flex;flex-direction:column;gap:.4rem}.volfied-retro-row{display:flex;justify-content:space-between;align-items:baseline;font-family:Courier New,Consolas,monospace;font-size:.9rem;color:#ffffffb3;padding:.25rem 0}.volfied-retro-row span:last-child{color:#fff;font-weight:700;font-size:1rem}.volfied-retro-row.retro-bonus{color:#fdcb6e;margin-top:.25rem;padding-top:.5rem;border-top:1px dashed rgba(253,203,110,.2)}.volfied-retro-row.retro-bonus span:last-child{color:#fdcb6e;text-shadow:0 0 6px rgba(253,203,110,.4)}.volfied-retro-btn{display:block;width:100%;margin-top:.5rem;padding:.7rem 1.5rem;font-family:Courier New,Consolas,monospace;font-size:.95rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:2px solid;border-radius:2px;cursor:pointer;transition:all .15s ease;background:transparent}.volfied-retro-btn:active{transform:scale(.97)}.retro-btn-go{color:#0d1117;background:#55efc4;border-color:#55efc4}.retro-btn-go:hover{background:#00d2a0;border-color:#00d2a0;box-shadow:0 0 14px #55efc466}.retro-btn-retry{color:#fffc;background:transparent;border-color:#ffffff4d}.retro-btn-retry:hover{border-color:#fff9;color:#fff;box-shadow:0 0 8px #ffffff1a}.retro-btn-continue{color:#fdcb6e;background:transparent;border-color:#fdcb6e}.retro-btn-continue:hover{background:#fdcb6e1a;box-shadow:0 0 12px #fdcb6e4d}@keyframes retro-blink{0%,to{opacity:1}50%{opacity:.5}}.volfied-retro-header.retro-fail{animation:retro-blink 1.2s ease-in-out infinite}.volfied-start-btn{margin-top:.7rem;padding:.875rem 2.5rem;background:linear-gradient(135deg,#fdcb6e,#e17055);color:#0d1b2a;border:none;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:0 4px 16px #fdcb6e4d;position:relative;overflow:hidden}.volfied-start-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #fdcb6e80;filter:saturate(1.08)}.volfied-start-btn:active{transform:translateY(0)}.volfied-info-bar{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;width:100%;max-width:800px;padding:.65rem .8rem;background:linear-gradient(180deg,#ffffff0f,#ffffff08);border:1px solid rgba(253,203,110,.22);border-radius:12px;font-size:.875rem;color:var(--text-primary);font-weight:600;box-shadow:0 6px 20px #00000040}.volfied-info-bar span{padding:.35rem .6rem;border:1px solid rgba(253,203,110,.2);border-radius:999px;background:#0d1b2a73;white-space:nowrap}.volfied-dpad{display:none;flex-direction:column;align-items:center;gap:4px;margin-top:.5rem}.dpad-middle-row{display:flex;gap:4px;align-items:center}.volfied-dpad-btn{width:56px;height:56px;border-radius:10px;border:2px solid rgba(253,203,110,.3);background:#fdcb6e1a;color:#fdcb6e;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;touch-action:manipulation;box-shadow:0 6px 14px #00000040}.volfied-dpad-btn:active{background:#fdcb6e4d;border-color:#fdcb6e}.dpad-center{width:56px;height:56px}@media (max-width: 768px){.volfied-dpad{display:flex}.volfied-header{padding:.75rem 1rem;gap:.75rem}.volfied-branding h1{font-size:1.25rem}.volfied-game-container{padding:.75rem}.volfied-overlay-content{padding:1.25rem}.volfied-overlay-content h2{font-size:1.5rem}.volfied-info-bar{font-size:.75rem;padding:.5rem .75rem}}[data-theme=light] .volfied-game-app{background:radial-gradient(circle at 15% 0%,rgba(217,119,6,.18),transparent 40%),radial-gradient(circle at 90% 5%,rgba(14,165,233,.16),transparent 36%),#f8f9fa}[data-theme=light] .volfied-header{background:linear-gradient(135deg,#fef3c7,#fde68a,#fef3c7);border-bottom:2px solid #d97706;box-shadow:0 2px 12px #d9770626}[data-theme=light] .volfied-branding h1{color:#92400e}[data-theme=light] .volfied-branding p{color:#78350f}[data-theme=light] .volfied-header .back-to-portal-btn{background:#92400e1a;border-color:#92400e40;color:#92400e}[data-theme=light] .volfied-header .back-to-portal-btn:hover{background:#92400e33}[data-theme=light] .volfied-canvas-wrapper{border:2px solid #d97706;background:#fff;box-shadow:0 8px 24px #d9770629,inset 0 0 0 1px #b453091f}[data-theme=light] .volfied-canvas-wrapper-menu{border:none;background:transparent;box-shadow:none}[data-theme=light] .volfied-info-bar{background:linear-gradient(180deg,#fff7d6,#fffbeb);border:1px solid #f59e0b;color:#78350f}[data-theme=light] .volfied-info-bar span{background:#ffffffe6;border-color:#f59e0b;color:#78350f}[data-theme=light] .volfied-dpad-btn{border:2px solid #d97706;background:#fef3c7;color:#92400e}[data-theme=light] .volfied-dpad-btn:active{background:#fde68a;border-color:#b45309}.osint-app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.osint-header{padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.osint-back{background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:.4rem .8rem;border-radius:8px;cursor:pointer;font-size:.9rem}.osint-back:hover{background:var(--bg-tertiary);border-color:var(--accent)}.osint-header h1{font-size:1.4rem;color:var(--text-primary)}.osint-header p{font-size:.85rem;color:var(--text-muted)}.osint-layout{flex:1;display:flex;min-height:0}.osint-map-area{flex:1;position:relative;min-width:0}.osint-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:500;background:#000c;color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;pointer-events:none}.osint-map-wrap{width:100%;height:100%;min-height:400px}.osint-map{width:100%;height:100%;min-height:400px;background:#1a1a2e}.osint-map .leaflet-container{font-family:inherit}.osint-layer-overlay{position:absolute;top:.75rem;left:.75rem;z-index:1000}.osint-layer-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;box-shadow:var(--shadow-md)}.osint-layer-title{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.osint-layer-list{display:flex;flex-direction:column;gap:.35rem}.osint-layer-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;color:var(--text-secondary)}.osint-layer-item input{width:1rem;height:1rem}.osint-layer-icon{font-size:1rem}.osint-draw-controls{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);z-index:1000;display:flex;gap:.5rem;align-items:center}.osint-draw-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem}.osint-draw-btn:hover,.osint-draw-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.osint-draw-hint{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);z-index:999;background:#000000bf;color:#fff;padding:.4rem .8rem;border-radius:6px;font-size:.8rem}.osint-sidebar{width:340px;min-width:340px;background:var(--bg-secondary);border-left:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding:1rem}.osint-entity-detail{background:var(--bg-tertiary);border-radius:10px;border:1px solid var(--border);overflow:hidden}.osint-entity-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem .9rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.osint-entity-type{font-weight:600;text-transform:capitalize;color:var(--text-primary)}.osint-entity-close{background:transparent;border:none;color:var(--text-muted);font-size:1.4rem;cursor:pointer;line-height:1}.osint-entity-close:hover{color:var(--text-primary)}.osint-entity-body{padding:.9rem;font-size:.9rem}.osint-entity-body dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem}.osint-entity-body dt{color:var(--text-muted);font-weight:500}.osint-entity-body dd{color:var(--text-primary);margin:0}.osint-entity-body a{color:var(--accent)}.osint-intel-brief,.osint-intel-chat{background:var(--bg-tertiary);border-radius:10px;border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column}.osint-intel-chat{flex:1;min-height:200px}.osint-intel-header{display:flex;flex-direction:column;gap:.25rem;padding:.6rem .9rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.osint-intel-header h3{font-size:.95rem;color:var(--text-primary)}.osint-intel-hint{font-size:.75rem;color:var(--text-muted);margin:0}.osint-chat-messages{flex:1;overflow-y:auto;padding:.75rem;min-height:120px;max-height:280px}.osint-chat-placeholder{color:var(--text-muted);font-size:.85rem;margin:0}.osint-chat-msg{margin-bottom:.75rem}.osint-chat-msg-user .osint-chat-content{background:var(--accent);color:#fff;padding:.5rem .75rem;border-radius:10px 10px 4px;font-size:.9rem}.osint-chat-msg-assistant .osint-chat-content{background:var(--bg-secondary);padding:.5rem .75rem;border-radius:10px 10px 10px 4px;font-size:.9rem;color:var(--text-primary);white-space:pre-wrap}.osint-chat-role{display:block;font-size:.7rem;color:var(--text-muted);margin-bottom:.25rem}.osint-chat-loading{opacity:.8;font-style:italic}.osint-chat-input-wrap{padding:.6rem .9rem;border-top:1px solid var(--border)}.osint-chat-input-row{display:flex;gap:.5rem}.osint-chat-input{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem}.osint-chat-input::placeholder{color:var(--text-muted)}.osint-chat-send{padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem}.osint-chat-send:hover:not(:disabled){background:var(--accent-hover)}.osint-chat-send:disabled{opacity:.6;cursor:not-allowed}.osint-intel-generate{background:var(--accent);color:#fff;border:none;padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.8rem}.osint-intel-generate:hover:not(:disabled){background:var(--accent-hover)}.osint-intel-generate:disabled{opacity:.7;cursor:not-allowed}.osint-intel-error{color:var(--danger);font-size:.85rem;padding:0 .9rem .5rem}.osint-intel-body{padding:.9rem;font-size:.9rem}.osint-intel-body section{margin-bottom:.75rem}.osint-intel-body section:last-child{margin-bottom:0}.osint-intel-body h4{font-size:.85rem;color:var(--text-muted);margin-bottom:.35rem}.osint-intel-body p,.osint-intel-body ul{color:var(--text-primary);margin:0}.osint-intel-body ul{padding-left:1.2rem}.osint-plane-icon,.osint-ship-icon{background:transparent!important;border:none!important}
