:root {
    --brand-950: #100723;
    --brand-900: #180d38;
    --brand-850: #28104f;
    --brand-800: #32136b;
    --violet: #8425ec;
    --indigo: #5218b9;
    --blue: #6d20d3;
    --cyan: #8425ec;
    --gradient: linear-gradient(135deg, #180d38 0%, #5218b9 54%, #8425ec 100%);
    --gradient-soft: linear-gradient(135deg, rgba(24, 13, 56, .10), rgba(132, 37, 236, .13));
    --surface: #ffffff;
    --surface-soft: #f7f8fc;
    --surface-muted: #eef1f8;
    --text: #171b2e;
    --text-soft: #60677c;
    --text-faint: #8b92a6;
    --border: #e3e6ef;
    --success: #0f9f6e;
    --warning: #d97706;
    --danger: #dc3545;
    --info: #3b82f6;
    --shadow-sm: 0 10px 30px rgba(18, 25, 60, .07);
    --shadow-md: 0 22px 55px rgba(18, 25, 60, .13);
    --radius-sm: 10px;
    --radius: 16px;
    --radius-lg: 24px;
    --sidebar: 272px;
    --topbar: 76px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100vh;
    color: var(--text);
    background: var(--surface-soft);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}
body.no-scroll { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

/* Shared */
.brand-word {
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.brand-gradient-text {
    background: var(--gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.gradient-button,
.primary-button,
button.primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 11px 19px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: var(--gradient);
    box-shadow: 0 12px 26px rgba(82, 24, 185, .25);
    font-weight: 800;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.gradient-button:hover,
.primary-button:hover { transform: translateY(-1px); box-shadow: 0 16px 34px rgba(82, 24, 185, .32); filter: saturate(1.08); }
.secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 11px 19px;
    border: 1px solid var(--border);
    border-radius: 12px;
    color: var(--text);
    background: #fff;
    font-weight: 800;
    transition: border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.secondary-button:hover { border-color: #c7a5f7; color: var(--indigo); transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.danger-button { background: #fff1f2; color: #be123c; border: 1px solid #fecdd3; box-shadow: none; }
.text-link { color: var(--indigo); font-weight: 750; }
.text-link:hover { text-decoration: underline; }
.muted { color: var(--text-soft); }
.small { font-size: 12px; }
.inline { display: inline; }
.hidden-desktop { display: none; }

.alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    margin-bottom: 18px;
    border: 1px solid transparent;
    border-radius: 13px;
    font-size: 14px;
}
.alert-success { color: #08724f; background: #ecfdf5; border-color: #a7f3d0; }
.alert-error { color: #9f1239; background: #fff1f2; border-color: #fecdd3; }
.alert ul { margin: 0; padding-left: 18px; }

/* Public site */
.public-body {
    background:
        radial-gradient(circle at 12% 0%, rgba(132, 37, 236, .13), transparent 32%),
        radial-gradient(circle at 92% 12%, rgba(82, 24, 185, .12), transparent 30%),
        #f8f9fd;
}
.public-header {
    position: sticky;
    top: 0;
    z-index: 50;
    border-bottom: 1px solid rgba(227, 230, 239, .85);
    background: rgba(255, 255, 255, .88);
    backdrop-filter: blur(18px);
}
.public-nav {
    width: min(1180px, 92%);
    min-height: 76px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.public-brand { display: inline-flex; align-items: center; gap: 13px; min-width: 0; }
.public-brand img { width: 43px; height: 43px; flex: 0 0 43px; }
.public-brand-copy { display: grid; gap: 1px; line-height: 1; }
.public-brand-copy strong { color: var(--brand-900); font-size: 17px; font-weight: 900; letter-spacing: .16em; }
.public-brand-copy small { margin-top: 5px; color: var(--text-soft); font-size: 9px; font-weight: 750; letter-spacing: .17em; }
.public-links { display: flex; align-items: center; gap: 9px; }
.public-links .plain-link { padding: 10px 13px; border-radius: 10px; color: var(--text-soft); font-weight: 750; }
.public-links .plain-link:hover { color: var(--indigo); background: #f4f1ff; }
.public-links .plain-link.is-active { color: var(--indigo); background: #f4f1ff; box-shadow: inset 0 0 0 1px rgba(82, 24, 185, .08); }
.public-main { width: min(1180px, 92%); margin: 0 auto; }

.hero {
    min-height: calc(100vh - 77px);
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    align-items: center;
    gap: clamp(42px, 7vw, 90px);
    padding: 76px 0 72px;
}
.hero-copy { position: relative; z-index: 2; }
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 8px 12px;
    border: 1px solid rgba(82, 24, 185, .18);
    border-radius: 999px;
    color: var(--indigo);
    background: rgba(255, 255, 255, .75);
    box-shadow: 0 8px 24px rgba(82, 24, 185, .07);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gradient); box-shadow: 0 0 0 5px rgba(82, 24, 185, .09); }
.hero h1 {
    max-width: 760px;
    margin: 22px 0 20px;
    color: var(--brand-900);
    font-size: clamp(3rem, 6.5vw, 6.2rem);
    line-height: .94;
    letter-spacing: -.065em;
}
.hero h1 .server-title { display: block; margin-top: 16px; font-size: .43em; letter-spacing: .14em; line-height: 1.15; }
.hero-description { max-width: 650px; margin: 0; color: var(--text-soft); font-size: clamp(1rem, 1.4vw, 1.16rem); line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-actions a { min-width: 132px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 30px; color: var(--text-soft); font-size: 13px; font-weight: 650; }
.hero-trust span { display: inline-flex; align-items: center; gap: 8px; }
.hero-trust i { width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--gradient); font-style: normal; font-size: 10px; }

.hero-visual { position: relative; min-height: 520px; display: grid; place-items: center; }
.hero-glow { position: absolute; width: 78%; aspect-ratio: 1; border-radius: 50%; background: var(--gradient); opacity: .18; filter: blur(55px); }
.control-card {
    position: relative;
    z-index: 2;
    width: min(100%, 480px);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 26px;
    color: #fff;
    background: linear-gradient(155deg, #28104f 0%, #180d38 55%, #100723 100%);
    box-shadow: 0 36px 80px rgba(17, 26, 71, .3);
}
.control-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 90% 0%, rgba(82, 24, 185, .2), transparent 33%), radial-gradient(circle at 0% 100%, rgba(132, 37, 236, .22), transparent 35%); pointer-events: none; }
.control-head, .control-body, .control-footer { position: relative; z-index: 1; }
.control-head { min-height: 82px; padding: 20px 23px; display: flex; align-items: center; gap: 13px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.control-head img { width: 46px; height: 46px; }
.control-brand { display: grid; flex: 1; gap: 4px; }
.control-brand strong { font-size: 14px; letter-spacing: .16em; }
.control-brand small { color: #c6b9dc; font-size: 10px; letter-spacing: .1em; }
.online { display: inline-flex; align-items: center; gap: 7px; color: #9df1d2; font-size: 11px; font-weight: 800; }
.online::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #35df9e; box-shadow: 0 0 0 6px rgba(53, 223, 158, .1); }
.control-body { padding: 23px; }
.mini-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.mini-stat { padding: 15px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 14px; background: rgba(255, 255, 255, .045); }
.mini-stat small { display: block; color: #c6b9dc; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.mini-stat strong { display: block; margin-top: 8px; font-size: 17px; }
.license-panel { margin-top: 18px; padding: 18px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 16px; background: rgba(4, 9, 32, .22); }
.license-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.license-panel-head span { color: #c7bbdb; font-size: 11px; }
.status-pill { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 999px; color: #80f0c6 !important; background: rgba(53, 223, 158, .1); font-size: 10px !important; font-weight: 800; text-transform: uppercase; }
.license-key { margin-top: 18px; padding: 13px 14px; border-radius: 11px; color: #eee7f8; background: rgba(255, 255, 255, .06); font: 700 12px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; }
.progress-row { margin-top: 17px; }
.progress-label { display: flex; justify-content: space-between; gap: 10px; color: #c7bbdb; font-size: 10px; }
.progress { height: 8px; margin-top: 8px; overflow: hidden; border-radius: 999px; background: rgba(255, 255, 255, .08); }
.progress span { display: block; width: 76%; height: 100%; border-radius: inherit; background: var(--gradient); }
.control-footer { padding: 16px 23px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid rgba(255, 255, 255, .08); color: #c6b9dc; font-size: 10px; }
.control-footer strong { color: #fff; }
.floating-chip { position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.55); border-radius: 14px; background: rgba(255,255,255,.9); box-shadow: var(--shadow-md); backdrop-filter: blur(12px); }
.floating-chip strong { display: block; color: var(--brand-900); font-size: 12px; }
.floating-chip small { display: block; margin-top: 2px; color: var(--text-soft); font-size: 9px; }
.floating-chip .chip-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: var(--gradient); font-size: 13px; font-weight: 900; }
.chip-one { left: -22px; top: 80px; }
.chip-two { right: -22px; bottom: 74px; }

.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 0 0 74px; }
.feature-card { padding: 24px; border: 1px solid var(--border); border-radius: 18px; background: rgba(255,255,255,.8); box-shadow: var(--shadow-sm); }
.feature-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: var(--gradient); font-weight: 900; }
.feature-card h3 { margin: 18px 0 8px; color: var(--brand-900); font-size: 17px; }
.feature-card p { margin: 0; color: var(--text-soft); font-size: 13px; line-height: 1.7; }
.public-footer { border-top: 1px solid var(--border); background: rgba(255,255,255,.78); }
.public-footer-inner { width: min(1180px, 92%); min-height: 76px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--text-soft); font-size: 12px; }

/* Authentication */
.auth-body {
    min-height: 100vh;
    background: var(--brand-950);
}
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(380px, .9fr) minmax(520px, 1.1fr); }
.auth-showcase {
    position: relative;
    overflow: hidden;
    padding: clamp(38px, 6vw, 78px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #fff;
    background: linear-gradient(150deg, #180d38, #28104f 56%, #100723);
}
.auth-showcase::before, .auth-showcase::after { content: ""; position: absolute; border-radius: 50%; background: var(--gradient); opacity: .2; filter: blur(35px); }
.auth-showcase::before { width: 360px; height: 360px; top: -130px; right: -100px; }
.auth-showcase::after { width: 280px; height: 280px; left: -130px; bottom: -100px; }
.auth-logo, .auth-copy, .auth-points { position: relative; z-index: 1; }
.auth-logo { display: inline-flex; align-items: center; gap: 14px; }
.auth-logo img { width: 50px; height: 50px; }
.auth-logo-copy { display: grid; gap: 4px; }
.auth-logo-copy strong { letter-spacing: .18em; font-size: 16px; }
.auth-logo-copy small { color: #9ea9d6; font-size: 9px; letter-spacing: .16em; }
.auth-copy h1 { max-width: 580px; margin: 0 0 18px; font-size: clamp(2.2rem, 4.3vw, 4.6rem); line-height: 1; letter-spacing: -.055em; }
.auth-copy p { max-width: 540px; margin: 0; color: #aeb8df; font-size: 15px; line-height: 1.8; }
.auth-points { display: grid; gap: 12px; }
.auth-point { display: flex; align-items: center; gap: 11px; color: #cbd2ed; font-size: 12px; font-weight: 650; }
.auth-point i { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: rgba(255,255,255,.08); font-style: normal; }
.auth-workspace { min-height: 100vh; padding: 36px; display: grid; place-items: center; background: #f8f9fd; }
.auth-card { width: min(100%, 500px); padding: clamp(25px, 5vw, 42px); border: 1px solid var(--border); border-radius: 24px; background: #fff; box-shadow: var(--shadow-md); }
.auth-card-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 30px; }
.auth-home-link { color: var(--text-soft); font-size: 12px; font-weight: 750; }
.auth-home-link:hover { color: var(--indigo); }
.auth-card h2 { margin: 0; color: var(--brand-900); font-size: 28px; letter-spacing: -.03em; }
.auth-subtitle { margin: 9px 0 0; color: var(--text-soft); font-size: 13px; line-height: 1.65; }
.auth-form { display: grid; gap: 17px; }
.form-label { display: grid; gap: 8px; color: #30364c; font-size: 12px; font-weight: 780; }
.form-control, input.form-control, select.form-control, textarea.form-control {
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid #dce0eb;
    border-radius: 11px;
    outline: none;
    color: var(--text);
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.form-control:focus { border-color: var(--indigo); box-shadow: 0 0 0 4px rgba(82, 24, 185, .1); }
.password-field { position: relative; }
.password-field .form-control { padding-right: 68px; }
.password-toggle { position: absolute; top: 50%; right: 8px; transform: translateY(-50%); padding: 7px 9px; border: 0; border-radius: 8px; color: var(--indigo); background: #f1efff; font-size: 10px; font-weight: 850; }
.form-row-between { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.checkbox-label { display: inline-flex; align-items: center; gap: 8px; color: var(--text-soft); font-size: 12px; }
.checkbox-label input { accent-color: var(--indigo); }
.auth-submit { width: 100%; margin-top: 3px; }
.auth-bottom { margin: 23px 0 0; color: var(--text-soft); text-align: center; font-size: 12px; }
.admin-login-badge { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; color: var(--indigo); background: #f2efff; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }

/* Application shell */
.app-body { min-height: 100vh; overflow-x: hidden; background: #f5f6fa; }
.app-shell { min-height: 100vh; }
.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 70;
    width: var(--sidebar);
    display: flex;
    flex-direction: column;
    color: #d9def4;
    background: linear-gradient(180deg, #180d38 0%, #0d1439 100%);
    box-shadow: 12px 0 35px rgba(17, 26, 71, .12);
    transition: transform .25s ease;
}
.sidebar::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 100% 0%, rgba(76,198,244,.12), transparent 28%), radial-gradient(circle at 0% 100%, rgba(143,60,247,.13), transparent 30%); }
.sidebar-brand, .sidebar-scroll, .sidebar-footer { position: relative; z-index: 1; }
.sidebar-brand { min-height: var(--topbar); padding: 15px 19px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.07); }
.sidebar-brand img { width: 44px; height: 44px; flex: 0 0 44px; }
.sidebar-brand-copy { display: grid; gap: 4px; min-width: 0; }
.sidebar-brand-copy strong { color: #fff; font-size: 14px; letter-spacing: .17em; white-space: nowrap; }
.sidebar-brand-copy small { color: #929dc9; font-size: 8px; font-weight: 750; letter-spacing: .15em; white-space: nowrap; }
.sidebar-scroll { flex: 1; overflow-y: auto; padding: 18px 13px; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.2) transparent; }
.menu-section { margin-bottom: 21px; }
.menu-label { display: block; padding: 0 11px 8px; color: #707da9; font-size: 9px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.menu-list { display: grid; gap: 4px; }
.menu-link {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 43px;
    padding: 10px 11px;
    border-radius: 11px;
    color: #c7bbdb;
    font-size: 12px;
    font-weight: 690;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}
.menu-link svg { width: 18px; height: 18px; flex: 0 0 18px; stroke-width: 1.8; }
.menu-link:hover { color: #fff; background: rgba(255,255,255,.07); transform: translateX(2px); }
.menu-link.active { color: #fff; background: linear-gradient(135deg, rgba(82,24,185,.48), rgba(132,37,236,.26)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.sidebar-footer { padding: 14px; border-top: 1px solid rgba(255,255,255,.07); }
.sidebar-user { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; background: rgba(255,255,255,.045); }
.avatar { width: 37px; height: 37px; flex: 0 0 37px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: var(--gradient); font-size: 12px; font-weight: 900; }
.sidebar-user-copy { min-width: 0; flex: 1; }
.sidebar-user-copy strong, .sidebar-user-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user-copy strong { color: #fff; font-size: 11px; }
.sidebar-user-copy small { margin-top: 3px; color: #8f9ac3; font-size: 9px; }
.sidebar-logout { width: 30px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 8px; color: #c7bbdb; background: transparent; }
.sidebar-logout:hover { color: #fff; background: rgba(255,255,255,.08); }
.sidebar-logout svg { width: 17px; height: 17px; }

.workspace { min-height: 100vh; margin-left: var(--sidebar); display: flex; flex-direction: column; }
.app-topbar {
    position: sticky;
    top: 0;
    z-index: 45;
    min-height: var(--topbar);
    padding: 0 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    border-bottom: 1px solid var(--border);
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(16px);
}
.topbar-left { min-width: 0; display: flex; align-items: center; gap: 14px; }
.sidebar-toggle { display: none; width: 42px; height: 42px; place-items: center; border: 1px solid var(--border); border-radius: 11px; color: var(--brand-900); background: #fff; }
.sidebar-toggle svg { width: 21px; height: 21px; }
.page-context { min-width: 0; }
.page-context h1 { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--brand-900); font-size: 18px; letter-spacing: -.02em; }
.page-context p { margin: 4px 0 0; color: var(--text-faint); font-size: 10px; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.topbar-chip { min-height: 38px; padding: 8px 12px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--border); border-radius: 10px; color: var(--text-soft); background: #fff; font-size: 11px; font-weight: 750; }
.topbar-chip .live { width: 7px; height: 7px; border-radius: 50%; background: #27c98b; box-shadow: 0 0 0 5px rgba(39,201,139,.1); }
.app-content { width: 100%; max-width: 1540px; margin: 0 auto; flex: 1; padding: 28px; }
.app-footer { min-height: 62px; padding: 18px 28px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--border); color: var(--text-faint); background: #fff; font-size: 10px; }
.sidebar-overlay { position: fixed; inset: 0; z-index: 60; display: none; background: rgba(8, 12, 34, .58); backdrop-filter: blur(3px); }

/* App content */
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.page-heading h2 { margin: 0; color: var(--brand-900); font-size: clamp(23px, 3vw, 30px); letter-spacing: -.035em; }
.page-heading p { max-width: 720px; margin: 7px 0 0; color: var(--text-soft); font-size: 12px; line-height: 1.7; }
.page-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.stat-card { position: relative; overflow: hidden; min-height: 132px; padding: 20px; border: 1px solid var(--border); border-radius: 17px; background: #fff; box-shadow: 0 8px 25px rgba(18,25,60,.045); }
.stat-card::after { content: ""; position: absolute; right: -26px; bottom: -35px; width: 96px; height: 96px; border-radius: 50%; background: var(--gradient); opacity: .09; }
.stat-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.stat-icon { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 11px; color: var(--indigo); background: #f2efff; }
.stat-icon svg { width: 18px; height: 18px; }
.stat-card small { color: var(--text-faint); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.stat-value { position: relative; z-index: 1; display: block; margin-top: 15px; color: var(--brand-900); font-size: 27px; font-weight: 900; letter-spacing: -.04em; }
.stat-note { position: relative; z-index: 1; display: block; margin-top: 4px; color: var(--text-faint); font-size: 10px; }
.dashboard-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 18px; margin-top: 18px; }
.panel { min-width: 0; border: 1px solid var(--border); border-radius: 17px; background: #fff; box-shadow: 0 8px 25px rgba(18,25,60,.04); }
.panel-head { min-height: 65px; padding: 16px 19px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid var(--border); }
.panel-head h3 { margin: 0; color: var(--brand-900); font-size: 14px; }
.panel-head p { margin: 4px 0 0; color: var(--text-faint); font-size: 9px; }
.panel-body { padding: 19px; }
.quick-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.quick-action { min-height: 84px; padding: 14px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--border); border-radius: 13px; background: #fafbfe; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.quick-action:hover { border-color: #d6c4f5; transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.quick-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 11px; color: #fff; background: var(--gradient); }
.quick-action strong { display: block; color: var(--brand-900); font-size: 11px; }
.quick-action small { display: block; margin-top: 4px; color: var(--text-faint); font-size: 9px; line-height: 1.45; }
.system-list { display: grid; gap: 11px; }
.system-row { padding: 13px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--border); border-radius: 12px; background: #fafbfe; }
.system-row span { color: var(--text-soft); font-size: 10px; font-weight: 700; }
.system-row strong { color: var(--brand-900); font-size: 10px; }

.content-card { padding: clamp(18px, 3vw, 26px); border: 1px solid var(--border); border-radius: 17px; background: #fff; box-shadow: 0 8px 25px rgba(18,25,60,.04); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-grid .full { grid-column: 1 / -1; }
.form-group { min-width: 0; display: grid; gap: 8px; }
.form-group label, label.form-group { color: #333950; font-size: 11px; font-weight: 800; }
.form-help { color: var(--text-faint); font-size: 9px; line-height: 1.5; }
textarea.form-control { min-height: 115px; resize: vertical; }
.checkbox-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.check-card { min-height: 54px; padding: 12px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--border); border-radius: 11px; background: #fafbfe; color: var(--text-soft); font-size: 10px; font-weight: 700; }
.check-card input { accent-color: var(--indigo); }
.form-actions { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 4px; }

.filter-bar { margin-bottom: 16px; padding: 13px; display: grid; grid-template-columns: minmax(220px, 1fr) minmax(150px, 220px) auto; gap: 10px; border: 1px solid var(--border); border-radius: 14px; background: #fff; }
.table-card { overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: #fff; box-shadow: 0 8px 25px rgba(18,25,60,.04); }
.table-responsive { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.data-table { width: 100%; min-width: 780px; border-collapse: collapse; }
.data-table th, .data-table td { padding: 14px 16px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: middle; }
.data-table th { color: var(--text-faint); background: #fafbfe; font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.data-table td { color: var(--text-soft); font-size: 11px; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fcfcff; }
.data-table td strong { color: var(--brand-900); }
.table-actions { display: flex; align-items: center; gap: 7px; }
.table-action { min-height: 34px; padding: 8px 10px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: 9px; color: var(--indigo); background: #fff; font-size: 9px; font-weight: 800; }
.table-action:hover { background: #f4f1ff; border-color: #d6c4f5; }
.table-inline-form { min-width: 225px; display: flex; align-items: center; gap: 7px; }
.table-inline-form .form-control { min-height: 35px; padding: 7px 9px; font-size: 10px; }
.table-inline-form button { min-height: 35px; padding: 7px 10px; border: 0; border-radius: 9px; color: #fff; background: var(--gradient); font-size: 9px; font-weight: 800; }
.badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 999px; font-size: 9px; font-weight: 850; text-transform: capitalize; }
.badge-active, .badge-successful { color: #08724f; background: #e9fbf4; }
.badge-trial, .badge-pending { color: #8a4b00; background: #fff6e7; }
.badge-expired, .badge-failed, .badge-revoked { color: #a4123f; background: #fff0f3; }
.badge-suspended, .badge-inactive, .badge-cancelled { color: #5f6678; background: #eef0f5; }
.pagination-wrap { margin-top: 18px; }
nav[role="navigation"] svg { width: 19px; height: 19px; }
nav[role="navigation"] a, nav[role="navigation"] span { border-radius: 8px !important; }
.empty-state { padding: 52px 24px; text-align: center; }
.empty-icon { width: 62px; height: 62px; margin: 0 auto; display: grid; place-items: center; border-radius: 18px; color: var(--indigo); background: #f2efff; }
.empty-state h3 { margin: 17px 0 7px; color: var(--brand-900); font-size: 17px; }
.empty-state p { max-width: 500px; margin: 0 auto; color: var(--text-soft); font-size: 11px; line-height: 1.7; }
.module-hero { position: relative; overflow: hidden; min-height: 250px; padding: clamp(28px, 5vw, 54px); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 32px; border-radius: 21px; color: #fff; background: linear-gradient(145deg, #180d38, #28104f 65%, #100723); box-shadow: var(--shadow-md); }
.module-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 88% 12%, rgba(76,198,244,.24), transparent 30%), radial-gradient(circle at 0 100%, rgba(143,60,247,.26), transparent 35%); }
.module-copy, .module-art { position: relative; z-index: 1; }
.module-copy span { display: inline-block; color: #9faadd; font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.module-copy h2 { margin: 12px 0 12px; font-size: clamp(28px, 4vw, 46px); letter-spacing: -.045em; }
.module-copy p { max-width: 680px; margin: 0; color: #b6c0e3; font-size: 13px; line-height: 1.8; }
.module-art { width: 124px; height: 124px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 32px; background: rgba(255,255,255,.06); }
.module-art img { width: 78px; height: 78px; }
.details-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.detail-row { padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: #fafbfe; }
.detail-row span { display: block; color: var(--text-faint); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.detail-row strong { display: block; margin-top: 6px; color: var(--brand-900); font-size: 12px; overflow-wrap: anywhere; }

@media (max-width: 1180px) {
    .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-grid { grid-template-columns: 1fr; }
    .hero { gap: 45px; }
    .chip-one { left: -4px; }
    .chip-two { right: -4px; }
}

@media (max-width: 980px) {
    .hero { grid-template-columns: 1fr; padding-top: 58px; text-align: center; }
    .hero-description { margin-inline: auto; }
    .hero-actions, .hero-trust { justify-content: center; }
    .hero-visual { min-height: 480px; }
    .feature-grid { grid-template-columns: 1fr; }
    .auth-shell { grid-template-columns: 1fr; }
    .auth-showcase { display: none; }
    .auth-workspace { padding: 25px; }
    .sidebar { transform: translateX(-102%); }
    .workspace { margin-left: 0; }
    .sidebar-toggle { display: grid; }
    body.sidebar-open .sidebar { transform: translateX(0); }
    body.sidebar-open .sidebar-overlay { display: block; }
    .app-content { padding: 22px; }
}

@media (max-width: 720px) {
    :root { --topbar: 68px; }
    .public-nav { min-height: 68px; }
    .public-brand-copy small { display: none; }
    .public-links .plain-link { display: none; }
    .public-links .gradient-button, .public-links .secondary-button { min-height: 39px; padding: 8px 12px; font-size: 11px; }
    .hero { min-height: auto; padding: 54px 0 55px; }
    .hero h1 { font-size: clamp(3rem, 16vw, 5.2rem); }
    .hero h1 .server-title { font-size: .34em; letter-spacing: .1em; }
    .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .hero-actions a { min-width: 0; }
    .hero-trust { display: grid; grid-template-columns: 1fr; gap: 10px; text-align: left; }
    .hero-visual { min-height: 405px; }
    .control-card { border-radius: 20px; }
    .mini-stats { grid-template-columns: 1fr; }
    .mini-stat { display: flex; align-items: center; justify-content: space-between; }
    .mini-stat strong { margin-top: 0; }
    .floating-chip { display: none; }
    .feature-grid { padding-bottom: 48px; }
    .public-footer-inner { min-height: 86px; flex-direction: column; justify-content: center; text-align: center; }
    .auth-workspace { padding: 16px; }
    .auth-card { padding: 24px 19px; border-radius: 18px; }
    .auth-card-top { align-items: flex-start; flex-direction: column-reverse; }
    .app-topbar { padding: 0 15px; }
    .page-context p, .topbar-chip { display: none; }
    .app-content { padding: 17px 14px 24px; }
    .app-footer { padding: 16px; flex-direction: column; text-align: center; }
    .page-heading { align-items: stretch; flex-direction: column; }
    .page-actions { display: grid; grid-template-columns: 1fr; }
    .page-actions a, .page-actions button { width: 100%; }
    .stats-grid { grid-template-columns: 1fr; }
    .stat-card { min-height: 116px; }
    .quick-actions { grid-template-columns: 1fr; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid .full { grid-column: auto; }
    .checkbox-grid { grid-template-columns: 1fr; }
    .filter-bar { grid-template-columns: 1fr; }
    .filter-bar button { width: 100%; }
    .content-card { padding: 16px; border-radius: 14px; }
    .module-hero { min-height: 300px; grid-template-columns: 1fr; text-align: center; }
    .module-art { margin: 0 auto; order: -1; width: 94px; height: 94px; border-radius: 25px; }
    .module-art img { width: 60px; height: 60px; }
    .details-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
    .public-main, .public-nav, .public-footer-inner { width: min(94%, 1180px); }
    .public-brand-copy strong { font-size: 14px; }
    .public-links { gap: 6px; }
    .public-links .gradient-button, .public-links .secondary-button { padding-inline: 10px; }
    .hero-actions { grid-template-columns: 1fr; }
    .control-head { padding: 17px; }
    .control-body { padding: 17px; }
    .sidebar { width: min(86vw, 285px); }
}

/* GIGORA marketplace and product media */
.marketplace-section{padding:72px 0 84px;border-top:1px solid rgba(76,70,116,.1)}
.marketplace-heading{margin-bottom:34px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.marketplace-heading>div>span,.customer-section-head>div>span{display:inline-block;margin-bottom:8px;color:var(--indigo);font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.marketplace-heading h2{max-width:720px;margin:0;color:var(--brand-900);font-size:clamp(29px,4.5vw,52px);line-height:1.05;letter-spacing:-.045em}
.marketplace-heading p{max-width:760px;margin:14px 0 0;color:var(--text-soft);font-size:13px;line-height:1.8}
.market-category-block{margin-top:42px}
.market-category-head{margin-bottom:17px;display:flex;align-items:center;justify-content:space-between}
.market-category-head>div{display:flex;align-items:center;gap:12px}
.market-category-head>div>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--gradient);font-size:11px;font-weight:850;box-shadow:0 9px 20px rgba(89,47,205,.2)}
.market-category-head h3{margin:0;color:var(--brand-900);font-size:20px;letter-spacing:-.02em}
.market-category-head p{margin:3px 0 0;color:var(--text-faint);font-size:10px}
.market-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.market-product-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(23,25,63,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.market-product-card:hover{transform:translateY(-4px);border-color:#d6cef9;box-shadow:0 22px 48px rgba(35,26,94,.11)}
.market-product-media{position:relative;overflow:hidden;aspect-ratio:16/10;display:block;background:linear-gradient(145deg,#15183f,#2b1c70);text-decoration:none}
.market-product-media>img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}
.market-product-card:hover .market-product-media>img{transform:scale(1.035)}
.market-product-placeholder{width:100%;height:100%;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:#fff;background:radial-gradient(circle at 80% 10%,rgba(132,37,236,.28),transparent 30%),radial-gradient(circle at 15% 90%,rgba(145,52,244,.38),transparent 35%),linear-gradient(145deg,#11183f,#2b1769)}
.market-product-placeholder img{width:74px;height:74px;filter:drop-shadow(0 13px 25px rgba(0,0,0,.22))}
.market-product-placeholder span{font-size:12px;font-weight:850;letter-spacing:.24em}
.market-product-type,.market-product-trial{position:absolute;top:13px;padding:7px 9px;border-radius:999px;font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;backdrop-filter:blur(10px)}
.market-product-type{left:13px;color:#fff;background:rgba(12,13,42,.68)}
.market-product-trial{right:13px;color:#37136f;background:rgba(255,255,255,.88)}
.market-product-body{padding:19px;display:flex;flex:1;flex-direction:column}
.market-product-category{color:var(--indigo);font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.market-product-body h3{margin:8px 0 8px;font-size:18px;line-height:1.2;letter-spacing:-.025em}
.market-product-body h3 a{color:var(--brand-900);text-decoration:none}
.market-product-body>p{margin:0;color:var(--text-soft);font-size:10px;line-height:1.65}
.market-product-meta{margin:16px 0 0;padding-top:13px;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--border)}
.market-product-meta span{padding:5px 8px;border-radius:7px;color:#555d76;background:#f4f5fa;font-size:8px;font-weight:750}
.market-product-footer{margin-top:auto;padding-top:17px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.market-product-price small{display:block;color:var(--text-faint);font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}
.market-product-price strong{display:block;margin-top:3px;color:var(--brand-900);font-size:19px}
.market-card-button{min-height:38px;padding:9px 12px;display:inline-flex;align-items:center;gap:8px;border-radius:10px;color:#fff;background:var(--gradient);font-size:9px;font-weight:850;text-decoration:none;box-shadow:0 8px 17px rgba(86,44,201,.18)}
.market-card-button span{font-size:14px}
.market-empty{padding:48px 25px;border:1px dashed #cbc6e8;border-radius:20px;background:#faf9ff;text-align:center}
.market-empty img{width:60px;height:60px}.market-empty h3{margin:15px 0 6px;color:var(--brand-900)}.market-empty p{margin:0;color:var(--text-soft)}
.public-product-page{padding:65px 0 54px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(38px,7vw,90px)}
.public-product-visual{overflow:hidden;aspect-ratio:1/1;border:1px solid var(--border);border-radius:28px;background:#f7f7fb;box-shadow:0 25px 65px rgba(22,19,66,.12)}
.public-product-visual>img{width:100%;height:100%;object-fit:cover}.public-product-visual .market-product-placeholder{min-height:100%}
.product-back-link{display:inline-block;margin-bottom:17px;color:var(--indigo);font-size:10px;font-weight:800;text-decoration:none}
.product-detail-badges{display:flex;flex-wrap:wrap;gap:8px}.product-detail-badges span{padding:6px 9px;border:1px solid #dedaf1;border-radius:999px;color:#5c5574;background:#fff;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.public-product-copy h1{margin:17px 0 14px;color:var(--brand-900);font-size:clamp(38px,5.5vw,68px);line-height:.98;letter-spacing:-.055em}
.product-lead{max-width:650px;color:var(--text-soft);font-size:14px;line-height:1.8}
.product-detail-features{margin:22px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.product-detail-features span{padding:11px 12px;border:1px solid var(--border);border-radius:11px;color:#41475f;background:#fff;font-size:10px;font-weight:700}
.public-product-actions{display:flex;flex-wrap:wrap;gap:10px}
.product-description-card{margin:20px 0 55px;padding:clamp(24px,5vw,48px);border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:0 12px 35px rgba(25,24,66,.055)}
.product-description-card>span,.plan-kicker{color:var(--indigo);font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.product-description-card h2{margin:8px 0 18px;color:var(--brand-900);font-size:30px}.product-description-card>div{color:var(--text-soft);font-size:12px;line-height:1.9}
.public-plan-section{padding-bottom:80px}.public-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.public-plan-card{padding:25px;border:1px solid var(--border);border-radius:19px;background:#fff;box-shadow:0 10px 28px rgba(25,24,66,.05)}.public-plan-card.is-featured{border-color:#baadf3;background:linear-gradient(160deg,#fff,#f5f1ff)}.public-plan-card h3{margin:10px 0;color:var(--brand-900);font-size:20px}.public-plan-card>strong{display:inline-block;color:var(--brand-900);font-size:32px}.public-plan-card del{margin-left:8px;color:var(--text-faint)}.public-plan-card p{min-height:46px;color:var(--text-soft);font-size:10px;line-height:1.6}.public-plan-card a{width:100%;margin-top:10px}
.product-media-field{padding:17px;display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:22px;border:1px solid var(--border);border-radius:15px;background:#fafbfe}.product-image-preview{overflow:hidden;aspect-ratio:16/11;border:1px solid var(--border);border-radius:13px;background:#fff}.product-image-preview>img{width:100%;height:100%;object-fit:cover}.product-image-preview .product-image-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(145deg,#171a48,#3f1f91);color:#fff}.product-image-placeholder img{width:56px;height:56px}.product-image-placeholder span{font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.product-media-copy{display:grid;gap:12px}.product-remove-image{max-width:260px;padding-top:10px}.table-product{display:flex;align-items:center;gap:11px;min-width:230px}.table-product-image{overflow:hidden;width:48px;height:48px;flex:0 0 48px;border:1px solid var(--border);border-radius:11px;background:#f4f2fb}.table-product-image img{width:100%;height:100%;object-fit:cover}.table-product small{display:block;margin-top:4px;color:var(--text-faint);font-size:8px}
.customer-product-section{margin-top:24px}.customer-section-head{margin-bottom:15px;display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.customer-section-head h3{margin:0;color:var(--brand-900);font-size:23px;letter-spacing:-.025em}.customer-section-head>strong{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--gradient)}
.owned-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.owned-product-card{overflow:hidden;display:grid;grid-template-columns:190px minmax(0,1fr);border:1px solid var(--border);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(22,24,65,.05)}.owned-product-media{min-height:240px;background:#f4f3fa}.owned-product-media>img{width:100%;height:100%;object-fit:cover}.owned-product-media .market-product-placeholder{min-height:100%}.owned-product-body{padding:19px}.owned-product-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.owned-product-top small{color:var(--text-faint);font-size:8px;font-weight:750}.owned-product-body h3{margin:13px 0 8px;color:var(--brand-900);font-size:18px}.owned-product-body>p{color:var(--text-soft);font-size:9px;line-height:1.6}.owned-product-info{margin-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.owned-product-info>span{padding:10px;border-radius:10px;background:#f7f8fb}.owned-product-info small{display:block;color:var(--text-faint);font-size:7px;text-transform:uppercase;letter-spacing:.07em}.owned-product-info strong{display:block;margin-top:3px;color:var(--brand-900);font-size:9px}.owned-product-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:7px}.owned-product-actions a{min-height:37px;padding:8px 11px;font-size:8px}
.account-market-banner{position:relative;overflow:hidden;min-height:230px;padding:36px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-radius:20px;color:#fff;background:radial-gradient(circle at 85% 0,rgba(62,200,244,.26),transparent 30%),linear-gradient(135deg,#11183e,#321875 75%,#6429d9);box-shadow:var(--shadow-md)}.account-market-banner>div{position:relative;z-index:1}.account-market-banner span{color:#bfb5ea;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.account-market-banner h2{max-width:700px;margin:9px 0;color:#fff;font-size:clamp(27px,4vw,43px);letter-spacing:-.04em}.account-market-banner p{max-width:720px;margin:0;color:#d4cfee;font-size:11px;line-height:1.7}.account-market-banner>img{width:130px;height:130px;opacity:.92;filter:drop-shadow(0 18px 35px rgba(0,0,0,.28))}.account-category-block{margin-top:27px}
.account-product-detail{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:26px;padding:22px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(25,24,66,.05)}.account-product-image{overflow:hidden;aspect-ratio:16/12;border-radius:15px;background:#f4f3fa}.account-product-image>img{width:100%;height:100%;object-fit:cover}.account-product-image .market-product-placeholder{min-height:100%}.account-product-copy{padding:14px 12px}.account-product-copy h2{margin:15px 0 10px;color:var(--brand-900);font-size:31px;letter-spacing:-.04em}.account-product-copy>p{color:var(--text-soft);font-size:11px;line-height:1.75}
.product-existing-license{margin-top:20px}.existing-license-row{padding:13px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--border)}.existing-license-row>div{display:flex;align-items:center;gap:11px;flex-wrap:wrap}.existing-license-row strong{color:var(--brand-900);font-family:monospace;font-size:11px}.existing-license-row small{color:var(--text-faint);font-size:9px}
.account-purchase-section{margin-top:27px}.account-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.account-plan-card{padding:22px;border:1px solid var(--border);border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(22,24,65,.045)}.account-plan-card.is-featured{border-color:#b8aaf3;background:linear-gradient(160deg,#fff,#f4f0ff)}.account-plan-card h3{margin:9px 0 13px;color:var(--brand-900);font-size:18px}.account-plan-price strong{display:block;color:var(--brand-900);font-size:29px}.account-plan-price small{color:var(--text-faint);font-size:8px}.account-plan-card ul{min-height:90px;margin:17px 0;padding-left:17px;color:var(--text-soft);font-size:9px;line-height:2}.account-plan-card form>.primary-button,.account-plan-card form>.secondary-button{width:100%}.trial-plan-card{grid-column:span 1}.trial-plan-card>p{color:var(--text-soft);font-size:9px;line-height:1.6}.trial-form{display:grid;gap:10px}
@media(max-width:1100px){.market-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-plan-grid,.account-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owned-product-grid{grid-template-columns:1fr}}
@media(max-width:820px){.marketplace-heading{align-items:flex-start;flex-direction:column}.public-product-page,.account-product-detail{grid-template-columns:1fr}.public-product-visual{max-width:620px}.product-media-field{grid-template-columns:1fr}.product-image-preview{max-width:360px}.account-market-banner>img{width:90px;height:90px}.owned-product-card{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:650px){.public-products-link{display:none}.marketplace-section{padding:50px 0}.market-product-grid,.public-plan-grid,.account-plan-grid{grid-template-columns:1fr}.market-category-block{margin-top:32px}.market-product-card{border-radius:16px}.product-detail-features{grid-template-columns:1fr}.public-product-page{padding-top:40px}.public-product-copy h1{font-size:42px}.owned-product-card{grid-template-columns:1fr}.owned-product-media{min-height:210px}.account-market-banner{padding:26px;align-items:flex-start;flex-direction:column-reverse}.account-market-banner>img{width:72px;height:72px}.existing-license-row{align-items:flex-start;flex-direction:column}.existing-license-row>a{width:100%}.product-media-field{padding:13px}}

/* Compact professional admin products table — 2026-08-03 */
.product-table-card {
    border-radius: 18px;
}

.admin-products-table {
    min-width: 900px;
}

.admin-products-table th,
.admin-products-table td {
    padding-top: 13px;
    padding-bottom: 13px;
}

.admin-products-table th:first-child,
.admin-products-table td:first-child {
    width: 42%;
}

.admin-product-row {
    transition: background-color .18s ease, box-shadow .18s ease;
}

.admin-product-row:hover {
    background: #faf9ff;
}

.admin-product-main-cell {
    min-width: 330px;
}

.admin-product-item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
}

.admin-product-thumb {
    overflow: hidden;
    width: 72px !important;
    height: 54px !important;
    max-width: 72px !important;
    max-height: 54px !important;
    min-width: 72px;
    flex: 0 0 72px;
    border: 1px solid #e3e4ef;
    border-radius: 11px;
    background: linear-gradient(145deg, #f7f5ff, #eef7ff);
    box-shadow: 0 5px 14px rgba(25, 24, 66, .07);
}

.admin-product-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 72px !important;
    max-height: 54px !important;
    object-fit: cover !important;
    object-position: center;
}

.admin-product-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.admin-product-name {
    max-width: 100%;
    overflow: hidden;
    color: var(--brand-900);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-product-code {
    display: inline-flex;
    margin-top: 5px;
    padding: 3px 7px;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid #e4e0fb;
    border-radius: 6px;
    color: #61579a;
    background: #f7f5ff;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 8px;
    font-weight: 750;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-product-copy small {
    margin-top: 5px;
    color: var(--text-faint);
    font-size: 8px;
    font-weight: 650;
}

.product-category-label,
.product-version {
    color: #4f566d;
    font-size: 10px;
    font-weight: 720;
}

.product-actions-heading,
.admin-product-actions-cell {
    text-align: right !important;
}

.admin-product-actions {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.admin-product-actions form {
    margin: 0;
}

.admin-product-actions .table-action {
    min-width: 54px;
}

.product-archive-action {
    color: #b42335;
}

.product-archive-action:hover {
    border-color: #f1bdc5;
    color: #a3162a;
    background: #fff5f6;
}

@media (max-width: 720px) {
    .product-page-heading {
        align-items: stretch;
    }

    .product-page-heading .page-actions,
    .product-page-heading .primary-button {
        width: 100%;
    }

    .admin-products-table {
        min-width: 820px;
    }

    .admin-product-main-cell {
        min-width: 300px;
    }
}

/* Product package and freemium controls */
.package-upload-panel{display:grid;gap:14px;padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--gradient-soft)}
.package-upload-panel p{margin:5px 0 0;color:var(--text-soft);font-size:13px}
.package-current{display:grid;gap:4px;padding:13px 15px;border:1px solid rgba(102,86,246,.18);border-radius:12px;background:#fff}
.package-current .badge{width:max-content}.package-current small{color:var(--text-soft)}
.info-strip{padding:13px 15px;border:1px solid #d9d5ff;border-radius:12px;color:#4b3fc2;background:#f6f4ff;font-size:13px}

/* Integration documentation */
.docs-product-picker{min-width:280px}.docs-product-picker label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800}.docs-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.docs-summary-grid article{display:grid;gap:7px;padding:18px}.docs-summary-grid span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.docs-summary-grid strong{color:var(--navy);font-size:17px;word-break:break-word}.docs-callout{margin-bottom:18px;border-left:4px solid #7c3cff;background:linear-gradient(135deg,#faf8ff,#f2edff)}.docs-callout strong{display:block;margin-bottom:6px;color:#4f24a9;font-size:16px}.docs-callout p{margin:0;color:var(--muted);line-height:1.65}.docs-callout-warning{border-left-color:#e19a17;background:#fff9ea}.docs-callout-warning strong{color:#925d00}.docs-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.docs-flow>div{position:relative;padding:18px;border:1px solid var(--border);border-radius:15px;background:#fafbff}.docs-flow span{display:grid;place-items:center;width:31px;height:31px;margin-bottom:11px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#19113e,#5520bb,#8425ec);font-weight:900}.docs-flow strong{display:block;color:var(--navy);font-size:15px}.docs-flow p{margin:7px 0 0;color:var(--muted);line-height:1.55}.docs-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.docs-code-card{min-width:0}.docs-code-card pre{max-height:620px;margin:0;padding:18px;border-radius:14px;background:#17112b;color:#eee7ff;overflow:auto;white-space:pre;tab-size:4}.docs-code-card code{color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.65}.docs-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.docs-field-grid>div{padding:15px;border:1px solid var(--border);border-radius:13px;background:#fafbff}.docs-field-grid code{display:inline-block;margin-bottom:7px;color:#5b25bd;font-weight:800}.docs-field-grid p{margin:0;color:var(--muted);line-height:1.5}.data-table code{color:#5625b8;font-weight:800}
@media(max-width:1100px){.docs-summary-grid,.docs-flow{grid-template-columns:repeat(2,1fr)}.docs-code-grid{grid-template-columns:1fr}.docs-field-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.docs-summary-grid,.docs-flow,.docs-field-grid{grid-template-columns:1fr}.docs-product-picker{width:100%;min-width:0}}

/* Public legal pages — Terms & Privacy */
.public-footer-copy{display:grid;gap:5px}.public-footer-copy small{color:var(--text-faint);font-size:10px}.public-footer-links{display:flex;align-items:center;gap:8px}.public-footer-links a{padding:8px 10px;border-radius:10px;color:var(--text-soft);font-size:11px;font-weight:800;transition:.2s ease}.public-footer-links a:hover{color:var(--indigo);background:#f3efff}

/* Legal page canvas */
.public-main:has(.legal-hero){width:min(1240px,94%)}
.legal-hero{position:relative;isolation:isolate;overflow:hidden;margin:44px 0 30px;padding:clamp(42px,6vw,72px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:center;gap:52px;border:1px solid rgba(94,50,184,.14);border-radius:32px;background:linear-gradient(135deg,#ffffff 0%,#fbf9ff 48%,#f3edff 100%);box-shadow:0 28px 80px rgba(35,18,82,.10)}
.legal-hero:before{content:"";position:absolute;z-index:-1;width:500px;height:500px;right:-210px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(132,37,236,.25),rgba(82,24,185,.08) 48%,transparent 70%)}
.legal-hero:after{content:"";position:absolute;z-index:-1;width:330px;height:330px;left:-190px;bottom:-230px;border-radius:50%;background:radial-gradient(circle,rgba(82,24,185,.15),transparent 68%)}
.legal-hero-copy{position:relative;z-index:2}.legal-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(82,24,185,.15);border-radius:999px;color:#5720b6;background:rgba(255,255,255,.84);box-shadow:0 8px 24px rgba(82,24,185,.06);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.legal-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#5218b9,#8425ec);box-shadow:0 0 0 5px rgba(132,37,236,.08)}
.legal-hero h1{max-width:780px;margin:22px 0 18px;color:var(--brand-900);font-size:clamp(3.2rem,6vw,5.7rem);line-height:.97;letter-spacing:-.062em}.legal-hero-copy>p{max-width:760px;margin:0;color:#60677c;font-size:15px;line-height:1.8}.legal-meta{margin-top:26px;display:inline-flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(82,24,185,.11);border-radius:12px;background:rgba(255,255,255,.74)}.legal-meta span{color:#9196a9;font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.legal-meta strong{color:#2b1a51;font-size:11px}
.legal-hero-card{position:relative;z-index:2;overflow:hidden;padding:28px;display:grid;grid-template-columns:auto 1fr;gap:17px;border:1px solid rgba(255,255,255,.14);border-radius:24px;color:#fff;background:linear-gradient(145deg,#201044 0%,#4b1aa3 55%,#7926df 100%);box-shadow:0 28px 60px rgba(65,25,142,.24)}.legal-hero-card:after{content:"";position:absolute;width:180px;height:180px;right:-85px;bottom:-95px;border-radius:50%;background:rgba(255,255,255,.08)}.legal-card-icon{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.20);border-radius:15px;background:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.15);font-size:20px;font-weight:900}.legal-hero-card>div{position:relative;z-index:1}.legal-hero-card strong{display:block;margin:2px 0 8px;font-size:16px;line-height:1.35}.legal-hero-card p{margin:0;color:#e3daf7;font-size:12px;line-height:1.72}

/* Legal content grid */
.legal-layout{padding:0 0 78px;display:grid;grid-template-columns:270px minmax(0,1fr);align-items:start;gap:30px}.legal-sidebar{position:sticky;top:98px}.legal-sidebar-card{padding:16px;border:1px solid #e7e3f2;border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 18px 46px rgba(31,20,66,.07);backdrop-filter:blur(16px)}.legal-sidebar-card>span{display:flex;align-items:center;gap:8px;padding:7px 9px 13px;color:#888da0;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.legal-sidebar-card>span:before{content:"";width:18px;height:2px;border-radius:99px;background:linear-gradient(90deg,#5218b9,#8425ec)}.legal-sidebar-card a{position:relative;display:block;margin:2px 0;padding:9px 10px 9px 13px;border-radius:10px;color:#62687a;font-size:10.5px;font-weight:760;line-height:1.35;transition:.18s ease}.legal-sidebar-card a:before{content:"";position:absolute;left:0;top:50%;width:3px;height:0;border-radius:99px;background:linear-gradient(#5218b9,#8425ec);transform:translateY(-50%);transition:.18s ease}.legal-sidebar-card a:hover{padding-left:16px;color:#5221ab;background:#f6f2ff}.legal-sidebar-card a:hover:before{height:18px}
.legal-document{min-width:0;display:grid;gap:18px}.legal-intro-note{position:relative;overflow:hidden;margin:0;padding:24px 25px 24px 28px;border:1px solid #ded5f8;border-radius:20px;background:linear-gradient(135deg,#fdfcff,#f7f3ff);box-shadow:0 14px 35px rgba(60,31,121,.055)}.legal-intro-note:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#5218b9,#8425ec)}.legal-intro-note:after{content:"";position:absolute;width:120px;height:120px;right:-55px;top:-65px;border-radius:50%;background:rgba(132,37,236,.06)}.legal-intro-note strong{position:relative;display:block;margin-bottom:8px;color:#29164d;font-size:14px}.legal-intro-note p{position:relative;margin:0;color:#646a7d;font-size:12px;line-height:1.8}

/* Each legal section is its own readable card */
.legal-section{position:relative;margin:0;padding:30px 32px;scroll-margin-top:105px;border:1px solid #e7e8ef;border-radius:22px;background:#fff;box-shadow:0 16px 42px rgba(29,23,61,.055);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.legal-section:hover{border-color:#ddd4f2;box-shadow:0 20px 52px rgba(44,24,89,.075)}.legal-section+.legal-section{border-top:1px solid #e7e8ef}.legal-section-number{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:25px;margin-bottom:13px;padding:0 9px;border:1px solid #e0d8f7;border-radius:999px;color:#6423c4;background:#f8f5ff;font-size:9px;font-weight:900;letter-spacing:.13em}.legal-section h2{margin:0 0 16px;color:#20123f;font-size:clamp(23px,2.7vw,31px);line-height:1.18;letter-spacing:-.035em}.legal-section h3{margin:24px 0 11px;color:#29164d;font-size:16px;line-height:1.4}.legal-section p{margin:0 0 14px;color:#5b6275;font-size:13px;line-height:1.86}.legal-section p:last-child{margin-bottom:0}.legal-section strong{color:#2c1a50}.legal-section ul:not(.legal-check-list){padding-left:20px;color:#5b6275;font-size:13px;line-height:1.8}
.legal-highlight-section{overflow:hidden;padding:32px!important;border:1px solid #d8c9f6!important;background:linear-gradient(145deg,#fff 0%,#faf7ff 54%,#f2ebff 100%);box-shadow:0 20px 50px rgba(82,24,185,.09)}.legal-highlight-section:before{content:"Featured policy";position:absolute;right:20px;top:18px;padding:6px 9px;border:1px solid rgba(82,24,185,.12);border-radius:999px;color:#6525c2;background:rgba(255,255,255,.72);font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.legal-highlight-section h2{max-width:78%}

/* Terms feature cards */
.legal-fact-grid{margin:20px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.legal-fact-grid>div{position:relative;overflow:hidden;padding:20px;border:1px solid #e1daf5;border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(37,24,74,.04)}.legal-fact-grid>div:before{content:"";display:block;width:32px;height:4px;margin-bottom:14px;border-radius:99px;background:linear-gradient(90deg,#5218b9,#8425ec)}.legal-fact-grid strong{display:block;margin-bottom:7px;color:#28164c;font-size:13px}.legal-fact-grid p{margin:0;font-size:11.5px;line-height:1.72}

/* Privacy data cards */
.privacy-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.privacy-data-grid>div{position:relative;padding:20px;border:1px solid #e4e5ee;border-radius:17px;background:linear-gradient(145deg,#fff,#fbfbfe);box-shadow:0 8px 20px rgba(27,22,56,.035)}.privacy-data-grid span{display:inline-flex;margin-bottom:11px;padding:5px 8px;border:1px solid #e2d9f8;border-radius:999px;color:#6122bd;background:#f7f3ff;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.privacy-data-grid strong{display:block;margin-bottom:8px;color:#28164c;font-size:13px}.privacy-data-grid p{margin:0;font-size:11.5px;line-height:1.72}
.legal-check-list{margin:14px 0 22px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none}.legal-check-list li{position:relative;padding:13px 14px 13px 40px;border:1px solid #e4dff1;border-radius:12px;color:#5b6275;background:rgba(255,255,255,.90);font-size:11px;line-height:1.58}.legal-check-list li:before{content:"✓";position:absolute;left:13px;top:12px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#5218b9,#8425ec);box-shadow:0 5px 12px rgba(82,24,185,.20);font-size:9px;font-weight:900}.privacy-do-not-send{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 22px}.privacy-do-not-send span{position:relative;padding:8px 11px 8px 27px;border:1px solid #dde0e8;border-radius:999px;color:#555c70;background:#fff;font-size:9.5px;font-weight:800}.privacy-do-not-send span:before{content:"×";position:absolute;left:9px;top:50%;display:grid;place-items:center;width:13px;height:13px;border-radius:50%;color:#9f1239;background:#fff1f2;font-size:9px;font-weight:900;transform:translateY(-50%)}

@media(max-width:980px){.public-main:has(.legal-hero){width:min(94%,1180px)}.legal-hero{grid-template-columns:1fr;gap:28px}.legal-hero-card{max-width:680px}.legal-layout{grid-template-columns:1fr}.legal-sidebar{position:static}.legal-sidebar-card{display:flex;flex-wrap:wrap;gap:5px;padding:14px}.legal-sidebar-card>span{width:100%;padding-bottom:8px}.legal-sidebar-card a{margin:0;padding:8px 10px;border:1px solid #ece8f7;background:#fbfaff}.legal-sidebar-card a:hover{padding-left:10px}.legal-sidebar-card a:before{display:none}.legal-fact-grid,.privacy-data-grid{grid-template-columns:1fr}}
@media(max-width:720px){.legal-hero{margin:25px 0 20px;padding:31px 24px;border-radius:24px}.legal-hero h1{font-size:clamp(2.75rem,15vw,4.2rem)}.legal-hero-copy>p{font-size:13px;line-height:1.72}.legal-hero-card{padding:21px;border-radius:19px}.legal-layout{gap:18px;padding-bottom:48px}.legal-section{padding:24px 20px;border-radius:18px}.legal-section h2{font-size:24px}.legal-section p{font-size:12.5px}.legal-highlight-section{padding:25px 20px!important}.legal-highlight-section:before{position:static;display:inline-flex;margin-bottom:13px}.legal-highlight-section h2{max-width:none}.legal-check-list{grid-template-columns:1fr}.public-footer-links{justify-content:center}.public-footer-copy{justify-items:center}}
@media(max-width:520px){.legal-hero{padding:27px 19px}.legal-kicker{font-size:8px}.legal-meta{align-items:flex-start;flex-direction:column;gap:4px}.legal-hero-card{grid-template-columns:1fr}.legal-card-icon{width:42px;height:42px}.legal-sidebar-card{max-height:190px;overflow:auto}.legal-sidebar-card a{font-size:9.5px}.legal-section{padding:22px 18px}.privacy-data-grid>div,.legal-fact-grid>div{padding:17px}}
