.gibbits-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8, 32px);min-height:200px}.gibbits-loader--inline{padding:var(--space-4, 16px);min-height:auto}.gibbits-loader__gif{object-fit:contain}.gibbits-loader__message{margin:var(--space-3, 12px) 0 0 0;font-size:var(--font-size-sm, 14px);color:var(--color-text-secondary, #64748b);text-align:center}.gibbits-loader--small .gibbits-loader__gif{width:40px;height:40px}.gibbits-loader--small .gibbits-loader__message{font-size:var(--font-size-xs, 12px)}.gibbits-loader--medium .gibbits-loader__gif{width:64px;height:64px}.gibbits-loader--large .gibbits-loader__gif{width:96px;height:96px}.gibbits-loader--large .gibbits-loader__message{font-size:var(--font-size-md, 16px)}.gibbits-loader-inline{width:24px;height:24px;display:inline-block;vertical-align:middle;object-fit:contain}.gibbits-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:9999}.gibbits-loading-overlay .gibbits-loader{background:var(--color-bg-primary, white);border-radius:var(--radius-lg, 12px);box-shadow:0 4px 20px #00000026;padding:var(--space-8, 32px) var(--space-10, 40px)}[data-theme=dark] .gibbits-loading-overlay{background:#121212eb}[data-theme=dark] .gibbits-loading-overlay .gibbits-loader{background:var(--color-bg-secondary);box-shadow:0 4px 20px #0006}[data-theme=dark] .gibbits-loader:not(.gibbits-loader--inline){background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg, 12px)}[data-theme=dark] .gibbits-loader__message{color:var(--color-text-primary)}.toast-container{position:fixed;top:var(--space-5);right:var(--space-5);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);pointer-events:none;max-width:400px;width:100%}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-primary);box-shadow:var(--shadow-lg);pointer-events:auto;border-left:4px solid transparent;animation:toast-slide-in .3s ease forwards;position:relative;overflow:hidden;cursor:pointer;flex-wrap:wrap}.toast-title{width:100%;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary);margin-bottom:-2px}.toast.toast-exiting{animation:toast-slide-out .25s ease forwards}.toast--success{border-left-color:var(--color-success)}.toast--error{border-left-color:var(--color-error)}.toast--warning{border-left-color:var(--color-warning)}.toast--info{border-left-color:var(--color-info)}.toast-icon{flex-shrink:0;font-size:var(--font-size-lg);line-height:1;margin-top:1px}.toast--success .toast-icon{color:var(--color-success)}.toast--error .toast-icon{color:var(--color-error)}.toast--warning .toast-icon{color:var(--color-warning)}.toast--info .toast-icon{color:var(--color-info)}.toast-message{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-snug);padding-right:var(--space-2)}.toast-dismiss{flex-shrink:0;background:none;border:none;padding:var(--space-1);cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);display:flex;align-items:center;justify-content:center}.toast-dismiss:hover{color:var(--color-text-secondary);background:var(--color-bg-hover)}.toast-progress{position:absolute;bottom:0;left:0;height:3px;border-radius:0 0 0 var(--radius-lg);animation:toast-progress linear forwards}.toast--success .toast-progress{background:var(--color-success)}.toast--error .toast-progress{background:var(--color-error)}.toast--warning .toast-progress{background:var(--color-warning)}.toast--info .toast-progress{background:var(--color-info)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes toast-progress{0%{width:100%}to{width:0%}}@media(max-width:768px){.toast-container{top:70px;right:var(--space-3);left:var(--space-3);max-width:none}}.skip-link{position:absolute;top:-40px;left:0;z-index:calc(var(--z-toast) + 100);background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none;border-radius:0 0 var(--radius-md) 0;transition:top var(--transition-default);outline:none}.skip-link:focus{top:0;outline:2px solid var(--color-accent);outline-offset:2px}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:var(--space-8);text-align:center}.error-boundary-card{background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-10) var(--space-8);max-width:480px;width:100%}.error-boundary-icon{font-size:3.5rem;color:var(--color-error);margin-bottom:var(--space-5);line-height:1}.error-boundary-heading{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0 0 var(--space-3) 0;letter-spacing:var(--letter-spacing-tight)}.error-boundary-message{color:var(--color-text-tertiary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin:0 0 var(--space-6) 0}.error-boundary-details{background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-6);font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-error-dark);text-align:left;word-break:break-word;max-height:120px;overflow-y:auto;border:1px solid var(--color-border-light)}.error-boundary-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.error-boundary-retry{background:var(--color-primary);color:var(--color-text-inverse);border:none;padding:var(--space-2-5) var(--space-6);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-default);display:inline-flex;align-items:center;gap:var(--space-2)}.error-boundary-retry:hover{background:var(--color-primary-light);transform:translateY(-1px);box-shadow:var(--shadow-brand)}.error-boundary-home{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--transition-fast)}.error-boundary-home:hover{color:var(--color-primary-light);text-decoration:underline}@media(max-width:768px){.error-boundary{padding:var(--space-6) var(--space-4);min-height:50vh}.error-boundary-card{padding:var(--space-8) var(--space-5)}}.keyboard-shortcuts-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 500);padding:var(--space-4, 1rem);animation:kbOverlayFadeIn .15s ease-out}@keyframes kbOverlayFadeIn{0%{opacity:0}to{opacity:1}}.keyboard-shortcuts-modal{background:var(--color-bg-primary, #fff);border-radius:var(--radius-xl, 16px);width:100%;max-width:520px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-xl, 0 16px 40px rgba(0,0,0,.12));animation:kbModalSlideUp .2s ease-out}@keyframes kbModalSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.keyboard-shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5, 1.25rem) var(--space-6, 1.5rem);border-bottom:1px solid var(--color-border-light, #e5e7eb)}.keyboard-shortcuts-header h2{margin:0;font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #1a1a1a);display:flex;align-items:center;gap:var(--space-2, .5rem)}.keyboard-shortcuts-header h2 i{color:var(--color-primary, #004953)}.keyboard-shortcuts-close{background:none;border:none;color:var(--color-text-tertiary, #6b7280);font-size:var(--font-size-xl, 1.25rem);cursor:pointer;padding:var(--space-1, .25rem);border-radius:var(--radius-sm, 4px);transition:all var(--transition-default, .2s ease);line-height:1;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.keyboard-shortcuts-close:hover{background:var(--color-bg-hover, rgba(0,73,83,.04));color:var(--color-text-primary, #1a1a1a)}.keyboard-shortcuts-body{padding:var(--space-4, 1rem) var(--space-6, 1.5rem) var(--space-6, 1.5rem)}.shortcuts-section{margin-bottom:var(--space-5, 1.25rem)}.shortcuts-section:last-child{margin-bottom:0}.shortcuts-section-title{font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-tertiary, #6b7280);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider, .05em);margin:0 0 var(--space-3, .75rem)}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2, .5rem) 0}.shortcut-keys{display:flex;align-items:center;gap:var(--space-1, .25rem)}.shortcut-key{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 var(--space-2, .5rem);background:var(--color-bg-tertiary, #f0f2f5);border:1px solid var(--color-border-default, #d1d5db);border-radius:var(--radius-sm, 4px);font-family:var(--font-family-mono, monospace);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #1a1a1a);box-shadow:0 1px 2px #0000000f}.shortcut-then{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #9ca3af);padding:0 var(--space-0-5, .125rem)}.shortcut-description{font-size:var(--font-size-sm, .8125rem);color:var(--color-text-secondary, #4b5563)}.keyboard-shortcuts-footer{padding:var(--space-3, .75rem) var(--space-6, 1.5rem);border-top:1px solid var(--color-border-light, #e5e7eb);text-align:center}.keyboard-shortcuts-footer p{margin:0;font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #9ca3af)}@media(max-width:768px){.keyboard-shortcuts-modal{max-width:100%;max-height:90vh;border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0;margin-top:auto}.keyboard-shortcuts-overlay{align-items:flex-end;padding:0}.keyboard-shortcuts-header,.keyboard-shortcuts-body,.keyboard-shortcuts-footer{padding-left:var(--space-4, 1rem);padding-right:var(--space-4, 1rem)}}[data-theme=dark] .keyboard-shortcuts-header h2 i{color:#fff}.explainer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10100;display:flex;align-items:center;justify-content:center;animation:fadeIn .5s ease}.explainer-overlay.exiting{animation:fadeOut .5s ease forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.explainer-bg{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.bg-gradient{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 30%,var(--color-primary-dark) 70%,#002830 100%);animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%,to{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 30%,var(--color-primary-dark) 70%,#002830 100%)}50%{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 30%,var(--color-primary-light) 70%,var(--color-primary-dark) 100%)}}.floating-gibbits{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden}.floating-gibbit{position:absolute;bottom:-50px;animation:floatUp 15s ease-in-out infinite;opacity:.3}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.3}90%{opacity:.3}to{transform:translateY(-120vh) rotate(360deg);opacity:0}}.explainer-close{position:absolute;top:var(--space-5);right:var(--space-5);z-index:10101;width:44px;height:44px;border:2px solid rgba(255,255,255,.3);background:#0000004d;border-radius:var(--radius-full);color:var(--color-text-inverse);font-size:var(--font-size-lg);cursor:pointer;transition:all var(--transition-default);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.explainer-close:hover{background:#ffd70033;border-color:var(--color-accent);transform:rotate(90deg)}.explainer-content{position:relative;z-index:1;max-width:700px;width:90%;padding:var(--space-6);text-align:center}.progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;margin-bottom:var(--space-6);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-accent) 0%,#FFA500 100%);border-radius:2px;transition:width .5s ease}.slide-container{padding:var(--space-6);animation:slideIn .6s ease}@keyframes slideIn{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.slide-emoji{font-size:5rem;margin-bottom:var(--space-3);animation:inherit;display:inline-block}.slide-bounce-in .slide-emoji{animation:bounceIn 1s ease}@keyframes bounceIn{0%,20%,40%,60%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{opacity:1;transform:scaleZ(1)}}.slide-sparkle .slide-emoji{animation:sparkle 2s ease infinite}@keyframes sparkle{0%,to{filter:drop-shadow(0 0 10px var(--color-accent));transform:scale(1)}50%{filter:drop-shadow(0 0 30px var(--color-accent)) drop-shadow(0 0 60px #FFA500);transform:scale(1.1)}}.slide-pulse-grow .slide-emoji{animation:pulseGrow 1.5s ease infinite}@keyframes pulseGrow{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.slide-star-spin .slide-emoji{animation:starSpin 3s ease infinite}@keyframes starSpin{0%{transform:rotate(0) scale(1)}25%{transform:rotate(15deg) scale(1.1)}50%{transform:rotate(0) scale(1)}75%{transform:rotate(-15deg) scale(1.1)}to{transform:rotate(0) scale(1)}}.slide-crown-float .slide-emoji{animation:crownFloat 2s ease infinite}@keyframes crownFloat{0%,to{transform:translateY(0);filter:drop-shadow(0 5px 10px rgba(255,215,0,.5))}50%{transform:translateY(-15px);filter:drop-shadow(0 20px 30px rgba(255,215,0,.3))}}.slide-trophy-shine .slide-emoji{animation:trophyShine 2s ease infinite}@keyframes trophyShine{0%,to{filter:drop-shadow(0 0 5px var(--color-accent))}50%{filter:drop-shadow(0 0 30px var(--color-accent)) drop-shadow(0 0 50px var(--color-text-inverse))}}.slide-map-reveal .slide-emoji{animation:mapReveal 2s ease infinite}@keyframes mapReveal{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(-5deg)}75%{transform:scale(1.1) rotate(5deg)}}.slide-chart-rise .slide-emoji{animation:chartRise 1.5s ease infinite}@keyframes chartRise{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.slide-handshake-pulse .slide-emoji{animation:handshakePulse 1.5s ease infinite}@keyframes handshakePulse{0%,to{transform:scale(1)}25%{transform:scale(1.15) rotate(-5deg)}75%{transform:scale(1.15) rotate(5deg)}}.slide-rocket-launch .slide-emoji{animation:rocketLaunch 2s ease infinite}@keyframes rocketLaunch{0%,to{transform:translateY(0) rotate(-45deg)}50%{transform:translateY(-30px) rotate(-45deg);filter:drop-shadow(0 30px 30px rgba(255,100,0,.5))}}.slide-title{font-family:Playfair Display,Georgia,serif;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-accent);margin:0 0 var(--space-1-5);text-shadow:0 2px 20px rgba(255,215,0,.3)}.slide-subtitle{font-size:var(--font-size-lg);color:#ffffffb3;font-style:italic;margin:0 0 var(--space-4)}.slide-content{font-size:var(--font-size-lg);color:var(--color-text-inverse);line-height:1.7;max-width:550px;margin:0 auto}.slide-dots{display:flex;justify-content:center;gap:var(--space-1-5);margin:var(--space-6) 0}.dot{width:10px;height:10px;border-radius:var(--radius-full);border:none;background:#ffffff4d;cursor:pointer;transition:all var(--transition-default);padding:0}.dot:hover{background:#ffffff80;transform:scale(1.2)}.dot.active{background:var(--color-accent);transform:scale(1.3);box-shadow:0 0 10px #ffd70080}.dot.completed{background:#ffd70080}.slide-nav{display:flex;justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-3)}.nav-btn{padding:var(--space-2) var(--space-4);border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:var(--color-text-inverse);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-default);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-btn:hover:not(:disabled){background:#fff3;border-color:#ffffff80;transform:translateY(-2px)}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.nav-btn.next{background:linear-gradient(135deg,var(--color-accent) 0%,#FFA500 100%);border-color:transparent;color:var(--color-primary)}.nav-btn.next:hover{transform:translateY(-2px);box-shadow:0 5px 20px #ffd70066}.slide-counter{color:#ffffff80;font-size:var(--font-size-sm);font-family:JetBrains Mono,monospace}.skip-link{margin-top:var(--space-4);background:none;border:none;color:#fff6;font-size:var(--font-size-sm);cursor:pointer;transition:color var(--transition-default);text-decoration:underline}.skip-link:hover{color:#ffffffb3}.watch-explainer-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3-5);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border:none;border-radius:var(--radius-full);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-default);box-shadow:var(--shadow-md-primary)}.watch-explainer-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg-primary)}.watch-explainer-btn .btn-icon{font-size:var(--font-size-base)}.watch-explainer-btn .btn-text{white-space:nowrap}.watch-explainer-btn.compact{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);width:100%;justify-content:center}.watch-explainer-btn.compact .btn-text{display:none}.watch-explainer-btn.compact.circular{width:36px;height:36px;padding:0;border-radius:var(--radius-full);justify-content:center;align-items:center}.watch-explainer-btn.compact.circular .btn-icon{font-size:var(--font-size-base)}@media(max-width:768px){.explainer-content{padding:var(--space-4)}.slide-emoji{font-size:4rem}.slide-title{font-size:var(--font-size-2xl)}.slide-subtitle,.slide-content{font-size:var(--font-size-base)}.slide-nav{flex-wrap:wrap;gap:var(--space-3)}.nav-btn{padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-sm)}}@media(max-width:480px){.slide-container{padding:var(--space-3)}.slide-emoji{font-size:3.5rem}.slide-title{font-size:var(--font-size-xl)}.slide-subtitle,.slide-content{font-size:var(--font-size-sm)}.slide-counter{display:none}.explainer-close{top:var(--space-2-5);right:var(--space-2-5);width:36px;height:36px;font-size:var(--font-size-base)}}.invite-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.invite-modal{background:var(--color-bg-primary);border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.invite-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 26%,transparent),color-mix(in srgb,var(--color-primary-dark) 20%,transparent));border-bottom:1px solid color-mix(in srgb,var(--color-primary) 35%,transparent);border-radius:16px 16px 0 0}.invite-modal-header-content{display:flex;align-items:center;gap:16px}.invite-modal-icon{width:48px;height:48px;background:var(--color-primary);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.invite-modal-title-group{display:flex;flex-direction:column;gap:4px}.invite-modal-title{margin:0;font-size:20px;font-weight:700;color:var(--color-text-primary)}.invite-modal-subtitle{margin:0;font-size:14px;color:var(--color-text-secondary)}.invite-modal-close{background:color-mix(in srgb,var(--color-bg-primary) 78%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 36%,transparent);cursor:pointer;padding:6px;color:var(--color-text-secondary);border-radius:8px;transition:all .15s;min-width:34px;min-height:34px;display:flex;align-items:center;justify-content:center}.invite-modal-close svg{width:18px;height:18px}.invite-modal-close:hover{background:color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-text-primary)}.invite-modal-divider{display:none}.invite-btn-primary svg{width:18px;height:18px}.invite-modal-content{padding:24px}.invite-method-selection{display:flex;flex-direction:column;gap:16px}.invite-method-prompt{text-align:center;color:var(--color-text-secondary);margin:0 0 8px}.invite-method-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:12px;cursor:pointer;transition:all .2s;text-align:left}.invite-method-card:hover{border-color:var(--color-primary);background:var(--color-bg-hover)}.invite-method-icon{width:48px;height:48px;background:#0073831a;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.invite-method-info{display:flex;flex-direction:column;gap:4px}.invite-method-title{font-size:16px;font-weight:600;color:var(--color-text-primary)}.invite-method-desc{font-size:14px;color:var(--color-text-secondary)}.invite-form{display:flex;flex-direction:column;gap:20px}.invite-form-top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.invite-back-btn{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--color-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);color:var(--color-primary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px 6px 10px;border-radius:8px;transition:all .15s}.invite-back-btn svg{width:15px;height:15px}.invite-back-btn:hover{background:color-mix(in srgb,var(--color-primary) 18%,transparent);border-color:color-mix(in srgb,var(--color-primary) 40%,transparent)}.invite-form-method-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary)}.invite-form-method-label svg{width:16px;height:16px;opacity:.6}.invite-reward-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;border:1px solid rgba(201,162,39,.28);background:linear-gradient(135deg,#c9a2271c,#00495314);font-size:14px;color:var(--color-text-primary);line-height:1.4}.invite-reward-banner i{font-size:20px;color:#f59e0b;flex-shrink:0}.invite-reward-banner strong{color:var(--color-primary)}.invite-form-group{display:flex;flex-direction:column;gap:8px}.invite-form-group label{font-size:14px;font-weight:600;color:var(--color-text-primary)}.invite-form-group input{padding:14px 16px;border:1px solid var(--color-border-default);border-radius:10px;font-size:16px;background:var(--color-bg-tertiary);color:var(--color-text-primary);transition:border-color .2s}.invite-form-group input:focus{outline:none;border-color:var(--color-primary)}.invite-form-group input::placeholder{color:var(--color-text-tertiary)}.invite-error{padding:12px 16px;background:#ef44441a;border-radius:8px;color:var(--color-error-dark);font-size:14px}.invite-form-hint{font-size:13px;color:var(--color-text-secondary);text-align:center;margin:0}.invite-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.invite-btn:disabled{opacity:.6;cursor:not-allowed}.invite-btn-primary{background:var(--color-primary);color:#fff}.invite-btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.invite-btn-secondary{background:var(--color-bg-hover);color:var(--color-text-primary);border:1px solid var(--color-border-default)}.invite-btn-secondary:hover:not(:disabled){background:var(--color-primary-100);border-color:var(--color-primary-200);color:var(--color-primary)}.invite-btn-outline{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-default)}.invite-btn-outline:hover:not(:disabled){background:var(--color-primary-100);border-color:var(--color-primary-200);color:var(--color-primary)}.invite-btn-full{width:100%}.invite-success{display:flex;flex-direction:column;gap:24px}.invite-success-badge{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;background:#22c55e1a;border-radius:12px;color:var(--color-success-dark);font-weight:500}.invite-success-badge svg{flex-shrink:0}.invite-code-section,.invite-link-section{display:flex;flex-direction:column;gap:8px}.invite-code-section label,.invite-link-section label{font-size:13px;color:var(--color-text-secondary)}.invite-code-display{padding:16px;background:var(--color-bg-hover);border-radius:10px;text-align:center;font-size:24px;font-weight:700;letter-spacing:4px;color:var(--color-primary)}.invite-link-actions{display:flex;gap:12px}.invite-link-actions .invite-btn{flex:1}.invite-existing-member{display:flex;flex-direction:column;gap:20px}.invite-existing-badge{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px;background:#0073831a;border-radius:12px;color:var(--color-primary)}.invite-existing-badge svg{flex-shrink:0;width:32px;height:32px}.invite-existing-badge>div{display:flex;flex-direction:column;gap:4px}.invite-existing-badge strong{font-size:16px;font-weight:600}.invite-existing-badge span{font-size:14px;opacity:.8}.invite-existing-profile-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:12px;cursor:pointer;transition:all .2s;width:100%;text-align:left}.invite-existing-profile-card:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.invite-existing-avatar{width:50px;height:50px;border-radius:50%;background:var(--color-bg-hover);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.invite-existing-avatar img{width:100%;height:100%;object-fit:cover}.invite-existing-avatar svg{width:24px;height:24px;color:var(--color-text-secondary)}.invite-existing-info{display:flex;flex-direction:column;gap:4px;flex:1}.invite-existing-name{font-weight:600;font-size:16px;color:var(--color-text-primary)}.invite-existing-action{font-size:14px;color:var(--color-primary)}[data-theme=dark] .invite-modal{background:var(--color-bg-primary)}[data-theme=dark] .invite-modal-title,[data-theme=dark] .invite-method-title,[data-theme=dark] .invite-form-group label{color:var(--color-text-primary)}[data-theme=dark] .invite-modal-subtitle,[data-theme=dark] .invite-modal-close,[data-theme=dark] .invite-method-prompt,[data-theme=dark] .invite-method-desc,[data-theme=dark] .invite-form-hint{color:var(--color-text-secondary)}[data-theme=dark] .invite-modal-divider{background:var(--color-border-default)}[data-theme=dark] .invite-method-card{background:var(--color-bg-secondary);border-color:var(--color-border-default)}[data-theme=dark] .invite-method-card:hover{border-color:var(--color-primary-light);background:var(--color-bg-tertiary)}[data-theme=dark] .invite-form-group input,[data-theme=dark] .invite-btn-secondary,[data-theme=dark] .invite-btn-outline{background:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-border-default)}[data-theme=dark] .invite-btn-secondary:hover:not(:disabled),[data-theme=dark] .invite-btn-outline:hover:not(:disabled){background:#00738373;border-color:#00a3b5b3;color:#fff}[data-theme=dark] .invite-code-display{background:var(--color-bg-tertiary)}[data-theme=dark] .invite-existing-profile-card{background:var(--color-bg-secondary);border-color:var(--color-border-default)}[data-theme=dark] .invite-existing-profile-card:hover,[data-theme=dark] .invite-existing-avatar{background:var(--color-bg-tertiary)}[data-theme=dark] .invite-existing-name{color:var(--color-text-primary)}[data-theme=dark] .invite-modal-close{background:#0f172a73;border-color:#94a3b852;color:#f8fafc}[data-theme=dark] .invite-modal-close:hover{background:#0073834d}[data-theme=dark] .invite-reward-banner{border-color:#c9a22733;background:linear-gradient(135deg,#c9a22714,#0049530f)}[data-theme=dark] .invite-history-stats{background:var(--color-bg-secondary)}[data-theme=dark] .invite-history-stat-value{color:var(--color-text-primary)}[data-theme=dark] .invite-history-item{background:var(--color-bg-secondary);border-color:var(--color-border-default)}[data-theme=dark] .invite-history-item-recipient span{color:var(--color-text-primary)}[data-theme=dark] .invite-history-spinner{border-color:var(--color-border-default)}.invite-history-modal{max-height:80vh}.invite-history-stats{display:flex;justify-content:space-around;padding:16px 24px;background:var(--color-bg-hover)}.invite-history-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.invite-history-stat-value{font-size:24px;font-weight:700;color:var(--color-text-primary)}.invite-history-stat-pending{color:var(--color-text-tertiary)}.invite-history-stat-success{color:var(--color-success)}.invite-history-stat-label{font-size:12px;color:var(--color-text-secondary)}.invite-history-content{padding:24px;overflow-y:auto;max-height:calc(80vh - 200px)}.invite-history-loading,.invite-history-error,.invite-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;color:var(--color-text-secondary);text-align:center}.invite-history-spinner{width:40px;height:40px;border:3px solid var(--color-border-default);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.invite-history-list{display:flex;flex-direction:column;gap:12px}.invite-history-item{background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.invite-history-item-header{display:flex;justify-content:space-between;align-items:center}.invite-history-item-recipient{display:flex;align-items:center;gap:8px;color:var(--color-primary);font-weight:500}.invite-history-item-recipient span{color:var(--color-text-primary)}.invite-history-item-status{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}.invite-history-item-footer{display:flex;justify-content:space-between;align-items:center}.invite-history-item-date{font-size:13px;color:var(--color-text-secondary)}.invite-history-resend-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--color-primary);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s}.invite-history-resend-btn:hover:not(:disabled){background:var(--color-primary-100)}.invite-history-resend-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.invite-modal{max-height:88vh;border-radius:20px 20px 0 0;margin-top:auto}.invite-modal-overlay{align-items:flex-end;padding:0 0 calc(env(safe-area-inset-bottom,0px) + 64px) 0}.invite-history-content{max-height:calc(88vh - 200px)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:24px var(--space-4);z-index:var(--z-modal-backdrop);box-sizing:border-box;overflow-y:auto}.modal-overlay.auth-modal-overlay{z-index:2147483000!important}.modal-overlay.auth-modal-overlay .auth-modal{z-index:2147483001}.modal-overlay.auth-modal-overlay .register-loading-feedback{z-index:2147483002}.auth-modal{position:relative;z-index:var(--z-modal);background-color:var(--color-bg-primary);border-radius:var(--radius-lg);width:90%;max-width:480px;min-height:420px;max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);overflow-y:auto;overflow-x:hidden;pointer-events:auto;display:flex;flex-direction:column}.auth-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light);background:transparent}.auth-modal-header--banner{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 26%,transparent),color-mix(in srgb,var(--color-primary-dark) 20%,transparent));border-bottom-color:color-mix(in srgb,var(--color-primary) 35%,transparent);box-shadow:inset 0 -1px #ffffff08}.auth-modal-header--banner .back-button,.auth-modal-header--banner .close-button{background:color-mix(in srgb,var(--color-bg-primary) 78%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 36%,transparent);color:var(--color-text-primary);min-width:34px;width:34px;height:34px}.auth-modal-header--banner .back-button:hover,.auth-modal-header--banner .close-button:hover{background:color-mix(in srgb,var(--color-primary) 20%,transparent);color:var(--color-text-primary)}.auth-modal-header h2{margin:0;font-size:var(--font-size-xl);color:var(--color-primary);font-weight:var(--font-weight-semibold);flex:1;text-align:center}.back-button{background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--color-text-secondary);padding:var(--space-1);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-default);transition:all var(--transition-default);min-width:32px}.back-button:hover{background-color:var(--color-bg-hover);color:var(--color-primary)}.auth-modal-header .close-button{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--color-text-secondary);line-height:1;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-default);width:28px;height:28px;min-width:28px;flex-shrink:0}.auth-modal-header .close-button:hover{background:#ffffff1a;color:var(--color-error)}.header-spacer{min-width:28px}.auth-form{padding:var(--space-5) var(--space-6);flex:1;display:flex;flex-direction:column}.register-intro-banner{margin-bottom:var(--space-4);padding:12px 14px;border-radius:var(--radius-default);border:1px solid rgba(201,162,39,.28);background:linear-gradient(135deg,#c9a2271c,#00495314)}.register-intro-title{margin:0 0 6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.register-intro-body{margin:0;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text-secondary)}.register-intro-thanks{margin:8px 0 0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#c9a227}.form-group{margin-bottom:var(--space-1)}.form-group label{display:block;margin-bottom:0;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.auth-modal .form-group>label{margin-bottom:0!important}.form-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-default);font-size:var(--font-size-base);transition:border-color var(--transition-default);pointer-events:auto;box-sizing:border-box}.form-helper{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-snug)}.form-helper-privacy{font-style:italic;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.required-asterisk{color:#c9a227;font-weight:700}.required-note{font-size:var(--font-size-xs);color:#c9a227;margin-top:var(--space-2);margin-bottom:var(--space-2)}.form-input:focus{border-color:var(--color-primary);outline:none;box-shadow:var(--shadow-focus)}.form-input-error{border-color:var(--color-error-dark)}.form-input-error:focus{border-color:var(--color-error-dark);box-shadow:0 0 0 3px #ef44441a}.form-error{color:var(--color-error-dark);font-size:var(--font-size-sm);margin-top:var(--space-2)}.form-error-above{font-size:var(--font-size-base);font-weight:500;margin-top:0;margin-bottom:var(--space-2)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-input{padding-right:45px}.password-toggle-btn{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:4px;display:flex;align-items:center;justify-content:center;transition:color var(--transition-default)}.password-toggle-btn:hover{color:var(--color-primary)}.password-toggle-btn i{font-size:18px}.error-message{background-color:var(--color-error-light);color:var(--color-error-dark);padding:var(--space-3) var(--space-4);border-radius:var(--radius-default);margin:var(--space-4) var(--space-6) 0;font-size:var(--font-size-base)}.success-message{background-color:var(--color-success-light);color:var(--color-success-dark);padding:var(--space-6);border-radius:var(--radius-default);margin:var(--space-4) var(--space-6) var(--space-6);text-align:center;display:flex;flex-direction:column;align-items:center}.success-message i{font-size:var(--font-size-4xl);margin-bottom:var(--space-4)}.success-message p{margin:var(--space-1) 0;font-size:var(--font-size-md)}.forgot-success-message{margin:var(--space-4) var(--space-6) var(--space-6);padding:var(--space-8) var(--space-6) var(--space-6);border:1px solid rgba(16,185,129,.45);background:radial-gradient(circle at top center,rgba(16,185,129,.16),transparent 55%),linear-gradient(160deg,#10b9811a,#10b9810a);border-radius:var(--radius-lg);box-shadow:0 10px 24px #05966924}.forgot-success-message i{font-size:var(--font-size-3xl);margin-bottom:var(--space-3)}.forgot-success-title{margin:0;font-size:clamp(1.65rem,3.2vw,2rem);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}.forgot-success-body{margin:var(--space-3) 0 0;max-width:32ch;font-size:var(--font-size-xl);line-height:var(--line-height-relaxed);color:#059669f2}.forgot-success-cta{margin-top:var(--space-6);min-width:180px;min-height:44px;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);box-shadow:0 8px 16px #00495333}.referral-banner{background:linear-gradient(135deg,#fff9e6,#fff3cc);border:2px solid #ffd700;border-radius:var(--radius-default);padding:var(--space-3) var(--space-4);margin:var(--space-4) var(--space-6) 0;display:flex;align-items:center;gap:var(--space-3)}.referral-banner i{font-size:var(--font-size-2xl);color:#f59e0b;flex-shrink:0}.referral-banner-content{display:flex;flex-direction:column;gap:2px}.referral-banner-content strong{color:#92400e;font-size:var(--font-size-base)}.referral-banner-content span{color:#b45309;font-size:var(--font-size-sm)}.form-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.error-message-inline{width:100%;margin:0 0 var(--space-2) 0}.form-actions button{flex:1;padding:var(--space-2) var(--space-3);border-radius:var(--radius-default);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-default);border:none;font-size:var(--font-size-sm)}.form-actions.form-actions-embedded .maybe-later-btn{order:1}.form-actions.form-actions-embedded .create-account-btn{order:2}.button-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.button-primary:hover{background-color:var(--color-primary-dark)}.button-primary:disabled{background-color:var(--color-gray-400);cursor:not-allowed}.button-secondary{background-color:var(--color-gray-200);color:var(--color-text-primary)}.button-secondary:hover{background-color:var(--color-gray-300)}.auth-links{text-align:right;margin-bottom:var(--space-4)}.forgot-password-link{color:var(--color-primary);text-decoration:none;font-size:var(--font-size-base)}.forgot-password-link:hover{text-decoration:underline}.auth-footer{padding:var(--space-4) var(--space-6) var(--space-6);text-align:center;border-top:1px solid var(--color-border-light);background-color:var(--color-gray-50)}.auth-business-cta{margin:14px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-default);border-radius:var(--radius-default);background:var(--color-bg-secondary);display:flex;gap:var(--space-3);align-items:flex-start}.auth-business-cta__icon{width:34px;height:34px;border-radius:999px;background:var(--color-primary);color:var(--color-text-inverse);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.auth-business-cta__icon i{font-size:var(--font-size-base)}.auth-business-cta__content{display:grid;gap:2px}.auth-business-cta__title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.auth-business-cta__body{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.auth-business-cta__link{margin-top:var(--space-1);display:inline-flex;width:fit-content;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);text-decoration:none}.auth-business-cta__link:hover{text-decoration:underline}.auth-footer p{margin:0 0 var(--space-2);color:var(--color-text-secondary)}.register-link{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none}.register-link:hover{text-decoration:underline}.form-info{background-color:var(--color-gray-100);padding:var(--space-3) var(--space-4);border-radius:var(--radius-default);margin-bottom:var(--space-4);font-size:var(--font-size-base);color:var(--color-gray-600)}.forgot-password-modal{max-width:520px}.forgot-password-subtitle{margin:var(--space-3) var(--space-6) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.forgot-password-form{padding-top:var(--space-4)}.forgot-password-banner{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-primary) 26%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 14%,transparent),color-mix(in srgb,var(--color-primary-dark) 8%,transparent))}.forgot-password-banner__icon{width:32px;height:32px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 18%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 32%,transparent);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.forgot-password-banner__content{display:grid;gap:2px}.forgot-password-banner__title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.forgot-password-banner__body{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.forgot-password-info{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3);background:linear-gradient(135deg,#00495314,#00495308);border:1px solid rgba(0,73,83,.16);color:var(--color-text-secondary)}.forgot-password-info i{color:var(--color-primary);font-size:var(--font-size-base);margin-top:1px}.forgot-password-info p{margin:0;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}@media(max-width:768px){.modal-overlay{padding:var(--space-3);padding-top:20px;padding-bottom:20px;align-items:flex-start}.auth-modal{width:100%;max-width:none;margin:var(--space-3);border-radius:var(--radius-lg);min-height:480px}.auth-modal-header{padding:var(--space-3) var(--space-4);min-height:52px}.auth-modal-header h2{font-size:var(--font-size-lg)}.close-button,.back-button{font-size:var(--font-size-xl)}.auth-form{padding:var(--space-4) var(--space-5)}.form-group{margin-bottom:var(--space-4)}.form-input{padding:var(--space-2-5) var(--space-3);font-size:16px}.error-message,.success-message{margin:var(--space-3) var(--space-4) 0;padding:var(--space-3);font-size:var(--font-size-sm)}.form-actions{flex-direction:column;gap:var(--space-3);margin-top:var(--space-5)}.form-actions button{width:100%;padding:var(--space-3)}.form-actions.form-actions-embedded .create-account-btn{order:1}.form-actions.form-actions-embedded .maybe-later-btn{order:2}.auth-footer{padding:var(--space-4)}.auth-business-cta{margin:14px;padding:var(--space-3)}.auth-footer p{font-size:var(--font-size-sm)}.form-info{padding:var(--space-3);font-size:var(--font-size-sm)}}@media(max-width:480px){.modal-overlay{padding:var(--space-2);padding-top:16px;padding-bottom:16px}.auth-modal{margin:var(--space-2);min-height:450px}.auth-modal-header{padding:var(--space-3) var(--space-4)}.auth-modal-header h2{font-size:var(--font-size-lg)}.auth-form{padding:var(--space-4)}.form-group label{font-size:var(--font-size-sm)}.form-helper{font-size:var(--font-size-xs)}.success-message{padding:var(--space-5)}.success-message i{font-size:var(--font-size-3xl);margin-bottom:var(--space-3)}.success-message p{font-size:var(--font-size-sm)}.forgot-success-message{margin:var(--space-3) var(--space-4) var(--space-4);padding:var(--space-6) var(--space-4) var(--space-5)}.forgot-success-title{font-size:clamp(1.35rem,6vw,1.7rem)}.forgot-success-body{font-size:var(--font-size-lg);max-width:25ch}.forgot-success-cta{width:100%;margin-top:var(--space-5)}}[data-theme=dark] .button-primary{color:#fff}[data-theme=dark] .referral-banner{background:linear-gradient(135deg,#f59e0b26,#f59e0b1a);border-color:#f59e0b66}[data-theme=dark] .referral-banner-content strong{color:var(--color-warning)}[data-theme=dark] .referral-banner-content span{color:var(--color-text-secondary)}[data-theme=dark] .auth-modal-header h2{color:#fff}[data-theme=dark] .auth-modal-header--banner .back-button,[data-theme=dark] .auth-modal-header--banner .close-button{background:#0f172a73;border-color:#94a3b852;color:#f8fafc}[data-theme=dark] .auth-modal-header--banner .back-button:hover,[data-theme=dark] .auth-modal-header--banner .close-button:hover{background:#1e293bb8;color:#fff}[data-theme=dark] .onboarding-modal .bonus-amount,[data-theme=dark] .onboarding-modal .bonus-row i,[data-theme=dark] .onboarding-modal .bonus-total,[data-theme=dark] .onboarding-modal .onboarding-icon,[data-theme=dark] .onboarding-birthdate-why-title,[data-theme=dark] .back-button:hover,[data-theme=dark] .password-toggle-btn:hover,[data-theme=dark] .forgot-password-link,[data-theme=dark] .register-link{color:#fff}[data-theme=dark] .auth-business-cta__link{color:#2dd4bf}[data-theme=dark] .auth-business-cta__link:hover{color:#5eead4}[data-theme=dark] .auth-business-cta__icon{background:#2dd4bf;color:#0a0a0a}[data-theme=dark] .forgot-success-message{border-color:#34d39973;background:radial-gradient(circle at top center,rgba(52,211,153,.18),transparent 56%),linear-gradient(160deg,#064e3b99,#04785740);box-shadow:0 12px 28px #022c228c}[data-theme=dark] .forgot-success-title{color:#6ee7b7}[data-theme=dark] .forgot-success-body{color:#d1fae5}.form-row-2col{display:flex;gap:12px}.form-row-2col .form-group{flex:1}.optional-label{font-size:11px;font-weight:400;color:var(--color-text-tertiary)}.onboarding-modal{max-height:90vh;overflow-y:auto;max-width:520px}.onboarding-welcome,.onboarding-tags{padding:32px 28px;text-align:center}.onboarding-icon{font-size:48px;color:var(--color-primary);margin-bottom:12px}.onboarding-welcome h2,.onboarding-tags h2{margin:0 0 8px;font-size:22px;color:var(--color-text-primary);font-weight:700}.onboarding-subtitle{color:var(--color-text-secondary);font-size:14px;margin:0 0 24px}.onboarding-bonuses{background:var(--color-bg-secondary);border-radius:12px;padding:16px;margin-bottom:20px;text-align:left}.bonus-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;color:var(--color-text-secondary)}.bonus-row i{margin-right:8px;color:var(--color-primary)}.bonus-amount{font-weight:700;color:var(--color-primary)}.bonus-total{border-top:1px solid var(--color-border-light);margin-top:4px;padding-top:12px;font-size:15px;font-weight:600;color:var(--color-text-primary)}.bonus-total .bonus-amount{font-size:16px}.onboarding-email-notice{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:8px;margin-bottom:24px;text-align:left}.onboarding-email-notice i{color:#3b82f6;font-size:18px;margin-top:1px;flex-shrink:0}.onboarding-email-notice p{margin:0;font-size:12px;color:var(--color-text-secondary);line-height:1.5}.onboarding-btn{width:100%;padding:12px 20px;font-size:15px;font-weight:600;border-radius:10px;margin-bottom:12px}.onboarding-skip{background:none;border:none;color:var(--color-text-tertiary);font-size:13px;cursor:pointer;padding:6px 12px}.onboarding-skip:hover{color:var(--color-text-secondary)}.register-loading-feedback{position:fixed;top:0;right:0;bottom:0;left:0;background:#030a0eb3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:calc(var(--z-modal) + 10);display:flex;align-items:center;justify-content:center;padding:20px}.register-loading-feedback__card{width:min(560px,100%);background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:14px;box-shadow:var(--shadow-lg);padding:20px;text-align:center}@supports (-webkit-touch-callout: none){.register-loading-feedback__card{width:min(620px,calc(100vw - 24px))}}.register-loading-feedback__spinner{font-size:30px;color:#c9a227;margin-bottom:8px}.register-loading-feedback__spinner i{animation:register-hourglass-spin 1.3s linear infinite}.register-loading-feedback__card h3{margin:0 0 10px;font-size:20px;font-weight:700;color:var(--color-text-primary)}.register-loading-feedback__sub{margin:0 0 8px;font-size:14px;color:var(--color-text-secondary);opacity:0;animation:factFadeIn .5s ease-out 2s forwards}.register-loading-feedback__fact{margin:0;padding:10px 12px;border-radius:8px;background:#c9a2271a;border:1px solid rgba(201,162,39,.25);color:var(--color-text-primary);font-size:15px;line-height:1.5;opacity:0;animation:factFadeIn .5s ease-out 2.2s forwards}@keyframes factFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes register-hourglass-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.onboarding-tags-header{margin-bottom:20px}.onboarding-tags-header i{font-size:32px;color:var(--color-primary);display:block;margin-bottom:8px;filter:brightness(1.18) saturate(1.08);text-shadow:0 0 14px rgba(0,201,167,.45)}.onboarding-tags-header p{color:var(--color-text-secondary);font-size:13px;margin:8px 0 0}.onboarding-profile-step{text-align:left;position:relative}.onboarding-saving-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#000000a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:inherit;animation:overlayFadeIn .2s ease-out}.onboarding-saving-overlay p{color:#fff;font-size:1.1rem;font-weight:600;letter-spacing:.02em;margin:0}.onboarding-saving-spinner{width:44px;height:44px;border:3.5px solid rgba(255,255,255,.2);border-top-color:#2dd4bf;border-radius:50%;animation:savingSpin .8s linear infinite}@keyframes savingSpin{to{transform:rotate(360deg)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.onboarding-profile-step .onboarding-tags-header{text-align:center}.onboarding-success-banner{margin:0 0 18px;padding:14px 16px;border-radius:12px;border:1px solid rgba(16,185,129,.45);background:linear-gradient(135deg,#10b98133,#3b82f629);box-shadow:0 6px 18px #10b98124;text-align:left}.onboarding-success-banner__title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800;color:#34d399;line-height:1.2;margin-bottom:6px}.onboarding-success-banner__title i{font-size:18px}.onboarding-success-banner__body{margin:0;font-size:13px;line-height:1.5;color:var(--color-text-primary)}.onboarding-profile-step .onboarding-btn,.onboarding-profile-step .onboarding-skip{display:block;margin-left:auto;margin-right:auto}.gibbits-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;background-color:#c9a22733;padding:2px 8px;border-radius:4px;font-size:11px;color:#c9a227;font-weight:700;vertical-align:middle;transition:background-color .25s ease,color .25s ease}.gibbits-badge.earned{background-color:#22c55e33;color:#22c55e}.gibbits-badge.earned i{font-size:11px}.about-gibbits-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:8px;border:1px solid rgba(201,162,39,.3);background:#c9a22714;color:#c9a227;font-weight:600;font-size:13px;cursor:pointer;transition:background .2s ease;margin-bottom:4px}.about-gibbits-toggle:hover{background:#c9a22724}.about-gibbits-toggle span{display:flex;align-items:center;gap:8px}.about-gibbits-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:8px;padding:16px;margin-bottom:4px;text-align:left}.about-gibbits-tagline{margin:0 0 6px;font-weight:700;font-size:15px;color:#c9a227}.about-gibbits-desc{margin:0 0 14px;font-size:12px;line-height:1.5;color:var(--color-text-secondary)}.about-gibbits-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.about-gibbits-item{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:8px;background:#ffffff0a;border:1px solid var(--color-border-default)}.about-gibbits-item i{font-size:18px;color:#c9a227;margin-bottom:2px}.about-gibbits-item strong{font-size:12px;color:var(--color-text-primary)}.about-gibbits-item span{font-size:11px;color:var(--color-text-tertiary);line-height:1.35}.about-gibbits-earning{background:#c9a2270f;border:1px solid rgba(201,162,39,.15);border-radius:8px;padding:10px 12px}.about-gibbits-earning>strong{display:block;font-size:12px;color:var(--color-text-primary);margin-bottom:8px}.about-gibbits-earn-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;color:var(--color-text-secondary)}.about-gibbits-earn-row .earn-pts{font-weight:700;color:#c9a227}.about-gibbits-earn-row .earn-pts.earn-varies{font-weight:600;font-size:11px;text-align:right}@media(max-width:480px){.about-gibbits-grid{grid-template-columns:1fr}}.onboarding-earn-more{color:var(--color-text-primary);font-weight:600;font-size:15px;margin:16px 0 8px;text-align:left}.onboarding-birthdate-why{background-color:#00c9a714;padding:10px 12px;border-radius:6px;margin-top:6px;border:1px solid rgba(0,201,167,.15)}.onboarding-birthdate-why-title{margin:0 0 4px;font-size:12px;color:var(--color-primary);font-weight:600}.onboarding-birthdate-why-title i{margin-right:4px;font-size:12px}.onboarding-birthdate-why-body{margin:0;font-size:11px;color:var(--color-text-secondary);line-height:1.5}.onboarding-birthdate-why-body strong{color:var(--color-text-primary)}.onboarding-birthdate-why-privacy{margin:4px 0 0;font-size:10px;color:var(--color-text-tertiary);font-style:italic}.register-city-autocomplete,.register-city-autocomplete .city-input-wrapper{position:relative}.register-city-autocomplete .city-suggestions{list-style:none;margin:6px 0 0;padding:6px 0;position:absolute;left:0;right:0;max-height:220px;overflow-y:auto;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-default);z-index:25;box-shadow:var(--shadow-md)}.register-city-autocomplete .city-suggestion{padding:8px 12px;cursor:pointer;font-size:var(--font-size-sm)}.register-city-autocomplete .city-suggestion:hover,.register-city-autocomplete .city-suggestion.highlighted{background:var(--color-bg-hover)}.onboarding-tags-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px;max-height:320px;overflow-y:auto;padding:4px}.onboarding-tag-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:20px;border:1px solid var(--color-border-default);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.onboarding-tag-chip:hover{border-color:var(--color-primary);color:var(--color-text-primary)}.onboarding-tag-chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.onboarding-tag-chip.selected i{color:#fff}.onboarding-tags-count{font-size:13px;color:var(--color-primary);font-weight:600;margin:0 0 16px}.onboarding-tags-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px;color:var(--color-text-tertiary);font-size:14px}.spinner-sm{width:20px;height:20px;border:2px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}.button-link{background:none;border:none;font-size:13px;cursor:pointer;color:var(--color-text-tertiary)}.button-link:hover{color:var(--color-text-secondary)}@media(max-width:480px){.onboarding-welcome,.onboarding-tags{padding:24px 20px}.form-row-2col{flex-direction:column;gap:0}.onboarding-tags-grid{max-height:240px}}.invite-landing{--invite-footer-safe-space: 56px;height:calc(100vh - var(--invite-footer-safe-space));min-height:calc(100vh - var(--invite-footer-safe-space));display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:20px;background:linear-gradient(135deg,#004953,#007383,#00a3b5);overflow:hidden}.invite-card{background:var(--color-bg-primary);border-radius:24px;padding:40px 32px;max-width:480px;width:100%;max-height:calc(100vh - 40px - var(--invite-footer-safe-space));overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.invite-logo{text-align:center;margin-bottom:24px}.invite-logo img{width:80px;height:80px;object-fit:contain;margin-bottom:12px}.invite-logo h1{font-size:28px;font-weight:700;color:#fff;margin:0;letter-spacing:-.5px}.invite-message{text-align:center;margin-bottom:28px}.invite-icon{width:64px;height:64px;background:linear-gradient(135deg,gold,orange);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 8px 24px #ffd70066}.invite-icon i{font-size:28px;color:#fff}.invite-message h2{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 12px}.invite-message p{font-size:16px;color:var(--color-text-secondary);line-height:1.6;margin:0}.invite-welcome-note{margin:0 0 12px;font-size:14px!important;font-weight:600;color:#0a6c76!important}.invite-message strong{color:#fff;font-weight:700}.invite-code-display{background:var(--color-bg-secondary);border:2px dashed #004953;border-radius:16px;padding:20px;text-align:center;margin-bottom:28px}.invite-code-label{display:block;font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.invite-code-copy{display:flex;align-items:center;justify-content:center;gap:12px;background:none;border:none;cursor:pointer;padding:8px 16px;border-radius:8px;transition:background .2s ease;margin-bottom:8px}.invite-code-copy:hover{background:#0049531a}.invite-code-copy:active{background:#00495333}.invite-code-copy i{font-size:20px;color:#007383}.invite-code-value{font-size:32px;font-weight:800;color:#004953;letter-spacing:4px;font-family:SF Mono,Monaco,Consolas,monospace}.invite-code-note{display:block;font-size:13px;color:var(--color-text-tertiary);font-style:italic;transition:color .2s ease}.invite-actions{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}.invite-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;text-decoration:none}.invite-btn i{font-size:20px}.invite-btn-primary{background:linear-gradient(135deg,#004953,#007383);color:#fff;box-shadow:0 8px 24px #00495359}.invite-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #00495373}.invite-btn-primary:active{transform:translateY(0)}.invite-btn-large{padding:20px 32px;font-size:18px}.invite-btn-large i{font-size:24px}.invite-inline-register{margin-bottom:24px;padding:16px;border:1px solid var(--color-border-light);border-radius:14px;background:var(--color-bg-secondary)}.invite-inline-register h4{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--color-text-primary);text-align:center}.invite-inline-register p{margin:0 0 12px;font-size:13px;color:var(--color-text-secondary);text-align:center}.register-inline-wrap{width:100%}.auth-modal.auth-modal-embedded{width:100%;max-width:100%;min-height:0;max-height:none;box-shadow:none;border:1px solid var(--color-border-light);border-radius:12px}.auth-modal.auth-modal-embedded .auth-form{padding:16px}.invite-btn-secondary{background:var(--color-bg-secondary);color:#004953;border:2px solid #004953}.invite-btn-secondary:hover{background:#004953;color:#fff}.invite-btn-text{background:none;color:var(--color-text-secondary);font-size:14px;padding:8px}.invite-btn-text:hover{color:#004953;text-decoration:underline}.invite-instructions{background:var(--color-bg-secondary);border-radius:12px;padding:20px;border-left:4px solid #007383}.invite-instructions h4{font-size:14px;font-weight:700;color:#004953;margin:0 0 12px}.invite-instructions ol{margin:0;padding-left:20px}.invite-instructions li{font-size:14px;color:var(--color-text-secondary);line-height:1.6;margin-bottom:8px}.invite-instructions li:last-child{margin-bottom:0}.invite-instructions strong{color:#004953;font-weight:700}.invite-web-option{background:#ffd70014;border-radius:12px;padding:16px;text-align:center;border:1px solid rgba(255,215,0,.4)}.invite-web-option p{font-size:14px;color:var(--color-text-secondary);margin:0 0 12px}.invite-desktop-apps{text-align:center;padding-top:8px}.invite-desktop-apps p{font-size:14px;color:var(--color-text-secondary);margin:0 0 12px}.invite-store-buttons{display:flex;gap:12px;justify-content:center}.invite-store-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#1a1a1a;color:#fff;border-radius:10px;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s ease}.invite-store-btn:hover{background:#333;transform:translateY(-2px)}.invite-store-btn i{font-size:18px}.invite-store-notice{margin:10px 0 0;font-size:13px;font-weight:600;color:#0a6c76;text-align:center}.invite-benefits{border-top:1px solid var(--color-border-light);padding-top:24px}.invite-benefits h4{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0 0 16px;text-align:center}.invite-benefits ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.invite-benefits li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--color-text-secondary)}.invite-benefits li i{font-size:18px;color:#007383;flex-shrink:0}.invite-loading{text-align:center;padding:60px 20px}.invite-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.invite-loading p{color:#fff;font-size:16px;margin:0}.invite-error{background:var(--color-bg-primary);border-radius:24px;padding:48px 32px;text-align:center;max-width:400px}.invite-error i{font-size:48px;color:#ef4444;margin-bottom:16px}.invite-error h2{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 12px}.invite-error p{font-size:16px;color:var(--color-text-secondary);margin:0 0 24px}@media(max-width:520px){.invite-landing{--invite-footer-safe-space: 0px;padding:calc(10px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));height:auto;min-height:100dvh;align-items:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch}.invite-card{padding:20px 16px;border-radius:16px;max-height:none;overflow:visible}.invite-logo h1{font-size:24px}.invite-message h2{font-size:20px}.invite-message p{font-size:15px}.invite-code-value{font-size:26px;letter-spacing:3px}.invite-btn-large{width:100%;min-height:46px;padding:14px 18px;font-size:16px}.invite-inline-register{margin-bottom:16px;padding:12px}.invite-inline-register .auth-modal.auth-modal-embedded{max-height:none;min-height:0;overflow:visible;border-radius:10px}.invite-inline-register .auth-modal.auth-modal-embedded .auth-form{padding:12px}.invite-inline-register .auth-modal.auth-modal-embedded .form-input{min-height:44px;font-size:16px}.invite-inline-register .auth-modal.auth-modal-embedded .form-actions{position:sticky;bottom:0;background:var(--color-bg-primary);padding-top:8px;padding-bottom:env(safe-area-inset-bottom);z-index:2}.invite-benefits ul{grid-template-columns:1fr;gap:10px}.invite-store-buttons{flex-direction:column}}@media(max-width:900px)and (orientation:landscape)and (max-height:520px){.invite-landing{padding:calc(8px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom))}.invite-card{padding:14px;border-radius:14px}.invite-logo{margin-bottom:10px}.invite-logo img{width:48px;height:48px;margin-bottom:6px}.invite-logo h1{font-size:20px}.invite-message{margin-bottom:12px}.invite-icon{width:42px;height:42px;margin-bottom:8px}.invite-icon i{font-size:18px}.invite-message h2{font-size:18px;margin-bottom:6px}.invite-message p{font-size:13px;line-height:1.35}.invite-inline-register{margin-bottom:10px;padding:10px}.invite-inline-register p{margin-bottom:8px}.invite-benefits{display:none}}@media(max-width:360px){.invite-message h2{font-size:18px}.invite-message p{font-size:14px}.invite-inline-register h4{font-size:15px}}[data-theme=dark] .invite-landing{background:linear-gradient(135deg,#002d33,#004953,#007383)}[data-theme=dark] .invite-store-btn{background:var(--color-bg-tertiary)}[data-theme=dark] .invite-store-btn:hover{background:var(--color-gray-200)}[data-theme=dark] .invite-code-value,[data-theme=dark] .invite-code-copy i,[data-theme=dark] .invite-benefits li i{color:#fff}[data-theme=dark] .invite-store-notice{color:#7fd6df}.footer-ghost{width:100%;pointer-events:none;flex-shrink:0;transition:height .35s cubic-bezier(.4,0,.2,1)}.site-footer{position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--color-bg-primary);border-top:1px solid var(--color-border-light);box-shadow:0 -2px 12px #0000000f;transition:left .3s ease,box-shadow .3s ease}.site-footer--expanded{box-shadow:0 -4px 24px #0000001f}.site-footer--typing{box-shadow:0 -1px 6px #00000014}.site-footer--typing .footer-expanded{max-height:0!important}.footer-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:40px;transition:background .15s ease}.footer-bar:hover{background:var(--color-bg-secondary)}.footer-bar:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.footer-copyright{font-size:13px;color:var(--color-text-muted);margin:0;white-space:nowrap}.footer-bar-right{display:flex;align-items:center;gap:16px}.footer-bar-links{display:flex;align-items:center;gap:8px}.footer-bar-links a{font-size:13px;color:var(--color-text-muted);text-decoration:none;transition:color .15s ease}.footer-owner-link{font-weight:600}.footer-bar-links a:hover,.footer-link-button:hover{color:var(--color-text-primary);text-decoration:underline}.footer-link-button{border:none;background:transparent;padding:0;margin:0;cursor:pointer;font:inherit;font-size:13px;color:var(--color-text-muted);text-decoration:none;transition:color .15s ease}.footer-dot{color:var(--color-border-default);font-size:14px}.footer-chevron{font-size:14px;color:var(--color-text-muted);transition:transform .3s ease}.footer-expanded{max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1)}.footer-expanded--visible{max-height:400px}.footer-inner{max-width:1200px;margin:0 auto;padding:0 24px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:28px 0 24px;border-top:1px solid var(--color-border-light)}.footer-brand{display:flex;flex-direction:column;gap:10px}.footer-logo{width:40px;height:40px;border-radius:10px;object-fit:contain}.footer-logo-fallback{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);box-shadow:0 2px 8px #00495340}.footer-tagline{font-size:13px;line-height:1.5;color:var(--color-text-secondary);margin:0;max-width:240px}.footer-address{font-size:12px;line-height:1.5;color:var(--color-text-muted);margin:0}.footer-column{display:flex;flex-direction:column;gap:10px}.footer-column-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-primary);margin:0}.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.footer-links li{margin:0}.footer-links a{color:var(--color-text-secondary);text-decoration:none;font-size:13px;transition:color .15s ease}.footer-links a:hover,.footer-links .footer-link-button:hover{color:var(--color-text-primary);text-decoration:underline}.footer-links .footer-link-button{color:var(--color-text-secondary)}@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr 1fr;gap:24px}.footer-brand{grid-column:1 / -1}}@media(max-width:600px){.site-footer{z-index:120}.site-footer--typing .footer-bar{min-height:32px;padding-top:6px;padding-bottom:6px}.footer-inner{padding:0 16px}.footer-bar{padding:8px 14px;flex-wrap:nowrap;gap:4px;min-height:36px}.footer-top{grid-template-columns:1fr;gap:20px;padding:20px 0 16px}.footer-brand{grid-column:auto}.footer-tagline,.footer-address{max-width:100%}.footer-bar-links{display:none}.footer-copyright{font-size:12px;line-height:1.2}.site-footer--typing .footer-copyright{font-size:11px}.footer-expanded--visible{max-height:680px}}@media(max-width:420px){.footer-top{grid-template-columns:1fr 1fr;gap:14px 16px;padding:16px 0 14px}.footer-brand{grid-column:1 / -1;gap:8px;order:1}.footer-top .footer-column:nth-child(4){order:2}.footer-top .footer-column:nth-child(3){order:3}.footer-top .footer-column:nth-child(2){order:4}.footer-column{gap:8px;min-width:0}.footer-column-title{font-size:10px;letter-spacing:.7px}.footer-links{gap:5px}.footer-links a{font-size:12px;line-height:1.25}.footer-address,.footer-tagline{font-size:11px;line-height:1.35}}[data-theme=dark] .site-footer{background:var(--color-bg-primary);border-top-color:var(--color-border-default);box-shadow:0 -2px 12px #0003}[data-theme=dark] .site-footer--expanded{box-shadow:0 -4px 24px #00000059}[data-theme=dark] .footer-bar:hover{background:var(--color-bg-secondary)}[data-theme=dark] .footer-top{border-top-color:var(--color-border-default)}[data-theme=dark] .footer-links a:hover,[data-theme=dark] .footer-bar-links a:hover,[data-theme=dark] .footer-column-title{color:#fff}.cookie-consent-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:10050;display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid var(--color-border, #d1d5db);background:var(--color-bg-primary, #ffffff);box-shadow:0 10px 30px #0000002e}.cookie-consent-banner p{margin:0;color:var(--color-text-primary, #111827);font-size:.88rem;line-height:1.35}.cookie-consent-banner a{color:var(--color-primary, #2563eb);text-decoration:underline}.cookie-consent-accept{flex-shrink:0;border:none;border-radius:8px;padding:8px 12px;font-size:.82rem;font-weight:600;cursor:pointer;color:#111827;background:#fbbf24}.cookie-consent-accept:hover{background:#f59e0b}.cookie-consent-actions{display:flex;gap:8px;flex-shrink:0}.cookie-consent-decline{border:1px solid var(--color-border, #d1d5db);border-radius:8px;padding:8px 12px;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--color-text-primary, #111827);background:var(--color-bg-secondary, #f9fafb)}.cookie-consent-decline:hover{background:#f3f4f6}@media(max-width:768px){.cookie-consent-banner{flex-direction:column;bottom:calc(72px + env(safe-area-inset-bottom,0px))}.cookie-consent-actions{width:100%}.cookie-consent-accept,.cookie-consent-decline{width:auto;flex:1 1 0;min-width:0}}.nav-item-wrapper{margin-bottom:2px;text-align:left}.nav-item-wrapper--collapsed{text-align:center}.nav-item-link{display:flex;align-items:center;padding:.6rem 1rem;color:var(--color-text-primary);text-decoration:none;border-radius:0;font-weight:400;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.nav-item-link:hover{background:var(--color-bg-hover, rgba(0, 73, 83, .05));color:var(--color-primary)}.nav-item-link--active{color:var(--color-primary);font-weight:700;background:var(--color-primary-50)}.nav-item-link--collapsed{justify-content:center;padding:.6rem}.nav-item-link--collapsed.nav-item-link--active{background:var(--color-primary-50)}.nav-item-icon{font-size:1.5rem;font-weight:700;filter:grayscale(100%);opacity:.7;color:var(--color-text-secondary);line-height:1}.nav-item-icon--active{filter:none;opacity:1;color:var(--color-primary)}.nav-item-label{margin-left:20px;font-size:.9rem}.nav-notif-badge{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:600;color:#fff;background:#dc2626;border-radius:8px;display:flex;align-items:center;justify-content:center;line-height:1}[data-theme=dark] .nav-item-link{color:var(--color-text-primary)}[data-theme=dark] .nav-item-link:hover{background:#ffffff0f;color:#fff}[data-theme=dark] .nav-item-link--active{color:#fff;background:#ffffff1a}[data-theme=dark] .nav-item-icon{color:var(--color-text-secondary)}[data-theme=dark] .nav-item-icon--active{color:#fff}.pending-reviews-indicator{position:relative;width:100%}.pending-reviews-btn{position:relative;width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-default);animation:gentle-pulse 3s ease-in-out infinite}.pending-reviews-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3566;animation:none}.pending-reviews-btn.collapsed{width:44px;height:44px;padding:0;justify-content:center;border-radius:var(--radius-lg)}@keyframes gentle-pulse{0%,to{box-shadow:0 2px 8px #ff6b354d}50%{box-shadow:0 4px 16px #ff6b3580}}.pending-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.pending-icon-wrapper i{font-size:var(--font-size-lg);color:#fff}.pending-badge{display:none}.pending-badge-topright{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 6px;background:#fff;color:#ff6b35;font-size:.7rem;font-weight:700;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003;z-index:1;animation:badge-bounce 2s ease-in-out infinite}@keyframes badge-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.pending-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;white-space:nowrap;letter-spacing:-.01em}.pending-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay-dark);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:99999;animation:fade-in .2s ease;padding:var(--space-3)}.pending-modal{width:100%;max-width:440px;max-height:80vh;background:var(--color-bg-primary);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;animation:modal-slide-up .3s ease-out;box-shadow:var(--shadow-xl)}.pending-modal-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:linear-gradient(135deg,#ff6b35,#f7931e)}.pending-modal-header .header-icon{width:48px;height:48px;background:#fff3;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.pending-modal-header .header-icon i{font-size:var(--font-size-xl);color:var(--color-text-inverse)}.pending-modal-header .header-content{flex:1}.pending-modal-header .header-content h4{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-inverse)}.pending-modal-header .header-content p{margin:var(--space-0-5) 0 0;font-size:var(--font-size-sm);color:#ffffffe6}.pending-modal-header .close-modal-btn{background:#fff3;border:none;border-radius:var(--radius-md);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-inverse);font-size:var(--font-size-base);transition:background var(--transition-default)}.pending-modal-header .close-modal-btn:hover{background:#ffffff4d}.pending-list{flex:1;overflow-y:auto;padding:var(--space-3)}.pending-item{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:linear-gradient(135deg,var(--color-gray-50) 0%,var(--color-gray-100) 100%);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-default);margin-bottom:var(--space-2)}.pending-item:last-child{margin-bottom:0}.pending-item:hover{background:var(--color-bg-primary);border-color:#ff6b35;transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3526}.pending-item-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pending-item-icon i{font-size:var(--font-size-lg);color:var(--color-text-inverse)}.pending-item-info{flex:1;min-width:0;text-align:left}.pending-item-info .venue-name{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--space-0-5)}.pending-item-info .checkin-time{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.pending-item-info .checkin-time i{font-size:var(--font-size-xs)}.pending-item-action{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,#ff6b35,#f7931e);border-radius:var(--radius-md);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);flex-shrink:0}.pending-item-action i{font-size:var(--font-size-xs);transition:transform var(--transition-default)}.pending-item:hover .pending-item-action i{transform:translate(3px)}.pending-modal-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-1-5);padding:var(--space-3);background:var(--color-gray-50);border-top:1px solid var(--color-border-light);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.pending-modal-footer i{font-size:var(--font-size-sm);color:var(--color-text-muted)}.review-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay-dark);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:99999;z-index:calc(var(--z-modal) + 1);animation:fade-in .2s ease;padding:var(--space-3)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.review-modal{position:relative;width:100%;max-width:min(646px,96vw);max-height:85vh;background:var(--color-bg-primary);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;animation:modal-slide-up .3s ease-out;box-shadow:var(--shadow-xl)}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.review-success{padding:var(--space-6) var(--space-4);text-align:center;animation:success-pop .4s ease-out}@keyframes success-pop{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.success-icon{width:60px;height:60px;margin:0 auto var(--space-3);background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-dark) 100%);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.success-icon i{font-size:var(--font-size-2xl);color:var(--color-text-inverse)}.review-success h3{margin:0 0 var(--space-0-5);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.review-success p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media(max-width:768px){.review-success{padding:var(--space-8) var(--space-5)}.review-success h3{font-size:1.25rem}.review-success p{font-size:1rem}.success-icon{width:72px;height:72px}.success-icon i{font-size:2rem}.staged-success-label{font-size:1rem}}.review-modal-header{display:flex;align-items:center;gap:var(--space-1-5);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%)}.back-btn,.close-modal-btn{width:32px;height:32px;background:#ffffff26;border:none;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:16px;font-family:system-ui,-apple-system,sans-serif;line-height:1;transition:background var(--transition-default)}.back-btn:hover,.close-modal-btn:hover{background:#ffffff40}.back-btn i,.close-modal-btn i{color:var(--color-text-inverse)!important;font-size:var(--font-size-sm)}.back-btn:disabled,.close-modal-btn:disabled{opacity:.5;cursor:not-allowed}.header-info{flex:1;min-width:0}.header-info h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-inverse)}.venue-subtitle{margin:var(--space-0-5) 0 0;font-size:var(--font-size-md);color:#ffffffd9;display:flex;align-items:center;gap:var(--space-0-5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.venue-subtitle i{font-size:var(--font-size-sm)}.review-modal-body{flex:1;overflow-y:auto;padding:var(--space-2)}.review-field-label{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-1-5);margin-bottom:var(--space-1);font-size:var(--font-size-sm)!important;color:var(--color-text-primary)!important;white-space:nowrap;overflow:hidden}.review-field-label .label-text{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;flex-shrink:0}.review-field-label .label-text i{font-size:var(--font-size-sm);color:var(--color-text-muted)}.label-bonus{font-size:var(--font-size-xs);color:var(--color-success);font-weight:var(--font-weight-semibold);padding:2px 8px;border-radius:var(--radius-xs);background:var(--color-success-100);flex-shrink:0;white-space:nowrap}.label-bonus.achieved{background:var(--color-success);color:var(--color-text-inverse)}.rating-row{padding:10px 12px;background:var(--color-gray-50);border-radius:var(--radius-md);margin-bottom:6px}.rating-row-inner{display:flex;flex-direction:column;gap:6px}.rating-label-col{width:100%;min-width:0;display:flex;align-items:center;gap:8px}.rating-label-name{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;line-height:1.3}.rating-label-name i{font-size:12px;color:var(--color-primary);flex-shrink:0}.rating-label-meta{display:flex;align-items:center;gap:6px;margin-top:0}.rating-optional-tag{font-size:11px;font-style:italic;color:var(--color-text-muted)}.rating-input-col{flex:1;min-width:0}.g-rating-buttons{display:grid;grid-template-columns:repeat(10,25px);gap:8px;align-items:center}.g-rating-btn{width:25px;height:25px;padding:0;border:1.5px solid var(--color-border-default);border-radius:var(--radius-default);background:var(--color-bg-primary);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.g-rating-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-50)}.g-rating-btn.active,.g-rating-btn.active.selected{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border-color:transparent;color:var(--color-text-inverse)}.g-rating-btn:disabled{cursor:not-allowed;opacity:.6}.form-section{margin-bottom:var(--space-2)}.form-input,.form-textarea{width:100%;padding:var(--space-1-5) var(--space-2);border:1.5px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;color:var(--color-text-primary);transition:all var(--transition-default);background:var(--color-gray-50)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);background:var(--color-bg-primary);box-shadow:0 0 0 2px var(--color-primary-100)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea{resize:vertical;min-height:60px}.char-count{display:flex;align-items:center;gap:var(--space-0-5);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-0-5)}.char-count.bonus{color:var(--color-success);font-weight:var(--font-weight-semibold)}.char-count i{font-size:var(--font-size-xs)}.image-upload-area{display:flex;gap:var(--space-1-5);flex-wrap:wrap}.photo-upload-card{--review-media-tile-size: 88px;margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-gray-50),var(--color-bg-primary))}.photo-upload-card .review-field-label{margin-bottom:var(--space-1-5)}.photo-upload-help-text{margin:0 0 var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.35}.photo-upload-card .image-preview{position:relative;width:var(--review-media-tile-size);height:var(--review-media-tile-size);border-radius:var(--radius-md);overflow:hidden;border:1.5px solid var(--color-border-light);box-shadow:0 6px 16px #0000001f}.photo-upload-card .image-preview img{width:100%;height:100%;object-fit:cover}.receipt-required .receipt-help-text{margin:0 0 var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.35}.receipt-required{--receipt-tile-width: 132px;--receipt-tile-height: 96px;margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-gray-50),var(--color-bg-primary))}.receipt-required .review-field-label{margin-bottom:var(--space-1-5)}.receipt-required .review-field-label .label-text i{color:#f59e0b}.receipt-required .image-upload-area{align-items:center;justify-content:center}.receipt-preview{width:88px;height:88px;border-color:#10b98159;box-shadow:0 6px 16px #0000001f}.receipt-required .add-image-btn{width:var(--receipt-tile-width);min-height:var(--receipt-tile-height);border-radius:var(--radius-md);border-style:solid;border-width:1.5px;border-color:#f59e0b73;background:#f59e0b14;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-0-5);padding:var(--space-1);text-align:center;cursor:pointer;transition:all .15s ease;color:var(--color-text-primary)}.receipt-required .add-image-btn:hover{border-color:#f59e0b;background:#f59e0b2e;color:var(--color-text-primary)}.receipt-required .add-image-btn span{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.1}.receipt-required .add-image-btn i{font-size:var(--font-size-lg);line-height:1}@media(max-width:640px){.receipt-required{--receipt-tile-width: 116px;--receipt-tile-height: 90px}.receipt-required .add-image-btn span{font-size:var(--font-size-sm)}}.remove-image-btn{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-overlay-medium);border:none;color:var(--color-text-inverse);font-size:var(--font-size-xs);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.remove-image-btn:hover{background:var(--color-error)}.photo-upload-card .add-image-btn{width:var(--review-media-tile-size);height:var(--review-media-tile-size);border-radius:var(--radius-md);border:1.5px solid rgba(99,102,241,.4);background:#6366f114;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-0-5);cursor:pointer;transition:all .15s ease;color:var(--color-text-primary)}.photo-upload-card .add-image-btn:hover{border-color:var(--color-primary);color:var(--color-text-primary);background:#6366f12e}.photo-upload-card .add-image-btn i{font-size:var(--font-size-base);color:inherit}.photo-upload-card .add-image-btn span{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:inherit}.gibbits-estimate{display:flex;align-items:center;gap:10px;padding:8px 14px;background:linear-gradient(135deg,#fef7cd,#fef3c7);border:1px solid #f5e6a3;border-radius:var(--radius-md)}.gibbits-estimate .coin{font-size:20px;flex-shrink:0}.gibbits-estimate-main{flex:1;min-width:0}.gibbits-estimate-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.estimate-value{font-size:15px;font-weight:var(--font-weight-bold);color:#6b5010;white-space:nowrap}.estimate-pct{font-size:11px;color:#8b7318;white-space:nowrap}.gibbits-progress-bar{height:4px;background:#00000014;border-radius:2px;overflow:hidden}.gibbits-progress-fill{height:100%;background:linear-gradient(90deg,#4a7c59,#5a9a6a);border-radius:2px;transition:width .3s ease}.review-modal-sticky-footer{flex-shrink:0;background:var(--color-gray-50);border-top:1px solid var(--color-border-light)}.review-modal-sticky-footer .gibbits-estimate{border-radius:0;border:none;border-bottom:1px solid var(--color-border-light)}.review-modal-sticky-footer .time-delay-warning{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light)}.review-modal-footer{display:flex;align-items:stretch;gap:var(--space-2);padding:var(--space-3)}.review-modal-footer .footer-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:44px;margin:0!important}.review-modal-footer .footer-btn i{color:inherit}.review-modal-footer .submit-btn{flex:2}.review-modal-footer .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--color-text-inverse);border-radius:var(--radius-full);animation:spin .8s linear infinite}@media(max-width:600px){.pending-dropdown{position:fixed;left:50%!important;top:50%!important;transform:translate(-50%,-50%);margin-left:0;width:calc(100% - var(--space-6));max-width:360px}.pending-dropdown:before{display:none}.review-modal{max-height:95vh;border-radius:var(--radius-lg)}.rating-row-inner{flex-direction:column;align-items:stretch;gap:8px}.rating-label-col{flex:none;width:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.rating-label-name{font-size:13px}.g-rating-buttons{gap:6px}.g-rating-btn{width:25px;height:25px;font-size:13px;border-radius:8px}.staging-notice{flex-direction:column;text-align:center;gap:8px}.staging-notice-count br{display:none}}.content-warning-banner{padding:var(--space-2);border-radius:var(--radius-md);margin-bottom:var(--space-2);animation:warning-shake .4s ease}@keyframes warning-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.content-warning-banner.content-warning-severe{background:linear-gradient(135deg,#dc2626,#b91c1c);color:var(--color-text-inverse);border:2px solid #ef4444}.content-warning-banner.content-warning-moderate{background:linear-gradient(135deg,#f59e0b,#d97706);color:var(--color-text-inverse);border:2px solid #fbbf24}.content-warning-banner.content-warning-mild{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:2px solid #f59e0b}.warning-header{display:flex;align-items:center;gap:var(--space-1);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);margin-bottom:var(--space-1)}.warning-header i{font-size:var(--font-size-base)}.warning-message{font-size:var(--font-size-xs);margin:0 0 var(--space-1);line-height:1.4;opacity:.95}.flagged-words{display:flex;flex-wrap:wrap;gap:var(--space-0-5)}.flagged-word{display:inline-block;padding:var(--space-0-5) var(--space-1);background:#0003;border-radius:var(--radius-xs);font-size:var(--font-size-xs);font-family:monospace}.form-input.input-error,.form-textarea.input-error{border-color:var(--color-error);background:#fef2f2;box-shadow:0 0 0 2px #dc262626}.form-input.input-error:focus,.form-textarea.input-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #dc262633}.input-error-hint{display:flex;align-items:center;gap:var(--space-0-5);color:var(--color-error);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:var(--space-0-5)}.input-error-hint i{font-size:var(--font-size-xs)}.textarea-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-0-5);flex-wrap:wrap;gap:var(--space-1)}.submit-btn.btn-blocked{background:linear-gradient(135deg,#dc2626,#b91c1c)}.submit-btn.btn-blocked:hover:not(:disabled){box-shadow:0 4px 12px #dc26264d}.time-delay-warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:var(--radius-md);margin:0 var(--space-2) var(--space-2);color:#92400e;font-size:var(--font-size-sm)}.time-delay-warning i{font-size:var(--font-size-lg);color:#f59e0b}.time-delay-warning strong{font-weight:var(--font-weight-bold);color:#b45309}@media(max-width:768px){.pending-modal-overlay{overflow-y:auto;-webkit-overflow-scrolling:touch;align-items:flex-start;padding-top:var(--space-4);padding-bottom:var(--space-4)}.pending-modal,.review-modal{max-height:none;margin:auto;position:relative}.review-modal-body{max-height:60vh;max-height:60dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.review-modal .form-input:focus,.review-modal .form-textarea:focus{scroll-margin-bottom:200px}.review-modal-footer{position:sticky;bottom:0;background:var(--color-gray-50);z-index:10}}@media(max-width:480px){.pending-modal-overlay{padding:0;align-items:stretch}.review-modal{width:100%;max-width:100%;min-height:100vh;min-height:100dvh;border-radius:0;margin:0}.review-modal-body{max-height:calc(100vh - 180px);max-height:calc(100dvh - 180px);padding-bottom:var(--space-4)}.g-rating-btn{width:25px;height:25px;font-size:12px;border-radius:6px}.g-rating-buttons{gap:6px}.rating-row{padding:8px 10px}}.menu-bonus-section{margin-top:var(--space-3)}.menu-bonus-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:2px solid #8B5CF6;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-default)}.menu-bonus-header:hover{border-color:#7c3aed;background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.menu-bonus-header.expanded{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:#5b21b6;border-radius:var(--radius-md) var(--radius-md) 0 0}.menu-bonus-header-left{display:flex;align-items:center;gap:var(--space-2)}.menu-bonus-header-left>i{font-size:var(--font-size-lg);color:#7c3aed}.menu-bonus-header.expanded .menu-bonus-header-left>i{color:#f5f3ff}.menu-bonus-header-text{display:flex;flex-direction:column}.menu-bonus-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:#5b21b6}.menu-bonus-header.expanded .menu-bonus-title{color:#fff}.menu-bonus-subtitle{font-size:var(--font-size-xs);color:#7c3aed}.menu-bonus-header.expanded .menu-bonus-subtitle{color:#e9d5ff}.menu-bonus-header-right{display:flex;align-items:center;gap:var(--space-2)}.menu-bonus-badge{padding:var(--space-0-5) var(--space-1);background:#8b5cf6;color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-sm)}.menu-bonus-header.expanded .menu-bonus-badge{background:#ffffff40}.menu-bonus-header-right>i{font-size:var(--font-size-base);color:#7c3aed}.menu-bonus-header.expanded .menu-bonus-header-right>i{color:#f5f3ff}.menu-bonus-content{padding:var(--space-3);background:#faf5ff;border:2px solid #8B5CF6;border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md)}.menu-bonus-info{padding:var(--space-2);background:#ede9fe;border-radius:var(--radius-sm);margin-bottom:var(--space-3)}.menu-bonus-info p{margin:0 0 var(--space-1) 0;font-size:var(--font-size-xs);color:#1f2937}.menu-bonus-info p:last-child{margin-bottom:0}.menu-item-review-card{padding:var(--space-3);background:#fff;border:1px solid #A78BFA;border-radius:var(--radius-md);margin-bottom:var(--space-2)}.menu-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.menu-item-number{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#5b21b6}.remove-menu-item-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-error);transition:all var(--transition-default)}.remove-menu-item-btn:hover{background:#dc26261a}.menu-item-field{margin-bottom:var(--space-2)}.menu-item-field:last-child{margin-bottom:0}.menu-item-field label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:#5b21b6;margin-bottom:var(--space-1)}.menu-item-field label i{color:#8b5cf6;font-size:var(--font-size-xs)}.menu-item-field .bonus-hint{color:#7c3aed;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.menu-item-field .label-main{font-weight:var(--font-weight-semibold);color:#5b21b6}.menu-item-field .label-count{color:#8b5cf6;margin-left:var(--space-1)}.menu-item-field .label-optional{color:#a78bfa;font-weight:var(--font-weight-normal);margin-left:var(--space-1)}.menu-item-field .bonus-badge{display:inline-flex;align-items:center;background:#8b5cf626;color:#7c3aed;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px 8px;border-radius:var(--radius-full);margin-left:var(--space-2)}.menu-item-field.description-field{background:#f5f3ff;padding:var(--space-3);border-radius:var(--radius-md);border:2px solid #DDD6FE;transition:all var(--transition-default)}.menu-item-field.description-field.has-content{border-color:#8b5cf6}.menu-item-field.description-field label{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.menu-item-field.description-field .label-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ede9fe;border-radius:var(--radius-sm)}.menu-item-field.description-field .label-icon i{color:#7c3aed;font-size:14px}.menu-item-field.description-field .label-main{color:#5b21b6;font-weight:var(--font-weight-semibold)}.menu-item-field.description-field .label-count{color:#8b5cf6}.menu-item-field.description-field .bonus-badge{background:#ede9fe;color:#7c3aed}.menu-item-field.description-field .menu-description{min-height:90px;resize:vertical;border:2px solid #C4B5FD;background:#fff;transition:all var(--transition-default)}.menu-item-field.description-field .menu-description:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf633}.menu-item-field.description-field .menu-description.has-content{border-color:#8b5cf6}.menu-item-photo-upload{margin-top:var(--space-1)}.photo-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);background:#faf5ff;border:2px dashed #C4B5FD;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-default)}.photo-upload-area:hover{background:#ede9fe;border-color:#8b5cf6}.photo-upload-area .upload-icons{display:flex;gap:var(--space-3)}.photo-upload-area .upload-icons i{font-size:24px;color:#7c3aed;padding:var(--space-2);background:#fff;border:1px solid #DDD6FE;border-radius:var(--radius-md)}.photo-upload-area .upload-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#5b21b6}.photo-upload-area .upload-hint{font-size:var(--font-size-xs);color:#8b5cf6}.menu-item-image-preview{position:relative;border-radius:var(--radius-md);overflow:hidden;border:2px solid #8B5CF6}.menu-item-image-preview img{width:100%;height:150px;object-fit:cover}.menu-item-image-preview .remove-image-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background var(--transition-default)}.menu-item-image-preview .remove-image-btn:hover{background:#ef4444e6}.menu-item-field select.g-input{border:2px solid #A78BFA;background:#faf5ff;color:#1f2937}.menu-item-field select.g-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #8b5cf633}.menu-item-rating{margin-top:var(--space-1)}.menu-item-rating .g-rating-btn{min-width:0;height:28px;padding:0;font-size:11px}.menu-item-rating .g-rating-btn.active{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:transparent;color:var(--color-text-inverse)}.add-menu-item-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-1);width:100%;padding:var(--space-2);background:#ede9fe;border:2px dashed #8B5CF6;border-radius:var(--radius-md);color:#5b21b6;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-default)}.add-menu-item-btn:hover:not(:disabled){background:#ddd6fe;border-color:#7c3aed}.add-menu-item-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .menu-bonus-header{background:linear-gradient(135deg,#1a1025,#2d1b4e);border-color:#4c1d95}[data-theme=dark] .menu-bonus-header:hover{border-color:#6d28d9;background:linear-gradient(135deg,#2d1b4e,#3b1d6b)}[data-theme=dark] .menu-bonus-header.expanded{background:linear-gradient(135deg,#2d1b4e,#3b1d6b);border-color:#6d28d9}[data-theme=dark] .menu-bonus-header-left>i{color:#a78bfa}[data-theme=dark] .menu-bonus-header.expanded .menu-bonus-header-left>i{color:#c4b5fd}[data-theme=dark] .menu-bonus-title{color:#c4b5fd}[data-theme=dark] .menu-bonus-header.expanded .menu-bonus-title{color:#e9d5ff}[data-theme=dark] .menu-bonus-subtitle{color:#a78bfa}[data-theme=dark] .menu-bonus-header.expanded .menu-bonus-subtitle{color:#c4b5fd}[data-theme=dark] .menu-bonus-badge{background:#3b1d6b;color:#c4b5fd}[data-theme=dark] .menu-bonus-header.expanded .menu-bonus-badge{background:#a78bfa33}[data-theme=dark] .menu-bonus-header-right>i{color:#a78bfa}[data-theme=dark] .menu-bonus-header.expanded .menu-bonus-header-right>i{color:#c4b5fd}[data-theme=dark] .menu-bonus-content{background:#0f0a15;border-color:#3b1d6b}[data-theme=dark] .menu-bonus-info{background:#1a1025}[data-theme=dark] .menu-bonus-info p{color:#e5e7eb}[data-theme=dark] .menu-item-review-card{background:#0d0912;border-color:#3b1d6b}[data-theme=dark] .menu-item-number,[data-theme=dark] .menu-item-field label{color:#c4b5fd}[data-theme=dark] .menu-item-field select.g-input{background:#0d0912;border-color:#3b1d6b;color:#e5e7eb}[data-theme=dark] .menu-item-field select.g-input:focus{border-color:#6d28d9;box-shadow:0 0 0 3px #8b5cf626}[data-theme=dark] .add-menu-item-btn{background:#1a1025;border-color:#3b1d6b;color:#c4b5fd}[data-theme=dark] .add-menu-item-btn:hover:not(:disabled){background:#2d1b4e;border-color:#4c1d95}[data-theme=dark] .menu-item-field .label-main{color:#c4b5fd}[data-theme=dark] .menu-item-field .label-count,[data-theme=dark] .menu-item-field .label-optional{color:var(--color-text-secondary)}[data-theme=dark] .menu-item-field .bonus-badge{background:#8b5cf633;color:#a78bfa}[data-theme=dark] .menu-item-field.description-field{background:#0f0a15;border-color:#3b1d6b}[data-theme=dark] .menu-item-field.description-field.has-content{border-color:#6d28d9}[data-theme=dark] .menu-item-field.description-field .label-icon{background:#2d1b4e}[data-theme=dark] .menu-item-field.description-field .label-icon i{color:#a78bfa}[data-theme=dark] .menu-item-field.description-field .label-main{color:#c4b5fd}[data-theme=dark] .menu-item-field.description-field .label-count{color:var(--color-text-secondary)}[data-theme=dark] .menu-item-field.description-field .bonus-badge{background:#8b5cf633;color:#a78bfa}[data-theme=dark] .menu-item-field.description-field .menu-description{background:#0d0912;border-color:#2d1b4e;color:#e5e7eb}[data-theme=dark] .menu-item-field.description-field .menu-description:focus{border-color:#6d28d9;box-shadow:0 0 0 3px #8b5cf626}[data-theme=dark] .menu-item-field.description-field .menu-description.has-content{border-color:#6d28d9}[data-theme=dark] .menu-item-field.description-field .menu-description::placeholder{color:var(--color-text-muted)}[data-theme=dark] .photo-upload-area{background:#0d0912;border-color:#2d1b4e}[data-theme=dark] .photo-upload-area:hover{background:#1a1025;border-color:#3b1d6b}[data-theme=dark] .photo-upload-area .upload-icons i{background:#1a1025;border-color:#2d1b4e;color:#a78bfa}[data-theme=dark] .photo-upload-area .upload-text{color:#c4b5fd}[data-theme=dark] .photo-upload-area .upload-hint{color:var(--color-text-secondary)}[data-theme=dark] .menu-item-image-preview{border-color:#6d28d9}[data-theme=dark] .menu-item-rating .g-rating-btn{background:#0d0912;border-color:#2d1b4e;color:var(--color-text-secondary)}[data-theme=dark] .menu-item-rating .g-rating-btn:hover:not(:disabled){border-color:#3b1d6b;color:#a78bfa;background:#1a1025}[data-theme=dark] .menu-item-rating .g-rating-btn.active{background:linear-gradient(135deg,#4c1d95,#3b1d6b);border-color:transparent;color:#e5e7eb}[data-theme=dark] .photo-upload-card{background:linear-gradient(180deg,rgba(99,102,241,.1),var(--color-bg-secondary));border-color:#6366f159}[data-theme=dark] .photo-upload-help-text{color:var(--color-text-secondary)}[data-theme=dark] .add-image-btn{background:#6366f129;border-color:#6366f173}[data-theme=dark] .receipt-required{background:linear-gradient(180deg,rgba(245,158,11,.1),var(--color-bg-secondary));border-color:#f59e0b59}[data-theme=dark] .receipt-required .receipt-help-text{color:var(--color-text-secondary)}[data-theme=dark] .receipt-required .add-image-btn{background:#f59e0b29;border-color:#f59e0b73}.text-success{color:var(--color-success)}.validation-error-banner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-3);background:#fee2e2;border:2px solid #EF4444;border-radius:var(--radius-md);margin-bottom:var(--space-3);animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.validation-error-banner i{color:#dc2626;font-size:1.1rem;flex-shrink:0}.validation-error-banner span{color:#991b1b;font-weight:500;flex:1}.error-fix-buttons{display:flex;gap:var(--space-2);width:100%;margin-top:var(--space-2)}.error-fix-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:#dc2626;color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition-default)}.error-fix-btn:hover{background:#b91c1c;transform:translateY(-1px)}.rating-row--error{padding:var(--space-2);border-radius:var(--radius-md);border:2px solid #EF4444!important;background:#ef44440d}.g-rating-buttons--error{animation:pulse-red 1s ease-in-out infinite}@keyframes pulse-red{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 0 4px #ef444433}}[data-theme=dark] .validation-error-banner{background:#450a0a;border-color:#dc2626}[data-theme=dark] .validation-error-banner i{color:#f87171}[data-theme=dark] .validation-error-banner span{color:#fca5a5}[data-theme=dark] .error-fix-btn{background:#ef4444}[data-theme=dark] .error-fix-btn:hover{background:#dc2626}[data-theme=dark] .rating-row--error{background:#ef44441a}[data-theme=dark] .gibbits-estimate{background:linear-gradient(135deg,#2a2210,#332a0e);border-color:#5a4a1e}[data-theme=dark] .estimate-value{color:#e8c032}[data-theme=dark] .estimate-pct{color:#9a8a50}[data-theme=dark] .gibbits-progress-bar{background:#ffffff1a}[data-theme=dark] .menu-bonus-content{background:#a855f714}[data-theme=dark] .menu-item-review-card{background:var(--color-bg-primary)}[data-theme=dark] .menu-bonus-info p{color:var(--color-text-primary)}[data-theme=dark] .time-delay-warning{background:linear-gradient(135deg,#2a2210,#332a0e);border-color:#5a4a1e;color:var(--color-text-secondary)}[data-theme=dark] .time-delay-warning strong{color:#fbbf24}[data-theme=dark] .form-input,[data-theme=dark] .form-textarea{background:#2a2a2e;border-color:#4a4a52;color:var(--color-text-primary)}[data-theme=dark] .form-input:focus,[data-theme=dark] .form-textarea:focus{background:#32323a;border-color:#6a6a72;box-shadow:0 0 0 2px #ffffff14}[data-theme=dark] .form-input.input-error,[data-theme=dark] .form-textarea.input-error{background:#ef44441a}.staging-notice{background:linear-gradient(135deg,#1e3a5f,#1a2e4a)!important;border-color:#2d5a8e!important;color:#e0eeff!important;padding:12px 16px;border-radius:10px;margin-bottom:12px;display:flex;align-items:center;gap:14px}.staging-notice-body{flex:1;min-width:0}.staging-notice p{margin:0;font-size:13px;line-height:1.4;opacity:.9}.staging-info-tip{position:relative;display:inline-block;margin-left:4px;vertical-align:middle;cursor:pointer}.staging-info-tip i{font-size:13px;color:#ffffff73;transition:color .15s ease}.staging-info-tip:hover i{color:#fbbf24}.staging-info-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:240px;padding:8px 10px;background:#111;color:#e5e5e5;font-size:12px;line-height:1.4;font-style:normal;border-radius:6px;box-shadow:0 4px 12px #0006;z-index:10;pointer-events:none}.staging-info-tip:hover .staging-info-tooltip{display:block}.staging-notice-progress{height:5px;background:#ffffff26;border-radius:3px;overflow:hidden;margin-top:8px}.staging-notice-count{flex-shrink:0;text-align:center;font-size:14px;line-height:1.3;color:#fffc;padding:8px 16px;background:#ffffff14;border-radius:8px;min-width:100px}.staging-notice-count strong{display:block;font-size:28px;color:#fbbf24;line-height:1.1}.staging-notice-progress-fill{height:100%;background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:3px;transition:width .3s ease}.staging-notice-label{display:none}.staged-success-progress{height:8px;width:80%;margin:12px auto 0;background:#ffffff26;border-radius:4px;overflow:hidden}.staged-success-progress-fill{height:100%;background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:4px;transition:width .3s ease}.staged-success-label{display:block;font-size:13px;color:#fff9;text-align:center;margin-top:8px}.graduation-takeover{position:relative;display:flex;flex-direction:column;align-items:center;padding:var(--space-8) var(--space-5) var(--space-6);overflow:hidden;background:radial-gradient(ellipse at 50% 20%,rgba(251,191,36,.12) 0%,transparent 60%);min-height:420px;animation:grad-fadeIn .6s ease-out}@keyframes grad-fadeIn{0%{opacity:0}to{opacity:1}}.confetti-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.confetti-piece{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;opacity:0;animation:confetti-fall linear forwards}.confetti-0{background:#fbbf24}.confetti-1{background:#10b981}.confetti-2{background:#6366f1}.confetti-3{background:#f43f5e}.confetti-4{background:#06b6d4}.confetti-5{background:#f97316}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) rotate(0) scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(480px) rotate(720deg) scale(.4)}}.graduation-hero{position:relative;z-index:1;text-align:center;margin-bottom:var(--space-5)}.graduation-ring{width:96px;height:96px;margin:0 auto var(--space-4);border-radius:50%;background:conic-gradient(#fbbf24,#f59e0b,#fbbf24,#f59e0b,#fbbf24);padding:4px;animation:ring-spin 4s linear infinite}@keyframes ring-spin{to{transform:rotate(360deg)}}.graduation-ring-inner{width:100%;height:100%;border-radius:50%;background:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;animation:ring-inner-pop .6s .3s ease-out both}[data-theme=dark] .graduation-ring-inner{background:#1a1a2e}@keyframes ring-inner-pop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.graduation-ring-inner i{font-size:2.4rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.graduation-headline{font-size:2rem;font-weight:900;letter-spacing:-.02em;margin:0;background:linear-gradient(135deg,#fbbf24,#f59e0b,#fbbf24);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer-text 3s linear infinite}@keyframes shimmer-text{to{background-position:200% center}}.graduation-tagline{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.graduation-cards{position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;width:100%;max-width:360px}.grad-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:#fbbf240f;border:1px solid rgba(251,191,36,.15);border-radius:var(--radius-lg);opacity:0;animation:grad-card-in .5s ease-out forwards}.grad-card:nth-child(1){animation-delay:.8s}.grad-card:nth-child(2){animation-delay:1.1s}.grad-card:nth-child(3){animation-delay:1.4s}@keyframes grad-card-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.grad-card-icon{width:40px;height:40px;border-radius:50%;background:#fbbf241f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.grad-card-icon i{font-size:1.15rem;color:#fbbf24}.grad-card-text{display:flex;flex-direction:column;gap:2px;min-width:0}.grad-card-text strong{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary)}.grad-card-text span{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.35}.graduation-footer-msg{position:relative;z-index:1;margin-top:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic;text-align:center;opacity:0;animation:grad-card-in .5s 2s ease-out forwards}.graduation-continue-btn{position:relative;z-index:1;margin-top:var(--space-4);padding:var(--space-3) var(--space-6);border:none;border-radius:50px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a2e;font-size:var(--font-size-base);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);opacity:0;animation:grad-card-in .5s 2.3s ease-out forwards;transition:transform .15s,box-shadow .15s}.graduation-continue-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #fbbf2459}.graduation-continue-btn:active{transform:translateY(0)}.graduation-continue-btn i{font-size:1rem;transition:transform .15s}.graduation-continue-btn:hover i{transform:translate(3px)}.review-submitting-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);border-radius:inherit;animation:fade-in .2s ease}.review-submitting-modal{width:min(92%,320px);background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-5) var(--space-4);text-align:center}.review-submitting-modal h3{margin:var(--space-2) 0 var(--space-1);font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary)}.review-submitting-venue{margin:0 0 var(--space-1);font-size:var(--font-size-base);font-weight:600;color:var(--color-primary)}.review-submitting-hint{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.mobile-tab-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1001;height:var(--mobile-tab-bar-height, 56px);padding-bottom:var(--mobile-tab-bar-safe-bottom, 0px);background:var(--color-bg-primary);border-top:1px solid var(--color-border-light);align-items:stretch;justify-content:space-around;box-shadow:0 -2px 12px #00000014}.mobile-tab-bar__tab{flex:1;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--color-text-muted);font-size:1.35rem;padding:0;transition:color .15s ease;-webkit-tap-highlight-color:transparent;position:relative}.mobile-tab-bar__tab--active{color:var(--color-accent);font-weight:600}.mobile-tab-bar__tab--active .mobile-tab-bar__icon-wrap{color:var(--color-accent)}.mobile-tab-bar__tab--active .mobile-tab-bar__icon-wrap:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:5px;height:5px;border-radius:50%;background:var(--color-accent)}.mobile-tab-bar__tab--center.mobile-tab-bar__tab--active{color:var(--color-accent)}.mobile-tab-bar__icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.mobile-tab-bar__tab--center{color:inherit}.mobile-tab-bar__logo{width:30px;height:30px;object-fit:contain;opacity:.5;transition:opacity .15s ease,transform .15s ease}.mobile-tab-bar__logo--active{opacity:1;transform:scale(1.12)}.mobile-tab-bar__badge{position:absolute;top:-5px;right:-8px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--color-error);color:var(--color-white);font-size:.6rem;font-weight:700;line-height:16px;text-align:center;pointer-events:none}[data-dark-mode=true] .mobile-tab-bar{background:var(--color-bg-primary);border-top-color:var(--color-border-light);box-shadow:0 -2px 12px #0000004d}.nav-sidebar{width:200px;height:100vh;height:100dvh;position:fixed;left:0;top:0;z-index:1000;color:var(--color-black);transition:width var(--transition-slow);box-shadow:2px 0 15px #00000014;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;background:var(--color-white);-webkit-overflow-scrolling:touch}.nav-sidebar--collapsed{width:60px}.nav-sidebar--mobile{width:280px;transition:transform var(--transition-slow);transform:translate(-100%)}.nav-sidebar--mobile-open{transform:translate(0)}.nav-header{padding:.75rem 1rem;border-bottom:1px solid var(--color-border-light);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:50px;overflow:visible;flex-shrink:0}.nav-header--collapsed{padding:.5rem;background:var(--color-white);justify-content:center}.nav-logo-img{width:44px;height:44px;cursor:pointer;object-fit:contain;border-radius:var(--radius-md);padding:2px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);box-shadow:0 2px 8px #00495340;transition:transform .2s ease,box-shadow .2s ease}.nav-logo-img:hover{transform:scale(1.05);box-shadow:0 4px 12px #00495359}.nav-brand-title{margin:0;font-size:var(--font-size-xl);font-weight:800;color:var(--color-text-inverse);letter-spacing:var(--letter-spacing-tight)}.nav-brand-accent{color:var(--color-accent)}.nav-env-badge{font-size:.65rem;font-weight:700;letter-spacing:.08em;padding:.2rem .45rem;border-radius:999px;border:1px solid rgba(255,255,255,.5);color:var(--color-text-inverse);line-height:1}.nav-env-badge--prod{background:#10b98147}.nav-env-badge--uat{background:#f59e0b4d}.nav-close-btn{background:#ffffff26;border:none;border-radius:var(--radius-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-inverse);font-size:1.1rem;padding:0;transition:background var(--transition-default)}.nav-close-btn:hover{background:#ffffff40}.nav-collapse-btn{background:#ffffff26;border:none;border-radius:var(--radius-sm);width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-inverse);font-size:.9rem;padding:0;transition:background var(--transition-default)}.nav-collapse-btn:hover{background:#ffffff40}.nav-expand-container{padding:var(--space-2);display:flex;justify-content:center}.nav-expand-btn{background:var(--color-gray-100);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);width:32px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-tertiary);font-size:.9rem;padding:0;transition:background var(--transition-default)}.nav-expand-btn:hover{background:var(--color-gray-200)}.nav-links-container{scrollbar-width:thin;padding-top:var(--space-2);padding-bottom:var(--space-2);flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;white-space:nowrap}.nav-links-container .nav{list-style:none;padding:0}.nav-reviews-section{padding:.75rem 1rem;border-top:1px solid var(--color-border-light);display:flex;justify-content:center;flex-shrink:0}.nav-reviews-section--collapsed{padding:var(--space-2)}.nav-user-section{padding:1rem;border-top:1px solid var(--color-border-light);background:var(--color-bg-secondary);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);flex-shrink:0;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.nav-user-section--collapsed{padding:.75rem .5rem;align-items:center}.nav-user-row{display:flex;align-items:center;gap:.75rem;width:100%;justify-content:flex-start}.nav-user-row--collapsed{justify-content:center}.nav-user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);display:flex;align-items:center;justify-content:center;color:var(--color-text-inverse);font-weight:var(--font-weight-semibold);font-size:.9rem;flex-shrink:0;cursor:pointer;position:relative}.nav-user-info{flex:1;min-width:0}.nav-user-name{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-user-gibbits{font-size:var(--font-size-xs);color:var(--color-text-tertiary);display:flex;align-items:center;gap:.25rem}.nav-user-gibbits-dot{color:var(--color-accent)}.nav-user-business{font-size:var(--font-size-xs);color:var(--color-primary-light);display:flex;align-items:center;gap:.25rem}.nav-user-business-dot{color:var(--color-primary-light)}.nav-logout-btn{width:100%;padding:.4rem;border:1px solid var(--color-border-default);border-radius:var(--radius-default);background:var(--color-white);color:var(--color-text-tertiary);font-size:.75rem;cursor:pointer;transition:all var(--transition-default)}.nav-logout-btn:hover{background:var(--color-gray-50);border-color:var(--color-gray-300)}.nav-login-btn{width:100%;padding:.6rem 1rem;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:var(--color-text-inverse);font-size:.8rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-default);display:flex;align-items:center;justify-content:center;gap:.5rem}.nav-login-btn--collapsed{width:40px;height:40px;padding:0}.nav-login-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--color-primary-200)}@media(max-width:768px){.nav-user-section{padding:.75rem .75rem max(.9rem,env(safe-area-inset-bottom));gap:.5rem}.nav-login-btn,.nav-logout-btn{min-height:38px;font-size:.78rem;white-space:nowrap}.nav-utility-row{padding:.45rem .6rem}}.nav-utility-row{padding:.4rem .75rem;border-top:1px solid var(--color-border-light);display:flex;align-items:center;justify-content:center;gap:0;flex-shrink:0}.nav-utility-row--collapsed{flex-direction:column;padding:.4rem .25rem;gap:.25rem}.nav-utility-text{background:none;border:none;padding:.2rem .25rem;color:var(--color-text-tertiary);font-size:.68rem;cursor:pointer;transition:color var(--transition-default);white-space:nowrap}.nav-utility-text:hover{color:var(--color-text-primary);text-decoration:underline}.nav-utility-dot{color:var(--color-text-tertiary);font-size:.7rem;padding:0 .15rem;opacity:.5;-webkit-user-select:none;user-select:none}.nav-utility-row .watch-explainer-btn.nav-utility-text{background:transparent;box-shadow:none;border:none;border-radius:0;color:var(--color-text-tertiary);font-size:.68rem;font-weight:400;padding:.2rem .25rem;gap:.25rem;transform:none}.nav-utility-row .watch-explainer-btn.nav-utility-text:hover{background:transparent;color:var(--color-text-primary);box-shadow:none;transform:none;text-decoration:underline}.nav-utility-row .watch-explainer-btn.nav-utility-text .btn-icon{display:none}.nav-utility-row .watch-explainer-btn.nav-utility-text .btn-text{display:inline;font-size:.68rem}.nav-utility-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--radius-default);color:var(--color-text-tertiary);font-size:.85rem;cursor:pointer;transition:all var(--transition-default)}.nav-utility-icon-btn:hover{color:var(--color-text-primary);background:var(--color-gray-50)}.nav-logout-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1999}.nav-logout-popup{position:fixed;left:70px;bottom:100px;background:var(--color-white);border-radius:10px;padding:1rem;width:200px;box-shadow:0 4px 20px #00000026;z-index:2000;border:1px solid var(--color-border-light)}.nav-logout-arrow{position:absolute;left:-8px;bottom:20px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid var(--color-white);filter:drop-shadow(-2px 0 2px rgba(0,0,0,.1))}.nav-logout-popup-text{margin:0 0 .75rem;color:var(--color-text-primary);font-size:.85rem;font-weight:var(--font-weight-medium)}.nav-logout-popup-actions{display:flex;gap:var(--space-2)}.nav-logout-cancel-btn{flex:1;padding:.4rem .5rem;border:1px solid var(--color-border-default);border-radius:var(--radius-default);background:var(--color-white);color:var(--color-text-tertiary);font-size:.8rem;cursor:pointer;transition:background var(--transition-default)}.nav-logout-cancel-btn:hover{background:var(--color-gray-50)}.nav-logout-confirm-btn{flex:1;padding:.4rem .5rem;border:none;border-radius:var(--radius-default);background:var(--color-error);color:var(--color-text-inverse);font-size:.8rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:opacity var(--transition-default)}.nav-logout-confirm-btn:hover{opacity:.9}.nav-darkmode-section{padding:.5rem;border-top:1px solid var(--color-border-light);display:flex;flex-direction:column;align-items:center}[data-theme=dark] .nav-brand-title,[data-theme=dark] .nav-close-btn,[data-theme=dark] .nav-collapse-btn{color:#fff}[data-theme=dark] .nav-header--collapsed{background:var(--color-bg-secondary)}[data-theme=dark] .nav-user-avatar,[data-theme=dark] .nav-login-btn,[data-theme=dark] .nav-logout-confirm-btn{color:#fff}[data-theme=dark] .nav-sidebar{box-shadow:2px 0 20px #00000080;border-right:1px solid var(--color-border-default)}[data-theme=dark] .nav-logo-img{box-shadow:0 2px 12px #006d7a66}[data-theme=dark] .nav-logo-img:hover{box-shadow:0 4px 16px #006d7a8c}[data-theme=dark] .nav-user-name{color:#f0f0f3}[data-theme=dark] .nav-user-gibbits{color:var(--color-text-secondary)}[data-theme=dark] .nav-user-business{color:#fff}[data-theme=dark] .nav-utility-text{color:var(--color-text-tertiary)}[data-theme=dark] .nav-utility-text:hover{color:#fff}[data-theme=dark] .nav-utility-icon-btn{color:var(--color-text-tertiary)}[data-theme=dark] .nav-utility-icon-btn:hover{color:#fff;background:#ffffff14}[data-theme=dark] .nav-utility-row .watch-explainer-btn.nav-utility-text{color:var(--color-text-tertiary);background:transparent}[data-theme=dark] .nav-utility-row .watch-explainer-btn.nav-utility-text:hover{color:#fff;background:transparent}[data-theme=dark] .nav-logout-btn{color:var(--color-text-secondary);border-color:var(--color-border-default)}[data-theme=dark] .nav-logout-btn:hover{color:var(--color-text-primary);background:var(--color-gray-100)}[data-theme=dark] .nav-expand-btn{color:var(--color-text-secondary)}[data-theme=dark] .nav-reviews-section,[data-theme=dark] .nav-user-section,[data-theme=dark] .nav-utility-row,[data-theme=dark] .nav-darkmode-section{border-color:var(--color-border-default)}.scroll-to-top-btn{display:flex;align-items:center;justify-content:center;position:fixed;right:16px;z-index:1100;width:42px;height:42px;border-radius:50%;border:none;background:var(--color-primary, #004953);color:#fff;box-shadow:0 3px 12px #0000004d;cursor:pointer;animation:scrollBtnFadeIn .2s ease-out;transition:opacity .2s,transform .2s;-webkit-tap-highlight-color:transparent}.scroll-to-top-btn:active{transform:scale(.9)}.scroll-to-top-btn i{font-size:18px;line-height:1}@keyframes scrollBtnFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.scroll-to-top-btn{bottom:calc(70px + env(safe-area-inset-bottom,0px))}.scroll-to-top-btn--above-fab{bottom:calc(120px + env(safe-area-inset-bottom,0px))}}@media(min-width:769px){.scroll-to-top-btn{bottom:24px;right:24px}.scroll-to-top-btn--above-fab{bottom:70px}}.global-offline-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-4, 16px);background:var(--color-warning);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-default);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center;z-index:20}.global-offline-banner i{font-size:var(--font-size-base)}[data-theme=dark] .global-offline-banner{background:var(--color-warning);color:var(--color-bg-primary);border-bottom-color:var(--color-border-dark)}.g-flex{display:flex}.g-inline-flex{display:inline-flex}.g-flex-col{flex-direction:column}.g-flex-row{flex-direction:row}.g-flex-wrap{flex-wrap:wrap}.g-flex-1{flex:1}.g-flex-none{flex:none}.g-shrink-0{flex-shrink:0}.g-items-start{align-items:flex-start}.g-items-center{align-items:center}.g-items-end{align-items:flex-end}.g-items-stretch{align-items:stretch}.g-justify-start{justify-content:flex-start}.g-justify-center{justify-content:center}.g-justify-end{justify-content:flex-end}.g-justify-between{justify-content:space-between}.g-justify-around{justify-content:space-around}.g-self-start{align-self:flex-start}.g-self-center{align-self:center}.g-self-end{align-self:flex-end}.g-grid{display:grid}.g-grid-cols-2{grid-template-columns:repeat(2,1fr)}.g-grid-cols-3{grid-template-columns:repeat(3,1fr)}.g-grid-cols-4{grid-template-columns:repeat(4,1fr)}.g-gap-0{gap:0}.g-gap-1{gap:var(--space-1)}.g-gap-2{gap:var(--space-2)}.g-gap-3{gap:var(--space-3)}.g-gap-4{gap:var(--space-4)}.g-gap-5{gap:var(--space-5)}.g-gap-6{gap:var(--space-6)}.g-gap-8{gap:var(--space-8)}.g-m-0{margin:0}.g-m-1{margin:var(--space-1)}.g-m-2{margin:var(--space-2)}.g-m-3{margin:var(--space-3)}.g-m-4{margin:var(--space-4)}.g-m-auto{margin:auto}.g-mt-0{margin-top:0}.g-mt-1{margin-top:var(--space-1)}.g-mt-2{margin-top:var(--space-2)}.g-mt-3{margin-top:var(--space-3)}.g-mt-4{margin-top:var(--space-4)}.g-mb-0{margin-bottom:0}.g-mb-1{margin-bottom:var(--space-1)}.g-mb-2{margin-bottom:var(--space-2)}.g-mb-3{margin-bottom:var(--space-3)}.g-mb-4{margin-bottom:var(--space-4)}.g-ml-auto{margin-left:auto}.g-mr-auto{margin-right:auto}.g-mx-auto{margin-left:auto;margin-right:auto}.g-p-0{padding:0}.g-p-1{padding:var(--space-1)}.g-p-2{padding:var(--space-2)}.g-p-3{padding:var(--space-3)}.g-p-4{padding:var(--space-4)}.g-p-5{padding:var(--space-5)}.g-p-6{padding:var(--space-6)}.g-px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.g-px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.g-px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.g-py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.g-py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.g-py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.g-text-xs{font-size:var(--font-size-xs)}.g-text-sm{font-size:var(--font-size-sm)}.g-text-base{font-size:var(--font-size-base)}.g-text-md{font-size:var(--font-size-md)}.g-text-lg{font-size:var(--font-size-lg)}.g-text-xl{font-size:var(--font-size-xl)}.g-text-2xl{font-size:var(--font-size-2xl)}.g-text-3xl{font-size:var(--font-size-3xl)}.g-font-normal{font-weight:var(--font-weight-normal)}.g-font-medium{font-weight:var(--font-weight-medium)}.g-font-semibold{font-weight:var(--font-weight-semibold)}.g-font-bold{font-weight:var(--font-weight-bold)}.g-text-left{text-align:left}.g-text-center{text-align:center}.g-text-right{text-align:right}.g-text-primary{color:var(--color-text-primary)}.g-text-secondary{color:var(--color-text-secondary)}.g-text-tertiary{color:var(--color-text-tertiary)}.g-text-muted{color:var(--color-text-muted)}.g-text-brand{color:var(--color-primary)}.g-text-accent{color:var(--color-accent)}.g-text-success{color:var(--color-success)}.g-text-warning{color:var(--color-warning)}.g-text-error{color:var(--color-error)}.g-text-white{color:var(--color-text-inverse)}.g-uppercase{text-transform:uppercase}.g-lowercase{text-transform:lowercase}.g-capitalize{text-transform:capitalize}.g-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g-line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.g-line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.g-bg-white{background-color:var(--color-bg-primary)}.g-bg-gray-50{background-color:var(--color-gray-50)}.g-bg-gray-100{background-color:var(--color-gray-100)}.g-bg-primary{background-color:var(--color-primary)}.g-bg-primary-light{background-color:var(--color-primary-50)}.g-bg-success-light{background-color:var(--color-success-light)}.g-bg-warning-light{background-color:var(--color-warning-light)}.g-bg-error-light{background-color:var(--color-error-light)}.g-border{border:1px solid var(--color-border-default)}.g-border-0{border:none}.g-border-t{border-top:1px solid var(--color-border-light)}.g-border-b{border-bottom:1px solid var(--color-border-light)}.g-border-l{border-left:1px solid var(--color-border-light)}.g-border-r{border-right:1px solid var(--color-border-light)}.g-rounded-none{border-radius:0}.g-rounded-sm{border-radius:var(--radius-sm)}.g-rounded{border-radius:var(--radius-default)}.g-rounded-md{border-radius:var(--radius-md)}.g-rounded-lg{border-radius:var(--radius-lg)}.g-rounded-xl{border-radius:var(--radius-xl)}.g-rounded-full{border-radius:var(--radius-full)}.g-shadow-none{box-shadow:none}.g-shadow-xs{box-shadow:var(--shadow-xs)}.g-shadow-sm{box-shadow:var(--shadow-sm)}.g-shadow{box-shadow:var(--shadow-default)}.g-shadow-md{box-shadow:var(--shadow-md)}.g-shadow-lg{box-shadow:var(--shadow-lg)}.g-w-full{width:100%}.g-w-auto{width:auto}.g-h-full{height:100%}.g-h-auto{height:auto}.g-min-w-0{min-width:0}.g-min-h-0{min-height:0}.g-max-w-full{max-width:100%}.g-block{display:block}.g-inline-block{display:inline-block}.g-inline{display:inline}.g-hidden{display:none}.g-visible{visibility:visible}.g-invisible{visibility:hidden}.g-relative{position:relative}.g-absolute{position:absolute}.g-fixed{position:fixed}.g-sticky{position:sticky}.g-inset-0{top:0;right:0;bottom:0;left:0}.g-top-0{top:0}.g-right-0{right:0}.g-bottom-0{bottom:0}.g-left-0{left:0}.g-overflow-auto{overflow:auto}.g-overflow-hidden{overflow:hidden}.g-overflow-scroll{overflow:scroll}.g-overflow-x-auto{overflow-x:auto}.g-overflow-y-auto{overflow-y:auto}.g-cursor-pointer{cursor:pointer}.g-cursor-default{cursor:default}.g-cursor-not-allowed{cursor:not-allowed}.g-select-none{-webkit-user-select:none;user-select:none}.g-select-text{-webkit-user-select:text;user-select:text}.g-pointer-events-none{pointer-events:none}.g-pointer-events-auto{pointer-events:auto}.g-transition{transition:all var(--transition-default)}.g-transition-fast{transition:all var(--transition-fast)}.g-transition-slow{transition:all var(--transition-slow)}.g-transition-none{transition:none}@media(max-width:480px){.g-xs-hidden{display:none!important}.g-xs-block{display:block!important}.g-xs-flex{display:flex!important}.g-xs-flex-col{flex-direction:column!important}.g-xs-text-center{text-align:center!important}.g-xs-w-full{width:100%!important}.g-xs-gap-2{gap:var(--space-2)!important}.g-xs-gap-3{gap:var(--space-3)!important}.g-xs-p-2{padding:var(--space-2)!important}.g-xs-p-3{padding:var(--space-3)!important}.g-xs-text-sm{font-size:var(--font-size-sm)!important}.g-xs-text-xs{font-size:var(--font-size-xs)!important}}@media(max-width:768px){.g-sm-hidden{display:none!important}.g-sm-block{display:block!important}.g-sm-flex{display:flex!important}.g-sm-flex-col{flex-direction:column!important}.g-sm-flex-row{flex-direction:row!important}.g-sm-flex-wrap{flex-wrap:wrap!important}.g-sm-text-center{text-align:center!important}.g-sm-text-left{text-align:left!important}.g-sm-w-full{width:100%!important}.g-sm-gap-2{gap:var(--space-2)!important}.g-sm-gap-3{gap:var(--space-3)!important}.g-sm-gap-4{gap:var(--space-4)!important}.g-sm-p-2{padding:var(--space-2)!important}.g-sm-p-3{padding:var(--space-3)!important}.g-sm-p-4{padding:var(--space-4)!important}.g-sm-px-2{padding-left:var(--space-2)!important;padding-right:var(--space-2)!important}.g-sm-px-3{padding-left:var(--space-3)!important;padding-right:var(--space-3)!important}.g-sm-py-2{padding-top:var(--space-2)!important;padding-bottom:var(--space-2)!important}.g-sm-py-3{padding-top:var(--space-3)!important;padding-bottom:var(--space-3)!important}.g-sm-m-0{margin:0!important}.g-sm-mt-2{margin-top:var(--space-2)!important}.g-sm-mt-3{margin-top:var(--space-3)!important}.g-sm-mb-2{margin-bottom:var(--space-2)!important}.g-sm-mb-3{margin-bottom:var(--space-3)!important}.g-sm-text-sm{font-size:var(--font-size-sm)!important}.g-sm-text-base{font-size:var(--font-size-base)!important}.g-sm-items-start{align-items:flex-start!important}.g-sm-items-center{align-items:center!important}.g-sm-justify-start{justify-content:flex-start!important}.g-sm-justify-center{justify-content:center!important}.g-sm-justify-between{justify-content:space-between!important}.g-sm-order-first{order:-1!important}.g-sm-order-last{order:999!important}.g-sm-grid-cols-1{grid-template-columns:1fr!important}.g-sm-grid-cols-2{grid-template-columns:repeat(2,1fr)!important}.g-sm-overflow-x-auto{overflow-x:auto!important}.g-sm-min-w-0{min-width:0!important}}@media(min-width:769px){.g-md-hidden{display:none!important}.g-md-block{display:block!important}.g-md-flex{display:flex!important}.g-md-flex-row{flex-direction:row!important}.g-md-flex-col{flex-direction:column!important}.g-md-grid{display:grid!important}.g-md-grid-cols-2{grid-template-columns:repeat(2,1fr)!important}.g-md-grid-cols-3{grid-template-columns:repeat(3,1fr)!important}.g-md-w-auto{width:auto!important}.g-md-gap-4{gap:var(--space-4)!important}.g-md-gap-6{gap:var(--space-6)!important}}@media(min-width:1025px){.g-lg-hidden{display:none!important}.g-lg-block{display:block!important}.g-lg-flex{display:flex!important}.g-lg-grid-cols-3{grid-template-columns:repeat(3,1fr)!important}.g-lg-grid-cols-4{grid-template-columns:repeat(4,1fr)!important}}@media(min-width:1201px){.g-xl-hidden{display:none!important}.g-xl-block{display:block!important}.g-xl-flex{display:flex!important}.g-xl-grid-cols-4{grid-template-columns:repeat(4,1fr)!important}}@media(max-width:768px){.g-touch-target{min-height:44px;min-width:44px}.g-touch-padding{padding:var(--space-3) var(--space-4)}}.g-container{width:100%;max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media(max-width:768px){.g-container{padding-left:var(--space-3);padding-right:var(--space-3)}}@media(max-width:480px){.g-container{padding-left:var(--space-2);padding-right:var(--space-2)}}.g-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}i.bi{margin-right:.35em}i.bi:only-child,i.bi:last-child,button i.bi:only-child{margin-right:0}.g-icon-xs{font-size:.75rem}.g-icon-sm{font-size:.875rem}.g-icon-md{font-size:1rem}.g-icon-lg{font-size:1.25rem}.g-icon-xl{font-size:1.5rem}.g-icon-2xl{font-size:2rem}.g-icon-center{display:inline-flex;align-items:center;gap:var(--space-2)}[data-theme=dark] .g-text-brand{color:#fff}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:56px;z-index:1001;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);box-shadow:var(--shadow-lg);align-items:center;justify-content:space-between;padding:0 var(--space-2)}.mobile-header-title{font-size:var(--font-size-lg);font-weight:800;color:var(--color-text-inverse);letter-spacing:-.02em;position:absolute;left:50%;transform:translate(-50%);text-align:center;max-width:calc(100% - 120px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.mobile-help-btn{display:none;width:44px;height:44px;border-radius:var(--radius-md);background:#ffffff26;border:none;cursor:pointer;align-items:center;justify-content:center;transition:all var(--transition-default)}.mobile-help-btn:hover,.mobile-help-btn:active{background:#ffffff40}.mobile-help-btn i{color:var(--color-text-inverse);font-size:var(--font-size-xl)}@keyframes helpGlow{0%,to{box-shadow:0 0 #c9a22700}50%{box-shadow:0 0 8px 2px #c9a22766}}.mobile-help-btn{animation:helpGlow 3s ease-in-out infinite}.mobile-help-btn:hover{animation:none;background:#c9a2274d}.mobile-header-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;min-width:44px;position:relative;z-index:2}.mobile-invite-btn{animation:none!important}.mobile-invite-btn:hover{background:#ffffff40}.mobile-bell-btn{position:relative}.mobile-header-badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#ef4444;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.mobile-explore-tip-anchor{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:2}.mobile-explore-tip-popover{position:absolute;top:calc(100% + 8px);left:0;width:min(320px,calc(100vw - 20px));background:var(--color-bg-primary);border:1px solid var(--color-border-default, rgba(148, 163, 184, .35));border-radius:12px;box-shadow:var(--shadow-xl);padding:12px}.mobile-explore-tip-popover p{margin:0 0 10px;color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:1.35}.mobile-explore-tip-actions{display:flex;gap:8px}.mobile-explore-tip-store-btn{flex:1;border:1px solid var(--color-border-default, #d1d5db);border-radius:10px;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:600;padding:8px 10px;cursor:pointer}.mobile-explore-info-btn{background:transparent!important;border:none!important;box-shadow:none!important}.mobile-explore-info-btn:hover,.mobile-explore-info-btn:active{background:transparent!important}.mobile-explore-info-btn i{color:#d8a444!important}.mobile-explore-filter-btn{background:transparent!important;border:none!important;box-shadow:none!important;position:relative}.mobile-explore-filter-btn:hover,.mobile-explore-filter-btn:active{background:transparent!important}.mobile-explore-filter-btn i{color:#fff!important}.mobile-explore-filter-badge{position:absolute;top:2px;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#22c55e;color:#03150a;font-size:9px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.65);pointer-events:none}@media(max-width:768px){:root{--mobile-header-offset: calc(56px + env(safe-area-inset-top)) ;--mobile-tab-bar-safe-bottom: min(env(safe-area-inset-bottom, 0px), 8px);--mobile-tab-bar-height: calc(56px + var(--mobile-tab-bar-safe-bottom, 0px))}.mobile-header{display:flex;padding-top:env(safe-area-inset-top);height:var(--mobile-header-offset)}.mobile-header-spacer{width:44px;flex-shrink:0}.mobile-back-btn{display:flex!important;animation:none!important}.mobile-back-btn i{font-size:20px!important}.mobile-help-btn{display:flex}.main-content{margin-left:0!important;width:100%!important;padding-top:var(--mobile-header-offset, 60px);padding-bottom:var(--mobile-tab-bar-height, 56px)}.sidebar-collapsed .main-content{margin-left:0!important;width:100%!important}}@media(max-width:768px){.breadcrumb-nav,.nav-breadcrumb,.edp-breadcrumb{display:none!important}}@media(max-width:768px){.page-header,.explore-header,.groups-page-header,.feed-header,.events-page-header,.about-page-header{flex-direction:column;align-items:flex-start!important;gap:var(--space-3);padding:var(--space-3)!important;margin:var(--space-2)!important;border-radius:var(--radius-md)!important}.page-header h1,.page-header h2,.explore-header h2,.groups-page-header h2,.feed-header h2,.events-page-header h2,.about-page-header h2{font-size:var(--font-size-lg)!important}.page-header-right,.explore-header-right,.groups-header-right,.events-header-right{width:100%;flex-wrap:wrap;gap:var(--space-2)}}@media(max-width:768px){.content-section,.events-content-section,.about-content{padding:var(--space-4)!important;margin:var(--space-2)!important;border-radius:var(--radius-md)!important}.feed-content-section{padding:6px!important;margin:var(--space-2)!important;border-radius:var(--radius-md)!important}}@media(max-width:1024px){.explore-layout,.plans-comparison{grid-template-columns:1fr!important;gap:var(--space-4)!important}.leaderboards-grid{grid-template-columns:1fr!important}}@media(max-width:768px){.groups-grid{padding-left:var(--space-2)!important;padding-right:var(--space-2)!important;gap:var(--space-3)!important}.group-card,.create-group-box{flex:0 0 100%!important;height:auto!important;min-height:200px}}@media(max-width:480px){.group-card,.create-group-box{min-height:180px}.group-thumbnail{height:120px!important}.group-content{padding:var(--space-3)!important}.group-name{font-size:var(--font-size-lg)!important}}@media(max-width:768px){.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.members-table{min-width:500px}.members-table th,.members-table td{padding:var(--space-2)!important;font-size:var(--font-size-xs)!important}}@media(max-width:768px){.modal-overlay{padding:var(--space-2)!important;align-items:flex-start!important}.modal-content{width:100%!important;max-width:none!important;min-width:0!important;max-height:calc(100vh - var(--space-4))!important;margin:var(--space-2) auto!important;border-radius:var(--radius-lg)!important}.auth-modal{width:100%!important;max-width:none!important;margin:var(--space-2)!important;border-radius:var(--radius-lg)!important}.modal-header{padding:var(--space-3)!important}.modal-header h2{font-size:var(--font-size-base)!important}.auth-form{padding:var(--space-4)!important}.form-actions{flex-direction:column!important;gap:var(--space-2)!important}.form-actions button{width:100%!important}}@media(max-width:480px){.venue-preview-overlay{padding:0!important;align-items:flex-end!important}.venue-preview-modal{max-height:90vh!important;border-radius:var(--radius-xl) var(--radius-xl) 0 0!important}}@media(max-width:768px){.form-group{margin-bottom:var(--space-3)!important}.form-group label{font-size:var(--font-size-sm)!important}.form-input,.form-group input,.form-group select,.form-group textarea{font-size:16px!important;padding:var(--space-3)!important}.checkbox-group{padding:var(--space-2)!important}}@media(max-width:768px){.btn-primary,.btn-secondary,.button-primary,.button-secondary{padding:var(--space-2-5) var(--space-4)!important;font-size:var(--font-size-sm)!important}.modal-actions .button,.form-actions button{flex:1!important}}@media(max-width:768px){.restaurant-card{padding:var(--space-3)!important}.restaurant-card.enhanced{flex-wrap:wrap!important;gap:var(--space-2)!important}.restaurant-main-info{flex:1 1 100%!important}.restaurant-stats-row{width:100%!important;justify-content:space-between!important;margin-top:var(--space-2)!important}.event-card{padding:var(--space-3)!important}.plan-card{padding:var(--space-4)!important}}@media(max-width:768px){.map-section{min-height:300px!important}.map-container{height:300px!important;min-height:300px!important}.restaurant-list{max-height:350px!important}}@media(max-width:768px){.leaderboard-page{padding:var(--space-2)!important}.leaderboards-grid{margin:0 var(--space-2)!important;gap:var(--space-3)!important}}@media(max-width:768px){.venue-subscription-page{padding:var(--space-3) var(--space-2)!important}.venue-info-card{flex-direction:column!important;text-align:center!important;padding:var(--space-4)!important}.subscription-hero h2{font-size:var(--font-size-xl)!important}.plan-price .price{font-size:var(--font-size-2xl)!important}.details-grid{grid-template-columns:1fr 1fr!important;gap:var(--space-2)!important}.faq-grid{grid-template-columns:1fr!important}}@media(max-width:480px){.details-grid{grid-template-columns:1fr!important}.pricing-row{flex-wrap:wrap!important;gap:var(--space-2)!important}.pricing-amount{text-align:left!important;margin-right:0!important}.option-content{flex-wrap:wrap!important;gap:var(--space-2)!important}.option-price{width:100%!important;text-align:left!important;padding-left:2.5rem!important}}@media(max-width:768px){.calendar-view{padding:var(--space-3)!important}.calendar-grid{font-size:var(--font-size-xs)!important}.calendar-day{min-height:80px!important;padding:var(--space-1)!important}.calendar-weekday{padding:var(--space-2)!important;font-size:var(--font-size-xs)!important}.calendar-event{padding:var(--space-1)!important}.calendar-event-time,.calendar-event-title{font-size:.65rem!important}}@media(max-width:480px){.calendar-day{min-height:60px!important}.calendar-event-title{display:none!important}}@media(max-width:768px){.sort-toggle{flex:1!important}.sort-option{flex:1!important;justify-content:center!important;padding:var(--space-2)!important}.filter-toggle-btn{flex:1!important;justify-content:center!important}.tag-filter-panel{padding:var(--space-3)!important;margin:0 var(--space-2) var(--space-2)!important}.tag-bubbles{gap:var(--space-1-5)!important}.tag-bubble{padding:var(--space-1-5) var(--space-3)!important;font-size:var(--font-size-xs)!important}.tag-dropdown-group{flex-direction:column!important;width:100%!important}.tag-dropdown{width:100%!important;max-width:none!important}.view-selector,.feed-view-selector,.events-view-selector{width:100%!important}.view-selector-option,.view-option,.events-view-option{flex:1!important;justify-content:center!important;padding:var(--space-2) var(--space-2)!important;font-size:var(--font-size-xs)!important}.location-search-container{width:100%!important;order:-1!important}.location-search-input{flex:1!important;width:100%!important}}@media(max-width:768px){.header-stats{gap:var(--space-2)!important;flex-wrap:wrap!important}.header-stat{padding:var(--space-1-5) var(--space-2)!important}.header-stat-value{font-size:var(--font-size-lg)!important}.header-stat-label{font-size:.65rem!important}.preview-ranks-grid{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:480px){.stat-item .stat-label{font-size:.5rem!important}.stat-item .stat-value{font-size:var(--font-size-xs)!important}}@media(max-width:768px){.page-subtitle{font-size:var(--font-size-xs)!important}.empty-state h3,.empty-state h4{font-size:var(--font-size-lg)!important}.empty-state p{font-size:var(--font-size-sm)!important}.empty-state-icon,.empty-state i{font-size:2.5rem!important}}@media(max-width:768px){::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:2px}.horizontal-scroll{scrollbar-width:none;-ms-overflow-style:none}.horizontal-scroll::-webkit-scrollbar{display:none}}@supports (padding-top: env(safe-area-inset-top)){.mobile-header{padding-top:env(safe-area-inset-top);height:calc(56px + env(safe-area-inset-top));padding-left:calc(var(--space-2) + env(safe-area-inset-left));padding-right:calc(var(--space-2) + env(safe-area-inset-right))}@media(max-width:768px){.main-content{padding-top:calc(60px + env(safe-area-inset-top));padding-bottom:var(--mobile-tab-bar-height, 56px)}}}@media(max-width:768px){:root[data-mobile-web=true]{--mobile-page-gutter: 10px;--mobile-surface-radius: 14px}.app-mobile-shell{min-height:100dvh}.main-content.main-content--mobile-shell{min-height:calc(100dvh - var(--mobile-header-offset, 60px) - var(--mobile-tab-bar-height, 56px));padding-bottom:var(--mobile-tab-bar-height, 56px)}.mobile-header{box-shadow:0 6px 20px #0000002e}.mobile-header-title{font-size:1rem;font-weight:700;letter-spacing:0}.feed-page,.social-page,.notifications-page,.leaderboard-page,.explore-page,.my-venues-page,.user-profile-page,.venue-profile-page,.event-detail-page,.gd-page,.checkin-page{padding-left:0!important;padding-right:0!important}}@media print{.sidebar-navigation,.mobile-header,.mobile-help-btn,.mobile-tab-bar{display:none!important}.main-content{margin-left:0!important;width:100%!important;padding:0!important}}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-secondary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}::selection{background-color:var(--color-primary);color:var(--color-white);text-shadow:none}::-moz-selection{background-color:var(--color-primary);color:var(--color-white);text-shadow:none}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-default)}a:hover{color:var(--color-primary-light);text-decoration:underline}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base)}p{margin:0 0 var(--space-3)}p:last-child{margin-bottom:0}ul,ol{margin:0;padding-left:var(--space-5)}img{max-width:100%;height:auto;display:block}table{border-collapse:collapse;width:100%}code{font-family:var(--font-family-mono);font-size:.9em;background-color:var(--color-gray-100);padding:2px 6px;border-radius:var(--radius-sm)}pre{margin:0;padding:var(--space-4);background-color:var(--color-gray-900);color:var(--color-gray-100);border-radius:var(--radius-md);overflow-x:auto}pre code{background:none;padding:0}hr{border:none;border-top:1px solid var(--color-border-light);margin:var(--space-4) 0}[data-theme=dark] a{color:#fff}[data-theme=dark] a:hover{color:var(--color-text-secondary)}:root{--primary-color: var(--color-primary);--background-color: var(--color-bg-secondary);--text-color: var(--color-text-primary);--error-color: var(--color-error);--success-color: var(--color-success);--warning-color: var(--color-warning);--accent-color: var(--color-accent);--border-color: var(--color-border-light);--hover-bg: var(--color-bg-hover)}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background-color);color:var(--text-color);min-height:100vh;min-height:100dvh}html,body{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}@supports (height: 100dvh){html,body{height:100dvh}}@media(max-width:768px){.modal-overlay,.pending-modal-overlay,.type-selector-modal{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.modal-content,.pending-modal,.review-modal,.type-selector-content{max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch}input:focus,textarea:focus,select:focus{scroll-margin-bottom:150px}body.modal-open{position:relative;overflow:auto}}.banner{position:fixed;top:0;left:0;right:0;background:var(--primary-color);height:60px;z-index:1000;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;padding:0 2rem;color:var(--color-text-inverse)}.banner,.banner *,.banner a,.banner button,.banner span,.banner p{color:var(--color-text-inverse)}.banner .welcome-text{color:var(--color-text-inverse);display:flex;align-items:center;gap:var(--space-3);font-weight:var(--font-weight-medium)}.banner>.banner-content{display:flex;justify-content:space-between;align-items:center;height:100%;max-width:1400px;margin:0 auto;padding:0 2rem}.logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}.logo-image{height:32px;width:auto}.logo-text{font-size:1.5rem;font-weight:700;color:#fff}.logo-text .highlight{color:var(--accent-color)}.gibbits-text{display:flex;align-items:center}.gibbits-text h1{margin:0;color:#fff;font-size:1.5rem;font-weight:700}.gibbits-text h1 .highlight,.gibbits-text .highlight,.banner .highlight{color:var(--accent-color)!important}.banner-login-button{padding:.5rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.banner-login-button:hover{background-color:var(--color-primary-dark)}.login-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border:2px solid white;border-radius:4px;transition:all .2s}.login-link:hover{background-color:#fff;color:var(--primary-color)}.banner .login-button,.banner .logout-button{padding:.5rem 1rem;background:transparent;color:var(--color-text-inverse)!important;border:2px solid var(--color-white);border-radius:var(--radius-default);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.banner .login-button:hover,.banner .logout-button:hover{background:var(--color-white);color:var(--primary-color)!important}.leaderboard-container{background:var(--color-bg-primary);border-radius:12px;padding:2rem;margin:0 auto;max-width:1000px;box-shadow:var(--shadow-md)}.leaderboard-container h2{color:var(--primary-color);font-size:2rem;margin-bottom:2rem;text-align:center}.leaderboard-table{width:100%;background:var(--color-bg-primary);border-radius:8px;border-collapse:collapse;overflow:hidden;font-size:.9rem}.leaderboard-table th{background-color:var(--primary-color);color:#fff;padding:.75rem;text-align:left}.leaderboard-table td{padding:.75rem;border-bottom:1px solid var(--border-color)}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-table tr:hover{background-color:var(--color-gray-50)}.venue-list{margin-bottom:40px;padding:20px;background:var(--color-bg-primary);border-radius:8px;box-shadow:var(--shadow-sm)}.venue-button{display:block;width:200px;margin:20px 0;background-color:var(--primary-color);color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:16px}.venue-button:disabled{background-color:var(--color-gray-300);cursor:not-allowed}.venues-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}.venue-card{background:var(--color-bg-primary);padding:16px;border-radius:8px;box-shadow:var(--shadow-default)}.venue-card h3{margin:0 0 8px;color:var(--primary-color)}.venue-card p{margin:4px 0;color:var(--text-color)}.error-message{color:var(--error-color);text-align:center;margin-bottom:var(--space-4);padding:var(--space-2);background-color:var(--color-error-light);border-radius:var(--radius-default)}.app{min-height:100vh;display:flex;flex-direction:column;width:100%;max-width:none}.section{margin-bottom:40px}.section h2{color:var(--text-color);margin-bottom:20px}main{display:flex;flex-direction:column;gap:20px}.tag-analysis{margin:20px 0;padding:20px;background:var(--color-bg-primary);border-radius:8px;box-shadow:var(--shadow-sm)}.analysis-button{display:block;width:250px;margin:20px 0;background-color:var(--primary-color);color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:16px}.analysis-button:disabled{background-color:var(--color-gray-300);cursor:not-allowed}.download-button{margin:10px 0;background-color:var(--success-color);color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.tag-table{width:100%;margin-top:20px;border-collapse:collapse}.tag-table th,.tag-table td{padding:8px;text-align:left;border-bottom:1px solid var(--border-color)}.tag-table th{background-color:var(--primary-color);color:#fff}.results-container{margin-top:20px}.button-group{display:flex;gap:10px;margin-bottom:20px}.toggle-button{background-color:var(--color-gray-500);color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin:10px 0}.json-display{background-color:var(--color-gray-50);padding:15px;border-radius:4px;overflow-x:auto;white-space:pre-wrap;font-family:monospace;font-size:14px}.display-options{margin:10px 0}.place-details{background-color:var(--color-bg-primary);padding:20px;border-radius:8px;box-shadow:var(--shadow-sm)}.restaurant-table{width:100%;margin-top:20px;border-collapse:collapse;background:var(--color-bg-primary);box-shadow:var(--shadow-sm);border-radius:8px}.restaurant-table th,.restaurant-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border-color)}.restaurant-table th{background-color:var(--primary-color);color:#fff}.raw-data-button{background-color:var(--color-gray-500);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer}.raw-data-button:hover{background-color:var(--color-gray-600)}.login-container{padding-top:64px;min-height:100%;min-height:100dvh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);overflow-y:auto;-webkit-overflow-scrolling:touch}.login-card{background:var(--color-bg-primary);padding:2rem;border-radius:12px;box-shadow:var(--shadow-md);width:100%;max-width:400px;margin:1rem}.login-title{text-align:center;color:var(--primary-color);font-size:1.5rem;margin-bottom:1.5rem}.input-group{margin-bottom:1rem}.input-group input{width:100%;padding:.75rem;border:1px solid var(--color-border-default);border-radius:4px;font-size:1rem}.login-button{width:100%;padding:.75rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.login-button:disabled{opacity:.7;cursor:not-allowed}.user-info{display:flex;align-items:center;gap:1rem;font-size:.9rem}.logout-button{padding:.5rem 1rem;background-color:var(--color-error);color:#fff;border:none;border-radius:4px;cursor:pointer}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-content{background:transparent;padding:20px;border-radius:12px;max-height:90vh;max-height:90dvh;overflow-y:auto}.main-content{margin-top:10px;padding:0;width:100%;flex:1;box-sizing:border-box;max-width:none}.leaderboards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:0 1rem 1rem;width:100%;box-sizing:border-box;margin:0;max-width:none}.leaderboard-cell{background:var(--color-bg-primary);border-radius:8px;padding:5px;box-shadow:var(--shadow-default);margin-bottom:1rem}.leaderboard-cell h3{color:var(--primary-color);font-size:1.2rem;margin-bottom:1rem;text-align:center}.filter-bubbles{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:.5rem;background:var(--color-gray-50);border-radius:8px}.filter-bubble{padding:.4rem 1rem;border-radius:20px;border:1px solid var(--primary-color);background:var(--color-bg-primary);color:var(--primary-color);font-size:.9rem;cursor:pointer;transition:all .2s ease}.filter-bubble:hover{background:var(--color-primary-50)}.filter-bubble.active{background:var(--primary-color);color:#fff}.leaderboard-table-container{overflow-x:auto;margin-top:1rem;padding:5px}.leaderboard-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border-color);font-size:.85rem}.leaderboard-table th{background-color:var(--primary-color);color:#fff;padding:.5rem .75rem;text-align:left;font-size:.85rem}@media(max-width:1024px){.leaderboards-grid{grid-template-columns:1fr;padding:1rem}.leaderboard-cell{padding:1rem}}@media(max-width:768px){.filter-bubbles{gap:.3rem}.filter-bubble{padding:.3rem .8rem;font-size:.8rem}}.loading-more{grid-column:1 / -1;text-align:center;padding:1rem;color:var(--primary-color);font-weight:500}.leaderboard-table-container{max-height:300px;overflow-y:auto;position:relative}.leaderboard-table thead{position:sticky;top:0;background:var(--color-bg-primary);z-index:1}.add-template{cursor:pointer;display:flex;justify-content:center;align-items:center;background:var(--color-bg-primary);transition:all .3s ease;border:2px dashed var(--primary-color);border-radius:8px}.add-template:hover{background:var(--color-bg-primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.add-content{text-align:center;color:var(--primary-color)}.add-icon{font-size:3rem;font-weight:200;margin-bottom:.5rem}.type-selector-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px}.type-selector-content{background:var(--color-bg-primary);padding:2rem;border-radius:12px;box-shadow:var(--shadow-md);width:90%;max-width:400px;max-height:90vh;max-height:90dvh;overflow-y:auto}.type-selector-content h3{text-align:center;margin-bottom:1.5rem;color:var(--primary-color)}.type-buttons{display:flex;gap:1rem;margin-bottom:1.5rem}.type-buttons button{flex:1;padding:1rem;border:none;border-radius:8px;background:var(--primary-color);color:#fff;cursor:pointer;transition:background-color .2s ease}.type-buttons button:hover{background:var(--color-primary-dark)}.close-button{width:100%;padding:.75rem;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-primary);color:var(--text-color);cursor:pointer;transition:all .2s ease}.close-button:hover{background:var(--color-gray-100)}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding:5px;margin-bottom:5px}.leaderboard-header h3{margin:0;padding:0;font-size:1.1rem}.remove-button{background:none;border:none;color:var(--color-gray-400);font-size:var(--font-size-xl);cursor:pointer;padding:.2rem .5rem;transition:color var(--transition-fast)}.remove-button:hover{color:var(--color-error)}.load-more-button{width:100%;padding:.75rem;margin-top:1rem;background:none;border:1px solid var(--primary-color);color:var(--primary-color);border-radius:8px;cursor:pointer;transition:all .2s ease}.load-more-button:hover{background:var(--primary-color);color:#fff}.load-more-button:disabled{opacity:.5;cursor:not-allowed}.tag-filter{margin-bottom:1rem;padding:.5rem;background:var(--color-gray-50);border-radius:8px}.tag-filter-header{margin-bottom:.5rem;font-weight:500}.tag-bubbles{display:flex;flex-wrap:wrap;gap:.5rem}.tag-bubble{padding:.4rem 1rem;border-radius:20px;border:1px solid var(--primary-color);background:var(--color-bg-primary);color:var(--primary-color);font-size:.85rem;cursor:pointer;transition:all .2s ease}.tag-bubble:hover{background:var(--color-primary-50)}.tag-bubble.active{background:var(--primary-color);color:#fff}.selected-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.remove-tag{background:none;border:none;color:#fff;cursor:pointer;padding:0 .25rem;font-size:1.1rem;line-height:1}.filters-section{margin-bottom:1rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.tag-error{color:var(--error-color);font-size:var(--font-size-sm);margin:var(--space-2) 0;padding:var(--space-2);background-color:var(--color-error-light);border-radius:var(--radius-default)}.tag-loading{color:var(--primary-color);text-align:center;padding:1rem}.auth-buttons{display:flex;gap:1rem}.auth-button{padding:.5rem 1rem;border:2px solid white;background:transparent;color:#fff;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.auth-button:hover{background:#fff;color:var(--primary-color)}.tab-container{display:flex;gap:1rem;height:100%;max-width:1400px;margin:0 auto;padding:0 2rem}.tab-navigation{position:fixed;top:60px;left:0;right:0;background:var(--color-bg-primary);border-bottom:1px solid var(--border-color);height:48px;z-index:900;box-sizing:border-box}.tab{padding:0 1.5rem;color:var(--text-color);text-decoration:none;border-bottom:2px solid transparent;font-weight:500;transition:all .2s ease;display:flex;align-items:center;height:100%}.tab:hover{color:var(--primary-color)}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.title-edit-form input{font-size:1.17em;font-weight:700;padding:.25rem .5rem;border:1px solid var(--primary-color);border-radius:4px;width:100%}.leaderboard-header h3{cursor:pointer;padding:.25rem .5rem;border:1px solid transparent;border-radius:4px}.leaderboard-header h3:hover{background:var(--color-gray-100)}.collapsible-filter{border-bottom:none;margin:0;padding:0}.filter-header{display:flex;align-items:center;padding:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--text-color);background:var(--color-gray-50);border-bottom:none}.filter-header:hover{background:var(--color-gray-50)}.filter-header .arrow{margin-right:.5rem;transition:transform .2s ease}.filter-header .arrow.expanded{transform:rotate(90deg)}.filter-content{overflow:hidden;transition:max-height .3s ease-out;max-height:0}.filter-content.expanded{max-height:500px}.tag-filter-container{border-bottom:none}.selected-tags-container{padding:.5rem;background:var(--color-bg-primary);border-bottom:1px solid var(--border-color)}.selected-tags{display:flex;flex-wrap:wrap;gap:.5rem}.selected-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .75rem;background:var(--primary-color);color:#fff;border-radius:16px;font-size:.85rem}.remove-tag{background:none;border:none;color:#fff;cursor:pointer;padding:0;font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%}.remove-tag:hover{background:#fff3}.admin-content{width:100%;padding:20px;box-sizing:border-box}.admin-sections{width:100%;display:grid;gap:1rem}.admin-section{width:100%;background:var(--color-bg-primary);border-radius:4px;padding:1rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.admin-tabs{width:100%;display:flex;gap:.5rem;border-bottom:1px solid var(--border-color);padding:20px 20px .5rem;margin-bottom:1rem}.admin-tab{padding:.5rem 1rem;border:none;background:none;cursor:pointer;font-size:1rem;color:var(--text-color);border-bottom:2px solid transparent}.admin-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.admin-content,.admin-sections,.admin-section,.admin-tabs{max-width:none;margin-left:0;margin-right:0}@media(max-width:768px){.admin-content{padding:.25rem}}.admin-content h2{padding:0 20px;margin-bottom:1rem}.add-column-form{background:var(--color-bg-primary);padding:1.5rem;border-radius:4px;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:0;font-weight:500}.form-group input,.form-group select{width:100%;padding:.5rem;border:1px solid var(--color-border-default);border-radius:4px;font-size:.9rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.form-actions button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:500}.form-actions button:first-child{background:var(--primary-color);color:#fff}.form-actions button:last-child{background:var(--color-gray-100);color:var(--text-color)}.ag-theme-alpine{--ag-header-height: 40px;--ag-header-foreground-color: var(--text-color);--ag-header-background-color: var(--color-gray-50);--ag-header-cell-hover-background-color: var(--color-gray-100);--ag-row-hover-color: var(--color-gray-50);--ag-selected-row-background-color: var(--color-primary-50);--ag-font-size: var(--font-size-base);--ag-font-family: var(--font-family-sans)}.ag-theme-alpine .ag-cell{padding:8px;line-height:1.4}.ag-theme-alpine .ag-header-cell{font-weight:600}.ag-theme-alpine .ag-cell-wrap-text{word-break:break-word;white-space:normal;line-height:1.4}.admin-section{height:calc(100vh - 150px);padding:1rem;display:flex;flex-direction:column}.collection-header{margin-bottom:1rem}.page-container{padding:2rem;max-width:1200px;margin:0 auto}.content-section{background:var(--color-bg-primary);border-radius:8px;padding:22px;box-shadow:var(--shadow-default)}.section-header{margin:0;padding:0}.section-header h2{color:var(--primary-color);font-size:1.5rem;margin:0}.coming-soon-message{text-align:center;font-size:var(--font-size-lg);color:var(--color-text-secondary);padding:var(--space-8) 0}@media(max-width:768px){input:focus,textarea:focus,select:focus,[contenteditable=true]:focus{scroll-margin-bottom:200px;scroll-margin-top:100px}.page-container,.content-section,.admin-content,.leaderboard-container{overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-overlay>*,.type-selector-modal>*{margin:auto}form{overflow-y:visible}.login-card{max-height:90vh;max-height:90dvh;overflow-y:auto}}[data-theme=dark] .leaderboard-container,[data-theme=dark] .leaderboard-cell,[data-theme=dark] .content-section,[data-theme=dark] .venue-card,[data-theme=dark] .venue-list,[data-theme=dark] .login-card,[data-theme=dark] .type-selector-content,[data-theme=dark] .admin-section,[data-theme=dark] .add-column-form,[data-theme=dark] .tag-analysis,[data-theme=dark] .place-details,[data-theme=dark] .restaurant-table{border:1px solid var(--color-border-default)}[data-theme=dark] .input-group input,[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .title-edit-form input{background-color:#2a2a2e;color:var(--color-text-primary);border-color:#4a4a52}[data-theme=dark] .input-group input:focus,[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus{background-color:#32323a;border-color:#6a6a72;box-shadow:0 0 0 2px #ffffff14}[data-theme=dark] .modal-overlay,[data-theme=dark] .type-selector-modal{background-color:#000000e6}[data-theme=dark] .leaderboard-table th,[data-theme=dark] .tag-table th,[data-theme=dark] .restaurant-table th{background-color:var(--color-primary-dark)}[data-theme=dark] .filter-bubble,[data-theme=dark] .tag-bubble{border-color:var(--color-border-default);color:var(--color-text-primary)}[data-theme=dark] .filter-bubble.active,[data-theme=dark] .tag-bubble.active{color:#fff}[data-theme=dark] .add-template{border-color:var(--color-primary-light)}[data-theme=dark] .ag-theme-alpine{--ag-background-color: var(--color-bg-primary);--ag-header-background-color: var(--color-bg-secondary);--ag-odd-row-background-color: var(--color-bg-secondary);--ag-row-border-color: var(--color-border-default);--ag-border-color: var(--color-border-default);--ag-header-foreground-color: var(--color-text-primary);--ag-foreground-color: var(--color-text-primary);--ag-row-hover-color: var(--color-bg-tertiary);--ag-selected-row-background-color: var(--color-primary-100)}[data-theme=dark] .close-button{border-color:var(--color-border-default)}[data-theme=dark] .load-more-button{border-color:var(--color-border-default);color:var(--color-text-primary)}[data-theme=dark] .load-more-button:hover{background:#ffffff1a;color:#fff}[data-theme=dark] .admin-tabs,[data-theme=dark] .leaderboard-header,[data-theme=dark] .filters-section{border-bottom-color:var(--color-border-default)}[data-theme=dark] .auth-button:hover{background:#ffffff26;color:#fff}[data-theme=dark] .login-link:hover{background-color:#ffffff26;color:#fff}body,html{height:100%;margin:0;padding:0;overflow-y:auto!important;-webkit-overflow-scrolling:touch;background-color:var(--color-bg-secondary);color:var(--color-text-primary)}@supports (height: 100dvh){body,html{min-height:100dvh}}#root,.app{height:auto;min-height:100vh;display:flex;flex-direction:column;overflow:visible;background-color:var(--color-bg-secondary)}@supports (min-height: 100dvh){#root,.app{min-height:100dvh}}.content-container{flex:1;display:flex;overflow:visible}.main-content{flex:1;margin-left:250px;padding:0;overflow:visible!important;background-color:var(--color-bg-secondary);transition:margin-left var(--transition-default);margin-top:0;height:auto;width:calc(100% - 250px)}@supports (min-height: 100dvh){.main-content{min-height:100dvh}}.main-content.main-content--admin{height:100dvh!important;max-height:100dvh!important;min-height:0!important;overflow:hidden!important;margin-top:0!important;display:flex!important;flex-direction:column!important}.sidebar-collapsed .main-content{margin-left:60px;width:calc(100% - 60px)}.admin-page{height:auto!important;overflow:visible!important;min-height:calc(100vh - 85px)}@supports (min-height: calc(100dvh - 85px)){.admin-page{min-height:calc(100dvh - 85px)}}@media(max-width:768px){.main-content{margin-left:0;width:100%;height:auto;min-height:100vh;min-height:100dvh}.sidebar-collapsed .main-content{margin-left:0;width:100%}.content-container{overflow-y:visible}}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}:root{--app-shell-left-offset: 0px}html.no-transition,html.no-transition *,html.no-transition *:before,html.no-transition *:after{transition:none!important}html,html *,html *:before,html *:after{transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}.venue-link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.venue-link:hover{color:var(--color-primary-dark);text-decoration:underline}[data-theme=dark] .venue-link{color:#fff}[data-theme=dark] .venue-link:hover{color:var(--color-text-secondary)}[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=submit]):not([type=button]),[data-theme=dark] textarea,[data-theme=dark] select{background-color:#2a2a2e;border-color:#4a4a52;color:var(--color-text-primary)}[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=submit]):not([type=button]):focus,[data-theme=dark] textarea:focus,[data-theme=dark] select:focus{background-color:#32323a;border-color:#6a6a72;box-shadow:0 0 0 2px #ffffff14}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#8a8a92}@media(max-width:768px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=image]):not([type=reset]),textarea,select,[contenteditable=true]{font-size:16px!important}}.grecaptcha-badge{visibility:hidden!important}@media(min-width:769px){.modal-overlay,.benefits-modal-overlay,.claim-modal-overlay,.venue-modal-overlay,.invite-modal-overlay,.g-modal-overlay,.explainer-overlay,.leaderboard-filters-modal-overlay,.exception-modal-overlay,.unsaved-modal-overlay,.pending-modal-overlay,.medal-modal-overlay,.feed-settings-modal-overlay,.report-modal-overlay,.invoice-modal-overlay,.delete-account-modal-overlay,.news-review-overlay,.logout-confirm-overlay{left:var(--app-shell-left-offset)!important;right:auto!important;width:calc(100% - var(--app-shell-left-offset))!important;max-width:calc(100% - var(--app-shell-left-offset))!important;box-sizing:border-box!important}}:root{--color-primary: #004953;--color-primary-light: #006d7a;--color-primary-dark: #003940;--color-primary-50: rgba(0, 73, 83, .05);--color-primary-100: rgba(0, 73, 83, .1);--color-primary-200: rgba(0, 73, 83, .2);--color-accent: #D8A444;--color-accent-light: #e6bc6a;--color-accent-dark: #c4922f;--color-success: #10b981;--color-success-light: #d1fae5;--color-success-dark: #059669;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-warning-dark: #d97706;--color-error: #ef4444;--color-error-light: #fee2e2;--color-error-dark: #dc2626;--color-info: #3b82f6;--color-info-light: #dbeafe;--color-info-dark: #2563eb;--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-bg-primary: #ffffff;--color-bg-secondary: #f5f6f7;--color-bg-tertiary: #f0f2f5;--color-bg-hover: rgba(0, 73, 83, .04);--color-bg-active: rgba(0, 73, 83, .08);--color-text-primary: #1a1a1a;--color-text-secondary: #4b5563;--color-text-tertiary: #6b7280;--color-text-muted: #9ca3af;--color-text-inverse: #ffffff;--color-text-inverse-900: rgba(255, 255, 255, .1);--color-text-inverse-800: rgba(255, 255, 255, .2);--color-text-inverse-700: rgba(255, 255, 255, .4);--color-text-inverse-600: rgba(255, 255, 255, .6);--color-text-inverse-500: rgba(255, 255, 255, .8);--color-border-light: #e5e7eb;--color-border-default: #d1d5db;--color-border-dark: #9ca3af;--color-border-focus: var(--color-primary);--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--space-0: 0;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-none: 0;--radius-sm: .25rem;--radius-default: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-default: 0 2px 6px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1), 0 4px 8px rgba(0, 0, 0, .06);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .12), 0 8px 16px rgba(0, 0, 0, .08);--shadow-inner: inset 0 1px 3px rgba(0, 0, 0, .06);--shadow-focus: 0 0 0 3px rgba(0, 73, 83, .15);--shadow-brand: 0 4px 14px rgba(0, 73, 83, .2);--shadow-accent: 0 4px 14px rgba(216, 164, 68, .25);--transition-fast: .1s ease;--transition-default: .2s ease;--transition-slow: .3s ease;--transition-slower: .4s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--input-height-sm: 32px;--input-height-default: 40px;--input-height-lg: 48px;--input-padding-x: .875rem;--input-padding-y: .625rem;--input-padding-x-sm: .625rem;--input-padding-y-sm: .375rem;--input-padding-x-lg: 1rem;--input-padding-y-lg: .75rem;--btn-height-sm: 28px;--btn-height-default: 34px;--btn-height-lg: 42px;--icon-size-sm: 14px;--icon-size-default: 16px;--icon-size-lg: 20px;--icon-size-xl: 24px;--avatar-size-xs: 24px;--avatar-size-sm: 32px;--avatar-size-default: 40px;--avatar-size-lg: 56px;--avatar-size-xl: 72px;--avatar-size-2xl: 96px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1200px;--container-2xl: 1400px}[data-theme=dark]{--color-bg-primary: #121212;--color-bg-secondary: #1e1e1e;--color-bg-tertiary: #2a2a2a;--color-bg-hover: rgba(255, 255, 255, .04);--color-bg-active: rgba(255, 255, 255, .08);--color-text-primary: #f0f0f3;--color-text-secondary: #c4c4cc;--color-text-tertiary: #9898a4;--color-text-muted: #71717a;--color-text-inverse: #ffffff;--color-border-light: #2a2a2e;--color-border-default: #3f3f46;--color-border-dark: #52525b;--color-border-focus: var(--color-primary-light);--color-gray-50: #18181b;--color-gray-100: #27272a;--color-gray-200: #3f3f46;--color-gray-300: #5a5a64;--color-gray-400: #8a8a96;--color-gray-500: #b4b4be;--color-gray-600: #d4d4d8;--color-gray-700: #e4e4e7;--color-gray-800: #f4f4f5;--color-gray-900: #fafafa;--color-white: #1a1a1a;--color-black: #fafafa;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-default: 0 2px 6px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4), 0 4px 8px rgba(0, 0, 0, .3);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .5), 0 8px 16px rgba(0, 0, 0, .3);--color-primary-light: #1a9aab;--color-primary-dark: #004953;--color-primary-50: rgba(0, 109, 122, .1);--color-primary-100: rgba(0, 109, 122, .15);--color-primary-200: rgba(0, 109, 122, .25);--color-accent: #e6bc6a;--color-accent-light: #f0d08a;--color-accent-dark: #d4a444;--color-success: #34d399;--color-success-light: rgba(52, 211, 153, .15);--color-success-dark: #10b981;--color-warning: #fbbf24;--color-warning-light: rgba(251, 191, 36, .15);--color-warning-dark: #f59e0b;--color-error: #f87171;--color-error-light: rgba(248, 113, 113, .15);--color-error-dark: #ef4444;--color-info: #60a5fa;--color-info-light: rgba(96, 165, 250, .15);--color-info-dark: #3b82f6;--color-overlay-light: rgba(0, 0, 0, .7);--color-overlay-medium: rgba(0, 0, 0, .8);--color-overlay-dark: rgba(0, 0, 0, .9);--shadow-focus: 0 0 0 3px rgba(0, 109, 122, .4);--shadow-brand: 0 4px 14px rgba(0, 109, 122, .35);--shadow-accent: 0 4px 14px rgba(216, 164, 68, .3)}@media(max-width:768px){:root{--font-size-xs: .8125rem;--font-size-sm: .875rem;--font-size-base: .9375rem;--space-4: .875rem;--space-5: 1.125rem;--space-6: 1.375rem;--input-height-default: 44px;--btn-height-default: 44px;--btn-height-sm: 36px}}.g-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height-default);padding:0 var(--space-4);font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-default);cursor:pointer;transition:all var(--transition-default);white-space:nowrap;-webkit-user-select:none;user-select:none}.g-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.g-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.g-btn i{font-size:var(--icon-size-default);line-height:1}.g-btn--sm{height:var(--btn-height-sm);padding:0 var(--space-3);font-size:var(--font-size-xs)}.g-btn--lg{height:var(--btn-height-lg);padding:0 var(--space-6);font-size:var(--font-size-base)}.g-btn--primary{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.g-btn--primary:hover:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary-light);transform:translateY(-1px);box-shadow:var(--shadow-brand)}.g-btn--secondary{background-color:var(--color-gray-100);color:var(--color-text-secondary);border-color:var(--color-border-default)}.g-btn--secondary:hover:not(:disabled){background-color:var(--color-gray-200);color:var(--color-text-primary)}.g-btn--success{background-color:var(--color-success);color:var(--color-text-inverse);border-color:var(--color-success)}.g-btn--success:hover:not(:disabled){background-color:var(--color-success-dark);border-color:var(--color-success-dark)}.g-btn--danger{background-color:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error)}.g-btn--danger:hover:not(:disabled){background-color:var(--color-error-dark);border-color:var(--color-error-dark)}.g-btn--warning{background-color:var(--color-warning);color:var(--color-text-inverse);border-color:var(--color-warning)}.g-btn--warning:hover:not(:disabled){background-color:var(--color-warning-dark);border-color:var(--color-warning-dark)}.g-btn--outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.g-btn--outline:hover:not(:disabled){background-color:var(--color-primary-50)}.g-btn--ghost{background-color:transparent;color:var(--color-text-secondary);border-color:transparent}.g-btn--ghost:hover:not(:disabled){background-color:var(--color-bg-hover);color:var(--color-primary)}.g-btn--link{background:none;border:none;color:var(--color-primary);padding:0;height:auto;font-weight:var(--font-weight-medium);text-decoration:underline}.g-btn--link:hover:not(:disabled){color:var(--color-primary-light)}.g-btn--icon{width:var(--btn-height-default);padding:0}.g-btn--icon.g-btn--sm{width:var(--btn-height-sm)}.g-btn--icon.g-btn--lg{width:var(--btn-height-lg)}.g-input,input.form-control,textarea.form-control,.form-control{display:block;width:100%;height:var(--input-height-default);padding:var(--input-padding-y) var(--input-padding-x);font-family:var(--font-family-base);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1.5px solid var(--color-border-default);border-radius:var(--radius-md);transition:border-color var(--transition-default),box-shadow var(--transition-default),background-color var(--transition-default);box-sizing:border-box}.g-input::placeholder,.form-control::placeholder{color:var(--color-text-muted)}.g-input:hover:not(:disabled):not(:focus),.form-control:hover:not(:disabled):not(:focus){border-color:var(--color-border-dark);background-color:var(--color-gray-50)}.g-input:focus,.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0049531f;background-color:var(--color-bg-primary)}.g-input:disabled,.form-control:disabled{background-color:var(--color-gray-100);color:var(--color-text-muted);cursor:not-allowed;opacity:.7}.g-input--error,.form-control.error,.form-control.is-invalid{border-color:var(--color-error)}.g-input--error:focus,.form-control.error:focus,.form-control.is-invalid:focus{box-shadow:0 0 0 3px #ef444426}.g-input--sm,.form-control--sm{height:var(--input-height-sm);padding:var(--input-padding-y-sm) var(--input-padding-x-sm);font-size:var(--font-size-xs);border-radius:var(--radius-default)}.g-input--lg,.form-control--lg{height:var(--input-height-lg);padding:var(--input-padding-y-lg) var(--input-padding-x-lg);font-size:var(--font-size-base);border-radius:var(--radius-md)}.g-textarea,textarea.form-control,textarea.g-input{min-height:100px;height:auto;padding:var(--input-padding-y) var(--input-padding-x);resize:vertical;line-height:var(--line-height-relaxed)}.g-textarea--compact{min-height:72px;padding:var(--input-padding-y-sm) var(--input-padding-x-sm)}.g-select,select.form-control{appearance:auto;-webkit-appearance:auto;-moz-appearance:auto;background-image:none;padding-right:var(--input-padding-x);cursor:pointer}.g-checkbox,.g-radio{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);-webkit-user-select:none;user-select:none}.g-checkbox input,.g-radio input,input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;margin:0;flex-shrink:0}.g-checkbox-card,.g-radio-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--input-padding-y) var(--input-padding-x);background-color:var(--color-bg-primary);border:1.5px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-default)}.g-checkbox-card:hover,.g-radio-card:hover{border-color:var(--color-primary);background-color:var(--color-primary-50)}.g-checkbox-card:has(input:checked),.g-radio-card:has(input:checked){border-color:var(--color-primary);background-color:var(--color-primary-50);box-shadow:0 0 0 3px #00495314}.g-checkbox-card input,.g-radio-card input{width:18px;height:18px}.g-checkbox-card span,.g-radio-card span{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.g-form-group{margin-bottom:var(--space-3)}.g-form-group--compact{margin-bottom:var(--space-2)}.g-form-label{display:block;margin-bottom:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.g-form-hint{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.g-form-error{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-error)}.required{color:var(--color-error);font-weight:var(--font-weight-bold);margin-left:2px}.g-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.g-form-row--3{grid-template-columns:1fr 1fr 1fr}@media(max-width:480px){.g-form-row{grid-template-columns:1fr}}.g-form-section{padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.g-form-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.g-form-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin:0 0 var(--space-3) 0;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.g-form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.g-card{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);overflow:hidden}.g-card--elevated{box-shadow:var(--shadow-md);border:none}.g-card--flat{box-shadow:none;border:1px solid var(--color-border-default)}.g-card--interactive{cursor:pointer;transition:transform var(--transition-default),box-shadow var(--transition-default)}.g-card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.g-card-header{padding:var(--space-4);border-bottom:1px solid var(--color-border-light)}.g-card-header--compact{padding:var(--space-3)}.g-card-title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.g-card-subtitle{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.g-card-body{padding:var(--space-4)}.g-card-body--compact{padding:var(--space-3)}.g-card-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-light);background-color:var(--color-gray-50)}.g-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);border-radius:var(--radius-sm);white-space:nowrap}.g-badge--default{background-color:var(--color-gray-100);color:var(--color-text-secondary)}.g-badge--primary{background-color:var(--color-primary-100);color:var(--color-primary)}.g-badge--success{background-color:var(--color-success-light);color:var(--color-success-dark)}.g-badge--warning{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.g-badge--error{background-color:var(--color-error-light);color:var(--color-error-dark)}.g-badge--info{background-color:var(--color-info-light);color:var(--color-info-dark)}.g-tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 10px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.2;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-default);border:1.5px solid transparent;-webkit-user-select:none;user-select:none}.g-tag--unselected{background-color:var(--color-success-light);color:var(--color-success)}.g-tag--unselected:hover{background-color:var(--color-success-light);transform:translateY(-1px)}.g-tag--selected{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary);box-shadow:var(--shadow-brand)}.g-tag--selected:hover{background-color:var(--color-primary-light);border-color:var(--color-primary-light)}.g-tag i{font-size:10px}.g-table-container{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.g-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.g-table th{padding:var(--space-2) var(--space-3);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background-color:var(--color-gray-50);border-bottom:1px solid var(--color-border-default);white-space:nowrap}.g-table td{padding:var(--space-2) var(--space-3);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.g-table tbody tr:last-child td{border-bottom:none}.g-table tbody tr:hover{background-color:var(--color-bg-hover)}.g-table--compact th,.g-table--compact td{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.g-table--striped tbody tr:nth-child(2n){background-color:var(--color-gray-50)}.g-avatar{display:inline-flex;align-items:center;justify-content:center;width:var(--avatar-size-default);height:var(--avatar-size-default);border-radius:var(--radius-full);overflow:hidden;background-color:var(--color-gray-200);flex-shrink:0}.g-avatar img{width:100%;height:100%;object-fit:cover}.g-avatar--xs{width:var(--avatar-size-xs);height:var(--avatar-size-xs)}.g-avatar--sm{width:var(--avatar-size-sm);height:var(--avatar-size-sm)}.g-avatar--lg{width:var(--avatar-size-lg);height:var(--avatar-size-lg)}.g-avatar--xl{width:var(--avatar-size-xl);height:var(--avatar-size-xl)}.g-avatar--2xl{width:var(--avatar-size-2xl);height:var(--avatar-size-2xl)}.g-avatar--bordered{border:2px solid var(--color-bg-primary);box-shadow:var(--shadow-sm)}.g-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-default)}.g-modal{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp var(--transition-slow)}.g-modal--sm{max-width:360px}.g-modal--lg{max-width:640px}.g-modal--xl{max-width:800px}.g-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-border-light)}.g-modal-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.g-modal-close{background:none;border:none;padding:var(--space-1);cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-default);transition:background-color var(--transition-default)}.g-modal-close:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.g-modal-body{padding:var(--space-4);overflow-y:auto;flex:1}.g-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--color-border-light);background-color:var(--color-gray-50)}.g-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);color:var(--color-text-tertiary)}.g-loading-spinner{width:32px;height:32px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.g-loading-text{margin-top:var(--space-3);font-size:var(--font-size-sm)}.g-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center}.g-empty-icon{font-size:48px;color:var(--color-gray-300);margin-bottom:var(--space-4)}.g-empty-title{margin:0 0 var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.g-empty-description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:320px}.g-alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.g-alert--success{background-color:var(--color-success-light);color:var(--color-success-dark)}.g-alert--warning{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.g-alert--error{background-color:var(--color-error-light);color:var(--color-error-dark)}.g-alert--info{background-color:var(--color-info-light);color:var(--color-info-dark)}.g-tabs{display:flex;gap:var(--space-1);border-bottom:2px solid var(--color-border-light);overflow-x:auto;scrollbar-width:none}.g-tabs::-webkit-scrollbar{display:none}.g-tab{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);background:none;border:none;cursor:pointer;white-space:nowrap;position:relative;transition:color var(--transition-default);border-radius:var(--radius-default) var(--radius-default) 0 0}.g-tab:hover{color:var(--color-primary);background-color:var(--color-bg-hover)}.g-tab--active{color:var(--color-primary)}.g-tab--active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:1px 1px 0 0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.g-animate-spin{animation:spin 1s linear infinite}.g-animate-pulse{animation:pulse 2s ease-in-out infinite}.city-autocomplete,.city-input-wrapper{position:relative;width:100%}.city-input-wrapper .g-input,.city-input-wrapper .form-input{padding-right:calc(var(--space-3) + 24px);width:100%}.city-loading{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.city-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--color-bg-primary);border:1px solid var(--color-border-default);border-radius:var(--radius-default);box-shadow:var(--shadow-md);z-index:100;max-height:280px;overflow-y:auto;margin-top:2px;padding:4px 0;list-style:none}.city-suggestion{display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;transition:background-color .15s ease}.city-suggestion:hover,.city-suggestion.highlighted{background-color:var(--color-bg-hover)}.city-suggestion .city-name{font-weight:500;font-size:.9rem;color:var(--color-text-primary)}.city-suggestion .city-state{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.city-suggestion .city-name:after{content:","}.city-suggestion.highlighted{background-color:var(--color-primary)}.city-suggestion.highlighted .city-name,.city-suggestion.highlighted .city-state{color:#fff}.g-form-hint{display:block;font-size:.75rem;color:var(--color-text-muted);margin-top:4px}.g-form-description{font-size:.85rem;color:var(--color-text-secondary);margin:0 0 12px;line-height:1.5;background-color:var(--color-bg-secondary);padding:10px 12px;border-radius:6px;border-left:3px solid var(--color-primary)}.g-form-description--private{background-color:var(--color-success-light);border-left-color:var(--color-success);color:var(--color-success-dark)}.g-form-description--private i{margin-right:6px}.g-optional{font-size:.75rem;font-weight:400;color:var(--color-text-muted)}.edit-actions-sticky{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;margin:16px -16px -16px;background:linear-gradient(to top,var(--color-bg-primary) 80%,transparent);border-top:1px solid var(--color-border-light);z-index:10}.action-buttons-cell{white-space:nowrap}.action-buttons-cell .button,.action-buttons-cell .g-btn{padding:4px 8px;font-size:.75rem;height:auto;min-height:26px}.action-buttons-cell .button i,.action-buttons-cell .g-btn i{font-size:.7rem}[data-theme=dark] .g-btn--secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}[data-theme=dark] .g-btn--secondary:hover:not(:disabled){background-color:#ffffff1f}[data-theme=dark] .g-btn--outline{border-color:var(--color-border-default);color:var(--color-text-primary)}[data-theme=dark] .g-btn--outline:hover:not(:disabled){background-color:#006d7a1f;border-color:var(--color-primary-light)}[data-theme=dark] .g-btn--ghost:hover:not(:disabled){background-color:#ffffff0f}[data-theme=dark] .g-btn--danger,[data-theme=dark] .g-btn--primary{color:#fff}[data-theme=dark] .g-input,[data-theme=dark] .form-control,[data-theme=dark] textarea.g-input{background-color:#2a2a2e;border-color:#4a4a52;color:var(--color-text-primary)}[data-theme=dark] .g-input::placeholder,[data-theme=dark] .form-control::placeholder{color:var(--color-text-muted)}[data-theme=dark] .g-input:hover:not(:disabled):not(:focus),[data-theme=dark] .form-control:hover:not(:disabled):not(:focus){border-color:#5a5a62;background-color:#30303a}[data-theme=dark] .g-input:focus,[data-theme=dark] .form-control:focus{background-color:#32323a;border-color:#6a6a72;box-shadow:0 0 0 2px #ffffff14}[data-theme=dark] .g-input:disabled,[data-theme=dark] .form-control:disabled{background-color:#222225;border-color:#3a3a42;color:var(--color-text-muted);opacity:.6}[data-theme=dark] .g-input--error,[data-theme=dark] .form-control.is-invalid{border-color:var(--color-error);background-color:#f8717114}[data-theme=dark] .g-input--error:focus,[data-theme=dark] .form-control.error:focus,[data-theme=dark] .form-control.is-invalid:focus{box-shadow:0 0 0 3px #f8717133}[data-theme=dark] .g-select,[data-theme=dark] select.form-control{background-image:none;background-color:#2a2a2e;border-color:#4a4a52;color:var(--color-text-primary)}[data-theme=dark] .g-checkbox-card:has(input:checked),[data-theme=dark] .g-radio-card:has(input:checked){background-color:#006d7a1a;box-shadow:0 0 0 3px #006d7a26}[data-theme=dark] .g-card{background-color:var(--color-bg-secondary);border-color:var(--color-border-default)}[data-theme=dark] .g-card--elevated{box-shadow:var(--shadow-md)}[data-theme=dark] .g-card--interactive:hover{box-shadow:var(--shadow-lg);border-color:var(--color-border-dark)}[data-theme=dark] .g-card-header{border-color:var(--color-border-default)}[data-theme=dark] .g-card-footer{background-color:var(--color-bg-tertiary);border-color:var(--color-border-default)}[data-theme=dark] .g-badge--default{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}[data-theme=dark] .g-table-container{border-color:var(--color-border-default)}[data-theme=dark] .g-table th{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border-color:var(--color-border-default)}[data-theme=dark] .g-table td{border-color:var(--color-border-light);color:var(--color-text-primary)}[data-theme=dark] .g-table tbody tr:hover{background-color:#ffffff08}[data-theme=dark] .g-table--striped tbody tr:nth-child(2n){background-color:var(--color-bg-tertiary)}[data-theme=dark] .g-modal-overlay{background:#000000e6}[data-theme=dark] .g-modal{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-default);box-shadow:var(--shadow-xl)}[data-theme=dark] .g-modal-header{border-color:var(--color-border-default)}[data-theme=dark] .g-modal-title{color:var(--color-text-primary)}[data-theme=dark] .g-modal-close{color:var(--color-text-secondary)}[data-theme=dark] .g-modal-close:hover{color:var(--color-text-primary);background-color:#ffffff0f}.g-modal-header--brand .g-modal-title,.g-modal-header--brand .g-modal-close{color:#fff!important}.g-modal-header--brand .g-modal-close:hover{color:#ffffffe6!important;background-color:#ffffff26}[data-theme=dark] .g-modal-footer{background-color:var(--color-bg-tertiary);border-color:var(--color-border-default)}[data-theme=dark] .g-tabs{border-color:var(--color-border-default)}[data-theme=dark] .g-tab{color:var(--color-text-secondary)}[data-theme=dark] .g-tab:hover{color:var(--color-text-primary);background-color:#ffffff0a}[data-theme=dark] .g-tab--active{color:#fff}[data-theme=dark] .g-loading-spinner{border-color:var(--color-border-default)}[data-theme=dark] .g-empty-icon{color:var(--color-text-muted)}[data-theme=dark] .g-empty-title{color:var(--color-text-primary)}[data-theme=dark] .g-empty-description{color:var(--color-text-secondary)}[data-theme=dark] .city-suggestions{background-color:var(--color-bg-secondary);border-color:var(--color-border-default);box-shadow:var(--shadow-lg)}[data-theme=dark] .city-suggestion{color:var(--color-text-primary)}[data-theme=dark] .city-suggestion:hover{background-color:var(--color-bg-tertiary)}[data-theme=dark] .city-suggestion.highlighted{background-color:var(--color-primary);color:#fff}[data-theme=dark] .g-tag--unselected:hover{opacity:.85}[data-theme=dark] .g-tooltip{background-color:#e4e4e7;color:#121212}[data-theme=dark] .g-btn--link,[data-theme=dark] .g-form-section-title{color:#fff}[data-theme=dark] .g-badge--primary{background-color:#00495333;color:#fff}@media(max-width:768px){.g-btn,.button,button.button,.btn-primary,.btn-secondary,.g-input,.form-control,input.form-control,select.form-control,textarea.form-control{min-height:44px}.g-card{border-radius:14px}.g-card-header,.g-card-body,.g-card-footer{padding-left:var(--space-4);padding-right:var(--space-4)}}*{box-sizing:border-box}.admin-page{width:100%;max-width:100vw;height:100%;min-height:100%;padding:var(--space-4);margin:0;overflow:hidden}.admin-page .header-center h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-page .venue-claims-container,.admin-page .feedback-manager-container,.admin-page .news-admin-container,.admin-page .admin-docs-container,.admin-page .admin-tools-container,.admin-page .admin-venue-management,.admin-page .data-management-page,.admin-page .content-reports-container,.admin-page .usage-performance-container,.admin-page .admin-function-logs-container,.admin-page .tournament-manager-container,.admin-page .tournament-verification-container{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}.admin-section{width:100%;padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-8);overflow:hidden;max-width:100vw;overflow-x:hidden;height:auto;transition:padding-right .3s ease;background:var(--color-bg-primary)}.admin-section.sidebar-open{padding-right:420px}.user-tag-form{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.select-group{display:flex;flex-direction:column;gap:var(--space-2)}.select-group label{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.select-group select{padding:var(--space-2);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-base)}.admin-page select{appearance:auto;-webkit-appearance:auto;-moz-appearance:auto;background-color:var(--color-bg-primary);background-image:none;padding-right:12px;border:1.5px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer}[data-theme=dark] .admin-page select{background-color:#2a2a2e;border-color:#4a4a52;color:var(--color-text-primary);background-image:none}.submit-button{padding:var(--space-3);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);margin-top:var(--space-4)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:var(--color-error);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--color-error-light);margin-top:var(--space-2)}.success-message{color:var(--color-success);padding:var(--space-2);border-radius:var(--radius-sm);background:var(--color-success-light);margin-top:var(--space-2)}[data-theme=dark] .admin-page h1,[data-theme=dark] .admin-page h2,[data-theme=dark] .admin-page h3,[data-theme=dark] .admin-page h4,[data-theme=dark] .admin-page h5,[data-theme=dark] .admin-page h6,[data-theme=dark] .admin-page .tile-icon,[data-theme=dark] .admin-page .back-to-dashboard,[data-theme=dark] .admin-page .tab-button.active,[data-theme=dark] .admin-page .tab-button:hover{color:var(--color-text-primary)}.table-container{width:100%;margin:var(--space-4) 0;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--color-bg-primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);transition:width .3s ease}.data-table{width:max-content;min-width:100%;border-collapse:collapse;background:var(--color-bg-primary);font-size:var(--font-size-sm)}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border-light);white-space:nowrap}.data-table td:first-child,.data-table th:first-child{position:sticky;left:0;background:var(--color-bg-primary);z-index:1;width:100px;min-width:100px;border-right:1px solid var(--color-border-light)}.data-table td:not(:first-child),.data-table th:not(:first-child){min-width:120px}.data-table td[data-type=timestamp],.data-table th[data-type=timestamp]{min-width:160px}.data-table td[data-type=email],.data-table th[data-type=email]{min-width:200px}.data-table td[data-type=description],.data-table th[data-type=description]{min-width:300px}.data-table th{background:var(--color-gray-50);font-weight:var(--font-weight-semibold);position:sticky;top:0;z-index:2}.data-table th:first-child{z-index:3}.form-group input,.data-table input{width:100%;max-width:100%;padding:var(--space-1) var(--space-2)}.collection-header{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4);width:100%}.tools-section{width:100%;padding:var(--space-4);margin:var(--space-4) 0;overflow:hidden}.add-column-form{width:100%;max-width:100%;padding:var(--space-4);margin-bottom:var(--space-4);overflow:hidden}.form-actions{display:flex;gap:var(--space-4);margin-top:var(--space-6)}.form-actions button{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-medium)}.form-actions button:first-child{background:var(--color-primary);color:var(--color-text-inverse)}.form-actions button:last-child{background:var(--color-gray-100);color:var(--color-text-primary)}.form-actions button:disabled{opacity:.7;cursor:not-allowed}.tool-button{padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-medium)}.tool-button:disabled{opacity:.7;cursor:not-allowed}.tool-button:hover:not(:disabled){opacity:.9}.add-column-button{padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);cursor:pointer}.editable-cell{cursor:pointer;padding:var(--space-1);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editable-cell:hover{background:var(--color-gray-100);white-space:normal;word-break:break-word}.data-table button{padding:var(--space-1) var(--space-3);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);cursor:pointer}.data-table button:hover{opacity:.9}.collection-selector{margin-bottom:var(--space-4)}.table-section{background:var(--color-bg-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--color-gray-50);border-bottom:1px solid var(--color-border-light)}.table-header h3{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.close-button{background:none;border:none;font-size:var(--font-size-2xl);color:var(--color-text-muted);cursor:pointer;padding:0 var(--space-2);line-height:1}.close-button:hover{color:var(--color-error)}.table-container{overflow-y:auto;overflow-x:auto;max-height:400px;margin:0;padding:0;width:100%}.pagination-controls{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-4);background:var(--color-gray-50);border-top:1px solid var(--color-border-light)}.pagination-controls button{padding:var(--space-1) var(--space-3);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);cursor:pointer}.pagination-controls button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:var(--font-size-sm);color:var(--color-text-muted)}.table-container{margin:0;border-radius:0;box-shadow:none}.table-tabs{display:none}.table-section{padding:var(--space-4);background:var(--color-bg-primary);border-radius:0 0 var(--radius-md) var(--radius-md)}.open-tables{display:block}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-overlay-dark);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal-backdrop)}.modal-content{background:var(--color-bg-primary);padding:var(--space-8);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);width:100%;max-width:400px;position:relative}.modal-header{padding:var(--space-4);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:var(--font-size-xl)}.modal-body{padding:var(--space-4);max-height:60vh;overflow-y:auto}.modal-footer{padding:var(--space-4);border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end;gap:var(--space-4)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:0;font-weight:var(--font-weight-medium)}.form-group input{width:100%;padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-base)}.add-row-button{padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:var(--space-4)}.save-button{padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);cursor:pointer}.cancel-button{padding:var(--space-2) var(--space-4);background:var(--color-gray-100);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);cursor:pointer}.save-button:disabled{opacity:.7;cursor:not-allowed}.add-row-sidebar{position:fixed;top:0;right:-400px;width:400px;height:100vh;background:var(--color-bg-primary);box-shadow:var(--shadow-xl);transition:right .3s ease;z-index:var(--z-modal);display:flex;flex-direction:column}.add-row-sidebar.open{right:0}.sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center;background:var(--color-gray-50)}.sidebar-header h3{margin:0;font-size:var(--font-size-xl)}.sidebar-body{padding:var(--space-4);flex:1;overflow-y:auto}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--color-border-light);background:var(--color-bg-primary);display:flex;justify-content:flex-end;gap:var(--space-4)}.form-message{position:fixed;bottom:20px;right:420px;padding:var(--space-4);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:calc(var(--z-modal) + 1);max-width:300px}.form-message.error{background:var(--color-error-light);color:var(--color-error);border:1px solid var(--color-error)}.form-message.success{background:var(--color-success-light);color:var(--color-success-dark);border:1px solid var(--color-success)}.form-select{width:100%;padding:var(--space-2);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background-color:var(--color-bg-primary);cursor:pointer}.form-select:focus{outline:none;border-color:var(--color-primary)}.sidebar-body .loading{padding:var(--space-4);text-align:center;color:var(--color-text-muted)}.venue-tags-view{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-4)}.venue-tag-item{background:var(--color-bg-primary);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-xs);margin-bottom:var(--space-4)}.venue-tag-item .venue-name{margin:0 0 var(--space-4) 0;font-size:var(--font-size-xl);color:var(--color-primary);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--space-3)}.tags-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag-bubble{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);cursor:pointer;border:1px solid var(--color-gray-300);background:var(--color-bg-primary);transition:all .2s ease}.tag-bubble:hover{background:var(--color-gray-100)}.tag-bubble.selected{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.tag-bubble.selected:hover{opacity:.9}.no-tags{color:var(--color-text-muted);font-style:italic;margin:0}.search-container{margin:var(--space-4) 0;padding:0 var(--space-4)}.search-input{width:100%;padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.user-tag-item{background:var(--color-bg-primary);border-radius:var(--radius-md);padding:var(--space-6);box-shadow:var(--shadow-xs);margin-bottom:var(--space-4)}.user-info{margin-bottom:var(--space-4)}.user-name{color:var(--color-primary);margin:0 0 var(--space-2) 0}.user-details{font-size:var(--font-size-sm);color:var(--color-text-muted);display:grid;gap:var(--space-1)}.delete-button{padding:var(--space-1-5) var(--space-3);background:var(--color-error);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:background-color .2s}.delete-button:hover{background:var(--color-error-dark)}.delete-button:focus{outline:none;box-shadow:0 0 0 2px #dc354540}.banner{background:var(--color-primary);padding:var(--space-4) var(--space-8);display:flex;align-items:center;justify-content:space-between;color:var(--color-text-inverse);min-width:min-content}.banner *{color:var(--color-text-inverse)!important}.banner .gibbits-text h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0 auto 0 0;padding-left:20px}.banner .welcome-text{margin-left:auto;font-size:var(--font-size-lg);display:flex;align-items:center;gap:var(--space-4);white-space:nowrap}.banner .login-button,.banner .logout-button{background:transparent;border:1px solid var(--color-text-inverse);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:all .2s ease}.banner .login-button:hover,.banner .logout-button:hover{background:var(--color-text-inverse-900)}.section-title{color:var(--color-primary);padding:0 var(--space-8);margin:var(--space-4) 0;font-size:var(--font-size-2xl);background:none}.admin-banner>*{display:flex;align-items:center}.admin-layout{display:flex;min-height:calc(100vh - 60px);transition:all .3s ease}.admin-layout.sidebar-collapsed .admin-sidebar{width:40px}.admin-sidebar{width:250px;background:var(--color-gray-50);border-right:1px solid var(--color-gray-200);padding:0;display:flex;flex-direction:column;flex-shrink:0;transition:width .3s ease}.sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:flex-end}.collapse-button{background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;padding:var(--space-1) var(--space-2);color:var(--color-text-secondary);transition:color .2s ease}.collapse-button:hover{color:var(--color-primary)}.admin-nav-item{width:100%;padding:var(--space-3) var(--space-6);text-align:left;background:none;border:none;font-size:var(--font-size-base);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.admin-nav-item:hover{background:var(--color-gray-100);color:var(--color-primary)}.admin-nav-item.active{background:var(--color-primary);color:var(--color-text-inverse)}.data-management-section{display:flex;flex-direction:column}.sub-nav-items{display:flex;flex-direction:column;padding-left:var(--space-6)}.sub-nav-item{width:100%;padding:var(--space-2) var(--space-4);text-align:left;background:none;border:none;font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.sub-nav-item:hover{background:var(--color-gray-100);color:var(--color-primary)}.sub-nav-item.active{background:var(--color-info-light);color:var(--color-primary);font-weight:var(--font-weight-medium)}.admin-content{flex:1;padding:var(--space-6);overflow-x:auto;background:var(--color-bg-primary)}.admin-section{background:var(--color-bg-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-6)}.add-row-sidebar.popped-out{position:relative;width:100%;height:auto;transform:none;box-shadow:none;border-radius:var(--radius-md);overflow:hidden}.pop-out-form{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-modal);background:var(--color-bg-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);min-width:400px;max-width:90vw;max-height:90vh;overflow:auto}.pop-out-form .sidebar-header{position:sticky;top:0;background:var(--color-bg-primary);z-index:1;border-bottom:1px solid var(--color-gray-200)}.pop-out-form .sidebar-footer{position:sticky;bottom:0;background:var(--color-bg-primary);z-index:1;border-top:1px solid var(--color-gray-200);padding:var(--space-4)}.pop-out-button{background:none;border:none;padding:var(--space-2);cursor:pointer;color:var(--color-text-muted);transition:color .2s;margin-left:var(--space-2)}.pop-out-button:hover{color:var(--color-primary)}.pop-out-button svg{width:16px;height:16px}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.add-row-sidebar .pop-out-button{background:none;border:none;padding:var(--space-2);cursor:pointer;color:var(--color-text-muted);transition:color .2s}.add-row-sidebar .pop-out-button:hover{color:var(--color-primary)}.add-row-sidebar .pop-out-button svg{width:16px;height:16px}.main-nav{background:var(--color-bg-primary);padding:var(--space-4) var(--space-8);border-bottom:1px solid var(--color-gray-200);display:flex;gap:var(--space-4)}.nav-link{color:var(--color-primary);text-decoration:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);transition:background-color .2s}.nav-link:hover{background-color:var(--color-primary-50)}.nav-link.admin-link{margin-left:auto;background-color:var(--color-primary-100);border:1px solid var(--color-primary)}.nav-link.admin-link:hover{background-color:var(--color-primary-200)}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-group input{padding:var(--space-3);border:1px solid var(--color-gray-200);border-radius:var(--radius-sm);font-size:var(--font-size-base)}.form-actions{display:flex;gap:var(--space-4);margin-top:var(--space-4)}.form-actions button{padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--font-weight-medium);transition:all .2s}.form-actions button[type=submit]{background:var(--color-primary);color:var(--color-text-inverse);flex:1}.form-actions button[type=button]{background:var(--color-gray-100);color:var(--color-text-secondary)}.form-actions button:hover{opacity:.9}.error-message{color:var(--color-error);background:var(--color-error-light);padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}
