:root {
    --site-gutter: clamp(18px, 4vw, 48px);
    color-scheme: light;
    --ink: #181818;
    --muted: #696969;
    --soft: #eeeeee;
    --paper: #f7f4ee;
    --panel: #ffffff;
    --line: #d8d8d8;
    --teal: #f28c28;
    --teal-dark: #c45f00;
    --amber: #c58638;
    --charcoal: #111111;
    --shadow: 0 20px 60px rgba(0, 0, 0, .11);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: Inter, "Segoe UI Variable Text", "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
    line-height: 1.5;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: inherit;
}

button,
input,
select,
textarea {
    font: inherit;
}

.app-header {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 72px;
    padding: 12px var(--site-gutter);
    border-bottom: 1px solid rgba(216, 225, 220, .85);
    background: rgba(247, 244, 238, .93);
    backdrop-filter: blur(18px);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    font-weight: 900;
    text-decoration: none;
}

.brand span:last-child {
    display: grid;
    line-height: 1.05;
}

.brand strong {
    color: var(--teal-dark);
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.brand-mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 8px;
    background: var(--charcoal);
    color: #f3fffb;
    font-size: 13px;
    letter-spacing: .04em;
}

nav {
    display: flex;
    align-items: center;
    gap: clamp(12px, 2vw, 26px);
    color: var(--muted);
    font-size: 14px;
    font-weight: 800;
}

nav a {
    text-decoration: none;
}

nav a:hover {
    color: var(--teal-dark);
}

.dashboard-hero {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(280px, 430px);
    gap: clamp(24px, 5vw, 72px);
    padding: clamp(54px, 8vw, 92px) clamp(18px, 4vw, 56px) 28px;
    background:
        linear-gradient(rgba(5, 5, 5, .9), rgba(5, 5, 5, .9)),
        url("dark-grayscale-seamless-tile.png") top left / 220px auto repeat;
    color: #f8fbf7;
}

.eyebrow {
    margin: 0 0 10px;
    color: var(--teal);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dashboard-hero .eyebrow {
    color: #ffb45a;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1 {
    max-width: 850px;
    margin-bottom: 18px;
    font-size: clamp(40px, 5.8vw, 72px);
    line-height: .98;
}

h2 {
    margin-bottom: 10px;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.05;
}

h3 {
    margin-bottom: 8px;
    font-size: 20px;
}

h1,
h2,
h3,
.footer-brand strong {
    font-weight: 700;
    letter-spacing: 0;
    text-transform: lowercase;
}

.hero-copy p:not(.eyebrow) {
    max-width: 720px;
    margin-bottom: 26px;
    color: rgba(248, 251, 247, .78);
    font-size: 19px;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.button,
button {
    min-height: 46px;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 900;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 17px;
    text-decoration: none;
}

.primary,
.submit-button {
    background: var(--teal);
    color: #ffffff;
}

.primary:hover,
.submit-button:hover {
    background: var(--teal-dark);
}

.secondary {
    border: 1px solid rgba(255, 255, 255, .35);
    background: rgba(255, 255, 255, .1);
    color: #ffffff;
}

.secondary:hover {
    background: rgba(255, 255, 255, .18);
}

.site-switcher {
    align-self: end;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 8px;
    background: rgba(8, 13, 14, .58);
    box-shadow: var(--shadow);
}

.status-dot {
    display: inline-block;
    width: 11px;
    height: 11px;
    margin-bottom: 18px;
    border-radius: 50%;
    background: #61d6a8;
    box-shadow: 0 0 0 6px rgba(97, 214, 168, .16);
}

.site-switcher p,
.site-switcher h2 {
    margin-bottom: 6px;
}

.site-switcher p,
.site-switcher strong,
.mini-metrics {
    color: rgba(248, 251, 247, .72);
}

.mini-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.mini-metrics span {
    padding: 7px 9px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
}

.metrics-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    padding: 18px clamp(18px, 4vw, 56px) 28px;
    background: var(--charcoal);
}

.metrics-grid article {
    min-height: 142px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 8px;
    background: rgba(255, 255, 255, .07);
    color: #ffffff;
}

.metrics-grid span {
    color: #ffb45a;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.metrics-grid strong {
    display: block;
    margin-top: 10px;
    font-size: 28px;
}

.metrics-grid p {
    margin: 6px 0 0;
    color: rgba(255, 255, 255, .64);
}

.meter {
    height: 9px;
    margin-top: 18px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, .16);
}

.meter i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--amber);
}

.workbench {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 22px;
    padding: 28px clamp(18px, 4vw, 56px) clamp(48px, 7vw, 88px);
}

.sidebar {
    position: sticky;
    top: 96px;
    align-self: start;
    display: grid;
    gap: 7px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255, 255, 255, .72);
}

.sidebar a {
    padding: 11px 12px;
    border-radius: 7px;
    color: var(--muted);
    font-weight: 850;
    text-decoration: none;
}

.sidebar a:hover,
.sidebar a.active {
    background: var(--charcoal);
    color: #ffffff;
}

.main-panel {
    display: grid;
    gap: 20px;
}

.panel-section,
.panel-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
    box-shadow: 0 10px 30px rgba(17, 24, 25, .05);
}

.panel-section {
    padding: 22px;
}

.section-heading,
.card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.review-badge,
.card-heading span {
    padding: 7px 10px;
    border-radius: 999px;
    background: #edf7f4;
    color: var(--teal-dark);
    font-size: 12px;
    font-weight: 950;
}

.control-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.control-card {
    display: grid;
    min-height: 252px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fbfcfa;
}

.control-card > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 18px;
}

.control-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 8px;
    background: var(--charcoal);
    color: #ffffff;
    font-weight: 950;
}

.control-meta {
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
}

.control-card p,
.muted,
.queue-list p,
.timeline span {
    color: var(--muted);
}

.control-card button,
.text-button {
    align-self: end;
    justify-self: start;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid var(--line);
    background: var(--soft);
    color: var(--ink);
}

.control-card button:hover,
.text-button:hover {
    border-color: var(--teal);
    color: var(--teal-dark);
}

.split-section {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.panel-card {
    padding: 22px;
}

.table-list {
    display: grid;
    gap: 1px;
    margin: 18px 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--line);
}

.table-list div,
.file-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px;
    background: #fbfcfa;
}

.table-list span,
.file-row span {
    color: var(--muted);
}

.file-row {
    margin-top: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0;
}

.pill-row span {
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: #fbfcfa;
    color: var(--muted);
    font-weight: 800;
}

.timeline {
    display: grid;
    gap: 12px;
    margin: 18px 0;
    padding: 0;
    list-style: none;
}

.timeline li {
    display: grid;
    grid-template-columns: 105px 1fr;
    gap: 12px;
}

.queue-card {
    background: #172020;
    color: #ffffff;
}

.queue-card .eyebrow {
    color: #ffb45a;
}

.queue-card .card-heading span {
    background: rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .74);
}

.queue-list {
    display: grid;
    gap: 12px;
}

.queue-list > div {
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 8px;
    background: rgba(255, 255, 255, .06);
}

.queue-state {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 950;
}

.planned {
    background: rgba(197, 134, 56, .18);
    color: #ffd9a6;
}

.working {
    background: rgba(255, 157, 46, .16);
    color: #ffd9a6;
}

.done {
    background: rgba(255, 157, 46, .12);
    color: #ffd9a6;
}

.request-section {
    display: grid;
    grid-template-columns: minmax(260px, .65fr) minmax(320px, 1fr);
    gap: 22px;
    padding-top: 8px;
}

.request-copy {
    padding: 22px 0;
}

.request-copy p:not(.eyebrow) {
    color: var(--muted);
    font-size: 17px;
}

.form-panel {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
    box-shadow: var(--shadow);
}

.success,
.errors {
    margin: 18px 18px 0;
    padding: 16px;
    border-radius: 8px;
}

.member-dashboard {
    background: linear-gradient(rgba(5, 5, 5, .9), rgba(5, 5, 5, .9)), url("dark-grayscale-seamless-tile.png") top left / 220px auto repeat, #111;
    color: #252525;
}

.member-home {
    width: 100%;
    min-height: calc(100vh - 280px);
    margin: 24px 0 0;
    padding: 24px 40px 44px;
    background: #fff;
    font-size: 14px;
}

