/* Codegenify 2026.3 — Human software studio + focused workspaces */
:root {
  --v3-bg:#f5f6fb; --v3-surface:#fff; --v3-surface-2:#edf0f8; --v3-ink:#172033;
  --v3-muted:#68728a; --v3-line:#dfe3ee; --v3-violet:#6657e8; --v3-blue:#4285f4;
  --v3-cyan:#48c9c5; --v3-coral:#ff8b7b; --v3-lilac:#e9e5ff; --v3-navy:#171b3a;
  --v3-shadow:0 24px 70px rgba(27,35,73,.10); --v3-radius:24px; --sidebar-w:282px;
  --rf-paper:var(--v3-bg); --rf-paper-2:var(--v3-surface-2); --rf-ink:var(--v3-ink);
  --rf-subtle:var(--v3-muted); --rf-blue:var(--v3-violet); --rf-acid:var(--v3-cyan);
  --rf-white:var(--v3-surface); --rf-rule:var(--v3-line);
}
[data-theme="dark"] {
  --v3-bg:#12162a; --v3-surface:#1b2038; --v3-surface-2:#232944; --v3-ink:#f3f4fb;
  --v3-muted:#aab1c7; --v3-line:#313853; --v3-lilac:#292650; --v3-navy:#0d1024;
  --v3-shadow:0 24px 70px rgba(0,0,0,.28);
}
html { scroll-behavior:smooth; }
body { background:var(--v3-bg); color:var(--v3-ink); }
.container { width:min(1240px,calc(100% - 48px)); }
.card,.feature,.notice,.kpi { border-color:var(--v3-line); border-radius:18px; box-shadow:0 10px 34px rgba(35,43,82,.055); }
.btn { border-radius:12px; }
.btn.primary { border-color:var(--v3-violet); background:linear-gradient(135deg,var(--v3-violet),#776bfa); box-shadow:0 10px 24px rgba(102,87,232,.22); }
.btn.primary:hover { transform:translateY(-2px); box-shadow:0 16px 30px rgba(102,87,232,.28); }

/* Calm public masthead */
.re-utility { background:var(--v3-navy); color:#b8bfd6; }
.re-header { background:color-mix(in srgb,var(--v3-bg) 88%,transparent); border-bottom:1px solid color-mix(in srgb,var(--v3-line) 72%,transparent); }
.re-nav { min-height:82px; }
.re-nav__links { gap:6px; }
.re-nav__links a { padding:8px 14px; border:0; border-radius:10px; color:var(--v3-muted); }
.re-nav__links a:hover,.re-nav__links a[aria-current="page"] { color:var(--v3-violet); background:var(--v3-lilac); border:0; }
.re-login,.re-project { min-height:46px; border-radius:13px; }
.re-login { background:var(--v3-surface); border-color:var(--v3-line); }
.re-project { gap:14px; border-color:var(--v3-violet); background:var(--v3-violet); color:#fff; box-shadow:0 12px 26px rgba(102,87,232,.2); }
.re-project:hover { transform:translateY(-2px); }

/* Home — optimistic product studio, no robotic black blocks */
.re-home { background:var(--v3-bg); }
.re-hero { position:relative; padding:42px 0 28px; background:var(--v3-bg); color:var(--v3-ink); overflow:hidden; }
.re-hero::before,.re-hero::after { content:""; position:absolute; border-radius:50%; filter:blur(4px); pointer-events:none; }
.re-hero::before { width:540px; height:540px; right:-160px; top:-190px; background:radial-gradient(circle,rgba(72,201,197,.2),transparent 68%); }
.re-hero::after { width:460px; height:460px; left:-180px; bottom:-220px; background:radial-gradient(circle,rgba(102,87,232,.2),transparent 68%); }
.re-hero__grid { position:relative; z-index:1; min-height:640px; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); gap:24px; padding:28px; border:1px solid rgba(255,255,255,.8); border-radius:34px; background:linear-gradient(135deg,#eceaff 0%,#f7f6ff 47%,#e6f8f6 100%); box-shadow:var(--v3-shadow); }
[data-theme="dark"] .re-hero__grid { border-color:var(--v3-line); background:linear-gradient(135deg,#242247,#1a2038 52%,#183a42); }
.re-hero__statement { display:flex; flex-direction:column; justify-content:center; padding:60px 42px; border:0; }
.re-hero .re-overline { width:max-content; gap:10px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.7); color:var(--v3-violet); font-size:11px; }
[data-theme="dark"] .re-hero .re-overline { background:rgba(255,255,255,.07); }
.re-hero__statement h1 { max-width:760px; margin:28px 0 24px; font-size:clamp(3.5rem,6vw,6.4rem); line-height:.96; letter-spacing:-.065em; font-weight:820; }
.re-hero__statement h1 em { display:inline; color:var(--v3-violet); background:linear-gradient(90deg,var(--v3-violet),#8a65e8,var(--v3-blue)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.re-hero__statement>p { color:var(--v3-muted); font-size:18px; line-height:1.7; }
.re-hero__actions { flex-wrap:wrap; }
.re-arrow-link { min-height:54px; border-color:rgba(102,87,232,.2); border-radius:14px; color:var(--v3-ink); background:rgba(255,255,255,.5); }
.re-arrow-link--solid { background:var(--v3-violet); border-color:var(--v3-violet); color:#fff; box-shadow:0 14px 28px rgba(102,87,232,.22); }
.re-arrow-link:hover { transform:translateY(-3px); }
.re-hero__index { align-self:stretch; margin:8px; padding:22px; border:1px solid rgba(255,255,255,.84); border-radius:26px; background:rgba(255,255,255,.62); box-shadow:0 20px 50px rgba(47,50,96,.09); backdrop-filter:blur(16px); }
[data-theme="dark"] .re-hero__index { border-color:var(--v3-line); background:rgba(17,20,42,.58); }
.re-index__head,.re-index__foot { color:var(--v3-muted); padding:12px 10px 18px; }
.re-hero__index>a { margin:5px 0; padding:18px 16px; border:0!important; border-radius:16px; color:var(--v3-ink); background:rgba(255,255,255,.56); transition:transform .25s ease,background .25s ease,box-shadow .25s ease; }
[data-theme="dark"] .re-hero__index>a { background:rgba(255,255,255,.04); }
.re-hero__index>a>span { color:var(--v3-violet); }
.re-hero__index>a>i { color:var(--v3-violet); }
.re-hero__index>a:hover { transform:translateX(6px); background:#fff; box-shadow:0 10px 22px rgba(33,39,75,.08); color:var(--v3-ink); }
[data-theme="dark"] .re-hero__index>a:hover { background:var(--v3-surface-2); }
.re-hero__marquee { position:relative; z-index:1; min-height:74px; border:0; color:var(--v3-muted); }
.re-hero__marquee i { width:7px; height:7px; background:var(--v3-coral); }

.re-intro,.re-services,.re-products,.re-ecosystem,.re-process { padding:110px 0; }
.re-section-number { color:var(--v3-violet); }
.re-intro__grid { grid-template-columns:130px minmax(0,1.2fr) minmax(280px,.55fr); }
.re-intro h2,.re-services h2,.re-products h2,.re-ecosystem h2,.re-process h2,.re-final h2 { font-size:clamp(2.6rem,4.7vw,5rem); line-height:1; }
.re-services { border:0; background:var(--v3-surface); }
.re-service-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; border:0; }
.re-service-row { min-height:230px; grid-template-columns:34px 1fr 28px; align-content:start; margin:0; padding:26px; border:1px solid var(--v3-line)!important; border-radius:20px; background:var(--v3-bg); transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
.re-service-row h3 { font-size:clamp(1.4rem,2vw,2rem); }
.re-service-row:hover { transform:translateY(-6px); border-color:rgba(102,87,232,.35)!important; box-shadow:0 20px 46px rgba(42,49,91,.1); }
.re-products { background:linear-gradient(180deg,var(--v3-bg),var(--v3-surface-2)); }
.re-product-grid { gap:20px; padding:0; border:0; background:transparent; }
.re-product-card { min-height:560px; border:1px solid var(--v3-line); border-radius:26px; box-shadow:var(--v3-shadow); }
.re-product-card--dark { background:linear-gradient(145deg,#252b55,#171b3a); }
.re-product-card--light { background:var(--v3-surface); }
.re-product-card__window { border-radius:16px 16px 0 0; overflow:hidden; }
.re-ecosystem { background:linear-gradient(135deg,#6254dc,#527eea 55%,#44bab7); }
.re-ecosystem__grid { align-items:center; }
.re-role-map { gap:10px; border:0; }
.re-role-map>div { min-height:150px; border:1px solid rgba(255,255,255,.2); border-radius:18px; background:rgba(255,255,255,.1); backdrop-filter:blur(8px); }
.re-process ol { gap:14px; border:0; }
.re-process li { min-height:220px; border:1px solid var(--v3-line); border-radius:18px; background:var(--v3-surface); transition:transform .25s ease; }
.re-process li:hover { transform:translateY(-5px); }
.re-final__grid { border-radius:28px; background:linear-gradient(135deg,#171b3a,#262c59); overflow:hidden; }
.re-final__mark { color:#a99fff; }
.re-final__grid>a { border-radius:20px; background:linear-gradient(135deg,#8d82ff,#55d1ca); color:#12162a; }

/* Inner public pages inherit the softer product language */
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell)>.page-hero-tight:first-child,
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell)>.section:first-child { background:linear-gradient(135deg,#282653,#293a67 58%,#285f65); border-radius:0 0 34px 34px; }
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell) .grid-3 { gap:18px; padding:0; border:0; background:transparent; }
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell) .grid-3>.feature,
body>main:not(.re-home):not(.dash):not(.cw-shell):not(.auth-v3-wrap):not(.auth-admin-shell) .grid-3>.card { border:1px solid var(--v3-line); border-radius:20px; box-shadow:0 14px 42px rgba(39,46,83,.07); }

/* Portals: the working hierarchy is a real sidebar again */
.nav { z-index:80; background:color-mix(in srgb,var(--v3-surface) 92%,transparent); border-bottom:1px solid var(--v3-line); backdrop-filter:blur(18px); }
.nav-inner { min-height:74px; }
.nav-links { display:none; }
.nav-actions .badge { border-radius:999px; background:var(--v3-lilac); color:var(--v3-violet); }
.portal-side-trigger { display:none; width:42px; height:42px; flex:0 0 42px; align-content:center; gap:4px; padding:10px; border:1px solid var(--v3-line); border-radius:12px; background:var(--v3-surface); }
.portal-side-trigger span { display:block; height:2px; border-radius:2px; background:var(--v3-ink); }
.dash { display:grid!important; grid-template-columns:270px minmax(0,1fr)!important; min-height:calc(100vh - 74px); }
.dash .side { position:sticky!important; top:74px!important; z-index:35; width:270px!important; height:calc(100vh - 74px)!important; display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:5px!important; padding:24px 18px!important; border:0!important; border-right:1px solid var(--v3-line)!important; background:var(--v3-surface)!important; overflow-y:auto!important; }
.dash .side .profile-chip { min-width:0; margin:0 0 18px; padding:14px; border:1px solid var(--v3-line); border-radius:16px; background:var(--v3-bg); }
.dash .side .side-title,.dash .side>small { display:block; }
.dash .side .hr { display:block; }
.dash .side a { flex:0 0 auto; min-height:46px; border-radius:12px; color:var(--v3-muted); transition:all .22s ease; }
.dash .side a:hover { padding-left:18px; color:var(--v3-violet); background:var(--v3-lilac); }
.dash .side a.active { color:#fff; background:linear-gradient(135deg,var(--v3-violet),#746af2); box-shadow:0 10px 22px rgba(102,87,232,.2); }
.dash .main { min-width:0; padding:40px 0 90px!important; }
.portal-hero { border:0!important; border-radius:22px!important; background:linear-gradient(135deg,#eae6ff,#e6f8f6)!important; box-shadow:var(--v3-shadow)!important; }
[data-theme="dark"] .portal-hero { background:linear-gradient(135deg,#292650,#183a42)!important; }
.portal-hero { min-height:212px; display:grid!important; grid-template-columns:minmax(0,1fr) 172px!important; align-items:center; gap:28px; padding:34px 36px!important; }
.portal-hero .h1 { margin:10px 0 12px; font-size:clamp(2rem,3.3vw,3.2rem); letter-spacing:-.04em; }
.portal-hero .lead { margin:0; color:var(--v3-muted); }
.portal-hero .status-card { min-height:142px; padding:20px; display:flex; flex-direction:column; justify-content:center; border:1px solid rgba(102,87,232,.16); border-radius:20px; background:rgba(255,255,255,.64); box-shadow:0 14px 32px rgba(49,48,100,.08); }
[data-theme="dark"] .portal-hero .status-card { background:rgba(255,255,255,.06); }
.portal-hero .status-card small,.portal-hero .status-card span { color:var(--v3-muted); }
.portal-hero .status-card strong { margin:6px 0; color:var(--v3-violet); font-size:2rem; }
.portal-kpi-row,.kpis { margin:18px 0; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:14px!important; background:transparent!important; }
.portal-kpi,.kpi { min-height:132px; padding:20px; display:grid; align-content:center; border:1px solid var(--v3-line)!important; border-radius:18px!important; background:var(--v3-surface); box-shadow:0 10px 30px rgba(34,42,82,.05)!important; }
.portal-kpi small,.kpi small { color:var(--v3-muted); }
.portal-kpi strong,.kpi strong { margin:7px 0; color:var(--v3-ink); font-size:1.55rem; }
.portal-kpi em,.kpi em { color:var(--v3-muted); font-size:11px; font-style:normal; }
.portal-kpi,.kpi,.intern-profile-form,.intern-side-panel .card { border-radius:18px!important; }

.cw-shell { display:grid!important; grid-template-columns:270px minmax(0,1fr)!important; min-height:calc(100vh - 74px); }
.cw-sidebar { position:sticky!important; top:74px!important; z-index:35; width:270px!important; height:calc(100vh - 74px)!important; min-height:0!important; padding:24px 18px!important; display:block!important; background:linear-gradient(180deg,#171b3a,#202753)!important; }
.cw-brand-card { min-width:0; }
.cw-nav { display:grid!important; gap:6px; overflow:visible; }
.cw-nav a { min-height:48px; border-radius:12px!important; }
.cw-main { max-width:none; margin:0; padding:38px 34px 90px!important; }
.cw-card,.cw-hero { border-radius:20px!important; box-shadow:0 14px 40px rgba(36,43,82,.07)!important; }

/* Admin — focused, collapsible, smooth sidebar */
.admin-v3 { --admin-sidebar:var(--sidebar-w); background:var(--v3-bg); }
.admin-v3.sidebar-collapsed { --admin-sidebar:86px; }
.admin-shell { display:grid!important; grid-template-columns:var(--admin-sidebar) minmax(0,1fr)!important; min-height:100vh; padding:0!important; transition:grid-template-columns .28s cubic-bezier(.2,.8,.2,1); }
.admin-overlay { display:none!important; }
.admin-side { position:sticky!important; inset:auto!important; top:0!important; z-index:100; width:var(--admin-sidebar)!important; height:100vh!important; padding:0 14px 16px!important; display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:0!important; overflow:hidden!important; border:0!important; background:linear-gradient(180deg,#171b3a 0%,#1d2146 55%,#171b3a 100%)!important; color:#fff!important; box-shadow:12px 0 40px rgba(18,23,56,.08); transition:width .28s cubic-bezier(.2,.8,.2,1),transform .28s ease!important; }
.admin-side::before { content:""; position:absolute; width:260px; height:260px; left:-120px; top:-140px; border-radius:50%; background:rgba(102,87,232,.38); filter:blur(50px); pointer-events:none; }
.admin-brand { position:relative!important; flex:0 0 auto!important; min-width:0!important; height:86px; margin:0!important; padding:17px 4px!important; display:flex; align-items:center; justify-content:space-between; border:0!important; border-bottom:1px solid rgba(255,255,255,.1)!important; background:transparent!important; }
.admin-brand__link { min-width:0; display:flex; align-items:center; gap:12px; color:#fff; }
.admin-brand__mark { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; border-radius:14px; background:rgba(255,255,255,.1); box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
.admin-logo { width:30px!important; height:30px!important; object-fit:contain; }
.admin-brand__copy,.admin-account__copy { min-width:0; display:grid; line-height:1.2; white-space:nowrap; }
.admin-brand__copy b { font-size:15px; letter-spacing:.01em; }
.admin-brand__copy small,.admin-account__copy small { margin-top:4px; color:#9fa7c5!important; font-size:11px; }
.admin-collapse { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.13); border-radius:9px; background:rgba(255,255,255,.06); color:#cfd4e5; cursor:pointer; transition:all .2s ease; }
.admin-collapse:hover { background:rgba(255,255,255,.13); color:#fff; }
.admin-nav { flex:1!important; display:block!important; padding:15px 2px!important; overflow-x:hidden!important; overflow-y:auto!important; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.15) transparent; }
.admin-nav__group { margin:0 0 16px; }
.admin-label { display:block!important; padding:5px 12px 7px; color:#7f89ae!important; font-size:9px!important; font-weight:800!important; letter-spacing:.16em!important; text-transform:uppercase; white-space:nowrap; }
.admin-nav a { position:relative; min-height:43px!important; margin:2px 0!important; padding:8px 11px!important; display:flex!important; align-items:center!important; gap:11px!important; border:0!important; border-radius:11px!important; color:#afb6d0!important; font-size:13px!important; white-space:nowrap; transition:background .2s ease,color .2s ease,transform .2s ease!important; }
.admin-nav a:hover { transform:translateX(3px); background:rgba(255,255,255,.075)!important; color:#fff!important; }
.admin-nav a.is-active { background:linear-gradient(135deg,rgba(111,96,245,.95),rgba(77,124,235,.95))!important; color:#fff!important; box-shadow:0 10px 22px rgba(20,18,67,.25); }
.admin-nav a.is-active::after { content:""; position:absolute; right:8px; width:5px; height:5px; border-radius:50%; background:#78e4d6; box-shadow:0 0 0 4px rgba(120,228,214,.12); }
.admin-nav__icon { width:26px; height:26px; flex:0 0 26px; display:grid; place-items:center; border-radius:8px; background:rgba(255,255,255,.07); color:#d9dcef; font-size:9px; font-weight:850; }
.admin-nav a.is-active .admin-nav__icon { background:rgba(255,255,255,.16); color:#fff; }
.admin-account { flex:0 0 auto; min-width:0; display:grid; grid-template-columns:38px minmax(0,1fr) 28px; align-items:center; gap:10px; padding:13px 9px 2px; border-top:1px solid rgba(255,255,255,.1); }
.admin-account__avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:linear-gradient(135deg,#887dfb,#56cbc5); color:#10142d; font-weight:900; }
.admin-account__copy b { overflow:hidden; text-overflow:ellipsis; font-size:12px; }
.admin-account>a { color:#aeb6d1; font-size:18px; }
.sidebar-collapsed .admin-brand__copy,.sidebar-collapsed .admin-collapse,.sidebar-collapsed .admin-label,.sidebar-collapsed .admin-nav a>span:last-child,.sidebar-collapsed .admin-nav a.is-active::after,.sidebar-collapsed .admin-account__copy,.sidebar-collapsed .admin-account>a { display:none!important; }
.sidebar-collapsed .admin-brand { justify-content:center; }
.sidebar-collapsed .admin-nav a { width:48px; justify-content:center; margin:4px auto!important; padding:8px!important; }
.sidebar-collapsed .admin-nav__icon { width:30px; height:30px; flex-basis:30px; }
.sidebar-collapsed .admin-account { display:flex; justify-content:center; padding-inline:0; }
.admin-main { min-width:0; max-width:none!important; margin:0!important; padding:0 36px 90px!important; }
.admin-topbar { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--v3-line); }
.admin-topbar>div:first-of-type { display:grid; }
.admin-topbar>div:first-of-type span { color:var(--v3-muted); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.admin-topbar>div:first-of-type b { margin-top:3px; font-size:14px; }
.admin-topbar__actions { display:flex; align-items:center; gap:18px; font-size:12px; font-weight:700; }
.admin-topbar__actions>a { color:var(--v3-muted); }
.admin-live { display:flex; align-items:center; gap:7px; padding:8px 11px; border:1px solid var(--v3-line); border-radius:999px; background:var(--v3-surface); }
.admin-live i { width:7px; height:7px; border-radius:50%; background:#38c99a; box-shadow:0 0 0 4px rgba(56,201,154,.12); }
.admin-mobile-trigger,.admin-mobile-burger { display:none; }
.admin-page { width:min(1180px,100%); margin:0 auto; padding:44px 0 0; }
.admin-page__head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:30px; }
.admin-eyebrow { color:var(--v3-violet); font-size:10px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.admin-page__head h1 { margin:9px 0 8px; font-size:clamp(2.1rem,3.7vw,3.5rem); line-height:1; letter-spacing:-.045em; }
.admin-page__head p { max-width:630px; margin:0; color:var(--v3-muted); }
.admin-page__summary { display:flex; gap:9px; }
.admin-page__summary span { min-width:100px; padding:12px 14px; display:grid; border:1px solid var(--v3-line); border-radius:14px; background:var(--v3-surface); color:var(--v3-muted); font-size:11px; }
.admin-page__summary b { color:var(--v3-ink); font-size:20px; }
.admin-toast { display:flex; align-items:center; gap:12px; margin-bottom:20px; padding:14px 16px; border:1px solid rgba(56,201,154,.3); border-radius:15px; background:rgba(56,201,154,.09); }
.admin-toast>span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#38c99a; color:#fff; }
.admin-toast>div { display:grid; }
.admin-toast small { color:var(--v3-muted); }
.permission-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.permission-role { border:1px solid var(--v3-line); border-radius:22px; background:var(--v3-surface); box-shadow:0 16px 46px rgba(34,42,82,.06); overflow:hidden; }
.permission-role__head { min-height:88px; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--v3-line); background:linear-gradient(180deg,var(--v3-surface),color-mix(in srgb,var(--v3-bg) 70%,var(--v3-surface))); }
.permission-role__identity { display:flex; align-items:center; gap:12px; }
.permission-role__avatar { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; color:#fff; font-weight:900; }
.permission-role__avatar--1 { background:linear-gradient(135deg,var(--v3-violet),#8a75f2); }
.permission-role__avatar--2 { background:linear-gradient(135deg,#3aaeb4,var(--v3-cyan)); }
.permission-role__avatar--3 { background:linear-gradient(135deg,#f47668,var(--v3-coral)); }
.permission-role__identity h2 { margin:0; font-size:16px; }
.permission-role__identity p { margin:3px 0 0; color:var(--v3-muted); font-size:11px; }
.admin-main .permission-all { padding:7px 10px; border:1px solid var(--v3-line); border-radius:9px; background:var(--v3-surface)!important; color:var(--v3-violet)!important; font-size:11px; font-weight:750; cursor:pointer; }
.permission-list { padding:10px; }
.permission-item { min-height:62px; margin:0!important; padding:10px 11px; display:flex!important; align-items:center!important; justify-content:space-between; gap:16px!important; border-radius:12px; cursor:pointer; transition:background .2s ease; }
.permission-item:hover { background:var(--v3-bg); }
.permission-item__copy { display:grid; }
.permission-item__copy b { color:var(--v3-ink); font-size:13px; }
.permission-item__copy small { margin-top:3px; color:var(--v3-muted); font-size:10px; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.permission-switch { position:relative; width:42px; height:24px; flex:0 0 42px; }
.permission-switch input { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; margin:0!important; opacity:0!important; cursor:pointer; }
.permission-switch>span { position:absolute; inset:0; border-radius:999px; background:#d8dceb; transition:background .22s ease; pointer-events:none; }
.permission-switch>span::after { content:""; position:absolute; width:18px; height:18px; left:3px; top:3px; border-radius:50%; background:#fff; box-shadow:0 2px 7px rgba(26,32,65,.25); transition:transform .22s ease; }
.permission-switch input:checked+span { background:linear-gradient(90deg,var(--v3-violet),#756af4); }
.permission-switch input:checked+span::after { transform:translateX(18px); }
.permission-switch input:focus-visible+span { outline:3px solid rgba(102,87,232,.22); outline-offset:2px; }
.permission-savebar { position:sticky; z-index:20; bottom:18px; margin-top:24px; padding:14px 16px 14px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid rgba(102,87,232,.2); border-radius:18px; background:color-mix(in srgb,var(--v3-surface) 88%,transparent); box-shadow:0 18px 50px rgba(31,38,75,.14); backdrop-filter:blur(18px); }
.permission-savebar>div { display:flex; align-items:center; gap:11px; }
.permission-savebar>div>span:last-child { display:grid; }
.permission-savebar small { color:var(--v3-muted); }
.permission-savebar__dot { width:9px; height:9px; border-radius:50%; background:var(--v3-cyan); box-shadow:0 0 0 5px rgba(72,201,197,.14); }
.permission-savebar .btn { min-width:180px; justify-content:space-between; }
.admin-main>.container { width:min(1180px,100%); padding-top:40px!important; }
.admin-main .card { border-radius:18px!important; border-color:var(--v3-line); box-shadow:0 12px 38px rgba(34,42,82,.055)!important; }
.admin-main .grid-3 { gap:16px!important; border:0!important; background:transparent!important; }
.admin-main .grid-3>.card { border:1px solid var(--v3-line)!important; }
.theme-pull--fixed { top:98px!important; right:18px!important; }

@media (max-width:1100px) {
  .re-service-list { grid-template-columns:1fr; }
  .re-hero__grid { grid-template-columns:1fr; }
  .re-hero__statement { padding:42px 30px 20px; }
  .re-hero__index { min-height:420px; }
  .re-intro__grid { grid-template-columns:1fr 1.4fr; }
  .re-intro__copy { grid-column:2; }
  .admin-page__summary { display:none; }
}
@media (max-width:820px) {
  .container { width:min(100% - 30px,1240px); }
  .re-utility { display:none; }
  .re-hero { padding-top:18px; }
  .re-hero__grid { padding:12px; border-radius:24px; }
  .re-hero__statement { padding:38px 20px 22px; }
  .re-hero__statement h1 { font-size:clamp(3rem,12vw,5rem); }
  .re-hero__actions { display:grid; grid-template-columns:1fr; }
  .re-arrow-link { width:100%; min-width:0; }
  .re-intro__grid,.re-services__layout,.re-products__head,.re-ecosystem__grid,.re-final__grid { grid-template-columns:1fr; }
  .re-intro__copy { grid-column:auto; }
  .re-services__title { position:static; }
  .re-product-grid,.re-role-map,.re-process ol { grid-template-columns:1fr; }
  .re-product-card { min-height:500px; }
  .dash,.cw-shell { display:block!important; }
  .portal-side-trigger { display:grid; }
  .portal-v3 .nav-toggle { display:none!important; }
  .dash .side,.cw-sidebar { position:fixed!important; top:0!important; left:0!important; z-index:210!important; width:min(290px,88vw)!important; height:100vh!important; transform:translateX(-104%); box-shadow:30px 0 70px rgba(15,20,48,.24); transition:transform .28s cubic-bezier(.2,.8,.2,1)!important; }
  body.portal-side-open .dash .side,body.portal-side-open .cw-sidebar { transform:translateX(0); }
  .dash .main,.cw-main { padding:28px 18px 70px!important; }
  .admin-shell { display:block!important; }
  .admin-side { position:fixed!important; width:min(286px,88vw)!important; transform:translateX(-104%)!important; }
  .admin-v3.admin-open .admin-side { transform:translateX(0)!important; }
  .admin-overlay { position:fixed; inset:0; z-index:90; display:block!important; background:rgba(9,12,31,.48); opacity:0; visibility:hidden; transition:.25s ease; }
  .admin-v3.admin-open .admin-overlay { opacity:1; visibility:visible; }
  .admin-collapse,.admin-mobile-burger { display:none!important; }
  .admin-main { padding:0 18px 70px!important; }
  .admin-mobile-trigger { width:40px; height:40px; display:grid; align-content:center; gap:4px; padding:10px; border:1px solid var(--v3-line); border-radius:11px; background:var(--v3-surface); }
  .admin-mobile-trigger span { display:block; height:2px; border-radius:2px; background:var(--v3-ink); }
  .admin-topbar>div:first-of-type { margin-right:auto; }
  .admin-topbar__actions>a { display:none; }
  .permission-grid { grid-template-columns:1fr; }
  .portal-kpi-row,.kpis { grid-template-columns:1fr!important; }
  .admin-page__head { align-items:flex-start; }
}
@media (max-width:560px) {
  .re-nav { min-height:70px; grid-template-columns:1fr auto; }
  .re-brand img { width:145px; }
  .re-login { display:none; }
  .re-hero__grid { min-height:0; }
  .re-hero__statement h1 { font-size:clamp(2.65rem,13vw,4rem); }
  .re-hero__index { margin:3px; padding:12px; }
  .re-hero__marquee { gap:12px; overflow:hidden; }
  .re-hero__marquee span:nth-of-type(even),.re-hero__marquee i:nth-of-type(even) { display:none; }
  .re-intro,.re-services,.re-products,.re-ecosystem,.re-process { padding:76px 0; }
  .re-service-row { min-height:0; padding:20px; }
  .re-product-card { min-height:450px; padding:24px; }
  .re-final__grid { padding:28px; }
  .admin-topbar__actions { display:none; }
  .admin-page { padding-top:30px; }
  .permission-role__head { align-items:flex-start; }
  .permission-all { flex:0 0 auto; }
  .permission-savebar { bottom:8px; padding:11px; }
  .portal-hero { grid-template-columns:1fr!important; padding:26px!important; }
  .portal-hero .status-card { min-height:110px; }
  .permission-savebar>div { display:none; }
  .permission-savebar .btn { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
