body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}.App{background-color:#f5f5f5;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,sans-serif;min-height:100vh}.App-header{background-color:#2c5530;box-shadow:0 2px 4px #0000001a;color:#fff;padding:1rem}.App-header h1{font-size:1.5rem;font-weight:600}.App-main{margin:0 auto;max-width:768px;padding:1rem}.btn-primary{align-items:center;background-color:#2c5530;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;gap:.5rem;justify-content:center;margin:1rem 0;padding:.75rem 1.5rem;white-space:nowrap;width:100%}.btn-primary.disabled,.btn-primary:disabled{background-color:#ccc!important;cursor:not-allowed!important;opacity:.6!important;pointer-events:none!important}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:90vw;overflow-y:auto;padding:2rem;position:relative}.modal-close{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;position:absolute;right:1rem;top:1rem;width:30px}.modal-close:hover{color:#333}.rules-confirmation{max-width:600px}.rules-intro{background-color:#f0f8f0;border-radius:8px;color:#2c5530;margin-bottom:1.5rem;padding:1rem}.rules-category{margin-bottom:2rem}.rules-category h4{border-bottom:2px solid #e0e0e0;color:#2c5530;margin-bottom:1rem;padding-bottom:.5rem}.rules-list{display:flex;flex-direction:column;gap:1rem}.rule-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.rule-checkbox{align-items:flex-start;cursor:pointer;display:flex;gap:1rem}.rule-checkbox input[type=checkbox]{flex-shrink:0;height:18px;margin-top:.25rem;width:18px}.rule-content{flex:1 1}.rule-title{align-items:center;display:flex;font-weight:600;gap:.5rem;margin-bottom:.5rem}.required-badge{background-color:#e74c3c;border-radius:12px;color:#fff;font-size:.75rem;font-weight:400;padding:.2rem .5rem}.rule-description{color:#666;line-height:1.5}.rules-actions{border-top:2px solid #e0e0e0;margin-top:2rem;padding-top:1rem}.confirmation-note{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;font-size:.9rem;margin-top:1rem;padding:1rem}.loading{color:#666;padding:2rem;text-align:center}.btn-back{align-items:center;background:none;border:none;color:#2c5530;cursor:pointer;display:inline-flex;font-size:1rem;gap:.25rem;padding:.5rem;white-space:nowrap}.btn-back,.trip-list h2{margin-bottom:1rem}.trips-container{display:flex;flex-direction:column;gap:1rem}.trip-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;padding:1.5rem;transition:transform .2s}.trip-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.trip-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.trip-header h3{color:#2c5530;font-size:1.2rem}.status-badge{background-color:#e8f5e9;border-radius:20px;font-size:.9rem;padding:.25rem .75rem}.trip-date{margin-bottom:.5rem}.achievement-summary{margin-top:1rem}.achievement-item{align-items:center;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:.5rem}.progress-bar{flex:1 1}.progress-fill{background-color:#4caf50;transition:width .3s}.trip-detail-header{margin-bottom:2rem}.trip-detail-header h2{color:#2c5530;margin-bottom:.5rem}.tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:.5rem;margin-bottom:2rem}.tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.tabs button.active{border-bottom-color:#2c5530;color:#2c5530}.tabs button.disabled{color:#ccc;cursor:not-allowed;opacity:.6}.tabs button.disabled:hover{color:#ccc}.purpose-group{margin-bottom:2rem}.purpose-group h3{color:#2c5530;margin-bottom:1rem}.purpose-item{background:#fff;border-radius:8px;margin-bottom:.5rem;padding:.75rem}.purpose-content,.purpose-item{align-items:center;display:flex;gap:1rem}.purpose-content{flex:1 1}.purpose-name{flex:1 1;font-weight:500}.purpose-category{background:#f5f5f5;border-radius:20px;color:#666;font-size:.85rem;padding:.25rem .75rem}.satisfaction{color:#ffc107}.item-group{margin-bottom:2rem}.item-group h3{color:#2c5530;margin-bottom:1rem}.item-row{align-items:center;background:#fff;border-radius:8px;display:flex;gap:1rem;margin-bottom:.5rem;padding:.75rem}.item-name{flex:1 1}.item-quantity{color:#666}.usage-badge{border-radius:20px;font-size:.85rem;padding:.25rem .75rem}.usage-well{background:#e8f5e9;color:#2e7d32}.usage-little{background:#fff3e0;color:#ef6c00}.usage-unused{background:#ffebee;color:#c62828}.review-item{margin-bottom:2rem}.review-item h3{color:#2c5530;margin-bottom:.5rem}.review-item p{background:#fff;border-radius:8px;line-height:1.6;padding:1rem}input[type=checkbox]{cursor:pointer;height:20px;width:20px}.trip-form{background:#fff;border-radius:12px;margin:0 auto;max-width:600px;padding:2rem}.trip-form h2{color:#2c5530;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus,.form-group select:focus{border-color:#2c5530;outline:none}.btn-secondary{background-color:#f5f5f5;border:none;border-radius:8px;color:#333;cursor:pointer;flex:1 1;font-size:1rem;padding:.75rem 1.5rem}.btn-secondary:hover{background-color:#e0e0e0}.detail-header{margin-bottom:1rem}.detail-header,.section-header{align-items:center;display:flex;justify-content:space-between}.btn-text-primary{color:#2c5530}.btn-text,.btn-text-primary{background:none;border:none;cursor:pointer;font-size:.9rem;padding:.5rem}.btn-text{color:#fff;font-weight:500}.btn-delete{background:none;border:none;color:#dc3545;cursor:pointer;font-size:1.2rem;margin-left:auto;padding:.25rem .5rem}.priority-badge{border-radius:12px;font-size:.75rem;padding:.2rem .5rem}.priority-high{background:#ffebee;color:#c62828}.priority-medium{background:#fff3e0;color:#ef6c00}.priority-low{background:#e8f5e9;color:#2e7d32}.status-text{color:#666;font-size:.9rem}.purpose-form{background:#f5f5f5;border-radius:8px;margin-bottom:1rem;padding:1rem}.purpose-form h3{font-size:1rem;margin-bottom:.5rem}.form-group-inline{display:flex;gap:.5rem;margin-bottom:.5rem}.form-group-inline input{flex:1 1}.form-group-inline select{min-width:120px;width:auto}.form-actions-inline{display:flex;gap:.5rem;justify-content:flex-end}@media (max-width:640px){.App-header h1{font-size:1.25rem}.tabs button{font-size:.9rem;padding:.5rem 1rem}}.purpose-selector{background-color:#f8f9fa;border-radius:8px;margin:20px 0;padding:20px}.purpose-section{margin-bottom:30px}.purpose-section h4{color:#333;margin-bottom:15px}.purpose-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.purpose-selector .purpose-item{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;padding:8px;transition:background-color .2s}.purpose-selector .purpose-item:hover{background-color:#f0f0f0}.purpose-selector .purpose-item input[type=checkbox]{margin-right:8px}.purpose-selector .purpose-item span{font-size:14px}.custom-purposes{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem}.custom-purposes h5{color:#666;font-size:.9rem;margin-bottom:.5rem}.custom-purpose-item{align-items:center;background-color:#e8f5e9;border-radius:20px;display:inline-flex;font-size:14px;gap:.5rem;margin:.25rem;padding:.5rem 1rem}.custom-purpose-item .remove-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:18px;height:20px;justify-content:center;line-height:1;margin-left:.25rem;padding:0;width:20px}.custom-purpose-item .remove-btn:hover{color:#d32f2f}.add-custom-purpose{margin-top:1rem}.btn-add-custom{background-color:#f5f5f5;border:2px dashed #ccc;border-radius:8px;color:#666;cursor:pointer;font-size:14px;padding:.5rem 1rem;transition:all .2s;width:100%}.btn-add-custom:hover{background-color:#e8f5e9;border-color:#4caf50;color:#2e7d32}.app-footer{background-color:#f8f8f8;border-top:1px solid #e0e0e0;margin-top:3rem;padding:1.5rem 0}.footer-content{margin:0 auto;max-width:768px;padding:0 1rem;text-align:center}.footer-links{margin-bottom:1rem}.footer-link{background:none;border:none;color:#2c5530;cursor:pointer;font-size:14px;padding:.5rem 1rem;text-decoration:none;transition:color .2s}.footer-link:hover{color:#1a3a1c;text-decoration:underline}.footer-separator{color:#999;margin:0 .5rem}.footer-copyright{color:#666;font-size:12px}.contact-modal,.guide-modal{max-width:600px;width:90%}.contact-section,.guide-section{margin-bottom:2rem}.contact-section h3,.guide-section h3{color:#2c5530;font-size:1.1rem;margin-bottom:1rem}.contact-tips ul,.guide-section ul{line-height:1.8;list-style-type:disc;margin-left:2rem}.contact-email{background-color:#f5f5f5;border-radius:8px;margin:1rem 0;padding:1rem}.contact-email a{color:#2c5530;word-break:break-all}.contact-tips{background-color:#e8f5e9;border-radius:8px;margin-top:2rem;padding:1rem}.contact-tips h4{color:#2e7d32;font-size:1rem;margin-bottom:.5rem}.contact-tips p{color:#666;font-size:14px;margin-top:1rem}.auth-container{align-items:center;display:flex;justify-content:center;min-height:60vh;padding:2rem}.auth-form{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;max-width:400px;padding:2rem;width:100%}.auth-form h2{color:#2c5530;margin-bottom:1rem;text-align:center}.auth-subtitle{color:#666;font-size:.9rem;margin-bottom:2rem;text-align:center}.auth-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:0;margin-bottom:2rem}.auth-tabs button{background:#0000;border:none;border-bottom:3px solid #0000;border-radius:0;color:#666;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:1rem;transition:all .3s ease}.auth-tabs button.active,.auth-tabs button:hover{background:#f8f9fa;color:#2c5530}.auth-tabs button.active{border-bottom-color:#2c5530;font-weight:600}.auth-links{margin-top:1.5rem;text-align:center}.message{border-radius:8px;margin-bottom:1rem;padding:.75rem;text-align:center}.message.success{background-color:#e8f5e9;border:1px solid #4caf50;color:#2e7d32}.message.error{background-color:#ffebee;border:1px solid #f44336;color:#c62828}.auth-switch{color:#666;margin-top:1.5rem;text-align:center}.auth-switch button{margin-left:.5rem}.purpose-manager{padding:1rem 0}.selected-purposes{background:#f8f9fa;border-radius:8px;margin-top:1.5rem;padding:1rem}.selected-purposes h5{color:#2c5530;margin-bottom:.5rem}.selected-items{display:flex;flex-wrap:wrap;gap:.5rem}.selected-badge{background:#2c5530;border-radius:20px;color:#fff;font-size:.85rem;padding:.25rem .75rem}.items-manager{padding:1rem 0}.items-group{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.items-group h4{border-bottom:2px solid #e0e0e0;color:#2c5530;margin-bottom:1rem;padding-bottom:.5rem}.items-checklist{grid-gap:.5rem;display:grid;gap:.5rem}.item-checkbox{align-items:center;border-radius:4px;cursor:pointer;display:flex;padding:.5rem;transition:background-color .2s}.item-checkbox:hover{background-color:#f5f5f5}.item-checkbox input[type=checkbox]{margin-right:.75rem}.custom-items{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:2rem;padding:1.5rem}.add-custom-item{display:flex;gap:.5rem;margin-top:1rem}.add-custom-item input{border:1px solid #ddd;border-radius:4px;flex:1 1;padding:.5rem}.item-checkbox.custom-item{align-items:center;display:flex;position:relative}.item-checkbox.custom-item span{flex:1 1}.btn-remove{background:none;border:none;color:#dc3545;cursor:pointer;font-size:20px;margin-left:8px;opacity:.7;padding:0 8px;transition:opacity .2s}.btn-remove:hover{opacity:1}.custom-items-note{color:#666;font-size:.85rem;margin:.5rem 0}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.add-custom-item input:disabled{background-color:#f5f5f5;cursor:not-allowed}.review-section{padding:1.5rem}.review-not-available{background:#f5f5f5;border-radius:8px;color:#666;padding:3rem;text-align:center}.achievement-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:2rem}.summary-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem;text-align:center}.summary-card h4{color:#666;font-size:.9rem;margin:0 0 .5rem}.summary-card .percentage{color:#2196f3;font-size:2.5rem;font-weight:700;margin-bottom:.25rem}.summary-card .count{color:#999;font-size:.85rem}.review-items,.review-purposes{margin-bottom:2rem}.review-items h4,.review-purposes h4{color:#333;margin-bottom:1rem}.review-checkbox{align-items:center;background:#f9f9f9;border-radius:4px;cursor:pointer;display:flex;margin-bottom:.5rem;padding:.5rem;transition:background .2s}.review-checkbox:hover{background:#f0f0f0}.review-checkbox input[type=checkbox]{margin-right:.75rem}.review-checkbox .custom-badge{background:#ff9800;border-radius:12px;color:#fff;font-size:.75rem;margin-left:auto;padding:.2rem .5rem}.charts-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:2rem 0}.chart-wrapper{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.chart-wrapper h4{color:#333;margin-bottom:1rem;text-align:center}.review-actions{margin-top:2rem;text-align:center}.status-section{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.btn-status-change{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background .2s}.btn-status-change:hover{background:#45a049}.btn-status-change:disabled{background:#ccc;cursor:not-allowed}.no-items-message{background:#f9f9f9;border-radius:4px;color:#666;font-style:italic;margin-top:1rem;padding:2rem;text-align:center}.form-note{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin:1rem 0;padding:1rem}.form-note p{color:#1976d2;font-size:.9rem;margin:0}.form-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end;margin-top:2rem}.form-actions .btn-secondary{background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:1rem;min-width:120px;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.form-actions .btn-secondary:hover{background:#e0e0e0;border-color:#ccc;color:#333}.form-actions .btn-primary{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;min-width:120px;padding:.75rem 1.5rem;transition:background .2s;white-space:nowrap}.form-actions .btn-primary:hover{background:#45a049}@media (max-width:480px){.form-actions{flex-direction:column}.form-actions .btn-primary,.form-actions .btn-secondary{justify-content:center;width:100%}}.terms-modal{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.terms-content{background:#fff;border-radius:12px;max-height:80vh;max-width:800px;overflow-y:auto;padding:2rem;position:relative}.terms-content h2{color:#2c5530;margin-bottom:1.5rem;text-align:center}.terms-text{margin-bottom:2rem}.terms-text h3{color:#2c5530;font-size:1.1rem;margin-bottom:.75rem;margin-top:1.5rem}.terms-text p{color:#555;line-height:1.6;margin-bottom:1rem}.terms-date{color:#888;font-style:italic;margin-top:2rem;text-align:right}.terms-close-btn{background:#2c5530;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:1rem;margin:0 auto;padding:.75rem 2rem;transition:background .3s}.terms-close-btn:hover{background:#1e3a20}.checkbox-group{margin-bottom:1.5rem}.checkbox-group label{align-items:center;cursor:pointer;display:flex}.checkbox-group input[type=checkbox]{cursor:pointer;margin-right:.5rem;width:auto}.checkbox-group span{color:#555;font-size:.95rem}.btn-text-link{background:none;border:none;color:#2c5530;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.btn-text-link:hover{color:#1e3a20}.btn-text-link:disabled{color:#999;cursor:not-allowed}.trip-calendar{background:#fff;border-radius:12px;margin:2rem auto;max-width:1200px;padding:2rem}.calendar-header{border-bottom:2px solid #d4af37;flex-wrap:wrap;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.calendar-header,.year-selector{align-items:center;display:flex;gap:1rem}.year-selector h2{color:#8b6914;font-family:serif;font-weight:400;letter-spacing:2px}.year-nav-btn{background:#f5f5f5;border:none;border-radius:8px;cursor:pointer;font-size:1.2rem;padding:.5rem 1rem;transition:background .3s}.year-nav-btn:hover:not(:disabled){background:#e0e0e0}.year-nav-btn:disabled{cursor:not-allowed;opacity:.5}.usage-info{gap:2rem}.usage-info,.usage-item{align-items:center;display:flex}.usage-item{gap:.5rem}.usage-label{color:#555;font-weight:500}.usage-value{color:#2c5530;font-size:1.1rem;font-weight:700}.usage-value.limit-reached{color:#d32f2f}.calendar-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}.month-cell{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;min-height:150px;padding:1rem;transition:all .3s}.month-cell.current-month{background:#e8f5e9;border-color:#4caf50;box-shadow:0 2px 8px #4caf5033}.month-header{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.month-header h3{color:#2c5530;font-size:1.1rem;margin:0}.month-count{color:#666;font-size:.9rem;font-weight:500}.month-count.limit-reached{color:#d32f2f;font-weight:700}.month-trips{display:flex;flex-direction:column;gap:.5rem}.no-trips{color:#999;font-size:.9rem;padding:1rem 0;text-align:center}.trip-item{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;overflow:hidden;padding:.75rem;transition:all .3s}.trip-item:hover{background:#f5f5f5;border-color:#2c5530;box-shadow:0 2px 4px #0000001a;transform:translateY(-2px)}.trip-icon{flex-shrink:0;font-size:1.2rem}.trip-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.trip-title{color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-date{color:#666;font-size:.85rem}.trip-evaluation{margin-top:.25rem}.percentage-rating{align-items:center;display:inline-flex;font-size:.85rem;gap:8px}.progress-bar{background-color:#e0e0e0;border-radius:4px;height:8px;overflow:hidden;width:60px}.progress-fill{border-radius:4px;height:100%;transition:width .3s ease}.percentage-text{color:#666;font-size:.75rem;font-weight:500}.calendar-legend{background:#f5f5f5;border-radius:8px;margin-top:2rem;padding:1rem}.calendar-legend h4{color:#555;font-size:.95rem;margin:0 0 .5rem}.legend-items{display:flex;flex-wrap:wrap;gap:1.5rem}.legend-item{align-items:center;color:#666;display:flex;font-size:.9rem;gap:.5rem}.btn-primary.disabled{background:#ccc;cursor:not-allowed;opacity:.7}.btn-primary.disabled:hover{background:#ccc}@media (max-width:768px){.calendar-grid{grid-template-columns:1fr}.calendar-header,.usage-info{align-items:stretch;flex-direction:column}.usage-info{gap:1rem}.year-selector{justify-content:center}}.header-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.action-buttons{display:flex;gap:.5rem}.btn-delete,.btn-edit{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;gap:.25rem;padding:.5rem 1rem;transition:all .3s}.btn-edit{background:#f0f8ff;border:1px solid #1976d2;color:#1976d2}.btn-edit:hover{background:#1976d2;color:#fff}.btn-delete{background:#fff3f3;border:1px solid #d32f2f;color:#d32f2f}.btn-danger,.btn-delete:hover{background:#d32f2f;color:#fff}.btn-danger{border:none;border-radius:6px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background .3s}.btn-danger:hover{background:#b71c1c}.delete-confirm{padding:2rem;text-align:center}.delete-confirm h3{color:#d32f2f;margin-bottom:1rem}.warning-text{color:#ff5722;font-weight:500;margin:1rem 0}.modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}@media (max-width:768px){.header-top{align-items:stretch;flex-direction:column;gap:1rem}.action-buttons{justify-content:flex-end}}.date-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:12px;margin:1.5rem 0;padding:1.5rem}.date-section h3{color:#2c5530;font-size:1.1rem;margin:0 0 1rem}.date-inputs{align-items:end;display:flex;gap:1rem;margin-bottom:1rem}.date-inputs .form-group{flex:1 1;margin-bottom:0}.date-separator{color:#666;font-size:1.2rem;font-weight:500;margin-bottom:.5rem}.date-input{background:#fff;border:2px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .3s}.date-input:focus{border-color:#2c5530;box-shadow:0 0 0 3px #2c55301a;outline:none}.date-preview{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:.5rem;padding:1rem}.preview-label{color:#555;font-weight:500}.preview-text{color:#2c5530;font-weight:500}.trip-form[data-edit-mode=true]{border:2px solid #1976d2;box-shadow:0 4px 12px #1976d21a}.trip-form[data-edit-mode=true] h2:before{content:"✏️ ";margin-right:.5rem}@media (max-width:768px){.date-inputs{align-items:stretch;flex-direction:column}.date-separator{margin:.5rem 0;text-align:center}.date-inputs .form-group{margin-bottom:0}.date-preview{align-items:flex-start;flex-direction:column;gap:.25rem}}.validation-errors{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;margin-top:1rem;padding:1rem}.error-message{align-items:center;border-radius:6px;display:flex;font-weight:500;gap:.5rem;margin-bottom:.5rem;padding:.75rem 1rem}.error-message:last-child{margin-bottom:0}.overlap-error{background:#fee2e2;border:1px solid #fca5a5;color:#dc2626}.limit-error{background:#fef3c7;border:1px solid #fcd34d;color:#d97706}.btn-primary:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;opacity:.6}.btn-primary:disabled:hover{background:#d1d5db;box-shadow:none;transform:none}.date-input.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.date-input.error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc262633}.add-trip-btn{background:#fef9f3;border:1px solid #d4af37;border-radius:4px;box-shadow:0 1px 2px #0000001a;color:#8b6914;cursor:pointer;font-family:serif;font-size:.8rem;letter-spacing:.5px;margin-top:.5rem;padding:.4rem .8rem;transition:all .2s;width:100%}.add-trip-btn:hover{background:#f5e6d3;box-shadow:0 2px 4px #00000026;transform:translateY(-1px)}.add-trip-btn.small{font-size:.75rem;padding:.3rem .6rem}.trip-date.clickable{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;gap:.5rem;padding:.5rem 1rem;transition:all .3s}.trip-date.clickable:hover{background:#f0f8ff;box-shadow:0 2px 4px #0000001a;color:#1976d2;transform:translateY(-1px)}.date-edit-form{align-items:center;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:.75rem;padding:.75rem}.date-input-inline{border:1px solid #ddd;border-radius:6px;font-size:.95rem;padding:.5rem}.date-input-inline:focus{border-color:#2c5530;box-shadow:0 0 0 2px #2c55301a;outline:none}.btn-cancel-date,.btn-save-date{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s}.btn-save-date{background:#4caf50;color:#fff}.btn-save-date:hover{background:#45a049}.btn-cancel-date{background:#f5f5f5;color:#666}.btn-cancel-date:hover{background:#e0e0e0}@media (max-width:768px){.date-edit-form{align-items:stretch;flex-direction:column}.btn-cancel-date,.btn-save-date,.date-input-inline{width:100%}}.account-settings{max-width:500px;padding:2rem}.settings-section{border-bottom:1px solid #ddd;margin-bottom:2rem;padding-bottom:1.5rem}.settings-section:last-child{border-bottom:none}.export-format-selection{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.export-format-selection label{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background-color .2s}.export-format-selection label:hover{background-color:#f8f9fa}.export-format-selection input[type=radio]{margin:0}.export-btn{font-size:1rem;margin:1rem 0;padding:.75rem 1.5rem}.export-note{background-color:#f8f9fa;border-left:4px solid #28a745;border-radius:4px;color:#666;font-size:.9rem;padding:.75rem}.danger-zone h3{color:#dc3545}.delete-confirm-section{margin-top:1rem}.delete-confirm-input{border:2px solid #dc3545;border-radius:4px;font-size:1rem;margin:1rem 0;padding:.5rem;width:100%}.delete-confirm-input:focus{border-color:#a02a2a;outline:none}