.app__header{text-align:center;margin-bottom:24px}.app__header h1{margin-bottom:4px}.flag-icon{display:inline-block;width:1.2em;height:.8em;vertical-align:middle;border-radius:2px;box-shadow:0 0 0 1px #ffffff26}.app__header p{color:var(--text-muted);max-width:560px;margin:0 auto}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}.panel--secondary{background:var(--panel-2)}.panel h2{margin-top:0;font-size:1.1rem}.year-calendar__nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:4px}.year-calendar__nav-btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 14px;font-size:.9rem;cursor:pointer}.year-calendar__nav-btn:hover{border-color:var(--accent-2)}.year-calendar__year{font-size:1.5rem;font-weight:800;min-width:70px;text-align:center}.year-calendar__caption{text-align:center;color:var(--text-muted);font-size:.78rem;margin:4px 0 16px}.year-calendar__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.month-card{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:10px}.month-card__title{margin:0 0 8px;font-size:.85rem;text-align:center;color:var(--text)}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.month-grid__weekday{font-size:.6rem;color:var(--text-muted);text-align:center;padding-bottom:2px}.month-grid__day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;font-size:.68rem;border-radius:5px;color:var(--text)}.month-grid__day--empty{visibility:hidden}.month-grid__day--weekend{color:var(--weekend)}.month-grid__day--holiday{background:var(--holiday);color:#2a1c02;font-weight:700}.month-grid__day--today{border:2px solid var(--accent-2);font-weight:700}.month-grid__day--selected{box-shadow:0 0 0 2px var(--selected);transform:scale(1.08)}.year-calendar__selection{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--selected);font-size:.85rem;font-weight:600;margin:0 0 16px}.year-calendar__selection-clear{background:transparent;border:1px solid var(--selected);color:var(--selected);border-radius:999px;padding:3px 10px;font-size:.75rem;cursor:pointer}.year-calendar__selection-clear:hover{background:color-mix(in srgb,var(--selected) 15%,transparent)}.field-group{display:flex;gap:16px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:200px;font-size:.85rem;color:var(--text-muted)}.field select,.field input{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:8px;font-size:1rem}.field select:focus,.field input:focus{outline:2px solid var(--accent-2)}.field--checkbox{flex-direction:row;align-items:center;gap:10px;margin-top:14px;font-size:.9rem;color:var(--text)}.field--checkbox input{width:18px;height:18px;accent-color:var(--accent)}.plan-summary__hero{text-align:center;background:color-mix(in srgb,var(--vacation) 16%,transparent);border:1px solid color-mix(in srgb,var(--vacation) 45%,transparent);border-radius:14px;padding:20px;margin-bottom:12px}.plan-summary__hero-number{display:block;font-size:3.2rem;font-weight:800;line-height:1;color:var(--vacation)}.plan-summary__hero-label{font-size:.95rem;color:var(--text-muted)}.plan-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px}.plan-summary__stat{flex:1;min-width:120px;border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:2px}.plan-summary__number{font-size:1.3rem;font-weight:800;line-height:1.1}.plan-summary__label{font-size:.78rem;color:var(--text-muted)}.plan-summary__stat--used{background:color-mix(in srgb,var(--weekend) 16%,transparent)}.plan-summary__stat--used .plan-summary__number{color:var(--weekend)}.plan-summary__stat--bonus{background:color-mix(in srgb,var(--bonus) 18%,transparent)}.plan-summary__stat--bonus .plan-summary__number{color:var(--bonus)}.plan-summary__sub{color:var(--text-muted);font-size:.85rem;margin:0 0 16px}.stat-pills{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}.stat-pill{font-size:.78rem;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}.stat-pill--used{background:color-mix(in srgb,var(--weekend) 22%,transparent);color:var(--weekend)}.stat-pill--bonus{background:color-mix(in srgb,var(--bonus) 24%,transparent);color:var(--bonus)}.suggestion-card__highlight{margin:2px 0 8px;font-size:1.15rem;color:var(--vacation)}.suggestion-card__highlight strong{font-size:1.5rem;font-weight:800}.suggestion-card__efficiency{margin:4px 0 0;color:var(--text-muted);font-size:.78rem}.ad-banner{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.ad-banner__item{display:flex;align-items:center;gap:10px;border:1px dashed var(--border);border-radius:10px;padding:10px 14px;text-decoration:none;color:var(--text);background:#ffffff05}.ad-banner__item img{width:40px;height:40px;object-fit:cover;border-radius:6px;flex-shrink:0}.ad-banner__label{flex:1;font-size:.9rem}.ad-banner__tag{font-size:.65rem;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px;flex-shrink:0}.empty-state{color:var(--text-muted)}.results-list{display:flex;flex-direction:column;gap:16px}.suggestion-card{border:1px solid var(--border);border-radius:10px;padding:16px;background:#ffffff05;cursor:pointer;transition:border-color .15s ease,background .15s ease}.suggestion-card:hover{border-color:var(--accent-2)}.suggestion-card:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.suggestion-card--selected{border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 8%,transparent)}.suggestion-card__hint{display:block;text-align:right;font-size:.7rem;color:var(--text-muted);margin-bottom:8px}.suggestion-card--selected .suggestion-card__hint{color:var(--accent-2);font-weight:700}.suggestion-card__header{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.suggestion-card__rank{background:var(--accent);color:#0a1410;font-weight:700;border-radius:999px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.suggestion-card h3{margin:0 0 4px;font-size:1rem;text-transform:capitalize}.suggestion-card__meta{margin:0;color:var(--text-muted);font-size:.9rem}.day-strip{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.day-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;width:38px;height:38px;border-radius:6px;font-size:.7rem;line-height:1.1}.day-chip__dow{opacity:.7;font-size:.6rem}.day-chip__num{font-weight:600}.day-chip--holiday{background:color-mix(in srgb,var(--holiday) 25%,transparent);color:var(--holiday)}.day-chip--weekend{background:color-mix(in srgb,var(--weekend) 25%,transparent);color:var(--weekend)}.day-chip--vacation{background:color-mix(in srgb,var(--vacation) 25%,transparent);color:var(--vacation)}.legend{display:flex;gap:16px;font-size:.8rem;color:var(--text-muted);flex-wrap:wrap}.legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.dot--holiday{background:var(--holiday)}.dot--weekend{background:var(--weekend)}.dot--vacation{background:var(--vacation)}.suggestion-card__heading{flex:1;min-width:0}@media(max-width:640px){.app__header h1{font-size:1.4rem}.panel{padding:14px}.field-group{flex-direction:column;gap:12px}.field{min-width:0}.plan-summary__hero{padding:16px}.plan-summary__hero-number{font-size:2.4rem}.plan-summary{flex-direction:column}.plan-summary__stat{min-width:0}.suggestion-card__highlight{font-size:1rem}.suggestion-card__highlight strong{font-size:1.25rem}.day-chip{width:30px;height:30px;font-size:.62rem}.suggestion-card__rank{width:28px;height:28px;font-size:.85rem}.legend{gap:10px;font-size:.72rem}.ad-banner__item{flex-wrap:wrap}.year-calendar__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.year-calendar__year{font-size:1.2rem;min-width:50px}.year-calendar__nav-btn{padding:6px 10px;font-size:.8rem}.month-grid__day{font-size:.58rem}}:root{--bg: #0f1620;--panel: #161f2c;--panel-2: #1c2837;--border: #2a3a4d;--text: #e8edf3;--text-muted: #9bacc0;--accent: #36c98f;--accent-2: #4d9eff;--holiday: #e0a93b;--weekend: #4d9eff;--vacation: #36c98f;--bonus: #ffb400;--selected: #ff5fa2;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}#root{max-width:960px;margin:0 auto;padding:24px 16px 64px}@media(max-width:640px){#root{padding:16px 10px 48px}}
