.navbar{height:64px;display:flex;justify-content:space-between;align-items:center;padding:0 32px;position:sticky;top:0;z-index:100;transition:background-color .3s ease,backdrop-filter .3s ease,border-bottom .3s ease,box-shadow .3s ease}.navbar-left{display:flex;align-items:center;gap:12px}.navbar-brand{display:flex;align-items:center;gap:8px;text-decoration:none}.navbar-logo{height:36px;width:auto;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.navbar-transparent .navbar-logo{filter:drop-shadow(0 3px 6px rgba(0,0,0,.8))}.navbar-title{font-size:18px;font-weight:600;color:var(--color-text)}.hamburger-btn{width:42px;height:42px;background:var(--color-muted-bg);border:1px solid var(--color-border);border-radius:10px;cursor:pointer;display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:background .2s ease,transform .15s ease}.hamburger-btn span{width:18px;height:2px;background-color:var(--color-text);border-radius:2px}.hamburger-btn:hover{background:var(--color-border)}.hamburger-btn:active{transform:scale(.96)}.hamburger-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-soft)}.navbar-right{display:flex;align-items:center;gap:22px}.navbar-right a{text-decoration:none;color:var(--color-text);font-weight:500;padding:6px 12px;border-radius:6px;transition:background .2s ease,color .2s ease}.navbar-right a.active{background:var(--color-primary);color:#fff}.navbar-right a:hover:not(.active){background:var(--color-muted-bg);color:var(--color-primary)}.navbar-right a:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-soft)}.navbar-dropdown{position:relative}.navbar-dropdown-btn{background:none;border:none;cursor:pointer;font-size:14.5px;font-weight:500;color:var(--color-text);padding:6px 12px;border-radius:6px;transition:background .2s ease,color .2s ease}.navbar-dropdown-btn:hover,.navbar-dropdown-btn:focus-visible{background:var(--color-muted-bg);color:var(--color-primary);outline:none}.navbar-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);min-width:200px;max-width:min(260px,90vw);padding:6px 0;z-index:300;animation:dropdownFade .22s ease-out;will-change:transform,opacity}.navbar-dropdown-menu a{display:flex;align-items:center;padding:12px 20px;min-height:44px;font-size:14px;font-weight:500;color:var(--color-text);text-decoration:none}.navbar-dropdown-menu a:hover{background:var(--color-muted-bg);color:var(--color-primary)}.navbar-dropdown-menu a:focus-visible{outline:none;background:var(--color-primary-soft);color:var(--color-primary);box-shadow:inset 0 0 0 2px var(--color-primary-soft)}.navbar-dropdown-menu a.dropdown-active,.navbar-dropdown-menu a.active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.navbar-transparent .navbar-dropdown-menu a{color:var(--color-text);text-shadow:none}.navbar-transparent .navbar-dropdown-menu{background:var(--color-surface);border:1px solid var(--color-border)}.logout-btn{background:var(--color-danger-soft);border:1px solid var(--color-danger);padding:8px 14px;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;color:var(--color-danger);transition:background .2s ease,color .2s ease,transform .12s ease}.logout-btn:hover{background:#dc26262e;color:var(--color-danger);border-color:var(--color-danger)}.logout-btn:active{transform:scale(.97)}.logout-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-danger-soft)}.inbox-link{position:relative}.inbox-link.active{background:var(--color-primary);color:#fff}.inbox-link.active .inbox-badge{background:#fff;color:var(--color-primary)}.inbox-badge{background:var(--color-danger);color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:999px;margin-left:6px;line-height:1}.public-mobile-menu{position:absolute;top:64px;right:16px;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 20px 40px #00000026;border:1px solid var(--color-border);padding:10px 0;display:flex;flex-direction:column;min-width:200px;max-width:min(260px,90vw);z-index:200;animation:dropdownFade .2s ease-out;will-change:transform,opacity}.public-mobile-menu a{display:flex;align-items:center;padding:12px 20px;min-height:44px;text-decoration:none;color:var(--color-text);font-weight:500}.public-mobile-menu a.active{background:var(--color-primary);color:#fff}.public-mobile-menu a:hover{background:var(--color-muted-bg)}.public-mobile-menu a:active{background:var(--color-primary-soft)}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.navbar-transparent{background:linear-gradient(to bottom,#0f172aa6,#0f172a59);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.15)}.navbar-transparent .navbar-title,.navbar-transparent .navbar-right>a,.navbar-transparent .navbar-dropdown-btn{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6)}.navbar-transparent .navbar-right>a:hover:not(.active),.navbar-transparent .navbar-dropdown-btn:hover{background:#ffffff26;color:#fff}.navbar-transparent .hamburger-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.25)}.navbar-transparent .hamburger-btn span{background-color:#fff}.navbar-solid{background-color:color-mix(in srgb,var(--color-surface) 82%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border);box-shadow:0 6px 20px #0000000f}@media(max-width:1024px){.hamburger-btn{display:flex}.navbar-right{display:none}.navbar{padding:0 16px}}@media(max-width:640px){.navbar-title{display:none}}@media(hover:none){.navbar-right a:hover,.navbar-dropdown-btn:hover,.hamburger-btn:hover{transform:none;background:var(--color-muted-bg)}}.sidebar{width:220px;min-width:220px;background:var(--color-surface);border-right:1px solid var(--color-border);height:calc(100dvh - 64px);padding-bottom:env(safe-area-inset-bottom);position:sticky;top:64px;overflow-y:auto;overflow-x:hidden;flex-shrink:0;z-index:45;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;contain:layout paint;pointer-events:auto}.sidebar-backdrop{display:none}@media(max-width:1024px){.sidebar-backdrop{display:block;position:fixed;inset:64px 0 0;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:55}.sidebar.open~.sidebar-backdrop{opacity:1;pointer-events:auto}}.sidebar-mobile-top{display:none}.sidebar-title{font-size:18px;font-weight:700;margin-bottom:var(--space-4);padding-left:6px;color:var(--color-text)}.sidebar-user{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:14px;background:var(--color-muted-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);min-height:68px;contain:layout paint}.sidebar-user-avatar{width:44px;height:44px;aspect-ratio:1 / 1;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--color-border);background:var(--color-surface)}.sidebar-user-avatar.avatar-initials{background:var(--color-primary);color:#fff;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;text-transform:uppercase;-webkit-user-select:none;user-select:none}.sidebar-user-info{display:flex;flex-direction:column;justify-content:center;line-height:1.2;min-width:0}.sidebar-user-name{font-size:14px;font-weight:800;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:capitalize;white-space:nowrap}.sidebar-nav{display:flex;flex-direction:column;gap:6px}.sidebar-nav a,.sidebar-nav a:hover{text-decoration:none}.sidebar-nav a{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;background:var(--color-muted-bg);color:var(--color-text);padding:10px 14px;border-radius:8px;border-left:3px solid transparent;min-height:44px;transition:background .2s ease,color .2s ease,transform .12s ease,box-shadow .12s ease}.sidebar-nav a:hover{background:var(--color-bg);transform:translate(2px)}.sidebar-nav a[href="/settings"]{background:var(--color-info-soft);color:var(--color-primary)}.sidebar-nav a.active{background:var(--color-primary);color:#fff;border-left:3px solid var(--color-primary-hover);box-shadow:0 6px 16px var(--color-primary-soft)}.sidebar-nav a.active.supervisor{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff}.sidebar-nav a.active.manager{background:linear-gradient(135deg,#92400e,#b45309);border-left-color:#78350f;color:#fff;box-shadow:0 6px 18px #b4530959}.sidebar-nav a[href="/report-abuse"]{background:#fff7ed;color:#9a3412;border-left-color:#fdba74}.sidebar-nav a[href="/report-abuse"]:hover{background:#ffedd5}.sidebar-nav a[href="/report-abuse"].active{background:linear-gradient(135deg,#ea580c,#c2410c);color:#fff;border-left-color:#9a3412;box-shadow:0 6px 18px #ea580c59}.sidebar-nav a[href="/profile"]{background:#f0fdf4;color:#065f46;border-left-color:#34d399}.sidebar-nav a[href="/profile"]:hover{background:#dcfce7}.sidebar-nav a[href="/profile"].active{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-left-color:#065f46;box-shadow:0 6px 18px #16a34a59}.sidebar-nav a:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-soft),0 6px 16px var(--color-primary-soft)}.sidebar-section{margin-top:20px;margin-bottom:6px;padding-left:6px;font-size:12px;font-weight:800;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;opacity:.85}.sidebar-section.staff{color:#2563eb}.sidebar-section.admin{color:#7c3aed}.sidebar-section.manager{color:#b45309}.sidebar-section.supervisor{color:#0ea5e9}.sidebar-divider{height:1px;background:var(--color-border);margin:14px 6px}.sidebar-logout-btn{margin-top:auto;margin-bottom:max(16px,calc(16px + env(safe-area-inset-bottom)));width:100%;background:var(--color-danger-soft);border:1px solid var(--color-danger);color:var(--color-danger);padding:10px 14px;border-radius:8px;font-size:14px;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;transition:background .2s ease,transform .12s ease,box-shadow .12s ease}.sidebar-logout-btn:hover{background:#dc26262e;transform:translate(2px)}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:6px}@media(max-width:1024px){.sidebar{position:fixed;left:0;top:64px;height:calc(100dvh - 64px);padding-bottom:env(safe-area-inset-bottom);width:220px;min-width:220px;transform:translate(-110%);transition:transform .25s ease;will-change:transform;pointer-events:none;z-index:60}.sidebar.open{transform:translate(0);pointer-events:auto}.sidebar-mobile-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:6px}.sidebar-close-btn{background:var(--color-muted-bg);border:1px solid var(--color-border);width:36px;height:36px;border-radius:10px;font-size:16px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center}.sidebar-close-btn:hover{background:var(--color-border)}}@media(max-width:768px){.sidebar{width:240px}}.footer{background:#0f172a;color:#cbd5f5;margin-top:var(--space-6);overflow-x:hidden;width:100%}.footer-container{max-width:var(--container-max);margin:0 auto;padding:var(--space-8) var(--space-6);display:grid;grid-template-columns:1.2fr 2fr;gap:var(--space-8);word-break:break-word}.footer-title,.footer-brand h2,.footer-brand h3{font-size:22px;font-weight:800;margin-bottom:var(--space-3);color:#fff;letter-spacing:-.2px}.footer-brand p{font-size:14.5px;line-height:1.7;color:#cbd5f5;max-width:360px;margin-bottom:var(--space-4);overflow-wrap:anywhere}.footer-address{font-size:13.5px;line-height:1.6;color:#94a3b8;font-style:normal}.footer-address strong{color:#fff;font-weight:600}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.footer-section{display:flex;flex-direction:column}.footer-links h3,.footer-links h4{font-size:13px;font-weight:800;margin-bottom:var(--space-3);color:#fff;text-transform:uppercase;letter-spacing:.06em}.footer-links a,.footer-links span{display:block;font-size:14px;margin-bottom:10px;color:#cbd5f5;text-decoration:none;transition:color var(--motion-med) ease,opacity var(--motion-med) ease,transform var(--motion-fast) ease;overflow-wrap:anywhere}.footer-links a:hover{color:#fff;opacity:.9;transform:translate(2px)}.footer-links a:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-soft);border-radius:var(--radius-xs)}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:var(--space-3) var(--space-6);text-align:center;font-size:13px;color:#94a3b8;background:#0b1220;letter-spacing:.02em}@media(max-width:900px){.footer-container{grid-template-columns:1fr;gap:var(--space-7)}.footer-links{grid-template-columns:repeat(2,1fr);gap:var(--space-6)}}@media(max-width:520px){.footer-container{padding:var(--space-7) var(--space-5)}.footer-links{grid-template-columns:1fr}.footer-title,.footer-brand h2,.footer-brand h3{font-size:20px}.footer-brand p{max-width:100%;font-size:14px}.footer-links h3,.footer-links h4{font-size:12.5px}.footer-links a,.footer-links span{font-size:13px}.footer-bottom{font-size:12.5px}}@media(prefers-reduced-motion:reduce){.footer-links a{transition:none!important;transform:none!important}}.app-layout{display:flex;width:100%;min-height:calc(100vh - 64px);background:var(--color-bg);position:relative;overflow-x:hidden;overflow-y:visible;-webkit-overflow-scrolling:touch}.app-layout.sidebar-open{isolation:isolate}.app-content{flex:1;min-width:0;padding:var(--space-7);overflow:visible}.app-content.no-padding{padding:0;margin:0;width:100%}.app-content-inner{max-width:var(--container-max);margin:0 auto;width:100%}.app-content.full{width:100%;padding:var(--space-7)}.app-content.auth-full{width:100%;padding:0!important;display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 64px)}.sidebar-backdrop{position:fixed;inset:64px 0 0;background:#0f172a73;z-index:50;-webkit-user-select:none;user-select:none;pointer-events:auto}:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.skip-link{position:absolute;top:8px;left:8px;padding:10px 12px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);z-index:999;transform:translateY(-140%);transition:transform var(--motion-med) ease}.skip-link:focus-visible{transform:translateY(0)}@media(max-width:1024px){.app-content,.app-content.full{padding:var(--space-6)}.app-content.no-padding{padding:0}}@media(max-width:640px){.app-content,.app-content.full{padding:var(--space-4)}.app-content.no-padding{padding:0}}@media(max-width:420px){.app-content,.app-content.full{padding:var(--space-3)}.app-content.no-padding{padding:0}}@supports (-webkit-touch-callout: none){.app-layout{min-height:calc(100dvh - 64px)}}html{scroll-behavior:auto}[id]{scroll-margin-top:80px}@media print{.sidebar,.sidebar-backdrop,nav,footer{display:none!important}.app-content{padding:0!important}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.home-page{width:100%;background:var(--color-bg);overflow-x:hidden}.home-hero{position:relative;height:88vh;min-height:560px;max-height:950px;background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 -140px 220px #0000008c}.home-hero-overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at center,#0000001f,#0000004d 45%,#0000008c),linear-gradient(to bottom,#0006,#0000004d,#0000008c)}.home-hero-content{position:relative;z-index:3;width:100%;max-width:1200px;margin:0 auto;padding:0 8%;color:var(--color-surface)}.home-hero h1{font-size:clamp(40px,6vw,64px);font-weight:900;margin-bottom:22px;letter-spacing:-1px;text-shadow:0 12px 40px rgba(0,0,0,.9),0 4px 12px rgba(0,0,0,.8)}.home-hero p{max-width:640px;font-size:18px;line-height:1.75;margin-bottom:38px;color:var(--color-hero-text)}.home-hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.home-about{padding:120px 10% 100px;text-align:center;background:var(--color-bg)}.home-about p{max-width:820px;margin:0 auto;font-size:18px;line-height:1.8;color:var(--color-text)}.home-features{padding:110px 8%;background:var(--color-surface)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:36px}.feature-card{background:var(--color-muted-bg);padding:42px 30px;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.feature-card img{height:95px;width:auto;object-fit:contain;margin-bottom:24px}.feature-card h3{font-size:22px;font-weight:800;margin-bottom:14px;color:var(--color-text)}.feature-card p{font-size:15.5px;line-height:1.7;color:var(--color-text)}.home-security{padding:110px 10%;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:var(--color-bg)}.home-security img{display:block;max-width:85%;margin:0 auto}.home-security p{font-size:17px;line-height:1.8;color:var(--color-text)}.home-access{padding:110px 8%;background:var(--color-surface);text-align:center}.access-grid{margin-top:52px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px}.access-card{background:var(--color-muted-bg);border-radius:var(--radius-lg);padding:36px 28px;box-shadow:var(--shadow-sm)}.access-card h3{font-size:20px;font-weight:800;margin-bottom:14px;color:var(--color-text)}.access-card p{font-size:15.5px;line-height:1.75;color:var(--color-text)}.home-faq{padding:110px 8%;background:var(--color-bg);text-align:center}.faq-list{max-width:900px;margin:52px auto 0;display:grid;gap:28px}.faq-item{background:var(--color-surface);border-radius:var(--radius-lg);padding:32px 34px;text-align:left;box-shadow:var(--shadow-sm)}.faq-item h4{font-size:18px;font-weight:800;margin-bottom:12px;color:var(--color-text)}.faq-item p{font-size:15.5px;line-height:1.75;color:var(--color-text)}.home-cta{position:relative;padding:130px 10%;background:linear-gradient(135deg,#1e3a8a,#2563eb);text-align:center;overflow:hidden}.home-cta:before{content:"";position:absolute;inset:0;background:#0f172a40}.home-cta *{position:relative;z-index:2}.home-cta h2{font-size:clamp(30px,4vw,42px);font-weight:900;margin-bottom:18px;color:var(--color-surface)}.home-cta p{font-size:18px;margin-bottom:40px;color:#ffffffeb}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.reveal-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal{transition:none;transform:none}}@media(max-width:768px){.home-hero{height:65vh;min-height:420px}.home-security{grid-template-columns:1fr;text-align:center;gap:40px}.faq-item{padding:24px}.home-hero-actions{gap:14px}}@media(max-width:480px){.home-hero-actions{flex-direction:column}.ui-btn{width:100%}.home-hero h1{font-size:34px}.home-hero p{font-size:15px}}.page-header{position:relative;margin-bottom:var(--space-4);width:100%;overflow:hidden}.page-header>*{box-sizing:border-box}.page-header-inner{position:relative;z-index:2;max-width:var(--container-max);margin:0 auto;word-break:break-word}.page-header-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin:0 0 var(--space-2) 0;letter-spacing:-.4px;color:var(--color-text);overflow-wrap:anywhere}.page-header-subtitle{font-size:clamp(.9rem,1.6vw,1.05rem);line-height:1.6;color:var(--color-text-muted);max-width:720px;margin:0;overflow-wrap:anywhere}.page-header-actions{margin-top:var(--space-4);display:inline-flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.page-header.with-banner .page-header-actions{position:relative;z-index:3}.page-header-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--space-3);padding:6px 10px;background:transparent;border:none;font-size:.85rem;font-weight:700;color:var(--color-primary);cursor:pointer;border-radius:var(--radius-xs);transition:background var(--motion-med) ease,transform var(--motion-fast) ease,color var(--motion-fast) ease;min-height:36px;-webkit-tap-highlight-color:transparent}.page-header-back:hover{background:var(--color-primary-soft);transform:translate(-2px)}.page-header-back:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.page-header.center{text-align:center}.page-header.center .page-header-inner,.page-header.center .page-header-subtitle,.page-header.center .page-header-back{margin-left:auto;margin-right:auto}.page-header.center .page-header-actions{justify-content:center}.page-header.with-banner{background-size:cover;background-position:center;background-repeat:no-repeat;padding:clamp(48px,6vw,72px) clamp(20px,5vw,36px);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-6);isolation:isolate}.page-header-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#0f172abf,#0f172a8c,#0f172a59);z-index:1;pointer-events:none}.page-header.with-banner .page-header-title{color:#fff;text-shadow:0 3px 10px rgba(0,0,0,.4)}.page-header.with-banner .page-header-subtitle{color:#ffffffe6}.page-header.with-banner .page-header-back{color:#fff}.page-header.with-banner .page-header-back:hover{background:#ffffff26}.page-header.compact{margin-bottom:var(--space-2)}.page-header.compact .page-header-title{font-size:1.4rem;margin-bottom:var(--space-1)}.page-header.compact .page-header-subtitle{font-size:.9rem;line-height:1.4}.page-header.compact .page-header-back{font-size:.8rem;margin-bottom:var(--space-2)}@media(max-width:768px){.page-header-title{font-size:clamp(1.4rem,5vw,1.8rem)}.page-header-subtitle{font-size:clamp(.85rem,3.5vw,1rem)}.page-header.with-banner{border-radius:var(--radius-md)}}@media(max-width:480px){.page-header.with-banner{padding:clamp(32px,8vw,48px) var(--space-4)}.page-header-actions{flex-direction:column;align-items:stretch}.page-header-actions>*{width:100%}}@media(prefers-reduced-motion:reduce){.page-header-back{transition:none!important;transform:none!important}}.auth-page{min-height:calc(100vh - 64px);display:flex;justify-content:center;align-items:flex-start;padding:100px 24px 60px;background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.08),transparent 40%),radial-gradient(circle at 80% 80%,rgba(99,102,241,.08),transparent 40%),linear-gradient(135deg,#f8fafc,#eef2ff)}.auth-card{background:#ffffffd1;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;border-radius:18px;box-shadow:0 40px 80px #0f172a1f,0 2px 6px #0f172a0f;overflow:hidden;isolation:isolate;will-change:transform;animation:fadeIn .5s ease,slideUp .5s ease}.auth-left{background:linear-gradient(135deg,#2563eb,#4f46e5);display:flex;justify-content:center;align-items:center;padding:40px}.auth-left img{width:100%;max-width:340px;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 18px 40px rgba(0,0,0,.3))}.auth-right{padding:56px 48px}.auth-right h2{font-size:32px;margin-bottom:6px;color:#0f172a;font-weight:800;line-height:1.15;letter-spacing:-.5px}.auth-right p{margin-bottom:28px;color:#6b7280;font-size:15px;line-height:1.5}.info-box{display:flex;gap:10px;background:#eff6ff;color:#1e40af;padding:12px 14px;border-radius:10px;font-size:14px;margin-bottom:14px;border:1px solid #bfdbfe}.info-icon{font-size:18px;margin-top:1px}.error-box{display:flex;gap:10px;background:#fee2e2;color:#991b1b;padding:12px 14px;border-radius:10px;font-size:14px;margin-bottom:14px;border:1px solid #fecaca}.error-icon{font-size:18px;margin-top:1px}.auth-right form{display:flex;flex-direction:column;gap:16px}.auth-right input{padding:14px 16px;font-size:16px;border-radius:10px;border:1px solid #d1d5db;outline:none;background:#fff;color:#0f172a;-webkit-appearance:none;appearance:none;transition:border-color .2s ease,box-shadow .2s ease,transform .05s ease}.auth-right input:hover{border-color:#9ca3af}.auth-right input::placeholder{color:#9ca3af}.auth-right input:focus{border-color:#2563eb}.auth-right input:focus-visible{box-shadow:0 0 0 3px #2563eb2e,0 4px 12px #2563eb26}.auth-right input:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.7}.auth-right input:active{transform:scale(.995)}.forgot-password{text-align:center;margin-top:10px}.link-btn{background:none;border:none;padding:0;font-size:14px;color:#2563eb;cursor:pointer;font-weight:600;text-decoration:underline;-webkit-tap-highlight-color:transparent}.link-btn:focus-visible{outline:none;border-radius:6px;box-shadow:0 0 0 3px #2563eb38}.auth-right form button[type=submit]{margin-top:14px;padding:14px;width:100%;touch-action:manipulation;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:16px;border-radius:12px;border:none;cursor:pointer;font-weight:700;min-height:48px;transition:transform .15s ease,box-shadow .2s ease}.auth-right form button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 15px 30px #2563eb4d}.auth-right form button[type=submit]:disabled{pointer-events:none;position:relative;opacity:.85}.auth-right form button[type=submit]:disabled:after{content:"";width:18px;height:18px;border:2px solid rgba(255,255,255,.6);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;position:absolute;right:16px;top:50%;transform:translateY(-50%)}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.secondary-btn{margin-top:14px;background:#2563eb0d;color:#2563eb;border:1px solid #2563eb;padding:12px;border-radius:10px;font-weight:700;cursor:pointer;min-height:48px;transition:background .2s ease,transform .1s ease,box-shadow .2s ease}.secondary-btn:hover{background:#eff6ff}.secondary-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb2e}@media(max-width:768px){.auth-page{padding:22px}.auth-card{grid-template-columns:1fr;border-radius:16px}.auth-left{display:none}.auth-right{padding:36px 24px}.auth-right h2{font-size:26px}}@media(max-width:420px){.auth-page{padding:16px}.auth-right{padding:28px 18px}.auth-right h2{font-size:24px;line-height:1.25}.auth-right form{gap:14px}}@media(prefers-reduced-motion:reduce){.auth-card{animation:none}.auth-right form button[type=submit],.secondary-btn{transition:none}}.auth-page{min-height:calc(100vh - 64px);display:flex;justify-content:center;align-items:center;padding:var(--space-8) var(--space-5);background:radial-gradient(circle at 20% 20%,var(--color-primary-soft),transparent 40%),radial-gradient(circle at 80% 80%,var(--color-info-soft),transparent 40%),linear-gradient(135deg,#f8fafc,#eef2ff)}.auth-card{width:100%;max-width:920px;display:grid;grid-template-columns:1fr 1fr;background:#ffffffd1;border:1px solid var(--color-border);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);animation:fadeIn .4s ease-out,slideUp .4s ease-out}.auth-left{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-info) 100%);display:flex;justify-content:center;align-items:center;padding:var(--space-8)}.auth-left img{width:100%;max-width:340px;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 18px 40px rgba(0,0,0,.25))}.auth-right{padding:clamp(36px,4vw,56px)}.auth-right h2{font-size:clamp(1.6rem,3vw,1.9rem);margin-bottom:var(--space-2);color:var(--color-text);font-weight:800}.auth-right p{margin-bottom:var(--space-6);color:var(--color-text-muted);line-height:1.6;font-size:.95rem}.error-box{background:var(--color-danger-soft);color:var(--color-danger);padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:.85rem;border:1px solid var(--color-danger);display:flex;gap:var(--space-2);align-items:flex-start}.error-box{background:var(--color-danger-soft);color:var(--color-danger);padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:.85rem;border:1px solid var(--color-danger);display:flex;align-items:flex-start;gap:var(--space-2);line-height:1.5}.auth-right form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-right input,.auth-right select{width:100%;min-height:44px;padding:12px 14px;font-size:.95rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);transition:border-color var(--motion-med) ease,box-shadow var(--motion-med) ease}.auth-right input::placeholder{color:var(--color-text-muted)}.auth-right input:focus,.auth-right select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.auth-right input:disabled,.auth-right select:disabled{opacity:.7;cursor:not-allowed}.password-hint{font-size:.8rem;color:var(--color-text-muted);margin-top:-6px;margin-bottom:var(--space-2);line-height:1.45}.role-hint{font-size:.8rem;color:var(--color-text-muted);margin-top:-4px;margin-bottom:var(--space-2);line-height:1.45}.auth-right button{margin-top:var(--space-3);min-height:48px;width:100%;border-radius:var(--radius-md);border:none;font-weight:700;font-size:1rem;background:var(--color-primary);color:#fff;cursor:pointer;transition:background var(--motion-med) ease,transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.auth-right button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.auth-right button:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.auth-right button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.auth-footer{margin-top:var(--space-6);font-size:.85rem;color:var(--color-text-muted)}.auth-footer a{color:var(--color-primary);font-weight:700;text-decoration:none}.auth-footer a:hover{text-decoration:underline}@media(max-width:900px){.auth-card{grid-template-columns:1fr}.auth-left{display:none}.auth-right{padding:var(--space-6)}.auth-page{padding:var(--space-6) var(--space-4)}}@media(max-width:480px){.auth-page{padding:var(--space-5) var(--space-3)}.auth-right{padding:var(--space-5)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(12px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.auth-card,.auth-right button{animation:none!important;transition:none!important;transform:none!important}}.auth-page{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:var(--space-6);background:radial-gradient(circle at 50% 45%,rgba(99,102,241,.14),rgba(99,102,241,.08) 35%,transparent 65%),radial-gradient(circle at 20% 20%,var(--color-primary-soft),transparent 45%),radial-gradient(circle at 80% 80%,rgba(99,102,241,.08),transparent 45%),linear-gradient(135deg,#f8fafc,#eef2ff);background-attachment:fixed}.auth-badge{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--color-primary-soft);border:1px solid var(--color-primary);display:inline-flex;align-items:center;justify-content:center;margin:0 auto var(--space-4) auto;font-size:18px}.auth-right{max-width:520px;width:100%;margin:0 auto;text-align:center}.auth-logo{width:70px;height:auto;display:block;margin:0 auto var(--space-4);filter:drop-shadow(0 6px 12px rgba(0,0,0,.08))}.auth-right h2{font-size:clamp(1.4rem,3vw,1.7rem);font-weight:700;margin-top:var(--space-2);margin-bottom:var(--space-3);color:var(--color-text)}.muted{color:var(--color-text-muted);font-size:.95rem;margin-bottom:var(--space-4);line-height:1.6}.muted.small{font-size:.85rem;margin-top:calc(var(--space-2) * -1)}.error-box{background:var(--color-danger-soft);color:var(--color-danger);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;border:1px solid var(--color-danger)}.auth-right form{display:flex;flex-direction:column;gap:var(--space-4);margin:var(--space-5) 0 var(--space-3)}.auth-right input{width:100%;min-height:44px;padding:12px 14px;font-size:16px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);transition:border-color var(--motion-med) ease,box-shadow var(--motion-med) ease}.auth-right input:hover{border-color:var(--color-text-muted)}.auth-right input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.auth-right button{width:100%;min-height:48px;padding:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));border:1px solid rgba(255,255,255,.08);color:#fff;font-size:15px;font-weight:700;border-radius:var(--radius-md);cursor:pointer;box-shadow:0 6px 14px #6366f140,inset 0 1px #ffffff26;transition:transform var(--motion-fast) ease,box-shadow var(--motion-med) ease,filter var(--motion-med) ease}.auth-right button:hover{transform:translateY(-2px);box-shadow:0 10px 22px #6366f159,inset 0 1px #ffffff26;filter:brightness(1.05)}.auth-right button:active{transform:translateY(0);box-shadow:0 4px 10px #6366f140,inset 0 1px #ffffff1f}.auth-right button:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.auth-right button:active{transform:scale(.98)}.auth-right button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.actions-row{margin-top:var(--space-3)}.link-btn{font-size:.9rem;color:var(--color-primary);font-weight:600;text-decoration:none}@media(max-width:480px){.auth-page{padding:var(--space-7) var(--space-5);align-items:flex-start}.auth-right h2{font-size:1.3rem}}@keyframes authFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-right input:focus-visible,.auth-right button:focus-visible,.link-btn:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}@media(prefers-reduced-motion:reduce){.auth-right button{animation:none!important;transition:none!important;transform:none!important}}.auth-right button:after{display:none!important}.reset-wrapper{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:clamp(40px,6vw,80px) var(--space-5);background:radial-gradient(circle at 50% 45%,rgba(99,102,241,.14),rgba(99,102,241,.08) 35%,transparent 65%),radial-gradient(circle at 20% 20%,var(--color-primary-soft),transparent 45%),radial-gradient(circle at 80% 80%,rgba(99,102,241,.08),transparent 45%),linear-gradient(135deg,#f8fafc,#eef2ff);background-attachment:fixed}.reset-card{width:100%;max-width:460px;background:#ffffffeb;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:clamp(32px,5vw,48px);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 12px 32px #0f172a14,0 4px 12px #0f172a0a;text-align:center;transition:transform var(--motion-fast) ease,box-shadow var(--motion-med) ease}.reset-card:hover{transform:translateY(-2px);box-shadow:0 20px 45px #0f172a1f,0 10px 25px #0f172a14}.reset-card h2{font-size:clamp(1.4rem,3vw,1.7rem);font-weight:800;margin-bottom:var(--space-2);color:var(--color-text)}.reset-muted{font-size:.9rem;color:var(--color-text-muted);margin-bottom:var(--space-6);line-height:1.6}.reset-content{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.password-strength{margin-top:-6px;margin-bottom:var(--space-4);font-size:.85rem;font-weight:700;text-align:left;padding-left:4px}.strength-weak{color:var(--color-danger)}.strength-medium{color:#b45309}.strength-strong{color:var(--color-success)}.password-rules{margin-top:-4px;margin-bottom:var(--space-4);font-size:.85rem;text-align:left;color:var(--color-text-muted);padding-left:4px}.password-rules p{font-weight:600;margin-bottom:6px}.password-rules ul{list-style:none;padding-left:0;margin:0;line-height:1.5}.password-rules li{margin-bottom:4px;transition:color .2s ease}.rule-valid{color:var(--color-success);font-weight:600}.password-match{font-size:.85rem;text-align:left;margin-top:-6px;margin-bottom:var(--space-4);padding-left:4px}.match-valid{color:var(--color-success);font-weight:600}.match-invalid{color:var(--color-danger);font-weight:600}.reset-field{position:relative;margin-bottom:var(--space-4)}.reset-field input{width:100%;min-height:48px;padding:14px 60px 14px 16px;font-size:16px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-muted-bg);color:var(--color-text);transition:border-color var(--motion-med) ease,box-shadow var(--motion-med) ease,background var(--motion-med) ease}.reset-field input:focus{outline:none;background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.reset-field button{width:auto!important;min-width:auto!important}.reset-toggle{position:absolute;right:12px;top:30%;transform:translateY(-50%);width:auto!important;min-width:auto!important;max-width:none!important;height:30px!important;padding:0 12px!important;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;background:var(--color-primary);color:#fff;display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;flex:none!important;transition:background .15s ease,box-shadow .15s ease!important}.reset-toggle:hover{background:var(--color-primary-hover);transform:translateY(-50%)!important}.reset-submit{width:100%;margin-top:var(--space-3);min-height:48px;font-size:1rem;font-weight:700;border-radius:var(--radius-md);border:none;cursor:pointer;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:#fff;box-shadow:0 6px 14px #6366f140,inset 0 1px #ffffff26;transition:transform var(--motion-fast) ease,box-shadow var(--motion-med) ease,filter var(--motion-med) ease}.reset-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 22px #6366f159,inset 0 1px #ffffff26;filter:brightness(1.05)}.reset-submit:active:not(:disabled){transform:translateY(0)}.reset-submit:disabled{background:var(--color-muted-border);cursor:not-allowed;transform:none;box-shadow:none}.reset-link{margin-top:var(--space-4);font-size:.85rem;color:var(--color-primary);text-decoration:none;display:inline-block;font-weight:600}.reset-link:hover{text-decoration:underline}.reset-link:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px;border-radius:var(--radius-xs)}.reset-error{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger);padding:var(--space-3);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;margin-bottom:var(--space-5)}@media(max-width:768px){.reset-wrapper{padding:var(--space-6) var(--space-4);align-items:flex-start}.reset-card{padding:var(--space-6);border-radius:var(--radius-md)}.reset-card h2{font-size:1.2rem}}@media(prefers-reduced-motion:reduce){.reset-card,.reset-toggle,.reset-submit{transition:none!important;transform:none!important}}.dashboard-page{padding:clamp(16px,3vw,28px);max-width:1280px;margin:0 auto;overflow-x:hidden}.dashboard-hero{position:relative;min-height:220px;border-radius:var(--radius-md);background-size:cover;background-position:center;margin-bottom:clamp(28px,5vw,48px);overflow:hidden}.dashboard-hero-overlay{background:linear-gradient(to right,#000000a6,#00000040);height:100%;padding:clamp(24px,5vw,40px);color:var(--color-surface);display:flex;flex-direction:column;justify-content:center}.dashboard-hero-overlay h1{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:800;margin-bottom:12px;line-height:1.2}.dashboard-hero-overlay p{max-width:640px;font-size:clamp(.95rem,2vw,1.05rem);line-height:1.6;color:var(--color-hero-text)}.dashboard-section{margin-bottom:clamp(32px,6vw,56px)}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(16px,3vw,24px)}.dashboard-card{background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);transition:transform var(--motion-med) ease,box-shadow var(--motion-med) ease;position:relative;border:1px solid var(--color-border);will-change:transform}.dashboard-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at top,rgba(255,255,255,.25),transparent 60%);opacity:0;transition:opacity .35s ease;pointer-events:none}.dashboard-card:hover:before{opacity:1}.dashboard-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 12px 32px #0000001f,0 2px 6px #00000014;border-color:#0000000f}.dashboard-card img{width:100%;height:160px;object-fit:cover;background:var(--color-border)}.card-body{padding:var(--space-5)}.card-body h3{margin-bottom:8px;font-size:1.05rem;font-weight:700;color:var(--color-text)}.card-body p{font-size:.95rem;line-height:1.6;color:var(--color-text-muted);margin-bottom:14px}.card-body a{text-decoration:none;font-weight:600;color:var(--color-primary);min-height:44px;display:inline-flex;align-items:center}.card-body a:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:4px;border-radius:var(--radius-sm)}.coming-soon{font-weight:700;color:var(--color-text-muted)}.admin-only{font-weight:700;color:var(--color-info)}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(16px,3vw,24px);margin-bottom:clamp(24px,5vw,40px)}.stat-card{display:block;background:var(--color-surface);border-radius:var(--radius-md);padding:clamp(18px,3vw,24px);box-shadow:var(--shadow-md);transition:transform var(--motion-med) ease,box-shadow var(--motion-med) ease;border-left:5px solid var(--color-primary);border:1px solid var(--color-border);text-decoration:none}.stat-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 10px 28px #0000001a,0 2px 6px #0000000f;border-color:#0000000f}.stat-card:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:4px}.stat-card h4{font-size:.85rem;font-weight:700;color:var(--color-text-muted);margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em}.stat-card strong{font-size:clamp(1.6rem,4vw,2rem);font-weight:800;color:var(--color-text)}.stat-card.loading strong{color:var(--color-text-muted);font-weight:700}.stat-card.danger{border-left-color:var(--color-danger)}.stat-card.warning{border-left-color:var(--color-warning)}.stat-card.info{border-left-color:var(--color-info)}.stat-card.success{border-left-color:var(--color-success)}.stat-card.dark{border-left-color:#111827;background:linear-gradient(to right,rgba(17,24,39,.06),rgba(17,24,39,.02),transparent);box-shadow:0 8px 24px #00000014,0 2px 6px #0000000a}@media(max-width:768px){.dashboard-page{padding:16px}.dashboard-hero{min-height:220px}.dashboard-hero-overlay{padding:28px}.dashboard-hero-overlay h1{font-size:1.8rem}}@media(prefers-reduced-motion:reduce){.dashboard-card,.stat-card{transition:none!important}}@media(hover:none){.dashboard-card:hover,.stat-card:hover{transform:none;box-shadow:var(--shadow-md)}}.dashboard-section:empty{display:none}.dashboard-loading{pointer-events:none}.dashboard-skeleton-header,.dashboard-skeleton-hero,.dashboard-skeleton-card,.dashboard-skeleton-section,.dashboard-skeleton-stat{position:relative;overflow:hidden;border-radius:var(--radius-md);background:linear-gradient(180deg,var(--color-border),rgba(0,0,0,.03))}.dashboard-skeleton-header:after,.dashboard-skeleton-hero:after,.dashboard-skeleton-card:after,.dashboard-skeleton-section:after,.dashboard-skeleton-stat:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translate(-100%);animation:dashboard-shimmer 1.6s infinite}.dashboard-skeleton-header{height:48px;width:260px;margin-bottom:24px}.dashboard-skeleton-hero{height:220px;margin-bottom:40px}.dashboard-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:40px}.dashboard-skeleton-card{height:180px}.dashboard-skeleton-section{height:36px;width:220px;margin-bottom:24px}.dashboard-skeleton-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.dashboard-skeleton-stat{height:110px}@keyframes dashboard-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.dashboard-skeleton-header:after,.dashboard-skeleton-hero:after,.dashboard-skeleton-card:after,.dashboard-skeleton-section:after,.dashboard-skeleton-stat:after{animation:none}}@media print{.dashboard-hero{background:none!important;height:auto}}.profile-page{max-width:var(--container-max);margin:0 auto;padding:var(--space-7) var(--space-4)}.profile-page h1{font-size:clamp(1.6rem,3vw,2rem);font-weight:800;margin-bottom:var(--space-6);color:var(--color-text)}.profile-card{display:flex;gap:var(--space-7);align-items:center;background:var(--color-surface);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);margin-bottom:var(--space-8)}.profile-avatar img,.profile-avatar .avatar-initials{width:110px;height:110px;border-radius:50%;object-fit:cover;border:3px solid var(--color-border)}.profile-avatar .avatar-initials{background:var(--color-primary);color:#fff;font-size:36px;font-weight:800;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.profile-avatar.avatar-fallback img{display:none}.profile-avatar.avatar-fallback .avatar-initials{display:flex}.profile-info p{margin:6px 0;font-size:.95rem;color:var(--color-text)}.profile-info strong{color:var(--color-text-muted);font-weight:600}.profile-section{margin-bottom:var(--space-8)}.profile-section h2{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-3);color:var(--color-text)}.profile-section input[type=file]{margin-bottom:var(--space-2)}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:var(--space-4);margin-top:var(--space-5)}.avatar-option{position:relative;background:none;border:2px solid transparent;border-radius:50%;padding:4px;cursor:pointer;transition:transform var(--motion-fast) ease,border-color var(--motion-med) ease,box-shadow var(--motion-med) ease}.avatar-option img{width:64px;height:64px;border-radius:50%;object-fit:cover;display:block}.avatar-option:hover:not(:disabled){border-color:var(--color-primary);transform:scale(1.06)}.avatar-option:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px;background:var(--color-primary-soft)}.avatar-option.selected{border-color:var(--color-success);box-shadow:0 0 0 3px var(--color-success-soft);opacity:.95}.avatar-option.selected:hover{transform:none}.avatar-option.selected img{opacity:.9}.avatar-selected-badge{position:absolute;top:-4px;right:-4px;background:var(--color-success);color:#fff;font-size:12px;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.avatar-option:disabled{cursor:not-allowed;opacity:.6;transform:none;pointer-events:none}.avatar-group{margin-bottom:var(--space-7)}.avatar-group:not(:last-child){padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.avatar-group-title{font-size:1rem;font-weight:700;margin-bottom:var(--space-3);color:var(--color-text-muted);text-transform:capitalize}.profile-error{background:var(--color-danger-soft);color:var(--color-danger);padding:var(--space-3);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;margin-top:var(--space-3);border:1px solid var(--color-danger)}@media(max-width:768px){.profile-card{flex-direction:column;text-align:center;gap:var(--space-5)}.profile-avatar img,.profile-avatar .avatar-initials{width:100px;height:100px}}@media(max-width:480px){.profile-page{padding:var(--space-6) var(--space-3)}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}}@media(prefers-reduced-motion:reduce){.avatar-option{transition:none!important;transform:none!important}}.events-page{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-surface) 100%);min-height:100vh;padding-bottom:60px;overflow-x:hidden}.events-hero{background-size:cover;background-position:center;padding:70px 24px;color:#fff;position:relative;z-index:0}.events-hero:after{content:"";position:absolute;inset:0;z-index:2;background:#00000073}.events-hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(to bottom,#00000026,#0000008c)}.events-hero-overlay{max-width:1100px;margin:0 auto;position:relative;z-index:3}.events-hero h1{font-size:clamp(28px,4vw,38px);font-weight:800;margin-bottom:10px}.events-hero p{max-width:640px;font-size:16px;opacity:.95}.events-header{max-width:1100px;margin:0 auto;padding:40px 24px 30px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.events-controls{display:flex;gap:12px;flex-wrap:wrap;width:100%;max-width:520px}.events-search{padding:10px 14px;border-radius:10px;border:1px solid var(--color-border);font-size:16px;min-width:220px;flex:1;background:var(--color-surface);min-height:44px;-webkit-appearance:none;appearance:none;transition:border-color .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}.events-search::placeholder{color:#9ca3af}.events-search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.events-filter{padding:10px 14px;border-radius:10px;border:1px solid var(--color-border);font-size:16px;font-weight:600;background:var(--color-surface);cursor:pointer;min-width:160px;min-height:44px;-webkit-appearance:none;appearance:none;transition:border-color .15s ease,box-shadow .15s ease}.events-filter:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.events-list{max-width:1100px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;align-content:start;grid-auto-rows:1fr}.event-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 10px 25px #0000000f;transition:transform .2s ease,box-shadow .2s ease;will-change:transform;backface-visibility:hidden;transform:translateZ(0)}.event-card.clickable{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;outline:none}@media(hover:hover){.event-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #0000001a}}.event-card:active{transform:scale(.985);box-shadow:0 8px 20px #0000001f}.event-card:focus-visible{outline:3px solid #2563eb;outline-offset:4px;box-shadow:0 0 0 4px var(--color-primary-soft)}.event-card{outline:none}.event-image{width:100%;aspect-ratio:16 / 9;background-size:cover;background-position:center;background-color:#0f172a;background-repeat:no-repeat;will-change:background-image;contain:layout paint;transform:translateZ(0);transition:opacity .25s ease}.event-body{padding:26px 22px 20px;position:relative}.event-body h3{font-size:20px;font-weight:700;margin-bottom:6px;color:var(--color-text);word-break:break-word;overflow-wrap:anywhere}.event-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.event-badge{font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.event-badge.archived{background:#e5e7eb;color:#374151;border:1px solid var(--color-border)}.admin-badge{position:absolute;top:20px;right:22px;background:#2563eb;color:#fff;font-size:11px;font-weight:800;padding:4px 8px;border-radius:999px;letter-spacing:.04em}.event-desc{color:var(--color-text-muted);margin-bottom:12px;line-height:1.6;font-size:14px;min-height:44px}.event-meta{display:flex;gap:14px;font-size:14px;color:var(--color-text-muted);margin-bottom:14px;flex-wrap:wrap}.event-meta span{display:inline-flex;align-items:center;gap:4px;overflow-wrap:anywhere}.event-engagement{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px;margin-bottom:14px}.engagement-pill{background:var(--color-muted-bg);border:1px solid var(--color-border);padding:7px 10px;border-radius:999px;font-size:13px;font-weight:700;color:var(--color-text);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}.engagement-pill strong{font-weight:900}.engagement-pill.interested{background:#fef3c7;border-color:#fde68a}.engagement-pill.going{background:#dcfce7;border-color:#bbf7d0}.events-status{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#475569}.spinner{width:34px;height:34px;border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:14px;will-change:transform}@keyframes spin{to{transform:rotate(360deg)}}.events-empty{max-width:1100px;margin:0 auto;padding:60px 24px;text-align:center;color:#475569}.events-error{max-width:1100px;margin:0 auto;padding:24px;text-align:center;color:var(--color-danger);font-weight:700;background:var(--color-danger-soft);border-radius:12px}.error-text{color:#dc2626;padding:20px;font-weight:700}@media(max-width:640px){.events-header{flex-direction:column;align-items:flex-start}.events-controls{width:100%;max-width:unset}.events-search,.events-filter{width:100%}.events-list{grid-template-columns:1fr}.event-image{aspect-ratio:16 / 9}}@media(max-width:480px){.event-body{padding:18px}.event-body h3{font-size:18px}}@media(prefers-contrast:more){.event-card{border:2px solid var(--color-text)}}@media(hover:none){.event-card:hover{transform:none;box-shadow:0 10px 25px #0000000f}}.ui-skeleton-block{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 37%,#f1f5f9 63%);background-size:400% 100%;animation:skeleton-loading 1.4s ease infinite;border-radius:8px}@keyframes skeleton-loading{0%{background-position:100% 0}to{background-position:0 0}}.event-details-page{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-surface) 100%);min-height:100vh;padding-bottom:90px}.back-link{margin:20px 24px;background:none;border:none;color:var(--color-primary);font-weight:700;font-size:14px;cursor:pointer;min-height:44px;padding:8px 10px;border-radius:8px;transition:background-color .2s ease,color .2s ease;-webkit-tap-highlight-color:transparent}@media(hover:hover){.back-link:hover{text-decoration:underline}}.back-link:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-soft);border-radius:8px}.event-hero{position:relative;width:100%;overflow:hidden;background:#0f172a;aspect-ratio:16 / 9;max-height:520px;background-size:cover;background-position:center;background-repeat:no-repeat}.event-hero:before{content:"";position:absolute;inset:-20%;pointer-events:none;background:inherit;background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(36px) brightness(1.15);opacity:.32;z-index:0}@media(min-width:1024px){.event-hero{max-height:680px}}.event-hero img{width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center;z-index:1;position:relative;filter:brightness(1.12) contrast(1.05);border-radius:0;transform:scale(1.01);display:block}.event-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,#0000002e,#0000008c);z-index:1}.event-hero-text{position:absolute;bottom:56px;left:50%;transform:translate(-50%);z-index:2;width:100%;max-width:1100px;padding:0 24px;color:#fff}.event-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.event-hero-text h1{font-size:44px;font-weight:900;margin-bottom:10px;line-height:1.15;text-shadow:0 4px 18px rgba(0,0,0,.55);word-break:break-word;overflow-wrap:anywhere}.event-hero-meta{display:flex;gap:18px;font-size:15px;font-weight:600;flex-wrap:wrap;text-shadow:0 2px 10px rgba(0,0,0,.45)}.capacity-info{font-weight:700;opacity:.95}.capacity-info.full{color:var(--color-danger-soft)}.capacity-bar-wrapper{width:140px;max-width:100%;height:6px;background:#ffffff59;border-radius:999px;overflow:hidden;margin-top:6px}.capacity-bar-fill{height:100%;background:var(--color-success);transition:width var(--motion-med) ease}.capacity-bar-fill.full{background:var(--color-danger)}.event-content{max-width:1100px;margin:-32px auto 0;padding:0 24px;position:relative;z-index:5}.event-details-card{background:var(--color-surface);padding:36px;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.event-description{font-size:16px;line-height:1.8;color:var(--color-text);margin-top:12px;overflow-wrap:break-word}.event-actions{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.engagement-stats{display:flex;gap:14px;font-weight:700;font-size:14px;margin-left:auto}@media(max-width:768px){.engagement-stats{width:100%;margin-left:0;margin-top:8px}}.event-badge{display:inline-block;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.event-badge.upcoming{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.event-badge.ended{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.event-badge.archived{background:#e5e7eb;color:#334155;border:1px solid #cbd5e1}.event-badge.full-badge{background:#dc2626;color:#fff;border:1px solid #b91c1c;margin-left:8px}.event-locked-text{width:100%;margin-bottom:8px;font-size:14px;font-weight:700;color:#dc2626}.interest-btn,.going-btn{border:none;padding:10px 18px;border-radius:12px;font-weight:700;font-size:14px;cursor:pointer;background:var(--color-muted-bg);color:var(--color-text);border:1px solid var(--color-border);min-height:44px;transition:transform .15s ease,background-color .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(hover:hover){.interest-btn:hover,.going-btn:hover{background:var(--color-primary-soft)}}.event-locked-message{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;padding:22px;margin:28px 24px;box-shadow:0 12px 30px #00000014}.event-locked-message h2{font-size:20px;font-weight:900;margin-bottom:10px;color:var(--color-text)}.event-locked-message p{color:var(--color-text-muted);font-weight:600;line-height:1.6}.interest-btn:active,.going-btn:active{transform:scale(.96)}.interest-btn.active,.going-btn.active{background:var(--color-primary);color:#fff;box-shadow:0 6px 18px var(--color-primary-soft)}.interest-btn:disabled,.going-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(40%);transform:none}.going-btn:disabled:not(.active){background:var(--color-muted-bg)}.event-comments{margin-top:42px;padding-top:26px;border-top:1px solid var(--color-border)}.event-comments h3{font-size:22px;font-weight:800;margin-bottom:12px;display:flex;align-items:center;gap:10px}.comment-count-badge{background:var(--color-primary);color:#fff;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px}.link-btn{background:none;border:none;color:var(--color-primary);font-size:13px;font-weight:700;cursor:pointer;padding:0}.comment-form{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}.comment-form textarea{width:100%;min-height:90px;resize:vertical;padding:14px 16px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:14px}.comment-form textarea:disabled{background:var(--color-muted-bg);color:var(--color-text-muted);cursor:not-allowed}.comment-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.primary-btn{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);padding:10px 18px;border-radius:12px;font-size:14px;font-weight:800;cursor:pointer;min-height:44px;transition:background var(--motion-med) ease,transform var(--motion-fast) ease}.primary-btn:hover{background:var(--color-primary-hover)}.secondary-btn{background:var(--color-muted-bg);color:var(--color-text);border:1px solid var(--color-border);padding:10px 18px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;min-height:44px;transition:background var(--motion-med) ease,transform var(--motion-fast) ease}.secondary-btn:hover{background:var(--color-bg)}.comment-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}.comment-item{max-width:80%;background:#f9fafb;padding:16px;border-radius:16px;box-shadow:0 6px 16px #00000014;animation:commentFadeIn .25s ease;word-break:break-word;overflow-wrap:anywhere}.comment-item.own-comment{background:#eff6ff;border:1px solid #93c5fd;margin-left:auto}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:8px;flex-wrap:wrap}.comment-author{font-weight:800;color:#0f172a;overflow-wrap:anywhere}.comment-time{font-size:12px;color:#6b7280}.edited-badge{margin-left:6px;font-size:11px;font-weight:700;color:#6b7280}.comment-text{font-size:14px;line-height:1.6;color:var(--color-text);margin-bottom:8px;overflow-wrap:anywhere;word-break:break-word}.edit-comment-box{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.edit-comment-box textarea{width:100%;min-height:80px;resize:vertical;padding:10px 12px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:14px}.edit-comment-box textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.edit-actions{display:flex;gap:10px}.comment-actions{display:flex;gap:10px 14px;margin-top:6px;flex-wrap:wrap;align-items:center}.liked{color:var(--color-primary);font-weight:800}.danger-btn{background:none;border:none;color:var(--color-danger);font-weight:700;cursor:pointer;min-height:36px;padding:4px 6px;border-radius:6px;transition:background-color .2s ease}@media(hover:hover){.danger-btn:hover{background:var(--color-danger-soft)}}.danger-btn:focus-visible{outline:3px solid var(--color-danger);outline-offset:2px}.status-text,.error-text{padding:40px;text-align:center;font-weight:700}.status-text{color:var(--color-text-muted)}.error-text{color:var(--color-danger)}@keyframes commentFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.event-hero{max-height:420px;aspect-ratio:auto}.event-hero img{filter:brightness(1.25) contrast(1.08) saturate(1.08)}.event-hero:after{background:linear-gradient(to bottom,#0000001f,#00000073)}.event-hero-text{bottom:28px;padding:0 16px}.event-title-row{gap:8px}.event-hero-meta{gap:10px;font-size:13px}.capacity-info{display:block;margin-top:4px}.comment-item{max-width:100%}.event-hero-text h1{font-size:28px}}@media(max-width:480px){.event-hero{max-height:340px}.event-hero-text{bottom:18px}.event-hero-text h1{font-size:22px;line-height:1.2;margin-bottom:6px}.event-title-row{flex-direction:column;align-items:flex-start}.event-badge{font-size:11px;padding:5px 10px}.event-details-card{padding:24px}}.link-btn:focus-visible,.primary-btn:focus-visible,.interest-btn:focus-visible,.going-btn:focus-visible,.danger-btn:focus-visible,.comment-form textarea:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.event-details-page button{-webkit-user-select:none;user-select:none}@media(prefers-reduced-motion:reduce){.event-details-page *{animation:none!important;transition:none!important}}.comment-list,.comment-item{max-width:100%;overflow-wrap:anywhere}@media(hover:none){.link-btn:hover{text-decoration:none}}@media(pointer:fine){.comment-list::-webkit-scrollbar{width:6px}.comment-list::-webkit-scrollbar-thumb{background:#c7d2fe;border-radius:6px}}.admin-events-page{padding:32px;max-width:1200px;margin:0 auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.admin-events-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.admin-events-header h1{font-size:28px;font-weight:800;color:var(--color-text)}.admin-events-header p{color:var(--color-text-muted);margin-top:4px;font-size:14px}.admin-events-controls{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;width:100%}.admin-search{flex:1;min-width:260px;padding:10px 14px;border-radius:10px;border:1px solid var(--color-border);font-size:16px;font-weight:600;background:var(--color-surface);color:var(--color-text);min-height:44px;-webkit-appearance:none;appearance:none;transition:border-color .15s ease,box-shadow .15s ease}.admin-search::placeholder{color:var(--color-text-muted)}.admin-search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.admin-filter{min-width:160px;padding:10px 14px;border-radius:10px;border:1px solid var(--color-border);font-size:16px;font-weight:600;background:var(--color-surface);color:var(--color-text);cursor:pointer;min-height:44px;-webkit-appearance:none;appearance:none;transition:border-color .15s ease,box-shadow .15s ease}.admin-filter:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.admin-events-table{background:var(--color-surface);border-radius:16px;overflow-x:auto;box-shadow:var(--shadow-md);border:1px solid var(--color-border);contain:layout paint}.admin-events-table::-webkit-scrollbar{height:8px}.admin-events-table::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.admin-events-table table{width:100%;border-collapse:collapse;min-width:760px}.admin-events-table th,.admin-events-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--color-border);font-size:14px}.admin-events-table th{background:var(--color-muted-bg);font-weight:700;color:var(--color-text);position:sticky;top:0;z-index:2}.admin-events-table tbody tr{transition:background .15s ease}.admin-events-table tbody tr:hover{background:var(--color-muted-bg)}.admin-events-table tbody tr.archived-row{opacity:.7;background:var(--color-muted-bg)}.admin-events-table tbody tr.archived-row .link-btn,.admin-events-table tbody tr.archived-row .danger-btn{opacity:.8}.status-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.status-badge,.capacity-badge{vertical-align:middle}.capacity-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;margin-left:8px}.capacity-badge.full{background:var(--color-danger);color:#fff;border:1px solid var(--color-danger)}.capacity-badge.warning{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid var(--color-warning)}.capacity-badge.unlimited{background:var(--color-info-soft);color:var(--color-info);border:1px solid var(--color-info)}.status-badge.published{background:var(--color-success-soft);color:var(--color-success);border:1px solid var(--color-success)}.status-badge.ended{background:var(--color-warning-soft);color:var(--color-warning);border:1px solid var(--color-warning)}.status-badge.archived{background:var(--color-muted-bg);color:var(--color-text-muted);border:1px solid var(--color-border)}.status-badge.unknown{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger)}.actions-cell{display:flex;gap:12px;align-items:center;white-space:nowrap}.primary-btn{background:var(--color-primary);color:#fff;border:none;padding:10px 16px;border-radius:10px;font-weight:700;cursor:pointer;white-space:nowrap;min-height:44px;transition:background .15s ease,transform .1s ease}.link-btn{background:none;border:none;color:var(--color-primary);font-weight:600;cursor:pointer;padding:0}.actions-cell button:disabled{opacity:.4;cursor:not-allowed;text-decoration:none;pointer-events:none}.danger-btn{background:none;border:none;color:var(--color-danger);font-weight:600;cursor:pointer;padding:0}.danger-btn:hover{text-decoration:underline}.status-text{color:var(--color-text-muted);font-weight:700;padding:20px 0}.error-text{color:var(--color-danger);font-weight:700;padding:20px 0}.empty-box{background:var(--color-muted-bg);padding:40px;border-radius:16px;text-align:center;color:var(--color-text-muted);border:1px solid var(--color-border)}@media(max-width:768px){.admin-events-header{flex-direction:column;align-items:flex-start}.admin-events-controls,.admin-search,.admin-filter{width:100%}.admin-events-page{padding:20px}}@media(prefers-reduced-motion:reduce){.admin-events-page *{animation:none!important;transition:none!important}}@media(hover:none){.admin-events-table tbody tr:hover{background:transparent}}.primary-btn:focus-visible,.link-btn:focus-visible,.danger-btn:focus-visible,.admin-search:focus-visible,.admin-filter:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:2px}.manage-events-page{max-width:1100px;margin:0 auto;padding:28px 16px 60px}.manage-events-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.manage-events-title{font-size:28px;font-weight:900;margin:0 0 6px;color:var(--color-text)}.manage-events-subtitle{margin:0;color:var(--color-text-muted);font-size:14px}.manage-events-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:640px){.manage-events-header{flex-direction:column;align-items:stretch}.manage-events-actions,.manage-events-actions .me-btn{width:100%}}.manage-events-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:18px}.me-status{margin:0;color:var(--color-text);font-weight:800}.me-error{border:1px solid rgba(220,38,38,.25);background:color-mix(in srgb,var(--color-danger-soft) 65%,var(--color-surface))}.me-error-title{margin:0 0 6px;font-weight:900;color:var(--color-danger)}.me-error-text{margin:0 0 10px;color:color-mix(in srgb,var(--color-danger) 70%,var(--color-text))}.me-hint{margin:0;color:var(--color-text);font-size:13px}.me-hint code{background:#0f172a0f;padding:2px 6px;border-radius:var(--radius-xs)}.manage-events-item.ui-skeleton{pointer-events:none}.manage-events-item.ui-skeleton .ui-skeleton-block{display:block}.manage-events-item.ui-skeleton .me-item-title,.manage-events-item.ui-skeleton .me-item-meta span,.manage-events-item.ui-skeleton .me-item-buttons{visibility:hidden}.manage-events-item.ui-skeleton .me-item-buttons{min-height:44px}.manage-events-grid{display:grid;grid-template-columns:1fr;gap:14px}.manage-events-item{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px;border:1px solid rgba(15,23,42,.06);transition:transform var(--motion-med) ease,box-shadow var(--motion-med) ease,border-color var(--motion-med) ease}@media(hover:hover){.manage-events-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--color-primary) 18%,var(--color-border))}}.me-item-title-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.me-item-title{margin:0;font-size:18px;font-weight:900;color:var(--color-text)}.me-item-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--color-text-muted);font-size:13px;margin-bottom:14px}.me-item-buttons{display:flex;gap:10px;flex-wrap:wrap}.me-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;text-decoration:none;font-weight:800;font-size:13px;transition:transform var(--motion-fast) ease,box-shadow var(--motion-med) ease,background var(--motion-med) ease,border-color var(--motion-med) ease}.me-btn:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.me-btn:active{transform:scale(.98)}.me-btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface);box-shadow:0 10px 22px #2563eb38}@media(hover:hover){.me-btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:0 14px 28px #2563eb47}}.me-btn-secondary{background:var(--color-surface);border-color:color-mix(in srgb,var(--color-text) 18%,var(--color-border));color:var(--color-text)}@media(hover:hover){.me-btn-secondary:hover{background:var(--color-muted-bg)}}.me-btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-surface);box-shadow:0 10px 22px #ef444433}@media(hover:hover){.me-btn-danger:hover{background:var(--color-danger-hover);border-color:var(--color-danger-hover);box-shadow:0 14px 28px #ef444447}}.me-btn-danger:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.me-badge{font-size:12px;font-weight:900;padding:6px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.1);background:#0f172a0d;color:var(--color-text)}.me-badge.draft{background:var(--color-warning-soft);color:color-mix(in srgb,var(--color-warning) 70%,var(--color-text));border-color:color-mix(in srgb,var(--color-warning) 35%,var(--color-border))}.me-badge.published{background:var(--color-success-soft);color:color-mix(in srgb,var(--color-success) 70%,var(--color-text));border-color:color-mix(in srgb,var(--color-success) 35%,var(--color-border))}.me-badge.ended{background:color-mix(in srgb,var(--color-muted-bg) 75%,var(--color-surface));color:var(--color-text);border-color:var(--color-border)}.me-badge.archived{background:#6366f11f;color:var(--color-indigo);border-color:#6366f140}.me-badge.unknown{background:#0f172a0f;color:var(--color-text)}@media(min-width:820px){.manage-events-grid{grid-template-columns:1fr 1fr}}@media(min-width:1200px){.manage-events-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.manage-events-actions,.manage-events-actions .me-btn{width:100%}}@media(max-width:480px){.manage-events-page{padding:20px 12px 50px}.me-item-buttons{flex-direction:column}.me-item-buttons .me-btn{width:100%}.manage-events-title{font-size:22px}.manage-events-item{padding:14px}.me-item-title{font-size:16px}.me-item-meta{font-size:12px}}@media(hover:none){.manage-events-item:hover{transform:none;box-shadow:var(--shadow-sm)}}@media(prefers-reduced-motion:reduce){.manage-events-item,.me-btn{transition:none!important}.manage-events-item:hover,.me-btn:hover,.me-btn:active{transform:none!important}}img{max-width:100%;height:auto;display:block}.admin-event-page{background-color:var(--color-bg);min-height:100vh;overflow-x:hidden}.admin-event-hero{background-size:cover;background-position:center;background-repeat:no-repeat;padding:70px 24px;color:#fff;position:relative}.admin-event-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#00000040,#0000008c);pointer-events:none}.admin-event-hero-content{max-width:900px;margin:0 auto;position:relative;z-index:1}.admin-event-hero h1{font-size:38px;font-weight:800;margin-bottom:10px;line-height:1.2;word-break:break-word;overflow-wrap:anywhere}.admin-event-hero p{max-width:650px;opacity:.95;font-size:15px;line-height:1.6}.admin-event-container{padding:40px 24px 60px}.admin-event-card{max-width:900px;margin:0 auto;background-color:var(--color-surface);border-radius:14px;padding:32px;box-shadow:0 10px 25px #0000000d;overflow:hidden}.admin-event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px}.admin-event-header h2{font-size:22px;font-weight:800;color:var(--color-text)}.back-button{padding:8px 14px;background-color:var(--color-muted-bg);border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:background .2s ease,transform .15s ease;min-height:44px;-webkit-tap-highlight-color:transparent}.back-button:hover{background-color:var(--color-bg);transform:translateY(-1px)}.error-box{background:var(--color-danger-soft);color:var(--color-danger);padding:12px 14px;border-radius:8px;margin-bottom:16px;border:1px solid var(--color-danger);font-weight:600}.success-box{background:var(--color-success-soft);color:var(--color-success);padding:12px 14px;border-radius:8px;margin-bottom:16px;border:1px solid var(--color-success);font-weight:600}.status-text{color:var(--color-text-muted);margin-top:10px}.form-label{font-weight:700;display:block;margin-top:10px;color:var(--color-text);font-size:14px;line-height:1.4}.form-input,.form-textarea{width:100%;padding:12px;border-radius:8px;border:1px solid var(--color-border);margin-top:8px;margin-bottom:14px;outline:none;background:var(--color-surface);color:var(--color-text);-webkit-appearance:none;appearance:none;-webkit-font-smoothing:antialiased;font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.form-input:focus-visible,.form-textarea:focus-visible,.back-button:focus-visible,.primary-btn:focus-visible,.secondary-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.form-textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}.all-day-toggle{display:flex;align-items:center;gap:8px;margin-top:6px;margin-bottom:12px}.all-day-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.all-day-toggle label{font-size:14px;font-weight:600;color:var(--color-text);cursor:pointer}.form-input:disabled,button:disabled,button[aria-disabled=true]{background-color:var(--color-muted-bg);cursor:not-allowed;opacity:.75}input[type=file]{width:100%;margin-top:8px;margin-bottom:14px;padding:10px;background-color:var(--color-surface);border-radius:8px;border:1px solid var(--color-border);cursor:pointer}input[type=file]::-webkit-file-upload-button{cursor:pointer}input[type=file]::file-selector-button{padding:8px 14px;background-color:var(--color-primary);color:#fff;border:none;border-radius:6px;font-weight:700;margin-right:12px;cursor:pointer}input[type=file]::file-selector-button:hover{background-color:var(--color-primary-hover)}.image-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:14px;margin-bottom:16px}.image-wrapper{position:relative}.image-preview-grid img{width:100%;height:90px;object-fit:cover;border-radius:10px;border:1px solid var(--color-border);box-shadow:0 6px 18px #00000014;transition:transform .2s ease,box-shadow .2s ease}.image-preview-grid img:hover{transform:scale(1.05);box-shadow:0 10px 25px #0000001f}.remove-image-btn{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;border:none;background:var(--color-text);color:#fff;font-size:14px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}.remove-image-btn:hover{background:var(--color-danger)}.form-actions{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}.primary-btn{padding:10px 18px;background-color:var(--color-primary);color:#fff;border:none;border-radius:8px;font-weight:800;cursor:pointer;transition:background .2s ease,transform .15s ease;min-height:44px;-webkit-tap-highlight-color:transparent}.primary-btn:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.primary-btn[aria-busy=true]{pointer-events:none;opacity:.7}.secondary-btn{padding:10px 16px;background-color:var(--color-muted-bg);border:1px solid var(--color-border);border-radius:8px;font-weight:700;cursor:pointer}.admin-note{margin-top:18px;color:var(--color-text-muted);font-size:13px}@media(max-width:640px){.form-row{grid-template-columns:1fr}.admin-event-header{flex-direction:column;align-items:flex-start;gap:12px}.image-preview-grid{grid-template-columns:repeat(2,1fr)}.admin-event-hero h1{font-size:28px}}.lostfound-page{max-width:1200px;margin:0 auto;padding-bottom:60px;padding-left:16px;padding-right:16px;width:100%;overflow-x:hidden}.lostfound-hero{height:260px;background-size:cover;background-position:center;border-radius:var(--radius-lg);margin:32px 0 40px;position:relative;overflow:hidden}.lostfound-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(#0000008c,#00000059);z-index:1}.lostfound-hero-overlay{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding:40px;color:var(--color-surface)}.lostfound-hero-overlay h1{font-size:36px;margin-bottom:8px;font-weight:800}.lostfound-hero-overlay p{font-size:16px;max-width:520px;color:var(--color-surface);opacity:.85;line-height:1.6}.lostfound-header{display:flex;justify-content:space-between;align-items:center;margin:0 0 32px}.lostfound-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;width:100%}.search-input{padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:14px;font-weight:600;min-width:220px;flex:1;max-width:520px;background:var(--color-surface);color:var(--color-text)}.search-input::placeholder{color:var(--color-text-muted)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.primary-btn{background:var(--color-primary);color:var(--color-surface);padding:10px 16px;border-radius:var(--radius-md);font-weight:700;text-decoration:none;white-space:nowrap;transition:background var(--motion-med) ease,transform var(--motion-fast) ease}.status-filter{padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);font-weight:600;font-size:14px;min-width:140px;background:var(--color-surface);color:var(--color-text);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.status-filter:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.status-tabs{display:flex;gap:10px;margin:0 0 24px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.status-tabs::-webkit-scrollbar{display:none}.status-tab{padding:8px 16px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);font-size:13px;font-weight:800;color:var(--color-text);cursor:pointer;flex-shrink:0;transition:background var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) ease}.status-tab:hover{background:var(--color-primary-soft);color:var(--color-primary);border-color:var(--color-primary);transform:translateY(-1px)}.status-tab.active{background:var(--color-primary);color:var(--color-surface);border-color:var(--color-primary)}.status-tab:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.lostfound-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;width:100%;margin-bottom:20px}.lostfound-grid>.lostfound-card:nth-child(1){animation-delay:40ms}.lostfound-grid>.lostfound-card:nth-child(2){animation-delay:80ms}.lostfound-grid>.lostfound-card:nth-child(3){animation-delay:.12s}.lostfound-grid>.lostfound-card:nth-child(4){animation-delay:.16s}.lostfound-grid>.lostfound-card:nth-child(5){animation-delay:.2s}@keyframes lfFadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.lostfound-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform var(--motion-med) ease,box-shadow var(--motion-med) ease;word-break:break-word;animation:lfFadeInUp var(--motion-med) ease-out both;will-change:transform,opacity}.lostfound-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}@media(hover:none){.lostfound-card:hover{transform:none}}.lostfound-card:active{transform:scale(.985)}.lostfound-card .status-badge.expired{filter:grayscale(30%)}.lostfound-card.expired{opacity:.94}.lostfound-card.expired:hover{transform:none;box-shadow:var(--shadow-sm)}.lostfound-card.archived{opacity:.8;filter:grayscale(8%)}.lostfound-card.archived *{pointer-events:auto}.lf-action-btn.delete:disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.lf-action-btn.delete[data-admin=true]{background:#e53935;color:#fff;font-weight:600}.lostfound-image{width:100%;height:200px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--color-border);border-radius:10px;background-color:transparent;cursor:zoom-in;transition:transform var(--motion-med) ease,opacity var(--motion-med) ease}.lostfound-image img{width:100%;height:100%;object-fit:cover;display:block;border-radius:10px;transition:transform var(--motion-med) ease}@media(hover:hover){.lostfound-image:hover img{transform:scale(1.05)}}.lostfound-body{padding:22px 22px 24px}.lostfound-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.lostfound-body h3{font-size:18px;color:var(--color-text);font-weight:700;overflow-wrap:anywhere}.lostfound-body p{color:var(--color-text-muted);margin-bottom:12px;line-height:1.55;font-size:14px}.lostfound-meta{display:flex;gap:16px;font-size:13px;color:var(--color-text-muted);margin-bottom:10px}.lostfound-owner{font-size:13px;color:var(--color-text);margin-bottom:10px;font-weight:600}.verification-note{margin:12px 0;padding:12px 14px;background:var(--color-warning-soft);border:1px solid var(--color-warning);border-left:5px solid var(--color-warning);border-radius:var(--radius-md);font-size:13px;line-height:1.55;color:var(--color-text)}.verification-note strong{display:block;margin-bottom:6px;font-weight:900;color:var(--color-warning)}.lostfound-admin-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.lf-action-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:800;letter-spacing:.3px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:transform var(--motion-fast) ease,background var(--motion-fast) ease,border-color var(--motion-fast) ease}.lf-action-btn.delete{pointer-events:auto;opacity:1;cursor:pointer;background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger)}.lf-action-btn.delete[data-admin=true]{background:var(--color-danger);color:var(--color-surface);border-color:var(--color-danger)}.lf-action-btn.delete:hover{background:var(--color-danger);color:var(--color-surface)}.lf-action-btn.claim{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning)}.lf-action-btn.claim:hover{background:var(--color-warning);color:var(--color-surface)}.lf-action-btn:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.lf-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;filter:grayscale(20%)}.status-badge{padding:4px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis;border:1px solid var(--color-border)}.status-badge.archived{background:#111827;color:var(--color-surface)}.status-text{color:var(--color-text-muted);padding:30px;text-align:center;font-weight:600}.error-text{color:var(--color-danger);padding:30px;text-align:center;font-weight:700}.image-zoom-overlay{position:fixed;inset:0;background:#000000d9;z-index:2000;display:flex;align-items:center;justify-content:center}.image-zoomed{max-width:90%;max-height:90%;border-radius:16px;box-shadow:0 20px 60px #0009;animation:zoomIn var(--motion-med) ease}.zoom-close{position:absolute;top:24px;right:30px;font-size:36px;font-weight:800;color:#fff;cursor:pointer}@keyframes zoomIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:1024px){.lostfound-admin-actions{gap:8px}}@media(max-width:768px){.lostfound-header{flex-direction:column;align-items:flex-start;gap:14px}.lostfound-hero{height:200px}.lostfound-actions{flex-direction:column;align-items:stretch}.search-input{width:100%;max-width:unset}.status-filter,.primary-btn{width:100%}.status-tabs{justify-content:flex-start}.lostfound-grid{grid-template-columns:1fr;gap:18px}.lostfound-card{border-radius:16px}.lostfound-image{height:200px}.lostfound-body{padding:16px}.lostfound-meta{flex-direction:column;gap:6px}.lostfound-admin-actions{flex-direction:column;gap:8px}.lf-action-btn{width:100%;justify-content:center}.primary-btn,.status-filter{padding:14px}.lostfound-hero-overlay{padding:24px}.lostfound-hero-overlay h1{font-size:28px}}.lostfound-details-page{max-width:900px;margin:0 auto;padding:0 16px 40px;width:100%}.back-btn{background:none;border:none;color:var(--color-primary);font-weight:600;cursor:pointer;margin-bottom:24px;font-size:14px}.back-btn:hover{text-decoration:underline;color:var(--color-primary-hover)}.details-card{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;background:var(--color-surface);padding:28px;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);overflow:hidden;width:100%}.details-image{width:100%;height:320px;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-muted-bg);cursor:zoom-in}.image-hint{font-size:12px;color:var(--color-text-muted);margin-top:6px;margin-bottom:16px;text-align:center}@media(min-width:769px){.image-hint{display:none}}.details-content h1{font-size:28px;font-weight:800;margin-bottom:10px;color:var(--color-text)}.details-content{word-break:break-word;overflow-wrap:anywhere}.details-description{margin:18px 0;line-height:1.6;color:var(--color-text-muted);font-size:15px;word-break:break-word;overflow-wrap:anywhere}.details-meta{font-size:14px;color:var(--color-text-muted);margin-bottom:20px}.status-badge{display:inline-block;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:800;margin-bottom:14px;letter-spacing:.6px;text-transform:uppercase;border:1px solid var(--color-border)}.status-badge.lost{background:var(--color-danger-soft);color:var(--color-danger)}.status-badge.found{background:var(--color-warning-soft);color:var(--color-warning)}.status-badge.claimed{background:var(--color-info-soft);color:var(--color-primary)}.status-badge.closed{background:var(--color-success-soft);color:var(--color-success)}.status-badge.expired{background:var(--color-muted-bg);color:var(--color-text-muted);border:1px solid var(--color-muted-border)}.status-badge.archived{background:var(--color-dark);color:var(--color-surface)}.owner-card{display:flex;gap:14px;align-items:center;background:var(--color-muted-bg);padding:16px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.owner-card img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid var(--color-border)}.owner-card strong{font-size:14px;color:var(--color-text)}.owner-card p{font-size:14px;color:var(--color-text-muted)}.verification-note{margin:18px 0;padding:16px;border-radius:var(--radius-md);background:var(--color-warning-soft);border:1px solid var(--color-warning);border-left:5px solid var(--color-warning);color:var(--color-text)}.verification-note small{display:block;margin-top:6px;font-size:12px;color:var(--color-text-muted)}.lifecycle-box{margin:18px 0;padding:16px;border-radius:var(--radius-md);background:var(--color-muted-bg);border:1px solid var(--color-border);font-size:14px;color:var(--color-text)}.lifecycle-box strong{display:block;margin-bottom:8px;font-weight:800;color:var(--color-text)}.lifecycle-box p:not(:last-child){border-bottom:1px solid var(--color-border);padding-bottom:6px}.expiry-info{margin:14px 0 6px;padding:12px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:700;border:1px solid transparent}.expiry-info.normal{background:var(--color-info-soft);color:var(--color-primary);border-color:var(--color-primary)}.admin-note-box{margin:20px 0;padding:18px;border-radius:var(--radius-md);background:var(--color-muted-bg);border:1px solid var(--color-border)}.admin-note-box label{display:block;margin-bottom:8px;font-size:14px;color:var(--color-text)}.admin-note-box textarea{width:100%;resize:vertical;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:14px;margin-bottom:12px;background:var(--color-surface);color:var(--color-text)}.admin-note-box textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.action-buttons{display:flex;flex-direction:column;gap:12px}.claim-btn{margin-top:0;background:var(--color-primary);color:var(--color-surface);padding:12px 18px;border:none;border-radius:var(--radius-md);font-weight:700;cursor:pointer;transition:background var(--motion-fast) ease,transform var(--motion-fast) ease}.claim-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.claim-btn:disabled{background:var(--color-muted-border);cursor:not-allowed;transform:none;opacity:.8}.status-text{font-weight:600;color:var(--color-text-muted)}.error-text{font-weight:600;color:var(--color-danger)}.image-modal{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out;animation:fadeIn var(--motion-fast) ease}.image-modal img{max-width:92%;max-height:92%;object-fit:contain;border-radius:var(--radius-md);background:var(--color-surface);padding:10px;box-shadow:var(--shadow-lg)}.image-modal .close-btn{position:absolute;top:20px;right:24px;font-size:36px;font-weight:700;color:var(--color-surface);background:transparent;border:none;cursor:pointer;-webkit-user-select:none;user-select:none}.image-modal .close-btn:hover{transform:scale(1.1);opacity:.9}@media(max-width:768px){.lostfound-details-page{padding:0 16px 40px}.details-card{grid-template-columns:1fr;padding:20px}.details-image{height:260px}.details-content h1{font-size:24px}.claim-btn{width:100%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lostform-page{min-height:100vh;background:linear-gradient(180deg,var(--color-bg),color-mix(in srgb,var(--color-bg) 85%,var(--color-surface)));display:flex;justify-content:center;align-items:flex-start;padding:40px 20px;overflow-x:hidden;width:100%}.lostform-card{background:var(--color-surface);max-width:560px;width:100%;padding:32px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:18px;word-break:break-word;overflow-wrap:anywhere}.lostform-card h1{font-size:26px;font-weight:900;color:var(--color-text)}.lostform-subtitle{color:var(--color-text-muted);font-size:14px;line-height:1.5}.lostform-card form{display:flex;flex-direction:column;gap:14px}.lostform-card label{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:14px;color:var(--color-text);touch-action:manipulation}.lostform-card input,.lostform-card textarea,.lostform-card select{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:16px;background:var(--color-surface);color:var(--color-text);min-height:44px;appearance:none;transition:border-color var(--motion-med) ease,box-shadow var(--motion-med) ease,background var(--motion-med) ease}.lostform-card textarea{resize:vertical;min-height:90px}.lostform-card input:focus,.lostform-card textarea:focus,.lostform-card select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.lostform-card input[type=file]{padding:14px;font-size:16px;background:var(--color-muted-bg);border:2px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--motion-med) ease,border-color var(--motion-med) ease,box-shadow var(--motion-med) ease}@media(hover:hover){.lostform-card input[type=file]:hover{background:color-mix(in srgb,var(--color-muted-bg) 80%,var(--color-surface))}}.lostform-card input[type=file]:active{border-color:var(--color-primary);background:var(--color-primary-soft)}.lostform-card input[type=file].file-error{border-color:var(--color-danger);background:var(--color-danger-soft);box-shadow:0 0 0 3px var(--color-danger-soft)}.image-preview-wrapper:empty{display:none}.image-preview-wrapper{width:100%;margin-top:10px;display:flex;justify-content:center;animation:fadeIn var(--motion-med) ease}.image-preview-box{width:100%;max-width:420px;height:240px;background:var(--color-muted-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;overflow:hidden}.image-preview-box img{width:100%;height:100%;object-fit:contain;will-change:transform;backface-visibility:hidden;transform:translateZ(0)}.lostform-card button{margin-top:16px;padding:13px;background:var(--color-primary);color:var(--color-surface);border:none;border-radius:var(--radius-md);font-weight:900;font-size:15px;cursor:pointer;min-height:44px;will-change:transform;transform:translateZ(0);transition:background var(--motion-med) ease,transform var(--motion-fast) ease,box-shadow var(--motion-med) ease}@media(hover:hover){.lostform-card button:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}}.lostform-card button:active{transform:scale(.98)}.lostform-card button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.lostform-card button:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:4px}.error-box{background:var(--color-danger-soft);color:var(--color-danger);padding:10px 14px;border-radius:var(--radius-sm);font-weight:700;font-size:14px;border:1px solid var(--color-danger)}.success-box{background:var(--color-success-soft);color:var(--color-success);padding:10px 14px;border-radius:var(--radius-sm);font-weight:700;font-size:14px;border:1px solid var(--color-success)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.lostform-card{padding:24px}.image-preview-box{height:180px}}@media(prefers-color-scheme:dark){.lostform-card{box-shadow:var(--shadow-md)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.lostform-card button:hover{transform:none!important}}.lostform-page{max-width:720px;margin:40px auto;padding:36px;border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.lostform-card{display:flex;flex-direction:column;width:100%;word-break:break-word;overflow-wrap:anywhere}.create-lost-page{max-width:720px;margin:40px auto;padding:36px;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);overflow:hidden;display:flex;flex-direction:column}.create-lost-page h2,.lostform-page h1{font-size:28px;font-weight:800;margin-bottom:26px;color:var(--color-text)}.image-preview-wrapper,.edit-lost-image-preview{display:flex;flex-direction:column;align-items:center;margin-bottom:28px;width:100%}.image-preview-box,.edit-lost-image-box{width:100%;max-width:420px;height:260px;background:var(--color-muted-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;overflow:hidden}.image-preview-box img,.edit-lost-image-box img{width:100%;height:100%;object-fit:contain;display:block;max-width:100%;max-height:100%}.image-note{margin-top:10px;font-size:13px;color:#6b7280;text-align:center}form,.lost-form{display:flex;flex-direction:column;gap:var(--space-5)}form label,.lost-form label{display:flex;flex-direction:column;font-weight:600;font-size:14px;color:var(--color-text)}form input[type=text],form textarea,form select,.lost-form input[type=text],.lost-form textarea,.lost-form select{margin-top:var(--space-2);padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:14px;outline:none;background:var(--color-surface);color:var(--color-text);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background var(--motion-fast) ease}form textarea,.lost-form textarea{resize:vertical;min-height:100px;max-width:100%}form input:focus,form textarea:focus,form select:focus,.lost-form input:focus,.lost-form textarea:focus,.lost-form select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}form input:disabled,form textarea:disabled,form select:disabled,.lost-form input:disabled,.lost-form textarea:disabled,.lost-form select:disabled{background:var(--color-muted-bg);color:var(--color-text-muted);cursor:not-allowed}form input[type=file],.lost-form input[type=file]{margin-top:10px;font-size:13px}.form-actions{display:flex;gap:16px;margin-top:18px;flex-wrap:wrap}.primary-btn{background:var(--color-primary);color:var(--color-surface);border:none;padding:12px 22px;border-radius:var(--radius-md);font-weight:700;font-size:14px;cursor:pointer;transition:background var(--motion-fast) ease,transform var(--motion-fast) ease}.primary-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.primary-btn:disabled{background:var(--color-muted-border);opacity:.6;cursor:not-allowed;transform:none}.secondary-btn{background:var(--color-muted-bg);color:var(--color-text);border:1px solid var(--color-border);padding:12px 22px;border-radius:var(--radius-md);font-weight:700;font-size:14px;cursor:pointer;transition:background var(--motion-fast) ease}.secondary-btn:hover{background:var(--color-border)}.expiry-info{margin:18px 0 24px;padding:14px 18px;border-radius:var(--radius-md);font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px;border:1px solid transparent}.expiry-info.normal{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success)}.expiry-info.warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning)}.expiry-info.expired{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger)}.status-text{color:var(--color-text-muted);padding:20px 0;font-weight:600}.error-text{color:var(--color-danger);padding:20px 0;font-weight:600}@media(max-width:640px){.create-lost-page,.lostform-page{padding:24px;margin:20px}.create-lost-page h2,.lostform-page h1{font-size:24px}.image-preview-box,.edit-lost-image-box{height:220px;max-width:100%}.form-actions{flex-direction:column}.primary-btn,.secondary-btn{width:100%}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.marketplace-page{max-width:1200px;margin:0 auto;padding-bottom:40px;overflow-x:hidden}.marketplace-banner{min-height:260px;background-size:cover;background-position:center;border-radius:18px;padding:40px;display:flex;flex-direction:column;justify-content:center;color:var(--color-surface);margin-bottom:40px;position:relative;overflow:hidden}.marketplace-banner:after{content:"";position:absolute;inset:0;background:#00000073;z-index:1}.marketplace-banner h1,.marketplace-banner p,.marketplace-banner-actions{position:relative;z-index:2}.marketplace-banner h1{font-size:36px;font-weight:800;margin-bottom:10px}.marketplace-banner p{font-size:16px;max-width:520px;line-height:1.6}@media(max-width:480px){.marketplace-banner{min-height:auto;padding:24px 20px;border-radius:14px}.marketplace-banner h1{font-size:26px}.marketplace-banner p{font-size:14px;line-height:1.5}}.marketplace-banner-actions{display:flex;align-items:center;gap:16px;margin-top:22px;position:relative;z-index:2;flex-wrap:wrap;padding-bottom:48px}.primary-action{background:var(--color-primary);color:var(--color-surface);padding:12px 24px;border-radius:var(--radius-md);font-weight:800;font-size:14px;border:none;min-width:160px;text-align:center;cursor:pointer;transition:background var(--motion-med) ease,transform var(--motion-fast) ease}.secondary-action{background:#ffffffeb;color:var(--color-dark);padding:12px 22px;border-radius:var(--radius-md);font-weight:700;font-size:14px;border:1px solid rgba(255,255,255,.6);cursor:pointer;min-width:160px;text-align:center;transition:background var(--motion-med) ease,transform var(--motion-fast) ease}.secondary-action:hover{background:#fff;transform:translateY(-1px)}.marketplace-filters{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0 30px;align-items:flex-end}.marketplace-filters input,.marketplace-filters select{padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:14px;background:var(--color-surface);color:var(--color-text)}.marketplace-filters input{flex:1;min-width:260px}.marketplace-filters select{min-width:180px;cursor:pointer}.marketplace-filters input:focus,.marketplace-filters select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.marketplace-filters input:focus-visible,.marketplace-filters select:focus-visible,.clear-filters-btn:focus-visible,.primary-action:focus-visible,.secondary-action:focus-visible,.pagination button:focus-visible,.view-btn:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.clear-filters-btn{padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-weight:600;cursor:pointer;transition:background var(--motion-med) ease,transform var(--motion-fast) ease}.clear-filters-btn:hover{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-soft)}.clear-filters-btn:active{transform:scale(.98)}.empty-state p{color:var(--color-text-muted);font-size:16px;font-weight:600}@keyframes mpFadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.marketplace-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.marketplace-grid>.marketplace-card:nth-child(1){animation-delay:40ms}.marketplace-grid>.marketplace-card:nth-child(2){animation-delay:80ms}.marketplace-grid>.marketplace-card:nth-child(3){animation-delay:.12s}.marketplace-grid>.marketplace-card:nth-child(4){animation-delay:.16s}.marketplace-grid>.marketplace-card:nth-child(5){animation-delay:.2s}.marketplace-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--shadow-md);display:flex;flex-direction:column;position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--motion-med) cubic-bezier(.4,0,.2,1),box-shadow var(--motion-slow) cubic-bezier(.4,0,.2,1);animation:mpFadeInUp var(--motion-med) ease-out both;will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0)}.marketplace-card:focus-within{outline:3px solid var(--color-primary-soft);outline-offset:2px}.marketplace-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}@media(hover:none){.marketplace-card:hover{transform:none;box-shadow:var(--shadow-md)}}.marketplace-card.inactive{opacity:.6;pointer-events:none}.marketplace-card.inactive:hover{transform:none;box-shadow:var(--shadow-md)}.marketplace-card.sold-item{opacity:.75;filter:grayscale(30%);position:relative}.marketplace-card.sold-item a,.marketplace-card.sold-item button{pointer-events:none}.marketplace-card.sold-item:after{content:"CLOSED";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:28px;font-weight:900;letter-spacing:2px;color:var(--color-surface);background:linear-gradient(#00000059,#00000059);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2;pointer-events:none}.marketplace-card.sold-item:hover{transform:none;box-shadow:var(--shadow-md)}.marketplace-card.sold-item.badge-is-sold:after{content:"SOLD"}.marketplace-card.sold-item.badge-is-given:after{content:"GIVEN"}.marketplace-card.sold-item.badge-is-fulfilled:after{content:"FULFILLED"}.marketplace-card.sold-item.badge-is-expired:after{content:"EXPIRED"}.marketplace-card.sold-item.badge-is-removed:after{content:"REMOVED"}@media(max-width:480px){.marketplace-card.sold-item:after{font-size:22px}}.badge{position:absolute;top:12px;left:12px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.4px;z-index:1;color:var(--color-surface);max-width:90%}.badge-sold{background:var(--color-danger)}.sold-badge{background:var(--color-danger);position:absolute;top:12px;left:12px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;z-index:1}.badge-given,.badge-free{background:var(--color-success)}.badge-request{background:var(--color-warning);color:var(--color-dark)}.badge-expired{background:var(--color-text-muted)}.badge-removed{background:var(--color-dark)}.marketplace-card-img{width:100%;height:180px;aspect-ratio:16 / 9;object-fit:cover;background:var(--color-bg);display:block;content-visibility:auto;user-select:none;-webkit-user-drag:none;-webkit-user-select:none;touch-action:manipulation;pointer-events:auto}.marketplace-card h3{font-size:18px;font-weight:700;margin:16px 16px 6px;color:var(--color-text)}.marketplace-card .price{color:var(--color-primary);font-weight:700;margin:0 16px 14px;font-size:16px}.marketplace-card .price.free{color:var(--color-success);font-weight:800;text-transform:uppercase}.marketplace-card .price.request{color:var(--color-warning);font-weight:800;text-transform:uppercase}.view-btn{margin:auto 16px 16px;text-align:center;padding:10px 14px;border-radius:var(--radius-md);text-decoration:none;font-weight:700;background:var(--color-primary);color:var(--color-surface);transition:background var(--motion-med) ease,transform var(--motion-fast) ease}.view-btn:hover{background:var(--color-primary-hover)}.view-btn:active{transform:scale(.98)}.view-btn.free{background:var(--color-success)}.view-btn.request{background:var(--color-warning);color:var(--color-dark)}.view-btn.disabled{background:var(--color-text-muted);color:var(--color-surface);pointer-events:none;cursor:not-allowed}.pagination{display:flex;justify-content:center;gap:8px;margin-top:40px}.pagination button{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font-weight:600;color:var(--color-text)}.pagination button.active{background:var(--color-primary);color:var(--color-surface);border-color:var(--color-primary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.marketplace-banner-actions,.marketplace-filters{flex-direction:column;align-items:stretch}.marketplace-filters input,.marketplace-filters select,.clear-filters-btn{width:100%}.primary-action,.secondary-action{width:100%;text-align:center}}@media(max-width:480px){.marketplace-card-img{height:200px;object-position:center}}@media(prefers-reduced-motion:reduce){.main-image,.thumbnail,.rating-star,.contact-btn,.mark-sold-btn{transition:none!important}.main-image:hover,.rating-star:hover{transform:none!important}}.marketplace-details{max-width:900px;width:100%;margin:0 auto;padding-bottom:40px;grid-column:1 / -1;display:block}.back-btn{background:none;border:none;color:var(--color-primary);font-weight:600;cursor:pointer;margin-bottom:20px;font-size:14px}.back-btn:hover{text-decoration:underline}.details-card{background:var(--color-surface);padding:36px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow-x:hidden;width:100%;grid-column:1 / -1}.title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.details-card h1{font-size:32px;font-weight:800;margin-bottom:6px}.price{font-size:24px;font-weight:700;color:var(--color-primary);margin-bottom:6px}.price.free-label{color:var(--color-success);font-size:24px;font-weight:800;margin-bottom:6px;display:inline-block}.item-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;font-weight:600;color:var(--color-text-muted);margin-bottom:6px}.item-meta span{white-space:nowrap}.sold-badge{background:var(--color-danger);color:#fff;font-size:12px;font-weight:800;padding:6px 12px;border-radius:999px}.details-card.sold-item{opacity:.85;filter:grayscale(15%)}.free-badge{background:var(--color-success);color:#fff;font-size:12px;font-weight:800;padding:6px 12px;border-radius:999px}.price.request-label{background:var(--color-warning);color:var(--color-dark);font-size:18px;font-weight:800;padding:6px 14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;width:fit-content}.lifecycle-badge{font-size:12px;font-weight:800;padding:6px 12px;border-radius:999px;display:inline-flex;align-items:center}.expires-soon-badge{background:var(--color-warning);color:var(--color-dark)}.extended-badge{background:var(--color-primary);color:#fff}.expired-badge{background:var(--color-text-muted);color:#fff}.description-list{margin:12px 0 28px;padding-left:22px}.description-list.fixed-description{min-height:40px}.description-list li{margin-bottom:8px;line-height:1.6;color:var(--color-text-muted);font-size:15px}.image-viewer{position:relative;margin-bottom:28px;width:100%;grid-column:1 / -1;background:var(--color-bg)}.image-counter{position:absolute;top:14px;right:14px;background:#000000a6;color:#fff;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.main-image{width:100%;height:380px;object-fit:contain;border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:14px;cursor:zoom-in;transition:transform .35s ease,box-shadow .35s ease;background:var(--color-bg)}@media(hover:none){.main-image:hover{transform:none;box-shadow:none}}.main-image:hover{transform:scale(1.04);box-shadow:0 18px 45px #00000038}.main-image.zoomed{transform:scale(1.12);cursor:zoom-out}.thumbnail-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;scroll-behavior:smooth}.thumbnail-row::-webkit-scrollbar{height:6px}.thumbnail-row::-webkit-scrollbar-track{background:transparent}.thumbnail-row::-webkit-scrollbar-thumb{background:#0003;border-radius:999px}.thumbnail{width:72px;height:72px;object-fit:cover;border-radius:12px;border:2px solid transparent;cursor:pointer;background:var(--color-bg);transition:border .2s ease,box-shadow .2s ease}.thumbnail.active{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.thumbnail:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:3px}.main-image,.thumbnail,.lightbox-image{user-select:none;-webkit-user-drag:none;-webkit-user-select:none;-ms-user-select:none;touch-action:manipulation}@media(hover:none){.thumbnail:hover{box-shadow:none;transform:none}}.seller-info{display:flex;align-items:center;gap:14px;background:var(--color-bg);padding:16px;border-radius:14px;margin-bottom:20px}.seller-info img{width:48px;height:48px}.verified-badge{margin-left:6px;font-size:13px;font-weight:700;color:var(--color-success)}.message-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;padding:18px;margin-top:20px}.message-card.blocked{border:1px solid var(--color-danger);background:#ef44440d}.message-card.blocked .message-textarea{opacity:.6;pointer-events:none}.message-card.blocked .contact-btn{background:var(--color-danger);cursor:not-allowed;pointer-events:none;opacity:.85}.rating-card{margin-top:10px;padding:14px;border-radius:14px;background:var(--color-surface);border:1px solid var(--color-border)}.rating-title{font-size:14px;font-weight:800;margin-bottom:8px;color:var(--color-text)}.rating-stars{display:flex;gap:6px;margin-bottom:10px}.rating-star{font-size:22px;cursor:pointer;color:var(--color-border);transition:color .15s ease,transform .1s ease}.rating-card.disabled .rating-star{cursor:default;transform:none;opacity:.6}.rating-textarea{width:100%;min-height:70px;padding:10px;border-radius:10px;border:1px solid var(--color-border);font-size:13px;resize:vertical;margin-bottom:10px}.rating-submit-btn{background:var(--color-primary);color:#fff;padding:10px 18px;border-radius:12px;font-weight:700;border:none;cursor:pointer}.rating-submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.message-header{font-weight:700;font-size:15px;margin-bottom:6px}.message-textarea{width:100%;min-height:110px;padding:14px;border-radius:12px;border:1px solid var(--color-border);font-size:14px;resize:vertical}.message-textarea:disabled{background:var(--color-bg);cursor:not-allowed}.message-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}.contact-btn{background:var(--color-primary);color:#fff;padding:14px 36px;border-radius:14px;font-weight:700;border:none;cursor:pointer;transition:background .2s ease,transform .1s ease}.contact-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.contact-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;opacity:.7;pointer-events:none;box-shadow:none}.contact-btn.secondary{background:var(--color-dark);margin-top:10px}.contact-btn.confirm-buyer{background:var(--color-success)}.contact-btn.confirm-buyer:hover{background:var(--color-success-hover)}.mark-sold-btn{margin-top:22px;background:var(--color-success);color:#fff;padding:14px;border-radius:14px;font-weight:800;border:none;cursor:pointer;transition:background .2s ease,transform .1s ease}.mark-sold-btn:hover{background:var(--color-success-hover);transform:translateY(-1px)}.lightbox-overlay{position:fixed;inset:0;background:#000000e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999}.lightbox-close{position:absolute;top:18px;right:22px;font-size:32px;font-weight:800;color:#fff;cursor:pointer;z-index:10001}.lightbox-counter{position:absolute;top:22px;left:22px;background:#0009;color:#fff;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:700}.lightbox-image{max-width:92%;max-height:86%;object-fit:contain;border-radius:14px;box-shadow:0 25px 60px #0009}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);font-size:42px;color:#fff;background:#0006;border:none;border-radius:50%;width:56px;height:56px;cursor:pointer;z-index:10000}.lightbox-arrow.left{left:20px}.lightbox-arrow.right{right:20px}@media(max-width:640px){.details-card{padding:20px;border-radius:16px}.details-card h1{font-size:24px;line-height:1.2}.price,.price.free-label{font-size:18px}.title-row{gap:8px}}.back-btn:focus-visible,.thumbnail:focus-visible,.contact-btn:focus-visible,.mark-sold-btn:focus-visible,.rating-submit-btn:focus-visible,.lightbox-arrow:focus-visible,.lightbox-close:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:3px}@media(min-width:1200px){.main-image{height:440px}}@media(max-width:640px){.main-image{height:260px}.item-meta{font-size:12px;gap:6px}.seller-info{flex-direction:column;align-items:flex-start}.message-actions{justify-content:center}.contact-btn,.mark-sold-btn{width:100%}.lightbox-image{max-width:96%;max-height:80%}.lightbox-arrow{width:44px;height:44px;font-size:32px}}.rating-card{background:var(--color-muted-bg);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-3);border:1px solid var(--color-border);transition:background var(--motion-med) ease}.rating-card.disabled{opacity:.65;pointer-events:none}.rating-card.success{background:var(--color-success-soft);color:var(--color-success);font-weight:700;border-color:var(--color-success)}.rating-header{font-weight:800;margin-bottom:var(--space-2);color:var(--color-text);font-size:.95rem}.rating-user{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-3)}.star-row{display:flex;gap:8px;font-size:24px;margin-bottom:var(--space-3)}.rating-star{cursor:pointer;color:var(--color-muted-border);transition:color var(--motion-fast) ease,transform var(--motion-fast) ease}.rating-star.active{color:var(--color-warning)}.rating-star:hover{transform:scale(1.15)}.rating-star:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px;border-radius:4px}.rating-error{color:var(--color-danger);font-weight:600;margin-bottom:var(--space-2);font-size:.8rem}.rating-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:700;font-size:.85rem;cursor:pointer;transition:background var(--motion-med) ease,transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.rating-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.rating-btn:active{transform:scale(.98)}.rating-btn:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.rating-btn:disabled{background:var(--color-muted-border);cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:480px){.star-row{font-size:22px;gap:6px}.rating-card{padding:var(--space-3)}}@media(prefers-reduced-motion:reduce){.rating-star,.rating-btn{transition:none!important;transform:none!important}}.create-marketplace{max-width:650px;margin:0 auto;padding-bottom:40px}.create-marketplace h1{font-size:28px;font-weight:800;margin-bottom:20px}.image-hint{font-size:13px;font-weight:600;color:#6b7280;margin-top:6px;margin-bottom:8px}.image-hint.request{color:#92400e}.marketplace-form{background:#fff;padding:30px;border-radius:18px;box-shadow:0 12px 35px #00000014;display:flex;flex-direction:column;gap:14px;animation:fadeInForm .25s ease}.marketplace-form input,.marketplace-form textarea,.marketplace-form select{width:100%;padding:12px 14px;border-radius:10px;border:1px solid #e5e7eb;font-size:16px;background:#fff}.marketplace-form textarea{resize:vertical;min-height:110px;line-height:1.6}.marketplace-form select{cursor:pointer}.marketplace-form input:focus,.marketplace-form textarea:focus,.marketplace-form select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.marketplace-form input:focus-visible,.marketplace-form textarea:focus-visible,.marketplace-form select:focus-visible,.marketplace-form button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.marketplace-form select[name=listingType] option[value=free]{color:#16a34a}.marketplace-form select[name=listingType] option[value=request]{color:#92400e}.marketplace-form select[name=condition] option[value=new]{color:#2563eb}.marketplace-form select[name=condition] option[value=like-new]{color:#16a34a}.marketplace-form select[name=condition] option[value=used]{color:#374151}.marketplace-form select[name=condition] option[value=fair]{color:#92400e}.form-helper-text{font-size:13px;color:#6b7280;font-weight:600;margin-top:-6px}.image-upload-section{margin-top:8px}.image-upload-title{font-weight:700;margin-bottom:6px}.image-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-bottom:8px}@media(max-width:768px){.image-slot-grid{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:10px}}@media(max-width:480px){.image-slot-grid{grid-template-columns:repeat(3,1fr);gap:8px}}@media(max-width:360px){.image-slot-grid{grid-template-columns:repeat(2,1fr)}}.image-slot{position:relative;aspect-ratio:1 / 1;border:2px dashed #cbd5f5;border-radius:14px;cursor:pointer;background:#f8fafc;display:flex;align-items:center;justify-content:center;touch-action:manipulation;transition:border-color .15s ease,background .15s ease}.image-slot:hover{border-color:#2563eb;background:#f1f5ff}.image-slot.filled{border-style:solid}.image-slot-placeholder{font-size:30px;font-weight:800;color:#64748b}.image-slot-preview{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block;will-change:transform;backface-visibility:hidden}.remove-image-btn{position:absolute;top:6px;right:6px;background:#000000a6;color:#fff;border:none;width:22px;height:22px;border-radius:50%;font-size:14px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;opacity:0;transition:opacity .15s ease,background .15s ease}.remove-image-btn:hover{background:#dc2626}.image-slot:hover .remove-image-btn{opacity:1}.cover-badge{position:absolute;bottom:6px;left:6px;background:#2563eb;color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:6px}@media(max-width:640px){.remove-image-btn{width:28px;height:28px;font-size:16px}}.image-preview{width:100%;height:220px;object-fit:cover;border-radius:14px;border:1px solid #e5e7eb;background:#f3f4f6}.image-preview:not([src]){background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 37%,#f3f4f6 63%);background-size:400% 100%;animation:shimmer 1.2s ease-in-out infinite}.marketplace-form input[type=file]+.image-preview{margin-top:6px}.preview-grid .image-preview{height:90px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;will-change:transform}.preview-grid .image-preview:hover{transform:scale(1.05);box-shadow:0 6px 16px #0000002e}.marketplace-form button{background:#2563eb;color:#fff;padding:14px;border-radius:12px;border:none;font-weight:700;font-size:15px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s ease,transform .1s ease,box-shadow .1s ease}.marketplace-form button:hover{background:#1e40af;transform:translateY(-1px);box-shadow:0 6px 16px #2563eb59}.marketplace-form button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none;opacity:.9}.marketplace-form button[aria-busy=true]{pointer-events:none}@media(max-width:640px){.marketplace-form{padding:22px;gap:16px}.create-marketplace{padding-left:14px;padding-right:14px}.create-marketplace h1{font-size:24px}.image-preview{height:180px}.marketplace-form input,.marketplace-form textarea,.marketplace-form select{font-size:16px;padding:14px 16px}.remove-image-btn{width:28px;height:28px;font-size:16px}.marketplace-form button{position:sticky;bottom:0;width:100%;z-index:5}}.image-slot-preview,.image-preview,.cover-badge,.remove-image-btn{-webkit-user-select:none;user-select:none}.create-marketplace .page-header{margin-bottom:18px}.preview-grid+button{margin-top:10px}@media(hover:none){.preview-grid .image-preview:hover{transform:none;box-shadow:none}.image-slot:hover{transform:none;box-shadow:none;border-color:#cbd5f5}.remove-image-btn{opacity:1}}@keyframes fadeInForm{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:0% 0%}to{background-position:100% 0%}}@keyframes cardFadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.listing-card,.create-btn,.view-btn,.edit-btn,.sold-btn,.extend-btn,.delete-btn{transition:none!important}.listing-card{animation:none!important}.listing-card:hover{transform:none!important}}.my-marketplace button{-webkit-tap-highlight-color:transparent}.my-marketplace{max-width:1100px;margin:0 auto;padding-bottom:40px;overflow-x:hidden}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:16px}.header h1{font-size:28px;font-weight:800;color:#0f172a}.create-btn{background:#2563eb;color:#fff;border:none;padding:12px 18px;border-radius:12px;font-weight:700;cursor:pointer;transition:background .18s ease,transform .1s ease;-webkit-user-select:none;user-select:none}.create-btn:hover{background:#1e40af;transform:translateY(-1px)}.create-btn:active{transform:scale(.97)}.empty-state{text-align:center;padding:60px 20px}.empty-state img{width:220px;margin-bottom:20px}.empty-state p{color:#6b7280;font-size:16px;font-weight:600}.listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;align-items:stretch}.listing-card{position:relative;background:#fff;padding:18px;border-radius:18px;box-shadow:0 10px 24px #0f172a0f;border:1px solid rgba(15,23,42,.04);display:flex;height:100%;flex-direction:column;transform:translateZ(0);transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .22s cubic-bezier(.4,0,.2,1);animation:cardFadeInUp .26s ease-out both;-webkit-tap-highlight-color:transparent;will-change:transform}.listing-card:hover{transform:translateY(-4px) translateZ(0);box-shadow:0 18px 40px #0f172a1f}@media(hover:none){.listing-card:hover{transform:none;box-shadow:0 10px 24px #0f172a0f}}.listing-card.sold-item{opacity:.6;filter:grayscale(15%);-webkit-user-select:none;user-select:none}.listing-card.sold-item button{cursor:not-allowed}.listing-card.sold-item:hover{transform:none;box-shadow:0 10px 24px #0f172a0f}.sold-badge{position:absolute;top:12px;right:12px;background:#ef4444;color:#fff;padding:6px 12px;font-size:12px;font-weight:800;border-radius:999px;z-index:10}.sold-badge.free_given{background:#16a34a}.sold-badge.expired{background:#6b7280}.sold-badge.removed{background:#991b1b}.listing-image{width:100%;min-height:170px;aspect-ratio:16 / 9;object-fit:cover;border-radius:14px;margin-bottom:14px;background:#f3f4f6}.listing-card h3{font-size:18px;font-weight:700;margin-bottom:6px;color:#111827;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.price{font-weight:700;color:#2563eb;margin-bottom:14px}.price.free{color:#16a34a;font-weight:800;letter-spacing:.5px}.price.request{color:#92400e;font-weight:800;letter-spacing:.5px}.renew-info{font-size:12px;color:#6b7280;font-weight:600;margin-top:-4px;margin-bottom:14px;letter-spacing:.2px}.actions{margin-top:auto;display:flex;flex-direction:column;gap:10px}.view-btn{background:#f1f5f9;color:#0f172a;border:none;padding:10px;border-radius:10px;font-weight:700;cursor:pointer;transition:background .18s ease,transform .1s ease}.view-btn:hover{background:#e2e8f0}.view-btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;pointer-events:none}.edit-btn{background:#2563eb;color:#fff;border:none;padding:10px;border-radius:10px;font-weight:700;cursor:pointer;transition:background .18s ease,transform .1s ease}.edit-btn:hover{background:#1e40af}.edit-btn.disabled,.edit-btn:disabled{background:#9ca3af;cursor:not-allowed;pointer-events:none}.sold-btn{background:#16a34a;color:#fff;border:none;padding:10px;border-radius:10px;font-weight:800;cursor:pointer;transition:background .18s ease,transform .1s ease}.sold-btn:hover{background:#15803d}.sold-btn:disabled{background:#9ca3af;cursor:not-allowed;pointer-events:none}.extend-btn{background:#f59e0b;color:#111827;border:none;padding:10px;border-radius:10px;font-weight:800;cursor:pointer;transition:background .18s ease,transform .1s ease}.extend-btn:disabled{background:#9ca3af;cursor:not-allowed;pointer-events:none}.extend-btn:hover{background:#d97706}.delete-btn{background:#fee2e2;color:#b91c1c;border:none;padding:10px;border-radius:10px;font-weight:800;cursor:pointer;transition:background .18s ease,transform .1s ease}.delete-btn:hover{background:#fecaca}.view-btn:disabled,.edit-btn:disabled,.sold-btn:disabled,.extend-btn:disabled,.delete-btn:disabled{opacity:.65;transform:none!important}.my-marketplace.loading{font-weight:700;color:#374151}.marketplace-error{color:#dc2626;font-weight:700}.edit-btn:focus-visible,.view-btn:focus-visible,.sold-btn:focus-visible,.extend-btn:focus-visible,.delete-btn:focus-visible,.create-btn:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:3px}.view-btn:active,.edit-btn:active,.sold-btn:active,.extend-btn:active,.delete-btn:active,.create-btn:active{transform:scale(.97)}@media(min-width:1200px){.listing-card{padding:22px}.listing-image{min-height:200px}}@media(max-width:768px){.header{flex-direction:column;align-items:flex-start}.actions{gap:12px}.create-btn{width:100%;text-align:center}}@media(max-width:600px){.listing-grid{grid-template-columns:1fr;gap:16px}.listing-card{padding:16px;border-radius:16px}.listing-image{min-height:160px;border-radius:12px}}@media(max-width:480px){.listing-image{min-height:150px}}.modal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@keyframes modalPop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.confirm-modal{animation:modalPop .18s ease-out;background:#fff;padding:28px;border-radius:18px;width:92%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0f172a40;text-align:center}.confirm-modal h3{font-size:20px;font-weight:800;color:#111827;margin-bottom:10px}.confirm-modal p{font-size:15px;color:#374151;margin-bottom:22px;line-height:1.5}.modal-actions{display:flex;gap:12px;justify-content:center}.cancel-btn{background:#e5e7eb;border:none;padding:10px 16px;border-radius:10px;font-weight:700;cursor:pointer;transition:background .18s ease}.cancel-btn:hover{background:#d1d5db}.confirm-btn{background:#dc2626;color:#fff;border:none;padding:10px 16px;border-radius:10px;font-weight:800;cursor:pointer;transition:background .18s ease}.confirm-btn:hover{background:#b91c1c}.edit-marketplace{max-width:700px;margin:0 auto;padding-bottom:40px}.edit-marketplace h1{font-size:30px;font-weight:800;margin-bottom:24px}.error-text{color:#dc2626;font-weight:600;margin-bottom:14px}.image-hint{font-size:13px;font-weight:600;color:#6b7280;margin-top:8px;line-height:1.45;max-width:520px}.marketplace-form{background:#fff;padding:32px;border-radius:18px;box-shadow:0 12px 30px #00000014;display:flex;flex-direction:column;gap:18px;transition:box-shadow .2s ease}.marketplace-form[aria-busy=true]{opacity:.9;pointer-events:none}.marketplace-form input,.marketplace-form textarea,.marketplace-form select{padding:12px 14px;border-radius:10px;border:1px solid #e5e7eb;font-size:15px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.marketplace-form textarea{min-height:100px;resize:vertical;line-height:1.6}.marketplace-form input:focus,.marketplace-form textarea:focus,.marketplace-form select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.marketplace-form input:focus-visible,.marketplace-form textarea:focus-visible,.marketplace-form select:focus-visible,.marketplace-form button:focus-visible{outline:2px solid #2563eb;outline-offset:3px}.marketplace-form input:disabled{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.marketplace-form p{font-weight:600;margin-top:10px}.image-upload-title{font-size:15px;font-weight:700;margin-top:12px;margin-bottom:4px;color:#374151}.marketplace-form select[name=listingType]{font-weight:800;letter-spacing:.3px}.marketplace-form select[name=condition]{font-weight:700;background:#f9fafb}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-bottom:10px}.image-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;margin-bottom:6px}.image-slot{position:relative;height:160px;min-height:160px;border-radius:16px;border:2px dashed #d1d5db;background:#f9fafb;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.image-slot.filled{border-style:solid;border-color:#e5e7eb;background:#fff}.image-slot:hover{border-color:#2563eb;box-shadow:0 6px 16px #2563eb2e;transform:translateY(-1px)}.image-slot-placeholder{font-size:36px;font-weight:700;color:#9ca3af;-webkit-user-select:none;user-select:none}.image-wrapper{position:relative;cursor:pointer}.image-preview{width:100%;height:160px;display:block;object-fit:cover;border-radius:14px;border:2px solid #e5e7eb;transition:transform .15s ease,box-shadow .15s ease,border .15s ease,opacity .15s ease}.image-slot-preview{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block;max-width:100%;max-height:100%;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.image-wrapper:hover .image-preview{transform:scale(1.04);box-shadow:0 8px 18px #00000026}.image-slot:hover .image-slot-preview{transform:scale(1.03)}.image-wrapper.cover-selected .image-preview{border:3px solid #2563eb;box-shadow:0 0 0 3px #2563eb40;transform:scale(1.02)}.cover-badge{position:absolute;bottom:6px;left:6px;background:#2563ebf2;color:#fff;font-size:12px;font-weight:700;padding:4px 8px;border-radius:999px;box-shadow:0 4px 10px #00000040;pointer-events:none}.remove-image-btn{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;border:none;background:#dc2626f2;color:#fff;font-size:16px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #00000040;transition:transform .15s ease,background .15s ease;z-index:2}.remove-image-btn:hover{background:#b91c1c;transform:scale(1.1)}.remove-image-btn:focus-visible{outline:3px solid rgba(255,255,255,.8)}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-top:6px}.preview-grid .image-wrapper{position:relative;cursor:default}.preview-grid .image-preview{height:90px;cursor:default;opacity:.95;display:block}.preview-grid .image-preview:hover{opacity:1}.marketplace-form input[type=file]{padding:6px 0;font-size:14px;cursor:pointer}.marketplace-form small{display:block;margin-top:-8px;line-height:1.4}.marketplace-form button{background:#2563eb;color:#fff;padding:14px;border-radius:12px;border:none;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s ease,transform .1s ease,box-shadow .1s ease}.marketplace-form button:hover{background:#1e40af;transform:translateY(-1px);box-shadow:0 6px 18px #2563eb59}.marketplace-form button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.marketplace-loading{font-weight:600}.marketplace-error{color:#dc2626;font-weight:600}@media(max-width:640px){.marketplace-form{padding:22px}.edit-marketplace h1{font-size:24px}.image-preview{height:130px}.preview-grid .image-preview{height:86px}.image-slot{height:130px;min-height:120px}.image-slot-placeholder{font-size:30px}}.image-preview,.image-slot-preview,.cover-badge,.remove-btn,.remove-image-btn{-webkit-user-select:none;user-select:none}.edit-marketplace{animation:fadeInPage .25s ease}.messages-page{max-width:1100px;margin:0 auto;padding:0 16px 40px;background:#f8fafc}.messages-header{display:flex;justify-content:space-between;align-items:center;margin:12px 0 18px}.messages-header h1{font-size:28px;font-weight:800;color:#0f172a}.refresh-btn{background:#f3f4f6;border:1px solid #e5e7eb;padding:10px 14px;border-radius:10px;font-weight:700;cursor:pointer;transition:background .15s ease,transform .1s ease}.refresh-btn:hover{background:#e5e7eb;transform:translateY(-1px)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.messages-layout{display:grid;grid-template-columns:360px 1fr;gap:18px}.messages-list{background:#fff;border-radius:16px;box-shadow:0 12px 30px #00000014;padding:10px;max-height:70vh;overflow-y:auto}.messages-list::-webkit-scrollbar{width:6px}.messages-list::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:6px}.msg-search{width:100%;padding:12px 14px;margin-bottom:12px;border-radius:12px;border:1px solid #e5e7eb;font-size:14px;font-weight:600}.msg-search::placeholder{color:#9ca3af}.msg-search:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.msg-row{width:100%;text-align:left;border:1px solid transparent;background:#f9fafb;padding:12px;border-radius:14px;cursor:pointer;margin-bottom:10px;transition:.18s ease}.msg-row:hover{border-color:#e5e7eb;transform:translateY(-1px);background:#f9fafb}.msg-row.active{border:1px solid #4F7FD9;background:#eef3ff;box-shadow:0 6px 16px #4f7fd926}.msg-row-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.msg-from{font-weight:800;color:#0f172a;font-size:14px}.unread-dot{color:#2563eb;font-size:14px}.unread-badge{background:#4f7fd9;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 6px #4f7fd940}.msg-preview{font-size:13px;color:#1f2937;line-height:1.4;max-height:36px;overflow:hidden;text-overflow:ellipsis}.message-view{background:#fff;border-radius:18px;box-shadow:0 16px 40px #0f172a14;padding:24px;min-height:420px;display:flex;flex-direction:column}.message-card{background:#fff;border:1px solid #e2e8f0}.message-meta{background:transparent;border:none;padding:0 0 12px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center}.message-meta strong{font-size:18px;font-weight:800;color:#0f172a}.message-meta span{font-size:13px;color:#94a3b8;font-weight:600}@keyframes msgFadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message-row{display:flex;margin-bottom:16px;animation:msgFadeInUp .18s ease-out}.message-row.mine+.message-row.mine,.message-row.theirs+.message-row.theirs{margin-top:-8px}.message-row.mine{justify-content:flex-end}.message-row.theirs{justify-content:flex-start}.message-bubble{padding:16px 18px;border-radius:18px;max-width:60%;word-wrap:break-word;font-size:15px;line-height:1.65;box-shadow:0 4px 12px #0000000a;transition:transform .14s ease,box-shadow .14s ease}.message-bubble:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f172a14}.message-row.mine .message-bubble:hover{transform:translateY(-1px);box-shadow:0 12px 22px #4f7fd940}.message-row.mine .message-bubble{background:linear-gradient(135deg,#5c8fe6,#4f7fd9);color:#fff;border-radius:20px 20px 6px;box-shadow:0 6px 14px #4f7fd92e}.message-row.theirs .message-bubble{background:#fff;border:1px solid #eef2f7;color:#111827;border-bottom-left-radius:4px;box-shadow:0 4px 10px #0f172a08}.message-sender{font-size:12px;font-weight:700;color:#334155;margin-bottom:6px}.message-time{font-size:11px;margin-top:8px;text-align:right}.message-row.theirs .message-time{color:#475569}.message-row.mine .message-time{color:#ffffffbf}.message-body{flex:1;overflow-y:auto;scroll-behavior:smooth;padding-right:6px;margin-bottom:12px}.message-body strong{font-weight:800}.message-body em{font-style:italic}.message-body u{text-decoration:underline}.message-body .message-text span{all:revert;display:inline}.message-status{font-size:11px;margin-top:4px;text-align:right;opacity:.75}.message-row.mine .message-status{color:#ffffffd9}.message-row.theirs .message-status{color:#6b7280}.message-body span[title]{-webkit-user-select:none;user-select:none}.message-body span[title]:hover{filter:brightness(1.15)}.message-body span[title]:active{transform:scale(.92)}.message-body span[title]:focus-visible{outline:2px solid #2563eb;outline-offset:3px;border-radius:6px}.related-box{margin-top:12px;padding:12px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;font-size:14px}.delete-message-btn{margin-top:14px;background:transparent;color:#b91c1c;border:1px solid #fecaca;padding:8px 14px;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:background .15s ease,transform .1s ease}.delete-message-btn:hover{background:#fecaca;transform:translateY(-1px)}.empty-box{padding:20px;text-align:center;color:#6b7280}.muted{font-size:13px}.msg-status{font-weight:700;color:#6b7280}.msg-error{font-weight:700;color:#dc2626}.reply-box{margin-top:auto;padding-top:20px;border-top:1px solid #e5e7eb}.reply-disabled{background:#fef2f2;border:1px solid #fecaca;padding:14px;border-radius:10px;color:#991b1b;font-weight:700;margin-top:12px}.reply-editor{width:100%;min-height:110px;padding:14px;border-radius:12px;border:1px solid #cbd5e1;margin-bottom:12px;font-size:15px;line-height:1.7;background:#fff;color:#111827;outline:none;overflow-wrap:anywhere}.reply-editor:focus{border-color:#4f7fd9;box-shadow:0 0 0 3px #4f7fd933}.reply-editor:empty:before{content:"Write your reply...";color:#6b7280;font-weight:500;pointer-events:none}.reply-toolbar{display:flex;gap:6px;margin-bottom:8px;padding:6px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb;flex-wrap:wrap}.reply-toolbar button{background:#fff;border:1px solid #e5e7eb;padding:6px 8px;border-radius:6px;font-weight:700;cursor:pointer;font-size:13px}.reply-toolbar button:hover{background:#e5e7eb}.reply-toolbar input[type=color]{width:28px;height:28px;border:none;padding:0;cursor:pointer}.reply-toolbar select{border-radius:6px;border:1px solid #e5e7eb;padding:4px;font-weight:600}.reply-box textarea{width:100%;min-height:90px;padding:14px;border-radius:10px;border:1px solid #e5e7eb;margin-bottom:10px;font-size:15px;line-height:1.6}.reply-box textarea:focus{outline:none;border-color:#2563eb}.reply-box button{background:#4f7fd9;color:#fff;padding:10px 18px;border:none;border-radius:10px;font-weight:700;cursor:pointer;transition:all .15s ease}.reply-box button:hover{background:#456ec0}@media(max-width:900px){.reply-box .send-reply-btn{width:100%}}.reply-box button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:900px){.messages-layout{grid-template-columns:1fr;gap:12px}.messages-list{max-height:35vh;border-radius:14px}.message-view{padding:14px}.message-body{flex:1;overflow-y:auto;scroll-behavior:smooth;padding-right:6px;margin-bottom:12px;max-height:55vh;font-size:14px}.message-bubble{max-width:85%}.reply-editor{min-height:80px;font-size:14px}.reply-toolbar{gap:4px}.reply-box .send-reply-btn{width:100%}}.msg-row.read{background:#f9fafb}.msg-row.read .msg-from{font-weight:700;color:#1f2937}.msg-row.read .msg-preview{color:#4b5563}.msg-row.read .unread-dot{display:none}.message-reactions span{all:unset!important;color:#0f172a;font-family:system-ui,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:18px;line-height:1;display:inline-block}@media(max-width:500px){.messages-header h1{font-size:22px}.msg-row{padding:10px}.msg-from{font-size:13px}.msg-preview,.message-meta{font-size:12px}.message-bubble{font-size:14px}}.admin-messages-page{padding:32px;background:var(--color-bg);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.admin-header{margin-bottom:24px}.admin-header h1{font-size:28px;font-weight:800;color:var(--color-text);margin-bottom:6px}.admin-subtitle{color:var(--color-text-muted);font-size:15px}.admin-msg-status,.admin-msg-error{padding:20px;font-size:16px;font-weight:600}.admin-msg-status{color:var(--color-text-muted)}.admin-msg-error{color:var(--color-danger);background:var(--color-danger-soft);border-radius:8px}.admin-empty{padding:32px;background:var(--color-surface);border-radius:12px;text-align:center;color:var(--color-text-muted);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.admin-empty h3{margin-bottom:8px;font-size:18px;color:var(--color-text)}.admin-messages-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-messages-table{width:100%;border-collapse:collapse;margin-top:20px;background:var(--color-surface);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.admin-messages-table th,.admin-messages-table td{padding:14px 16px;text-align:left;vertical-align:top;font-size:14px;white-space:nowrap;border-bottom:1px solid var(--color-border)}.admin-messages-table th{background:var(--color-muted-bg);color:var(--color-text);font-weight:700}.admin-messages-table tr:hover{background:var(--color-muted-bg)}.admin-messages-table tr:last-child td{border-bottom:none}.admin-message-content{max-width:420px;white-space:normal;word-break:break-word;line-height:1.6;color:var(--color-text)}.muted{font-size:12px;color:var(--color-text-muted);margin-top:2px}.admin-delete-btn{background:var(--color-danger);color:#fff;border:none;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;min-height:36px;transition:background .2s ease,transform .1s ease}.admin-delete-btn:hover{background:var(--color-danger-hover);transform:translateY(-1px)}.admin-footer-nav{margin-top:24px}.link-btn{background:none;border:none;color:var(--color-primary);font-size:14px;font-weight:600;cursor:pointer}.link-btn:hover{text-decoration:underline}@media(max-width:900px){.admin-messages-page{padding:20px}.admin-header h1{font-size:22px}.admin-messages-table th,.admin-messages-table td{padding:10px;font-size:13px}.admin-message-content{max-width:280px}}.admin-delete-btn:focus-visible,.link-btn:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:2px}@media(prefers-reduced-motion:reduce){.admin-messages-page *{animation:none!important;transition:none!important}}@media(hover:none){.admin-messages-table tr:hover{background:transparent}}.admin-mp-page{padding:30px;background:var(--color-bg);min-height:100vh}.page-header{margin-bottom:18px}.page-header-content h1{font-size:24px;font-weight:700;color:var(--color-text);margin-bottom:4px}.page-header-content p{font-size:13px;color:var(--color-text-muted)}.breadcrumb-link{color:var(--color-primary);cursor:pointer;font-weight:600}.breadcrumb-link:hover{text-decoration:underline}.admin-mp-header{margin-bottom:22px}.admin-mp-header h2{font-size:26px;font-weight:700;color:var(--color-text)}.admin-mp-subtitle{font-size:14px;color:var(--color-text-muted);margin-top:4px}.admin-mp-status,.admin-mp-error{padding:20px;font-size:16px}.admin-mp-status{font-weight:600;color:var(--color-text-muted)}.admin-mp-error{color:var(--color-danger);background:var(--color-danger-soft);border-radius:8px}.admin-mp-controls{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}.admin-mp-search{flex:1;min-width:260px;padding:10px 14px;border-radius:8px;border:1px solid var(--color-border);font-size:16px;font-weight:600;background:var(--color-surface);color:var(--color-text);min-height:44px;-webkit-appearance:none;appearance:none;transition:border-color .15s ease,box-shadow .15s ease}.admin-mp-search::placeholder{color:var(--color-text-muted)}.admin-mp-search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.admin-mp-filter{min-width:160px;padding:10px 14px;border-radius:8px;border:1px solid var(--color-border);font-size:16px;font-weight:600;background:var(--color-surface);color:var(--color-text);cursor:pointer;min-height:44px;-webkit-appearance:none;appearance:none}.admin-mp-filter:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.admin-mp-empty{padding:40px;text-align:center;color:var(--color-text-muted);background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.admin-mp-table-wrapper{overflow-x:auto;animation:fadeInTable .25s ease;-webkit-overflow-scrolling:touch}.admin-mp-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.admin-mp-table th,.admin-mp-table td{padding:14px 16px;border-bottom:1px solid var(--color-border);text-align:left;font-size:14px;white-space:nowrap}.admin-mp-table th{background:var(--color-muted-bg);font-weight:600;color:var(--color-text)}.admin-mp-table tr:hover{background:var(--color-muted-bg)}.admin-mp-table tr:last-child td{border-bottom:none}.mp-title{font-weight:600;color:var(--color-text);max-width:260px;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.mp-active{color:var(--color-success);font-weight:700}.mp-sold{color:var(--color-danger);font-weight:700}.mp-removed{color:var(--color-text-muted);font-weight:700}.mp-expired{color:var(--color-warning);font-weight:700}.admin-mp-delete-btn{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger);padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;min-height:36px;transition:background .2s ease,transform .1s ease,box-shadow .1s ease}.admin-mp-delete-btn:hover{background:var(--color-danger);color:#fff;transform:translateY(-1px)}.admin-mp-delete-btn:active{transform:translateY(0);box-shadow:none}.admin-mp-delete-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.admin-mp-delete-btn:disabled:hover{background:var(--color-danger-soft);color:var(--color-danger)}@media(max-width:900px){.admin-mp-page{padding:20px}.admin-mp-header h2{font-size:22px}.admin-mp-table th,.admin-mp-table td{padding:10px;font-size:13px}.admin-mp-controls{flex-direction:column}.admin-mp-search,.admin-mp-filter{width:100%}}.admin-mp-delete-btn:focus-visible,.breadcrumb-link:focus-visible,.admin-mp-search:focus-visible,.admin-mp-filter:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:2px}@keyframes fadeInTable{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(hover:none){.admin-mp-delete-btn:hover{transform:none;box-shadow:none}}.admin-users-page{padding:40px;background:var(--color-bg);min-height:100vh;animation:fadeInPage .25s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.admin-users-header{margin-bottom:24px}.admin-users-header h1{font-size:28px;font-weight:800;color:var(--color-text);margin-bottom:6px}.admin-users-header p{color:var(--color-text-muted);font-size:15px}.admin-users-controls{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.admin-users-controls input{flex:1;min-width:260px;padding:10px 14px;border-radius:8px;border:1px solid var(--color-border);font-size:16px;font-weight:600;background:var(--color-surface);color:var(--color-text);min-height:44px;transition:border-color .15s ease,box-shadow .15s ease}.admin-users-controls input::placeholder{color:var(--color-text-muted)}.admin-users-controls input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.admin-users-controls select{min-width:160px;padding:10px 14px;border-radius:8px;border:1px solid var(--color-border);font-size:16px;font-weight:600;background:var(--color-surface);color:var(--color-text);cursor:pointer;min-height:44px}.admin-users-controls select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.admin-users-status{font-size:16px;padding:16px;color:var(--color-text-muted)}.admin-users-error{font-size:16px;padding:16px;color:var(--color-danger);background:var(--color-danger-soft);border-radius:8px}.admin-users-empty{background:var(--color-surface);padding:40px;border-radius:12px;text-align:center;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.admin-users-empty p{color:var(--color-text-muted);font-size:14px}.admin-users-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.admin-users-table th,.admin-users-table td{padding:14px 16px;text-align:left;font-size:14px;white-space:nowrap;border-bottom:1px solid var(--color-border)}.admin-users-table th{background:var(--color-muted-bg);color:var(--color-text);font-weight:700}.admin-users-table tr:hover{background:var(--color-muted-bg)}.admin-users-table tr:last-child td{border-bottom:none}.admin-users-table td:last-child{display:flex;gap:8px;flex-wrap:wrap}.admin-users-table tr[data-state=suspended]{opacity:.75}.role-cell{font-weight:600;text-transform:capitalize;color:var(--color-text)}.status{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;display:inline-block}.status.ok{background:var(--color-success-soft);color:var(--color-success)}.status.warn{background:var(--color-warning-soft);color:var(--color-warning)}.status.reject{background:var(--color-danger-soft);color:var(--color-danger)}.status.suspended{background:var(--color-muted-bg);color:var(--color-text-muted)}.approve-btn,.reject-btn,.suspend-btn,.unsuspend-btn{padding:6px 14px;border-radius:8px;font-size:13px;font-weight:700;border:none;cursor:pointer;min-height:36px;transition:background .15s ease,transform .1s ease}.approve-btn{background:var(--color-primary);color:#fff}.approve-btn:hover{background:var(--color-primary-hover)}.reject-btn,.suspend-btn{background:var(--color-danger);color:#fff}.reject-btn:hover,.suspend-btn:hover{background:var(--color-danger-hover)}.unsuspend-btn{background:var(--color-success);color:#fff}.unsuspend-btn:hover{opacity:.9}.approve-btn:disabled,.reject-btn:disabled,.suspend-btn:disabled,.unsuspend-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{background:var(--color-surface);width:420px;max-width:90%;padding:24px;border-radius:12px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.modal-card h3{font-size:20px;font-weight:700;margin-bottom:8px;color:var(--color-text)}.modal-card textarea{width:100%;min-height:90px;padding:10px;font-size:16px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.modal-card textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.modal-error{color:var(--color-danger);font-size:13px;margin-top:6px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.modal-actions button{padding:8px 14px;border-radius:8px;border:none;cursor:pointer;font-weight:700}.modal-actions button:first-child{background:var(--color-muted-bg)}.modal-actions button:last-child{background:var(--color-danger);color:#fff}@media(max-width:900px){.admin-users-page{padding:20px}.admin-users-header h1{font-size:22px}.admin-users-controls{flex-direction:column}.admin-users-controls input,.admin-users-controls select{width:100%}}.approve-btn:focus-visible,.reject-btn:focus-visible,.suspend-btn:focus-visible,.unsuspend-btn:focus-visible,.admin-users-controls input:focus-visible,.admin-users-controls select:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:2px}@media(prefers-reduced-motion:reduce){.admin-users-page *{animation:none!important;transition:none!important}}@keyframes fadeInPage{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.manager-header{margin-bottom:28px}.manager-header h1{font-size:30px;font-weight:900;margin-bottom:6px;color:var(--color-text)}.manager-header p{color:var(--color-text-muted);font-weight:600}.error-text{text-align:center;font-weight:900;color:var(--color-danger);padding:40px}.empty-state{text-align:center;padding:60px 20px;font-size:18px;font-weight:800;color:var(--color-text-muted)}.page-header{margin-bottom:32px}.page-header h1{font-size:30px;font-weight:900;color:var(--color-text)}.page-header p{margin-top:4px;color:var(--color-text-muted);font-weight:600}.manager-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:22px;border:1px solid var(--color-border);box-shadow:var(--shadow-md);transition:transform var(--motion-med) ease,box-shadow var(--motion-med) ease,border-color var(--motion-med) ease}@media(hover:hover){.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--color-primary) 20%,var(--color-border))}}.stat-card h3{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:6px}.stat-card span{font-size:32px;font-weight:900;color:var(--color-text)}.error-box{text-align:center;padding:40px 20px}.retry-btn{margin-top:12px;background:var(--color-primary);color:var(--color-surface);border:1px solid var(--color-primary);padding:10px 18px;border-radius:var(--radius-sm);font-size:14px;font-weight:900;cursor:pointer;min-height:44px;transition:background var(--motion-med) ease,border-color var(--motion-med) ease,transform var(--motion-fast) ease,box-shadow var(--motion-med) ease}@media(hover:hover){.retry-btn:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}}.table-wrapper{overflow-x:auto;max-height:70vh;overflow-y:auto}.manager-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.manager-table thead{background:var(--color-text);color:var(--color-surface);position:sticky;top:0;z-index:2}.manager-table th,.manager-table td{padding:16px;text-align:left;font-size:14px}@media(hover:hover){.manager-table tbody tr:hover{background:color-mix(in srgb,var(--color-muted-bg) 75%,var(--color-surface))}}.role-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:900;text-transform:capitalize;border:1px solid var(--color-border)}.auto-suspended-label{font-size:12px;font-weight:800;color:var(--color-danger);margin-bottom:4px}.reason{max-width:280px;color:color-mix(in srgb,var(--color-text) 75%,var(--color-text-muted));word-break:break-word;line-height:1.5}.protected-label{font-size:12px;font-weight:800;color:var(--color-text-muted)}.unsuspend-btn{background:var(--color-success);color:var(--color-surface);border:1px solid var(--color-success);padding:8px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:900;cursor:pointer;min-height:44px;transition:background var(--motion-med) ease,border-color var(--motion-med) ease,transform var(--motion-fast) ease,box-shadow var(--motion-med) ease}@media(hover:hover){.unsuspend-btn:hover{background:var(--color-success-hover);border-color:var(--color-success-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}}.unsuspend-btn:active{transform:scale(.98)}.unsuspend-btn:focus-visible{outline:3px solid var(--color-success-soft);outline-offset:3px}.unsuspend-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:768px){.manager-header h1,.page-header h1{font-size:24px}.manager-table th,.manager-table td{padding:12px;font-size:13px}.reason{max-width:200px}.stat-card span{font-size:26px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.stat-card:hover,.retry-btn:hover,.unsuspend-btn:hover{transform:none!important}}:root{--manager-radius: var(--radius-lg);--manager-shadow-sm: var(--shadow-sm);--manager-shadow-md: var(--shadow-md);--manager-shadow-lg: var(--shadow-lg);--abuse-low-bg: color-mix(in srgb, var(--color-info-soft) 80%, var(--color-surface));--abuse-low-fg: var(--color-info);--abuse-medium-bg: color-mix(in srgb, var(--color-warning-soft) 85%, var(--color-surface));--abuse-medium-fg: var(--color-warning);--abuse-high-bg: color-mix(in srgb, var(--color-danger-soft) 85%, var(--color-surface));--abuse-high-fg: var(--color-danger)}.manager-users-page{max-width:1200px;margin:0 auto;padding-bottom:60px}.manager-dashboard{max-width:1200px;margin:0 auto;padding-bottom:60px;overflow-x:hidden}.manager-users-header,.manager-header{margin-bottom:28px}.manager-users-header h1,.manager-header h1{font-size:30px;font-weight:900;margin-bottom:6px;color:var(--color-text)}.manager-users-header p,.manager-header p{color:var(--color-text-muted);font-weight:600}.status-text{text-align:center;font-weight:800;color:var(--color-text-muted);padding:40px}.error-text{text-align:center;font-weight:800;color:var(--color-danger)}.retry-btn{margin-top:14px;background:var(--color-primary);color:var(--color-surface);border:1px solid var(--color-primary);padding:10px 18px;border-radius:var(--radius-sm);font-size:14px;font-weight:800;cursor:pointer;transition:background var(--motion-med) ease,border-color var(--motion-med) ease,transform var(--motion-fast) ease,box-shadow var(--motion-med) ease}@media(hover:hover){.retry-btn:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--manager-shadow-sm);transform:translateY(-1px)}}.retry-btn:active{transform:scale(.98)}.retry-btn:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px;border-radius:var(--radius-sm)}.empty-state{text-align:center;padding:60px 20px;font-size:18px;font-weight:800;color:var(--color-success)}.table-empty-row td{text-align:center;padding:40px;font-weight:800;color:var(--color-text-muted)}.manager-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:28px}.stat-card{background:var(--color-surface);border-radius:var(--manager-radius);padding:22px;box-shadow:var(--manager-shadow-md);border:1px solid var(--color-border);transition:transform var(--motion-med) ease,box-shadow var(--motion-med) ease,border-color var(--motion-med) ease}@media(hover:hover){.stat-card:hover{transform:translateY(-2px);box-shadow:var(--manager-shadow-lg);border-color:color-mix(in srgb,var(--color-primary) 18%,var(--color-border))}}.stat-card h3{font-size:14px;font-weight:900;color:var(--color-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.stat-card span{font-size:28px;font-weight:900;color:var(--color-text)}.manager-section{background:var(--color-surface);border-radius:var(--manager-radius);padding:24px;margin-bottom:28px;box-shadow:var(--manager-shadow-md);border:1px solid var(--color-border)}.manager-section-title{font-size:18px;font-weight:900;margin-bottom:16px;color:var(--color-text)}.manager-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.manager-filters input,.manager-filters select{padding:10px 14px;font-size:14px;font-weight:700;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);min-height:44px;transition:border-color var(--motion-med) ease,box-shadow var(--motion-med) ease,background var(--motion-med) ease}.manager-filters input{min-width:260px}.manager-filters select{min-width:180px}.manager-filters input::placeholder{color:var(--color-text-muted);font-weight:600}.manager-filters input:focus,.manager-filters select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.manager-filter-badge{font-size:11px;font-weight:900;padding:4px 10px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary)}.table-wrapper{overflow-x:auto}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.manager-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--manager-radius);overflow:hidden;box-shadow:var(--manager-shadow-lg);border:1px solid var(--color-border)}.manager-table thead th{position:sticky;top:0;z-index:2;background:var(--color-text);color:var(--color-surface)}.manager-table th,.manager-table td{padding:16px;text-align:left;font-size:14px;vertical-align:top}.manager-table th{font-weight:900;text-transform:uppercase;letter-spacing:.04em}.manager-table tbody tr{border-bottom:1px solid var(--color-border);transition:background var(--motion-med) ease}@media(hover:hover){.manager-table tbody tr:hover{background:color-mix(in srgb,var(--color-muted-bg) 70%,var(--color-surface))}}.manager-table tbody tr:last-child{border-bottom:none}.ui-skeleton td{padding:16px}.ui-skeleton-block{display:block;height:14px;width:100%;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-border) 25%,var(--color-muted-bg) 37%,var(--color-border) 63%);background-size:400% 100%;animation:manager-skeleton-pulse 1.4s ease infinite}.ui-skeleton-pill{width:80px;height:18px;border-radius:999px}.ui-skeleton-text{width:100%}.ui-skeleton-text.wide{width:90%}@keyframes manager-skeleton-pulse{0%{background-position:100% 0}to{background-position:0 0}}.role-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:900;text-transform:capitalize;white-space:nowrap;border:1px solid var(--color-border)}.role-badge.student{background:var(--color-primary-soft);color:var(--color-primary)}.role-badge.staff{background:color-mix(in srgb,var(--color-info-soft) 80%,var(--color-surface));color:var(--color-info)}.role-badge.admin{background:var(--color-warning-soft);color:var(--color-warning)}.role-badge.manager{background:#6366f11f;color:#6366f1}.status{font-size:12px;font-weight:900;padding:4px 10px;border-radius:999px;white-space:nowrap;border:1px solid var(--color-border)}.status.active{background:var(--color-success-soft);color:var(--color-success)}.status.suspended{background:var(--color-danger-soft);color:var(--color-danger)}.listing-inactive-warning{font-size:11px;font-weight:800;color:var(--color-danger)}.status.open{background:var(--color-primary-soft);color:var(--color-primary)}.status.under_review{background:var(--color-warning-soft);color:var(--color-warning)}.status.resolved{background:var(--color-success-soft);color:var(--color-success)}.status.dismissed{background:var(--color-muted-bg);color:var(--color-text)}.status.low{background:var(--abuse-low-bg);color:var(--abuse-low-fg)}.status.medium{background:var(--abuse-medium-bg);color:var(--abuse-medium-fg)}.status.high{background:var(--abuse-high-bg);color:var(--abuse-high-fg)}.reason{max-width:320px;color:color-mix(in srgb,var(--color-text) 75%,var(--color-text-muted));word-break:break-word;line-height:1.5}.marketplace-preview{display:flex;gap:12px;margin-top:8px}.marketplace-image-slot{width:120px;height:80px;flex-shrink:0;border-radius:var(--radius-xs);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-muted-bg) 70%,var(--color-surface));display:flex;align-items:center;justify-content:center;overflow:hidden}.marketplace-image-slot img{width:100%;height:100%;object-fit:cover}.image-placeholder{font-size:11px;font-weight:800;color:var(--color-text-muted);text-align:center}.marketplace-meta{flex:1;font-size:13px;color:var(--color-text)}.snapshot-indicator{font-size:11px;font-weight:800;color:color-mix(in srgb,var(--color-primary) 70%,#6d28d9)}.suspend-btn,.unsuspend-btn,.resolve-btn,.dismiss-btn{border:1px solid transparent;padding:8px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:900;cursor:pointer;min-height:44px;transition:background var(--motion-med) ease,transform var(--motion-fast) ease,box-shadow var(--motion-med) ease,border-color var(--motion-med) ease}.suspend-btn{background:var(--color-danger);color:var(--color-surface)}.unsuspend-btn{background:var(--color-success);color:var(--color-surface)}.resolve-btn{background:var(--color-primary);color:var(--color-surface)}.dismiss-btn{background:color-mix(in srgb,var(--color-text-muted) 70%,var(--color-text));color:var(--color-surface)}@media(hover:hover){.suspend-btn:hover,.unsuspend-btn:hover,.resolve-btn:hover,.dismiss-btn:hover{transform:translateY(-1px);box-shadow:var(--manager-shadow-sm)}.suspend-btn:hover{background:var(--color-danger-hover)}.unsuspend-btn:hover{background:var(--color-success-hover)}.resolve-btn:hover{background:var(--color-primary-hover)}.dismiss-btn:hover{background:color-mix(in srgb,var(--color-text-muted) 85%,var(--color-text))}}.suspend-btn:active,.unsuspend-btn:active,.resolve-btn:active,.dismiss-btn:active{transform:scale(.98)}.suspend-btn:disabled,.unsuspend-btn:disabled,.resolve-btn:disabled,.dismiss-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.suspend-btn:focus-visible,.unsuspend-btn:focus-visible,.resolve-btn:focus-visible,.dismiss-btn:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px;border-radius:var(--radius-sm)}@media(max-width:768px){.manager-users-header h1,.manager-header h1{font-size:24px}.manager-table th,.manager-table td{padding:12px;font-size:13px}.reason{max-width:220px}.manager-filters input,.manager-filters select{min-width:100%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.stat-card:hover,.suspend-btn:hover,.unsuspend-btn:hover,.resolve-btn:hover,.dismiss-btn:hover{transform:none!important}}.report-abuse-page{max-width:720px;margin:0 auto;padding:var(--space-7) var(--space-4) var(--space-9)}.abuse-form{background:var(--color-surface);padding:clamp(24px,4vw,36px);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-4)}.abuse-form label{font-weight:700;font-size:.9rem;color:var(--color-text);display:flex;flex-direction:column;gap:6px}.abuse-form label small{font-weight:600;font-size:.75rem;color:var(--color-text-muted)}.abuse-form input,.abuse-form select,.abuse-form textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:.9rem;background:var(--color-surface);color:var(--color-text);transition:border-color var(--motion-med) ease,box-shadow var(--motion-med) ease}.abuse-form textarea{resize:vertical;min-height:120px;line-height:1.6}.abuse-form input::placeholder,.abuse-form textarea::placeholder{color:var(--color-text-muted);font-weight:500}.abuse-form input:focus,.abuse-form select:focus,.abuse-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.abuse-form input:required,.abuse-form select:required,.abuse-form textarea:required{border-left:3px solid var(--color-danger)}.abuse-form input:required:invalid,.abuse-form select:required:invalid,.abuse-form textarea:required:invalid{border-color:var(--color-danger);background:var(--color-danger-soft)}.abuse-form label[data-required=marketplace]:after{content:" (required)";font-size:.75rem;font-weight:700;color:var(--color-danger)}.abuse-form label span.helper{font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-top:2px}.char-counter{font-size:.75rem;font-weight:600;color:var(--color-text-muted);margin-top:4px;align-self:flex-end}.abuse-form button{margin-top:var(--space-3);min-height:48px;width:100%;background:var(--color-danger);color:#fff;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:800;cursor:pointer;transition:background var(--motion-med) ease,transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.abuse-form button:hover:not(:disabled){background:var(--color-danger-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.abuse-form button:active{transform:scale(.98)}.abuse-form button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.error-text{background:var(--color-danger-soft);border:1px solid var(--color-danger);color:var(--color-danger);padding:var(--space-3);border-radius:var(--radius-sm);font-weight:700;font-size:.85rem}.success-text{background:var(--color-success-soft);border:1px solid var(--color-success);color:var(--color-success);padding:var(--space-3);border-radius:var(--radius-sm);font-weight:700;font-size:.85rem}.abuse-form button:focus-visible,.abuse-form input:focus-visible,.abuse-form select:focus-visible,.abuse-form textarea:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}@media(max-width:640px){.report-abuse-page{padding:var(--space-6) var(--space-3) var(--space-8)}.abuse-form{padding:var(--space-5)}.abuse-form button{font-size:.9rem}}@media(prefers-reduced-motion:reduce){.abuse-form button{transition:none!important;transform:none!important}}.my-abuse-page{max-width:900px;margin:0 auto;padding-bottom:60px}.reports-list{display:flex;flex-direction:column;gap:20px}.report-card{background:#fff;border-radius:18px;padding:20px;border:1px solid #f1f5f9;box-shadow:0 14px 35px #00000014;transition:transform .18s ease,box-shadow .18s ease}.report-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px #0000001f}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.report-header strong{font-size:15px;font-weight:900;color:#0f172a;text-transform:capitalize}.report-description{color:#374151;line-height:1.6;margin-bottom:12px}.text-safe{word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap;max-height:160px;overflow-y:auto;padding-right:6px}.text-safe::-webkit-scrollbar{width:6px}.text-safe::-webkit-scrollbar-thumb{background:#cbd5f5;border-radius:6px}.report-meta{font-size:12px;font-weight:600;color:#6b7280;display:flex;gap:16px;margin-bottom:10px;flex-wrap:wrap}.manager-response{background:#f8fafc;border-left:4px solid #2563eb;padding:12px;border-radius:10px;margin-top:10px}.manager-response strong{display:block;font-size:13px;font-weight:900;color:#1e40af;margin-bottom:4px}.manager-response p{font-size:14px;color:#1f2933;line-height:1.6}.notified-badge{margin-top:10px;font-size:12px;font-weight:800;color:#16a34a}.status{font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;white-space:nowrap}.status.open{background:#e0f2fe;color:#0369a1}.status.under_review{background:#fef9c3;color:#92400e}.status.resolved{background:#dcfce7;color:#166534}.status.dismissed{background:#fee2e2;color:#991b1b}.status-text{text-align:center;font-weight:700;color:#6b7280;padding:40px}.empty-state{text-align:center;padding:60px;font-size:18px;font-weight:700;color:#16a34a}.error-box{text-align:center;padding:40px}@media(max-width:640px){.my-abuse-page{padding:0 16px}.report-card{padding:16px}.report-header{flex-direction:column;align-items:flex-start;gap:6px}.report-meta{gap:10px}}.verify-email-page{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:clamp(40px,6vw,80px) var(--space-5);background:radial-gradient(circle at 20% 20%,var(--color-primary-soft),transparent 45%),radial-gradient(circle at 80% 80%,var(--color-info-soft),transparent 45%),linear-gradient(135deg,#f8fafc,#eef2ff)}.verify-card{width:100%;max-width:440px;background:var(--color-surface);border:1px solid var(--color-border);padding:clamp(28px,5vw,48px);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-lg);transition:transform var(--motion-fast) ease,box-shadow var(--motion-med) ease}.verify-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.verify-card h2{font-size:clamp(1.3rem,3vw,1.6rem);font-weight:800;margin-bottom:var(--space-3);color:var(--color-text)}.verify-card p{color:var(--color-text-muted);margin-bottom:var(--space-6);font-size:.95rem;line-height:1.6}.verify-actions{display:flex;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.primary-btn{min-height:44px;padding:10px 18px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;font-size:.9rem;cursor:pointer;transition:background var(--motion-med) ease,transform var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.primary-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.primary-btn:active{transform:scale(.98)}.primary-btn:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.secondary-btn{min-height:44px;padding:10px 18px;background:var(--color-muted-border);color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;font-size:.9rem;cursor:pointer;transition:background var(--motion-med) ease,transform var(--motion-fast) ease}.secondary-btn:hover{background:var(--color-text-muted);transform:translateY(-1px)}.secondary-btn:active{transform:scale(.98)}.secondary-btn:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}@media(max-width:480px){.verify-email-page{padding:var(--space-6) var(--space-4);align-items:flex-start}.verify-card{border-radius:var(--radius-md);padding:var(--space-6)}.verify-actions{flex-direction:column}.primary-btn,.secondary-btn{width:100%}}@media(prefers-reduced-motion:reduce){.verify-card,.primary-btn,.secondary-btn{transition:none!important;transform:none!important}}.policy-page{padding:clamp(48px,6vw,72px) var(--space-6) var(--space-9);background:var(--color-bg);min-height:calc(100vh - 64px);display:flex;flex-direction:column}.policy-nav{max-width:900px;margin:0 auto var(--space-4);padding:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:.9rem}.policy-nav-link{color:var(--color-primary);font-weight:700;text-decoration:none;padding:8px 14px;border-radius:var(--radius-sm);min-height:40px;display:inline-flex;align-items:center;transition:background var(--motion-med) ease,transform var(--motion-fast) ease,color var(--motion-fast) ease}.policy-nav-link:hover{background:var(--color-primary-soft);text-decoration:underline;transform:translateY(-1px)}.policy-nav-link:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.policy-content{max-width:900px;margin:0 auto;background:var(--color-surface);padding:clamp(28px,4vw,48px);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);flex-shrink:0}.policy-content>p:first-of-type{font-size:1rem;line-height:1.85;color:var(--color-text-muted);margin-bottom:var(--space-5)}.policy-content h3{margin-top:var(--space-7);margin-bottom:var(--space-3);font-size:clamp(1.1rem,2vw,1.3rem);font-weight:800;color:var(--color-text);letter-spacing:-.2px}.policy-content h3:first-child{margin-top:0}.policy-content p{font-size:.97rem;line-height:1.8;color:var(--color-text);margin-bottom:var(--space-3)}.policy-content p+p{margin-top:var(--space-2)}.policy-content a{color:var(--color-primary);font-weight:600;text-decoration:none}.policy-content a:hover{text-decoration:underline}.policy-content a:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}.policy-highlight{background:var(--color-muted-bg);border-left:4px solid var(--color-primary);padding:var(--space-4);margin:var(--space-6) 0;border-radius:var(--radius-sm);font-size:.9rem;color:var(--color-text);font-weight:600}.policy-updated{margin-top:var(--space-8);font-size:.8rem;color:var(--color-text-muted);font-style:italic}@media(max-width:768px){.policy-content{border-radius:var(--radius-md)}.policy-nav{gap:var(--space-3);font-size:.85rem}}@media(max-width:640px){.policy-page{padding:var(--space-7) var(--space-4) var(--space-8)}.policy-content{padding:var(--space-6) var(--space-4)}.policy-content h3{font-size:1.1rem}.policy-content p{font-size:.95rem}.policy-nav{flex-direction:column}.policy-nav-link{width:100%}}@media print{.policy-page{background:#fff;padding:0;min-height:auto}.policy-content{box-shadow:none;border-radius:0;border:none;padding:0}.policy-nav{display:none}}@media(prefers-reduced-motion:reduce){.policy-nav-link{transition:none!important;transform:none!important}}.forbidden-page{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-bg)}.forbidden-card{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:520px;padding:clamp(28px,6vw,44px);text-align:center;border:1px solid var(--color-border);box-shadow:var(--shadow-md);transition:transform var(--motion-med) ease,box-shadow var(--motion-med) ease}@media(hover:hover){.forbidden-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}}.forbidden-title{font-size:clamp(1.6rem,4vw,2rem);font-weight:800;color:var(--color-danger);margin-bottom:var(--space-4)}.forbidden-message{font-size:1rem;color:var(--color-text);line-height:1.6;margin-bottom:var(--space-3)}.forbidden-role{font-size:.9rem;color:var(--color-text-muted);margin-bottom:var(--space-6)}.forbidden-actions{display:flex;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.forbidden-btn{min-height:44px;padding:10px 18px;border-radius:var(--radius-sm);font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;transition:background var(--motion-med) ease,transform var(--motion-fast) ease,box-shadow var(--motion-med) ease}.forbidden-btn.primary{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.forbidden-btn.primary:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.forbidden-btn.secondary{background:var(--color-muted-bg);color:var(--color-text);border:1px solid var(--color-border)}.forbidden-btn.secondary:hover{background:var(--color-muted-border);transform:translateY(-2px)}.forbidden-btn:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px}@media(max-width:480px){.forbidden-card{padding:var(--space-6)}.forbidden-actions{flex-direction:column;gap:var(--space-3)}.forbidden-btn{width:100%}}@media(prefers-reduced-motion:reduce){.forbidden-card,.forbidden-btn{transition:none!important;transform:none!important}}html,body{margin:0;padding:0}html,body{width:100%;overflow-x:hidden;overflow-y:auto}#root{min-height:100vh;display:flex;flex-direction:column}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:var(--line-base);font-size:var(--font-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}button:focus{outline:none}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:3px;border-radius:var(--radius-xs)}button{background:none;border:none;cursor:pointer}button:disabled{cursor:not-allowed}html{scroll-behavior:smooth}img{height:auto}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}:root{--color-bg: #f4f6f8;--color-surface: #ffffff;--color-text: #111827;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-soft: rgba(37, 99, 235, .12);--color-success: #16a34a;--color-success-hover: #15803d;--color-success-soft: rgba(22, 163, 74, .14);--color-warning: #f59e0b;--color-warning-hover: #d97706;--color-warning-soft: rgba(245, 158, 11, .18);--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-soft: rgba(220, 38, 38, .14);--color-info: #0ea5e9;--color-info-soft: rgba(14, 165, 233, .14);--color-muted-bg: #f3f4f6;--color-muted-border: #d1d5db;--color-overlay: rgba(17, 24, 39, .55);--color-focus-ring: var(--color-primary-soft);--color-link: var(--color-primary);--color-link-hover: var(--color-primary-hover);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-xs: 0 1px 4px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 8px 24px rgba(0, 0, 0, .08);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .18);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 56px;--container-max: 1200px;--motion-fast: .15s;--motion-med: .25s;--motion-slow: .35s;--font-base: 16px;--line-base: 1.6;--font-h1: clamp(32px, 4vw, 48px);--font-h2: 28px;--font-h3: 22px;--font-small: 14px;--z-dropdown: 20;--z-sticky: 30;--z-modal: 50;--z-toast: 60;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px}*,*:before,*:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-size:var(--font-base);line-height:var(--line-base);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;display:block}a{color:var(--color-link);text-decoration:none}a:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--color-primary-soft)}button{font-family:inherit}.ui-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-4)}.ui-section{margin-bottom:var(--space-8)}.ui-link-reset{text-decoration:none!important}.ui-link{color:var(--color-link);text-decoration:underline;text-underline-offset:3px}.ui-link:hover{color:var(--color-link-hover)}.ui-link-reset:hover{text-decoration:none!important}.ui-stack{display:flex;flex-direction:column;gap:var(--space-4)}.ui-row{display:flex;align-items:center;gap:var(--space-3)}.ui-row.between{justify-content:space-between}.ui-center{display:grid;place-items:center}.ui-grid{display:grid;gap:var(--space-4)}.ui-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:768px){.ui-grid.cols-2,.ui-grid.cols-3{grid-template-columns:1fr}}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--motion-fast) ease,box-shadow var(--motion-med) ease,border-color var(--motion-med) ease}.ui-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-soft)}.ui-card-header{padding:var(--space-4);border-bottom:1px solid var(--color-border);font-weight:700}.ui-card-body{padding:var(--space-4)}.ui-card.flat{box-shadow:none}.ui-card.padded .ui-card-body{padding:var(--space-6)}.ui-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.ui-badge.success{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success)}.ui-badge.warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning)}.ui-badge.danger{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger)}.ui-badge.info{background:var(--color-info-soft);color:var(--color-info);border-color:var(--color-info)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:var(--radius-sm);font-weight:700;font-size:14px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:transform var(--motion-fast) ease,background var(--motion-med) ease,border-color var(--motion-med) ease}.ui-btn:hover{transform:translateY(-1px)}.ui-btn:active{transform:scale(.97)}.ui-btn:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}.ui-btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface)}.ui-btn.primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.ui-btn.success{background:var(--color-success);border-color:var(--color-success);color:var(--color-surface)}.ui-btn.success:hover{background:var(--color-success-hover)}.ui-btn.danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-surface)}.ui-btn.danger:hover{background:var(--color-danger-hover)}.ui-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;filter:grayscale(10%)}.ui-btn[aria-disabled=true]{pointer-events:none;opacity:.6;cursor:not-allowed}.ui-btn.outline{background:transparent;border-color:var(--color-primary);color:var(--color-primary)}.ui-btn.outline:hover{background:var(--color-primary-soft);border-color:var(--color-primary-hover);color:var(--color-primary-hover)}.ui-btn.ghost{background:transparent;border-color:transparent}.ui-btn.ghost:hover{background:#1118270f}.ui-btn.sm{min-height:38px;padding:8px 12px;font-size:13px}.ui-btn.lg{min-height:52px;padding:12px 18px;font-size:15px;border-radius:var(--radius-md)}.ui-btn.icon{min-width:44px;padding:10px}.ui-btn.hero-light{background:#ffffff26;border:1px solid rgba(255,255,255,.4);color:var(--color-surface);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ui-btn.hero-light:hover{background:#ffffff40;border-color:#fff9}.ui-btn.hero-light:focus-visible{outline:3px solid rgba(255,255,255,.5);outline-offset:3px}.ui-input,.ui-select,.ui-textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:16px}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--color-text-muted)}.ui-textarea{min-height:110px;resize:vertical}.ui-field{display:flex;flex-direction:column;gap:6px}.ui-label{font-weight:800;font-size:13px;color:var(--color-text)}.ui-help{font-size:13px;color:var(--color-text-muted)}.ui-error{font-size:13px;color:var(--color-danger);font-weight:700}.ui-input.error,.ui-select.error,.ui-textarea.error{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}.ui-table{width:100%;border-collapse:collapse;background:var(--color-surface)}.ui-table th,.ui-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);text-align:left}.ui-table th{background:var(--color-muted-bg);font-weight:700;color:var(--color-text-muted)}.ui-table tr:hover{background:#2563eb0f}.ui-table-wrap{width:100%;overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.ui-h1{font-size:var(--font-h1);line-height:1.15;letter-spacing:-.02em;margin:0;font-weight:900}.ui-h2{font-size:var(--font-h2);line-height:1.2;margin:0;font-weight:900}.ui-h3{font-size:var(--font-h3);line-height:1.25;margin:0;font-weight:800}.ui-text{margin:0}.ui-muted{color:var(--color-text-muted)}.ui-small{font-size:var(--font-small)}.ui-mt-2{margin-top:var(--space-2)}.ui-mt-4{margin-top:var(--space-4)}.ui-mb-2{margin-bottom:var(--space-2)}.ui-mb-4{margin-bottom:var(--space-4)}.ui-alert{display:flex;align-items:flex-start;gap:10px;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-xs)}.ui-alert.info{border-color:#0ea5e959;background:var(--color-info-soft)}.ui-alert.success{border-color:#16a34a59;background:var(--color-success-soft)}.ui-alert.warning{border-color:#f59e0b59;background:var(--color-warning-soft)}.ui-alert.danger{border-color:#dc262659;background:var(--color-danger-soft)}.ui-alert-title{font-weight:900;margin:0 0 4px}.ui-alert-text{margin:0;color:var(--color-text)}.ui-backdrop{position:fixed;inset:0;background:var(--color-overlay);z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-4)}.ui-modal{width:min(720px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.ui-modal-header{padding:var(--space-4);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ui-modal-body{padding:var(--space-4)}.ui-modal-footer{padding:var(--space-4);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:var(--space-3)}.ui-divider{height:1px;width:100%;background:var(--color-border)}@media(prefers-reduced-motion:reduce){.ui-card,.ui-btn,a{transition:none!important}.ui-card:hover,.ui-btn:hover{transform:none!important}}.ui-skeleton{pointer-events:none}.ui-skeleton-block{background:linear-gradient(90deg,var(--color-muted-bg) 25%,var(--color-border) 37%,var(--color-muted-bg) 63%);background-size:400% 100%;animation:ui-skeleton-loading 1.4s ease infinite;border-radius:var(--radius-sm)}.ui-skeleton-image{width:100%;height:180px;border-radius:var(--radius-md)}.ui-skeleton-text{height:14px;margin-bottom:8px}.ui-skeleton-text.large{height:18px;width:70%}.ui-skeleton-text.medium{width:50%}.ui-skeleton-text.small{width:35%}@keyframes ui-skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}
