@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg:#f8fafc;--surface:#fff;--surface-glass:#ffffffb3;--border:#10b98133;--shadow-glass:0 8px 32px 0 #04785714;--accent:#059669;--accent-light:#34d399;--accent-dark:#047834;--text-main:#0f172a;--text-muted:#64748b;--error:#ef4444;--success:#10b981;--radius:16px;--transition-smooth:.4s cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow-x:hidden}body{background:var(--bg);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif}.glass-panel{background:var(--surface-glass);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-glass);border-radius:var(--radius);border:1px solid #fff6}.btn-signout{color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:1px solid #e2e8f0;border-radius:10px;padding:10px 24px;font-family:Inter,sans-serif;font-size:14px;font-weight:500}.btn-signout:hover{border-color:var(--error);color:var(--error);background:#fef2f2}.file-hint{color:var(--text-muted);white-space:nowrap;opacity:.7;font-size:10px;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.mobile-menu-backdrop{-webkit-backdrop-filter:blur(4px);z-index:80;opacity:0;visibility:hidden;background:#0000004d;width:100%;height:100vh;transition:opacity .4s cubic-bezier(.16,1,.3,1),visibility .4s;position:fixed;top:0;left:0}.mobile-menu-backdrop.visible{opacity:1;visibility:visible}.gallery-page-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:300;background:#0f172a80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.logo-menu-panel,.gallery-page-root{background:#fffffff5;border:1px solid #10b9811f;border-radius:32px;width:min(1120px,100%);max-height:min(90vh,1080px);padding:28px;overflow:auto;box-shadow:0 28px 80px #0f172a2e}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.logo-menu-title-row h3,.section-heading-row h2{margin:0;font-size:22px}.logo-menu-title-row p,.section-heading-row p{color:var(--text-muted);max-width:620px;margin:8px 0 0}.asset-grid,.upload-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px;display:grid}.asset-card,.upload-item{cursor:pointer;background:#fff;border:1px solid #10b9811f;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px #10b98114}.logo-menu-item{padding:0}.asset-preview{object-fit:cover;width:100%;height:200px;display:block}.asset-card-video .asset-preview,.upload-preview{height:220px}.upload-button,.upload-button-secondary{border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 20px;font-weight:700;display:inline-flex}.logo-menu-open{margin-top:10px}.upload-controls{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px;display:grid}.upload-button{background:var(--accent);color:#fff;cursor:pointer;position:relative}.upload-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-button-secondary{color:var(--accent-dark);border:1px solid var(--accent);background:0 0}.upload-item{flex-direction:column;gap:12px;display:flex}.upload-meta{justify-content:space-between;align-items:center;gap:12px;padding:0 12px 12px;display:flex}.upload-meta span{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.upload-item button{align-self:flex-end}.asset-caption{color:var(--text-muted);text-align:left;padding:14px 16px;font-size:13px}.asset-placeholder{text-align:center;color:var(--text-muted);background:#ffffffeb;border-radius:18px;grid-column:1/-1;padding:40px}.asset-grid,.upload-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}@media (width<=660px){.logo-menu-panel,.gallery-page-root{padding:18px}.section-heading-row,.logo-menu-title-row{flex-direction:column;align-items:flex-start}}.loading-screen{background:var(--bg);justify-content:center;align-items:center;height:100vh;animation:.3s ease-out fadeIn;display:flex}.spinner{border:4px solid var(--accent-light);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:1s cubic-bezier(.5,0,.5,1) infinite spin,2s ease-in-out infinite pulseGlow}@keyframes spin{to{transform:rotate(360deg)}}.landing-root{width:100%;min-height:100vh;display:flex}.landing-left{background:var(--accent-dark);flex:1.2;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-slide{opacity:0;filter:brightness(.95)contrast(.96);z-index:0;will-change:opacity, transform, filter;background-position:50%;background-size:cover;transition:opacity 1.2s ease-in-out,transform 1.8s ease-in-out,filter 1.6s ease-in-out;animation:12s ease-in-out infinite heroFloat;position:absolute;inset:0;transform:scale(1)translateY(0)}.hero-slide.active{opacity:1;filter:brightness()contrast(1.03);mix-blend-mode:normal;transform:scale(1.04)translateY(-5px)}@keyframes heroFloat{0%,to{transform:scale(1)translateY(0)}50%{transform:scale(1.02)translateY(-8px)}}.nacc-logo{cursor:pointer;background:0 0;border:none;padding:0;animation:6s ease-in-out infinite logoScale}.nacc-logo-image{transform-origin:50%;animation:4.5s ease-in-out infinite logoPulse;display:block}@keyframes logoPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes logoScale{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes gentlePulse{0%{opacity:.85;transform:scale(1)}to{opacity:1;transform:scale(1.03)}}.landing-right{background:var(--bg);flex-direction:column;flex:1;display:flex;position:relative}.top-nav{z-index:50;justify-content:space-between;align-items:center;gap:32px;padding:32px 48px;display:flex}.nav-links{gap:24px;display:flex}.nav-link{color:var(--text-muted);transition:var(--transition-smooth);cursor:pointer;font-family:Outfit,sans-serif;font-size:15px;font-weight:500;text-decoration:none}.nav-link:hover,.nav-link.active{color:var(--accent)}.nav-link.active{border-bottom:2px solid var(--accent);padding-bottom:4px}.hamburger-btn{color:var(--text-main);cursor:pointer;transition:var(--transition-smooth);z-index:100;background:0 0;border:none;display:none}.hamburger-btn:hover{color:var(--accent)}.mobile-menu{background:var(--surface-glass);-webkit-backdrop-filter:blur(20px);z-index:90;flex-direction:column;gap:32px;width:100%;max-width:400px;height:100vh;padding:100px 48px 48px;transition:right .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;right:-100%;box-shadow:-10px 0 40px #0000001a}.mobile-menu.open{right:0}.mobile-link{color:var(--text-main);cursor:pointer;transition:var(--transition-smooth);border-bottom:1px solid #e2e8f0;padding-bottom:16px;font-family:Outfit,sans-serif;font-size:32px;font-weight:700;text-decoration:none}.mobile-link:hover,.mobile-link.active{color:var(--accent);padding-left:10px}.auth-content{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:680px;margin:0 auto;padding:40px 64px 64px;display:flex;overflow-y:auto}.welcome-title{color:var(--text-main);letter-spacing:-.5px;margin-bottom:16px;font-size:42px;font-weight:800;animation:.8s ease-out slideUp}.welcome-subtitle{color:var(--text-muted);margin-bottom:40px;font-size:16px;line-height:1.6;animation:1s ease-out slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-card{width:100%;animation:.7s cubic-bezier(.16,1,.3,1) both fadeInUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-form{flex-direction:column;gap:20px;display:flex}label{color:var(--text-main);flex-direction:column;gap:8px;font-size:14px;font-weight:500;display:flex}input,select{background:var(--surface);color:var(--text-main);transition:var(--transition-smooth);border:1px solid #e2e8f0;border-radius:12px;outline:none;padding:14px 16px;font-family:Inter,sans-serif;font-size:15px;box-shadow:0 2px 4px #00000005}input::placeholder,select::placeholder{color:#94a3b8}.input-hint{color:#94a3b8;margin-top:6px;font-size:12px;font-style:italic;font-weight:400;line-height:1.4;display:block}.password-field{position:relative}.password-field input{width:100%;padding-right:48px}.password-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.password-toggle:hover{color:var(--accent);background:#10b9810d}input:focus,select:focus{border-color:var(--accent-light);background:#fff;animation:2s ease-in-out .3s infinite pulseGlow;box-shadow:0 0 0 4px #10b98126}.btn-primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);color:#fff;letter-spacing:.5px;cursor:pointer;width:100%;transition:var(--transition-smooth);border:none;border-radius:12px;justify-content:center;align-items:center;padding:16px;font-family:Outfit,sans-serif;font-size:16px;font-weight:600;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 25px #10b9814d}.btn-primary:after{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-primary:hover:not(:disabled):after{width:300px;height:300px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 30px #10b98166}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{width:100%;color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:1px solid #e2e8f0;border-radius:12px;padding:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;position:relative;overflow:hidden}.btn-ghost:after{content:"";background:#10b9810f;border-radius:50%;width:0;height:0;transition:width .5s,height .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-ghost:hover:after{width:300px;height:300px}.btn-ghost:hover{color:var(--text-main);background:#f1f5f9}.btn-link{width:100%;color:var(--accent);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;padding:10px;font-family:Inter,sans-serif;font-size:14px;font-weight:500}.btn-link:hover{color:var(--accent-dark);text-decoration:underline}.btn-small{color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);white-space:nowrap;background:0 0;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;font-family:Inter,sans-serif;font-size:12px;font-weight:500}.btn-small:hover{color:var(--text-main);border-color:var(--accent);background:#f1f5f9}.btn-home{color:var(--text-main);background:#fffffffa;border:1px solid #10b9812b;border-radius:999px;align-items:center;gap:.6rem;padding:10px 18px;font-family:Inter,sans-serif;font-size:14px;font-weight:700;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s;display:inline-flex;box-shadow:0 14px 35px #10b98114}.btn-home:hover{border-color:var(--accent-light);background:#fff;transform:translateY(-1px);box-shadow:0 18px 45px #10b9811f}.btn-home:active{transform:translateY(0)}.btn-home svg{stroke:var(--accent-dark)}.page-actions-bottom{justify-content:flex-end;width:100%;display:flex}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.map-action{justify-content:flex-end;align-items:center}.map-grid{grid-template-columns:1fr 1.2fr;align-items:stretch;gap:24px;min-height:500px;display:grid}.map-list{gap:18px;display:grid}.map-card{background:var(--surface);border:1px solid #e2e8f0;border-radius:18px;padding:22px;box-shadow:0 18px 40px #0f172a0a}.map-card h3{margin-bottom:8px;font-size:18px}.map-card-detail{color:var(--text-muted);line-height:1.7}.map-panel{border:1px solid #e2e8f0;border-radius:20px;min-height:420px;overflow:hidden;box-shadow:0 22px 50px #0f172a0f}.leaflet-map{width:100%;height:100%;min-height:420px}@media (width<=980px){.map-grid{grid-template-columns:1fr}}.divider{color:#94a3b8;text-transform:uppercase;letter-spacing:1px;align-items:center;gap:16px;margin:32px 0;font-size:13px;display:flex}.divider:before,.divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.oauth-row{gap:16px;display:flex}.btn-oauth{color:var(--text-main);cursor:pointer;transition:var(--transition-smooth);background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:10px;padding:14px;font-family:Outfit,sans-serif;font-size:14px;font-weight:600;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #00000005}.btn-oauth:after{content:"";background:linear-gradient(90deg,#0000,#10b9810a,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.btn-oauth:hover:after{left:100%}.btn-oauth:hover{border-color:var(--accent);box-shadow:0 4px 12px #10b9811a}.footer{width:100%;color:var(--text-muted);background:0 0;border-top:1px solid #e2e8f0;margin-top:auto;padding:32px 48px;animation:.6s cubic-bezier(.16,1,.3,1) .4s both fadeInUp}.footer-content{flex-direction:column;align-items:center;gap:16px;margin:0 auto;display:flex}.footer-links{align-items:center;gap:12px;font-size:13px;display:flex}.footer-links a{color:var(--text-muted);transition:var(--transition-smooth);text-decoration:none}.footer-links a:hover{color:var(--accent)}.footer-links .dot{color:#cbd5e1}.footer-socials{gap:16px;display:flex}.social-icon{color:#94a3b8;transition:var(--transition-smooth);background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;padding:8px;animation:3s ease-in-out infinite float;display:flex}.social-icon:hover{color:#fff;background:var(--accent);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #10b98133}.footer-copy{text-align:center;font-size:12px;line-height:1.6}.mobile-break{display:none}.msg{border-radius:12px;align-items:center;gap:10px;margin-bottom:24px;padding:14px 16px;font-size:14px;animation:.4s cubic-bezier(.16,1,.3,1) both fadeInDown;display:flex}.msg.error{color:var(--error);background:#fef2f2;border:1px solid #fecaca}.msg.info{color:var(--success);background:#ecfdf5;border:1px solid #a7f3d0}.dash-root{background:var(--bg);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.premium-dashboard:before{content:"";pointer-events:none;background:radial-gradient(circle at 0 0,#10b9811f,#0000 24%),radial-gradient(circle at 100% 100%,#05966914,#0000 18%);position:absolute;inset:0}.premium-dashboard.premium-loaded .profile-card,.premium-dashboard.premium-loaded .photocard-wrapper,.premium-dashboard.premium-loaded .image-gallery-section{opacity:1;transform:translateY(0)}.dash-header{z-index:10;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 48px;animation:.5s cubic-bezier(.16,1,.3,1) both fadeInDown;display:flex;box-shadow:0 4px 20px #00000005}.dash-header-actions{align-items:center;gap:12px;display:flex}@media (width<=600px){.dash-header-actions{gap:8px}.dash-header-actions .btn-ghost{padding:8px 12px;font-size:13px}}.dash-logo{color:var(--accent-dark);align-items:center;gap:8px;font-family:Outfit,sans-serif;font-size:22px;font-weight:800;display:flex}.dash-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:48px;animation:.7s cubic-bezier(.16,1,.3,1) .15s both fadeInUp}.profile-card{max-width:520px;transition:var(--transition-smooth);opacity:0;border-radius:28px;margin:0 auto;padding:32px;transform:translateY(18px)}.photocard-wrapper{max-width:486px;margin:0 auto}.photocard-header{color:#fff;background:linear-gradient(135deg,#047857 0%,#059669 50%,#10b981 100%);padding:12px 18px 10px;position:relative}.photocard-header-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.photocard-badge{letter-spacing:2px;color:#fbbf24;background:#fff3;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700}.photocard-member-id{color:#fbbf24;text-shadow:0 1px 2px #0003;text-align:center;word-break:break-all;flex:1;padding:0 6px;font-family:Courier New,monospace;font-size:9px;font-weight:600;line-height:1.25}.photocard-code{color:#fbbf24;letter-spacing:.5px;background:#fbbf241a;border-radius:4px;margin-bottom:6px;padding:2px 8px;font-family:Courier New,monospace;font-size:10px;font-weight:700;display:inline-block}.photocard-header h2{letter-spacing:.5px;font-size:14px;font-weight:800;line-height:1.3}.photocard-subtitle{opacity:.85;text-transform:uppercase;letter-spacing:2px;margin-top:2px;font-size:10px}.photocard-body{background:#fafdfc;gap:14px;min-height:150px;padding:14px;display:flex}.photocard-photo-section{cursor:pointer;flex-shrink:0;position:relative}.photo-frame{border:2px solid var(--accent-light);background:#f1f5f9;border-radius:8px;justify-content:center;align-items:center;width:92px;height:112px;display:flex;overflow:hidden;box-shadow:0 4px 12px #10b9811a}.photo-frame .profile-img{object-fit:cover;width:100%;height:100%}.photo-initial{color:var(--accent);font-family:Outfit,sans-serif;font-size:40px;font-weight:700}.photocard-details{flex:1;min-width:0}.photocard-name{color:#047857;margin-bottom:2px;font-family:Outfit,sans-serif;font-size:14px;font-weight:800;line-height:1.2}.photocard-divider{background:linear-gradient(90deg, var(--accent-light), transparent);border-radius:2px;height:2px;margin-bottom:12px}.photocard-info-grid{grid-template-columns:1fr 1fr;gap:2px 8px;display:grid}.info-item{flex-direction:column;gap:0;display:flex}.info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.2px;font-size:7px;font-weight:600}.info-value{color:var(--text-main);word-break:break-word;font-family:Outfit,sans-serif;font-size:9px;font-weight:600;line-height:1.18}.photocard-footer{background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 100%);border-top:1px solid #10b9811a;padding:12px 20px}.footer-row{justify-content:space-between;align-items:center;font-size:10px;display:flex}.valid-nacc{color:#b91c1c;letter-spacing:.4px;text-transform:uppercase;font-size:10px;font-weight:900}.photocard-highlight{color:#92400e;background:#fbbf241f;border-radius:8px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:800}.footer-email{color:var(--text-muted);font-family:Courier New,monospace;font-size:9px}.photocard-watermark{opacity:.12;pointer-events:none;z-index:5;width:50%;max-width:180px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.photocard-header,.photocard-body,.photocard-footer,.photocard-back-header,.photocard-back-body,.photocard-back-footer{z-index:1;position:relative}.photocard-key-details{grid-template-columns:1fr 1fr 1fr;gap:6px 10px;margin-bottom:12px;display:grid}.key-detail{flex-direction:column;gap:1px;display:flex}.key-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:7px;font-weight:700}.key-value{color:#047857;word-break:break-word;font-family:Outfit,sans-serif;font-size:10px;font-weight:700;line-height:1.2}.photocard-key-details-back{background:#10b9810f;border:1px solid #10b98126;border-radius:10px;grid-template-columns:1fr 1fr;margin:10px 0 14px;padding:10px 12px}.photocard-wrapper{perspective:1000px;cursor:pointer}.photocard-inner{width:100%;min-height:306px;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.photocard-wrapper.flipped .photocard-inner{transform:rotateY(180deg)}.photocard-front,.photocard-back{backface-visibility:hidden;background:#fff;border:1px solid #10b98126;border-radius:16px;width:100%;height:306px;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 24px 64px #10b98126}.photocard-back{flex-direction:column;min-height:306px;display:flex;transform:rotateY(180deg)}.photocard-back-header{color:#fff;text-align:center;background:linear-gradient(135deg,#047857 0%,#059669 50%,#10b981 100%);padding:20px 24px 16px;position:relative}.photocard-back-header .photocard-badge{margin-bottom:8px;display:inline-block}.photocard-back-header h2{letter-spacing:.5px;font-size:13px;font-weight:800;line-height:1.3}.photocard-back-header .photocard-subtitle{opacity:.85;text-transform:uppercase;letter-spacing:2px;margin-top:2px;font-size:9px}.photocard-back-body{flex-direction:column;flex:1;justify-content:center;gap:14px;padding:20px 24px;display:flex}.back-membership-text{color:var(--text-main);text-align:justify;font-size:10px;line-height:1.5}.back-lost-text{color:#92400e;text-align:center;background:#fef3c7;border-radius:8px;padding:10px 12px;font-size:10px;font-weight:500;line-height:1.5}.back-address-section{flex-direction:column;gap:4px;display:flex}.back-address-label{color:var(--text-main);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.back-address-line{color:var(--text-muted);border-bottom:1px dashed #cbd5e1;min-height:18px;padding-bottom:2px;font-size:10px}.back-signatures{grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;display:grid}.back-signature-col{flex-direction:column;align-items:center;gap:4px;display:flex}.back-sig-role{color:var(--text-main);text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:700}.back-sig-line{color:var(--text-muted);letter-spacing:2px;font-family:Courier New,monospace;font-size:10px}.photocard-back-footer{text-align:center;background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 100%);border-top:1px solid #10b9811a;padding:10px 20px}.back-footer-text{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:8px}.photocard-header:after{content:"";background:linear-gradient(90deg,#fbbf24,#f59e0b,#fbbf24);height:4px;position:absolute;bottom:0;left:0;right:0}.dashboard-actions{justify-content:center;gap:16px;margin-top:32px;display:flex}.image-gallery-section{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(18px)}.gallery-stage{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172a14;border:1px solid #ffffff2e;border-radius:32px;width:100%;height:460px;max-height:70vh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 32px 90px #10b98114}.gallery-stage:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 20%,#ffffff1f,#0000 32%),radial-gradient(circle at 80% 85%,#10b98124,#0000 24%);position:absolute;inset:0}.gallery-stage-badge{z-index:5;color:#eff6ff;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff29;border:1px solid #ffffff38;border-radius:999px;padding:10px 16px;font-size:13px;position:absolute;top:18px;left:18px}.gallery-caption{z-index:5;color:#f8fafc;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#081b2cad;border:1px solid #ffffff1f;border-radius:24px;flex-direction:column;gap:6px;padding:18px 22px;display:flex;position:absolute;bottom:50px;left:18px;right:18px}.gallery-caption-title{letter-spacing:.02em;font-size:17px;font-weight:700;display:block}.gallery-caption-subtitle{color:#e2e8f0d1;font-size:13px;display:block}.gallery-slide{opacity:0;filter:brightness(.92)saturate(1.12);will-change:transform, opacity;background-position:50%;background-size:cover;transition:opacity 1s,transform 1s,filter 1s;position:absolute;inset:0;transform:scale(1)}.gallery-slide.active{opacity:1;z-index:2;will-change:transform;box-shadow:inset 0 0 80px #08945a24}.gallery-fallback{background:#081b2ce6;justify-content:center;align-items:center;padding:24px;display:flex}.gallery-fallback-copy{text-align:center;color:#ffffffeb;max-width:540px}.gallery-fallback-copy h3{margin-bottom:10px;font-size:24px}.gallery-fallback-copy p{color:#e2e8f0c7;font-size:14px}.transition-fade.active{filter:brightness(1.04)saturate(1.18);transform:scale(1.02)}.transition-zoom.active{transform:scale(1.08)}.transition-slide{transform:translate(12%)}.transition-slide.active{transform:translate(0)}.transition-glow.active{filter:brightness(1.08)saturate(1.18);transform:scale(1.03);box-shadow:0 0 25px #10b9814d,inset 0 0 80px #08945a24}.gallery-dots{z-index:6;gap:10px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.dot{cursor:pointer;background:#ffffff24;border:1px solid #ffffff80;border-radius:50%;width:12px;height:12px;transition:transform .3s,background .3s,border-color .3s}.gallery-control{color:#fff;cursor:pointer;z-index:6;background:#0f172abf;border:1px solid #ffffff52;border-radius:50%;place-items:center;width:48px;height:48px;font-size:28px;line-height:1;transition:transform .25s,background .25s,box-shadow .25s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gallery-control:hover{background:#10b981f2;transform:translateY(-50%)scale(1.04);box-shadow:0 12px 28px #10b98140}.gallery-control.prev{left:18px}.gallery-control.next{right:18px}.gallery-stage:hover .gallery-slide.active{filter:brightness(1.1)saturate(1.2)}.dot.active{background:#10b981eb;border-color:#ffffffe6;transform:scale(1.15)}@media print{body{background:#fff}.dash-header,.dashboard-actions,.landing-root,.image-gallery-section,.global-footer,.logo-menu-overlay,.gallery-page-backdrop,.btn-signout,.mobile-menu-backdrop,.file-input,.photo-frame .file-input,.file-hint{display:none!important}.dash-content{padding:0}.profile-card{box-shadow:none!important;background:0 0!important}.photocard-wrapper{page-break-inside:avoid;max-width:85.6mm;margin:0 auto;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;perspective:none!important}.photocard-inner{width:85.6mm!important;height:54mm!important;min-height:auto!important;transform:none!important}.photocard-wrapper.flipped .photocard-inner{transform:none!important}.photocard-front,.photocard-back{page-break-inside:avoid;border:1px solid #ccc;margin-bottom:8px;backface-visibility:visible!important;width:85.6mm!important;height:54mm!important;position:relative!important;box-shadow:0 4px 16px #0000001a!important}.photocard-back{transform:none!important}.photocard-header,.photocard-footer,.info-item,.photocard-name,.photocard-code{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.profile-img{object-fit:cover;border:3px solid var(--accent-light);border-radius:50%;width:100%;height:100%;box-shadow:0 8px 16px #0000000f}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulseGlow{0%,to{box-shadow:0 10px 25px #10b9814d}50%{box-shadow:0 10px 35px #10b98180}}.animate-fadeInUp{animation:.7s cubic-bezier(.16,1,.3,1) both fadeInUp}.animate-fadeInDown{animation:.6s cubic-bezier(.16,1,.3,1) both fadeInDown}.animate-fadeInScale{animation:.8s cubic-bezier(.16,1,.3,1) both fadeInScale}.animate-slideInRight{animation:.7s cubic-bezier(.16,1,.3,1) both slideInRight}.animate-slideInLeft{animation:.7s cubic-bezier(.16,1,.3,1) both slideInLeft}.social-icon:nth-child(2){animation-delay:.5s}.social-icon:nth-child(3){animation-delay:1s}@media (width<=900px){.landing-left{display:none}.auth-content{margin-top:20px;padding:32px 24px}.top-nav{padding:20px 24px}.hamburger-btn{display:block}.nav-links{display:none}.dash-header{padding:16px 20px}.dash-content{padding:24px 16px}.btn-signout{padding:8px 16px;font-size:13px}.global-footer{padding:24px 20px}}@media (width<=600px){.welcome-title{letter-spacing:-.3px;font-size:28px}.welcome-subtitle{margin-bottom:28px;font-size:14px}.auth-content{padding:20px 16px}.top-nav{padding:14px 16px}.oauth-row{flex-direction:column}.dash-content{padding:20px 12px}.dash-logo span{font-size:18px}.photocard-wrapper{transform-origin:top;max-width:100%;transform:scale(.95)}.photocard-header h2{padding:0 10px;font-size:14px}.photocard-subtitle{font-size:10px}.photocard-inner,.photocard-back{min-height:306px}.photocard-back-body{gap:10px;padding:14px 16px}.photocard-body{padding:20px 12px}.gallery-stage{border-radius:20px;height:320px}.gallery-control{width:40px;height:40px;font-size:20px}.gallery-caption{border-radius:16px;padding:12px 16px}.gallery-caption-title{font-size:14px}.gallery-caption-subtitle{font-size:11px}.dashboard-actions{flex-direction:column;align-items:center;gap:12px;margin-top:20px}.dashboard-actions .btn-primary{width:100%;max-width:100%!important}.global-footer{padding:20px 16px}.footer-links{flex-wrap:wrap;justify-content:center;gap:8px}.mobile-menu{max-width:100%;padding:60px 24px 32px}.mobile-link{padding-bottom:12px;font-size:24px}.btn-signout{width:auto}.profile-card{margin-top:0;padding:10px 0}}.profile-form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.profile-section-title{border-bottom:2px solid var(--accent-light);color:var(--accent-dark);align-items:center;gap:10px;margin:28px 0 16px;padding-bottom:10px;display:flex}.profile-section-title h3{margin:0;font-size:16px;font-weight:700}.file-upload-box{cursor:pointer;transition:var(--transition-smooth);color:var(--text-muted);background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.file-upload-box:hover{border-color:var(--accent);color:var(--accent-dark);background:#ecfdf5}.upload-preview-img{object-fit:cover;border-radius:8px;width:100%;max-height:180px}.upload-recommendations{color:var(--text-muted);margin-top:8px;font-size:12px;line-height:1.4}.file-upload-box span{text-align:center;font-size:13px}.required-label:after{content:" *";color:#ef4444;font-weight:700}.phone-input-group{gap:8px;display:flex}.phone-input-group select{flex-shrink:0;width:auto;min-width:70px;max-width:110px}.phone-input-group input{flex:1}@media (width<=500px){.profile-form-grid{grid-template-columns:1fr!important}}@media (width<=900px){input,select{padding:16px;font-size:16px}.btn-primary{padding:18px;font-size:16px}.btn-ghost{padding:16px;font-size:15px}.btn-oauth{padding:16px}.nav-link{font-size:16px}}.camera-section{border-radius:var(--radius);margin:4px 0 16px;overflow:hidden}.camera-placeholder{cursor:pointer;border:2px dashed var(--border);border-radius:var(--radius);transition:var(--transition-smooth);color:var(--text-muted);background:var(--surface-glass);-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:36px 20px;display:flex}.camera-placeholder:hover{border-color:var(--accent);color:var(--accent);background:#0596690d;transform:translateY(-2px)}.camera-placeholder:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.camera-placeholder p{color:inherit;margin:0;font-size:15px;font-weight:600}.camera-placeholder span{font-size:13px}.camera-viewfinder{border-radius:var(--radius);aspect-ratio:7/9;background:#000;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.camera-viewfinder video{object-fit:cover;width:100%;height:100%;display:block}.passport-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.passport-cutout{border:2.5px solid #059669cc;border-radius:50%/55%;width:65%;height:78%;position:relative;box-shadow:0 0 0 9999px #00000073}@keyframes scanMove{0%{opacity:1;top:0}85%{opacity:1}to{opacity:0;top:100%}}.scan-line{background:linear-gradient(90deg, transparent, var(--accent-light), #fff, var(--accent-light), transparent);height:3px;box-shadow:0 0 12px var(--accent-light), 0 0 30px var(--accent), 0 0 60px #0596694d;pointer-events:none;z-index:10;border-radius:2px;animation:1.4s ease-in-out forwards scanMove;position:absolute;left:5%;right:5%}.camera-flash{pointer-events:none;z-index:11;background:#fff;animation:.4s ease-out forwards flashPop;position:absolute;inset:0}@keyframes flashPop{0%{opacity:.8}to{opacity:0}}.camera-hint{color:#fff;text-align:center;text-shadow:0 1px 6px #0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;z-index:5;background:#00000059;border-radius:20px;max-width:80%;padding:5px 14px;font-size:12px;font-weight:500;position:absolute;bottom:68px;left:50%;transform:translate(-50%)}.capture-btn{z-index:10!important;width:auto!important;min-width:160px!important;padding:12px 24px!important;font-size:14px!important;position:absolute!important;bottom:14px!important;left:50%!important;transform:translate(-50%)!important}.cancel-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10!important;color:#ffffffb3!important;background:#0000004d!important;border-color:#ffffff26!important;width:auto!important;padding:8px 16px!important;font-size:12px!important;position:absolute!important;bottom:14px!important;right:14px!important}.cancel-btn:hover{color:#fff!important;background:#00000080!important}.camera-error-state{color:var(--error);text-align:center;border-radius:var(--radius);background:#ef444408;border:1px solid #ef444433;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:36px 20px;display:flex}.camera-error-state p{color:var(--text-muted);max-width:280px;font-size:14px;line-height:1.5}.captured-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:14px;padding:12px;display:flex}.captured-preview img{aspect-ratio:180/232;object-fit:cover;border:2px solid var(--accent);border-radius:10px;width:100%;max-width:180px;height:auto;box-shadow:0 4px 20px #05966926}.captured-actions{gap:10px;width:100%;display:flex}.captured-actions .btn-ghost,.captured-actions .btn-primary{flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:13px;display:flex}.photo-preview-chip{background:#0596690f;border:1px solid #05966933;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;animation:.3s fadeIn;display:flex}.photo-preview-chip img{object-fit:cover;border:1px solid var(--border);border-radius:4px;width:36px;height:46px}.photo-preview-chip span{color:var(--text-muted);flex:1;font-size:13px;font-weight:500}.photo-remove-btn{width:28px;height:28px;color:var(--error);cursor:pointer;transition:var(--transition-smooth);background:#ef44441a;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.photo-remove-btn:hover{background:var(--error);color:#fff}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--surface);border-radius:var(--radius);width:100%;max-width:400px;padding:28px 24px 20px;animation:.3s cubic-bezier(.16,1,.3,1) fadeInUp;box-shadow:0 20px 60px #0003}.modal-dialog h3{color:var(--text-main);margin-bottom:10px;font-family:Outfit,sans-serif;font-size:18px;font-weight:700}.modal-dialog p{color:var(--text-muted);margin-bottom:24px;font-size:14px;line-height:1.6}.modal-actions{gap:10px;display:flex}.modal-actions .btn-ghost,.modal-actions .btn-primary{flex:1;padding:12px;font-size:14px}@media (width<=420px){.welcome-title{font-size:22px}.welcome-subtitle{margin-bottom:20px;font-size:13px}.auth-content{padding:16px 12px!important}.dash-content{padding:16px 8px!important}.profile-card{padding:6px 0!important}.photocard-wrapper{transform:scale(.92)}.photocard-inner,.photocard-back{min-height:306px}.photocard-back-body{gap:8px;padding:12px}.photocard-info-grid{grid-template-columns:1fr;gap:2px 0}.photocard-name{font-size:13px}.gallery-stage{border-radius:16px;height:260px}.gallery-control{width:32px;height:32px;font-size:16px}.gallery-control.prev{left:8px}.gallery-control.next{right:8px}.gallery-caption{border-radius:16px;padding:12px 14px;bottom:44px;left:10px;right:10px}.gallery-dots{gap:6px;bottom:14px}.dot{width:8px;height:8px}.captured-actions{flex-direction:column}.captured-actions .btn-ghost,.captured-actions .btn-primary{width:100%}.camera-error-state p{max-width:100%}.modal-dialog{padding:20px 16px 16px}.modal-actions{flex-direction:column}.mobile-link{font-size:20px}.phone-input-group select{min-width:60px;max-width:80px}}.executive-timeline{flex-direction:column;gap:12px;margin:24px 0;display:flex}.executive-tenure{border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition-smooth);background:var(--surface);overflow:hidden}.executive-tenure.current{border-color:var(--accent);box-shadow:0 4px 20px #0596691f}.executive-header{cursor:pointer;width:100%;color:var(--text-main);transition:var(--transition-smooth);background:0 0;border:none;justify-content:space-between;align-items:center;padding:16px 20px;font-family:Outfit,sans-serif;font-size:15px;display:flex}.executive-tenure.current .executive-header{background:linear-gradient(135deg,#0596690f,#34d3990a)}.executive-header:hover{background:#0596690a}.executive-year-badge{color:var(--accent-dark);align-items:center;gap:8px;font-weight:600;display:flex}.executive-year-badge svg{color:var(--accent)}.current-tag{text-transform:uppercase;letter-spacing:.5px;background:var(--accent);color:#fff;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700}.executive-chevron{color:var(--text-muted);transition:transform .3s}.executive-chevron.rotated{transform:rotate(180deg)}.executive-row+.executive-row{border-top:1px solid var(--border);animation:.25s fadeIn}.executive-row{border-bottom:1px solid #e2e8f080;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.executive-row:last-child{border-bottom:none}.executive-row:nth-child(2n){background:#f8fafc80}.executive-position{color:var(--text-muted);min-width:160px;font-size:13px;font-weight:500}.executive-name{color:var(--text-main);text-align:right;font-size:14px;font-weight:600}@media (width<=600px){.executive-row{flex-direction:column;align-items:flex-start;gap:2px;padding:10px 16px}.executive-position{min-width:auto;font-size:12px}.executive-name{text-align:left;font-size:13px}.executive-header{padding:14px 16px;font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-slide{transition:opacity .3s!important;transform:none!important}.hero-slide.active{transform:none!important}}
