.ctrl-label{font-size:10px;font-weight:500;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:block}.segs{display:flex;flex-wrap:wrap;gap:6px}.seg{font-size:12px;padding:6px 14px;border-radius:20px;border:1px solid var(--border);cursor:pointer;background:#fff;color:var(--muted);transition:all .15s;font-family:DM Sans,sans-serif}.seg.on{background:var(--green);color:#fff;border-color:var(--green)}.stepper-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:16px;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:DM Sans,sans-serif}.stepper-btn:hover{border-color:var(--green);color:var(--green)}.gen-btn{width:100%;background:var(--green);color:#fff;border:none;padding:13px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s;font-family:DM Sans,sans-serif}.gen-btn:hover{background:var(--green-dark)}.gen-btn:disabled{background:var(--muted);cursor:not-allowed}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;text-align:center;color:var(--muted);font-size:14px;line-height:1.7}.empty-icon{font-size:48px;opacity:.25;margin-bottom:16px}.empty-state strong{color:var(--ink);font-weight:500}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.spinner{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:13px;color:var(--muted)}.action-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--border)}.trip-info{font-size:13px;font-weight:500;color:var(--ink)}.action-links{display:flex;gap:4px;align-items:center}.action-link{font-size:12px;color:var(--green);background:none;border:none;cursor:pointer;padding:4px 6px;font-family:DM Sans,sans-serif;transition:opacity .15s}.action-link:hover{opacity:.7}.action-sep{font-size:12px;color:var(--border)}.category-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:12px}.category-title{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.cat-emoji{width:30px;height:30px;background:var(--cream);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.cat-name-text{font-size:14px;font-weight:500;color:var(--ink);flex:1}.cat-amz-all{font-size:11px;color:#c65d00;text-decoration:none;opacity:.75;white-space:nowrap;transition:opacity .15s}.cat-amz-all:hover{opacity:1}.item-list{padding:0}.checklist-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid rgba(226,221,214,.6);transition:background .1s}.checklist-item:last-child{border-bottom:none}.item-details{flex:1;min-width:0}.item-name{font-size:13px;font-weight:500;color:var(--ink);line-height:1.4}.item-price{font-size:11px;color:var(--muted);margin-top:2px}.purchase-btns{display:flex;gap:6px;flex-shrink:0;align-items:center}.pill-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500;text-decoration:none;white-space:nowrap;transition:opacity .15s,transform .1s;border:1.5px solid transparent;line-height:1.4}.pill-btn:hover{opacity:.85;transform:scale(1.03)}.pill-amazon{background:#fff8f0;color:#b85c00;border-color:#f5c97a}.pill-rei{background:var(--green-light);color:#0a4d3c;border-color:#7dc4a8}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;gap:12px}.error-state p{font-size:14px;color:var(--muted);max-width:280px;line-height:1.6}.cat-filters{display:flex;flex-direction:column;gap:6px}.cat-check{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:#fff;transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:13px;color:var(--muted)}.cat-check:hover{border-color:var(--green);color:var(--ink)}.cat-check input[type=checkbox]{width:15px;height:15px;accent-color:var(--green);cursor:pointer;flex-shrink:0}.cat-check:has(input:checked){border-color:var(--green);background:var(--green-light);color:var(--ink)}.retry-btn{background:var(--green);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:13px;cursor:pointer;font-family:DM Sans,sans-serif}.loading-steps{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:0;padding:40px}.loading-step{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:14px;color:var(--muted);opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease;width:100%;max-width:320px}.loading-step.visible{opacity:1;transform:translateY(0)}.loading-step.done .step-icon{color:var(--green)}.loading-step.active{color:var(--ink);font-weight:500}.step-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--border);transition:color .3s}.step-spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.category-card{animation:cardIn .35s ease forwards;opacity:0}.item-thumb{width:52px;height:52px;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:1px solid var(--border);cursor:pointer;flex-shrink:0;background:var(--cream);transition:opacity .15s}.item-thumb:hover{opacity:.85}.item-thumb-placeholder{width:52px;height:52px;border-radius:8px;border:1px solid var(--border);background:var(--cream);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--border)}.lightbox-overlay{position:fixed;inset:0;background:#000000bf;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-card{background:#fff;border-radius:16px;overflow:hidden;max-width:420px;width:100%;animation:slideUp .25s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lightbox-img{width:100%;height:280px;-o-object-fit:contain;object-fit:contain;background:var(--cream);padding:16px}.lightbox-body{padding:20px}.lightbox-name{font-size:15px;font-weight:500;color:var(--ink);line-height:1.4;margin-bottom:6px}.lightbox-price{font-size:13px;color:var(--muted);margin-bottom:16px}.lightbox-btns{display:flex;gap:8px;flex-wrap:wrap}.lightbox-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s;border:1.5px solid transparent}.lightbox-btn:hover{opacity:.85}.lightbox-btn-amz{background:#fff8f0;color:#b85c00;border-color:#f5c97a}.lightbox-btn-rei{background:var(--green-light);color:#0a4d3c;border-color:#7dc4a8}.lightbox-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:#ffffffe6;border:none;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .15s}.lightbox-close:hover{background:#fff}
