:root{
  --accent: #ff2d55;
  --muted: #bdbdbd;
}
*{box-sizing:border-box}
html,body{width:100%;max-width:100%;height:100%;margin:0;font-family:Montserrat,system-ui,Arial,sans-serif;background:#000;color:#eee;overflow-x:hidden}
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
img{display:block;max-width:100%;height:auto}
body.mobile-nav-open{overflow:hidden}
.topbar{position:fixed;top:0;left:0;width:100%;z-index:50}
.nav{display:flex;justify-content:flex-end;padding:18px 36px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:flex-start;gap:24px}
.nav-item{position:relative}
.mobile-topbar,.mobile-nav-overlay,.mobile-nav-drawer{display:none}
.nav-link,.nav-trigger{color:var(--muted);text-decoration:none;font-family:Audiowide,Montserrat,system-ui;font-size:1rem;line-height:1.1;font-weight:400;letter-spacing:0.6px;transition:color .2s ease,text-shadow .2s ease}
.nav-trigger{padding:0;border:0;background:none;cursor:pointer}
.nav-link:hover,.nav-trigger:hover,.nav-item-auth:hover .nav-trigger,.nav-item-auth:focus-within .nav-trigger,.nav-link-current{color:var(--accent);text-shadow:0 0 12px rgba(255,45,85,0.45)}
.nav-link:focus-visible,.nav-trigger:focus-visible,.auth-field input:focus-visible,.auth-btn:focus-visible,.auth-link:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible,.mobile-nav-toggle:focus-visible,.mobile-nav-close:focus-visible,.mobile-nav-link:focus-visible{outline:2px solid rgba(255,45,85,0.8);outline-offset:3px}
.nav-user{display:flex;align-items:center;color:var(--muted);font-family:Audiowide,Montserrat,system-ui;font-size:1rem;line-height:1.1;font-weight:400;letter-spacing:0.6px;white-space:nowrap}
.nav-item-auth::after{content:"";position:absolute;top:100%;left:0;right:0;height:14px}
.auth-dropdown{position:absolute;top:calc(100% + 14px);left:0;width:min(340px,calc(100vw - 32px));padding:18px;border:1px solid rgba(255,255,255,0.08);border-radius:22px;background:rgba(8,8,8,0.96);box-shadow:0 24px 60px rgba(0,0,0,0.45),0 0 0 1px rgba(255,45,85,0.08);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}
.nav-item-auth:hover .auth-dropdown,.nav-item-auth:focus-within .auth-dropdown{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.auth-form{display:flex;flex-direction:column;gap:12px;font-family:Montserrat,system-ui,Arial,sans-serif}
.auth-field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;letter-spacing:.8px;text-transform:uppercase}
.auth-field input{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,0.12);border-radius:14px;background:rgba(255,255,255,0.04);color:#fff;font:inherit}
.auth-field input::placeholder{color:rgba(255,255,255,0.35)}
.auth-field input:focus{outline:none;border-color:rgba(255,45,85,0.65);box-shadow:0 0 0 4px rgba(255,45,85,0.12)}
.auth-link{align-self:flex-start;color:rgba(255,255,255,0.68);font-size:13px;line-height:1.4;text-decoration:none;transition:color .2s ease}
.auth-link:hover{color:var(--accent)}
.auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}
.auth-btn{display:flex;align-items:center;justify-content:center;min-height:44px;padding:11px 14px;border:1px solid transparent;border-radius:14px;background:none;color:#fff;text-decoration:none;font-family:Montserrat,system-ui,Arial,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease}
.auth-btn:hover{transform:translateY(-1px)}
.auth-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.auth-btn-primary{background:linear-gradient(135deg,var(--accent),#ff6f87);box-shadow:0 12px 24px rgba(255,45,85,0.25)}
.auth-btn-secondary{border-color:rgba(255,255,255,0.18);background:rgba(255,255,255,0.02)}
.auth-divider{margin:2px 0 0;color:rgba(255,255,255,0.55);font-size:12px;letter-spacing:.4px;text-align:center}
.social-login{display:flex;flex-direction:column;gap:10px}
.auth-btn-social{width:100%;border-color:rgba(255,255,255,0.1);background:rgba(255,255,255,0.05)}
.auth-btn-google{background:linear-gradient(135deg,rgba(66,133,244,0.18),rgba(234,67,53,0.18))}
.auth-btn-facebook{background:linear-gradient(135deg,rgba(24,119,242,0.28),rgba(24,119,242,0.12))}
.auth-btn-phone{background:linear-gradient(135deg,rgba(0,204,136,0.22),rgba(0,136,255,0.16))}
.auth-btn-instagram{background:linear-gradient(135deg,rgba(245,133,41,0.18),rgba(221,42,123,0.22),rgba(81,91,212,0.18))}

.hero{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;padding:80px 24px;min-width:0}
.hero-inner{display:flex;flex-direction:column;align-items:center;gap:20px}
.logo{max-width:30vw;max-height:24vh;width:auto;filter:drop-shadow(0 10px 30px rgba(255,45,85,0.25));transition:transform .45s ease,filter .35s ease}
.logo:hover{transform:scale(1.03);filter:drop-shadow(0 20px 40px rgba(255,45,85,0.45))}
.tagline{font-family:Audiowide,Montserrat,system-ui;letter-spacing:2px;color:var(--muted);margin:0}
.eyebrow{margin:0;color:var(--accent);font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase}

.eq{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.eq span{display:block;width:8px;height:24px;background:linear-gradient(180deg,var(--accent),#ff8aa1);border-radius:3px;animation:beat 1s infinite ease-in-out}
.eq span:nth-child(2){animation-duration:.9s}
.eq span:nth-child(3){animation-duration:1.15s}
.eq span:nth-child(4){animation-duration:.8s}
.eq span:nth-child(5){animation-duration:1.25s}

@keyframes beat{0%{transform:scaleY(.5);opacity:.6}50%{transform:scaleY(1.8);opacity:1}100%{transform:scaleY(.6);opacity:.7}}

.content-section{min-height:40vh;padding:48px 24px;scroll-margin-top:110px}
.content-section:empty{display:none}
.public-listing-section{position:relative;padding-top:40px;padding-bottom:80px}
.public-listing-shell{width:min(1180px,100%);margin:0 auto;display:flex;flex-direction:column;gap:28px;min-width:0}
.public-listing-head{display:flex;flex-direction:column;gap:14px;max-width:760px}
.public-listing-kicker{margin:0;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase}
.public-listing-title{margin:0;font-family:Audiowide,Montserrat,system-ui;font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:1px}
.public-listing-copy{margin:0;color:rgba(255,255,255,0.74);font-size:16px;line-height:1.7}
.public-listing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.public-listing-card{display:flex;flex-direction:column;gap:18px;padding:28px;border:1px solid rgba(255,255,255,0.08);border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,0.06),rgba(255,255,255,0.02));box-shadow:0 24px 60px rgba(0,0,0,0.28);backdrop-filter:blur(18px);min-width:0}
.public-listing-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}
.public-listing-card-title{margin:0;font-family:Audiowide,Montserrat,system-ui;font-size:clamp(22px,3vw,30px);line-height:1.25;letter-spacing:.6px;overflow-wrap:anywhere}
.public-listing-meta{display:flex;flex-direction:column;gap:8px;color:rgba(255,255,255,0.78);line-height:1.6;min-width:0}
.public-listing-subblock{display:flex;flex-direction:column;gap:12px;padding-top:4px;border-top:1px solid rgba(255,255,255,0.08)}
.public-listing-subtitle{margin:0;color:rgba(255,255,255,0.92);font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}
.public-listing-mini-list{display:flex;flex-direction:column;gap:10px}
.public-listing-mini-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid rgba(255,255,255,0.06);border-radius:18px;background:rgba(255,255,255,0.03)}
.public-listing-mini-item strong{font-size:15px;line-height:1.4}
.public-listing-mini-item span{color:rgba(255,255,255,0.68);line-height:1.5;text-align:right}
.public-listing-pill{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(84,214,44,0.28);background:rgba(84,214,44,0.14);color:#d8ffcc;font-size:13px;font-weight:700;letter-spacing:.4px;white-space:nowrap}
.public-listing-pill-muted{border-color:rgba(255,196,87,0.28);background:rgba(255,196,87,0.12);color:#ffe2a4}
.public-listing-empty{display:flex;align-items:center;justify-content:center;min-height:260px;border:1px dashed rgba(255,255,255,0.14);border-radius:30px;background:rgba(255,255,255,0.02)}
.public-listing-empty-copy,.public-listing-note{margin:0;color:rgba(255,255,255,0.68);line-height:1.6}
.placeholder-card{padding:32px;border:1px solid rgba(255,255,255,0.08);border-radius:28px;background:rgba(8,8,8,0.78);box-shadow:0 24px 60px rgba(0,0,0,0.35);backdrop-filter:blur(14px);min-width:0}
.placeholder-title{margin:0;font-family:Audiowide,Montserrat,system-ui;font-size:clamp(28px,4vw,42px);letter-spacing:1px}
.page-shell{padding-top:120px;padding-bottom:48px}
.page-frame{flex:1;padding:120px 24px 48px;min-width:0}
.registration-card,.dashboard-card{width:min(760px,100%);max-width:100%;padding:36px;border:1px solid rgba(255,255,255,0.08);border-radius:30px;background:rgba(8,8,8,0.82);box-shadow:0 24px 60px rgba(0,0,0,0.42);backdrop-filter:blur(16px);min-width:0}
.registration-head{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:26px}
.registration-head .logo{max-width:180px;max-height:none}
.registration-copy{max-width:56ch;margin:0;color:rgba(255,255,255,0.72);line-height:1.6}
.registration-form{display:flex;flex-direction:column;gap:22px}
.registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-field span{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:14px 16px;border:1px solid rgba(255,255,255,0.12);border-radius:16px;background:rgba(255,255,255,0.04);color:#fff;font:inherit}
.form-field input::placeholder{color:rgba(255,255,255,0.35)}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:rgba(255,45,85,0.65);box-shadow:0 0 0 4px rgba(255,45,85,0.12)}
.form-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,0.7) 50%),linear-gradient(135deg,rgba(255,255,255,0.7) 50%,transparent 50%);background-position:calc(100% - 22px) calc(50% - 2px),calc(100% - 16px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px}
.form-field select option{background:#111;color:#fff}
.form-field textarea{min-height:140px;resize:vertical;line-height:1.6}
.registration-actions{display:flex;gap:12px;justify-content:flex-start;flex-wrap:wrap}
.form-message{margin:0 0 18px;padding:14px 16px;border-radius:16px;font-size:14px;line-height:1.5}
.form-message-success{border:1px solid rgba(84,214,44,0.25);background:rgba(84,214,44,0.1);color:#d8ffcc}
.form-message-warning{border:1px solid rgba(255,196,87,0.28);background:rgba(255,196,87,0.1);color:#ffe8b0}
.form-message-error,.field-error{color:#ffadb9}
.form-message-error{border:1px solid rgba(255,45,85,0.25);background:rgba(255,45,85,0.1)}
.field-error{font-size:13px}
.footer{padding:20px;text-align:center;color:var(--muted);font-size:14px}

.dashboard-page{position:relative}
.dashboard-page::before{content:"";position:fixed;inset:0;background:radial-gradient(circle at top left,rgba(255,45,85,0.16),transparent 38%),radial-gradient(circle at bottom right,rgba(255,111,135,0.12),transparent 30%);pointer-events:none;z-index:0}
.dashboard-shell{position:relative;z-index:1;width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:24px;align-items:start;min-width:0}
.dashboard-sidebar{display:flex;flex-direction:column;gap:22px;min-width:0}
.dashboard-main{display:flex;flex-direction:column;gap:22px;min-height:100%;min-width:0}
.dashboard-main-head{display:flex;flex-direction:column;gap:14px}
.dashboard-title{margin:0;font-family:Audiowide,Montserrat,system-ui;font-size:clamp(30px,4vw,44px);letter-spacing:1px;overflow-wrap:anywhere}
.dashboard-actions{display:flex;flex-direction:column;gap:12px}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dashboard-block{padding:22px;border:1px solid rgba(255,255,255,0.08);border-radius:22px;background:rgba(255,255,255,0.03);min-width:0}
.dashboard-block-title{margin:0 0 12px;font-family:Audiowide,Montserrat,system-ui;font-size:18px;letter-spacing:.6px}

@media(max-width:700px){
  .topbar{display:flex;justify-content:flex-start;padding:10px 14px}
  .hero{padding:72px 16px 60px}
  .hero-inner{gap:16px}
  .logo{max-width:min(58vw,220px);max-height:18vh}
  .tagline{font-size:.88rem;text-align:center}
  .eq{bottom:18px;gap:6px}
  .eq span{width:6px;height:20px}
  .nav{display:none}
  .mobile-topbar{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
  .mobile-topbar-brand{display:inline-flex;align-items:center;justify-content:flex-end;min-width:0;color:#fff;text-decoration:none;font-family:Audiowide,Montserrat,system-ui;font-size:.94rem;letter-spacing:.7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;flex:0 0 auto;min-width:48px;height:48px;padding:0 13px;border:1px solid rgba(255,255,255,0.1);border-radius:18px;background:linear-gradient(180deg,rgba(24,24,24,0.92),rgba(8,8,8,0.86));box-shadow:0 14px 30px rgba(0,0,0,0.28);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
  .mobile-nav-toggle:hover{transform:translateY(-1px);border-color:rgba(255,45,85,0.22);box-shadow:0 18px 34px rgba(255,45,85,0.12)}
  .mobile-nav-toggle span{display:block;width:22px;height:2px;border-radius:999px;background:#fff;transition:transform .2s ease,opacity .2s ease}
  body.mobile-nav-open .mobile-nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.mobile-nav-open .mobile-nav-toggle span:nth-child(2){opacity:0}
  body.mobile-nav-open .mobile-nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-nav-overlay{position:fixed;inset:0;display:block;background:rgba(0,0,0,0.58);backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}
  .mobile-nav-overlay.mobile-nav-overlay-visible{opacity:1;visibility:visible;pointer-events:auto}
  .mobile-nav-drawer{position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;width:min(320px,84vw);padding:18px 14px 20px;border-right:1px solid rgba(255,255,255,0.08);background:radial-gradient(circle at top left,rgba(255,45,85,0.16),transparent 28%),rgba(8,8,8,0.97);box-shadow:24px 0 60px rgba(0,0,0,0.42);transform:translateX(-100%);transition:transform .3s ease;overflow:auto}
  .mobile-nav-drawer.mobile-nav-drawer-open{transform:translateX(0)}
  .mobile-nav-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
  .mobile-nav-brand-wrap{display:flex;align-items:center;gap:12px;max-width:calc(100% - 52px);min-width:0}
  .mobile-nav-brand-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
  .mobile-nav-brand-logo{width:52px;height:auto;filter:drop-shadow(0 10px 24px rgba(255,45,85,0.24))}
  .mobile-nav-brand,.mobile-nav-user,.mobile-nav-tagline{font-family:Audiowide,Montserrat,system-ui;letter-spacing:.6px}
  .mobile-nav-brand{font-size:.98rem;color:#fff;overflow-wrap:anywhere}
  .mobile-nav-tagline{color:rgba(255,255,255,0.6);font-size:.64rem;letter-spacing:.8px;overflow-wrap:anywhere}
  .mobile-nav-user{font-size:.82rem;color:var(--muted);overflow-wrap:anywhere}
  .mobile-nav-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,0.1);border-radius:14px;background:rgba(255,255,255,0.04);color:#fff;font-size:26px;line-height:1;cursor:pointer}
  .mobile-nav-body{display:flex;flex-direction:column;gap:16px;min-width:0}
  .mobile-nav-section{display:flex;flex-direction:column;gap:10px}
  .mobile-nav-link{display:flex;align-items:center;gap:12px;min-height:50px;padding:0 14px;border:1px solid rgba(255,255,255,0.08);border-radius:18px;background:rgba(255,255,255,0.03);color:#fff;text-decoration:none;font-family:Audiowide,Montserrat,system-ui;font-size:13px;letter-spacing:.45px;transition:transform .2s ease,border-color .2s ease,background .2s ease}
  .mobile-nav-link:hover{transform:translateX(2px);border-color:rgba(255,45,85,0.22);background:rgba(255,45,85,0.08)}
  .mobile-nav-link span{display:block;min-width:0;overflow-wrap:anywhere}
  .mobile-nav-link-icon{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.84)}
  .mobile-nav-link-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-nav-link-current{border-color:rgba(255,45,85,0.36);background:linear-gradient(135deg,rgba(255,45,85,0.2),rgba(255,111,135,0.1));box-shadow:0 12px 28px rgba(255,45,85,0.14)}
  .mobile-nav-link-current .mobile-nav-link-icon{background:rgba(255,45,85,0.16);color:#fff}
  .mobile-drawer-kicker{margin:0 0 12px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}
  .mobile-auth-panel{padding:16px;border:1px solid rgba(255,255,255,0.08);border-radius:22px;background:rgba(255,255,255,0.03);min-width:0}
  .mobile-auth-form{gap:10px}
  .mobile-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
  .page-shell{padding-top:88px;padding-bottom:22px}
  .page-frame{padding:88px 16px 24px}
  .content-section{padding:28px 16px;scroll-margin-top:90px}
  .public-listing-section{padding-top:20px;padding-bottom:36px}
  .public-listing-shell{gap:20px}
  .public-listing-card,.placeholder-card,.dashboard-subsection{padding:20px;border-radius:22px}
  .registration-card,.dashboard-card{padding:20px;border-radius:24px}
  .registration-grid,.dashboard-grid,.dashboard-shell,.public-listing-grid{grid-template-columns:1fr}
  .registration-actions,.dashboard-actions{flex-direction:column}
  .dashboard-shell{gap:18px}
  .dashboard-menu-link{min-height:0;padding:14px 16px;line-height:1.35;white-space:normal}
  .dashboard-title,.placeholder-title,.detail-value{overflow-wrap:anywhere}
  .detail-value{font-size:18px}
  .public-listing-card-head,.public-listing-mini-item{flex-direction:column;align-items:flex-start}
  .public-listing-mini-item span{text-align:left}
  .footer{padding:14px 16px;font-size:13px}
}

@media(min-width:900px){.logo{max-width:290px}}

.compact-card{max-width:620px}
.page-copy{margin:0;color:rgba(255,255,255,0.72);line-height:1.6}
.stacked-form{max-width:420px}
.status-panel{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid rgba(255,255,255,0.08);border-radius:18px;background:rgba(255,255,255,0.03)}
.status-line{margin:0;color:rgba(255,255,255,0.82);line-height:1.5}
.notification-status-panel{transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.notification-status-active{border-color:rgba(84,214,44,0.25);background:rgba(84,214,44,0.1);box-shadow:0 0 0 1px rgba(84,214,44,0.08) inset}
.notification-status-warning{border-color:rgba(255,196,87,0.28);background:rgba(255,196,87,0.1);box-shadow:0 0 0 1px rgba(255,196,87,0.08) inset}
.notification-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}
.notification-actions .auth-btn{min-width:180px}
.notification-preferences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.notification-toggle{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid rgba(255,255,255,0.08);border-radius:20px;background:rgba(255,255,255,0.03);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.notification-toggle:hover{transform:translateY(-1px);border-color:rgba(255,45,85,0.22);background:rgba(255,45,85,0.06)}
.notification-toggle-control{position:relative;display:inline-flex;flex:0 0 auto;width:54px;height:32px;margin-top:1px}
.notification-toggle-control input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.notification-toggle-slider{position:relative;display:block;width:100%;height:100%;border:1px solid rgba(255,255,255,0.14);border-radius:999px;background:rgba(255,255,255,0.1);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.notification-toggle-slider::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 8px 18px rgba(0,0,0,0.25);transition:transform .2s ease,background .2s ease}
.notification-toggle-control input:checked + .notification-toggle-slider{border-color:rgba(255,45,85,0.45);background:rgba(255,45,85,0.34);box-shadow:0 0 0 1px rgba(255,45,85,0.14) inset}
.notification-toggle-control input:checked + .notification-toggle-slider::after{transform:translateX(22px);background:#ffe7ed}
.notification-toggle-control input:focus-visible + .notification-toggle-slider{box-shadow:0 0 0 3px rgba(255,45,85,0.18)}
.notification-toggle-control input:disabled + .notification-toggle-slider{opacity:.55}
.notification-toggle-copy{display:flex;flex-direction:column;gap:6px}
.notification-toggle-copy strong{font-size:15px;line-height:1.4}
.notification-toggle-copy span{color:rgba(255,255,255,0.68);line-height:1.5}
.notification-toggle:has(input:checked){border-color:rgba(255,45,85,0.3);background:rgba(255,45,85,0.09)}
.notification-toggle:has(input:disabled){opacity:.65;cursor:not-allowed;transform:none}
.auth-remember{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,0.78);font-size:13px;line-height:1.4;cursor:pointer}
.auth-remember input{accent-color:var(--accent)}
.password-rules{margin:0;color:rgba(255,255,255,0.72);line-height:1.6}

.dashboard-sidebar{position:sticky;top:120px}
.dashboard-menu{display:flex;flex-direction:column;gap:10px}
.dashboard-menu-link{display:flex;align-items:center;justify-content:flex-start;min-height:52px;padding:0 18px;border:1px solid rgba(255,255,255,0.1);border-radius:16px;background:rgba(255,255,255,0.03);color:#fff;text-decoration:none;font-family:Audiowide,Montserrat,system-ui;font-size:14px;letter-spacing:.5px;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.dashboard-menu-link:hover{transform:translateY(-1px);border-color:rgba(255,45,85,0.28);background:rgba(255,45,85,0.08)}
.dashboard-menu-link-active{border-color:rgba(255,45,85,0.4);background:linear-gradient(135deg,rgba(255,45,85,0.22),rgba(255,111,135,0.12));box-shadow:0 14px 28px rgba(255,45,85,0.16)}
.dashboard-section{display:flex;flex-direction:column;gap:22px}
.dashboard-main-head-compact{gap:10px}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.detail-card{display:flex;flex-direction:column;gap:10px;padding:22px;border:1px solid rgba(255,255,255,0.08);border-radius:22px;background:rgba(255,255,255,0.03)}
.detail-label{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}
.detail-value{font-size:20px;line-height:1.3}
.detail-note{color:rgba(255,255,255,0.68);font-size:13px;line-height:1.5}
.dashboard-subsection{display:flex;flex-direction:column;gap:18px;padding:24px;border:1px solid rgba(255,255,255,0.08);border-radius:24px;background:rgba(255,255,255,0.02)}
.dashboard-form{display:flex;flex-direction:column;gap:18px}
.dashboard-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.form-field-full{grid-column:1/-1}
.users-table-wrap{overflow:auto;border:1px solid rgba(255,255,255,0.08);border-radius:24px;background:rgba(255,255,255,0.03)}
.users-table{width:100%;min-width:640px;border-collapse:collapse}
.users-table th,.users-table td{padding:16px 18px;text-align:left;border-bottom:1px solid rgba(255,255,255,0.08)}
.users-table th{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}
.users-table tbody tr:last-child td{border-bottom:none}
.dashboard-empty{min-height:360px;border:1px dashed rgba(255,255,255,0.14);border-radius:26px;background:rgba(255,255,255,0.02)}

@media(max-width:700px){
  .dashboard-sidebar{position:static}
  .detail-grid,.dashboard-form-grid{grid-template-columns:1fr}
  .users-table{min-width:560px}
  .notification-actions{flex-direction:column}
  .notification-actions .auth-btn{width:100%;min-width:0}
  .notification-preferences{grid-template-columns:1fr}
}
.detail-card-full{grid-column:1/-1}
.role-pill{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.05);font-size:13px;font-weight:600;letter-spacing:.4px}
.role-pill-admin{border-color:rgba(255,45,85,0.35);background:rgba(255,45,85,0.12);color:#ffd3dc}
.table-note{margin-top:8px;color:rgba(255,255,255,0.62);font-size:12px;line-height:1.4}
.users-role-form{margin:0}
.users-role-controls{display:flex;align-items:center;gap:10px}
.users-role-select{width:100%;min-width:150px;padding:12px 14px;border:1px solid rgba(255,255,255,0.12);border-radius:14px;background:rgba(255,255,255,0.04);color:#fff;font:inherit}
.users-role-select:focus{outline:none;border-color:rgba(255,45,85,0.65);box-shadow:0 0 0 4px rgba(255,45,85,0.12)}
.users-role-select option{background:#111;color:#fff}
.users-role-button{min-width:92px}

@media(max-width:700px){
  .detail-card-full{grid-column:auto}
  .users-role-controls{flex-direction:column;align-items:stretch}
  .users-role-button{width:100%}
}
.dashboard-copy{margin:0;color:rgba(255,255,255,0.76);line-height:1.7}
.dashboard-warning{margin:0;padding:16px 18px;border:1px solid rgba(255,196,87,0.28);border-radius:18px;background:rgba(255,196,87,0.08);color:#ffe2a4;line-height:1.6}
.band-create-box{gap:16px}
.band-create-meta{margin:0;color:rgba(255,255,255,0.72);line-height:1.5}
.band-list{display:flex;flex-direction:column;gap:22px}
.band-card{display:flex;flex-direction:column;gap:18px;padding:24px;border:1px solid rgba(255,255,255,0.08);border-radius:26px;background:rgba(255,255,255,0.03)}
.band-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.band-card-title-wrap{display:flex;flex-direction:column;gap:8px}
.band-owner{margin:0;color:rgba(255,255,255,0.7);line-height:1.5}
.band-status{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.4px;white-space:nowrap}
.band-status-open{border:1px solid rgba(84,214,44,0.25);background:rgba(84,214,44,0.12);color:#d8ffcc}
.band-status-closed{border:1px solid rgba(255,196,87,0.25);background:rgba(255,196,87,0.12);color:#ffe2a4}
.band-inline-form{display:flex;flex-direction:column;gap:16px}
.band-card-actions{display:flex;flex-wrap:wrap;gap:12px}
.band-components{display:flex;flex-direction:column;gap:16px;padding-top:6px}
.band-components-title{margin:0}
.band-component-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid rgba(255,255,255,0.08);border-radius:18px;background:rgba(255,255,255,0.02)}
.band-component-meta{display:flex;flex-direction:column;gap:4px}
.band-component-meta strong{font-size:16px}
.band-component-meta span{color:rgba(255,255,255,0.7);line-height:1.5}
.band-component-form{display:flex;flex-direction:column;gap:16px}
.dashboard-empty-centered{display:flex;align-items:center;justify-content:center}
.dashboard-empty-copy{margin:0;color:rgba(255,255,255,0.7);line-height:1.6;text-align:center}

@media(max-width:700px){
  .band-card-head,.band-component-row{flex-direction:column;align-items:flex-start}
  .band-card-actions{flex-direction:column}
}

.venue-list{display:flex;flex-direction:column;gap:18px}
.venue-card{gap:18px}
.venue-value{font-size:18px;line-height:1.5}
.venue-notes{white-space:normal}
.pwa-install-button{position:fixed;right:20px;bottom:20px;z-index:90;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 20px;border:1px solid rgba(255,45,85,0.35);border-radius:999px;background:linear-gradient(135deg,rgba(255,45,85,0.92),rgba(255,111,135,0.88));color:#fff;font-family:Audiowide,Montserrat,system-ui;font-size:14px;letter-spacing:.6px;box-shadow:0 18px 36px rgba(255,45,85,0.26);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.pwa-install-button:hover{transform:translateY(-2px);box-shadow:0 22px 40px rgba(255,45,85,0.34);filter:saturate(1.08)}
.pwa-push-button{position:fixed;right:20px;bottom:86px;z-index:90;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 20px;border:1px solid rgba(255,255,255,0.14);border-radius:999px;background:rgba(10,10,10,0.92);color:#fff;font-family:Audiowide,Montserrat,system-ui;font-size:13px;letter-spacing:.6px;box-shadow:0 18px 36px rgba(0,0,0,0.28);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.pwa-push-button:hover{transform:translateY(-2px);border-color:rgba(255,45,85,0.26);box-shadow:0 22px 40px rgba(255,45,85,0.18)}
.pwa-push-button:disabled{cursor:default;opacity:1}
.pwa-push-button-active{border-color:rgba(84,214,44,0.28);background:rgba(84,214,44,0.14);color:#d8ffcc}
.pwa-push-button-warning{border-color:rgba(255,196,87,0.28);background:rgba(255,196,87,0.12);color:#ffe2a4}
.pwa-install-hint{position:fixed;right:20px;bottom:152px;z-index:89;width:min(320px,calc(100vw - 40px));display:flex;flex-direction:column;gap:8px;padding:18px 20px;border:1px solid rgba(255,255,255,0.1);border-radius:24px;background:rgba(8,8,8,0.92);color:#fff;box-shadow:0 24px 60px rgba(0,0,0,0.38);backdrop-filter:blur(16px);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.pwa-install-hint strong{font-family:Audiowide,Montserrat,system-ui;font-size:15px;letter-spacing:.6px}
.pwa-install-hint span{color:rgba(255,255,255,0.76);line-height:1.6;font-size:14px}
.pwa-install-hint-visible{opacity:1;visibility:visible;transform:translateY(0)}

@media(max-width:700px){
  .pwa-install-button{right:16px;left:16px;bottom:16px}
  .pwa-push-button{right:16px;left:16px;bottom:80px}
  .pwa-install-hint{right:16px;left:16px;bottom:142px;width:auto}
}

.archive-shell{gap:22px}
.archive-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.archive-toolbar-button{min-width:0}
.archive-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.archive-breadcrumb{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border:1px solid rgba(255,255,255,0.08);border-radius:999px;background:rgba(255,255,255,0.03);color:#fff;text-decoration:none;font-size:13px;line-height:1.2;transition:border-color .2s ease,background .2s ease,color .2s ease}
.archive-breadcrumb:hover{border-color:rgba(255,45,85,0.24);background:rgba(255,45,85,0.08);color:var(--accent)}
.archive-breadcrumb-current{border-color:rgba(255,45,85,0.28);background:rgba(255,45,85,0.12);color:#ffd7df}
.archive-actions-grid{align-items:start}
.archive-action-card,.archive-directory-card{display:flex;flex-direction:column;gap:16px;min-width:0}
.archive-directory-section{display:flex;flex-direction:column;gap:12px}
.archive-folder-list,.archive-file-list{display:flex;flex-direction:column;gap:12px}
.archive-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid rgba(255,255,255,0.08);border-radius:20px;background:rgba(255,255,255,0.03)}
.archive-item-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.archive-item-link{color:#fff;text-decoration:none;font-size:15px;font-weight:600;line-height:1.45;overflow-wrap:anywhere;transition:color .2s ease}
.archive-item-link:hover{color:var(--accent)}
.archive-item-meta{color:rgba(255,255,255,0.68);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.archive-item-action{flex:0 0 auto}
.archive-file-input{padding:12px 14px}
.archive-file-input::file-selector-button{margin-right:14px;padding:10px 14px;border:1px solid rgba(255,255,255,0.12);border-radius:12px;background:rgba(255,255,255,0.06);color:#fff;font:inherit;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.archive-file-input::file-selector-button:hover{border-color:rgba(255,45,85,0.24);background:rgba(255,45,85,0.12)}
.archive-upload-progress{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border:1px solid rgba(255,255,255,0.08);border-radius:18px;background:rgba(255,255,255,0.03)}
.archive-progress-track{position:relative;height:12px;border-radius:999px;background:rgba(255,255,255,0.08);overflow:hidden}
.archive-progress-fill{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(135deg,var(--accent),#ff6f87);transition:width .2s ease}
.archive-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;color:rgba(255,255,255,0.78);font-size:13px;line-height:1.4}
.archive-progress-copy strong{font-size:14px;color:#fff}
.archive-empty{min-height:220px}

@media(max-width:700px){
  .archive-toolbar,.archive-item,.archive-progress-copy{flex-direction:column;align-items:flex-start}
  .archive-item-action,.archive-toolbar-button{width:100%}
  .archive-item-action.auth-btn,.archive-toolbar-button.auth-btn{justify-content:center}
}
