.layout{min-height:100vh;display:flex;flex-direction:column}.site-header{background:linear-gradient(135deg,#f5efe6,#ecdfc9);color:#1b2a4a;padding:0 20px;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:80px}.logo{display:flex;align-items:center;gap:10px;color:#1b2a4a;text-decoration:none;font-weight:700;font-size:1.25rem}.logo:hover{text-decoration:none;opacity:.9}.logo-icon{height:60px;width:auto}.main-nav{display:flex;gap:24px}.main-nav a{color:#2c4a6e;text-decoration:none;font-weight:500;padding:8px 0;border-bottom:2px solid transparent;transition:border-color .2s,color .2s}.main-nav a:hover{color:#1b2a4a;border-bottom-color:#f77f00;text-decoration:none}.site-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:32px 20px}.site-footer{background:linear-gradient(135deg,#f5efe6,#ecdfc9);color:#2c4a6e;text-align:center;padding:20px;margin-top:auto;box-shadow:0 -2px 8px #0000001a}.site-footer p{margin:0;font-size:.875rem}.footer-nav{margin-top:8px}.footer-nav a{color:#2c4a6e;text-decoration:none;font-size:.825rem;transition:color .2s}.footer-nav a:hover{color:#1b2a4a;text-decoration:underline}@media(max-width:768px){.header-content{height:auto;flex-wrap:wrap;gap:8px;padding:12px 0}.main-nav{gap:14px;font-size:.95rem}.logo-icon{height:44px}}.home .hero{text-align:center;margin-bottom:40px}.home .hero h1{font-size:2rem;color:#023e8a;margin:0 0 12px}.home .hero p{color:#555;font-size:1.1rem;max-width:600px;margin:0 auto}.trip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.trip-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;display:flex;flex-direction:column}.trip-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;text-decoration:none}.trip-card-image{position:relative;height:200px;background:linear-gradient(135deg,#caf0f8,#00b4d8);overflow:hidden}.trip-card-image img{width:100%;height:100%;object-fit:cover}.trip-card-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:4rem}.trip-badge{position:absolute;top:12px;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.trip-badge-full{right:12px;background:#e63946;color:#fff}.trip-badge-classes{left:12px;background:#f77f00;color:#fff}.trip-card-body{padding:20px;flex:1;display:flex;flex-direction:column}.trip-card-body h2{margin:0 0 8px;font-size:1.25rem;color:#023e8a}.trip-destination{color:#0077b6;font-weight:500;margin:0 0 4px}.trip-dates{color:#666;font-size:.9rem;margin:0 0 16px}.trip-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;border-top:1px solid #eee}.trip-price{font-size:1.25rem;font-weight:700;color:#023e8a}.trip-price small{font-size:.75rem;font-weight:400;color:#666}.trip-cta{color:#f77f00;font-weight:600;font-size:.9rem}.loading{text-align:center;padding:60px 20px;color:#666;font-size:1.1rem}.error-message{text-align:center;padding:60px 20px;color:#e63946;font-size:1.1rem}.no-trips{text-align:center;padding:60px 20px;color:#666}@media(max-width:768px){.trip-grid{grid-template-columns:1fr}.home .hero h1{font-size:1.5rem}}.trip-detail{max-width:1000px;margin:0 auto}.trip-hero{position:relative;height:300px;border-radius:12px;overflow:hidden;margin-bottom:32px}.trip-hero-image{width:100%;height:100%;object-fit:cover}.trip-hero-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#0077b6,#00b4d8,#caf0f8);display:flex;align-items:center;justify-content:center;font-size:6rem}.trip-hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:32px;background:linear-gradient(transparent,#023e8ad9);color:#fff}.trip-hero-overlay h1{margin:0 0 4px;font-size:2rem}.trip-hero-destination{margin:0;font-size:1.1rem;opacity:.9}.trip-content{display:grid;grid-template-columns:1fr 320px;gap:32px}.trip-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}.meta-item{background:#fff;padding:16px;border-radius:8px;box-shadow:0 1px 4px #0000000f}.meta-label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:#666;margin-bottom:4px}.meta-value{font-weight:600;color:#023e8a}.status-upcoming{color:#2a9d8f}.status-full{color:#e63946}.status-cancelled{color:#999}.status-completed{color:#666}.trip-description{background:#fff;padding:24px;border-radius:8px;box-shadow:0 1px 4px #0000000f;margin-bottom:32px}.trip-description h2{margin:0 0 12px;color:#023e8a;font-size:1.25rem}.trip-description p{margin:0;color:#444;white-space:pre-line}.trip-brochure{margin-bottom:32px}.brochure-download-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#023e8a;padding:12px 20px;border-radius:8px;box-shadow:0 1px 4px #0000000f;font-weight:600;font-size:.95rem;text-decoration:none;transition:box-shadow .15s,transform .15s}.brochure-download-btn:hover{box-shadow:0 2px 8px #0000001f;transform:translateY(-1px);text-decoration:none;color:#023e8a}.trip-classes{margin-bottom:32px}.trip-classes h2{color:#023e8a;font-size:1.25rem;margin:0 0 8px}.class-note{color:#666;font-size:.9rem;margin:0 0 16px}.class-list{display:flex;flex-direction:column;gap:12px}.class-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 4px #0000000f;border-left:4px solid #f77f00}.class-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.class-header h3{margin:0;color:#023e8a;font-size:1.05rem}.class-agency{background:#caf0f8;color:#0077b6;padding:2px 10px;border-radius:12px;font-size:.8rem;font-weight:600}.class-desc{color:#555;font-size:.9rem;margin:0 0 12px}.class-desc p{margin:0 0 8px}.class-desc p:last-child{margin-bottom:0}.class-prereqs{background:#f8fafc;border-left:3px solid #90e0ef;padding:8px 12px;border-radius:4px;margin:0 0 12px;color:#555;font-size:.9rem}.class-prereqs h4{margin:0 0 4px;color:#023e8a;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.class-prereqs p{margin:0 0 8px}.class-prereqs p:last-child{margin-bottom:0}.class-prereqs ul{margin:0;padding-left:20px}.class-details{display:flex;gap:16px;font-size:.9rem}.class-price{font-weight:600;color:#023e8a}.class-slots,.class-min-students{color:#666}.trip-sidebar{position:sticky;top:96px;align-self:start}.signup-box{background:#fff;padding:28px;border-radius:12px;box-shadow:0 2px 12px #0000001a;text-align:center}.signup-price{font-size:2rem;font-weight:700;color:#023e8a}.signup-per-person{color:#666;margin-bottom:20px;font-size:.9rem}.signup-btn{display:block;background:linear-gradient(135deg,#f77f00,#e36414);color:#fff;padding:14px 24px;border-radius:8px;font-weight:600;font-size:1.05rem;text-decoration:none;transition:transform .15s,box-shadow .15s}.signup-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f77f004d;text-decoration:none;color:#fff}.signup-full,.signup-unavailable{padding:14px;border-radius:8px;font-weight:600;color:#666;background:#f0f0f0}.signup-urgency{color:#e63946;font-weight:600;font-size:.9rem;margin:12px 0 0}@media(max-width:768px){.trip-content,.trip-meta{grid-template-columns:1fr}.trip-hero{height:200px}.trip-hero-overlay h1{font-size:1.5rem}.trip-sidebar{position:static}}.signup-page{max-width:640px;margin:0 auto}.signup-header{margin-bottom:32px}.back-link{display:inline-block;color:#0077b6;font-size:.9rem;margin-bottom:12px}.signup-header h1{margin:0 0 8px;color:#023e8a;font-size:1.75rem}.signup-subtitle{color:#666;margin:0}.signup-form{background:#fff;padding:32px;border-radius:12px;box-shadow:0 2px 8px #00000014}.form-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:6px;color:#333;font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a}.form-hint{display:block;font-size:.8rem;color:#888;margin-top:4px}.class-preview{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:20px;margin-bottom:24px}.class-preview h3{margin:0 0 8px;color:#023e8a;font-size:1rem}.class-preview p{margin:0 0 12px;font-size:.9rem;color:#555}.class-preview ul{margin:0;padding-left:20px}.class-preview li{color:#444;font-size:.9rem;margin-bottom:4px}.btn{display:inline-block;padding:12px 24px;border-radius:8px;font-weight:600;font-size:1rem;border:none;cursor:pointer;text-decoration:none;text-align:center;transition:transform .15s,box-shadow .15s}.btn:hover{text-decoration:none}.btn-primary{background:linear-gradient(135deg,#f77f00,#e36414);color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f77f004d;color:#fff}.btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db;color:#374151}.btn-submit{width:100%;font-size:1.1rem;padding:14px}.signup-success{text-align:center;background:#fff;padding:48px 32px;border-radius:12px;box-shadow:0 2px 8px #00000014}.success-icon{width:64px;height:64px;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 20px}.signup-success h1{color:#023e8a;margin:0 0 12px}.signup-success p{color:#555;margin:0 0 8px}.success-actions{display:flex;gap:12px;justify-content:center;margin-top:28px}@media(max-width:768px){.signup-form{padding:20px}.success-actions{flex-direction:column}}.manage-page{max-width:960px;margin:0 auto}.manage-page h1{color:#023e8a;margin:0 0 24px}.cancelled-banner{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:600}.manage-message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.manage-message.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.manage-message.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.manage-grid{display:grid;grid-template-columns:1fr 280px;gap:32px}.manage-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 4px #0000000f;margin-bottom:20px}.manage-section h2{margin:0 0 16px;color:#023e8a;font-size:1.15rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2{margin:0}.btn-link{background:none;border:none;color:#0077b6;cursor:pointer;font-weight:600;font-size:.9rem;padding:0}.btn-link:hover{text-decoration:underline}.trip-summary h3{margin:0 0 8px;color:#023e8a}.trip-summary p{margin:4px 0;color:#444}.trip-summary a{display:inline-block;margin-top:8px;font-size:.9rem}.info-display p{margin:6px 0;color:#444}.edit-form .form-group{margin-bottom:16px}.edit-form label{display:block;font-weight:600;margin-bottom:4px;font-size:.9rem;color:#333}.edit-form input,.edit-form textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;font-family:inherit}.edit-form input:focus,.edit-form textarea:focus{outline:none;border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a}.edit-actions{display:flex;gap:12px}.section-desc{color:#666;font-size:.9rem;margin:0 0 16px}.class-selection{display:flex;flex-direction:column;gap:10px}.class-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.class-option-info{flex:1}.class-option-info strong{display:block;color:#023e8a;margin-bottom:2px}.class-option-agency{font-size:.8rem;color:#0077b6;font-weight:500}.class-option-info p,.class-option-prereqs{margin:6px 0;font-size:.85rem;color:#666}.class-option-prereqs strong{display:block;color:#023e8a;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.class-option-prereqs ul{margin:0;padding-left:20px}.class-option-price{font-weight:600;color:#023e8a;font-size:.9rem}.manage-sidebar{align-self:start;position:sticky;top:96px}.danger-zone{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 4px #0000000f;border-top:3px solid #e63946}.danger-zone h3{margin:0 0 8px;color:#e63946;font-size:1rem}.danger-zone p{margin:0 0 16px;font-size:.85rem;color:#666}.cancel-confirm-text{font-weight:600;color:#e63946}.cancel-actions{display:flex;flex-direction:column;gap:8px}.btn-danger{background:#e63946;color:#fff;padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem}.btn-danger:hover{background:#c1121f}.btn-danger:disabled{opacity:.7;cursor:not-allowed}.btn-danger-outline{background:none;color:#e63946;padding:10px 20px;border:2px solid #e63946;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;width:100%}.btn-danger-outline:hover{background:#fef2f2}.bill-table{width:100%;border-collapse:collapse}.bill-table th{text-align:left;padding:8px 0;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:#64748b;border-bottom:2px solid #e2e8f0}.bill-table td{padding:10px 0;border-bottom:1px solid #f1f5f9;font-size:.9rem;color:#333}.bill-amount{text-align:right;white-space:nowrap}.bill-credit td{color:#16a34a}.bill-total td{border-top:2px solid #e2e8f0;border-bottom:none;padding-top:12px;font-size:1rem;color:#023e8a}.bill-payment td{border-bottom:none;padding:6px 0;color:#16a34a;font-size:.85rem}.bill-date{color:#94a3b8;font-size:.8rem}.bill-balance td{border-top:2px solid #023e8a;padding-top:12px;font-size:1.1rem;color:#023e8a}.document-list{display:flex;flex-direction:column;gap:16px}.document-card{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background:#fff}.document-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.document-card-header strong{font-size:1.05rem}.document-card-desc{color:#555;font-size:.9rem;margin:0 0 12px}.document-card-actions{margin-bottom:12px}.document-status{font-size:.8rem;font-weight:600;padding:3px 10px;border-radius:12px;white-space:nowrap}.document-status-pending_upload{background:#e0e0e0;color:#555}.document-status-submitted{background:#fff3cd;color:#856404}.document-status-approved{background:#d4edda;color:#155724}.document-status-rejected{background:#f8d7da;color:#721c24}.document-rejection{background:#f8d7da;color:#721c24;padding:10px 14px;border-radius:6px;font-size:.9rem;margin-bottom:12px}.document-submitted-info,.document-approved-info{font-size:.85rem;color:#666;margin:8px 0}.document-approved-info{color:#155724}.document-error{background:#f8d7da;color:#721c24;padding:8px 12px;border-radius:6px;font-size:.9rem;margin-bottom:12px}.document-dropzone{border:2px dashed #ccc;border-radius:8px;padding:24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.document-dropzone:hover{border-color:#0077b6;background:#f0f9ff}.document-dropzone-active{border-color:#0077b6;background:#e0f2fe}.document-dropzone-text{display:block;color:#555;font-size:.95rem}.document-dropzone-hint{display:block;color:#999;font-size:.8rem;margin-top:6px}.btn-sm{padding:6px 14px;font-size:.85rem}.test-mode-banner{background:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:600}.pay-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:10px 14px;border-radius:8px;margin-bottom:12px;font-size:.9rem}.pay-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.pay-row label{font-weight:600;color:#374151}.pay-row input[type=number]{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;width:140px}.pay-hint{font-size:.85rem;color:#6b7280;margin:0}.manage-tabs{display:flex;gap:4px;border-bottom:1px solid #e5e7eb;margin-bottom:20px;flex-wrap:wrap}.manage-tab{background:none;border:none;border-bottom:2px solid transparent;color:#6b7280;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 16px;margin-bottom:-1px;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;transition:color .15s,border-color .15s}.manage-tab:hover{color:#023e8a}.manage-tab.active{color:#023e8a;border-bottom-color:#0077b6}.manage-tab-badge{background:#dc2626;color:#fff;border-radius:10px;font-size:.75rem;font-weight:700;padding:1px 7px;min-width:18px;text-align:center;line-height:1.4}.docs-banner{display:flex;justify-content:space-between;align-items:center;width:100%;background:#fef3c7;border:1px solid #fcd34d;color:#92400e;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:600;font-size:.95rem;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s}.docs-banner:hover{background:#fde68a}.docs-banner-arrow{font-size:1.2rem;margin-left:12px}@media(max-width:768px){.manage-grid{grid-template-columns:1fr}.manage-sidebar{position:static}.pay-row{flex-direction:column;align-items:stretch}.pay-row input[type=number]{width:100%}.manage-tab{padding:10px 12px;font-size:.9rem}}.refund-policy-page{max-width:800px;margin:0 auto}.refund-policy-page h1{font-size:2rem;color:#023e8a;margin:0 0 24px}.refund-policy-content{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #00000014;color:#444;line-height:1.7;font-size:1rem}.refund-policy-content p{margin:0 0 12px}.refund-policy-content p:last-child{margin-bottom:0}.refund-policy-content h2,.refund-policy-content h3{color:#023e8a;margin:24px 0 12px}.refund-policy-content h2:first-child,.refund-policy-content h3:first-child{margin-top:0}.refund-policy-content ul,.refund-policy-content ol{margin:0 0 12px;padding-left:24px}.refund-policy-content li{margin-bottom:6px}.refund-policy-empty{text-align:center;padding:60px 20px;color:#666;font-size:1.1rem}@media(max-width:768px){.refund-policy-page h1{font-size:1.5rem}.refund-policy-content{padding:20px}}.media-permission-notice{max-width:720px;margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid #e2e8f0;text-align:center}.media-permission-notice p{color:#475569;font-size:.9rem;line-height:1.7;margin:0}.media-permission-notice a{color:#023e8a}.photo-albums{max-width:1200px;margin:0 auto;padding:2rem 1rem 4rem}.photo-albums .hero{text-align:center;padding:2rem 1rem 2.5rem}.photo-albums .hero h1{color:#023e8a;font-size:2.5rem;margin:0 0 .75rem}.photo-albums .hero p{color:#475569;font-size:1.1rem;max-width:640px;margin:0 auto}.no-albums{text-align:center;padding:3rem 1rem;color:#64748b}.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.album-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #00000014;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}.album-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px #0000001f}.album-card-image{height:200px;background:linear-gradient(135deg,#caf0f8,#00b4d8);overflow:hidden;position:relative}.album-card-image img{width:100%;height:100%;object-fit:cover;display:block}.album-card-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:4rem}.album-card-body{padding:1rem 1.25rem 1.25rem}.album-card-body h2{margin:0 0 .5rem;font-size:1.25rem;color:#1b2a4a}.album-description{color:#475569;margin:0 0 .5rem;font-size:.95rem}.album-photo-count{color:#64748b;font-size:.85rem;margin:0}.slideshow-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:1000;display:flex;align-items:center;justify-content:center;touch-action:pan-y}.slideshow-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;max-width:100%;max-height:100%;cursor:zoom-out}.slideshow-image{max-width:calc(100vw - 120px);max-height:calc(100vh - 140px);object-fit:contain;box-shadow:0 4px 40px #00000080;cursor:default}.slideshow-close{position:absolute;top:12px;right:16px;width:44px;height:44px;border-radius:50%;border:none;background:#ffffff1f;color:#fff;font-size:32px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}.slideshow-close:hover{background:#ffffff40}.slideshow-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:none;background:#ffffff1f;color:#fff;font-size:40px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding-bottom:4px;z-index:2}.slideshow-nav:hover{background:#ffffff40}.slideshow-nav-prev{left:16px}.slideshow-nav-next{right:16px}.slideshow-caption{position:absolute;left:0;right:0;bottom:0;padding:1rem;color:#fff;text-align:center;pointer-events:none}.slideshow-caption p{margin:0}.slideshow-counter{font-size:.85rem;opacity:.75;margin-top:.25rem!important}@media(max-width:640px){.slideshow-image{max-width:100vw;max-height:calc(100vh - 120px)}.slideshow-nav{width:40px;height:40px;font-size:30px}.slideshow-nav-prev{left:8px}.slideshow-nav-next{right:8px}}.album-view{max-width:1200px;margin:0 auto;padding:2rem 1rem 4rem}.album-view-header{margin-bottom:2rem}.album-back-link{display:inline-block;margin-bottom:1rem;color:#0077b6;text-decoration:none;font-size:.95rem}.album-back-link:hover{text-decoration:underline}.album-view-header h1{color:#023e8a;font-size:2.25rem;margin:0 0 .5rem}.album-view-description{color:#475569;font-size:1.05rem;margin:0 0 .5rem}.album-view-count{color:#64748b;margin:0;font-size:.9rem}.no-photos{text-align:center;padding:3rem 1rem;color:#64748b}.thumbnail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem}.thumbnail-tile{aspect-ratio:1 / 1;border:none;padding:0;background:#e2e8f0;border-radius:4px;overflow:hidden;cursor:pointer;transition:transform .1s,box-shadow .15s}.thumbnail-tile:hover{transform:scale(1.02);box-shadow:0 2px 8px #00000026}.thumbnail-tile img{width:100%;height:100%;object-fit:cover;display:block}.faq-page .hero{text-align:center;margin-bottom:40px}.faq-page .hero h1{font-size:2rem;color:#023e8a;margin:0 0 12px}.faq-page .hero p{color:#555;font-size:1.1rem;max-width:600px;margin:0 auto}.faq-sections{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.faq-section-header{width:100%;display:flex;align-items:center;gap:12px;padding:0 4px 10px;margin-bottom:12px;background:none;border:none;border-bottom:2px solid #caf0f8;cursor:pointer;text-align:left;font-size:1.25rem;font-weight:700;color:#023e8a}.faq-section-header:hover{color:#0077b6;border-bottom-color:#90e0ef}.faq-section-name{flex:1}.faq-section-chevron{flex-shrink:0;font-size:1.5rem;line-height:1;color:#f77f00}.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.faq-section .faq-list{max-width:none}.faq-item{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;background:none;border:none;cursor:pointer;text-align:left;font-size:1.05rem;font-weight:600;color:#023e8a}.faq-question:hover{color:#0077b6}.faq-chevron{flex-shrink:0;font-size:1.5rem;line-height:1;color:#f77f00}.faq-answer{padding:0 24px 20px;color:#444;line-height:1.7}.faq-answer p{margin:0 0 12px}.faq-answer p:last-child{margin-bottom:0}.faq-empty{text-align:center;padding:60px 20px;color:#666}@media(max-width:768px){.faq-page .hero h1{font-size:1.5rem}.faq-section-header{font-size:1.1rem}}.about-page{max-width:800px;margin:0 auto}.about-page h1{font-size:2rem;color:#023e8a;margin:0 0 24px}.about-page-content{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #00000014;color:#444;line-height:1.7;font-size:1rem}.about-page-content p{margin:0 0 12px}.about-page-content p:last-child{margin-bottom:0}.about-page-content h2,.about-page-content h3{color:#023e8a;margin:24px 0 12px}.about-page-content h2:first-child,.about-page-content h3:first-child{margin-top:0}.about-page-content ul,.about-page-content ol{margin:0 0 12px;padding-left:24px}.about-page-content li{margin-bottom:6px}.about-page-empty{text-align:center;padding:60px 20px;color:#666;font-size:1.1rem}@media(max-width:768px){.about-page h1{font-size:1.5rem}.about-page-content{padding:20px}}.store-page .hero{text-align:center;margin-bottom:32px}.store-page .hero h1{font-size:2rem;color:#023e8a;margin:0 0 12px}.store-page .hero p{color:#555;font-size:1.1rem;max-width:600px;margin:0 auto}.store-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:32px}.store-filter-chip{padding:6px 16px;border:1px solid #cbd5e1;border-radius:20px;background:#fff;color:#0077b6;font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.store-filter-chip:hover{border-color:#0077b6}.store-filter-chip.is-active{background:#0077b6;border-color:#0077b6;color:#fff}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.product-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;text-decoration:none}.product-card-image{position:relative;height:200px;background:linear-gradient(135deg,#caf0f8,#00b4d8);overflow:hidden}.product-card-image img{width:100%;height:100%;object-fit:cover}.product-card-placeholder{display:flex;align-items:center;justify-content:center;height:100%;font-size:4rem}.product-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff}.product-badge-in-stock{background:#2a9d8f}.product-badge-out{background:#6c757d}.product-card-image .product-badge{position:absolute;top:12px;right:12px}.product-card-body{padding:20px;flex:1;display:flex;flex-direction:column}.product-card-body h2{margin:0 0 8px;font-size:1.25rem;color:#023e8a}.product-category{color:#0077b6;font-weight:500;margin:0 0 4px}.product-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;border-top:1px solid #eee}.product-price{font-size:1.25rem;font-weight:700;color:#023e8a}.product-cta{color:#f77f00;font-weight:600;font-size:.9rem}.no-products{text-align:center;padding:60px 20px;color:#666;font-size:1.1rem}@media(max-width:768px){.store-page .hero h1{font-size:1.5rem}.product-grid{grid-template-columns:1fr}}.product-back-link{display:inline-block;color:#0077b6;text-decoration:none;font-weight:500;margin-bottom:20px}.product-back-link:hover{text-decoration:underline}.product-view-layout{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.product-gallery-main{display:block;width:100%;padding:0;border:none;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#caf0f8,#00b4d8);cursor:zoom-in;box-shadow:0 2px 8px #00000014}.product-gallery-main img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.product-gallery-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 3;border-radius:12px;background:linear-gradient(135deg,#caf0f8,#00b4d8);font-size:5rem}.product-thumbnails{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.product-thumbnail{width:72px;height:72px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#e2e8f0;cursor:pointer}.product-thumbnail.is-active{border-color:#0077b6}.product-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.product-info{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #00000014}.product-info h1{font-size:1.75rem;color:#023e8a;margin:0 0 8px}.product-view-category{color:#0077b6;font-weight:500;margin:0 0 12px}.product-view-price{font-size:1.75rem;font-weight:700;color:#023e8a;margin:0 0 12px}.product-description{color:#444;line-height:1.7;font-size:1rem;margin-top:24px}.product-description p{margin:0 0 12px}.product-description p:last-child{margin-bottom:0}.product-description h2,.product-description h3{color:#023e8a;margin:24px 0 12px}.product-description h2:first-child,.product-description h3:first-child{margin-top:0}.product-description ul,.product-description ol{margin:0 0 12px;padding-left:24px}.product-description li{margin-bottom:6px}.product-contact{margin-top:24px;padding:16px 20px;border-radius:8px;background:#f0f9ff;border:1px solid #bae6fd;color:#444}.product-contact p{margin:0}@media(max-width:768px){.product-view-layout{grid-template-columns:1fr;gap:24px}.product-info{padding:20px}.product-info h1{font-size:1.4rem}}.admin-layout{min-height:100vh;background:#f1f5f9}.admin-header{background:#1e293b;color:#fff;padding:0 24px;box-shadow:0 1px 4px #0000001a}.admin-header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:76px}.admin-header-left{display:flex;align-items:center;gap:10px}.admin-header-logo{height:56px;width:auto}.admin-header h1{margin:0;font-size:1.1rem;font-weight:600}.admin-header-right{display:flex;align-items:center;gap:16px}.admin-user{font-size:.85rem;color:#94a3b8}.admin-nav{display:flex;gap:4px}.admin-nav-btn{background:transparent;border:none;color:#94a3b8;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500}.admin-nav-btn:hover{background:#334155;color:#e2e8f0}.admin-nav-btn.admin-nav-active{background:#334155;color:#fff}.admin-nav-dropdown{position:relative}.admin-nav-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;display:flex;flex-direction:column;gap:2px;min-width:180px;padding:6px;background:#1e293b;border:1px solid #334155;border-radius:8px;box-shadow:0 8px 24px #0000004d;z-index:20}.admin-nav-dropdown-menu .admin-nav-btn{display:block;text-align:left;width:100%}.admin-logout-btn{background:transparent;border:1px solid #475569;color:#cbd5e1;padding:6px 14px;border-radius:6px;cursor:pointer;font-size:.85rem}.admin-logout-btn:hover{background:#334155}.admin-main{max-width:1200px;margin:0 auto;padding:24px}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#0f172a)}.admin-login-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 4px 24px #0003;width:100%;max-width:400px}.admin-login-header{text-align:center;margin-bottom:28px}.admin-logo{font-size:2.5rem;display:block;margin-bottom:12px}.admin-login-header h1{margin:0 0 4px;color:#023e8a;font-size:1.5rem}.admin-login-header p{margin:0;color:#666}.admin-form-group{margin-bottom:16px}.admin-form-group label{display:block;font-weight:600;margin-bottom:6px;font-size:.9rem;color:#333}.admin-form-group input,.admin-form-group textarea,.admin-form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;font-family:inherit}.admin-form-group input:focus,.admin-form-group textarea:focus,.admin-form-group select:focus{outline:none;border-color:#0077b6;box-shadow:0 0 0 3px #0077b61a}.admin-scope-list{display:flex;flex-direction:column;gap:10px}.admin-form-group .admin-scope-item{display:flex;flex-direction:row;align-items:center;gap:10px;margin-bottom:0;font-weight:400;font-size:.9rem;color:#333;cursor:pointer}.admin-form-group .admin-scope-item input[type=checkbox]{width:16px;height:16px;flex:0 0 auto;margin:0;padding:0}.admin-login-btn{width:100%;padding:12px;background:linear-gradient(135deg,#023e8a,#0077b6);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.admin-login-btn:hover{opacity:.9}.admin-login-btn:disabled{opacity:.6;cursor:not-allowed}.admin-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:.9rem}.admin-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:.9rem}.admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.admin-section-header h2{margin:0;color:#1e293b;font-size:1.25rem}.admin-back-btn{background:none;border:none;color:#0077b6;cursor:pointer;font-size:.9rem;padding:0;margin-bottom:16px;font-weight:500}.admin-back-btn:hover{text-decoration:underline}.admin-btn{padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:.9rem;font-weight:500}.admin-btn:hover{background:#f8fafc}.admin-btn-primary{background:#0077b6;color:#fff;border-color:#0077b6}.admin-btn-primary:hover{background:#069}.admin-btn-primary:disabled{opacity:.6;cursor:not-allowed}.admin-btn-sm{padding:4px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;font-size:.8rem}.admin-btn-sm:hover{background:#f1f5f9}.admin-btn-sm.admin-btn-danger{color:#dc2626;border-color:#fecaca}.admin-btn-sm.admin-btn-danger:hover{background:#fef2f2}.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.admin-table th{text-align:left;padding:12px 16px;background:#f8fafc;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:#64748b;border-bottom:1px solid #e2e8f0}.admin-table td{padding:12px 16px;border-bottom:1px solid #f1f5f9;font-size:.9rem}.admin-table small{color:#64748b;font-size:.8rem}.admin-table tr:last-child td{border-bottom:none}.row-cancelled{opacity:.5}.admin-actions{display:flex;gap:6px}.admin-status{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.8rem;font-weight:600}.admin-status-upcoming{background:#dcfce7;color:#16a34a}.admin-status-full{background:#fee2e2;color:#dc2626}.admin-status-cancelled{background:#f1f5f9;color:#64748b}.admin-status-completed{background:#e0e7ff;color:#4338ca}.admin-status-confirmed,.admin-status-in-stock{background:#dcfce7;color:#16a34a}.admin-status-out-of-stock{background:#f1f5f9;color:#64748b}button.admin-status{border:none;font-family:inherit;cursor:pointer}button.admin-status:hover{filter:brightness(.95)}.admin-stats{display:flex;gap:16px;margin-bottom:24px}.admin-stat{background:#fff;padding:16px 24px;border-radius:8px;box-shadow:0 1px 4px #0000000f;text-align:center}.admin-stat-value{display:block;font-size:1.75rem;font-weight:700;color:#023e8a}.admin-stat-label{font-size:.8rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.admin-form-container{background:#fff;padding:24px;border-radius:8px;box-shadow:0 1px 4px #0000000f;scroll-margin-top:16px}.admin-form-container h2,.admin-form-container h3{margin:0 0 20px;color:#1e293b}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-form-full{grid-column:1 / -1}.admin-form-actions{display:flex;gap:12px;margin-top:20px}.admin-empty{color:#64748b;text-align:center;padding:40px;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f}.text-muted{color:#94a3b8}.about-preview{margin-top:16px;margin-bottom:16px}.about-preview-content{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:24px;color:#444;line-height:1.7}.about-preview-content p{margin:0 0 12px}.about-preview-content p:last-child{margin-bottom:0}.photo-upload{width:100%}.photo-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #d1d5db;border-radius:8px;padding:32px 16px;cursor:pointer;transition:border-color .2s,background .2s}.photo-dropzone:hover,.photo-dropzone-active{border-color:#0077b6;background:#f0f9ff}.photo-dropzone-text{font-size:.95rem;color:#475569;font-weight:500}.photo-dropzone-hint{font-size:.8rem;color:#94a3b8;margin-top:4px}.photo-preview{position:relative;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0}.photo-preview img{display:block;width:100%;max-height:280px;object-fit:cover}.photo-preview-actions{display:flex;gap:8px;padding:10px;background:#f8fafc;border-top:1px solid #e2e8f0}.admin-btn-small{padding:4px 12px;font-size:.8rem;border-radius:4px}.admin-btn-danger{color:#dc2626;border-color:#fecaca}.admin-btn-danger:hover{background:#fef2f2}.brochure-preview{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.brochure-info{display:flex;align-items:center;gap:12px;padding:16px}.brochure-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:#dc2626;color:#fff;border-radius:6px;font-size:.75rem;font-weight:700;flex-shrink:0}.brochure-link{color:#0077b6;font-weight:500;text-decoration:none}.brochure-link:hover{text-decoration:underline}.signup-list{display:flex;flex-direction:column;gap:8px}.signup-card{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f;overflow:hidden}.signup-card-cancelled{opacity:.6}.signup-card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;gap:16px}.signup-card-header:hover{background:#f8fafc}.signup-card-info{display:flex;align-items:center;gap:12px;min-width:0}.signup-card-email{color:#64748b;font-size:.85rem}.signup-card-suppressed{display:inline-block;margin-left:8px;padding:2px 8px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:10px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:help}.signup-card-phone{color:#94a3b8;font-size:.85rem}.signup-card-meta{display:flex;align-items:center;gap:12px;flex-shrink:0}.signup-card-classes{font-size:.8rem;color:#0077b6;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signup-card-total{font-weight:600;color:#023e8a;font-size:.9rem;white-space:nowrap}.signup-card-balance{font-weight:400;color:#64748b;font-size:.8rem}.signup-card-toggle{color:#94a3b8;font-size:.7rem}.signup-card-docs{font-size:.8rem;color:#b45309;white-space:nowrap}.signup-card-docs-complete{color:#15803d}.billing-panel{padding:16px;border-top:1px solid #e2e8f0;background:#f8fafc}.payment-gate{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin-bottom:16px;border-radius:8px;border:1px solid transparent;font-size:.9rem}.payment-gate-off{background:#fef3c7;border-color:#fde68a;color:#92400e}.payment-gate-on{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.payment-gate-label{flex:1}.billing-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.billing-section{background:#fff;padding:16px;border-radius:8px;border:1px solid #e2e8f0}.billing-section h4{margin:0 0 12px;font-size:.9rem;color:#1e293b;text-transform:uppercase;letter-spacing:.5px}.billing-table{width:100%;border-collapse:collapse;font-size:.85rem}.billing-table th{text-align:left;padding:6px 8px;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}.billing-table td{padding:8px;border-bottom:1px solid #f1f5f9}.billing-amt{text-align:right;white-space:nowrap}.billing-negative{color:#16a34a}.billing-tag{display:inline-block;background:#e0e7ff;color:#4338ca;padding:1px 6px;border-radius:4px;font-size:.7rem;margin-left:6px;font-weight:600}.billing-tag-test{background:#fef3c7;color:#92400e}.billing-refund-form{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap;align-items:center}.billing-total-row td{border-top:2px solid #e2e8f0;border-bottom:none;padding-top:10px}.billing-date{display:block;color:#94a3b8;font-size:.75rem}.billing-add-row{display:flex;gap:8px;margin-top:12px;align-items:center}.billing-input{padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.85rem;font-family:inherit;flex:1}.billing-input:focus{outline:none;border-color:#0077b6;box-shadow:0 0 0 2px #0077b61a}.billing-input-amt{width:100px;flex:0 0 100px;text-align:right}.billing-hint{font-size:.75rem;color:#94a3b8;margin:6px 0 0}.billing-empty{color:#94a3b8;font-size:.85rem;margin:0 0 12px}.billing-balance{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:12px;border-radius:6px;background:#fef2f2;color:#dc2626;font-size:.9rem}.billing-balance strong{font-size:1.1rem}.billing-balance-paid{background:#f0fdf4;color:#16a34a}.billing-footer{display:flex;gap:20px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0;font-size:.8rem;color:#94a3b8}.billing-actions-col{white-space:nowrap;text-align:right;width:1%}.billing-actions-col .admin-btn-sm{margin-left:4px}@media(max-width:768px){.admin-form-grid{grid-template-columns:1fr}.admin-table{display:block;overflow-x:auto}.admin-stats{flex-direction:column}.admin-header-content{flex-direction:column;height:auto;padding:12px 0;gap:8px}.billing-grid{grid-template-columns:1fr}.signup-card-header{flex-direction:column;align-items:flex-start;gap:8px}.signup-card-meta{flex-wrap:wrap}}.doc-status-none,.doc-status-pending{background:#e0e0e0;color:#555}.doc-status-submitted{background:#fff3cd;color:#856404}.doc-status-approved{background:#d4edda;color:#155724}.doc-status-rejected{background:#f8d7da;color:#721c24}.class-select-list{display:flex;flex-direction:column;gap:8px}.class-select-row{border:1px solid #ddd;border-radius:6px;padding:10px 12px}.class-select-row-active{border-color:#2b8a9e;background:#f3fafc}.class-select-check{display:flex;align-items:center;gap:8px;cursor:pointer;margin:0}.class-select-check input{width:auto;margin:0}.class-select-fields{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;padding-left:26px}.class-select-fields label{display:flex;flex-direction:column;font-size:.85rem;gap:4px}.class-select-fields input{width:120px}.faq-group{margin-bottom:28px}.faq-group-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;border-bottom:2px solid #e2e8f0;margin-bottom:12px}.faq-group-toggle{display:flex;align-items:center;gap:10px;padding:0;background:none;border:none;cursor:pointer;font-size:1.05rem;font-weight:700;color:#0f172a;text-align:left}.faq-group-toggle:hover{color:#0077b6}.faq-group-chevron{color:#94a3b8;font-size:.8rem}.faq-group-count{padding:2px 8px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:.75rem;font-weight:600}.store-editor-error{background:#fef2f2;color:#991b1b;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.store-editor-hint{color:#64748b;font-size:.85rem;margin:6px 0 0}.store-checkbox{display:flex;align-items:center;gap:8px;font-weight:400;padding:10px 0}.store-checkbox input{width:auto;margin:0}.store-drop-zone{border:2px dashed #cbd5e1;border-radius:8px;padding:2rem;text-align:center;color:#64748b;cursor:pointer;transition:background .15s,border-color .15s;margin-bottom:1.5rem}.store-drop-zone:hover,.store-drop-zone-active{background:#f1f5f9;border-color:#0077b6;color:#1e293b}.store-image-hint{color:#64748b;font-size:.875rem;margin:0 0 .75rem}.store-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.store-image-tile{position:relative;aspect-ratio:1 / 1;overflow:hidden;border-radius:6px;background:#e2e8f0;cursor:grab;transition:outline-color .1s,opacity .1s,transform .1s;outline:2px solid transparent;outline-offset:2px}.store-image-tile:active{cursor:grabbing}.store-image-tile-dragging{opacity:.4}.store-image-tile-drop-target{outline-color:#0077b6;transform:scale(1.02)}.store-image-tile img{width:100%;height:100%;object-fit:cover;display:block}.store-image-delete{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.store-image-delete:hover{background:#dc2626}.store-image-cover-badge{position:absolute;top:4px;left:4px;background:#0077b6e6;color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px}.album-editor-error{background:#fef2f2;color:#991b1b;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.album-drop-zone{border:2px dashed #cbd5e1;border-radius:8px;padding:2rem;text-align:center;color:#64748b;cursor:pointer;transition:background .15s,border-color .15s;margin-bottom:1.5rem}.album-drop-zone:hover,.album-drop-zone-active{background:#f1f5f9;border-color:#0077b6;color:#1e293b}.album-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.album-photo-tile{position:relative;aspect-ratio:1 / 1;overflow:hidden;border-radius:6px;background:#e2e8f0;cursor:grab;transition:outline-color .1s,opacity .1s,transform .1s;outline:2px solid transparent;outline-offset:2px}.album-photo-tile:active{cursor:grabbing}.album-photo-tile-dragging{opacity:.4}.album-photo-tile-drop-target{outline-color:#0077b6;transform:scale(1.02)}.album-photo-hint{color:#64748b;font-size:.875rem;margin:0 0 .75rem}.album-photo-tile img{width:100%;height:100%;object-fit:cover;display:block}.album-photo-delete{position:absolute;top:4px;right:4px;width:28px;height:28px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.album-photo-delete:hover{background:#dc2626}.album-photo-cover-badge{position:absolute;top:4px;left:4px;background:#0077b6e6;color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;color:#212529;line-height:1.6}a{color:#0077b6;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}
