:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-tertiary: #1a1a1a;--surface: rgba(255, 255, 255, .03);--gold: #d4af37;--gold-light: #f4e5b2;--gold-dark: #b8941f;--gold-glow: rgba(212, 175, 55, .3);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .7);--text-tertiary: rgba(255, 255, 255, .4);--success: #4ade80;--error: #ef4444;--warning: #f59e0b;--info: #3b82f6;--spacing-xs: clamp(.25rem, 1vw, .5rem);--spacing-sm: clamp(.5rem, 2vw, 1rem);--spacing-md: clamp(1rem, 3vw, 1.5rem);--spacing-lg: clamp(1.5rem, 4vw, 2rem);--spacing-xl: clamp(2rem, 5vw, 3rem);--border: rgba(255, 255, 255, .1);--border-hover: rgba(212, 175, 55, .3);--transition: all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s ease;--text-xs: clamp(.75rem, 1.5vw, .875rem);--text-sm: clamp(.875rem, 2vw, 1rem);--text-base: clamp(1rem, 2.5vw, 1.125rem);--text-lg: clamp(1.125rem, 3vw, 1.25rem);--text-xl: clamp(1.25rem, 3.5vw, 1.5rem);--text-2xl: clamp(1.5rem, 4vw, 2rem);--text-3xl: clamp(2rem, 5vw, 2.5rem)}*{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:rgba(0,0,0,0)}button:active,.btn:active,a:active{opacity:.8;transform:scale(.98)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-size:var(--text-base)}.luxury-bg{position:fixed;inset:0;pointer-events:none;z-index:0}.bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(212,175,55,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,55,.03) 1px,transparent 1px);background-size:50px 50px;animation:float 20s ease-in-out infinite}.bg-glow{position:absolute;top:50%;left:50%;width:min(80vw,800px);height:min(80vw,800px);transform:translate(-50%,-50%);background:radial-gradient(circle,var(--gold-glow) 0%,transparent 70%);filter:blur(100px);opacity:.3;animation:pulse 8s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(-10px,-10px)}}@keyframes pulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.1)}}.container{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);animation:fadeInDown .6s ease;flex-wrap:wrap;gap:var(--spacing-md)}.logo-container{display:flex;align-items:center;gap:var(--spacing-md)}.logo-mark{width:clamp(48px,10vw,56px);height:clamp(48px,10vw,56px);background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);border-radius:clamp(12px,3vw,16px);display:flex;align-items:center;justify-content:center;font-family:Bebas Neue,sans-serif;font-size:clamp(24px,5vw,28px);color:var(--bg-primary);box-shadow:0 8px 32px var(--gold-glow);transform:rotate(-5deg)}.logo-text h1{font-family:Bebas Neue,sans-serif;font-size:var(--text-3xl);letter-spacing:clamp(2px,.5vw,4px);background:linear-gradient(135deg,var(--gold-light) 0%,var(--gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0;line-height:1}.tagline{font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase;line-height:1.2;margin-top:.25rem}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.mode-indicator{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.mode-selection{animation:fadeIn .6s ease}.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.mode-card{background:var(--surface);border:1px solid var(--border);border-radius:clamp(16px,3vw,24px);padding:var(--spacing-xl);cursor:pointer;transition:var(--transition);text-align:center;position:relative;overflow:hidden}.mode-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:translate(-100%);transition:transform .6s ease}.mode-card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:0 20px 40px #0000004d}.mode-card:hover:before{transform:translate(100%)}.mode-icon{width:clamp(64px,15vw,80px);height:clamp(64px,15vw,80px);margin:0 auto var(--spacing-md);background:var(--surface);border-radius:clamp(16px,3vw,20px);display:flex;align-items:center;justify-content:center;color:var(--gold)}.mode-icon svg{width:60%;height:60%}.mode-card h2{font-size:var(--text-2xl);margin-bottom:var(--spacing-sm);line-height:1.2}.mode-card p{color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:var(--text-sm);line-height:1.4}.mode-features{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);font-size:var(--text-xs);color:var(--text-secondary)}.glass-card{background:var(--surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:clamp(16px,3vw,24px);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);animation:fadeInUp .6s ease}.glass-card h2{font-size:var(--text-2xl);margin-bottom:var(--spacing-sm);line-height:1.2}.glass-card h3{font-size:var(--text-xl);margin-bottom:var(--spacing-md);line-height:1.3}.glass-card p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin-bottom:var(--spacing-md)}.card-icon{width:clamp(56px,12vw,64px);height:clamp(56px,12vw,64px);background:linear-gradient(135deg,#d4af371a,#d4af370d);border-radius:clamp(12px,3vw,16px);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md);color:var(--gold)}.btn{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);padding:clamp(.625rem,2vw,.75rem) clamp(1.25rem,3vw,1.5rem);border-radius:clamp(8px,2vw,12px);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);position:relative;overflow:hidden;white-space:nowrap}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,var(--gold-glow) 0%,transparent 70%);transform:translate(-50%,-50%);transition:all .5s ease;pointer-events:none}.btn:hover{transform:translateY(-2px);border-color:var(--border-hover)}.btn:hover:before{width:100%;height:100%}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--gold-dark) 0%,var(--gold) 100%);color:var(--bg-primary);border:none;font-weight:600}.btn-primary:hover{box-shadow:0 8px 24px var(--gold-glow)}.btn-secondary{background:transparent}.btn-ghost{background:transparent;border:none;color:var(--text-secondary)}.btn-icon{width:clamp(36px,8vw,40px);height:clamp(36px,8vw,40px);padding:0;justify-content:center}.btn-icon.spinning svg{animation:spin .8s cubic-bezier(.68,-.55,.265,1.55) infinite}.btn-large{padding:clamp(.875rem,2.5vw,1rem) clamp(1.5rem,4vw,2rem);font-size:var(--text-base)}.btn-disconnect:hover{color:var(--error);border-color:#ef44444d;background:#ef44441a}.btn-sm{padding:clamp(.5rem,1.5vw,.625rem) clamp(1rem,2.5vw,1.25rem);font-size:var(--text-xs)}.wallet-btn{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:clamp(12px,3vw,16px);padding:var(--spacing-md);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);cursor:pointer;transition:var(--transition);font-size:var(--text-base);color:var(--text-primary)}.wallet-btn:hover{border-color:var(--gold);background:#d4af371a}.wallet-logo{flex-shrink:0}.account-card{margin-bottom:var(--spacing-lg);background:linear-gradient(135deg,var(--surface) 0%,rgba(255,255,255,.02) 100%)}.account-header{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.account-avatar{width:clamp(56px,12vw,64px);height:clamp(56px,12vw,64px);border-radius:clamp(12px,3vw,16px);overflow:hidden;position:relative;box-shadow:0 4px 12px #0003;flex-shrink:0}.avatar-gradient{width:100%;height:100%;background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 50%,var(--gold-light) 100%);position:relative}.account-info{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.account-label{font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:1.2px;font-weight:500}.account-address{font-family:SF Mono,Monaco,Inconsolata,monospace;color:var(--text-primary);font-size:var(--text-sm);font-weight:500;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-balance{display:flex;align-items:baseline;gap:.375rem;margin-top:.125rem}.balance-amount{font-size:var(--text-base);font-weight:600;color:var(--gold);font-variant-numeric:tabular-nums}.balance-currency{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.account-actions{display:flex;align-items:center;gap:.5rem}.account-divider{width:1px;height:24px;background:var(--border);margin:0 .25rem}.config-section{margin-bottom:var(--spacing-lg)}.section-label{display:block;font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:1px;font-weight:500}.days-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:var(--spacing-sm)}.day-selector{position:relative;cursor:pointer}.day-selector input{position:absolute;opacity:0}.day-label{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:clamp(8px,2vw,12px);transition:var(--transition-fast);gap:.25rem}.day-selector input:checked+.day-label{background:#d4af371a;border-color:var(--gold);color:var(--gold)}.day-short{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px}.day-number{font-size:var(--text-lg);font-weight:600;line-height:1}.time-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));gap:var(--spacing-sm)}.time-slot{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:clamp(8px,2vw,12px);padding:var(--spacing-md);cursor:pointer;transition:var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:.25rem;color:var(--text-primary)}.time-slot:hover{border-color:var(--border-hover);background:#d4af370d}.time-slot.selected{background:#d4af3726;border-color:var(--gold)}.time-slot.selected .time-text,.time-slot.selected .time-period{color:var(--gold)}.time-text{font-weight:600;font-size:var(--text-sm);color:var(--text-primary)}.time-period{font-size:var(--text-xs);color:var(--text-secondary);text-align:center}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--spacing-md)}.setting-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.setting-item label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.setting-hint{display:block;font-size:var(--text-xs);color:var(--text-tertiary);margin-top:.25rem;font-style:italic}.select-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:clamp(8px,2vw,12px);padding:clamp(.75rem,2vw,.875rem) clamp(2.5rem,4vw,3rem) clamp(.75rem,2vw,.875rem) clamp(.875rem,2vw,1rem);color:var(--text-primary);font-size:var(--text-sm);transition:var(--transition-fast);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 2L6 6L11 2' stroke='%23999999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px}.select-input:hover{border-color:var(--border-hover);background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 2L6 6L11 2' stroke='%23d4af37' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.select-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #d4af371a}.form-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:clamp(6px,1.5vw,8px);padding:clamp(.625rem,2vw,.75rem);color:var(--text-primary);font-size:var(--text-sm);transition:var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--gold)}.key-generation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.key-options{display:flex;gap:var(--spacing-md);align-items:flex-end;margin-bottom:var(--spacing-lg);flex-wrap:wrap}.key-option{flex:1;min-width:200px}.key-option label{display:block;font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--spacing-xs);font-weight:500}.generated-key{margin-top:var(--spacing-lg)}.key-display{background:var(--bg-tertiary);border:1px solid var(--gold);border-radius:clamp(12px,3vw,16px);padding:var(--spacing-md)}.key-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);flex-wrap:wrap;gap:var(--spacing-xs)}.key-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.key-expiry{font-size:var(--text-xs);color:var(--text-tertiary)}.key-value{font-family:monospace;font-size:var(--text-xs);color:var(--gold);word-break:break-all;padding:var(--spacing-sm);background:var(--bg-primary);border-radius:clamp(6px,1.5vw,8px);margin-bottom:var(--spacing-md);line-height:1.4}.key-qr{display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.key-qr canvas{border-radius:8px;max-width:100%;height:auto}.key-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.key-actions .btn svg{margin-right:.5rem;vertical-align:middle}label.btn{display:inline-flex;align-items:center;cursor:pointer}label.btn input[type=file]{display:none}.key-dashboard-card{margin-bottom:var(--spacing-lg)}.key-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.key-stat{background:var(--bg-tertiary);border-radius:clamp(12px,3vw,16px);padding:var(--spacing-md);text-align:center;border:1px solid var(--border);transition:var(--transition-fast);cursor:pointer}.key-stat:hover{border-color:var(--border-hover);transform:translateY(-2px);background:#d4af370d}.stat-icon{font-size:clamp(1.5rem,4vw,2rem);margin-bottom:var(--spacing-sm);display:block}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:var(--text-2xl);font-weight:600;color:var(--text-primary);line-height:1}.stat-label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.key-stat.active .stat-value{color:var(--success)}.key-stat.used .stat-value{color:var(--info)}.key-stat.expired .stat-value{color:var(--warning)}.expired-notice{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:clamp(8px,2vw,12px);padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.expired-notice p{margin:0;color:var(--warning);font-size:var(--text-sm)}.modal-overlay{position:fixed;inset:0;background:#000c;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-lg);animation:fadeIn .2s ease}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:clamp(16px,3vw,24px);max-width:min(90vw,600px);width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:var(--text-xl)}.modal-content{padding:var(--spacing-lg);overflow-y:auto;flex:1}.keys-table{display:flex;flex-direction:column;gap:var(--spacing-sm)}.key-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:clamp(8px,2vw,12px);transition:var(--transition-fast);gap:var(--spacing-md)}.key-row:hover{background:var(--surface)}.key-info{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.key-note{font-weight:500;font-size:var(--text-sm);color:var(--text-primary)}.key-meta{font-size:var(--text-xs);color:var(--text-tertiary)}.key-status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.key-status-badge.active{background:#4ade801a;color:var(--success);border:1px solid rgba(74,222,128,.3)}.key-status-badge.used{background:#3b82f61a;color:var(--info);border:1px solid rgba(59,130,246,.3)}.key-status-badge.expired{background:#f59e0b1a;color:var(--warning);border:1px solid rgba(245,158,11,.3)}.bookings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);gap:var(--spacing-sm)}.bookings-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.booking-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:clamp(8px,2vw,12px);transition:var(--transition-fast)}.booking-item:hover{background:var(--surface)}.booking-date{width:clamp(50px,12vw,60px);text-align:center;padding:var(--spacing-sm);background:#d4af371a;border-radius:clamp(6px,1.5vw,8px);flex-shrink:0}.date-day{display:block;font-size:var(--text-xl);font-weight:600;color:var(--gold);line-height:1}.date-month{display:block;font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;margin-top:.125rem}.booking-info{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.booking-time{font-weight:600;font-size:var(--text-sm);color:var(--text-primary)}.booking-subject{font-weight:500;font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-reference{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:var(--text-xs);color:var(--gold);font-weight:500;letter-spacing:.5px}.booking-duration{font-size:var(--text-xs);color:var(--text-secondary)}@media (max-width: 768px){.booking-info{gap:.375rem}.booking-reference{font-size:var(--text-sm);padding:.125rem 0}}.booking-name{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.key-input-group{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-wrap:wrap}.key-input{flex:1;min-width:200px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:clamp(8px,2vw,12px);padding:var(--spacing-md);color:var(--text-primary);font-family:monospace;font-size:var(--text-sm)}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);gap:var(--spacing-sm)}.calendar-month{font-size:var(--text-lg);font-weight:600;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:var(--spacing-sm)}.calendar-day{background:var(--bg-tertiary);border-radius:clamp(8px,2vw,12px);padding:var(--spacing-sm);min-height:clamp(100px,20vw,120px)}.calendar-day.unavailable{opacity:.5}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border)}.day-name{font-size:var(--text-xs);text-transform:uppercase;color:var(--text-secondary)}.day-date{font-weight:600;font-size:var(--text-sm)}.day-slots{display:flex;flex-direction:column;gap:.25rem}.slot-btn{background:#ffffff0d;border:1px solid var(--border);border-radius:clamp(4px,1vw,6px);padding:clamp(.375rem,1.5vw,.5rem);font-size:var(--text-xs);cursor:pointer;transition:var(--transition-fast);color:var(--text-primary);text-align:center;font-weight:500}.slot-btn:hover:not(.disabled){border-color:var(--gold);background:#d4af371a;color:var(--gold)}.slot-btn.selected{background:#d4af3733;border-color:var(--gold);color:var(--gold)}.slot-btn.disabled{opacity:.3;cursor:not-allowed}.booking-form{margin-top:var(--spacing-lg)}.booking-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.summary-item{background:var(--bg-tertiary);padding:var(--spacing-md);border-radius:clamp(8px,2vw,12px)}.summary-label{display:block;font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:.25rem;font-weight:500}.summary-value{font-weight:600;font-size:var(--text-sm)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--spacing-xs);font-weight:500}textarea.form-input{resize:vertical;min-height:80px}.success-card{text-align:center;padding:var(--spacing-xl)}.success-icon{width:clamp(64px,15vw,80px);height:clamp(64px,15vw,80px);margin:0 auto var(--spacing-lg);background:#4ade801a;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--success)}.success-icon svg{width:60%;height:60%}.success-details{background:var(--bg-tertiary);border-radius:clamp(8px,2vw,12px);padding:var(--spacing-md);margin:var(--spacing-lg) 0;text-align:left}.detail-item{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;gap:var(--spacing-sm);flex-wrap:wrap}.detail-item:not(:last-child){border-bottom:1px solid var(--border)}.detail-label{color:var(--text-secondary);font-size:var(--text-sm)}.detail-value{font-weight:500;font-size:var(--text-sm);word-break:break-all}.loading-overlay{position:fixed;inset:0;background:#000c;backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10001}.loading-spinner{width:clamp(40px,10vw,48px);height:clamp(40px,10vw,48px);border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:var(--spacing-md);color:var(--text-secondary);font-size:var(--text-sm)}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);left:var(--spacing-lg);z-index:10002;display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-end;pointer-events:none}.toast{background:var(--bg-secondary);border:1px solid var(--border);border-radius:clamp(8px,2vw,12px);padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);max-width:min(100%,400px);transform:translate(400px);transition:transform .3s ease;pointer-events:auto;box-shadow:0 4px 12px #0003}.toast.show{transform:translate(0)}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--error)}.toast-warning{border-left:4px solid var(--warning)}.toast-icon{width:24px;height:24px;flex-shrink:0}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--error)}.toast-warning .toast-icon{color:var(--warning)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.fade-out{animation:fadeOut .3s ease forwards}@keyframes fadeOut{to{opacity:0}}.hidden{display:none!important}@media (max-width: 768px){.container{padding:var(--spacing-md)}.logo-text h1{font-size:clamp(1.75rem,8vw,2.5rem)}.header{justify-content:center;text-align:center}.header-actions{width:100%;justify-content:center}.days-selector{grid-template-columns:repeat(4,1fr)}.calendar-grid{grid-template-columns:1fr;max-height:60vh;overflow-y:auto;padding-right:var(--spacing-xs)}.calendar-day{min-height:auto}.day-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xs)}.key-input-group{flex-direction:column}.key-input{min-width:0}.btn-primary{width:100%}.toast-container{right:var(--spacing-md);left:var(--spacing-md)}.account-header{flex-direction:column;text-align:center}.account-info{align-items:center}.account-actions{margin-top:var(--spacing-sm)}.key-generation-grid{grid-template-columns:1fr}.modal{max-height:90vh}}@media (max-width: 480px){:root{--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem}.mode-cards{gap:var(--spacing-md)}.days-selector{grid-template-columns:repeat(3,1fr)}.time-slots-grid,.settings-grid{grid-template-columns:1fr}.key-row{flex-direction:column;align-items:flex-start}.key-status-badge{align-self:flex-start}}@media (min-width: 1920px){:root{--text-xs: .875rem;--text-sm: 1rem;--text-base: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.5rem}}.key-stat.pending .stat-value{color:var(--warning)}.key-value-small{font-family:monospace;font-size:.75rem;color:var(--text-tertiary);margin-top:.25rem;word-break:break-all}.booking-duration{display:block;font-size:var(--text-xs);color:var(--text-tertiary);margin-top:.125rem}.booking-item.booking-today{border:1px solid var(--gold);background:#d4af370d}.booking-item.booking-today .booking-date{background:#d4af3733}.booking-item.booking-today .booking-duration{color:var(--gold);font-weight:600}.meeting-link-input{display:flex;flex-direction:column;gap:var(--spacing-xs)}.meeting-link-input .form-input{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:var(--text-sm)}.meeting-link-input .setting-hint{display:block;font-size:var(--text-xs);color:var(--text-tertiary);margin-top:.25rem;font-style:italic}.footer{text-align:center;padding:var(--spacing-lg) 0;margin-top:var(--spacing-xl);border-top:1px solid var(--border);animation:fadeIn .6s ease}.footer-link{color:var(--text-secondary);font-size:var(--text-sm);text-decoration:none;transition:var(--transition-fast);background:none;border:none;cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);font-family:inherit;display:inline-flex;align-items:center;gap:var(--spacing-xs);border-radius:clamp(8px,2vw,12px)}.footer-link:hover{color:var(--gold);background:#d4af371a;transform:translateY(-2px)}.disclaimer-content{max-height:60vh;overflow-y:auto;padding-right:var(--spacing-sm)}.disclaimer-warning{background:#ef44441a;border:2px solid rgba(239,68,68,.3);border-radius:clamp(8px,2vw,12px);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);text-align:center}.disclaimer-warning strong{display:block;color:var(--error);font-size:var(--text-lg);margin-bottom:var(--spacing-sm);letter-spacing:1px}.consent-notice{font-size:var(--text-sm);color:var(--text-primary);margin:var(--spacing-sm) 0 0 0;font-weight:500;line-height:1.6}.disclaimer-section{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:clamp(8px,2vw,12px);padding:var(--spacing-md);margin-bottom:var(--spacing-md);transition:var(--transition-fast)}.disclaimer-section:hover{border-color:var(--border-hover)}.disclaimer-section.critical{border:1px solid rgba(239,68,68,.2);background:#ef44440d}.disclaimer-section h5{color:var(--gold);margin:0 0 var(--spacing-sm) 0;font-size:var(--text-base);font-weight:600;letter-spacing:.5px}.disclaimer-section.critical h5{color:var(--error)}.disclaimer-section p{margin:0 0 var(--spacing-sm) 0;color:var(--text-secondary);line-height:1.6}.disclaimer-section ul{margin:0;padding-left:var(--spacing-lg);color:var(--text-secondary)}.disclaimer-section li{margin-bottom:var(--spacing-xs);line-height:1.5}.disclaimer-section strong{color:var(--text-primary);font-weight:600}.disclaimer-acknowledgment{background:#d4af371a;border:1px solid var(--gold);border-radius:clamp(8px,2vw,12px);padding:var(--spacing-md);text-align:center;margin-top:var(--spacing-lg)}.disclaimer-acknowledgment strong{color:var(--gold);font-size:var(--text-base);font-weight:600}.disclaimer-content h4{color:var(--gold);margin:var(--spacing-lg) 0 var(--spacing-md) 0;font-size:var(--text-lg);font-weight:600}.disclaimer-content>p{margin-bottom:var(--spacing-md);line-height:1.6;color:var(--text-secondary)}.disclaimer-content>ul{margin:0 0 var(--spacing-md) var(--spacing-lg);color:var(--text-secondary)}.disclaimer-content>ul li{margin-bottom:var(--spacing-xs);line-height:1.5}.legal-updated{font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic;margin-bottom:var(--spacing-lg)}.disclaimer-content::-webkit-scrollbar{width:8px}.disclaimer-content::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.disclaimer-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;transition:var(--transition-fast)}.disclaimer-content::-webkit-scrollbar-thumb:hover{background:var(--gold)}@media (max-width: 768px){.footer{padding:var(--spacing-md) 0}.footer-link{font-size:var(--text-xs);padding:var(--spacing-xs) var(--spacing-sm)}.disclaimer-content{max-height:70vh}.disclaimer-warning strong{font-size:var(--text-base)}.consent-notice{font-size:var(--text-xs)}}@keyframes disclaimerSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay:not(.hidden) .disclaimer-content{animation:disclaimerSlideIn .3s ease}.key-row button:disabled{opacity:.6;cursor:not-allowed}.key-row .btn-secondary:disabled{background:#4ade801a;border-color:var(--success);color:var(--success)}.key-row.funded .key-info strong{animation:fadeInScale .5s ease}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.key-row{padding:var(--spacing-sm);gap:var(--spacing-sm)}.key-actions-cell{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;margin-top:var(--spacing-xs);width:100%}.key-info{flex:1 1 100%}.modal-content{padding:var(--spacing-md)}.keys-table{gap:var(--spacing-xs)}}.modal{max-width:min(95vw,600px)}.keys-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg);align-items:center}.modal-confirm .modal-actions{justify-content:center}.modal-actions .btn-icon{width:44px;height:44px}.modal-alert p{margin:0 0 var(--spacing-lg) 0;color:var(--text-primary);line-height:1.6;white-space:pre-line}.btn-icon-sm{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:clamp(6px,1.5vw,8px);cursor:pointer;transition:var(--transition-fast)}.btn-icon-sm:hover{border-color:var(--border-hover);background:#d4af371a;transform:translateY(-1px)}.btn-icon-sm.btn-danger:hover{border-color:#ef444480;background:#ef44441a;color:var(--error)}.btn-icon-sm:disabled{opacity:.5;cursor:not-allowed;transform:none}.key-actions-cell{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.key-row.funding{opacity:.7;position:relative;transition:all .3s ease}.key-row.funding:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(212,175,55,.1) 50%,transparent 100%);animation:shimmer 1.5s infinite;pointer-events:none;border-radius:inherit}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.key-row.funded{background:#4ade800d;border:1px solid rgba(74,222,128,.2);transition:all .5s ease}#generatedKey{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:var(--text-sm);color:var(--gold);word-break:break-all;padding:var(--spacing-sm);background:var(--bg-primary);border-radius:clamp(6px,1.5vw,8px);margin-bottom:var(--spacing-md);line-height:1.4;text-align:center}.modal-overlay{display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}body.modal-open{position:fixed;width:100%;overflow:hidden}.empty-state{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--text-tertiary)}.empty-state svg{margin-bottom:var(--spacing-md);opacity:.3}.empty-state p{font-size:var(--text-base);margin-bottom:.5rem;color:var(--text-secondary)}.pending-notice{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:clamp(8px,2vw,12px);padding:var(--spacing-md);margin-bottom:var(--spacing-md);animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 #f59e0b00}50%{box-shadow:0 0 20px 5px #f59e0b33}}.pending-notice p{margin:0;color:var(--warning);font-size:var(--text-sm);font-weight:500}.key-status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:70px}.key-status-badge.pending{background:#f59e0b1a;color:var(--warning);border:1px solid rgba(245,158,11,.3)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border);background:#ffffff05}.modal-header h3{margin:0;font-size:var(--text-xl);font-weight:600;letter-spacing:-.5px}.keys-table{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:60vh;overflow-y:auto;padding-right:var(--spacing-xs)}.keys-table::-webkit-scrollbar{width:8px}.keys-table::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}.keys-table::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;transition:var(--transition-fast)}.keys-table::-webkit-scrollbar-thumb:hover{background:var(--gold)}.key-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:clamp(8px,2vw,12px);transition:var(--transition-fast);gap:var(--spacing-md);border:1px solid transparent}.key-row:hover{background:var(--surface);border-color:var(--border);transform:translate(2px)}.key-note{font-weight:500;font-size:var(--text-sm);color:var(--text-primary);max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 480px){.modal{max-width:calc(100vw - 2rem);max-height:calc(100vh - 4rem);border-radius:clamp(12px,3vw,16px);margin:0}.modal-overlay{padding:1rem}.modal-header{padding:var(--spacing-md)}.modal-content{padding:var(--spacing-sm)}.keys-table{max-height:calc(100vh - 160px)}}.modal-overlay{z-index:10000}.loading-overlay{z-index:10001}.toast-container{z-index:10002}#generatedKeyDisplay .key-value{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:var(--text-xs);color:var(--gold);word-break:break-all;padding:var(--spacing-md);background:var(--bg-primary);border-radius:clamp(6px,1.5vw,8px);margin-bottom:var(--spacing-md);line-height:1.6;text-align:left;user-select:all;cursor:text}#generatedKeyDisplay .key-header:after{content:"(Full Key)";font-size:var(--text-xs);color:var(--text-tertiary);margin-left:var(--spacing-sm);font-weight:400}.meeting-link-highlight{background:linear-gradient(135deg,#d4af371a,#d4af370d);border:2px solid var(--gold);border-radius:clamp(12px,3vw,16px);padding:var(--spacing-lg);margin:var(--spacing-lg) 0;text-align:center}.meeting-link-header{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--gold);font-weight:600;margin-bottom:var(--spacing-md)}.meeting-link-box{background:var(--bg-primary);border-radius:clamp(8px,2vw,12px);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.meeting-link-large{color:var(--gold-light);font-size:var(--text-base);font-family:SF Mono,Monaco,Inconsolata,monospace;word-break:break-all;text-decoration:none;padding:var(--spacing-sm);background:var(--surface);border-radius:clamp(6px,1.5vw,8px);transition:var(--transition-fast)}.meeting-link-large:hover{background:#d4af371a;color:var(--gold)}.contributors-section{margin:var(--spacing-lg) 0}.contributor-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.contributor-card{background:var(--surface);border:1px solid var(--border);border-radius:clamp(12px,3vw,16px);padding:var(--spacing-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);text-decoration:none;color:var(--text-primary);transition:var(--transition);position:relative;overflow:hidden}.contributor-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:translate(-100%);transition:transform .6s ease}.contributor-card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:0 8px 24px var(--gold-glow)}.contributor-card:hover:before{transform:translate(100%)}.contributor-icon{width:clamp(48px,10vw,56px);height:clamp(48px,10vw,56px);background:linear-gradient(135deg,#d4af371a,#d4af370d);border-radius:clamp(12px,3vw,16px);display:flex;align-items:center;justify-content:center;color:var(--gold);transition:var(--transition)}.contributor-card:hover .contributor-icon{background:linear-gradient(135deg,#d4af3733,#d4af371a);transform:scale(1.05)}.contributor-name{font-size:var(--text-sm);font-weight:600;letter-spacing:.5px;color:var(--text-primary);transition:var(--transition)}.contributor-card:hover .contributor-name{color:var(--gold)}@media (max-width: 768px){.contributor-cards{grid-template-columns:1fr}.contributor-card{padding:var(--spacing-md)}}.key-reference-notice{background:#d4af371a;border:1px solid var(--gold);border-radius:clamp(8px,2vw,12px);padding:var(--spacing-md);margin:var(--spacing-md) 0;text-align:center}.key-reference-notice p{margin:0}.key-reference-notice strong{color:var(--gold);font-size:var(--text-lg)}#keyReferenceId{font-family:SF Mono,Monaco,Inconsolata,monospace;letter-spacing:1px}.btn.copied{background:#4ade801a;border-color:var(--success);color:var(--success);transform:scale(.98)}.clickable-reference{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--gold);text-underline-offset:3px;transition:var(--transition-fast)}.clickable-reference:hover{color:var(--gold);text-decoration-style:solid}.clickable-reference:active{transform:scale(.95)}@keyframes copyFlash{0%{background:transparent;color:inherit}50%{background:#4ade8033;color:var(--success);border-radius:4px;padding:0 4px}to{background:transparent;color:inherit}}@media (max-width: 768px){.clickable-reference{text-decoration:underline;text-decoration-color:var(--gold);padding:4px 0}}.key-note-btn{background:none;border:none;padding:0;margin:0;font:inherit;color:var(--text-primary);font-weight:500;font-size:var(--text-sm);cursor:pointer;text-align:left;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--gold);text-underline-offset:3px;transition:var(--transition-fast)}.key-note-btn:hover{color:var(--gold);text-decoration-style:solid}.key-note-btn:active{transform:scale(.95)}.copied-flash{animation:copyFlash .6s ease}@keyframes copyFlash{0%,to{background:transparent;color:inherit}50%{background:#4ade8033;color:var(--success);border-radius:4px;padding:0 4px}}.booking-cancelled{position:relative;background:#ef444408;border:1px solid rgba(239,68,68,.15);overflow:hidden}.booking-cancelled:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(239,68,68,.03) 10px,rgba(239,68,68,.03) 20px);pointer-events:none}.booking-cancelled .booking-date{background:#ef44441a;position:relative}.booking-cancelled .date-day{color:var(--error);opacity:.7}.booking-cancelled .booking-info{opacity:.7}.booking-cancelled .booking-time{text-decoration:line-through;text-decoration-color:#ef444480;text-decoration-thickness:2px}.booking-cancelled .booking-subject{text-decoration:line-through;text-decoration-color:#ef444480;text-decoration-thickness:2px;color:var(--text-tertiary)}.booking-cancelled .booking-reference,.booking-cancelled .booking-duration{opacity:.6}.cancelled-badge{background:#ef4444e6;color:#fff;border:none;padding:.375rem .875rem;border-radius:9999px;font-size:.625rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;box-shadow:0 2px 4px #ef444433;white-space:nowrap}.btn-cancel{transition:var(--transition-fast)}.btn-cancel:hover{color:var(--error);border-color:#ef44444d;background:#ef44441a;transform:scale(1.05)}.btn-cancel:active{transform:scale(.95)}.booking-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}@media (max-width: 768px){.booking-item{padding:var(--spacing-md);gap:var(--spacing-sm);position:relative}.booking-actions{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);gap:.375rem}.booking-info{margin-right:100px}.cancelled-badge{padding:.25rem .625rem;font-size:.5625rem}.booking-cancelled .booking-actions{top:50%;transform:translateY(-50%)}}@keyframes cancelledFadeIn{0%{background:#ef44441a;transform:scale(1.02)}to{background:#ef444408;transform:scale(1)}}.booking-cancelled{animation:cancelledFadeIn .5s ease}.booking-content{flex:1;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);min-width:0}.booking-info>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.booking-item{flex-wrap:nowrap;align-items:stretch}.booking-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.booking-actions{align-self:flex-end;margin-top:auto}.booking-info{width:100%}.booking-info>span{font-size:var(--text-sm);line-height:1.4}.booking-reference{font-size:var(--text-base)!important;font-weight:600;margin:.125rem 0}}
