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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.login-modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;max-width:450px;width:100%}.login-modal-header{align-items:center;background:linear-gradient(135deg,#43a047,#2e7d32);border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px}.login-modal-header h2{font-size:1.5rem;margin:0}.login-form{padding:30px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:600;margin-bottom:8px}.form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus{border-color:#43a047;outline:none}.info-message{background:#e3f2fd;color:#1976d2}.error-message,.info-message{border-radius:6px;font-size:.95rem;margin-bottom:20px;padding:12px}.error-message{background:#ffebee;color:#d32f2f}.login-button{background:#43a047;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px;transition:background .3s;width:100%}.login-button:hover:not(:disabled){background:#388e3c}.login-button:disabled{cursor:not-allowed;opacity:.6}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:45px;width:100%}.password-toggle-button{background:none;border:none;color:#666;cursor:pointer;font-size:1.2rem;line-height:1;padding:0;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.password-toggle-button:hover{color:#43a047}.forgot-password-link{margin-top:15px;text-align:center}.forgot-password-button{background:none;border:none;color:#43a047;cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline}.forgot-password-button:hover{color:#2e7d32}.forgot-password-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.forgot-password-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;max-width:400px;padding:30px;width:90%}.forgot-password-content h3{color:#43a047;margin:0 0 15px}.forgot-password-content p{color:#666;margin-bottom:20px}.forgot-password-input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;margin-bottom:15px;padding:12px;width:100%}.forgot-password-input:focus{border-color:#43a047;outline:none}.forgot-password-submit{background:#43a047;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:10px;padding:12px;width:100%}.forgot-password-submit:hover:not(:disabled){background:#388e3c}.forgot-password-submit:disabled{cursor:not-allowed;opacity:.6}.forgot-password-cancel{background:#ddd;border:none;border-radius:8px;color:#333;cursor:pointer;font-size:1rem;padding:12px;width:100%}.forgot-password-cancel:hover{background:#ccc}@media (max-width:768px){.login-modal-content{margin:20px}.login-modal-header h2{font-size:1.2rem}}.site-footer{background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff;margin-top:auto;padding:20px 10px}.footer-content{margin:0 auto;max-width:1200px;text-align:center}.footer-memorial{margin-bottom:35px}.footer-logo{display:block;height:100px;margin:0 auto 15px;width:100px}.memorial-text{font-weight:600;margin:0}.memorial-text-small{font-size:1.2rem!important;margin:0}.memorial-text-large{font-size:2rem!important;margin:0}.footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}.footer-link{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;padding:5px 10px;text-decoration:none;transition:all .3s}.footer-link:hover{background:#ffffff1a;transform:translateY(-1px)}.footer-separator{color:#fff9;font-size:.8rem}.footer-copyright{margin-bottom:15px}.footer-copyright p{color:#ffffffe6;font-size:.95rem;margin:0}.footer-email{color:#fff;text-decoration:underline;transition:opacity .3s}.footer-email:hover{opacity:.8}.footer-admin{border-top:1px solid #fff3;margin-top:20px;padding-top:20px}.admin-link{background:none;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 20px;transition:all .3s}.admin-link:hover{background:#ffffff1a;border-color:#fff}@media (max-width:768px){.site-footer{padding:30px 15px}.memorial-text-small{font-size:1rem!important;margin:0}.memorial-text-large{font-size:1.4rem!important;margin:0}.footer-links{flex-direction:column;gap:5px}.footer-separator{display:none}.footer-link{padding:8px 15px}}.about-modal{max-width:700px}.about-content{padding:30px;text-align:left}.about-section{margin-bottom:30px}.about-section h3{color:#2e7d32;font-size:1.4rem;margin:0 0 15px}.about-section p{color:#555;line-height:1.6;margin:0 0 10px}.mission-list{list-style:none;margin:15px 0;padding:0}.mission-list li{color:#555;line-height:1.6;margin-bottom:12px;padding-left:30px;position:relative}.mission-list li:before{color:#43a047;content:"✓";font-size:1.2rem;font-weight:700;left:0;position:absolute}.participation-steps{margin-top:15px}.step{margin-bottom:20px}.step-header{gap:12px;margin-bottom:8px}.step-header,.step-number{align-items:center;display:flex}.step-number{background:#43a047;border-radius:50%;color:#fff;flex-shrink:0;font-size:1rem;font-weight:700;height:32px;justify-content:center;width:32px}.step-header h4{color:#43a047;font-size:1.1rem;font-weight:600;margin:0}.step-description{color:#666;line-height:1.5;margin:0;padding-left:44px}.foundation-section{background:#f5f5f5;border-radius:8px;padding:20px}.foundation-link{color:#43a047;display:inline-block;font-weight:600;margin-top:10px;text-decoration:none;transition:color .3s}.foundation-link:hover{color:#2e7d32;text-decoration:underline}.gratitude-section{border-top:1px solid #e0e0e0;padding-top:20px;text-align:center}.gratitude{color:#2e7d32;font-size:1.05rem;font-style:italic}@media (max-width:768px){.about-content{padding:20px}.about-section h3{font-size:1.2rem}.step-header h4{font-size:1rem}.step-number{font-size:.9rem;height:28px;width:28px}.step-description{padding-left:40px}}.legal-modal{max-width:800px}.legal-modal .modal-header{background:linear-gradient(135deg,#43a047,#2e7d32);position:-webkit-sticky;position:sticky;top:0;z-index:10}.legal-content{max-height:70vh;overflow-y:auto;padding:30px}.last-updated{color:#666;font-size:.9rem;font-style:italic;margin:0 0 25px;text-align:left}.legal-section{margin-bottom:30px}.legal-section:last-child{margin-bottom:0}.legal-section h3{color:#2e7d32;font-size:1.3rem;font-weight:600;margin:0 0 12px;text-align:left}.legal-section h4{color:#333;font-size:1.05rem;font-weight:600;margin:15px 0 10px;text-align:left}.legal-section p{color:#555;font-size:.95rem;line-height:1.7;margin:0 0 12px;text-align:left}.legal-section p:last-child{margin-bottom:0}.legal-section ul{margin:12px 0;padding-left:25px;text-align:left}.legal-section li{color:#555;font-size:.95rem;line-height:1.7;margin-bottom:8px;text-align:left}.legal-section li:last-child{margin-bottom:0}.legal-section strong{color:#333;font-weight:600}.legal-section a{color:#43a047;font-weight:600;text-decoration:none}.legal-section a:hover{text-decoration:underline}@media (max-width:768px){.legal-content{max-height:75vh;padding:20px}.legal-section h3{font-size:1.15rem}.legal-section h4{font-size:1rem}.legal-section li,.legal-section p{font-size:.9rem}.legal-section ul{padding-left:20px}}.subscribe-modal{max-width:500px}.subscribe-form{padding:30px}.subscribe-description{color:#555;font-size:.95rem;line-height:1.6;margin-bottom:25px}.consent-checkbox{background:#f5f5f5;border-radius:8px;margin:20px 0;padding:15px}.consent-checkbox label{align-items:flex-start;color:#555;cursor:pointer;display:flex;font-size:.9rem;gap:10px}.consent-checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;margin-top:3px;width:18px}.subscribe-success{padding:60px 40px;text-align:center}.subscribe-success .success-icon{align-items:center;animation:scaleIn .5s ease-out;background:#43a047;border-radius:50%;color:#fff;display:flex;font-size:3.5rem;font-weight:700;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.subscribe-success h3{color:#2e7d32;font-size:1.8rem;margin:0 0 15px}.subscribe-success p{color:#666;font-size:1.1rem;margin:0}@media (max-width:768px){.subscribe-form{padding:20px}.subscribe-description{font-size:.9rem}}.home-page{display:flex;flex-direction:column;min-height:100vh}.home-header{background:linear-gradient(135deg,#43a047,#2e7d32);color:#fff;padding:30px 20px;text-align:center}.home-header h1{font-size:3rem;font-weight:700;margin:0}.tagline{font-size:1.1rem;font-style:italic;margin:10px 0;opacity:.95}.error,.loading{font-size:1.2rem;padding:40px;text-align:center}.error{color:#d32f2f}.error button{background:#43a047;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;margin-top:20px;padding:10px 30px}.error button:hover{background:#388e3c}.map-section{display:flex;flex:1 1;flex-direction:column;padding:20px}.map-instruction{color:#2e7d32;font-size:1.1rem;font-weight:600;margin:5px 0 15px;text-align:center}.map-container{flex:1 1;min-height:500px;position:relative}.map-actions{display:flex;gap:15px;justify-content:center;margin-top:30px;padding-bottom:20px}.no-discs{color:#666;flex:1 1;font-size:1.2rem;padding:60px 20px;text-align:center}.no-discs p{margin:10px 0}@media (max-width:768px){.home-header{padding:10px 15px}.home-header h1{font-size:2rem}.tagline{font-size:.95rem}.map-section{padding:10px}.map-instruction{font-size:1rem}.map-actions{flex-direction:column;gap:10px}.about-button,.see-all-button,.subscribe-button{width:100%}}.modal-overlay{z-index:2000}.modal-content{max-height:80vh;width:90%}.close-button{height:30px;width:30px}.journey-timeline{padding:20px}.journey-stop{border-bottom:2px solid #e0e0e0;display:flex;gap:20px;margin-bottom:30px;padding-bottom:30px}.journey-stop:last-child{border-bottom:none}.journey-number{align-items:center;background:#43a047;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:40px;justify-content:center;width:40px}.journey-details{flex:1 1}.journey-details h3{color:#333;margin:0 0 5px}.journey-date{color:#666;font-size:.9rem;margin:0 0 10px}.family-only-badge{background:#fff3e0;border-radius:6px;color:#f57c00;display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:15px;padding:6px 12px}.family-only-badge.family-view{background:#e8f5e9;color:#2e7d32}.family-signin-button{background:#43a047;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:600;margin:10px 0 15px;padding:10px 20px;transition:all .3s}.family-signin-button:hover{background:#388e3c;box-shadow:0 2px 8px #43a0474d;transform:translateY(-1px)}.media-thumbnails{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));margin:15px 0}.journey-thumbnail{border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:100px;object-fit:cover;transition:transform .2s,box-shadow .2s;width:100%}.journey-thumbnail:hover{box-shadow:0 4px 12px #0003;transform:scale(1.05)}.journey-video-thumbnail{background:#f5f5f5;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:100px;overflow:hidden;position:relative;transition:transform .2s,box-shadow .2s;width:100%}.journey-video-thumbnail:hover{box-shadow:0 4px 12px #0003;transform:scale(1.05)}.journey-video-thumbnail video{height:100%;object-fit:cover;pointer-events:none;width:100%}.video-play-overlay{align-items:center;background:#0000004d;color:#fff;display:flex;font-size:2rem;height:100%;justify-content:center;left:0;pointer-events:none;position:absolute;top:0;width:100%}.journey-texts{margin:15px 0}.journey-text{color:#555;font-size:.95rem;font-style:italic;line-height:1.6;margin:10px 0}.expand-button{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;color:#43a047;cursor:pointer;font-size:.9rem;margin-top:15px;padding:8px 16px;transition:all .3s}.expand-button:hover{background:#e8f5e9;border-color:#43a047}.lightbox-overlay{background:#000000f2;bottom:0;left:0;position:fixed;right:0;top:0;z-index:3000}.lightbox-close,.lightbox-overlay{align-items:center;cursor:pointer;display:flex;justify-content:center}.lightbox-close{background:#ffffff1a;border:2px solid #fff;border-radius:50%;color:#fff;font-size:2rem;height:50px;position:absolute;right:20px;top:20px;transition:all .3s;width:50px;z-index:3001}.lightbox-close:hover{background:#fff3;transform:scale(1.1)}.lightbox-content{border-radius:8px;box-shadow:0 8px 32px #00000080;max-height:90vh;max-width:90vw;object-fit:contain}@media (max-width:768px){.journey-stop{gap:15px}.journey-number{font-size:1rem;height:35px;width:35px}.media-thumbnails{gap:8px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.journey-thumbnail,.journey-video-thumbnail{height:80px}.family-signin-button{text-align:center;width:100%}.lightbox-close{font-size:1.5rem;height:40px;right:10px;top:10px;width:40px}}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;background:linear-gradient(135deg,#43a047,#2e7d32);border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px}.modal-header h2{font-size:1.3rem;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;padding:0;transition:background .3s;width:40px}.close-button:hover{background:#fff3}.visit-form{padding:25px}.form-section{margin-bottom:0}.form-section h3{color:#2e7d32;font-size:1.3rem;font-weight:600;margin:0 0 20px}.form-section h4{color:#666;font-size:1.1rem;font-weight:600;margin:25px 0 15px}.optional-text{color:#999;font-weight:400}.section-divider{background:#e0e0e0;height:1px;margin:30px 0}.location-buttons{display:flex;gap:15px;margin-bottom:15px}.location-choice-button{background:#fff;border:2px solid #43a047;border-radius:8px;color:#43a047;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:14px 20px;transition:all .3s ease}.location-choice-button:hover{background:#f1f8f4}.location-choice-button.active{background:#43a047;color:#fff}.location-input-area{animation:slideDown .4s ease-out forwards;max-height:0;opacity:0;overflow:hidden}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:300px;opacity:1}}.loading-text{color:#43a047;font-style:italic;padding:15px 0;text-align:left}.helper-text-small{color:#999;font-size:.75rem;font-style:italic;margin-top:10px;text-align:center}.error-text{background:#ffebee;border-radius:6px;color:#d32f2f;font-size:.95rem;margin-top:10px;padding:12px}.form-group{margin-bottom:15px}.form-group label:not(.file-upload-button){color:#333;display:block;font-size:1rem;font-weight:600;margin-bottom:8px}.form-group input[type=text],.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;padding:12px;transition:border-color .3s;width:100%}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#43a047;outline:none}.form-group input[type=text]::placeholder,.form-group textarea::placeholder{color:#999;font-size:.9rem}.course-list{display:flex;flex-direction:column;gap:8px}.course-button{align-items:center;background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;color:#546e7a;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;justify-content:space-between;padding:10px 20px;text-align:left;transition:all .3s ease;width:100%}.course-button:hover{background:#bbdefb;border-color:#90caf9}.course-button.selected{background:#42a5f5;border-color:#42a5f5;color:#fff}.course-button .course-name{flex:1 1}.course-button .checkmark{font-size:1rem;font-weight:700;margin-left:10px}.file-input-hidden{display:none}.file-upload-button{background:#fff;border:2px solid #43a047;border-radius:8px;color:#43a047;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:12px 24px;text-align:center;transition:all .3s}.file-upload-button:hover{background:#f1f8f4;transform:translateY(-1px)}.photos-section{margin-top:0}.photo-preview{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));margin-top:15px}.photo-thumbnail{border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;padding-bottom:100%;position:relative;width:100%}.photo-thumbnail img{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.remove-thumbnail-button{align-items:center;background:#d32f2fe6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:28px;justify-content:center;line-height:1;position:absolute;right:5px;top:5px;transition:background .3s;width:28px;z-index:2}.remove-thumbnail-button:hover{background:#d32f2f}.video-preview-container{margin-top:15px}.video-thumbnail{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:90px;margin-bottom:10px;max-width:120px;overflow:hidden;position:relative;width:100%}.video-thumbnail video{height:100%;object-fit:cover;width:100%}.video-overlay{align-items:center;background:#0000004d;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.video-icon{color:#fff;font-size:3rem;opacity:.9}.thoughts-section{padding-top:5px}.family-only-toggle{background:#f5f5f5;border-radius:8px;margin-top:20px;padding:10px}.family-only-toggle label{align-items:center;color:#555;cursor:pointer;display:flex;font-size:.78rem;font-weight:500;gap:6px}.family-only-toggle input[type=checkbox]{cursor:pointer;flex-shrink:0;height:16px;width:16px}.modal-actions{border-top:1px solid #e0e0e0;display:flex;gap:15px;justify-content:flex-end;margin-top:25px;padding-top:25px}.cancel-button,.submit-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 30px;transition:all .3s}.cancel-button{background:#fff;border:2px solid #e0e0e0;color:#666}.cancel-button:hover{background:#f5f5f5}.submit-button{background:#43a047;color:#fff}.submit-button:hover:not(:disabled){background:#388e3c}.submit-button:disabled{cursor:not-allowed;opacity:.5}.success-screen{flex-direction:column;gap:20px;padding:60px 40px;text-align:center}.success-icon,.success-screen{align-items:center;display:flex}.success-icon{animation:scaleIn .5s ease-out;background:#43a047;border-radius:50%;color:#fff;font-size:3.5rem;font-weight:700;height:80px;justify-content:center;width:80px}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.success-screen h2{color:#2e7d32;font-size:1.8rem;margin:0}.success-screen p{color:#666;font-size:1.1rem;line-height:1.6;margin:0;max-width:400px}.done-button{background:#43a047;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:12px 40px;transition:all .3s}.done-button:hover{background:#388e3c;transform:translateY(-2px)}@media (max-width:768px){.modal-content{max-height:95vh}.modal-header h2{font-size:1.1rem}.location-buttons{display:flex;flex-direction:row}.photo-preview{gap:8px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.video-thumbnail{aspect-ratio:4/3;height:auto;max-width:150px;width:100%}.modal-actions{flex-direction:column}.cancel-button,.submit-button{width:100%}}*{box-sizing:border-box}*,body{margin:0;padding:0}.disc-page{display:flex;flex-direction:column;min-height:100vh}.disc-page.error,.disc-page.loading{align-items:center;display:flex;font-size:1.2rem;justify-content:center;min-height:100vh}.disc-page.error{color:#d32f2f;flex-direction:column}.disc-page.error button{background:#2e7d32;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;margin-top:20px;padding:10px 30px}.disc-header{background:linear-gradient(135deg,#43a047,#2e7d32);color:#fff;padding:15px;text-align:center;width:100%}.disc-header h1{font-size:2rem;font-weight:700;margin:0}.disc-title{font-size:1.8rem;font-weight:700;margin:0}.visit-count{font-size:1rem;font-weight:500;margin:8px 0}.memorial-text{font-size:.95rem;font-style:italic;margin:8px 0 0;opacity:.95}.disc-content{flex:1 1;margin:0 auto;max-width:1200px;padding:10px 20px;width:100%}.action-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:15px 30px;transition:all .3s ease}.action-button.primary{background:#43a047;color:#fff}.action-button.primary:hover{background:#388e3c;transform:translateY(-2px)}.action-button.secondary{background:#fff;border:2px solid #43a047;color:#43a047}.action-button.secondary:hover{background:#f1f8f4;transform:translateY(-2px)}.no-visits p{margin:10px 0}.disc-map{margin-top:30px}.disc-map h2{color:#43a047;font-size:1rem;margin-bottom:15px}.disc-footer{background:#f5f5f5;padding:30px 20px;text-align:center}.disc-actions{display:flex;gap:15px;justify-content:center;margin:30px 20px;padding-bottom:5px}.about-button,.see-all-button,.subscribe-button{background:#43a047;border:none;border-radius:8px;box-shadow:0 2px 8px #43a0474d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 30px;transition:all .3s}.about-button:hover,.see-all-button:hover,.subscribe-button:hover{background:#388e3c;box-shadow:0 4px 12px #43a04766;transform:translateY(-2px)}@media (max-width:768px){.disc-title{font-size:1.4rem}.visit-count{font-size:.9rem}.memorial-text{font-size:.85rem}.disc-actions{flex-direction:column;gap:10px;margin:20px 10px}.about-button,.action-button,.see-all-button{width:100%}}.admin-panel{background:#f5f5f5;min-height:100vh}.admin-panel.error,.admin-panel.loading{align-items:center;display:flex;font-size:1.2rem;justify-content:center;min-height:100vh}.admin-panel.error{flex-direction:column;gap:20px}.admin-header{background:linear-gradient(135deg,#43a047,#2e7d32);box-shadow:0 2px 8px #0000001a;color:#fff;padding:30px 20px}.admin-header h1{font-size:2rem;margin:0 0 20px}.admin-tabs{display:flex;gap:10px}.admin-tabs button{background:#fff3;border:2px solid #0000;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s}.admin-tabs button:hover{background:#ffffff4d}.admin-tabs button.active{background:#fff;border-color:#fff;color:#2e7d32}.admin-content{margin:0 auto;max-width:1200px;padding:30px 20px}.no-visits{color:#666;font-size:1.2rem;padding:60px 20px;text-align:center}.visit-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow:hidden}.visit-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:20px;transition:background .3s}.visit-header:hover{background:#f9f9f9}.visit-info h3{color:#2e7d32;font-size:1.3rem;margin:0 0 8px}.visit-date{color:#666}.visit-date,.visit-status{font-size:.9rem;margin:4px 0}.visit-status{font-weight:600;text-transform:capitalize}.expand-icon{color:#43a047;font-size:1.2rem}.visit-details{background:#fafafa;border-top:1px solid #e0e0e0;padding:20px}.media-items{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.media-item{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:15px}.media-item-header{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.media-type{background:#e3f2fd;color:#1976d2}.media-type,.visibility-badge{border-radius:4px;font-size:.85rem;font-weight:600;padding:4px 12px}.visibility-badge.public{background:#e8f5e9;color:#2e7d32}.visibility-badge.family{background:#fff3e0;color:#f57c00}.approval-status{border-radius:4px;font-size:.85rem;font-weight:600;padding:4px 12px}.approval-status.approved{background:#e8f5e9;color:#2e7d32}.approval-status.rejected{background:#ffebee;color:#d32f2f}.approval-status.pending{background:#fff3e0;color:#f57c00}.media-content{margin:15px 0}.media-photo{box-shadow:0 2px 8px #0000001a;max-width:400px}.media-photo,.media-video{border-radius:8px;height:auto;width:100%}.media-video{max-width:500px}.media-text p{color:#333;line-height:1.6;margin:0}.media-text textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:1rem;padding:12px;resize:vertical;width:100%}.media-text textarea:focus{border-color:#43a047;outline:none}.media-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.media-actions button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .3s}.btn-edit{background:#2196f3;color:#fff}.btn-edit:hover{background:#1976d2}.btn-save{background:#43a047;color:#fff}.btn-save:hover{background:#388e3c}.btn-cancel{background:#757575;color:#fff}.btn-cancel:hover{background:#616161}.btn-change-visibility{background:#ff9800;color:#fff}.btn-change-visibility:hover{background:#f57c00}.btn-approve-item{background:#43a047;color:#fff}.btn-approve-item:hover{background:#388e3c}.btn-reject-item{background:#f44336;color:#fff}.btn-reject-item:hover{background:#d32f2f}.visit-actions{border-top:1px solid #e0e0e0;display:flex;gap:15px;justify-content:center;padding-top:20px}.btn-approve-all{background:#43a047;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 30px;transition:all .3s}.btn-approve-all:hover:not(:disabled){background:#388e3c;transform:translateY(-2px)}.btn-reject-all{background:#f44336;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 30px;transition:all .3s}.btn-reject-all:hover:not(:disabled){background:#d32f2f;transform:translateY(-2px)}.btn-approve-all:disabled,.btn-reject-all:disabled,.media-actions button:disabled{cursor:not-allowed;opacity:.5}.btn-change-visibility-warning{background:#ff9800;border:2px solid #f57c00;color:#fff}.btn-change-visibility-warning:hover{background:#f57c00;border-color:#e65100}.btn-publish-approved{background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 30px;transition:all .3s}.btn-publish-approved:hover:not(:disabled){background:#1976d2;transform:translateY(-2px)}.btn-publish-approved:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.admin-tabs{flex-direction:column}.admin-tabs button{width:100%}.media-actions{flex-direction:column}.media-actions button{width:100%}.visit-actions{flex-direction:column}.btn-approve-all,.btn-reject-all{width:100%}}
/*# sourceMappingURL=main.341368ac.css.map*/