.badge{display:inline-flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);line-height:var(--line-height-tight);border-radius:var(--border-radius-full);background-color:var(--color-primary);color:var(--color-text-inverse);white-space:nowrap;vertical-align:middle;text-transform:uppercase}.badge--numeric{min-width:20px;height:20px;padding:0 var(--spacing-1);letter-spacing:.02em}.badge--dot{width:8px;height:8px;min-width:8px;padding:0;border-radius:var(--border-radius-full);border:2px solid var(--color-surface)}.badge--new{height:18px;padding:0 var(--spacing-1);font-size:10px;letter-spacing:.05em;font-weight:var(--font-weight-bold)}.badge-container{position:relative;display:inline-block}.badge-container .badge{position:absolute;top:-6px;right:-6px}.badge-container .badge--dot{top:-2px;right:-2px}.badge-container .badge--new{top:-8px;right:-8px}.badge--secondary{background-color:var(--color-secondary)}.badge--error{background-color:var(--color-error)}.badge--warning{background-color:var(--color-warning);color:var(--color-text-primary)}.badge--success{background-color:var(--color-success)}.badge--info{background-color:var(--color-info)}@keyframes badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}.badge--new{animation:badge-pulse 2s ease-in-out infinite}@media(prefers-contrast:high){.badge{border:2px solid currentColor}.badge--dot{border-width:3px}}@media(prefers-reduced-motion:reduce){.badge--new{animation:none}}@media(prefers-color-scheme:dark){.badge--dot{border-color:var(--color-background)}}.bottom-nav{--nav-bg: #EDE9E0;--nav-line: #E5E5E0;--nav-muted: #7A6F61;--nav-amber: #C07B2A;--nav-charcoal: #1C1917;display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1000;height:58px;align-items:center;justify-content:space-around;padding:0 4px;padding-bottom:env(safe-area-inset-bottom);background:var(--nav-bg);border-top:1px solid var(--nav-line);font-family:DM Sans,sans-serif}@media(min-width:768px){.bottom-nav{display:none}}.bottom-nav-items{display:flex;width:100%;align-items:center;justify-content:space-around}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 10px;border:none;background:none;color:var(--nav-muted);cursor:pointer;text-decoration:none;transition:color .12s ease;-webkit-tap-highlight-color:transparent}.bottom-nav-item:hover,.bottom-nav-item:active{color:var(--nav-charcoal)}.bottom-nav-item:focus-visible{outline:2px solid var(--nav-amber);outline-offset:2px;border-radius:3px}.bottom-nav-item--active{color:var(--nav-amber)}.bottom-nav-label{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1}.bottom-nav-badge-wrap{position:relative;display:flex;align-items:center;justify-content:center}#nav-my-stuff.nav-my-stuff--pulse .bottom-nav-badge-wrap,[data-nav-my-stuff].nav-my-stuff--pulse .bottom-nav-badge-wrap{animation:nav-my-stuff-pulse .45s ease}.notification-badge{position:absolute;display:inline-flex;align-items:center;justify-content:center;font-weight:600;border-radius:9999px;color:#fff;line-height:1;pointer-events:none;z-index:10;animation:badge-fade-in .2s ease-out;box-shadow:0 2px 4px #0003;border:2px solid white}.notification-badge-sm{min-width:16px;height:16px;padding:0 4px;font-size:10px;border-width:1.5px}.notification-badge-md{min-width:20px;height:20px;padding:0 5px;font-size:11px;border-width:2px}.notification-badge-lg{min-width:24px;height:24px;padding:0 6px;font-size:12px;border-width:2px}.notification-badge-red{background:linear-gradient(135deg,#ef4444,#dc2626)}.notification-badge-blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.notification-badge-green{background:linear-gradient(135deg,#10b981,#059669)}.notification-badge-yellow{background:linear-gradient(135deg,#f59e0b,#d97706)}.notification-badge-purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.notification-badge-pulse{animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}}@keyframes badge-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.notification-badge-sm{min-width:14px;height:14px;font-size:9px}.notification-badge-md{min-width:18px;height:18px;font-size:10px}.notification-badge-lg{min-width:22px;height:22px;font-size:11px}}@media(prefers-contrast:high){.notification-badge{border-width:3px;font-weight:700}}@media(prefers-reduced-motion:reduce){.notification-badge,.notification-badge-pulse{animation:none}}@media(prefers-color-scheme:dark){.notification-badge{border-color:#1a1a1a;box-shadow:0 2px 6px #0006}}.desktop-nav{--nav-bg: #EDE9E0;--nav-line: #E5E5E0;--nav-charcoal: #1C1917;--nav-muted: #7A6F61;--nav-amber: #C07B2A;--nav-ivory: #FCFBF8;--nav-hover: #D8CEB8;display:none;position:fixed;left:0;top:0;z-index:40;width:68px;height:100%;flex-direction:column;align-items:center;padding:24px 0;gap:4px;background:var(--nav-bg);border-right:1px solid var(--nav-line);font-family:DM Sans,sans-serif}@media(min-width:768px){.desktop-nav{display:flex}}.desktop-nav-brand{writing-mode:vertical-rl;transform:rotate(180deg);font-family:Playfair Display,Georgia,serif;font-weight:900;font-size:10px;letter-spacing:.2em;color:var(--nav-charcoal);margin-bottom:28px;-webkit-user-select:none;user-select:none;line-height:1}.desktop-nav-items{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.desktop-nav-item{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:3px;border:none;background:transparent;color:var(--nav-muted);cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease}.desktop-nav-item:hover{background:var(--nav-hover);color:var(--nav-charcoal)}.desktop-nav-item:focus-visible{outline:2px solid var(--nav-amber);outline-offset:2px}.desktop-nav-item--active,.desktop-nav-item--active:hover{background:var(--nav-amber);color:var(--nav-ivory)}.desktop-nav-badge-wrap{position:relative;display:flex;align-items:center;justify-content:center}#nav-my-stuff.nav-my-stuff--pulse .desktop-nav-badge-wrap,[data-nav-my-stuff].nav-my-stuff--pulse .desktop-nav-badge-wrap{animation:nav-my-stuff-pulse .45s ease}.sidebar-fab{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:12px;z-index:1150;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:48px;height:48px;padding:0;border:none;border-radius:50%;background:#ede9e0;color:#1c1917;box-shadow:0 2px 10px #1c19172e;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}@media(min-width:768px){.sidebar-fab{left:80px}}.sidebar-fab:hover{background:#e2dccf;box-shadow:0 4px 14px #1c191738}.sidebar-fab:active{transform:scale(.96)}.sidebar-fab:focus-visible{outline:2px solid #c07b2a;outline-offset:2px}.sidebar-fab-line{display:block;width:18px;height:2px;border-radius:1px;background:currentColor}.sidebar-overlay{position:fixed;inset:0;z-index:1190;background:#1c191766;animation:sidebar-overlay-in .2s ease}@keyframes sidebar-overlay-in{0%{opacity:0}to{opacity:1}}.sidebar-drawer{position:fixed;top:0;left:0;z-index:1200;display:flex;flex-direction:column;width:min(300px,86vw);height:100%;background:#fcfbf8;border-right:1px solid #e5e5e0;box-shadow:8px 0 28px #1c191729;transform:translate(-105%);transition:transform .22s ease;font-family:DM Sans,sans-serif;pointer-events:none}.sidebar-drawer--open{transform:translate(0);pointer-events:auto}.sidebar-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px;padding-top:calc(16px + env(safe-area-inset-top,0px));border-bottom:1px solid #e5e5e0}.sidebar-drawer-brand{font-family:Playfair Display,Georgia,serif;font-size:15px;font-weight:700;color:#1c1917;letter-spacing:.02em}.sidebar-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:#5c5348;font-size:18px;line-height:1;cursor:pointer}.sidebar-close:hover{background:#ede9e0;color:#1c1917}.sidebar-close:focus-visible{outline:2px solid #c07b2a;outline-offset:2px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1;padding:16px 12px;overflow-y:auto}.sidebar-link{display:block;padding:12px 14px;border-radius:8px;color:#1c1917;text-decoration:none;font-size:15px;font-weight:500;line-height:1.35;border:none;background:none;text-align:left;width:100%;cursor:pointer;font-family:inherit;transition:background .12s ease,color .12s ease}.sidebar-link:hover{background:#ede9e0}.sidebar-link:focus-visible{outline:2px solid #c07b2a;outline-offset:1px}.sidebar-link--create{margin-bottom:8px;background:#c07b2a;color:#fff;font-weight:700;font-size:16px}.sidebar-link--create:hover{background:#a86822;color:#fff}.sidebar-divider{border:none;border-top:1px solid #e5e5e0;margin:10px 6px}.sidebar-link--admin{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#7a6f61}.sidebar-link--admin:hover{color:#5c5348;background:#f5f0e8}.sidebar-admin-icon{font-size:12px;line-height:1}.sidebar-footer{padding:12px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid #e5e5e0}.sidebar-link--signout{color:#7a6f61;font-weight:500}.sidebar-link--signout:hover{background:#f5f0e8;color:#5c5348}.afd-scrim{position:fixed;inset:0;z-index:890;border:0;padding:0;background:#0d0d0d99;cursor:pointer}.afd-sheet{position:fixed;left:0;right:0;bottom:0;z-index:900;display:flex;flex-direction:column;height:65vh;background:#fcfbf8;color:#1a1a1a;border-radius:16px 16px 0 0;box-shadow:0 -8px 28px #1a1a1a1f;font-family:DM Sans,sans-serif;transition:height .22s ease}.afd-sheet.is-expanded{height:90vh}.afd-handle{display:flex;justify-content:center;flex:0 0 auto;width:100%;margin:0;padding:10px 0 6px;border:0;background:transparent;cursor:grab;touch-action:none}.afd-handle span{width:42px;height:5px;border-radius:999px;background:#d6d1c7}.afd-header,.afd-footer{flex:0 0 auto}.afd-header{display:flex;align-items:center;justify-content:space-between;padding:2px 16px 12px;border-bottom:1px solid #e5e5e0}.afd-header h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:18px;font-weight:700;line-height:1.2}.afd-clear{border:0;background:transparent;color:#a39890;font:inherit;font-size:14px;font-weight:500;cursor:pointer}.afd-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-anchor:none;overscroll-behavior:contain;padding:0 16px;-webkit-overflow-scrolling:touch}.afd-loading{margin:0;color:#a39890;font-size:13px}.afd-section{padding:16px 0;border-bottom:1px solid #e5e5e0}.afd-section--search{padding-bottom:12px}.afd-search{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #e5e5e0;border-radius:999px;background:#fff}.afd-search-icon{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:#78716c;stroke-width:1.5;stroke-linecap:round}.afd-search input{flex:1 1 auto;min-width:0;margin:0;padding:10px 0;border:0;background:transparent;color:#1a1a1a;font-size:14px}.afd-search input::placeholder{color:#a39890}.afd-search input::-webkit-search-cancel-button,.afd-search input::-webkit-search-decoration{display:none}.afd-search-clear{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;padding:0;border:0;border-radius:999px;background:#f4efe6;color:#2e2924;font-size:12px;line-height:1;cursor:pointer}.afd-section h3{margin:0 0 12px;font-family:Playfair Display,Georgia,serif;font-size:14px;font-weight:700}.afd-section h3:has(.afd-collapse){margin:0}.afd-collapse{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.afd-collapse-title{font-family:Playfair Display,Georgia,serif;font-size:14px;font-weight:700}.afd-count{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;background:#f4efe6;color:#2e2924;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;line-height:1.4}.afd-collapse .afd-chevron{margin-left:auto}.afd-collapse-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.afd-collapse-panel.is-open{grid-template-rows:1fr}.afd-collapse-panel-inner{min-height:0;overflow:hidden}.afd-collapse-panel-inner>.afd-tree,.afd-collapse-panel-inner>.afd-loading{padding-top:12px}.afd-chip-row,.afd-price-row,.afd-tickets{display:flex;flex-wrap:wrap;gap:8px}.afd-price-row{flex-wrap:nowrap}.afd-chip{border:1px solid #e5e5e0;border-radius:999px;background:#fcfbf8;color:#1a1a1a;padding:7px 12px;font-family:Playfair Display,Georgia,serif;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer}.afd-chip.is-active,.afd-quad.is-active,.afd-town.is-active,.afd-ticket.is-active{background:#f59e0b33;border-color:#f59e0b;color:#9a6708}.afd-price-chip{flex:1 1 0;min-width:0;padding:8px 4px;font-size:11px;white-space:nowrap;text-align:center}.afd-calendar{margin-top:14px}.afd-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.afd-calendar-head p{margin:0;font-family:Playfair Display,Georgia,serif;font-size:16px;font-weight:700}.afd-calendar-head button{width:32px;height:32px;border:0;border-radius:999px;background:transparent;color:#1a1a1a;font-size:22px;line-height:1;cursor:pointer}.afd-weekdays,.afd-days{display:grid;grid-template-columns:repeat(7,1fr)}.afd-weekdays span{padding-bottom:6px;color:#78716c;font-size:11px;font-weight:700;letter-spacing:.04em;text-align:center}.afd-day{height:36px;border:0;background:transparent;color:#1a1a1a;font-family:Playfair Display,Georgia,serif;font-size:14px;font-weight:700;cursor:pointer}.afd-day.is-empty{cursor:default}.afd-day.is-in-range{background:#f59e0b33}.afd-day.is-range-start{border-radius:999px 0 0 999px}.afd-day.is-range-end{border-radius:0 999px 999px 0}.afd-day.is-range-single,.afd-day.is-range-start.is-range-end{border-radius:999px}.afd-day.is-today{box-shadow:inset 0 0 0 1.5px #f59e0b}.afd-tree,.afd-subs{list-style:none;margin:0;padding:0}.afd-parent,.afd-sub{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.afd-parent{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;color:#1a1a1a;font-family:Playfair Display,Georgia,serif;font-size:13px;font-weight:700}.afd-parent.is-partial span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:999px;background:#f59e0b;vertical-align:middle}.afd-parent.is-all span{color:#b45309}.afd-chevron{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:#78716c;stroke-width:1.5;transition:transform .16s ease}.afd-chevron.is-open{transform:rotate(180deg)}.afd-subs{padding:0 0 8px 16px}.afd-sub{padding:6px 0;color:#78716c;font-size:11px;font-weight:500}.afd-sub.is-active,.afd-select-all.is-active{color:#d97706;font-weight:700}.afd-map{display:grid;grid-template-columns:minmax(72px,1fr) 150px minmax(72px,1fr);grid-template-areas:". airdrie ." "left hex right" ". okotoks .";align-items:center;justify-items:center;gap:8px 6px;max-width:360px;margin:0 auto}.afd-place-field{display:flex;align-items:center;gap:6px;width:100%;max-width:360px;margin:14px auto 0;padding:0 10px;border:1px solid #efeae3;border-radius:999px;background:transparent}.afd-place-icon{width:12px;height:12px;flex:0 0 12px;fill:none;stroke:#a39890;stroke-width:1.4;stroke-linejoin:round}.afd-place-field input{flex:1 1 auto;min-width:0;margin:0;padding:6px 0;border:0;background:transparent;color:#1a1a1a;font-size:12px}.afd-place-field input::placeholder{color:#b7ada4}.afd-place-field input::-webkit-search-cancel-button,.afd-place-field input::-webkit-search-decoration{display:none}.afd-place-clear{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;padding:0;border:0;border-radius:999px;background:transparent;color:#a39890;font-size:11px;line-height:1;cursor:pointer}.afd-town--airdrie{grid-area:airdrie}.afd-towns-left{grid-area:left}.afd-hex{grid-area:hex}.afd-town--chestermere{grid-area:right}.afd-town--okotoks{grid-area:okotoks}.afd-towns-left{display:flex;flex-direction:column;align-items:flex-end;gap:18px}.afd-hex{position:relative;width:150px;height:150px}.afd-hex svg{display:block;width:150px;height:150px}.afd-quad,.afd-town{border:0;background:transparent;color:#1a1a1a;font-family:Playfair Display,Georgia,serif;font-weight:700;cursor:pointer}.afd-quad{position:absolute;padding:4px 6px;font-size:16px}.afd-quad--nw{top:22%;left:16%}.afd-quad--ne{top:22%;right:16%}.afd-quad--sw{bottom:18%;left:16%}.afd-quad--se{bottom:18%;right:16%}.afd-quad--central{top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;padding:2px 4px}.afd-town{padding:4px 6px;font-size:12px;border-radius:8px}.afd-town--long{font-size:11px}.afd-quad.is-active,.afd-town.is-active{border:1px solid #f59e0b;border-radius:8px}.afd-tickets{align-items:center}.afd-ticket{display:inline-flex;align-items:center;border:1px solid #e5e5e0;border-radius:6px;background:#fcfbf8;color:#1a1a1a;overflow:hidden;cursor:pointer}.afd-ticket-icon{display:flex;align-items:center;padding:6px 7px;border-right:1.5px dotted #cfc8bc}.afd-ticket-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.afd-ticket-icon text{font-size:7px;font-weight:700;stroke:none;fill:currentColor}.afd-ticket>span:last-child{padding:6px 8px;font-size:11px;font-weight:600}.afd-footer{padding:12px 16px calc(106px + env(safe-area-inset-bottom,0px));border-top:1px solid #e5e5e0;background:#fcfbf8}.afd-apply{width:100%;border:0;border-radius:8px;background:#1a1a1a;color:#fff;padding:12px 16px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.afd-apply:focus-visible,.afd-chip:focus-visible,.afd-place-clear:focus-visible,.afd-clear:focus-visible,.afd-collapse:focus-visible,.afd-search-clear:focus-visible,.afd-parent:focus-visible,.afd-sub:focus-visible,.afd-quad:focus-visible,.afd-town:focus-visible,.afd-ticket:focus-visible,.afd-day:focus-visible,.afd-handle:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.afd-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.afd-toggle-label{font-size:14px;font-weight:500;color:#1a1a1a;line-height:1.35}.afd-toggle-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.afd-toggle-switch{position:relative;flex:0 0 auto;width:44px;height:26px;border-radius:999px;background:#d6d0c4;transition:background .15s ease}.afd-toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s ease}.afd-toggle-input:checked+.afd-toggle-switch{background:#c07b2a}.afd-toggle-input:checked+.afd-toggle-switch:after{transform:translate(18px)}.afd-toggle-input:focus-visible+.afd-toggle-switch{outline:2px solid #f59e0b;outline-offset:2px}.afd-toggle-hint{margin:8px 0 0;font-size:12px;line-height:1.4;color:#7a6f61}@media(min-width:768px){.afd-footer{padding-bottom:20px}}@media(prefers-reduced-motion:reduce){.afd-sheet,.afd-chevron,.afd-collapse-panel{transition:none}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--spacing-5, 20px);animation:modal-fade-in .3s ease-out;overscroll-behavior:contain}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-surface, white);border-radius:var(--radius-xl, 12px);box-shadow:var(--shadow-2xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modal-slide-up .3s ease-out;position:relative;outline:none}@keyframes modal-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-size-small{width:100%;max-width:400px}.modal-size-medium{width:100%;max-width:600px}.modal-size-large{width:100%;max-width:900px}.modal-size-fullscreen{width:100%;max-width:100%;height:100%;max-height:100vh;border-radius:0}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-6, 24px);border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0}.modal-title{margin:0;font-size:var(--font-size-2xl, 24px);font-weight:var(--font-weight-semibold, 600);line-height:var(--line-height-tight, 1.3);color:var(--color-text-primary, #1a1a1a);padding-right:var(--spacing-4, 16px)}.modal-close-button{flex-shrink:0;padding:var(--spacing-2, 8px);background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md, 8px);transition:all .2s ease;color:var(--color-text-secondary, #666);min-width:44px;min-height:44px;margin:calc(var(--spacing-2, 8px) * -1)}.modal-close-button:hover:not(:disabled){background:var(--color-background, #f8f9fa);color:var(--color-text-primary, #1a1a1a)}.modal-close-button:focus{outline:2px solid var(--color-primary, #1976d2);outline-offset:2px}.modal-close-button:active:not(:disabled){transform:scale(.95)}.modal-close-button:disabled,.modal-close-disabled{opacity:.5;cursor:not-allowed}.modal-body{padding:var(--spacing-6, 24px);overflow-y:auto;flex:1;overscroll-behavior:contain}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:var(--color-background, #f8f9fa);border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:var(--color-border, #d1d5db);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary, #9ca3af)}.modal-footer{padding:var(--spacing-6, 24px);border-top:1px solid var(--color-border, #e5e7eb);display:flex;gap:var(--spacing-3, 12px);justify-content:flex-end;flex-shrink:0}.sr-only,.modal-description{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:767px){.modal-overlay{padding:0;align-items:flex-end}.modal-content:not(.modal-size-fullscreen){width:100%;max-width:none;border-radius:var(--radius-xl, 12px) var(--radius-xl, 12px) 0 0;max-height:95vh;animation:modal-slide-up-mobile .3s ease-out}@keyframes modal-slide-up-mobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{padding:var(--spacing-5, 20px)}.modal-title{font-size:var(--font-size-xl, 20px)}.modal-body{padding:var(--spacing-5, 20px)}.modal-footer{padding:var(--spacing-5, 20px);flex-direction:column-reverse}.modal-footer>*{width:100%}}@media(min-width:768px)and (max-width:1023px){.modal-size-large{max-width:90vw}}@media(prefers-color-scheme:dark){.modal-overlay{background:#000000bf}.modal-content{background:var(--color-surface-dark, #1a1a1a);box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0000004d}.modal-close-button:hover:not(:disabled){background:#ffffff1a}}@media(prefers-reduced-motion:reduce){.modal-overlay,.modal-content{animation-duration:.01ms}.modal-close-button{transition:none}}@media print{.modal-overlay{position:static;background:none}.modal-content{box-shadow:none;max-height:none;page-break-inside:avoid}.modal-close-button{display:none}}.share-modal .share-modal-body{display:flex;flex-direction:column;align-items:stretch;gap:14px}.share-modal-label{font-size:13px;font-weight:600;color:var(--color-text-secondary, #5c5348);text-align:center}.share-modal-url{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--color-border, #d6d0c4);border-radius:6px;background:var(--color-background, #f7f4ee);color:var(--color-text-primary, #1c1917);font-size:14px;font-family:inherit;line-height:1.4;text-align:center}.share-modal-url:focus{outline:2px solid var(--color-primary, #c07b2a);outline-offset:1px}.share-modal-actions{display:flex;justify-content:center;margin-top:2px}.share-modal-btn{width:100%;min-height:44px;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid var(--color-primary, #c07b2a);background:var(--color-primary, #c07b2a);color:#fff;transition:background .15s ease,border-color .15s ease,color .15s ease}.share-modal-btn:hover{filter:brightness(1.05)}.share-modal-btn--copied,.share-modal-btn--copied:hover{border-color:#16a34a;background:#16a34a;color:#fff;filter:none}.share-modal-btn:focus-visible{outline:2px solid var(--color-primary, #c07b2a);outline-offset:2px}.app-layout{display:flex;flex-direction:column;min-height:100vh;background:#fcfbf8;padding-bottom:env(safe-area-inset-bottom)}.search-filters-fab{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:12px;z-index:1150;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:none;border-radius:50%;background:#ede9e0;color:#1c1917;box-shadow:0 2px 10px #1c19172e;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.search-filters-fab:hover{background:#e2dccf;box-shadow:0 4px 14px #1c191738}.search-filters-fab:active{transform:scale(.96)}.search-filters-fab:focus-visible{outline:2px solid #c07b2a;outline-offset:2px}.app-content{flex:1;padding-bottom:58px;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fcfbf8}@supports (padding-bottom: env(safe-area-inset-bottom)){.app-content{padding-bottom:calc(58px + env(safe-area-inset-bottom))}}@media(min-width:768px){.app-content{padding-bottom:0;padding-left:68px}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-8);min-height:300px}.empty-state--small{padding:var(--spacing-4);min-height:200px}.empty-state--medium{padding:var(--spacing-8);min-height:300px}.empty-state--large{padding:var(--spacing-12);min-height:400px}.empty-state-icon{color:var(--color-text-tertiary);margin-bottom:var(--spacing-4);opacity:.6;animation:empty-state-fade-in .3s ease-out}.empty-state-icon svg{display:block;width:64px;height:64px}.empty-state--small .empty-state-icon svg{width:48px;height:48px}.empty-state--large .empty-state-icon svg{width:80px;height:80px}.empty-state-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-2) 0;max-width:400px;animation:empty-state-fade-in .3s ease-out .1s backwards}.empty-state--small .empty-state-title{font-size:var(--font-size-lg)}.empty-state--large .empty-state-title{font-size:var(--font-size-2xl)}.empty-state-description{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin:0 0 var(--spacing-6) 0;max-width:500px;animation:empty-state-fade-in .3s ease-out .2s backwards}.empty-state--small .empty-state-description{font-size:var(--font-size-sm);margin-bottom:var(--spacing-4)}.empty-state--large .empty-state-description{font-size:var(--font-size-lg);max-width:600px}.empty-state-action{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast) var(--transition-timing-ease-out);animation:empty-state-fade-in .3s ease-out .3s backwards}.empty-state-action--primary{background:var(--color-primary);color:#fff}.empty-state-action--primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.empty-state-action--primary:active{transform:translateY(0)}.empty-state-action--secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.empty-state-action--secondary:hover{background:var(--color-background);border-color:var(--color-primary);transform:translateY(-1px)}.empty-state-action--secondary:active{transform:translateY(0)}.empty-state-action:focus{outline:2px solid var(--color-primary);outline-offset:2px}.empty-state-action:focus:not(:focus-visible){outline:none}@keyframes empty-state-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.empty-state{padding:var(--spacing-6);min-height:250px}.empty-state--small{padding:var(--spacing-3);min-height:150px}.empty-state-icon svg{width:48px;height:48px}.empty-state--large .empty-state-icon svg{width:64px;height:64px}.empty-state-title{font-size:var(--font-size-lg)}.empty-state-description{font-size:var(--font-size-sm)}.empty-state-action{width:100%;max-width:300px}}@media(prefers-reduced-motion:reduce){.empty-state-icon,.empty-state-title,.empty-state-description,.empty-state-action{animation:none}.empty-state-action:hover,.empty-state-action:active{transform:none}}@media(prefers-contrast:high){.empty-state-icon{opacity:1}.empty-state-action{border:2px solid currentColor}}.calendar-home{--cal-ivory: #FCFBF8;--cal-charcoal: #1C1917;--cal-amber: #C07B2A;--cal-terracotta: #9C6B52;--cal-card: #F7F5F0;--cal-line: #E5E5E0;--cal-muted: #7A6F61;--cal-nav: #EDE9E0;--cal-today: #F2EBD9;display:flex;flex-direction:column;height:100%;width:100%;margin:0;padding:0;overflow:hidden;position:relative;background:var(--cal-ivory);color:var(--cal-charcoal);font-family:DM Sans,sans-serif}.calendar-shell{display:flex;flex:1;min-height:0;width:100%}.calendar-main-column{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.calendar-home .skip-link{position:absolute;top:-40px;left:0;background:var(--cal-amber);color:var(--cal-ivory);padding:8px 16px;text-decoration:none;border-radius:0 0 4px;font-weight:600;z-index:1000;transition:top .2s ease-in-out}.calendar-home .skip-link:focus{top:0;outline:3px solid var(--cal-charcoal);outline-offset:2px}.calendar-home .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.calendar-header{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:18px 4rem 14px;border-bottom:1px solid var(--cal-line);text-align:center}.calendar-year{font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:none;color:var(--cal-muted);margin:0}.calendar-title{font-family:Playfair Display,Georgia,serif;font-weight:900;font-size:clamp(22px,4vw,42px);letter-spacing:-.01em;line-height:1;color:var(--cal-charcoal);margin:0;display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap}.calendar-header .current-month{color:var(--cal-charcoal)}.calendar-header .month-slash{color:var(--cal-line);margin:0 10px;font-weight:300}.calendar-header .next-month{color:var(--cal-terracotta)}.calendar-nav-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px}.calendar-error{margin:8px 0 0;color:var(--cal-muted);font-size:14px}.nav-arrow{background:transparent;border:1px solid var(--cal-line);color:var(--cal-charcoal);cursor:pointer;width:36px;height:36px;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;transition:background .15s ease,color .15s ease,border-color .15s ease;flex-shrink:0;-webkit-tap-highlight-color:transparent}.nav-arrow:hover{background:var(--cal-nav);border-color:var(--cal-muted)}.nav-arrow:active{transform:scale(.96)}.nav-arrow:focus-visible{outline:2px solid var(--cal-amber);outline-offset:2px}.nav-today{background:transparent;border:1px solid var(--cal-line);color:var(--cal-charcoal);cursor:pointer;width:36px;height:36px;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;font-family:DM Sans,sans-serif;font-size:16px;font-weight:600;line-height:1;transition:background .15s ease,color .15s ease,border-color .15s ease;flex-shrink:0;-webkit-tap-highlight-color:transparent}.nav-today:hover{background:var(--cal-nav);border-color:var(--cal-muted)}.nav-today:active{transform:scale(.96)}.nav-today:focus-visible{outline:2px solid var(--cal-amber);outline-offset:2px}.calendar-grid-wrapper{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.calendar-grid{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--cal-ivory);border:none;border-radius:0;overflow:hidden}.weekday-labels{display:grid;grid-template-columns:repeat(7,1fr);background:var(--cal-card);border-bottom:1px solid var(--cal-line);flex-shrink:0;position:sticky;top:0;z-index:10}.weekday-label{padding:8px 10px;text-align:left;font-size:9px;font-weight:600;color:var(--cal-muted);text-transform:uppercase;letter-spacing:.16em}.calendar-days{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(80px,auto);overflow-y:auto;align-content:start}.month-divider{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:11px 12px 7px;background:var(--cal-card);border-bottom:1px solid var(--cal-line);font-family:Playfair Display,Georgia,serif;font-weight:900;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.month-divider--current{color:var(--cal-charcoal)}.month-divider--next{color:var(--cal-terracotta);border-top:1px solid var(--cal-line)}.month-divider-rule{flex:1;height:1px;background:var(--cal-line)}.calendar-day{position:relative;background:transparent;border:none;border-top:1px solid var(--cal-line);padding:9px 10px 7px;cursor:pointer;transition:background-color .12s ease;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;overflow:hidden;min-height:80px}.calendar-day--spacer{cursor:default;pointer-events:none;border-top:none;min-height:0;padding:0}.calendar-day:hover:not(.calendar-day--spacer):not(.calendar-day--past){background:var(--cal-nav)}.calendar-day:active:not(.calendar-day--spacer):not(.calendar-day--past){background:#e4ddd0}.calendar-day--past{cursor:default;opacity:.42}.calendar-day:focus-visible{outline:2px solid var(--cal-amber);outline-offset:-2px;z-index:1}.calendar-day--today{background:var(--cal-today)}.calendar-day--today:hover{background:#ebe2cd}.calendar-day--overflow{opacity:.28}.day-number{font-size:13px;font-weight:400;letter-spacing:.02em;line-height:1;margin:0;flex-shrink:0}.calendar-day--current .day-number{color:var(--cal-charcoal)}.calendar-day--next .day-number{color:var(--cal-terracotta)}.calendar-day--overflow .day-number{color:var(--cal-charcoal)}.calendar-day--today .day-number{color:var(--cal-amber);font-weight:600}.event-count{position:static;display:block;background:none;color:var(--cal-amber);font-size:20px;font-weight:700;padding:0;border-radius:0;min-width:0;height:auto;line-height:1;box-shadow:none;text-align:left}.gem-items{display:flex;flex-direction:column;gap:3px;width:100%;min-height:0;overflow-y:auto;overflow-x:hidden;margin-top:2px}.gem-item{display:flex;align-items:center;gap:4px;padding:3px 5px;border-radius:3px;font-size:10px;font-weight:500;color:var(--cal-charcoal);cursor:pointer;transition:opacity .15s ease,transform .15s ease;min-height:20px;flex-shrink:0;white-space:nowrap;overflow:hidden}.gem-item:hover{opacity:.9;transform:translate(1px)}.gem-icon{flex-shrink:0;width:12px;height:12px;color:inherit;opacity:.85}.gem-time{font-size:9px;font-weight:600;opacity:.9;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.calendar-home{height:calc(100vh - 58px)}.calendar-header{padding:14px 4rem 12px}.nav-arrow,.nav-today{width:32px;height:32px;min-width:32px;min-height:32px}.weekday-label{padding:8px 4px;font-size:8px;letter-spacing:.1em}.calendar-day{padding:7px 5px 5px;min-height:68px}.day-number{font-size:12px}.event-count{font-size:16px}.calendar-days{grid-auto-rows:minmax(68px,auto)}}@media(max-width:480px){.calendar-header{padding:12px 4rem 10px}.calendar-day{padding:6px 4px 4px;min-height:60px;gap:3px}.event-count{font-size:14px}.gem-item{padding:2px 3px;font-size:9px;min-height:18px}.gem-icon{width:10px;height:10px}.calendar-days{grid-auto-rows:minmax(60px,auto)}}.subcategory-filter{width:100%;margin-top:16px}.subcategory-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.subcategory-filter-label{font-size:14px;font-weight:600;color:#2c3e50;display:flex;align-items:center;gap:8px}.subcategory-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--category-color, #3498db);color:#fff;border-radius:10px;font-size:12px;font-weight:600}.subcategory-clear-btn{padding:4px 12px;font-size:12px;color:var(--category-color, #3498db);background:var(--category-color-light, rgba(52, 152, 219, .1));border:1px solid var(--category-color, #3498db);border-radius:4px;cursor:pointer;transition:all .2s ease}.subcategory-clear-btn:hover:not(:disabled){background:var(--category-color, #3498db);color:#fff}.subcategory-clear-btn:disabled{opacity:.5;cursor:not-allowed}.subcategory-filter-loading{display:flex;align-items:center;gap:8px;padding:16px;color:#7f8c8d;font-size:14px}.subcategory-options{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto;padding:4px;border:1px solid #e1e8ed;border-radius:8px;background:#fff}.subcategory-options::-webkit-scrollbar{width:8px}.subcategory-options::-webkit-scrollbar-track{background:#f5f8fa;border-radius:4px}.subcategory-options::-webkit-scrollbar-thumb{background:var(--category-color-light, rgba(52, 152, 219, .3));border-radius:4px}.subcategory-options::-webkit-scrollbar-thumb:hover{background:var(--category-color, #3498db)}.subcategory-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:2px solid transparent;border-radius:8px;background:#f8f9fa;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.subcategory-option:hover:not(:disabled){background:var(--category-color-light, rgba(52, 152, 219, .1));border-color:var(--category-color-light, rgba(52, 152, 219, .3))}.subcategory-option.selected{background:var(--category-color-light, rgba(52, 152, 219, .15));border-color:var(--category-color, #3498db)}.subcategory-option:disabled{opacity:.5;cursor:not-allowed}.subcategory-checkbox{flex-shrink:0;width:20px;height:20px;border:2px solid #cbd5e0;border-radius:4px;display:flex;align-items:center;justify-content:center;background:#fff;transition:all .2s ease}.subcategory-option.selected .subcategory-checkbox{background:var(--category-color, #3498db);border-color:var(--category-color, #3498db)}.subcategory-checkbox svg{color:#fff}.subcategory-content{flex:1;min-width:0}.subcategory-name{font-size:14px;font-weight:500;color:#2c3e50;margin-bottom:2px}.subcategory-option.selected .subcategory-name{color:var(--category-color-dark, #2980b9)}.subcategory-description{font-size:12px;color:#7f8c8d;line-height:1.4}.subcategory-filter-summary{margin-top:8px;padding:8px 12px;background:var(--category-color-light, rgba(52, 152, 219, .1));border-radius:6px;font-size:13px;color:var(--category-color-dark, #2980b9);text-align:center;font-weight:500}@media(max-width:768px){.subcategory-options{max-height:300px}.subcategory-option{padding:10px}.subcategory-name{font-size:13px}.subcategory-description{font-size:11px}}@media(min-width:768px)and (max-width:1024px){.subcategory-options{max-height:350px}}.subcategory-option:focus{outline:2px solid var(--category-color, #3498db);outline-offset:2px}.subcategory-option:focus:not(:focus-visible){outline:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-small{width:16px;height:16px;border:2px solid #e1e8ed;border-top-color:var(--category-color, #3498db);border-radius:50%;animation:spin .8s linear infinite}.filter-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:all .3s ease}.filter-panel.loading,.filter-panel.error{padding:40px 20px;text-align:center}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:16px;color:#666}.loading-spinner .spinner{width:32px;height:32px;border:3px solid #f0f0f0;border-top-color:#007bff;border-radius:50%;animation:spin .8s linear infinite}.error-message{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:#fff3f3;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;font-size:14px}.filter-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.filter-title{display:flex;align-items:center;gap:12px}.filter-title svg{color:#007bff}.filter-title h3{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:#007bff;color:#fff;font-size:12px;font-weight:600;border-radius:12px}.filter-changes-indicator{color:#f59e0b;font-size:18px;line-height:1;animation:pulse 2s ease-in-out infinite}.toggle-button{padding:8px;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;border-radius:6px}.toggle-button:hover{background:#0000000d}.toggle-button svg{transition:transform .3s ease}.toggle-button svg.rotated{transform:rotate(180deg)}.active-filters{padding:16px 20px;background:#f0f7ff;border-bottom:1px solid #e0e0e0}.active-filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.active-filters-label{font-size:13px;font-weight:600;color:#0d47a1}.clear-all-button{padding:6px 12px;background:none;border:1px solid #90caf9;border-radius:6px;color:#0d47a1;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.clear-all-button:hover:not(:disabled){background:#e3f2fd;border-color:#42a5f5}.clear-all-button:disabled{opacity:.5;cursor:not-allowed}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid #90caf9;border-radius:20px;font-size:13px;color:#0d47a1}.filter-chip.tag-chip{background:#fff;border-color:#ce93d8;color:#6a1b9a}.chip-label{font-weight:600}.chip-value{font-weight:500}.filter-chip button{padding:0;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:currentColor;opacity:.7;transition:opacity .2s ease}.filter-chip button:hover:not(:disabled){opacity:1}.filter-chip button:disabled{cursor:not-allowed;opacity:.3}.filter-content{padding:20px;display:flex;flex-direction:column;gap:24px}.filter-panel.collapsed .filter-content{display:none}.filter-group{display:flex;flex-direction:column;gap:10px}.filter-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1a1a1a}.filter-label svg{color:#666}.filter-input,.filter-select{width:100%;padding:10px 14px;font-size:14px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#1a1a1a;transition:all .2s ease;font-family:inherit}.filter-input:focus,.filter-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.filter-input:disabled,.filter-select:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.filter-checkboxes{display:flex;flex-direction:column;gap:8px;padding:8px 0}.checkbox-label{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px;cursor:pointer;transition:background .2s ease;font-size:14px;color:#1a1a1a}.checkbox-label:hover{background:#f8f9fa}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#007bff}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.filter-tags{display:flex;flex-wrap:wrap;gap:8px}.tag-button{padding:8px 16px;background:#fff;border:1px solid #e0e0e0;border-radius:20px;font-size:13px;color:#666;cursor:pointer;transition:all .2s ease;font-family:inherit;font-weight:500}.tag-button:hover:not(:disabled){background:#f3e5f5;border-color:#ce93d8;color:#6a1b9a}.tag-button.active{background:#f3e5f5;border-color:#ce93d8;color:#6a1b9a;font-weight:600}.tag-button:disabled{opacity:.5;cursor:not-allowed}.date-presets{display:flex;flex-wrap:wrap;gap:8px}.preset-button{padding:8px 16px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:13px;color:#666;cursor:pointer;transition:all .2s ease;font-family:inherit;font-weight:500}.preset-button:hover:not(:disabled){background:#e3f2fd;border-color:#90caf9;color:#0d47a1}.preset-button.active{background:#e3f2fd;border-color:#42a5f5;color:#0d47a1;font-weight:600}.preset-button:disabled{opacity:.5;cursor:not-allowed}.date-picker{display:flex;gap:12px;padding:16px;background:#f8f9fa;border-radius:8px;margin-top:8px}.date-input-group{flex:1;display:flex;flex-direction:column;gap:6px}.date-input-group label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.date-input-group input[type=date]{padding:10px 12px;font-size:14px;border:2px solid #e0e0e0;border-radius:6px;background:#fff;color:#1a1a1a;transition:all .2s ease;font-family:inherit}.date-input-group input[type=date]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.date-input-group input[type=date]:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.filter-actions{display:flex;flex-direction:column;gap:12px;margin-top:8px;padding-top:20px;border-top:1px solid #e5e7eb}.btn-clear-filters{width:100%;padding:10px 20px;background:transparent;color:#475569;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-clear-filters:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#1e293b}.btn-clear-filters:disabled{opacity:.5;cursor:not-allowed}.btn-apply-filters{width:100%;padding:12px 20px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-apply-filters:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-apply-filters:active:not(:disabled){transform:translateY(0)}.btn-apply-filters:disabled{background:#cbd5e1;cursor:not-allowed;opacity:.6}@media(max-width:768px){.filter-header{padding:16px}.filter-title h3{font-size:16px}.filter-content{padding:16px;gap:20px}.active-filters{padding:12px 16px}.filter-chips{gap:6px}.filter-chip{font-size:12px;padding:5px 10px}.date-presets{gap:6px}.preset-button{font-size:12px;padding:7px 12px}.date-picker{flex-direction:column;gap:12px}}.filter-chip.category-chip{padding-left:8px;border-width:1.5px;font-weight:500}.chip-icon,.filter-chip-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.chip-icon svg,.filter-chip-icon svg{width:16px;height:16px}.filter-chip.subcategory-chip{border-width:1.5px;font-weight:500}.filter-chip.category-chip .chip-value,.filter-chip.category-chip .filter-chip-value{font-weight:600}.filter-chip.subcategory-chip .chip-value,.filter-chip.subcategory-chip .filter-chip-value{font-weight:500}.filter-chip.category-chip:hover,.filter-chip.subcategory-chip:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 2px 6px #0000001a;transition:all .2s ease}@media(max-width:480px){.filter-header{padding:12px}.filter-title{gap:8px}.filter-title h3{font-size:15px}.filter-content{padding:12px;gap:16px}.filter-input,.filter-select{font-size:16px;padding:12px}.checkbox-label{font-size:13px}.tag-button{font-size:12px;padding:7px 14px}.filter-chips{gap:4px}.filter-chip{font-size:11px;padding:4px 8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.active-filter-chips-bar{background:#f8f9fa;border-bottom:1px solid #e9ecef;padding:12px 16px}.active-filter-chips-inner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:1200px;margin:0 auto}.active-filter-chips-label{font-size:13px;font-weight:600;color:#666;flex-shrink:0}.active-filter-chips-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1;min-width:0}.active-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;background:#fff;border:1px solid #dee2e6;border-radius:20px;font-size:13px;max-width:100%}.active-filter-chip.tag-chip{background:#f1f3f5}.active-filter-chip-label{color:#868e96;font-weight:500}.active-filter-chip-value{color:#1a1a1a;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.active-filter-chip-icon{display:inline-flex;align-items:center;flex-shrink:0}.active-filter-chip-icon svg{width:14px;height:14px}.active-filter-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;margin:0;border:none;border-radius:50%;background:transparent;color:#868e96;cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.active-filter-chip-remove:hover:not(:disabled){background:#0000000f;color:#1a1a1a}.active-filter-chip-remove:disabled{opacity:.5;cursor:not-allowed}.active-filter-chips-clear{padding:6px 12px;border:none;background:transparent;color:#1976d2;font-size:13px;font-weight:600;cursor:pointer;border-radius:8px;flex-shrink:0}.active-filter-chips-clear:hover:not(:disabled){background:#e3f2fd}.active-filter-chips-clear:disabled{opacity:.5;cursor:not-allowed}.active-filter-chip.category-chip:hover,.active-filter-chip.subcategory-chip:hover{box-shadow:0 1px 3px #00000014}@media(max-width:480px){.active-filter-chips-bar{padding:10px 12px}.active-filter-chips-inner{gap:8px}.active-filter-chip-value{max-width:120px}}.event-image-fallback{position:relative;display:block;width:100%;height:100%;overflow:hidden;aspect-ratio:16 / 9;color:#c4b6a6}.event-image-fallback.aspect-square{aspect-ratio:1 / 1}.event-image-fallback--music{background:radial-gradient(circle at 72% 28%,rgba(224,122,61,.42),transparent 46%),linear-gradient(to bottom right,#2e1a16,#12100e)}.event-image-fallback--arts{background:radial-gradient(circle at 24% 18%,rgba(91,30,49,.72),transparent 52%),linear-gradient(to bottom right,#3b2226,#12100e)}.event-image-fallback--community{background:linear-gradient(to bottom right,#f4efe6,#d9cbb8);color:#2e2924}.event-image-fallback--nightlife{background:radial-gradient(circle at 80% 18%,rgba(224,122,61,.28),transparent 40%),linear-gradient(to bottom right,#241612,#12100e)}.event-image-fallback--default{background:radial-gradient(circle at 18% 80%,rgba(91,30,49,.45),transparent 42%),radial-gradient(circle at 82% 16%,rgba(224,122,61,.22),transparent 36%),linear-gradient(to bottom right,#2e1a16,#12100e)}.event-image-fallback__mesh{position:absolute;inset:0;width:100%;height:100%;color:#c4b6a6;opacity:.45;pointer-events:none}.event-image-fallback--community .event-image-fallback__mesh{color:#2e2924;opacity:.28}.event-image-fallback__mesh path,.event-image-fallback__mesh circle{fill:none;stroke:currentColor;stroke-width:.7}.event-image-fallback__icon{position:absolute;top:14px;right:14px;width:28px;height:28px;color:#f4efe6;opacity:.88}.event-image-fallback__icon svg{width:28px;height:28px;display:block}.event-image-fallback--community .event-image-fallback__icon{color:#5b1e31}.event-image-fallback__monogram{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Fraunces,Playfair Display,Georgia,serif;font-size:42px;font-weight:700;letter-spacing:.08em;color:#f4efe6;opacity:.92}.event-image-fallback__label{position:absolute;left:14px;bottom:12px;max-width:calc(100% - 28px);font-family:Fraunces,Playfair Display,Georgia,serif;font-size:11px;font-weight:600;line-height:1.2;letter-spacing:.14em;text-transform:uppercase;color:#f4efe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-image-fallback--community .event-image-fallback__label{color:#2e2924}.event-card{background:var(--color-surface);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;position:relative}.event-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.event-card:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.event-card:focus{outline:2px solid var(--color-primary);outline-offset:2px}.event-card:focus:not(:focus-visible){outline:none}.event-image{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background-color:#12100e}.event-image img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}.event-image .event-image-fallback{position:absolute;inset:0;aspect-ratio:auto}.event-card-content{padding:var(--spacing-md)}.event-title{margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-venue,.event-date{display:flex;align-items:center;gap:6px;margin-bottom:4px}.event-venue svg,.event-date svg{flex-shrink:0;color:var(--color-text-secondary)}.event-host{margin-top:8px}.featured-badge{position:absolute;top:12px;right:12px;background:var(--color-warning);color:#fff;padding:4px 12px;border-radius:9999px;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:4px;box-shadow:0 2px 4px #0000001a}.event-distance{display:inline-flex;margin-top:6px;padding:2px 8px;border-radius:999px;background:#f4efe6;color:#2e2924;font-size:12px;font-weight:600}.view-toggle{display:inline-flex;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:4px;gap:4px;box-shadow:var(--shadow-sm)}.toggle-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-text-secondary);font-size:15px;font-weight:500;border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;position:relative;min-height:40px}.toggle-button svg{flex-shrink:0}.toggle-button:hover{background:var(--color-background);color:var(--color-text-primary)}.toggle-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-button.active{background:var(--color-primary);color:#fff;font-weight:600}.toggle-button.active:hover{background:var(--color-primary);opacity:.95}.toggle-button:active{transform:scale(.98)}@media(max-width:768px){.view-toggle{width:100%;justify-content:stretch}.toggle-button{flex:1;justify-content:center;font-size:14px}}@media(max-width:480px){.toggle-button span{display:none}.toggle-button{padding:var(--spacing-sm);min-width:44px;justify-content:center}.view-toggle{gap:2px;padding:3px}}@media(prefers-reduced-motion:reduce){.toggle-button{transition:none}}.map-legend{position:absolute;bottom:40px;left:12px;background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;z-index:10;max-width:320px;overflow:hidden;transition:all .3s ease}.legend-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:#fff;border:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--color-text-primary, #1a1a1a);transition:background .2s ease}.legend-toggle:hover{background:var(--color-background, #f8f9fa)}.legend-toggle svg:first-child{flex-shrink:0;color:var(--color-primary, #3b82f6)}.legend-toggle span{flex:1;text-align:left}.legend-toggle .chevron{flex-shrink:0;transition:transform .3s ease;color:var(--color-text-secondary, #666)}.legend-toggle .chevron.rotated{transform:rotate(180deg)}.legend-content{border-top:1px solid var(--color-border, #e5e7eb);max-height:400px;overflow-y:auto;overflow-x:hidden}.legend-items{padding:8px;display:flex;flex-direction:column;gap:4px}.legend-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;transition:background .2s ease}.legend-item:hover{background:var(--color-background, #f8f9fa)}.legend-marker{width:20px;height:20px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2px solid white;box-shadow:0 1px 4px #0003;flex-shrink:0;display:flex;align-items:center;justify-content:center}.legend-icon{transform:rotate(45deg);display:flex;align-items:center;justify-content:center}.legend-icon svg{width:10px;height:10px}.legend-label{flex:1;font-size:13px;font-weight:500;color:var(--color-text-primary, #1a1a1a);line-height:1.3}.legend-count{font-size:12px;font-weight:600;color:var(--color-text-secondary, #666);background:var(--color-background, #f3f4f6);padding:2px 8px;border-radius:12px;min-width:24px;text-align:center}.legend-footer{padding:8px 12px;border-top:1px solid var(--color-border, #e5e7eb);background:var(--color-background, #f8f9fa)}.legend-note{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--color-text-secondary, #666);line-height:1.4}.legend-note svg{flex-shrink:0;opacity:.7}.legend-content::-webkit-scrollbar{width:6px}.legend-content::-webkit-scrollbar-track{background:var(--color-background, #f3f4f6)}.legend-content::-webkit-scrollbar-thumb{background:var(--color-border, #d1d5db);border-radius:3px}.legend-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary, #9ca3af)}@media(max-width:768px){.map-legend{left:8px;right:8px;bottom:24px;max-width:none}.legend-toggle{padding:10px 12px;font-size:13px}.legend-content{max-height:300px}.legend-items{padding:6px}.legend-item{padding:6px 8px;gap:8px}.legend-marker{width:18px;height:18px}.legend-icon svg{width:9px;height:9px}.legend-label{font-size:12px}.legend-count{font-size:11px;padding:2px 6px;min-width:20px}.legend-note{font-size:10px}}@media(max-width:480px){.legend-toggle{padding:12px}.legend-item{padding:10px 12px;min-height:44px}}@media(prefers-reduced-motion:reduce){.map-legend,.legend-toggle,.legend-toggle .chevron,.legend-item{transition:none!important}}.map-view-container{position:relative;width:100%;height:600px;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.mapbox-map{position:absolute;inset:0;width:100%;height:100%;z-index:1}.mapbox-map .mapboxgl-canvas{outline:none}.map-loading-overlay{position:absolute;inset:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:1000}.map-blocked-overlay{flex-direction:column;gap:1rem;padding:1.5rem;text-align:center}.map-blocked-overlay p{max-width:28rem;margin:0;color:var(--color-text-primary, #202124);line-height:1.5}.map-blocked-overlay code{font-size:.9em}.map-retry-button{padding:.6rem 1.25rem;border:none;border-radius:8px;background:var(--color-primary, #5F0F40);color:var(--color-text-inverse, #fff);font-weight:600;cursor:pointer}.map-retry-button:hover{background:var(--color-primary-dark, #4a0b32)}.map-loading-spinner{text-align:center}.spinner{width:48px;height:48px;border:4px solid var(--color-border, #e5e7eb);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.map-loading-spinner p{color:var(--color-text-secondary, #666);font-size:.95rem;font-weight:500}.map-event-count{position:absolute;top:12px;left:12px;background:#fff;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;color:var(--color-text-primary, #1a1a1a);box-shadow:0 2px 4px #0000001a;z-index:10}.mapbox-marker{cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.marker-pin{width:24px;height:24px;border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 8px #0000004d;transition:all .2s ease}.mapbox-marker:hover .marker-pin{transform:rotate(-45deg) scale(1.2);filter:brightness(.9)}.mapbox-marker.highlighted .marker-pin,.marker-pin.highlighted-pin{width:32px;height:32px;background:#f59e0b;border:4px solid white;box-shadow:0 0 0 4px #f59e0b4d,0 4px 12px #0006;animation:pulse-marker 2s ease-in-out infinite}@keyframes pulse-marker{0%,to{box-shadow:0 0 0 4px #f59e0b4d,0 4px 12px #0006}50%{box-shadow:0 0 0 8px #f59e0b33,0 4px 12px #0006}}.mapbox-marker.highlighted:hover .marker-pin{transform:rotate(-45deg) scale(1.25);background:#d97706}.mapboxgl-popup{max-width:320px!important;z-index:100}.mapboxgl-popup-content{padding:0!important;border-radius:12px!important;box-shadow:0 10px 25px #00000026!important;overflow:hidden}.event-popup{width:100%}.popup-image{width:100%;height:180px;object-fit:cover;display:block}.popup-content{padding:1rem}.popup-title{font-size:1rem;font-weight:700;color:var(--color-text-primary, #1a1a1a);margin:0 0 .75rem;line-height:1.4}.popup-venue,.popup-date{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary, #666);margin:0 0 .5rem}.popup-venue svg,.popup-date svg{flex-shrink:0;color:var(--color-text-secondary, #666)}.popup-category{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;margin-top:.5rem;border-width:1px;border-style:solid}.popup-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.5rem 1rem;background:var(--color-primary, #3b82f6);color:#fff;text-decoration:none;border-radius:8px;font-size:.875rem;font-weight:600;transition:all .2s ease;width:100%;justify-content:center}.popup-link:hover{background:var(--color-primary-dark, #2563eb);transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.popup-link svg{width:14px;height:14px;flex-shrink:0}.mapboxgl-popup-close-button{font-size:24px;padding:8px;color:var(--color-text-primary, #1a1a1a);right:8px;top:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#ffffffe6;transition:all .2s ease}.mapboxgl-popup-close-button:hover{background:var(--color-background, #f3f4f6);color:var(--color-primary, #3b82f6)}.mapboxgl-ctrl-group{border-radius:8px!important;box-shadow:0 2px 8px #00000026!important}.mapboxgl-ctrl-group button{width:36px;height:36px}.mapboxgl-ctrl-group button:hover{background-color:var(--color-background, #f3f4f6)}@media(max-width:768px){.map-view-container{height:500px;border-radius:0}.map-event-count{top:8px;left:8px;padding:.375rem .75rem;font-size:.8125rem}.mapboxgl-popup-content{max-width:280px!important}.popup-image{height:150px}.popup-title{font-size:.95rem}}.home-page{min-height:100vh;background:var(--color-background);display:flex;flex-direction:column}.home-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;padding:var(--spacing-xl) var(--spacing-md);padding-top:calc(var(--spacing-xl) + env(safe-area-inset-top,0px));text-align:center;flex-shrink:0}.header-logo{width:180px;height:auto;margin:0 auto var(--spacing-md) auto}.home-header h1{font-size:28px;font-weight:700;margin-bottom:var(--spacing-sm)}.home-header p{font-size:16px;opacity:.9}.view-controls{display:flex;justify-content:center;padding:var(--spacing-md);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;flex-shrink:0}.home-content{display:flex;flex:1;gap:0;min-height:0}.home-sidebar{width:320px;flex-shrink:0;background:var(--color-surface);border-right:1px solid var(--color-border);overflow-y:auto;position:sticky;top:60px;height:calc(100vh - 60px)}@media(min-width:768px){.home-sidebar{margin-left:80px}}.home-results{flex:1;min-width:0;display:flex;flex-direction:column}.results-header{padding:var(--spacing-md);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:60px;z-index:50}.results-count{font-size:14px;color:var(--color-text-secondary);margin:0}.results-count strong{color:var(--color-text-primary);font-weight:600}.results-count-page-hint{color:var(--color-text-secondary, #868e96);font-weight:400}.events-grid{padding:var(--spacing-md);display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;min-height:400px;flex:1}.empty-state svg,.error-state svg{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.empty-state h3{font-size:20px;margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.empty-state p{color:var(--color-text-secondary)}.event-card-skeleton{background:var(--color-surface);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}@media(max-width:1024px){.home-sidebar{width:280px}}@media(max-width:768px){.home-content{flex-direction:column}.home-sidebar{width:100%;position:relative;top:0;height:auto;border-right:none;border-bottom:1px solid var(--color-border)}.results-header{top:0}.events-grid{grid-template-columns:1fr}}.map-placeholder-view{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-surface);min-height:500px}.map-placeholder-view .map-placeholder-content{text-align:center;padding:3rem 2rem;max-width:500px}.map-placeholder-view .map-placeholder-content svg{margin:0 auto 1.5rem;color:var(--color-text-secondary);opacity:.5}.map-placeholder-view .map-placeholder-content h3{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .75rem}.map-placeholder-view .map-placeholder-content p{font-size:1rem;color:var(--color-text-secondary);margin:0 0 .5rem;line-height:1.6}.map-placeholder-view .map-placeholder-content .event-count-text{font-weight:600;color:var(--color-primary);font-size:.95rem;margin-top:1rem}.events-index-page{max-width:1400px;margin:0 auto;padding:2rem}.events-header{margin-bottom:2rem;text-align:center}.events-header h1{font-size:2.5rem;font-weight:700;color:var(--color-text-primary, #1a1a1a);margin:0 0 .5rem}.events-subtitle{font-size:1.1rem;color:var(--color-text-secondary, #666);margin:0}.search-section{margin-bottom:2rem}.results-summary{margin-bottom:1.5rem}.results-summary p{font-size:.95rem;color:var(--color-text-secondary, #666);margin:0}.results-summary span{font-weight:600;color:var(--color-text-primary, #1a1a1a)}.loading-state,.empty-state{text-align:center;padding:4rem 2rem;color:var(--color-text-secondary, #666)}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}.event-card{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s ease}.event-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:var(--color-primary, #3b82f6)}.event-card:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.event-card-image{width:100%;height:200px;overflow:hidden;background:var(--color-background, #f9fafb)}.event-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.event-card:hover .event-card-image img{transform:scale(1.05)}.event-card-content{padding:1.25rem}.event-category{display:inline-block;padding:.25rem .75rem;background:#3b82f61a;color:#3b82f6;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.event-title{font-size:1.25rem;font-weight:700;color:var(--color-text-primary, #1a1a1a);margin:0 0 .5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.events-index-page .event-description{font-size:.95rem;color:var(--color-text-secondary, #666);margin:0 0 1rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.event-meta{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1rem;padding-top:1rem;border-top:1px solid var(--color-border, #e5e7eb)}.event-date,.event-venue,.event-host,.event-price{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary, #666)}.event-date svg,.event-venue svg,.event-host svg,.event-price svg{flex-shrink:0;color:var(--color-text-tertiary, #999)}.event-tags{display:flex;flex-wrap:wrap;gap:.5rem}.event-tag{padding:.25rem .625rem;background:var(--color-background, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:.75rem;color:var(--color-text-secondary, #666)}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;padding:2rem 0}.pagination-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-surface, #fff);border:2px solid var(--color-border, #e5e7eb);border-radius:10px;color:var(--color-text-primary, #1a1a1a);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.pagination-btn:hover:not(:disabled){border-color:var(--color-primary, #3b82f6);background:var(--color-background, #f9fafb)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.95rem;color:var(--color-text-secondary, #666);font-weight:500}@media(max-width:1024px){.events-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.events-index-page{padding:1rem}.events-header h1{font-size:2rem}.events-subtitle{font-size:1rem}.events-grid{grid-template-columns:1fr;gap:1rem}.pagination{flex-direction:column;gap:1rem}.pagination-btn{width:100%;justify-content:center}}@media(max-width:480px){.events-header h1{font-size:1.75rem}.event-card-image{height:160px}}.favourite-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#fff;border:1px solid #dee2e6;border-radius:50%;cursor:pointer;transition:all .2s ease;position:relative;min-width:44px;min-height:44px}.favourite-button:hover{background:#fff5f5;border-color:#e53e3e;transform:scale(1.05)}.favourite-button:active{transform:scale(.95)}.favourite-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.favourite-button:disabled:hover{background:#fff;border-color:#dee2e6}.favourite-button:focus-visible{outline:2px solid #e53e3e;outline-offset:2px}.favourite-button.is-favourited{background:#fff5f5;border-color:#e53e3e;color:#e53e3e}.favourite-button.is-favourited:hover{background:#ffe5e5}.favourite-icon{flex-shrink:0;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);color:#e53e3e}.favourite-button:not(.is-favourited) .favourite-icon{color:#666}.favourite-button.is-animating .favourite-icon{animation:heartbeat .6s ease}@keyframes heartbeat{0%{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(1)}45%{transform:scale(1.2)}60%{transform:scale(1)}}.favourite-label{font-size:14px;font-weight:500;white-space:nowrap}.favourite-button--interested{border-radius:999px;padding:8px 16px;min-width:auto;min-height:36px;background:transparent;border:1.5px solid #c07b2a;color:#c07b2a}.favourite-button--interested:hover{background:#c07b2a14;border-color:#a86822;color:#a86822;transform:none}.favourite-button--interested:active{transform:scale(.98)}.favourite-button--interested:focus-visible{outline:2px solid #c07b2a;outline-offset:2px}.favourite-button--interested.is-favourited{background:#c07b2a;border-color:#c07b2a;color:#fff}.favourite-button--interested.is-favourited:hover{background:#a86822;border-color:#a86822;color:#fff}.favourite-button--interested:disabled:hover{background:transparent;border-color:#c07b2a}.favourite-button--interested.is-favourited:disabled:hover{background:#c07b2a;border-color:#c07b2a}.favourite-interested-label{font-size:14px;font-weight:600;letter-spacing:.01em;white-space:nowrap;line-height:1.2}.favourite-button--interested.is-animating .favourite-interested-label{animation:interested-pop .45s ease}@keyframes interested-pop{0%{transform:scale(1)}40%{transform:scale(1.06)}to{transform:scale(1)}}.favourite-button:has(.favourite-label){border-radius:24px;padding:10px 16px;min-width:auto}@media(max-width:480px){.favourite-button{min-width:40px;min-height:40px;padding:8px}.favourite-icon{width:20px;height:20px}.favourite-label{font-size:13px}}@media(prefers-color-scheme:dark){.favourite-button{background:#2d2d2d;border-color:#444}.favourite-button:hover,.favourite-button.is-favourited{background:#3a2020;border-color:#e53e3e}.favourite-button.is-favourited:hover{background:#4a2525}.favourite-button:not(.is-favourited) .favourite-icon{color:#999}.favourite-button--interested{background:transparent;border-color:#d4a05a;color:#d4a05a}.favourite-button--interested:hover{background:#d4a05a1f;border-color:#d4a05a;color:#e8b86a}.favourite-button--interested.is-favourited{background:#c07b2a;border-color:#c07b2a;color:#fff}.favourite-button--interested.is-favourited:hover{background:#a86822;border-color:#a86822;color:#fff}}@media(prefers-contrast:high){.favourite-button{border-width:2px}.favourite-button:focus-visible{outline-width:3px}}@media(prefers-reduced-motion:reduce){.favourite-button,.favourite-icon{transition:none}.favourite-button.is-animating .favourite-icon{animation:none}}.fly-to-my-stuff-root{position:fixed;inset:0;z-index:10000;pointer-events:none;overflow:hidden}.fly-to-my-stuff-particle{position:fixed;top:0;left:0;width:40px;height:40px;margin-left:-20px;margin-top:-20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#c07b2a;color:#fff;box-shadow:0 6px 18px #c07b2a73;will-change:transform,opacity}@keyframes nav-my-stuff-pulse{0%{transform:scale(1)}35%{transform:scale(1.22)}70%{transform:scale(.94)}to{transform:scale(1)}}[data-nav-my-stuff].nav-my-stuff--pulse{animation:nav-my-stuff-pulse .45s ease}.event-mini-map-container{position:relative;width:100%;height:250px;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;margin:20px 0}.event-mini-map-container--preview{cursor:default;margin:8px 0 0;box-shadow:0 1px 4px #00000014}.event-mini-map{width:100%;height:100%}.mini-map-marker{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.mini-marker-pin{width:28px;height:28px;background:#f59e0b;border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 3px 10px #0006}@media(max-width:768px){.event-mini-map-container{height:200px;margin:16px 0}.event-mini-map-container--preview{margin:8px 0 0}.mini-marker-pin{width:24px;height:24px}}.notification-state-indicator{display:flex;flex-direction:column;padding:12px 16px;border-radius:8px;background:var(--surface, white);border:1px solid var(--border, #e5e5e5);box-shadow:0 2px 8px #00000014;opacity:1;transform:translateY(0);transition:all .3s cubic-bezier(.4,0,.2,1);max-width:100%;position:relative;overflow:hidden}.notification-state-indicator.hidden{opacity:0;transform:translateY(-8px);pointer-events:none}.notification-state-indicator.state-loading{border-left:4px solid var(--primary, #2563eb)}.notification-state-indicator.state-success{border-left:4px solid var(--success, #10b981);background:var(--success-bg, #f0fdf4)}.notification-state-indicator.state-error{border-left:4px solid var(--error, #ef4444);background:var(--error-bg, #fef2f2)}.notification-state-indicator.compact{padding:8px 12px;border-radius:6px}.notification-state-indicator.compact .state-message{font-size:14px}.state-content{display:flex;align-items:flex-start;gap:12px}.state-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px}.state-icon-loading{color:var(--primary, #2563eb)}.state-icon-success{color:var(--success, #10b981)}.state-icon-error{color:var(--error, #ef4444)}.spinner{animation:spin 1s linear infinite}.spinner circle{stroke-dasharray:50;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.state-message-container{flex:1;min-width:0}.state-message{margin:0;font-size:15px;font-weight:500;color:var(--text-primary, #1a1a1a);line-height:1.4}.state-details-toggle{margin-top:8px}.details-toggle-button{background:none;border:none;padding:0;font-size:13px;color:var(--primary, #2563eb);cursor:pointer;text-decoration:underline;font-weight:500}.details-toggle-button:hover{color:var(--primary-hover, #1d4ed8)}.details-toggle-button:focus-visible{outline:2px solid var(--primary, #2563eb);outline-offset:2px;border-radius:2px}.state-details{margin:8px 0 0;padding:8px 12px;background:var(--surface-secondary, #f5f5f5);border-radius:4px;font-size:13px;color:var(--text-secondary, #666);line-height:1.5;word-wrap:break-word;font-family:Consolas,Monaco,monospace}.state-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.state-action-button{display:flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid var(--border, #e5e5e5);border-radius:4px;background:var(--surface, white);color:var(--text-secondary, #666);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.state-action-button:hover{background:var(--surface-hover, #f9f9f9);border-color:var(--border-hover, #d4d4d4)}.state-action-button:focus-visible{outline:2px solid var(--primary, #2563eb);outline-offset:2px}.retry-button{color:var(--primary, #2563eb);border-color:var(--primary, #2563eb)}.retry-button:hover{background:var(--primary, #2563eb);color:#fff}.close-button{padding:6px;min-width:28px;justify-content:center}.auto-hide-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--border, #e5e5e5);overflow:hidden}.progress-bar{height:100%;background:var(--success, #10b981);width:100%;transform-origin:left}@keyframes shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-color-scheme:dark){.notification-state-indicator{background:var(--surface-dark, #1a1a1a);border-color:var(--border-dark, #3a3a3a)}.notification-state-indicator.state-success{background:#10b9811a}.notification-state-indicator.state-error{background:#ef44441a}.state-message{color:var(--text-primary-dark, #e5e5e5)}.state-details{background:var(--surface-secondary-dark, #2a2a2a);color:var(--text-secondary-dark, #a0a0a0)}.state-action-button{background:var(--surface-dark, #1a1a1a);border-color:var(--border-dark, #3a3a3a);color:var(--text-secondary-dark, #a0a0a0)}.state-action-button:hover{background:var(--surface-hover-dark, #252525);border-color:var(--border-hover-dark, #4a4a4a)}.retry-button{color:var(--primary-dark, #3b82f6);border-color:var(--primary-dark, #3b82f6)}.retry-button:hover{background:var(--primary-dark, #3b82f6);color:#fff}}@media(max-width:640px){.notification-state-indicator{padding:10px 12px}.state-content{gap:10px}.state-message{font-size:14px}.state-action-button{font-size:12px;padding:5px 8px}.retry-button{flex-direction:column;gap:2px;font-size:11px}}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notification-state-indicator.visible{animation:slideIn .3s cubic-bezier(.4,0,.2,1)}.notification-toggle{display:flex;flex-direction:column;gap:12px;padding:12px;background:var(--surface-secondary, #f5f5f5);border-radius:8px}.notification-toggle-loading{display:flex;align-items:center;gap:8px;color:var(--text-secondary, #666);font-size:14px}.notification-override-indicator{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--primary, #2563eb);font-weight:500}.notification-override-indicator svg{opacity:.8}.notification-toggle-channels{display:flex;gap:8px;flex-wrap:wrap}.notification-toggle-button{display:flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid var(--border, #e5e5e5);border-radius:6px;background:var(--surface, white);color:var(--text-secondary, #666);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.notification-toggle-button:hover:not(.disabled){background:var(--surface-hover, #f9f9f9);border-color:var(--border-hover, #d4d4d4)}.notification-toggle-button.active{background:var(--primary, #2563eb);border-color:var(--primary, #2563eb);color:#fff}.notification-toggle-button.active:hover:not(.disabled){background:var(--primary-hover, #1d4ed8);border-color:var(--primary-hover, #1d4ed8)}.notification-toggle-button.disabled{opacity:.5;cursor:not-allowed}.notification-toggle-button:focus-visible{outline:2px solid var(--primary, #2563eb);outline-offset:2px}.notification-toggle-icon{display:flex;align-items:center;justify-content:center}.notification-toggle-icon svg{width:20px;height:20px}.notification-toggle-label{font-size:14px}.notification-toggle-hint{font-size:12px;color:var(--text-tertiary, #999);font-style:italic}.notification-toggle-compact{padding:8px}.notification-toggle-compact .notification-toggle-button{padding:8px;min-width:40px;justify-content:center}.notification-toggle-compact .notification-toggle-label{display:none}.spinner-small{width:16px;height:16px;border:2px solid var(--border, #e5e5e5);border-top-color:var(--primary, #2563eb);border-radius:50%;animation:spin .6s linear infinite}.spinner-tiny{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite;opacity:.6}.notification-toggle-state{margin-bottom:12px}.notification-toggle-button.toggling{opacity:.7;cursor:wait}.notification-toggle-button.toggling .notification-toggle-icon{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(prefers-color-scheme:dark){.notification-toggle{background:var(--surface-secondary-dark, #2a2a2a)}.notification-toggle-button{background:var(--surface-dark, #1a1a1a);border-color:var(--border-dark, #3a3a3a);color:var(--text-secondary-dark, #a0a0a0)}.notification-toggle-button:hover:not(.disabled){background:var(--surface-hover-dark, #252525);border-color:var(--border-hover-dark, #4a4a4a)}.notification-toggle-button.active{background:var(--primary-dark, #3b82f6);border-color:var(--primary-dark, #3b82f6);color:#fff}.notification-toggle-button.active:hover:not(.disabled){background:var(--primary-hover-dark, #2563eb);border-color:var(--primary-hover-dark, #2563eb)}.notification-toggle-loading{color:var(--text-secondary-dark, #a0a0a0)}.spinner-small{border-color:var(--border-dark, #3a3a3a);border-top-color:var(--primary-dark, #3b82f6)}}@media(max-width:640px){.notification-toggle-button{flex:1;justify-content:center;min-width:0}.notification-toggle-channels{width:100%}}.event-detail-backdrop{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:5vh 5vw;box-sizing:border-box}.event-detail-backdrop--clear{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.event-detail-backdrop--dim{background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:event-detail-backdrop-in .15s ease-out forwards}@keyframes event-detail-backdrop-in{0%{background:transparent}to{background:#0006}}.event-detail-pane{position:relative;width:90vw;height:90vh;max-width:90vw;max-height:90vh;background:#fcfbf8;border-radius:16px;box-shadow:0 16px 48px #1c191747;overflow:visible}@keyframes event-detail-expand{0%{transform:scale(0)}to{transform:scale(1)}}.event-detail-wireframe{width:90vw;height:90vh;max-width:90vw;max-height:90vh;box-sizing:border-box;background:transparent;border:2px solid #c07b2a;border-radius:16px;box-shadow:none;transform:scale(0);transform-origin:center center;opacity:1;animation:event-detail-expand .3s ease-out forwards;will-change:transform;pointer-events:none}@keyframes event-detail-fade-in{0%{opacity:0}to{opacity:1}}.event-detail-scroll{height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:inherit}.event-detail-scroll--fade-in{animation:event-detail-fade-in .15s ease-out forwards;will-change:opacity}.event-detail-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;z-index:10;color:#1a1a1a;border:none;cursor:pointer;font-size:18px;line-height:1;transition:transform .2s ease,background .15s ease}.event-detail-close:hover{background:#fff}.event-detail-close:active{transform:scale(.95)}.event-detail-close:focus-visible{outline:2px solid #c07b2a;outline-offset:2px}.event-detail-image{position:relative;width:100%;aspect-ratio:16 / 9;max-height:420px;overflow:hidden;background-color:#12100e;border-radius:16px 16px 0 0}.event-detail-image img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}.event-detail-image .event-image-fallback{position:absolute;inset:0;aspect-ratio:auto}.event-detail-content{padding:24px 16px;max-width:900px;margin:0 auto}.event-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.event-title-section{flex:1}.event-detail-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.event-detail-actions .event-edit-action{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;line-height:1;white-space:nowrap;color:#57534e;background:transparent;border:1px solid #e7e5e4;border-radius:6px;transition:color .15s ease,background-color .15s ease}.event-detail-actions .event-edit-action:hover{color:#2e1a16;background:#fcfbf8}.event-detail-actions .event-edit-action svg{width:14px;height:14px;flex-shrink:0}.event-detail-actions .event-secondary-action{display:inline-flex;align-items:center;justify-content:center;padding:8px;border:1px solid #e2e8f0;border-radius:6px;background:transparent;line-height:1;color:#57534e;cursor:pointer;transition:background-color .15s ease}.event-detail-actions .event-secondary-action:hover{background:#f8fafc}.event-detail-header h1{font-size:28px;font-weight:700;line-height:1.3;color:#1a1a1a;margin:0 0 12px}.event-categories{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.category-chip{display:inline-flex;align-items:center;padding:6px 12px;background:#e3f2fd;color:#1976d2;border-radius:16px;font-size:13px;font-weight:500}.subcategory-chip{background:#f3e5f5;color:#7b1fa2}.favorite-button{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid #dee2e6;display:flex;align-items:center;justify-content:center;color:#e53e3e;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:all .2s ease}.favorite-button:hover{background:#fff5f5;border-color:#e53e3e;box-shadow:0 4px 8px #00000026}.favorite-button:active{transform:scale(.95)}.favorite-button:disabled{opacity:.6;cursor:not-allowed}.favorite-button[aria-pressed=true]{background:#fff5f5;border-color:#e53e3e}.event-datetime{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.event-datetime svg{flex-shrink:0;color:#1976d2}.event-datetime time{font-size:15px;line-height:1.5;color:#4a4a4a;font-weight:500}.event-posted-by{display:flex;align-items:center;gap:8px;margin:-12px 0 20px;padding:0 4px;font-size:13px;font-weight:500;color:#78716c}.event-posted-by svg{flex-shrink:0;color:#a8a29e}.event-posted-by-link{color:#57534e;font-weight:600;text-decoration:none}.event-posted-by-link:hover{color:#1c1917;text-decoration:underline}.event-location-card .event-location-name{font-size:18px;font-weight:700;text-transform:none;letter-spacing:0;color:#1a1a1a;margin:0 0 6px;line-height:1.3}.event-location-name-link{color:inherit;text-decoration:none}.event-location-name-link:hover{text-decoration:underline}.event-location-address{margin:0 0 10px;font-size:14px;line-height:1.5;color:#57534e}.event-directions-link{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:6px 10px;border:1px solid #e7e5e4;border-radius:8px;background:#fff;color:#1d4ed8;font-size:13px;font-weight:600;text-decoration:none}.event-directions-link:hover{background:#eff6ff;border-color:#bfdbfe}.event-short-description{margin:0 0 16px;padding:0 4px;font-size:16px;line-height:1.55;color:#4a4a4a}.event-secondary-details .event-detail-facts{margin:0;display:flex;flex-direction:column;gap:12px}.event-detail-fact{display:grid;grid-template-columns:minmax(88px,120px) 1fr;gap:8px 16px;align-items:baseline}.event-detail-fact dt{margin:0;font-size:13px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.03em}.event-detail-fact dd{margin:0;font-size:15px;font-weight:500;color:#1a1a1a;line-height:1.45}.event-detail-fact--block{grid-template-columns:1fr;gap:4px}.event-detail-fact--block dd{font-weight:400;color:#4a4a4a;white-space:pre-wrap}.event-meta-section{background:#fff;padding:20px;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:16px}.event-meta-section h2{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#666;margin:0 0 8px}.entity-link{color:#1976d2;text-decoration:none;font-size:16px;font-weight:500;transition:all .2s ease;border-bottom:1px solid transparent}.entity-link:hover{color:#1565c0;border-bottom-color:#1976d2}.entity-link-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.entity-link-row .entity-type-badge{margin-bottom:0;font-size:12px;padding:4px 10px}.entity-link-row .venue-address{flex-basis:100%;margin-top:4px}.entity-link-row .meta-badge.verified{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#e8f5e9;color:#2e7d32;border-radius:12px;font-size:12px;font-weight:500}.entity-type-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#e3f2fd;color:#1976d2;border-radius:20px;font-size:13px;font-weight:500}.venue-address{margin-top:8px;font-size:14px;color:#666;line-height:1.5}.event-description-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.event-description-section h2{font-size:20px;font-weight:600;margin:0 0 16px;color:#1a1a1a}.event-description{height:auto;max-height:none;overflow:visible;display:block;-webkit-line-clamp:unset;-webkit-box-orient:initial;text-overflow:unset;font-size:15px;line-height:1.7;color:#4a4a4a;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;margin:0 0 12px}.event-description:last-child{margin-bottom:0}.event-ticket-section{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;text-align:center;display:flex;flex-direction:column;align-items:stretch;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;text-decoration:none;transition:all .2s ease;cursor:pointer;border:none}.btn-primary{background:#1976d2;color:#fff;box-shadow:0 2px 4px #1976d24d}.btn-primary:hover{background:#1565c0;box-shadow:0 4px 8px #1976d266;transform:translateY(-1px)}.btn-secondary{background:#fff;color:#1976d2;border:1px solid #1976d2;box-shadow:none}.btn-secondary:hover{background:#e3f2fd;transform:translateY(-1px)}.btn-large{padding:16px 32px;font-size:18px}.event-tags{display:flex;flex-wrap:wrap;gap:8px}.tag-badge{display:inline-flex;padding:6px 12px;background:#f1f3f5;color:#495057;border-radius:16px;font-size:13px;font-weight:500}.event-detail-loading{display:flex;align-items:center;justify-content:center;min-height:240px;padding:48px 20px}.event-detail-loading .spinner{width:40px;height:40px;border:3px solid #e7e5e4;border-top-color:#5f0f40;border-radius:50%;animation:event-detail-spin .8s linear infinite}@keyframes event-detail-spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:8px}.error-state{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;margin:20px}.error-state h2{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 16px}@media(max-width:480px){.event-detail-header{flex-direction:column;align-items:stretch}.event-title-section{order:1}.favorite-button{align-self:flex-end;order:0}.event-detail-header h1{font-size:24px}}@media(min-width:768px){.event-detail-content{padding:32px 24px}.event-detail-header h1{font-size:32px}.event-detail-image{height:400px}.event-detail-close{top:16px;right:16px}}@media(min-width:1024px){.event-detail-content{padding:40px 32px}}.host-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.host-modal-content{background:#fff;border-radius:12px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.host-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.host-modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.host-modal-close{background:none;border:none;font-size:2rem;line-height:1;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.host-modal-close:hover{background-color:#f3f4f6;color:#111827}.host-modal-form{padding:1.5rem}.host-modal-form .form-group{margin-bottom:1.25rem}.host-modal-form .form-group:last-of-type{margin-bottom:0}.host-modal-form label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.host-modal-form .required{color:#dc2626;margin-left:.25rem}.host-modal-form input,.host-modal-form select,.host-modal-form textarea{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s;font-family:inherit}.host-modal-form input:focus,.host-modal-form select:focus,.host-modal-form textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.host-modal-form input:disabled,.host-modal-form select:disabled,.host-modal-form textarea:disabled{background-color:#f9fafb;cursor:not-allowed;opacity:.6}.host-modal-form .has-error input,.host-modal-form .has-error select,.host-modal-form .has-error textarea{border-color:#dc2626}.host-modal-form .has-error input:focus,.host-modal-form .has-error select:focus,.host-modal-form .has-error textarea:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.host-modal-form .error-message{display:block;margin-top:.375rem;font-size:.75rem;color:#dc2626}.host-modal-form textarea{resize:vertical;min-height:80px}.optional-fields-toggle{margin-bottom:1.25rem}.btn-optional-fields{background:none;border:1px dashed #d1d5db;color:#6b7280;padding:.625rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;width:100%;text-align:center}.btn-optional-fields:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6;background-color:#eff6ff}.btn-optional-fields:disabled{cursor:not-allowed;opacity:.6}.host-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid #e5e7eb}.host-modal-actions .btn-primary,.host-modal-actions .btn-secondary{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.host-modal-actions .btn-primary{background-color:#3b82f6;color:#fff}.host-modal-actions .btn-primary:hover:not(:disabled){background-color:#2563eb}.host-modal-actions .btn-primary:disabled{background-color:#93c5fd;cursor:not-allowed}.host-modal-actions .btn-secondary{background-color:#fff;color:#374151;border:1px solid #d1d5db}.host-modal-actions .btn-secondary:hover:not(:disabled){background-color:#f9fafb}.host-modal-actions .btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.host-modal-content{max-height:100vh;border-radius:0}.host-modal-header{padding:1rem}.host-modal-header h2{font-size:1.25rem}.host-modal-form{padding:1rem}.host-modal-actions{flex-direction:column-reverse}.host-modal-actions .btn-primary,.host-modal-actions .btn-secondary{width:100%}}.event-create-form{max-width:1100px;margin:0 auto;padding:16px 20px 88px;background:#fcfbf8;border-radius:8px;box-shadow:none}.event-form-columns{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.event-form-column{display:flex;flex-direction:column;gap:16px;min-width:0}@media(min-width:1024px){.event-create-form .event-form-columns{grid-template-columns:1fr 1fr;gap:24px}}.event-form-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.event-form-loading .spinner{width:48px;height:48px;border:4px solid #f0f0f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.event-form-loading p{color:#6b7280;font-size:16px}.ics-import{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:10px 12px;border:1px dashed #d6d3d1;border-radius:8px;background:#fff}.ics-import-active{border-color:#3b82f6;background:#eff6ff}.ics-import-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ics-import-button{display:inline-flex;align-items:center;padding:8px 14px;background:#fff;color:#374151;border:2px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.ics-import-button:hover{border-color:#3b82f6;color:#3b82f6}.ics-import-hint{font-size:13px;color:#78716c}.form-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e7e5e4}.form-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.form-header-text{flex:1}.form-header h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#111827;line-height:1.2}.form-description{margin:0;color:#6b7280;font-size:15px;line-height:1.5}.btn-bulk-import{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background-color:#fff;color:#374151;border:2px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-bulk-import:hover{background-color:#f9fafb;border-color:#3b82f6;color:#3b82f6}.btn-bulk-import svg{flex-shrink:0}.form-section{margin-bottom:0;padding:16px;border:1px solid #e7e5e4;border-radius:8px;background:#fff}.form-section h2,.form-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#2e1a16;line-height:1.3}.event-create-form .form-group,.form-field{margin-bottom:12px}.event-create-form .form-group:last-child,.form-field:last-child{margin-bottom:0}.event-create-form textarea[name=description]{min-height:96px;max-height:160px}.event-create-form .form-group input,.event-create-form .form-group textarea,.event-create-form .form-group select{width:100%;box-sizing:border-box}.form-field label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#374151;line-height:1.4}.form-field input[type=text],.form-field input[type=url],.form-field input[type=number],.form-field input[type=date],.form-field input[type=datetime-local],.form-field textarea,.form-field select{width:100%;padding:10px 12px;font-size:15px;line-height:1.5;color:#111827;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;transition:border-color .2s,box-shadow .2s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-field textarea{resize:vertical;font-family:inherit}.form-field.has-error input,.form-field.has-error textarea,.form-field.has-error select{border-color:#ef4444}.form-field.has-error input:focus,.form-field.has-error textarea:focus,.form-field.has-error select:focus{box-shadow:0 0 0 3px #ef44441a}.required{color:#ef4444;font-weight:600}.optional{font-weight:400;color:#9ca3af}.field-hint{margin-top:6px;font-size:13px;color:#6b7280;line-height:1.4}.error-text{margin-top:6px;font-size:13px;color:#ef4444;font-weight:500;line-height:1.4}.datetime-quarter-hour{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.datetime-quarter-hour input[type=date]{flex:1 1 10rem;min-width:10rem}.datetime-quarter-hour select{width:4.75rem;flex:0 0 auto}.datetime-quarter-hour-sep{color:#6b7280;font-weight:600}.form-row{display:flex;flex-direction:column;gap:12px}@media(min-width:640px){.form-row{flex-direction:row;align-items:flex-start}.form-row>.form-group,.form-row>.form-field{flex:1;min-width:0;margin-bottom:0}}.event-create-form .tag-presets,.preset-tags-list{display:flex;flex-wrap:wrap;gap:6px}.event-create-form .tag-preset,.preset-tag-button{padding:4px 8px;font-size:12px;line-height:1.2;border-radius:999px}.searchable-dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;right:0;z-index:50;max-height:320px;margin-top:4px;overflow-y:auto;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.dropdown-item{padding:12px;cursor:pointer;transition:background-color .15s;border-bottom:1px solid #f3f4f6}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover,.dropdown-item:focus{background-color:#f9fafb;outline:none}.dropdown-item.selected{background-color:#eff6ff}.event-create-form .dropdown-item.checkbox-item{display:flex;align-items:center;gap:10px}.event-create-form .dropdown-item.checkbox-item input[type=checkbox]{width:16px;height:16px;min-width:16px;min-height:16px;margin:0;flex:0 0 16px;accent-color:#3b82f6}.dropdown-item-title{font-size:14px;font-weight:600;color:#111827;line-height:1.4}.dropdown-item-subtitle{margin-top:2px;font-size:13px;color:#6b7280;line-height:1.3}.selected-value{margin-top:8px;padding:8px 12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:14px;color:#374151;line-height:1.4}.selected-value strong{color:#111827}.multi-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:15px;line-height:1.5;text-align:left;color:#111827;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.multi-select-trigger:hover{border-color:#9ca3af}.multi-select-trigger:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.multi-select-trigger:disabled,.multi-select-container.is-disabled .multi-select-trigger{opacity:.5;cursor:not-allowed;background-color:#f1f5f9;color:#64748b}.multi-select-trigger:disabled:hover,.multi-select-container.is-disabled .multi-select-trigger:hover{border-color:#d1d5db}.multi-select-trigger svg{flex-shrink:0;transition:transform .2s}.multi-select-value{color:#6b7280}.multi-select-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;max-height:320px;margin-top:4px;overflow-y:auto;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.multi-select-option{display:flex;align-items:flex-start;gap:12px;padding:12px;cursor:pointer;transition:background-color .15s;border-bottom:1px solid #f3f4f6}.multi-select-option:last-child{border-bottom:none}.multi-select-option:hover,.multi-select-option:focus{background-color:#f9fafb;outline:none}.multi-select-option.selected{background-color:#eff6ff}.checkbox{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;margin-top:2px;border:2px solid #d1d5db;border-radius:4px;background-color:#fff;transition:all .15s}.multi-select-option.selected .checkbox{background-color:#3b82f6;border-color:#3b82f6}.checkbox svg{color:#fff}.option-content{flex:1}.option-name{font-size:14px;font-weight:600;color:#111827;line-height:1.4}.option-description{margin-top:2px;font-size:13px;color:#6b7280;line-height:1.3}.selected-item{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;color:#374151;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;line-height:1.4}.selected-item.tag.preset{background-color:#dbeafe;border-color:#93c5fd;color:#1e40af}.selected-item.tag.custom{background-color:#fef3c7;border-color:#fde68a;color:#92400e}.tag-badge{padding:2px 6px;font-size:10px;font-weight:600;text-transform:uppercase;background-color:#3b82f633;border-radius:4px;letter-spacing:.025em}.selected-item button{display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;cursor:pointer;color:#6b7280;transition:color .15s}.selected-item button:hover{color:#ef4444}.selected-item button:focus{outline:none;color:#ef4444}.preset-tags{margin-top:12px;padding:12px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.preset-tags-label{margin-bottom:8px;font-size:13px;font-weight:600;color:#374151}.preset-tags-list{display:flex;flex-wrap:wrap;gap:6px}.preset-tag-button{padding:4px 8px;font-size:12px;font-weight:500;color:#57534e;background-color:#fcfbf8;border:1px solid #e7e5e4;border-radius:999px;cursor:pointer;transition:all .15s}.event-create-form .tag-preset{color:#57534e;background-color:#fcfbf8;border:1px solid #e7e5e4;cursor:pointer}.event-create-form .tag-preset.selected,.preset-tag-button.selected{color:#2e1a16;background-color:#f3e6d4;border-color:#d4af37}.event-create-form .custom-tag-input{display:flex;gap:8px;margin-top:12px}.event-create-form .custom-tag-input input{flex:1;min-width:0}.event-create-form .custom-tag-input button{flex:0 0 auto;padding:10px 14px;font-size:14px;font-weight:600;color:#2e1a16;background-color:#f3e6d4;border:1px solid #d4af37;border-radius:6px;cursor:pointer}.event-create-form .selected-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.event-create-form .selected-tags .tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;border-radius:999px;line-height:1.4}.event-create-form .selected-tags .tag.preset{color:#2e1a16;background-color:#f3e6d4;border:1px solid #d4af37}.event-create-form .selected-tags .tag.custom{color:#92400e;background-color:#fef3c7;border:1px solid #fde68a}.event-create-form .selected-tags .tag button{display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;cursor:pointer;color:inherit;font-size:16px;line-height:1}.preset-tag-button:hover,.event-create-form .tag-preset:hover{background-color:#f7f5f0;color:#2e1a16}.preset-tag-button:focus{outline:none;box-shadow:0 0 0 3px #3b82f633}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:15px;color:#374151;line-height:1.5}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.checkbox-label span{font-weight:500}.input-with-prefix{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:12px;font-size:15px;font-weight:600;color:#6b7280;pointer-events:none}.input-with-prefix input{padding-left:28px}.image-preview{margin-top:12px;padding:8px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.image-preview img{max-width:100%;height:auto;max-height:300px;border-radius:4px;object-fit:cover}.featured-image-upload{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px dashed #d6d3d1;border-radius:8px;background:#fff}.featured-image-upload-active{border-color:#3b82f6;background:#eff6ff}.featured-image-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.featured-image-button{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;color:#374151;border:2px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.featured-image-button:hover{border-color:#3b82f6;color:#3b82f6}.featured-image-button .spinner-small{border-color:#37415140;border-top-color:#374151}.featured-image-hint{font-size:13px;color:#78716c}.form-actions{position:fixed;z-index:30;left:0;right:0;bottom:0;display:flex;justify-content:flex-end;gap:8px;margin:0;padding:12px 80px 12px 20px;background:#fcfbf8;border-top:1px solid #e7e5e4}@media(min-width:768px){.form-actions{left:68px}}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;line-height:1.5;border-radius:6px;cursor:pointer;transition:all .2s;border:none}.btn-primary{color:#fff;background-color:#3b82f6;box-shadow:0 1px 2px #0000000d}.btn-primary:hover:not(:disabled){background-color:#2563eb;box-shadow:0 4px 6px -1px #0000001a}.btn-primary:focus{outline:none;box-shadow:0 0 0 3px #3b82f64d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#374151;background-color:#fff;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.btn-secondary:focus{outline:none;box-shadow:0 0 0 3px #9ca3af33}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@media(max-width:768px){.event-create-form{padding:16px;border-radius:0;box-shadow:none}.form-header-content{flex-direction:column;align-items:stretch}.btn-bulk-import{width:100%;justify-content:center}.ics-import{flex-wrap:wrap}.form-header h1{font-size:24px}.form-section h2{font-size:18px}.form-actions{bottom:58px;flex-direction:row;justify-content:flex-end}.event-create-form .btn-primary,.event-create-form .btn-secondary{width:auto}}@media(max-width:480px){.event-create-form{padding:12px}.form-field label{font-size:13px}.form-field input,.form-field textarea,.form-field select{font-size:14px;padding:9px 10px}.dropdown-menu,.multi-select-dropdown{max-height:240px}}@media(prefers-reduced-motion:reduce){.spinner,.spinner-small,.multi-select-trigger svg{animation:none}*{transition:none!important}}@media(prefers-color-scheme:dark){.event-create-form{background-color:#1f2937;color:#f9fafb}.form-header h1{color:#f9fafb}.form-description,.field-hint{color:#9ca3af}.form-section h2,.form-field label{color:#e5e7eb}.form-field input,.form-field textarea,.form-field select{background-color:#374151;border-color:#4b5563;color:#f9fafb}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.dropdown-menu,.multi-select-dropdown{background-color:#374151;border-color:#4b5563}.dropdown-item,.multi-select-option{border-bottom-color:#4b5563}.dropdown-item:hover,.dropdown-item:focus,.multi-select-option:hover,.multi-select-option:focus{background-color:#4b5563}.dropdown-item.selected,.multi-select-option.selected{background-color:#1e3a8a}.dropdown-item-title,.option-name{color:#f9fafb}.dropdown-item-subtitle,.option-description{color:#9ca3af}.selected-value{background-color:#374151;border-color:#4b5563;color:#e5e7eb}.selected-item{background-color:#4b5563;border-color:#6b7280;color:#e5e7eb}.preset-tags{background-color:#374151;border-color:#4b5563}.preset-tag-button{background-color:#374151;border-color:#60a5fa;color:#60a5fa}.preset-tag-button:hover{background-color:#60a5fa;color:#1f2937}.btn-secondary{background-color:#374151;border-color:#4b5563;color:#e5e7eb}.btn-secondary:hover:not(:disabled){background-color:#4b5563}.image-preview{background-color:#374151;border-color:#4b5563}.general-error-banner{background-color:#991b1b;border-color:#b91c1c}.general-error-banner .error-content strong,.general-error-banner .error-content p{color:#fef2f2}.dismiss-error{color:#fca5a5}.dismiss-error:hover{color:#fef2f2}}.general-error-banner{position:relative;display:flex;align-items:flex-start;gap:12px;margin-bottom:24px;padding:16px;background-color:#fee2e2;border:1px solid #fca5a5;border-left:4px solid #ef4444;border-radius:6px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.general-error-banner svg{flex-shrink:0;color:#ef4444;margin-top:2px}.general-error-banner .error-content{flex:1;min-width:0}.general-error-banner .error-content strong{display:block;margin-bottom:4px;font-size:15px;font-weight:600;color:#991b1b;line-height:1.4}.general-error-banner .error-content p{margin:0;font-size:14px;color:#7f1d1d;line-height:1.5;word-break:break-word}.dismiss-error{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:4px;cursor:pointer;color:#dc2626;transition:all .15s}.dismiss-error:hover{background-color:#fecaca;color:#991b1b}.dismiss-error:focus{outline:none;box-shadow:0 0 0 3px #ef444433}.required{position:relative}.required:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,#ef4444 0%,transparent 100%);opacity:.3}.form-field label .required{display:inline-block;margin-left:2px}.form-field label .optional{display:inline-block;margin-left:4px;font-size:12px}.btn-create-host{margin-top:8px;padding:8px 12px;background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px}.btn-create-host:hover{background-color:#e5e7eb;border-color:#9ca3af}.btn-create-host:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.field-highlighted{position:relative}.field-highlighted:before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#f59e0b,#fbbf24);border-radius:2px}.field-highlighted label{color:#92400e;font-weight:600}.highlight-indicator{display:inline-flex;align-items:center;margin-left:6px;color:#f59e0b;vertical-align:middle;animation:pulse-warning 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.highlighted-field{border:2px solid #fbbf24!important;background-color:#fffbeb!important;box-shadow:0 0 0 3px #fbbf241a!important}.highlighted-field:focus{border-color:#f59e0b!important;background-color:#fff!important;box-shadow:0 0 0 3px #f59e0b33!important}.form-group.field-highlighted{padding:16px;margin:-8px;background-color:#fffbeb;border-radius:8px;border:1px solid #fde68a}.form-group.field-highlighted input,.form-group.field-highlighted textarea,.form-group.field-highlighted select{background-color:#fff}.form-group.field-highlighted input:focus,.form-group.field-highlighted textarea:focus,.form-group.field-highlighted select:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.geocode-status{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:500}.geocode-status.loading{background-color:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.geocode-status.success{background-color:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.geocode-status.error{background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.geocode-status.manual{background-color:#fefce8;color:#854d0e;border:1px solid #fef08a}.geocode-status svg{flex-shrink:0}.geocode-status .spinner-small{width:16px;height:16px;border:2px solid #bfdbfe;border-top-color:#1e40af;border-radius:50%;animation:spin .8s linear infinite}.category-select-wrapper{position:relative;display:flex;align-items:center;gap:12px}.category-select{flex:1;transition:all .2s ease}.category-icon-preview{position:absolute;right:40px;top:50%;transform:translateY(-50%);pointer-events:none;display:flex;align-items:center;justify-content:center;opacity:.8}.category-icon-preview svg{width:24px;height:24px}.multi-select-container{position:relative}.multi-select-trigger{width:100%;padding:12px 40px 12px 16px;font-size:15px;color:#374151;background-color:#fff;border:2px solid #d1d5db;border-radius:6px;cursor:pointer;text-align:left;transition:all .2s;display:flex;justify-content:space-between;align-items:center}.multi-select-trigger:hover{border-color:var(--category-color, #3b82f6);background-color:#f9fafb}.multi-select-trigger:focus{outline:none;border-color:var(--category-color, #3b82f6);box-shadow:0 0 0 3px var(--category-color-light, rgba(59, 130, 246, .1))}.multi-select-trigger svg{transition:transform .2s;color:#6b7280}.multi-select-trigger svg.rotated{transform:rotate(180deg)}.multi-select-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:300px;overflow-y:auto;background:#fff;border:2px solid var(--category-color, #d1d5db);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;padding:8px}.multi-select-dropdown::-webkit-scrollbar{width:8px}.multi-select-dropdown::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.multi-select-dropdown::-webkit-scrollbar-thumb{background:var(--category-color, #d1d5db);border-radius:4px}.multi-select-dropdown::-webkit-scrollbar-thumb:hover{background:var(--category-color-dark, #9ca3af)}.multi-select-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s;margin-bottom:4px}.multi-select-option:last-child{margin-bottom:0}.multi-select-option:hover{background-color:var(--category-color-light, #f3f4f6);border-color:var(--category-color-light, #e5e7eb)}.multi-select-option.selected{background-color:var(--category-color-light, #eff6ff);border-color:var(--category-color, #3b82f6)}.multi-select-option:focus{outline:none;border-color:var(--category-color, #3b82f6)}.multi-select-option .checkbox{flex-shrink:0;width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;background:#fff;transition:all .15s}.multi-select-option.selected .checkbox{background-color:var(--category-color, #3b82f6);border-color:var(--category-color, #3b82f6)}.multi-select-option .checkbox svg{color:#fff}.multi-select-option .option-content{flex:1;min-width:0}.multi-select-option .option-name{font-size:14px;font-weight:500;color:#111827;margin-bottom:2px}.multi-select-option.selected .option-name{color:var(--category-color-dark, #1e40af);font-weight:600}.multi-select-option .option-description{font-size:13px;color:#6b7280;line-height:1.4}.selected-items{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.selected-item{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:500;border:1px solid;border-radius:6px;line-height:1.4;transition:all .15s}.selected-item:hover{opacity:.9;transform:translateY(-1px)}@media(max-width:640px){.category-icon-preview{right:35px}.category-icon-preview svg{width:20px;height:20px}.multi-select-dropdown{max-height:250px}.multi-select-option{padding:10px}.multi-select-option .option-name{font-size:13px}.multi-select-option .option-description{font-size:12px}}@media(min-width:640px)and (max-width:1024px){.category-select-wrapper{gap:10px}.multi-select-dropdown{max-height:280px}}.create-event-page{max-width:1200px;margin:0 auto;padding:32px 16px;min-height:calc(100vh - 200px)}.edit-event-nav{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.edit-event-nav-btn{padding:4px 12px;font-size:14px;border:1px solid #e7e5e4;border-radius:6px;color:#57534e;background:#fff}.edit-event-nav-btn:disabled{opacity:.5;cursor:not-allowed}.edit-event-nav-btn:hover:not(:disabled){background:#fcfbf8}.edit-event-loading{margin:24px 0;color:#78716c;font-size:14px}@media(max-width:768px){.create-event-page{padding:24px 8px}}@media(max-width:480px){.create-event-page{padding:16px 0}}@media(prefers-color-scheme:dark){.create-event-page{background-color:#111827}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop, 1000);padding:var(--spacing-5);animation:fadeIn .2s ease-out}.modal-content{background:var(--color-surface, white);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.modal-small{width:100%;max-width:400px}.modal-medium{width:100%;max-width:600px}.modal-large{width:100%;max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.modal-close{padding:var(--spacing-2);background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-base);transition:background .2s ease;color:var(--color-text-secondary)}.modal-close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-6);overflow-y:auto}@media(max-width:768px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{width:100%;max-width:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:95vh}.modal-header{padding:var(--spacing-5)}.modal-header h2{font-size:var(--font-size-xl)}.modal-body{padding:var(--spacing-5)}}.correction-pane-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:correctionFadeIn .2s ease-out}@keyframes correctionFadeIn{0%{opacity:0}to{opacity:1}}.correction-pane-content{background:#fff;border-radius:16px;box-shadow:0 24px 64px #0006;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;animation:correctionSlideUp .3s ease-out}@keyframes correctionSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.correction-pane-header{display:flex;justify-content:space-between;align-items:flex-start;padding:28px 32px;border-bottom:2px solid #f0f0f0;background:linear-gradient(to bottom,#fff,#fafafa)}.correction-pane-header-content{flex:1}.correction-pane-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.correction-pane-header h2{margin:0 0 6px;font-size:22px;font-weight:700;color:#1a1a1a;line-height:1.3}.correction-tier-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;line-height:1.4}.correction-tier-medium{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fbbf24}.correction-pane-subtitle{margin:0;font-size:14px;color:#666;font-weight:500}.correction-pane-subtitle span{color:#333;font-weight:600}.correction-pane-close{padding:10px;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease;color:#666;margin-left:16px;flex-shrink:0}.correction-pane-close:hover{background:#f5f5f5;color:#1a1a1a}.correction-pane-close:active{transform:scale(.95)}.correction-pane-body{padding:24px 32px;overflow-y:auto;flex:1}.correction-issue-card{background:#fff;border:2px solid #e8e8e8;border-radius:12px;padding:24px;margin-bottom:20px;transition:all .2s ease}.correction-issue-card:last-child{margin-bottom:0}.correction-issue-card:hover{border-color:#d0d0d0;box-shadow:0 4px 12px #00000014}.correction-issue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.correction-issue-number{font-size:13px;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.5px}.correction-confidence-badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.3px;white-space:nowrap}.confidence-very-high{background:#d1fae5;color:#065f46}.confidence-high{background:#dbeafe;color:#1e40af}.confidence-medium{background:#fef3c7;color:#92400e}.confidence-low{background:#fee2e2;color:#991b1b}.correction-issue-content{display:flex;flex-direction:column;gap:18px;margin-bottom:20px}.correction-issue-field,.correction-issue-problem,.correction-issue-fix{display:flex;flex-direction:column;gap:8px}.correction-issue-field label,.correction-issue-problem label,.correction-issue-fix label{font-size:12px;font-weight:700;color:#666;text-transform:uppercase;letter-spacing:.5px;margin:0}.correction-issue-field code{display:inline-block;background:#f5f5f5;border:1px solid #e0e0e0;padding:10px 14px;border-radius:8px;font-family:Courier New,Courier,monospace;font-size:14px;color:#e11d48;font-weight:600}.correction-issue-problem p,.correction-proposed-fix p{margin:0;font-size:15px;line-height:1.6;color:#333}.correction-proposed-fix{display:flex;align-items:flex-start;gap:12px;background:#f0fdf4;border:1px solid #bbf7d0;padding:14px 16px;border-radius:8px}.correction-fix-icon{color:#16a34a;flex-shrink:0;margin-top:2px}.correction-issue-actions{display:flex;gap:12px;justify-content:flex-end}.correction-button{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:2px solid transparent;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.correction-button:active{transform:scale(.97)}.correction-button svg{width:16px;height:16px}.correction-button-reject{background:#fff;color:#dc2626;border-color:#dc2626}.correction-button-reject:hover{background:#dc2626;color:#fff}.correction-button-accept{background:#16a34a;color:#fff;border-color:#16a34a}.correction-button-accept:hover{background:#15803d;border-color:#15803d}.correction-pane-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;border-top:2px solid #f0f0f0;background:#fafafa;border-radius:0 0 16px 16px}.correction-pane-info{margin:0;font-size:13px;color:#666;line-height:1.5;flex:1;padding-right:20px}.correction-button-close-all{padding:12px 24px;background:#fff;color:#333;border:2px solid #e0e0e0;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;white-space:nowrap}.correction-button-close-all:hover{background:#f5f5f5;border-color:#d0d0d0}.correction-button-close-all:active{transform:scale(.97)}@media(max-width:768px){.correction-pane-overlay{padding:0;align-items:flex-end}.correction-pane-content{width:100%;max-width:none;border-radius:16px 16px 0 0;max-height:95vh}.correction-pane-header{padding:24px 20px}.correction-pane-header h2{font-size:20px}.correction-pane-subtitle{font-size:13px}.correction-pane-body,.correction-issue-card{padding:20px}.correction-issue-actions{flex-direction:column-reverse}.correction-button{width:100%;justify-content:center}.correction-pane-footer{flex-direction:column;gap:16px;padding:20px}.correction-pane-info{padding-right:0;text-align:center}.correction-button-close-all{width:100%}}@media(max-width:480px){.correction-pane-header h2{font-size:18px}.correction-issue-header{flex-direction:column;align-items:flex-start;gap:10px}.correction-confidence-badge{font-size:11px;padding:5px 12px}}@media(prefers-color-scheme:dark){.correction-pane-content{background:#1a1a1a;box-shadow:0 24px 64px #000c}.correction-pane-header{border-bottom-color:#2a2a2a;background:linear-gradient(to bottom,#1a1a1a,#161616)}.correction-pane-header h2{color:#fff}.correction-pane-subtitle{color:#999}.correction-pane-subtitle span{color:#ccc}.correction-pane-close{color:#999}.correction-pane-close:hover{background:#2a2a2a;color:#fff}.correction-issue-card{background:#1f1f1f;border-color:#2a2a2a}.correction-issue-card:hover{border-color:#3a3a3a;box-shadow:0 4px 12px #0006}.correction-issue-header{border-bottom-color:#2a2a2a}.correction-issue-number{color:#999}.confidence-very-high{background:#064e3b;color:#6ee7b7}.confidence-high{background:#1e3a8a;color:#93c5fd}.confidence-medium{background:#78350f;color:#fcd34d}.confidence-low{background:#7f1d1d;color:#fca5a5}.correction-issue-field label,.correction-issue-problem label,.correction-issue-fix label{color:#999}.correction-issue-field code{background:#2a2a2a;border-color:#3a3a3a;color:#f87171}.correction-issue-problem p,.correction-proposed-fix p{color:#ccc}.correction-proposed-fix{background:#0f2d1a;border-color:#166534}.correction-fix-icon{color:#4ade80}.correction-button-reject{background:#1a1a1a;color:#ef4444;border-color:#dc2626}.correction-button-reject:hover{background:#dc2626;color:#fff}.correction-button-accept{background:#16a34a;color:#fff}.correction-button-accept:hover{background:#15803d}.correction-pane-footer{border-top-color:#2a2a2a;background:#161616}.correction-pane-info{color:#999}.correction-button-close-all{background:#1f1f1f;color:#ccc;border-color:#3a3a3a}.correction-button-close-all:hover{background:#2a2a2a;border-color:#4a4a4a}}.confidence-badge{display:inline-flex;align-items:center;gap:5px;border-radius:20px;font-weight:700;letter-spacing:.3px;white-space:nowrap;line-height:1.2}.confidence-badge--sm{padding:3px 8px;font-size:11px}.confidence-badge--md{padding:5px 12px;font-size:12px}.confidence-badge__dot{border-radius:50%;flex-shrink:0}.confidence-badge--sm .confidence-badge__dot{width:6px;height:6px}.confidence-badge--md .confidence-badge__dot{width:8px;height:8px}.confidence-badge--high{background:#d1fae5;color:#065f46}.confidence-badge--high .confidence-badge__dot{background:#065f46}.confidence-badge--medium{background:#fef3c7;color:#92400e}.confidence-badge--medium .confidence-badge__dot{background:#92400e}.confidence-badge--low{background:#fee2e2;color:#991b1b}.confidence-badge--low .confidence-badge__dot{background:#991b1b}@media(prefers-color-scheme:dark){.confidence-badge--high{background:#064e3b;color:#6ee7b7}.confidence-badge--high .confidence-badge__dot{background:#6ee7b7}.confidence-badge--medium{background:#78350f;color:#fcd34d}.confidence-badge--medium .confidence-badge__dot{background:#fcd34d}.confidence-badge--low{background:#7f1d1d;color:#fca5a5}.confidence-badge--low .confidence-badge__dot{background:#fca5a5}}.field-diff-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f0f0f0;transition:background .15s ease}.field-diff-row:last-child{border-bottom:none}.field-diff-row:hover{background:#fafafa}.field-diff-row--auto-accepted{background:#f0fdf4}.field-diff-row--auto-accepted:hover{background:#ecfdf5}.field-diff-row--accepted{background:#f0fdf4}.field-diff-row--accepted:hover{background:#ecfdf5}.field-diff-row--rejected{background:#fef2f2}.field-diff-row--rejected:hover{background:#fee2e2}.field-diff-row__name{min-width:150px;max-width:150px;flex-shrink:0}.field-diff-row__name code{display:inline-block;background:#f5f5f5;border:1px solid #e0e0e0;padding:4px 8px;border-radius:6px;font-family:Courier New,Courier,monospace;font-size:12px;font-weight:600;color:#475569;word-break:break-all}.field-diff-row__values{flex:1;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.field-diff-row__original{flex:1;font-size:13px;color:#94a3b8;text-decoration:line-through;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.field-diff-row__original--empty{font-style:italic;text-decoration:none;color:#cbd5e1}.field-diff-row__arrow{flex-shrink:0;color:#94a3b8;display:flex;align-items:center}.field-diff-row__inferred{flex:1;font-size:13px;color:#1e293b;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.field-diff-row__confidence{flex-shrink:0}.field-diff-row__auto-tag{flex-shrink:0;font-size:11px;font-weight:700;color:#065f46;background:#d1fae5;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.field-diff-row__actions{display:flex;gap:6px;flex-shrink:0}.field-diff-row__btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;border-radius:8px;border:2px solid transparent;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit;white-space:nowrap}.field-diff-row__btn:active{transform:scale(.97)}.field-diff-row__btn svg{width:14px;height:14px}.field-diff-row__btn--accept{background:#fff;color:#16a34a;border-color:#bbf7d0}.field-diff-row__btn--accept:hover,.field-diff-row__btn--accept.field-diff-row__btn--active{background:#16a34a;color:#fff;border-color:#16a34a}.field-diff-row__btn--reject{background:#fff;color:#dc2626;border-color:#fecaca}.field-diff-row__btn--reject:hover,.field-diff-row__btn--reject.field-diff-row__btn--active{background:#dc2626;color:#fff;border-color:#dc2626}@media(max-width:768px){.field-diff-row{flex-wrap:wrap;gap:8px;padding:12px}.field-diff-row__name{min-width:100%;max-width:100%}.field-diff-row__values{width:100%;flex-direction:column;align-items:flex-start;gap:4px}.field-diff-row__original,.field-diff-row__inferred{white-space:normal;word-break:break-word;width:100%}.field-diff-row__arrow{display:none}.field-diff-row__actions{width:100%;justify-content:flex-end}}@media(prefers-color-scheme:dark){.field-diff-row{border-bottom-color:#2a2a2a}.field-diff-row:hover{background:#1f1f1f}.field-diff-row--auto-accepted{background:#0f2d1a}.field-diff-row--auto-accepted:hover{background:#0d3117}.field-diff-row--accepted{background:#0f2d1a}.field-diff-row--accepted:hover{background:#0d3117}.field-diff-row--rejected{background:#2d1616}.field-diff-row--rejected:hover{background:#3d1e1e}.field-diff-row__name code{background:#2a2a2a;border-color:#3a3a3a;color:#94a3b8}.field-diff-row__original{color:#64748b}.field-diff-row__original--empty{color:#475569}.field-diff-row__arrow{color:#64748b}.field-diff-row__inferred{color:#e2e8f0}.field-diff-row__auto-tag{background:#064e3b;color:#6ee7b7}.field-diff-row__btn--accept{background:#1a1a1a;color:#4ade80;border-color:#166534}.field-diff-row__btn--accept:hover,.field-diff-row__btn--accept.field-diff-row__btn--active{background:#16a34a;color:#fff;border-color:#16a34a}.field-diff-row__btn--reject{background:#1a1a1a;color:#f87171;border-color:#7f1d1d}.field-diff-row__btn--reject:hover,.field-diff-row__btn--reject.field-diff-row__btn--active{background:#dc2626;color:#fff;border-color:#dc2626}}.autofill-review{display:flex;flex-direction:column;gap:16px;animation:autofillFadeIn .2s ease-out}@keyframes autofillFadeIn{0%{opacity:0}to{opacity:1}}@keyframes autofillSlideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.autofill-review__summary{display:flex;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#f0f9ff,#eff6ff);border:1px solid #bae6fd;border-radius:12px;animation:autofillSlideUp .3s ease-out}.autofill-review__stat{display:flex;flex-direction:column;gap:2px}.autofill-review__stat-value{font-size:22px;font-weight:800;color:#0c4a6e;line-height:1.2}.autofill-review__stat-label{font-size:12px;font-weight:600;color:#0369a1;text-transform:uppercase;letter-spacing:.5px}.autofill-review__stat--success .autofill-review__stat-value{color:#065f46}.autofill-review__stat--success .autofill-review__stat-label{color:#047857}.autofill-review__stat--warning .autofill-review__stat-value{color:#92400e}.autofill-review__stat--warning .autofill-review__stat-label{color:#b45309}.autofill-review__bulk-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.autofill-review__bulk-label{font-size:13px;font-weight:600;color:#475569}.autofill-review__bulk-buttons{display:flex;gap:8px}.autofill-review__bulk-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:2px solid transparent;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:inherit}.autofill-review__bulk-btn:active{transform:scale(.97)}.autofill-review__bulk-btn svg{width:16px;height:16px}.autofill-review__bulk-btn--accept-all{background:#fff;color:#16a34a;border-color:#bbf7d0}.autofill-review__bulk-btn--accept-all:hover{background:#16a34a;color:#fff;border-color:#16a34a}.autofill-review__bulk-btn--reject-all{background:#fff;color:#dc2626;border-color:#fecaca}.autofill-review__bulk-btn--reject-all:hover{background:#dc2626;color:#fff;border-color:#dc2626}.autofill-review__bulk-btn:disabled{opacity:.4;cursor:not-allowed}.autofill-review__bulk-btn:disabled:hover{background:#fff;color:inherit;border-color:inherit}.autofill-review__events{display:flex;flex-direction:column;gap:12px;max-height:55vh;overflow-y:auto;padding-right:4px}.autofill-review__event{border:2px solid #e8e8e8;border-radius:12px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease;animation:autofillSlideUp .3s ease-out}.autofill-review__event:hover{border-color:#d0d0d0;box-shadow:0 2px 8px #0000000f}.autofill-review__event-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:linear-gradient(to bottom,#fff,#fafafa);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid transparent;transition:background .15s ease}.autofill-review__event-header:hover{background:linear-gradient(to bottom,#fafafa,#f5f5f5)}.autofill-review__event--expanded .autofill-review__event-header{border-bottom-color:#f0f0f0}.autofill-review__event-title{font-size:15px;font-weight:700;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.autofill-review__event-meta{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:12px}.autofill-review__event-counts{display:flex;gap:8px;font-size:12px;font-weight:600}.autofill-review__event-count--auto{color:#065f46}.autofill-review__event-count--review{color:#92400e}.autofill-review__event-chevron{color:#94a3b8;transition:transform .2s ease;flex-shrink:0}.autofill-review__event--expanded .autofill-review__event-chevron{transform:rotate(180deg)}.autofill-review__event-body{overflow:hidden}.autofill-review__columns-header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#f8fafc;border-bottom:1px solid #f0f0f0}.autofill-review__col-label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.autofill-review__col-label--field{min-width:150px;max-width:150px}.autofill-review__col-label--values{flex:1;display:flex;gap:8px}.autofill-review__col-label--values span{flex:1}.autofill-review__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:2px solid #f0f0f0}.autofill-review__footer-info{font-size:13px;color:#666;line-height:1.5}.autofill-review__footer-info strong{color:#1a1a1a}.autofill-review__footer-buttons{display:flex;gap:10px;flex-shrink:0}.autofill-review__btn-skip{padding:12px 20px;background:#fff;color:#333;border:2px solid #e0e0e0;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.autofill-review__btn-skip:hover{background:#f5f5f5;border-color:#d0d0d0}.autofill-review__btn-continue{padding:12px 24px;background:#2563eb;color:#fff;border:2px solid #2563eb;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;display:inline-flex;align-items:center;gap:8px}.autofill-review__btn-continue:hover{background:#1d4ed8;border-color:#1d4ed8}.autofill-review__btn-continue:disabled{opacity:.5;cursor:not-allowed}.autofill-review__btn-continue:disabled:hover{background:#2563eb;border-color:#2563eb}.autofill-review__btn-skip:active,.autofill-review__btn-continue:active{transform:scale(.97)}@media(max-width:768px){.autofill-review__summary{flex-direction:column;gap:12px;padding:14px 16px}.autofill-review__bulk-actions{flex-direction:column;gap:10px;align-items:stretch}.autofill-review__bulk-buttons{justify-content:stretch}.autofill-review__bulk-btn{flex:1;justify-content:center}.autofill-review__event-header{padding:12px 14px}.autofill-review__event-title{font-size:14px}.autofill-review__event-meta{flex-direction:column;align-items:flex-end;gap:4px;margin-left:8px}.autofill-review__columns-header{display:none}.autofill-review__footer{flex-direction:column;gap:12px}.autofill-review__footer-info{text-align:center}.autofill-review__footer-buttons{width:100%;flex-direction:column-reverse}.autofill-review__btn-skip,.autofill-review__btn-continue{width:100%;justify-content:center}}@media(max-width:480px){.autofill-review__event-counts{flex-direction:column;gap:2px;font-size:11px}}@media(prefers-color-scheme:dark){.autofill-review__summary{background:linear-gradient(135deg,#0c2d48,#0e3352);border-color:#1e40af}.autofill-review__stat-value{color:#93c5fd}.autofill-review__stat-label{color:#60a5fa}.autofill-review__stat--success .autofill-review__stat-value{color:#6ee7b7}.autofill-review__stat--success .autofill-review__stat-label{color:#34d399}.autofill-review__stat--warning .autofill-review__stat-value{color:#fcd34d}.autofill-review__stat--warning .autofill-review__stat-label{color:#fbbf24}.autofill-review__bulk-actions{background:#1f1f1f;border-color:#2a2a2a}.autofill-review__bulk-label{color:#94a3b8}.autofill-review__bulk-btn--accept-all{background:#1a1a1a;color:#4ade80;border-color:#166534}.autofill-review__bulk-btn--accept-all:hover{background:#16a34a;color:#fff;border-color:#16a34a}.autofill-review__bulk-btn--reject-all{background:#1a1a1a;color:#f87171;border-color:#7f1d1d}.autofill-review__bulk-btn--reject-all:hover{background:#dc2626;color:#fff;border-color:#dc2626}.autofill-review__event{border-color:#2a2a2a}.autofill-review__event:hover{border-color:#3a3a3a;box-shadow:0 2px 8px #0006}.autofill-review__event-header{background:linear-gradient(to bottom,#1a1a1a,#161616)}.autofill-review__event-header:hover{background:linear-gradient(to bottom,#1f1f1f,#1a1a1a)}.autofill-review__event--expanded .autofill-review__event-header{border-bottom-color:#2a2a2a}.autofill-review__event-title{color:#fff}.autofill-review__event-chevron{color:#64748b}.autofill-review__columns-header{background:#161616;border-bottom-color:#2a2a2a}.autofill-review__col-label{color:#94a3b8}.autofill-review__footer{border-top-color:#2a2a2a}.autofill-review__footer-info{color:#999}.autofill-review__footer-info strong{color:#e2e8f0}.autofill-review__btn-skip{background:#1f1f1f;color:#ccc;border-color:#3a3a3a}.autofill-review__btn-skip:hover{background:#2a2a2a;border-color:#4a4a4a}.autofill-review__btn-continue{background:#2563eb;border-color:#2563eb}.autofill-review__btn-continue:hover{background:#1d4ed8;border-color:#1d4ed8}}.bulk-import-modal .modal-content{max-width:1000px}.preview-url-cell{max-width:280px;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:12px;color:var(--color-text-secondary, #475569)}.preview-url-link{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;color:inherit;text-decoration:underline;text-decoration-color:#0f172a40}.preview-url-link:hover{text-decoration-color:currentColor}.preview-url-placeholder{color:var(--color-text-tertiary, #94a3b8)}.error-panel.duplicate-panel{border-color:var(--color-warning, #f59e0b);background:var(--color-warning-bg, rgba(245, 158, 11, .08))}.error-panel.duplicate-panel .error-panel-title{color:var(--color-warning, #b45309)}.bulk-import-container{min-height:400px}.host-selector{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:16px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.host-selector-label{font-size:.875rem;font-weight:600;color:#374151;white-space:nowrap}.host-selector-optional{font-weight:400;color:#6b7280;font-size:.8125rem}.host-selector-input{flex:1;padding:8px 12px;font-size:.875rem;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#111827;cursor:pointer}.host-selector-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}@media(max-width:640px){.host-selector{flex-direction:column;align-items:stretch;gap:6px}}.bulk-edit-drawer-backdrop{position:fixed;inset:0;background-color:#11182766;z-index:1100;animation:bulk-edit-fade .15s ease-out}.bulk-edit-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background-color:#fff;box-shadow:-8px 0 24px #0000001f;z-index:1101;display:flex;flex-direction:column;animation:bulk-edit-slide .2s ease-out}@keyframes bulk-edit-fade{0%{opacity:0}to{opacity:1}}@keyframes bulk-edit-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.bulk-edit-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.bulk-edit-drawer-header h3{margin:0;font-size:1.05rem;font-weight:600;color:#111827}.bulk-edit-drawer-close{background:none;border:none;font-size:1.5rem;line-height:1;color:#6b7280;cursor:pointer;padding:4px 8px;border-radius:4px}.bulk-edit-drawer-close:hover{background-color:#f3f4f6;color:#111827}.bulk-edit-drawer-hint{margin:0;padding:12px 20px;font-size:.8125rem;color:#6b7280;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.bulk-edit-drawer-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.bulk-edit-field{display:flex;flex-direction:column;gap:6px}.bulk-edit-field>span{font-size:.8125rem;font-weight:600;color:#374151}.bulk-edit-field input,.bulk-edit-field textarea{padding:8px 12px;font-size:.875rem;border:1px solid #d1d5db;border-radius:6px;background-color:#fff;color:#111827;font-family:inherit;resize:vertical}.bulk-edit-field input:focus,.bulk-edit-field textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.bulk-edit-drawer-footer{display:flex;gap:8px;padding:16px 20px;border-top:1px solid #e5e7eb;justify-content:flex-end}.bulk-import-error-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;margin-bottom:16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px;line-height:1.5}.bulk-import-error-banner svg{color:#dc2626;flex-shrink:0;margin-top:2px}.bulk-import-error-banner span{flex:1;word-break:break-word}.bulk-import-error-dismiss{background:none;border:none;color:#991b1b;font-size:20px;line-height:1;cursor:pointer;padding:0 4px;flex-shrink:0}.bulk-import-error-dismiss:hover{color:#7f1d1d}.upload-zone{border:2px dashed #d1d5db;border-radius:8px;padding:48px 24px;text-align:center;background-color:#f9fafb;transition:all .2s ease;cursor:pointer}.upload-zone:hover{border-color:#3b82f6;background-color:#eff6ff}.upload-zone.drag-over{border-color:#3b82f6;background-color:#eff6ff;border-style:solid}.upload-zone-icon{width:64px;height:64px;margin:0 auto 16px;color:#9ca3af}.upload-zone h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}.upload-zone p{margin:0 0 16px;font-size:14px;color:#6b7280}.upload-zone .file-types{font-size:13px;color:#9ca3af;margin-bottom:24px}.upload-zone input[type=file]{display:none}.btn-upload{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-upload:hover{background-color:#2563eb}.template-link{display:inline-flex;align-items:center;gap:6px;margin-top:20px;padding:8px 16px;color:#3b82f6;font-size:14px;font-weight:500;text-decoration:none;border:1px solid #3b82f6;border-radius:6px;transition:all .2s}.template-link:hover{background-color:#eff6ff}.preview-container{padding:16px 0}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.preview-stats{display:flex;gap:24px;align-items:center}.preview-stat{display:flex;flex-direction:column}.preview-stat-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.preview-stat-value{font-size:24px;font-weight:700;color:#111827}.preview-stat-value.success{color:#10b981}.preview-stat-value.error{color:#ef4444}.row-limit-warning{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background-color:#fef3c7;border:1px solid #fbbf24;border-radius:6px;margin-bottom:16px}.row-limit-warning svg{flex-shrink:0;width:20px;height:20px;color:#f59e0b}.row-limit-warning-content h4{margin:0 0 4px;font-size:14px;font-weight:600;color:#92400e}.row-limit-warning-content p{margin:0;font-size:13px;color:#78350f}.preview-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:16px;max-height:500px;overflow-y:auto}.preview-table{width:100%;border-collapse:collapse;font-size:13px}.preview-table th,.preview-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.preview-table th{background-color:#f9fafb;font-weight:600;color:#374151;position:sticky;top:0;z-index:10}.preview-table th.required:after{content:" *";color:#ef4444}.preview-table tr:last-child td{border-bottom:none}.preview-table .row-number{font-weight:600;color:#6b7280;width:60px}.preview-table .row-status{width:40px;text-align:center}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.status-icon.valid{color:#10b981}.status-icon.invalid{color:#ef4444}.preview-table .row-error,.row-error{background-color:#fee2e2}.error-row .error-cell{color:#991b1b;font-size:.75rem;padding:4px 8px}.error-panel{margin-bottom:16px;border:1px solid #fecaca;border-radius:6px;overflow:hidden}.error-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#fee2e2;cursor:pointer;-webkit-user-select:none;user-select:none}.error-panel-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#991b1b}.error-panel-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:#dc2626}.error-panel-body{padding:16px;background-color:#fff;max-height:200px;overflow-y:auto}.error-item{padding:8px 0;border-bottom:1px solid #fecaca;font-size:13px}.error-item:last-child{border-bottom:none}.error-item-row{font-weight:600;color:#dc2626;margin-bottom:4px}.error-item-message{color:#6b7280}.advanced-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:none;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.8125rem;cursor:pointer;transition:background-color .15s;white-space:nowrap}.advanced-toggle:hover{background-color:#f3f4f6}.advanced-fields-row.collapsed>td{padding:0;border:none}.advanced-fields-row.collapsed .advanced-fields{max-height:0;opacity:0;overflow:hidden;padding:0 12px}.advanced-fields-row.expanded .advanced-fields{max-height:800px;opacity:1;padding:12px}.advanced-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;background-color:#f9fafb;border-radius:6px;transition:max-height .25s ease,opacity .2s ease,padding .2s ease}.advanced-field{display:flex;flex-direction:column;gap:4px}.advanced-field-label{font-size:.75rem;font-weight:600;color:#4b5563;text-transform:lowercase;letter-spacing:.02em}.advanced-field input,.advanced-field textarea{width:100%;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;font-family:inherit;resize:vertical}.advanced-field textarea{min-height:40px}@media(max-width:640px){.advanced-fields{grid-template-columns:1fr}}.preview-actions{display:flex;gap:12px;justify-content:flex-end}.btn-secondary{padding:10px 20px;background-color:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background-color:#f9fafb;border-color:#9ca3af}.btn-primary{padding:10px 20px;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed}.importing-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.importing-spinner{width:64px;height:64px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.importing-state h3{margin:24px 0 8px;font-size:18px;font-weight:600;color:#111827}.importing-state p{margin:0;font-size:14px;color:#6b7280}.progress-bar{width:100%;max-width:400px;height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden;margin:16px 0 8px}.progress-bar-fill{height:100%;background-color:#3b82f6;transition:width .3s ease}.progress-hint{font-size:13px;color:#9ca3af;margin-top:8px}.rejected-issue-banner{display:flex;align-items:flex-start;gap:12px;padding:16px;background-color:#fef3c7;border:1px solid #fbbf24;border-radius:6px;margin-bottom:20px}.rejected-issue-banner svg{flex-shrink:0;width:20px;height:20px;color:#f59e0b}.rejected-issue-banner strong{color:#92400e;display:block;margin-bottom:4px}.rejected-issue-banner div{flex:1;font-size:14px;color:#78350f}.edit-form-container{padding:20px 0;max-height:70vh;overflow-y:auto}.edit-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}.results-container{padding:16px 0}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.results-summary-card{padding:20px;border-radius:8px;border:1px solid #e5e7eb;background-color:#f9fafb}.results-summary-card.success{background-color:#ecfdf5;border-color:#10b981}.results-summary-card.failed{background-color:#fee2e2;border-color:#ef4444}.results-summary-card h4{margin:0 0 8px;font-size:13px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.results-summary-card .value{font-size:32px;font-weight:700;color:#111827}.results-summary-card.success .value{color:#10b981}.failed-imports-table{width:100%;border-collapse:collapse;font-size:14px}.failed-imports-table th,.failed-imports-table td{text-align:left;vertical-align:top;padding:8px 10px;border-bottom:1px solid #e5e7eb}.failed-imports-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.results-table-wrap{overflow-x:auto}.results-summary-card.failed .value{color:#ef4444}.results-section{margin-bottom:24px}.results-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#111827}.results-list{max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px}.results-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb}.results-item:last-child{border-bottom:none}.results-item-info h4{margin:0 0 4px;font-size:14px;font-weight:600;color:#111827}.results-item-info p{margin:0;font-size:13px;color:#6b7280}.results-item-action{padding:6px 12px;background-color:#eff6ff;color:#3b82f6;border:1px solid #3b82f6;border-radius:4px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s;white-space:nowrap}.results-item-action:hover{background-color:#3b82f6;color:#fff}.results-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px;border-top:1px solid #e5e7eb}.progress-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px 8px 0 0;margin:-20px -20px 20px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.progress-header-info{flex:1}.progress-header-title{font-size:16px;font-weight:600;margin:0 0 8px;display:flex;align-items:center;gap:8px}.progress-header-subtitle{font-size:14px;opacity:.9;margin:0}.progress-header-stats{text-align:right}.progress-header-count{font-size:28px;font-weight:700;line-height:1;margin:0 0 4px}.progress-header-label{font-size:12px;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.progress-bar-container{margin-top:12px}.progress-bar-wrapper{position:relative;width:100%;height:6px;background-color:#ffffff4d;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#10b981,#34d399);transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-percentage{font-size:11px;margin-top:4px;opacity:.9}.success-toast{position:fixed;top:80px;right:20px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 4px 12px #10b9814d;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;animation:slideInRight .3s ease-out,fadeOut .3s ease-in 2.7s forwards;z-index:10000}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{to{opacity:0;transform:translate(400px)}}.success-toast-icon{width:20px;height:20px;flex-shrink:0}.ai-processing-overlay{position:absolute;inset:0;background:#fffffff2;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease-out}.ai-processing-content{text-align:center;max-width:300px}.ai-processing-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.ai-processing-text{font-size:15px;font-weight:600;color:#111827;margin:0 0 8px}.ai-processing-subtext{font-size:13px;color:#6b7280;margin:0}.event-completion{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:20px;font-size:13px;font-weight:600;animation:popIn .3s cubic-bezier(.68,-.55,.265,1.55);margin:8px 0}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.event-completion-icon{width:16px;height:16px}.correction-pane-overlay{position:fixed;inset:0;background:#00000080;z-index:9999;animation:fadeInOverlay .3s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.correction-pane-wrapper{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;animation:slideUp .4s cubic-bezier(.16,1,.3,1);max-width:90vw;max-height:90vh;overflow:auto}@keyframes slideUp{0%{transform:translate(-50%,-40%);opacity:0}to{transform:translate(-50%,-50%);opacity:1}}.modal-loading-overlay{position:absolute;inset:0;background:#fffc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;pointer-events:all}.processing-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.importing-state-enhanced{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;position:relative;min-height:400px}.importing-state-enhanced .importing-spinner{position:relative}.importing-state-enhanced .importing-spinner:after{content:"";position:absolute;top:50%;left:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border:3px solid transparent;border-top-color:#10b981;border-radius:50%;animation:spin 1.2s linear infinite}.completion-celebration{text-align:center;padding:32px;animation:celebrateIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes celebrateIn{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.completion-icon{width:72px;height:72px;margin:0 auto 16px;color:#10b981;animation:successPop .5s cubic-bezier(.68,-.55,.265,1.55) .2s both}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.completion-title{font-size:24px;font-weight:700;color:#111827;margin:0 0 8px}.completion-subtitle{font-size:15px;color:#6b7280;margin:0}.error-shake{animation:shake .5s}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.modal-close-disabled{opacity:.3;cursor:not-allowed!important;pointer-events:none}@media(max-width:768px){.bulk-import-modal .modal-content{max-width:100%;margin:0;border-radius:0;height:100vh}.preview-stats{flex-direction:column;align-items:flex-start;gap:12px}.preview-table{font-size:12px}.preview-table th,.preview-table td{padding:8px}.results-summary{grid-template-columns:1fr}.progress-header{flex-direction:column;align-items:flex-start;gap:12px}.progress-header-stats{text-align:left}.correction-pane-wrapper{max-width:95vw}.success-toast{right:10px;left:10px}}.media-gallery{width:100%}.gallery-section{margin-bottom:3rem}.gallery-section:last-child{margin-bottom:0}.gallery-heading{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin-bottom:1.25rem;letter-spacing:-.01em}.media-gallery-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#f9fafb;border-radius:12px;border:2px dashed #e5e7eb}.empty-icon{width:3rem;height:3rem;color:#9ca3af;margin-bottom:1rem}.empty-text{color:#6b7280;font-size:.95rem;margin:0}.image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media(min-width:640px){.image-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}@media(min-width:1024px){.image-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem}}.image-wrapper{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;background:#f3f4f6;cursor:pointer;border:none;padding:0;transition:transform .2s ease,box-shadow .2s ease}.image-wrapper:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000001a}.image-wrapper:focus{outline:2px solid #3b82f6;outline-offset:2px}.image-wrapper img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.image-wrapper:hover img{transform:scale(1.05)}.video-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:768px){.video-grid{grid-template-columns:repeat(2,1fr)}}.video-wrapper{position:relative;width:100%;padding-bottom:56.25%;overflow:hidden;border-radius:12px;background:#000;box-shadow:0 4px 12px #0000001a;transition:box-shadow .2s ease}.video-wrapper:hover{box-shadow:0 8px 20px #00000026}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.social-links{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media(min-width:640px){.social-links{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.social-links{grid-template-columns:repeat(4,1fr)}}.social-link{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none;color:#374151;transition:all .2s ease;font-size:.9rem;font-weight:500}.social-link:hover{background:#f9fafb;border-color:#3b82f6;color:#3b82f6;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f61a}.social-link:focus{outline:2px solid #3b82f6;outline-offset:2px}.social-icon{width:1.25rem;height:1.25rem;flex-shrink:0;display:flex;align-items:center;justify-content:center}.social-icon svg{width:100%;height:100%;display:block}.social-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.lightbox-close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1001}.lightbox-close:hover{background:#fff3;transform:scale(1.1)}.lightbox-close:focus{outline:2px solid white;outline-offset:2px}.lightbox-close svg{width:1.25rem;height:1.25rem}.lightbox-image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 20px 50px #00000080;animation:zoomIn .3s ease}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.image-wrapper,.image-wrapper img,.social-link,.video-wrapper,.lightbox-close{transition:none}.lightbox,.lightbox-image{animation:none}}.entity-profile-page{min-height:100vh;padding-bottom:80px;background:#f8f9fa}.entity-header{position:relative;background:#fff;border-radius:0 0 16px 16px;overflow:hidden;margin-bottom:24px}.entity-header-image{width:100%;height:200px;background-size:cover;background-position:center;background-color:#e9ecef}.entity-header-content{padding:24px;text-align:center}.venue-follow-button{display:inline-flex;align-items:center;justify-content:center;margin-top:16px;padding:10px 18px;border-radius:8px;border:1px solid transparent;background:#5b1e31;color:#fff;font-size:14px;font-weight:600;cursor:pointer}.venue-follow-button:hover{background:#4a1828}.venue-follow-button.is-following,.venue-follow-button.is-following:hover{background:transparent;border-color:#5b1e31;color:#5b1e31}.entity-type-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#e3f2fd;color:#1976d2;border-radius:20px;font-size:13px;font-weight:500;margin-bottom:12px}.entity-type-badge svg{width:16px;height:16px}.entity-type-badge--business{background:#fff3e0;color:#e65100}.entity-type-badge--organizer,.entity-type-badge--organization{background:#e3f2fd;color:#1565c0}.entity-type-badge--venue{background:#e8f5e9;color:#2e7d32}.entity-type-badge--artist{background:#f3e5f5;color:#7b1fa2}.entity-type-badge--individual{background:#e0f7fa;color:#00838f}.entity-type-badge--group{background:#fce4ec;color:#c2185b}.entity-header h1{font-size:28px;font-weight:700;color:#1a1a1a;margin:0 0 16px}.entity-meta{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.follower-count{display:flex;align-items:center;gap:6px;color:#666;font-size:14px}.follower-count svg{color:#888}.verified-badge{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#e8f5e9;color:#2e7d32;border-radius:12px;font-size:13px;font-weight:500}.verified-badge svg{width:16px;height:16px}.entity-header .btn{min-width:120px}.entity-details{background:#fff;border-radius:16px;padding:24px;margin:0 16px 24px}.entity-section{margin-bottom:24px}.entity-section:last-child{margin-bottom:0}.entity-section h2{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.entity-section p{font-size:15px;line-height:1.6;color:#4a4a4a;margin:0;white-space:pre-wrap}.entity-info-row{display:flex;flex-direction:column;gap:12px;margin-top:16px}.info-item{display:flex;align-items:center;gap:10px;font-size:14px;color:#4a4a4a}.info-item svg{flex-shrink:0;color:#666}.info-item strong{font-weight:600;margin-right:4px}.info-item a{color:#1976d2;text-decoration:none}.info-item a:hover{text-decoration:underline}.entity-events{padding:0 16px}.entity-events h2{font-size:22px;font-weight:600;color:#1a1a1a;margin:0 0 20px}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:24px}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:16px;margin-top:20px}.empty-state svg{color:#ccc;margin-bottom:16px}.empty-state p{font-size:15px;color:#666;margin:0}.error-state{text-align:center;padding:60px 20px;background:#fff;border-radius:16px;margin:20px}.error-state h2{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.error-state p{font-size:15px;color:#666;margin:0 0 24px}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:12px}.entity-description{font-size:15px;line-height:1.6;color:#4a4a4a;max-width:600px;margin:12px auto 0}.entity-address{display:flex;align-items:center;justify-content:center;font-size:14px;color:#666;margin-top:12px}.entity-meta-inline{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;flex-wrap:wrap}.meta-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#f5f5f5;color:#666;border-radius:16px;font-size:13px;font-weight:500}.meta-badge.verified{background:#e8f5e9;color:#2e7d32}.meta-badge svg{width:14px;height:14px}.entity-contact-links{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:16px;flex-wrap:wrap}.contact-link{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#f8f9fa;color:#1976d2;border-radius:20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s ease}.contact-link:hover{background:#e3f2fd;transform:translateY(-1px)}.contact-link svg{flex-shrink:0}.empty-state-minimal{text-align:center;padding:40px 20px;font-size:15px;color:#999;background:#fff;border-radius:12px;margin-top:16px}@media(max-width:768px){.entity-header h1{font-size:24px}.entity-header-content{padding:20px 16px}.entity-details{margin:0 0 24px;border-radius:0}.entity-events{padding:0}.events-grid{grid-template-columns:1fr}.entity-meta,.entity-meta-inline{flex-direction:column;gap:8px}.entity-contact-links{flex-direction:column;gap:8px;width:100%}.contact-link{width:100%;justify-content:center}}.compact-event-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--color-surface);border-radius:8px;border:1px solid var(--color-border);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.compact-event-item:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #2563eb1a;transform:translateY(-1px)}.compact-event-item:active{transform:translateY(0);box-shadow:none}.compact-event-item:focus{outline:2px solid var(--color-primary);outline-offset:2px}.compact-event-item:focus:not(:focus-visible){outline:none}.compact-event-info{flex:1;min-width:0}.compact-event-title{margin:0 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-event-meta{display:flex;align-items:center;gap:6px}.compact-event-meta svg{flex-shrink:0;color:var(--color-text-secondary)}.compact-event-date{white-space:nowrap}.compact-event-meta .separator{color:var(--color-border)}.compact-event-arrow{flex-shrink:0;color:var(--color-text-tertiary);transition:transform .15s ease,color .15s ease}.compact-event-distance{padding:1px 7px;border-radius:999px;background:#f4efe6;color:#2e2924;font-size:11px;font-weight:600;white-space:nowrap}.compact-event-item:hover .compact-event-arrow{color:var(--color-primary);transform:translate(4px)}@media(max-width:640px){.compact-event-meta{flex-wrap:wrap}}.grouped-events-view{display:flex;flex-direction:column;gap:14px}.event-group{display:flex;flex-direction:column;gap:0;margin-top:10px}.event-group:first-child{margin-top:0}.group-header-bar{width:100%;padding:10px 20px;border-radius:10px;text-align:center;margin-bottom:10px}.group-title{font-size:20px;font-weight:600;color:#fafafa;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.1)}.subcategory-section{margin-top:14px}.subcategory-section:first-child{margin-top:0}.subgroup-header-bar{width:100%;padding:8px 16px;border-radius:8px;text-align:center;margin-bottom:12px}.subgroup-title{font-size:16px;font-weight:600;color:#fafafa;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.1)}.event-list{display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:14px}.event-list-row{display:grid;grid-template-columns:1fr auto 50px;align-items:center;gap:16px;padding:14px 16px;min-height:52px;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid #f3f4f6}.event-list-row:last-child{border-bottom:none}.event-list-row:hover{background-color:#f9fafb}.event-list-row:focus{outline:2px solid #3b82f6;outline-offset:-2px;background-color:#f9fafb}.event-list-name{font-size:15px;font-weight:500;color:#1a1a1a;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-list-datetime{font-size:14px;font-weight:400;color:#64748b;text-align:center;white-space:nowrap;min-width:140px}.event-list-icon{width:50px;height:24px;display:flex;align-items:center;justify-content:flex-end}@media(max-width:768px){.grouped-events-view{gap:20px}.event-group{margin-top:12px}.group-header-bar{padding:8px 16px;border-radius:8px;margin-bottom:12px}.group-title{font-size:18px}.subgroup-header-bar{padding:6px 12px;border-radius:6px;margin-bottom:10px}.subgroup-title{font-size:15px}.event-list-row{grid-template-columns:1fr auto 40px;gap:12px;padding:12px 14px;min-height:48px}.event-list-name{font-size:14px}.event-list-datetime{font-size:13px;min-width:120px}.event-list-icon{width:40px}}@media(max-width:480px){.event-list-row{grid-template-columns:1fr;gap:8px}.event-list-datetime{text-align:left;font-size:12px;color:#94a3b8;min-width:auto}.event-list-icon{display:none}}.display-mode-toggle{display:flex;gap:.25rem;background:#f5f5f5;border-radius:8px;padding:4px}.display-mode-toggle .mode-button{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#64748b;transition:all .2s ease}.display-mode-toggle .mode-button:hover{background:#e5e7eb;color:#334155}.display-mode-toggle .mode-button.active{background:#fff;color:#2563eb;box-shadow:0 1px 3px #0000001a}.display-mode-toggle .mode-button:active{transform:scale(.95)}.display-mode-toggle .mode-button svg{display:block}.search-page{min-height:100vh;background:var(--color-background)}.search-header{background:var(--color-surface);padding:var(--spacing-lg) 4rem;padding-top:calc(var(--spacing-lg) + env(safe-area-inset-top,0px));border-bottom:1px solid var(--color-border);text-align:center}.search-header-content{max-width:1400px;width:100%;margin:0 auto}.search-header h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin:0;color:var(--color-text-primary);text-align:center}.search-subtitle{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0}.search-content{display:block;padding:12px var(--spacing-6) var(--spacing-6);max-width:1400px;margin:0 auto}@media(min-width:768px){.search-content{padding-left:104px}}.search-results{min-height:400px}.search-page .results-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;margin:0 0 8px;padding:0;gap:12px;flex-wrap:nowrap;background:transparent;border:none;box-shadow:none;position:static;top:auto;z-index:auto;text-align:left}.search-page .results-header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.search-page .event-type-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid #e5e5e0;border-radius:999px;background:#f4efe6}.search-page .event-type-toggle button{margin:0;padding:6px 12px;border:0;border-radius:999px;background:transparent;color:#78716c;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer}.search-page .event-type-toggle button.is-active{background:#fff;color:#2e2924;box-shadow:0 1px 2px #00000014}.search-page .results-header .display-mode-toggle{background:transparent;box-shadow:none;padding:0;flex:0 0 auto;gap:.25rem}.search-page .results-header .display-mode-toggle .mode-button.active{background:transparent;box-shadow:none}.results-count{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0;white-space:nowrap;flex:0 1 auto;min-width:max-content}.results-count strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.results-count-page-hint{color:var(--color-text-secondary);font-weight:var(--font-weight-normal, 400)}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.events-list-compact{display:flex;flex-direction:column;gap:var(--spacing-3)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:var(--color-text-secondary)}.empty-state svg{margin-bottom:var(--spacing-6);opacity:.5}.empty-state h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 8px}.empty-state p{font-size:var(--font-size-md);margin:0;max-width:400px}.event-card-skeleton{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px #0000001a}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite}@media(max-width:1024px){.search-content{padding:10px var(--spacing-5) var(--spacing-5)}}@media(max-width:768px){.search-header{padding:12px 4rem 8px;padding-top:calc(12px + env(safe-area-inset-top,0px))}.search-header h1{font-size:var(--font-size-3xl)}.search-subtitle{font-size:var(--font-size-base)}.search-content{padding:4px var(--spacing-3) var(--spacing-3)}.search-page .results-header{margin-top:.5rem;flex-wrap:nowrap;align-items:center}.search-page .results-header-actions{width:auto;justify-content:flex-end}.events-grid{grid-template-columns:1fr}.empty-state{padding:60px 20px}.empty-state h3{font-size:var(--font-size-xl)}.empty-state p{font-size:var(--font-size-base)}}@media(max-width:480px){.search-header h1{font-size:var(--font-size-3xl)}.search-content{padding:4px var(--spacing-3) var(--spacing-3)}.empty-state{padding:40px 16px}}.active-filters{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:12px var(--spacing-md)}.active-filters-container{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}.active-filters-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);white-space:nowrap}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-2);flex:1}.filter-chip{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:6px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-base);font-size:var(--font-size-sm)}.filter-chip-label{font-weight:var(--font-weight-semibold);color:#1e40af}.filter-chip-value{color:#1e3a8a}.filter-chip-remove{background:none;border:none;color:#3b82f6;font-size:var(--font-size-xl);line-height:1;cursor:pointer;padding:0;margin-left:4px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s}.filter-chip-remove:hover{background:#dbeafe;color:#1e40af}.clear-all-filters{padding:6px 14px;background:#fee2e2;border:1px solid #fecaca;border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#991b1b;cursor:pointer;transition:all .2s}.clear-all-filters:hover{background:#fecaca;border-color:#fca5a5}.filter-chip.category-chip{padding-left:8px;border-width:1.5px;font-weight:var(--font-weight-medium);transition:all .2s ease}.filter-chip-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.filter-chip-icon svg{width:16px;height:16px}.filter-chip.subcategory-chip{border-width:1.5px;font-weight:var(--font-weight-medium)}.filter-chip.category-chip .filter-chip-value{font-weight:var(--font-weight-semibold)}.filter-chip.subcategory-chip .filter-chip-value{font-weight:var(--font-weight-medium)}.filter-chip.category-chip:hover,.filter-chip.subcategory-chip:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}@media(max-width:768px){.active-filters{padding:12px var(--spacing-sm)}.active-filters-container{flex-direction:column;align-items:flex-start}.filter-chips{width:100%}}.map-page{display:flex;flex-direction:column;height:calc(100vh - 58px);min-height:480px;width:100%;background:var(--color-background, #f9fafb)}.map-header{background:var(--color-surface, #fff);border-bottom:1px solid var(--color-border, #e5e7eb);padding:1.5rem 4rem;flex-shrink:0;text-align:center}.map-header-content{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem}.map-title-section h1{font-size:1.875rem;font-weight:700;color:var(--color-text-primary, #1a1a1a);margin:0;text-align:center}.map-filter-section{display:flex;align-items:center;gap:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary, #1a1a1a);margin:0}.filter-label svg{color:var(--color-text-secondary, #666)}.filter-control{display:flex;align-items:center;gap:.5rem}.category-select{min-width:220px;padding:.625rem 2.5rem .625rem .875rem;font-size:.95rem;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--color-surface, #fff);color:var(--color-text-primary, #1a1a1a);cursor:pointer;transition:all .2s ease;appearance:none;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 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;outline:none}.category-select:hover:not(:disabled){border-color:var(--color-primary, #3b82f6);background-color:var(--color-background, #f9fafb)}.category-select:focus{border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.category-select:disabled{opacity:.6;cursor:not-allowed}.clear-filter-btn{display:flex;align-items:center;justify-content:center;padding:.625rem;background:none;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;color:var(--color-text-secondary, #666);cursor:pointer;transition:all .2s ease}.clear-filter-btn:hover{background:var(--color-background, #f9fafb);border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.clear-filter-btn:active{transform:scale(.95)}.btn-view-all-events{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-view-all-events:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.btn-view-all-events:active{transform:translateY(0)}.map-container{flex:1 1 auto;position:relative;overflow:hidden;min-height:320px;width:100%;height:100%}.full-page-map{height:100%;width:100%}.full-page-map .map-view-container{height:100%;border-radius:0}.full-page-map .events-map{height:100%}@media(max-width:1024px){.map-header{padding:1.25rem 4rem}.map-header-content{flex-direction:column;align-items:center;gap:1rem}.filter-group{width:100%}.category-select{width:100%;min-width:unset}}@media(max-width:768px){.map-page{height:calc(100vh - 120px)}.map-header{padding:1rem 4rem}.map-title-section h1{font-size:1.5rem}.filter-label{font-size:.8125rem}.filter-label svg{width:16px;height:16px}.category-select{font-size:.875rem;padding:.5rem 2.25rem .5rem .75rem}}@media(max-width:480px){.map-title-section h1{font-size:1.25rem}.map-header{padding:.875rem 4rem}}.map-placeholder{height:100%;width:100%;display:flex;align-items:center;justify-content:center;background:var(--color-surface, #fff)}.map-placeholder-content{text-align:center;padding:3rem 2rem;max-width:500px}.map-placeholder-content svg{margin:0 auto 1.5rem;color:var(--color-text-secondary, #666);opacity:.5}.map-placeholder-content h3{font-size:1.5rem;font-weight:700;color:var(--color-text-primary, #1a1a1a);margin:0 0 .75rem}.map-placeholder-content p{font-size:1rem;color:var(--color-text-secondary, #666);margin:0 0 .5rem;line-height:1.6}.map-placeholder-content .event-count-text{font-weight:600;color:var(--color-primary, #3b82f6);font-size:.95rem;margin-top:1rem}.loading-state{display:flex;flex-direction:column;gap:var(--spacing-4);width:100%}.loading-state-text{display:flex;align-items:center;gap:var(--spacing-3);justify-content:center;padding:var(--spacing-4);font-size:var(--font-size-base);color:var(--color-text-secondary)}.loading-spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:loading-spinner-spin .8s linear infinite}@keyframes loading-spinner-spin{to{transform:rotate(360deg)}}.loading-state-content{display:flex;flex-direction:column;gap:var(--spacing-4)}.loading-state--card .loading-state-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-4)}.skeleton-shimmer{background:linear-gradient(90deg,var(--color-background) 0%,var(--color-border) 50%,var(--color-background) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-rect{border-radius:var(--border-radius-base)}.skeleton-circle{width:40px;height:40px;border-radius:50%;flex-shrink:0}.skeleton-text{height:16px;border-radius:var(--border-radius-base);margin-bottom:var(--spacing-2)}.skeleton-title{height:20px;width:70%;border-radius:var(--border-radius-base);margin-bottom:var(--spacing-2)}.skeleton-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);overflow:hidden}.skeleton-card-image{width:100%;height:200px}.skeleton-card-content{padding:var(--spacing-4)}.skeleton-list-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md)}.skeleton-list-content{flex:1}.skeleton-text-block{padding:var(--spacing-2) 0}.skeleton-notification{display:flex;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md)}.skeleton-notification-icon{width:40px;height:40px;border-radius:var(--border-radius-md);flex-shrink:0}.skeleton-notification-content{flex:1}@media(max-width:640px){.loading-state--card .loading-state-content{grid-template-columns:1fr}.skeleton-card-image{height:150px}.skeleton-list-item,.skeleton-notification{padding:var(--spacing-3)}}@media(prefers-reduced-motion:reduce){.skeleton-shimmer{animation:none;background:var(--color-background)}.loading-spinner{animation:none;border-top-color:var(--color-border)}}@media(prefers-contrast:high){.skeleton-shimmer{border:1px solid currentColor}}@media(prefers-color-scheme:dark){.skeleton-shimmer{background:linear-gradient(90deg,#ffffff0d,#ffffff1a,#ffffff0d);background-size:200% 100%}}.unified-gem-item{display:flex;align-items:center;gap:16px;padding:16px;border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:all .2s ease;position:relative}.unified-gem-item:hover{box-shadow:0 2px 8px #00000014;transform:translate(2px)}.unified-gem-item:focus{outline:3px solid var(--color-accent);outline-offset:-3px;z-index:1}.unified-gem-item:last-child{border-bottom:none}.unified-gem-item.upcoming-soon{border-left:4px solid var(--color-warning);padding-left:12px}.unified-gem-item.past-item{opacity:.6;filter:grayscale(.3)}.unified-gem-item.past-item .gem-item-title{text-decoration:line-through;color:var(--color-text-secondary)}.unified-gem-item.past-item .gem-item-icon{opacity:.5}.gem-item-badge.past-badge{background:var(--color-surface-hover);color:var(--color-text-secondary)}.gem-item-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-surface-hover)}button.gem-item-icon--action{border:none;padding:0;cursor:pointer;font:inherit;color:inherit;transition:transform .15s ease,background .15s ease}button.gem-item-icon--action:hover{background:#c07b2a2e;transform:scale(1.06)}button.gem-item-icon--action:focus-visible{outline:2px solid #c07b2a;outline-offset:2px}.icon-event{color:#c07b2a}.icon-reminder{color:var(--color-warning)}.icon-personal-reminder{color:var(--color-info)}.gem-item-content{flex:1;min-width:0}.gem-item-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.gem-item-title{font-size:16px;font-weight:600;margin:0;color:var(--color-text-primary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gem-item-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.upcoming-badge{background:var(--color-warning);color:var(--color-text-inverse)}.gem-item-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--color-text-secondary)}.gem-item-datetime,.gem-item-venue,.gem-item-notes{display:flex;align-items:center;gap:6px}.datetime-icon,.venue-icon,.notes-icon{flex-shrink:0}.gem-item-notes{color:var(--color-text-tertiary);font-style:italic;font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gem-item-footer{margin-top:8px}.reminder-type-badge{display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.sms-reminder-badge{color:var(--color-warning);background:#fbbc041a}.personal-reminder-badge{color:var(--color-info);background:#3b82f61a}.gem-item-notifications{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:8px;border-radius:8px;transition:background-color .2s}.gem-item-notifications:hover{background:var(--color-surface-hover)}.gem-item-notifications:focus{outline:3px solid var(--color-accent);outline-offset:2px;background:var(--color-surface-hover)}.notification-indicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:all .2s}.notification-indicator svg{display:block}.notification-indicator.sms-enabled{background:#22c55e1a;color:var(--color-success)}.notification-indicator.email-enabled{background:#3b82f61a;color:var(--color-info)}.notification-indicator.push-enabled{background:#a855f71a;color:#a855f7}.notification-indicator.none-enabled{background:#9ca3af1a;color:var(--color-text-tertiary)}@media(max-width:767px){.unified-gem-item{gap:12px;padding:12px}.gem-item-icon{width:36px;height:36px}.icon-event,.icon-reminder,.icon-personal-reminder{width:20px;height:20px}.gem-item-title{font-size:15px}.gem-item-meta{flex-direction:column;align-items:flex-start;gap:6px}.gem-item-notifications{flex-direction:column;gap:6px;padding:6px}.notification-indicator{width:28px;height:28px}.notification-indicator svg{width:18px;height:18px}}@media(min-width:768px)and (max-width:1024px){.unified-gem-item{padding:14px}.gem-item-title{font-size:16px}}@media(min-width:1025px){.unified-gem-item{padding:18px 20px}.gem-item-title{font-size:17px}.gem-item-meta{font-size:15px}}.unified-gem-item:focus-visible{outline:3px solid var(--color-accent);outline-offset:-3px}.gem-item-notifications:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.unified-gem-item,.gem-item-notifications,.notification-indicator{transition:none}.unified-gem-item:hover{transform:none}}@media(prefers-contrast:high){.unified-gem-item{border:2px solid var(--color-border-default)}.notification-indicator{border:2px solid currentColor}}@media(hover:none)and (pointer:coarse){.unified-gem-item{padding:16px;min-height:64px}.gem-item-notifications{padding:12px}.notification-indicator{width:40px;height:40px}}.notification-settings-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .2s ease}.notification-settings-modal{background:var(--color-surface);border-radius:16px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid var(--color-border-light)}.modal-title{font-size:20px;font-weight:600;margin:0;color:var(--color-text-primary)}.modal-close-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--color-text-secondary);border-radius:50%;cursor:pointer;transition:all .2s}.modal-close-button:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.modal-close-button:focus{outline:2px solid var(--color-accent);outline-offset:2px}.modal-event-info{display:flex;align-items:center;gap:16px;padding:20px 24px;background:var(--color-surface-hover);border-bottom:1px solid var(--color-border-light)}.event-info-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--color-surface);color:var(--color-accent);flex-shrink:0}.event-info-title{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--color-text-primary);line-height:1.3}.event-info-type{font-size:14px;color:var(--color-text-secondary);margin:0}.modal-content{padding:24px}.modal-description{font-size:15px;color:var(--color-text-secondary);margin:0 0 24px;line-height:1.5}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-border-light);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.modal-loading p{color:var(--color-text-secondary);font-size:14px;margin:0}.notification-options{display:flex;flex-direction:column;gap:20px}.notification-option{display:flex;align-items:flex-start;gap:16px;padding:16px;border:1px solid var(--color-border-light);border-radius:12px;transition:all .2s}.notification-option:hover{border-color:var(--color-border-default);background:var(--color-surface-hover)}.option-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;flex-shrink:0}.sms-icon{background:#22c55e1a;color:var(--color-success)}.email-icon{background:#3b82f61a;color:var(--color-info)}.push-icon{background:#a855f71a;color:#a855f7}.option-content{flex:1;min-width:0}.option-label{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;margin:0 0 4px;color:var(--color-text-primary);cursor:pointer}.setup-required-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:3px 8px;border-radius:10px;background:#fbbc0426;color:var(--color-warning);text-transform:uppercase;letter-spacing:.5px}.option-description{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.4}.option-note{font-size:13px;color:var(--color-text-tertiary);margin:-12px 0 0;padding:0 72px;font-style:italic}.option-toggle{flex-shrink:0;position:relative}.toggle-checkbox{position:absolute;opacity:0;width:0;height:0}.toggle-label{display:block;width:48px;height:28px;background:var(--color-border-default);border-radius:14px;position:relative;cursor:pointer;transition:background-color .3s}.toggle-label:after{content:"";position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;transition:transform .3s;box-shadow:0 2px 4px #0003}.toggle-checkbox:checked+.toggle-label{background:var(--color-accent)}.toggle-checkbox:checked+.toggle-label:after{transform:translate(20px)}.toggle-checkbox:disabled+.toggle-label{opacity:.5;cursor:not-allowed}.toggle-checkbox:focus+.toggle-label{outline:2px solid var(--color-accent);outline-offset:2px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px 24px;border-top:1px solid var(--color-border-light)}.modal-button{font-size:15px;font-weight:600;padding:12px 24px;border-radius:8px;border:none;cursor:pointer;transition:all .2s}.modal-button:disabled{opacity:.5;cursor:not-allowed}.modal-button-secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-default)}.modal-button-secondary:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary)}.modal-button-primary{background:var(--color-accent);color:var(--color-primary-contrast)}.modal-button-primary:hover:not(:disabled){background:var(--color-accent-dark);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.modal-button:focus{outline:2px solid var(--color-accent);outline-offset:2px}@media(max-width:767px){.notification-settings-modal-backdrop{padding:0;align-items:flex-end}.notification-settings-modal{max-width:100%;border-radius:16px 16px 0 0;max-height:95vh}.modal-header{padding:20px 16px 12px}.modal-title{font-size:18px}.modal-event-info{padding:16px;gap:12px}.event-info-icon{width:40px;height:40px}.event-info-title{font-size:15px}.modal-content{padding:20px 16px}.notification-option{padding:12px;gap:12px}.option-icon{width:36px;height:36px}.option-label{font-size:14px;flex-wrap:wrap}.setup-required-badge{font-size:10px;padding:2px 6px}.option-description{font-size:13px}.modal-loading{padding:30px 20px}.loading-spinner{width:36px;height:36px}.option-note{padding:0 60px;font-size:12px}.modal-footer{padding:12px 16px 20px;flex-direction:column-reverse}.modal-button{width:100%;padding:14px 24px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}@media(min-width:768px)and (max-width:1024px){.notification-settings-modal{max-width:520px}}@media(prefers-reduced-motion:reduce){.notification-settings-modal-backdrop,.notification-settings-modal,.toggle-label,.toggle-label:after,.modal-button,.notification-option{animation:none;transition:none}.modal-button-primary:hover:not(:disabled){transform:none}}@media(prefers-contrast:high){.notification-option{border-width:2px}.toggle-label{border:2px solid currentColor}.modal-button{border-width:2px}}.modal-close-button:focus-visible,.modal-button:focus-visible,.toggle-checkbox:focus-visible+.toggle-label{outline:3px solid var(--color-accent);outline-offset:2px}.quiet-hours-info{margin-top:24px;padding:16px;background:var(--color-surface-secondary);border:1px solid var(--color-border-light);border-radius:12px}.quiet-hours-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.quiet-hours-icon{color:var(--color-accent);flex-shrink:0}.quiet-hours-header h4{font-size:14px;font-weight:600;margin:0;color:var(--color-text-primary)}.quiet-hours-description{font-size:14px;color:var(--color-text-secondary);margin:0 0 8px;line-height:1.5;padding-left:28px}.quiet-hours-description strong{color:var(--color-text-primary);font-weight:600}.quiet-hours-note{font-size:13px;color:var(--color-text-tertiary);margin:0;padding-left:28px;font-style:italic}.global-settings-info{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding:12px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:8px;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.global-settings-info svg{flex-shrink:0;margin-top:2px;color:var(--color-info)}.global-settings-info span{flex:1}.reminder-form{display:flex;flex-direction:column;gap:24px;padding:24px}.form-field{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:6px}.form-label.required:after{content:"*";color:var(--color-error);font-size:16px;line-height:1}.optional{font-size:13px;font-weight:400;color:var(--color-text-tertiary);font-style:italic}.form-input,.form-textarea{font-size:15px;padding:12px 16px;border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-background);color:var(--color-text-primary);transition:all .2s;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #5f0f401a}.form-input:disabled,.form-textarea:disabled{background:var(--color-surface-disabled);cursor:not-allowed;opacity:.6}.form-textarea{resize:vertical;min-height:100px;line-height:1.5}.form-input[type=date],.form-input[type=time]{cursor:pointer}.form-input[type=date]::-webkit-calendar-picker-indicator,.form-input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;filter:var(--color-text-secondary)}.form-hint{font-size:13px;color:var(--color-text-tertiary);font-style:italic}.form-error{font-size:13px;color:var(--color-error);display:flex;align-items:center;gap:6px;animation:shake .3s ease}.form-error:before{content:"⚠";font-size:14px}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid var(--color-border-light)}.form-button{font-size:15px;font-weight:600;padding:12px 24px;border-radius:8px;border:none;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;min-width:120px}.form-button:disabled{opacity:.5;cursor:not-allowed}.form-button-secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-default)}.form-button-secondary:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary)}.form-button-primary{background:var(--color-accent);color:var(--color-primary-contrast)}.form-button-primary:hover:not(:disabled){background:var(--color-accent-dark);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.form-button:focus{outline:2px solid var(--color-accent);outline-offset:2px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:767px){.reminder-form{padding:20px 16px;gap:20px}.form-label{font-size:13px}.form-input,.form-textarea{font-size:14px;padding:10px 14px}.form-actions{flex-direction:column-reverse;gap:10px}.form-button{width:100%;padding:14px 24px}.form-textarea{min-height:80px}}@media(min-width:768px)and (max-width:1024px){.reminder-form{padding:22px 20px}}@media(min-width:1025px){.reminder-form{padding:28px 24px}.form-input,.form-textarea{font-size:16px}}.form-input:focus-visible,.form-textarea:focus-visible,.form-button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.form-input,.form-textarea,.form-button,.spinner{animation:none;transition:none}.form-button-primary:hover:not(:disabled){transform:none}.form-error{animation:none}}@media(prefers-contrast:high){.form-input,.form-textarea,.form-button{border-width:2px}}@media(hover:none)and (pointer:coarse){.form-input,.form-textarea{min-height:48px}.form-button{min-height:48px;padding:14px 24px}}.reminder-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .2s ease}.reminder-modal{background:var(--color-surface);border-radius:16px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.reminder-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid var(--color-border-light)}.reminder-modal-title{font-size:20px;font-weight:600;margin:0;color:var(--color-text-primary)}.reminder-modal-close-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--color-text-secondary);border-radius:50%;cursor:pointer;transition:all .2s;flex-shrink:0}.reminder-modal-close-button:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text-primary)}.reminder-modal-close-button:disabled{opacity:.5;cursor:not-allowed}.reminder-modal-close-button:focus{outline:2px solid var(--color-accent);outline-offset:2px}.reminder-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border-light);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.reminder-modal-loading p{font-size:15px;color:var(--color-text-secondary);margin:0}@media(max-width:767px){.reminder-modal-backdrop{padding:0;align-items:flex-end}.reminder-modal{max-width:100%;border-radius:16px 16px 0 0;max-height:95vh}.reminder-modal-header{padding:20px 16px 12px}.reminder-modal-title{font-size:18px}.reminder-modal-loading{padding:48px 20px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}@media(min-width:768px)and (max-width:1024px){.reminder-modal{max-width:520px}.reminder-modal-header{padding:22px 20px 0}}@media(min-width:1025px){.reminder-modal{max-width:600px}.reminder-modal-header{padding:28px 24px 18px}.reminder-modal-title{font-size:22px}}@media(prefers-reduced-motion:reduce){.reminder-modal-backdrop,.reminder-modal,.loading-spinner,.reminder-modal-close-button{animation:none;transition:none}}@media(prefers-contrast:high){.reminder-modal{border:2px solid var(--color-border-default)}.reminder-modal-close-button{border:2px solid currentColor}}.reminder-modal-close-button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}@media print{.reminder-modal-backdrop{display:none}}.gems-unified-page{min-height:100vh;background:var(--color-background);padding-bottom:80px}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:var(--color-primary-contrast);padding:8px 16px;text-decoration:none;border-radius:0 0 4px;font-weight:600;z-index:1000;transition:top .2s ease-in-out}.skip-link:focus{top:0;outline:3px solid var(--color-accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.gems-unified-header{background:var(--color-surface);border-bottom:1px solid var(--color-border-light);padding:24px 16px;position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;gap:16px}.header-content{flex:1;min-width:0}.gems-unified-header h1{font-size:28px;font-weight:600;margin:0 0 4px;color:var(--color-text-primary);line-height:1.3}.header-subtitle{font-size:14px;color:var(--color-text-secondary);margin:0}.saved-tabs{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:12px 16px 4px;-webkit-overflow-scrolling:touch}.saved-tabs.hide-scrollbar{scrollbar-width:none}.saved-tabs.hide-scrollbar::-webkit-scrollbar{display:none}.saved-tab{flex:0 0 auto;padding:8px 16px;border:none;border-radius:999px;background:transparent;color:#c4b6a6;font-size:14px;font-weight:500;line-height:1.2;cursor:pointer;transition:color .15s ease,background-color .15s ease}.saved-tab:hover{color:#2e2924}.saved-tab.is-active,.saved-tab.is-active:hover{background:#e07a3d;color:#f4efe6;font-weight:500}.saved-tab-panel:has(.host-follow-notifications) .saved-tab-placeholder{display:none}.saved-tab-placeholder{padding:32px;text-align:center;color:#6b7280}.reminders-tab-panel{display:flex;flex-direction:column;gap:8px}.reminders-tab-actions{display:flex;justify-content:flex-end;padding:12px 16px 0}.reminders-tab-actions .create-reminder-button{width:auto}.create-reminder-button{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;color:var(--color-primary-contrast);background:var(--color-accent);border:none;border-radius:8px;cursor:pointer;transition:all .2s;flex-shrink:0}.create-reminder-button:hover{background:var(--color-accent-dark);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.create-reminder-button:active{transform:translateY(0)}.create-reminder-button:focus{outline:2px solid var(--color-accent);outline-offset:2px}.create-reminder-button svg{flex-shrink:0}.gems-search-container{padding:16px;background:var(--color-surface);border-bottom:1px solid var(--color-border-light);position:sticky;top:76px;z-index:99}.search-input-wrapper{position:relative;max-width:1200px;margin:0 auto}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.search-input{width:100%;padding:12px 48px;font-size:15px;border:1px solid var(--color-border-default);border-radius:12px;background:var(--color-background);color:var(--color-text-primary);transition:all .2s}.search-input::placeholder{color:var(--color-text-tertiary)}.search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #5f0f401a}.search-clear-button{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-text-tertiary);border-radius:50%;cursor:pointer;transition:all .2s}.search-clear-button:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.search-clear-button:focus{outline:2px solid var(--color-accent);outline-offset:2px}.gems-list{max-width:1200px;margin:0 auto;background:var(--color-surface)}.gems-list-virtualized{max-width:1200px;margin:0 auto;background:var(--color-surface);border-radius:8px;overflow:hidden}.virtualized-list{outline:none!important}.virtualized-list:focus{outline:none!important}.virtualized-list>div{will-change:transform}.gems-info-footer{max-width:1200px;margin:24px auto;padding:0 16px}.info-text{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-tertiary);margin:0;padding:12px 16px;background:var(--color-surface-hover);border-radius:8px;border:1px solid var(--color-border-light)}.info-icon{flex-shrink:0}.gems-unified-page .empty-state{max-width:1200px;margin:40px auto}.gems-unified-page .loading-state{max-width:1200px;margin:20px auto}@media(max-width:767px){.gems-unified-page{padding-bottom:80px}.gems-unified-header{padding:20px 16px;top:0;flex-wrap:wrap}.header-content{flex:1 1 100%}.gems-unified-header h1{font-size:24px}.header-subtitle{font-size:13px}.reminders-tab-actions{padding:12px 16px 0;justify-content:stretch}.reminders-tab-actions .create-reminder-button{flex:1 1 100%;justify-content:center;padding:12px 16px;font-size:15px}.reminders-tab-actions .create-reminder-button .button-text{flex:1;text-align:center}.gems-search-container{padding:12px 16px;top:68px}.search-input{padding:10px 44px;font-size:14px}.gems-info-footer{margin:20px auto}.info-text{font-size:13px;padding:10px 12px}}@media(min-width:768px)and (max-width:1024px){.gems-unified-header{padding:24px 20px}.gems-unified-header h1{font-size:26px}.gems-search-container{padding:16px 20px}}@media(min-width:1025px){.gems-unified-page{padding-bottom:0}.gems-unified-header{padding:32px 24px;max-width:1200px;margin:0 auto;width:100%}.gems-unified-header h1{font-size:32px}.header-subtitle{font-size:16px}.create-reminder-button{padding:12px 20px;font-size:15px}.gems-search-container{padding:20px 24px;top:100px}.search-input{padding:14px 56px;font-size:16px}.search-icon{left:20px}.search-clear-button{right:16px}}.search-input:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.search-clear-button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.create-reminder-button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.search-input,.search-clear-button,.create-reminder-button{transition:none}.create-reminder-button:hover{transform:none}}@media(prefers-contrast:high){.search-input{border-width:2px}.gems-list{border:2px solid var(--color-border-default)}.info-text{border-width:2px}}@media print{.gems-unified-header{position:static}.gems-search-container{display:none}.gems-unified-page{background:#fff}.unified-gem-item{break-inside:avoid}}.follow-feed-page{min-height:100vh;background:var(--color-background);padding-bottom:calc(var(--spacing-xl) + 60px)}.follow-feed-header{padding:var(--spacing-lg) var(--spacing-md);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.follow-feed-header h1{font-size:28px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.follow-stats{font-size:15px;color:var(--color-text-secondary);margin:0}.follow-breakdown{display:block;font-size:13px;color:var(--color-text-tertiary);margin-top:var(--spacing-xs)}.follow-feed-filters{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.follow-feed-filters::-webkit-scrollbar{display:none}.filter-button{flex-shrink:0;padding:var(--spacing-sm) var(--spacing-md);border-radius:20px;background:var(--color-surface);border:1px solid var(--color-border);font-size:14px;font-weight:500;color:var(--color-text-secondary);transition:all .2s ease;white-space:nowrap}.filter-button:hover:not(:disabled){background:var(--color-background);border-color:var(--color-primary);color:var(--color-text-primary)}.filter-button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.filter-button:disabled{opacity:.4;cursor:not-allowed}.filter-button:active:not(:disabled){transform:scale(.97)}.follow-feed-content{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.feed-event-wrapper{position:relative}.event-match-reason{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);margin-top:calc(var(--spacing-sm) * -1);font-size:13px;color:var(--color-text-tertiary);background:var(--color-surface);border-bottom-left-radius:var(--border-radius-md);border-bottom-right-radius:var(--border-radius-md);border:1px solid var(--color-border);border-top:none}.event-match-reason svg{flex-shrink:0;color:var(--color-error)}.event-match-reason .entity-link{color:var(--color-primary);text-decoration:none;font-weight:500;transition:all .2s ease}.event-match-reason .entity-link:hover{text-decoration:underline}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-md);text-align:center;min-height:60vh}.empty-state svg{color:var(--color-text-tertiary);margin-bottom:var(--spacing-lg)}.empty-state h2,.empty-state h3{font-size:24px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.empty-state h3{font-size:20px}.empty-state p{font-size:16px;color:var(--color-text-secondary);max-width:400px;line-height:1.5;margin-bottom:var(--spacing-lg)}.empty-state-actions{display:flex;gap:var(--spacing-sm)}.load-more-container{display:flex;justify-content:center;padding:var(--spacing-lg) var(--spacing-md)}.load-more-container .btn{min-width:200px}@media(min-width:768px){.follow-feed-header{padding:var(--spacing-xl) var(--spacing-lg)}.follow-feed-header h1{font-size:32px}.follow-feed-filters{padding:var(--spacing-md) var(--spacing-lg);justify-content:flex-start}.follow-feed-content{padding:var(--spacing-lg);max-width:800px;margin:0 auto}.empty-state{padding:var(--spacing-xxl) var(--spacing-lg)}}@media(min-width:1024px){.follow-feed-content{max-width:900px}}.category-cards-page{min-height:100vh;background:#f8f9fa;padding-bottom:40px}.category-header{background:#fff;padding:20px 24px;padding-top:calc(20px + env(safe-area-inset-top,0px));border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:16px;margin-bottom:24px}.back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f1f5f9;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.back-button:hover{background:#e2e8f0;transform:translate(-2px)}.back-button:active{transform:translate(0)}.category-header-content{flex:1}.category-header h1{font-size:28px;font-weight:700;color:#1a1a1a;margin:0 0 4px}.category-subtitle{font-size:15px;color:#64748b;margin:0}.category-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:0 24px;max-width:1400px;margin:0 auto}.category-card{background:#fff;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #00000014}.category-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.category-card:focus{outline:2px solid #2563eb;outline-offset:2px}.category-card-header{height:120px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.category-card-header:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#0000001a)}.category-icon{position:relative;z-index:1;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.category-card-content{padding:20px}.category-card-title{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.category-card-description{font-size:14px;color:#64748b;margin:0 0 16px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.category-card-footer{display:flex;align-items:center;justify-content:space-between}.event-count-badge{display:inline-flex;align-items:center;padding:6px 12px;background:#f1f5f9;color:#475569;border-radius:20px;font-size:14px;font-weight:600}.category-card:hover .arrow-icon{color:#2563eb;transform:translate(4px)}@media(max-width:768px){.category-header{padding:16px}.category-header h1{font-size:24px}.category-subtitle{font-size:14px}.category-cards-grid{grid-template-columns:1fr;padding:0 16px;gap:16px}.category-card-header{height:100px}.category-icon{width:40px;height:40px}.category-card-title{font-size:18px}.category-card-content{padding:16px}}@media(min-width:768px){.category-header{padding-left:104px}.category-cards-grid{padding-left:104px;padding-right:24px}}.subcategory-cards-page{min-height:100vh;background:#f8f9fa;padding-bottom:40px}.subcategory-header{background:#fff;padding:20px 24px;padding-top:calc(20px + env(safe-area-inset-top,0px));border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:16px;margin-bottom:24px}.subcategory-header-content{flex:1}.subcategory-header h1{font-size:28px;font-weight:700;color:#1a1a1a;margin:0 0 4px}.subcategory-subtitle{font-size:15px;color:#64748b;margin:0}.subcategory-cards-container{padding:0 24px;max-width:1400px;margin:0 auto}.see-all-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:40px;margin-bottom:32px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #667eea4d;position:relative;overflow:hidden}.see-all-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#0000001a);opacity:0;transition:opacity .3s ease}.see-all-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #667eea66}.see-all-card:hover:before{opacity:1}.see-all-card:focus{outline:2px solid #2563eb;outline-offset:2px}.see-all-card-content{position:relative;z-index:1;text-align:center;color:#fff}.see-all-icon{margin-bottom:16px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.see-all-card-content h3{font-size:24px;font-weight:700;margin:0 0 8px}.see-all-card-content p{font-size:15px;margin:0 0 16px;opacity:.9}.see-all-card .event-count-badge{display:inline-flex;background:#fff3;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:700}.subcategory-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.subcategory-card{background:#fff;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #00000014}.subcategory-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.subcategory-card:focus{outline:2px solid #2563eb;outline-offset:2px}.subcategory-card-header{height:100px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.subcategory-card-header:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#0000001a)}.subcategory-icon{position:relative;z-index:1;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.subcategory-card-content{padding:18px}.subcategory-card-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 6px}.subcategory-card-description{font-size:13px;color:#64748b;margin:0 0 14px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.subcategory-card-footer{display:flex;align-items:center;justify-content:space-between}.event-count-badge{display:inline-flex;align-items:center;padding:5px 10px;background:#f1f5f9;color:#475569;border-radius:16px;font-size:13px;font-weight:600}.arrow-icon{color:#cbd5e1;transition:all .2s ease}.subcategory-card:hover .arrow-icon{color:#2563eb;transform:translate(4px)}.skeleton-card{pointer-events:none}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:4px}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:#64748b}.error-state svg{margin-bottom:24px;opacity:.5}.error-state h3{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.error-state p{font-size:15px;margin:0 0 24px;max-width:400px}.btn-primary{padding:12px 24px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}@media(max-width:768px){.subcategory-header{padding:16px}.subcategory-header h1{font-size:24px}.subcategory-subtitle{font-size:14px}.subcategory-cards-container{padding:0 16px}.see-all-card{padding:32px 20px}.see-all-card-content h3{font-size:20px}.see-all-card-content p{font-size:14px}.subcategory-cards-grid{grid-template-columns:1fr;gap:16px}.subcategory-card-header{height:80px}.subcategory-icon{width:32px;height:32px}.subcategory-card-title{font-size:17px}.subcategory-card-content{padding:16px}}@media(min-width:768px){.subcategory-header{padding-left:104px}.subcategory-cards-container{padding-left:104px;padding-right:24px}}.profile-page{min-height:100vh;background:var(--color-background);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 80px)}.profile-header{background:var(--color-surface);padding:var(--spacing-lg) var(--spacing-md);padding-top:calc(var(--spacing-lg) + env(safe-area-inset-top,0px));border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.profile-header h1{font-size:24px;font-weight:700;color:var(--color-text-primary)}.profile-content{padding:var(--spacing-md);max-width:768px;margin:0 auto}.profile-error-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--border-radius-md);color:var(--color-error);margin-bottom:var(--spacing-md)}.profile-error-banner svg{flex-shrink:0}.profile-card{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);text-align:center;box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-md)}.profile-avatar-section{margin-bottom:var(--spacing-md)}.profile-avatar-image{width:96px;height:96px;border-radius:50%;object-fit:cover;margin:0 auto;border:3px solid var(--color-border)}.profile-avatar-placeholder{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);display:flex;align-items:center;justify-content:center;margin:0 auto;color:#fff;box-shadow:var(--shadow-md)}.profile-info{margin-bottom:var(--spacing-lg)}.profile-display-name{font-size:24px;font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-text-primary);word-break:break-word}.profile-full-name{font-size:16px;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.profile-email{font-size:14px;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);word-break:break-all}.admin-badge{display:inline-block;padding:4px 12px;background:var(--color-secondary);color:#fff;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.profile-actions{display:flex;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap}.profile-actions .btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);font-size:14px}.profile-section{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-md)}.section-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.section-content{color:var(--color-text-primary)}.profile-bio{font-size:15px;line-height:1.6;color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word}.info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0}.info-row:not(:last-child){border-bottom:1px solid var(--color-divider)}.info-label{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.info-value{font-size:14px;font-weight:400;color:var(--color-text-primary);text-align:right}.notification-summary{font-size:14px;line-height:1.6;color:var(--color-text-primary)}.profile-menu{background:var(--color-surface);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg)}.menu-item{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);color:var(--color-text-primary);border-bottom:1px solid var(--color-border);text-align:left;transition:background var(--transition-fast)}.menu-item:last-child{border-bottom:none}.menu-item:hover{background:var(--color-background)}.menu-item:active{background:var(--color-border)}.menu-item span{flex:1;font-size:16px;font-weight:500}.menu-item svg:first-child{color:var(--color-primary);flex-shrink:0}.menu-item svg:last-child{color:var(--color-text-secondary);flex-shrink:0}.btn-block{width:100%}.sign-out-btn{margin-top:var(--spacing-sm)}.profile-skeleton{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-md)}.skeleton-avatar{width:96px;height:96px;border-radius:50%;background:linear-gradient(90deg,var(--color-divider) 0%,#f0f0f0 50%,var(--color-divider) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;margin:0 auto var(--spacing-md)}.skeleton-text{height:16px;border-radius:var(--border-radius-sm);background:linear-gradient(90deg,var(--color-divider) 0%,#f0f0f0 50%,var(--color-divider) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;margin:0 auto var(--spacing-sm)}.skeleton-title{width:60%;height:24px;margin-bottom:var(--spacing-md)}.skeleton-subtitle{width:40%;height:14px;margin-bottom:var(--spacing-lg)}.skeleton-buttons{display:flex;gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-xl)}.skeleton-buttons:before,.skeleton-buttons:after{content:"";width:120px;height:36px;border-radius:var(--border-radius-md);background:linear-gradient(90deg,var(--color-divider) 0%,#f0f0f0 50%,var(--color-divider) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-section{width:100%;height:100px;border-radius:var(--border-radius-md);background:linear-gradient(90deg,var(--color-divider) 0%,#f0f0f0 50%,var(--color-divider) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;margin-bottom:var(--spacing-md)}@media(min-width:640px){.profile-header{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.profile-content{padding:var(--spacing-lg)}.profile-display-name{font-size:28px}.profile-avatar-image,.profile-avatar-placeholder{width:120px;height:120px}.profile-avatar-placeholder svg{width:60px;height:60px}}@media(min-width:1024px){.profile-page{padding-bottom:var(--spacing-xl)}.profile-header{position:static}.menu-item:hover{cursor:pointer}}.profile-edit-page{min-height:100vh;background:var(--color-background);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 80px)}.profile-edit-header{background:var(--color-surface);padding:var(--spacing-lg) var(--spacing-md);padding-top:calc(var(--spacing-lg) + env(safe-area-inset-top,0px));border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between}.profile-edit-header h1{font-size:20px;font-weight:700;color:var(--color-text-primary);flex:1;text-align:center}.profile-edit-content{padding:var(--spacing-md);max-width:600px;margin:0 auto}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--spacing-md)}.profile-edit-form{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.avatar-section{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.avatar-container{position:relative;width:120px;height:120px;margin-bottom:var(--spacing-md)}.avatar-image{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--color-border)}.avatar-placeholder{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);display:flex;align-items:center;justify-content:center;color:#fff;border:3px solid var(--color-border)}.avatar-overlay{position:absolute;bottom:0;right:0;width:40px;height:40px;background:var(--color-primary);border:3px solid var(--color-surface);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast);color:#fff}.avatar-overlay:hover{background:var(--color-primary-dark)}.avatar-overlay svg{width:18px;height:18px}.avatar-overlay span{font-size:9px;font-weight:600;margin-top:-2px}.avatar-input{display:none}.upload-progress{width:200px;margin-bottom:var(--spacing-sm)}.progress-bar{width:100%;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;margin-bottom:var(--spacing-xs)}.progress-fill{height:100%;background:var(--color-primary);transition:width .3s ease}.progress-text{font-size:12px;color:var(--color-text-secondary);text-align:center}.avatar-hint{font-size:13px;color:var(--color-text-secondary);text-align:center}.form-label{display:block;font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.required{color:var(--color-error)}.form-input,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:15px;border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary)}.form-input.error,.form-textarea.error{border-color:var(--color-error)}.form-input:disabled,.form-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-background)}.form-textarea{resize:vertical;min-height:100px;font-family:inherit;line-height:1.5}.input-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-xs);min-height:20px}.error-message{font-size:13px;color:var(--color-error)}.char-count{font-size:12px;color:var(--color-text-secondary);margin-left:auto}.char-count.warning{color:#f59e0b;font-weight:600}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.btn{flex:1;padding:var(--spacing-md);font-size:16px;font-weight:600;border-radius:var(--border-radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-background)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(min-width:640px){.profile-edit-header{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.profile-edit-header h1{font-size:24px}.profile-edit-content{padding:var(--spacing-lg)}.avatar-container{width:140px;height:140px}.avatar-overlay{width:44px;height:44px}.avatar-overlay svg{width:20px;height:20px}.avatar-overlay span{font-size:10px}}@media(min-width:1024px){.profile-edit-page{padding-bottom:var(--spacing-xl)}.profile-edit-header{position:static}.back-button:hover{cursor:pointer}}.phone-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);animation:fadeIn .2s ease-out}.phone-modal{background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.phone-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border)}.phone-modal-header h2{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0}.phone-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.phone-modal-close:hover:not(:disabled){background:var(--color-background);color:var(--color-text-primary)}.phone-modal-close:disabled{opacity:.5;cursor:not-allowed}.phone-modal-content{padding:var(--spacing-xl)}.phone-modal-description{font-size:15px;color:var(--color-text-secondary);margin:0 0 var(--spacing-lg) 0;line-height:1.6}.phone-input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.phone-input-label{font-size:14px;font-weight:600;color:var(--color-text-primary)}.phone-input{width:100%;padding:var(--spacing-md);font-size:16px;border:2px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);color:var(--color-text-primary);transition:all var(--transition-fast);font-family:SF Mono,Monaco,Consolas,monospace}.phone-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.phone-input-error{border-color:var(--color-error)}.phone-input-error:focus{box-shadow:0 0 0 3px #ef44441a}.phone-input:disabled{opacity:.6;cursor:not-allowed}.phone-input-error-text{font-size:14px;color:var(--color-error);margin:0;display:flex;align-items:center;gap:var(--spacing-xs)}.phone-input-error-text:before{content:"⚠";font-size:16px}.phone-input-hint{font-size:13px;color:var(--color-text-secondary);margin:0;font-style:italic}.phone-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border)}.btn{padding:var(--spacing-md) var(--spacing-xl);font-size:16px;font-weight:600;border-radius:var(--border-radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);min-width:120px}.btn-secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-background);color:var(--color-text-primary)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media(max-width:640px){.phone-modal{max-width:100%;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;margin-top:auto}.phone-modal-header{padding:var(--spacing-md) var(--spacing-lg)}.phone-modal-header h2{font-size:18px}.phone-modal-content{padding:var(--spacing-lg)}.phone-modal-footer{padding:var(--spacing-md) var(--spacing-lg);flex-direction:column-reverse}.btn{width:100%}}.phone-input-container{display:flex;gap:var(--spacing-sm);align-items:stretch}.country-selector{position:relative;flex-shrink:0}.country-selector-button{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-sm);border:2px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-background);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);font-size:16px;height:100%;min-width:100px}.country-selector-button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-surface)}.country-selector-button:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.country-selector-button:disabled{opacity:.6;cursor:not-allowed}.country-flag{font-size:20px;line-height:1}.country-dial-code{font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace}.dropdown-arrow{transition:transform var(--transition-fast);margin-left:auto}.dropdown-arrow.open{transform:rotate(180deg)}.country-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));left:0;right:0;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);z-index:1001;max-height:300px;display:flex;flex-direction:column;animation:dropdownSlide .2s ease-out;min-width:320px}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.country-search{padding:var(--spacing-sm);border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface);z-index:1}.country-search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);background:var(--color-background);color:var(--color-text-primary);font-size:14px;transition:all var(--transition-fast)}.country-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f61a}.country-list{overflow-y:auto;max-height:250px}.country-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast);width:100%;text-align:left;font-size:14px}.country-option:hover{background:var(--color-background)}.country-option.selected{background:#3b82f61a;font-weight:600}.country-option .country-flag{font-size:18px;flex-shrink:0}.country-option .country-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.country-option .country-dial-code{color:var(--color-text-secondary);flex-shrink:0}.country-no-results{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);font-size:14px;font-style:italic}.phone-input-container .phone-input{flex:1}.phone-preview{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:var(--border-radius-sm);margin-top:var(--spacing-xs)}.phone-preview-label{font-size:13px;color:var(--color-text-secondary);font-weight:600}.phone-preview-number{font-size:14px;color:var(--color-primary);font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace}@media(max-width:640px){.phone-input-container{flex-direction:column;gap:var(--spacing-sm)}.country-selector-button{width:100%;justify-content:space-between}.country-dropdown{min-width:100%}.phone-preview{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}}@media(prefers-reduced-motion:reduce){.phone-modal-overlay,.phone-modal,.phone-modal-close,.phone-input,.btn,.country-dropdown,.dropdown-arrow{animation:none;transition:none}}.notification-settings-page{min-height:100vh;background:var(--color-background);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 80px)}.notification-settings-header{background:var(--color-surface);padding:var(--spacing-lg) var(--spacing-md);padding-top:calc(var(--spacing-lg) + env(safe-area-inset-top,0px));border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between}.notification-settings-header h1{font-size:20px;font-weight:700;color:var(--color-text-primary);flex:1;text-align:center}.back-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-primary);cursor:pointer;border-radius:var(--border-radius-md);transition:background var(--transition-fast)}.back-button:hover{background:var(--color-background)}.notification-settings-content{padding:var(--spacing-md);max-width:700px;margin:0 auto}.settings-card{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg)}.card-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.card-header h2{font-size:24px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.card-description{font-size:14px;color:var(--color-text-secondary);margin:0}.preferences-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.preference-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--border-radius-md);transition:background var(--transition-fast)}.preference-item:hover{background:var(--color-background)}.preference-label{display:block;font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs);cursor:pointer}.preference-description{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.5}.toggle-switch{position:relative;display:inline-block;width:52px;height:28px;flex-shrink:0;cursor:pointer;margin-top:2px}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.3s;border-radius:28px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.card-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end}.btn{padding:var(--spacing-md) var(--spacing-xl);font-size:16px;font-weight:600;border-radius:var(--border-radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-background);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-save{min-width:140px}.info-card{background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--border-radius-md);padding:var(--spacing-md);display:flex;gap:var(--spacing-md);align-items:flex-start}.info-icon{color:#0284c7;flex-shrink:0;margin-top:2px}.info-text{font-size:14px;color:#0c4a6e;margin:0;line-height:1.6}.loading-skeleton{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.skeleton-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.skeleton-item:last-child{margin-bottom:0}.skeleton-text{width:60%;height:20px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-toggle{width:52px;height:28px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:28px}.error-state{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:300px}.error-icon{color:var(--color-error);margin-bottom:var(--spacing-md)}.error-message{font-size:16px;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);max-width:400px}.phone-number-section{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--border-radius-md);background:var(--color-background);border:1px solid var(--color-border)}.phone-number-info{flex:1}.phone-number-display{font-size:16px;color:var(--color-text-primary);margin:var(--spacing-xs) 0 0 0;font-weight:500;font-family:SF Mono,Monaco,Consolas,monospace}.phone-number-placeholder{font-size:15px;color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0 0;font-style:italic}.phone-number-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:14px;min-width:auto;flex:1}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-md)}@media(min-width:640px){.notification-settings-header{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.notification-settings-header h1{font-size:24px}.notification-settings-content{padding:var(--spacing-lg)}.settings-card{padding:var(--spacing-2xl)}.preference-item{padding:var(--spacing-lg)}.preference-label{font-size:17px}.preference-description{font-size:15px}.phone-number-section{flex-direction:row;align-items:center}.phone-number-actions{flex-shrink:0;flex-wrap:nowrap}.btn-sm{flex:0 0 auto}}@media(min-width:1024px){.notification-settings-page{padding-bottom:var(--spacing-xl)}.notification-settings-header{position:static}.back-button:hover{cursor:pointer}.card-header h2{font-size:28px}.card-description{font-size:15px}}.reminders-link-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.btn-link-reminders{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);color:var(--color-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-link-reminders:hover{background:var(--color-primary-light);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.btn-link-reminders:active{transform:translateY(0)}.btn-link-reminders:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-link-reminders span{flex:1;text-align:left}.btn-link-reminders svg:first-child{flex-shrink:0}.btn-link-reminders svg:last-child{flex-shrink:0;color:var(--color-text-secondary)}.push-status-badge{margin-top:8px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-enabled{background:#dcfce7;color:#166534}.status-disabled{background:#f3f4f6;color:#6b7280}.status-blocked{background:#fee2e2;color:#991b1b}.push-instructions-box{margin-top:16px;padding:16px;background:#fef3c7;border:1px solid #fbbf24;border-radius:var(--border-radius-md)}.push-instructions-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#92400e}.push-instructions-header h4{font-size:15px;font-weight:600;margin:0}.push-instructions-header svg{flex-shrink:0;color:#f59e0b}.push-instructions-text{font-size:14px;color:#78350f;line-height:1.6;margin:0 0 12px}.push-instructions-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.btn-link{background:none;border:none;color:#92400e;font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;text-decoration:underline;transition:opacity var(--transition-fast)}.btn-link:hover{opacity:.7}.push-unsupported-box{margin-top:16px;padding:16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:var(--border-radius-md);display:flex;gap:12px;align-items:flex-start}.push-unsupported-box svg{flex-shrink:0;color:#6b7280;margin-top:2px}.push-unsupported-box p{font-size:14px;color:#4b5563;line-height:1.6;margin:0;flex:1}.coming-soon-card{border:2px dashed var(--color-border);background:linear-gradient(135deg,#fafafa,#f5f5f5);position:relative}.coming-soon-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(0,0,0,.01) 10px,rgba(0,0,0,.01) 20px);pointer-events:none;border-radius:var(--border-radius-lg)}.coming-soon-card .card-header h2{color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-sm)}.coming-soon-card .card-description{color:var(--color-text-tertiary)}.preference-item-disabled{opacity:.6;cursor:not-allowed;position:relative}.preference-item-disabled:hover{background:transparent}.preference-label-disabled{color:var(--color-text-secondary);cursor:not-allowed}.toggle-switch-disabled{cursor:not-allowed;pointer-events:none}.toggle-switch-disabled .toggle-slider{background-color:#e2e8f0;opacity:.5}.coming-soon-note{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:#fef3c7;border:1px solid #fbbf24;border-radius:var(--border-radius-md);margin-top:var(--spacing-lg);color:#92400e;font-size:14px;line-height:1.6}.coming-soon-note svg{flex-shrink:0;color:#f59e0b;margin-top:2px}.coming-soon-note span{flex:1}@media(prefers-reduced-motion:reduce){.toggle-slider,.toggle-slider:before,.btn,.preference-item,.btn-link-reminders{transition:none}.skeleton-text,.skeleton-toggle{animation:none}.btn-link-reminders:hover,.btn-link-reminders:active{transform:none}}.event-list-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;animation:fadeInEmpty .4s ease}@keyframes fadeInEmpty{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.event-list-empty-icon{width:100px;height:100px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#64748b1a,#64748b0d);border-radius:50%}.event-list-empty-icon svg{color:#64748b;opacity:.6;flex-shrink:0}.event-list-empty-headline{font-size:22px;font-weight:600;color:#1a1a1a;margin:0 0 12px;max-width:90%}.event-list-empty-description{font-size:15px;color:#64748b;line-height:1.6;margin:0 0 28px;max-width:480px}.event-list-empty-action{margin-top:4px}@media(max-width:768px){.event-list-empty-state{padding:60px 16px}.event-list-empty-icon{width:80px;height:80px;margin-bottom:20px}.event-list-empty-icon svg{width:48px;height:48px}.event-list-empty-headline{font-size:20px}.event-list-empty-description{font-size:14px;margin-bottom:24px}}.event-list-empty-state.compact{padding:40px 16px}.event-list-empty-state.compact .event-list-empty-icon{width:64px;height:64px;margin-bottom:16px}.event-list-empty-state.compact .event-list-empty-icon svg{width:36px;height:36px}.event-list-empty-state.compact .event-list-empty-headline{font-size:18px;margin-bottom:8px}.event-list-empty-state.compact .event-list-empty-description{font-size:14px;margin-bottom:20px}.reminders-page{min-height:100vh;background:linear-gradient(to bottom,#f9fafb,#fff);padding-bottom:80px}.reminders-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.reminders-back-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .2s ease}.reminders-back-button:hover{background:#f3f4f6;color:#1f2937}.reminders-back-button:active{transform:scale(.95)}.reminders-title{font-size:24px;font-weight:700;color:#1f2937;margin:0}.reminders-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.reminders-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:reminders-spin .8s linear infinite}@keyframes reminders-spin{to{transform:rotate(360deg)}}.reminders-loading p{font-size:14px;color:#6b7280;margin:0}.reminders-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.reminders-error p{font-size:14px;color:#ef4444;margin:0;text-align:center}.reminders-retry-button{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.reminders-retry-button:hover{background:#2563eb;transform:translateY(-1px)}.reminders-retry-button:active{transform:translateY(0)}.reminders-content{padding:20px}.reminders-count{font-size:14px;color:#6b7280;margin:0 0 16px;font-weight:500}.reminders-list{display:flex;flex-direction:column;gap:12px}.reminder-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;transition:all .2s ease}.reminder-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000a}.reminder-event{flex:1;cursor:pointer;min-width:0}.reminder-event:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:8px}.reminder-event-title{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.reminder-event-meta{display:flex;flex-direction:column;gap:6px}.reminder-meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#6b7280}.reminder-meta-item svg{flex-shrink:0;color:#9ca3af}.reminder-sent-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#dcfce7;color:#16a34a;border-radius:6px;font-size:12px;font-weight:500;margin-top:8px;width:fit-content}.reminder-sent-badge svg{flex-shrink:0}.reminder-cancel-button{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;color:#ef4444;border:1px solid #fecaca;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.reminder-cancel-button:hover{background:#fef2f2;border-color:#fca5a5}.reminder-cancel-button:active{transform:scale(.95)}.reminder-cancel-button:disabled{opacity:.5;cursor:not-allowed}.reminder-cancel-button svg{flex-shrink:0}.reminder-cancel-spinner{width:16px;height:16px;border:2px solid #fecaca;border-top-color:#ef4444;border-radius:50%;animation:reminders-spin .8s linear infinite}.reminders-browse-button{padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.reminders-browse-button:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.reminders-browse-button:active{transform:translateY(0)}@media(min-width:768px){.reminders-header{padding:20px 40px}.reminders-title{font-size:28px}.reminders-content{max-width:800px;margin:0 auto;padding:32px 40px}.reminders-count{font-size:15px;margin-bottom:20px}.reminders-list{gap:16px}.reminder-item{padding:20px}.reminder-event-title{font-size:18px}.reminder-meta-item{font-size:14px}.reminder-cancel-button{padding:10px 16px;font-size:14px}}@media(min-width:1024px){.reminders-content{max-width:900px}.reminder-item:hover .reminder-event-title{color:#3b82f6}}@media(prefers-reduced-motion:reduce){.reminders-spinner,.reminder-cancel-spinner{animation:none}.reminders-back-button:active,.reminders-retry-button:active,.reminder-cancel-button:active,.reminders-browse-button:hover{transform:none}}@media(prefers-color-scheme:dark){.reminders-page{background:linear-gradient(to bottom,#111827,#1f2937)}.reminders-header{background:#1f2937;border-bottom-color:#374151}.reminders-title{color:#f9fafb}.reminders-back-button{color:#9ca3af}.reminders-back-button:hover{background:#374151;color:#f9fafb}.reminders-loading p,.reminders-count{color:#9ca3af}.reminder-item{background:#1f2937;border-color:#374151}.reminder-item:hover{border-color:#4b5563}.reminder-event-title{color:#f9fafb}.reminder-meta-item{color:#9ca3af}.reminder-meta-item svg{color:#6b7280}}.settings-page{min-height:100vh;background-color:#f8f9fa;padding-bottom:80px}.settings-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.settings-header h1{font-size:20px;font-weight:600;color:#1a1a1a;margin:0;flex:1;text-align:center}.back-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background-color:transparent;color:#1a1a1a;cursor:pointer;border-radius:8px;transition:background-color .2s ease}.back-button:hover:not(:disabled){background-color:#f3f4f6}.back-button:active:not(:disabled){background-color:#e5e7eb}.back-button:disabled{opacity:.5;cursor:not-allowed}.settings-content{max-width:800px;margin:0 auto;padding:20px}.settings-card{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px;overflow:hidden}.card-header{padding:24px 24px 16px;border-bottom:1px solid #f3f4f6}.card-header h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.card-description{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.preferences-list{padding:0}.preference-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid #f3f4f6}.preference-item:last-child{border-bottom:none}.preference-info{flex:1}.preference-label{display:block;font-size:15px;font-weight:500;color:#1a1a1a;margin-bottom:6px;cursor:pointer}.preference-description{font-size:13px;color:#6b7280;margin:0;line-height:1.5}.toggle-switch{position:relative;display:inline-block;width:52px;height:30px;flex-shrink:0;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#d1d5db;transition:.3s;border-radius:30px}.toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:#3b82f6}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px #3b82f61a}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.card-footer{padding:20px 24px;background-color:#f9fafb}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:500;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-decoration:none}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb;box-shadow:0 2px 8px #3b82f64d}.btn-primary:active:not(:disabled){background-color:#1d4ed8;transform:translateY(1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background-color:#f4efe6;color:#2e2924;border:1px solid #d9cbb8}.btn-secondary:hover:not(:disabled){background-color:#ebe3d6}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.calendar-sync-actions{display:flex;flex-wrap:wrap;gap:12px;padding:20px 24px 8px}.calendar-sync-note{margin:0;padding:0 24px 24px;font-size:13px;color:#6b7280;line-height:1.5}.calendar-sync-actions .btn[aria-disabled=true]{opacity:.5;pointer-events:none}.btn-save{width:100%}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.info-card{display:flex;gap:12px;padding:16px;background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:12px}.info-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;color:#3b82f6}.info-text{font-size:13px;color:#1e40af;margin:0;line-height:1.5}.about-support-list{display:flex;flex-direction:column;padding:0}.about-support-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-bottom:1px solid #f3f4f6;color:#1a1a1a;text-decoration:none;font-size:15px;font-weight:500;transition:background-color .15s ease}.about-support-link:last-child{border-bottom:none}.about-support-link:hover{background-color:#f9fafb}.about-support-link:focus-visible{outline:2px solid #c07b2a;outline-offset:-2px}.about-support-link svg{flex-shrink:0;color:#9ca3af}@media(max-width:768px){.settings-header{padding:12px 16px}.settings-header h1{font-size:18px}.settings-content{padding:16px}.card-header{padding:20px 20px 12px}.card-header h2{font-size:16px}.preference-item{padding:16px 20px;gap:12px}.preference-label{font-size:14px}.preference-description{font-size:12px}.toggle-switch{width:48px;height:28px}.toggle-slider:before{height:20px;width:20px}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.card-footer{padding:16px 20px}.info-card{padding:12px}}@media(max-width:480px){.preference-item{flex-direction:column;align-items:flex-start}.toggle-switch{align-self:flex-end}}.account-page{padding:var(--spacing-lg);min-height:100vh;background:var(--color-background)}.account-page h1{font-size:28px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.account-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.account-section{background:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.account-section h2{font-size:18px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.account-section p{color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--spacing-sm)}.account-section p:last-child{margin-bottom:0}@media(max-width:768px){.account-page{padding:var(--spacing-md)}.account-page h1{font-size:24px}}.directories-page{padding:var(--spacing-lg);min-height:100vh;background:var(--color-background)}.directories-page h1{font-size:28px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.directories-intro{color:var(--color-text-secondary);font-size:16px;line-height:1.6;margin-bottom:var(--spacing-xl)}.directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.directory-card{background:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);text-decoration:none;transition:all var(--transition-fast)}.directory-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.directory-card h2{font-size:20px;font-weight:600;color:var(--color-primary);margin-bottom:var(--spacing-sm)}.directory-card p{color:var(--color-text-secondary);line-height:1.6}.directory-table,.venue-directory-list{display:flex;flex-direction:column;background:transparent;border-radius:0;box-shadow:none;overflow:visible}.directories-page .directory-table-row,.directories-page .venue-directory-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;min-height:36px;height:40px;padding:.5rem .75rem;border-bottom:1px solid #e5e7eb;background:transparent;text-decoration:none;color:inherit}.directories-page .directory-table-row:last-child,.directories-page .venue-directory-row:last-child{border-bottom:none}.directories-page .directory-table-row:hover,.directories-page .venue-directory-row:hover{background:#f9fafb}.directory-table-main,.venue-directory-copy{display:flex;min-width:0;flex:1;flex-direction:row;align-items:center;gap:.75rem}.directory-table-name,.venue-directory-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.25;color:#1c1917;text-decoration:none}@media(min-width:640px){.directory-table-name,.venue-directory-name{max-width:20rem}}.directory-table-name:hover,.venue-directory-name:hover{text-decoration:underline}.directory-table-address,.venue-directory-address{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;line-height:1.25;color:#6b7280;text-decoration:none}.directory-table-address:hover,.venue-directory-address:hover{color:#4b5563;text-decoration:underline}@media(max-width:639px){.directory-table-address,.venue-directory-address{display:none}}.directory-table-tag,.business-directory-community{display:inline-flex;flex-shrink:0;align-items:center;padding:.125rem .375rem;border-radius:.25rem;background:#f3f4f6;color:#4b5563;font-size:10px;font-weight:500;line-height:1.2;white-space:nowrap}.directory-table-actions,.venue-directory-actions{display:flex;flex-shrink:0;align-items:center;gap:.5rem}.directories-page .directory-table-actions a,.directories-page .directory-table-actions span,.directories-page .venue-directory-actions a,.directories-page .venue-directory-actions span{display:inline-flex;align-items:center;justify-content:center;line-height:0}.directories-page .directory-table-actions svg,.directories-page .venue-directory-actions svg{width:16px;height:16px}.directories-page .directory-table-actions a.text-green-500,.directories-page .venue-directory-actions a.text-green-500{color:#22c55e}.directories-page .directory-table-actions a.text-yellow-500,.directories-page .venue-directory-actions a.text-yellow-500{color:#eab308}.directories-page .directory-table-actions .text-gray-300,.directories-page .venue-directory-actions .text-gray-300{color:#d1d5db}.directories-page--list .directories-intro{margin-bottom:.75rem}.directories-page--list h1{text-align:center}.business-category-pills{display:flex;gap:.5rem;margin:0 0 .75rem;padding-bottom:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.business-category-pill{flex-shrink:0;min-height:0;min-width:0;padding:.35rem .75rem;border:none;border-radius:999px;background:#f3f4f6;color:#6b7280;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer}.business-category-pill.is-active{background:#5b1e31;color:#fff}.directories-page .business-directory-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;min-height:0;max-height:44px;height:auto;padding:.375rem .5rem;border-bottom:1px solid #f3f4f6;background:transparent}.directories-page .business-directory-row:last-child{border-bottom:none}.directories-page .business-directory-row:hover{background:#f9fafb}.directories-page .business-directory-row a,.directories-page .business-directory-row span{min-height:0;min-width:0}.directories-page .business-directory-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:600;line-height:1.2;color:#111827;text-decoration:none}@media(min-width:640px){.directories-page .business-directory-name{font-size:14px}}.directories-page .business-directory-name:hover{text-decoration:underline}.directories-page .business-directory-address{display:block;max-width:100%;overflow:hidden;margin:0;padding-left:.5rem;font-size:11px;line-height:1.2;color:#6b7280;text-decoration:none}.directories-page .business-directory-address:hover{color:#000}.venue-directory-meta{margin-top:16px;padding:24px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}@media(max-width:768px){.directories-page{padding:var(--spacing-md)}.directories-page h1{font-size:24px}.directory-grid{grid-template-columns:1fr}}.updates-page{padding:var(--spacing-lg);min-height:100vh;background:var(--color-background);display:flex;flex-direction:column}.updates-page .container{flex:1;display:flex;flex-direction:column}.updates-page h1{font-size:28px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.updates-intro{color:var(--color-text-secondary);font-size:16px;line-height:1.6;margin-bottom:var(--spacing-xl)}.updates-empty-container{flex:1;display:flex;align-items:center;justify-content:center;min-height:400px}.updates-empty-container .event-list-empty-state{padding:var(--spacing-xl) var(--spacing-lg)}.updates-empty-container .event-list-empty-icon{background:linear-gradient(135deg,#22c55e14,#3b82f614)}.updates-empty-container .event-list-empty-icon svg{color:#22c55e;opacity:.7}.updates-empty-container .event-list-empty-headline{color:var(--color-text-primary);opacity:.9}.updates-empty-container .event-list-empty-description{color:var(--color-text-secondary);max-width:400px;margin:0 auto}.updates-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.update-card{background:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.update-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.update-card h2{font-size:20px;font-weight:600;color:var(--color-text-primary);flex:1}.update-date{font-size:14px;color:var(--color-text-secondary);white-space:nowrap}.update-content{color:var(--color-text-secondary);line-height:1.6}@media(max-width:768px){.updates-page{padding:var(--spacing-md)}.updates-page h1{font-size:24px}.update-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.update-card h2{font-size:18px}}.contact-page{padding:var(--spacing-lg);min-height:100vh;background:var(--color-background)}.contact-page h1{font-size:28px;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.contact-intro{color:var(--color-text-secondary);font-size:16px;line-height:1.6;margin-bottom:var(--spacing-xl)}.contact-form{max-width:600px;background:var(--color-surface);padding:var(--spacing-xl);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:14px;transition:border-color var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.form-group textarea{resize:vertical;min-height:120px}.contact-form .btn{width:100%;margin-top:var(--spacing-md)}.contact-legal-nav{display:flex;flex-wrap:wrap;gap:var(--spacing-md);max-width:600px;margin-top:var(--spacing-xl);font-size:14px}.contact-legal-nav a{color:var(--color-primary);text-decoration:underline}@media(max-width:768px){.contact-page{padding:var(--spacing-md)}.contact-page h1{font-size:24px}.contact-form{padding:var(--spacing-lg)}}.auth-page{overflow-x:hidden;overflow-y:auto;--auth-navy: #002d56;--auth-card: #0a1c36;--auth-orange: #ff6d00;--auth-orange-soft: #ffa726;--auth-sky: #29b6f6;min-height:100vh;min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:8px 16px 20px;background:var(--auth-navy);color:#fff;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.auth-shell{width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center}.auth-logo{display:block;height:85vh;width:auto;max-width:none;object-fit:contain;margin-top:-10vh;opacity:.95}.auth-page:has(.auth-form) .auth-logo{height:46vh;margin-top:-6vh}.auth-page:has(.auth-form) .auth-container{margin-top:-48px}.auth-container{position:relative;width:100%;margin-top:-90px;z-index:2;background:#0a1c36c7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:14px 16px 12px}.auth-brand{text-align:center;margin-bottom:2px}.auth-brand h1{margin:2px;font-family:Playfair Display,Georgia,serif;font-size:26px;font-weight:700;line-height:1.1;color:#fff}.auth-subtitle{margin:2px 0 0;font-size:15px;font-weight:500;letter-spacing:.04em;color:#e0e6ed}.auth-mode-toggle{position:absolute;top:6px;right:8px;display:flex;align-items:center;width:fit-content;height:20px;margin:0;gap:1px;padding:1px;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:6px}.auth-mode-toggle button{border:none;background:transparent;color:#e0e6ed;font:inherit;font-size:11px;font-weight:600;line-height:1;height:20px;padding:0 8px;border-radius:5px;cursor:pointer}.auth-mode-toggle button.is-active{background:var(--auth-orange);color:#fff}.auth-oauth-stack{margin:8px 0 4px}.auth-page .auth-oauth-button{min-height:44px;padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.22);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.auth-page .auth-oauth-button:disabled{opacity:.55;cursor:not-allowed}.auth-page .auth-oauth-button--google{background:#fff;color:#1f1f1f}.auth-page .auth-oauth-button--google:hover:not(:disabled){background:#f3f4f6}.auth-page .auth-oauth-button--facebook{background:#1877f2;color:#fff;border-color:transparent}.auth-page .auth-oauth-button--facebook:hover:not(:disabled){background:#166fe5}.auth-page .auth-oauth-button--email{background:var(--auth-orange);color:#fff;border-color:transparent}.auth-page .auth-oauth-button--email:hover:not(:disabled){filter:brightness(1.06)}.auth-page .auth-oauth-button:focus-visible,.auth-page .auth-back:focus-visible{outline:2px solid var(--auth-orange-soft);outline-offset:2px}.auth-oauth-icon{width:18px;height:18px;flex-shrink:0}.auth-back{align-self:flex-start;margin:4px 4px 8px;padding:0;border:none;background:transparent;color:#7fd4ff;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.auth-back:hover{color:#fff}.auth-page .auth-form{display:flex;flex-direction:column;gap:0;margin:0}.auth-page .auth-form>.form-group{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px;margin:4px}.auth-page .auth-form>.form-group>label:not(.legal-agree){display:block;flex:0 0 88px;min-width:80px;margin:0;font-size:14px;font-weight:500;line-height:1;color:#29b6f6;text-align:left;white-space:nowrap}.auth-page .auth-form>.form-group>input{flex:1 1 auto;min-width:0;width:auto;height:36px;margin:0;padding:0 10px;border:1px solid #c5ced8;border-radius:6px;background:#c5ced8;color:#002d56;font:inherit;font-size:15px;box-sizing:border-box}.auth-page .auth-form>.form-group>input::placeholder{color:#5c6b7a}.auth-page .auth-form>.form-group>input:focus{border-color:var(--auth-orange);box-shadow:0 0 0 2px #ff6d0047;outline:none}.form-group:has(.legal-agree){align-items:flex-start}.form-group:has(.legal-agree) .legal-agree{flex:1;min-width:0}.legal-agree,.auth-page label.legal-agree{display:flex;align-items:flex-start;gap:14px;color:#fff!important}.legal-agree span{color:#fff!important}.auth-page .legal-agree input[type=checkbox],.legal-agree input{all:revert!important;appearance:checkbox!important;-webkit-appearance:checkbox!important;display:inline-block!important;width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;min-height:16px!important;max-height:16px!important;margin:3px 0 0!important;padding:0!important;flex:0 0 16px!important;cursor:pointer!important;accent-color:var(--auth-orange)!important}.error-message,.legal-agree-error{margin:0;padding:6px 8px;background:#b33a3a40;border:1px solid #ffb4b4;border-radius:6px;color:#ffe8e8;font-size:13px;font-weight:500}.legal-agree-error{display:block;margin-top:4px}.legal-agree a,.auth-legal-links a{color:#7fd4ff;font-weight:600;text-decoration:underline;text-underline-offset:2px}.legal-agree a:hover,.auth-legal-links a:hover{color:#fff}.auth-page .auth-form input[type=checkbox].w-4{width:1rem;height:1rem;min-width:1rem;min-height:1rem;margin:0;flex:0 0 1rem}.auth-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:8px}.auth-turnstile{flex:0 1 300px;min-width:260px;max-width:300px;margin:0;overflow:visible}.auth-submit{flex:0 0 auto;width:auto;max-width:100%;margin-left:auto;height:auto;min-height:36px;padding:8px 14px;font:inherit;font-size:13px;font-weight:700;line-height:1.2;text-align:center;white-space:normal;border:none;border-radius:6px;background:var(--auth-orange);color:#fff;cursor:pointer;transition:opacity .2s ease,filter .2s ease,background-color .2s ease}.auth-submit:disabled{background:#a8581f;color:#ffffff73;opacity:.55;filter:grayscale(45%);cursor:not-allowed}.auth-mode-toggle button:focus-visible,.auth-submit:focus-visible,.legal-agree input:focus-visible{outline:2px solid var(--auth-orange-soft);outline-offset:2px}.auth-legal-links{display:none!important}@media(max-width:520px){.auth-logo{height:65vh}.auth-page:has(.auth-form) .auth-logo{height:34vh;margin-top:-4vh}.auth-page .auth-form>.form-group{gap:8px}.auth-page .auth-form>.form-group>label:not(.legal-agree){flex-basis:76px;min-width:72px;font-size:13px}.auth-turnstile{flex-basis:100%;max-width:100%;min-width:0}.auth-submit{max-width:52%;padding:6px 8px;font-size:12px}}.update-password-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#fcfbf8;color:#2e1a16;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.update-password-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:8px}.update-password-card h1{margin:0 0 4px;font-size:28px;font-weight:700;letter-spacing:-.02em;color:#2e1a16}.update-password-lead{margin:0 0 16px;font-size:15px;line-height:1.5;color:#6f6862}.update-password-card label{margin-top:8px;font-size:13px;font-weight:600;color:#2e1a16}.update-password-card input{height:44px;padding:0 12px;border:1px solid #e4dfd6;border-radius:8px;background:#fff;color:#2e1a16;font:inherit;font-size:15px}.update-password-card input:focus{border-color:#2e1a16;outline:none;box-shadow:0 0 0 3px #2e1a161f}.update-password-card button{margin-top:16px;height:44px;border:none;border-radius:8px;background:#2e1a16;color:#fcfbf8;font:inherit;font-size:15px;font-weight:600;cursor:pointer}.update-password-card button:disabled{opacity:.55;cursor:not-allowed}.update-password-message{margin:8px 0 0;font-size:14px;line-height:1.4}.update-password-message.is-error{color:#8c2f2f}.update-password-message.is-success{color:#3d5c45}.legal-page{min-height:100vh;background:var(--color-background);color:var(--color-text-primary);padding:var(--spacing-xl) var(--spacing-md)}.legal-article{max-width:42rem;margin:0 auto;background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-xl)}.legal-brand{font-size:var(--font-size-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary);margin:0 0 var(--spacing-sm)}.legal-article h1{font-size:var(--font-size-4xl);font-weight:700;line-height:1.25;color:var(--color-text-primary);margin:0 0 var(--spacing-sm)}.legal-updated{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-xl)}.legal-body{font-size:var(--font-size-lg);line-height:1.7;color:var(--color-text-primary)}.legal-body h2{font-size:1.15em;font-weight:700;margin:1.75em 0 .5em}.legal-body p{margin:0 0 1em}.legal-body ul{margin:0 0 1em;padding-left:1.25em}.legal-body li{margin-bottom:.35em}.legal-nav{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}.legal-nav a{color:var(--color-primary);text-decoration:underline}.legal-nav a:hover{color:var(--color-primary-dark)}.confirm-dialog{display:flex;flex-direction:column;gap:24px}.confirm-message{display:flex;gap:16px;padding:16px;border-radius:8px;align-items:flex-start}.confirm-message svg{flex-shrink:0;margin-top:2px}.confirm-message p{margin:0;line-height:1.6;color:#1a1a1a}.confirm-danger{background:#fff5f5;border:1px solid #ffcdd2}.confirm-danger svg{color:#c62828}.confirm-warning{background:#fff8e1;border:1px solid #ffe082}.confirm-warning svg{color:#f57c00}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-actions .btn{min-width:100px}.btn-danger{background:#c62828;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-danger:hover:not(:disabled){background:#b71c1c}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-warning{background:#f57c00;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-warning:hover:not(:disabled){background:#ef6c00}.btn-warning:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#fff;color:#666;border:1px solid #e0e0e0;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.confirm-actions{flex-direction:column-reverse}.confirm-actions .btn{width:100%;min-width:auto}}.host-dashboard{min-height:100vh;background:#f9fafb;padding-bottom:80px}.dashboard-header{background:#fff;padding:1.5rem 1rem;padding-top:calc(1.5rem + env(safe-area-inset-top,0px));border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:1rem;position:sticky;top:0;z-index:10}.dashboard-header .back-button{background:none;border:none;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#374151;cursor:pointer;border-radius:8px;transition:background-color .2s}.dashboard-header .back-button:hover{background-color:#f3f4f6}.dashboard-header h1{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.dashboard-content{padding:1.5rem 1rem;max-width:1200px;margin:0 auto}.dashboard-actions{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{flex:1;min-width:200px;position:relative;display:flex;align-items:center}.search-box svg{position:absolute;left:.75rem;color:#9ca3af;pointer-events:none}.search-box input{width:100%;padding:.625rem .75rem .625rem 2.5rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s}.search-box input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-create{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.loading-state,.empty-state{text-align:center;padding:4rem 1rem}.loading-state .spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.loading-state p,.empty-state p{color:#6b7280;font-size:.875rem}.empty-state svg{color:#9ca3af;margin-bottom:1.5rem}.empty-state h2{font-size:1.25rem;font-weight:600;color:#111827;margin-bottom:.5rem}.empty-state .btn-primary{margin-top:1.5rem;padding:.625rem 1.25rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.empty-state .btn-primary:hover{background-color:#2563eb}.hosts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem}.host-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;transition:all .2s}.host-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-2px)}.host-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.host-card-header h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0;line-height:1.4}.host-type-badge{padding:.25rem .625rem;border-radius:12px;font-size:.75rem;font-weight:500;color:#fff;text-transform:capitalize;white-space:nowrap;flex-shrink:0}.host-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.host-contact-info{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-top:.75rem;border-top:1px solid #f3f4f6}.contact-item{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.8125rem}.contact-item svg{flex-shrink:0;color:#9ca3af}.contact-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.host-card-actions{display:flex;gap:.5rem;padding-top:.75rem;border-top:1px solid #f3f4f6}.btn-action{flex:1;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.8125rem;font-weight:500;background:#fff;cursor:pointer;transition:all .2s}.btn-action:hover{background-color:#f9fafb}.btn-action svg{flex-shrink:0}.btn-edit{color:#3b82f6;border-color:#3b82f6}.btn-edit:hover{background-color:#eff6ff}.btn-delete{color:#dc2626;border-color:#dc2626}.btn-delete:hover{background-color:#fef2f2}@media(max-width:768px){.dashboard-header{padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top,0px))}.dashboard-header h1{font-size:1.25rem}.dashboard-content{padding:1rem}.dashboard-actions{flex-direction:column}.search-box{min-width:100%}.btn-create{width:100%;justify-content:center}.hosts-grid{grid-template-columns:1fr}}@media(max-width:480px){.host-card-actions{flex-direction:column}.btn-action{width:100%}}.admin-dashboard{display:flex;flex-direction:column;min-height:100vh;background:var(--color-background);position:relative}.mobile-menu-trigger{position:fixed;top:16px;left:16px;z-index:1100;width:48px;height:48px;border-radius:var(--border-radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);transition:all .2s ease;cursor:pointer}.mobile-menu-trigger:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.mobile-menu-trigger:active{transform:scale(.95)}.mobile-menu-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.drawer-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1199;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-sidebar{position:fixed;top:0;left:-100%;width:280px;height:100vh;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;z-index:1200;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:left .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 16px #0000001a}.admin-sidebar.drawer-open{left:0}.sidebar-header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;min-height:72px}.sidebar-logo{display:flex;align-items:center;gap:var(--spacing-md);color:var(--color-primary);font-weight:700;font-size:18px}.sidebar-close{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all .2s ease}.sidebar-close:hover{background:var(--color-background);color:var(--color-text-primary)}.sidebar-close:active{transform:scale(.95)}.sidebar-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sidebar-nav{flex:1;padding:var(--spacing-md);overflow-y:auto;-webkit-overflow-scrolling:touch}.nav-item{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:14px 16px;border-radius:var(--border-radius-md);font-weight:500;font-size:15px;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all .2s ease;margin-bottom:var(--spacing-xs);position:relative;min-height:48px;text-align:left}.nav-item:hover{background:var(--color-background);color:var(--color-text-primary)}.nav-item:active{transform:scale(.98)}.nav-item.active{background:var(--color-primary);color:#fff}.nav-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-item svg{flex-shrink:0;width:20px;height:20px}.nav-item span:first-of-type{flex:1;text-align:left}.nav-item .badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:var(--color-error);color:#fff;border-radius:11px;font-size:12px;font-weight:700}.nav-item.active .badge{background:#ffffff4d}.sidebar-footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border)}.admin-info{display:flex;align-items:center;gap:var(--spacing-md)}.admin-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--color-background)}.admin-details{flex:1;min-width:0}.admin-name{font-weight:600;font-size:14px;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-role{font-size:12px;color:var(--color-text-tertiary)}.admin-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:80px}.content-wrapper{max-width:1400px;margin:0 auto;padding:var(--spacing-md)}.dashboard-overview{width:100%}.overview-header{margin-bottom:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.overview-header h1{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;line-height:1.2}.overview-subtitle{font-size:14px;color:var(--color-text-secondary);margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:var(--border-radius-md);font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;border:none;min-height:44px;white-space:nowrap}.btn-primary{background:var(--color-primary);color:#fff;border:2px solid var(--color-primary)}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:2px solid var(--color-border)}.btn-secondary:hover{background:var(--color-background);border-color:var(--color-primary)}.btn-secondary:active{transform:translateY(0)}.stats-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--spacing-md);transition:all .2s ease;border:none;width:100%;text-align:left;cursor:default}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card.clickable:active{transform:translateY(0)}.stat-card.clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.stat-icon{width:52px;height:52px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-info{background:#06b6d41a;color:#06b6d4}.stat-content{flex:1;min-width:0}.stat-value{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.1;margin-bottom:6px}.stat-label{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.stat-detail{font-size:12px;color:var(--color-text-tertiary)}.quick-actions{margin-top:var(--spacing-lg)}.quick-actions h2{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.actions-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.action-button{display:flex;flex-direction:row;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:all .2s ease;color:var(--color-text-primary);border:none;cursor:pointer;min-height:56px;text-align:left}.action-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:var(--color-primary);color:#fff}.action-button:active{transform:translateY(0)}.action-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.action-button svg{transition:transform .2s ease;flex-shrink:0}.action-button:hover svg{transform:scale(1.1)}.action-button span{font-weight:600;font-size:14px;flex:1}.action-button-primary{background:var(--color-primary);color:#fff;border:2px solid var(--color-primary)}.action-button-primary:hover{background:var(--color-primary);opacity:.9;border-color:var(--color-primary)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;min-height:300px}.spinner-large{width:56px;height:56px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.loading-state p{color:var(--color-text-secondary);font-size:15px}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-xl);text-align:center}.access-denied svg{color:var(--color-error);margin-bottom:var(--spacing-lg)}.access-denied h2{font-size:22px;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.access-denied p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:15px}.access-denied .btn{padding:14px 28px;min-height:48px}@media(min-width:768px){.admin-content{padding-top:0}.content-wrapper{padding:var(--spacing-lg)}.overview-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.overview-header h1{font-size:28px}.overview-subtitle{font-size:15px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.stat-value{font-size:32px}.stat-icon{width:56px;height:56px}.actions-grid{grid-template-columns:repeat(2,1fr)}.action-button{flex-direction:column;padding:var(--spacing-lg)}.quick-actions h2{font-size:20px}}@media(min-width:1024px){.admin-dashboard{flex-direction:row}.mobile-menu-trigger{display:none}.admin-sidebar{position:sticky;top:0;left:0;width:280px;height:100vh;transition:none;box-shadow:none}.sidebar-close{display:none}.admin-dashboard>.admin-content{flex:1;overflow-y:auto;padding:0}.admin-dashboard>.admin-content>.content-wrapper{max-width:none;margin:0;padding:16px}.overview-header h1{font-size:32px}.overview-subtitle{font-size:16px}.stats-grid{grid-template-columns:repeat(4,1fr)}.actions-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media(min-width:1280px){.admin-sidebar{width:300px}.nav-item{padding:16px 18px;font-size:15px}.stat-value{font-size:36px}}@media(hover:none)and (pointer:coarse){.nav-item{min-height:52px;padding:16px}.sidebar-close,.mobile-menu-trigger{min-width:48px;min-height:48px}.action-button{min-height:60px}.stat-card.clickable:hover,.action-button:hover{transform:none}.nav-item:active{background:var(--color-background)}.nav-item.active:active{background:var(--color-primary)}}@media(prefers-reduced-motion:reduce){.admin-sidebar,.drawer-overlay,.mobile-menu-trigger,.nav-item,.stat-card,.action-button,.sidebar-close{transition:none}.spinner-large{animation:none;border-color:var(--color-primary)}}@media print{.mobile-menu-trigger,.sidebar-close,.drawer-overlay{display:none}.admin-sidebar{position:relative;width:100%;height:auto;page-break-after:always}.admin-content{padding-top:0}}.category-manager{width:100%;max-width:1400px;margin:0 auto}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#666}.loading-state .spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top-color:#007bff;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.manager-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:20px}.header-content h2{margin:0 0 8px;font-size:28px;font-weight:700;color:#1a1a1a}.header-subtitle{margin:0;font-size:15px;color:#666}.header-actions{display:flex;gap:12px;flex-shrink:0}.manager-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.tabs{display:flex;gap:4px;background:#f5f5f5;padding:4px;border-radius:8px}.tab{padding:10px 20px;background:none;border:none;border-radius:6px;font-size:14px;font-weight:600;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tab:hover{color:#1a1a1a}.tab.active{background:#fff;color:#007bff;box-shadow:0 2px 4px #0000001a}.search-box{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;transition:all .2s ease;min-width:300px}.search-box:focus-within{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.search-box svg{color:#666;flex-shrink:0}.search-box input{flex:1;border:none;background:none;font-size:14px;color:#1a1a1a}.search-box input::placeholder{color:#999}.manager-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;min-height:500px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:#666}.empty-state svg{margin-bottom:24px;opacity:.5}.empty-state h3{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.empty-state p{font-size:15px;margin:0;max-width:400px}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;padding:24px}.category-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .2s ease}.category-card:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff1a}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.card-header h3{margin:0;font-size:18px;font-weight:600;color:#1a1a1a;flex:1}.badge{display:inline-flex;padding:4px 10px;background:#e3f2fd;color:#0d47a1;font-size:12px;font-weight:600;border-radius:12px;white-space:nowrap}.card-description{margin:0 0 16px;font-size:14px;color:#666;line-height:1.5}.card-actions{display:flex;gap:8px;padding-top:16px;border-top:1px solid #f0f0f0}.items-table{padding:24px;overflow-x:auto}.items-table table{width:100%;border-collapse:collapse}.items-table thead{background:#f8f9fa}.items-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0}.items-table td{padding:16px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#1a1a1a}.items-table tbody tr:hover{background:#f8f9fa}.name-cell{font-weight:600}.description-cell{max-width:400px;color:#666}.category-badge{display:inline-flex;padding:4px 12px;background:#f3e5f5;color:#6a1b9a;font-size:13px;font-weight:600;border-radius:12px}.actions-cell{white-space:nowrap}.actions-cell .btn-icon{margin-right:8px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff33}.btn-secondary{background:#fff;color:#666;border:1px solid #e0e0e0}.btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#bdbdbd;color:#1a1a1a}.btn-icon{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;font-weight:600;color:#666;cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:#f5f5f5;border-color:#bdbdbd;color:#1a1a1a}.btn-icon.btn-danger{color:#c62828;border-color:#ffcdd2}.btn-icon.btn-danger:hover{background:#fff5f5;border-color:#ef5350;color:#b71c1c}.entity-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:14px;font-weight:600;color:#1a1a1a}.required{color:#c62828}.form-group input,.form-group select,.form-group textarea{padding:12px;font-size:14px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#1a1a1a;transition:all .2s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px;border-top:1px solid #f0f0f0}.form-actions .btn{min-width:100px}@media(max-width:1024px){.items-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:20px}.search-box{min-width:250px}}@media(max-width:768px){.manager-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column}.manager-controls{flex-direction:column;align-items:stretch}.tabs{justify-content:center}.search-box{min-width:auto;width:100%}.items-grid{grid-template-columns:1fr}.items-table{padding:16px}.items-table table{display:block;overflow-x:auto}}@media(max-width:480px){.header-content h2{font-size:24px}.header-subtitle{font-size:14px}.tab{padding:8px 16px;font-size:13px}.items-table{padding:12px}.items-table th,.items-table td{padding:12px;font-size:13px}.category-card{padding:16px}.card-header h3{font-size:16px}.card-description{font-size:13px}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%;min-width:auto}}.admin-panel{min-height:100vh;background:var(--color-background);display:flex;flex-direction:column}.admin-header{background:var(--color-surface);padding:var(--spacing-lg) var(--spacing-md);padding-top:calc(var(--spacing-lg) + env(safe-area-inset-top,0px));border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--spacing-md)}.admin-header .back-button{background:none;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);cursor:pointer;border:none;border-radius:8px;transition:background .2s ease}.admin-header .back-button:hover{background:#0000000d}.admin-header h1{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0}.admin-nav{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 var(--spacing-md);display:flex;gap:4px;overflow-x:auto}.nav-item{display:flex;align-items:center;gap:8px;padding:16px 20px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:600;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap}.nav-item:hover:not(:disabled){color:#1a1a1a;background:#00000005}.nav-item.active{color:#007bff;border-bottom-color:#007bff}.nav-item.disabled{opacity:.5;cursor:not-allowed}.admin-content{padding:var(--spacing-lg);flex:1}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:#666}.access-denied svg{margin-bottom:24px;color:#c62828}.access-denied h2{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.access-denied p{font-size:15px;margin:0 0 24px;max-width:400px}.access-denied .btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.access-denied .btn:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff33}@media(max-width:768px){.admin-header{padding:var(--spacing-md)}.admin-header h1{font-size:20px}.admin-nav{padding:0 var(--spacing-sm)}.nav-item{padding:12px 16px;font-size:13px}.admin-content{padding:var(--spacing-md)}.access-denied{padding:60px 20px}.access-denied h2{font-size:20px}.access-denied p{font-size:14px}}.admin-table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);position:relative}.admin-table-container:before,.admin-table-container:after{content:"";position:absolute;top:0;bottom:0;width:20px;pointer-events:none;z-index:10;opacity:0;transition:opacity .2s ease}.admin-table-container:before{left:0;background:linear-gradient(to right,rgba(0,0,0,.1),transparent)}.admin-table-container:after{right:0;background:linear-gradient(to left,rgba(0,0,0,.1),transparent)}.admin-table-container.has-scroll:after{opacity:1}.admin-table-container.scrolled:before{opacity:1}.admin-table{width:100%;min-width:600px;border-collapse:collapse;font-size:13px}.admin-table thead{background:var(--color-background);border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:5}.admin-table th{padding:12px;text-align:left;font-weight:600;color:var(--color-text-primary);white-space:nowrap;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.admin-table th.center,.admin-table td.center{text-align:center}.admin-table th.right,.admin-table td.right{text-align:right}.admin-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s ease}.admin-table tbody tr:hover{background:var(--color-background)}.admin-table tbody tr.clickable{cursor:pointer}.admin-table tbody tr.clickable:active{background:#0000000d}.admin-table tbody tr:last-child{border-bottom:none}.admin-table td{padding:14px 12px;color:var(--color-text-secondary);font-size:13px}.admin-table-loading,.admin-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;min-height:200px;background:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm)}.admin-table-loading .spinner{width:44px;height:44px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.admin-table-empty svg{color:var(--color-text-tertiary);margin-bottom:16px}.admin-table-empty p,.admin-table-loading p{color:var(--color-text-secondary);font-size:14px;text-align:center}@media(max-width:767px){.admin-table{font-size:12px;min-width:500px}.admin-table th{padding:10px 8px;font-size:11px}.admin-table td{padding:12px 8px;font-size:12px}.admin-table-container{border-radius:var(--border-radius-md)}.admin-table-container::-webkit-scrollbar{height:8px}.admin-table-container::-webkit-scrollbar-track{background:var(--color-background);border-radius:4px}.admin-table-container::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.admin-table-container::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}}@media(min-width:768px)and (max-width:1024px){.admin-table{font-size:13px}.admin-table th,.admin-table td{padding:14px 12px}}@media(min-width:1024px){.admin-table{font-size:14px;min-width:unset}.admin-table th{padding:16px;font-size:12px}.admin-table td{padding:16px;font-size:14px}.admin-table tbody tr:hover{background:var(--color-background)}.admin-table tbody tr.clickable:hover{background:rgba(var(--color-primary-rgb, 59, 130, 246),.05)}}@media(hover:none)and (pointer:coarse){.admin-table tbody tr.clickable{min-height:56px}.admin-table td{padding:16px 12px}.admin-table tbody tr:hover{background:transparent}.admin-table tbody tr.clickable:active{background:#00000014}.admin-table-container::-webkit-scrollbar{height:10px}.admin-table-container::-webkit-scrollbar-thumb{background:#0000004d}}@media(prefers-reduced-motion:reduce){.admin-table tbody tr,.admin-table-container:before,.admin-table-container:after{transition:none}.spinner{animation:none;border-color:var(--color-primary)}}@media(prefers-contrast:high){.admin-table thead{border-bottom-width:3px}.admin-table tbody tr{border-bottom-width:2px}.admin-table tbody tr.clickable:hover{outline:2px solid var(--color-primary);outline-offset:-2px}}.admin-table tbody tr.clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;position:relative}@media print{.admin-table-container{overflow:visible;box-shadow:none}.admin-table{min-width:unset;font-size:10pt}.admin-table thead{background:#fff}.admin-table tbody tr:hover{background:transparent}.admin-table-loading,.admin-table-empty{display:none}}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.status-badge-success{background:#d1fae5;color:#065f46}.status-badge-error{background:#fee2e2;color:#991b1b}.status-badge-warning{background:#fef3c7;color:#92400e}.status-badge-info{background:#dbeafe;color:#1e40af}.status-badge-neutral{background:#e5e7eb;color:#374151}@media(prefers-color-scheme:dark){.status-badge-success{background:#064e3b;color:#6ee7b7}.status-badge-error{background:#7f1d1d;color:#fca5a5}.status-badge-warning{background:#78350f;color:#fcd34d}.status-badge-info{background:#1e3a8a;color:#93c5fd}.status-badge-neutral{background:#374151;color:#d1d5db}}.event-moderation-queue{width:100%}.moderation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.moderation-header h2{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0}.tab-buttons{display:flex;gap:var(--spacing-sm);background:var(--color-background);padding:4px;border-radius:var(--border-radius-md)}.tab-button{position:relative;padding:10px 20px;border-radius:var(--border-radius-sm);font-weight:600;font-size:14px;color:var(--color-text-secondary);background:transparent;transition:all .2s ease}.tab-button:hover{background:var(--color-surface)}.tab-button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.tab-button .badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--color-error);color:#fff;border-radius:10px;font-size:11px;font-weight:700;margin-left:8px}.event-cell{display:flex;align-items:center;gap:var(--spacing-md)}.event-thumbnail{width:48px;height:48px;border-radius:var(--border-radius-sm);object-fit:cover;background:var(--color-background)}.event-title-link{font-weight:600;color:var(--color-text-primary);text-decoration:none;display:block;margin-bottom:4px}.event-title-link:hover{color:var(--color-primary);text-decoration:underline}.event-category{font-size:12px;color:var(--color-text-tertiary)}.flag-reason{font-size:13px;color:var(--color-text-secondary);margin-top:4px}.flag-reason strong{color:var(--color-error);text-transform:capitalize}.submission-type{font-size:13px;color:var(--color-text-secondary);text-transform:capitalize}.action-buttons{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.btn-approve,.btn-reject{padding:8px 16px;border-radius:var(--border-radius-sm);font-size:13px;font-weight:600;transition:all .2s ease}.btn-approve{background:#10b981;color:#fff}.btn-approve:hover:not(:disabled){background:#059669}.btn-reject{background:#ef4444;color:#fff}.btn-reject:hover:not(:disabled){background:#dc2626}.btn-approve:disabled,.btn-reject:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.modal-content{background:var(--color-surface);border-radius:var(--border-radius-lg);max-width:500px;width:100%;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h3{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0}.modal-close{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.modal-close:hover{background:var(--color-background)}.modal-body{padding:var(--spacing-lg)}.modal-body p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}.modal-body textarea{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-family:inherit;font-size:14px;resize:vertical;background:var(--color-background);color:var(--color-text-primary)}.modal-body textarea:focus{outline:none;border-color:var(--color-primary)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--color-border)}.btn-secondary,.btn-primary{padding:10px 20px;border-radius:var(--border-radius-md);font-weight:600;font-size:14px;transition:all .2s ease}.btn-secondary{background:var(--color-background);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.moderation-header{flex-direction:column;align-items:flex-start}.tab-buttons{width:100%}.tab-button{flex:1;text-align:center}.action-buttons{flex-direction:column;width:100%}.btn-approve,.btn-reject{width:100%}}.user-management{width:100%}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.management-header h2{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0}.header-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:8px 16px;min-width:300px}.search-box svg{color:var(--color-text-tertiary);flex-shrink:0}.search-box input{border:none;background:transparent;font-size:14px;color:var(--color-text-primary);width:100%}.search-box input:focus{outline:none}.search-box input::placeholder{color:var(--color-text-tertiary)}.user-cell{display:flex;align-items:center;gap:var(--spacing-md)}.user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--color-background)}.user-name{font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.user-email{font-size:13px;color:var(--color-text-tertiary)}.admin-badge{display:inline-block;padding:4px 8px;background:#3b82f6;color:#fff;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase}.btn-verify{padding:6px 12px;background:#10b981;color:#fff;border-radius:var(--border-radius-sm);font-size:13px;font-weight:600;transition:all .2s ease}.btn-verify.verified{background:#6b7280}.btn-verify:hover:not(:disabled){opacity:.9}.btn-verify:disabled{opacity:.5;cursor:not-allowed}.btn-view{padding:6px 12px;background:var(--color-primary);color:#fff;border-radius:var(--border-radius-sm);font-size:13px;font-weight:600;transition:all .2s ease}.btn-view:hover{opacity:.9}.user-details-modal{max-width:600px}.user-info-section{margin-bottom:var(--spacing-xl)}.user-info-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.user-avatar-large{width:80px;height:80px;border-radius:50%;object-fit:cover;background:var(--color-background)}.user-info-header h4{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.user-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-lg)}.info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.info-label{font-size:12px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:14px;color:var(--color-text-primary);font-weight:500}.user-bio{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.user-bio p{margin-top:var(--spacing-sm);color:var(--color-text-secondary);line-height:1.6}.user-stats-section{padding:var(--spacing-lg);background:var(--color-background);border-radius:var(--border-radius-md)}.user-stats-section h5{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--spacing-md)}.stat-card{text-align:center;padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--border-radius-sm)}.stat-value{font-size:24px;font-weight:700;color:var(--color-primary);margin-bottom:4px}.stat-label{font-size:12px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.btn-verify-modal{padding:10px 20px;background:#10b981;color:#fff;border-radius:var(--border-radius-md);font-weight:600;font-size:14px;transition:all .2s ease}.btn-verify-modal.verified{background:#6b7280}.btn-verify-modal:hover:not(:disabled){opacity:.9}.btn-verify-modal:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.management-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;flex-direction:column}.search-box{width:100%;min-width:unset}.filter-select{width:100%}.user-info-header{flex-direction:column;text-align:center}.stats-grid{grid-template-columns:repeat(2,1fr)}}.admin-card{background:var(--color-surface);border-radius:12px;padding:24px;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease;border-left:4px solid var(--color-primary)}.admin-card.clickable{cursor:pointer}.admin-card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.admin-card.clickable:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.admin-card.clickable:focus{outline:2px solid var(--color-primary);outline-offset:2px}.admin-card.clickable:focus:not(:focus-visible){outline:none}.admin-card-primary{border-left-color:#3b82f6}.admin-card-success{border-left-color:#10b981}.admin-card-warning{border-left-color:#f59e0b}.admin-card-error{border-left-color:#ef4444}.admin-card-info{border-left-color:#06b6d4}.admin-card-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.admin-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-background);border-radius:8px;color:var(--color-primary)}.admin-card-title{margin:0}.admin-card-value{margin-bottom:4px;line-height:1}.admin-card-subtitle{margin:0}@media(max-width:768px){.admin-card{padding:16px}.admin-card-value{font-size:24px!important}}.system-logs{width:100%}.system-logs h2{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-xl) 0}.stats-overview{margin-bottom:var(--spacing-xl)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-lg)}.logs-section{margin-top:var(--spacing-xl)}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.logs-header h3{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0}.log-filters{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.filter-select{padding:8px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:14px;color:var(--color-text-primary);cursor:pointer}.filter-select:focus{outline:none;border-color:var(--color-primary)}.action-cell{display:flex;align-items:center;gap:var(--spacing-md)}.action-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-icon.action-approve{background:#d1fae5;color:#065f46}.action-icon.action-reject,.action-icon.action-remove{background:#fee2e2;color:#991b1b}.action-icon.action-verify,.action-icon.action-unverify{background:#dbeafe;color:#1e40af}.action-icon.action-feature{background:#fef3c7;color:#92400e}@media(prefers-color-scheme:dark){.action-icon.action-approve{background:#064e3b;color:#6ee7b7}.action-icon.action-reject,.action-icon.action-remove{background:#7f1d1d;color:#fca5a5}.action-icon.action-verify,.action-icon.action-unverify{background:#1e3a8a;color:#93c5fd}.action-icon.action-feature{background:#78350f;color:#fcd34d}}.action-type{font-weight:600;color:var(--color-text-primary);text-transform:capitalize}.target-type{font-size:13px;color:var(--color-text-secondary);text-transform:capitalize;padding:4px 8px;background:var(--color-background);border-radius:var(--border-radius-sm)}.admin-name{font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.admin-email{font-size:13px;color:var(--color-text-tertiary)}.reason-cell{color:var(--color-text-secondary);font-size:14px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.stats-row{grid-template-columns:1fr}.logs-header{flex-direction:column;align-items:flex-start}.log-filters{width:100%;flex-direction:column}.filter-select{width:100%}}.admin-events-page{min-height:100vh;background-color:#f9fafb;padding:24px 24px 80px}.admin-events-header{margin-bottom:32px}.admin-events-header h1{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.admin-events-header .subtitle{font-size:16px;color:#6b7280;margin:0}.events-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;flex-wrap:wrap}.bulk-delete-btn{background-color:#dc2626;color:#fff;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;white-space:nowrap}.bulk-delete-btn:hover:not(:disabled){background-color:#b91c1c}.bulk-delete-btn:disabled{opacity:.6;cursor:not-allowed}.events-table .select-col{width:44px;padding-right:8px}.events-table input[type=checkbox],.event-card-select input[type=checkbox],.select-all-mobile input[type=checkbox]{accent-color:#d4af37;width:16px;height:16px;cursor:pointer}.event-card-select{display:flex;align-items:center;margin-top:2px}.filter-tabs{display:flex;gap:8px;margin-bottom:0;flex:1;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.filter-tab{padding:10px 20px;font-size:14px;font-weight:600;color:#6b7280;background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:8px}.filter-tab:hover{border-color:#3b82f6;color:#3b82f6}.filter-tab.active{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.filter-tab .count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;font-size:12px;font-weight:700;background-color:#e5e7eb;color:#374151;border-radius:12px}.filter-tab.active .count{background-color:#fff3;color:#fff}.events-table-container{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.events-table{width:100%;border-collapse:collapse}.events-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.events-table th{padding:16px;text-align:left;font-size:13px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.events-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s}.events-table tbody tr:hover{background-color:#f9fafb}.events-table tbody tr:last-child{border-bottom:none}.events-table td{padding:16px;font-size:14px;color:#374151}.events-table td.event-title,.events-table td.event-datetime{display:table-cell;margin:0;background:transparent;border-radius:0;box-shadow:none;overflow:visible}.event-title strong{color:#1f2937;font-weight:600}.event-datetime{line-height:1.5}.time-text{font-size:13px;color:#6b7280}.status-badge{display:inline-block;padding:4px 12px;font-size:12px;font-weight:600;border-radius:12px;text-transform:capitalize}.status-badge-warning{background-color:#fef3c7;color:#92400e}.status-badge-success{background-color:#d1fae5;color:#065f46}.status-badge-danger{background-color:#fee2e2;color:#991b1b}.status-badge-info{background-color:#dbeafe;color:#1e40af}.status-badge-default{background-color:#e5e7eb;color:#374151}.event-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-action{padding:6px 12px;font-size:13px;font-weight:600;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-approve{background-color:#10b981;color:#fff;border-color:#10b981}.btn-hide{background-color:#ef4444;color:#fff;border-color:#ef4444}.btn-hide:hover:not(:disabled){background-color:#dc2626}.btn-unhide{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.btn-unhide:hover:not(:disabled){background-color:#2563eb}.btn-delete{background-color:#fff;color:#dc2626;border-color:#fecaca}.btn-delete:hover:not(:disabled){background-color:#fee2e2;border-color:#dc2626}.btn-view{background-color:#fff;color:#6b7280;border-color:#e5e7eb}.btn-view:hover:not(:disabled){background-color:#f9fafb;border-color:#d1d5db}.empty-state{padding:80px 20px;text-align:center}.loading-skeleton{padding:16px}.skeleton-row{display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1.5fr 1fr 1.5fr;gap:16px;padding:16px 0;border-bottom:1px solid #e5e7eb}.skeleton-cell{height:20px;background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;border-radius:4px;animation:shimmer 1.5s infinite}.skeleton-title{height:24px}.skeleton-actions{height:32px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.events-cards{display:none;padding:16px;gap:16px}.event-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin-bottom:16px}.event-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.event-card-header h3{font-size:16px;font-weight:600;color:#1f2937;margin:0;flex:1}.event-card-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.detail-row{display:flex;justify-content:space-between;font-size:14px}.detail-row .label{font-weight:600;color:#6b7280}.detail-row span:last-child{color:#1f2937;text-align:right}.event-card-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px solid #e5e7eb}.event-card-actions .btn-action{flex:1;min-width:80px;text-align:center}.desktop-only{display:table}@media(max-width:1024px){.events-table th:nth-child(4),.events-table td:nth-child(4),.events-table th:nth-child(5),.events-table td:nth-child(5){display:none}.skeleton-row{grid-template-columns:2fr 1.5fr 1fr 1.5fr}.skeleton-cell:nth-child(3),.skeleton-cell:nth-child(4){display:none}}@media(max-width:768px){.admin-events-page{padding:16px 16px 80px}.admin-events-header h1{font-size:24px}.admin-events-header .subtitle{font-size:14px}.events-toolbar{margin-bottom:16px}.select-all-mobile{display:flex}.filter-tabs{margin-bottom:0}.filter-tab{padding:8px 16px;font-size:13px}.desktop-only{display:none!important}.mobile-only{display:flex;flex-direction:column}.events-cards{display:flex;padding:0}.loading-skeleton{display:flex;flex-direction:column;gap:16px}.skeleton-row{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid #e5e7eb;border-radius:12px}.skeleton-cell{width:100%}}@media(max-width:480px){.event-card-actions{flex-direction:column}.event-card-actions .btn-action{width:100%;min-width:auto}.filter-tab .count{min-width:20px;height:20px;font-size:11px}}@media(min-width:769px){.admin-events-page{padding-left:0;padding-right:16px;max-width:none;margin:0}.admin-events-header{margin-bottom:40px}.admin-events-header h1{font-size:32px}}.admin-event-detail{max-width:1100px;padding:20px 24px 40px}.admin-event-detail .admin-event-copy{display:block;margin-top:16px;max-height:18rem;overflow-y:auto;white-space:pre-line;color:#57534e;font-size:.875rem;line-height:1.625}.admin-event-detail h1,.admin-event-detail h2,.admin-event-detail h3,.admin-event-detail p{margin:0}.admin-event-detail h1{color:#2e1a16;font-size:1.5rem;line-height:1.2}.admin-event-detail .admin-event-nav{padding:4px 12px;font-size:14px;border:1px solid #e7e5e4;border-radius:6px;color:#57534e;background:transparent;transition:background-color .15s ease}.admin-event-detail .admin-event-nav:hover:not(:disabled){background:#fcfbf8}.admin-event-detail .admin-event-nav:disabled{opacity:.5;cursor:not-allowed}.admin-event-detail .admin-action{border:1px solid #e7e5e4;background:#fff;color:#2e1a16;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500}.admin-event-detail .admin-action-danger{border-color:#e7c8c4;color:#9b2c2c}.admin-event-detail .admin-action-approve{border-color:#c5d7bc;background:#f4f8f2;color:#3f6212}.admin-event-detail .admin-action-hide{border-color:#e7c8a0;background:#fbf6ee;color:#7c4a1e}@media(min-width:640px){.admin-event-detail .admin-event-toolbar{flex-direction:row;align-items:flex-start;justify-content:space-between}.admin-event-detail .admin-event-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.admin-event-detail .admin-event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-event-detail .admin-event-main{grid-column:span 2}}.admin-event-detail .font-serif{font-family:Playfair Display,Georgia,serif}.lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background-color:#2e1a16e0;cursor:zoom-out}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;cursor:default}.lightbox-content img{max-width:100%;max-height:90vh;border-radius:8px}.lightbox-close{position:absolute;top:-36px;right:0;color:#fcfbf8;background:transparent;font-size:12px}.admin-users-page{min-height:100vh;background-color:#f9fafb;padding:24px 24px 80px}.admin-users-header{margin-bottom:32px}.admin-users-header h1{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.admin-users-header .subtitle{font-size:16px;color:#6b7280;margin:0}.users-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.users-table-container{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.users-table th{padding:16px;text-align:left;font-size:13px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.users-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s}.users-table tbody tr:hover{background-color:#f9fafb}.users-table tbody tr:last-child{border-bottom:none}.users-table td{padding:16px;font-size:14px;color:#374151}.user-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:#e5e7eb}.user-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:14px;font-weight:600}.user-name{display:flex;align-items:center;gap:8px;font-weight:600;color:#1f2937}.self-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;background-color:#dbeafe;color:#1e40af;border-radius:6px}.user-email{color:#6b7280;font-size:14px}.admin-badge{display:inline-block;padding:4px 12px;font-size:12px;font-weight:600;border-radius:12px;text-transform:capitalize}.admin-badge.admin{background-color:#d1fae5;color:#065f46}.admin-badge.user{background-color:#e5e7eb;color:#374151}.user-created{color:#6b7280;font-size:14px}.user-actions{display:flex;gap:8px}.btn-grant{background-color:#10b981;color:#fff}.btn-grant:hover:not(:disabled){background-color:#059669}.btn-revoke{background-color:#ef4444;color:#fff}.btn-revoke:hover:not(:disabled){background-color:#dc2626}.users-cards{display:flex;flex-direction:column;gap:16px}.user-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:16px}.user-card-header{display:flex;align-items:center;gap:12px}.user-card-header .user-avatar{flex-shrink:0}.user-card-header .user-info{flex:1;min-width:0}.user-card-header .user-name{font-size:16px;font-weight:600;color:#1f2937;margin-bottom:4px}.user-card-header .user-email{font-size:14px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-meta{display:flex;gap:8px;font-size:13px}.user-card-actions{display:flex;gap:8px}.user-card-actions .btn-action{flex:1;justify-content:center;display:flex}.users-skeleton{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.skeleton-row{display:grid;grid-template-columns:60px 1fr 1fr 120px 120px 150px;gap:16px;padding:16px;border-bottom:1px solid #e5e7eb;align-items:center}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-name,.skeleton-email{height:20px}.skeleton-badge{height:24px;width:80px}.skeleton-date{height:20px}@media(max-width:768px){.admin-users-page{padding:16px 16px 80px}.admin-users-header h1{font-size:24px}.users-stats{grid-template-columns:1fr}.desktop-only{display:none}.mobile-only{display:flex}.skeleton-row{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.skeleton-cell{width:100%}.skeleton-avatar{width:40px}.skeleton-badge{width:80px}.skeleton-actions{width:100%}}@media(min-width:769px){.admin-users-page{padding-left:100px;padding-right:40px;max-width:1400px;margin:0 auto}}@media(max-width:480px){.users-stats{gap:12px}.stat-card{padding:16px}.stat-value{font-size:28px}.user-card{padding:16px}}.admin-organizers-page{min-height:100vh;background-color:#f9fafb;padding:24px 24px 80px}.admin-organizers-header{margin-bottom:32px}.admin-organizers-header h1{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.admin-organizers-header .subtitle{font-size:16px;color:#6b7280;margin:0}.organizers-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.organizers-table-container{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.organizers-table{width:100%;border-collapse:collapse}.organizers-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.organizers-table th{padding:16px;text-align:left;font-size:13px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.organizers-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s}.organizers-table tbody tr:hover:not(.deleted-row){background-color:#f9fafb}.organizers-table tbody tr:last-child{border-bottom:none}.organizers-table tbody tr.deleted-row{background-color:#fef2f2;opacity:.7}.organizers-table td{padding:16px;font-size:14px;color:#374151}.organizer-name{font-weight:600;color:#1f2937}.organizer-email,.organizer-phone,.organizer-created{color:#6b7280;font-size:14px}.organizer-actions{display:flex;gap:8px}.organizers-cards{display:flex;flex-direction:column;gap:16px}.organizer-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:12px}.organizer-card.deleted-card{background-color:#fef2f2;opacity:.85}.organizer-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.organizer-card-header .organizer-name{font-size:18px;font-weight:600;color:#1f2937;flex:1}.organizer-card-row{display:flex;flex-direction:column;gap:4px;font-size:14px}.organizer-card-meta{display:flex;gap:8px;font-size:13px;padding-top:8px;border-top:1px solid #e5e7eb}.organizer-card-actions{display:flex;gap:8px;padding-top:8px}.organizer-card-actions .btn-action{flex:1;justify-content:center;display:flex}.organizers-skeleton{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.skeleton-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 120px 150px;gap:16px;padding:16px;border-bottom:1px solid #e5e7eb;align-items:center}.skeleton-name,.skeleton-website,.skeleton-email,.skeleton-phone,.skeleton-date{height:20px}.form-textarea{resize:vertical;min-height:100px}@media(max-width:768px){.admin-organizers-page{padding:16px 16px 80px}.admin-organizers-header h1{font-size:24px}.organizers-stats{grid-template-columns:1fr}.desktop-only{display:none}.mobile-only{display:flex}.skeleton-row{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.skeleton-cell,.skeleton-actions{width:100%}.form-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%}}@media(min-width:769px){.admin-organizers-page{padding-left:100px;padding-right:40px;max-width:1600px;margin:0 auto}}@media(max-width:480px){.organizers-stats{gap:12px}.stat-card{padding:16px}.stat-value{font-size:28px}.organizer-card{padding:16px}}.admin-venues-page{min-height:100vh;background-color:#f9fafb;padding:24px 24px 80px}.admin-venues-header{margin-bottom:32px}.admin-venues-header h1{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.admin-venues-header .subtitle{font-size:16px;color:#6b7280;margin:0}.venues-stats{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}.stat-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:8px}.stat-label{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:32px;font-weight:700;color:#1f2937}.venues-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.btn-merge-selected{background-color:#3b82f6;color:#fff;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;white-space:nowrap;border:none;cursor:pointer}.btn-merge-selected:hover:not(:disabled){background-color:#2563eb}.btn-merge-selected:disabled{opacity:.5;cursor:not-allowed}.select-all-mobile{display:none;align-items:center;gap:8px;font-size:13px;color:#57534e}.merge-modal-copy{margin:0;font-size:14px;line-height:1.5;color:#6b7280}.venues-table-container{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.venues-table{width:100%;border-collapse:collapse}.venues-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.venues-table th{padding:16px;text-align:left;font-size:13px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.venues-table th.select-col,.venues-table td.select-col{width:1%;white-space:nowrap;padding:.5rem .75rem;vertical-align:middle}.venues-table input[type=checkbox],.venue-card-select input[type=checkbox],.select-all-mobile input[type=checkbox]{accent-color:#3b82f6;width:1rem;height:1rem;min-width:1rem;min-height:1rem;margin:0;padding:0;border-radius:.25rem;cursor:pointer;flex-shrink:0}.venues-table tbody tr.selected-row:not(.deleted-row){background-color:#eff6ff}.venues-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s}.venues-table tbody tr:hover:not(.deleted-row){background-color:#f9fafb}.venues-table tbody tr:last-child{border-bottom:none}.venues-table tbody tr.deleted-row{background-color:#fef2f2;opacity:.7}.venues-table td{padding:16px;font-size:14px;color:#374151}.venue-name{font-weight:600;color:#1f2937}.venue-address,.venue-city{color:#6b7280;font-size:14px}.website-link{color:#3b82f6;text-decoration:none;transition:color .2s;word-break:break-all}.website-link:hover{color:#2563eb;text-decoration:underline}.no-data{color:#9ca3af;font-style:italic}.venue-phone,.venue-created{color:#6b7280;font-size:14px}.venue-actions{display:flex;gap:8px}.venues-cards{display:flex;flex-direction:column;gap:16px}.venue-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:12px}.venue-card.deleted-card{background-color:#fef2f2;opacity:.85}.venue-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.venue-card-select{display:inline-flex;align-items:center}.venue-card.selected-card:not(.deleted-card){box-shadow:0 0 0 2px #93c5fd}.venue-card-header .venue-name{font-size:18px;font-weight:600;color:#1f2937;flex:1}.venue-card-row{display:flex;flex-direction:column;gap:4px;font-size:14px}.row-label{color:#6b7280;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.row-value{color:#374151}.venue-card-meta{display:flex;gap:8px;font-size:13px;padding-top:8px;border-top:1px solid #e5e7eb}.meta-label{color:#6b7280;font-weight:600}.meta-value{color:#374151}.venue-card-actions{display:flex;gap:8px;padding-top:8px}.venue-card-actions .btn-action{flex:1;justify-content:center;display:flex}.empty-state p{font-size:14px;color:#6b7280;margin:0}.venues-skeleton{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.skeleton-row{display:grid;grid-template-columns:24px 1fr 1.5fr 1fr 1fr 1fr 120px 150px;gap:16px;padding:16px;border-bottom:1px solid #e5e7eb;align-items:center}.skeleton-row:last-child{border-bottom:none}.skeleton-cell{height:20px;background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}.skeleton-select{height:16px;width:16px}.skeleton-name,.skeleton-address,.skeleton-city,.skeleton-website,.skeleton-phone,.skeleton-date{height:20px}.skeleton-actions{height:32px;width:120px}.edit-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:600px){.form-row:has(.form-group:nth-child(2)){grid-template-columns:1fr 1fr}}.form-input{padding:10px 12px;font-size:14px;border:2px solid #e5e7eb;border-radius:8px;transition:border-color .2s;font-family:inherit}.form-input:focus{outline:none;border-color:#3b82f6}.desktop-only{display:block}.mobile-only{display:none}@media(max-width:768px){.admin-venues-page{padding:16px 16px 80px}.admin-venues-header h1{font-size:24px}.venues-stats{grid-template-columns:1fr}.desktop-only{display:none}.mobile-only,.select-all-mobile{display:flex}.skeleton-row{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.skeleton-cell,.skeleton-actions{width:100%}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%}}@media(min-width:769px){.admin-venues-page{padding-left:100px;padding-right:40px;max-width:1600px;margin:0 auto}}@media(max-width:480px){.venues-stats{gap:12px}.stat-card{padding:16px}.stat-value{font-size:28px}.venue-card{padding:16px}}.admin-categories-page{min-height:100vh;background-color:#f9fafb;padding:24px 24px 80px}.admin-categories-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:16px}.admin-categories-header h1{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.admin-categories-header .subtitle{font-size:16px;color:#6b7280;margin:0}.categories-list{display:flex;flex-direction:column;gap:16px}.category-item{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:all .2s}.category-item:hover{box-shadow:0 4px 6px -1px #0000001a}.category-item.deleted-category{background-color:#fef2f2;opacity:.85}.category-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;gap:16px}.category-info{display:flex;gap:12px;flex:1;min-width:0}.expand-button{background:none;border:none;cursor:pointer;padding:4px;color:#6b7280;transition:all .2s;flex-shrink:0;margin-top:2px}.expand-button:hover{color:#374151}.expand-button svg{transition:transform .2s;transform:rotate(0)}.expand-button svg.expanded{transform:rotate(90deg)}.category-details{flex:1;min-width:0}.category-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.category-name{font-size:20px;font-weight:600;color:#1f2937;margin:0}.subcategory-count{display:inline-block;padding:4px 12px;font-size:12px;font-weight:600;background-color:#eff6ff;color:#1e40af;border-radius:12px}.category-description{font-size:14px;color:#6b7280;margin:0 0 12px;line-height:1.5}.category-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.category-actions{display:flex;gap:8px;flex-shrink:0}.btn-action{padding:8px 16px;font-size:13px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s;border:none;white-space:nowrap;display:flex;align-items:center;gap:6px}.btn-add{background-color:#10b981;color:#fff}.btn-add:hover:not(:disabled){background-color:#059669}.subcategories-list{border-top:2px solid #e5e7eb;padding:16px 20px 20px 52px;background-color:#f9fafb}.subcategory-item{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;background-color:#fff;border-radius:8px;margin-bottom:12px;transition:all .2s}.subcategory-item:last-child{margin-bottom:0}.subcategory-item:hover:not(.deleted-subcategory){box-shadow:0 2px 4px #0000000d}.subcategory-item.deleted-subcategory{background-color:#fef2f2;opacity:.8}.subcategory-info{flex:1;min-width:0}.subcategory-name{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 4px;display:flex;align-items:center;gap:8px}.subcategory-description{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.subcategory-actions{display:flex;gap:8px;flex-shrink:0}.deleted-section-header{font-size:13px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:20px 0 12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.categories-skeleton{display:flex;flex-direction:column;gap:16px}.skeleton-category{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.skeleton-header{height:28px;background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px;margin-bottom:12px;width:40%}.skeleton-description{height:20px;background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px;width:70%}@media(max-width:768px){.admin-categories-page{padding:16px 16px 80px}.admin-categories-header{flex-direction:column;align-items:stretch}.admin-categories-header h1{font-size:24px}.btn-create{width:100%;justify-content:center}.category-header{flex-direction:column}.category-actions{width:100%;justify-content:flex-end}.btn-action .desktop-only{display:none}.subcategories-list{padding-left:20px}.subcategory-item{flex-direction:column}.subcategory-actions{width:100%;justify-content:flex-end}.form-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%}.skeleton-header{width:60%}.skeleton-description{width:90%}}@media(min-width:769px){.admin-categories-page{padding-left:100px;padding-right:40px;max-width:1400px;margin:0 auto}}@media(max-width:480px){.category-title-row{flex-direction:column;align-items:flex-start}.category-actions{gap:6px}.btn-action{padding:8px 12px;font-size:12px}.subcategory-actions{gap:6px}}.desktop-only{display:inline}@media(max-width:768px){.desktop-only{display:none}}.admin-context-tags-page{min-height:100vh;background-color:#f9fafb;padding:24px 24px 80px}.admin-context-tags-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:16px}.admin-context-tags-header h1{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.admin-context-tags-header .subtitle{font-size:16px;color:#6b7280;margin:0}.btn-create{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-create:hover{background-color:#2563eb}.btn-create svg{flex-shrink:0}.tags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:32px}.tag-card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;transition:all .2s;display:flex;flex-direction:column;gap:16px}.tag-card:hover:not(.deleted-tag){box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.tag-card.deleted-tag{background-color:#fef2f2;opacity:.85}.tag-header{display:flex;gap:16px;align-items:flex-start}.tag-icon-preview{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;box-shadow:0 2px 4px #0000001a}.tag-info{flex:1;min-width:0}.tag-name{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tag-description{font-size:14px;color:#6b7280;margin:0 0 12px;line-height:1.5}.tag-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.meta-item{color:#6b7280}.tag-actions{display:flex;gap:8px;justify-content:flex-end}.btn-action{padding:8px 16px;font-size:13px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s;border:none;white-space:nowrap}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-edit{background-color:#3b82f6;color:#fff}.btn-edit:hover:not(:disabled){background-color:#2563eb}.btn-delete{background-color:#ef4444;color:#fff}.btn-delete:hover:not(:disabled){background-color:#dc2626}.deleted-badge{display:inline-block;padding:4px 12px;font-size:12px;font-weight:600;background-color:#fee2e2;color:#991b1b;border-radius:12px;text-transform:uppercase}.deleted-section{margin-top:48px}.deleted-section-header{font-size:16px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 20px;padding-bottom:8px;border-bottom:2px solid #e5e7eb}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.empty-state svg{color:#d1d5db;margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 8px}.empty-state p{font-size:14px;color:#6b7280;margin:0 0 24px}.tags-skeleton{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.skeleton-tag{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px}.skeleton-icon{width:56px;height:56px;border-radius:12px;background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;flex-shrink:0}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:12px}.skeleton-name{height:20px;background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px;width:60%}.skeleton-description{height:16px;background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px;width:90%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.form-container{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-label{font-size:14px;font-weight:600;color:#374151}.form-label.required:after{content:" *";color:#ef4444}.form-input,.form-textarea{padding:10px 12px;font-size:14px;border:2px solid #e5e7eb;border-radius:8px;transition:border-color .2s;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:#3b82f6}.form-textarea{resize:vertical;min-height:80px}.icon-selector{position:relative}.icon-display{display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .2s;width:100%}.icon-display:hover{border-color:#3b82f6}.icon-preview{font-size:24px;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.icon-label{font-size:14px;color:#6b7280}.icon-picker{position:absolute;top:100%;left:0;right:0;margin-top:8px;background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:12px;box-shadow:0 10px 15px -3px #0000001a;z-index:10;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;max-height:240px;overflow-y:auto}.icon-option{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:20px;border:2px solid #e5e7eb;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .2s}.icon-option:hover{border-color:#3b82f6;background-color:#eff6ff}.icon-option.selected{border-color:#3b82f6;background-color:#dbeafe}.color-selector{position:relative;display:flex;flex-direction:column;gap:8px}.color-display{display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .2s;width:100%}.color-display:hover{border-color:#3b82f6}.color-preview{width:32px;height:32px;border-radius:6px;border:2px solid #e5e7eb;flex-shrink:0}.color-label{font-size:14px;color:#6b7280;font-family:monospace}.color-picker{position:absolute;top:100%;left:0;right:0;margin-top:8px;background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:12px;box-shadow:0 10px 15px -3px #0000001a;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.color-option{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:3px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s}.color-option:hover{border-color:#1f2937;transform:scale(1.1)}.color-option.selected{border-color:#1f2937}.color-input{padding:8px 12px;font-size:13px;border:2px solid #e5e7eb;border-radius:8px;font-family:monospace;transition:border-color .2s}.color-input:focus{outline:none;border-color:#3b82f6}.tag-preview-section{padding:16px;background-color:#f9fafb;border-radius:8px;display:flex;flex-direction:column;gap:12px}.tag-preview{display:flex;align-items:center;gap:8px}.preview-tag{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;color:#fff;border-radius:20px;box-shadow:0 2px 4px #0000001a}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:12px;border-top:1px solid #e5e7eb}.btn-cancel,.btn-save{padding:10px 20px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s;border:none}.btn-cancel{background-color:#f3f4f6;color:#374151}.btn-cancel:hover:not(:disabled){background-color:#e5e7eb}.btn-save{background-color:#3b82f6;color:#fff}.btn-save:hover:not(:disabled){background-color:#2563eb}.btn-cancel:disabled,.btn-save:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.admin-context-tags-page{padding:16px 16px 80px}.admin-context-tags-header{flex-direction:column;align-items:stretch}.admin-context-tags-header h1{font-size:24px}.btn-create{width:100%;justify-content:center}.tags-grid,.form-row{grid-template-columns:1fr}.icon-picker{grid-template-columns:repeat(5,1fr)}.color-picker{grid-template-columns:repeat(4,1fr)}.form-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%}.tag-actions{justify-content:stretch}.tag-actions .btn-action{flex:1}}@media(min-width:769px){.admin-context-tags-page{padding-left:100px;padding-right:40px;max-width:1400px;margin:0 auto}}@media(max-width:480px){.tag-header{flex-direction:column;align-items:center;text-align:center}.tag-icon-preview{width:72px;height:72px;font-size:36px}.icon-picker{grid-template-columns:repeat(4,1fr)}.color-picker{grid-template-columns:repeat(3,1fr)}}.admin-analytics-page{min-height:100vh;background-color:#f9fafb;padding:24px 24px 80px}.analytics-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:16px;flex-wrap:wrap}.analytics-header h1{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.analytics-header .subtitle{font-size:16px;color:#6b7280;margin:0}.header-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.time-window-selector{padding:10px 16px;font-size:14px;font-weight:600;border:2px solid #e5e7eb;border-radius:8px;background-color:#fff;color:#374151;cursor:pointer;transition:all .2s}.time-window-selector:hover:not(:disabled){border-color:#3b82f6}.time-window-selector:disabled{opacity:.5;cursor:not-allowed}.last-updated{font-size:13px;color:#6b7280;white-space:nowrap}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-state p,.error-state p{font-size:16px;color:#6b7280;margin:0}.btn-retry{margin-top:16px;padding:10px 20px;font-size:14px;font-weight:600;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.btn-retry:hover{background-color:#2563eb}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.summary-card{background-color:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.summary-label{font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.summary-value{font-size:36px;font-weight:700;color:#1f2937;margin-bottom:4px}.summary-sublabel{font-size:13px;color:#9ca3af}.chart-card{background-color:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.chart-title{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 24px}.empty-chart{display:flex;align-items:center;justify-content:center;padding:60px 20px;font-size:14px;color:#9ca3af;background-color:#f9fafb;border-radius:8px;border:2px dashed #e5e7eb}.line-chart-container{position:relative;width:100%;overflow-x:auto}.line-chart{width:100%;height:auto;min-width:600px}.chart-tooltip{position:absolute;background-color:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;pointer-events:none;transform:translate(-50%);z-index:10}.tooltip-date{font-weight:600;margin-bottom:4px}.tooltip-value{font-size:16px;font-weight:700}.donut-chart-container{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap}.donut-chart{width:300px;height:300px;flex-shrink:0}.donut-legend{display:flex;flex-direction:column;gap:12px;min-width:200px}.legend-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:6px;cursor:pointer;transition:background-color .2s}.legend-item:hover{background-color:#f9fafb}.legend-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.legend-label{display:flex;flex-direction:column;gap:2px;flex:1}.legend-status{font-size:14px;font-weight:600;color:#1f2937;text-transform:capitalize}.legend-count{font-size:13px;color:#6b7280}.horizontal-bar-chart{display:flex;flex-direction:column;gap:16px}.bar-item{display:flex;align-items:center;gap:16px}.bar-label{font-size:14px;font-weight:600;color:#374151;min-width:150px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-container{flex:1;height:32px;background-color:#f3f4f6;border-radius:6px;overflow:hidden;position:relative}.bar-fill{height:100%;display:flex;align-items:center;justify-content:flex-end;padding-right:12px;border-radius:6px;transition:all .3s ease;position:relative}.bar-value{font-size:13px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}@media(max-width:768px){.admin-analytics-page{padding:16px 16px 80px}.analytics-header{flex-direction:column;align-items:stretch}.analytics-header h1{font-size:24px}.header-controls{justify-content:space-between}.time-window-selector{flex:1}.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-value{font-size:28px}.chart-card{padding:16px}.donut-chart-container{flex-direction:column;gap:24px}.donut-chart{width:250px;height:250px}.bar-label{min-width:100px;font-size:13px}.bar-container{height:28px}.bar-value{font-size:12px}}@media(min-width:769px){.admin-analytics-page{padding-left:100px;padding-right:40px;max-width:1400px;margin:0 auto}}@media(max-width:480px){.summary-grid{grid-template-columns:1fr}.summary-value{font-size:32px}.line-chart{min-width:400px}.donut-chart{width:200px;height:200px}.bar-label{min-width:80px;font-size:12px}}.bar-fill{animation:expandBar .6s ease-out}@keyframes expandBar{0%{width:0}}@media print{.admin-analytics-page{background-color:#fff;padding:20px}.header-controls,.time-window-selector,.last-updated{display:none}.chart-card{page-break-inside:avoid;box-shadow:none;border:1px solid #e5e7eb}}.audit-logs-page{padding:2rem;max-width:1400px;margin:0 auto}.audit-logs-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.audit-logs-header h1{font-size:2rem;font-weight:700;color:var(--color-text-primary, #1a1a1a);margin:0 0 .5rem}.audit-logs-header .subtitle{color:var(--color-text-secondary, #666);font-size:.95rem;margin:0}.audit-logs-header .btn{display:flex;align-items:center;gap:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-primary{background:#3b82f61a;color:#3b82f6}.stat-icon-success{background:#10b9811a;color:#10b981}.stat-icon-info{background:#6366f11a;color:#6366f1}.stat-icon-warning{background:#f59e0b1a;color:#f59e0b}.stat-value{font-size:1.75rem;font-weight:700;color:var(--color-text-primary, #1a1a1a);line-height:1.2}.stat-label{font-size:.875rem;color:var(--color-text-secondary, #666);margin-top:.25rem}.filters-section{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;gap:1.5rem;align-items:flex-end;flex-wrap:wrap}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;font-size:.875rem;font-weight:600;color:var(--color-text-primary, #1a1a1a);margin-bottom:.5rem}.filter-select{width:100%;padding:.625rem 1rem;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--color-surface, #fff);color:var(--color-text-primary, #1a1a1a);font-size:.95rem;cursor:pointer;transition:border-color .2s}.filter-select:hover{border-color:var(--color-primary, #3b82f6)}.filter-select:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.clear-filters{white-space:nowrap}.loading-state,.empty-state{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:4rem 2rem;text-align:center;color:var(--color-text-secondary, #666)}.loading-state .spinner{width:48px;height:48px;border:4px solid var(--color-border, #e5e7eb);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.empty-state svg{color:var(--color-text-tertiary, #999);margin-bottom:1rem}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--color-text-primary, #1a1a1a);margin:0 0 .5rem}.audit-table-container{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;overflow:hidden;margin-bottom:2rem}.audit-table{width:100%;border-collapse:collapse}.audit-table thead{background:var(--color-background, #f9fafb);border-bottom:1px solid var(--color-border, #e5e7eb)}.audit-table th{padding:1rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--color-text-secondary, #666);text-transform:uppercase;letter-spacing:.05em}.audit-table tbody .audit-row{border-bottom:1px solid var(--color-border, #e5e7eb);transition:background-color .2s}.audit-table tbody .audit-row:hover{background:var(--color-background, #f9fafb)}.audit-table td{padding:1rem;font-size:.95rem;color:var(--color-text-primary, #1a1a1a)}.timestamp{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:.875rem;color:var(--color-text-secondary, #666)}.action-badge{display:inline-block;padding:.375rem .75rem;background:#3b82f61a;color:#3b82f6;border-radius:6px;font-size:.875rem;font-weight:500}.entity-badge{display:inline-block;padding:.375rem .75rem;background:#6366f11a;color:#6366f1;border-radius:6px;font-size:.875rem;font-weight:500}.entity-id code{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:.875rem;color:var(--color-text-secondary, #666);background:var(--color-background, #f9fafb);padding:.25rem .5rem;border-radius:4px}.user-info{max-width:250px}.user-name{font-weight:500;color:var(--color-text-primary, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:.875rem;color:var(--color-text-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expand-button{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--color-text-secondary, #666);transition:color .2s;display:flex;align-items:center;justify-content:center}.expand-button:hover{color:var(--color-primary, #3b82f6)}.metadata-row{background:var(--color-background, #f9fafb);border-bottom:1px solid var(--color-border, #e5e7eb)}.metadata-content{padding:1rem}.metadata-content strong{display:block;margin-bottom:.5rem;color:var(--color-text-primary, #1a1a1a);font-size:.875rem}.metadata-content pre{background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:6px;padding:1rem;overflow-x:auto;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;font-size:.875rem;line-height:1.6;color:var(--color-text-primary, #1a1a1a);margin:0}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;padding:1.5rem;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px}.page-info{font-size:.95rem;color:var(--color-text-secondary, #666);font-weight:500}.btn{padding:.625rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent;display:inline-flex;align-items:center;gap:.5rem}.btn-secondary{background:var(--color-surface, #fff);border-color:var(--color-border, #e5e7eb);color:var(--color-text-primary, #1a1a1a)}.btn-secondary:hover:not(:disabled){background:var(--color-background, #f9fafb);border-color:var(--color-primary, #3b82f6)}.btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.audit-logs-page{padding:1rem}.audit-logs-header{flex-direction:column;gap:1rem}.stats-grid{grid-template-columns:1fr}.filters-section{flex-direction:column;align-items:stretch}.filter-group{min-width:100%}.audit-table-container{overflow-x:auto}.audit-table{min-width:900px}.pagination{flex-direction:column;gap:1rem}}.geocode-page{min-height:100vh;background-color:#f9fafb;padding:24px}.header-content h1{font-size:32px;font-weight:700;color:#1f2937;margin-bottom:8px}.subtitle{font-size:16px;color:#6b7280;margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.spinner-large{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.geocode-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;display:flex;align-items:center;gap:16px;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.total{background-color:#dbeafe;color:#1e40af}.stat-icon.missing{background-color:#fef3c7;color:#92400e}.stat-icon.success{background-color:#d1fae5;color:#065f46}.stat-icon.failed{background-color:#fee2e2;color:#991b1b}.stat-content{flex:1}.stat-label{font-size:14px;color:#6b7280;margin-bottom:4px}.stat-value{font-size:28px;font-weight:700;color:#1f2937}.action-section{background:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a;text-align:center;margin-bottom:32px}.start-button{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background-color:#3b82f6;color:#fff;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,transform .1s}.start-button:hover{background-color:#2563eb;transform:translateY(-1px)}.start-button:active{transform:translateY(0)}.action-hint{margin-top:16px;font-size:14px;color:#6b7280}.empty-state{background:#fff;border-radius:12px;padding:64px 32px;box-shadow:0 1px 3px #0000001a;text-align:center}.empty-icon{margin-bottom:24px;color:#10b981}.empty-state h3{font-size:24px;font-weight:600;color:#1f2937;margin-bottom:8px}.empty-state p{font-size:16px;color:#6b7280;margin:0}.progress-section{background:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a;margin-bottom:32px}.progress-info{margin-bottom:24px}.progress-info h3{font-size:20px;font-weight:600;color:#1f2937;margin-bottom:8px}.progress-info p{font-size:14px;color:#6b7280;margin:0;font-style:italic}.progress-bar-container{width:100%;height:12px;background-color:#e5e7eb;border-radius:6px;overflow:hidden;margin-bottom:12px}.progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:6px;transition:width .3s ease}.progress-text{text-align:center;font-size:14px;font-weight:600;color:#3b82f6}.results-section{background:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.results-header h2{font-size:24px;font-weight:600;color:#1f2937;margin:0}.retry-button{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background-color:#f59e0b;color:#fff;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s}.retry-button:hover{background-color:#d97706}.results-group{margin-bottom:32px}.results-group:last-child{margin-bottom:0}.results-group-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.success-group .results-group-title{color:#059669}.failed-group .results-group-title{color:#dc2626}.results-list{display:flex;flex-direction:column;gap:12px}.result-item{padding:16px;border-radius:8px;border:1px solid;transition:transform .2s}.result-item:hover{transform:translate(4px)}.result-item.success{background-color:#f0fdf4;border-color:#bbf7d0}.result-item.failed{background-color:#fef2f2;border-color:#fecaca}.result-title{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:4px}.result-coords{font-size:13px;color:#059669;font-family:Courier New,monospace}.result-error{font-size:13px;color:#dc2626}.dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.dialog{background:#fff;border-radius:16px;max-width:500px;width:100%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:dialogSlideIn .2s ease-out}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}.dialog-header h3{font-size:20px;font-weight:600;color:#1f2937;margin:0}.dialog-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s,color .2s}.dialog-close:hover{background-color:#f3f4f6;color:#1f2937}.dialog-body{padding:24px}.dialog-body p{font-size:15px;color:#4b5563;line-height:1.6;margin-bottom:16px}.dialog-list{margin:16px 0;padding-left:24px}.dialog-list li{font-size:14px;color:#6b7280;margin-bottom:8px;line-height:1.5}.dialog-warning{background-color:#fef3c7;border-left:4px solid #f59e0b;padding:12px 16px;border-radius:6px;font-size:14px;color:#92400e;margin-bottom:0}.dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb}.dialog-button{padding:10px 20px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s,transform .1s}.dialog-button.cancel{background-color:#f3f4f6;color:#4b5563}.dialog-button.cancel:hover{background-color:#e5e7eb}.dialog-button.confirm{background-color:#3b82f6;color:#fff}.dialog-button.confirm:hover{background-color:#2563eb;transform:translateY(-1px)}.dialog-button:active{transform:translateY(0)}@media(max-width:768px){.geocode-page{padding:16px}.page-header{margin-bottom:24px}.header-content h1{font-size:24px}.geocode-stats{grid-template-columns:1fr;gap:16px}.stat-card{padding:20px}.stat-value{font-size:24px}.action-section,.progress-section,.results-section{padding:24px}.results-header{flex-direction:column;align-items:flex-start;gap:16px}.retry-button{width:100%;justify-content:center}.dialog{margin:16px}.dialog-footer{flex-direction:column}.dialog-button{width:100%}}.moderation-container{max-width:1400px;margin:0 auto;padding:2rem}.moderation-header{margin-bottom:2rem;border-bottom:2px solid #e5e7eb;padding-bottom:1rem}.moderation-header h1{font-size:2rem;font-weight:700;color:#111827;margin:0 0 .5rem}.moderation-header .subtitle{color:#6b7280;font-size:1rem;margin:0}.filters-section{display:flex;gap:1rem;margin-bottom:2rem;padding:1rem;background:#f9fafb;border-radius:8px;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.filter-group label{font-size:.875rem;font-weight:600;color:#374151}.filter-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background-color:#fff;cursor:pointer;transition:border-color .2s}.filter-select:hover{border-color:#9ca3af}.filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.refresh-btn{padding:.5rem 1.5rem;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.loading-state,.empty-state{text-align:center;padding:4rem 2rem;color:#6b7280}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.media-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:box-shadow .2s}.media-card:hover{box-shadow:0 4px 12px #0000001a}.media-image-container{position:relative;width:100%;height:250px;background-color:#f3f4f6}.media-image{width:100%;height:100%;object-fit:cover}.media-image-container .status-badge{position:absolute;top:.75rem;right:.75rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;border-radius:9999px;letter-spacing:.05em}.status-badge-pending{background-color:#fef3c7;color:#92400e}.status-badge-approved{background-color:#d1fae5;color:#065f46}.status-badge-rejected{background-color:#fee2e2;color:#991b1b}.media-details{padding:1.25rem}.entity-name{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .25rem}.entity-type{font-size:.875rem;color:#6b7280;margin:0 0 1rem}.meta-info{margin-bottom:1rem;padding:1rem;background-color:#f9fafb;border-radius:6px}.meta-info p{font-size:.875rem;color:#374151;margin:.5rem 0}.meta-info strong{font-weight:600;color:#111827}.reason-text{padding:.75rem;background-color:#fef3c7;border-left:3px solid #f59e0b;border-radius:4px;margin-top:.75rem}.action-buttons{display:flex;gap:.75rem;margin-top:1rem}.action-buttons button{flex:1;padding:.625rem 1rem;border:none;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-approve{background-color:#10b981;color:#fff}.btn-approve:hover:not(:disabled){background-color:#059669}.btn-reject{background-color:#ef4444;color:#fff}.btn-reject:hover:not(:disabled){background-color:#dc2626}.action-buttons button:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-content h2{margin:0 0 1rem;font-size:1.5rem;color:#111827}.modal-content p{margin:0 0 1rem;color:#6b7280}.rejection-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.875rem;resize:vertical;margin-bottom:1.5rem}.rejection-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-cancel{padding:.625rem 1.5rem;background-color:#f3f4f6;color:#374151;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-cancel:hover{background-color:#e5e7eb}@media(max-width:768px){.moderation-container{padding:1rem}.media-grid{grid-template-columns:1fr}.filters-section{flex-direction:column;align-items:stretch}.filter-group,.refresh-btn{width:100%}}.bulk-upload-page{min-height:100vh;background:var(--color-background);padding:var(--spacing-lg) var(--spacing-md);padding-bottom:calc(var(--spacing-xl) + 80px)}.bulk-upload-page .container{max-width:1200px;margin:0 auto}.bulk-upload-page .page-header{display:flex;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.bulk-upload-page .page-header h1{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0}.bulk-upload-page .page-subtitle{color:var(--color-text-secondary);font-size:16px;margin-top:var(--spacing-xs)}.bulk-upload-page .back-button{width:40px;height:40px;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);flex-shrink:0}.bulk-upload-page .back-button:active{transform:scale(.95)}.upload-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.section-header h2,.section-header h3{margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary)}.section-header h3{font-size:18px}.info-box{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md);margin-top:var(--spacing-md)}.info-box h3{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.info-box h3:not(:first-child){margin-top:var(--spacing-md)}.info-box ul{list-style:none;padding:0;margin:0}.info-box li{padding:var(--spacing-xs) 0;color:var(--color-text-secondary)}.info-box p{color:var(--color-text-secondary);margin:0;line-height:1.6}.warning-note{display:flex;gap:var(--spacing-sm);align-items:flex-start;margin-top:var(--spacing-md);padding:var(--spacing-sm);background:#fff3cd;border:1px solid #ffc107;border-radius:var(--border-radius-sm);color:#856404}.warning-note svg{flex-shrink:0;margin-top:2px}.file-upload-area{margin-top:var(--spacing-md)}.file-input{display:none}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);border:2px dashed var(--color-border);border-radius:var(--border-radius-lg);cursor:pointer;transition:all .2s ease;background:var(--color-background)}.file-upload-label:hover{border-color:var(--color-primary);background:var(--color-surface)}.file-upload-label svg{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.label-text{font-size:16px;font-weight:500;color:var(--color-text-primary);margin-bottom:var(--spacing-xs);text-align:center}.label-hint{font-size:14px;color:var(--color-text-secondary)}.error-message-box{display:flex;gap:var(--spacing-sm);align-items:center;margin-top:var(--spacing-md);padding:var(--spacing-md);background:#f8d7da;border:1px solid #f5c6cb;border-radius:var(--border-radius-sm);color:#721c24}.error-message-box svg{flex-shrink:0}.preview-info{margin-bottom:var(--spacing-md)}.preview-info p{color:var(--color-text-secondary);margin:0}.separator{margin:0 var(--spacing-sm);color:var(--color-border)}.preview-table-container{overflow-x:auto;margin-bottom:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--border-radius-md)}.preview-table{width:100%;border-collapse:collapse;font-size:14px}.preview-table thead{background:var(--color-background);border-bottom:2px solid var(--color-border)}.preview-table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;color:var(--color-text-primary);white-space:nowrap}.preview-table td{padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border);color:var(--color-text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-table .row-number{font-weight:600;color:var(--color-text-primary);width:50px}.preview-table .empty-cell{color:var(--color-border);font-style:italic}.upload-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.results-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-xl)}.results-header{text-align:center;margin-bottom:var(--spacing-xl)}.results-icon{width:80px;height:80px;margin:0 auto var(--spacing-md);border-radius:50%;display:flex;align-items:center;justify-content:center}.results-icon.success{background:#d4edda;color:#28a745}.results-icon.warning{background:#fff3cd;color:#ffc107}.results-header h2{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.summary-card{background:var(--color-background);border:2px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md);text-align:center}.summary-card.success{border-color:#28a745;background:#d4edda}.summary-card.error{border-color:#dc3545;background:#f8d7da}.summary-value{font-size:32px;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.summary-label{font-size:14px;color:var(--color-text-secondary);font-weight:500}.results-detail-section{margin-bottom:var(--spacing-xl)}.results-detail-section:last-of-type{margin-bottom:var(--spacing-lg)}.results-table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--border-radius-md);margin-top:var(--spacing-md)}.results-table{width:100%;border-collapse:collapse;font-size:14px}.results-table thead{background:var(--color-background);border-bottom:2px solid var(--color-border)}.results-table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;color:var(--color-text-primary)}.results-table td{padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border);color:var(--color-text-secondary)}.results-table code{font-family:Courier New,monospace;background:var(--color-background);padding:2px 6px;border-radius:4px;font-size:13px}.error-cell{color:#dc3545;font-size:13px}.btn-link{background:none;border:none;color:var(--color-primary);font-weight:500;text-decoration:underline;cursor:pointer;padding:0}.btn-link:hover{opacity:.8}.results-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-xl)}.btn-sm{padding:6px 12px;font-size:14px}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:var(--spacing-xs)}.error-state{text-align:center;padding:var(--spacing-xl);max-width:500px;margin:var(--spacing-xl) auto}.error-state svg{color:var(--color-error);margin-bottom:var(--spacing-md)}.error-state h2{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.error-state p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}@media(max-width:768px){.bulk-upload-page{padding:var(--spacing-md)}.section-header{flex-direction:column;align-items:flex-start}.upload-actions,.results-actions{flex-direction:column}.upload-actions button,.results-actions button{width:100%}.results-summary{grid-template-columns:1fr}.preview-table,.results-table{font-size:13px}.preview-table th,.preview-table td,.results-table th,.results-table td{padding:var(--spacing-xs) var(--spacing-sm)}}.ai-correction-logs-page{max-width:1400px;margin:0 auto;padding:24px}.page-header{margin-bottom:32px}.page-header h1{margin:0 0 8px;font-size:32px;font-weight:700;color:#111827}.page-subtitle{margin:0;font-size:16px;color:#6b7280}.contextual-helper{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:8px;padding:16px 20px;margin-bottom:32px}.contextual-helper .info-icon{flex-shrink:0;color:#2563eb;margin-top:2px}.contextual-helper .helper-text{margin:0;font-size:14px;line-height:1.6;color:#1e40af}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;transition:all .2s}.stat-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.stat-card.stat-success{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#fff)}.stat-card.stat-warning{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fff)}.stat-card.stat-auto{border-color:#10b981;background:linear-gradient(135deg,#d1fae5,#fff)}.stat-card.stat-review{border-color:#6366f1;background:linear-gradient(135deg,#e0e7ff,#fff)}.stat-label{font-size:13px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:600}.stat-value{font-size:32px;font-weight:700;color:#111827;line-height:1}.filters-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;margin-bottom:32px}.filter-helper-text{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:6px;padding:14px 16px;margin-bottom:24px}.filter-info-icon{flex-shrink:0;color:#d97706;margin-top:2px}.filter-helper-text p{margin:0;font-size:14px;line-height:1.6;color:#92400e;font-weight:500}.filters-section h2{margin:0 0 20px;font-size:18px;font-weight:600;color:#111827}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.filter-group select,.filter-group input[type=date]{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;color:#111827;transition:border-color .2s}.filter-group select:focus,.filter-group input[type=date]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.filter-group input[type=range]{width:100%}.range-value{font-size:13px;font-weight:600;color:#3b82f6}.filter-group-confidence{grid-column:span 2}.confidence-inputs{display:flex;align-items:center;gap:12px}.confidence-input-wrapper{display:flex;align-items:center;gap:8px;flex:1}.input-sublabel{font-size:12px;font-weight:500;color:#6b7280;min-width:32px}.confidence-input{width:80px;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;color:#111827;transition:border-color .2s}.confidence-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-unit{font-size:14px;color:#6b7280;font-weight:500}.range-separator{font-size:14px;color:#9ca3af;font-weight:500;padding:0 4px}.filter-actions{display:flex;gap:12px;justify-content:space-between;align-items:center}.filter-status{display:flex;align-items:center}.active-filters-indicator{font-size:13px;color:#3b82f6;font-weight:600;padding:6px 12px;background:#eff6ff;border-radius:6px;border:1px solid #93c5fd}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.logs-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{margin:0;font-size:18px;font-weight:600;color:#111827}.result-count{font-size:14px;color:#6b7280}.result-count .filtered-indicator{color:#3b82f6;font-weight:600}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.loading-state p,.empty-state p{margin:0;font-size:14px;color:#6b7280}.empty-state svg{color:#9ca3af;margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}.logs-table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:20px}.logs-table{width:100%;border-collapse:collapse;font-size:14px}.logs-table th{background:#f9fafb;padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb;white-space:nowrap;position:sticky;top:0;z-index:10}.th-with-tooltip{display:flex;align-items:center;gap:6px}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;cursor:help;color:#6b7280;transition:color .2s}.tooltip-icon:hover{color:#2563eb}.tooltip-icon svg{flex-shrink:0}.logs-table td{padding:12px 16px;border-bottom:1px solid #f3f4f6;vertical-align:top}.logs-table tbody tr:hover{background:#f9fafb}.logs-table tbody tr:last-child td{border-bottom:none}.timestamp-cell{white-space:nowrap;color:#6b7280;font-size:13px}.event-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.field-cell code{background:#f3f4f6;padding:4px 8px;border-radius:4px;font-size:13px;font-family:Monaco,Courier New,monospace;color:#667eea}.value-cell{max-width:250px}.value-content{max-height:100px;overflow:auto;padding:8px;background:#f9fafb;border-radius:4px;font-size:13px;color:#374151;white-space:pre-wrap;word-break:break-word}.confidence-cell{text-align:center}.confidence-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);background-size:200% 100%;background-position:calc((1 - var(--confidence)) * 100%) 0;color:#fff}.action-cell{text-align:center}.action-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.action-badge.action-accepted{background:#d1fae5;color:#065f46}.action-badge.action-rejected{background:#fed7aa;color:#92400e}.action-badge.action-auto_accepted{background:#a7f3d0;color:#047857}.action-badge.action-manual_review{background:#e0e7ff;color:#4338ca}.user-cell{color:#6b7280;font-size:13px}.muted{color:#9ca3af;font-style:italic}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 0}.btn-pagination{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:600;color:#374151;cursor:pointer;transition:all .2s}.btn-pagination:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-pagination:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:14px;color:#6b7280;font-weight:500}.transparency-footer{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:8px;padding:16px 20px;margin-top:32px}.transparency-footer .shield-icon{flex-shrink:0;color:#16a34a}.transparency-footer .footer-text{margin:0;font-size:14px;line-height:1.6;color:#166534}.prompt-info-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:32px;overflow:hidden}.prompt-info-toggle{width:100%;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:none;padding:16px 20px;font-size:15px;font-weight:600;color:#374151;cursor:pointer;transition:all .2s}.prompt-info-toggle:hover{background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}.prompt-info-toggle svg:first-child{color:#6366f1}.prompt-info-toggle svg:last-child{margin-left:auto;color:#6b7280}.prompt-info-panel{padding:20px;border-top:1px solid #e5e7eb;background:#fafafa}.prompt-version-badges{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.prompt-version-badge{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;min-width:200px}.prompt-version-badge .badge-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6b7280}.prompt-version-badge .badge-version{font-size:20px;font-weight:700;color:#6366f1;font-family:Monaco,Courier New,monospace}.prompt-notes{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.prompt-notes pre{margin:0;font-size:13px;line-height:1.6;color:#374151;white-space:pre-wrap;word-break:break-word;font-family:Monaco,Courier New,monospace}.version-cell{text-align:center}.version-code{display:inline-block;background:#f3f4f6;padding:4px 10px;border-radius:4px;font-size:12px;font-family:Monaco,Courier New,monospace;color:#6366f1;font-weight:600;border:1px solid #e0e7ff}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.filters-grid{grid-template-columns:1fr}.logs-table{font-size:13px}.logs-table th,.logs-table td{padding:10px 12px}.value-cell{max-width:150px}}@media(max-width:768px){.ai-correction-logs-page{padding:16px}.page-header h1{font-size:24px}.stats-grid{grid-template-columns:1fr}.stat-value{font-size:28px}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.filter-actions{flex-direction:column;align-items:stretch}.filter-actions button{width:100%}.filter-status{width:100%;justify-content:center}.active-filters-indicator{width:100%;text-align:center}.filter-group-confidence{grid-column:span 1}.confidence-inputs{flex-direction:column;align-items:stretch}.range-separator{display:none}.confidence-input{width:100%}.filter-helper-text{padding:12px 14px}.filter-helper-text p{font-size:13px}.logs-table-container{overflow-x:scroll}.logs-table{min-width:800px}.contextual-helper{padding:14px 16px}.contextual-helper .helper-text{font-size:13px}.transparency-footer{padding:14px 16px;margin-top:24px}.transparency-footer .footer-text{font-size:13px}}.ai-performance-dashboard{max-width:1400px;margin:0 auto;padding:24px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{margin:0 0 8px;font-size:32px;font-weight:700;color:#111827}.subtitle{margin:0;font-size:16px;color:#6b7280;line-height:1.5}.error-banner{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;border-radius:8px;padding:16px 20px;margin-bottom:24px;color:#991b1b}.error-banner svg{flex-shrink:0;color:#dc2626}.filter-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 1px 3px #0000000d}.filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.filter-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.btn-text{background:none;border:none;color:#6366f1;font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.btn-text:hover{background:#eef2ff;color:#4f46e5}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-size:14px;font-weight:600;color:#374151}.date-range-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn-filter{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.btn-filter:hover{border-color:#6366f1;color:#6366f1}.btn-filter.active{background:#6366f1;border-color:#6366f1;color:#fff}.custom-date-inputs{display:flex;gap:12px;margin-top:8px}.custom-date-inputs input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#111827}.filter-checkboxes{display:flex;flex-direction:column;gap:8px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#374151;cursor:pointer;padding:4px;border-radius:4px;transition:background .2s}.checkbox-label:hover{background:#f9fafb}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#6366f1}.confidence-sliders{display:flex;flex-direction:column;gap:8px}.confidence-sliders input[type=range]{width:100%;height:6px;background:#e5e7eb;border-radius:3px;outline:none;cursor:pointer}.confidence-sliders input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:#6366f1;border-radius:50%;cursor:pointer}.confidence-sliders input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#6366f1;border-radius:50%;cursor:pointer;border:none}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;display:flex;align-items:flex-start;gap:16px;box-shadow:0 1px 3px #0000000d;transition:all .2s}.metric-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.metric-card.highlight{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#fff)}.metric-icon{flex-shrink:0;width:48px;height:48px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.metric-card.highlight .metric-icon{background:linear-gradient(135deg,#10b981,#059669)}.metric-content{flex:1}.metric-label{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.metric-value{font-size:32px;font-weight:700;color:#111827;line-height:1;margin-bottom:4px}.metric-detail{font-size:13px;color:#6b7280}.chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 1px 3px #0000000d}.chart-card.half-width{margin-bottom:0}.dashboard-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:32px}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.chart-header h3{margin:0;font-size:20px;font-weight:600;color:#111827}.chart-subtitle{margin:4px 0 0;font-size:14px;color:#6b7280}.chart-legend{display:flex;gap:16px}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280}.legend-color{width:12px;height:12px;border-radius:2px}.chart-tooltip-icon{cursor:help;color:#9ca3af;transition:color .2s}.chart-tooltip-icon:hover{color:#6366f1}.chart-container{position:relative;width:100%;min-height:200px}.line-chart{width:100%;overflow:visible}.chart-point{cursor:pointer;transition:r .2s}.chart-point:hover{r:6}.chart-x-labels{display:flex;justify-content:space-between;margin-top:12px;padding:0 60px}.x-label{font-size:12px;color:#6b7280}.bar-chart{display:flex;flex-direction:column;gap:16px;padding:12px 0}.bar-item{display:flex;flex-direction:column;gap:8px}.bar-label{font-size:14px;font-weight:500;color:#374151}.bar-wrapper{position:relative;width:100%;height:36px;background:#f3f4f6;border-radius:6px;overflow:hidden}.bar{height:100%;display:flex;align-items:center;justify-content:flex-end;padding-right:12px;border-radius:6px;transition:width .5s ease}.bar-value{font-size:14px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.manual-review-container{display:flex;align-items:center;justify-content:center;gap:32px;padding:24px}.manual-review-visual{flex-shrink:0}.manual-review-stats{display:flex;flex-direction:column;gap:12px}.stat-row{display:flex;justify-content:space-between;align-items:center;gap:24px}.stat-label{font-size:14px;color:#6b7280;font-weight:500}.stat-value{font-size:18px;font-weight:700;color:#111827}.table-container{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.performance-table{width:100%;border-collapse:collapse;font-size:14px}.performance-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.performance-table th{padding:12px 16px;text-align:left;font-weight:600;color:#374151;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.performance-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.performance-table th.sortable:hover{background:#f3f4f6}.sort-indicator{margin-left:6px;color:#6366f1}.performance-table td{padding:14px 16px;border-bottom:1px solid #f3f4f6;color:#111827}.performance-table tbody tr:hover{background:#f9fafb}.performance-table tbody tr:last-child td{border-bottom:none}.field-name{background:#f3f4f6;padding:4px 8px;border-radius:4px;font-size:13px;font-family:Monaco,Courier New,monospace;color:#6366f1;font-weight:600}.number-cell{text-align:center;font-weight:500}.acceptance-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.acceptance-badge.high{background:#d1fae5;color:#065f46}.acceptance-badge.medium{background:#fef3c7;color:#92400e}.acceptance-badge.low{background:#fee2e2;color:#991b1b}.confidence-bar-container{position:relative;width:100px;height:24px;background:#f3f4f6;border-radius:4px;overflow:hidden;margin:0 auto}.confidence-bar{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;transition:width .5s ease}.confidence-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:600;color:#111827}.version-comparison-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.version-card{background:linear-gradient(135deg,#f9fafb,#fff);border:1px solid #e5e7eb;border-radius:10px;padding:20px;transition:all .2s}.version-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.version-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.version-number{font-size:16px;font-weight:700;font-family:Monaco,Courier New,monospace;color:#6366f1;background:#eef2ff;padding:4px 10px;border-radius:6px}.version-count{font-size:12px;color:#6b7280;font-weight:500}.version-metrics{display:flex;flex-direction:column;gap:16px}.version-metric{display:flex;flex-direction:column;gap:6px}.metric-label-small{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.metric-value-small{font-size:20px;font-weight:700;color:#111827}.metric-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.metric-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.metric-bar-fill.acceptance{background:linear-gradient(90deg,#10b981,#059669)}.metric-bar-fill.confidence{background:linear-gradient(90deg,#6366f1,#8b5cf6)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:20px}.spinner-large{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}.loading-state p{font-size:16px;color:#6b7280;margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center;gap:20px}.empty-state svg{color:#d1d5db}.empty-state h2{margin:0;font-size:24px;font-weight:600;color:#111827}.empty-state p{margin:0;font-size:15px;color:#6b7280;max-width:600px;line-height:1.6}@media(max-width:1024px){.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.dashboard-row,.filter-grid,.version-comparison-grid{grid-template-columns:1fr}}.prompt-tuning-insights{background:linear-gradient(135deg,#f9fafb,#fff);border:2px solid #6366f1;margin-top:32px}.insights-actions{display:flex;gap:12px}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.btn-secondary{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;color:#6366f1;border:2px solid #6366f1;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#eef2ff}.insights-content{display:flex;flex-direction:column;gap:32px}.insights-empty{text-align:center;padding:60px 20px;color:#6b7280}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.insight-section{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px}.insight-heading{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:16px;font-weight:600;color:#111827}.insight-heading svg{color:#6366f1}.problem-fields-list{display:flex;flex-direction:column;gap:16px}.problem-field-item{display:flex;flex-direction:column;gap:8px}.field-info{display:flex;justify-content:space-between;align-items:center;gap:12px}.field-name{font-family:Monaco,Courier New,monospace;font-size:13px;font-weight:600;color:#6366f1;background:#eef2ff;padding:4px 8px;border-radius:4px}.field-stats{font-size:12px;color:#6b7280}.rejection-bar{height:8px;background:#f3f4f6;border-radius:4px;overflow:hidden}.rejection-fill{height:100%;background:linear-gradient(90deg,#ef4444,#dc2626);border-radius:4px;transition:width .5s ease}.no-problems{margin:0;padding:20px;text-align:center;color:#059669;background:#d1fae5;border-radius:6px;font-size:14px}.low-confidence-list{display:flex;flex-direction:column;gap:12px}.confidence-item{display:flex;justify-content:space-between;align-items:center;gap:16px}.confidence-bar-small{position:relative;width:120px;height:20px;background:#f3f4f6;border-radius:4px;overflow:hidden}.confidence-fill-small{height:100%;background:linear-gradient(90deg,#f59e0b,#d97706);border-radius:4px;transition:width .5s ease}.confidence-value-small{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:600;color:#111827}.version-comparison-insights{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.version-insight-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s}.version-insight-card.best{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#f9fafb)}.version-insight-card.worst{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#f9fafb)}.version-badge-container{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.version-badge{font-family:Monaco,Courier New,monospace;font-size:14px;font-weight:700;color:#6366f1;background:#eef2ff;padding:4px 10px;border-radius:6px}.badge-best{font-size:10px;font-weight:700;text-transform:uppercase;color:#065f46;background:#d1fae5;padding:3px 8px;border-radius:4px;letter-spacing:.5px}.badge-worst{font-size:10px;font-weight:700;text-transform:uppercase;color:#991b1b;background:#fee2e2;padding:3px 8px;border-radius:4px;letter-spacing:.5px}.version-stats-grid{display:flex;justify-content:space-around;gap:12px}.version-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.version-stat .stat-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.version-stat .stat-value{font-size:18px;font-weight:700;color:#111827}.patterns-list{display:flex;flex-direction:column;gap:16px}.pattern-card{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:16px}.pattern-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.pattern-type{font-size:13px;font-weight:700;color:#92400e;text-transform:capitalize}.pattern-frequency{font-size:12px;font-weight:600;color:#92400e;background:#fde68a;padding:3px 10px;border-radius:4px}.pattern-description{margin:0 0 12px;font-size:14px;color:#78350f;line-height:1.5}.pattern-details{display:flex;flex-direction:column;gap:8px}.pattern-field-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:#92400e}.pattern-field-tags strong{font-weight:600}.field-tag{font-family:Monaco,Courier New,monospace;font-size:11px;font-weight:600;color:#92400e;background:#fde68a;padding:3px 8px;border-radius:4px}.recommendations-section{border:2px solid #10b981;background:linear-gradient(135deg,#ecfdf5,#fff)}.recommendations-list{margin:0;padding-left:24px;list-style:none}.recommendation-item{position:relative;margin-bottom:12px;padding-left:8px;font-size:14px;color:#065f46;line-height:1.6}.recommendation-item:before{content:"✓";position:absolute;left:-20px;color:#10b981;font-weight:700}@media(max-width:768px){.ai-performance-dashboard{padding:16px}.dashboard-header h1{font-size:24px}.metrics-grid{grid-template-columns:1fr}.metric-card{padding:16px}.metric-value{font-size:24px}.chart-card,.filter-panel{padding:16px}.date-range-buttons{flex-direction:column}.btn-filter{width:100%}.manual-review-container{flex-direction:column}.chart-x-labels{padding:0 20px}.table-container{overflow-x:scroll}.performance-table{min-width:600px}.insights-actions{flex-direction:column;width:100%}.btn-primary,.btn-secondary{width:100%;justify-content:center}.insights-grid,.version-comparison-insights{grid-template-columns:1fr}}.prompt-tuning-management{max-width:1400px;margin:0 auto;padding:24px}.management-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;gap:24px}.management-header h1{margin:0 0 8px;font-size:32px;font-weight:700;color:#111827}.management-subtitle{margin:0;font-size:16px;color:#6b7280;line-height:1.5}.header-actions{display:flex;gap:12px}.management-tabs{display:flex;gap:8px;border-bottom:2px solid #e5e7eb;margin-bottom:32px}.tab-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:none;border:none;border-bottom:3px solid transparent;font-size:15px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab-button:hover{color:#6366f1;background:#f9fafb}.tab-button.active{color:#6366f1;border-bottom-color:#6366f1}.tab-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px;margin-bottom:32px;box-shadow:0 1px 3px #0000000d}.overview-content{display:flex;flex-direction:column;gap:32px}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.overview-card{display:flex;gap:20px;background:linear-gradient(135deg,#f9fafb,#fff);border:1px solid #e5e7eb;border-radius:12px;padding:24px;transition:all .2s}.overview-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-icon{flex-shrink:0;width:56px;height:56px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.card-content h4{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}.card-content p{margin:12px 0 0;font-size:14px;color:#6b7280;line-height:1.6}.version-tag{display:inline-block;padding:4px 12px;background:#eef2ff;color:#6366f1;border-radius:6px;font-size:13px;font-weight:700;font-family:Monaco,Courier New,monospace}.overview-info h3{margin:0 0 16px;font-size:20px;font-weight:600;color:#111827}.workflow-steps{margin:0;padding-left:24px;counter-reset:step-counter}.workflow-steps li{position:relative;padding:12px 0 12px 8px;font-size:15px;color:#374151;line-height:1.6;counter-increment:step-counter}.workflow-steps li:before{content:counter(step-counter);position:absolute;left:-32px;width:24px;height:24px;background:#6366f1;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.workflow-steps li strong{color:#111827;font-weight:600}.workflow-steps li code{background:#f3f4f6;padding:2px 6px;border-radius:3px;font-size:13px;color:#6366f1;font-family:Monaco,Courier New,monospace}.warning-banner{display:flex;gap:16px;background:linear-gradient(135deg,#fef3c7,#fef9c3);border:2px solid #fbbf24;border-radius:10px;padding:20px}.warning-banner svg{flex-shrink:0;color:#92400e}.warning-banner strong{color:#92400e;font-weight:700}.warning-banner div{font-size:14px;color:#78350f;line-height:1.6}.prompt-view-content{display:flex;flex-direction:column;gap:32px}.prompt-header-info{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.prompt-header-info h3{margin:0 0 8px;font-size:24px;font-weight:700;color:#111827}.prompt-description{margin:0;font-size:15px;color:#6b7280;line-height:1.6}.version-badge-large{padding:8px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:8px;font-size:18px;font-weight:700;font-family:Monaco,Courier New,monospace;flex-shrink:0}.prompt-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.info-item{display:flex;flex-direction:column;gap:6px}.info-item strong{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.info-item code{background:#fff;padding:6px 10px;border-radius:4px;font-size:13px;color:#6366f1;font-family:Monaco,Courier New,monospace;border:1px solid #e5e7eb}.info-item span{font-size:14px;color:#111827}.prompt-preview{background:#1f2937;border-radius:10px;overflow:hidden}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#111827;border-bottom:1px solid #374151}.preview-header h4{margin:0;font-size:16px;font-weight:600;color:#fff}.read-only-badge{padding:4px 12px;background:#374151;color:#d1d5db;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.preview-content{padding:24px;overflow-x:auto}.prompt-code{margin:0;font-family:Monaco,Courier New,monospace;font-size:14px;line-height:1.6;color:#e5e7eb;white-space:pre-wrap;word-wrap:break-word}.preview-note{display:flex;gap:12px;padding:16px 20px;background:#374151;font-size:13px;color:#d1d5db;line-height:1.5}.preview-note svg{flex-shrink:0;color:#9ca3af}.preview-note code{background:#1f2937;padding:2px 6px;border-radius:3px;color:#60a5fa}.current-notes{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.current-notes h4{margin:0 0 16px;font-size:18px;font-weight:600;color:#111827}.notes-display{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:20px;max-height:400px;overflow-y:auto}.notes-display pre{margin:0;font-family:system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.7;color:#374151;white-space:pre-wrap;word-wrap:break-word}.tuning-notes-content{display:flex;flex-direction:column;gap:24px}.notes-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.notes-header h3{margin:0 0 8px;font-size:24px;font-weight:700;color:#111827}.notes-subtitle{margin:0;font-size:15px;color:#6b7280}.notes-actions{display:flex;gap:12px}.notes-editor{width:100%;min-height:500px;padding:20px;font-family:system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.7;color:#374151;background:#fff;border:2px solid #6366f1;border-radius:8px;resize:vertical;outline:none}.notes-editor:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #6366f11a}.notes-info-banner{display:flex;gap:12px;background:#dbeafe;border:1px solid #60a5fa;border-radius:8px;padding:16px}.notes-info-banner svg{flex-shrink:0;color:#1e40af}.notes-info-banner div{font-size:14px;color:#1e3a8a;line-height:1.6}.notes-info-banner strong{font-weight:700}.notes-info-banner code{background:#bfdbfe;padding:2px 6px;border-radius:3px;font-size:13px;color:#1e40af;font-family:Monaco,Courier New,monospace}.notes-guidelines{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.notes-guidelines h4{margin:0 0 16px;font-size:18px;font-weight:600;color:#111827}.notes-guidelines ul{margin:0;padding-left:24px}.notes-guidelines li{padding:8px 0;font-size:14px;color:#374151;line-height:1.6}.draft-workspace{background:#fff;border:2px solid #f59e0b;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.workspace-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.workspace-header h3{margin:0;font-size:20px;font-weight:600;color:#111827}.workspace-actions{display:flex;gap:12px}.btn-text{background:none;border:none;color:#6366f1;font-size:14px;font-weight:600;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s}.btn-text:hover{background:#eef2ff}.btn-text:disabled{color:#9ca3af;cursor:not-allowed}.draft-textarea{width:100%;min-height:300px;padding:16px;font-family:Monaco,Courier New,monospace;font-size:14px;line-height:1.6;color:#374151;background:#fffbeb;border:1px solid #fbbf24;border-radius:8px;resize:vertical;outline:none}.draft-textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.draft-textarea::placeholder{color:#9ca3af}@media(max-width:1024px){.management-header{flex-direction:column}.header-actions{width:100%;flex-direction:column}.header-actions button{width:100%;justify-content:center}.overview-cards,.prompt-info-grid{grid-template-columns:1fr}}@media(max-width:768px){.prompt-tuning-management{padding:16px}.management-header h1{font-size:24px}.management-tabs{overflow-x:auto;flex-wrap:nowrap;gap:4px}.tab-button{padding:10px 16px;font-size:14px;white-space:nowrap}.tab-content{padding:20px}.notes-header{flex-direction:column}.notes-actions{width:100%;flex-direction:column}.notes-actions button{width:100%;justify-content:center}.prompt-header-info{flex-direction:column}.workflow-steps li{font-size:14px}}.my-pending-container{max-width:900px;margin:0 auto;padding:2rem}.my-pending-header{margin-bottom:2rem;border-bottom:2px solid #e5e7eb;padding-bottom:1rem;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.my-pending-header h1{font-size:2rem;font-weight:700;color:#111827;margin:0}.my-pending-header .subtitle{color:#6b7280;font-size:1rem;margin:.25rem 0 0;flex-basis:100%}.refresh-btn{padding:.5rem 1.5rem;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s;font-size:.875rem}.refresh-btn:hover{background-color:#2563eb}.loading-state,.empty-state{text-align:center;padding:4rem 2rem}.spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.empty-state{color:#6b7280}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{font-size:1.5rem;color:#374151;margin:0 0 .5rem}.empty-state p{margin:0}.pending-list{display:flex;flex-direction:column;gap:1.5rem}.pending-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;display:flex;gap:1.5rem;transition:box-shadow .2s}.pending-item:hover{box-shadow:0 4px 12px #0000001a}.pending-image{flex-shrink:0;width:200px;height:200px;background-color:#f3f4f6}.pending-image img{width:100%;height:100%;object-fit:cover}.pending-info{flex:1;padding:1.5rem 1.5rem 1.5rem 0;display:flex;flex-direction:column;gap:1rem}.pending-entity{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.pending-entity h3{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.entity-type-badge{padding:.25rem .75rem;background-color:#e0e7ff;color:#3730a3;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:capitalize}.pending-meta{display:flex;flex-direction:column;gap:.25rem}.pending-meta p{font-size:.875rem;color:#6b7280;margin:0}.status-container{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:8px;border-left:4px solid}.status-pending{background-color:#fef3c7;border-left-color:#f59e0b}.status-approved{background-color:#d1fae5;border-left-color:#10b981}.status-rejected{background-color:#fee2e2;border-left-color:#ef4444}.status-icon{font-size:1.5rem}.status-text{flex:1}.status-text strong{display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.status-text p{font-size:.875rem;margin:0;color:#374151}.status-pending .status-text strong{color:#92400e}.status-approved .status-text strong{color:#065f46}.status-rejected .status-text strong{color:#991b1b}.rejection-reason{padding:1rem;background-color:#fef3c7;border-radius:6px}.rejection-reason strong{display:block;font-size:.875rem;font-weight:600;color:#92400e;margin-bottom:.5rem}.rejection-reason p{font-size:.875rem;color:#78350f;margin:0;line-height:1.5}@media(max-width:768px){.my-pending-container{padding:1rem}.pending-item{flex-direction:column}.pending-image{width:100%;height:250px}.pending-info{padding:1.5rem}.my-pending-header{flex-direction:column;align-items:stretch}.refresh-btn{width:100%}}.unsubscribe-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:24px}.unsubscribe-container{width:100%;max-width:600px}.unsubscribe-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:48px 32px;text-align:center}.unsubscribe-logo{display:flex;align-items:center;justify-content:center;margin-bottom:32px;color:#667eea}.unsubscribe-content h1{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 16px}.unsubscribe-content p{font-size:16px;line-height:1.6;color:#6b7280;margin:0 0 24px}.unsubscribe-content .error-message{color:#dc2626;background:#fee2e2;padding:12px 16px;border-radius:8px;margin:16px 0}.success-icon{margin:0 auto 24px;color:#10b981}.error-icon{margin:0 auto 24px;color:#dc2626}.info-icon{margin:0 auto 24px;color:#667eea}.spinner{width:48px;height:48px;margin:0 auto 24px;border:4px solid #f3f4f6;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.unsubscribe-actions{display:flex;gap:12px;justify-content:center;margin:32px 0 24px;flex-wrap:wrap}.unsubscribe-actions .btn{padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;border:none;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.unsubscribe-actions .btn-primary{background:#667eea;color:#fff}.unsubscribe-actions .btn-primary:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.unsubscribe-actions .btn-secondary{background:#f3f4f6;color:#374151}.unsubscribe-actions .btn-secondary:hover{background:#e5e7eb;transform:translateY(-2px)}.unsubscribe-note{margin-top:24px;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.unsubscribe-note p{margin:0;font-size:14px;color:#6b7280}.unsubscribe-footer{margin-top:24px;text-align:center;color:#fff}.unsubscribe-footer p{margin:8px 0;font-size:14px}.unsubscribe-footer a{color:#fff;text-decoration:underline}.unsubscribe-footer a:hover{opacity:.8}.unsubscribe-footer .text-muted{opacity:.7}@media(max-width:640px){.unsubscribe-card{padding:32px 24px}.unsubscribe-content h1{font-size:24px}.unsubscribe-content p{font-size:15px}.unsubscribe-actions{flex-direction:column}.unsubscribe-actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}.unsubscribe-actions .btn:hover{transform:none}}.unclaimed-businesses-page{min-height:100vh;background:var(--color-bg-primary)}.unclaimed-businesses-page__header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-subtle);padding:20px 24px;position:sticky;top:0;z-index:10}.unclaimed-businesses-page__header-content{max-width:1400px;margin:0 auto}.unclaimed-businesses-page__title{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 8px;display:flex;align-items:center;gap:12px}.unclaimed-businesses-page__title-icon{width:28px;height:28px;color:var(--color-primary)}.unclaimed-businesses-page__description{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.5}.unclaimed-businesses-page__content{max-width:1400px;margin:0 auto;padding:24px}.unclaimed-businesses-page__info-banner{background:var(--color-bg-info);border:1px solid var(--color-border-info);border-radius:12px;padding:16px;margin-bottom:24px;display:flex;align-items:flex-start;gap:12px}.unclaimed-businesses-page__info-icon{flex-shrink:0;width:20px;height:20px;color:var(--color-info);margin-top:2px}.unclaimed-businesses-page__info-content{flex:1}.unclaimed-businesses-page__info-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.unclaimed-businesses-page__info-text{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.5}.unclaimed-businesses-page__map-container{background:var(--color-bg-secondary);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;border:1px solid var(--color-border-subtle)}.unclaimed-businesses-page__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.unclaimed-businesses-page__stat-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px}.unclaimed-businesses-page__stat-icon{flex-shrink:0;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-light);color:var(--color-primary)}.unclaimed-businesses-page__stat-content{flex:1}.unclaimed-businesses-page__stat-value{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 2px;line-height:1}.unclaimed-businesses-page__stat-label{font-size:12px;color:var(--color-text-secondary);margin:0;text-transform:uppercase;letter-spacing:.5px}.unclaimed-businesses-page__footer{margin-top:24px;padding:16px;background:var(--color-bg-secondary);border-radius:12px;border:1px solid var(--color-border-subtle);text-align:center}.unclaimed-businesses-page__footer-text{font-size:13px;color:var(--color-text-secondary);margin:0;line-height:1.5}.unclaimed-businesses-page__footer-link{color:var(--color-primary);text-decoration:none;font-weight:500}.unclaimed-businesses-page__footer-link:hover{text-decoration:underline}@media(max-width:768px){.unclaimed-businesses-page__header,.unclaimed-businesses-page__content{padding:16px}.unclaimed-businesses-page__title{font-size:20px}.unclaimed-businesses-page__stats{grid-template-columns:1fr}}.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translate(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M3.3335 11.6666C3.3335 12.5871 4.07969 13.3333 5.00016 13.3333C5.92064 13.3333 6.66683 12.5871 6.66683 11.6666L6.66683 6.66659L11.6668 6.66659C12.5873 6.66659 13.3335 5.92039 13.3335 4.99992C13.3335 4.07944 12.5873 3.33325 11.6668 3.33325H3.3335V11.6666Z' fill='currentColor'/%3E%3Cpath d='M26.6668 11.6666C26.6668 12.5871 25.9206 13.3333 25.0002 13.3333C24.0797 13.3333 23.3335 12.5871 23.3335 11.6666L23.3335 6.66659L18.3335 6.66659C17.413 6.66659 16.6668 5.92039 16.6668 4.99992C16.6668 4.07944 17.413 3.33325 18.3335 3.33325H26.6668L26.6668 11.6666Z' fill='currentColor'/%3E%3Cpath d='M13.3335 24.9999C13.3335 25.9204 12.5873 26.6666 11.6668 26.6666H3.3335V18.3333C3.3335 17.4128 4.07969 16.6666 5.00016 16.6666C5.92064 16.6666 6.66683 17.4128 6.66683 18.3333V23.3333H11.6668C12.5873 23.3333 13.3335 24.0794 13.3335 24.9999Z' fill='currentColor'/%3E%3Cpath d='M18.3335 26.6666C17.413 26.6666 16.6668 25.9204 16.6668 24.9999C16.6668 24.0794 17.413 23.3333 18.3335 23.3333H23.3335V18.3333C23.3335 17.4128 24.0797 16.6666 25.0002 16.6666C25.9206 16.6666 26.6668 17.4128 26.6668 18.3333V26.6666H18.3335Z' fill='currentColor'/%3E%3C/svg%3E");background-size:26px 26px}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle.mapboxgl-ctrl-level-button-selected .mapboxgl-ctrl-icon{filter:invert(1) brightness(1)}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media(-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl-separator{background-color:#e0e0e0;height:1px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{align-items:center;color:#333;display:flex;font-size:18px;font-weight:700;height:50px;justify-content:center;line-height:normal;padding:0;text-align:center;width:50px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f5f5f5}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4a5568;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#2d3748}.unclaimed-business-map{width:100%;height:100%;position:relative}.unclaimed-business-map__container{width:100%;height:100%;border-radius:8px;overflow:hidden}.unclaimed-business-map__loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-bg-primary);padding:20px 32px;border-radius:12px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;align-items:center;gap:12px;z-index:10}.unclaimed-business-map__loading-spinner{width:32px;height:32px;border:3px solid var(--color-border-subtle);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.unclaimed-business-map__loading-text{font-size:14px;color:var(--color-text-secondary);font-weight:500}.unclaimed-business-map__error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-bg-error);border:1px solid var(--color-border-error);padding:20px 32px;border-radius:12px;box-shadow:0 4px 12px #00000026;max-width:400px;z-index:10}.unclaimed-business-map__error-title{font-size:16px;font-weight:600;color:var(--color-error);margin:0 0 8px;display:flex;align-items:center;gap:8px}.unclaimed-business-map__error-message{font-size:14px;color:var(--color-text-secondary);margin:0;line-height:1.5}.unclaimed-business-map__controls{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:5}.unclaimed-business-map__control-button{width:40px;height:40px;background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a;color:var(--color-text-primary)}.unclaimed-business-map__control-button:hover{background:var(--color-bg-secondary);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.unclaimed-business-map__control-button:active{transform:translateY(0)}.unclaimed-business-map__legend{position:absolute;bottom:16px;left:16px;background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:8px;padding:12px;box-shadow:0 2px 8px #0000001a;max-width:200px;z-index:5}.unclaimed-business-map__legend-title{font-size:13px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.unclaimed-business-map__legend-item{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;color:var(--color-text-secondary)}.unclaimed-business-map__legend-item:last-child{margin-bottom:0}.unclaimed-business-map__legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.unclaimed-business-map__popup{position:absolute;z-index:20;pointer-events:none}.unclaimed-business-map__popup-content{pointer-events:auto;position:relative}.mapboxgl-popup{max-width:320px!important}.mapboxgl-popup-content{padding:0!important;border-radius:12px!important;overflow:hidden}.mapboxgl-popup-close-button{display:none}.unclaimed-business-marker{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #00000040;position:relative}.unclaimed-business-marker:before{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid currentColor}.unclaimed-business-marker:hover{transform:scale(1.15) translateY(-2px);box-shadow:0 4px 12px #0000004d;z-index:10}.unclaimed-business-marker__icon{color:#fff;font-size:16px;z-index:1}.unclaimed-business-cluster{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000040;background:var(--color-primary);color:#fff;font-weight:600;font-size:14px;border:3px solid white}.unclaimed-business-cluster:hover{transform:scale(1.1);box-shadow:0 4px 12px #0000004d}@media(max-width:640px){.unclaimed-business-map__controls{top:12px;right:12px}.unclaimed-business-map__legend{bottom:12px;left:12px;max-width:160px}.unclaimed-business-map__control-button{width:36px;height:36px}}.card{position:relative;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);transition:all var(--transition-fast) var(--transition-timing-ease-out);text-decoration:none;color:inherit;box-sizing:border-box}a.card{text-decoration:none;color:inherit}.card--default{padding:var(--spacing-4);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm)}.card--compact{padding:var(--spacing-3);border-radius:var(--border-radius-base);box-shadow:none}.card--elevated{padding:var(--spacing-6);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);border:none}.card--interactive{cursor:pointer;-webkit-tap-highlight-color:transparent}.card--interactive:hover{transform:translateY(-2px)}.card--default.card--interactive:hover{box-shadow:var(--shadow-md)}.card--compact.card--interactive:hover{box-shadow:var(--shadow-sm)}.card--elevated.card--interactive:hover{box-shadow:var(--shadow-lg)}.card--interactive:active{transform:translateY(0);transition-duration:50ms}.card--default.card--interactive:active{box-shadow:var(--shadow-sm)}.card--compact.card--interactive:active{box-shadow:none}.card--elevated.card--interactive:active{box-shadow:var(--shadow-md)}.card--interactive:focus{outline:2px solid var(--color-primary);outline-offset:2px}.card--interactive:focus:not(:focus-visible){outline:none}.card--interactive:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.card-header{display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.card-header--horizontal{flex-direction:row;align-items:center;justify-content:space-between}.card-content{flex:1;display:flex;flex-direction:column}.card-footer{display:flex;align-items:center;gap:var(--spacing-3);margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--color-divider)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-primary);margin:0}.card-description{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin:0}@media(max-width:640px){.card--default{padding:var(--spacing-3)}.card--compact{padding:var(--spacing-2)}.card--elevated{padding:var(--spacing-5)}.card-title{font-size:var(--font-size-md)}.card-description{font-size:var(--font-size-sm)}}@media(min-width:1024px){.card--elevated{padding:var(--spacing-8)}}.card--no-padding{padding:0}.card--no-border{border:none}.card--no-shadow{box-shadow:none}.card--full-height{height:100%}.card--centered{align-items:center;text-align:center}.card--horizontal{flex-direction:row;align-items:center}.card--horizontal .card-content{flex:1}.card--image .card-image{width:100%;height:200px;object-fit:cover;border-radius:var(--border-radius-md) var(--border-radius-md) 0 0;margin:calc(var(--spacing-4) * -1) calc(var(--spacing-4) * -1) var(--spacing-4)}.card--loading{pointer-events:none;opacity:.6;animation:card-pulse 1.5s ease-in-out infinite}@keyframes card-pulse{0%,to{opacity:.6}50%{opacity:.8}}.card--disabled{pointer-events:none;opacity:.5;cursor:not-allowed}.card--error{border-color:var(--color-error)}.card--success{border-color:var(--color-success)}.card--warning{border-color:var(--color-warning)}@media(prefers-contrast:high){.card{border-width:2px}.card--interactive:focus{outline-width:3px}}@media(prefers-reduced-motion:reduce){.card,.card--interactive:hover,.card--interactive:active{transition:none;transform:none}.card--loading{animation:none}}@media print{.card{box-shadow:none;border:1px solid #000;break-inside:avoid}.card--interactive:hover,.card--interactive:active,.card--interactive:focus{transform:none;box-shadow:none;outline:none}}.unclaimed-business-info-card{max-width:320px;position:relative}.unclaimed-business-info-card__header{display:flex;align-items:flex-start;gap:12px;padding-bottom:0;position:relative}.unclaimed-business-info-card__icon{flex-shrink:0;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--color-bg-secondary);color:var(--color-text-secondary)}.unclaimed-business-info-card__content{flex:1;min-width:0}.unclaimed-business-info-card__name{margin:0 0 4px;word-wrap:break-word}.unclaimed-business-info-card__category{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;margin-bottom:12px}.unclaimed-business-info-card__details{padding-top:0}.unclaimed-business-info-card__detail-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.unclaimed-business-info-card__detail-icon{flex-shrink:0;margin-top:2px;color:var(--color-text-secondary)}.unclaimed-business-info-card__detail-text{flex:1;min-width:0;word-wrap:break-word}.unclaimed-business-info-card__notice{background:#3b82f60d;border:1px solid rgba(59,130,246,.2);border-radius:6px;padding:10px;margin-top:12px;display:flex;align-items:flex-start;gap:8px}.unclaimed-business-info-card__notice-icon{flex-shrink:0;color:var(--color-info);margin-top:1px}.unclaimed-business-info-card__notice-text{flex:1}.unclaimed-business-info-card__footer{padding-top:0}.unclaimed-business-info-card__claim-button{width:100%;padding:12px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:6px}.unclaimed-business-info-card__claim-button:hover{background:var(--color-primary);opacity:.9;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.unclaimed-business-info-card__claim-button:active{transform:translateY(0)}.unclaimed-business-info-card__claim-button:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.unclaimed-business-info-card__claim-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.unclaimed-business-info-card__close-button{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--color-text-secondary)}.unclaimed-business-info-card__close-button:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary);transform:scale(1.05)}@media(max-width:640px){.unclaimed-business-info-card{max-width:100%}}.feedback-toggle-button{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom,0px));right:16px;z-index:1140;display:flex;align-items:center;justify-content:center;width:50px;height:50px;padding:0;border:3px solid #ffffff;border-radius:50%;background:#6b1d36;color:#fff;font-size:24px;line-height:1;box-shadow:0 4px 12px #1c191747;cursor:pointer}.feedback-toggle-button:hover{transform:scale(1.06)}.feedback-toggle-button:active{transform:scale(.96)}.feedback-toggle-button:focus-visible{outline:2px solid #c07b2a;outline-offset:2px}.feedback-form label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#2e1a16}.feedback-form textarea{width:100%;min-height:120px;margin-bottom:16px;padding:10px 12px;border:1px solid #e7e5e4;border-radius:8px;resize:vertical;font:inherit}.feedback-form-actions{display:flex;justify-content:flex-end;gap:8px}.feedback-form-cancel,.feedback-form-submit{padding:8px 14px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.feedback-form-cancel{border:1px solid #e7e5e4;background:#fff;color:#44403c}.feedback-form-submit{border:none;background:#6b1d36;color:#fff}.feedback-form-submit:disabled,.feedback-form-cancel:disabled{opacity:.6;cursor:not-allowed}@media(min-width:769px){.feedback-toggle-button{bottom:24px}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-amber-600:oklch(66.6% .179 58.318);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-purple-600:oklch(55.8% .288 302.321);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--container-xs:20rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-wide:.025em;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-top-1{top:calc(var(--spacing)*-1)}.top-0{top:calc(var(--spacing)*0)}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-10{z-index:10}.z-40{z-index:40}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.m-2{margin:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-64{height:calc(var(--spacing)*64)}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-72{max-height:calc(var(--spacing)*72)}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2\/3{width:66.6667%}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-36{width:calc(var(--spacing)*36)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[220px\]{max-width:220px}.max-w-lg{max-width:var(--container-lg)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#5B1E31\]{border-color:#5b1e31}.border-\[\#E7C8A0\]{border-color:#e7c8a0}.border-\[\#E7E5E4\]{border-color:#e7e5e4}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-500{border-color:var(--color-gray-500)}.border-green-300{border-color:var(--color-green-300)}.border-neutral-200{border-color:var(--color-neutral-200)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-slate-200{border-color:var(--color-slate-200)}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\/40{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.border-t-\[\#2E1A16\]{border-top-color:#2e1a16}.border-t-white{border-top-color:var(--color-white)}.bg-\[\#5B1E31\]{background-color:#5b1e31}.bg-\[\#E7F0E4\]{background-color:#e7f0e4}.bg-\[\#F3E6D4\]{background-color:#f3e6d4}.bg-\[\#F4E4E1\]{background-color:#f4e4e1}.bg-\[\#F5F5F4\]{background-color:#f5f5f4}.bg-\[\#F7F5F0\]{background-color:#f7f5f0}.bg-\[\#FBF6EE\]{background-color:#fbf6ee}.bg-\[\#FCFBF8\]{background-color:#fcfbf8}.bg-\[\#e07a3d\]{background-color:#e07a3d}.bg-\[\#e7e5e4\]{background-color:#e7e5e4}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-50\/30{background-color:#f0fdf44d}@supports (color:color-mix(in lab,red,red)){.bg-green-50\/30{background-color:color-mix(in oklab,var(--color-green-50)30%,transparent)}}.bg-green-100{background-color:var(--color-green-100)}.bg-green-600{background-color:var(--color-green-600)}.bg-green-800{background-color:var(--color-green-800)}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-50\/30{background-color:#fef2f24d}@supports (color:color-mix(in lab,red,red)){.bg-red-50\/30{background-color:color-mix(in oklab,var(--color-red-50)30%,transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-800{background-color:var(--color-red-800)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-800{background-color:var(--color-yellow-800)}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-5{padding-block:calc(var(--spacing)*5)}.py-8{padding-block:calc(var(--spacing)*8)}.py-16{padding-block:calc(var(--spacing)*16)}.pr-2{padding-right:calc(var(--spacing)*2)}.pl-2{padding-left:calc(var(--spacing)*2)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-\[\#1c1917\]{color:#1c1917}.text-\[\#1d4ed8\]{color:#1d4ed8}.text-\[\#2E1A16\]{color:#2e1a16}.text-\[\#3F6212\]{color:#3f6212}.text-\[\#5B1E31\]{color:#5b1e31}.text-\[\#7C4A1E\]{color:#7c4a1e}.text-\[\#7f1d1d\]{color:#7f1d1d}.text-\[\#9B2C2C\]{color:#9b2c2c}.text-\[\#57534E\],.text-\[\#57534e\]{color:#57534e}.text-\[\#78716C\],.text-\[\#78716c\]{color:#78716c}.text-\[\#99948E\]{color:#99948e}.text-\[\#FCFBF8\]\/70{color:#fcfbf8b3}.text-\[\#c4b6a6\]{color:#c4b6a6}.text-\[\#f4efe6\]{color:#f4efe6}.text-\[color\]{color:color}.text-amber-600{color:var(--color-amber-600)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-neutral-300{color:var(--color-neutral-300)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-600{color:var(--color-neutral-600)}.text-purple-600{color:var(--color-purple-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[\#D4AF37\]{accent-color:#d4af37}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-scroll{will-change:scroll-position}.will-change-transform{will-change:transform}.odd\:bg-white:nth-child(odd){background-color:var(--color-white)}.even\:bg-gray-50:nth-child(2n){background-color:var(--color-gray-50)}@media(hover:hover){.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-\[\#4A1828\]:hover{background-color:#4a1828}.hover\:bg-\[\#FCFBF8\]:hover{background-color:#fcfbf8}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:text-\[\#2E1A16\]:hover{color:#2e1a16}.hover\:text-\[\#2e2924\]:hover{color:#2e2924}.hover\:text-\[\#5B1E31\]:hover{color:#5b1e31}.hover\:text-\[\#D4AF37\]:hover{color:#d4af37}.hover\:text-\[\#FCFBF8\]:hover{color:#fcfbf8}.hover\:text-black:hover{color:var(--color-black)}.hover\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-purple-600:hover{color:var(--color-purple-600)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:text-white:hover{color:var(--color-white)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-color:var(--color-blue-500)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:opacity-75:active{opacity:.75}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:max-w-xs{max-width:var(--container-xs)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:pt-16{padding-top:calc(var(--spacing)*16)}.md\:pl-20{padding-left:calc(var(--spacing)*20)}}@media(min-width:64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-inline:calc(var(--spacing)*8)}}@media(prefers-color-scheme:dark){:where(.dark\:divide-zinc-800>:not(:last-child)),.dark\:border-zinc-800{border-color:var(--color-zinc-800)}.dark\:bg-zinc-800{background-color:var(--color-zinc-800)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-400{color:var(--color-gray-400)}@media(hover:hover){.dark\:hover\:bg-zinc-900\/40:hover{background-color:#18181b66}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-zinc-900\/40:hover{background-color:color-mix(in oklab,var(--color-zinc-900)40%,transparent)}}.dark\:hover\:bg-zinc-900\/50:hover{background-color:#18181b80}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-zinc-900\/50:hover{background-color:color-mix(in oklab,var(--color-zinc-900)50%,transparent)}}.dark\:hover\:text-white:hover{color:var(--color-white)}}}.\[\&\>\*\]\:stroke-\[3px\]>*{stroke-width:3px}}:focus{outline:3px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 4px #3b82f61a}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-primary);outline-offset:0;border-color:var(--color-primary)}.focus-within:focus-within{outline:3px solid var(--color-primary);outline-offset:2px}.card:focus-visible,.gem-item:focus-visible,.event-card:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;box-shadow:0 4px 12px #3b82f626}[onclick]:not(button):not(a):not([role=button]){cursor:pointer}.skip-to-main,.skip-link{z-index:9999;background-color:var(--color-primary);color:#fff;border-radius:0 0 8px;min-width:auto;min-height:auto;padding:12px 24px;font-weight:600;text-decoration:none;transition:top .2s;position:fixed;top:-100px;left:0}.skip-to-main:focus,.skip-link:focus{outline-offset:-3px;outline:3px solid #fff;top:0}.keyboard-focus-only:focus:not(:focus-visible){outline:none}body.using-keyboard :focus{outline:3px solid var(--color-primary)!important;outline-offset:2px!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only-focusable:focus,.sr-only-focusable:active{clip:auto;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}[aria-live]{position:relative}@media(prefers-contrast:high){*{border-width:2px}button,a,input,select,textarea{border:2px solid}:focus-visible{outline-width:4px}}.status-indicator:before{content:"";background-color:currentColor;border-radius:50%;width:12px;height:12px;margin-right:8px;display:inline-block}.color-coded-info[data-status]:after{content:" (" attr(data-status)")";color:var(--color-text-secondary);font-size:.875rem}button,input[type=checkbox],input[type=radio],[role=button],a:not(:where(p,li,span,td,th) a){min-width:44px;min-height:44px;position:relative}.btn-sm,.icon-button{min-width:44px;min-height:44px}.btn-sm:before,.icon-button:before{content:"";min-width:44px;min-height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.readable-width{max-width:70ch}p,li,.body-text{line-height:1.5}*{text-align:left;text-align:start}.text-right{text-align:right!important}.modal-backdrop{z-index:var(--z-modal-backdrop,1040);cursor:pointer;background-color:#00000080;position:fixed;inset:0}.modal{z-index:var(--z-modal,1050);background-color:var(--color-surface);border-radius:12px;max-width:90vw;max-height:90vh;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 25px 50px -12px #00000040}.modal:focus{outline:none}body.modal-open{overflow:hidden}.loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner:after{content:"Loading...";clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field-error{border-color:var(--color-error)!important}.field-error:focus{outline-color:var(--color-error)!important}.error-message{color:var(--color-error);align-items:center;gap:6px;margin-top:4px;font-size:.875rem;display:flex}.error-message:before{content:"⚠";font-size:1rem}.field-success{border-color:var(--color-success)!important}.success-message{color:var(--color-success);align-items:center;gap:6px;margin-top:4px;font-size:.875rem;display:flex}.success-message:before{content:"✓";font-size:1rem}.no-js-hidden{display:none}html.no-js .no-js-hidden{display:block}html.no-js .js-only{display:none}@media print{nav,.no-print,button:not(.print-button),.modal-backdrop{display:none!important}*{color:#000!important;background:#fff!important}a[href]:after{content:" (" attr(href)")"}h1,h2,h3{page-break-after:avoid}img{page-break-inside:avoid}}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.focus-none:focus{box-shadow:none;outline:none}.focus-error:focus-visible{outline-color:var(--color-error)}.focus-success:focus-visible{outline-color:var(--color-success)}table{border-collapse:collapse;width:100%}th{text-align:left;border-bottom:2px solid var(--color-border);padding:12px;font-weight:600}td{border-bottom:1px solid var(--color-divider);padding:12px}label{color:var(--color-text-primary);margin-bottom:4px;font-weight:500;display:block}label.required:after{content:" *";color:var(--color-error)}.help-text{color:var(--color-text-secondary);margin-top:4px;font-size:.875rem}.button-group{flex-wrap:wrap;gap:8px;display:flex}.button-group>*{flex:auto}@media(prefers-color-scheme:dark){:focus-visible{outline-color:#60a5fa}.text-secondary{color:#d1d5db}}.dark :focus-visible{outline-color:#60a5fa}:root,html{color-scheme:light}:root{--color-primary:#5f0f40;--color-primary-dark:#4a0b32;--color-secondary:#34a853;--color-error:#ea4335;--color-warning:#fbbc04;--color-success:#16a34a;--color-info:#3b82f6;--color-background:#f5f5f5;--color-surface:#fff;--color-text-primary:#202124;--color-text-secondary:#5f6368;--color-text-tertiary:#9ca3af;--color-text-inverse:#fff;--color-text-disabled:#d1d5db;--color-border:#dadce0;--color-divider:#e8eaed;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:15px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:24px;--font-size-4xl:28px;--font-size-5xl:32px;--font-size-6xl:36px;--font-size-7xl:48px;--line-height-tight:1.2;--line-height-snug:1.3;--line-height-normal:1.4;--line-height-relaxed:1.5;--line-height-loose:1.6;--line-height-extra-loose:1.7;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--spacing-0:0;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-8:32px;--spacing-10:40px;--spacing-12:48px;--spacing-16:64px;--spacing-20:80px;--spacing-24:96px;--spacing-xs:var(--spacing-1);--spacing-sm:var(--spacing-2);--spacing-md:var(--spacing-4);--spacing-lg:var(--spacing-6);--spacing-xl:var(--spacing-8);--spacing-2xl:var(--spacing-10);--spacing-3xl:var(--spacing-12);--spacing-4xl:var(--spacing-16);--spacing-5xl:var(--spacing-20);--spacing-6xl:var(--spacing-24);--border-radius-none:0;--border-radius-sm:4px;--border-radius-base:6px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-2xl:24px;--border-radius-full:9999px;--shadow-none:none;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-base:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000f;--transition-fast:.15s;--transition-normal:.25s;--transition-slow:.35s;--transition-very-slow:.5s;--transition-timing-ease-out:cubic-bezier(.16,1,.3,1);--transition-timing-ease-in-out:cubic-bezier(.65,0,.35,1);--z-index-hide:-1;--z-index-base:0;--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal-backdrop:1040;--z-index-modal:1050;--z-index-popover:1060;--z-index-tooltip:1070;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1440px;--container-narrow:800px;--container-standard:1200px;--container-wide:1400px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{width:100%;height:100%;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-background);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal);transition:background-color var(--transition-normal)ease,color var(--transition-normal)ease}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit;border:none;outline:none}img{max-width:100%;height:auto;display:block}.container{width:100%;max-width:var(--container-standard);padding:0 var(--spacing-md);margin:0 auto}.container-narrow{width:100%;max-width:var(--container-narrow);padding:0 var(--spacing-md);margin:0 auto}.container-standard{width:100%;max-width:var(--container-standard);padding:0 var(--spacing-md);margin:0 auto}.container-wide{width:100%;max-width:var(--container-wide);padding:0 var(--spacing-md);margin:0 auto}.container-fluid{width:100%;max-width:100%;padding:0 var(--spacing-md)}@media(min-width:640px){.container,.container-narrow,.container-standard,.container-wide,.container-fluid{padding:0 var(--spacing-lg)}}@media(min-width:1024px){.container,.container-narrow,.container-standard,.container-wide,.container-fluid{padding:0 var(--spacing-xl)}}.btn{padding:var(--spacing-sm)var(--spacing-lg);border-radius:var(--border-radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);line-height:var(--line-height-normal);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;justify-content:center;align-items:center;min-height:44px;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:active{background:var(--color-primary-dark);transform:scale(.98)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:active{background:var(--color-background);transform:scale(.98)}.btn-icon{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.card{background:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.divider{background:var(--color-divider);height:1px;margin:var(--spacing-md)0}.skeleton{border-radius:var(--border-radius-sm);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-error{color:var(--color-error)}.text-center{text-align:center}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.text-5xl{font-size:var(--font-size-5xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.leading-tight{line-height:var(--line-height-tight)}.leading-snug{line-height:var(--line-height-snug)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}h1{font-size:var(--font-size-4xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-md)0}h2{font-size:var(--font-size-3xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)0}h3{font-size:var(--font-size-2xl);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm)0}h4{font-size:var(--font-size-xl);line-height:var(--line-height-snug);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs)0}h5{font-size:var(--font-size-lg);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs)0}h6{font-size:var(--font-size-md);line-height:var(--line-height-normal);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs)0}p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin:0 0 var(--spacing-md)0}@media(max-width:768px){body{font-size:var(--font-size-base)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}}.smooth-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.will-change-transform{will-change:transform}.will-change-scroll{will-change:scroll-position}.no-scroll{width:100%;position:fixed;overflow:hidden}.section{padding:var(--spacing-xl)0}.section-sm{padding:var(--spacing-lg)0}.section-lg{padding:var(--spacing-2xl)0}.section-xl{padding:var(--spacing-3xl)0}@media(max-width:768px){.section{padding:var(--spacing-lg)0}.section-sm{padding:var(--spacing-md)0}.section-lg{padding:var(--spacing-xl)0}.section-xl{padding:var(--spacing-2xl)0}}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mx-auto{margin-left:auto;margin-right:auto}.my-xs{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.my-sm{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.my-md{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}.my-lg{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.my-xl{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.full-width{width:100%}.full-height{height:100%}.min-h-screen{min-height:100vh}.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-auto-fill{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media(max-width:768px){.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}.text-body{font-size:1rem;line-height:1.5}.text-small{font-size:.875rem;line-height:1.4}.text-caption{font-size:.75rem;line-height:1.3}.text-color-primary{color:var(--color-text-primary, #1a1a1a)}.text-color-secondary{color:var(--color-text-secondary, #64748b)}.text-color-tertiary{color:var(--color-text-tertiary, #94a3b8)}.text-color-inverse{color:var(--color-text-inverse, #ffffff)}.text-color-error{color:var(--color-error, #ef4444)}.text-color-warning{color:var(--color-warning, #f59e0b)}.text-color-success{color:var(--color-success, #10b981)}.heading-1,.heading-2,.heading-3,.heading-4,.heading-5,.heading-6{margin:0;font-weight:600;line-height:1.2}.subheading{margin:0;font-weight:500}.label{display:inline-block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.label-required{color:var(--color-error, #ef4444);margin-left:.25rem}.stack{display:flex;flex-direction:column}.stack-spacing-xs{gap:.25rem}.stack-spacing-sm{gap:.5rem}.stack-spacing-md{gap:1rem}.stack-spacing-lg{gap:1.5rem}.stack-spacing-xl{gap:2rem}.stack-align-start{align-items:flex-start}.stack-align-center{align-items:center}.stack-align-end{align-items:flex-end}.stack-align-stretch{align-items:stretch}.hstack{display:flex;flex-direction:row}.hstack-spacing-xs{gap:.25rem}.hstack-spacing-sm{gap:.5rem}.hstack-spacing-md{gap:1rem}.hstack-spacing-lg{gap:1.5rem}.hstack-spacing-xl{gap:2rem}.hstack-align-start{align-items:flex-start}.hstack-align-center{align-items:center}.hstack-align-end{align-items:flex-end}.hstack-align-stretch{align-items:stretch}.hstack-align-baseline{align-items:baseline}.hstack-justify-start{justify-content:flex-start}.hstack-justify-center{justify-content:center}.hstack-justify-end{justify-content:flex-end}.hstack-justify-between{justify-content:space-between}.hstack-justify-around{justify-content:space-around}.hstack-justify-evenly{justify-content:space-evenly}.hstack-wrap{flex-wrap:wrap}.spacer{display:block}.divider-horizontal{margin:1rem 0;border:0;border-top:1px solid var(--color-border, #e5e7eb)}.divider-vertical{width:1px;height:auto;background:var(--color-border, #e5e7eb);align-self:stretch}.ui-card{background:var(--color-surface, #ffffff);border-radius:.5rem}.card-default{box-shadow:0 1px 3px #0000001a}.card-outlined{border:1px solid var(--color-border, #e5e7eb)}.card-elevated{box-shadow:0 4px 6px #0000001a}.card-padding-none{padding:0}.card-padding-sm{padding:.75rem}.card-padding-md{padding:1rem}.card-padding-lg{padding:1.5rem}.panel{background:transparent}.panel-bordered{border:1px solid var(--color-border, #e5e7eb);border-radius:.5rem}.panel-filled{background:var(--color-surface, #ffffff)}.panel-padding-none{padding:0}.panel-padding-sm{padding:.75rem}.panel-padding-md{padding:1rem}.panel-padding-lg{padding:1.5rem}.panel-padding-xl{padding:2rem}.section{display:block}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;position:relative}.button:disabled{opacity:.5;cursor:not-allowed}.button:focus{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.button-primary{background:var(--color-primary, #2563eb);color:#fff}.button-primary:hover:not(:disabled){background:var(--color-primary, #1d4ed8)}.button-secondary{background:var(--color-secondary, #64748b);color:#fff}.button-outline{background:transparent;border:1px solid var(--color-border, #e5e7eb);color:var(--color-text-primary, #1a1a1a)}.button-ghost{background:transparent;color:var(--color-text-primary, #1a1a1a)}.button-danger{background:var(--color-error, #ef4444);color:#fff}.button-sm{padding:.375rem .75rem;font-size:.8125rem}.button-md{padding:.5rem 1rem;font-size:.875rem}.button-lg{padding:.625rem 1.25rem;font-size:1rem}.button-full-width{width:100%}.button-loading{pointer-events:none}.button-loader{display:inline-block;width:1rem;height:1rem;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:button-spin .6s linear infinite}.button-content-loading{opacity:.5}@keyframes button-spin{to{transform:rotate(360deg)}}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:.375rem;background:transparent;cursor:pointer;transition:all .15s ease}.icon-button:focus{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.icon-button-default{background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb)}.icon-button-ghost:hover{background:var(--color-surface, #f3f4f6)}.icon-button-outline{border:1px solid var(--color-border, #e5e7eb)}.icon-button-sm{width:2rem;height:2rem}.icon-button-md{width:2.5rem;height:2.5rem}.icon-button-lg{width:3rem;height:3rem}.link-button{background:none;border:none;color:var(--color-primary, #2563eb);cursor:pointer;text-decoration:none;transition:color .15s ease}.link-button:hover{color:var(--color-primary, #1d4ed8)}.link-button-inline{display:inline;padding:0;font-size:inherit}.link-button-standalone{display:inline-block;padding:.25rem 0}
