:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#fafafa;--hover-bg:#00000008;--text-primary:#333;--text-secondary:#666;--text-tertiary:#999;--border-color:#e0e0e0;--border-light:#f0f0f0;--shadow-sm:#0000001a;--shadow-md:#00000026;--accent-primary:#667eea;--accent-secondary:#764ba2;--input-bg:#fff;--input-border:#ddd;--modal-backdrop:#00000080;--btn-primary-bg:#3b82f6;--btn-primary-hover:#2563eb;--btn-primary-active:#1d4ed8;--btn-primary-text:#fff;--btn-danger-bg:#f87171;--btn-danger-hover:#ef4444;--btn-danger-active:#dc2626;--btn-danger-text:#fff;--error-color:#dc2626;--error-bg:#fef2f2;--error-border:#fecaca;--warning-bg:#fef3c7;--warning-border:#f59e0b;--success-color:#34c759;--connected-color:#34c759;--snooze-color:#ff9f0a;--snoozed-color:#d97706;--action-color:#3b82f6;--safe-area-inset-top:env(safe-area-inset-top);--safe-area-inset-right:env(safe-area-inset-right);--safe-area-inset-bottom:env(safe-area-inset-bottom);--safe-area-inset-left:env(safe-area-inset-left)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#1a1a1a;--bg-secondary:#2d2d2d;--bg-tertiary:#252525;--hover-bg:#ffffff0d;--text-primary:#e0e0e0;--text-secondary:#b0b0b0;--text-tertiary:gray;--border-color:#404040;--border-light:#353535;--shadow-sm:#0000004d;--shadow-md:#00000080;--accent-primary:#7c8fef;--accent-secondary:#8b5fc7;--input-bg:#2d2d2d;--input-border:#404040;--modal-backdrop:#000000b3;--btn-primary-bg:#3b82f6;--btn-primary-hover:#60a5fa;--btn-primary-active:#2563eb;--btn-primary-text:#fff;--btn-danger-bg:#f87171;--btn-danger-hover:#fca5a5;--btn-danger-active:#ef4444;--btn-danger-text:#fff;--error-color:#f87171;--error-bg:#3a1a1a;--error-border:#5a2020;--warning-bg:#3a3020;--warning-border:#7a5a0a;--success-color:#30d158;--connected-color:#30d158;--snooze-color:#ff9f0a;--snoozed-color:#f59e0b;--action-color:#60a5fa}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;width:100%;min-height:100dvh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}html{width:100%;margin:0;padding:0;overflow-x:hidden}.app{flex-direction:column;min-height:100dvh;display:flex}.btn{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;align-items:center;gap:4px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:1px solid #0000}.btn-primary:hover{background:var(--btn-primary-hover);transform:translateY(-1px)}.btn-primary:active{background:var(--btn-primary-active);transform:scale(.98)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-secondary)}.btn-secondary:active{transform:scale(.98)}.btn-danger{background:var(--btn-danger-bg);color:var(--btn-danger-text);border:none}.btn-danger:hover{background:var(--btn-danger-hover)}.btn-danger:active{background:var(--btn-danger-active);transform:scale(.98)}.btn-icon{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:8px;font-size:20px;transition:opacity .15s}.btn-icon:hover{opacity:.7}.btn-icon:active{opacity:.5;transform:scale(.95)}.form-group{margin-bottom:20px}.form-group label{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--text-primary);border-radius:6px;padding:10px;font-family:inherit;font-size:14px;transition:border-color .2s}.error-message{color:#f44336;background:#f443361a;border-left:3px solid #f44336;border-radius:6px;margin-top:10px;padding:10px;font-size:14px}.loading{text-align:center;color:var(--text-secondary);padding:40px}:root{--status-now:#f97316;--status-soon:#fbbf24;--status-later:#60a5fa;--status-unknown:#9ca3af;--status-starred:#3b82f6}[data-theme=dark]{--status-starred:#60a5fa}.status-now{border-left-color:var(--status-now)!important}.status-soon{border-left-color:var(--status-soon)!important}.status-later{border-left-color:var(--status-later)!important}.status-unknown{border-left-color:var(--status-unknown)!important}.status-snoozed{border-left-color:var(--snoozed-color)!important}.status-starred{background:#3b82f60d;border-left-color:var(--status-starred)!important}@media (width<=768px){.btn{min-height:44px;padding:10px 16px;font-size:14px}.btn-icon{min-width:44px;min-height:44px;padding:10px;font-size:20px}.form-group input,.form-group select,.form-group textarea{min-height:44px;font-size:16px}.form-group textarea{min-height:100px}}.update-banner{bottom:calc(16px + var(--safe-area-inset-bottom,0px));background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;z-index:10000;box-shadow:0 2px 12px var(--shadow-md);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:20px;padding:10px 20px;font-size:13px;font-weight:500;position:fixed;left:50%;transform:translate(-50%)}.update-banner:active{opacity:.8}.premium-gate-screen{background:var(--bg-primary);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:20px;display:flex}.premium-gate-container{background:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;border-radius:10px;flex-direction:column;align-items:center;width:100%;max-width:420px;padding:48px 40px;display:flex;box-shadow:0 10px 25px #0003}.premium-gate-logo{margin-bottom:24px}.premium-gate-icon{margin-bottom:16px;font-size:48px}.premium-gate-title{color:var(--text-primary);margin:0 0 12px;font-size:22px;font-weight:700;line-height:1.3}.premium-gate-subtitle{color:var(--text-secondary);margin:0 0 32px;font-size:14px;line-height:1.6}.premium-gate-stores{flex-direction:column;gap:10px;width:100%;margin-bottom:24px;display:flex}.premium-gate-store-link{background:var(--btn-primary-bg);width:100%;color:var(--btn-primary-text);text-align:center;border-radius:8px;padding:12px;font-size:15px;font-weight:600;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);display:block}.premium-gate-store-link:hover{background:var(--btn-primary-hover);transform:translateY(-1px)}.premium-gate-store-link:active{background:var(--btn-primary-active);transform:scale(.98)}.premium-gate-store-link--disabled{opacity:.45;cursor:default;pointer-events:none}.premium-gate-logout{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:14px}.premium-gate-logout:hover{color:var(--text-primary)}@media (width<=480px){.premium-gate-container{box-shadow:none;border:none;border-radius:0;max-width:none;padding:32px 24px}.premium-gate-screen{padding:0}}.login-screen{background:var(--bg-primary);justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}.login-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;width:100%;max-width:400px;padding:40px;box-shadow:0 10px 25px #0003}.login-logo{justify-content:center;align-items:center;gap:12px;margin-bottom:10px;display:flex}.login-container h1{color:var(--btn-primary-bg);margin:0;font-size:32px}.login-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:30px;font-size:14px}.login-form{margin-top:20px}.login-divider{text-align:center;color:var(--text-secondary);align-items:center;margin:20px 0;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid var(--border-color);flex:1}.login-divider span{text-transform:lowercase;padding:0 15px;font-size:14px}.btn-google{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s;display:flex}.btn-google:hover{background:#f8f8f8;border-color:#ccc;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.google-icon{flex-shrink:0}[data-theme=dark] .btn-google{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .btn-google:hover{background:var(--bg-secondary);border-color:var(--border-light)}.btn-apple{color:#fff;cursor:pointer;background:#000;border:1px solid #000;border-radius:6px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:10px;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s;display:flex}.btn-apple:hover{background:#1a1a1a;transform:translateY(-1px);box-shadow:0 2px 8px #0003}.apple-icon{flex-shrink:0}[data-theme=dark] .btn-apple{color:#000;background:#fff;border-color:#fff}[data-theme=dark] .btn-apple:hover{background:#e8e8e8;border-color:#e8e8e8}.icon{vertical-align:middle;flex-shrink:0;display:inline-block}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:260px;padding:15px 0;display:flex;overflow-y:auto}.sidebar-section{margin-bottom:20px}.sidebar-section-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;align-items:center;padding:8px 20px;font-size:12px;font-weight:600;display:flex}.btn-icon-small{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:4px;font-size:18px;transition:color .2s}.btn-icon-small:hover{color:var(--text-primary)}.sidebar-nav{flex-direction:column;display:flex}.sidebar-item-wrapper{align-items:center;display:flex;position:relative}.sidebar-item{color:var(--text-primary);cursor:pointer;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-left:3px solid #0000;flex:1;align-items:center;gap:10px;padding:8px 20px;font-size:14px;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-item-gear{cursor:pointer;opacity:0;color:var(--text-secondary);touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px 6px;transition:opacity .15s,color .15s;display:flex;position:absolute;right:18px}.sidebar-item-gear:hover{color:var(--accent-primary)}.sidebar-item-wrapper:hover .sidebar-item-gear{opacity:1}.sidebar-item-wrapper:hover .sidebar-count{opacity:0}.sidebar-item:hover{background:var(--input-border)}.sidebar-item.active{background:var(--input-border);border-left-color:var(--accent-primary);font-weight:600}.sidebar-icon{flex-shrink:0;font-size:16px}.sidebar-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sidebar-count{background:var(--bg-tertiary);color:var(--text-secondary);text-align:center;border-radius:12px;min-width:24px;padding:2px 8px;font-size:12px;font-weight:600}.sidebar-item.active .sidebar-count{background:var(--accent-primary);color:#fff}.sidebar-sync .sidebar-icon.spin{animation:1s linear infinite sidebar-spin}@keyframes sidebar-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sidebar-sync .sidebar-label{color:var(--text-secondary);font-size:13px}.sidebar-logout{border-top:1px solid var(--border-color);margin-top:auto;margin-bottom:0;padding-top:10px}.sidebar-overlay{display:none}@media (width<=1023px){.sidebar{z-index:1100;will-change:transform;backface-visibility:hidden;width:280px;height:100vh;padding-top:20px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;transform:translate(-280px);box-shadow:2px 0 16px #00000026}.sidebar-logout{margin-bottom:60px}.sidebar-open{transform:translate(0,0)}.sidebar-overlay{z-index:1050;background:#0006;animation:.3s cubic-bezier(.4,0,.2,1) fadeIn;display:block;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-item{min-height:48px;padding:14px 20px}.sidebar-icon{font-size:20px}.sidebar-section-header{padding:10px 20px;font-size:13px}.sidebar-item-gear{opacity:1;min-width:44px;min-height:44px;padding:8px}.sidebar-item-wrapper:hover .sidebar-count{opacity:1}.sidebar-count{margin-right:40px}}@media (width>=768px) and (width<=1023px){.sidebar{width:320px;left:-320px}}.card-avatar{border:2px solid #9ca3af;border-radius:50%;flex-shrink:0;width:48px;height:48px;position:relative;overflow:hidden}.card-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.card-avatar-default{width:100%;height:100%;position:relative}.card-avatar-default .card-avatar-img{position:absolute;inset:0}.card-avatar-initials-overlay{color:#fff;text-shadow:0 1px 2px #0000004d;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:absolute;inset:0}.card-avatar-initials{background:var(--bg-tertiary);width:100%;height:100%;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.list-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:4px solid var(--border-color);cursor:pointer;border-radius:12px;align-items:center;gap:16px;padding:16px;transition:all .15s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 3px #0000000f}.list-card:hover{background:var(--hover-bg);box-shadow:0 2px 8px #00000014}.list-card:active{transition:transform .1s;transform:scale(.99)}.list-card-content{flex-direction:column;flex:1;gap:4px;display:flex}.list-card-name{color:var(--text-primary);align-items:center;gap:4px;font-size:16px;font-weight:500;display:inline-flex}.contact-color-indicator{flex-shrink:0;margin-right:2px;font-weight:700;line-height:1}.list-card-details{color:var(--text-secondary);align-items:center;gap:6px;font-size:14px;display:flex}.list-card-right{color:var(--text-tertiary);white-space:nowrap;font-size:14px;font-weight:500}.list-card-badge{white-space:nowrap;text-align:center;border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:4px 12px;font-size:13px;font-weight:600;display:flex}.list-card-badge-overdue,.list-card-badge-now{color:#f97316;background:#f9731626}.list-card-badge-soon{color:#fbbf24;background:#fbbf2426}.list-card-badge-later{color:#60a5fa;background:#60a5fa26}.list-card-badge-unknown{color:#9ca3af;background:#9ca3af26}@media (width<=768px){.list-card{padding:12px}.list-card-name{font-size:15px}.list-card-details,.list-card-right{font-size:13px}.list-card-badge{padding:3px 10px;font-size:12px}}.contact-card-wrapper{border-radius:12px;margin-bottom:0;position:relative;overflow:hidden}.swipe-background{pointer-events:none;border-radius:12px;display:flex;position:absolute;inset:0;overflow:hidden}.swipe-left-bg{background:var(--connected-color);color:#fff;justify-content:flex-start;align-items:center;gap:12px;width:100%;padding-left:30px;font-weight:600;display:flex}.swipe-right-bg{background:var(--snooze-color);color:#fff;justify-content:flex-end;align-items:center;gap:12px;width:100%;padding-right:30px;font-weight:600;display:flex}.swipe-icon{stroke-width:2.5px;width:28px;height:28px}.swipe-text{text-transform:uppercase;letter-spacing:.5px;font-size:16px;font-weight:700}.contact-card{z-index:1;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;contain:layout style paint;position:relative}.contact-card.animating{opacity:.6;pointer-events:none}.contact-card.selected{background:var(--hover-bg);border-color:var(--accent-primary);box-shadow:0 2px 12px #0000001f}.desktop-actions{display:none}@media (width>=1024px){.desktop-actions{align-items:center;gap:8px;display:flex}.desktop-actions .contact-action{min-width:unset;border-radius:8px;padding:10px}.desktop-actions .contact-action .action-label{display:none}}.contact-action{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;min-width:70px;color:var(--text-primary);touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:12px 16px;transition:all .15s cubic-bezier(.4,0,.2,1);display:flex}.contact-action:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.contact-action:active{transform:scale(.95)}.contact-action:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.contact-action.starred{color:var(--accent-primary);background:#f59e0b26;border-color:#f59e0b4d}.contact-action.starred:hover{background:#f59e0b40;border-color:#f59e0b80}.contact-action .action-icon{stroke-width:2px;width:20px;height:20px;color:var(--text-primary)}.contact-action:hover .action-icon{color:#fff}.action-label{text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.snooze-menu{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:flex-end;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.snooze-menu-content{background:var(--bg-secondary);border-radius:20px 20px 0 0;width:100%;max-width:500px;padding:24px;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;box-shadow:0 -4px 20px #00000026}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.snooze-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.snooze-title{color:var(--text-primary);margin:0;font-size:20px;font-weight:600}.snooze-close{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .2s;display:flex}.snooze-close:hover{background:var(--hover-bg);border-color:var(--text-secondary)}.snooze-close:active{transform:scale(.95)}.snooze-close-icon{width:20px;height:20px;color:var(--text-primary);stroke-width:2px}.snooze-options{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.snooze-option{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:12px;padding:16px;font-size:16px;font-weight:500;transition:all .2s}.snooze-option:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);transform:translate(4px)}.snooze-option:active{transform:scale(.98)}.snooze-cancel{border:2px solid var(--border-color);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:12px;padding:16px;font-size:16px;font-weight:600;transition:all .2s}.snooze-cancel:hover{background:var(--bg-tertiary);border-color:var(--text-secondary);color:var(--text-primary)}@media (width<=1023px){.contact-card{will-change:transform}.contact-action{min-width:75px;min-height:44px;padding:14px 18px}.action-icon{font-size:22px}.action-label{font-size:12px}.contact-action:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}}@media (width>=1024px){.contact-action{flex-direction:row;gap:6px;min-width:90px;padding:10px 14px}.action-icon{font-size:18px}.action-label{font-size:11px}}.list-view-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex;position:relative}.list-view-header-content{flex-direction:column;flex:1;gap:8px;display:flex}.list-view-header-action{flex-shrink:0;margin-top:4px}.list-view-title{color:var(--text-primary);margin:0;font-size:36px;font-weight:700;line-height:1.2}.list-view-subtitle{color:var(--text-secondary);margin:0;font-size:17px;line-height:1.4}@media (width>=1024px){.list-view-title{font-size:28px}.list-view-subtitle{font-size:15px}}.list-filters{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.list-filters-search{position:relative}.list-filters-search input{border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:12px;outline:none;padding:10px 36px 10px 12px;font-size:15px;transition:border-color .2s}.list-filters-search input:focus{border-color:var(--text-secondary)}.list-filters-search input::placeholder{color:var(--text-secondary)}.list-filters-search .clear-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.list-filters-row{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.list-filters-row select{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;appearance:auto;text-overflow:ellipsis;border-radius:20px;outline:none;min-width:0;padding:8px 12px;font-size:14px;font-weight:500;overflow:hidden}.list-filters-row select:focus{border-color:var(--text-secondary)}.list-filters-row select.active{background:color-mix(in srgb, var(--accent-primary) 15%, transparent);color:var(--accent-primary);border-color:var(--accent-primary)}.miss-you-chip{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.miss-you-chip:hover{background:var(--hover-bg)}.miss-you-chip.active{background:var(--error-color);color:#fff;border-color:var(--error-color)}.starred-chip{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.starred-chip:hover{background:var(--hover-bg)}.starred-chip.active{color:#fff;background:#ffc107;border-color:#ffc107}@media (width<=1023px){.list-filters-search input{padding:12px 40px 12px 14px;font-size:16px}.list-filters-row select,.miss-you-chip,.starred-chip{padding:10px 18px;font-size:15px}}@media (width>=1024px){.list-filters{margin-bottom:20px}.list-filters-search input{padding:8px 32px 8px 10px;font-size:14px}.list-filters-row select,.miss-you-chip,.starred-chip{padding:6px 14px;font-size:13px}}.alert-dialog-overlay{background:var(--modal-backdrop);z-index:3000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.alert-dialog{background:var(--bg-secondary);box-shadow:0 4px 24px var(--shadow-md);border-radius:12px;width:100%;max-width:400px;padding:24px}.alert-dialog-title{color:var(--text-primary);margin:0 0 8px;font-size:17px;font-weight:600}.alert-dialog-message{color:var(--text-secondary);margin:0 0 20px;font-size:14px;line-height:1.5}.alert-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.alert-dialog-btn{cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:14px;font-weight:500;transition:opacity .2s}.alert-dialog-btn:hover{opacity:.85}.alert-dialog-btn.cancel{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color)}.alert-dialog-btn.confirm.default{background:var(--accent-primary);color:#fff}.alert-dialog-btn.confirm.danger{color:#fff;background:#ef4444}.alert-dialog-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.settings-container{max-width:800px;padding:24px}.settings-description{color:var(--text-secondary);margin-bottom:32px;font-size:14px;line-height:1.5}.settings-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;margin-bottom:24px;padding:24px}.section-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.section-header h3{margin:0;font-size:18px;font-weight:600}.section-description{color:var(--text-secondary);margin-bottom:20px;font-size:14px;line-height:1.5}.setting-item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 0;display:flex}.setting-item:last-child{border-bottom:none;padding-bottom:0}.setting-item:first-child{padding-top:0}.setting-info{flex:1}.setting-info label{margin-bottom:4px;font-size:15px;font-weight:500;display:block}.setting-description{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.4}.info-icon-btn{cursor:pointer;vertical-align:middle;opacity:.6;background:0 0;border:none;align-items:center;margin-left:6px;padding:0;transition:opacity .2s;display:inline-flex}.info-icon-btn:hover{opacity:1}.cadence-select{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:6px;padding:8px 32px 8px 16px;font-size:14px}.cadence-select:hover{border-color:var(--text-secondary)}.cadence-select:focus{border-color:var(--accent-color,#3b82f6);outline:none}.theme-selector{gap:8px;display:flex}.theme-option{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);border-radius:6px;padding:8px 16px;font-size:14px;transition:all .2s}.theme-option:hover{background:var(--bg-hover)}.theme-option.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);font-weight:600}[data-theme=light] .theme-option.active{background:var(--action-color);color:#fff;border-color:var(--action-color)}[data-theme=dark] .theme-option.active{background:var(--action-color);color:#000;border-color:var(--action-color)}.toggle-switch{background:var(--border-color);cursor:pointer;border:none;border-radius:14px;flex-shrink:0;width:48px;height:28px;transition:background-color .3s;position:relative}.toggle-switch:hover{opacity:.8}.toggle-switch.active{background:var(--accent-primary)}.toggle-slider{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .3s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.toggle-switch.active .toggle-slider{transform:translate(20px)}.sync-issue-details{color:var(--text-secondary);padding:8px 0;font-size:13px;line-height:1.6}.sync-issue-details p{margin:0}.sync-now-btn{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);border-radius:6px;align-items:center;gap:6px;padding:6px 16px;font-size:14px;transition:all .2s;display:inline-flex}.sync-check-icon{color:var(--text-secondary);opacity:.6}.sync-spinner{border:2px solid var(--border-color);border-top-color:var(--text-primary);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite sync-spin;display:inline-block}@keyframes sync-spin{to{transform:rotate(360deg)}}.sync-now-btn:hover:not(:disabled){background:var(--bg-hover)}.sync-now-btn:disabled{opacity:.5;cursor:not-allowed}.account-status{align-items:center;gap:12px;display:flex}.account-username{color:var(--text-secondary);font-size:14px}.logout-btn{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:13px}.logout-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.premium-badge{align-items:center;gap:4px;font-size:14px;font-weight:500;display:inline-flex}.premium-badge.premium{color:var(--accent-primary)}.premium-badge.free{color:var(--text-secondary)}@media (width<=1023px){.settings-container{padding:16px;padding-bottom:calc(84px + env(safe-area-inset-bottom))}.settings-section{padding:16px}.setting-item{flex-direction:column;align-items:flex-start;gap:12px}.theme-selector{width:100%}.theme-option{flex:1}}.next-view{background:var(--bg-primary);-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;min-width:0;max-width:100%;padding:20px;overflow-y:auto}.next-section{margin-bottom:48px}.empty-state{text-align:center;padding:60px 20px}.empty-state.compact{padding:24px 20px}.empty-state p{color:var(--text-primary);margin:0;font-size:18px}.empty-state.compact p{font-size:15px}.empty-subtitle{color:var(--text-secondary)!important;margin-top:4px!important;font-size:14px!important}.empty-state.compact .empty-subtitle{font-size:13px!important}.upcoming-section{margin-bottom:32px}.upcoming-list{flex-direction:column;gap:12px;display:flex}.upcoming-item{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;align-items:center;gap:16px;padding:16px;transition:all .2s;display:flex}.upcoming-item:hover{background:var(--hover-bg);box-shadow:0 2px 8px #00000014}.upcoming-icon{background:var(--bg-tertiary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.upcoming-content{flex:1;min-width:0}.upcoming-name{color:var(--text-primary);margin-bottom:4px;font-size:16px;font-weight:600}.upcoming-type{color:var(--text-secondary);font-size:14px}.upcoming-date{color:var(--accent-primary);white-space:nowrap;font-size:14px;font-weight:600}@media (width<=1023px){.next-view{padding:16px;padding-bottom:calc(84px + var(--safe-area-inset-bottom));overflow-y:visible}.contacts-list{gap:12px}.upcoming-item{padding:18px}.upcoming-icon{width:56px;height:56px;font-size:28px}.upcoming-name{font-size:17px}.upcoming-type,.upcoming-date{font-size:15px}}@media (width>=1024px){.next-view{width:100%;padding:24px}.contacts-list{gap:8px}.upcoming-item{padding:14px}.upcoming-icon{width:44px;height:44px;font-size:22px}.upcoming-name{font-size:15px}.upcoming-type,.upcoming-date{font-size:13px}}.swipeable-card-wrapper{touch-action:pan-y;position:relative;overflow:hidden}.swipeable-card-content{z-index:1;background:var(--bg-primary);position:relative}.swipe-background{z-index:0;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0}.swipe-left-bg{background:var(--success-bg,#10b981);color:#fff;flex:1;align-items:center;gap:12px;height:100%;padding-left:24px;display:flex}.swipe-right-bg{background:var(--snooze-color,#ff9500);color:#fff;flex:1;justify-content:flex-end;align-items:center;gap:12px;height:100%;padding-right:24px;display:flex}.swipe-right-bg-skip{background:#6b7280}.swipe-text{font-size:14px;font-weight:600}.swipeable-card-content.animating{pointer-events:none;opacity:.5;transition:opacity .3s}.swipeable-desktop-actions{z-index:2;gap:8px;display:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}@media (width>=768px){.swipeable-desktop-actions{display:flex}.swipeable-card-content>.list-card{padding-right:60px}}.swipeable-action{background:var(--bg-secondary);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.swipeable-action:hover{background:var(--success-bg,#10b981);color:#fff;transform:scale(1.05)}.swipeable-action:active{transform:scale(.95)}.swipeable-card-content{position:relative}.undo-fab{color:#fff;cursor:pointer;z-index:100;background:#3b82f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;animation:.25s cubic-bezier(.34,1.56,.64,1) undo-fab-in;display:flex;position:fixed;bottom:80px;left:16px;box-shadow:0 2px 8px #0000002e}.undo-fab:hover{background:#2563eb}@keyframes undo-fab-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (prefers-color-scheme:dark){.undo-fab:hover{background:#2563eb}}.connected-view{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;width:100%;max-width:1200px;height:100%;margin:0 auto;padding:20px;overflow-y:auto}.connected-content{flex-direction:column;gap:32px;display:flex}.connected-section{flex-direction:column;gap:12px;display:flex}.connected-section .section-title{letter-spacing:.5px;color:var(--text-secondary);text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.connected-list{flex-direction:column;gap:8px;display:flex}.main-content{background:var(--bg-primary);-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;min-width:0;padding:20px;overflow-y:auto}.view-header-gear{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-top:4px;padding:6px;transition:all .15s;display:flex}.view-header-gear:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.view-header-gear.active,.view-header-gear.active:hover{color:var(--accent-primary)}.view-header-gear:active{transform:scale(.95)}.desktop-only{display:none}@media (width>=1024px){.desktop-only{display:flex}}.contacts-list{flex-direction:column;gap:8px;display:flex}.contacts-list p{color:var(--text-secondary);text-align:center;padding:20px}@media (width<=1023px){.main-content{padding:16px;padding-bottom:calc(84px + var(--safe-area-inset-bottom));overflow-y:visible}body.detail-view-open .main-content{touch-action:none;overflow:hidden}.contacts-list{gap:12px}}.pagination{justify-content:center;align-items:center;gap:12px;margin-top:24px;padding:16px 0;display:flex}.pagination-btn{border:1px solid var(--border-primary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:6px 16px;font-size:13px;transition:all .15s}.pagination-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.pagination-btn:disabled{opacity:.35;cursor:default}.pagination-info{color:var(--text-tertiary);font-size:13px}@media (width>=1024px){.main-content{padding:24px 32px}.contacts-list{gap:8px}}.connection-picker-form{background:#3b82f614;border:1px solid #3b82f633;border-radius:12px;margin-top:16px;padding:16px}.connection-picker-form .form-group{margin-bottom:16px}.connection-picker-form .form-group:last-of-type{margin-bottom:0}.connection-picker-form label{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.connection-picker-form input[type=datetime-local],.connection-picker-form select,.connection-picker-form .connection-notes-input{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:8px;padding:10px;font-family:inherit;font-size:14px}.connection-picker-form .connection-notes-input{resize:vertical;min-height:40px}.connection-picker-form input[type=datetime-local]:focus,.connection-picker-form select:focus,.connection-picker-form .connection-notes-input:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #3b82f61a}.connection-picker-form .picker-actions{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}.connection-picker-form .picker-actions .btn{flex:1;max-width:120px}.month-day-picker{align-items:center;gap:6px;display:flex}.month-day-picker-select{background:var(--input-bg,#fff);border:1px solid var(--border-color,#ddd);color:var(--text-primary,#000);cursor:pointer;border-radius:4px;flex-shrink:1;min-width:0;padding:8px;font-family:inherit;font-size:14px}.month-day-picker .month-day-picker-select:first-child{width:80px}.month-day-picker .month-day-picker-select:nth-child(2){width:64px}.month-day-picker .month-day-picker-select:nth-child(3){width:100px}.month-day-picker-select:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-tertiary,#f5f5f5)}.month-day-picker-select:focus{border-color:var(--btn-primary-bg,#007bff);outline:none;box-shadow:0 0 0 3px #007bff1a}.month-day-picker-clear{background:var(--btn-secondary-bg,#6c757d);color:var(--btn-secondary-text,#fff);cursor:pointer;border:none;border-radius:4px;padding:8px;font-size:20px;line-height:1;transition:background .2s,opacity .2s}.month-day-picker-clear:hover:not(:disabled){background:var(--btn-secondary-hover,#5a6268)}.month-day-picker-clear:focus{outline:none;box-shadow:0 0 0 3px #6c757d4d}.month-day-picker-clear:disabled{opacity:.4;cursor:not-allowed}.color-picker{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.color-button{cursor:pointer;border:2px solid #0000;border-radius:8px;width:36px;height:36px;padding:0;transition:all .2s;position:relative}.color-button:hover{transform:scale(1.1)}.color-button:active{transform:scale(.95)}.color-button.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-secondary), 0 0 0 4px var(--text-primary)}.custom-color-button{background:var(--bg-tertiary);border:2px dashed var(--border-color);color:var(--text-secondary);justify-content:center;align-items:center;padding:6px;display:flex;position:relative}.custom-color-button:hover{background:var(--hover-bg);border-color:var(--text-secondary);color:var(--text-primary)}.custom-color-button input[type=color]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.custom-icon{stroke-width:2.5px;pointer-events:none;width:20px;height:20px}.modal-overlay{background:var(--modal-backdrop);z-index:2000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);box-shadow:0 4px 20px var(--shadow-md);border-radius:8px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px;display:flex}.modal-header h2{color:var(--text-primary);margin:0;font-size:20px}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:28px;line-height:1;transition:color .2s;display:flex}.modal-close:hover{color:var(--text-primary)}.modal-body{flex:1;padding:20px;overflow-y:auto}@media (width<=768px){.modal-overlay{padding:0}.modal-content{border-radius:0;max-width:100%;height:100vh;max-height:100vh}.modal-header{padding:15px}.modal-header h2{font-size:18px}.modal-body{padding:15px}.modal-close{width:44px;height:44px}}.paywall{text-align:center;flex-direction:column;align-items:center;padding:8px 0 12px;display:flex}.paywall-icon{margin-bottom:12px;font-size:48px}.paywall-title{color:var(--text-primary);margin:0 0 8px;font-size:22px;font-weight:700}.paywall-subtitle{color:var(--text-secondary);margin:0 0 20px;font-size:14px;line-height:1.5}.paywall-bullets{text-align:left;width:100%;margin:0 0 24px;padding:0;list-style:none}.paywall-bullets li{color:var(--text-primary);align-items:center;gap:10px;padding:6px 0;font-size:14px;display:flex}.paywall-bullet-icon{text-align:center;flex-shrink:0;width:24px;font-size:18px}.paywall-cta{color:#ec4899;cursor:not-allowed;opacity:.7;background:#ec489926;border:none;border-radius:12px;width:100%;margin-bottom:8px;padding:12px;font-size:16px;font-weight:600}.paywall-dismiss{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:14px}.paywall-dismiss:hover{color:var(--text-primary)}.detail-panel{background:var(--bg-primary);flex-direction:column;height:100%;display:flex;overflow:hidden}@media (width<=1023px){.detail-panel:before{content:"";background:var(--bg-primary);z-index:-1;position:fixed;inset:0}.detail-panel{padding-top:calc(env(safe-area-inset-top));padding-bottom:calc(84px + env(safe-area-inset-bottom));z-index:1002;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;width:100%;transition:transform .3s ease-in-out;position:fixed;inset:0;overflow:hidden auto;transform:translate(100%)}.detail-panel:not(.detail-panel-empty-state){transform:translate(0)}.detail-panel-empty-state{display:none}}@media (width>=1024px){.detail-panel{border-left:1px solid var(--border-color);flex:0 0 400px;width:400px;max-width:400px}}.detail-panel-empty{height:100%;color:var(--text-secondary);text-align:center;justify-content:center;align-items:center;padding:20px;font-size:15px;display:flex}.detail-wrapper{flex-direction:column;width:100%;padding:20px;display:flex}@media (width>=1024px){.detail-wrapper{height:100%}}@media (width<=1023px){.detail-wrapper{height:auto;min-height:100%}}.detail-loading{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;display:flex}.loading-spinner{border:3px solid var(--border-color);border-top-color:var(--action-color);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite detailSpin}@keyframes detailSpin{to{transform:rotate(360deg)}}.detail-photo-row{justify-content:center;margin-bottom:12px;display:flex}.detail-photo-wrapper{cursor:pointer;border-radius:50%;width:80px;height:80px;position:relative}.detail-photo{object-fit:cover;border-radius:50%;width:100%;height:100%}.detail-photo-initials{background:var(--bg-secondary,#e5e7eb);width:100%;height:100%;color:var(--text-secondary,#6b7280);border-radius:50%;justify-content:center;align-items:center;font-size:24px;font-weight:500;display:flex}.detail-photo-with-initials{width:100%;height:100%;position:relative}.detail-photo-initials-overlay{color:#fff;text-shadow:0 1px 3px #0000004d;pointer-events:none;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex;position:absolute;inset:0}.detail-photo-overlay{background:#374151e6;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;bottom:0;right:0}.detail-photo-wrapper:hover .detail-photo-overlay{opacity:1}.detail-photo-remove{color:#fff;border:2px solid var(--bg-primary);cursor:pointer;opacity:0;background:#ef4444e6;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:14px;line-height:1;transition:opacity .2s;display:flex;position:absolute;top:-2px;right:-2px}.detail-photo-wrapper:hover .detail-photo-remove{opacity:1}.detail-photo-remove:hover{background:#ef4444}.detail-header{border-bottom:1px solid var(--border-color);margin-bottom:16px;padding-bottom:12px}.detail-header-bar{align-items:center;margin-bottom:12px;display:flex}.detail-header-bar-left{flex-shrink:0;width:72px}.btn-back{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:4px;transition:all .2s;display:flex}.btn-back:hover{background:var(--hover-bg);color:var(--text-primary)}.detail-name{color:var(--text-primary);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex;overflow:hidden}.detail-actions{align-items:center;gap:8px;display:flex}.detail-overflow-wrapper{position:relative}.btn-overflow{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:4px 8px;transition:all .2s;display:flex}.btn-overflow:hover{background:var(--hover-bg);color:var(--text-primary)}.detail-overflow-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);z-index:100;border-radius:10px;min-width:160px;padding:4px;animation:.15s ease-out dropdownFadeIn;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0000001f}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.detail-overflow-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.detail-overflow-item:hover{background:var(--hover-bg)}.detail-overflow-item.danger{color:#ef4444}.detail-overflow-item.danger:hover{background:#ef44441a}.btn-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:4px 8px;font-size:24px;line-height:1;transition:all .2s;display:flex}.btn-close:hover{background:var(--hover-bg);color:var(--text-primary)}.btn-done{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:6px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:opacity .2s}.btn-done:hover{opacity:.85}.detail-status{text-align:center;padding:8px 0 20px}.status-line{justify-content:center;align-items:center;gap:8px;margin-bottom:4px;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.status-label{color:var(--text-primary);font-size:16px;font-weight:600}.status-secondary{color:var(--text-secondary);margin-top:2px;font-size:14px}.status-notes{color:var(--text-tertiary);margin-top:6px;font-size:14px;font-style:italic}.detail-name-tappable{cursor:pointer}.detail-name-tappable:hover{opacity:.75}.detail-name-input{color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--action-color);text-align:center;border-radius:8px;outline:none;flex:1;width:100%;min-width:0;padding:4px 10px;font-family:inherit;font-size:20px;font-weight:700}.status-secondary-tappable{cursor:pointer;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.status-secondary-tappable:hover{background:var(--hover-bg)}.cadence-select-inline{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--action-color);border-radius:8px;outline:none;margin-top:2px;padding:4px 8px;font-family:inherit;font-size:14px}.status-notes-tappable{cursor:pointer;border-radius:8px;padding:4px 8px;transition:background .15s}.status-notes-tappable:hover{background:var(--hover-bg)}.status-notes-input{color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--action-color);text-align:center;border-radius:8px;outline:none;width:100%;margin-top:6px;padding:4px 10px;font-family:inherit;font-size:14px;font-style:italic}.status-notes-placeholder{color:var(--text-tertiary);font-size:13px;font-style:normal}.color-picker-inline{justify-content:center;margin-top:8px;display:flex}.color-add-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;font-family:inherit;font-size:12px;display:inline-flex}.color-add-btn:hover{background:var(--hover-bg);color:var(--text-secondary)}.color-add-asterisk{flex-shrink:0;font-size:13px;font-weight:700;line-height:1}.field-edit-hint{opacity:0;flex-shrink:0;transition:opacity .15s}.status-secondary-tappable:hover .field-edit-hint,.event-date.tappable:hover .field-edit-hint{opacity:.5}.event-date.tappable{cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:2px 4px;display:inline-flex}.event-date.tappable:hover{background:var(--hover-bg)}.event-add-btn{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;padding:6px 0;font-family:inherit;font-size:13px}.event-add-btn:hover{color:var(--text-primary)}.event-add-inline{align-items:center;gap:8px;padding:4px 0;display:flex}.quick-actions-section{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.btn-connected{background:var(--connected-color);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 16px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.btn-connected:hover{background:#2da44e}.btn-connected:active{transform:scale(.98)}.btn-connected-full{width:100%}.quick-actions-section .log-menu{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:flex-end;animation:.2s ease-out snoozePickerFadeIn;display:flex;position:fixed;inset:0}.quick-actions-section .log-menu-content{background:var(--bg-secondary);border-radius:20px 20px 0 0;width:100%;max-width:500px;padding:24px;animation:.3s cubic-bezier(.4,0,.2,1) snoozePickerSlideUp;box-shadow:0 -4px 20px #00000026}.quick-actions-section .log-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.quick-actions-section .log-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.quick-actions-section .log-close{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.quick-actions-section .log-close:hover{background:var(--hover-bg)}.quick-actions-section .log-options{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.quick-actions-section .log-option{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:10px;padding:12px 16px;font-size:15px;font-weight:500;transition:all .2s}.quick-actions-section .log-option:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.quick-actions-section .log-cancel{border:2px solid var(--border-color);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;padding:12px;font-size:15px;font-weight:600}.quick-actions-section .log-cancel:hover{background:var(--bg-tertiary)}.btn-snooze-full{background:var(--snooze-color);color:#fff;border:1.5px solid var(--snooze-color);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 16px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.btn-snooze-full:hover:not(:disabled){border-color:var(--snoozed-color);background:var(--snoozed-color)}.btn-snooze-full:disabled{opacity:.5;cursor:not-allowed}.btn-snooze-full:active:not(:disabled){transform:scale(.98)}.btn-snooze-full.snoozed{color:var(--text-primary);border-color:#d977064d}.btn-snooze-full.snoozed:hover{background:#d977060f;border-color:#d9770680}.snooze-label{flex-direction:column;align-items:center;line-height:1.2;display:flex}.snooze-until{opacity:.7;font-size:11px;font-weight:400}.detail-edit-content{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.edit-section{margin-bottom:24px}.edit-section label{color:var(--text-primary);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.edit-select{border:1px solid var(--border-color);background:var(--bg-tertiary);width:100%;color:var(--text-primary);border-radius:8px;padding:12px;font-family:inherit;font-size:15px}.edit-hint{color:var(--text-secondary);margin-top:6px;font-size:13px}.edit-field-display{background:var(--bg-tertiary);color:var(--text-primary);border-radius:8px;padding:12px;font-size:15px}.labels-list{flex-wrap:wrap;gap:8px;max-width:max-content;margin-bottom:12px;display:flex}.label-badge{color:#fff;border-radius:16px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.label-remove{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;padding:0;font-size:18px;font-weight:700;line-height:1}.label-remove:hover{opacity:1}.labels-empty{color:var(--text-secondary);font-size:13px}.label-tags{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.label-tag{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:16px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;font-weight:500;display:inline-flex}.label-tag-remove{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1;transition:color .15s}.label-tag-remove:hover{color:#ef4444}.label-tag-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;min-width:80px;padding:4px 8px;font-family:inherit;font-size:13px}.label-tag-input::placeholder{color:var(--text-tertiary)}@media (prefers-color-scheme:dark){.detail-overflow-dropdown{box-shadow:0 4px 16px #0000004d}}.detail-content{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.section-title{color:var(--text-primary);margin:0 0 16px;font-size:20px;font-weight:700}.events-section,.notes-section{margin-bottom:24px}.notes-content{color:var(--text-secondary);padding:4px 0;font-size:14px}.notes-content-tappable{cursor:pointer}.notes-content-tappable:hover{opacity:.8}.notes-content-empty{color:var(--text-tertiary);font-style:italic}.labels-section,.history-section{margin-bottom:24px}.section-header{justify-content:space-between;align-items:center;margin:12px 0;display:flex}.see-all-link{color:var(--accent-primary);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:15px;font-weight:600}.see-all-link:hover{opacity:.8}.history-list{margin-bottom:20px}.history-item{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:12px 4px;transition:background .2s;display:flex}.history-item:last-child{border-bottom:none}.history-item:hover{background:var(--hover-bg)}.history-item:hover .history-delete-btn{opacity:1}.history-icon{background:var(--bg-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.history-content{flex:1;min-width:0}.history-title{color:var(--text-primary);margin-bottom:2px;font-size:15px;font-weight:600}.history-title-editable{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:2px 6px;transition:background .2s;display:inline-flex}.history-title-editable:hover{background:var(--hover-bg)}.history-title-editable .edit-icon{opacity:0;transition:opacity .2s}.history-title-editable:hover .edit-icon{opacity:.6}.history-edit-form{flex-direction:column;gap:8px;width:100%;display:flex}.history-date-input,.history-notes-input{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px}.history-notes-input{resize:vertical;min-height:36px}.history-edit-actions{gap:8px;display:flex}.history-edit-actions .btn-save,.history-edit-actions .btn-cancel{cursor:pointer;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.history-edit-actions .btn-save{background:var(--btn-primary-bg);color:#fff}.history-edit-actions .btn-save:hover:not(:disabled){background:var(--btn-primary-hover-bg)}.history-edit-actions .btn-save:disabled{opacity:.5;cursor:not-allowed}.history-edit-actions .btn-cancel{background:var(--bg-tertiary);color:var(--text-primary)}.history-edit-actions .btn-cancel:hover{background:var(--hover-bg)}.history-type{color:var(--text-secondary);font-size:14px}.history-delete-btn{color:var(--text-tertiary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.history-delete-btn:hover{color:#ef4444;background:#ef44441a}@media (width<=1023px){.history-delete-btn{opacity:1}}.history-empty{text-align:center;color:var(--text-secondary);padding:32px 16px;font-size:15px}.history-group-header{border-bottom:1px solid var(--border-color);cursor:pointer;justify-content:space-between;align-items:center;padding:10px 4px;transition:background .2s;display:flex}.history-group-header:hover{background:var(--hover-bg)}.history-group-label{color:var(--text-secondary);font-size:14px;font-weight:600}.history-group-children{margin-bottom:4px;padding-left:12px}.picker-actions{justify-content:flex-end;gap:12px;display:flex}.picker-actions .btn{flex:1;max-width:120px}.no-events-message{color:var(--text-secondary);background:var(--bg-tertiary);border-radius:8px;margin-bottom:12px;padding:12px;font-size:13px}.quick-actions-section .snooze-menu{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:flex-end;animation:.2s ease-out snoozePickerFadeIn;display:flex;position:fixed;inset:0}@keyframes snoozePickerFadeIn{0%{opacity:0}to{opacity:1}}.quick-actions-section .snooze-menu-content{background:var(--bg-secondary);border-radius:20px 20px 0 0;width:100%;max-width:500px;padding:24px;animation:.3s cubic-bezier(.4,0,.2,1) snoozePickerSlideUp;box-shadow:0 -4px 20px #00000026}@keyframes snoozePickerSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.quick-actions-section .snooze-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.quick-actions-section .snooze-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.quick-actions-section .snooze-close{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.quick-actions-section .snooze-close:hover{background:var(--hover-bg)}.quick-actions-section .snooze-options{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.quick-actions-section .snooze-option{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:8px;padding:12px 16px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.quick-actions-section .snooze-option:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.snooze-option-detail{color:var(--text-secondary);flex-direction:column;align-items:flex-end;margin-left:auto;font-size:12px;font-weight:400;line-height:1.2;display:flex}.snooze-option-detail-top{font-weight:500}.snooze-option-detail-bottom{opacity:.75;font-size:11px}.snooze-option:hover .snooze-option-detail{color:#ffffffb3}.snooze-option-icon{color:var(--text-secondary);flex-shrink:0}.snooze-option:hover .snooze-option-icon{color:#ffffffe6}.quick-actions-section .snooze-cancel{border:2px solid var(--border-color);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;padding:12px;font-size:15px;font-weight:600}.quick-actions-section .snooze-cancel:hover{background:var(--bg-tertiary)}.snooze-custom{padding:4px 0 0}.snooze-date-input{background:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:12px;padding:12px 16px;font-size:14px}.snooze-date-input:hover{border-color:var(--accent-primary)}@media (width<=1023px){.detail-wrapper{padding:16px}.detail-name,.section-title{font-size:22px}.detail-edit-content,.detail-content{overflow:visible}}@media (width>=1024px){.detail-wrapper{padding:24px}.detail-name,.section-title{font-size:18px}.history-item{padding:10px 4px}.history-title{font-size:14px}.history-type{font-size:13px}}.form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-primary);font-size:14px;font-weight:600}.form-group small{color:var(--text-secondary);margin-top:4px;font-size:12px}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:6px;padding:10px 12px;font-size:14px;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--action-color);outline:none}.form-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;margin-top:8px;padding-top:16px;display:flex}input:invalid:not(:placeholder-shown){border-color:var(--error-color,#ef4444)}input[type=color]{appearance:none;background:0 0;border:none;padding:0}input[type=color]::-webkit-color-swatch-wrapper{border:none;padding:0}input[type=color]::-webkit-color-swatch{border-radius:inherit;border:none}input[type=color]::-moz-color-swatch{border-radius:inherit;border:none}.premium-gate-link{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem;text-decoration:none}.premium-gate-link:hover{color:var(--color-text-primary)}.quick-search-overlay{z-index:1000;animation:.2s ease-out fadeIn;position:fixed;top:60px;left:50%;transform:translate(-50%)}.quick-search-dropdown{background:var(--bg-primary);border:2px solid var(--border-color);box-shadow:0 10px 40px var(--shadow-lg), 0 4px 12px var(--shadow-md);border-radius:12px;flex-direction:column;width:700px;max-height:600px;margin:20px 0;display:flex}.quick-search-input-container{border-bottom:2px solid var(--border-color);padding:20px}.quick-search-input{border:2px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:14px 16px;font-size:16px;font-weight:500;transition:all .2s}.quick-search-input::placeholder{color:var(--text-secondary);opacity:.7}.quick-search-input:focus{border-color:var(--btn-primary-bg);box-shadow:0 0 0 3px var(--btn-primary-shadow)}.quick-search-results{flex:1;max-height:500px;overflow-y:auto}.quick-search-list{margin:0;padding:0;list-style:none}.quick-search-item{cursor:pointer;border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding:10px 20px;transition:all .15s;display:flex}.quick-search-item:hover{background-color:var(--bg-hover)}.quick-search-item.selected{background-color:var(--bg-tertiary);border-left:2px solid var(--accent-primary);padding-left:18px}.quick-search-item:last-child{border-bottom:none}.quick-search-item-content{flex:1;min-width:0}.quick-search-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:16px;font-weight:600;overflow:hidden}.quick-search-item-details{color:var(--text-secondary);gap:16px;font-size:14px;display:flex}.quick-search-item-details span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.quick-search-item-arrow{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:all .15s cubic-bezier(.4,0,.2,1);display:flex}.quick-search-item-arrow:hover{background:var(--accent-primary);border-color:var(--accent-primary)}.quick-search-item-arrow:hover .quick-search-arrow-icon{color:#fff}.quick-search-arrow-icon{width:20px;height:20px;color:var(--text-primary);stroke-width:2px}.quick-search-loading,.quick-search-empty,.quick-search-hint{text-align:center;color:var(--text-secondary);padding:24px 16px;font-size:14px}.quick-search-hint{color:var(--text-secondary);opacity:.7;padding:16px;font-style:italic}@media (width<=1023px){.quick-search-overlay{top:56px;left:16px;right:16px;transform:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.quick-search-dropdown{width:auto;max-height:calc(100vh - 76px);margin:10px 0}.quick-search-results{max-height:calc(100vh - 160px)}}@media (width<=480px){.quick-search-overlay{left:12px;right:12px}.quick-search-dropdown{margin:8px 0}.quick-search-input-container{padding:16px}.quick-search-input{padding:12px 14px;font-size:15px}.quick-search-item{padding:12px 16px}.quick-search-item:hover,.quick-search-item.selected{padding-left:13px}.quick-search-item-details{flex-direction:column;gap:2px}}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px var(--shadow-sm);z-index:1001;height:60px;padding:15px 30px;padding-top:calc(15px + env(safe-area-inset-top));padding-left:max(30px, env(safe-area-inset-left));padding-right:max(30px, env(safe-area-inset-right));justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:15px;display:flex}.hamburger-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:8px;font-size:24px;line-height:1;transition:opacity .2s;display:none}.hamburger-btn:hover{opacity:.7}.logo-link{color:inherit;align-items:center;gap:8px;text-decoration:none;transition:opacity .2s;display:flex}.logo-link:hover{opacity:.8}.header-left .logo{color:var(--btn-primary-bg);margin:0;font-size:24px;font-weight:700}.header-right{align-items:center;gap:15px;display:flex}.username{color:var(--text-secondary);font-size:14px}.btn-icon-svg{width:18px;height:18px}.server-unavailable-icon{align-items:center;display:inline-flex}@media (width<=1023px){.header{min-height:56px;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top));padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.hamburger-btn{display:block}.header-left .logo{font-size:20px}.header-left{gap:12px}.header-right{gap:10px}.header-right .btn-primary{min-height:40px;padding:10px 16px;font-size:14px}.username{display:none}.header-right .btn-secondary{min-height:40px;padding:10px 14px;font-size:14px}.btn-icon{min-width:40px;min-height:40px}}@media (width<=480px){.header{padding:10px 12px}.header-right .btn-primary .btn-text,.header-right .btn-secondary .btn-text{display:none}.header-right{gap:8px}}.bottom-tab-bar{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);z-index:1200;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000000d}.tab-button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:60px;padding:8px 12px;font-size:12px;font-weight:500;transition:color .2s;display:flex}.tab-button:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.tab-button.active{color:var(--accent-primary)}.tab-button.active .tab-icon svg{stroke-width:2.5px}.tab-icon{justify-content:center;align-items:center;width:28px;height:28px;display:flex}.tab-icon svg{width:24px;height:24px}.tab-label{letter-spacing:.01em;font-size:11px;font-weight:500}.tab-count{background:var(--bg-tertiary);color:var(--text-secondary);text-align:center;border-radius:10px;min-width:20px;margin-top:-2px;padding:2px 6px;font-size:10px;font-weight:600}.tab-button.active .tab-count{background:var(--accent-primary);color:#fff}@media (width>=1024px){.bottom-tab-bar{display:none}}@media (width<=1023px){.main-content{padding-bottom:calc(84px + env(safe-area-inset-bottom))}}.app-layout{height:calc(100dvh - 60px);display:flex;position:relative;overflow:hidden}@media (width<=1023px){.app-layout{flex:1;height:auto;overflow:visible}}@media (width>=1024px){.app-layout{height:calc(100dvh - 60px)}}.onboarding-container{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.onboarding-close{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);z-index:100;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 2px 8px #0000001a}.onboarding-close:hover{background:var(--hover-bg);color:var(--text-primary);transform:scale(1.05)}.onboarding-close:active{transform:scale(.95)}.onboarding-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;width:100%;max-width:600px;padding:40px;box-shadow:0 10px 25px #0003}.onboarding-card-narrow{max-width:400px}.onboarding-icon-wrapper{justify-content:center;margin-bottom:24px;display:flex}.onboarding-icon-bg{background:#3b82f61a;border-radius:50%;padding:16px}.onboarding-icon{width:64px;height:64px;color:var(--btn-primary-bg)}.onboarding-title{color:var(--btn-primary-bg);text-align:center;margin-bottom:10px;font-size:32px;font-weight:700}.onboarding-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:30px;font-size:14px}.onboarding-features{flex-direction:column;gap:12px;margin-bottom:30px;display:flex}.onboarding-feature{align-items:flex-start;display:flex}.onboarding-feature-number{background:#3b82f61a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:2px;margin-right:12px;display:flex}.onboarding-feature-number span{color:var(--btn-primary-bg);font-size:12px;font-weight:600}.onboarding-feature p{color:var(--text-secondary);margin:0;font-size:14px}.onboarding-button{background:var(--btn-primary-bg);width:100%;color:var(--btn-primary-text);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:all .15s cubic-bezier(.4,0,.2,1)}.onboarding-button:hover{background:var(--btn-primary-hover);transform:translateY(-1px)}.onboarding-button:active{background:var(--btn-primary-active);transform:scale(.98)}.onboarding-button:disabled{opacity:.5;cursor:not-allowed}.onboarding-button-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.onboarding-button-secondary:hover{background:var(--bg-secondary);transform:translateY(0)}.onboarding-button-secondary:active{transform:scale(.98)}.onboarding-privacy{text-align:center;color:var(--text-tertiary);margin-top:20px;font-size:14px}.contact-list{flex-direction:column;gap:8px;max-height:256px;margin-bottom:20px;display:flex;overflow-y:auto}.contact-item{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:6px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.contact-item span{color:var(--text-primary);font-size:14px}.contact-remove{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:4px;transition:color .15s}.contact-remove:hover{color:var(--btn-danger-bg)}.contact-input-wrapper{gap:8px;margin-bottom:20px;display:flex}.contact-input-wrapper input{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-primary);border-radius:6px;flex:1;padding:10px;font-family:inherit;font-size:14px;transition:border-color .2s}.contact-input-wrapper input:focus{border-color:var(--accent-primary);outline:none}.contact-add-button{color:var(--btn-primary-bg);cursor:pointer;background:#3b82f61a;border:none;border-radius:6px;padding:10px 16px;transition:background .15s}.contact-add-button:hover{background:#3b82f633}.contact-add-button:disabled{opacity:.5;cursor:not-allowed}.contact-count{text-align:center;color:var(--text-secondary);margin-bottom:20px;font-size:14px}.button-group{gap:12px;display:flex}.button-group button{flex:1}.progress-bar-wrapper{margin-bottom:20px}.progress-bar-bg{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:999px;height:8px;overflow:hidden}.progress-bar-fill{background:var(--btn-primary-bg);border-radius:999px;height:100%;transition:width .3s}.progress-text{text-align:center;color:var(--text-tertiary);margin-top:8px;font-size:14px}.swipe-container{background:var(--bg-primary);flex-direction:column;min-height:100vh;padding:24px;display:flex}.swipe-header{width:100%;max-width:800px;margin:0 auto 24px}.swipe-back-button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:8px;font-family:inherit;font-size:14px;transition:color .15s}.swipe-back-button:hover{color:var(--text-primary)}.swipe-title{color:var(--text-primary);margin-bottom:8px;font-size:28px;font-weight:700}.swipe-subtitle{color:var(--text-secondary);margin-bottom:16px;font-size:14px}.swipe-card-area{flex:1;justify-content:center;align-items:center;margin-bottom:24px;display:flex}.swipe-card{background:var(--bg-secondary);border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:400px;padding:32px 24px;transition:transform .3s;display:flex;position:relative;box-shadow:0 10px 25px #0003}.swipe-card:active{cursor:grabbing}.swipe-card.swipe-up{transform:translateY(-100vh)rotate(-20deg)}.swipe-card.swipe-right{transform:translate(100vw)rotate(20deg)}.swipe-card.swipe-left{transform:translate(-100vw)rotate(-20deg)}.swipe-card.swipe-down{transform:translateY(100vh)rotate(20deg)}.contact-avatar{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:16px;font-size:28px;font-weight:700;display:flex}.contact-name{color:var(--text-primary);text-align:center;margin-bottom:6px;font-size:22px;font-weight:700}.swipe-instruction{color:var(--text-secondary);text-align:center;margin-bottom:20px;font-size:13px}.swipe-directions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:30px;display:grid}.swipe-direction{color:var(--text-tertiary);flex-direction:column;align-items:center;font-size:11px;display:flex}.swipe-direction svg{width:18px;height:18px;margin-bottom:3px}.swipe-card-controls{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:4px;display:grid}.tier-button{color:#fff;cursor:pointer;border:none;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s cubic-bezier(.4,0,.2,1);display:flex}.tier-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.tier-button:active{transform:scale(.97)}.tier-button svg{width:18px;height:18px}.tier-button-info{opacity:.85;font-size:10px}.tier-weekly{background:#3b82f6}.tier-monthly{background:#8b5cf6}.tier-quarterly{background:#06b6d4}.tier-annual{background:#6b7280}.spinner{border:4px solid var(--border-color);border-top-color:var(--btn-primary-bg);border-radius:50%;width:64px;height:64px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.icon-sm{width:20px;height:20px}.icon-md{width:24px;height:24px}.icon-lg{width:48px;height:48px}.icon-xl{width:80px;height:80px}.icon-success{color:var(--status-good)}.icon-error{color:var(--status-urgent)}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-primary);border-radius:12px;width:100%;max-width:600px;max-height:90vh;padding:32px;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.icon-button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;transition:color .2s}.icon-button:hover{color:var(--text-primary)}#root{width:100%;height:100dvh;margin:0;padding:0;overflow-x:hidden}.app{flex-direction:column;width:100%;height:100dvh;display:flex;overflow-x:hidden}@media (width<=1023px){#root,.app{height:auto;min-height:100dvh}}
