.bottom-nav{height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(20px);z-index:100;background:#ffffffeb;border-top:1px solid #0000000f;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-tab{color:#999;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:48px;padding:8px 0;font-size:0;transition:color .2s;display:flex;position:relative}.bottom-nav-tab.active{color:var(--primary);background:0 0}.bottom-nav-tab.active:before{content:"";background:var(--primary);border-radius:0 0 3px 3px;width:24px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.bottom-nav-label{font-size:11px;font-weight:600;line-height:1}.app-shell{background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.app-content{-webkit-overflow-scrolling:touch;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));flex:1;overflow-y:auto}.login-screen{min-height:100dvh;padding:0 20px;padding-top:max(env(safe-area-inset-top,0px), 48px);background:linear-gradient(#f8fbf3 0%,#fff 50%,#f8fbf3 100%);flex-direction:column;align-items:center;display:flex}.login-header{flex-direction:column;align-items:center;margin-bottom:32px;display:flex}.login-logo{background:var(--primary-tint);border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:16px;display:flex;box-shadow:0 4px 16px #5a7d2a26}.login-title{color:var(--primary);letter-spacing:-.03em;font-size:28px;font-weight:800}.login-subtitle{color:var(--text-secondary);margin-top:4px;font-size:14px}.login-card{background:#fff;border:1px solid #0000000a;border-radius:24px;width:100%;max-width:380px;padding:32px 24px;box-shadow:0 4px 24px #0000000f}.login-form{flex-direction:column;animation:.25s ease-out fadeIn;display:flex}.login-form-title{color:var(--text);text-align:center;margin-bottom:8px;font-size:20px;font-weight:800}.login-form-desc{color:var(--text-secondary);text-align:center;margin-bottom:24px;font-size:14px;line-height:1.5}.login-welcome{color:var(--text-secondary);text-align:center;margin-bottom:24px;font-size:15px;line-height:1.4}.login-welcome strong{color:var(--text)}.login-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.login-field-label{color:var(--text-secondary);font-size:13px;font-weight:600}.login-field-opt{color:#bbb;font-weight:400}.login-field-hint{color:#bbb;margin-top:2px;font-size:12px}.login-field .input{border-radius:12px;height:48px;font-size:15px}.input-group{position:relative}.input-group .input{padding-right:48px}.input-icon-btn{width:40px;height:40px;color:var(--text-secondary);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.input-icon-btn:active{background:#0000000a}.login-btn{border-radius:14px;height:48px;margin-top:8px;font-size:15px;font-weight:700}.btn-outline{color:var(--text);border:1.5px solid var(--divider);background:#fff;justify-content:center;align-items:center;gap:8px;display:flex}.btn-outline:active{background:var(--surface)}.login-link{text-align:center;width:100%;color:var(--primary);cursor:pointer;background:0 0;border:none;margin-top:4px;padding:12px 0;font-size:14px;font-weight:600;display:block}.login-link:active{opacity:.7}.login-divider{color:#ccc;align-items:center;margin:20px 0;font-size:13px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--divider);flex:1;height:1px}.login-divider span{padding:0 14px}.login-error{color:var(--danger);text-align:center;background:#d9534f0f;border:1px solid #d9534f33;border-radius:12px;margin-bottom:12px;padding:10px 14px;font-size:14px;line-height:1.4}.login-success{color:#1a7d4e;text-align:center;background:#e8f6ef80;border:1px solid #a3e9c480;border-radius:12px;margin-bottom:12px;padding:10px 14px;font-size:14px;line-height:1.4}@media (width<=400px){.login-card{border-radius:20px;padding:24px 20px}}@media (height>=800px){.login-header{margin-top:16px}}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:.8}}.skeleton-pulse{background:var(--divider);animation:1.5s ease-in-out infinite skeletonPulse}.dashboard{padding:20px;padding-top:max(env(safe-area-inset-top,0px), 24px);animation:.3s ease-out fadeIn}.dashboard-error{min-height:60vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:16px;display:flex}.dashboard-welcome-banner{align-items:baseline;gap:6px;margin-bottom:12px;display:flex}.dashboard-welcome-brand{color:var(--primary-dark);letter-spacing:-.03em;font-size:20px;font-weight:900}.dashboard-welcome-by{color:var(--text-secondary);font-size:13px;font-weight:500}.dashboard-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.dashboard-greeting{color:var(--text);font-size:24px;font-weight:700}.dashboard-sub{color:var(--text-secondary);margin-top:2px;font-size:14px}.avatar-btn{padding:0}.avatar{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.hero-card{background:var(--primary);color:#fff;border-radius:20px;margin-bottom:20px;padding:24px}.hero-card-top{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.hero-label{text-transform:uppercase;letter-spacing:.5px;opacity:.8;font-size:12px;font-weight:500}.hero-percent{font-size:14px;font-weight:700}.hero-name{margin-bottom:12px;font-size:20px;font-weight:700}.hero-amounts{opacity:.9;justify-content:space-between;margin-bottom:10px;font-size:13px;display:flex}.hero-progress-track{background:#ffffff40;border-radius:3px;height:6px;overflow:hidden}.hero-progress-fill{border-radius:3px;height:100%;transition:width .6s ease-out}.stat-strip{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px;display:grid}.stat-card{border:1.5px solid var(--divider);background:#fff;border-radius:18px;flex-direction:column;gap:8px;padding:18px;display:flex;box-shadow:0 2px 8px #0000000a}.stat-icon{margin-bottom:4px}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:500}.stat-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.section{margin-bottom:24px}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title{color:var(--text);margin-bottom:12px;font-size:16px;font-weight:600}.section-header .section-title{margin-bottom:0}.section-link{color:var(--primary);font-size:13px;font-weight:500}.quick-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.quick-action-card{border:1px solid var(--divider);min-height:80px;color:var(--text);background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:16px;transition:transform .15s;display:flex}.quick-action-card:active{transform:scale(.96)}.quick-action-icon{color:var(--primary)}.quick-action-label{color:var(--text);font-size:13px;font-weight:500}.expense-list{flex-direction:column;display:flex}.expense-row{border-bottom:1px solid var(--divider);align-items:center;gap:12px;padding:12px 0;display:flex}.expense-row:last-child{border-bottom:none}.expense-icon{background:var(--primary-tint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.expense-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.expense-item{color:var(--text);white-space:normal;overflow-wrap:anywhere;word-break:break-word;font-size:14px;font-weight:500}.expense-meta{color:var(--text-secondary);white-space:normal;overflow-wrap:anywhere;word-break:break-word;font-size:12px}.expense-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.expense-amount{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.empty-text{text-align:center;color:var(--text-secondary);padding:24px 0;font-size:14px}.btn-inline{align-items:center;gap:6px;width:auto;min-height:44px;padding:0 16px;display:inline-flex}.project-list-home{gap:12px;display:grid}.home-project-card{text-align:left;border:1.5px solid var(--divider);width:100%;color:var(--text);background:#fff;border-radius:20px;padding:20px;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px #0000000a}.home-project-card:active{transform:scale(.98);box-shadow:0 1px 4px #00000014}.home-project-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.home-project-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:4px;font-size:12px;display:flex}.home-project-shared-tag{color:#0369a1;letter-spacing:.03em;text-transform:none;background:#e0f2fe;border-radius:999px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.home-project-card h2{font-size:18px}.home-project-badge{flex-shrink:0;font-size:14px;font-weight:800}.home-project-stats{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.home-project-stats span{color:var(--text-secondary);font-size:12px;display:block}.home-project-stats strong{color:var(--text);margin-top:2px;font-size:15px;display:block}.home-project-progress{background:#e0e0e0;border-radius:999px;height:8px;margin-top:14px;overflow:hidden}.home-project-progress-fill{border-radius:inherit;height:100%}.welcome-empty{margin-top:4px}.welcome-hero-card{background:linear-gradient(135deg, var(--primary) 0%, #3d5a1a 100%);text-align:center;color:#fff;border-radius:24px;margin-bottom:24px;padding:32px 24px}.welcome-hero-icon{background:#ffffff2e;border-radius:20px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;display:flex}.welcome-hero-card h2{margin-bottom:8px;font-size:22px;font-weight:800}.welcome-hero-card p{opacity:.85;max-width:30ch;margin:0 auto 20px;font-size:14px;line-height:1.5}.welcome-hero-card .btn-lg{color:var(--primary-dark);background:#fff;border:none;border-radius:14px;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:700;display:inline-flex;box-shadow:0 4px 16px #00000026}.welcome-hero-card .btn-lg:active{transform:scale(.97)}.welcome-steps{border:1.5px solid var(--divider);background:#fff;border-radius:20px;margin-bottom:20px;padding:20px}.welcome-steps h3{color:var(--text);margin-bottom:16px;font-size:15px;font-weight:700}.welcome-step{border-bottom:1px solid var(--divider);align-items:flex-start;gap:14px;padding:12px 0;display:flex}.welcome-step:last-child{border-bottom:none;padding-bottom:0}.welcome-step:first-of-type{padding-top:0}.welcome-step-num{background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:1px;font-size:13px;font-weight:800;display:flex}.welcome-step strong{color:var(--text);margin-bottom:2px;font-size:14px;font-weight:700;display:block}.welcome-step span{color:var(--text-secondary);font-size:13px;line-height:1.4}.welcome-features{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.welcome-feature{border:1.5px solid var(--divider);text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;display:flex}.welcome-feature-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.welcome-feature span{color:var(--text);font-size:12px;font-weight:600;line-height:1.3}.placeholder-screen{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:60vh;padding:16px;display:flex}.placeholder-title{color:var(--text);font-size:20px;font-weight:600}.placeholder-text{color:var(--text-secondary);font-size:14px}.projects-page{background:#fff;min-height:100vh;padding:16px}.projects-header{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.projects-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:700}.projects-header h1{font-size:26px}.projects-fab{width:48px;height:48px;color:var(--primary);border:1px solid var(--divider);background:#fff;border-radius:50%;place-items:center;padding:0;font-size:28px;line-height:1;display:grid}.projects-list{gap:12px;display:grid}.project-card{text-align:left;border:1px solid var(--divider);width:100%;color:var(--text);background:#fff;border-radius:16px;padding:16px;transition:transform .15s,box-shadow .15s}.project-card:active{transform:scale(.98)}.project-card-top{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.project-card-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:4px;font-size:12px}.project-card h2{font-size:18px}.project-card-badges{flex-shrink:0;align-items:center;gap:6px;display:flex}.project-shared-badge{color:#0369a1;letter-spacing:.03em;background:#e0f2fe;border-radius:999px;flex-shrink:0;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.project-active-badge{background:var(--primary-tint);color:var(--primary-dark);border-radius:999px;flex-shrink:0;align-items:center;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.project-card-stats{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.project-card-stats span,.project-card-progress-meta span,.project-card-footer{color:var(--text-secondary);font-size:13px}.project-card-stats strong{color:var(--text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:16px;display:block}.project-card-progress{margin-top:14px}.project-card-progress-bar{background:#edf2f7;border-radius:999px;height:8px;overflow:hidden}.project-card-progress-fill{border-radius:inherit;height:100%}.project-card-progress-meta{justify-content:space-between;margin-top:8px;display:flex}.project-card-footer{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.projects-empty{text-align:center;border:1px dashed var(--divider);background:#fcfcfc;border-radius:18px;place-items:center;gap:12px;min-height:50vh;padding:24px;display:grid}.projects-empty p{color:var(--text-secondary);max-width:28ch}.project-detail-page{box-sizing:border-box;background:#fff;max-width:100vw;min-height:100vh;padding:16px;overflow-x:hidden}.project-detail-top{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.project-detail-top-actions{gap:6px;display:flex}.back-btn{width:44px;height:44px;color:var(--primary);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.project-detail-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:4px;font-size:12px}.project-detail-top h1{word-break:break-word;font-size:22px}.project-hero{background:var(--primary);color:#fff;border-radius:20px;margin-bottom:20px;padding:18px}.project-hero-head,.project-hero-amounts,.project-item,.project-item-progress-meta,.section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title-row-actions{align-items:center;gap:12px;display:flex}.project-hero-label{text-transform:uppercase;letter-spacing:.08em;opacity:.75;font-size:12px}.project-hero-value{margin-top:6px;font-size:26px;font-weight:800;line-height:1}.project-hero-badge{border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700}.project-hero-amounts{margin:16px 0 10px}.project-hero-amounts span,.project-hero-note,.project-item-meta,.project-item-progress-meta span,.section-title-row span{opacity:.86;color:inherit;font-size:13px}.project-hero-amounts strong{margin-top:2px;font-size:15px;display:block}.project-hero-progress{background:#ffffff38;border-radius:999px;height:8px;overflow:hidden}.project-hero-progress-fill{border-radius:inherit;height:100%}.project-hero-note{margin-top:10px;line-height:1.5}.project-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px;display:grid}.stat-tile{border:1.5px solid var(--divider);background:#fff;border-radius:14px;align-items:center;gap:10px;min-width:0;padding:12px;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000008}.stat-tile-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.stat-tile-body{flex-direction:column;gap:2px;min-width:0;display:flex}.stat-tile-label{color:var(--text-secondary);font-size:12px;font-weight:500}.stat-tile-value{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:800;overflow:hidden}.project-section{margin-top:32px}.section-title-row{margin-bottom:16px}.section-title-row h2{color:#1a1a1a;letter-spacing:-.02em;font-size:20px;font-weight:800}.section-link{color:var(--primary);border:1.5px solid var(--primary);background:#fff;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 18px;font-size:14px;font-weight:700;transition:background .2s;display:inline-flex}.section-link:hover{background:var(--primary-tint)}.project-list{gap:14px;display:grid}.project-item{border:1.5px solid var(--divider);background:#fff;border-radius:16px;align-items:flex-start;padding:18px;transition:transform .1s;box-shadow:0 2px 8px #00000008}.project-item:active{transform:scale(.99)}button.project-item{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%}button.project-item:hover{background:#fafafa}.project-item--stacked{flex-direction:column}.project-item-title{font-size:15px;font-weight:700}.project-item-right{align-items:center;gap:10px;display:flex}.project-item-amount{font-variant-numeric:tabular-nums;font-weight:700}.project-empty-inline{border:1.5px dashed var(--divider);text-align:center;color:var(--text-secondary);background:#fafafa;border-radius:16px;padding:18px}.project-item-progress{width:100%;margin-top:12px}.project-item-progress-bar{background:#e0e0e0;border-radius:999px;height:8px;overflow:hidden}.project-item-progress-fill{border-radius:inherit;height:100%}.project-item-progress-meta{margin-top:8px}.project-detail-empty{place-items:center;gap:12px;min-height:70vh;display:grid}.project-item input[type=checkbox]{flex-shrink:0;margin-top:2px;margin-right:12px}.project-item>div{align-items:flex-start;display:flex}.project-item>div>div{flex:1}@media (width<=520px){.project-stats-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-tile{gap:8px;padding:10px}.stat-tile-icon{border-radius:8px;width:30px;height:30px}.stat-tile-icon svg{width:14px;height:14px}.stat-tile-value{font-size:13px}.stat-tile-label{font-size:11px}.project-hero{border-radius:18px;padding:16px}.project-hero-value{font-size:24px}.project-hero-amounts strong{font-size:14px}.project-detail-page{padding:14px}.receipt-line-amount{font-size:13px}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-content{background:#fff;border-radius:24px 24px 0 0;width:100%;max-width:500px;max-height:90vh;animation:.3s ease-out modalSlideUp;overflow-y:auto;box-shadow:0 20px 60px #0003}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;padding:24px 24px 0;display:flex}.modal-header h2{color:#1a1a1a;align-items:center;gap:8px;margin:0;font-size:20px;font-weight:800;display:flex}.modal-back-btn{width:36px;height:36px;color:var(--text);cursor:pointer;background:#f5f5f5;border:none;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.modal-back-btn:active{background:#eaeaea}.modal-close-btn{color:#666;cursor:pointer;background:#f5f5f5;border:none;border-radius:50%;place-items:center;width:44px;height:44px;transition:background .2s;display:grid}.modal-close-btn:hover{background:#eaeaea}.expense-method-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.expense-method-btn{border:1.5px solid var(--divider);cursor:pointer;text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;transition:transform .12s,border-color .15s,box-shadow .15s;display:flex}.expense-method-btn:active{border-color:var(--primary);transform:scale(.96);box-shadow:0 2px 12px #5a7d2a1f}.expense-method-btn--wide{text-align:left;flex-direction:row;grid-column:1/-1;gap:14px;padding:16px 20px}.expense-method-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.expense-method-label{color:var(--text);font-size:14px;font-weight:700}.expense-method-desc{color:var(--text-secondary);font-size:12px;line-height:1.3}.expense-method-btn--wide .expense-method-label,.expense-method-btn--wide .expense-method-desc{display:block}.modal-body{padding:24px}.inline-add-link{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;margin-top:4px;padding:6px 0;font-size:13px;font-weight:700;display:inline-flex}.inline-add-link:active{opacity:.7}.money-input-wrapper{position:relative}.money-preview{color:var(--text-secondary);align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:600;display:flex}.money-preview-text{font-variant-numeric:tabular-nums;background:#f3f4f6;border-radius:6px;padding:4px 10px;font-family:SF Mono,Roboto Mono,monospace}.modal-success{color:#2e7d32;justify-content:center;align-items:center;gap:10px;padding:32px 24px;font-size:18px;font-weight:700;animation:.25s ease-out fadeIn;display:flex}.modal-success-icon{font-size:28px}.parsed-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.parsed-header h3{font-size:16px;font-weight:700}.parsed-select-all{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:13px;font-weight:700}.parsed-list{gap:8px;margin-bottom:16px;display:grid}.parsed-item{border:1.5px solid var(--divider);cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:12px;padding:14px;transition:border-color .15s,background .15s;display:flex}.parsed-item--selected{border-color:var(--primary);background:var(--primary-tint)}.parsed-item-check{width:20px;height:20px;accent-color:var(--primary);flex-shrink:0}.parsed-item-info{flex:1;min-width:0}.parsed-item-name{color:var(--text);font-size:14px;font-weight:600;display:block}.parsed-item-meta{color:var(--text-secondary);margin-top:2px;font-size:12px;display:block}.parsed-item-amount{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:15px;font-weight:800}.parsed-actions{gap:10px;display:flex}.parsed-actions .btn{flex:1}.upload-area{border:2px dashed var(--divider);text-align:center;cursor:pointer;border-radius:18px;padding:48px 24px;transition:border-color .2s,background .2s}.upload-area:active{border-color:var(--primary);background:var(--primary-tint)}.upload-area-icon{background:var(--surface);width:64px;height:64px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.upload-area h3{color:var(--text);margin-bottom:4px;font-size:16px;font-weight:700}.upload-hint{color:var(--text-secondary);font-size:13px}.upload-preview-card{text-align:center}.upload-preview-img{object-fit:contain;border:1px solid var(--divider);border-radius:14px;max-width:100%;max-height:280px;margin-bottom:16px}.upload-preview-actions{gap:10px;display:flex}.upload-preview-actions .btn{flex:1}.upload-area:hover{border-color:var(--primary);background:#fafafa}.upload-area.dragging{border-color:var(--primary);background:var(--primary-tint)}.upload-icon{color:var(--primary);margin-bottom:12px;font-size:48px}.upload-hint{color:var(--text-secondary);margin-top:8px;font-size:14px}.image-preview{border-radius:12px;justify-content:center;max-height:300px;margin-top:20px;display:flex;overflow:hidden}.image-preview img{object-fit:contain;max-width:100%;max-height:300px}.add-expense-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:10px;align-self:flex-start;margin-top:12px;padding:8px 16px;font-size:13px;font-weight:700;transition:transform .1s,background .15s}.add-expense-btn:hover{background:var(--primary-dark)}.add-expense-btn:active{transform:scale(.96)}.wo-list{gap:16px;display:grid}.wo-card{border:1.5px solid var(--divider);cursor:pointer;background:#fff;border-radius:20px;padding:20px;transition:transform .12s,box-shadow .15s;box-shadow:0 2px 8px #00000008}.wo-card:active{transform:scale(.985);box-shadow:0 1px 4px #0000000f}.wo-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.wo-card-title{color:var(--text);flex:1;min-width:0;font-size:16px;font-weight:700;line-height:1.3}.wo-card-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:700}.wo-card-tags{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.wo-card-tag{color:var(--text-secondary);background:var(--surface);border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;font-weight:500;display:inline-flex}.wo-card-stats{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:14px;display:grid}.wo-card-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:11px;font-weight:600;display:block}.wo-card-stat-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800;display:block}.wo-card-progress{background:#e0e0e0;border-radius:999px;height:6px;margin-bottom:14px;overflow:hidden}.wo-card-progress-fill{border-radius:inherit;height:100%;transition:width .4s ease-out}.wo-card-footer{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.wo-card-meta{flex-direction:column;gap:3px;min-width:0;display:flex}.wo-card-author{color:var(--primary);font-size:12px;font-weight:600}.wo-card-deadline{color:var(--text-secondary);font-size:12px}.wo-card-add-btn{color:var(--primary);background:var(--primary-tint);white-space:nowrap;border:none;border-radius:10px;flex-shrink:0;align-items:center;gap:5px;padding:8px 14px;font-size:13px;font-weight:700;transition:transform .1s,background .15s;display:inline-flex}.wo-card-add-btn:active{background:#d4e5b8;transform:scale(.95)}.contractor-card-detail{color:var(--text-secondary);font-size:13px}.contractor-card-budget-label{color:var(--text-secondary);font-size:12px;font-weight:500}.contractor-card-budget{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.collab-card{border:1.5px solid var(--divider);background:#fff;border-radius:18px;padding:18px;box-shadow:0 2px 8px #00000008}.collab-card-head{align-items:center;gap:12px;display:flex}.collab-card-avatar{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:17px;font-weight:800;display:flex}.collab-card-info{flex:1;min-width:0}.collab-card-name{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:700}.collab-card-you{color:var(--text-secondary);font-size:13px;font-weight:500}.collab-card-tags{flex-wrap:wrap;gap:6px;display:flex}.collab-card-role{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.collab-card-status{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.collab-card-status--active{color:#2e7d32;background:#e8f5e9}.collab-card-status--pending{color:#e65100;background:#fff3e0}.collab-card-actions{border-top:1px solid var(--divider);align-items:center;gap:10px;margin-top:14px;padding-top:14px;display:flex}.collab-card-select{flex:1;font-size:14px;height:40px!important}.collab-card-remove{color:var(--danger);border:1.5px solid var(--danger);white-space:nowrap;background:0 0;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:700;transition:background .15s}.collab-card-remove:active{background:#d9534f14}.wo-action-row{gap:10px;display:flex}.wo-action-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;min-width:0;padding:12px 10px;font-size:13px;font-weight:700;transition:transform .1s,opacity .15s;display:flex}.wo-action-btn:active{transform:scale(.97)}.wo-action-btn--primary{background:var(--primary);color:#fff}.wo-action-btn--secondary{color:#1565c0;background:#e3f2fd}.receipt-line{border-bottom:1px solid var(--divider);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.receipt-line:last-child{border-bottom:none}.receipt-line-info{flex:1;min-width:0}.receipt-line-title{color:var(--text);white-space:normal;overflow-wrap:anywhere;word-break:break-word;font-size:14px;font-weight:600;line-height:1.3}.receipt-line-meta{color:var(--text-secondary);white-space:normal;overflow-wrap:anywhere;word-break:break-word;margin-top:1px;font-size:12px}.receipt-line-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;max-width:50%;display:flex}.receipt-line-amount{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:800}.receipt-line-actions{gap:2px;display:flex}.receipt-action-btn{cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:14px;transition:opacity .15s,transform .1s;display:flex}.receipt-action-btn:hover{opacity:1}.receipt-action-btn:active{transform:scale(.9)}.expense-action-btn--danger{color:var(--danger);background:#fff3f0;border-color:#ffcdd2}.expense-action-btn--danger:active{background:#ffcdd2}.project-create-page{background:#fff;min-height:100vh;padding:20px}.project-create-top{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.project-create-top-left{gap:6px;display:flex}.project-create-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:4px;font-size:12px;font-weight:700}.project-create-top h1{font-size:24px}.project-create-tip{color:#92400e;background:#fffbeb;border:1.5px solid #fde68a;border-radius:14px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:14px 16px;font-size:13px;line-height:1.5;display:flex}.project-create-tip svg{flex-shrink:0;margin-top:1px}.manage-page{background:#fff;min-height:100vh;padding:20px}.manage-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.manage-header-actions{gap:8px;display:flex}.manage-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:4px;font-size:12px}.manage-header h1{font-size:26px}.manage-card{border:1.5px solid var(--divider);background:#fff;border-radius:20px;margin-bottom:20px;padding:28px;box-shadow:0 4px 20px #0000000f}.manage-list{gap:10px;display:grid}.manage-item{border:1.5px solid var(--divider);background:#fff;border-radius:16px;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex;box-shadow:0 2px 8px #00000008}.manage-item-title{font-size:15px;font-weight:700}.manage-item-meta,.manage-item-amount{color:var(--text-secondary);font-size:13px}.manage-item-amount{color:var(--text);white-space:nowrap;font-weight:700}.manage-chip-grid{flex-wrap:wrap;gap:10px;display:flex}.manage-chip{min-height:44px;color:var(--primary);border:1.5px solid var(--divider);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:600;transition:border-color .2s,background .2s;display:inline-flex}.manage-chip:hover{border-color:var(--primary)}.manage-chip--static{color:var(--text)}.manage-footer-note{border:1px dashed var(--divider);color:var(--text-secondary);border-radius:16px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.contractor-list{gap:14px;display:grid}.contractor-card{border:1.5px solid var(--divider);background:#fff;border-radius:18px;padding:18px;box-shadow:0 2px 8px #00000008}.contractor-card-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.contractor-card-avatar{color:#1565c0;background:#e3f2fd;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:17px;font-weight:800;display:flex}.contractor-card-info{min-width:0}.contractor-card-name{color:var(--text);font-size:15px;font-weight:700}.contractor-card-type{color:var(--text-secondary);font-size:13px}.contractor-card-details{flex-wrap:wrap;gap:14px;margin-bottom:12px;display:flex}.contractor-card-detail{color:var(--text-secondary);align-items:center;gap:5px;font-size:13px;display:inline-flex}.contractor-card-detail--note{align-items:flex-start;line-height:1.4}.contractor-card-footer{border-top:1px solid var(--divider);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.contractor-card-budget-label{color:var(--text-secondary);font-size:12px;font-weight:500;display:block}.contractor-card-budget{color:var(--text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:16px;font-weight:800;display:block}.contractor-delete-btn{width:40px;height:40px;color:var(--danger);background:#fff3f0;border:1.5px solid #ffcdd2;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,transform .1s;display:flex}.contractor-delete-btn:active{background:#ffcdd2;transform:scale(.92)}.contractor-tab-switcher{background:#f4f6f8;border-radius:14px;gap:8px;padding:6px;display:flex}.contractor-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:10px 12px;font-size:13px;font-weight:700}.contractor-tab-btn.active{color:var(--primary-dark);background:#fff;box-shadow:0 1px 4px #0000000f}.contractor-form-actions{justify-content:space-between;gap:10px;margin-top:4px;display:flex}.contractor-form-actions .btn{min-width:120px}.contractor-delete-btn:disabled{opacity:.5}@media (width<=520px){.manage-header,.manage-item{flex-direction:column}}.setup-page{background:linear-gradient(#fff 0%,#f8fbf3 100%);min-height:100vh;padding:20px}.setup-hero{padding:4px 0 16px}.setup-badge{background:var(--primary-tint);color:var(--primary-dark);border-radius:999px;align-items:center;margin-bottom:12px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.setup-hero h1{margin-bottom:8px;font-size:26px}.setup-hero p{color:var(--text-secondary);line-height:1.6}.setup-progress{grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 20px;display:grid}.setup-progress-segment{background:#ececec;border-radius:999px;height:6px}.setup-progress-segment.active{background:var(--primary-tint)}.setup-progress-segment.done{background:var(--primary)}.setup-error{color:var(--danger);background:#d9534f14;border:1.5px solid #d9534f4d;border-radius:12px;margin-bottom:20px;padding:16px 18px;font-size:14px;line-height:1.5}.setup-cards{flex-direction:column;gap:14px;display:flex}.setup-card{border:1.5px solid var(--divider);background:#fff;border-radius:20px;padding:28px;box-shadow:0 4px 20px #0000000f}.setup-card.is-active{border-color:#5a7d2a59;box-shadow:0 0 0 4px #5a7d2a0d}.setup-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.setup-card-head h2{margin-top:6px;font-size:19px}.setup-step-pill{color:var(--primary-dark);text-transform:uppercase;letter-spacing:.06em;background:#f2f6ea;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.setup-done-icon{color:var(--success);flex-shrink:0}.setup-form{flex-direction:column;gap:12px;display:flex}.setup-field{flex-direction:column;gap:6px;display:flex}.setup-field span{color:var(--text-secondary);font-size:13px;font-weight:500}.setup-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.setup-grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.setup-textarea{border:1px solid var(--divider);border-radius:var(--radius);width:100%;min-height:92px;font:inherit;resize:vertical;background:#fff;padding:14px 16px}.setup-textarea:focus{border-color:var(--primary);outline:none}.setup-summary{flex-direction:column;gap:10px;display:flex}.setup-summary-title{color:var(--text);font-size:16px;font-weight:700}.setup-summary-meta,.setup-summary-note,.setup-mini-row{color:var(--text-secondary);font-size:14px;line-height:1.6}.setup-chip-grid{flex-wrap:wrap;gap:10px;display:flex}.setup-chip--selected{background:var(--primary-tint);color:var(--primary-dark);border-color:#5a7d2a33}.setup-inline-add{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}@media (width<=520px){.setup-grid-2,.setup-grid-3,.setup-inline-add{grid-template-columns:1fr}}.expenses-page{background:#fff;min-height:100vh;padding:20px}.expenses-hero{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.expenses-hero-actions{gap:8px;display:flex}.expenses-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:4px;font-size:12px}.expenses-hero h1{font-size:26px}.expenses-top-link{color:var(--primary);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:6px;min-height:38px;padding:0 12px;font-weight:700;display:inline-flex}.expenses-summary-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.expenses-summary-card{border:1.5px solid var(--divider);background:#fff;border-radius:18px;padding:18px;box-shadow:0 2px 8px #0000000a}.expenses-summary-card span{color:var(--text-secondary);margin-top:6px;font-size:12px;display:block}.expenses-summary-card strong{margin-top:3px;font-size:16px;display:block}.tab-switcher{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.tab-switcher button{min-height:52px;color:var(--primary);border:1.5px solid var(--primary);background:#fff;border-radius:12px;font-weight:700}.tab-switcher button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.expenses-card{border:1.5px solid var(--divider);background:#fff;border-radius:20px;margin-bottom:20px;padding:28px;box-shadow:0 4px 20px #0000000f}.cashwise-sms-card{background:linear-gradient(135deg,#f8fbf4 0%,#eef7e7 100%);border:1.5px solid #dbe8cc;border-radius:18px;margin-bottom:16px;padding:18px}.cashwise-sms-head{align-items:flex-start;gap:12px;display:flex}.cashwise-sms-icon{background:var(--primary);color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.cashwise-sms-card h2{margin-bottom:4px;font-size:16px;font-weight:800}.cashwise-sms-card p{color:var(--text-secondary);font-size:13px;line-height:1.45}.cashwise-sms-warning{color:#9a5a00;background:#fff4e5;border-radius:12px;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;font-size:12px;line-height:1.4;display:flex}.cashwise-sms-template{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.cashwise-sms-template code{border:1px solid var(--divider);color:var(--text);background:#fff;border-radius:12px;flex:1;min-width:0;padding:10px 12px;font-family:SF Mono,Roboto Mono,monospace;font-size:12px}.cashwise-sms-notes{color:var(--text-secondary);gap:8px;margin-top:14px;font-size:12px;display:grid}.sms-pool-list{gap:10px;margin-top:16px;display:grid}.sms-pool-card{border:1.5px solid var(--divider);background:#fff;border-radius:16px;padding:18px;box-shadow:0 2px 8px #00000008}.sms-pool-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sms-pool-title{font-size:15px;font-weight:700}.sms-pool-meta,.sms-pool-text{color:var(--text-secondary);font-size:13px;line-height:1.5}.sms-pool-text{border-top:1px dashed var(--divider);margin-top:10px;padding-top:10px}.sms-status{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.sms-status.unassigned{color:#b26a00;background:#f5a6231f}.sms-status.assigned{color:var(--primary-dark);background:#5a7d2a1f}.sms-pool-actions{grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:12px;display:grid}@media (width<=520px){.expenses-summary-grid,.sms-pool-actions{grid-template-columns:1fr}}.reports-page{background:#fff;min-height:100vh;padding:20px}.reports-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.reports-header h1{color:#1a1a1a;letter-spacing:-.02em;align-items:center;font-size:28px;font-weight:800;display:flex}.range-toggle{background:#f5f5f5;border-radius:999px;padding:4px;display:inline-flex}.range-btn{color:#666;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex}.range-btn:hover{color:#333;background:#fff9}.range-btn.active{color:#fff;background:var(--primary);box-shadow:0 2px 8px #0000001f}.report-summary-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:32px;display:grid}.report-summary-card{border:1.5px solid var(--divider);background:#fff;border-radius:20px;align-items:center;gap:20px;padding:24px;transition:transform .15s;display:flex;box-shadow:0 2px 12px #0000000a}.report-summary-icon{background:var(--primary-tint);width:56px;height:56px;color:var(--primary-dark);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.report-summary-label{color:var(--text-secondary);margin-bottom:4px;font-size:14px}.report-summary-value{color:#1a1a1a;font-size:24px;font-weight:800;line-height:1}.report-section{margin-top:32px}.report-section h3{color:#1a1a1a;align-items:center;gap:10px;margin-bottom:20px;font-size:20px;font-weight:800;display:flex}.report-bar-list{gap:16px;display:grid}.report-bar-item{flex-direction:column;gap:8px;display:flex}.report-bar-label{justify-content:space-between;align-items:center;font-size:14px;font-weight:600;display:flex}.report-bar-amount{font-variant-numeric:tabular-nums;font-weight:700}.report-bar-track{background:#e0e0e0;border-radius:999px;height:10px;overflow:hidden}.report-bar-fill{background:var(--primary);border-radius:inherit;height:100%}.report-empty{border:1.5px dashed var(--divider);text-align:center;color:var(--text-secondary);background:#fafafa;border-radius:16px;padding:40px 24px}.report-list{gap:12px;display:grid}.report-item{border:1.5px solid var(--divider);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;padding:18px;display:flex;box-shadow:0 2px 8px #00000008}.report-item-title{font-size:15px;font-weight:700}.report-item-meta{color:var(--text-secondary);margin-top:4px;font-size:13px}.report-item-amount{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}@media (width<=640px){.reports-header{flex-direction:column;align-items:flex-start;gap:16px}.range-toggle{justify-content:stretch;align-self:stretch}.range-btn{flex:1;justify-content:center}.report-summary-grid{grid-template-columns:1fr}}.settings-page{padding:20px;padding-top:max(env(safe-area-inset-top,0px), 20px);max-width:600px;margin:0 auto;padding-bottom:120px}.settings-profile-card{background:var(--primary);border-radius:20px;align-items:center;gap:16px;margin-bottom:28px;padding:24px;display:flex;box-shadow:0 4px 20px #5a7d2a40}.settings-avatar{color:#fff;border:3px solid #ffffff4d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:22px;font-weight:800;display:flex;overflow:hidden}.settings-avatar img{object-fit:cover;width:100%;height:100%}.settings-avatar span{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.settings-profile-info{flex:1;min-width:0}.settings-profile-name{color:#fff;margin-bottom:2px;font-size:20px;font-weight:800}.settings-profile-meta{color:#ffffffbf;white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.settings-toast{border-radius:14px;align-items:center;gap:8px;margin-bottom:16px;padding:14px 18px;font-size:14px;font-weight:600;animation:.25s ease-out fadeIn;display:flex}.settings-toast--success{color:#1a7d4e;background:#e8f6ef;border:1.5px solid #a3e9c4}.settings-toast--error{color:#d32f2f;background:#fff3f0;border:1.5px solid #ffcdd2}.settings-section{border:1.5px solid var(--divider);background:#fff;border-radius:18px;margin-bottom:12px;transition:box-shadow .2s;overflow:hidden}.settings-section:has(.settings-section-body){box-shadow:0 4px 20px #0000000f}.settings-section--danger{border-color:#ffcdd2}.settings-section-header{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:14px;width:100%;padding:18px 20px;display:flex}.settings-section-header:active{background:var(--surface)}.settings-section-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.settings-section-label{flex:1;min-width:0}.settings-section-title{color:var(--text);font-size:15px;font-weight:700;display:block}.settings-section-sub{color:var(--text-secondary);margin-top:2px;font-size:12px;display:block}.settings-chevron{color:var(--text-secondary);flex-shrink:0;transition:transform .25s}.settings-chevron.open{transform:rotate(90deg)}.settings-section-body{flex-direction:column;gap:16px;padding:0 20px 20px;animation:.2s ease-out slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.settings-field{flex-direction:column;gap:6px;display:flex}.settings-field-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.settings-field-hint{color:#999;margin-top:2px;font-size:12px}.settings-field .input-group{position:relative}.settings-field .input-group .input{padding-right:48px}.settings-field .input-group .input-icon-btn{color:var(--text-secondary);background:0 0;border:none;padding:8px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.settings-avatar-preview{text-align:center}.settings-avatar-preview img{object-fit:cover;border:2px solid var(--divider);border-radius:50%;width:72px;height:72px}.settings-danger-banner{color:#6d4c00;background:#fff8e1;border:1px solid #ffe082;border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.5}.settings-logout-btn{border:1.5px solid var(--divider);width:100%;color:var(--danger);background:#fff;border-radius:16px;justify-content:center;align-items:center;gap:10px;margin-top:24px;padding:16px;font-size:15px;font-weight:700;transition:background .15s,border-color .15s;display:flex}.settings-logout-btn:hover{background:#fff3f0;border-color:#ffcdd2}.settings-version{text-align:center;color:#ccc;margin-top:20px;font-size:12px}.btn-danger{background:var(--danger);color:#fff;border:none}.btn-danger:hover{background:#c9302c}.btn-danger:disabled{opacity:.5}.settings-section-body select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23595959' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 6l3.5 4 3.5-4z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-right:40px}@media (width<=640px){.settings-page{padding:16px;padding-top:max(env(safe-area-inset-top,0px), 16px)}.settings-profile-card{padding:20px}.settings-avatar{width:52px;height:52px;font-size:18px}.settings-profile-name{font-size:18px}}:root{--primary:#5a7d2a;--primary-dark:#3f5a1a;--primary-tint:#e8f0d8;--bg:#fff;--surface:#fafafa;--text:#1a1a1a;--text-secondary:#595959;--divider:#e5e5e5;--success:#4caf50;--warning:#f5a623;--danger:#d9534f;--radius:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;height:100%}body{-webkit-font-smoothing:antialiased;color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;overflow-x:hidden}#root{min-height:100dvh}h1,h2,h3,h4{font-weight:700;line-height:1.2}a{color:var(--primary);text-decoration:none}button{cursor:pointer;border:1.5px solid var(--divider);color:var(--text);-webkit-tap-highlight-color:transparent;background:#fff;border-radius:12px;font-family:inherit;transition:transform .1s,opacity .15s,background .15s,border-color .15s}button:active{transform:scale(.98)}input{font-family:inherit;font-size:15px}.btn{border-radius:12px;justify-content:center;align-items:center;width:100%;height:52px;padding:0 24px;font-size:15px;font-weight:700;display:flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--primary);color:#fff;border:none}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{color:var(--primary);border:1.5px solid var(--primary);background:#fff}.btn-secondary:hover{background:var(--primary-tint)}.input{border:1.5px solid var(--divider);width:100%;height:52px;color:var(--text);background:#fff;border-radius:12px;outline:none;padding:0 18px;font-size:15px;transition:border-color .2s,box-shadow .2s,transform .1s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #5a7d2a26}.input::placeholder{color:#999}.card{border:1.5px solid var(--divider);background:#fff;border-radius:20px;padding:28px;box-shadow:0 4px 20px #0000000f}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.25s ease-out fadeIn}:root{--form-gap:20px;--field-gap:10px;--input-height:52px;--input-padding:0 18px;--input-border-width:1.5px;--input-border-radius:12px;--input-focus-shadow:0 0 0 3px #5a7d2a26;--label-font-size:14px;--label-font-weight:700;--label-color:#2a2a2a;--help-color:#6b6b6b;--help-font-size:12px;--error-color:#d9534f;--error-bg:#d9534f14}.form-card{border:1.5px solid var(--divider);background:#fff;border-radius:18px;padding:24px;box-shadow:0 2px 12px #0000000a}.setup-form{gap:var(--form-gap);flex-direction:column;display:flex}.setup-field{gap:var(--field-gap);flex-direction:column;display:flex}.setup-field span{font-size:var(--label-font-size);font-weight:var(--label-font-weight);color:var(--label-color);letter-spacing:-.01em}.input,.setup-textarea,select.input{width:100%;height:var(--input-height);padding:var(--input-padding);border:var(--input-border-width) solid var(--divider);border-radius:var(--input-border-radius);color:var(--text);background-color:#fff;outline:none;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.input:focus,.setup-textarea:focus,select.input:focus{border-color:var(--primary);box-shadow:var(--input-focus-shadow)}.input::placeholder,.setup-textarea::placeholder{color:#999;opacity:1}.setup-textarea{resize:vertical;min-height:100px;padding:14px 16px;line-height:1.5}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-right:44px}.setup-grid-2{gap:var(--form-gap);grid-template-columns:repeat(2,1fr);display:grid}.setup-form .btn{height:var(--input-height);border-radius:var(--input-border-radius);letter-spacing:-.01em;border:none;font-weight:700;transition:background-color .2s,transform .1s}.setup-form .btn-primary{background-color:var(--primary);color:#fff}.setup-form .btn-primary:hover{background-color:var(--primary-dark)}.setup-form .btn-secondary{color:var(--primary);border:var(--input-border-width) solid var(--primary);background-color:#fff}.setup-form .btn-secondary:hover{background-color:var(--primary-tint)}.setup-form-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.setup-error{border:var(--input-border-width) solid var(--error-color);background-color:var(--error-bg);color:var(--error-color);border-radius:var(--input-border-radius);padding:14px 16px;font-size:14px;line-height:1.5}.setup-help{font-size:var(--help-font-size);color:var(--help-color);margin-top:4px;line-height:1.4}.setup-inline-add{gap:var(--form-gap);grid-template-columns:1fr auto;align-items:end;display:grid}.section-header{margin-bottom:24px}.section-header h2{color:#1a1a1a;letter-spacing:-.02em;margin-bottom:6px;font-size:20px;font-weight:800}.section-header p{color:var(--text-secondary);font-size:14px;line-height:1.5}.setup-chip-grid{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.setup-chip{color:#444;border:var(--input-border-width) solid var(--divider);cursor:pointer;background:#f8f8f8;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.setup-chip:hover{border-color:var(--primary)}.setup-chip--selected{background:var(--primary-tint);border-color:var(--primary);color:var(--primary-dark)}@media (width<=520px){.setup-grid-2,.setup-inline-add{grid-template-columns:1fr}.setup-chip-grid{justify-content:center}}
