/* Codegenify 2026.4 — shared component finish across every surface */
:root {
  --v4-purple:#6f5cf5; --v4-purple-2:#8b7cf8; --v4-blue:#3b82f6; --v4-cyan:#1dbbc3;
  --v4-mint:#3dd6ae; --v4-rose:#ff7f8e; --v4-amber:#ffb85c;
  --v4-soft-purple:#f0edff; --v4-soft-blue:#eaf3ff; --v4-soft-mint:#e9fbf6;
}
[data-theme="dark"] { --v4-soft-purple:#292750; --v4-soft-blue:#1c3150; --v4-soft-mint:#183e3b; }

/* An intentional theme toggle for admin */
.admin-main .v4-theme-toggle { min-width:88px; height:36px; padding:4px 9px 4px 5px; display:flex; align-items:center; gap:8px; border:1px solid var(--v3-line); border-radius:999px; background:var(--v3-surface)!important; color:var(--v3-muted)!important; font-size:11px; font-weight:800; cursor:pointer; }
.v4-theme-toggle__track { position:relative; width:38px; height:26px; flex:0 0 38px; border-radius:999px; background:linear-gradient(135deg,#dfe8ff,#f5e9ff); }
.v4-theme-toggle__track::after { content:""; position:absolute; width:20px; height:20px; left:3px; top:3px; border-radius:50%; background:#fff; box-shadow:0 3px 8px rgba(27,35,73,.2); transition:transform .25s ease,background .25s ease; }
[data-theme="dark"] .v4-theme-toggle__track { background:linear-gradient(135deg,#5147a0,#20636b); }
[data-theme="dark"] .v4-theme-toggle__track::after { transform:translateX(12px); background:#d9f6f1; }

/* Homepage hero gains a real product story */
.re-hero__grid { grid-template-columns:minmax(0,1.03fr) minmax(430px,.97fr); }
.re-hero__statement { padding-inline:42px 24px; }
.re-hero__statement h1 { font-size:clamp(3.4rem,5.4vw,5.9rem); }
.v4-hero-proof { margin-top:30px; display:flex; flex-wrap:wrap; align-items:center; gap:9px; color:var(--v3-muted); font-size:11px; font-weight:730; }
.v4-hero-proof>span { min-height:30px; padding:6px 10px; display:inline-flex; align-items:center; gap:7px; border:1px solid rgba(102,87,232,.13); border-radius:999px; background:rgba(255,255,255,.45); }
[data-theme="dark"] .v4-hero-proof>span { background:rgba(255,255,255,.045); }
.v4-hero-proof i { width:7px; height:7px; border-radius:50%; background:var(--v4-mint); box-shadow:0 0 0 5px rgba(61,214,174,.15); }
.re-hero__index { display:block; padding:18px; overflow:visible; }
.re-index__head { padding:8px 6px 14px; }
.v4-product-demo { position:relative; height:330px; margin:0 0 14px; border:1px solid rgba(102,87,232,.15); border-radius:20px; background:linear-gradient(145deg,#242a55,#171b39); box-shadow:0 22px 50px rgba(32,34,77,.2); color:#fff; overflow:visible; }
.v4-demo__top { height:44px; padding:0 13px; display:flex; align-items:center; gap:10px; border-bottom:1px solid rgba(255,255,255,.1); font-size:10px; }
.v4-demo__top>span { display:flex; gap:4px; }
.v4-demo__top i { width:6px; height:6px; border-radius:50%; background:#6c75a2; }
.v4-demo__top i:nth-child(1) { background:var(--v4-rose); }.v4-demo__top i:nth-child(2) { background:var(--v4-amber); }.v4-demo__top i:nth-child(3) { background:var(--v4-mint); }
.v4-demo__top b { color:#dfe3f6; }.v4-demo__top em { margin-left:auto; padding:4px 7px; border-radius:999px; background:rgba(61,214,174,.12); color:#72e5c7; font-style:normal; }
.v4-demo__body { height:calc(100% - 44px); display:grid; grid-template-columns:50px 1fr; }
.v4-demo__body>aside { padding:14px 10px; display:grid; align-content:start; gap:10px; border-right:1px solid rgba(255,255,255,.08); }
.v4-demo__body>aside span { height:30px; border-radius:8px; background:rgba(255,255,255,.055); }.v4-demo__body>aside span.active { background:linear-gradient(135deg,var(--v4-purple),var(--v4-blue)); }
.v4-demo__content { padding:20px; overflow:hidden; }
.v4-demo__welcome { display:grid; }.v4-demo__welcome small { color:#8791b5; }.v4-demo__welcome b { margin-top:4px; font-size:15px; }
.v4-demo__stats { margin-top:18px; display:grid; grid-template-columns:1fr 1fr; gap:9px; }.v4-demo__stats>span { padding:12px; display:grid; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.04); }.v4-demo__stats small { color:#8f98ba; }.v4-demo__stats b { margin-top:5px; font-size:20px; }
.v4-demo__chart { height:96px; margin-top:14px; padding:12px 14px 0; display:flex; align-items:flex-end; gap:9px; border-radius:12px; background:linear-gradient(180deg,rgba(111,92,245,.09),rgba(29,187,195,.04)); }
.v4-demo__chart i { flex:1; height:45%; border-radius:5px 5px 0 0; background:linear-gradient(180deg,#8f80ff,#6559dd); }.v4-demo__chart i:nth-child(2){height:68%}.v4-demo__chart i:nth-child(3){height:52%}.v4-demo__chart i:nth-child(4){height:86%}.v4-demo__chart i:nth-child(5){height:72%}.v4-demo__chart i:nth-child(6){height:96%;background:linear-gradient(180deg,#51d6ca,#278eb4)}
.v4-demo__float { position:absolute; z-index:3; padding:10px 12px; display:grid; border:1px solid rgba(255,255,255,.76); border-radius:13px; background:rgba(255,255,255,.9); box-shadow:0 13px 30px rgba(26,30,70,.17); color:#172033; backdrop-filter:blur(10px); animation:v4Float 4s ease-in-out infinite; }
.v4-demo__float b { font-size:14px; }.v4-demo__float small { color:#7b8499; font-size:9px; }.v4-demo__float--one { right:-15px; top:78px; }.v4-demo__float--two { left:-13px; bottom:22px; animation-delay:-2s; }.v4-demo__float--two i { width:7px; height:7px; border-radius:50%; background:var(--v4-mint); }
@keyframes v4Float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)} }
.re-hero__index>a { display:inline-grid; width:calc(50% - 4px); min-height:68px; grid-template-columns:24px 1fr 16px; margin:3px 1px; padding:12px; vertical-align:top; }
.re-hero__index>a>b { font-size:12px; }.re-index__foot { display:none; }

/* Consistent inner pages, forms, data tables and lists */
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell)>.section:not(:first-child) { padding:92px 0; }
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell) .card,
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell) .feature { transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease; }
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell) .card:hover,
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell) .feature:hover { transform:translateY(-4px); border-color:rgba(111,92,245,.26); box-shadow:0 20px 48px rgba(35,43,82,.09); }
.admin-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.admin-main select,.admin-main textarea { border:1px solid var(--v3-line)!important; border-radius:12px!important; background:var(--v3-surface)!important; color:var(--v3-ink)!important; outline:0; transition:border-color .2s ease,box-shadow .2s ease!important; }
.admin-main input:not([type="checkbox"]):not([type="radio"]):focus,.admin-main select:focus,.admin-main textarea:focus { border-color:rgba(111,92,245,.62)!important; box-shadow:0 0 0 4px rgba(111,92,245,.11)!important; }
.admin-main input::placeholder,.admin-main textarea::placeholder { color:color-mix(in srgb,var(--v3-muted) 74%,transparent)!important; }
.admin-main .table-wrap { border:1px solid var(--v3-line)!important; border-radius:18px!important; background:var(--v3-surface)!important; box-shadow:0 14px 38px rgba(34,42,82,.055)!important; overflow:auto; }
.admin-main table { background:transparent!important; }.admin-main th { background:color-mix(in srgb,var(--v3-bg) 74%,var(--v3-surface))!important; color:var(--v3-muted)!important; font-size:10px!important; letter-spacing:.08em; text-transform:uppercase; }.admin-main td { border-color:var(--v3-line)!important; color:var(--v3-ink)!important; }.admin-main tr:hover td { background:color-mix(in srgb,var(--v4-soft-purple) 42%,transparent)!important; }
.admin-main .badge { border-color:rgba(111,92,245,.2)!important; background:var(--v4-soft-purple)!important; color:var(--v4-purple)!important; }
.admin-main .notice { background:var(--v3-surface)!important; color:var(--v3-ink)!important; }
/* Prevent legacy checkbox CSS from creating long black bars */
.admin-main input[type="checkbox"]:not(.permission-switch input):not(.settings-toggle input),.admin-main input[type="radio"] { appearance:auto!important; width:18px!important; min-width:18px!important; height:18px!important; padding:0!important; margin:0!important; accent-color:var(--v4-purple); box-shadow:none!important; }

/* Settings */
.settings-v4__secure { display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid var(--v3-line); border-radius:999px; background:var(--v3-surface); color:var(--v3-muted); font-size:11px; font-weight:800; }.settings-v4__secure i { width:7px; height:7px; border-radius:50%; background:var(--v4-mint); box-shadow:0 0 0 5px rgba(61,214,174,.12); }
.settings-v4__form { display:grid; gap:20px; }.settings-v4__grid { display:grid; grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr); gap:20px; align-items:start; }
.settings-panel { border:1px solid var(--v3-line); border-radius:22px; background:var(--v3-surface); box-shadow:0 16px 45px rgba(34,42,82,.055); overflow:hidden; }
.settings-panel>header { min-height:86px; padding:17px 20px; display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--v3-line); background:linear-gradient(180deg,var(--v3-surface),color-mix(in srgb,var(--v3-bg) 68%,var(--v3-surface))); }
.settings-panel>header h2 { margin:0; font-size:15px; }.settings-panel>header p { margin:4px 0 0; color:var(--v3-muted); font-size:11px; }
.settings-panel__icon { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border-radius:13px; background:linear-gradient(135deg,var(--v4-purple),var(--v4-purple-2)); color:#fff; font-size:12px; font-weight:900; }.settings-panel__icon--blue { background:linear-gradient(135deg,var(--v4-blue),var(--v4-cyan)); }.settings-panel__icon--mint { background:linear-gradient(135deg,#2ab893,var(--v4-mint)); }
.settings-panel__status { margin-left:auto; padding:5px 8px; border-radius:999px; background:var(--v4-soft-blue); color:var(--v4-blue); font-size:9px; font-weight:900; letter-spacing:.08em; }
.settings-field { padding:16px 20px 20px; display:grid; gap:7px; }.settings-field label { color:var(--v3-ink); font-size:11px; font-weight:820; }.settings-field small { color:var(--v3-muted); font-size:10px; }.settings-field input,.settings-field select { width:100%; min-height:46px; }
.settings-fields { padding:12px; display:grid; grid-template-columns:1fr 1fr; }.settings-fields .settings-field { padding:7px; }.settings-field--wide { grid-column:1/-1; }
.settings-panel--registrations>header { border-bottom:0; }.settings-toggle-grid { padding:0 16px 16px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.settings-toggle { min-height:108px; padding:16px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:1px solid var(--v3-line); border-radius:16px; background:var(--v3-bg); cursor:pointer; transition:transform .2s ease,border-color .2s ease,background .2s ease; }.settings-toggle:hover { transform:translateY(-2px); border-color:rgba(111,92,245,.34); background:color-mix(in srgb,var(--v4-soft-purple) 42%,var(--v3-bg)); }
.settings-toggle__copy { min-width:0; display:grid; }.settings-toggle__copy b { margin:6px 0 3px; font-size:13px; }.settings-toggle__copy small { color:var(--v3-muted); font-size:10px; }.settings-toggle__tag { width:max-content; padding:4px 7px; border-radius:999px; background:var(--v4-soft-purple); color:var(--v4-purple); font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.settings-toggle__control { display:grid; justify-items:center; gap:4px; }.settings-toggle__control>input { position:absolute!important; opacity:0!important; width:1px!important; height:1px!important; }.settings-toggle__control>span { position:relative; width:48px; height:28px; border-radius:999px; background:#d9ddea; box-shadow:inset 0 0 0 1px rgba(34,42,82,.05); transition:background .24s ease; }.settings-toggle__control>span::after { content:""; position:absolute; width:22px; height:22px; left:3px; top:3px; border-radius:50%; background:#fff; box-shadow:0 3px 8px rgba(25,31,64,.22); transition:transform .24s cubic-bezier(.2,.8,.2,1); }.settings-toggle__control>input:checked+span { background:linear-gradient(90deg,var(--v4-purple),#8374fa); }.settings-toggle__control>input:checked+span::after { transform:translateX(20px); }.settings-toggle__control>input:focus-visible+span { outline:3px solid rgba(111,92,245,.18); outline-offset:2px; }.settings-toggle__control em { color:var(--v3-muted); font-size:9px; font-style:normal; font-weight:850; text-transform:uppercase; }
.settings-savebar { position:sticky; z-index:20; bottom:18px; padding:13px 15px 13px 18px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid rgba(111,92,245,.18); border-radius:18px; background:color-mix(in srgb,var(--v3-surface) 88%,transparent); box-shadow:0 18px 50px rgba(31,38,75,.13); backdrop-filter:blur(18px); }.settings-savebar>div { display:flex; align-items:center; gap:11px; }.settings-savebar>div>span { width:9px; height:9px; border-radius:50%; background:var(--v4-mint); box-shadow:0 0 0 5px rgba(61,214,174,.12); }.settings-savebar p { margin:0; display:grid; }.settings-savebar small { color:var(--v3-muted); }.settings-savebar .btn { min-width:170px; justify-content:space-between; }

/* Support inbox — tokenized in both light and dark mode */
.admin-main .cw-support { max-width:1280px!important; padding:36px 0!important; color:var(--v3-ink)!important; }
.admin-main .cw-support-hero { padding:28px!important; border:1px solid rgba(111,92,245,.16)!important; border-radius:24px!important; background:linear-gradient(135deg,var(--v4-soft-purple),var(--v4-soft-mint))!important; box-shadow:0 18px 45px rgba(34,42,82,.07)!important; }
.admin-main .cw-support-hero h1,.admin-main .cw-panel h2,.admin-main .cw-thread-name { color:var(--v3-ink)!important; }.admin-main .cw-support-hero p,.admin-main .cw-thread-meta,.admin-main .cw-last,.admin-main .cw-empty,.admin-main .cw-chat-head p { color:var(--v3-muted)!important; }
.admin-main .cw-panel { border:1px solid var(--v3-line)!important; border-radius:22px!important; background:var(--v3-surface)!important; box-shadow:0 18px 50px rgba(34,42,82,.08)!important; }.admin-main .cw-panel-head,.admin-main .cw-thread-search,.admin-main .cw-chat-head,.admin-main .cw-reply { border-color:var(--v3-line)!important; background:var(--v3-surface)!important; }
.admin-main .cw-thread-search input,.admin-main .cw-reply textarea { border-color:var(--v3-line)!important; background:var(--v3-bg)!important; color:var(--v3-ink)!important; }.admin-main .cw-thread { border-color:var(--v3-line)!important; background:var(--v3-surface)!important; color:var(--v3-ink)!important; }.admin-main .cw-thread:hover,.admin-main .cw-thread.active { background:linear-gradient(90deg,var(--v4-soft-purple),var(--v4-soft-mint))!important; }
.admin-main .cw-chat-messages { background:linear-gradient(180deg,var(--v3-bg),color-mix(in srgb,var(--v4-soft-blue) 45%,var(--v3-bg)))!important; }.admin-main .cw-bubble { border-color:var(--v3-line)!important; background:var(--v3-surface)!important; color:var(--v3-ink)!important; }.admin-main .cw-bubble.admin { border-color:var(--v4-purple)!important; background:linear-gradient(135deg,var(--v4-purple),var(--v4-blue))!important; color:#fff!important; }
.admin-main .cw-btn { border-color:var(--v3-line)!important; background:var(--v3-surface)!important; color:var(--v3-ink)!important; }.admin-main .cw-btn.primary { border-color:var(--v4-purple)!important; background:linear-gradient(135deg,var(--v4-purple),var(--v4-blue))!important; color:#fff!important; }.admin-main .cw-avatar { background:linear-gradient(135deg,var(--v4-purple),var(--v4-cyan))!important; }

@media(max-width:1100px){.re-hero__grid{grid-template-columns:1fr}.re-hero__statement{padding-inline:30px}.v4-product-demo{height:350px}.settings-v4__grid{grid-template-columns:1fr}.settings-toggle-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.admin-topbar__actions .v4-theme-toggle{display:none}.settings-toggle-grid{grid-template-columns:1fr}.admin-main .cw-support-grid{grid-template-columns:1fr!important}.admin-main .cw-thread-list,.admin-main .cw-chat-messages{height:420px!important}}
@media(max-width:560px){.v4-product-demo{height:320px}.v4-demo__float{display:none}.re-hero__index>a{width:100%}.settings-fields{grid-template-columns:1fr}.settings-field{grid-column:auto!important}.settings-savebar>div{display:none}.settings-savebar .btn{width:100%}.settings-v4__secure{display:none}.admin-main .cw-support-hero h1{font-size:29px!important}}
@media(prefers-reduced-motion:reduce){.v4-demo__float{animation:none}}
