:root{--primary:#ca8a04;--primary-hover:#b45309;--primary-glow:#ca8a041f;--bg-main:#f7f5f0;--bg-card:#fff;--bg-card-hover:#fff;--bg-input:#fff;--border-color:#78716c2e;--border-focus:#ca8a0480;--text-primary:#1c1917;--text-secondary:#57534e;--text-muted:#78716c;--shadow-sm:0 1px 2px 0 #44403c0d;--shadow-md:0 4px 6px -1px #44403c14, 0 2px 4px -1px #44403c0a;--shadow-lg:0 10px 15px -3px #44403c1f, 0 4px 6px -2px #44403c14;--shadow-glow:0 0 20px #ca8a0414;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--status-upcoming-bg:#fef3c7;--status-upcoming-text:#b45309;--status-upcoming-border:#d9770633;--status-ongoing-bg:#d1fae5;--status-ongoing-text:#065f46;--status-ongoing-border:#10b98133;--status-completed-bg:#dbeafe;--status-completed-text:#1e40af;--status-completed-border:#3b82f633;--status-cancelled-bg:#fee2e2;--status-cancelled-text:#991b1b;--status-cancelled-border:#ef444433;font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-main);box-sizing:border-box;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:16px;line-height:1.5}:root[data-theme=dark]{--primary:#f59e0b;--primary-hover:#d97706;--primary-glow:#f59e0b26;--bg-main:#0c0a09;--bg-card:#1c1917;--bg-card-hover:#292524;--bg-input:#1c1917;--border-color:#ffffff14;--border-focus:#f59e0b80;--text-primary:#f5f5f4;--text-secondary:#a8a29e;--text-muted:#78716c;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000026, 0 2px 4px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000004d, 0 4px 6px -2px #0003;--shadow-glow:0 0 20px #f59e0b1a;--status-upcoming-bg:#f59e0b1f;--status-upcoming-text:#fbbf24;--status-upcoming-border:#f59e0b40;--status-ongoing-bg:#10b9811f;--status-ongoing-text:#34d399;--status-ongoing-border:#10b98140;--status-completed-bg:#3b82f61f;--status-completed-text:#60a5fa;--status-completed-border:#3b82f640;--status-cancelled-bg:#ef44441f;--status-cancelled-text:#f87171;--status-cancelled-border:#ef444440;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:inherit}body{background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;padding:0;transition:background-color .3s,color .3s}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{flex-direction:column;gap:24px;width:100%;max-width:1200px;min-height:100vh;margin:0 auto;padding:40px 24px;display:flex}@media (width<=768px){.app-container{gap:24px;padding:24px 16px 90px}}.app-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.brand{align-items:center;gap:12px;display:flex}.logo-container{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#0c0a09;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 0 15px #f59e0b4d}.brand-logo{animation:3s ease-in-out infinite alternate logo-tilt}.brand-text{flex-direction:column;display:flex}.brand-title{letter-spacing:-.5px;background:linear-gradient(to right, var(--text-primary), var(--primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:28px;font-weight:800}.brand-subtitle{color:var(--text-secondary);margin:0;font-size:14px;font-weight:500}.btn-create-header{background:linear-gradient(to right, var(--primary), #ea580c);color:#0c0a09;border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);border:none;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-create-header:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b4d}.btn-create-header:active{transform:translateY(0)}.header-actions{align-items:center;gap:12px;display:flex}.btn-theme-toggle{border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);width:42px;height:42px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-theme-toggle:hover{color:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-theme-toggle:active{transform:translateY(0)}@media (width<=768px){.btn-create-header{display:none}}.btn-admin{border-radius:var(--radius-md);color:#a78bfa;cursor:pointer;background:#8b5cf61a;border:1px solid #8b5cf666;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 0 #8b5cf600}.btn-admin:hover{color:#c4b5fd;background:#8b5cf633;border-color:#8b5cf6b3;transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf640}.btn-admin:active{transform:translateY(0)}.btn-danger{border-radius:var(--radius-md);color:#f87171;cursor:pointer;background:#ef44441f;border:1px solid #ef444466;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-danger:hover{color:#fca5a5;background:#ef444438;border-color:#ef4444b3;transform:translateY(-1px)}.btn-danger:disabled{opacity:.5;cursor:not-allowed;transform:none}.admin-page{flex-direction:column;gap:24px;width:100%;max-width:1100px;margin:0 auto;padding:0 0 40px;display:flex}.admin-header{border-bottom:1px solid var(--border-color);align-items:center;gap:16px;padding-bottom:20px;display:flex}.admin-title-group{flex:1}.admin-page-title{color:var(--text-primary);letter-spacing:-.3px;margin:0 0 2px;font-size:22px;font-weight:800}.admin-page-subtitle{color:var(--text-muted);margin:0;font-size:13px}.admin-header-badge{color:#a78bfa;text-transform:uppercase;letter-spacing:.5px;background:#8b5cf61f;border:1px solid #8b5cf64d;border-radius:20px;align-items:center;gap:5px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-search-bar{flex:1;min-width:220px}.admin-toolbar-right{align-items:center;gap:12px;display:flex}.admin-count-badge{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.admin-locations-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.admin-location-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:18px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.admin-location-card:hover{box-shadow:var(--shadow-md), 0 0 0 1px #8b5cf626;border-color:#8b5cf659;transform:translateY(-2px)}.admin-location-card-header{align-items:flex-start;gap:12px;display:flex}.admin-location-icon-wrap{border-radius:var(--radius-md);color:#a78bfa;background:#8b5cf61a;border:1px solid #8b5cf633;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.admin-location-name-group{flex:1;min-width:0}.admin-location-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-size:15px;font-weight:700;overflow:hidden}.admin-location-city{color:var(--text-muted);font-size:11px;font-weight:500}.admin-location-card-actions{flex-shrink:0;gap:6px;display:flex}.btn-icon-edit,.btn-icon-delete{border-radius:var(--radius-sm);border:1px solid var(--border-color);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:30px;height:30px;transition:all .15s;display:flex}.btn-icon-edit{color:var(--text-muted)}.btn-icon-edit:hover{color:#818cf8;background:#6366f11f;border-color:#6366f166}.btn-icon-delete{color:var(--text-muted)}.btn-icon-delete:hover{color:#f87171;background:#ef44441f;border-color:#ef444459}.admin-location-address{color:var(--text-secondary);align-items:flex-start;gap:6px;font-size:12px;line-height:1.4;display:flex}.admin-location-address svg{color:var(--text-muted);flex-shrink:0;margin-top:2px}.admin-location-notes{color:var(--text-muted);align-items:flex-start;gap:6px;font-size:11px;font-style:italic;line-height:1.4;display:flex}.admin-location-notes svg{opacity:.6;flex-shrink:0;margin-top:1px}.admin-location-links{flex-wrap:wrap;gap:8px;display:flex}.admin-location-link{border:1px solid var(--border-color);color:var(--text-muted);background:0 0;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.admin-location-link:hover{color:var(--primary);background:#f59e0b1a;border-color:#f59e0b4d}.admin-location-card-footer{border-top:1px solid var(--border-color);margin-top:auto;padding-top:8px}.admin-location-date{color:var(--text-muted);font-size:10px;font-weight:500}.admin-empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 32px;display:flex}.admin-empty-state h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.admin-empty-state p{color:var(--text-secondary);margin:0;font-size:14px}.admin-access-denied{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:120px 32px;display:flex}.access-denied-icon{color:#ef444499}.admin-access-denied h2{color:var(--text-primary);margin:0;font-size:24px;font-weight:800}.admin-access-denied p{color:var(--text-secondary);margin:0 0 8px;font-size:14px}.admin-confirm-dialog{max-width:420px}.stats-container{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;width:100%;display:grid}@media (width<=480px){.stats-container{grid-template-columns:repeat(2,1fr);gap:10px}}.stat-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:20px;padding:20px 24px;transition:all .25s;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);border-color:#f59e0b33;transform:translateY(-2px)}@media (width<=480px){.stat-card{text-align:center;flex-direction:column;gap:10px;padding:12px}}.stat-icon-wrapper{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon-wrapper.total{color:var(--primary);background:#f59e0b1a}.stat-icon-wrapper.upcoming{color:#fbbf24;background:#fbbf241a}.stat-icon-wrapper.ongoing{color:#10b981;background:#10b9811a}.stat-icon-wrapper.completed{color:#3b82f6;background:#3b82f61a}.stat-info{flex-direction:column;display:flex}.stat-label{color:var(--text-secondary);font-size:13px;font-weight:500}.stat-value{color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.2}.toolbar-section{padding:12px 0}.toolbar{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:24px;padding:16px 24px;display:flex}@media (width<=768px){.toolbar{flex-direction:column;align-items:stretch;padding:12px}}.search-bar{flex:1;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:10px 16px 10px 40px;font-size:15px;transition:all .2s}.search-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.filter-tabs{background:var(--bg-input);border-radius:var(--radius-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:2px;padding:4px;display:flex;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab-btn{white-space:nowrap;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.filter-tab-btn:hover{color:var(--text-primary)}.filter-tab-btn.active{background-color:var(--bg-card);color:var(--primary);box-shadow:var(--shadow-sm);font-weight:600}@media (width<=768px){.filter-tabs{width:100%}.filter-tab-btn{text-align:center;flex:1;padding:8px 10px;font-size:13px}}.events-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:32px;width:100%;display:grid}@media (width<=480px){.events-grid{grid-template-columns:1fr;gap:14px}}.event-card-wrapper{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background-color:#0000;position:relative}.card-swipe-actions{z-index:1;border-radius:var(--radius-md);background-color:#dc2626;justify-content:flex-end;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.swipe-delete-btn{color:#fff;cursor:pointer;background-color:#dc2626;border:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:80px;height:100%;font-size:12px;font-weight:600;transition:background-color .15s;display:flex}.swipe-delete-btn:hover{background-color:#b91c1c}.event-card{z-index:2;background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);-webkit-user-select:none;user-select:none;flex-direction:column;gap:18px;padding:24px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.event-card:hover{box-shadow:var(--shadow-lg), var(--shadow-glow);border-color:#f59e0b40}.card-header{justify-content:space-between;align-items:center;display:flex}.status-badge{letter-spacing:.2px;border-radius:50px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-upcoming{background-color:var(--status-upcoming-bg);color:var(--status-upcoming-text);border:1px solid var(--status-upcoming-border)}.status-ongoing{background-color:var(--status-ongoing-bg);color:var(--status-ongoing-text);border:1px solid var(--status-ongoing-border);box-shadow:0 0 10px #10b98126}.status-completed{background-color:var(--status-completed-bg);color:var(--status-completed-text);border:1px solid var(--status-completed-border)}.status-cancelled{background-color:var(--status-cancelled-bg);color:var(--status-cancelled-text);border:1px solid var(--status-cancelled-border)}.card-delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.card-delete-btn:hover{color:#f87171;background-color:#ef44441f;transform:scale(1.1)}.event-name{color:var(--text-primary);margin:0;font-size:20px;font-weight:700;line-height:1.3}.event-details{flex-direction:column;gap:8px;display:flex}.detail-item{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:14px;display:flex}.detail-icon{color:var(--primary);flex-shrink:0;margin-top:2px}a.detail-link-location,a.detail-link-website{color:var(--text-secondary);border-radius:var(--radius-sm);margin:-2px -6px;padding:2px 6px;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1)}a.detail-link-location:hover,a.detail-link-website:hover{color:var(--primary);background-color:#f59e0b14}.detail-location-icon{color:#ef4444}.detail-website-icon{color:#3b82f6}.link-external-icon{opacity:.6;margin-left:2px;transition:opacity .2s,transform .2s}a.detail-link-location:hover .link-external-icon,a.detail-link-website:hover .link-external-icon,a.detail-meta-link:hover .link-external-icon{opacity:1;transform:translate(1px,-1px)}a.detail-meta-link{border-radius:var(--radius-sm);background-color:var(--bg-input);border:1px solid var(--border-color);padding:4px 10px;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1)}a.detail-meta-link:hover{border-color:var(--primary);color:var(--primary);background-color:#f59e0b1a;transform:translateY(-1px)}.card-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding-top:14px;display:flex}.status-select-label{color:var(--text-muted);font-size:13px;font-weight:500}.status-select-wrapper{flex:1;max-width:140px;position:relative}.status-select{background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8a29e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:14px;padding:6px 28px 6px 12px;font-size:13px;font-weight:600;transition:border-color .2s}.status-select:focus{border-color:var(--primary);outline:none}.event-modal-dialog{border:1px solid var(--border-color);border-radius:var(--radius-lg);background-color:var(--bg-card);-webkit-backdrop-filter:blur(20px);color:var(--text-primary);box-sizing:border-box;width:calc(100% - 32px);max-width:480px;padding:0;box-shadow:0 25px 50px -12px #00000080}.event-modal-dialog::backdrop{-webkit-backdrop-filter:blur(8px);background-color:#0c0a09b3}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{margin:0;font-size:20px;font-weight:700}.modal-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.modal-close-btn:hover{background-color:var(--border-color);color:var(--text-primary)}.modal-form{flex-direction:column;gap:16px;padding:24px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.form-label{color:var(--text-secondary);font-size:14px;font-weight:600}.form-input{background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);padding:10px 14px;font-size:15px;transition:all .2s}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.form-input.input-error{border-color:#ef4444}.error-message{color:#f87171;margin-top:2px;font-size:12px;font-weight:500}.segmented-control{background-color:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);gap:4px;margin-top:6px;padding:4px;display:flex;position:relative}.segmented-btn{color:var(--text-secondary);cursor:pointer;border-radius:calc(var(--radius-md) - 2px);text-align:center;background:0 0;border:none;flex:1;padding:8px 12px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1)}.segmented-btn:hover{color:var(--text-primary);background-color:#78716c0f}.segmented-btn.active{background-color:var(--bg-card);color:var(--primary);box-shadow:var(--shadow-sm), 0 2px 4px #0000000d}.date-pickers-layout{gap:16px;width:100%;display:flex}@media (width<=600px){.date-pickers-layout{flex-direction:column;gap:12px}}.flex-1{flex:1}.date-input-wrapper{align-items:center;margin-top:6px;display:flex;position:relative}.date-input-icon{color:var(--text-muted);pointer-events:none;transition:color .2s;position:absolute;left:14px}.date-picker-input{cursor:pointer;font-family:inherit;padding-left:40px!important}.date-input-wrapper:focus-within .date-input-icon{color:var(--primary)}.date-picker-input::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(var(--theme-calendar-indicator-invert,0)) sepia(100%) saturate(800%) hue-rotate(15deg);opacity:.6;margin-right:-4px;padding:4px;transition:opacity .2s,transform .15s}.date-picker-input::-webkit-calendar-picker-indicator:hover{opacity:1;transform:scale(1.15)}:root[data-theme=dark]{--theme-calendar-indicator-invert:.8}.date-duration-hint-container{margin-top:-4px;margin-bottom:12px;animation:.3s fade-in;display:flex}.date-duration-hint{background-color:var(--primary-glow);color:var(--primary-hover);border-radius:var(--radius-sm);border:1px solid #ca8a0426;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}:root[data-theme=dark] .date-duration-hint{color:var(--primary);border-color:#f59e0b40}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-down{animation:.25s cubic-bezier(.16,1,.3,1) forwards slide-down}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.form-select-wrapper{width:100%;position:relative}.form-select{background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8a29e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;padding:10px 36px 10px 14px;font-size:15px}.form-select:focus{border-color:var(--primary);outline:none}.modal-actions{justify-content:flex-end;gap:12px;margin-top:10px;display:flex}.btn-primary,.btn-secondary{border-radius:var(--radius-sm);cursor:pointer;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.btn-primary{background:linear-gradient(to right, var(--primary), #ea580c);color:#0c0a09;box-shadow:var(--shadow-sm);border:none}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 10px #f59e0b40}.btn-secondary{border:1px solid var(--border-color);color:var(--text-secondary);background-color:#0000}.btn-secondary:hover{background-color:var(--border-color);color:var(--text-primary)}.mobile-sticky-add-btn{background:linear-gradient(135deg, var(--primary), #ea580c);color:#0c0a09;cursor:pointer;z-index:99;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .2s cubic-bezier(.16,1,.3,1);display:none;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 25px #f59e0b66}.mobile-sticky-add-btn:active{transform:scale(.9)rotate(45deg)}@media (width<=768px){.mobile-sticky-add-btn{display:flex}}.empty-state{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;max-width:600px;margin:40px auto;padding:60px 20px;display:flex}.empty-icon{color:var(--primary);opacity:.7}.empty-state h3{color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.empty-state p{color:var(--text-secondary);max-width:320px;margin:0 0 10px;font-size:14px}@keyframes logo-tilt{0%{transform:rotate(-8deg)scale(1)}to{transform:rotate(8deg)scale(1.05)}}.animate-float{animation:4s ease-in-out infinite float}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.event-detail-screen{flex-direction:column;gap:20px;width:100%;display:flex}.detail-navigation{justify-content:flex-start;display:flex}.btn-back{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-back:hover{background-color:var(--border-color);color:var(--text-primary);transform:translate(-2px)}.detail-header-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:flex-start;gap:20px;padding:24px;display:flex}@media (width<=600px){.detail-header-card{flex-direction:column;align-items:stretch;padding:16px}}.detail-header-meta{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.detail-event-title{color:var(--text-primary);margin:0;font-size:26px;font-weight:850;line-height:1.2}.detail-meta-grid{flex-wrap:wrap;gap:20px;display:flex}.detail-meta-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:14px;display:flex}.detail-header-actions-group{align-items:center;gap:12px;display:flex}@media (width<=600px){.detail-header-actions-group{flex-direction:column;align-items:stretch;width:100%}}.btn-batch-upload{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:650;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-batch-upload:hover{background:var(--bg-input);color:var(--text-primary);border-color:var(--text-muted);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-batch-upload:active{transform:translateY(0)}.btn-add-drink-toggle{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:650;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-add-drink-toggle:hover,.btn-add-drink-toggle.active{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#0c0a09;box-shadow:0 4px 12px var(--primary-glow);border-color:#0000;transform:translateY(-2px)}.add-drink-form{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:16px;padding:24px;animation:.3s cubic-bezier(.16,1,.3,1) forwards slide-down;display:flex}.add-drink-form h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:750}.form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=600px){.form-grid{grid-template-columns:1fr;gap:12px}}.form-grid .form-group.full-width{grid-column:span 2}@media (width<=600px){.form-grid .form-group.full-width{grid-column:span 1}}.form-submit-btn{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:12px;font-weight:700;display:inline-flex}.form-alert{color:#f87171;border-radius:var(--radius-sm);background-color:#ef44441a;border:1px solid #ef444433;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:500;display:flex}.review-alert{margin-bottom:8px;padding:6px 10px;font-size:12px}.drinks-feed-section{flex-direction:column;gap:16px;margin-top:10px;display:flex}.section-title{color:var(--text-primary);margin:0;font-size:20px;font-weight:800}.drinks-grid{flex-direction:column;gap:16px;display:flex}.drinks-empty{margin:10px auto!important;padding:40px 20px!important}.beer-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;transition:all .2s;display:flex;overflow:hidden}.beer-card:hover{box-shadow:var(--shadow-md);border-color:#f59e0b26}.beer-card-main{justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}@media (width<=600px){.beer-card-main{flex-direction:column;align-items:flex-start;gap:16px;padding:16px}}.beer-card-info{flex-direction:column;flex:1;gap:6px;display:flex}.beer-card-top{align-items:center;gap:8px;display:flex}.beer-style-badge{color:var(--primary);letter-spacing:.5px;text-transform:uppercase;background:#ca8a041a;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:750}:root[data-theme=dark] .beer-style-badge{background:#f59e0b1f}.beer-abv-badge{background:var(--border-color);color:var(--text-secondary);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}.beer-name{color:var(--text-primary);margin:0;font-size:20px;font-weight:800;line-height:1.2}.beer-origin{align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.beer-brewery{color:var(--text-primary)}.beer-dot{color:var(--text-muted)}.beer-location{color:var(--text-secondary)}.beer-description{color:var(--text-secondary);margin:4px 0 0;font-size:14px;line-height:1.4}.beer-card-rating-dash{flex-direction:column;align-items:center;gap:8px;min-width:110px;display:flex}@media (width<=600px){.beer-card-rating-dash{border-top:1px solid var(--border-color);flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding-top:12px}}.avg-rating-badge{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--primary);box-shadow:var(--shadow-sm);align-items:center;gap:6px;padding:6px 12px;font-weight:700;display:inline-flex}.avg-val{font-size:16px}.avg-val-none{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.btn-toggle-reviews{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 8px;font-size:13px;font-weight:650;transition:color .15s;display:inline-flex}.btn-toggle-reviews:hover{color:var(--primary)}.beer-reviews-drawer{background:var(--bg-input);border-top:1px solid var(--border-color);flex-direction:column;gap:16px;padding:20px;animation:.25s cubic-bezier(.16,1,.3,1) forwards slide-down;display:flex}@media (width<=600px){.beer-reviews-drawer{padding:16px}}.reviews-header h5{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:14px;font-weight:750}.reviews-list{flex-direction:column;gap:12px;max-height:250px;padding-right:6px;display:flex;overflow-y:auto}.review-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:6px;padding:12px;display:flex}.review-item-header{justify-content:space-between;align-items:center;display:flex}.review-author{color:var(--text-primary);font-size:13px;font-weight:700}.review-meta-tag{background:var(--bg-hover,#ffffff0f);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:10px;align-items:center;padding:1px 6px;font-size:10px;font-weight:600;line-height:1.3;display:inline-flex}.review-meta-tag.price{color:var(--amber-gold,#f59e0b);background:#eab3081f;border-color:#eab30840}.review-stars-fixed{gap:1px;display:flex}.star-filled{color:#eab308}.star-empty{color:var(--text-muted);opacity:.3}.review-comment{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.4}.review-date{color:var(--text-muted);align-self:flex-end;font-size:11px;font-weight:500}.reviews-empty-state{text-align:center;color:var(--text-muted);padding:16px;font-size:13px;font-weight:500}.add-review-form-inline{border-top:1px solid var(--border-color);flex-direction:column;gap:12px;padding-top:16px;display:flex}.add-review-form-inline h6{color:var(--text-primary);text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.review-form-inputs{flex-direction:column;gap:10px;display:flex}.star-input-group{align-items:center;gap:12px;display:flex}.star-label-text{color:var(--text-secondary);font-size:13px;font-weight:600}.star-selector{gap:2px;display:flex}.star-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:2px;transition:transform .1s;display:flex}.star-btn:hover{transform:scale(1.15)}.star-btn .star-filled{color:#eab308}.star-btn .star-empty{color:var(--text-muted);opacity:.4}.rating-score-badge{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b40;border-radius:8px;align-items:center;gap:2px;padding:4px 10px;font-size:18px;font-weight:800;display:inline-flex}.rating-input-box{background:var(--bg-tertiary,#ffffff0a);border:1px solid var(--border-color,#ffffff1a);border-radius:12px;flex-direction:column;gap:16px;padding:16px;display:flex}.rating-slider-row{align-items:center;gap:12px;display:flex}.btn-rating-step{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:700;transition:all .15s}.btn-rating-step:hover{color:#fff;background:#f59e0b;border-color:#f59e0b;transform:translateY(-1px)}.rating-range-slider{accent-color:#f59e0b;cursor:pointer;border-radius:3px;flex:1;height:6px}.star-btn-item:hover{transform:scale(1.2)}.review-input-name{max-width:240px;padding:8px 12px!important;font-size:13px!important}@media (width<=600px){.review-input-name{max-width:100%}}.review-textarea{resize:vertical;min-height:60px;font-family:inherit;padding:8px 12px!important;font-size:13px!important}.review-submit-btn{border-radius:var(--radius-sm);align-self:flex-start;padding:8px 16px!important;font-size:13px!important}@media (width<=600px){.review-submit-btn{align-self:stretch}}.auth-container-wrapper{justify-content:center;align-items:center;width:100%;min-height:calc(100vh - 100px);padding:20px 16px;display:flex}.auth-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-lg), var(--shadow-glow);flex-direction:column;align-items:stretch;padding:40px;animation:.4s cubic-bezier(.16,1,.3,1) forwards slide-down;display:flex}@media (width<=480px){.auth-card{padding:24px 16px}}.auth-brand{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:24px;display:flex}.auth-logo-container{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#0c0a09;width:56px;height:56px;box-shadow:0 0 20px var(--primary-glow);justify-content:center;align-items:center;margin-bottom:8px;display:flex}.auth-brand-logo{animation:3s ease-in-out infinite alternate logo-tilt}.auth-brand-title{letter-spacing:-.5px;background:linear-gradient(to right, var(--text-primary), var(--primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:32px;font-weight:850}.auth-brand-subtitle{color:var(--text-secondary);margin:0;font-size:14px;font-weight:550}.auth-title{color:var(--text-primary);text-align:center;margin:0 0 6px;font-size:22px;font-weight:800}.auth-instructions{color:var(--text-secondary);text-align:center;margin:0 0 24px;font-size:14px;line-height:1.4}.auth-alert{margin-bottom:20px}.auth-form{flex-direction:column;gap:18px;display:flex}.auth-input-wrapper{width:100%;position:relative}.auth-input-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.auth-input{padding-left:42px!important}.auth-submit-btn{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;margin-top:6px;font-weight:700;display:inline-flex;padding:12px!important;font-size:15px!important}.auth-footer{color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;margin-top:24px;font-size:14px;display:flex}.btn-link{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:700;transition:color .15s}.btn-link:hover{color:var(--primary-hover);text-decoration:underline}.user-email-badge{background:var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);border:1px solid #0000;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}@media (width<=600px){.user-email-badge{display:none}}.btn-logout{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;height:42px;box-shadow:var(--shadow-sm);background:0 0;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:650;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-logout:hover{color:#ef4444;box-shadow:var(--shadow-md);background-color:#ef444414;border-color:#ef444433;transform:translateY(-2px)}@media (width<=480px){.btn-logout span{display:none}.btn-logout{padding:8px 10px}}.loading-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.loading-container h3{color:var(--text-primary);margin:0;font-size:20px;font-weight:800}.loading-container p{color:var(--text-secondary);margin:0;font-size:14px}.btn-add-review-trigger{background:var(--bg-card);border:1px solid var(--border-color);color:var(--primary);cursor:pointer;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.btn-add-review-trigger:hover{background:var(--primary);color:#0c0a09;box-shadow:var(--shadow-md);border-color:#0000;transform:translateY(-1px)}.btn-add-review-trigger:active{transform:translateY(0)}.btn-close-reviews{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:inline-flex}.btn-close-reviews:hover{background-color:var(--border-color);color:var(--text-primary)}.auth-page-wrapper{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}.auth-footer-links{justify-content:center;width:100%;margin-top:-10px;margin-bottom:24px;display:flex}.app-footer{border-top:1px solid var(--border-color);flex-direction:column;align-items:center;gap:12px;width:100%;margin-top:auto;padding:32px 0 16px;display:flex}.footer-links{gap:16px;display:flex}.footer-link-btn,.cookie-banner-link-btn{color:var(--text-secondary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:4px 8px;font-size:14px;font-weight:500;text-decoration:underline;transition:color .2s,-webkit-text-decoration .2s,text-decoration .2s}.footer-link-btn:hover,.cookie-banner-link-btn:hover{color:var(--primary)}.footer-copyright{color:var(--text-muted);margin:0;font-size:12px}.cookie-banner-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);width:calc(100% - 48px);max-width:900px;box-shadow:0 10px 30px #0003, var(--shadow-glow);z-index:9999;-webkit-backdrop-filter:blur(20px);padding:20px 24px;animation:.5s cubic-bezier(.16,1,.3,1) forwards cookie-slide-up;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes cookie-slide-up{0%{opacity:0;transform:translate(-50%,100px)}to{opacity:1;transform:translate(-50%)}}.cookie-banner-content{flex-direction:row;justify-content:space-between;align-items:center;gap:24px;display:flex}.cookie-banner-text-wrapper{flex:1;align-items:flex-start;gap:16px;display:flex}.cookie-banner-icon-container{background:var(--primary-glow);color:var(--primary);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:10px;display:flex}.cookie-banner-text h4{color:var(--text-primary);margin:0 0 4px;font-size:16px;font-weight:700}.cookie-banner-text p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.cookie-banner-link-btn{font-size:inherit;padding:0;font-weight:600;display:inline}.cookie-banner-actions{flex-shrink:0;gap:8px;display:flex}.btn-sm{border-radius:var(--radius-sm);padding:8px 16px;font-size:13px;font-weight:600}@media (width<=768px){.cookie-banner-content{flex-direction:column;align-items:stretch;gap:16px}.cookie-banner-actions{justify-content:flex-end}}.policy-modal-dialog{border:1px solid var(--border-color);border-radius:var(--radius-lg);background-color:var(--bg-card);color:var(--text-primary);box-sizing:border-box;width:calc(100% - 32px);max-width:600px;padding:0;box-shadow:0 25px 50px -12px #00000080}.policy-modal-dialog::backdrop{-webkit-backdrop-filter:blur(8px);background-color:#0c0a09b3}.modal-title-with-icon{align-items:center;gap:10px;display:flex}.modal-title-icon{color:var(--primary)}.policy-modal-body{flex-direction:column;gap:20px;max-height:60vh;padding:24px;display:flex;overflow-y:auto}.policy-section h3{color:var(--text-primary);margin:0 0 8px;font-size:16px;font-weight:700}.policy-section p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.policy-list{color:var(--text-secondary);flex-direction:column;gap:6px;margin:8px 0 0;padding-left:20px;font-size:14px;display:flex}.policy-list li{line-height:1.5}.consent-options{flex-direction:column;gap:12px;margin-top:16px;display:flex}.consent-option-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-main);text-align:left;padding:16px}.consent-option-card.essential{border-left:4px solid var(--primary)}.consent-option-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.option-title-container{color:var(--text-primary);align-items:center;gap:8px;display:flex}.option-icon{color:var(--primary)}.consent-option-header h4{margin:0;font-size:14px;font-weight:700}.badge{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.badge-essential{background:var(--primary-glow);color:var(--primary);border:1px solid var(--primary)}.option-description{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.toggle-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--border-color);border-radius:24px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:all .3s;position:absolute;bottom:4px;left:4px}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.btn-user-profile{background:var(--border-color);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;height:42px;box-shadow:var(--shadow-sm);border:1px solid #0000;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:650;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-user-profile:hover,.btn-user-profile.active{background:var(--primary-glow);color:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (width<=600px){.btn-user-profile{padding:8px 12px}.btn-user-profile span{display:none}}.profile-screen{flex-direction:column;gap:24px;display:flex}.profile-layout-grid{grid-template-columns:320px 1fr;align-items:start;gap:32px;display:grid}@media (width<=968px){.profile-layout-grid{grid-template-columns:1fr;gap:24px}}.profile-sidebar-group{flex-direction:column;gap:24px;display:flex}.profile-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:16px;padding:32px 24px;transition:border-color .25s,transform .25s;display:flex}.profile-card:hover{box-shadow:var(--shadow-md);border-color:#f59e0b33;transform:translateY(-2px)}.profile-avatar-wrapper{display:inline-flex;position:relative}.profile-avatar{background:linear-gradient(135deg, var(--primary), #ea580c);color:#0c0a09;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:36px;font-weight:800;display:flex;box-shadow:0 4px 12px #f59e0b40}.profile-details{flex-direction:column;gap:6px;width:100%;display:flex}.profile-name{color:var(--text-primary);margin:0;font-size:20px;font-weight:800}.profile-email{color:var(--text-secondary);word-break:break-all;margin:0;font-size:14px}.profile-meta-row{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin-top:8px;font-size:13px;display:flex}.profile-meta-icon{color:var(--text-muted)}.profile-stats-dashboard{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:24px;display:flex}.sidebar-title{color:var(--text-primary);border-bottom:1px solid var(--border-color);margin:0;padding-bottom:12px;font-size:16px;font-weight:750}.profile-stats-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width<=480px){.profile-stats-grid{grid-template-columns:1fr}}.profile-stat-box{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:16px;transition:all .2s;display:flex}.profile-stat-box:hover{border-color:var(--border-focus);transform:translateY(-2px)}.stat-box-icon{background:var(--bg-card);width:36px;height:36px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex}.text-amber{color:#d97706}.text-gold{color:#fbbf24}.text-beer{color:var(--primary)}.text-emerald{color:#10b981}.stat-box-data{flex-direction:column;gap:2px;display:flex}.stat-box-value{color:var(--text-primary);font-size:20px;font-weight:800;line-height:1.2}.stat-box-label{color:var(--text-secondary);font-size:11px;font-weight:500}.profile-achievement-card{border-radius:var(--radius-md);color:#10b981;background:#10b98114;border:1px solid #10b98129;align-items:flex-start;gap:10px;padding:12px 16px;font-size:13px;display:flex}.profile-achievement-card strong{font-weight:700}.achievement-icon{flex-shrink:0;margin-top:2px}.profile-feed-group{flex-direction:column;gap:32px;display:flex}.profile-feed-section,.profile-events-list{flex-direction:column;gap:16px;display:flex}.profile-event-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:20px 24px;transition:all .2s;display:flex}.profile-event-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-focus);transform:translateY(-2px)}.profile-event-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.profile-event-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.profile-event-name{color:var(--text-primary);margin:0;font-size:17px;font-weight:800}.profile-event-meta-info{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:16px;font-size:13px;display:flex}.event-meta-item{color:var(--text-muted);align-items:center;gap:5px;display:inline-flex}.profile-event-footer{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.profile-event-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.event-stat-chip{background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:12px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.event-stat-chip.chip-highlight{background:var(--primary-glow);color:var(--primary);border-color:#f59e0b4d}.feed-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.feed-count-badge{color:var(--text-secondary);background:var(--border-color);border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600}.profile-reviews-list{flex-direction:column;gap:16px;display:flex}.profile-review-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:24px;transition:all .2s;display:flex}.profile-review-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-focus);transform:translateY(-2px)}.profile-review-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.profile-review-beer-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profile-review-beer-name{color:var(--text-primary);margin:0;font-size:16px;font-weight:850}.profile-review-beer-style{color:var(--text-muted);background:var(--bg-main);border:1px solid var(--border-color);border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.profile-review-brewery{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.profile-review-stars{color:#fbbf24;gap:2px;display:flex}.profile-review-comment{color:var(--text-primary);margin:0;font-size:14px;font-style:italic;line-height:1.6}.profile-review-footer{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding-top:12px;display:flex}.profile-review-date{color:var(--text-muted);font-size:12px}.btn-profile-event-link{color:var(--primary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:4px;padding:4px 8px;font-size:13px;font-weight:650;transition:all .2s;display:inline-flex}.btn-profile-event-link:hover{background:var(--primary-glow);color:var(--primary-hover);padding-right:12px}.profile-reviews-empty{background:var(--bg-card);border:1px dashed var(--border-color);border-radius:var(--radius-lg);text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.profile-reviews-empty h4{color:var(--text-primary);margin:0;font-size:18px;font-weight:750}.profile-reviews-empty p{color:var(--text-muted);max-width:320px;margin:0;font-size:14px}.card-attend-btn{background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:4px;height:28px;padding:4px 8px;font-size:11px;font-weight:600;transition:all .2s;display:inline-flex}.card-attend-btn:hover{background:var(--primary-glow);color:var(--primary);border-color:var(--primary)}.card-attend-btn.active{color:#10b981;background:#10b9811a;border-color:#10b9814d}.card-attend-btn.active:hover{color:#ef4444;background:#ef44441a;border-color:#ef44444d}.btn-detail-attend{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;height:42px;box-shadow:var(--shadow-sm);align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:650;transition:all .2s;display:inline-flex}.btn-detail-attend:hover{background:var(--primary-glow);color:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-detail-attend.active{color:#10b981;background:#10b9811a;border-color:#10b9814d}.btn-detail-attend.active:hover{color:#ef4444;background:#ef44441a;border-color:#ef44444d}.attendees-count-pill{color:#10b981;background:#10b98133;border-radius:10px;margin-left:4px;padding:2px 6px;font-size:11px;font-weight:700}.btn-detail-attend.active:hover .attendees-count-pill{color:#ef4444;background:#ef444433}.profile-name-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.privacy-badge{letter-spacing:.2px;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:650;display:inline-flex}.badge-public{color:#10b981;background:#10b9811f;border:1px solid #10b9814d}.badge-private{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b4d}.privacy-settings-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px 20px;transition:all .2s}.privacy-settings-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.privacy-title{color:var(--text-primary);margin:0 0 4px;font-size:15px;font-weight:700}.privacy-desc{color:var(--text-muted);margin:0;font-size:12px;line-height:1.4}.btn-privacy-toggle{background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:650;transition:all .2s;display:inline-flex}.btn-privacy-toggle:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-glow)}.btn-privacy-toggle.active{color:#10b981;background:#10b9811a;border-color:#10b9814d}.friends-dashboard{flex-direction:column;gap:16px;display:flex}.sidebar-header-with-action{justify-content:space-between;align-items:center;gap:12px;display:flex}.title-with-badge{align-items:center;gap:8px;display:flex}.friends-count-pill{background:var(--primary-glow);color:var(--primary);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.friends-list-grid{flex-direction:column;gap:10px;display:flex}.friend-card-item{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:10px 12px;transition:all .2s;display:flex}.friend-card-item:hover{border-color:var(--primary)}.friend-info{align-items:center;gap:10px;display:flex;overflow:hidden}.friend-avatar{background:linear-gradient(135deg, var(--primary), #f59e0b);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:flex}.friend-details{flex-direction:column;display:flex;overflow:hidden}.friend-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:650;overflow:hidden}.friend-email{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.btn-remove-friend{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.btn-remove-friend:hover{color:#ef4444;background:#ef44441f}.friends-empty-state{color:var(--text-muted);background:var(--bg-main);border:1px dashed var(--border-color);border-radius:var(--radius-md);text-align:center;padding:12px;font-size:12px;line-height:1.5}.friends-empty-state p{margin:0}.search-users-dialog{width:90vw;max-width:540px}.user-search-results-list{flex-direction:column;gap:10px;max-height:340px;padding-right:4px;display:flex;overflow-y:auto}.user-search-card{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:12px 14px;transition:all .2s;display:flex}.user-search-card:hover{border-color:var(--primary)}.user-search-info{align-items:center;gap:12px;display:flex}.user-search-avatar{width:38px;height:38px;font-size:15px}.user-search-name{color:var(--text-primary);margin:0 0 2px;font-size:14px;font-weight:650}.user-search-email{color:var(--text-muted);margin:0;font-size:12px}.friend-status-btn .icon-minus,.friend-status-btn:hover .icon-check{display:none}.friend-status-btn:hover .icon-minus{display:inline-block}.friend-status-btn:hover{color:#ef4444!important;background:#ef44441f!important;border-color:#ef44444d!important}.image-attachment-wrapper{background:var(--bg-tertiary);border:1px dashed var(--border-color);border-radius:var(--radius-md);margin-top:6px;padding:12px;transition:border-color .2s}.image-attachment-wrapper:hover{border-color:var(--primary)}.image-input-options{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn-file-upload{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-file-upload:hover{border-color:var(--primary);color:var(--primary);background:#f59e0b1a}.or-divider{color:var(--text-muted);font-size:12px;font-weight:500}.url-input{flex:1;min-width:200px;padding:7px 12px;font-size:13px}.image-preview-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);align-items:center;gap:12px;padding:8px;display:flex}.image-preview-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-color);width:56px;height:56px}.btn-remove-image{color:#ef4444;border-radius:var(--radius-sm);cursor:pointer;background:#ef44441a;border:1px solid #ef444440;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.btn-remove-image:hover{color:#fff;background:#ef4444}.beer-card-image-banner{cursor:pointer;background:#18181b;width:100%;max-height:180px;position:relative;overflow:hidden}.beer-card-img{object-fit:cover;width:100%;height:180px;transition:transform .3s;display:block}.beer-card-image-banner:hover .beer-card-img{transform:scale(1.04)}.image-zoom-badge{-webkit-backdrop-filter:blur(4px);color:#fff;opacity:.85;background:#000000a6;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;transition:opacity .2s;display:inline-flex;position:absolute;bottom:8px;right:8px}.beer-card-image-banner:hover .image-zoom-badge{opacity:1;background:var(--primary)}.photo-attached-badge{color:#10b981;background:#10b9811f;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.review-photo-container{flex-direction:column;gap:4px;margin-top:8px;margin-bottom:6px;display:flex}.review-photo-thumb{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-color);cursor:pointer;width:110px;height:110px;transition:transform .2s,border-color .2s}.review-photo-thumb:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:scale(1.03)}.review-photo-caption{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.lightbox-overlay{z-index:99999;-webkit-backdrop-filter:blur(8px);background:#000000d9;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lightbox-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.lightbox-img{object-fit:contain;background:#000;max-width:100%;max-height:75vh;display:block}.lightbox-caption{background:var(--bg-secondary);border-top:1px solid var(--border-color);text-align:center;width:100%;padding:14px 20px}.lightbox-caption h4{color:var(--text-primary);margin:0 0 2px;font-size:16px;font-weight:700}.lightbox-caption p{color:var(--text-muted);margin:0;font-size:13px}.lightbox-close-btn{color:#fff;cursor:pointer;z-index:10;background:#0009;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:12px;right:12px}.lightbox-close-btn:hover{background:var(--primary);border-color:var(--primary)}button,input,select,textarea,a,label{touch-action:manipulation}.mobile-bottom-nav{z-index:10000;background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-color);padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px)) 12px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0003}:root[data-theme=dark] .mobile-bottom-nav{background:#0f172aeb}:root[data-theme=light] .mobile-bottom-nav{background:#ffffffeb}@media (width<=768px){.mobile-bottom-nav{justify-content:space-around;align-items:center;display:flex}.app-main{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))!important}.mobile-sticky-add-btn{display:none!important}.app-header{padding:12px 16px}.brand-subtitle{display:none}#btn-add-event-desktop{display:none!important}.header-actions .btn-user-profile span,.header-actions .btn-admin span,.header-actions .btn-logout span{display:none}}.nav-tab-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:56px;min-height:48px;padding:6px 10px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.nav-tab-btn:hover,.nav-tab-btn.active{color:var(--primary)}.nav-tab-btn.active svg{filter:drop-shadow(0 2px 6px #f59e0b66);transform:translateY(-1px)}.nav-tab-primary{width:46px;min-width:46px;height:46px;min-height:46px;transform:translateY(-8px);box-shadow:0 4px 14px #f59e0b66;background:var(--gradient-primary)!important;color:#fff!important;border-radius:50%!important;padding:0!important}.nav-tab-primary:active{transform:translateY(-6px)scale(.95)}@keyframes slideUpBottomSheet{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.event-modal-dialog,.policy-modal-dialog,.search-users-dialog{width:100%!important;max-width:100%!important;max-height:88dvh!important;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;border-radius:24px 24px 0 0!important;margin:auto 0 0!important;animation:.28s cubic-bezier(.16,1,.3,1) slideUpBottomSheet!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important}.event-modal-dialog::backdrop,.policy-modal-dialog::backdrop{-webkit-backdrop-filter:blur(4px);background:#000000b3}.modal-actions{background:var(--bg-card);border-top:1px solid var(--border-color);z-index:10;margin-top:16px;padding:12px 0 4px;position:sticky;bottom:0}.form-input,.form-select,.btn-primary,.btn-secondary,.btn-detail-attend,.btn-batch-upload,.btn-add-drink-toggle{min-height:44px;font-size:14px}.beer-card-main{flex-direction:column;align-items:stretch}.beer-card-rating-dash{border-top:1px solid var(--border-color);flex-direction:row;justify-content:space-between;align-items:center;width:100%;margin-top:8px;padding-top:12px}.toolbar .filter-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%;padding-bottom:4px;overflow-x:auto}.toolbar .filter-tabs::-webkit-scrollbar{display:none}.filter-tab-btn{white-space:nowrap;padding:8px 14px;font-size:13px}}