.member-home a { color: #555; text-decoration: none; }
.member-home a:hover { color: #c58638; text-decoration: underline; }
.member-home a:focus-visible { outline: 2px solid #c58638; outline-offset: 4px; }
.member-home-heading, .member-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.member-home-heading { margin-bottom: 22px; }
.member-home h1 { margin: 0; font-size: 23px; line-height: 1.3; color: #a55c14; }
.member-home h1 i { margin-right: 8px; font-size: 19px; }
.member-home h2 { margin: 0; font-size: 16px; line-height: 1.4; color: #333; }
.member-home h2 i { margin-right: 6px; color: #777; font-size: 14px; }
.member-dashboard-bar .control-tabs-inner { min-height: 30px; }
.member-dashboard-bar a { color: #ddd; font-size: 13px; text-decoration: none; }
.member-dashboard-bar a:hover { color: #ff9d2e; text-decoration: underline; }
.member-home-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 34px; }
.member-tools { padding: 20px 26px 20px 0; border-right: 1px solid #d4d4d4; }
.member-tools h2 { margin-bottom: 18px; }
.member-tools .control-launch { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; width: 128px; aspect-ratio: 1; border: 1px solid #d8d8d8; border-radius: 4px; background: #eee; color: #444; font-size: 14px; font-weight: 500; text-decoration: none; }
.member-tools .control-launch i { color: #a55c14; font-size: 30px; }
.member-tools .control-launch:hover { background: #e3e3e3; color: #a55c14; text-decoration: none; }
.member-tools nav { display: grid; gap: 8px; }
.member-tools nav a {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 10px;
    gap: 10px;
    align-items: center;
    min-height: 48px;
    padding: 10px 12px;
    border-radius: 4px;
    background: #e8e8e8;
    color: #444;
    font-size: 14px;
    font-weight: 500;
}
.member-tools nav a:first-child { background: #303030; color: #f3a348; }
.member-tools nav a:hover { background: #dedede; color: #9b530e; text-decoration: none; }
.member-tools nav a:first-child:hover { background: #202020; color: #ffb969; }
.member-tools nav a > i:last-child { font-size: 10px; }
.member-overview { min-width: 0; background: #fff; padding: 0 26px; }
.member-overview section { padding: 20px 0; }
.member-overview section + section { border-top: 1px solid #ddd; }
.member-resources { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 34px; margin-top: 28px; padding: 0; background: #fff; border-top: 1px solid #d4d4d4; }
.member-resources section { padding: 20px 0; }
.member-resources section:first-child { padding-right: 26px; border-right: 1px solid #d4d4d4; }
.member-resources section + section { padding-left: 26px; }
.member-visits-empty { display: flex; align-items: center; gap: 16px; min-height: 90px; color: #666; }
.member-visits-empty > i { font-size: 28px; color: #888; }
.member-visits-empty p { max-width: 340px; margin: 0; font-size: 14px; }
.member-section-heading { min-height: 32px; margin-bottom: 16px; }
.member-section-heading > span, .member-chart-caption, .member-storage-caption { color: #666; font-size: 13px; }
.member-home .member-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    background: #eee;
    border-radius: 4px;
    font-size: 17px;
}
.member-home .member-icon-button:hover { background: #e4e4e4; }
.member-home .member-site-name { font-size: 20px; margin: 0 0 14px; color: #a55c14; text-transform: none; }
.member-details { margin: 0; }
.member-details > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 5px 0; }
.member-details dt { color: #6b6b6b; }
.member-details dd { margin: 0; overflow-wrap: anywhere; color: #252525; }
.member-details dd a { color: #844a12; }
.member-details dd a:hover { color: #a55c14; }
.member-details dd a i { font-size: 11px; }
.member-site-status { display: inline-flex; align-items: center; gap: 7px; }
.member-site-status i { width: 7px; height: 7px; border-radius: 50%; background: #777; }
.member-site-status.online i { background: #328047; }
.member-site-status.private i { background: #c58638; }
.member-storage-values, .member-storage-caption { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px; }
.member-storage-values { margin-bottom: 12px; }
.member-storage-values strong { font-size: 21px; color: #333; }
.member-storage-values small { font-size: 14px; font-weight: 400; }
.member-storage-values > span { color: #606060; }
.member-storage meter { display: block; appearance: none; width: 100%; height: 8px; margin-bottom: 10px; border: 0; border-radius: 2px; background: #e8e8e8; }
.member-storage meter::-webkit-meter-bar { height: 8px; background: #e8e8e8; border: 0; border-radius: 2px; }
.member-storage meter::-webkit-meter-optimum-value { background: #c58638; border-radius: 2px; }
.member-storage meter::-moz-meter-bar { background: #c58638; }
.member-chart-caption { margin: 8px 0 0; }
.member-activity-chart { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.member-chart-column { display: grid; grid-template-rows: 20px 110px 24px; text-align: center; gap: 5px; }
.member-chart-count { font-size: 12px; color: #555; }
.member-chart-track { display: flex; align-items: end; justify-content: center; background: #f7f7f7; border-bottom: 1px solid #ccc; }
.member-chart-track > span { display: block; background: #c58638; width: 45%; max-width: 32px; border-radius: 2px 2px 0 0; }
.member-chart-date { font-size: 12px; color: #666; }
@media (max-width: 800px) {
    .member-home { padding: 22px 18px 36px; }
    .member-home-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
    .member-tools { padding-right: 14px; }
    .member-overview { padding: 0 18px; }
    .member-resources { gap: 18px; }
    .member-resources section:first-child { padding-right: 14px; }
    .member-resources section + section { padding-left: 18px; }
    .member-details > div { grid-template-columns: 1fr; gap: 2px; padding: 7px 0; }
}
@media (max-width: 600px) {
    .member-home-layout { grid-template-columns: 1fr; gap: 16px; }
    .member-resources { grid-template-columns: 1fr; gap: 0; }
    .member-resources section:first-child { padding-right: 0; border-right: 0; }
    .member-resources section + section { padding-left: 0; border-top: 1px solid #ddd; }
    .member-overview { padding: 0; }
    .member-tools { border: 0; padding: 0; }
    .member-tools nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .member-tools nav a:first-child { grid-column: 1 / -1; }
    .member-tools nav a { grid-template-columns: 18px minmax(0, 1fr); gap: 8px; padding: 10px; }
    .member-tools nav a > i:last-child { display: none; }
    .member-activity-chart { gap: 5px; }
    .member-section-heading { gap: 8px; flex-wrap: wrap; }
}

.success {
    border: 1px solid #a9d8c7;
    background: #edf9f4;
    color: #173d32;
}

.errors {
    border: 1px solid #e2b3a7;
    background: #fff1ed;
    color: #6d251b;
}

.errors ul {
    margin-bottom: 0;
    padding-left: 20px;
}

.success p,
.errors p,
.errors li,
.auth-hero .success p,
.auth-hero .errors p,
.auth-hero .errors li {
    color: inherit !important;
}

.auth-card .success,
.auth-card .errors,
.auth-card .success *,
.auth-card .errors * {
    color: inherit !important;
}

.request-form {
    display: grid;
    gap: 18px;
    padding: 22px;
}

label {
    display: grid;
    gap: 8px;
    color: #3c4948;
    font-size: 14px;
    font-weight: 850;
}

input,
select,
textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--ink);
    font-weight: 500;
    padding: 12px 13px;
}

textarea {
    resize: vertical;
}

input:focus,
select:focus,
textarea:focus {
    outline: 3px solid rgba(22, 125, 120, .18);
    border-color: var(--teal);
}

.field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.submit-button {
    width: 100%;
}

.hidden-field {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.site-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 24px clamp(18px, 4vw, 56px);
    background: var(--charcoal);
    color: rgba(255, 255, 255, .72);
}

.site-footer p {
    margin: 0;
}

.site-footer a {
    color: #ffb45a;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 1080px) {
    .metrics-grid,
    .control-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .workbench,
    .dashboard-hero,
    .request-section {
        grid-template-columns: 1fr;
    }

    .sidebar {
        position: static;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .app-header {
        align-items: flex-start;
        flex-direction: column;
    }

    nav {
        width: 100%;
        justify-content: space-between;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 4px;
        font-size: 13px;
    }

    .metrics-grid,
    .control-grid,
    .split-section,
    .field-grid,
    .sidebar {
        grid-template-columns: 1fr;
    }

    .dashboard-hero {
        padding-top: 42px;
    }

    .table-list div,
    .file-row,
    .section-heading,
    .card-heading,
    .site-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .timeline li {
        grid-template-columns: 1fr;
    }
}

/* Compact dashboard polish for the live /hostr/ control panel. */
body {
    background:
        linear-gradient(180deg, #f5f7f4 0, #f7f4ee 420px),
        var(--paper);
}

.app-header {
    min-height: 64px;
    padding-top: 9px;
    padding-bottom: 9px;
}

.dashboard-hero {
    grid-template-columns: minmax(360px, 1fr) minmax(280px, 360px);
    min-height: auto;
    padding-top: clamp(34px, 5vw, 56px);
    padding-bottom: 24px;
    background:
        linear-gradient(rgba(5, 5, 5, .9), rgba(5, 5, 5, .9)),
        url("dark-grayscale-seamless-tile.png") top left / 220px auto repeat;
}

h1 {
    max-width: 760px;
    font-size: clamp(34px, 4.3vw, 56px);
    letter-spacing: 0;
}

h2 {
    font-size: clamp(23px, 2.4vw, 32px);
    letter-spacing: 0;
}

h3 {
    font-size: 18px;
    letter-spacing: 0;
}

.hero-copy p:not(.eyebrow) {
    max-width: 660px;
    margin-bottom: 20px;
    font-size: 17px;
}

.site-switcher {
    align-self: center;
    padding: 20px;
}

.metrics-grid {
    grid-template-columns: repeat(4, minmax(170px, 1fr));
    padding-top: 14px;
    padding-bottom: 18px;
}

.metrics-grid article {
    min-height: 116px;
    padding: 15px;
}

.metrics-grid strong {
    font-size: 23px;
}

.workbench {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 18px;
    padding-top: 22px;
}

.sidebar {
    top: 86px;
    background: rgba(255, 255, 255, .9);
}

.sidebar a {
    padding: 9px 10px;
    font-size: 14px;
}

.panel-section,
.panel-card {
    box-shadow: 0 8px 22px rgba(17, 24, 25, .045);
}

.panel-section,
.panel-card,
.request-form {
    padding: 18px;
}

.control-grid {
    grid-template-columns: repeat(3, minmax(220px, 1fr));
}

.control-card {
    align-content: start;
    min-height: 214px;
    padding: 15px;
}

.control-card > div:first-child {
    margin-bottom: 12px;
}

.control-icon {
    width: 36px;
    height: 36px;
}

.control-card p {
    margin-bottom: 16px;
    font-size: 14px;
}

.control-card button,
.text-button {
    min-height: 37px;
}

.split-section,
.main-panel {
    gap: 16px;
}

.table-list {
    margin: 14px 0;
}

.queue-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.request-section {
    grid-template-columns: minmax(230px, .55fr) minmax(360px, 1fr);
    gap: 18px;
}

input,
select,
textarea {
    padding: 10px 11px;
}

@media (max-width: 1180px) {
    .metrics-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .control-grid,
    .queue-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .dashboard-hero,
    .workbench,
    .request-section,
    .split-section {
        grid-template-columns: 1fr;
    }

    .sidebar {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .app-header {
        gap: 12px;
    }

    .brand-mark {
        width: 38px;
        height: 38px;
    }

    nav {
        justify-content: flex-start;
    }

    h1 {
        font-size: 34px;
    }

    .dashboard-hero {
        padding-top: 28px;
    }

    .hero-actions .button {
        width: 100%;
    }

    .metrics-grid,
    .control-grid,
    .queue-list,
    .field-grid,
    .sidebar {
        grid-template-columns: 1fr;
    }
}

.public-hero {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(280px, 420px);
    gap: clamp(24px, 5vw, 72px);
    min-height: clamp(560px, 72vh, 720px);
    padding: clamp(54px, 8vw, 92px) clamp(18px, 4vw, 56px);
    background:
        linear-gradient(rgba(5, 5, 5, .9), rgba(5, 5, 5, .9)),
        url("dark-grayscale-seamless-tile.png") top left / 220px auto repeat;
    color: #f8fbf7;
}

.public-hero .eyebrow {
    color: #ffb45a;
}

.public-hero p:not(.eyebrow) {
    max-width: 650px;
    color: rgba(248, 251, 247, .78);
    font-size: 18px;
}

.gateway-panel {
    align-self: center;
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 8px;
    background: rgba(8, 13, 14, .62);
}

.gateway-panel a {
    display: grid;
    gap: 5px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 8px;
    background: rgba(255, 255, 255, .07);
    text-decoration: none;
}

.gateway-panel a:hover {
    border-color: rgba(255, 157, 46, .55);
    background: rgba(255, 255, 255, .11);
}

.gateway-panel strong {
    color: #ffffff;
    font-size: 18px;
}

.gateway-panel span {
    color: rgba(248, 251, 247, .7);
}

.public-section,
.gateway-forms {
    padding: clamp(44px, 7vw, 78px) clamp(18px, 4vw, 56px);
}

.package-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.package-card {
    display: flex;
    min-height: 360px;
    flex-direction: column;
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
    box-shadow: 0 8px 22px rgba(17, 24, 25, .045);
}

.package-card.featured {
    border-color: rgba(22, 125, 120, .55);
    box-shadow: var(--shadow);
}

.price {
    display: block;
    margin-bottom: 12px;
    color: var(--teal-dark);
    font-size: 30px;
}

.package-card p {
    color: var(--muted);
}

.package-card ul {
    display: grid;
    gap: 8px;
    margin: 8px 0 22px;
    padding: 0;
    list-style: none;
}

.package-card li {
    position: relative;
    padding-left: 18px;
    color: #34403f;
}

.package-card li::before {
    position: absolute;
    left: 0;
    color: var(--amber);
    content: "+";
    font-weight: 900;
}

.package-choice {
    width: 100%;
    margin-top: auto;
    border: 1px solid var(--line);
    background: var(--soft);
    color: var(--ink);
}

.package-choice:hover {
    border-color: var(--teal);
    color: var(--teal-dark);
}

.two-packages {
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    max-width: 980px;
}

.package-choice.selected {
    border-color: var(--teal);
    background: var(--teal);
    color: #ffffff;
}

.plan-status {
    max-width: 980px;
    margin: 18px 0 0;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--muted);
    font-weight: 800;
}

.free-flow {
    padding: clamp(44px, 7vw, 78px) clamp(18px, 4vw, 56px);
    border-top: 1px solid var(--line);
    background: #f9faf7;
}

.setup-hero {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(260px, 360px);
    gap: clamp(24px, 5vw, 72px);
    padding: clamp(48px, 7vw, 84px) clamp(18px, 4vw, 56px);
    background:
        linear-gradient(rgba(5, 5, 5, .9), rgba(5, 5, 5, .9)),
        url("dark-grayscale-seamless-tile.png") top left / 220px auto repeat;
    color: #f8fbf7;
}

.setup-hero .eyebrow {
    color: #ffb45a;
}

.setup-hero p:not(.eyebrow) {
    max-width: 680px;
    color: rgba(248, 251, 247, .78);
    font-size: 18px;
}

.setup-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(280px, 420px);
    gap: 18px;
    margin-bottom: 22px;
}

.setup-card,
.account-summary {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
    box-shadow: 0 8px 22px rgba(17, 24, 25, .045);
}

.setup-card {
    padding: 22px;
}

.setup-card p {
    max-width: 760px;
    color: var(--muted);
}

.mini-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 12px;
    align-items: end;
    margin-top: 18px;
}

.mini-form button {
    min-width: 178px;
    padding: 0 15px;
}

.account-summary {
    padding: 22px;
}

.account-summary .status-dot {
    margin-bottom: 14px;
}

.account-summary h3 {
    margin-bottom: 16px;
}

.account-summary dl {
    display: grid;
    gap: 1px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--line);
}

.account-summary div {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 12px;
    padding: 12px;
    background: #fbfcfa;
}

.account-summary dt,
.account-summary dd {
    margin: 0;
}

.account-summary dt {
    color: var(--muted);
    font-weight: 850;
}

.account-summary dd {
    min-width: 0;
    overflow-wrap: anywhere;
    font-weight: 900;
}

.free-console {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    gap: 18px;
    transition: opacity .2s ease;
}

.free-console.is-locked {
    opacity: .42;
    pointer-events: none;
}

.free-sidebar {
    top: 86px;
}

.free-tools {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
}

.free-metrics {
    padding: 0;
    background: transparent;
}

.free-metrics article {
    border-color: var(--line);
    background: var(--charcoal);
}

.tool-card {
    min-height: 235px;
}

.storage-bar {
    height: 9px;
    margin: 2px 0 16px;
    overflow: hidden;
    border-radius: 999px;
    background: #e4ebe7;
}

.storage-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--teal);
}

.control-panel-stage {
    padding: clamp(44px, 7vw, 78px) clamp(18px, 4vw, 56px);
    border-top: 1px solid var(--line);
}

.locked-panel-note {
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid rgba(197, 134, 56, .35);
    border-radius: 8px;
    background: #fff8ea;
    color: #66533a;
    font-weight: 850;
}

.is-hidden {
    display: none;
}

.tool-link {
    align-self: end;
    justify-self: start;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid var(--line);
    background: var(--soft);
    color: var(--ink);
}

.tool-link:hover {
    border-color: var(--teal);
    color: var(--teal-dark);
}

.auth-hero {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 430px);
    gap: clamp(24px, 5vw, 72px);
    min-height: calc(100vh - 64px);
    padding: clamp(48px, 7vw, 84px) clamp(18px, 4vw, 56px);
    background:
        linear-gradient(rgba(5, 5, 5, .9), rgba(5, 5, 5, .9)),
        url("dark-grayscale-seamless-tile.png") top left / 220px auto repeat;
    color: #f8fbf7;
}

.auth-hero .eyebrow {
    color: #ffb45a;
}

.auth-hero p:not(.eyebrow) {
    max-width: 650px;
    color: rgba(248, 251, 247, .78);
    font-size: 18px;
}

.compact-auth {
    min-height: auto;
}

.auth-card {
    align-self: center;
    display: grid;
    gap: 14px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 8px;
    background: rgba(255, 255, 255, .95);
    color: var(--ink);
    box-shadow: var(--shadow);
}

.auth-card h2,
.auth-card p {
    margin-bottom: 0;
}

.auth-card .muted {
    color: var(--muted);
}

.tool-page {
    padding: clamp(32px, 5vw, 56px) clamp(18px, 4vw, 56px);
}

.mini-stack {
    display: grid;
    gap: 14px;
}

.large-meter {
    max-width: 760px;
    height: 14px;
    margin-top: 22px;
}

.public-site-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px clamp(18px, 4vw, 56px);
    border-top: 1px solid rgba(255, 255, 255, .08);
    background: #20302e;
    color: #ffffff;
}

.public-site-strip h2,
.public-site-strip p {
    margin-bottom: 0;
}

.public-site-strip h2 {
    overflow-wrap: anywhere;
}

.public-site-strip p:not(.eyebrow) {
    color: rgba(255, 255, 255, .72);
}

.public-site-strip .eyebrow {
    color: #ffb45a;
}

.site-switcher .mini-metrics a {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 0 12px;
    border: 1px solid rgba(255, 157, 46, .45);
    border-radius: 999px;
    color: #ffb45a;
    font-weight: 900;
    text-decoration: none;
}

.hosted-output {
    color: var(--ink);
}

.hosted-preview-shell {
    display: grid;
    min-height: calc(100vh - 64px);
    place-items: start center;
    padding: clamp(32px, 6vw, 76px) clamp(18px, 4vw, 56px);
    background:
        linear-gradient(180deg, rgba(238, 243, 240, .78), rgba(247, 244, 238, 1)),
        var(--paper);
}

.hosted-preview-panel {
    width: min(100%, 960px);
}

.hosted-output {
    display: grid;
    min-height: 280px;
    align-content: center;
    justify-items: center;
    text-align: center;
}

.hosted-output h1 {
    max-width: 760px;
    font-size: clamp(34px, 5vw, 56px);
}

.hosted-output p {
    max-width: 640px;
    color: var(--muted);
    font-size: 18px;
}

.login-band {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto;
    gap: 24px;
    align-items: center;
    padding: clamp(42px, 7vw, 72px) clamp(18px, 4vw, 56px);
    border-top: 1px solid var(--line);
    background: var(--soft);
}

.login-band p:not(.eyebrow) {
    max-width: 760px;
    color: var(--muted);
    font-size: 17px;
}

.login-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.ghost,
button:disabled {
    cursor: not-allowed;
    border: 1px solid var(--line);
    background: #e7ece8;
    color: #778482;
}

.gateway-forms {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(320px, .9fr);
    gap: 20px;
    background: var(--soft);
}

.form-intro {
    padding: 22px 22px 0;
}

.form-intro p:not(.eyebrow) {
    margin-bottom: 0;
    color: var(--muted);
}

.text-link {
    justify-self: start;
    color: var(--teal-dark);
    font-weight: 900;
}

.floating-errors {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 40;
    display: grid;
    gap: 5px;
    width: min(360px, calc(100% - 36px));
    padding: 14px;
    border: 1px solid #e2b3a7;
    border-radius: 8px;
    background: #fff1ed;
    box-shadow: var(--shadow);
}

@media (max-width: 980px) {
    .public-hero,
    .setup-hero,
    .auth-hero,
    .gateway-forms,
    .package-grid,
    .two-packages,
    .setup-grid,
    .free-console,
    .login-band {
        grid-template-columns: 1fr;
    }

    .public-hero {
        min-height: auto;
    }

    .login-actions {
        justify-content: flex-start;
    }

    .free-sidebar {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .mini-form,
    .free-tools {
        grid-template-columns: 1fr;
    }

    .mini-form button {
        width: 100%;
    }

    .account-summary div {
        grid-template-columns: 1fr;
    }

    .public-site-strip {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Orange, gray, white, and black tiled visual theme. */
:root {
    --ink: #121212;
    --muted: #686868;
    --soft: #f1f1f1;
    --paper: #111111;
    --panel: #ffffff;
    --line: #d6d6d6;
    --teal: #f28c28;
    --teal-dark: #c45f00;
    --amber: #ff9d2e;
    --charcoal: #0a0a0a;
    --shadow: 0 22px 70px rgba(0, 0, 0, .28);
}

body {
    background:
        linear-gradient(rgba(5, 5, 5, .9), rgba(5, 5, 5, .9)),
        url("dark-grayscale-seamless-tile.png") top left / 220px auto repeat,
        #111111;
    color: var(--ink);
}

.app-header {
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    background: rgba(10, 10, 10, .92);
    color: #ffffff;
}

.brand strong,
nav a:hover,
.text-link,
.tool-link:hover {
    color: var(--amber);
}

.brand-mark,
.control-icon,
.sidebar a:hover,
.sidebar a.active {
    background: var(--amber);
    color: #111111;
}

nav {
    color: #d8d8d8;
}

.dashboard-hero,
.public-hero,
.setup-hero,
.auth-hero {
    background:
        linear-gradient(rgba(5, 5, 5, .9), rgba(5, 5, 5, .9)),
        url("dark-grayscale-seamless-tile.png") top left / 220px auto repeat,
        #111111;
    color: #ffffff;
}

.dashboard-hero .eyebrow,
.public-hero .eyebrow,
.setup-hero .eyebrow,
.auth-hero .eyebrow,
.public-site-strip .eyebrow,
.metrics-grid span {
    color: var(--amber);
}

.hero-copy p:not(.eyebrow),
.public-hero p:not(.eyebrow),
.setup-hero p:not(.eyebrow),
.auth-hero p:not(.eyebrow) {
    color: rgba(255, 255, 255, .78);
}

.site-switcher,
.gateway-panel {
    border-color: rgba(242, 140, 40, .35);
    background: rgba(0, 0, 0, .72);
}

.panel-section,
.panel-card,
.package-card,
.form-panel,
.setup-card,
.account-summary,
.auth-card {
    border-color: #d0d0d0;
    background: rgba(255, 255, 255, .96);
    color: var(--ink);
}

.metrics-grid,
.public-site-strip,
.site-footer {
    background: #101010;
}

.metrics-grid article {
    border-color: rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .08);
}

.free-flow,
.gateway-forms,
.login-band,
.hosted-preview-shell {
    background: rgba(241, 241, 241, .94);
}

.control-card,
.table-list div,
.file-row,
.pill-row span {
    background: #ffffff;
}

.primary,
.submit-button,
.package-choice.selected {
    background: var(--amber);
    color: #111111;
}

.primary:hover,
.submit-button:hover {
    background: #ffad49;
    color: #000000;
}

.secondary {
    border-color: rgba(255, 255, 255, .32);
    background: rgba(255, 255, 255, .1);
    color: #ffffff;
}

.review-badge,
.card-heading span {
    background: #fff1e0;
    color: #9c4d00;
}

.meter i,
.storage-bar i {
    background: var(--amber);
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--amber);
    outline-color: rgba(242, 140, 40, .24);
}

.public-home .app-header,
.public-site-header {
    min-height: 46px;
    justify-content: flex-start;
    padding-top: 8px;
    padding-bottom: 8px;
}

.public-home .public-brand,
.public-site-header .public-brand {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    line-height: 1;
}

.public-home .brand-mark,
.public-site-header .brand-mark {
    width: auto;
    height: auto;
    font-size: 12px;
    letter-spacing: 0;
    text-transform: lowercase;
    background: transparent;
    color: var(--amber);
}

.public-home .brand span:last-child,
.public-site-header .brand span:last-child {
    display: inline;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: lowercase;
}

.public-home .public-hero {
    grid-template-columns: minmax(320px, 1fr) minmax(280px, 420px);
    justify-content: stretch;
    gap: clamp(24px, 5vw, 72px);
    min-height: calc(100vh - 50px);
    align-items: start;
    padding-top: clamp(34px, 6vw, 64px);
    padding-bottom: clamp(34px, 6vw, 64px);
}

.home-main {
    max-width: 950px;
}

.public-home .public-hero h1 {
    max-width: none;
    margin: 0 0 12px;
    font-size: 40px;
    line-height: 1.04;
    white-space: nowrap;
}

.public-home .home-intro {
    max-width: 580px;
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: 15px;
}

.home-packages {
    max-width: 830px;
    margin-top: 26px;
    gap: 14px;
}

.home-packages .package-card {
    min-height: 300px;
    padding: 16px;
    background: rgba(255, 255, 255, .97);
    color: var(--ink);
}

.home-packages .package-card h2 {
    margin: 0 0 8px;
    color: var(--ink);
    font-size: clamp(19px, 1.7vw, 24px);
}

.home-packages .price {
    font-size: 25px;
}

.home-packages .package-card p,
.home-packages .package-card li {
    color: var(--muted) !important;
    font-size: 14px;
}

.login-gateway {
    align-self: start;
    padding: 18px;
    background: rgba(255, 255, 255, .97);
    color: var(--ink);
    box-shadow: var(--shadow);
}

.login-gateway form {
    display: grid;
    gap: 11px;
}

.logged-in-row {
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: var(--ink);
    font-size: 13px;
    font-weight: 850;
    white-space: nowrap;
}

.logged-in-row span {
    min-width: 0;
    color: var(--muted) !important;
    overflow: hidden;
    text-overflow: ellipsis;
}

.login-gateway,
.login-gateway h2,
.login-gateway h3,
.login-gateway label,
.login-gateway p,
.login-gateway strong {
    color: var(--ink);
}

.login-gateway .muted,
.login-gateway span {
    color: var(--muted) !important;
}

.login-gateway a,
.login-gateway .text-link,
.logged-in-row a {
    color: var(--amber) !important;
    text-decoration: none;
}

.login-gateway a:hover,
.login-gateway .text-link:hover,
.logged-in-row a:hover {
    color: #9c4d00 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.login-gateway .logged-in-row a {
    display: inline;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--amber) !important;
    font: inherit;
    line-height: inherit;
}

.login-gateway .logged-in-row > a {
    flex: 0 0 auto;
}

.package-card,
.auth-card,
.login-gateway,
.panel-card,
.panel-section,
.form-panel,
.setup-card,
.account-summary {
    color: var(--ink);
}

.package-card a:not(.button),
.auth-card a:not(.button),
.login-gateway a:not(.button),
.panel-card a:not(.button),
.panel-section a:not(.button),
.form-panel a:not(.button),
.setup-card a:not(.button),
.account-summary a:not(.button) {
    color: var(--amber);
}

.package-card a:not(.button):hover,
.auth-card a:not(.button):hover,
.login-gateway a:not(.button):hover,
.panel-card a:not(.button):hover,
.panel-section a:not(.button):hover,
.form-panel a:not(.button):hover,
.setup-card a:not(.button):hover,
.account-summary a:not(.button):hover {
    color: #9c4d00;
}

.login-gateway .eyebrow {
    margin-bottom: 0;
    color: var(--amber);
}

.login-gateway h2 {
    margin: 0 0 2px;
    color: var(--ink);
    font-size: 22px;
}

.login-gateway p:not(.eyebrow),
.login-gateway .muted {
    color: var(--muted);
    font-size: 13px;
}

.login-gateway label {
    color: #202020;
    font-size: 13px;
    font-weight: 800;
}

.login-gateway button {
    width: 100%;
    min-height: 42px;
    padding: 10px 13px;
    font-size: 14px;
}

.login-gateway input {
    padding: 9px 10px;
    font-size: 14px;
}

.site-footer {
    min-height: 160px;
    align-items: flex-start;
    padding-top: 36px;
    padding-bottom: 38px;
}

.footer-brand {
    display: grid;
    gap: 8px;
    max-width: 430px;
}

.footer-brand strong {
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: lowercase;
}

.footer-brand p {
    color: rgba(255, 255, 255, .68);
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px 22px;
    max-width: 540px;
}

.site-footer .footer-links a {
    color: rgba(255, 255, 255, .82);
}

.site-footer .footer-links a:hover {
    color: var(--amber);
}

.control-panel-page {
    display: flex;
    flex-direction: column;
    height: 100dvh;
    overflow: hidden;
}

.control-panel-page main {
    background: transparent;
    width: 100%;
    margin: 0 auto;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.control-panel-page .control-workspace {
    flex: 1;
    min-height: 0;
    grid-template-rows: minmax(0, 1fr);
    background: transparent;
}

.control-panel-page .control-tabs-bar {
    display: none;
}

.control-tabs-inner {
    width: 100%;
    max-width: none;
    margin: 0;
}

.control-workspace {
    width: auto;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
}

.status-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #35c85a;
    box-shadow: 0 0 0 4px rgba(53, 200, 90, .16);
}

.status-value {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 18px;
    font-weight: 950;
    overflow-wrap: anywhere;
}

.screen-reader-title {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.site-status-form {
    display: grid;
    gap: 4px;
}

.status-choice {
    position: relative;
    display: inline-grid;
    grid-template-columns: 8px auto;
    align-items: center;
    justify-content: flex-start;
    column-gap: 8px;
    width: fit-content;
    min-height: 16px;
    padding: 2px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(255, 255, 255, .7);
    font-size: 11px;
    font-weight: 900;
    text-transform: lowercase;
    cursor: pointer;
    line-height: 1.2;
}

.status-choice::before {
    content: "";
    display: block;
    align-self: center;
    justify-self: center;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #777777;
    transform: translateY(1px);
}

.status-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.status-choice .status-dot {
    display: none !important;
}

.status-choice-text {
    display: block;
    align-self: center;
    color: inherit !important;
    font: inherit;
    line-height: 1;
}

.status-choice.active {
    border-color: transparent;
    background: transparent;
    color: #ffffff;
}

.status-choice:hover {
    color: var(--amber);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.status-choice.active .status-dot {
    display: none !important;
}

.status-choice.active::before {
    background: #35c85a;
    box-shadow: 0 0 0 3px rgba(53, 200, 90, .16);
}

.client-url {
    display: block;
    width: fit-content;
    max-width: 100%;
    color: var(--amber);
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.compact-status-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-left: auto;
    min-width: 0;
}

.compact-status-item {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: auto;
    padding-left: 12px;
    border-left: 1px solid rgba(255, 255, 255, .13);
    white-space: nowrap;
}

.compact-status-label {
    color: var(--amber) !important;
    font-size: 10px;
    font-weight: 950;
    font-style: italic;
    line-height: 1;
    text-transform: lowercase;
}

.compact-status-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 180px;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.1;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.compact-current-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

.compact-current-status::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #35c85a;
    box-shadow: 0 0 0 3px rgba(53, 200, 90, .16);
}

.compact-status-link::before {
    content: "";
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #35c85a;
    box-shadow: 0 0 0 3px rgba(53, 200, 90, .16);
}

.compact-status-link:hover {
    color: var(--amber);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.compact-storage strong {
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.1;
}

.compact-storage {
    min-width: auto;
}

.client-url:hover {
    color: #ffb45a;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.storage-lines {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 14px;
    margin: 12px 0 10px;
}

.storage-lines span {
    color: rgba(255, 255, 255, .78);
    font-size: 13px;
    font-weight: 850;
}

.control-tabs-bar {
    min-height: 46px;
    padding: 8px var(--site-gutter);
    background: #202020;
    color: #ffffff;
    box-shadow: var(--shadow);
}

.control-tabs-inner {
    display: flex;
    min-height: 30px;
    transform: translateY(-1px);
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.control-tabs-inner .eyebrow {
    margin: 0 0 2px;
    color: var(--amber);
}

.control-tabs-inner h1 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--amber);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
}

.control-tabs-inner h1 em {
    font-style: italic;
}

.control-tabs-inner h1 span {
    color: #ffffff;
    font-style: normal;
    text-transform: none;
}

.panel-title-icon {
    font-size: 13px;
    width: 22px;
    text-align: left;
}

.panel-title-navigation {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}

.panel-back-link {
    position: absolute;
    left: max(-26px, calc(0px - var(--site-gutter)));
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 14px;
    height: 28px;
    color: #d0d0d0;
    font-size: 14px;
    text-decoration: none;
}

.panel-back-link:hover { color: var(--amber); }
.panel-back-link i { font-size: 10px; }
.panel-back-link:focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }

.control-panel-page { --panel-pane-gutter: clamp(16px, 2.4vw, 28px); }

.control-panel-page .app-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0;
    padding: 0 var(--site-gutter);
    flex-shrink: 0;
}

.control-workspace {
    display: grid;
    grid-template-columns: fit-content(45%) minmax(0, 1fr);
    gap: 0;
    min-height: 520px;
    margin-top: 0;
    margin-bottom: 0;
    border: 0;
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
    overflow: hidden;
}

.workspace-pane > .panel-card,
.workspace-grid {
    margin-top: 16px;
}

.folder-tree {
    --tree-indent: 35px;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    padding: 10px;
    border-right: 1px solid #d8d8d8;
    background: #eeeeee;
}

.tree-root {
    display: block;
    padding: 6px 10px 14px;
    border-bottom: 1px solid #d0d0d0;
    color: #121212;
}

.tree-root strong,
.folder-tree a {
    color: #121212;
    font-size: 13px;
    font-weight: 950;
}

.tree-root small,
.folder-tree small {
    display: block;
    margin-top: 2px;
    color: #686868;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.2;
}

.folder-tree nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: auto;
    overflow: visible;
    gap: 2px;
    margin-left: var(--tree-indent);
    margin-top: 0;
}

.sidebar-account {
    margin: 0 0 10px var(--tree-indent);
    padding: 8px 0 22px;
    overflow-wrap: anywhere;
}

.control-panel-page .folder-tree .sidebar-account h2 {
    margin: 0;
    color: #333;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
    text-transform: none;
}

.control-panel-page .folder-tree .sidebar-account p {
    margin: 3px 0 0;
    color: #686868;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
}

.sidebar-site-list { display: grid; width: auto; max-width: 100%; gap: 2px; }
.control-panel-page .sidebar-site-list a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center;
    gap: 35px;
    min-width: 0;
    padding: 9px 10px 9px 12px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: #444;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}
.control-panel-page .sidebar-site-list a:is(:hover, .active) { color: #666; background: #fff; border-color: #d8d8d8; box-shadow: none; text-decoration: none; }
.control-panel-page .sidebar-site-list .sidebar-site-address { text-decoration: none; }
.control-panel-page .sidebar-site-list a > span { font-size: inherit; color: inherit; }
.control-panel-page .sidebar-site-list a > .sidebar-site-state { font-size: 12px; }
.control-panel-page .sidebar-site-list [data-site-status="online"] > .sidebar-site-state { color: #39744a; }
.control-panel-page .sidebar-site-list [data-site-status="private"] > .sidebar-site-state { color: #5c5c5c; }
.control-panel-page .sidebar-site-list [data-site-status="offline"] > .sidebar-site-state { color: #a34f4f; }
.sidebar-site-address { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidebar-site-state { white-space: nowrap; font-weight: 400; font-style: italic; text-align: right; }
.control-panel-page .sidebar-site-list a:focus-visible { outline-offset: -2px; }

.folder-tree a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 9px 10px 9px 12px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #444;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}

.folder-tree a i {
    width: 22px;
    flex-shrink: 0;
    color: inherit;
    font-size: 14px;
    text-align: left;
}

.folder-tree a > i:first-child {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    flex: 0 0 16px;
    height: 14px;
    color: #777;
    font-size: 12px;
    line-height: 14px;
}

.folder-tree a > span {
    color: inherit;
    text-transform: none;
}

.folder-tree a small {
    color: #686868;
    text-transform: none;
}

.folder-tree a:hover,
.folder-tree a.active {
    border-color: #d8d8d8;
    background: #ffffff;
    color: #666666;
}

.folder-tree a.active {
    box-shadow: none;
}

.folder-tree a > i:last-child {
    width: 10px;
    margin-left: auto;
    font-size: 10px;
}

.folder-tree a:focus-visible { outline: 2px solid #c58638; outline-offset: 2px; }

.sidebar-site-list a.active::before,
.sidebar-site-list a.active ~ a::before,
.sidebar-site-list a.active::after,
.sidebar-account:has([data-site-link].active) + nav > a::before,
.sidebar-account:has([data-site-link].active) + nav > a::after {
    content: '';
    position: absolute;
    left: -11px;
    background: #c5c5c5;
    pointer-events: none;
}

.sidebar-site-list a.active::before,
.sidebar-site-list a.active ~ a::before,
.sidebar-account:has([data-site-link].active) + nav > a::before {
    top: -3px;
    bottom: -1px;
    width: 1px;
    transform: translateX(-50%);
}

.sidebar-site-list a.active::before { top: 50%; }

/* Bridge the space below the site list, then stop at the last branch. */
.sidebar-account:has([data-site-link].active) + nav > a:first-child::before { top: -33px; }
.sidebar-account:has([data-site-link].active) + nav > a:last-child::before { bottom: 50%; }

.sidebar-site-list a.active::after,
.sidebar-account:has([data-site-link].active) + nav > a::after {
    top: 50%;
    width: 10px;
    height: 1px;
    transform: translateY(-50%);
}

.workspace-pane {
    min-width: 0;
    padding: 20px clamp(16px, 2.4vw, 28px) clamp(16px, 2.4vw, 28px);
    background: #ffffff;
}

.workspace-pane-title {
    margin-bottom: 12px;
    padding-left: 5px;
}

.control-panel-page .workspace-pane-title h1 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #555;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
}

.workspace-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.control-workspace .panel-card {
    border: 1px solid #d8d8d8;
    border-radius: 8px;
    background: #ffffff;
    color: #121212;
}

.control-workspace h3 {
    margin: 0;
    color: #121212;
    font-size: 21px;
}

.control-workspace .muted,
.control-workspace p,
.control-workspace label,
.control-workspace span {
    color: #686868;
}

.control-workspace strong {
    color: #121212;
}

.control-workspace .button,
.control-workspace .primary {
    color: #111111;
}

.control-panel-page .workspace-pane {
    font-size: 14px;
    min-height: 0;
    overflow: auto;
    scrollbar-width: thin;
    position: relative;
    overflow-anchor: none;
    background: #fff;
    isolation: isolate;
    padding: 20px var(--panel-pane-gutter) var(--panel-pane-gutter);
}

.control-panel-page .workspace-pane[data-panel-view="files"] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.control-panel-page .workspace-pane[data-panel-view="files"] > :not(.file-explorer) { flex-shrink: 0; }

.control-panel-page .workspace-pane::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: url("dark-grayscale-seamless-tile.png") top left / 220px auto repeat;
    filter: invert(1);
    opacity: .07;
}

.control-panel-page .panel-navigation-message { display: flex; align-items: center; gap: 10px; padding: 8px 0; color: #555; font-size: 13px; }
.control-panel-page .panel-navigation-message button { min-height: 28px; width: 28px; padding: 0; border: 1px solid #ccc; border-radius: 3px; background: #eee; color: #444; }

.control-panel-page .workspace-pane > * {
    max-width: 900px;
}
.control-panel-page .workspace-pane > .success { margin: 0 0 12px; padding: 8px 12px; border: 1px solid #d0d0d0; border-radius: 3px; background: #eee; color: #444; font-size: 13px; }

.control-panel-page .workspace-pane .site-create-card { max-width: 420px; gap: 9px; }
.site-create-label { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; height: 18px; line-height: 18px; }
.control-panel-page .site-create-label [data-new-site-url] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; color: #686868; }
.control-panel-page .site-create-label [data-new-site-status] { font-size: 12px; color: #686868; text-align: right; white-space: nowrap; }
.control-panel-page .site-create-label [data-new-site-status][data-state="available"] { color: #39744a; }
.control-panel-page .site-create-label [data-new-site-status]:is([data-state="unavailable"], [data-state="error"]) { color: #a34f4f; }
.control-panel-page .workspace-pane .site-create-card [data-site-create-error] { margin: 0; color: #a12b21; font-size: 12px; }
.control-panel-page .workspace-pane .site-create-card button:disabled { background: #e2e2e2; color: #888; cursor: default; opacity: 1; }
.site-overview { background: #fff; color: #444; }
.overview-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 18px; padding: 18px; border-bottom: 1px solid #ddd; }
.overview-identity { min-width: 0; flex: 1 1 260px; }
.control-panel-page .site-overview .overview-identity h3 { margin: 0 0 5px; color: #333; font-size: 16px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.overview-identity a { color: #686868; font-size: 12px; overflow-wrap: anywhere; }
.overview-identity a i { margin-left: 6px; font-size: 10px; }
.overview-identity a:hover { color: var(--amber); }
.overview-visibility { display: flex; align-items: flex-end; gap: 8px; margin: 0; }
.overview-visibility fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.overview-visibility legend { padding: 0 0 6px; color: #686868; font-size: 12px; }
.visibility-options { display: flex; border: 1px solid #ccc; border-radius: 3px; overflow: hidden; }
.control-panel-page .overview-visibility label { position: relative; margin: 0; font-size: 12px; font-weight: 500; cursor: pointer; }
.control-panel-page .overview-visibility input[type="radio"] { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; margin: 0; opacity: 0; }
.control-panel-page .overview-visibility label span { display: block; min-width: 61px; padding: 6px 9px; background: #fafafa; color: #555; font-size: 12px; line-height: 18px; text-align: center; }
.overview-visibility label + label { border-left: 1px solid #ccc; }
.control-panel-page .overview-visibility input:checked + span { background: #dedede; color: #111; }
.control-panel-page .overview-visibility input:focus-visible + span { outline: 2px solid var(--amber); outline-offset: -2px; }
.control-panel-page .workspace-pane .overview-visibility > button { width: 32px; height: 32px; min-height: 32px; padding: 0; }
.overview-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.overview-metric { min-width: 0; padding: 18px; }
.overview-metric:nth-child(even) { border-left: 1px solid #e1e1e1; }
.overview-metric:nth-child(n + 3) { border-top: 1px solid #e1e1e1; }
.overview-metric-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 14px; }
.control-panel-page .site-overview .overview-metric-heading h3 { display: flex; align-items: center; gap: 8px; color: #444; font-size: 13px; font-weight: 600; line-height: 1.4; }
.overview-metric-heading h3 i { color: #777; font-size: 12px; }
.overview-metric-heading a { color: #777; font-size: 12px; white-space: nowrap; }
.overview-metric-heading a:hover { color: var(--amber); }
.overview-metric dl { display: grid; gap: 9px; margin: 0; font-size: 13px; }
.overview-metric dl > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.overview-metric dt { color: #777; }
.overview-metric dd { margin: 0; color: #444; text-align: right; overflow-wrap: anywhere; font-weight: 500; }
.overview-storage-meter { display: block; width: 100%; height: 7px; margin-top: 14px; appearance: none; border: 0; border-radius: 2px; background: #eee; }
.overview-storage-meter::-webkit-meter-bar { background: #eee; border: 0; border-radius: 2px; height: 7px; }
.overview-storage-meter::-webkit-meter-optimum-value { background: #c58638; }
.overview-storage-meter::-moz-meter-bar { background: #c58638; }
@media (max-width: 600px) {
    .overview-metrics { grid-template-columns: minmax(0, 1fr); }
    .overview-metric:nth-child(even) { border-left: 0; }
    .overview-metric + .overview-metric { border-top: 1px solid #e1e1e1; }
}

.control-panel-page .workspace-pane-title h1 i {
    color: #777;
    font-size: 14px;
}

.control-panel-page .workspace-grid {
    gap: 10px;
}

.control-panel-page .workspace-pane > .panel-card,
.control-panel-page .workspace-grid {
    margin-top: 0;
}

.control-panel-page .control-workspace .panel-card {
    padding: 14px;
}

.control-panel-page .control-workspace h3 {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0;
}

.control-panel-page .control-workspace p,
.control-panel-page .control-workspace label,
.control-panel-page .control-workspace span,
.control-panel-page .control-workspace small,
.control-panel-page .table-list div {
    font-size: 13px;
}

.control-panel-page .control-workspace input,
.control-panel-page .control-workspace textarea {
    min-height: 36px;
    padding: 8px 10px;
    font-size: 13px;
}

.control-panel-page .control-workspace textarea {
    min-height: 118px;
}

.control-panel-page .control-workspace button,
.control-panel-page .control-workspace .button {
    min-height: 36px;
    padding: 8px 11px;
    font-size: 13px;
}

.control-panel-page .mini-stack,
.control-panel-page .request-form {
    gap: 10px;
}

.db-login-card {
    align-self: start;
}

.database-login-form {
    grid-template-columns: minmax(280px, 420px);
    gap: 8px 10px;
}

.database-stack {
    grid-template-columns: minmax(0, 900px);
    align-items: start;
}

.database-login-form button {
    grid-column: 1 / -1;
    justify-self: start;
}

.db-access-card {
    align-self: start;
}

.database-access-layout {
    display: grid;
    grid-template-columns: max-content auto;
    align-items: start;
    gap: 12px;
}

.db-access-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: -6px -14px 10px;
    padding: 4px 14px;
    border-bottom: 1px solid #d8d8d8;
}

.db-access-heading h3,
.db-login-card h3 {
    margin: 0;
    font-size: 15px;
    font-style: italic;
}

.db-heading-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.database-access-shell {
    display: grid;
    grid-template-columns: max-content minmax(280px, 1fr);
    gap: 18px;
    align-items: start;
}

.database-access-lines {
    display: grid;
    gap: 2px;
    color: #121212;
    font-size: 15px;
}

.database-access-lines div,
.database-access-lines strong,
.database-access-lines span {
    font-size: 13px !important;
}

.database-access-lines strong {
    font-weight: 700;
}

.database-access-line {
    display: grid;
    grid-template-columns: 90px minmax(130px, max-content) 58px;
    align-items: center;
    gap: 12px;
    width: max-content;
    max-width: 100%;
}

.database-row {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.panel-card .database-name-link,
.panel-card .database-name-link:visited {
    color: #686868;
    text-decoration: none;
    text-underline-offset: 3px;
}

.panel-card .database-name-link:hover,
.panel-card .database-name-link.active,
.panel-card .database-name-link.active:visited {
    color: var(--amber) !important;
}

.panel-card .database-name-link:hover,
.panel-card .database-name-link.active {
    text-decoration: underline;
    cursor: pointer;
}

.database-user-divider {
    width: 100%;
    max-width: 330px;
    height: 1px;
    margin: 5px 0;
    background: #d8d8d8;
}

.mock-user {
    color: #686868;
}

.access-ready {
    color: #237b3a !important;
    font-weight: 700;
}

.phpmyadmin-button {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: 7px;
    min-height: 30px;
    padding-top: 6px;
    padding-bottom: 6px;
    transform: none;
}

.database-actions {
    display: grid;
    justify-items: start;
    gap: 6px;
}

.database-control-area {
    display: grid;
    gap: 10px;
    padding-left: 18px;
    border-left: 1px solid #d8d8d8;
}

.database-mode-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    width: max-content;
    max-width: 100%;
}

.database-form-area {
    display: grid;
    gap: 10px;
}

.database-form-heading {
    display: grid;
    gap: 2px;
    margin: 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #d8d8d8;
}

.database-form-area h3 {
    margin: 0;
    color: var(--amber);
    font-size: 18px;
    font-style: normal;
    line-height: 1.1;
}

.database-form-heading p {
    margin: 0;
    color: #686868;
    font-size: 12px;
    font-style: italic;
    font-weight: 700;
    line-height: 1.25;
}

.database-action-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 30px;
    padding: 6px 10px;
    color: #282828;
    border-radius: 4px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
}

.database-action-tab i {
    width: 16px;
    color: var(--amber);
    text-align: center;
}

.database-action-tab:hover,
.database-action-tab.active {
    color: #121212;
    background: #e9e9e9;
}

.control-panel-page .control-workspace .database-window {
    padding: 0;
    border: 0;
    border-radius: 0 0 4px 4px;
    background: #fff;
    color: #333;
    box-shadow: none;
    overflow: hidden;
}

.database-window .db-access-heading {
    min-height: 42px;
    margin: 0;
    padding: 8px 12px;
    background: #eee;
    border-bottom: 1px solid #ccc;
}

.control-panel-page .database-window .db-access-heading h3 {
    color: #444;
    font-size: 13px;
    font-weight: 500;
    font-style: normal;
    line-height: 1.4;
}

.database-window .db-heading-actions {
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    padding: 7px 10px;
    background: #f4f4f4;
    border-bottom: 1px solid #ccc;
}

.control-panel-page .control-workspace .panel-card:not(.database-window) {
    border-color: #c5c5c5;
    border-radius: 0 0 4px 4px;
    background: #fff;
    color: #444;
    box-shadow: none;
}
.control-panel-page .panel-card:not(.database-window) h3 {
    color: #444;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.1;
}
.control-panel-page .panel-card:not(.database-window) p { color: #686868; font-size: 12px; line-height: 1.5; }
.control-panel-page .panel-card:not(.database-window) label { color: #555; font-size: 13px; font-weight: 500; }
.control-panel-page .panel-card:not(.database-window) .table-list strong { color: #555; font-size: 13px; font-weight: 500; }
.control-panel-page .panel-card:not(.database-window) .table-list span { color: #686868; font-size: 13px; font-weight: 400; }
.control-panel-page .panel-card:not(.database-window) input { min-width: 0; min-height: 32px; padding: 6px 8px; border: 1px solid #ccc; border-radius: 3px; background: #fff; color: #333; }
.control-panel-page .panel-card:not(.database-window) .storage-bar { background: #e5e5e5; }

.control-panel-page .control-workspace .panel-card,
.control-panel-page .site-overview,
.control-panel-page .file-explorer {
    border: 1px solid #c5c5c5;
    border-radius: 0 0 4px 4px;
    overflow: hidden;
}

.control-panel-page .control-workspace :is(.site-admin-window, .domain-window, .settings-window) { padding: 0; }
.site-admin-heading, .domain-heading, .settings-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; padding: 12px 14px; background: #f4f4f4; border-bottom: 1px solid #ccc; }
.control-panel-page :is(.site-admin-heading, .domain-heading, .settings-heading) h3 { margin: 0; overflow-wrap: anywhere; }
.control-panel-page :is(.site-admin-heading, .domain-heading, .settings-heading) > span { font-size: 12px; color: #777; }
.site-admin-layout, .domain-layout, .settings-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.site-admin-members, .domain-details, .settings-details { min-width: 0; padding: 10px 14px; }
.site-admin-member { display: grid; grid-template-columns: 18px minmax(0, 1fr) 40px 30px; gap: 8px; align-items: center; min-height: 38px; }
.control-panel-page .site-admin-member > span { font-size: 13px; color: #444; overflow-wrap: anywhere; }
.control-panel-page .site-admin-member > small { font-size: 12px; color: #777; font-style: italic; }
.site-admin-member > i { color: #777; font-size: 13px; }
.control-panel-page .workspace-pane .site-admin-member button { width: 30px; min-height: 30px; padding: 0; background: transparent; color: #666; border: 1px solid transparent; }
.control-panel-page .workspace-pane .site-admin-member button:hover { background: #eee; color: #333; border-color: #ccc; }
.site-admin-controls, .domain-controls, .settings-controls { min-width: 0; padding: 16px; border-left: 1px solid #ddd; }
:is(.site-admin-controls, .domain-controls, .settings-controls) .mini-stack { margin: 0; gap: 12px; }
:is(.site-admin-controls, .domain-controls, .settings-controls) label { display: grid; gap: 6px; }
:is(.site-admin-controls, .domain-controls, .settings-controls) h3 { margin: 0 0 2px; }
.settings-facts { display: block; margin: 0; border: 0; border-radius: 0; background: transparent; }
.control-panel-page .settings-facts > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 12px; padding: 9px 0; background: transparent; }
.settings-facts > div > * { min-width: 0; overflow-wrap: anywhere; }
.settings-links { display: flex; flex-wrap: wrap; gap: 14px; padding: 9px 0; }
.control-panel-page .settings-links a { font-size: 13px; color: #555; }
.control-panel-page .settings-links a:hover { color: var(--amber); }
.settings-controls .storage-bar { margin: 12px 0 0; border-radius: 3px; }
.domain-status { margin: 0; font-size: 13px; }
.domain-status > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: 12px; padding: 9px 0; }
.domain-status dt { color: #555; font-weight: 500; }
.domain-status dd { margin: 0; color: #686868; overflow-wrap: anywhere; }
@media (max-width: 700px) {
    .site-admin-layout, .domain-layout, .settings-layout { grid-template-columns: minmax(0, 1fr); }
    .site-admin-controls, .domain-controls, .settings-controls { border-left: 0; border-top: 1px solid #ddd; }
}
.settings-controls-first { border: 0; }

.control-panel-page .database-window .db-heading-actions a {
    min-height: 30px;
    padding: 5px 8px;
    border: 1px solid transparent;
    border-radius: 3px;
    color: #555;
    background: transparent;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    box-shadow: none;
}

.database-window .db-heading-actions a i { color: #555; }
.control-panel-page .database-window .db-heading-actions a:hover,
.control-panel-page .database-window .db-heading-actions a.active {
    color: #333;
    background: #e2e2e2;
    border-color: #c5c5c5;
}

.control-panel-page .database-window .db-heading-actions .database-action-tab:is(:hover, .active),
.control-panel-page .database-window .db-heading-actions .database-action-tab:is(:hover, .active) > span,
.control-panel-page .database-window .db-heading-actions .database-action-tab:is(:hover, .active) > i {
    color: var(--amber);
}

.control-panel-page .database-window .db-heading-actions .database-action-tab:is(:hover, .active) {
    background: transparent;
    border-color: transparent;
}
.control-panel-page .database-window .db-heading-actions .phpmyadmin-button {
    background: #e2e2e2;
    border-color: #c5c5c5;
}
.control-panel-page .database-window .db-heading-actions .phpmyadmin-button:hover {
    background: var(--amber);
    border-color: var(--amber);
    color: #111;
}
.control-panel-page .database-window .db-heading-actions .phpmyadmin-button:hover i { color: #111; }
.database-window .database-control-area { position: relative; }

.database-window .database-access-shell {
    grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
    gap: 0;
    min-height: 360px;
    align-items: stretch;
}

.database-window .database-access-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 1fr auto;
    align-self: stretch;
    align-items: stretch;
    gap: 0;
    min-width: 0;
    padding: 0;
    background: #fafafa;
}

.database-window .database-access-lines { align-content: start; gap: 0; padding: 12px; font-size: 13px; }
.database-window .database-access-line {
    width: 100%;
    grid-template-columns: 72px minmax(0, 1fr) 52px;
    gap: 8px;
    padding: 1px 0;
    line-height: 1.4;
    color: #444;
    overflow-wrap: anywhere;
}
.database-window .database-access-line strong { font-weight: 500; color: #555; }
.database-window .database-name-link { min-width: 0; font-size: 13px; }
.database-window .database-user-divider { max-width: none; background: #ddd; }
.database-window .database-control-area { min-width: 0; padding: 14px; border-left: 0; }
.database-window .database-form-area { align-content: start; }
.control-panel-page .database-window .database-form-heading h3 { color: #444; font-size: 15px; overflow-wrap: anywhere; }
.control-panel-page .database-window .database-form-heading p { font-size: 12px; font-weight: 400; line-height: 1.5; }
.database-window .database-login-form { grid-template-columns: minmax(0, 420px); margin: 0; padding: 0; }
.database-window .database-login-form label { gap: 5px; font-weight: 500; color: #555; }
.database-window .database-login-form .masked-password { -webkit-text-security: disc; }
.database-window .password-mask-field { position: relative; display: block; min-width: 0; }
.database-window .password-mask-field input { font-kerning: none; font-variant-ligatures: none; }
.database-window .password-mask-field input,
.database-window .password-mask-overlay {
    font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
    font-size: 13px;
    letter-spacing: 0;
}
.control-panel-page .database-window .database-login-form input.password-mask-enhanced {
    -webkit-text-security: none;
    -webkit-text-fill-color: transparent;
    color: transparent;
    caret-color: #333;
}
.control-panel-page .database-window input.password-mask-enhanced::selection { background: #ddd; color: transparent; }
.database-window .password-mask-overlay {
    position: absolute;
    inset: 1px 9px;
    display: flex;
    align-items: center;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
    font-kerning: none;
    font-variant-ligatures: none;
}
.database-window .password-mask-text { flex: none; white-space: pre; }
.control-panel-page .database-window .password-mask-glyph { position: relative; display: inline-block; font: inherit; color: transparent; }
.database-window .password-mask-glyph::after { content: '\2022'; position: absolute; inset: 0; text-align: center; color: #333; }
.control-panel-page .database-window .password-mask-glyph.is-revealed { color: #333; }
.database-window .password-mask-glyph.is-revealed::after { content: none; }
.control-panel-page .database-window .database-login-form input {
    min-width: 0;
    min-height: 32px;
    padding: 6px 8px;
    border: 1px solid #ccc;
    border-radius: 3px;
    background: #fff;
    color: #333;
}
.control-panel-page .workspace-pane form:not(.fe-inline-form) > :is(button.primary, button[type="submit"]) {
    min-height: 30px;
    padding: 5px 8px;
    border: 1px solid #c5c5c5;
    border-radius: 3px;
    background: #e2e2e2;
    color: #555;
    font-size: 13px;
    font-weight: 500;
    box-shadow: none;
    transform: none;
}
.control-panel-page .workspace-pane form:not(.fe-inline-form) > :is(button.primary, button[type="submit"]):hover {
    background: var(--amber);
    border-color: var(--amber);
    color: #111;
}
.control-panel-page .workspace-pane form:not(.fe-inline-form) :is(input, textarea),
.control-panel-page .workspace-pane form:not(.fe-inline-form) :is(input, textarea):hover {
    border-color: #ccc;
    background: #fff;
    box-shadow: none;
    transition: none;
}
.control-panel-page .workspace-pane form:not(.fe-inline-form) :is(input, textarea):focus {
    border-color: #ccc;
    outline: none;
    box-shadow: none;
}
.database-window .db-window-note { margin: 0; padding: 10px 12px; overflow-wrap: anywhere; }
.database-window .db-window-statusbar {
    display: flex;
    margin-top: auto;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    padding: 7px 12px;
    border-top: 0;
    background: #f1f1f1;
    color: #666;
    overflow-wrap: anywhere;
}
.control-panel-page .database-window .db-window-statusbar span { font-size: 12px; }

@media (max-width: 1000px) {
    .database-window .database-access-shell { grid-template-columns: minmax(0, 1fr); }
    .database-window .database-control-area { border-left: 0; border-top: 0; }
}

@media (max-width: 820px) {
    .control-panel-page .control-workspace { grid-template-rows: minmax(0, auto) minmax(0, 1fr); }
    .control-panel-page .folder-tree { max-height: 30dvh; }
    .control-tabs-inner,
    .control-workspace,
    .workspace-grid {
        grid-template-columns: 1fr;
    }

    .control-tabs-inner {
        display: grid;
    }

    .compact-status-row,
    .compact-status-item {
        justify-content: flex-start;
    }

    .compact-status-row {
        flex-wrap: wrap;
        margin-left: 0;
    }

    .folder-tree {
        border-right: 0;
        border-bottom: 1px solid #d8d8d8;
    }

    .status-column {
        min-height: 0;
    }
}

.setup-page .auth-hero {
    grid-template-columns: minmax(280px, 520px) minmax(280px, 380px);
    justify-content: center;
    gap: clamp(22px, 4vw, 44px);
}

.setup-page .auth-hero h1 {
    max-width: 520px;
    font-size: clamp(24px, 3.2vw, 36px);
    line-height: 1.05;
}

.setup-page .auth-hero p:not(.eyebrow) {
    max-width: 470px;
    font-size: 14px;
}

.setup-page .auth-card {
    max-width: 380px;
    gap: 10px;
    padding: 18px;
}

.setup-page.activation-page .auth-hero {
    grid-template-columns: minmax(0, 440px) minmax(0, 360px);
    width: calc(100% - 32px);
    max-width: 900px;
    margin: 48px auto;
    padding: 0;
    gap: 32px;
}

.setup-page.activation-page .auth-hero h1 {
    font-size: 26px;
    line-height: 1.2;
}

.setup-page.activation-page .auth-card {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.setup-page.activation-page .auth-card h2 {
    font-size: 18px;
}

@media (max-width: 700px) {
    .setup-page.activation-page .auth-hero {
        grid-template-columns: minmax(0, 1fr);
        max-width: 440px;
        margin: 28px auto;
        gap: 20px;
    }
    .setup-page.activation-page .auth-card { max-width: none; }
}

.setup-page .auth-card h2 {
    font-size: 22px;
}

.setup-page .auth-card label {
    font-size: 13px;
}

.setup-page .auth-card input {
    min-height: 38px;
    padding: 8px 10px;
    font-size: 14px;
}

.setup-page .auth-card p,
.setup-page .auth-card .muted,
.setup-page .auth-card .signup-status {
    color: var(--ink) !important;
}

.setup-page .auth-card .muted,
.setup-page .auth-card .signup-status,
.setup-page .auth-card .field-subtitle {
    color: var(--muted) !important;
    font-size: 12px;
}

.setup-page .auth-card .signup-status.is-good {
    color: #176232 !important;
}

.setup-page .auth-card .signup-status.is-bad {
    color: #9d3000 !important;
}

.setup-page .auth-card .signup-status.is-checking {
    color: #9c4d00 !important;
}

.setup-page .auth-card button {
    min-height: 40px;
    padding: 9px 12px;
    font-size: 14px;
}

@media (max-width: 700px) {
    .setup-page .auth-hero {
        grid-template-columns: minmax(0, 1fr);
        width: calc(100% - 32px);
        max-width: 440px;
        margin-right: auto;
        margin-left: auto;
        padding-right: 0;
        padding-left: 0;
    }
    .setup-page .auth-card { width: 100%; max-width: none; min-width: 0; box-sizing: border-box; }
}

.signup-form button:disabled {
    border-color: #c8c8c8;
    background: #d1d1d1;
    color: #6f6f6f;
    opacity: .62;
}

.field-subtitle {
    display: block;
    overflow-wrap: anywhere;
    color: var(--muted) !important;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
}

.field-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.field-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.field-title-row .signup-status {
    margin: 0;
    flex: 0 0 auto;
    text-align: right;
    white-space: nowrap;
}

.field-meta-row .signup-status {
    margin: 0;
    flex: 0 0 auto;
    text-align: right;
    white-space: nowrap;
}

.signup-status {
    margin: -4px 0 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
}

.signup-status.is-good {
    color: #176232;
}

.signup-status.is-bad {
    color: #9d3000;
}

.signup-status.is-checking {
    color: #9c4d00;
}

.addon-note {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    color: var(--amber);
    font-size: 13px;
    font-weight: 850;
    text-transform: uppercase;
}

@media (max-width: 980px) {
    .public-home .public-hero {
        min-height: auto;
    }

    .public-home .public-hero h1 {
        font-size: 34px;
    }

    .home-packages {
        grid-template-columns: 1fr;
    }

    .footer-links {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .public-home .public-hero h1 {
        font-size: 28px;
    }
}

@media (max-width: 400px) {
    .public-home .public-hero h1 {
        font-size: 24px;
    }
}

.success {
    border-color: #b8c9b8;
    background: #eef7ee;
    color: #173817;
}

.errors {
    border-color: #e6b17c;
    background: #fff1e3;
    color: #7b3000;
}
