@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap);*{-webkit-tap-highlight-color:transparent;box-sizing:border-box;margin:0;padding:0}:root{--color-background:#fff;--color-text:#333;--color-subtle:#f0f0f0;--color-accent:#4e7c8a;--color-accent-light:#4e7c8a1a;--color-accent-rgb:78,124,138;--color-shadow:#00000014;--color-input-bg:#fff;--font-body:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-heading:"Playfair Display",serif;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:40px;--vh:1vh}@supports (-webkit-touch-callout:none){.App{min-height:-webkit-fill-available}}html{-webkit-text-size-adjust:100%;font-size:16px;height:100%;overflow-y:auto;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--color-background);background-image:radial-gradient(circle at 50% 50%,#f0f0f0 1px,#0000 0);background-image:radial-gradient(circle at 50% 50%,var(--color-subtle) 1px,#0000 1px);background-position:0 0;background-size:40px 40px;color:#333;color:var(--color-text);font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-body);line-height:1.6;margin:0;min-height:100%;overflow-x:hidden;position:relative;touch-action:manipulation;width:100%}@media screen and (max-width:480px){body{-webkit-overflow-scrolling:touch;height:100%;overflow:auto;position:fixed;transform:translateZ(0);width:100%}#root,.App{-webkit-overflow-scrolling:touch;bottom:0;left:0;overflow:auto;position:absolute;right:0;top:0}}#root{height:100%;overflow-x:hidden;overflow-y:auto}#root,.App{-webkit-overflow-scrolling:touch;width:100%}.App{display:flex;flex-direction:column;min-height:100vh;min-height:calc(var(--vh, 1vh)*100);opacity:0}.App.is-ready{animation:siteReveal .85s cubic-bezier(.22,1,.36,1) both}@keyframes bootFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes siteReveal{0%{opacity:0}to{opacity:1}}.gallery-veil{animation:bootFade .7s ease both;color:#4e7c8a;color:var(--color-accent);flex-direction:column;min-height:280px}.gallery-veil,.gallery-veil-mark{align-items:center;display:flex;justify-content:center}.gallery-veil-mark{animation:galleryPulse 1.6s ease-in-out infinite;border:1px solid #4e7c8a;border:1px solid var(--color-accent);border-radius:50%;font-family:Playfair Display,serif;font-family:var(--font-heading);font-size:1.4rem;height:72px;letter-spacing:2px;margin-bottom:14px;width:72px}.gallery-veil-line{background:#4e7c8a;background:var(--color-accent);height:2px;opacity:.7;width:48px}@keyframes galleryPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.gallery-grid--reveal{animation:siteReveal .45s ease both}.gallery-photo{opacity:0;transition:opacity .45s ease}.gallery-photo.is-loaded{opacity:1}.profile-monogram{color:#4e7c8a;color:var(--color-accent);font-family:Playfair Display,serif;font-family:var(--font-heading);font-size:2.4rem;letter-spacing:3px}.profile-monogram--large{align-items:center;aspect-ratio:1;background:#f0f0f0;background:var(--color-subtle);display:flex;font-size:4rem;justify-content:center;width:100%}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;font-family:var(--font-heading);font-weight:400}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}img{display:block;height:auto;max-width:100%}button{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-body)}.fade-in{animation:fadeIn 1.2s cubic-bezier(.22,1,.36,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes floatAnimation{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes shimmer{0%{background-position:-100% 0}to{background-position:100% 0}}.gallery-grid{column-gap:1rem;columns:280px 3;margin-bottom:60px}.gallery-grid>*{break-inside:avoid;contain-intrinsic-size:400px;content-visibility:auto;margin-bottom:1rem;page-break-inside:avoid}.gallery-grid.masonry{grid-template-rows:masonry}@media (max-width:1024px){html{font-size:15px}.section-title{font-size:2.4rem}}@media (max-width:768px){html{font-size:14px}.gallery-grid{column-gap:.85rem;columns:220px 2}.section-title{font-size:2.2rem}body{background-size:30px 30px}.section-header{margin-bottom:40px}}@media (max-width:480px){html{font-size:13px}.gallery-grid{column-count:1;column-gap:0}.section-title{font-size:1.8rem}body{background-size:20px 20px}h2{font-size:1.6rem}.btn,button{padding:12px 24px}.section-header{margin-bottom:30px}}.gallery-item,.photo-item{backface-visibility:hidden;border-radius:12px;box-shadow:0 15px 30px #00000014;box-shadow:0 15px 30px var(--color-shadow);overflow:hidden;position:relative;transform:translateZ(0);transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1);will-change:transform,box-shadow}.gallery-item:hover,.photo-item:hover{box-shadow:0 16px 32px #0000001f;transform:translateY(-6px);z-index:2}.gallery-item img,.photo-item img{display:block;height:auto;width:100%}.photo-overlay{background:linear-gradient(0deg,#000000d9,#0000004d 70%,#0000);bottom:0;color:#fff;left:0;opacity:0;padding:30px 20px 20px;position:absolute;right:0;transform:translateY(100%);transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .4s ease}.gallery-item:hover .photo-overlay,.photo-item:hover .photo-overlay{opacity:1;transform:translateY(0)}.photo-title{font-size:1.3rem;font-weight:500;margin:0 0 8px;text-shadow:0 2px 4px #0000004d;transform:translateY(10px);transition:transform .4s cubic-bezier(.22,1,.36,1);transition-delay:.1s}.gallery-item:hover .photo-title,.photo-item:hover .photo-title{transform:translateY(0)}.section-header{margin-bottom:60px;position:relative;text-align:center}.section-title{color:#333;color:var(--color-text);display:inline-block;font-size:2.8rem;font-weight:400;letter-spacing:2px;margin-bottom:20px;position:relative}.section-title:after{background:#4e7c8a;background:var(--color-accent);bottom:-15px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width .5s ease;width:80px}.section-header:hover .section-title:after{width:120px}.section-divider{background:#4e7c8a;background:var(--color-accent);height:2px;margin:0 auto 30px;opacity:.7;overflow:hidden;position:relative;width:60px}.section-divider:after{animation:shimmer 3s infinite;background:linear-gradient(90deg,#0000,#fff,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.btn,button{background:#4e7c8a;background:var(--color-accent);border:none;border-radius:8px;box-shadow:0 8px 20px #4e7c8a4d;box-shadow:0 8px 20px rgba(var(--color-accent-rgb),.3);color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;letter-spacing:1px;overflow:hidden;padding:14px 30px;position:relative;transform:translateY(0);transition:all .4s cubic-bezier(.22,1,.36,1);z-index:1}.btn:hover,button:hover{background:#3a6877;box-shadow:0 12px 25px #4e7c8a66;box-shadow:0 12px 25px rgba(var(--color-accent-rgb),.4);transform:translateY(-5px)}.btn:before,button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .7s;width:100%;z-index:-1}.btn:hover:before,button:hover:before{left:100%}.btn:active,button:active{box-shadow:0 5px 15px #4e7c8a4d;box-shadow:0 5px 15px rgba(var(--color-accent-rgb),.3);transform:translateY(-2px)}input,select,textarea{background-color:#fff;background-color:var(--color-input-bg);border:1px solid #f0f0f0;border:1px solid var(--color-subtle);border-radius:8px;box-shadow:0 2px 8px #00000005;color:#333;color:var(--color-text);font-size:1rem;outline:none;padding:14px 18px;transition:all .3s ease;width:100%}input:focus,select:focus,textarea:focus{border-color:#4e7c8a;border-color:var(--color-accent);box-shadow:0 0 0 4px #4e7c8a1a,0 2px 8px #0000000a;box-shadow:0 0 0 4px var(--color-accent-light),0 2px 8px #0000000a;transform:translateY(-2px)}label{color:#333;color:var(--color-text);display:block;font-size:.9rem;font-weight:500;margin-bottom:10px;opacity:.9;transition:color .3s ease}input:focus+label,select:focus+label,textarea:focus+label{color:#4e7c8a;color:var(--color-accent)}.social-icon{align-items:center;background-color:#fff;border-radius:50%;box-shadow:0 5px 15px #0000001a;display:flex;height:45px;justify-content:center;overflow:hidden;position:relative;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s cubic-bezier(.175,.885,.32,1.275);width:45px}.social-icon:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-5px) scale(1.1)}.social-icon:after{background:radial-gradient(circle,#4e7c8a33 0,#0000 70%);background:radial-gradient(circle,rgba(var(--color-accent-rgb),.2) 0,#0000 70%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .4s}.social-icon:hover:after{opacity:1}.card{background:#fff;background:var(--color-input-bg);box-shadow:0 20px 50px #00000014,0 2px 3px #0000000d,inset 0 -2px 0 #fffc;box-shadow:0 20px 50px var(--color-shadow),0 2px 3px #0000000d,0 -2px 0 #fffc inset;display:block;height:auto;overflow:visible;padding:40px;position:relative;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1)}.card,.card:before{border-radius:16px;width:100%}.card:before{background:linear-gradient(to bottom right,#ffffff80,#4e7c8a33);background:linear-gradient(to bottom right,#ffffff80,rgba(var(--color-accent-rgb),.2));bottom:0;content:"";height:100%;left:0;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;pointer-events:none;position:absolute;right:0;top:0}.card:hover{box-shadow:0 30px 60px #00000014,0 2px 3px #0000000d,inset 0 -2px 0 #fffc;box-shadow:0 30px 60px var(--color-shadow),0 2px 3px #0000000d,0 -2px 0 #fffc inset;transform:translateY(-10px)}@media screen and (max-width:768px){.card{display:block;height:auto;min-height:100%;overflow:visible;padding:30px 20px}.card,.card>div{width:100%}}.about-social-icon{margin-right:5px;transition:transform .3s ease}.about-social-icon,.about-social-text{display:inline-block;vertical-align:middle}.about-social-text{padding-bottom:3px;position:relative}.about-social-text:after{background-color:#4e7c8a;background-color:var(--color-accent);bottom:0;content:"";height:1px;left:0;position:absolute;transition:width .3s ease;width:0}.about-social a:hover .about-social-text:after{width:100%}.about-social a:hover{color:#4e7c8a;color:var(--color-accent)}.about-social a:hover .about-social-icon{transform:rotate(5deg) scale(1.1)}.contact-info-item{align-items:center;color:#333;color:var(--color-text);display:flex;margin-bottom:20px;transition:transform .3s ease}.contact-info-item:hover{transform:translateX(5px)}.contact-icon-wrapper{align-items:center;background-color:#f0f0f0;background-color:var(--color-subtle);border-radius:50%;display:flex;height:45px;justify-content:center;margin-right:15px;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275);width:45px}.contact-icon-wrapper:after{background:radial-gradient(circle,#4e7c8a4d 0,#0000 70%);background:radial-gradient(circle,rgba(var(--color-accent-rgb),.3) 0,#0000 70%);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .4s}.contact-info-item:hover .contact-icon-wrapper{background-color:#4e7c8a1a;background-color:var(--color-accent-light);transform:scale(1.1)}.contact-info-item:hover .contact-icon-wrapper:after{opacity:1}.success-message{animation:fadeIn .5s ease;background-color:#4bb5431a;border:1px solid #4bb54333;border-radius:10px;margin-bottom:25px;overflow:hidden;padding:25px;position:relative;text-align:center}.success-message:before{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#4bb54380,#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.error-message{animation:fadeIn .5s ease;background-color:#ff000014;border:1px solid #ff000026;border-radius:10px;margin-bottom:25px;overflow:hidden;padding:25px;position:relative;text-align:center}.error-message:before{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ff00004d,#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.gallery-container{position:relative}.gallery-item{cursor:pointer;transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s cubic-bezier(.22,1,.36,1)}.gallery-item:nth-child(3n+1):hover,.gallery-item:nth-child(3n+2):hover,.gallery-item:nth-child(3n+3):hover{transform:translateY(-6px)}.logo{animation:pulse 6s ease-in-out infinite}.logo svg{filter:drop-shadow(0 5px 15px rgba(78,124,138,.3));filter:drop-shadow(0 5px 15px rgba(var(--color-accent-rgb),.3))}.photo-detail{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c!important;transition:all .5s cubic-bezier(.22,1,.36,1)}.photo-detail img{border:1px solid #ffffff1a!important;border-radius:8px;box-shadow:0 30px 60px #00000040;transition:transform .5s cubic-bezier(.22,1,.36,1)}.photo-detail img:hover{transform:scale(1.02)}.section-title{animation:fadeIn 1.2s cubic-bezier(.22,1,.36,1)}.glass-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #ffffff4d;border-radius:16px;box-shadow:0 4px 30px #0000001a}.float-animation{animation:floatAnimation 6s ease-in-out infinite}.footer-admin-link{background:none;border:none;box-shadow:none;color:inherit;font-size:.72rem;letter-spacing:.04em;opacity:.28;padding:0;text-decoration:none}.footer-admin-link:hover{background:none;box-shadow:none;opacity:.55;text-decoration:underline;transform:none}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f0f0f0;background:var(--color-subtle);border-radius:10px}::-webkit-scrollbar-thumb{background:#4e7c8a;background:var(--color-accent);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#3a6877}@media screen and (max-width:480px){.card,.section-header,section{display:block!important;height:auto!important;max-width:100%!important;overflow:visible!important;width:100%!important}.card{box-sizing:border-box;padding:25px 15px!important}.card>div{display:block!important;width:100%!important}section{margin-bottom:50px!important;padding:0 15px!important}.card [style*=grid]{display:flex!important;flex-direction:column!important;width:100%!important}.gallery-grid{column-count:1!important;column-gap:0!important;margin-bottom:40px!important}.gallery-item{margin-bottom:15px!important}.gallery-item,.gallery-item>div{height:auto!important;width:100%!important}.gallery-item>div{position:relative!important}img{height:auto!important;max-width:100%!important}.gallery-grid>div:last-child,section>div:last-child{margin-bottom:20px!important}.gallery-container{padding-bottom:30px!important}.gallery-item img{height:auto!important;object-fit:contain!important;position:static!important;width:100%!important}.gallery-item img,.gallery-item:hover img{transform:none!important}}.profile-image-container{overflow:hidden;position:relative}.profile-image{object-fit:cover;object-position:center center;transition:transform .3s ease-out}@media screen and (max-width:480px){.profile-image-container{height:180px!important;margin:0 auto!important;overflow:hidden!important;position:relative!important;width:180px!important}.profile-image{height:100%!important;object-fit:cover!important;object-position:center center!important;position:static!important;transform:none!important;width:100%!important}}@supports (-webkit-touch-callout:none){.profile-image{transform:none!important}}@media screen and (max-width:480px){.featured-images-container{display:flex!important;flex-direction:column!important;gap:15px!important}.featured-image-item{height:0!important;margin-bottom:15px!important;padding-bottom:75%!important;position:relative!important;width:100%!important}.featured-image-item img{height:100%!important;left:0!important;object-fit:cover!important;position:absolute!important;top:0!important;width:100%!important}}.admin{margin:0 auto 80px;max-width:1100px;padding:0 20px}.admin-header{margin-bottom:36px;position:relative;text-align:center}.admin-header h2{font-size:2.2rem;font-weight:400;letter-spacing:1px;margin-bottom:12px}.admin-logout{background:none;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.85rem;opacity:.7;padding:8px 14px;position:absolute;right:0;top:0}.admin-card{background:#fff;border-radius:10px;box-shadow:0 10px 30px #0000000d;margin-bottom:28px;padding:28px}.admin-card h3{color:#4e7c8a;color:var(--color-accent);font-family:Playfair Display,serif;font-family:var(--font-heading);font-size:1.35rem;font-weight:500;margin-bottom:6px}.admin-help{font-size:.9rem;margin-bottom:18px;opacity:.72}.admin-toast{background:#4bb5431f;color:#2e8b2e;font-weight:500}.admin-error,.admin-toast{border-radius:6px;margin-bottom:18px;padding:12px 16px;text-align:center}.admin-error{background:#ff44441a;color:#c0392b}.admin-home-row{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(3,1fr) 140px}.admin-slot{aspect-ratio:4/3;background:#fafafa;border:2px dashed #ddd;border-radius:10px;cursor:pointer;overflow:hidden;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.admin-profile img,.admin-slot img{display:block;height:100%;object-fit:cover;width:100%}.admin-profile-empty,.admin-slot-empty{align-items:center;color:#777;display:flex;font-size:.85rem;height:100%;justify-content:center;padding:12px;text-align:center;width:100%}.admin-slot-label{background:#ffffffeb;border-radius:4px;bottom:8px;font-size:.75rem;left:8px;letter-spacing:.4px;padding:4px 6px;position:absolute;right:8px;text-align:center}.admin-profile.is-active,.admin-slot.is-active{border-color:#4e7c8a;border-color:var(--color-accent);box-shadow:0 0 0 3px #4e7c8a1a;box-shadow:0 0 0 3px var(--color-accent-light)}.admin-profile{background:#fafafa;border:2px dashed #ddd;border-radius:50%;cursor:pointer;height:140px;margin:0 auto;overflow:hidden;width:140px}.admin-picking{background:#4e7c8a1a;background:var(--color-accent-light);border-radius:6px;color:#4e7c8a;color:var(--color-accent);font-size:.9rem;margin-top:14px;padding:10px 14px;text-align:center}.admin-columns-row,.admin-upload-row{grid-gap:28px;display:grid;gap:28px;grid-template-columns:1fr 1fr}.admin-field{display:block;font-size:.85rem;margin-bottom:6px;opacity:.8}.admin-input,.admin-select{background:#fff;border:1px solid #e4e4e4;border-radius:6px;font-size:.95rem;margin-bottom:12px;padding:11px 14px;width:100%}.admin-columns-list{grid-gap:8px;display:grid;gap:8px}.admin-column{align-items:center;background:#f0f0f0;background:var(--color-subtle);border-radius:6px;display:flex;justify-content:space-between;padding:10px 14px}.admin-column button,.admin-photo-delete{background:none;border:none;color:#c0392b;cursor:pointer;font-size:.85rem;padding:4px 8px}.admin-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.admin-chip{background:#fff;border:1px solid #e4e4e4;border-radius:999px;color:#333;color:var(--color-text);cursor:pointer;font-size:.82rem;letter-spacing:.3px;padding:6px 12px}.admin-chip.is-active{background:#4e7c8a1a;background:var(--color-accent-light);border-color:#4e7c8a;border-color:var(--color-accent);color:#4e7c8a;color:var(--color-accent)}.admin-chip-count{margin-left:4px;opacity:.65}.admin-photo-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.admin-photo{background:#f7f7f7;border:1px solid #eee;border-radius:8px;overflow:hidden;position:relative}.admin-photo.is-unassigned{border-color:#e0c48a}.admin-photo.is-pickable{cursor:pointer;outline:2px dashed #4e7c8a;outline:2px dashed var(--color-accent);outline-offset:2px}.admin-photo img{aspect-ratio:1;cursor:pointer;display:block;object-fit:cover;width:100%}.admin-textarea{border:1px solid #e4e4e4;border-radius:6px;font-family:inherit;font-size:.95rem;line-height:1.5;margin-bottom:12px;padding:11px 14px;resize:vertical;width:100%}.admin-modal-backdrop{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2000}.admin-modal{background:#fff;border-radius:12px;box-shadow:0 20px 50px #0003;max-height:90vh;overflow:auto;padding:24px;width:min(520px,100%)}.admin-modal h3{color:#4e7c8a;color:var(--color-accent);font-family:Playfair Display,serif;font-family:var(--font-heading);margin-bottom:6px}.admin-modal-preview{background:#f5f5f5;border-radius:8px;margin-bottom:14px;max-height:220px;object-fit:contain;width:100%}.admin-modal-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.admin-photo-bar{align-items:center;background:#fff;display:flex;gap:6px;padding:8px}.admin-photo-col{flex:1 1;font-size:.75rem;min-width:0;opacity:.75;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-empty{font-size:.9rem;opacity:.65;padding:12px 0}@media (max-width:800px){.admin-home-row{grid-template-columns:repeat(3,1fr)}.admin-profile{grid-column:1/-1}.admin-columns-row,.admin-upload-row{grid-template-columns:1fr}.admin-logout{margin-bottom:16px;position:static}}@media (max-width:480px){.admin-card{margin-bottom:16px;padding:18px 14px}.admin-photo-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-modal-backdrop{align-items:flex-end;padding:8px}.admin-modal{max-height:92vh;padding:16px;width:100%}.admin .admin-photo img,.admin .admin-profile img,.admin .admin-slot img{height:100%!important;object-fit:cover!important;width:100%!important}.admin .admin-modal-preview{height:auto!important;max-height:160px;object-fit:contain!important}.photo-detail{align-items:flex-start!important;padding:8px!important}.photo-detail img{border-width:3px!important;max-height:55vh!important}}.admin .admin-chip,.admin .admin-column button,.admin .admin-logout,.admin .admin-photo-delete,.admin .admin-photo-edit,.admin .admin-profile,.admin .admin-slot{background:none;box-shadow:none;font-weight:500;letter-spacing:.2px;overflow:visible;transform:none}.admin .admin-chip:active,.admin .admin-chip:hover,.admin .admin-column button:active,.admin .admin-column button:hover,.admin .admin-logout:active,.admin .admin-logout:hover,.admin .admin-photo-delete:active,.admin .admin-photo-delete:hover,.admin .admin-photo-edit:active,.admin .admin-photo-edit:hover,.admin .admin-profile:active,.admin .admin-profile:hover,.admin .admin-slot:active,.admin .admin-slot:hover{box-shadow:none;transform:none}.admin .admin-chip:before,.admin .admin-column button:before,.admin .admin-logout:before,.admin .admin-photo-delete:before,.admin .admin-photo-edit:before,.admin .admin-profile:before,.admin .admin-slot:before{display:none}.admin .admin-logout{border:1px solid #ddd;border-radius:4px;color:#333;color:var(--color-text);padding:8px 14px}.admin .admin-chip{background:#fff;border:1px solid #e4e4e4;color:#333;color:var(--color-text);padding:6px 12px}.admin .admin-chip.is-active{background:#4e7c8a1a;background:var(--color-accent-light);border-color:#4e7c8a;border-color:var(--color-accent);color:#4e7c8a;color:var(--color-accent)}.admin .admin-profile,.admin .admin-slot{color:inherit;padding:0}.admin .admin-slot{width:100%}.admin .admin-column button,.admin .admin-photo-delete{border-radius:4px;color:#c0392b;padding:4px 8px}.admin .admin-photo-edit{border-radius:4px;color:#4e7c8a;color:var(--color-accent);padding:4px 8px}.admin-image-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.admin-modal--crop{width:min(720px,100%)}.photo-cropper-aspects{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.photo-cropper-stage{background:#111;border-radius:8px;display:flex;justify-content:center;margin-bottom:10px;padding:8px;-webkit-user-select:none;user-select:none}.photo-cropper-frame{display:inline-block;max-width:100%;position:relative}.photo-cropper-frame img{display:block;height:auto!important;max-height:55vh;max-width:100%;pointer-events:none;width:auto!important}.photo-crop-box{border:2px solid #fff;box-shadow:0 0 0 9999px #00000073;cursor:move}.photo-crop-box,.photo-crop-handle{position:absolute;touch-action:none}.photo-crop-handle{background:#fff;border:2px solid #4e7c8a;border:2px solid var(--color-accent);border-radius:2px;height:18px;width:18px}.photo-crop-handle--nw{cursor:nwse-resize;left:-9px;top:-9px}.photo-crop-handle--ne{cursor:nesw-resize;right:-9px;top:-9px}.photo-crop-handle--sw{bottom:-9px;cursor:nesw-resize;left:-9px}.photo-crop-handle--se{bottom:-9px;cursor:nwse-resize;right:-9px}@media (max-width:480px){.photo-cropper-frame img{max-height:42vh}.photo-crop-handle{height:22px;width:22px}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}