/* Vewaro 2.23 – primary branding and editorial site refresh.
   This file is intentionally last on public/account pages. Room appearance
   styles load after it so owners' custom themes retain precedence. */
:root {
  --bg:#0d0f12;
  --panel:#16191f;
  --panel2:#1b1e25;
  --line:#30343c;
  --text:#f7f8fa;
  --muted:#a6acb7;
  --accent:#d00000;
  --accent2:#f04747;
  --shadow:0 14px 42px rgba(0,0,0,.22);
  --radius:14px;
}
body:not(.room-page){background:#0d0f12!important;color:#f7f8fa;}
body:not(.room-page) :where(a,button,input,textarea,select):focus-visible{outline:2px solid #f37777;outline-offset:3px;}
body:not(.room-page) .eyebrow{color:#e8a7a7;letter-spacing:.12em;}
body:not(.room-page) .btn{border-radius:9px;font-weight:750;box-shadow:none;transform:none;}
body:not(.room-page) .btn.primary{background:#d00000!important;border:1px solid #d00000!important;color:#fff!important;box-shadow:none!important;}
body:not(.room-page) .btn.primary:hover{background:#b80000!important;border-color:#b80000!important;filter:none!important;transform:none!important;}
body:not(.room-page) .btn.secondary{background:#202329!important;border:1px solid #3a3e47!important;color:#f4f5f7!important;}
body:not(.room-page) .btn.subtle{border:1px solid #343841!important;background:#171a20!important;color:#d9dde4!important;}
body:not(.room-page) :is(input,select,textarea){background:#11141a;color:#f3f4f6;border:1px solid #343943;border-radius:9px;}
body:not(.room-page) :is(input,select,textarea):focus{border-color:#db4242;outline:0;box-shadow:0 0 0 3px rgba(208,0,0,.12);}
/* Small, consistent brand lockup instead of a large image on every page. */
.vewaro-brand{display:inline-flex!important;align-items:center;gap:9px!important;width:auto;max-width:100%;white-space:nowrap;text-decoration:none;}
.vewaro-brand .brand-icon{display:block;object-fit:contain;flex:0 0 auto;width:40px;height:40px;max-width:none;max-height:none;}
.vewaro-brand .brand-wordmark{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:23px;letter-spacing:-.055em;font-weight:820;line-height:1;color:#fff;}
.vewaro-header,.public-rooms-header,.member-site-header{background:#111317!important;border-bottom:1px solid #292d35!important;backdrop-filter:none!important;box-shadow:none!important;}
.vewaro-header,.public-rooms-header{width:100%!important;max-width:none!important;min-height:70px!important;height:70px!important;padding:0 clamp(18px,4vw,68px)!important;}
.vewaro-header .home-header-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;}
.vewaro-header .home-account-nav{display:flex;align-items:center;gap:7px;border:0;box-shadow:none;background:none;padding:0;}
.vewaro-header .home-account-nav .btn,.vewaro-header .home-account-nav .home-account-user{font-size:13px;min-height:37px;padding:8px 13px;display:inline-flex;align-items:center;gap:7px;border-radius:8px;}
.vewaro-header .home-account-nav .btn.join-link{color:#fff;}
.vewaro-header .header-tag{display:none!important;}
/* Homepage: deliberate typography, flat panels and a simple UI diagram,
   never AI-generated hero art, glossy illustrations or fake testimonials. */
body.vewaro-home{min-height:100vh;overflow-x:hidden;}
body.vewaro-home .v223-home{width:min(1160px,calc(100% - 48px));margin:0 auto;padding:0 0 76px;}
.v223-hero{min-height:588px;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(42px,5vw,90px);align-items:center;padding:80px 0 82px;border-bottom:1px solid #2b2f36;}
.v223-kicker,.v223-overline{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.15em;font-size:11px;color:#c8ccd3;margin:0;}
.v223-kicker-line{width:24px;height:2px;background:#d00000;}
.v223-hero h1{font-size:clamp(51px,5.55vw,79px);letter-spacing:-.065em;line-height:1.035;font-weight:830;max-width:690px;margin:28px 0 22px;text-wrap:balance;}
.v223-hero h1 span{color:#f15a5a;}
.v223-hero-description{max-width:520px;color:#bdc2cb;font-size:17px;line-height:1.73;margin:0;}
.v223-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin-top:32px;}
.v223-hero-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 20px!important;min-height:47px;font-size:14px!important;}
.v223-hero-actions .btn.secondary{background:transparent!important;border-color:#414650!important;}
.v223-hero-actions .btn.secondary:hover{background:#1b1e25!important;}
.v223-hero-note{display:flex;gap:9px;align-items:center;margin:17px 0 0;color:#969eab;font-size:12px;font-weight:580;}
.v223-hero-note i{color:#89d3ac;}
.v223-room-demo{border:1px solid #353942;border-radius:15px;background:#171a20;overflow:hidden;box-shadow:0 24px 45px rgba(0,0,0,.24);max-width:520px;width:100%;justify-self:end;}
.v223-demo-top{min-height:46px;border-bottom:1px solid #33363c;padding:0 17px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#b5bac5;font-size:11px;font-weight:690;}
.v223-demo-label{display:flex;align-items:center;gap:8px;color:#f5f6f7;}
.v223-online-dot{width:7px;height:7px;background:#55ca91;border-radius:50%;display:inline-block;flex:0 0 7px;}
.v223-demo-top-right{display:flex;align-items:center;gap:7px;color:#8e97a4;}
.v223-demo-video{position:relative;aspect-ratio:16/9;display:grid;place-items:center;background:#0b0c10;overflow:hidden;}
.v223-demo-video::before{content:"";position:absolute;inset:0;background:linear-gradient(140deg,transparent 46%,rgba(255,255,255,.035) 46%,rgba(255,255,255,.035) 46.25%,transparent 46.25%);pointer-events:none;}
.v223-demo-video::after{content:"";position:absolute;width:34%;height:34%;border:1px solid #2b3038;border-radius:50%;pointer-events:none;}
.v223-demo-play{width:70px;height:70px;border-radius:50%;background:#d00000;display:grid;place-items:center;color:#fff;font-size:21px;z-index:1;}
.v223-demo-play i{margin-left:3px;}
.v223-demo-track{position:absolute;left:19px;right:19px;bottom:17px;height:4px;background:#434950;border-radius:3px;overflow:hidden;}
.v223-demo-track span{display:block;width:37%;height:100%;background:#d00000;}
.v223-demo-video-caption{position:absolute;left:19px;bottom:35px;font-size:12px;color:#c5c9d0;}
.v223-demo-bottom{padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.v223-demo-sync{display:grid;grid-template-columns:8px auto;gap:2px 8px;align-items:center;}
.v223-demo-sync .v223-online-dot{grid-column:1;grid-row:1;}
.v223-demo-sync strong{font-size:12px;font-weight:750;grid-row:1;grid-column:2;}
.v223-demo-sync small{color:#9fa7b2;font-size:11px;grid-row:2;grid-column:2;}
.v223-demo-users{display:flex;padding-left:8px;}
.v223-demo-users span{display:grid;place-items:center;height:30px;width:30px;margin-left:-8px;border:2px solid #171a20;border-radius:50%;background:#303640;color:#e3e8f0;font-size:10px;font-weight:800;}
.v223-demo-users span:last-child{background:#6b2424;color:#fff;}
.v223-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:42px 0 50px;border-bottom:1px solid #2b2f36;}
.v223-benefits>div{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:13px;align-content:start;}
.v223-benefit-icon{grid-column:1;grid-row:1/span 2;display:grid;place-items:center;color:#fb7171;border:1px solid #573030;background:#231719;width:34px;height:34px;border-radius:9px;font-size:13px;}
.v223-benefits h2{grid-column:2;font-size:16px;font-weight:800;letter-spacing:-.02em;margin:1px 0 5px;line-height:1.3;}
.v223-benefits p{grid-column:2;font-size:13px;color:#9ea7b4;margin:0;line-height:1.65;}
.v223-get-started{padding:69px 0 74px;}
.v223-section-heading h2{font-size:clamp(27px,3.25vw,39px);font-weight:800;letter-spacing:-.045em;margin:12px 0 9px;line-height:1.1;}
.v223-section-heading p{font-size:14px;color:#a6aeb9;margin:0;line-height:1.7;}
.v223-start-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px;}
.v223-start-card{border:1px solid #343841;background:#16191e;padding:28px;border-radius:13px;display:flex;flex-direction:column;min-height:282px;}
.v223-start-card-top{display:flex;align-items:center;justify-content:space-between;color:#d96a6a;}
.v223-card-number{font-weight:800;font-size:12px;color:#9da5b1;letter-spacing:.08em;}
.v223-start-card h3{font-size:23px;line-height:1.2;margin:17px 0 8px;font-weight:800;letter-spacing:-.035em;}
.v223-start-card>p{font-size:13px;line-height:1.7;color:#aab2bf;margin:0;max-width:420px;}
.v223-invite-form{margin-top:auto;padding-top:24px;}
.v223-field-label{font-size:12px;color:#c6cbd3;display:block;margin-bottom:8px;font-weight:700;}
.v223-invite-entry{display:flex;gap:8px;align-items:stretch;}
.v223-invite-entry input{font-size:13px;flex:1;min-width:0;padding:12px 12px;min-height:45px;}
.v223-invite-entry .btn{min-width:98px;display:flex;gap:9px;align-items:center;justify-content:center;}
.v223-inline-link{display:inline-flex;align-items:center;gap:9px;color:#ff8d8d;font-size:14px;font-weight:750;margin-top:auto;padding-top:20px;width:fit-content;}
.v223-inline-link:hover{color:#fff;}
.v223-account-detail{font-size:12px!important;margin-top:12px!important;color:#8e97a3!important;}
.v223-account-detail a{color:#d5dce5;text-decoration:underline;text-underline-offset:3px;}
.v223-final-cta{border-top:1px solid #353941;border-bottom:1px solid #353941;padding:42px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.v223-final-cta h2{font-size:clamp(24px,2.65vw,34px);letter-spacing:-.035em;margin:9px 0 8px;font-weight:800;}
.v223-final-cta p{margin:0;color:#aeb5bf;font-size:13px;line-height:1.7;}
.v223-final-cta .btn{white-space:nowrap;display:flex;align-items:center;gap:13px;font-size:13px!important;min-height:45px;padding:11px 18px!important;}
/* Existing create-room modal retains its logic and fields, with flat styling. */
body.vewaro-home .v138-create-card{background:#181b21!important;border-color:#41454e!important;box-shadow:0 30px 80px rgba(0,0,0,.65)!important;}
body.vewaro-home .v138-create-card :where(.v138-room-block,.v138-room-ready,.v138-choice){background:#14171c!important;border-color:#353943!important;}
body.vewaro-home .v138-create-card .v138-choice-grid input:checked+.v138-choice{border-color:#d00000!important;box-shadow:0 0 0 1px #d00000 inset!important;}
body.vewaro-home .v138-create-card .eyebrow{color:#fa9292;}
/* Shared account/auth/rooms/admin look. */
html.account-document body.account-page > .member-site-header{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-direction:row!important;min-height:69px!important;height:69px!important;width:100%!important;max-width:none!important;margin:0!important;padding:0 clamp(18px,4vw,68px)!important;gap:16px!important;}
html.account-document body.account-page > .member-site-header .vewaro-brand{flex:0 0 auto;}
html.account-document body.account-page > .member-site-header .member-site-nav{display:flex!important;align-items:center;justify-content:flex-end;gap:4px;border:1px solid #30353f!important;background:#181b20!important;padding:4px!important;border-radius:10px;}
html.account-document body.account-page > .member-site-header .member-site-nav a{border-radius:7px!important;color:#dce0e6!important;min-height:35px!important;padding:8px 11px!important;font-size:12px!important;white-space:nowrap!important;}
html.account-document body.account-page > .member-site-header .member-site-nav a:hover{background:#292c33!important;color:white!important;}
body.account-page .member-auth-card{border:1px solid #373b45!important;background:#171a1f!important;box-shadow:none!important;border-radius:15px!important;}
body.account-page .member-auth-brand{background:#23262b!important;border:1px solid #373b45!important;box-shadow:none!important;}
body.account-page .member-auth-brand img{object-fit:contain;}
body.account-page .member-auth-card h1{font-weight:800;letter-spacing:-.04em;}
body.account-page .member-auth-card .eyebrow{color:#fa8f8f;}
body.account-page .member-auth-wrap{background:transparent!important;}
body.account-page .member-shell{background:none!important;}
body.account-page .site-legal-footer,body.vewaro-home .site-legal-footer,body.public-rooms-page .site-legal-footer{background:#0d0f12!important;border-top:1px solid #252a30!important;color:#9aa3b0!important;}
body.account-page .site-legal-footer a,body.vewaro-home .site-legal-footer a,body.public-rooms-page .site-legal-footer a{color:#b2bac5;}
body.account-page .site-legal-footer a:hover,body.vewaro-home .site-legal-footer a:hover,body.public-rooms-page .site-legal-footer a:hover{color:#fff;}
body.public-rooms-page .public-rooms-hero h1{font-weight:830;letter-spacing:-.055em;}
body.public-rooms-page :is(.public-room-card,.public-rooms-listing,.public-rooms-empty){box-shadow:none!important;}
body.account-page .admin-hero,body.account-page .admin-section,body.account-page .admin-table-wrap{box-shadow:none!important;}
/* Flatten dashboard’s decorative gradients while keeping user-uploaded covers. */
body.dashboard-page-v205 .member-dashboard-v205{--dash-border:#343942;--dash-muted:#a5aeb9;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-eyebrow{color:#ed8d8d!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-eyebrow-dot{background:#d00000;box-shadow:none!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-room-section,
body.dashboard-page-v205 .member-dashboard-v205 .dash-customise,
body.dashboard-page-v205 .member-dashboard-v205 .dash-library,
body.dashboard-page-v205 .member-dashboard-v205 .dash-account{background:#16191e!important;border-color:#343841!important;box-shadow:none!important;border-radius:15px!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-room-visual:not([style*="background-image"]){background:#25292f!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-room-visual::before{background:linear-gradient(90deg,rgba(10,12,15,.86),rgba(10,12,15,.38))!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-room-art{opacity:.17!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-room-art>i{background:#d00000!important;border:0!important;box-shadow:none!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-room-action-buttons .btn.primary{background:#d00000!important;border-color:#d00000!important;box-shadow:none!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-plan{background:#242026!important;border:1px solid #4c3539!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-plan>i{color:#ff8080;background:#422024;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-welcome h1 span:not(.dash-period){color:#f1f2f4!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-welcome h1 .dash-period{color:#e25151!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-shortcuts{background:#191b21!important;border-color:#353a43!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-shortcuts a.is-active{background:#482122!important;color:#fff!important;}
body.dashboard-page-v205 .member-dashboard-v205 :is(.dash-room-link-box,.dash-now-playing){background:#111418!important;border-color:#353a43!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-room-path{color:#f19c9c!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-room-link-box input{color:#fa9797!important;}
/* Room chrome branding (avoid interfering with per-room appearance controls). */
body.room-page .room-header .brand-icon{width:39px;height:39px;}
body.room-page .room-header .brand-wordmark{font-size:21px;}
body.room-page .room-header .vewaro-brand{max-width:180px;}
body.room-page .room-header{border-bottom-color:rgba(255,255,255,.10);}
@media(max-width:900px){
  .v223-hero{grid-template-columns:1fr;gap:35px;padding:72px 0 58px;min-height:0;}
  .v223-hero h1{max-width:750px;}
  .v223-room-demo{max-width:620px;justify-self:stretch;}
}
@media(max-width:760px){
  .vewaro-header,.public-rooms-header{height:auto!important;min-height:62px!important;padding:10px 18px!important;gap:12px;flex-wrap:wrap;}
  .vewaro-brand .brand-icon{width:35px;height:35px;}
  .vewaro-brand .brand-wordmark{font-size:21px;}
  .vewaro-header .home-account-nav{gap:3px;}
  .vewaro-header .home-account-nav .btn{padding:8px 10px!important;min-height:34px;font-size:12px;}
  html.account-document body.account-page > .member-site-header{height:auto!important;min-height:62px!important;flex-direction:column!important;align-items:stretch!important;padding:12px 16px!important;gap:10px!important;}
  html.account-document body.account-page > .member-site-header .member-site-nav{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:3px!important;overflow:visible!important;}
  html.account-document body.account-page > .member-site-header .member-site-nav a{width:auto!important;flex:0 0 auto!important;min-width:0!important;font-size:11px!important;padding:9px!important;}
  body.vewaro-home .v223-home{width:calc(100% - 32px);}
  .v223-benefits{grid-template-columns:1fr;gap:22px;padding:34px 0;}
  .v223-start-columns{grid-template-columns:1fr;}
  .v223-final-cta{align-items:flex-start;flex-direction:column;padding:31px 0;}
  body.room-page .room-header .brand-icon{width:30px;height:30px;}
  body.room-page .room-header .brand-wordmark{font-size:18px;}
}
@media(max-width:480px){
  .vewaro-header .brand-wordmark{font-size:20px;}
  .vewaro-header .home-account-nav .rooms-link{display:none!important;}
  .vewaro-header .home-account-nav .home-account-btn:not(.join-link){padding:8px!important;}
  body.vewaro-home .v223-home{width:calc(100% - 30px);}
  .v223-hero{padding:55px 0 46px;gap:34px;}
  .v223-hero h1{font-size:clamp(43px,11.9vw,59px);line-height:1.06;margin:21px 0;}
  .v223-hero-description{font-size:15px;line-height:1.65;}
  .v223-hero-actions{gap:8px;}
  .v223-hero-actions .btn{padding:11px 15px!important;min-height:43px;font-size:12px!important;}
  .v223-demo-video-caption{font-size:11px;}
  .v223-demo-play{width:56px;height:56px;font-size:19px;}
  .v223-get-started{padding:51px 0;}
  .v223-start-card{padding:22px;min-height:0;}
  .v223-invite-form{padding-top:22px;}
  .v223-invite-entry .btn{min-width:77px;}
  .v223-invite-entry input{font-size:12px;}
  .v223-final-cta h2{font-size:25px;}
  body.room-page .room-header .brand-icon{width:29px;height:29px;}
  body.room-page .room-header .brand-wordmark{font-size:16px;}
}
@media(prefers-reduced-motion:reduce){.v223-home *{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}

/* Final cohesive red/white system for catalogue, administrative tables, settings
   and account surfaces. Does not touch user-configured room accents. */
body:not(.room-page) :where(.admin-page,.dashboard-page-v205) :is(.notice.success,.admin-success){border-color:#335a42!important;background:#19251d!important;color:#b7ead0!important;}
body.account-page :is(.admin-card,.admin-stat,.admin-panel,.admin-form,.admin-table,.admin-section,.admin-room-card,.admin-action-card,.admin-access-card){border-color:#373b43!important;box-shadow:none!important;}
body.account-page :is(.admin-hero,.admin-overview,.admin-stats){box-shadow:none!important;}
body.account-page :where(.admin-page) :is(.eyebrow,.section-eyebrow){color:#ed9090!important;}
body.public-rooms-page .public-rooms-hero{background:none!important;box-shadow:none!important;}
body.public-rooms-page :is(.public-room-card,.public-room-legend,.public-rooms-empty){border-color:#343942!important;}
body:not(.room-page) :is(.public-rooms-hero,.admin-hero) :is(.fa-bolt,.fa-play,.fa-door-open){color:#f08282;}
body:not(.room-page) :where(.admin-page) :is(.admin-shield,.admin-header-icon){background:#25191b;color:#ea7272;border-color:#543236;}
body:not(.room-page) .notice.error{background:#311a1d;color:#ffc7cc;border-color:#74323a;}

/* Vewaro 2.25 — exact logo-red accent, excluding user-selected room themes.
   Status/error messaging retains semantic colours. */
:root{--accent:#d00000;--accent2:#d00000;--brand-purple:#d00000;--brand-cyan:#d00000;}
body:not(.room-page) :is(.btn.primary,button.primary,.btn-primary){background:#d00000!important;border-color:#d00000!important;color:#fff!important;background-image:none!important;box-shadow:none!important;}
body:not(.room-page) :is(.btn.primary,button.primary,.btn-primary):hover{background:#d00000!important;border-color:#d00000!important;filter:brightness(1.08);}
body:not(.room-page) :is(input,select,textarea):focus{border-color:#d00000!important;box-shadow:0 0 0 2px rgba(208,0,0,.19)!important;}
body:not(.room-page) :where(a,button,input,textarea,select):focus-visible{outline-color:#d00000;}
body:not(.room-page) :is(.eyebrow,.section-eyebrow){color:#d6dbe3!important;}
body.dashboard-page-v205 .member-dashboard-v205{--dash-purple:#d00000;}
body.dashboard-page-v205 .member-dashboard-v205 :is(.dash-eyebrow,.dash-room-path,.dash-member-note){color:#d6dbe3!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-welcome h1 .dash-period{color:#d00000!important;}
body.dashboard-page-v205 .member-dashboard-v205 :is(.dash-metric-icon,.dash-playlist-icon,.dash-account-link-icon,.dash-empty-art,.dash-now-playing>i){color:#fff!important;background:#392022!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-plan>i{color:#fff!important;background:#392022!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-shortcuts a.is-active i{color:#d00000!important;}
body.dashboard-page-v205 .member-dashboard-v205 :is(.dash-copy-icon,.dash-room-link-box input){color:#e6e9ee!important;}
body.dashboard-page-v205 .member-dashboard-v205 .dash-count-badge{color:#e6e9ee!important;}
body.account-page .member-auth-card .eyebrow{color:#cdd3dc!important;}
body:not(.room-page) :is(.admin-header-icon,.admin-shield){color:#fff!important;background:#392022!important;}
body:not(.room-page) :is(.public-room-card,.admin-card,.dash-room-section) :is(.fa-play,.fa-bolt){color:#d00000;}
/* The default room chrome already uses #d00000 via --room-accent.
   Never override --room-accent or custom icon/text colours on room pages. */
