*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand: #124f53;--accent: #f29b07;--heading: #000000;--text: #124f53;--bg: #ffffff;--bg-secondary: #e8f0ee;--bg-subtle: #fceacf;--bg-alt: #4b6c69;--support: #c4d5d2;--green: #2e7d32;--green-bg: #e8f5e9;--own: #e6a200;--own-bg: #fff8e1;--red: #cc0000;--gray: #999999;--gray-light: #f5f5f5;--radius: 12px;--radius-sm: 8px;--shadow: 0 2px 8px rgba(18, 79, 83, .08);--shadow-lg: 0 4px 20px rgba(18, 79, 83, .12)}body{font-family:Karla,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text);background:var(--bg-secondary);line-height:1.5;-webkit-font-smoothing:antialiased}.app{max-width:880px;margin:0 auto;padding:0 16px 48px}.hero{background:var(--brand);margin:0 -16px 32px;padding:36px 24px 32px;text-align:center}.hero-content{max-width:620px;margin:0 auto}.hero-brand{font-family:Poppins,sans-serif;font-size:12px;font-weight:600;color:var(--support);text-decoration:none;text-transform:uppercase;letter-spacing:2px;display:block;margin-bottom:8px}.hero-brand:hover{color:#fff}.hero-title{font-family:Poppins,sans-serif;font-size:28px;font-weight:700;color:#fff;line-height:1.2;margin-bottom:12px}.hero-sub{font-size:15px;color:var(--support);line-height:1.6;max-width:520px;margin:0 auto}.form-container{margin-bottom:32px}.form-card{background:var(--bg);border:1px solid var(--support);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow)}.form-section{margin-bottom:24px}.section-title{font-family:Poppins,sans-serif;font-size:17px;font-weight:600;color:var(--heading);margin-bottom:16px;display:flex;align-items:center;gap:10px}.section-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--brand);color:#fff;border-radius:50%;font-size:13px;font-weight:700}.section-motivation{font-size:13px;color:var(--bg-alt);line-height:1.5;margin:-8px 0 16px;padding:10px 14px;background:var(--bg-subtle);border-radius:var(--radius-sm)}.form-row{display:flex;gap:16px;margin-bottom:12px}.form-group{flex:1;margin-bottom:10px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}.form-hint{font-weight:400;color:var(--gray);font-size:12px}.form-input,.form-select{width:100%;padding:10px 14px;border:1.5px solid var(--support);border-radius:var(--radius-sm);font-family:Karla,sans-serif;font-size:14px;color:var(--text);background:var(--bg);transition:border-color .2s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #124f531a}.form-input::placeholder{color:var(--gray)}.country-selected{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid var(--brand);border-radius:var(--radius-sm);background:var(--bg-secondary)}.country-name{font-weight:700;color:var(--brand);font-size:14px}.country-change{margin-left:auto;background:none;border:none;color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline}.date-picker-row{display:flex;gap:12px;align-items:flex-end}.date-field{flex:1}.date-label{display:block;font-size:11px;font-weight:600;color:var(--gray);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.date-input{font-size:14px!important}.date-summary{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 20px;background:var(--brand);border-radius:var(--radius-sm);min-width:80px;flex-shrink:0}.date-days{font-size:22px;font-weight:800;color:#fff;line-height:1}.date-unit{font-size:10px;color:var(--support);font-weight:600;text-transform:uppercase}.date-months{font-size:10px;color:var(--support);margin-top:2px}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg);border:1.5px solid var(--brand);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:50;max-height:240px;overflow-y:auto;margin-top:2px}.autocomplete-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;border:none;background:none;font-family:Karla,sans-serif;font-size:14px;color:var(--text);cursor:pointer;text-align:left}.autocomplete-item:hover{background:var(--bg-secondary)}.autocomplete-empty{padding:12px 14px;font-size:13px;color:var(--gray);text-align:center;font-style:italic}.ac-climate{font-size:10px;color:var(--green);font-weight:600;background:var(--green-bg);padding:2px 8px;border-radius:10px}.input-badge{display:inline-block;margin-top:4px;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.input-badge-ok{background:var(--green-bg);color:var(--green)}.input-badge-warn{background:var(--bg-subtle);color:var(--accent)}.date-summary{display:flex;flex-direction:column;justify-content:center;align-items:center;flex:0 0 auto;padding:8px 16px;background:var(--bg-secondary);border-radius:var(--radius-sm)}.date-days{font-size:18px;font-weight:700;color:var(--brand);line-height:1}.date-months{font-size:11px;color:var(--gray);margin-top:2px}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:7px 16px;border:1.5px solid var(--support);border-radius:20px;background:var(--bg);color:var(--text);font-family:Karla,sans-serif;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.chip:hover{border-color:var(--brand);background:var(--bg-secondary)}.kids-toggle{display:flex;gap:8px;margin-bottom:10px}.kids-ages{margin-top:8px;padding:12px 16px;background:var(--bg-secondary);border-radius:var(--radius-sm)}.chip-active{background:var(--brand);color:#fff;border-color:var(--brand)}.chip-active:hover{background:var(--bg-alt)}.btn-generate{display:block;width:100%;max-width:340px;margin:12px auto 0;padding:14px 32px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-family:Poppins,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-generate:hover{background:#d98a06;transform:translateY(-1px);box-shadow:0 4px 12px #f29b074d}.btn-disabled{opacity:.5;cursor:not-allowed}.btn-disabled:hover{transform:none;box-shadow:none;background:var(--accent)}.list-container{margin-top:8px}.list-card{background:var(--bg);border:1px solid var(--support);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow)}.result-score{margin-bottom:16px}.list-title{font-family:Poppins,sans-serif;font-size:22px;font-weight:700;color:var(--heading);margin-bottom:4px}.result-summary{font-size:14px;color:var(--bg-alt)}.result-summary strong{color:var(--brand)}.season-advice{background:var(--bg-subtle);border-radius:var(--radius-sm);padding:16px 20px;margin-bottom:16px}.season-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.season-badge{display:inline-flex;align-items:center;gap:6px;background:var(--bg);padding:4px 12px;border-radius:16px;font-size:12px;font-weight:700;color:var(--brand)}.season-dot{width:8px;height:8px;border-radius:50%}.season-hot_dry{background:#e65100}.season-hot_wet{background:#1565c0}.season-cold{background:#6a1b9a}.season-mixed{background:var(--accent)}.season-label{font-size:12px}.season-unknown{font-size:11px;color:var(--gray);font-style:italic}.season-description{font-size:13px;color:var(--text);line-height:1.5;margin-bottom:8px}.season-tips{list-style:none;padding:0}.season-tips li{font-size:12px;color:var(--bg-alt);padding:3px 0 3px 16px;position:relative}.season-tips li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.plug-advice{border-radius:var(--radius-sm);padding:14px 18px;margin-bottom:16px}.plug-ok{background:var(--green-bg)}.plug-needed{background:var(--bg-subtle)}.plug-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.plug-icon{font-size:16px}.plug-title{font-size:13px;font-weight:700;color:var(--heading)}.plug-note{font-size:12px;color:var(--text);line-height:1.5;margin-bottom:4px}.plug-types{font-size:11px;color:var(--gray)}.progress-box{border:1px solid var(--support);border-radius:var(--radius-sm);padding:14px 18px;margin-bottom:16px}.progress-header{display:flex;justify-content:space-between;margin-bottom:8px}.progress-label{font-weight:600;font-size:14px;color:var(--heading)}.progress-count{font-weight:700;font-size:14px;color:var(--text)}.progress-track{height:10px;background:var(--bg-secondary);border-radius:5px;overflow:hidden;margin-bottom:6px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--bg-alt));border-radius:5px;transition:width .3s ease}.progress-stats{display:flex;gap:16px;font-size:11px;color:var(--gray)}.weight-indicator{background:var(--gray-light);border-radius:var(--radius-sm);padding:14px 18px;margin-bottom:16px}.weight-header{display:flex;justify-content:space-between;margin-bottom:10px}.weight-label{font-weight:600;font-size:13px;color:var(--heading)}.weight-total{font-weight:700;font-size:15px;color:var(--brand)}.weight-bars{display:flex;flex-direction:column;gap:4px}.weight-bar-row{display:flex;align-items:center;gap:8px}.weight-cat-name{font-size:11px;color:var(--gray);width:80px;text-align:right}.weight-bar-track{flex:1;height:6px;background:var(--bg);border-radius:3px;overflow:hidden}.weight-bar-fill{height:100%;border-radius:3px;transition:width .3s}.weight-bar-essentials{background:var(--brand)}.weight-bar-clothing{background:var(--accent)}.weight-bar-electronics{background:#5c6bc0}.weight-bar-toiletries{background:#26a69a}.weight-bar-health{background:#ef5350}.weight-bar-carry-on{background:#8d6e63}.weight-bar-travel-gear{background:#78909c}.weight-bar-other-items{background:var(--gray)}.weight-cat-value{font-size:11px;color:var(--text);width:40px;font-weight:600}.list-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.btn-action{padding:8px 18px;border:1.5px solid var(--support);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-family:Karla,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-action:hover{border-color:var(--brand);background:var(--bg-secondary)}.btn-pdf{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-pdf:hover{background:#d98a06;border-color:#d98a06}.btn-share{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-share:hover{background:var(--bg-alt);border-color:var(--bg-alt)}.btn-add{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-add:hover{background:var(--bg-alt)}.status-legend{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;background:var(--gray-light);border-radius:var(--radius-sm);margin-bottom:20px;font-size:12px}.legend-item{display:flex;align-items:center;gap:6px;color:var(--text)}.legend-dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--support)}.legend-none{background:var(--bg)}.legend-own{background:var(--own);border-color:var(--own)}.legend-packed{background:var(--brand);border-color:var(--brand)}.legend-hint{color:var(--gray);font-style:italic;margin-left:auto}.custom-form{background:var(--bg-secondary);border-radius:var(--radius-sm);padding:14px 18px;margin-bottom:20px}.custom-form .form-row{margin-bottom:8px}.custom-form .form-group{margin-bottom:0}.warning-banner{background:var(--bg-subtle);color:var(--accent);padding:10px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;margin-bottom:20px;text-align:center}.category-group{margin-bottom:24px}.category-header{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:2px solid var(--brand);margin-bottom:4px}.category-name{font-family:Poppins,sans-serif;font-size:15px;font-weight:700;color:var(--heading);display:flex;align-items:center;gap:8px}.category-name svg{color:var(--brand)}.category-meta{display:flex;align-items:center;gap:12px}.category-weight{font-size:11px;color:var(--gray);font-weight:500}.category-count{font-size:13px;font-weight:600;color:var(--gray)}.packing-item{display:flex;align-items:flex-start;gap:12px;padding:12px 8px;border-radius:var(--radius-sm);transition:background .15s}.packing-item:hover{background:var(--bg-secondary)}.item-status-packed{background:var(--green-bg)}.item-status-packed:hover{background:#d4edda}.item-status-packed .item-name{text-decoration:line-through;color:var(--gray)}.item-status-packed .item-reason{color:var(--gray)}.item-status-own{background:var(--own-bg)}.item-status-own:hover{background:#fff3cd}.item-checkbox{flex-shrink:0;padding-top:2px;cursor:pointer}.checkbox{width:24px;height:24px;border:2px solid var(--support);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.checkbox-packed{background:var(--brand);border-color:var(--brand)}.checkbox-own{background:var(--own);border-color:var(--own)}.checkbox-none{background:var(--bg)}.item-content{flex:1;min-width:0;cursor:pointer}.item-name{font-size:14px;font-weight:600;color:var(--heading);line-height:1.3}.item-qty{font-weight:400;color:var(--gray);font-size:13px;margin-left:4px}.item-reason{font-size:12px;color:var(--bg-alt);margin-top:2px;line-height:1.4}.item-actions{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.item-label{padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.label-essential{background:var(--brand);color:#fff}.label-recommended{background:var(--accent);color:#fff}.label-nicetohave{background:var(--bg-secondary);color:var(--text);border:1px solid var(--support)}.app-footer{text-align:center;padding:40px 24px;background:var(--brand);margin:40px -16px 0;color:var(--support)}.footer-brand{margin-bottom:20px}.footer-logo{font-family:Poppins,sans-serif;font-size:20px;font-weight:700;color:#fff;display:block;margin-bottom:8px}.footer-desc{font-size:13px;max-width:480px;margin:0 auto;line-height:1.6;color:var(--support)}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:20px}.footer-links a{color:#fff;text-decoration:none;font-size:13px;font-weight:600;opacity:.8;transition:opacity .2s}.footer-links a:hover{opacity:1;text-decoration:underline}.footer-review{margin-bottom:16px}.footer-privacy{font-size:11px;color:var(--bg-alt);margin-bottom:8px}.footer-copy{font-size:11px;color:var(--bg-alt)}.loading-state{text-align:center;padding:40px 20px;color:var(--text);font-size:14px}.loading-spinner{width:32px;height:32px;margin:0 auto 12px;border:3px solid var(--support);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.custom-date-picker{flex:1}.date-selects{display:flex;gap:6px}.date-select{flex:1;padding:10px 24px 10px 8px;border:1.5px solid var(--support);border-radius:var(--radius-sm);font-family:Karla,sans-serif;font-size:13px;color:var(--text);background:var(--bg);cursor:pointer;transition:border-color .2s;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23999' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.date-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #124f531a}.date-select:disabled{opacity:.4;cursor:not-allowed;background-color:var(--gray-light)}.date-select-day{max-width:75px}.date-select-month{flex:2}.date-select-year{max-width:85px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg);border-radius:var(--radius);padding:28px 24px;max-width:460px;width:100%;box-shadow:var(--shadow-lg);position:relative}.modal-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:18px;color:var(--gray);cursor:pointer;font-weight:700;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:hover{background:var(--bg-secondary);color:var(--text)}.modal-title{font-family:Poppins,sans-serif;font-size:17px;font-weight:700;color:var(--heading);margin-bottom:20px}.share-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.share-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1.5px solid var(--support);border-radius:var(--radius-sm);background:var(--bg);font-family:Karla,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;color:var(--text)}.share-btn:hover{border-color:var(--brand);background:var(--bg-secondary)}.share-whatsapp{color:#25d366;border-color:#25d366}.share-whatsapp:hover{background:#25d366;color:#fff}.share-email{color:var(--brand)}.share-facebook{color:#1877f2;border-color:#1877f2}.share-facebook:hover{background:#1877f2;color:#fff}.share-x{color:#000;border-color:#000}.share-x:hover{background:#000;color:#fff}.share-copy{display:flex;gap:8px;margin-bottom:20px}.share-url{flex:1;padding:10px 12px;border:1.5px solid var(--support);border-radius:var(--radius-sm);font-family:Karla,sans-serif;font-size:12px;color:var(--gray);background:var(--gray-light);overflow:hidden;text-overflow:ellipsis}.share-copy-btn{padding:10px 20px;background:var(--brand);color:#fff;border:none;border-radius:var(--radius-sm);font-family:Karla,sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s;white-space:nowrap}.share-copy-btn:hover{background:var(--bg-alt)}.share-review{text-align:center;padding:14px;background:var(--bg-subtle);border-radius:var(--radius-sm)}.share-review p{font-size:13px;color:var(--text);margin-bottom:8px}.review-cta{text-align:center;padding:20px;background:var(--bg-subtle);border-radius:var(--radius-sm);margin-top:24px}.review-text{font-size:14px;color:var(--text);margin-bottom:10px}.btn-review{display:inline-block;padding:8px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:Karla,sans-serif;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;transition:background .2s}.btn-review:hover{background:#d98a06}.footer-review{display:inline-block;margin-top:8px;color:var(--accent);font-weight:600;text-decoration:none;font-size:13px}.footer-review:hover{text-decoration:underline}.btn-buy{display:inline-block;padding:5px 16px;border:1.5px solid var(--accent);border-radius:14px;background:var(--bg);color:var(--accent);font-family:Karla,sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;text-decoration:none;text-align:center}.btn-buy:hover{background:var(--accent);color:#fff}.btn-reset{color:var(--red);border-color:var(--red)}.btn-reset:hover{background:var(--red);color:#fff;border-color:var(--red)}@media(max-width:640px){.form-row{flex-direction:column;gap:0}.hero{padding:28px 20px 24px}.hero-title{font-size:22px}.hero-sub{font-size:13px}.date-picker-row{flex-direction:column;gap:8px}.date-summary{flex-direction:row;gap:8px;padding:10px 16px}.share-buttons{grid-template-columns:1fr 1fr}.form-card,.list-card{padding:20px 16px}.list-actions{gap:6px}.btn-action{padding:8px 12px;font-size:12px}.packing-item{padding:10px 4px}.item-label{font-size:10px;padding:2px 8px}.progress-stats{flex-direction:column;gap:2px}.weight-cat-name{width:60px;font-size:10px}.status-legend{gap:10px}.legend-hint{margin-left:0}.season-tips li{font-size:11px}.date-summary{flex-direction:row;gap:8px}}
