@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";.card{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-2xl);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:28px;color:var(--color-border);box-shadow:0 20px 80px rgba(var(--shadow-color-black),.4)}.header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--color-text-faint);margin:0}h1{margin:4px 0 0;font-size:1.8rem}h2{margin:0 0 12px;font-size:var(--font-size-md);color:#d4c5a0}p{margin:0}.panel{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);padding:16px 18px;margin-top:16px}.actions{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:18px}button{border:1px solid rgba(201,169,106,.3);background:linear-gradient(120deg,#c9a96a,#b8934a);color:#0f1a2e;border-radius:var(--radius-lg);padding:12px 16px;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-base)}button:hover{transform:translateY(-1px);box-shadow:var(--shadow-primary-hover)}button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}button.ghost{background:#ffffff0f;border-color:#ffffff1f;color:var(--color-border)}.row{display:flex;gap:10px;flex-wrap:wrap}.list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.list li{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:var(--radius-default);background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.list span:first-of-type{color:var(--color-text-faint);font-size:var(--font-size-body)}.list span:last-of-type{font-weight:var(--font-weight-bold)}.error{color:#fca5a5}.code-block{margin:0;padding:12px;background:#0a0f1c;border-radius:var(--radius-default);border:1px solid rgba(255,255,255,.08);color:var(--color-border);font-size:.9rem;overflow:auto}.loading{color:var(--color-border);text-align:center;padding:32px}.muted{color:var(--color-text-faint);margin-top:12px}.location-picker{background-color:#f5f5f5;border:1px solid #ddd;border-radius:var(--radius-md);padding:20px;margin:20px 0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.location-picker-header{margin-bottom:16px}.location-picker-label{display:block;font-weight:var(--font-weight-semibold);font-size:16px;color:#333;margin-bottom:8px}.location-picker-hint{color:#666;font-size:14px;margin:0;line-height:1.4}.location-tier-notice{background-color:#f0f4ff;border:1px solid #d0deff;border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:16px}.location-tier-notice-text{color:#4a5fc1;font-size:13px;margin:0;line-height:1.4}.location-btn-primary{width:100%;padding:12px 16px;background-color:#007bff;color:#fff;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base);margin-bottom:12px}.location-btn-primary:hover:not(:disabled){background-color:#0056b3}.location-btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.location-btn-secondary{width:100%;padding:12px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-base);margin-top:12px}.location-btn-secondary:hover{background-color:#5a6268}.location-btn-link{background:none;border:none;color:#007bff;font-size:14px;cursor:pointer;padding:0;text-decoration:underline;margin-top:8px}.location-btn-link:hover{color:#0056b3}.location-error{background-color:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:12px}.location-error p{color:#856404;margin:0;font-size:14px}.location-manual-entry{background-color:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:16px;margin-bottom:12px}.location-manual-label{font-weight:var(--font-weight-medium);color:#333;margin:0 0 12px;font-size:14px}.location-manual-hint{color:#666;font-size:13px;margin:0 0 16px;line-height:1.4}.location-manual-hint strong{font-weight:var(--font-weight-semibold);color:#333}.location-form-group{margin-bottom:12px}.location-form-group:last-child{margin-bottom:0}.location-divider{display:flex;align-items:center;margin:16px 0;gap:12px}.location-divider:before,.location-divider:after{content:"";flex:1;height:1px;background-color:#ddd}.location-divider span{font-size:13px;color:#999;font-weight:var(--font-weight-medium)}.location-form-group label{display:block;font-weight:var(--font-weight-medium);font-size:13px;color:#495057;margin-bottom:6px}.location-input{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:var(--radius-xs);font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.location-input:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.location-summary{background-color:#e8f5e9;border:1px solid #4caf50;border-radius:var(--radius-sm);padding:12px 16px;margin-top:12px}.location-summary-label{font-weight:var(--font-weight-medium);color:#2e7d32;margin:0 0 4px;font-size:13px}.location-summary-text{color:#1b5e20;margin:0;font-size:15px;font-weight:var(--font-weight-medium)}.location-coordinates{color:#558b2f;font-size:12px;margin-top:6px;margin-bottom:0}@media(max-width:768px){.location-picker{padding:16px;margin:16px 0}.location-btn-primary,.location-btn-secondary{font-size:14px;padding:10px 14px}}.upgrade-prompt{background:linear-gradient(135deg,#0f1a2e,#1a2b4a);border-radius:10px;padding:1rem 1.25rem;margin-top:.75rem}.upgrade-prompt-body{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.upgrade-prompt-text{flex:1;min-width:0}.upgrade-prompt-message{margin:0;font-size:.9rem;font-weight:600;color:#f5f2eb;line-height:1.4}.upgrade-prompt-detail{margin:.25rem 0 0;font-size:.82rem;color:#c9a96ad9;line-height:1.4}.upgrade-prompt-btn{display:inline-block;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;font-weight:700;font-size:.85rem;padding:.5rem 1.1rem;border-radius:6px;text-decoration:none;white-space:nowrap;transition:transform .15s,box-shadow .15s;flex-shrink:0}.upgrade-prompt-btn:hover{background:linear-gradient(135deg,#b8934a,#9e7936);color:#0f1a2e;transform:translateY(-1px);box-shadow:0 4px 12px #c9a96a4d}.planner-page{min-height:100vh;background:#f5f2eb;padding:32px}.planner-page-card{max-width:960px;margin:0 auto;background:var(--color-bg-card);border-radius:var(--radius-2xl);border:1px solid var(--color-border);box-shadow:0 12px 28px rgba(var(--shadow-color),.08);padding:28px;display:grid;gap:20px}.planner-page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.planner-page-title{margin:0;font-size:1.8rem;color:var(--color-text-primary)}.planner-page-subtitle{margin:6px 0 0;color:var(--color-text-secondary)}.planner-page-link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold)}.planner-page-section{padding:18px 20px;border-radius:var(--radius-xl);background:var(--color-bg-page);border:1px solid var(--color-border);display:grid;gap:10px}.planner-page-section h2{margin:0;font-size:1.05rem;color:var(--color-text-primary)}.planner-page-section p{margin:0;color:var(--color-text-secondary)}.planner-page-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.planner-page-list li{padding:12px 14px;border-radius:var(--radius-lg);background:var(--color-bg-card);border:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;color:var(--color-text-primary)}.badge{padding:4px 10px;border-radius:var(--radius-full);font-size:.8rem;font-weight:var(--font-weight-semibold);background:#f2ead8;color:#9e7936}.page-container{min-height:100vh;background:#f5f6fb;padding:32px;max-width:1200px;margin:0 auto}.breadcrumb{margin-bottom:24px}.breadcrumb-link{color:var(--color-primary);text-decoration:none;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 0;transition:all var(--transition-base)}.breadcrumb-link:hover{color:var(--color-primary-hover);transform:translate(-2px)}.page-header{margin-bottom:32px}.page-header h1{margin:0 0 8px;font-size:var(--font-size-3xl);color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.page-header p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-base)}.loading{text-align:center;padding:40px;color:var(--color-text-secondary);font-size:var(--font-size-base)}.error-banner{background:#fee2e2;border:1px solid #fecaca;border-radius:var(--radius-lg);padding:16px;margin-bottom:24px;color:#991b1b}.error-banner p{margin:0}.empty-state{text-align:center;padding:60px 20px;background:var(--color-bg-card);border-radius:var(--radius-2xl);border:1px solid var(--color-border)}.empty-state p{margin:0 0 8px;color:var(--color-text-secondary);font-size:var(--font-size-base)}.empty-state p:last-child{color:var(--color-text-faint);font-size:.9rem}.invitations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.invitation-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:20px;display:flex;flex-direction:column;gap:16px;transition:box-shadow var(--transition-base),border-color var(--transition-base)}.invitation-card:hover{border-color:var(--color-border-strong);box-shadow:0 8px 20px rgba(var(--shadow-color),.1)}.plans-grid{display:grid;gap:20px;padding:1rem}.plan-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:20px;display:grid;gap:16px}.plan-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.plan-card-header h3{margin:0 0 6px;font-size:var(--font-size-md);color:var(--color-text-primary)}.plan-meta{margin:0;color:var(--color-text-muted);font-size:.9rem}.plan-card-actions{display:flex;flex-wrap:wrap;gap:10px}.plan-details{background:var(--color-bg-page);border-radius:var(--radius-lg);padding:16px;display:grid;gap:16px}.plan-detail-section h4{margin:0 0 8px;font-size:var(--font-size-base);color:var(--color-text-primary)}.plan-detail-grid{display:grid;gap:8px}.plan-detail-row{display:grid;grid-template-columns:160px 1fr;gap:12px;font-size:.9rem}.plan-detail-label{color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}.plan-detail-value{color:var(--color-text-primary)}.plan-detail-empty{margin:0;color:var(--color-text-faint);font-size:.9rem}.plan-invite-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.plan-invite-list li{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-default);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;color:var(--color-text-primary)}.plan-edit-panel{border-top:1px solid var(--color-border);padding-top:16px;display:grid;gap:16px}.plan-edit-section{display:grid;gap:8px}.plan-edit-label{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.plan-edit-select{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:8px 12px;font-size:var(--font-size-body)}.plan-edit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 12px}.plan-edit-checkbox{display:flex;gap:8px;align-items:center;font-size:.9rem;color:var(--color-text-primary)}.plan-edit-actions{display:flex;gap:12px;flex-wrap:wrap}.plan-details-table{table-layout:fixed}.plan-details-table .plan-details-label,.plan-details-table .plan-details-value{vertical-align:top}.plan-details-table .plan-details-value{overflow-wrap:anywhere;word-break:break-word}.plan-response-option-row{width:100%}.consolidated-preferences-table{table-layout:fixed}.consolidated-preferences-table .pref-col{vertical-align:top;overflow-wrap:anywhere;word-break:break-word}.suggestions-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.suggestion-card{border:1px solid #e8e0d0;border-radius:var(--radius-default);padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0;background:#fdfaf5}.suggestion-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.suggestion-header h3{margin:0;font-size:var(--font-size-base);min-width:0;overflow-wrap:anywhere}.match-score,.suggestion-description,.suggestion-location,.suggestion-meta,.source-badge,.rating,.price-level{overflow-wrap:anywhere;word-break:break-word}.suggestion-meta{display:flex;flex-wrap:wrap;gap:8px}.suggestion-actions{display:flex;gap:8px;margin-top:8px}.suggestion-actions .btn{flex:1}.danger-button{padding:8px 12px;background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);cursor:pointer}.danger-button:hover{background:#fecaca}@media(max-width:768px){.plan-card-header{flex-direction:column}.plan-detail-row{grid-template-columns:1fr}.plan-details-table,.plan-details-table tbody,.plan-details-table tr,.plan-details-table td{display:block;width:100%}.plan-details-table tr{padding-bottom:.5rem}.plan-details-table .plan-details-label{padding-bottom:.25rem}.plan-response-option-row{flex-direction:column;align-items:stretch!important}.plan-response-option-row .primary-button{width:100%}.consolidated-preferences-table thead{display:none}.consolidated-preferences-table,.consolidated-preferences-table tbody,.consolidated-preferences-table tr,.consolidated-preferences-table td{display:block;width:100%}.consolidated-preferences-table tr{border:1px solid #e5e7eb!important;border-radius:8px;padding:8px;margin-bottom:10px}.consolidated-preferences-table .pref-col-preference{padding:0 0 8px!important;margin-bottom:6px;border-bottom:1px solid #f0f0f0}.consolidated-preferences-table .pref-col-planner,.consolidated-preferences-table .pref-col-guest{padding:6px 0!important}.consolidated-preferences-table .pref-col-planner:before,.consolidated-preferences-table .pref-col-guest:before{display:block;font-size:.8rem;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);margin-bottom:4px}.consolidated-preferences-table .pref-col-planner:before{content:"Planner"}.consolidated-preferences-table .pref-col-guest:before{content:"Guest(s)"}.suggestions-list{grid-template-columns:1fr}.suggestion-header{flex-direction:column;align-items:flex-start}.suggestion-actions{flex-direction:column}}.invitation-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.invitation-header h3{margin:0 0 4px;font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.guest-phone{margin:0;color:var(--color-text-muted);font-size:.9rem}.status-badge{padding:6px 12px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.status-accepted{background:#dcfce7;color:#166534}.status-declined{background:#fee2e2;color:#991b1b}.status-pending{background:var(--color-warning-light);color:#92400e}.status-default{background:var(--color-border);color:var(--color-text-slate)}.invitation-details{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9}.detail-row{display:flex;justify-content:space-between;font-size:.9rem;gap:12px}.detail-row .label{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.detail-row .value{color:var(--color-text-primary);text-align:right;flex:1}.invitation-actions{display:flex;gap:10px}.link-button{padding:8px 12px;background:var(--color-primary);color:var(--color-bg-card);border:none;border-radius:var(--radius-md);text-decoration:none;font-size:.85rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-base);display:inline-block;flex:1;text-align:center}.link-button:hover{background:var(--color-primary-hover)}@media(max-width:768px){.page-container{padding:20px}.page-header h1{font-size:var(--font-size-xl)}.invitations-grid{grid-template-columns:1fr}.invitation-header{flex-direction:column}.status-badge{align-self:flex-start}}.signup-cta-card{margin-top:1.25rem;padding:1.75rem;background:#0f1a2e;border-radius:12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.signup-cta-heading{margin:0;font-size:1.15rem;font-weight:700;color:#f5f2eb;letter-spacing:.01em}.signup-cta-body{margin:0;font-size:.93rem;color:#f5f2ebbf;max-width:360px;line-height:1.55}.signup-cta-button{display:inline-block;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;padding:.9rem 2rem;border-radius:6px;font-size:1rem;font-weight:700;text-decoration:none;transition:background .2s,transform .15s;width:100%;letter-spacing:.02em;text-align:center}.profile-form{display:grid;gap:28px}.form-section{display:grid;gap:18px;padding:22px 24px;border-radius:var(--radius-xl);background:var(--color-bg-page);border:1px solid var(--color-border)}.form-section-title{margin:0;font-size:1.15rem;color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.form-section-description{margin:6px 0 0;font-size:.9rem;color:var(--color-text-muted)}.section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.form-field{display:grid;gap:8px}.form-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:center}.form-label{font-weight:var(--font-weight-semibold);font-size:var(--font-size-body);color:var(--color-text-dark-alt)}.required{color:var(--color-error-hover)}.form-input{padding:12px 14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-card);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--shadow-color-primary),.1)}.form-input::placeholder{color:var(--color-text-faint)}.safety-contacts-list{display:grid;gap:16px}.safety-contact-card{padding:18px 20px;border-radius:14px;background:var(--color-bg-card);border:1px solid var(--color-border);display:grid;gap:14px}.safety-contact-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.safety-contact-number{margin:0;font-size:var(--font-size-body);font-weight:var(--font-weight-bold);color:var(--color-text-secondary)}.add-contact-button{padding:8px 14px;border-radius:var(--radius-default);border:1px solid var(--color-primary);background:var(--color-bg-card);color:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:.9rem;cursor:pointer;transition:all var(--transition-base)}.add-contact-button:hover{background:var(--color-primary-light)}.remove-contact-button{padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--color-error-hover);background:var(--color-bg-card);color:var(--color-error-hover);font-weight:var(--font-weight-semibold);font-size:.85rem;cursor:pointer;transition:all var(--transition-base)}.remove-contact-button:hover{background:var(--color-error-light)}.add-button{padding:10px 16px;border-radius:var(--radius-default);border:1px solid var(--color-primary);background:var(--color-bg-card);color:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:.9rem;cursor:pointer;transition:all var(--transition-base);width:fit-content}.add-button:hover{background:var(--color-primary-light)}.remove-button{padding:8px 14px;border-radius:var(--radius-default);border:1px solid var(--color-error-hover);background:var(--color-bg-card);color:var(--color-error-hover);font-weight:var(--font-weight-semibold);font-size:.85rem;cursor:pointer;transition:all var(--transition-base);width:fit-content}.remove-button:hover{background:var(--color-error-light)}.form-actions{display:flex;gap:12px;padding-top:8px;flex-wrap:wrap}.save-button{padding:12px 28px;border-radius:var(--radius-lg);border:none;background:var(--color-primary-hover);color:#fff;font-weight:var(--font-weight-bold);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base);box-shadow:0 8px 20px #4f46e540}.save-button:hover:not(:disabled){background:var(--color-primary-active);transform:translateY(-1px);box-shadow:0 12px 28px #4f46e559}.save-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.cancel-button{padding:12px 28px;border-radius:var(--radius-lg);border:1px solid var(--color-border-strong);background:var(--color-bg-card);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);text-decoration:none;cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center}.cancel-button:hover{background:var(--color-bg-page);border-color:var(--color-text-faint)}.form-textarea{padding:12px 14px;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-card);font-family:inherit;resize:vertical;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--shadow-color-primary),.1)}.form-textarea::placeholder{color:var(--color-text-faint)}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.checkbox-label,.radio-label{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-default);background:var(--color-bg-card);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-base)}.checkbox-label:hover,.radio-label:hover{background:var(--color-bg-page);border-color:var(--color-border-strong)}.checkbox-input,.radio-input{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.checkbox-label span,.radio-label span{font-size:var(--font-size-body);color:var(--color-text-dark-alt)}.radio-group{display:flex;flex-direction:column;gap:10px}.activity-preferences{display:grid;gap:20px}.activity-category{display:grid;gap:10px}.activity-category-title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-primary-active);padding-bottom:8px;border-bottom:2px solid #e0e7ff}.activity-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-default)}.activity-name{font-weight:var(--font-weight-medium);color:var(--color-text-dark-alt);flex:1}.preference-buttons{display:flex;gap:8px;flex-wrap:wrap}.preference-btn{padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-bg-card);color:var(--color-text-muted);font-size:.85rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.preference-btn:hover{background:var(--color-bg-page);border-color:var(--color-text-faint)}.preference-btn.active{color:#fff;border-color:transparent}.preference-btn.active.like{background:#22c55e}.preference-btn.active.would{background:#c9a96a}.preference-btn.active.wont{background:var(--color-error)}@media(max-width:640px){.form-section{padding:16px 18px}.section-header{flex-direction:column;align-items:stretch}.add-contact-button{width:100%}.form-actions{flex-direction:column}.save-button,.cancel-button{width:100%}.activity-item{flex-direction:column;align-items:stretch}.preference-buttons{justify-content:stretch}.preference-btn{flex:1}}.venue-list{display:grid;gap:16px;margin-bottom:24px}.venue-option{display:flex;gap:16px;padding:18px 20px;border:2px solid var(--color-border);border-radius:14px;background:var(--color-bg-card);cursor:pointer;transition:all var(--transition-base)}.venue-option:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-subtle)}.venue-option:hover{border-color:var(--color-border-strong);box-shadow:0 4px 12px #0000000d}.venue-radio{width:20px;height:20px;cursor:pointer;accent-color:var(--color-primary);margin-top:4px;flex-shrink:0}.venue-details{flex:1}.venue-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.venue-name{margin:0;font-size:1.15rem;font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.venue-meta{display:flex;gap:12px;align-items:center;white-space:nowrap}.venue-rating{font-size:.9rem;font-weight:var(--font-weight-semibold);color:var(--color-warning)}.venue-price{font-size:.9rem;font-weight:var(--font-weight-semibold);color:var(--color-success-hover)}.venue-address{margin:0 0 8px;font-size:.9rem;color:var(--color-text-muted)}.venue-description{margin:0;font-size:var(--font-size-body);color:var(--color-text-secondary);line-height:1.5}@media(max-width:640px){.venue-header{flex-direction:column;align-items:flex-start}.venue-meta{margin-top:4px}}body:has(.planner-dashboard){padding:0;align-items:stretch;justify-content:stretch;background:#f5f2eb}body:has(.planner-dashboard) #root{width:100%}.planner-dashboard{min-height:100vh;background:#f5f2eb;display:grid;grid-template-columns:260px 1fr;position:relative}.top-bar{display:none;position:fixed;top:20px;right:20px;z-index:800;background:var(--color-text-primary);border-radius:var(--radius-lg);padding:12px;box-shadow:0 4px 12px rgba(var(--shadow-color),.3)}.top-bar-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);color:#fff;font-size:1.2rem;text-decoration:none;transition:background var(--transition-base),transform var(--transition-base)}.top-bar-icon:hover{background:rgba(var(--shadow-color-primary),.2);transform:scale(1.1)}.icon-text{display:block;line-height:1}.mobile-menu-toggle{display:none;position:fixed;top:20px;left:20px;z-index:1001;background:var(--color-text-primary);border:none;padding:12px;border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:5px;width:46px;height:46px;box-shadow:0 4px 12px rgba(var(--shadow-color),.3);transition:transform var(--transition-base)}.mobile-menu-toggle:hover{transform:scale(1.05)}.mobile-menu-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all var(--transition-slow)}.mobile-menu-overlay{display:none;position:fixed;inset:0;background:rgba(var(--shadow-color-black),.5);z-index:999}.planner-sidebar{background:var(--color-text-primary);color:var(--color-border);padding:28px 22px;display:flex;flex-direction:column;gap:24px}.sidebar-brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border-radius:var(--radius-lg);display:grid;place-items:center;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;font-weight:var(--font-weight-extrabold)}.brand-title{margin:0;font-weight:var(--font-weight-bold);font-size:var(--font-size-base)}.brand-subtitle{margin:4px 0 0;font-size:.8rem;color:var(--color-text-faint)}.sidebar-nav{display:flex;flex-direction:column;gap:10px}.nav-link{color:#c8b99a;text-decoration:none;padding:10px 14px;border-radius:var(--radius-lg);transition:background var(--transition-base),color var(--transition-base)}.nav-link:hover,.nav-link.active{background:#c9a96a26;color:#c9a96a}.sidebar-footer{margin-top:auto}.logout-button{width:100%;padding:10px 14px;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.3);background:transparent;color:var(--color-border);font-weight:var(--font-weight-semibold);cursor:pointer}.planner-main{padding:32px 40px 48px;display:flex;flex-direction:column;gap:24px}.onboarding-banner{padding:20px 24px;background:linear-gradient(135deg,#f9f5eb,#f5f0e0);border:1px solid #d4c5a0;border-radius:var(--radius-xl);margin-bottom:4px}.onboarding-banner-content{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.onboarding-banner-title{margin:0;font-size:1.05rem;font-weight:var(--font-weight-bold);color:#0f1a2e}.onboarding-banner-text{margin:4px 0 0;font-size:.9rem;color:var(--color-primary)}.onboarding-banner-button{padding:10px 22px;border-radius:var(--radius-default);background:var(--color-primary-hover);color:#fff;font-weight:var(--font-weight-bold);font-size:.9rem;text-decoration:none;transition:all var(--transition-base);white-space:nowrap;box-shadow:0 4px 12px #4f46e540}.onboarding-banner-button:hover{background:var(--color-primary-active);transform:translateY(-1px);box-shadow:0 6px 16px #4f46e559}.planner-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}.header-eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:var(--font-size-xs);color:var(--color-text-muted)}.header-title{margin:8px 0 6px;font-size:var(--font-size-3xl);color:var(--color-text-primary)}.header-subtitle{margin:0;color:var(--color-text-secondary);max-width:560px}.header-actions{display:flex;gap:12px;flex-wrap:wrap}.primary-button,.secondary-button{border-radius:var(--radius-lg);padding:10px 16px;font-weight:var(--font-weight-semibold);border:none;cursor:pointer}.primary-button{background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;box-shadow:0 8px 20px #c9a96a4d}.secondary-button{background:var(--color-primary-light);color:#9e7936}.planner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.panel{background:var(--color-bg-card);border-radius:18px;padding:20px 22px;box-shadow:0 10px 25px rgba(var(--shadow-color),.06);border:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-header h2{margin:0;font-size:var(--font-size-md);color:var(--color-text-primary)}.panel-link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:.9rem}.message-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.message-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:12px 14px;background:var(--color-bg-page)}.message-sender{margin:0;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.message-preview{margin:4px 0 0;color:var(--color-text-secondary);font-size:var(--font-size-body)}.message-time{font-size:.8rem;color:var(--color-text-faint);white-space:nowrap}.suggestions-grid{display:grid;gap:12px}.suggestion-card{padding:14px 16px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-bg-card)}.suggestion-card h3{margin:0 0 6px;font-size:var(--font-size-base);color:var(--color-text-primary)}.suggestion-card p{margin:0 0 12px;color:var(--color-text-secondary);font-size:var(--font-size-body)}.chip-button{border:none;background:var(--color-primary-light);color:var(--color-primary-active);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);padding:6px 12px;cursor:pointer}.table-panel{overflow:hidden}.table-wrapper{overflow-x:auto}.plans-table{width:100%;border-collapse:collapse;font-size:var(--font-size-body)}.plans-table th,.plans-table td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.plans-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.table-secondary{margin:4px 0 0;color:var(--color-text-faint);font-size:.85rem}.status-pill{padding:4px 10px;border-radius:var(--radius-full);font-size:.8rem;font-weight:var(--font-weight-semibold);display:inline-flex}.status-confirmed{background:#d4ede9;color:#2f6f64}.status-planning{background:#e8edf5;color:#0f1a2e}.status-awaiting-rsvp{background:#faf0dc;color:#9e7936}.dashboard-actions{display:flex;gap:14px;flex-wrap:wrap}.action-card{display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:14px;text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-body);transition:transform var(--transition-fast),box-shadow var(--transition-fast);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-primary);box-shadow:0 2px 8px rgba(var(--shadow-color),.04)}.action-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--shadow-color),.1)}.action-onboarding{background:linear-gradient(135deg,#faf5eb,#f5edd8);border-color:#d4c5a0;color:#9e7936}.action-create{background:linear-gradient(135deg,#fdf5f5,#f9ecec);border-color:#e8c5c7;color:#8a4248}.action-message{background:linear-gradient(135deg,#eef5f4,#daeee9);border-color:#a8d4ce;color:var(--color-success-dark)}.action-icon{font-size:1.2rem}.action-label{white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.dashboard-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.dashboard-list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e8e0d0;border-radius:var(--radius-lg);background:#fdfaf5;text-decoration:none;color:inherit;transition:background var(--transition-fast),border-color var(--transition-fast)}.dashboard-list-item:hover{background:#f5f2eb;border-color:#c9a96a}.list-item-main{min-width:0;flex:1}.list-item-title{margin:0;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item-sub{margin:3px 0 0;color:var(--color-text-muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item-time{font-size:.8rem;color:var(--color-text-faint);white-space:nowrap;flex-shrink:0}.empty-state{text-align:center;padding:24px 16px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-body)}.empty-state .panel-link{display:inline-block;margin-top:8px}.empty-hint{margin-top:6px!important;font-size:.85rem!important;color:var(--color-text-faint)!important}.badge-coming-soon{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:3px 10px;border-radius:var(--radius-full);background:#f1f5f9;color:var(--color-text-muted)}.panel-muted{opacity:.75}.status-completed{background:#f3e8ff;color:#7c3aed}@media(max-width:960px){.planner-dashboard{grid-template-columns:1fr}.mobile-menu-toggle{display:flex}.mobile-menu-overlay{display:block}.top-bar{display:flex}.planner-sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:1000;transform:translate(-100%);transition:transform var(--transition-slow);box-shadow:4px 0 16px rgba(var(--shadow-color-black),.2)}.planner-sidebar.mobile-open{transform:translate(0)}.planner-main{padding:80px 24px 24px;width:100%}}@media(max-width:640px){.planner-sidebar{width:260px}.planner-main{padding:80px 16px 24px}.header-actions,.primary-button,.secondary-button{width:100%}.planner-header{gap:16px}.header-title{font-size:var(--font-size-xl)}.planner-grid{grid-template-columns:1fr}.dashboard-actions{flex-direction:column}.dashboard-grid{grid-template-columns:1fr}}.date-tracker{width:100%;padding:1rem;background:transparent;border-radius:var(--radius-md);border:none}.date-tracker.compact{padding:.75rem}.tracker-steps{position:relative;display:flex;justify-content:center;align-items:flex-start;gap:1rem;padding:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.tracker-steps::-webkit-scrollbar{height:4px}.tracker-steps::-webkit-scrollbar-track{background:transparent}.tracker-steps::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.tracker-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:0;min-width:unset;flex:0 0 auto;background:transparent;border:none;border-radius:0;cursor:pointer;transition:all var(--transition-base);position:relative}.tracker-step:hover .step-bubble{transform:scale(1.1)}.step-bubble{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-sm);border:2px solid #d1d5db;background:#fff;transition:all var(--transition-base);flex-shrink:0}.tracker-step.pending .step-bubble{border-color:#d1d5db;background:#fff}.tracker-step.in-progress .step-bubble{border-color:var(--color-info);background:var(--color-info-light);border-width:2px}.tracker-step.completed .step-bubble{background:var(--color-success);border-color:var(--color-success);color:#fff}.tracker-step.failed .step-bubble{background:var(--color-error);border-color:var(--color-error);color:#fff}.tracker-step.current .step-bubble{border-color:var(--color-info);border-width:2px;background:var(--color-info-light);box-shadow:0 0 0 3px #3b82f61a}.status-icon{font-size:1rem;font-weight:700;display:block}.step-label{text-align:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:#374151;line-height:1.2;max-width:60px;word-wrap:break-word}.tracker-step.completed .step-label{color:var(--color-success);font-weight:var(--font-weight-semibold)}.tracker-step.failed .step-label{color:var(--color-error);font-weight:var(--font-weight-semibold)}.tracker-step.current .step-label{color:var(--color-info);font-weight:var(--font-weight-semibold)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.step-completed-at,.step-error,.tracker-connections{display:none}@media(max-width:768px){.date-tracker{padding:.75rem}.tracker-steps{gap:.75rem}.step-bubble{width:28px;height:28px;font-size:var(--font-size-xs)}.step-label{font-size:.625rem;max-width:50px}}@media(max-width:480px){.date-tracker{padding:.5rem}.tracker-steps{gap:.5rem}.step-bubble{width:24px;height:24px;font-size:.625rem;border-width:1.5px}.step-label{font-size:.5625rem;max-width:45px}}.photo-upload{display:flex;flex-direction:column;gap:1rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem}.photo-thumb{position:relative;aspect-ratio:1 / 1;border-radius:10px;overflow:hidden;border:2px solid var(--color-gold, #C9A96A);background:var(--color-bg-card, #FDFAF5)}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-delete-btn{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0f1a2ebf;color:#fff;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.photo-thumb:hover .photo-delete-btn,.photo-thumb:focus-within .photo-delete-btn{opacity:1}.photo-upload-actions{display:flex;gap:.75rem;flex-wrap:wrap}.photo-upload-btn{padding:.55rem 1.1rem;border-radius:8px;border:2px solid var(--color-gold, #C9A96A);background:transparent;color:var(--color-navy, #0F1A2E);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.photo-upload-btn:hover:not(:disabled){background:var(--color-gold, #C9A96A);color:#fff}.photo-upload-btn:disabled{opacity:.5;cursor:not-allowed}.photo-upload-btn--camera{border-color:var(--color-navy, #0F1A2E)}.photo-upload-btn--camera:hover:not(:disabled){background:var(--color-navy, #0F1A2E);color:#fff}.photo-progress-bar{height:6px;border-radius:3px;background:#e5e7eb;overflow:hidden}.photo-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-gold, #C9A96A),#e2b97e);transition:width .3s ease}.photo-upload-error{margin:0;color:#dc2626;font-size:.85rem}.photo-upload-limit{margin:0;color:#6b7280;font-size:.85rem;font-style:italic}.date-safety-tracker{display:flex;flex-direction:column;gap:1.5rem}.tracker-error{background-color:#fee;border:1px solid #fcc;border-radius:var(--radius-md);padding:1rem;color:#c00;display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-body)}.tracker-section{background:var(--color-bg-card);border:1px solid #e5e7eb;border-radius:var(--radius-lg);padding:1.5rem;box-shadow:0 1px 3px rgba(var(--shadow-color-black),.1)}.section-header{margin-bottom:1rem}.section-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:#0f1a2e;margin:0 0 .25rem}.section-header p{font-size:.9rem;color:#5b6470;margin:0}.tracker-header-section{background:linear-gradient(135deg,#0f1a2e,#1a2b4a);color:#f5f2eb;border:none}.tracker-header-section .section-header h3,.tracker-header-section .section-header p{color:#f5f2eb}.tracker-header-section .section-header p{color:#f5f2ebb3}.tracker-header-section .btn-primary{background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;font-weight:var(--font-weight-semibold);width:100%;padding:1rem;font-size:var(--font-size-base);border:none}.tracker-header-section .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#b8934a,#9e7936);transform:translateY(-2px)}.tracker-header-section .btn-success{background:#2f6f64;color:#fff;width:100%;padding:1rem;font-size:var(--font-size-base)}.on-the-way-actions{display:flex;flex-direction:column;gap:.75rem}.on-the-way-actions .btn{width:100%;padding:1rem;font-size:var(--font-size-base)}.on-the-way-actions .btn-primary{background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;font-weight:var(--font-weight-semibold);border:none}.on-the-way-actions .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#b8934a,#9e7936);transform:translateY(-2px)}.on-the-way-actions .btn-secondary{background:#c9a96a1f;color:#c9a96a;border:1px solid rgba(201,169,106,.4);font-weight:var(--font-weight-medium)}.on-the-way-actions .btn-secondary:hover:not(:disabled){background:#c9a96a38}.on-the-way-actions .btn-success{background:#2f6f64;color:#fff;border:none}.tracker-activities-section{background:#f5f2eb;border-color:#e8e0d0}.activities-grid{display:grid;gap:1rem}.activity-card{background:var(--color-bg-card);border:1px solid #e5e7eb;border-radius:var(--radius-md);padding:1rem;transition:all .2s}.activity-card:hover{box-shadow:0 4px 6px rgba(var(--shadow-color-black),.1)}.activity-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.activity-icon{font-size:2rem;line-height:1}.activity-info{flex:1}.activity-info h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:#0f1a2e;margin:0 0 .25rem}.activity-type{display:inline-block;background:#c9a96a26;color:#9e7936;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:.25rem .5rem;border-radius:var(--radius-xs);text-transform:capitalize}.activity-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.btn-sm{padding:.5rem;font-size:var(--font-size-sm);white-space:nowrap}.btn-success{background:var(--color-success);color:#fff;border:1px solid var(--color-success-hover)}.btn-success:hover:not(:disabled){background:var(--color-success-hover)}.tracker-memories-section{background:#fdfaf5;border-color:#e8e0d0}.memories-content{display:flex;flex-direction:column;gap:1rem}.upload-photos-btn{width:100%;padding:.875rem;font-size:var(--font-size-base);background:transparent;border:2px dashed #C9A96A;color:#9e7936;transition:all .2s}.upload-photos-btn:hover:not(:disabled){background:#c9a96a14;border-color:#b8934a;color:#b8934a;transform:translateY(-2px)}.notes-container{display:flex;flex-direction:column;gap:.5rem}.notes-container label{font-size:var(--font-size-body);font-weight:var(--font-weight-medium);color:#5b6470}.notes-textarea{width:100%;padding:.75rem;border:1px solid #e8e0d0;border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-body);resize:vertical;background:#fdfaf5;color:#0f1a2e}.notes-textarea:focus{outline:none;border-color:#c9a96a;box-shadow:0 0 0 3px #c9a96a26}.notes-textarea::placeholder{color:#9ca3af}.tracker-footer-section{background:linear-gradient(135deg,#2f6f64,#1e4f46);color:#fff;border:none;text-align:center}.tracker-footer-section .section-header h3,.tracker-footer-section .section-header p{color:#fff}.tracker-footer-section .section-header p{color:#ffffffbf}.btn-large{width:100%;padding:1.25rem;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.tracker-footer-section .btn-primary{background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;border:none}.tracker-footer-section .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#b8934a,#9e7936);transform:translateY(-2px)}.tracker-footer-section .btn-success{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);cursor:default}.empty-state{text-align:center;padding:2rem;color:#9ca3af;font-style:italic}@media(min-width:768px){.activities-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.activity-actions{grid-template-columns:1fr}.btn-sm{padding:.75rem;font-size:.9rem}}.btn-locked{opacity:.75;cursor:pointer}.locked-feature-hint{margin-top:1rem;font-size:.85rem;color:#5b6470;text-align:center}.locked-feature-hint a{color:#c9a96a;font-weight:600;text-decoration:underline}.tracker-locked-prompt{background:#0f1a2e;border-radius:10px;padding:1.25rem;margin-bottom:1rem}.locked-prompt-body{display:flex;gap:.75rem;align-items:flex-start}.locked-icon{font-size:1.4rem;flex-shrink:0}.locked-message{margin:0 0 .75rem;font-size:.92rem;color:#f5f2ebd9;line-height:1.5}.locked-cta-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.locked-cta-btn{display:inline-block;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;padding:.5rem 1.1rem;border-radius:6px;font-size:.875rem;font-weight:700;text-decoration:none}.locked-cta-btn:hover{background:linear-gradient(135deg,#b8934a,#9e7936);color:#0f1a2e}.locked-dismiss{background:none;border:none;color:#f5f2eb80;font-size:.8rem;cursor:pointer;padding:0;text-decoration:underline}.locked-dismiss:hover{color:#f5f2ebcc}.invitation-page{min-height:100vh;background:linear-gradient(135deg,#0f1a2e,#1a2b4a,#0f1a2e);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.invitation-page:has(.guest-mode-header),.invitation-page:has(.auth-mode-header){padding-top:100px;justify-content:flex-start;padding-bottom:2rem}.guest-mode-header{position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;z-index:100}.guest-header-content{max-width:100%;width:100%;display:flex;align-items:center;justify-content:space-between}.guest-header-content h2{margin:0;font-size:1.2rem;font-weight:var(--font-weight-semibold);color:#333}.guest-auth-button{padding:.5rem 1rem;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;text-decoration:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:var(--font-weight-medium);transition:transform .2s}.guest-auth-button:hover{transform:translateY(-2px)}.auth-mode-header{position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:1px solid #e0e0e0;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;z-index:100}.back-to-dashboard{padding:.5rem 1rem;color:#c9a96a;text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-body);border-radius:var(--radius-sm);transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}.back-to-dashboard:hover{background:#c9a96a1a;transform:translate(-2px)}.auth-mode-header h2{margin:0;font-size:1.2rem;font-weight:var(--font-weight-semibold);color:#333;flex:1;text-align:center}.invitation-page.guest-mode{padding-top:80px}.invitation-card{background:#fff;border-radius:var(--radius-xl);box-shadow:0 20px 60px rgba(var(--shadow-color-black),.3);max-width:700px;width:100%;overflow:hidden;display:flex;flex-direction:column;height:auto}.invitation-header{background:linear-gradient(135deg,#0f1a2e,#1a2b4a);color:#f5f2eb;padding:2rem;text-align:center}.invitation-header h1{margin:0 0 .5rem;font-size:1.75rem;font-weight:var(--font-weight-semibold)}.invitation-subtitle{margin:0;opacity:.95;font-size:var(--font-size-base)}.welcome-content{padding:2rem}.welcome-message{text-align:center;font-size:var(--font-size-base);color:#555;margin:0 0 2rem;line-height:1.6}.welcome-actions{display:flex;flex-direction:column;gap:1.5rem}.btn-primary{padding:1rem 2rem;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .3s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #c9a96a59}.auth-options{border-top:1px solid #e0e0e0;padding-top:1.5rem}.auth-options>p:first-child{text-align:center;color:#666;font-size:.9rem;margin:0 0 1rem}.btn-secondary{display:block;text-align:center;padding:.75rem 2rem;background:transparent;color:#c9a96a;border:2px solid #C9A96A;border-radius:var(--radius-md);text-decoration:none;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .3s}.btn-secondary:hover{background:#c9a96a;color:#0f1a2e}.auth-divider{text-align:center;color:#999;font-size:.85rem;margin:.5rem 0}.conversation-container{padding:2rem;display:flex;flex-direction:column;min-height:500px}.messages-list{min-height:300px;max-height:70vh;overflow-y:auto;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.message{display:flex;animation:fadeIn .3s ease-in}.message-bot{justify-content:flex-start}.message-user{justify-content:flex-end}.message-content{max-width:80%;padding:1rem 1.25rem;border-radius:18px}.message-bot .message-content{background:#f1f3f5;color:#212529}.message-user .message-content{background:#c9a96a;color:#0f1a2e}.message-content p{margin:0;line-height:1.5}.message-choices{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.choice-button{background:#fdfaf5;color:#c9a96a;border:2px solid #C9A96A;border-radius:var(--radius-md);padding:.75rem 1rem;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);text-align:left}.choice-button:hover:not(:disabled){background:#c9a96a;color:#0f1a2e;transform:translate(4px)}.choice-button:disabled{opacity:.5;cursor:not-allowed}.message-input-form{display:flex;gap:.75rem;padding-top:1rem;border-top:1px solid #e9ecef}.message-input{flex:1;padding:.75rem 1rem;border:2px solid #e9ecef;border-radius:24px;font-size:var(--font-size-base);outline:none;transition:border-color var(--transition-base)}.message-input:focus{border-color:#c9a96a}.send-button{background:#c9a96a;color:#0f1a2e;border:none;border-radius:24px;padding:.75rem 1.5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.send-button:hover:not(:disabled){background:#b8934a;transform:translateY(-2px)}.send-button:disabled{opacity:.5;cursor:not-allowed}.conversation-complete{text-align:center;padding:2rem;background:linear-gradient(135deg,#c9a96a14,#f5f2ebf2);border:1px solid rgba(201,169,106,.25);border-radius:var(--radius-lg);color:#0f1a2e}.conversation-complete p{margin:.5rem 0;line-height:1.6}.conversation-complete p:first-child{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md)}.signup-cta-card{margin-top:1.75rem;padding:1.75rem;background:#0f1a2e;border-radius:var(--radius-lg);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.signup-cta-icon{font-size:1.5rem;color:#c9a96a;line-height:1}.signup-cta-heading{margin:0;font-size:1.2rem;font-weight:700;color:#f5f2eb;letter-spacing:.01em}.signup-cta-body{margin:0;font-size:.95rem;color:#f5f2ebbf;max-width:360px;line-height:1.55}.signup-cta-perks{list-style:none;padding:0;margin:.25rem 0 .5rem;display:flex;flex-direction:column;gap:.4rem;text-align:left;align-self:stretch}.signup-cta-perks li{font-size:.88rem;color:#f5f2ebcc;padding-left:1.25rem;position:relative}.signup-cta-perks li:before{content:"✓";position:absolute;left:0;color:#c9a96a;font-weight:700}.signup-cta-button{display:inline-block;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;padding:.9rem 2rem;border-radius:6px;font-size:1rem;font-weight:700;text-decoration:none;transition:background .2s,transform .15s;width:100%;letter-spacing:.02em}.signup-cta-button:hover{background:linear-gradient(135deg,#b8934a,#9e7936);color:#0f1a2e;transform:translateY(-1px)}.signup-cta-login{font-size:.85rem;color:#c9a96acc;text-decoration:none;margin-top:.25rem}.signup-cta-login:hover{color:#c9a96a;text-decoration:underline}.messages-list::-webkit-scrollbar{width:8px}.messages-list::-webkit-scrollbar-track{background:#f1f3f5;border-radius:var(--radius-xs)}.messages-list::-webkit-scrollbar-thumb{background:#adb5bd;border-radius:var(--radius-xs)}.messages-list::-webkit-scrollbar-thumb:hover{background:#868e96}@media(max-width:640px){.invitation-page{padding:1rem}.invitation-header{padding:1.5rem}.invitation-header h1{font-size:var(--font-size-xl)}.conversation-container{padding:1rem;min-height:400px}.message-content{max-width:90%}.messages-list{max-height:60vh;min-height:200px}}.structured-input{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#f9f9f9;border-radius:var(--radius-md);margin-top:1rem}.checkbox-group{display:flex;flex-direction:column;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:var(--font-size-body)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{-webkit-user-select:none;user-select:none}.date-picker-container{display:flex;flex-direction:column;gap:.75rem}.date-time-entry{display:flex;gap:.5rem;align-items:center}.date-time-entry input[type=datetime-local]{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:var(--radius-sm);font-size:var(--font-size-body);font-family:inherit}.remove-button{padding:.5rem 1rem;background:#ff6b6b;color:#fff;border:none;border-radius:var(--radius-xs);cursor:pointer;font-weight:var(--font-weight-medium);transition:background .2s}.remove-button:hover{background:#ff5252}.add-button{padding:.75rem 1.5rem;background:#c9a96a;color:#0f1a2e;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-medium);transition:background .2s}.add-button:hover{background:#b8934a}.multiselect-input .send-button,.date-picker-input .send-button{align-self:flex-end}.selected-dates-preview{padding:.75rem;background:#faf5eb;border-radius:var(--radius-sm);border-left:3px solid #C9A96A}.resolve-availability-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem;display:flex;align-items:center;justify-content:center}.resolve-availability-page.error{display:flex;align-items:center;justify-content:center;color:#d32f2f;font-size:1.125rem;font-weight:var(--font-weight-medium)}.resolve-availability-container{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:0 8px 32px rgba(var(--shadow-color-black),.1);max-width:1000px;width:100%;padding:3rem}.resolve-header{text-align:center;margin-bottom:2.5rem}.resolve-header h1{margin:0 0 .5rem;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:#1a1a1a}.resolve-header p{margin:0;font-size:1.0625rem;color:#666}.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.availability-card{border:2px solid #e0e0e0;border-radius:var(--radius-lg);padding:1.5rem;background:var(--color-bg-page-alt);transition:all var(--transition-slow);display:flex;flex-direction:column;gap:1rem;cursor:pointer}.availability-card:hover{border-color:var(--color-info);background:#f0f4ff;box-shadow:0 4px 12px #3b82f61a}.availability-card.all-available{border-color:var(--color-success);background:#f0fdf4}.availability-card.all-available:hover{border-color:var(--color-success-hover);box-shadow:0 4px 12px #10b98133}.availability-card.partial-available{border-color:var(--color-warning);background:#fffbf0}.availability-card.partial-available:hover{border-color:var(--color-warning-hover);box-shadow:0 4px 12px #f59e0b33}.availability-card.selected{border-color:var(--color-info);background:var(--color-info-light);box-shadow:0 8px 16px #3b82f633}.availability-date-time{text-align:center}.option-date{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:#1a1a1a}.option-time{margin:.5rem 0 0;font-size:var(--font-size-lg);color:#666;font-weight:var(--font-weight-medium)}.guest-availability{flex:1;min-height:100px}.guest-count{font-size:var(--font-size-body);color:#666;margin-bottom:.75rem;padding:.75rem;background:rgba(var(--shadow-color-black),.03);border-radius:var(--radius-sm)}.guest-count strong{color:#1a1a1a;font-weight:var(--font-weight-semibold)}.guest-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;max-height:150px;overflow-y:auto}.guest-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.9rem}.guest-item.unavailable{color:#d32f2f;font-weight:500}.guest-checkmark{color:var(--color-success);font-weight:700;font-size:1.1rem}.guest-x{color:#d32f2f;font-weight:700;font-size:1.1rem}.guest-name{color:#1a1a1a;font-weight:var(--font-weight-medium)}.guest-note{color:#d32f2f}.badge-perfect{display:inline-block;padding:.5rem 1rem;background:#d1fae5;color:var(--color-success-dark);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center;width:100%}.accept-button{width:100%;padding:.875rem;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;border:none;border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-slow)}.accept-button:hover:not(:disabled){background:linear-gradient(135deg,#b8934a,#9e7936);box-shadow:0 4px 12px #c9a96a66;transform:translateY(-2px)}.accept-button:disabled{background:#c7d2e0;cursor:not-allowed;opacity:.6}.warning-message{background:var(--color-warning-light);border:2px solid var(--color-warning);border-radius:var(--radius-lg);padding:1.5rem;margin:2rem 0;color:#92400e}.warning-message p{margin:0 0 1rem;font-weight:var(--font-weight-semibold)}.warning-message ul{margin:0;padding-left:1.5rem;list-style:none}.warning-message li{margin:.5rem 0;padding-left:1.5rem;position:relative}.warning-message li:before{content:"→";position:absolute;left:0}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem;padding-top:2rem;border-top:2px solid #e0e0e0}.back-button{padding:.875rem 2rem;background:#e5e7eb;color:#1a1a1a;border:none;border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-slow)}.back-button:hover{background:#d1d5db}@media(max-width:768px){.resolve-availability-container{padding:1.5rem}.resolve-header h1{font-size:var(--font-size-xl)}.availability-grid{grid-template-columns:1fr}.guest-list{max-height:none}}:root{--color-primary: #C9A96A;--color-primary-dark: #b8934a;--color-success: #2F6F64;--color-error: #ef4444;--color-warning: #b8934a;--color-text: #0F1A2E;--color-text-secondary: #5B6470;--color-text-muted: #5B6470;--color-bg: #FDFAF5;--color-bg-light: #F5F2EB;--color-border: #e8e0d0;--color-border-dark: #d4c8b0}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0f1a2e,#1a2b4a,#0f1a2e);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.auth-card{background:#fdfaf5;border-radius:16px;padding:48px 40px;width:100%;max-width:420px;box-shadow:0 20px 60px #0006;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-card h1{font-size:28px;font-weight:700;color:var(--color-text);margin:0 0 8px;text-align:center}.auth-subtitle{font-size:14px;color:var(--color-text-secondary);text-align:center;margin:0 0 32px}.auth-form{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.auth-input{width:100%;padding:12px 16px;border:1px solid var(--color-border-dark);border-radius:8px;font-size:16px;color:var(--color-text);background:#fff;transition:all .2s ease;font-family:inherit;box-sizing:border-box}.auth-input:focus{outline:none;border-color:#c9a96a;box-shadow:0 0 0 3px #c9a96a26;background:#fff}.auth-input:disabled{background-color:var(--color-bg-light);color:var(--color-text-muted);cursor:not-allowed}.auth-input::placeholder{color:var(--color-text-muted)}.auth-button{width:100%;padding:12px 24px;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;margin-top:8px;font-family:inherit;letter-spacing:.02em}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #c9a96a66}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:8px;animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.auth-divider{display:flex;align-items:center;margin:24px 0;color:var(--color-text-muted);font-size:14px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background-color:var(--color-border)}.auth-divider:before{margin-right:12px}.auth-divider:after{margin-left:12px}.auth-footer{text-align:center;font-size:14px;color:var(--color-text-secondary);margin:0}.auth-link-inline{color:var(--color-primary);text-decoration:none;font-weight:600;transition:color .2s ease}.auth-link-inline:hover{color:var(--color-primary-dark);text-decoration:underline}.auth-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:14px;font-weight:500;text-decoration:underline;padding:0;margin-top:12px;transition:color .2s ease;font-family:inherit}.auth-link:hover:not(:disabled){color:var(--color-primary-dark)}.auth-link:disabled{opacity:.5;cursor:not-allowed}.loading{text-align:center;color:#fff;font-size:16px;font-weight:500}@media(max-width:480px){.auth-card{padding:32px 24px}.auth-card h1{font-size:24px}.auth-input,.auth-button{font-size:16px;padding:14px 16px}}} .cl-socialButton{border-radius:8px;border:1px solid #cbd5e1;padding:12px 16px;background-color:#fff;font-weight:600;transition:all .2s}.cl-socialButton:hover{background-color:#f8fafc;border-color:#94a3b8;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.cl-divider{color:#cbd5e1;font-size:.9rem;margin:24px 0}.cl-footerActionLink{color:var(--color-primary, #2563eb);text-decoration:none;font-weight:500}.cl-footerActionLink:hover{color:var(--color-primary-hover, #1d4ed8);text-decoration:underline}.cl-success{color:var(--color-success, #10b981)}.cl-loading{opacity:.6;pointer-events:none}@media(max-width:640px){.cl-card{box-shadow:none;border:none}.cl-button{width:100%;padding:14px 16px}.cl-formField__input{font-size:16px}}.message-thread-detail{display:flex;flex-direction:column;gap:16px;padding:16px;border-top:1px solid var(--color-border);background:var(--color-bg-page)}.thread-actions,.action-group{display:flex;flex-direction:column;gap:12px}.action-group h3{margin:0;font-size:.9rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-semibold)}.category-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.category-btn{padding:8px 12px;border:1px solid var(--color-border-strong);background:var(--color-bg-card);color:var(--color-text-secondary);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:.85rem;cursor:pointer;transition:all var(--transition-base)}.category-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:#f0f4ff}.category-btn.active{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:#fff;border-color:var(--color-primary-hover)}.category-btn:disabled{opacity:.6;cursor:not-allowed}.message-options{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);animation:slideDown var(--transition-base)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all var(--transition-base);font-size:.9rem;color:var(--color-text-primary)}.message-option:hover:not(:disabled){background:#f0f4ff;border-color:var(--color-primary);box-shadow:0 2px 8px rgba(var(--shadow-color-primary),.1)}.message-option:disabled{opacity:.6;cursor:not-allowed}.message-emoji{font-size:1.1rem;flex-shrink:0}.message-label{font-weight:var(--font-weight-medium)}.error-message{padding:10px 12px;background:#fee2e2;color:var(--color-error-hover);border-radius:var(--radius-md);font-size:.9rem;border:1px solid #fecaca}@media(max-width:960px){.message-thread-detail{padding:12px}.category-buttons{grid-template-columns:repeat(3,1fr)}.message-options{max-height:300px;overflow-y:auto}}@media(max-width:640px){.category-buttons{grid-template-columns:repeat(2,1fr)}.message-option{font-size:.85rem;padding:8px 10px}}.modal-overlay{position:fixed;inset:0;background-color:rgba(var(--shadow-color-black),.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content{background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:0 4px 16px rgba(var(--shadow-color-black),.15);max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-header{padding:20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:18px;font-weight:var(--font-weight-semibold)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);transition:background-color .2s,color .2s}.modal-close:hover{background-color:#f0f0f0;color:#333}.modal-body{flex:1;overflow-y:auto;padding:20px}.modal-footer{padding:20px;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:var(--font-weight-semibold);margin-bottom:8px;font-size:14px}.required{color:#d32f2f}.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:var(--radius-xs);font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-select:focus,.form-textarea:focus{outline:none;border-color:#c9a96a;box-shadow:0 0 0 2px #c9a96a26}.form-select:disabled,.form-textarea:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.form-textarea{resize:vertical;font-size:14px;line-height:1.5}.character-count{font-size:12px;color:#999;margin-top:6px;text-align:right}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:var(--font-weight-medium);font-size:14px;-webkit-user-select:none;user-select:none}.radio-label.disabled{color:#999;cursor:not-allowed}.radio-label input[type=radio]{cursor:pointer;accent-color:#C9A96A}.category-buttons-inline{display:flex;gap:8px;flex-wrap:wrap}.category-btn-inline{padding:8px 16px;border:2px solid #999;background:var(--color-bg-card);color:#333;border-radius:var(--radius-xs);cursor:pointer;font-size:13px;font-weight:var(--font-weight-medium);transition:all .2s;text-decoration:none}.category-btn-inline:hover:not(:disabled){border-color:#c9a96a;background-color:#faf5eb;color:#9e7936}.category-btn-inline.active{background-color:#c9a96a;color:#0f1a2e;border-color:#b8934a}.category-btn-inline:disabled{opacity:.6;cursor:not-allowed;color:#999}.message-preview{margin-top:12px;padding:12px;background-color:#faf7f0;border-left:3px solid #C9A96A;border-radius:var(--radius-xs)}.preview-label{font-size:12px;font-weight:var(--font-weight-semibold);color:#666;margin:0 0 6px;text-transform:uppercase}.preview-text{font-size:14px;color:#333;margin:0;line-height:1.5}.loading-spinner{padding:16px;text-align:center;color:#666;font-size:14px}.empty-state{padding:16px;text-align:center;color:#999;font-size:14px;background-color:#f9f9f9;border-radius:4px}.error-alert{padding:12px;background-color:#ffebee;border:1px solid #f5a6a6;border-radius:var(--radius-xs);color:#c62828;font-size:13px;margin-bottom:16px}.primary-button,.secondary-button{padding:10px 24px;border:none;border-radius:var(--radius-xs);font-size:14px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s}.primary-button{background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e}.primary-button:hover:not(:disabled){background:linear-gradient(135deg,#b8934a,#9e7936)}.primary-button:disabled{background-color:#ccc;cursor:not-allowed;color:#999}.secondary-button{background-color:#e0e0e0;color:#333}.secondary-button:hover:not(:disabled){background-color:#d0d0d0}.secondary-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.modal-overlay{padding:0}.modal-content{max-width:100%;border-radius:var(--radius-md) var(--radius-md) 0 0}.modal-header,.modal-body{padding:16px}.modal-footer{padding:16px;flex-direction:column-reverse;gap:10px}.primary-button,.secondary-button{width:100%}.category-buttons-inline{gap:6px}.category-btn-inline{flex:1;min-width:calc(33.333% - 5px)}}.messages-container{display:flex;flex-direction:column;gap:24px}.messages-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.messages-header h1{margin:0;font-size:var(--font-size-3xl);color:var(--color-text-primary)}.messages-header p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-body)}.messages-header .primary-button{padding:10px 18px;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;transition:all .2s}.messages-header .primary-button:hover{background:linear-gradient(135deg,#b8934a,#9e7936)}.messages-layout{display:grid;grid-template-columns:320px 1fr;gap:20px;min-height:500px;background:var(--color-bg-card);border-radius:18px;border:1px solid var(--color-border);overflow:hidden}.messages-list{border-right:1px solid var(--color-border);display:flex;flex-direction:column;background:var(--color-bg-page)}.messages-list h2{margin:0;padding:16px;font-size:var(--font-size-base);color:var(--color-text-primary);border-bottom:1px solid var(--color-border)}.thread-list{flex:1;overflow-y:auto}.thread-item{padding:12px 16px;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background var(--transition-base);display:flex;justify-content:space-between;align-items:center;gap:12px}.thread-item:hover{background:var(--color-border)}.thread-item.active{background:#c7d2fe;border-bottom:1px solid #a5b4fc}.thread-info{flex:1;min-width:0}.thread-info h3{margin:0 0 4px;font-size:var(--font-size-body);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-date{margin:0;font-size:.8rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap}.message-count{display:inline-block;background:var(--color-primary-hover);color:#fff;border-radius:var(--radius-full);padding:2px 8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.last-message-time{font-size:var(--font-size-xs);color:var(--color-text-faint)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px;text-align:center;color:var(--color-text-faint)}.empty-state p{margin:0}.empty-state .text-muted{font-size:.9rem;color:var(--color-border-strong)}.messages-detail{display:flex;flex-direction:column;padding:0}.detail-header{padding:16px;border-bottom:1px solid var(--color-border)}.detail-header h2{margin:0 0 4px;font-size:1.2rem;color:var(--color-text-primary)}.detail-header p{margin:0;color:var(--color-text-secondary);font-size:.9rem}.detail-header .detail-date{margin:8px 0 0;color:var(--color-primary);font-size:.9rem;font-weight:var(--font-weight-medium)}.messages-thread{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.detail-placeholder,.empty-thread{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-faint)}.message-bubble{display:flex;flex-direction:column;gap:4px;max-width:70%;animation:fadeIn .2s ease}.message-bubble.sent{align-self:flex-end;margin-left:30%}.message-bubble.received{align-self:flex-start;margin-right:30%}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-sender{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.message-bubble.sent .message-sender{text-align:right}.message-bubble.received .message-sender{text-align:left}.message-content{background:#f1f5f9;border-radius:var(--radius-lg);padding:10px 14px;border-left:3px solid var(--color-primary)}.message-bubble.sent .message-content{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);color:#fff;border-left:none}.message-content p{margin:0;font-size:var(--font-size-body);line-height:1.4}.canned-message{font-style:italic}.message-time{font-size:var(--font-size-xs);color:var(--color-text-faint);margin-top:4px}.message-bubble.sent .message-time{text-align:right}.loading,.error{display:flex;align-items:center;justify-content:center;min-height:300px;background:var(--color-bg-card);border-radius:18px;border:1px solid var(--color-border);padding:24px;text-align:center;color:var(--color-text-secondary)}.error{color:#dc2626}@media(max-width:960px){.messages-layout{grid-template-columns:1fr}.messages-list{border-right:none;border-bottom:1px solid var(--color-border);max-height:200px}.messages-header{flex-direction:column;align-items:stretch}.messages-header .primary-button{width:100%}.thread-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:8px}.thread-item{border-bottom:none;border-radius:var(--radius-md);border:1px solid var(--color-border);flex-direction:column;padding:8px;text-align:center}.thread-item:hover{background:#ede9fe}.thread-item.active{background:#c7d2fe}.thread-date{display:none}.thread-meta{align-items:center}}@media(max-width:640px){.messages-layout{grid-template-columns:1fr;gap:0;border-radius:var(--radius-lg)}.messages-list{border-bottom:1px solid var(--color-border)}.message-bubble{max-width:90%}.message-bubble.sent{margin-left:10%}.message-bubble.received{margin-right:10%}}.sms-optin-form{min-height:400px;display:flex;justify-content:center;align-items:center;padding:2rem}.sms-optin-form.loading{min-height:200px}.spinner{width:50px;height:50px;border:4px solid rgba(var(--shadow-color-black),.1);border-left-color:#007bff;border-radius:50%;animation:spin 1s linear infinite}.sms-optin-form.error{color:#dc3545;text-align:center}.compliance-warning{background-color:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius-xs);padding:1rem;margin-bottom:1.5rem;color:#856404}.compliance-warning strong{display:block;margin-bottom:.5rem}.compliance-warning ul{margin:.5rem 0 0 1.5rem;padding:0}.optin-card{background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:0 2px 8px rgba(var(--shadow-color-black),.1);padding:2rem;max-width:500px;width:100%;text-align:center}.sms-optin-form.embedded .optin-card{box-shadow:none;padding:1rem}.optin-logo{max-width:200px;height:auto;margin-bottom:1.5rem}.optin-title{font-size:1.75rem;font-weight:var(--font-weight-semibold);margin-bottom:1rem;color:inherit}.optin-description{font-size:var(--font-size-base);line-height:1.5;margin-bottom:1.5rem;color:inherit}.mode-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.mode-button{flex:1;padding:.5rem .75rem;border:1px solid #ced4da;background:var(--color-bg-card);color:#495057;border-radius:var(--radius-xs);font-size:var(--font-size-body);cursor:pointer}.mode-button.active{border-color:#007bff;color:#007bff;font-weight:var(--font-weight-semibold)}.optin-terms{font-size:var(--font-size-sm);line-height:1.4;margin-bottom:1.5rem;color:#6c757d}.message-frequency{font-weight:var(--font-weight-medium)}.optin-form{margin-bottom:1rem}.input-group{display:flex;gap:.5rem;margin-bottom:.5rem}.phone-input{flex:1;padding:.75rem 1rem;font-size:var(--font-size-base);border:1px solid #ced4da;border-radius:var(--radius-xs);transition:border-color .15s ease-in-out}.phone-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.phone-input:disabled{background-color:#e9ecef;cursor:not-allowed}.submit-button{padding:.75rem 1.5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:#fff;background-color:#007bff;border:none;border-radius:var(--radius-xs);cursor:pointer;transition:background-color .15s ease-in-out;white-space:nowrap}.submit-button:hover:not(:disabled){background-color:#0056b3}.submit-button:disabled{background-color:#6c757d;cursor:not-allowed}.error-message{color:#dc3545;font-size:var(--font-size-sm);margin-top:.5rem;text-align:left}.consent-row{display:flex;align-items:flex-start;gap:.5rem;text-align:left;font-size:var(--font-size-sm);color:#495057;margin-top:.75rem;margin-bottom:.5rem}.consent-row input{margin-top:.2rem}.success-message{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:var(--radius-xs);padding:1rem;color:#155724;margin-bottom:1rem}.success-message p{margin:.5rem 0}.success-message .small{font-size:var(--font-size-sm)}.optin-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border-subtle);font-size:var(--font-size-sm)}.optin-footer a{color:#007bff;text-decoration:none}.optin-footer a:hover{text-decoration:underline}@media(max-width:768px){.sms-optin-form{padding:1rem}.optin-card{padding:1.5rem}.input-group{flex-direction:column}.submit-button{width:100%}.mode-toggle{flex-direction:column}.optin-title{font-size:var(--font-size-xl)}}.sms-optin-admin{max-width:1200px;margin:0 auto;padding:2rem}.admin-header{margin-bottom:2rem}.admin-header h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);margin-bottom:.5rem;color:#212529}.subtitle{color:#6c757d;font-size:var(--font-size-base)}.admin-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background:var(--color-bg-page-alt);border-radius:var(--radius-md)}.filter-group{display:flex;align-items:center;gap:.75rem}.filter-group label{font-weight:var(--font-weight-medium);color:#495057}.filter-select{padding:.5rem 1rem;border:1px solid #ced4da;border-radius:var(--radius-xs);font-size:var(--font-size-base);background:var(--color-bg-card);cursor:pointer}.filter-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.refresh-button{padding:.5rem 1.5rem;background:#007bff;color:#fff;border:none;border-radius:var(--radius-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .15s}.refresh-button:hover{background:#0056b3}.loading-state,.error-state{text-align:center;padding:3rem}.spinner{width:50px;height:50px;border:4px solid rgba(var(--shadow-color-black),.1);border-left-color:#007bff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-state{color:#dc3545}.retry-button{margin-top:1rem;padding:.5rem 1.5rem;background:#dc3545;color:#fff;border:none;border-radius:var(--radius-xs);font-weight:var(--font-weight-medium);cursor:pointer}.retry-button:hover{background:#c82333}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:1.5rem;text-align:center}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:#007bff;margin-bottom:.5rem}.stat-label{font-size:var(--font-size-sm);color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.table-container{background:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.optin-table{width:100%;border-collapse:collapse}.optin-table thead{background:var(--color-bg-page-alt)}.optin-table th{padding:1rem;text-align:left;font-weight:var(--font-weight-semibold);color:#495057;border-bottom:2px solid var(--color-border-subtle)}.optin-table td{padding:1rem;border-bottom:1px solid var(--color-border-subtle)}.optin-table tbody tr:hover{background:var(--color-bg-page-alt)}.optin-table tbody tr:last-child td{border-bottom:none}.phone-cell{font-family:Courier New,monospace;font-weight:var(--font-weight-medium)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:capitalize}.status-active{background:#d4edda;color:#155724}.status-pending{background:#fff3cd;color:#856404}.status-stopped{background:#f8d7da;color:#721c24}.empty-state{text-align:center;padding:3rem!important;color:#6c757d;font-style:italic}@media(max-width:768px){.sms-optin-admin{padding:1rem}.admin-controls{flex-direction:column;gap:1rem;align-items:stretch}.filter-group{flex-direction:column;align-items:stretch}.stats-row{grid-template-columns:repeat(2,1fr)}.table-container{overflow-x:auto}.optin-table{font-size:var(--font-size-sm)}.optin-table th,.optin-table td{padding:.75rem .5rem}}.safety-dashboard{min-height:100vh;background:var(--color-bg-page);padding:2rem 1rem}.safety-challenge-wrap{min-height:100vh;background:linear-gradient(135deg,#0f1a2e,#1a2b4a,#0f1a2e);display:flex;align-items:center;justify-content:center;padding:2rem}.safety-challenge-card{background:#fdfaf5;border-radius:16px;padding:2.5rem 2rem;max-width:440px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;align-items:center;gap:1rem}.safety-challenge-heading{font-size:1.5rem;font-weight:700;color:#0f1a2e;margin:0}.safety-challenge-body{font-size:.95rem;color:#5b6470;margin:0;line-height:1.6}.safety-challenge-form{width:100%;display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;text-align:left}.safety-challenge-label{font-size:.875rem;font-weight:600;color:#0f1a2e}.safety-challenge-input{width:100%;padding:.75rem 1rem;border:1px solid #e8e0d0;border-radius:8px;font-size:1rem;background:#fff;color:#0f1a2e;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.safety-challenge-input:focus{outline:none;border-color:#c9a96a;box-shadow:0 0 0 3px #c9a96a33}.safety-challenge-error{font-size:.875rem;color:#dc2626;margin:0}.safety-challenge-btn{padding:.875rem 1.5rem;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;font-weight:700;font-size:1rem;border:none;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:.25rem}.safety-challenge-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #c9a96a59}.safety-challenge-btn:disabled{opacity:.55;cursor:not-allowed}.safety-dashboard-content{max-width:1100px;margin:0 auto}.safety-header{text-align:center;margin-bottom:2rem}.safety-header-icon{font-size:2.5rem;margin-bottom:.5rem}.safety-header h1{font-size:1.75rem;color:var(--color-text-primary);margin:0 0 .5rem}.safety-subtitle{color:var(--color-text-muted);font-size:var(--font-size-base);margin:0}.safety-cta{background:var(--color-success-light);border:1px solid #a7f3d0;border-radius:var(--radius-md);padding:1rem 1.5rem;margin-bottom:2rem;text-align:center;font-size:var(--font-size-body);color:var(--color-success-dark)}.safety-cta a{color:var(--color-success-hover);font-weight:var(--font-weight-semibold);text-decoration:underline}.loading-text{text-align:center;padding:3rem 0;color:var(--color-text-muted)}.error-banner{background:var(--color-error-light);border:1px solid #fecaca;color:var(--color-error-hover);padding:1rem;border-radius:var(--radius-md);text-align:center}.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-faint);font-size:var(--font-size-base)}.table-wrapper{overflow-x:auto;background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:0 1px 3px rgba(var(--shadow-color-black),.08)}.safety-table{width:100%;border-collapse:collapse;font-size:var(--font-size-body)}.safety-table th,.safety-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.safety-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);background:var(--color-bg-page)}.table-primary{margin:0;font-weight:var(--font-weight-semibold)}.next-step-cell{max-width:180px;font-size:.9rem;color:var(--color-text-secondary)}.status-pill{padding:4px 10px;border-radius:var(--radius-full);font-size:.8rem;font-weight:var(--font-weight-semibold);display:inline-flex;white-space:nowrap}.status-invite,.status-respond{background:#fef3c7;color:#b45309}.status-suggest,.status-select{background:#e0f2fe;color:#0369a1}.status-communicate{background:#dcfce7;color:#15803d}.status-enjoy{background:#ede9fe;color:#7c3aed}.status-how-did-it-go{background:#f3f4f6;color:#6b7280}.view-photos-btn{background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;border:none;padding:6px 14px;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;white-space:nowrap}.view-photos-btn:hover{background:linear-gradient(135deg,#b8934a,#9e7936)}.no-photos{color:var(--color-text-faint);font-size:.85rem}.photo-gallery{margin-top:1.5rem;background:var(--color-bg-card);border-radius:var(--radius-md);padding:1.5rem;box-shadow:0 1px 3px rgba(var(--shadow-color-black),.08)}.photo-gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.photo-gallery-header h3{margin:0;color:var(--color-text-primary)}.close-gallery{background:none;border:1px solid var(--color-border);padding:4px 12px;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-muted)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.photo-item{width:100%;border-radius:var(--radius-md);object-fit:cover;aspect-ratio:1}.checkins-section{margin-top:1.5rem;background:var(--color-bg-card);border-radius:var(--radius-md);padding:1.5rem;box-shadow:0 1px 3px rgba(var(--shadow-color-black),.08)}.checkins-section h3{margin:0 0 1rem;color:var(--color-text-primary)}.checkin-item{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid #f1f5f9}.checkin-item:last-child{border-bottom:none}.checkin-type{background:var(--color-success-light);color:var(--color-success-dark);padding:2px 8px;border-radius:var(--radius-xs);font-size:.8rem;font-weight:var(--font-weight-semibold);text-transform:capitalize}.checkin-message{flex:1;color:var(--color-text-secondary)}.checkin-time{color:var(--color-text-faint);font-size:.85rem;white-space:nowrap}@media(max-width:768px){.safety-dashboard{padding:1rem .5rem}.safety-table th:nth-child(n+5),.safety-table td:nth-child(n+5){display:none}.safety-table th,.safety-table td{padding:10px 6px;font-size:.85rem}}.onboarding-page{min-height:100vh;background:linear-gradient(135deg,#faf7f0,#f5f2eb,#f5f0e6);display:flex;justify-content:center;padding:24px}.onboarding-container{width:100%;max-width:720px;display:flex;flex-direction:column;gap:24px}.onboarding-header{display:flex;justify-content:space-between;align-items:center}.onboarding-brand{font-size:1.2rem;font-weight:800;color:var(--color-primary-hover);text-decoration:none;letter-spacing:-.5px}.onboarding-skip{color:var(--color-text-muted);text-decoration:none;font-size:.9rem;font-weight:var(--font-weight-semibold);padding:8px 16px;border-radius:var(--radius-md);transition:all var(--transition-base)}.onboarding-skip:hover{background:#64748b1a;color:var(--color-text-secondary)}.onboarding-progress{display:flex;align-items:center;gap:12px}.progress-bar{flex:1;height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#c9a96a,#b8934a);border-radius:var(--radius-full);transition:width .4s ease}.progress-text{font-size:.8rem;color:var(--color-text-faint);font-weight:var(--font-weight-semibold);white-space:nowrap}.onboarding-steps{display:flex;gap:4px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.onboarding-steps::-webkit-scrollbar{display:none}.step-indicator{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-full);background:#f1f5f9;white-space:nowrap;font-size:.78rem;color:var(--color-text-faint);transition:all var(--transition-slow);flex-shrink:0}.step-indicator.active{background:#e0e7ff;color:var(--color-primary-hover);font-weight:var(--font-weight-semibold)}.step-indicator.completed{background:var(--color-success-light);color:var(--color-success-hover)}.step-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:var(--font-weight-bold);background:var(--color-border);color:var(--color-text-faint);flex-shrink:0}.step-indicator.active .step-dot{background:var(--color-primary-hover);color:#fff}.step-indicator.completed .step-dot{background:var(--color-success-hover);color:#fff}.step-label{display:none}@media(min-width:640px){.step-label{display:inline}}.onboarding-error{padding:12px 16px;background:var(--color-error-light);color:var(--color-error-hover);border-radius:var(--radius-lg);font-size:.9rem;border:1px solid #fecaca}.onboarding-content{background:var(--color-bg-card);border-radius:var(--radius-2xl);border:1px solid var(--color-border);box-shadow:0 8px 24px rgba(var(--shadow-color),.06);padding:32px}.step-panel{display:grid;gap:20px}.step-title{margin:0;font-size:var(--font-size-xl);font-weight:800;color:var(--color-text-primary);letter-spacing:-.5px}.step-description{margin:0;font-size:var(--font-size-body);color:var(--color-text-muted);line-height:1.5}.form-hint{margin:0;font-size:.8rem;color:var(--color-text-faint)}.step-complete{text-align:center;padding:24px 0}.complete-icon{font-size:3rem;margin-bottom:8px}.primary-action-button{padding:14px 32px;border-radius:14px;border:none;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;font-weight:var(--font-weight-bold);font-size:1.05rem;cursor:pointer;transition:all var(--transition-base);box-shadow:0 8px 24px #c9a96a4d}.primary-action-button:hover{transform:translateY(-2px);box-shadow:0 12px 32px #c9a96a66}.secondary-link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-body)}.secondary-link:hover{text-decoration:underline}.onboarding-actions{display:flex;justify-content:space-between;gap:12px}.back-button{padding:12px 24px;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:#fff;color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-body);cursor:pointer;transition:all var(--transition-base)}.back-button:hover:not(:disabled){background:var(--color-bg-page);border-color:var(--color-border-strong)}.next-button{padding:12px 32px;border-radius:var(--radius-lg);border:none;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;font-weight:var(--font-weight-bold);font-size:var(--font-size-body);cursor:pointer;transition:all var(--transition-base);margin-left:auto;box-shadow:0 4px 14px #c9a96a4d}.next-button:hover:not(:disabled){background:linear-gradient(135deg,#b8934a,#9e7936);transform:translateY(-1px);box-shadow:0 8px 20px #c9a96a66}.next-button:disabled,.back-button:disabled{opacity:.6;cursor:not-allowed}.onboarding-content .activity-preferences{display:grid;gap:20px}.onboarding-content .activity-category{display:grid;gap:8px}.onboarding-content .activity-category-title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-slate);padding-bottom:4px;border-bottom:1px solid var(--color-border)}.onboarding-content .activity-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;gap:12px}.onboarding-content .activity-name{font-size:.9rem;color:var(--color-text-secondary)}.onboarding-content .preference-buttons{display:flex;gap:6px;flex-shrink:0}.onboarding-content .preference-btn{padding:5px 10px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-page);color:var(--color-text-muted);font-size:.78rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.onboarding-content .preference-btn:hover{border-color:var(--color-border-strong);background:#f1f5f9}.onboarding-content .preference-btn.active.like{background:var(--color-success-light);border-color:var(--color-success-hover);color:var(--color-success-hover)}.onboarding-content .preference-btn.active.would{background:#eff6ff;border-color:#c9a96a;color:#9e7936}.onboarding-content .preference-btn.active.wont{background:var(--color-error-light);border-color:var(--color-error-hover);color:var(--color-error-hover)}.onboarding-content .checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.onboarding-content .checkbox-label{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-default);background:var(--color-bg-page);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);font-size:.9rem;color:var(--color-text-slate)}.onboarding-content .checkbox-label:hover{border-color:var(--color-primary);background:#f0f0ff}.onboarding-content .radio-group{display:grid;gap:10px}.onboarding-content .radio-label{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:var(--radius-lg);background:var(--color-bg-page);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-body);color:var(--color-text-slate)}.onboarding-content .radio-label:hover{border-color:var(--color-primary);background:#f0f0ff}.onboarding-content .safety-contact-card{padding:18px 20px;border-radius:14px;background:var(--color-bg-page);border:1px solid var(--color-border);display:grid;gap:14px}@media(max-width:639px){.onboarding-content{padding:24px 18px}.step-title{font-size:1.25rem}.onboarding-content .activity-item{flex-direction:column;align-items:flex-start}.onboarding-content .preference-btn{padding:4px 8px;font-size:.72rem}}.message-deeplink-page{min-height:100vh;background:linear-gradient(135deg,#0f1a2e,#1a2b4a,#0f1a2e);display:flex;align-items:center;justify-content:center;padding:2rem}.message-deeplink-card{background:#fdfaf5;border-radius:16px;padding:2.5rem 2rem;max-width:440px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;align-items:center;gap:1rem}.message-deeplink-icon{font-size:3rem;line-height:1}.message-deeplink-heading{font-size:1.5rem;font-weight:700;color:#0f1a2e;margin:0}.message-deeplink-body{font-size:1rem;color:#5b6470;margin:0;line-height:1.6}.message-deeplink-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;margin-top:.5rem}.message-deeplink-btn-primary{display:block;padding:.875rem 1.5rem;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;font-weight:700;font-size:1rem;border-radius:8px;text-decoration:none;text-align:center;transition:transform .2s,box-shadow .2s}.message-deeplink-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #c9a96a59}.message-deeplink-btn-secondary{display:block;padding:.875rem 1.5rem;background:transparent;color:#c9a96a;font-weight:600;font-size:1rem;border:2px solid #C9A96A;border-radius:8px;text-decoration:none;text-align:center;transition:background .2s,color .2s}.message-deeplink-btn-secondary:hover{background:#c9a96a;color:#0f1a2e}.message-deeplink-note{font-size:.8rem;color:#9ca3af;margin:0}.message-deeplink-spinner{width:40px;height:40px;border:3px solid #e8e0d0;border-top-color:#c9a96a;border-radius:50%;animation:deeplink-spin .8s linear infinite}@keyframes deeplink-spin{to{transform:rotate(360deg)}}.upgrade-banner{max-width:860px;border-radius:8px;padding:.85rem 1.25rem;font-size:.9rem;font-weight:500;margin-bottom:1rem}.upgrade-banner--success{background:#d4ede9;color:#2f6f64;border:1px solid #a7d4ce}.upgrade-banner--info{background:#faf0dc;color:#9e7936;border:1px solid #e8d5a0}.upgrade-banner--error{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5}.upgrade-table-wrap{padding:0 1.25rem 1.25rem;overflow-x:auto}.upgrade-table{width:100%;border-collapse:collapse;font-size:.9rem}.upgrade-table th,.upgrade-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid #e8e0d0}.upgrade-table thead tr{background:#f5f2eb}.upgrade-table th{font-weight:700;color:#0f1a2e;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.upgrade-table-th--premium{color:#c9a96a!important}.upgrade-table td:first-child{color:#334155;font-weight:500}.upgrade-table-td--locked{color:#94a3b8}.upgrade-table-td--premium{color:#2f6f64;font-weight:600}.upgrade-table tbody tr:hover{background:#fdfaf5}.upgrade-plan-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.upgrade-plan-card{position:relative;display:flex;flex-direction:column;gap:.25rem;padding:1.5rem 1.25rem;border:2px solid #e8e0d0;border-radius:12px;background:#fdfaf5;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s,background .15s}.upgrade-plan-card:hover{border-color:#c9a96a;background:#faf7f0}.upgrade-plan-card--active{border-color:#c9a96a;background:linear-gradient(135deg,#fefcf5,#faf4e8);box-shadow:0 0 0 3px #c9a96a2e}.upgrade-plan-card__label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#9e7936}.upgrade-plan-card__price{font-size:1.6rem;font-weight:800;color:#0f1a2e;line-height:1.1}.upgrade-plan-card__desc{font-size:.82rem;color:#64748b;margin-top:.15rem}.upgrade-plan-card__badge{display:inline-block;margin-top:.5rem;padding:.2rem .6rem;background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e;font-size:.72rem;font-weight:700;border-radius:20px;text-transform:uppercase;letter-spacing:.05em;width:fit-content}.upgrade-pay-group{display:flex;flex-direction:column;gap:.75rem;max-width:420px}.upgrade-pay-btn{display:block;width:100%;padding:.9rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;text-align:center}.upgrade-pay-btn:disabled{opacity:.65;cursor:not-allowed;transform:none!important}.upgrade-pay-btn--stripe{background:linear-gradient(135deg,#c9a96a,#b8934a);color:#0f1a2e}.upgrade-pay-btn--stripe:not(:disabled):hover{background:linear-gradient(135deg,#b8934a,#9e7936);transform:translateY(-1px);box-shadow:0 6px 16px #c9a96a59}.upgrade-pay-btn--paypal{background:#003087;color:#fff}.upgrade-pay-btn--paypal:not(:disabled):hover{background:#001f5a;transform:translateY(-1px);box-shadow:0 6px 16px #0030874d}.upgrade-divider{display:flex;align-items:center;color:#94a3b8;font-size:.8rem;gap:.75rem}.upgrade-divider:before,.upgrade-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.upgrade-legal{margin-top:1.25rem;font-size:.78rem;color:#94a3b8;max-width:420px;line-height:1.5}:root{--color-navy: #0F1A2E;--color-navy-mid: #1a2b4a;--color-gold: #C9A96A;--color-gold-hover: #b8934a;--color-gold-active: #9e7936;--color-ivory: #F5F2EB;--color-ivory-card: #FDFAF5;--color-slate: #5B6470;--color-rose: #B86A72;--color-emerald: #2F6F64;--color-emerald-hover: #256058;--color-primary: #C9A96A;--color-primary-hover: #b8934a;--color-primary-active: #9e7936;--color-primary-light: #f9f5eb;--color-primary-subtle: #faf7f0;--color-success: #2F6F64;--color-success-hover: #256058;--color-success-dark: #1a4a41;--color-success-light: #e6f4f1;--color-error: #ef4444;--color-error-hover: #dc2626;--color-error-light: #fef2f2;--color-warning: #b8934a;--color-warning-hover: #9e7936;--color-warning-light: #faf5eb;--color-info: #1a2b4a;--color-info-hover: #0F1A2E;--color-info-light: #eef2f8;--color-text-primary: #0F1A2E;--color-text-secondary: #5B6470;--color-text-muted: #5B6470;--color-text-faint: #8a939d;--color-text-dark-alt: #0F1A2E;--color-text-slate: #5B6470;--color-bg-body: #0F1A2E;--color-bg-body-end: #0F1A2E;--color-bg-page: #F5F2EB;--color-bg-page-alt: #F5F2EB;--color-bg-card: #FDFAF5;--color-border: #e8e0d0;--color-border-strong: #d4c8b0;--color-border-subtle: #e8e0d0;--shadow-color: 15, 26, 46;--shadow-color-black: 0, 0, 0;--shadow-color-primary: 201, 169, 106;--font-primary: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-body: .95rem;--font-size-base: 1rem;--font-size-md: 1.1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.75rem;--font-size-3xl: 2rem;--font-size-4xl: 3rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--spacing-xxs: .25rem;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-default: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 999px;--shadow-sm: 0 1px 3px rgba(var(--shadow-color), .06);--shadow-md: 0 4px 12px rgba(var(--shadow-color), .08);--shadow-lg: 0 8px 24px rgba(var(--shadow-color), .06);--shadow-xl: 0 12px 28px rgba(var(--shadow-color), .1);--shadow-primary: 0 8px 20px rgba(var(--shadow-color-primary), .25);--shadow-primary-hover: 0 10px 30px rgba(var(--shadow-color-primary), .35);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--container-sm: 500px;--container-md: 700px;--container-lg: 960px;--container-xl: 1200px;--gradient-primary: linear-gradient(135deg, #C9A96A, #b8934a);--gradient-primary-dark: linear-gradient(135deg, #b8934a, #9e7936);--gradient-body: linear-gradient(135deg, #0F1A2E 0%, #1a2b4a 100%);font-family:var(--font-primary);line-height:1.5;font-weight:var(--font-weight-regular);color:var(--color-text-primary);background-color:var(--color-bg-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 20%,#1a2b4a 0,transparent 40%),radial-gradient(circle at 90% 10%,#243550 0,transparent 30%),var(--gradient-body);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-md)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}#root{width:min(var(--container-lg),100%)}
