:root{--elf-forest-green: #4a5d35;--workshop-dusty-blue: #5B7C8D;--warm-earth-tan: #D4A574;--burgundy-accent: #7F1D1D;--artisan-wood-brown: #6B4423;--parchment-cream: #F5EBD7;--success-warm-gold: #D4AF37;--alert-soft-red: #C85A54;--text-dark-soil: #3E3227;--text-medium-gray: #6B6B6B;--stone-50: #fafaf9;--stone-100: #f5f5f4;--stone-200: #e7e5e4;--stone-300: #d6d3d1;--stone-400: #a8a29e;--stone-500: #78716c;--stone-600: #57534e;--stone-700: #44403c;--stone-800: #292524;--stone-900: #1c1917;--emerald-100: #d1fae5;--emerald-600: #059669;--sky-100: #e0f2fe;--sky-600: #0284c7;--amber-100: #fef3c7;--amber-600: #d97706;--red-100: #fee2e2;--red-200: #fecaca;--red-600: #dc2626;--red-700: #b91c1c;--red-800: #991b1b;--cabin-dark-brown: #2A1E17;--cabin-card-brown: #382A22;--cabin-icon-green: #1dd1a1;--cabin-icon-brown: #4D3B31;--snow-white: #FFFFFF;--border-grey: #E1E4E8;--background-light: var(--parchment-cream);--primary: var(--elf-forest-green);--secondary: var(--workshop-dusty-blue);--accent: var(--burgundy-accent);--danger: var(--alert-soft-red);--success: var(--success-warm-gold);--warning: var(--warm-earth-tan);--info: var(--workshop-dusty-blue);--text-primary: var(--text-dark-soil);--text-secondary: var(--text-medium-gray);--light-bg: var(--parchment-cream);--light-card-bg: rgba(255, 255, 255, .7);--light-card-bg-solid: var(--snow-white);--light-card-border: var(--stone-200);--light-card-muted: rgba(231, 229, 228, .3);--light-header-bg: var(--elf-forest-green);--light-text: var(--stone-800);--light-text-muted: var(--stone-500);--light-text-dark: var(--stone-900);--light-btn-primary: var(--elf-forest-green);--dark-bg: var(--cabin-dark-brown);--dark-card-bg: var(--cabin-card-brown);--dark-card-border: var(--cabin-icon-brown);--dark-header-bg: var(--cabin-card-brown);--dark-text: var(--parchment-cream);--dark-text-muted: var(--warm-earth-tan);--dark-accent: var(--cabin-icon-green);--font-display: "Merriweather", "Georgia", "Times New Roman", serif;--font-body: "Lato", "Segoe UI", "Tahoma", sans-serif;--font-primary: var(--font-display);--font-secondary: var(--font-body);--font-decorative: var(--font-display);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-round: 50%;--shadow-sm: 0 2px 4px rgba(47, 82, 51, .1);--shadow-md: 0 4px 8px rgba(47, 82, 51, .15);--shadow-lg: 0 8px 16px rgba(47, 82, 51, .2);--shadow-xl: 0 12px 24px rgba(47, 82, 51, .25);--transition-fast: .15s ease-in-out;--transition-base: .3s ease-in-out;--transition-slow: .5s ease-in-out;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-tooltip: 500}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text-primary);background-color:var(--parchment-cream);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--elf-forest-green);margin-bottom:var(--spacing-md);line-height:1.3;font-weight:700}h1{font-size:2rem;font-weight:700}h2{font-size:1.75rem;font-weight:600}h3{font-size:1.25rem;font-weight:600}h4{font-size:1.1rem;font-weight:500}a{color:var(--workshop-dusty-blue);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--elf-forest-green);text-decoration:underline}.btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-family:var(--font-body);font-size:1rem;font-weight:500;border:2px solid transparent;cursor:pointer;transition:all var(--transition-base);display:inline-block;text-align:center;text-decoration:none;line-height:1.5}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--burgundy-accent);color:var(--parchment-cream);border-color:var(--burgundy-accent);border-bottom-width:4px}.btn-primary:hover:not(:disabled){background-color:#722f2f;border-color:#722f2f;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--workshop-dusty-blue);color:var(--snow-white);border-color:var(--workshop-dusty-blue)}.btn-secondary:hover:not(:disabled){background-color:#4a6675;border-color:#4a6675;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-accent{background-color:var(--warm-earth-tan);color:var(--charcoal-grey);border-color:var(--warm-earth-tan)}.btn-accent:hover:not(:disabled){background-color:#c19660;border-color:#c19660;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background-color:transparent;color:var(--elf-forest-green);border-color:var(--elf-forest-green)}.btn-outline:hover:not(:disabled){background-color:var(--elf-forest-green);color:var(--snow-white)}.btn-danger{background-color:var(--burgundy-accent);color:var(--snow-white);border-color:var(--burgundy-accent)}.btn-danger:hover:not(:disabled){background-color:#722f2f;border-color:#722f2f}.btn-action{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast);font-family:var(--font-body);color:var(--snow-white)}.btn-action:hover:not(:disabled){opacity:.9}.btn-action:disabled{opacity:.6;cursor:not-allowed}.btn-action.btn-green{background:var(--elf-forest-green)}.btn-action.btn-red{background:var(--red-700)}.btn-action.btn-yellow{background:var(--amber-100);color:var(--amber-600);border:1px solid var(--amber-600)}.btn-action.btn-yellow:hover:not(:disabled){background:var(--amber-100);opacity:.8}.btn-action.btn-full-width{width:100%;padding:var(--spacing-md);font-size:1rem;margin:var(--spacing-md) 0}.card{background-color:var(--warm-earth-tan);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base);border:2px solid var(--artisan-wood-brown)}.card:hover{box-shadow:var(--shadow-md)}.card-header{border-bottom:2px solid var(--warm-earth-tan);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--elf-forest-green);font-family:var(--font-display)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--text-medium-gray);border-radius:var(--radius-md);font-family:var(--font-body);font-size:1rem;background-color:var(--parchment-cream);color:var(--text-dark-soil);transition:border-color var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--text-dark-soil);box-shadow:0 0 0 3px #3e32271a}.form-textarea{min-height:100px;resize:vertical}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.p-1{padding:var(--spacing-sm)}.p-2{padding:var(--spacing-md)}.p-3{padding:var(--spacing-lg)}.p-4{padding:var(--spacing-xl)}.elf-border{border:3px solid var(--warm-earth-tan);border-radius:var(--radius-lg);position:relative}.elf-border:before{content:"";position:absolute;inset:-6px;border:1px solid var(--workshop-dusty-blue);border-radius:calc(var(--radius-lg) + 3px);z-index:-1}.spinner{width:40px;height:40px;border:4px solid var(--parchment-cream);border-top:4px solid var(--elf-forest-green);border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.1rem}h4{font-size:1rem}}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}a{font-weight:500;color:#667eea;text-decoration:inherit}a:hover{color:#764ba2}h1{line-height:1.2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#667eea;color:#fff;cursor:pointer;transition:all .25s}button:hover{background-color:#5a6fd4;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}button:active{transform:translateY(0)}button:focus,button:focus-visible{outline:2px solid #667eea;outline-offset:2px}ul{list-style-type:none}li:before{content:"✨ ";position:absolute;left:-1.5rem}.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:var(--spacing-xl);background:var(--parchment-cream);position:relative}.auth-container:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 10% 20%,rgba(245,235,215,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(212,165,116,.1) 0%,transparent 50%),radial-gradient(circle at 40% 60%,rgba(91,124,141,.1) 0%,transparent 50%);pointer-events:none}.auth-card{background:var(--warm-earth-tan);border-radius:var(--radius-lg);padding:var(--spacing-xl);max-width:480px;width:100%;box-shadow:var(--shadow-xl);border:3px solid var(--artisan-wood-brown);position:relative;z-index:1}.auth-card:before,.auth-card:after{content:"✨";position:absolute;font-size:1.5rem}.auth-card:before{top:-12px;left:-12px}.auth-card:after{bottom:-12px;right:-12px}.auth-card h2{color:var(--elf-forest-green);margin-bottom:var(--spacing-sm);font-size:2rem;font-family:var(--font-primary);text-align:center}.auth-subtitle{color:var(--text-medium-gray);margin-bottom:var(--spacing-xl);text-align:center;font-family:var(--font-secondary)}.auth-form{margin-top:var(--spacing-xl)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);color:var(--elf-forest-green);font-weight:500;font-size:.9rem;font-family:var(--font-primary)}.form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--text-medium-gray);border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition-fast);font-family:var(--font-secondary);background-color:var(--parchment-cream);color:var(--text-dark-soil)}.form-group input:focus{outline:none;border-color:var(--text-dark-soil);box-shadow:0 0 0 3px #3e32271a;background-color:var(--parchment-cream)}.form-group input.input-readonly{background-color:#e9ecef;cursor:not-allowed;opacity:.8}.form-group .field-hint{display:block;margin-top:var(--spacing-xs);color:var(--workshop-dusty-blue);font-size:.85rem;font-style:italic}.error-message{background:#8b3a3a1a;color:var(--burgundy-accent);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:.9rem;border:1px solid var(--burgundy-accent);font-family:var(--font-secondary)}.auth-button{width:100%;padding:var(--spacing-md);background:var(--burgundy-accent);color:var(--parchment-cream);border:none;border-radius:var(--radius-md);border-bottom:4px solid #722F2F;font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);margin-top:var(--spacing-sm);font-family:var(--font-secondary);position:relative;overflow:hidden}.auth-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .5s,height .5s}.auth-button:hover:before{width:300px;height:300px}.auth-button:hover:not(:disabled){background:#722f2f;transform:translateY(-1px);box-shadow:var(--shadow-md)}.auth-button:disabled{opacity:.7;cursor:not-allowed;background:var(--light-grey)}.forgot-password{text-align:center;margin-top:var(--spacing-md);font-size:.9rem;font-family:var(--font-secondary)}.forgot-password a{color:var(--workshop-dusty-blue);text-decoration:none}.forgot-password a:hover{text-decoration:underline}.forgot-password .coming-soon{color:var(--light-grey);font-size:.85rem;font-style:italic}.auth-footer{text-align:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:2px solid var(--artisan-wood-brown);color:var(--text-medium-gray);font-family:var(--font-secondary)}.auth-footer a{color:var(--workshop-dusty-blue);font-weight:600;text-decoration:none}.auth-footer a:hover{color:var(--elf-forest-green);text-decoration:underline}.auth-back-link{display:inline-block;margin-bottom:var(--spacing-lg);color:var(--workshop-dusty-blue);text-decoration:none;font-family:var(--font-secondary);transition:all var(--transition-fast)}.auth-back-link:hover{color:var(--elf-forest-green);transform:translate(-4px)}.auth-back-link:before{content:"← ";margin-right:var(--spacing-xs)}@media(max-width:768px){.auth-container{padding:var(--spacing-md)}.auth-card{padding:var(--spacing-lg)}.auth-card h2{font-size:1.5rem}.form-row{grid-template-columns:1fr}.auth-card:before,.auth-card:after{display:none}}.app-nav{background-color:var(--parchment-cream);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a;position:relative;border-bottom:2px solid var(--warm-earth-tan)}.nav-logo{height:50px;width:auto;display:block;transition:transform .2s ease}.nav-brand:hover .nav-logo{transform:scale(1.05)}.nav-right{display:flex;align-items:center;gap:1rem;position:relative}.nav-user{color:var(--text-dark-soil);font-size:.95rem;font-weight:500}.hamburger-menu{background:transparent;border:none;cursor:pointer;padding:.5rem;display:flex;flex-direction:column;gap:4px;width:30px;height:30px;justify-content:center}.hamburger-line{width:100%;height:3px;background-color:var(--cabin-dark-brown);border-radius:2px;transition:all .3s ease}.hamburger-menu:hover .hamburger-line{background-color:var(--burgundy-accent)}.nav-dropdown{position:absolute;top:100%;right:0;margin-top:1rem;background-color:var(--parchment-cream);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:2px solid var(--warm-earth-tan);min-width:160px;display:none;flex-direction:column;overflow:hidden;z-index:1000}.nav-dropdown.open{display:flex}.nav-item{background:none;border:none;padding:.75rem 1.25rem;text-align:left;font-size:.95rem;cursor:pointer;color:var(--text-dark-soil);transition:background-color var(--transition-fast);border-bottom:1px solid var(--warm-earth-tan);font-family:var(--font-body)}.nav-item:last-child{border-bottom:none}.nav-item:hover{background-color:var(--warm-earth-tan);color:var(--elf-forest-green)}.nav-item.logout{color:var(--burgundy-accent);font-weight:500}.nav-item.logout:hover{background-color:var(--alert-soft-red);color:var(--parchment-cream)}.profile-check{color:var(--emerald-600);font-weight:700;margin-left:.5rem}.dashboard-container{min-height:100vh;background:var(--light-bg);padding:var(--spacing-lg)}.dashboard-content{max-width:600px;margin:0 auto}.dashboard-header{margin-bottom:var(--spacing-lg)}.dashboard-header h2{font-family:var(--font-display);font-size:2rem;color:var(--elf-forest-green);margin:0}.dashboard-grid{display:flex;flex-direction:column;gap:var(--spacing-lg)}.dashboard-card{background:var(--light-card-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--light-card-border)}.dashboard-card h3{font-size:1rem;font-weight:700;color:var(--light-text-dark);margin:0 0 var(--spacing-md) 0;font-family:var(--font-body)}.dashboard-card.groups-card{background:transparent;border:none;box-shadow:none;padding:0}.groups-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.groups-header h3{margin:0;font-weight:700;color:var(--light-text-dark)}.btn-new-group{padding:var(--spacing-sm) var(--spacing-md);background:var(--elf-forest-green);color:var(--snow-white);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast);font-family:var(--font-body)}.btn-new-group:hover{opacity:.9}.empty-state{text-align:center;padding:var(--spacing-xl);border:2px dashed var(--stone-300);border-radius:var(--radius-lg);background:var(--light-card-bg)}.empty-icon{font-size:3rem;color:var(--stone-400);margin-bottom:var(--spacing-sm);display:block}.empty-title{font-weight:700;font-size:1.125rem;color:var(--light-text);margin-bottom:var(--spacing-xs);font-family:var(--font-body)}.empty-message{font-size:.875rem;color:var(--light-text-muted);line-height:1.5;font-family:var(--font-body)}.groups-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.group-item{padding:var(--spacing-md);background:var(--light-card-bg);border-radius:var(--radius-lg);border:1px solid var(--light-card-border);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.group-item:hover{box-shadow:var(--shadow-md)}.group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.group-header h4{cursor:pointer;transition:color var(--transition-fast);color:var(--light-text-dark);margin:0;font-family:var(--font-body);font-weight:700}.group-header h4:hover{color:var(--elf-forest-green)}.match-status{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-xl);font-size:.75rem;font-weight:600;font-family:var(--font-body)}.match-status.matched{background:var(--emerald-100);color:var(--emerald-600)}.match-status.pending{background:var(--amber-100);color:var(--amber-600)}.match-status.pending-approval{background:var(--blue-100);color:var(--blue-700)}.match-status.invited{background:var(--sky-100, #e0f2fe);color:var(--sky-600, #0284c7)}.dashboard-card.invitations-card{background:transparent;border:none;box-shadow:none;padding:0}.invitation-count{padding:var(--spacing-xs) var(--spacing-sm);background:var(--sky-100, #e0f2fe);color:var(--sky-600, #0284c7);border-radius:var(--radius-xl);font-size:.75rem;font-weight:600}.invited-by{color:var(--light-text-muted);font-size:.875rem;margin:0}.invitation-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.invitation-actions .btn-accept{flex:2}.invitation-actions .btn-decline{flex:1}.group-info{display:flex;flex-direction:column;gap:var(--spacing-sm)}.member-count{color:var(--light-text-muted);font-size:.75rem;font-family:var(--font-body);margin:0}.group-dates{display:flex;gap:var(--spacing-xl);padding:var(--spacing-sm) 0;font-size:.875rem}.date-item{display:flex;flex-direction:column;gap:2px}.date-label{font-size:.75rem;color:var(--light-text-muted);font-family:var(--font-body)}.date-value{font-size:.875rem;color:var(--light-text);font-weight:600;font-family:var(--font-body)}.countdown{padding:var(--spacing-sm) var(--spacing-md);background:var(--emerald-100);color:var(--emerald-600);border-radius:var(--radius-md);text-align:center;font-weight:600;font-size:.875rem;font-family:var(--font-body)}.group-actions{margin-top:var(--spacing-sm);display:flex;gap:var(--spacing-sm)}.btn-view-match,.btn-manage,.btn-view-details{flex:1;padding:var(--spacing-sm);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body)}.btn-view-match{background:var(--elf-forest-green);color:var(--snow-white)}.btn-view-match:hover{opacity:.9}.btn-view-match-secondary{flex:0 0 auto;padding:var(--spacing-sm);border:1px solid var(--elf-forest-green);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body);background:transparent;color:var(--elf-forest-green)}.btn-view-match-secondary:hover{background:var(--elf-forest-green);color:var(--snow-white)}.btn-archive{flex:0 0 auto;padding:var(--spacing-sm) var(--spacing-md);background:var(--stone-200);color:var(--stone-600);border:none;border-radius:var(--radius-md);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body)}.btn-archive:hover:not(:disabled){background:var(--stone-300)}.btn-archive:disabled{opacity:.6;cursor:not-allowed}.member-row{display:flex;justify-content:space-between;align-items:center}.btn-archive-small{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.btn-manage{background:var(--elf-forest-green);color:var(--snow-white)}.btn-manage:hover{opacity:.9}.btn-view-details{background:var(--stone-200);color:var(--stone-700)}.btn-view-details:hover{background:var(--stone-300)}.btn-approve-matches{flex:1;padding:var(--spacing-sm);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body);background:var(--blue-600);color:var(--snow-white)}.btn-approve-matches:hover{background:var(--blue-700)}.quick-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.action-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--light-card-border);background:var(--snow-white);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body);color:var(--light-text);font-size:.875rem}.action-btn:hover:not(:disabled){background:var(--stone-50);border-color:var(--stone-300)}.action-btn.primary{background:var(--elf-forest-green);color:var(--snow-white);border:none}.action-btn.primary:hover{opacity:.9}.action-btn:disabled{opacity:.5;cursor:not-allowed}.tips-list{list-style:none;padding:0;margin:0}.tips-list li{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--light-card-border);color:var(--light-text-muted);font-size:.875rem;font-family:var(--font-body)}.tips-list li:last-child{border-bottom:none}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);border:1px solid var(--light-card-border);border-radius:var(--radius-lg);background:var(--light-card-bg);min-height:60vh}.dashboard-loading .spinner{width:32px;height:32px;border:4px solid var(--elf-forest-green);border-top-color:transparent;border-radius:var(--radius-round);animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.dashboard-loading p{color:var(--stone-600);font-family:var(--font-body)}@media(max-width:768px){.dashboard-container{padding:var(--spacing-md)}.dashboard-header h2{font-size:1.5rem}}.question-card{background:var(--cabin-card-brown);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:0 4px 12px #0000004d;animation:fadeInCard .3s ease-in;max-width:100%;margin:0 auto}@keyframes fadeInCard{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.question-progress-header{margin-bottom:var(--spacing-lg)}.question-number{color:var(--cabin-icon-green);font-size:.9rem;font-weight:600;display:block;font-family:var(--font-body)}.question-content{margin-bottom:var(--spacing-md)}.question-label{display:block;color:var(--parchment-cream);font-weight:600;font-size:1.1rem;font-family:var(--font-display);margin-bottom:var(--spacing-md)}.question-required{color:var(--cabin-icon-green);margin-left:var(--spacing-xs);font-weight:700}.question-input-container{margin-top:var(--spacing-md)}.question-input-wrapper{width:100%}.question-input{width:100%;padding:var(--spacing-md);border:2px solid var(--cabin-icon-brown);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-body);background:var(--artisan-wood-brown);color:var(--parchment-cream);transition:all var(--transition-fast)}.question-input:hover:not(:disabled){border-color:var(--cabin-icon-green);background:#6b4423cc}.question-input:focus{outline:none;border-color:var(--cabin-icon-green);box-shadow:0 0 0 3px #4a8b6f33;background:var(--artisan-wood-brown)}.question-input:disabled{opacity:.5;cursor:not-allowed}.question-input.error{border-color:var(--alert-soft-red)}.question-select-input{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A8B6F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right var(--spacing-md) center;background-size:20px;padding-right:calc(var(--spacing-md) * 3)}.question-textarea-input{min-height:120px;resize:vertical;line-height:1.5}.question-multiselect-options{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-md);background:#6b44234d;border-radius:var(--radius-md)}.question-option-chip{padding:var(--spacing-sm) var(--spacing-md);background:var(--artisan-wood-brown);border:2px solid var(--cabin-icon-brown);border-radius:20px;cursor:pointer;transition:all var(--transition-base);font-size:.95rem;font-family:var(--font-body);color:var(--parchment-cream);position:relative;display:inline-flex;align-items:center;gap:var(--spacing-xs)}.question-option-chip:hover:not(:disabled){border-color:var(--cabin-icon-green);transform:translateY(-2px);box-shadow:0 2px 8px #4a8b6f4d}.question-option-chip:disabled{opacity:.5;cursor:not-allowed}.question-option-chip.selected{background:var(--cabin-icon-green);color:var(--cabin-dark-brown);border-color:var(--cabin-icon-green);font-weight:600}.question-option-chip.none-option{border-style:dashed}.question-option-chip.none-option.selected{background:var(--parchment-cream);color:var(--cabin-dark-brown);border-color:var(--cabin-icon-green);border-style:solid}.option-chip-check{font-size:1.1em;font-weight:700}.shirt-size-wrapper,.pant-size-wrapper,.shoe-size-wrapper{display:flex;flex-direction:column;gap:var(--spacing-md)}.shirt-size-row,.pant-size-row,.shoe-size-row{display:flex;flex-direction:column;gap:var(--spacing-xs)}.shirt-size-sublabel,.pant-size-sublabel,.shoe-size-sublabel{color:var(--parchment-cream);font-size:.9rem;font-weight:500;font-family:var(--font-body);opacity:.9}.question-help-text{display:block;color:var(--parchment-cream);opacity:.8;font-size:.9rem;margin-top:var(--spacing-sm);font-family:var(--font-body);font-style:italic}.question-constraint{display:inline-block;color:var(--cabin-icon-green);font-size:.85rem;margin-right:var(--spacing-md);font-family:var(--font-body)}.question-selection-count{display:inline-block;color:var(--parchment-cream);font-size:.85rem;font-weight:600;font-family:var(--font-body)}.question-char-count{display:block;color:var(--parchment-cream);opacity:.7;font-size:.85rem;margin-top:var(--spacing-xs);text-align:right;font-family:var(--font-body)}.question-char-count.warning{color:var(--warm-earth-tan);font-weight:600}.question-error{display:block;color:var(--alert-soft-red);font-size:.9rem;margin-top:var(--spacing-sm);font-family:var(--font-body);font-weight:500}.question-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(139,98,57,.3)}.question-required-hint{color:var(--cabin-icon-green);font-size:.85rem;opacity:.8;font-family:var(--font-body)}.question-multiselect-info,.question-textarea-info{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}@media(max-width:768px){.question-card{padding:var(--spacing-lg);border-radius:var(--radius-md)}.question-category-title{font-size:1.25rem}.question-label{font-size:1rem}.question-option-chip{font-size:.9rem;padding:var(--spacing-xs) var(--spacing-sm)}.question-multiselect-options{gap:var(--spacing-xs)}}@media(prefers-color-scheme:dark){.question-input{background:#3a2f26e6}.question-input:hover:not(:disabled){background:#3a2f26b3}}.questionnaire-container{min-height:100vh;background:var(--cabin-dark-brown);position:relative;padding-bottom:100px}.questionnaire-header{background:transparent;padding:var(--spacing-lg);text-align:center}.questionnaire-header h1{color:var(--parchment-cream);margin:0 0 var(--spacing-md) 0;font-size:2rem;font-family:var(--font-display)}.wizard-progress{max-width:900px;margin:0 auto var(--spacing-lg) auto;padding:0 var(--spacing-md)}.progress-label{color:var(--parchment-cream);font-size:.9rem;margin-bottom:var(--spacing-xs);text-align:center;font-family:var(--font-body)}.progress-bar{background:var(--cabin-icon-brown);height:8px;border-radius:var(--radius-sm);overflow:hidden}.progress-fill{background:var(--cabin-icon-green);height:100%;transition:width var(--transition-slow);position:relative}.questionnaire-content{max-width:900px;margin:0 auto;padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);min-height:60vh}.questionnaire-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;color:var(--parchment-cream);font-family:var(--font-body)}.questionnaire-loading p{margin-top:var(--spacing-lg);font-size:1.1rem}.questionnaire-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;color:var(--parchment-cream);font-family:var(--font-body)}.questionnaire-error p{margin-bottom:var(--spacing-lg);font-size:1.1rem}.questionnaire-error button{padding:var(--spacing-md) var(--spacing-xl);background:var(--cabin-icon-green);color:var(--cabin-dark-brown);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-body)}.questionnaire-error button:hover{background:var(--warm-earth-tan);transform:translateY(-2px);box-shadow:var(--shadow-md)}.error-message{background:#c85a541a;color:var(--alert-soft-red);padding:var(--spacing-md);border-radius:var(--radius-md);margin:var(--spacing-md) 0;border:2px solid var(--alert-soft-red);text-align:center;font-family:var(--font-body)}.wizard-navigation{position:fixed;bottom:0;left:0;right:0;background:var(--cabin-card-brown);padding:var(--spacing-lg) var(--spacing-xl);display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);box-shadow:0 -4px 12px #0000004d;z-index:var(--z-sticky)}.wizard-btn{padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:2px solid transparent;min-width:120px;text-align:center;display:inline-flex;align-items:center;justify-content:center}.btn-back{background:var(--cabin-dark-brown);color:var(--parchment-cream);border-color:var(--cabin-icon-brown)}.btn-back:hover:not(:disabled){background:var(--cabin-icon-brown);box-shadow:0 2px 8px #0003}.btn-back:disabled{opacity:.3;cursor:not-allowed}.btn-save{background:var(--artisan-wood-brown);color:var(--parchment-cream);border-color:var(--cabin-icon-brown)}.btn-save:hover:not(:disabled){background:var(--cabin-icon-green);color:var(--cabin-dark-brown);border-color:var(--cabin-icon-green);box-shadow:0 2px 8px #4a8b6f4d}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-next{background:var(--cabin-icon-green);color:var(--cabin-dark-brown);border-color:var(--cabin-icon-green);font-weight:700}.btn-next:hover:not(:disabled){background:var(--warm-earth-tan);color:var(--cabin-dark-brown);border-color:var(--warm-earth-tan);box-shadow:0 2px 8px #d4a5744d}.save-status{position:fixed;bottom:90px;right:var(--spacing-xl);padding:var(--spacing-sm) var(--spacing-md);background:var(--cabin-card-brown);color:var(--parchment-cream);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:2px solid var(--cabin-icon-brown);font-size:.85rem;animation:slideIn .3s ease-out;font-family:var(--font-body);z-index:var(--z-sticky)}@keyframes slideIn{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}.spinner{width:40px;height:40px;border:4px solid var(--parchment-cream);border-top:4px solid var(--cabin-icon-green);border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){.questionnaire-header h1{font-size:1.5rem}.questionnaire-content{padding:0 var(--spacing-md) var(--spacing-md) var(--spacing-md)}.wizard-navigation{padding:var(--spacing-md);gap:var(--spacing-sm)}.wizard-btn{padding:var(--spacing-sm) var(--spacing-md);min-width:80px;font-size:.9rem}.save-status{bottom:80px;right:var(--spacing-sm);font-size:.75rem}}@media(min-width:769px)and (max-width:1024px){.questionnaire-content{padding:0 var(--spacing-lg) var(--spacing-lg) var(--spacing-lg)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){.wizard-btn{border-width:3px}.error-message{border-width:3px;font-weight:600}.progress-bar{border-width:2px}}.save-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-md);animation:fadeIn .2s ease-out}.save-modal{background:var(--cabin-card-brown);border-radius:var(--radius-lg);padding:var(--spacing-xl);max-width:500px;width:100%;box-shadow:0 20px 60px #0006;border:2px solid var(--cabin-icon-brown);animation:slideUp .3s ease-out}.save-modal h2{margin:0 0 var(--spacing-md) 0;color:var(--parchment-cream);font-family:var(--font-display);font-size:1.5rem;text-align:center}.modal-description{color:var(--parchment-cream);text-align:center;margin-bottom:var(--spacing-lg);font-family:var(--font-body);line-height:1.5}.modal-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.modal-options.single{grid-template-columns:1fr;max-width:280px;margin-left:auto;margin-right:auto}.modal-option{display:flex;flex-direction:column;align-items:center;text-align:center}.modal-btn{width:100%;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);border:2px solid transparent;margin-bottom:var(--spacing-sm)}.btn-draft{background:var(--cabin-dark-brown);color:var(--parchment-cream);border-color:var(--cabin-icon-brown)}.btn-draft:hover:not(:disabled){background:var(--cabin-icon-brown);transform:translateY(-2px)}.btn-complete{background:var(--cabin-icon-green);color:var(--cabin-dark-brown);border-color:var(--cabin-icon-green)}.btn-complete:hover:not(:disabled){background:var(--warm-earth-tan);border-color:var(--warm-earth-tan);transform:translateY(-2px)}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.option-hint{color:var(--warm-earth-tan);font-size:.85rem;margin:0;font-family:var(--font-body)}.modal-hint{color:var(--warm-earth-tan);text-align:center;font-size:.9rem;margin:0 0 var(--spacing-lg) 0;padding:var(--spacing-sm) var(--spacing-md);background:#d4a57426;border-radius:var(--radius-md);font-family:var(--font-body)}.modal-close{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;color:var(--parchment-cream);border:1px solid var(--cabin-icon-brown);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{background:var(--cabin-dark-brown)}@media(max-width:768px){.save-modal{padding:var(--spacing-lg);margin:var(--spacing-md)}.modal-options{grid-template-columns:1fr}.modal-btn{padding:var(--spacing-md)}}.create-group-container{min-height:100vh;background:var(--light-bg);padding:var(--spacing-lg)}.create-group-content{max-width:600px;margin:0 auto}.create-group-header{margin-bottom:var(--spacing-lg)}.create-group-header h1{font-family:var(--font-display);font-size:2rem;color:var(--elf-forest-green);margin:0}.create-group-card{background:var(--light-card-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--light-card-border)}.create-group-intro{margin-bottom:var(--spacing-lg)}.create-group-intro h2{font-size:1rem;font-weight:700;color:var(--light-text-dark);margin:0 0 var(--spacing-sm) 0;font-family:var(--font-body)}.create-group-intro p{color:var(--light-text-muted);font-family:var(--font-body);font-size:.875rem;margin:0}.create-group-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--light-text);margin-bottom:var(--spacing-sm);font-family:var(--font-body)}.form-label .required{color:var(--red-600)}.form-input,.form-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--stone-300);border-radius:var(--radius-md);font-size:.875rem;font-family:var(--font-body);background-color:var(--snow-white);color:var(--light-text);transition:border-color var(--transition-fast)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--elf-forest-green);box-shadow:0 0 0 3px #4a5d351a}.form-input.error,.form-select.error{border-color:var(--red-600)}.form-error{margin-top:var(--spacing-xs);font-size:.75rem;color:var(--red-600);font-family:var(--font-body)}.form-hint{margin-top:var(--spacing-xs);font-size:.75rem;color:var(--light-text-muted);font-family:var(--font-body)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media(max-width:768px){.form-grid{grid-template-columns:1fr}}.radio-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.radio-option{display:flex;align-items:flex-start;cursor:pointer;padding:var(--spacing-md);border:1px solid var(--light-card-border);border-radius:var(--radius-md);background:var(--snow-white);transition:all var(--transition-fast)}.radio-option:hover{border-color:var(--stone-300);background:var(--stone-50)}.radio-input{margin-top:.25rem;margin-right:var(--spacing-md);accent-color:var(--elf-forest-green)}.radio-content{flex:1}.radio-label{font-weight:600;color:var(--light-text);display:block;margin-bottom:var(--spacing-xs);font-family:var(--font-body);font-size:.875rem}.radio-description{font-size:.75rem;color:var(--light-text-muted);font-family:var(--font-body)}.checkbox-option{display:flex;align-items:flex-start;cursor:pointer;padding:var(--spacing-md);border:1px solid var(--light-card-border);border-radius:var(--radius-md);background:var(--snow-white);transition:all var(--transition-fast)}.checkbox-option:hover{border-color:var(--stone-300);background:var(--stone-50)}.checkbox-input{margin-top:.25rem;margin-right:var(--spacing-md);accent-color:var(--elf-forest-green);width:18px;height:18px;flex-shrink:0}.checkbox-content{flex:1}.checkbox-label{font-weight:600;color:var(--light-text);display:block;margin-bottom:var(--spacing-xs);font-family:var(--font-body);font-size:.875rem}.checkbox-description{font-size:.75rem;color:var(--light-text-muted);font-family:var(--font-body);margin:0}.error-alert{background-color:var(--red-100);border:1px solid var(--red-600);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.error-alert p{color:var(--red-600);margin:0;font-family:var(--font-body);font-size:.875rem}.form-footer{display:flex;justify-content:flex-end;padding-top:var(--spacing-md);margin-top:var(--spacing-md);border-top:1px solid var(--light-card-border)}.submit-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--elf-forest-green);color:var(--snow-white);border:none;border-radius:var(--radius-md);font-weight:600;font-family:var(--font-body);font-size:.875rem;cursor:pointer;transition:opacity var(--transition-fast)}.submit-button:hover:not(:disabled){opacity:.9}.submit-button:disabled{background:var(--stone-300);cursor:not-allowed;opacity:.5}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--snow-white);border-radius:50%;border-top-color:transparent;animation:spin .8s linear infinite;margin-right:var(--spacing-sm)}@media(max-width:768px){.create-group-container{padding:var(--spacing-md)}.create-group-header h1{font-size:1.5rem}.create-group-card{padding:var(--spacing-md)}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e9ecef}.modal-header h2{margin:0;font-size:1.5rem;color:#333;display:flex;align-items:center;gap:.5rem}.close-button{background:none;border:none;font-size:2rem;color:#6c757d;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-button:hover:not(:disabled){background:#f8f9fa;color:#333}.close-button:disabled{cursor:not-allowed;opacity:.5}.modal-body{padding:1.5rem}.warning-box{display:flex;gap:1rem;padding:1rem;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-bottom:1.5rem}.warning-icon{font-size:1.5rem;flex-shrink:0}.warning-box p{margin:0;color:#856404;line-height:1.5}.warning-box strong{color:#705c08}.matching-method-section{margin-bottom:1.5rem}.matching-method-section h3{margin-bottom:1rem;color:#333;font-size:1.2rem}.matching-options{display:flex;gap:1rem}.matching-option{flex:1;display:block;padding:1rem;background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;transition:all .2s ease}.matching-option:hover:not(:has(input:disabled)){border-color:#667eea;background:#f5f7ff}.matching-option.selected{border-color:#667eea;background:linear-gradient(135deg,#f5f7ff,#efe5ff);box-shadow:0 4px 12px #667eea26}.matching-option input[type=radio]{display:none}.option-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.option-icon{font-size:2rem}.option-title{font-weight:600;font-size:1.1rem;color:#333}.option-description{font-size:.85rem;color:#666;line-height:1.4}.matching-option.selected .option-title{color:#667eea}.stats-section{margin-bottom:1.5rem}.stats-section h3{margin-bottom:1rem;color:#333;font-size:1.2rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.stat-item{text-align:center;padding:1rem;background:#fff;border-radius:8px}.stat-number{display:block;font-size:2rem;font-weight:700;color:#667eea;margin-bottom:.5rem}.stat-number.complete{color:#28a745}.stat-number.incomplete{color:#ffc107}.stat-label{display:block;font-size:.85rem;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.policy-section{margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.policy-section h3{margin-bottom:1rem;color:#333;font-size:1.1rem}.policy-description{color:#666;margin-bottom:1rem;line-height:1.5}.policy-option{margin:1rem 0}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-size:1rem}.checkbox-label input[type=checkbox]{margin-right:.75rem;width:18px;height:18px;cursor:pointer}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.checkbox-label span{color:#333}.error-text{color:#dc3545;font-weight:400;font-size:.9rem}.policy-result{margin-top:1rem;padding:.75rem;background:#fff;border-radius:6px}.info-text{margin:0;color:#333;display:flex;align-items:center;gap:.5rem}.final-summary{margin-bottom:1.5rem}.final-summary h3{margin-bottom:1rem;color:#333;font-size:1.1rem}.summary-box{padding:1rem;background:#e8f4ff;border:1px solid #b8e0ff;border-radius:8px}.summary-box p{margin:.5rem 0;color:#06c}.summary-box p:first-child{margin-top:0}.summary-box p:last-child{margin-bottom:0}.success-text{color:#155724;font-weight:500}.error-text{color:#dc3545;font-weight:500}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e9ecef}.btn-secondary,.btn-primary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #667eea4d}.btn-secondary:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.spinner-small{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){.modal-container{margin:1rem;max-height:calc(100vh - 2rem)}.matching-options{flex-direction:column}.matching-option{padding:.75rem}.option-icon{font-size:1.5rem}.stats-grid{grid-template-columns:1fr;gap:.75rem}.stat-item{padding:.75rem}.modal-header,.modal-body{padding:1rem}.modal-footer{padding:1rem;flex-direction:column}.btn-secondary,.btn-primary{width:100%;justify-content:center}}.invite-participants{margin-top:2rem;padding-top:2rem;border-top:1px solid #e9ecef}.invite-header h3{margin-top:0;margin-bottom:.5rem;color:#333;font-size:1.2rem}.invite-instructions{color:#666;font-size:.9rem;margin-bottom:1.5rem}.invite-form,.email-input-container{display:flex;flex-direction:column;gap:1rem}.email-textarea{width:100%;padding:1rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;min-height:100px;transition:border-color .2s}.email-textarea:focus{outline:none;border-color:#667eea}.email-textarea:disabled{background:#f8f9fa;cursor:not-allowed}.email-textarea::placeholder{color:#adb5bd}.parsed-emails-preview{background:#f8f9fa;border-radius:8px;padding:1rem}.preview-header{margin-bottom:.75rem}.preview-count{font-size:.9rem;color:#666;font-weight:500}.email-chips{display:flex;flex-wrap:wrap;gap:.5rem}.email-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .75rem;border-radius:20px;font-size:.85rem;transition:all .2s}.email-chip.valid{background:#d4edda;color:#155724}.email-chip.invalid{background:#f8d7da;color:#721c24}.error-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:#dc3545;color:#fff;border-radius:50%;font-size:.7rem;font-weight:700}.btn-send-invites{padding:var(--spacing-sm) var(--spacing-md);background:var(--elf-forest-green);color:var(--snow-white);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:opacity var(--transition-fast);align-self:flex-start}.btn-send-invites:hover:not(:disabled){opacity:.9}.btn-send-invites:disabled{opacity:.5;cursor:not-allowed}.invite-results{margin-top:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.results-summary{display:flex;gap:1rem;margin-bottom:1rem;font-weight:500}.success-summary{color:#155724}.fail-summary{color:#721c24}.results-list{display:flex;flex-direction:column;gap:.5rem}.result-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-radius:6px;font-size:.9rem}.result-item.success{background:#d4edda;color:#155724}.result-item.error{background:#f8d7da;color:#721c24}.result-email{font-weight:500}.result-message{font-size:.85rem;opacity:.9}.pending-invitations{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e9ecef}.pending-invitations h4{margin-top:0;margin-bottom:.5rem;color:#333;font-size:1.1rem}.pending-description{color:#666;font-size:.85rem;margin-bottom:1rem}.pending-list{display:flex;flex-direction:column;gap:.75rem}.pending-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:#fff3cd;border-radius:8px;border:1px solid #ffc107}.pending-info{display:flex;flex-direction:column;gap:.25rem}.pending-name{font-weight:500;color:#333}.pending-email{font-size:.85rem;color:#666}.pending-meta{display:flex;align-items:center;gap:.75rem}.pending-date{font-size:.8rem;color:#856404}@media(max-width:768px){.invite-participants{padding-top:1.5rem;margin-top:1.5rem}.email-textarea{min-height:80px}.btn-send-invites{width:100%}.result-item{flex-direction:column;align-items:flex-start;gap:.25rem}.pending-item{flex-direction:column;align-items:flex-start;gap:.5rem}}.edit-modal{max-width:500px}.edit-modal .modal-body{padding:1.5rem}.edit-modal .form-group{margin-bottom:1.25rem}.edit-modal .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.95rem}.edit-modal .form-group input,.edit-modal .form-group select{width:100%;padding:.75rem 1rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s;background:#fff}.edit-modal .form-group input:focus,.edit-modal .form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.edit-modal .form-group input:disabled,.edit-modal .form-group select:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.7}.edit-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.edit-modal .field-hint{margin-top:.5rem;font-size:.85rem;color:#666;font-style:italic}.edit-modal .error-message{background:#f8d7da;color:#721c24;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.95rem}@media(max-width:480px){.edit-modal .form-row{grid-template-columns:1fr}}.match-review-container{background:var(--light-card-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--light-card-border)}.match-review-header{margin-bottom:var(--spacing-lg)}.match-review-header h2{font-family:var(--font-display);font-size:1.25rem;color:var(--elf-forest-green);margin:0 0 var(--spacing-sm) 0}.review-hint{color:var(--light-text-muted);font-size:.875rem;margin:0}.match-review-loading,.match-review-error{text-align:center;padding:var(--spacing-xl)}.match-review-loading .spinner{width:2rem;height:2rem;border:3px solid var(--stone-200);border-top-color:var(--elf-forest-green);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto var(--spacing-md)}.match-review-error p{color:var(--red-600);margin-bottom:var(--spacing-md)}.btn-retry{padding:var(--spacing-sm) var(--spacing-md);background:var(--stone-200);border:none;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body)}.btn-retry:hover{background:var(--stone-300)}.matches-list{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.match-review-item{border:1px solid var(--light-card-border);border-radius:var(--radius-md);overflow:hidden;background:var(--snow-white)}.match-receiver-button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--snow-white);border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.match-receiver-button:hover{background:var(--stone-50)}.match-receiver-button.expanded{background:var(--stone-100);border-bottom:1px solid var(--light-card-border)}.receiver-info{display:flex;align-items:center;gap:var(--spacing-md)}.receiver-name{font-weight:600;font-size:.95rem;color:var(--light-text);font-family:var(--font-body)}.match-score{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm)}.score-excellent{background:var(--green-100);color:var(--green-800)}.score-great{background:var(--blue-100);color:var(--blue-800)}.score-good{background:var(--yellow-100);color:var(--yellow-800)}.score-fair{background:var(--orange-100);color:var(--orange-800)}.score-low{background:var(--red-100);color:var(--red-600)}.expand-icon{font-size:.75rem;color:var(--light-text-muted)}.match-details{padding:var(--spacing-md);background:var(--stone-50)}.giver-section{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.giver-section label{font-size:.75rem;color:var(--light-text-muted);font-weight:500}.giver-name{font-weight:600;color:var(--elf-forest-green)}.method-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px}.method-badge.ai{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.method-badge.random{background:var(--stone-300);color:var(--light-text)}.reasoning-section{margin-top:var(--spacing-sm)}.reasoning-section label{display:block;font-size:.75rem;color:var(--light-text-muted);font-weight:500;margin-bottom:var(--spacing-xs)}.reasoning-text{font-size:.875rem;color:var(--light-text);line-height:1.5;margin:0;padding:var(--spacing-sm);background:var(--snow-white);border-radius:var(--radius-sm);border-left:3px solid var(--elf-forest-green)}.match-review-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--light-card-border)}.btn-rematch{padding:var(--spacing-sm) var(--spacing-lg);background:var(--stone-200);color:var(--light-text);border:none;border-radius:var(--radius-md);font-weight:600;font-family:var(--font-body);font-size:.875rem;cursor:pointer;transition:background var(--transition-fast)}.btn-rematch:hover{background:var(--stone-300)}.btn-approve{padding:var(--spacing-sm) var(--spacing-lg);background:var(--elf-forest-green);color:var(--snow-white);border:none;border-radius:var(--radius-md);font-weight:600;font-family:var(--font-body);font-size:.875rem;cursor:pointer;transition:opacity var(--transition-fast)}.btn-approve:hover:not(:disabled){opacity:.9}.btn-approve:disabled{background:var(--stone-300);cursor:not-allowed;opacity:.6}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.match-review-container{padding:var(--spacing-md)}.match-review-actions{flex-direction:column}.btn-rematch,.btn-approve{width:100%;text-align:center}}.group-detail-container{min-height:100vh;background:var(--light-bg);padding:var(--spacing-lg)}.group-detail-loading,.group-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--light-bg);color:var(--light-text)}.group-detail-loading .spinner{width:32px;height:32px;border:4px solid var(--elf-forest-green);border-top-color:transparent;border-radius:var(--radius-round);animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.group-detail-error h2{margin-bottom:var(--spacing-md);font-size:1.5rem;color:var(--elf-forest-green);font-family:var(--font-display)}.group-detail-error button{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background:var(--elf-forest-green);color:var(--snow-white);border:none;border-radius:var(--radius-md);font-size:.875rem;font-family:var(--font-body);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.group-detail-error button:hover{opacity:.9}.group-detail-nav{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.back-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--snow-white);color:var(--light-text);border:1px solid var(--light-card-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:.875rem;font-family:var(--font-body)}.back-button:hover{background:var(--stone-50);border-color:var(--stone-300)}.group-detail-nav h1{margin:0;font-size:2rem;font-weight:700;font-family:var(--font-display);color:var(--elf-forest-green)}.group-detail-content{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-lg)}.detail-card{background:var(--light-card-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--light-card-border)}.detail-card h2{margin-top:0;margin-bottom:var(--spacing-md);color:var(--light-text-dark);font-size:1rem;font-family:var(--font-body);font-weight:700;display:flex;align-items:center;gap:var(--spacing-sm)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.info-item label{font-size:.75rem;color:var(--light-text-muted);font-weight:500;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:.875rem;color:var(--light-text);font-weight:600;font-family:var(--font-body)}.status{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-xl);font-size:.75rem;font-weight:600;font-family:var(--font-body);text-align:center}.status.matched{background:var(--emerald-100);color:var(--emerald-600)}.status.pending{background:var(--amber-100);color:var(--amber-600)}.status.pending-approval{background:var(--blue-100);color:var(--blue-700)}.policy-item{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--light-card-border)}.policy-item label{font-size:.75rem;color:var(--light-text-muted);font-weight:500;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.5px}.policy-item span{font-size:.875rem;color:var(--light-text);font-weight:600;font-family:var(--font-body)}.member-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--stone-50);border-radius:var(--radius-md)}.stat{text-align:center;padding:var(--spacing-sm)}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--elf-forest-green);margin-bottom:var(--spacing-xs);font-family:var(--font-display)}.stat-label{display:block;font-size:.75rem;color:var(--light-text-muted);font-family:var(--font-body)}.members-list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:300px;overflow-y:auto;padding:var(--spacing-xs)}.member-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--light-card-bg-solid);border-radius:var(--radius-md);border:1px solid var(--light-card-border);transition:all var(--transition-fast)}.member-item:hover{box-shadow:var(--shadow-sm)}.member-name{font-weight:600;color:var(--light-text);font-family:var(--font-body);font-size:.875rem}.profile-status{font-size:1rem}.profile-status.complete{color:var(--emerald-600)}.profile-status.incomplete{color:var(--amber-600)}.matched-actions,.organizer-actions,.member-actions{text-align:center}.success-message{color:var(--emerald-600);font-size:.875rem;margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--emerald-100);border-radius:var(--radius-md);font-family:var(--font-body)}.ready-message{color:var(--emerald-600);background:var(--emerald-100);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-family:var(--font-body);font-size:.875rem}.warning-message{color:var(--amber-600);background:var(--amber-100);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);text-align:left;font-family:var(--font-body);font-size:.875rem}.info-message{color:var(--sky-600);background:var(--sky-100);padding:var(--spacing-md);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.875rem}.btn-primary,.btn-trigger-matching{padding:var(--spacing-sm) var(--spacing-lg);background:var(--elf-forest-green);color:var(--snow-white);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:opacity var(--transition-fast)}.btn-primary:hover,.btn-trigger-matching:hover{opacity:.9}.btn-disabled{padding:var(--spacing-sm) var(--spacing-lg);background:var(--stone-200);color:var(--stone-500);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;font-family:var(--font-body);cursor:not-allowed}.invite-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--light-card-border)}.invite-section h3{margin-top:0;margin-bottom:var(--spacing-md);color:var(--light-text-dark);font-size:.875rem;font-weight:700;font-family:var(--font-body)}.invite-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.invite-input-group{display:flex;gap:var(--spacing-md)}.invite-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--stone-300);border-radius:var(--radius-md);font-size:.875rem;font-family:var(--font-body);background:var(--snow-white);color:var(--light-text);transition:border-color var(--transition-fast)}.invite-input:focus{outline:none;border-color:var(--elf-forest-green);box-shadow:0 0 0 3px #4a5d351a}.invite-input:disabled{background:var(--stone-100);cursor:not-allowed}.btn-invite{padding:var(--spacing-sm) var(--spacing-md);background:var(--elf-forest-green);color:var(--snow-white);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:opacity var(--transition-fast);white-space:nowrap}.btn-invite:hover:not(:disabled){opacity:.9}.btn-invite:disabled{opacity:.5;cursor:not-allowed}.error-message{color:var(--red-600);background:var(--red-100);padding:var(--spacing-md);border-radius:var(--radius-md);margin:0;font-size:.875rem;font-family:var(--font-body)}.status-badge{font-size:.75rem;color:var(--amber-600);background:var(--amber-100);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);margin-left:var(--spacing-sm);font-family:var(--font-body);font-weight:600}.card-header-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.card-header-with-action h2{margin:0}.btn-settings{padding:var(--spacing-sm) var(--spacing-md);background:var(--elf-forest-green);color:var(--snow-white);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:opacity var(--transition-fast)}.btn-settings:hover{opacity:.9}.countdown-timer{background:var(--sky-100);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);text-align:center;font-size:.875rem;color:var(--sky-600);font-family:var(--font-body)}.countdown-timer strong{font-size:1rem;font-weight:700}.countdown-timer.urgent{background:var(--amber-100);color:var(--amber-600)}.countdown-timer.past{background:var(--red-100);color:var(--red-600)}.empty-state{text-align:center;padding:var(--spacing-xl);border:2px dashed var(--stone-300);border-radius:var(--radius-lg)}.empty-state p{margin:var(--spacing-sm) 0;color:var(--light-text);font-size:.875rem;font-family:var(--font-body)}.empty-state .empty-hint{color:var(--light-text-muted);font-size:.75rem}.member-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.member-joined{font-size:.75rem;color:var(--light-text-muted);font-family:var(--font-body)}.status-badge.invited{background:var(--amber-100);color:var(--amber-600)}.status-badge.organizer{background:var(--emerald-100);color:var(--emerald-600)}.member-actions-row{display:flex;align-items:center;gap:var(--spacing-md)}.member-action-buttons{display:flex;gap:var(--spacing-sm)}.btn-icon{width:28px;height:28px;border-radius:var(--radius-round);border:none;cursor:pointer;font-size:.875rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-edit{background:#fef3c7;color:#d97706}.btn-edit:hover:not(:disabled){background:#d97706;color:var(--snow-white)}.btn-resend{background:var(--sky-100);color:var(--sky-600)}.btn-resend:hover:not(:disabled){background:var(--sky-600);color:var(--snow-white)}.btn-remove{background:var(--red-100);color:var(--red-600)}.btn-remove:hover:not(:disabled){background:var(--red-600);color:var(--snow-white)}.pending-invitations-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--light-card-border)}.pending-invitations-section h3{margin-top:0;margin-bottom:var(--spacing-sm);color:var(--light-text-dark);font-size:.875rem;font-weight:700;font-family:var(--font-body)}.section-hint{margin:0 0 var(--spacing-md) 0;color:var(--light-text-muted);font-size:.75rem;font-family:var(--font-body)}.pending-invitations-list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:200px;overflow-y:auto;padding:var(--spacing-xs)}.pending-invitation-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--amber-100);border-radius:var(--radius-md);transition:background var(--transition-fast)}.pending-invitation-item:hover{background:#fef3c7cc}.invitation-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.invitation-email{font-weight:600;color:var(--light-text);font-family:var(--font-body);font-size:.875rem}.invitation-date{font-size:.75rem;color:var(--light-text-muted);font-family:var(--font-body)}.expired-badge{color:var(--red-600);font-weight:600}.invitation-action-buttons{display:flex;gap:var(--spacing-sm)}.budget-distribution-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--light-card-border)}.budget-distribution-section h3{margin:0 0 var(--spacing-sm) 0;color:var(--light-text-dark);font-size:.875rem;font-weight:700;font-family:var(--font-body)}.budget-bars{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.budget-bar-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.budget-bar-label{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;font-family:var(--font-body)}.budget-range{font-weight:600;color:var(--light-text)}.budget-count{color:var(--light-text-muted)}.budget-bar-track{height:20px;background:var(--stone-100);border-radius:var(--radius-lg);overflow:hidden}.budget-bar-fill{height:100%;background:var(--elf-forest-green);border-radius:var(--radius-lg);transition:width var(--transition-slow);min-width:4px}.budget-summary{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center;color:var(--light-text-muted);font-size:.75rem;padding:var(--spacing-md);background:var(--stone-50);border-radius:var(--radius-md);font-family:var(--font-body)}.no-preference-note{color:var(--amber-600)}@media(max-width:768px){.group-detail-container{padding:var(--spacing-md)}.group-detail-nav{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.group-detail-nav h1{font-size:1.5rem}.info-grid{grid-template-columns:1fr 1fr}.member-stats{grid-template-columns:1fr}.card-header-with-action{flex-direction:row;gap:var(--spacing-sm);align-items:center}.member-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.member-actions-row{width:100%;justify-content:space-between}.pending-invitation-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.invitation-action-buttons{width:100%;justify-content:flex-end}.invite-input-group{flex-direction:column}}.danger-zone{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px dashed var(--light-border)}.btn-delete-group{width:100%;padding:var(--spacing-sm) var(--spacing-lg);background:transparent;color:#dc3545;border:2px solid #dc3545;border-radius:var(--radius-md);font-size:.875rem;font-family:var(--font-body);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-delete-group:hover:not(:disabled){background:#dc3545;color:#fff}.btn-delete-group:disabled{opacity:.6;cursor:not-allowed}.organizer-resend-actions{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--light-card-border);text-align:left}.organizer-resend-actions h4{margin:0 0 var(--spacing-md) 0;color:var(--light-text-muted);font-size:.75rem;font-weight:600;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.5px}.resend-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.btn-secondary{padding:var(--spacing-sm) var(--spacing-md);background:var(--snow-white);color:var(--elf-forest-green);border:1px solid var(--elf-forest-green);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover:not(:disabled){background:var(--elf-forest-green);color:var(--snow-white)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-rematch{background:#fff3cd;color:#856404;border-color:#ffc107}.btn-rematch:hover:not(:disabled){background:#ffc107;color:#000}.rematch-modal{max-width:500px}.rematch-modal h3{margin:0 0 var(--spacing-md) 0;color:var(--elf-forest-green)}.modal-description{color:var(--light-text-muted);margin-bottom:var(--spacing-lg);font-size:.875rem;line-height:1.5}.member-checklist{max-height:300px;overflow-y:auto;border:1px solid var(--light-card-border);border-radius:var(--radius-md);padding:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.member-checkbox-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.member-checkbox-row:hover{background:var(--light-hover)}.member-checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--elf-forest-green);cursor:pointer}.member-checkbox-row .member-name{font-weight:500;color:var(--light-text-primary)}.orphaned-members-warning{background:#f8d7da;border:1px solid #f5c6cb;border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);text-align:left}.orphaned-members-warning h4{color:#721c24;margin:0 0 var(--spacing-sm) 0;font-size:1rem}.orphaned-members-warning p{color:#721c24;margin:0 0 var(--spacing-md) 0;font-size:.875rem;line-height:1.5}.orphaned-list{list-style:none;padding:0;margin:0 0 var(--spacing-md) 0;max-height:150px;overflow-y:auto}.orphaned-list li{padding:var(--spacing-xs) 0;color:#721c24;font-size:.875rem;border-bottom:1px solid rgba(114,28,36,.2)}.orphaned-list li:last-child{border-bottom:none}.btn-fix-orphaned{background:#721c24;color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-fix-orphaned:hover:not(:disabled){background:#5a161d}.btn-fix-orphaned:disabled{opacity:.6;cursor:not-allowed}.receiver-profile-container{min-height:100vh;background:var(--dark-bg)}.receiver-profile-loading,.receiver-profile-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:var(--dark-text)}.receiver-profile-loading .spinner{width:50px;height:50px;border:4px solid var(--dark-card-bg);border-top:4px solid var(--dark-accent);border-radius:50%;animation:spin 1s linear infinite}.receiver-profile-error h2{margin-bottom:var(--spacing-md);font-size:2rem;color:var(--dark-text);font-family:var(--font-display)}.receiver-profile-error button{margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);background:var(--dark-accent);color:var(--dark-bg);border:none;border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-base);font-weight:600}.receiver-profile-error button:hover{background:var(--warm-earth-tan);transform:translateY(-2px);box-shadow:var(--shadow-md)}.receiver-profile-nav{background:var(--dark-card-bg);border-bottom:2px solid var(--dark-card-border);padding:var(--spacing-md) var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;color:var(--dark-text);box-shadow:0 4px 12px #0000004d}.receiver-profile-nav h1{margin:0;font-size:1.75rem;font-weight:700;font-family:var(--font-display);color:var(--dark-text)}.receiver-profile-content{max-width:1200px;margin:var(--spacing-xl) auto;padding:0 var(--spacing-xl) var(--spacing-xl)}.profile-card{background:var(--dark-card-bg);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:0 10px 40px #0000004d;margin-bottom:var(--spacing-lg);border:2px solid var(--dark-card-border)}.profile-card h3{margin-top:0;margin-bottom:var(--spacing-lg);color:var(--dark-text);font-size:1.4rem;font-family:var(--font-display);display:flex;align-items:center;gap:var(--spacing-sm)}.header-card{background:var(--dark-card-bg)}.recipient-header{margin-bottom:var(--spacing-lg)}.recipient-name{margin:0;font-size:2.2rem;color:var(--dark-text);font-family:var(--font-display)}.recipient-details{color:var(--dark-text-muted);font-size:1.1rem;margin-top:var(--spacing-sm);font-family:var(--font-body)}.gift-info{display:flex;gap:var(--spacing-xl)}.info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.info-item .label{font-size:.85rem;color:var(--dark-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-body)}.info-item .value{font-size:1.2rem;color:var(--dark-text);font-weight:600;font-family:var(--font-body)}.profile-notice{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:#d4af371a;color:var(--success-warm-gold);border-radius:var(--radius-md);font-size:.95rem;font-family:var(--font-body);border:1px solid var(--success-warm-gold)}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg)}.profile-field{display:flex;flex-direction:column}.profile-field.full-width{grid-column:1 / -1}.profile-field label{font-size:.9rem;color:var(--dark-text-muted);font-weight:600;margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-body)}.profile-field .value{font-size:1.1rem;color:var(--dark-text);font-weight:500;font-family:var(--font-body)}.tags-container{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tag{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background:var(--elf-forest-green);color:var(--parchment-cream);border-radius:var(--radius-xl);font-size:.9rem;font-weight:500;font-family:var(--font-body)}.warning-tags .tag{background:#d4af3733;color:var(--success-warm-gold);border:1px solid var(--success-warm-gold)}.text-value{padding:var(--spacing-md);background:var(--dark-bg);border-radius:var(--radius-md);line-height:1.6;color:var(--dark-text);white-space:pre-wrap;font-family:var(--font-body);border:1px solid var(--dark-card-border)}.text-value.warning{background:#d4af371a;color:var(--success-warm-gold);border-left:3px solid var(--success-warm-gold)}.incomplete-profile{text-align:center;padding:var(--spacing-xl)}.incomplete-profile .icon{font-size:3rem;display:block;margin-bottom:var(--spacing-md)}.incomplete-profile h3{color:var(--success-warm-gold);margin-bottom:var(--spacing-md);font-family:var(--font-display)}.incomplete-profile p{color:var(--dark-text-muted);line-height:1.6;max-width:500px;margin:0 auto;font-family:var(--font-body)}@media(max-width:768px){.receiver-profile-content{padding:var(--spacing-md)}.profile-card{padding:var(--spacing-lg)}.recipient-name h2{font-size:1.8rem}.gift-info{flex-direction:column;gap:var(--spacing-md)}.profile-grid{grid-template-columns:1fr}.receiver-profile-nav{flex-direction:column;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md)}.receiver-profile-nav h1{font-size:1.4rem}}.my-match-container{min-height:100vh;background:var(--dark-bg)}.my-match-loading,.my-match-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:var(--dark-text)}.my-match-loading .spinner{width:50px;height:50px;border:4px solid var(--dark-card-bg);border-top:4px solid var(--dark-accent);border-radius:50%;animation:spin 1s linear infinite}.my-match-error h2{margin-bottom:var(--spacing-md);font-size:2rem;color:var(--dark-text);font-family:var(--font-display)}.my-match-error button{margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);background:var(--dark-accent);color:var(--dark-bg);border:none;border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-base);font-weight:600}.my-match-error button:hover{background:var(--warm-earth-tan);transform:translateY(-2px);box-shadow:var(--shadow-md)}.my-match-nav{background:var(--dark-card-bg);border-bottom:2px solid var(--dark-card-border);padding:var(--spacing-md) var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;color:var(--dark-text);box-shadow:0 4px 12px #0000004d}.back-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--dark-bg);color:var(--dark-text);border:2px solid var(--dark-card-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);font-size:.9rem;font-family:var(--font-body)}.back-button:hover{background:var(--dark-card-border);border-color:var(--dark-accent)}.my-match-nav h1{margin:0;font-size:1.75rem;font-weight:700;font-family:var(--font-display);color:var(--dark-text)}.my-match-content{max-width:800px;margin:var(--spacing-xxl) auto;padding:0 var(--spacing-xl)}.match-card{background:var(--dark-card-bg);border-radius:var(--radius-lg);padding:0;box-shadow:0 20px 60px #0006;overflow:hidden;border:2px solid var(--dark-card-border)}.match-header{background:var(--elf-forest-green);color:var(--parchment-cream);padding:var(--spacing-xl);text-align:center;position:relative}.match-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,var(--warm-earth-tan),var(--warm-earth-tan) 10px,transparent 10px,transparent 20px)}.match-icon{font-size:4rem;display:block;margin-bottom:var(--spacing-md)}.match-header h2{margin:0;font-size:2rem;font-weight:700;font-family:var(--font-display);color:var(--parchment-cream)}.match-info{padding:var(--spacing-xl)}.match-message{text-align:center;color:var(--dark-text-muted);font-size:1.1rem;margin-bottom:var(--spacing-lg);font-family:var(--font-body)}.receiver-box{background:var(--dark-bg);border:2px solid var(--dark-accent);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;margin-bottom:var(--spacing-xl)}.receiver-name{margin:0;font-size:1.8rem;color:var(--dark-text);font-weight:700;font-family:var(--font-display)}.receiver-username{margin:var(--spacing-sm) 0 0 0;color:var(--dark-text-muted);font-size:1rem;font-family:var(--font-body)}.match-details{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-md);background:var(--dark-bg);border-radius:var(--radius-md);border:1px solid var(--dark-card-border)}.detail-label{color:var(--dark-text-muted);font-weight:500;font-family:var(--font-body)}.detail-value{color:var(--dark-text);font-weight:600;font-family:var(--font-body)}.notification-status{color:var(--dark-accent);font-weight:500}.score-excellent{color:#22c55e;font-weight:700}.score-great{color:#84cc16;font-weight:700}.score-good{color:var(--dark-accent);font-weight:700}.score-fair{color:#f59e0b;font-weight:700}.score-low{color:#ef4444;font-weight:700}.match-reasoning{background:linear-gradient(135deg,#2f523326,#5b7c8d26);border:1px solid var(--elf-forest-green);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.match-reasoning h4{margin:0 0 var(--spacing-sm) 0;color:var(--dark-accent);font-size:1rem;font-family:var(--font-display);display:flex;align-items:center;gap:var(--spacing-sm)}.match-reasoning h4:before{content:"✨"}.match-reasoning p{margin:0;color:var(--dark-text);font-size:.95rem;line-height:1.6;font-family:var(--font-body)}.btn-view-profile{width:100%;padding:var(--spacing-md);background:var(--dark-accent);color:var(--dark-bg);border:none;border-radius:var(--radius-md);font-size:1.1rem;font-weight:700;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--spacing-xl)}.btn-view-profile:hover{background:var(--warm-earth-tan);transform:translateY(-2px);box-shadow:0 8px 24px #1dd1a14d}.match-tips{background:var(--dark-bg);border-radius:var(--radius-md);padding:var(--spacing-lg);border:1px solid var(--dark-card-border)}.match-tips h4{margin-top:0;margin-bottom:var(--spacing-md);color:var(--dark-text);font-size:1.1rem;font-family:var(--font-display)}.match-tips ul{margin:0;padding-left:var(--spacing-lg);color:var(--dark-text-muted);line-height:1.8;font-family:var(--font-body)}.match-tips li{margin-bottom:var(--spacing-sm)}.match-tips li:last-child{margin-bottom:0}@media(max-width:768px){.my-match-content{padding:var(--spacing-md);margin:var(--spacing-xl) auto}.match-header{padding:var(--spacing-lg)}.match-icon{font-size:3rem}.match-header h2,.receiver-name{font-size:1.5rem}.my-match-nav{flex-direction:column;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md)}.my-match-nav h1{font-size:1.4rem}.match-info{padding:var(--spacing-lg)}}.join-group-container{min-height:100vh;background:var(--light-bg);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.join-group-loading,.join-group-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--light-bg);color:var(--light-text)}.join-group-loading .spinner{width:32px;height:32px;border:4px solid var(--elf-forest-green);border-top-color:transparent;border-radius:var(--radius-round);animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.join-group-error h2{margin-bottom:var(--spacing-md);font-size:1.5rem;color:var(--elf-forest-green);font-family:var(--font-display)}.join-group-error button{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background:var(--elf-forest-green);color:var(--snow-white);border:none;border-radius:var(--radius-md);font-size:.875rem;font-family:var(--font-body);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.join-group-error button:hover{opacity:.9}.join-group-card{background:var(--light-card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:500px;width:100%;overflow:hidden;border:1px solid var(--light-card-border)}.join-group-header{background:var(--elf-forest-green);color:var(--snow-white);padding:var(--spacing-xl);text-align:center}.join-group-header h1{margin:0;font-size:1.5rem;font-weight:700;font-family:var(--font-display);color:var(--snow-white)}.invite-emoji{font-size:3rem;margin:0;display:block;margin-bottom:var(--spacing-md)}.join-group-content{padding:var(--spacing-lg)}.invitation-message{font-size:.875rem;text-align:center;color:var(--light-text-muted);margin-bottom:var(--spacing-md);font-family:var(--font-body)}.group-name{text-align:center;color:var(--elf-forest-green);font-size:1.5rem;margin:var(--spacing-md) 0 var(--spacing-lg) 0;font-weight:700;font-family:var(--font-display)}.group-details{background:var(--stone-50);padding:var(--spacing-lg);border-radius:var(--radius-md);margin:var(--spacing-lg) 0}.group-details h3{margin:0 0 var(--spacing-md) 0;color:var(--light-text-dark);font-size:.875rem;font-weight:700;font-family:var(--font-body)}.detail-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.detail-item{display:flex;justify-content:space-between;align-items:center}.detail-label{font-weight:500;color:var(--light-text-muted);font-family:var(--font-body);font-size:.875rem}.detail-value{font-weight:600;color:var(--light-text);font-family:var(--font-body);font-size:.875rem}.invitation-info{text-align:center;margin:var(--spacing-lg) 0;color:var(--light-text-muted);font-family:var(--font-body)}.invitation-info p{margin:var(--spacing-sm) 0;font-size:.875rem}.expires-at{font-size:.75rem;color:var(--amber-600);background:var(--amber-100);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);display:inline-block;margin-top:var(--spacing-md);font-weight:600}.login-prompt{text-align:center;color:var(--light-text-muted);font-size:.875rem;font-family:var(--font-body)}.login-prompt button{background:none;border:none;color:var(--elf-forest-green);font-weight:600;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit;font-family:var(--font-body)}.login-prompt button:hover{opacity:.8}.error-message{color:var(--red-600);background:var(--red-100);padding:var(--spacing-md);border-radius:var(--radius-md);margin:var(--spacing-md) 0;font-size:.875rem;text-align:center;font-family:var(--font-body)}.success-message{text-align:center;padding:var(--spacing-lg);background:var(--emerald-100);border-radius:var(--radius-md);margin:var(--spacing-md) 0}.success-message p{margin:var(--spacing-sm) 0;color:var(--emerald-600);font-size:1rem;font-weight:600;font-family:var(--font-body)}.success-message .redirect-notice{font-size:.875rem;font-weight:400;color:var(--emerald-600);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.join-group-container{padding:var(--spacing-md)}.join-group-header{padding:var(--spacing-lg)}.join-group-header h1,.group-name{font-size:1.25rem}.invite-emoji{font-size:2.5rem}.join-group-content{padding:var(--spacing-md)}}html{scroll-padding-top:80px}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--parchment-cream);margin:0;padding:0}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--parchment-cream);position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);height:60px;box-sizing:border-box}.nav-logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--elf-forest-green);cursor:pointer}.nav-signin{color:var(--text-dark-soil);text-decoration:none;font-family:var(--font-body);font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);border:2px solid transparent;transition:all var(--transition-base)}.nav-signin:hover{color:var(--burgundy-accent);text-decoration:underline}.hero-section{min-height:70vh;display:flex;align-items:flex-start;justify-content:center;position:relative;margin-top:60px;background:var(--cabin-dark-brown);overflow:hidden}.hero-background{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,#2a1e17b3,#2f52334d,#2a1e17b3)}.hero-elf-image{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;object-fit:cover;object-position:top center}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.hero-content{position:relative;z-index:2;text-align:center;padding:var(--spacing-xxl) var(--spacing-xl);max-width:800px}.hero-title{font-family:var(--font-display);font-weight:700;color:var(--success-warm-gold);text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg);line-height:1.2}.hero-subtitle{font-family:var(--font-display);font-size:1.5rem;color:var(--parchment-cream);text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:var(--spacing-xxl);line-height:1.25}.hero-buttons{display:flex;gap:var(--spacing-md);justify-content:center;align-items:center}.btn-get-started{background:var(--elf-forest-green);color:var(--parchment-cream);padding:12px 16px;border-radius:16px;text-decoration:none;font-family:var(--font-body);font-weight:500;font-size:1rem;transition:all var(--transition-base);border:none;cursor:pointer;box-shadow:0 2px 4px #00000026;width:160px;text-align:center}.btn-get-started:hover{background:#254228;transform:translateY(-1px);box-shadow:0 4px 6px #0003}.btn-learn-more{background:transparent;color:var(--parchment-cream);padding:12px 16px;border-radius:16px;border:2px solid var(--parchment-cream);text-decoration:none;font-family:var(--font-body);font-weight:500;font-size:1rem;transition:all var(--transition-base);cursor:pointer;width:160px;text-align:center}.btn-learn-more:hover{background:#f5ebd71a;border-color:var(--parchment-cream)}.steps-section{padding:var(--spacing-xl) var(--spacing-xl);background:var(--parchment-cream)}.steps-title{text-align:center;font-family:var(--font-display);font-size:2rem;color:var(--text-dark-soil);margin-bottom:var(--spacing-lg);font-weight:700}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md);max-width:1200px;margin:0 auto}.step-card{background:var(--elf-forest-green);padding:var(--spacing-lg);border-radius:var(--radius-lg);text-align:left;box-shadow:var(--shadow-lg);transition:transform var(--transition-base);position:relative;overflow:hidden}.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.step-card-with-image{min-height:175px;display:flex;flex-direction:column;justify-content:flex-end}.step-card-overlay-image{position:absolute;top:0;right:0;width:100%;height:100%;object-fit:contain;object-position:top right;opacity:1;z-index:1}.step-card-content{z-index:2}.step-icon{font-size:2rem;margin-bottom:var(--spacing-md);display:inline-block;background:var(--artisan-wood-brown);width:50px;height:50px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.step-card h3{font-family:var(--font-display);font-size:1.25rem;color:var(--parchment-cream);margin-bottom:var(--spacing-xl);font-weight:700}.step-card p{font-family:var(--font-body);font-size:.95rem;color:var(--parchment-cream);line-height:1.6;opacity:.95}.landing-footer{background:var(--parchment-cream);padding:var(--spacing-xl);text-align:center;border-top:1px solid var(--border-grey);margin-top:auto}.footer-elf{margin-bottom:var(--spacing-lg)}.footer-elf-icon{font-size:2.5rem;opacity:.8}.footer-links{display:flex;gap:var(--spacing-xl);justify-content:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap}.footer-links a{color:var(--text-dark-soil);text-decoration:none;font-family:var(--font-body);font-weight:500;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--burgundy-accent);text-decoration:underline}.footer-social{display:flex;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-lg)}.social-icon{font-size:1.5rem;cursor:pointer;opacity:.7;transition:opacity var(--transition-fast)}.social-icon:hover{opacity:1}.footer-copyright{font-family:var(--font-body);font-size:.9rem;color:var(--text-medium-gray)}.app-header,.app-main,.app-footer{display:none}@media(max-width:768px){.landing-nav{padding:var(--spacing-sm) var(--spacing-md)}.nav-logo{font-size:1.25rem}.hero-section{min-height:60vh}.hero-elf-image{opacity:.4}.hero-title{font-size:2.25rem}.hero-subtitle{font-size:1.1rem}.hero-buttons{flex-direction:row;gap:var(--spacing-sm)}.btn-get-started,.btn-learn-more{width:140px;text-align:center;padding:10px 12px;font-size:.9rem}.steps-title{font-size:1.5rem}.steps-grid{grid-template-columns:1fr}.footer-links{flex-direction:column;gap:var(--spacing-md)}}
