:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,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}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}.calendar-day{min-height:70px;padding:6px 4px;border:1px solid #e0e0e0;cursor:pointer;position:relative;background-color:#fff;transition:all .2s;display:flex;flex-direction:column;justify-content:flex-start}.calendar-day.empty{background-color:#f5f5f5;cursor:default}.calendar-day.other-month{background-color:#f9f9f9;color:#999}.calendar-day.weekend{background-color:#f0f0f0}.calendar-day.holiday{background-color:#fff3cd;border-color:#ffc107}.calendar-day.company-holiday{background-color:#d4edda;border-color:#28a745}.calendar-day.suggested{background-color:#d1ecf1;border-color:#17a2b8}.calendar-day.selected{background-color:#cce5ff;border-color:#007bff;font-weight:700}.calendar-day.selectable:hover{background-color:#e3f2fd}.day-number{font-size:14px;font-weight:500}.holiday-name{font-size:9px;color:#856404;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.company-holiday-name{font-size:9px;color:#155724;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.selected-indicator{position:absolute;top:2px;right:4px;font-size:12px;color:#007bff;font-weight:700}.calendar-month{margin-bottom:2rem}.calendar-header{margin-bottom:1rem}.calendar-header h3{margin:0;font-size:1.5rem;color:#333}.calendar-grid{display:flex;flex-direction:column}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:.5rem}.weekday{text-align:center;font-weight:600;font-size:12px;color:#666;padding:8px 4px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.calendar-container{width:100%}.calendar-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.calendar-nav-group{display:flex;align-items:center;gap:.5rem}.nav-button{padding:8px 12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.nav-button:hover{background-color:#0056b3}.month-select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer}.month-select:focus{outline:none;border-color:#007bff}.today-button{background-color:#6c757d}.today-button:hover{background-color:#5a6268}.view-toggle{display:flex;gap:.25rem;background-color:#f0f0f0;padding:2px;border-radius:4px}.view-button{padding:6px 12px;border:none;border-radius:3px;cursor:pointer;font-size:12px;font-weight:500;background:transparent;color:#666;transition:all .2s}.view-button:hover{background-color:#e0e0e0}.view-button.active{background-color:#fff;color:#007bff;box-shadow:0 1px 2px #0000001a}.calendar-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}@media(max-width:768px){.calendar-months{grid-template-columns:1fr;gap:1rem}.calendar-controls{flex-direction:column;align-items:stretch}.calendar-nav-group{justify-content:center}.view-toggle{width:100%;justify-content:center}}.calendar-legend{display:flex;gap:2rem;flex-wrap:wrap;padding:1rem;background-color:#f5f5f5;border-radius:4px}.legend-item{display:flex;align-items:center;gap:8px}.legend-color{width:20px;height:20px;border:1px solid #ccc;border-radius:2px}.legend-color.holiday{background-color:#fff3cd;border-color:#ffc107}.legend-color.suggested{background-color:#d1ecf1;border-color:#17a2b8}.legend-color.selected{background-color:#cce5ff;border-color:#007bff}.legend-color.company-holiday{background-color:#d4edda;border-color:#28a745}.legend-color.weekend{background-color:#f0f0f0}.plan-suggestions{margin-bottom:2rem}.plan-suggestions.empty{padding:2rem;text-align:center;color:#666;background-color:#f5f5f5;border-radius:4px}.plan-suggestions h3{margin-bottom:1rem;color:#333}.suggestions-list{display:flex;flex-direction:column;gap:1rem}.suggestion-card{padding:1rem;border:1px solid #ddd;border-radius:8px;background-color:#fff;box-shadow:0 2px 4px #0000001a}.suggestion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.suggestion-rank{font-weight:700;color:#007bff;font-size:1.2rem}.suggestion-dates{font-weight:500;color:#333}.suggestion-details{display:flex;gap:1.5rem;margin-bottom:.75rem;flex-wrap:wrap}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item .label{font-size:12px;color:#666}.detail-item .value{font-size:16px;font-weight:600;color:#333}.suggestion-reason{margin:.75rem 0;color:#555;font-size:14px;font-style:italic}.apply-button{padding:8px 16px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.apply-button:hover{background-color:#218838}.strategy-selector{margin-bottom:2rem}.strategy-label{display:block;font-size:16px;font-weight:600;color:#333;margin-bottom:.5rem}.strategy-subtitle{font-size:14px;color:#666;margin:0 0 1rem}.strategy-options{display:flex;flex-direction:column;gap:.75rem}.strategy-option{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;background-color:#fff;position:relative}.strategy-option:hover{border-color:#007bff;background-color:#f8f9ff}.strategy-option.selected{border-color:#007bff;background-color:#e7f3ff}.strategy-option.disabled{opacity:.6;cursor:not-allowed;background-color:#f5f5f5}.strategy-option.disabled:hover{border-color:#e0e0e0;background-color:#f5f5f5}.strategy-option.disabled .strategy-radio input[type=radio]{cursor:not-allowed}.strategy-used-badge{font-size:12px;font-weight:400;color:#999;font-style:italic}.strategy-apply-button{padding:8px 16px;background-color:#667eea;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.strategy-apply-button:hover{background-color:#5568d3}.strategy-apply-button:active{background-color:#4457b8}.strategy-radio{flex-shrink:0;margin-top:2px}.strategy-radio input[type=radio]{width:18px;height:18px;cursor:pointer}.strategy-content{flex:1}.strategy-name{font-size:15px;font-weight:600;color:#333;margin-bottom:.25rem}.strategy-description{font-size:13px;color:#666;line-height:1.4}.holiday-planner{width:100%}.pto-display-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:24px}.pto-display-description{margin:0 0 16px;color:#666;font-size:14px}.pto-display-stats{display:flex;gap:24px;flex-wrap:wrap}.pto-stat{display:flex;align-items:center;gap:8px}.pto-stat-label{font-weight:500;color:#333;font-size:14px}.pto-stat-value{font-weight:600;font-size:16px;color:#667eea}.pto-stat-value.pto-zero{color:#d32f2f}.pto-stat-value.pto-low{color:#f57c00}.strategy-selector-section{margin-bottom:24px}.stats-panel{padding:1.5rem;background-color:#f8f9fa;border-radius:8px;margin-bottom:2rem}.stats-panel h3{margin:0 0 1rem;color:#333}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card{padding:1rem;background-color:#fff;border-radius:6px;border:1px solid #ddd;text-align:center}.stat-card.highlight{border-color:#007bff;background-color:#e7f3ff}.stat-label{font-size:12px;color:#666;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:2rem;font-weight:700;color:#333;margin-bottom:.25rem}.stat-description{font-size:12px;color:#666;margin-top:.5rem;font-style:italic}.plan-card{padding:1.25rem;border:1px solid #ddd;border-radius:8px;background-color:#fff;box-shadow:0 2px 4px #0000001a;margin-bottom:1rem;display:flex;flex-direction:column}.plan-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;gap:1rem}.plan-title-section{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.plan-card-header h4{margin:0;color:#333;font-size:1.1rem;word-break:break-word}.overlap-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background-color:#fff3cd;color:#856404;border:1px solid #ffc107;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.plan-card.has-overlaps{border-color:#ffc107;border-width:2px;background-color:#fffef9}.plan-actions{display:flex;gap:.4rem;flex-shrink:0}.action-button{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:500;transition:all .2s;white-space:nowrap;flex-shrink:0}.action-button.select{background-color:#007bff;color:#fff}.action-button.select:hover{background-color:#0056b3}.action-button.edit{background-color:#ffc107;color:#333}.action-button.edit:hover{background-color:#e0a800}.action-button.share{background-color:#17a2b8;color:#fff}.action-button.share:hover{background-color:#138496}.action-button.delete{background-color:#dc3545;color:#fff}.action-button.delete:hover{background-color:#c82333}.plan-description{color:#666;margin:0 0 1rem;font-size:14px}.plan-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-bottom:1rem}.detail{display:flex;justify-content:space-between}.detail-label{font-size:12px;color:#666}.detail-value{font-size:14px;font-weight:500;color:#333}.plan-footer{padding-top:1rem;border-top:1px solid #eee}.plan-date{font-size:12px;color:#999}.overlap-warning{margin:1rem 0;padding:.75rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;font-size:13px}.overlap-warning-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;color:#856404}.overlap-icon{font-size:16px}.overlap-text{flex:1}.overlapping-plans-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.overlap-plan-name{display:inline-block;padding:4px 8px;background-color:#fff;border:1px solid #ffc107;border-radius:4px;font-size:12px;color:#856404;font-weight:500}@media(max-width:600px){.plan-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.plan-actions{width:100%;flex-wrap:wrap}.action-button{flex:1;min-width:calc(50% - .2rem)}}.plan-form{padding:1.5rem;background-color:#fff;border:1px solid #ddd;border-radius:8px;margin-bottom:2rem}.plan-form h3{margin:0 0 1.5rem;color:#333}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group textarea{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-info{margin:1rem 0;padding:.75rem;background-color:#f8f9fa;border-radius:4px;font-size:14px;color:#666}.form-info p{margin:.25rem 0}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.cancel-button,.save-button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.cancel-button{background-color:#6c757d;color:#fff}.cancel-button:hover{background-color:#5a6268}.save-button{background-color:#28a745;color:#fff}.save-button:hover{background-color:#218838}.share-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.share-modal{background:#fff;border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.share-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #ddd}.share-modal-header h3{margin:0;color:#333}.close-button{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.close-button:hover{background-color:#f0f0f0}.share-modal-content{padding:1.5rem}.share-description{margin:0 0 1.5rem;color:#666;line-height:1.5}.share-url-container{display:flex;gap:.5rem;margin-bottom:1.5rem}.share-url-input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:monospace;background-color:#f8f9fa}.share-url-input:focus{outline:none;border-color:#007bff;background-color:#fff}.copy-button{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;transition:background-color .2s}.copy-button:hover{background-color:#0056b3}.copy-button.copied{background-color:#28a745}.copy-button.copied:hover{background-color:#218838}.share-info{background-color:#f8f9fa;padding:1rem;border-radius:4px;border:1px solid #e0e0e0}.share-info p{margin:0 0 .5rem;color:#333}.share-info ul{margin:.5rem 0;padding-left:1.5rem;color:#666}.share-info li{margin:.25rem 0}.share-note{margin-top:1rem!important;font-size:12px;color:#666;font-style:italic}.plan-list{width:100%}.plan-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.plan-list-header h2{margin:0;color:#333}.new-plan-button{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.new-plan-button:hover{background-color:#0056b3}.empty-state{text-align:center;padding:3rem;background-color:#f8f9fa;border-radius:8px;color:#666}.empty-state p{margin-bottom:1rem}.overlap-summary{margin-bottom:2rem;padding:1rem 1.25rem;background-color:#fff3cd;border:2px solid #ffc107;border-radius:8px}.overlap-summary-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.overlap-summary-icon{font-size:20px}.overlap-summary-title{font-size:16px;font-weight:600;color:#856404}.overlap-summary-content{font-size:14px;color:#856404;line-height:1.6}.overlap-summary-content p{margin:.5rem 0}.overlap-summary-content strong{color:#856404;font-weight:600}.overlap-summary-note{font-size:12px;color:#856404;opacity:.8;margin-top:.5rem}.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.plan-breakdown{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.plan-breakdown h3{margin:0 0 1rem;color:#333;font-size:1.25rem}.breakdown-overlap-warning{margin-bottom:1.5rem;padding:1rem;background-color:#fff3cd;border:2px solid #ffc107;border-radius:6px}.breakdown-overlap-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-weight:600;color:#856404;font-size:14px}.breakdown-overlap-icon{font-size:18px}.breakdown-overlap-text{flex:1}.breakdown-overlapping-plans{display:flex;flex-direction:column;gap:.5rem;font-size:13px;color:#856404}.breakdown-overlap-label{font-weight:600}.breakdown-overlap-plan-names{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.breakdown-overlap-plan-name{display:inline-block;padding:4px 8px;background-color:#fff;border:1px solid #ffc107;border-radius:4px;font-weight:500}.breakdown-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background-color:#f8f9fa;border-radius:6px}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-item.total{grid-column:1 / -1;padding-top:1rem;border-top:2px solid #ddd;flex-direction:row;justify-content:space-between;align-items:center}.summary-label{font-size:.875rem;color:#666;font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:#333}.summary-value.highlight{color:#28a745}.summary-value.holiday{color:#dc3545}.summary-value.weekend{color:#6c757d}.summary-item.total .summary-value{font-size:1.75rem;color:#007bff}.breakdown-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.breakdown-section{background-color:#f8f9fa;padding:1rem;border-radius:6px}.breakdown-section h4{margin:0 0 .75rem;color:#333;font-size:1rem}.dates-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.date-item{padding:.5rem;background-color:#fff;border-radius:4px;border-left:3px solid #ddd;font-size:.875rem}.date-item.vacation{border-left-color:#28a745;background-color:#f0f9f4}.date-item.holiday{border-left-color:#dc3545;background-color:#fff5f5}.date-item.holiday{display:flex;justify-content:space-between;align-items:center}.holiday-date{font-weight:500;color:#333}.holiday-name{color:#666;font-size:.8125rem}.no-dates{color:#999;font-style:italic;text-align:center;padding:1rem;margin:0}@media(max-width:768px){.breakdown-summary,.breakdown-details{grid-template-columns:1fr}}.chat-assistant{display:flex;flex-direction:column;height:500px;border:1px solid #ddd;border-radius:8px;background-color:#fff;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.chat-message{display:flex;max-width:80%}.chat-message.user{align-self:flex-end}.chat-message.assistant{align-self:flex-start}.message-content{padding:.75rem 1rem;border-radius:12px;word-wrap:break-word}.chat-message.user .message-content{background-color:#007bff;color:#fff}.chat-message.assistant .message-content{background-color:#f0f0f0;color:#333}.chat-input-form{display:flex;gap:.5rem;padding:1rem;border-top:1px solid #ddd;background-color:#f8f9fa}.chat-input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:14px}.chat-input:focus{outline:none;border-color:#007bff}.chat-send{padding:.75rem 1.5rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.chat-send:hover:not(:disabled){background-color:#0056b3}.chat-send:disabled{opacity:.6;cursor:not-allowed}.pto-input{margin-bottom:2rem}.pto-label{display:block;font-size:16px;font-weight:600;color:#333;margin-bottom:.5rem}.pto-description{font-size:14px;color:#666;margin:0 0 1rem}.pto-input-field{width:100%;max-width:300px;padding:12px 16px;border:2px solid #ddd;border-radius:6px;font-size:16px;transition:border-color .2s}.pto-input-field:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.pto-input-field::placeholder{color:#999}.pto-display{display:flex;gap:2rem;margin-top:.5rem}.pto-stat{display:flex;flex-direction:column;gap:.25rem}.pto-stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.pto-stat-value{font-size:24px;font-weight:700;color:#007bff}.pto-stat-value.pto-low{color:#ff9800}.pto-stat-value.pto-zero{color:#f44336}.timeframe-selector{margin-bottom:2rem}.timeframe-label{display:block;font-size:16px;font-weight:600;color:#333;margin-bottom:.5rem}.timeframe-subtitle{font-size:14px;color:#666;margin:0 0 1rem}.timeframe-options{display:flex;flex-direction:column;gap:.75rem}.timeframe-option{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;background-color:#fff}.timeframe-option:hover{border-color:#007bff;background-color:#f8f9ff}.timeframe-option.selected{border-color:#007bff;background-color:#e7f3ff}.timeframe-option input[type=radio]{width:18px;height:18px;margin-top:2px;cursor:pointer}.timeframe-content{flex:1}.timeframe-name{font-size:15px;font-weight:600;color:#333;margin-bottom:.25rem}.timeframe-description{font-size:13px;color:#666;margin-bottom:.75rem}.year-select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer}.custom-dates{display:flex;gap:1rem;flex-wrap:wrap}.date-input-group{display:flex;flex-direction:column;gap:.25rem}.date-input-group label{font-size:12px;color:#666;font-weight:500}.date-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;cursor:pointer}.date-input:focus{outline:none;border-color:#007bff}.company-holidays{margin-bottom:2rem;padding:1.5rem;background-color:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.company-holidays-label{display:block;font-size:16px;font-weight:600;color:#333;margin-bottom:.5rem}.company-holidays-description{font-size:14px;color:#666;margin:0 0 1.5rem}.add-holiday-form{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:150px}.form-group label{font-size:12px;color:#666;font-weight:500}.date-input,.name-input{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.date-input:focus,.name-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.add-button{padding:10px 20px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;transition:background-color .2s}.add-button:hover{background-color:#218838}.holidays-list{margin-top:1.5rem}.holidays-list h4{margin:0 0 1rem;font-size:14px;color:#333;font-weight:600}.holidays-grid{display:flex;flex-direction:column;gap:.5rem}.holiday-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:#fff;border:1px solid #ddd;border-radius:4px}.holiday-info{display:flex;gap:1rem;align-items:center}.holiday-date{font-weight:600;color:#333;min-width:100px}.holiday-name{color:#666}.delete-holiday-button{background:none;border:none;font-size:24px;color:#dc3545;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.delete-holiday-button:hover{background-color:#f8d7da}.planning-config-panel{padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.planning-config-panel h2{margin:0 0 .5rem;color:#333;font-size:1.75rem}.config-subtitle{color:#666;margin:0 0 2rem;font-size:14px}.config-steps{display:flex;flex-direction:column;gap:2rem}.config-step{display:flex;gap:1.5rem;align-items:flex-start}.step-number{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.step-content{flex:1}.optimize-section{margin-top:2rem;padding-top:2rem;border-top:2px solid #e0e0e0;text-align:center}.optimize-button{padding:14px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px #667eea4d}.optimize-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.optimize-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.optimize-hint{margin-top:.75rem;color:#666;font-size:14px}.export-panel{padding:1.5rem;background-color:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;margin-bottom:2rem}.export-panel h3{margin:0 0 1.5rem;color:#333}.export-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e0e0e0}.export-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.export-section h4{margin:0 0 .5rem;color:#333;font-size:16px}.export-section p{margin:0 0 1rem;color:#666;font-size:14px}.export-button{padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.export-button:hover{background-color:#0056b3}.ooo-controls{display:flex;gap:1rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.ooo-controls label{display:flex;align-items:center;gap:.5rem;font-size:14px;color:#333}.tone-select{padding:6px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.generate-button{padding:8px 16px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.generate-button:hover{background-color:#218838}.ooo-message-container{margin-top:1rem}.ooo-message{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;margin-bottom:.5rem}.copy-button{padding:8px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.copy-button:hover{background-color:#5a6268}.generate-button:disabled{opacity:.6;cursor:not-allowed}.ooo-error{margin-top:1rem;padding:.75rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;font-size:13px}.ooo-error small{display:block;margin-top:.25rem;color:#666}.country-selector{display:flex;align-items:center;gap:.5rem}.country-selector label{font-weight:500;color:#333}.country-select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:200px}.country-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.country-select:disabled{background-color:#f5f5f5;cursor:not-allowed}.region-selector-dropdown{display:flex;align-items:center;gap:.5rem}.region-selector-dropdown label{font-size:14px;font-weight:500;color:#333}.region-select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer;min-width:150px}.region-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.region-select:disabled{opacity:.6;cursor:not-allowed;background-color:#f5f5f5}.settings-tab{max-width:800px;margin:0 auto;padding:24px}.settings-tab-header{margin-bottom:32px}.settings-tab-header h2{margin:0 0 8px;font-size:28px;font-weight:600;color:#333}.settings-subtitle{margin:0;color:#666;font-size:14px}.settings-content{display:flex;flex-direction:column;gap:24px}.settings-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:24px}.settings-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#333}.settings-option-card{border:1px solid #e0e0e0;border-radius:6px;padding:16px;background:#fafafa}.settings-option-content{display:flex;align-items:center;justify-content:space-between;gap:16px}.settings-option-header{display:flex;align-items:flex-start;gap:12px;flex:1}.settings-option-icon{font-size:24px;flex-shrink:0}.settings-option-title{font-size:16px;font-weight:600;color:#333;margin-bottom:4px}.settings-option-description{font-size:14px;color:#666;line-height:1.5}.settings-action-button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.settings-action-button.reset-button{background-color:#d32f2f;color:#fff}.settings-action-button.reset-button:hover{background-color:#b71c1c}.settings-action-button.reset-button:active{background-color:#9a0000}@media(max-width:768px){.settings-tab{padding:16px}.settings-option-content{flex-direction:column;align-items:stretch}.settings-action-button{width:100%}}.app{min-height:100vh;background-color:#f5f5f5}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.header-content{display:flex;justify-content:center;align-items:center;width:100%;max-width:1200px;margin:0 auto}.header-text{text-align:center}.app-header h1{margin:0 0 .5rem;font-size:2.5rem}.subtitle{margin:0;font-size:1.1rem;opacity:.9}.app-controls{display:flex;gap:1rem;padding:1.5rem;background-color:#fff;border-bottom:1px solid #ddd;justify-content:center;align-items:center;flex-wrap:wrap}.location-control{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.year-region-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.location-success{font-size:12px;color:#28a745;font-weight:500;display:flex;align-items:center;gap:.25rem}.refresh-location-button{padding:8px;background-color:transparent;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:16px;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:36px;height:36px}.refresh-location-button:hover:not(:disabled){background-color:#f0f0f0;border-color:#007bff;transform:rotate(90deg)}.refresh-location-button:disabled{opacity:.5;cursor:not-allowed}.app-tabs{display:flex;gap:0;background-color:#fff;border-bottom:2px solid #e0e0e0;padding:0 1rem;position:static;width:100%}.tab{padding:1rem 2rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:16px;font-weight:500;color:#666;transition:all .2s}.tab:hover{color:#007bff;background-color:#f8f9fa}.tab.active{color:#007bff;border-bottom-color:#007bff;background-color:#f8f9fa}.app-main{max-width:1400px;margin:0 auto;padding:2rem}.planner-view{display:flex;flex-direction:column;gap:2rem}.loading-message,.error-message{padding:1.5rem;text-align:center;border-radius:8px;margin:2rem 0}.loading-message{background-color:#d1ecf1;color:#0c5460}.error-message{background-color:#f8d7da;color:#721c24}.empty-state{padding:3rem;text-align:center;background-color:#fff;border-radius:8px;color:#666}.save-plan-section{padding:1.5rem;background-color:#fff;border-radius:8px;border:1px solid #ddd;text-align:center}.save-plan-section h3{margin:0 0 1rem;color:#333}.save-button{padding:12px 24px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:500;transition:background-color .2s}.save-button:hover:not(:disabled){background-color:#218838}.save-button:disabled{opacity:.6;cursor:not-allowed}.config-header{margin-bottom:1.5rem}.back-button{padding:10px 20px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.back-button:hover{background-color:#5a6268}@media(max-width:768px){.app-header h1{font-size:2rem}.app-controls{flex-direction:column;align-items:stretch}.app-tabs{overflow-x:auto}.tab{padding:.75rem 1rem;font-size:14px;white-space:nowrap}.app-main{padding:1rem}}
