:root {
    --bg: #f4f7f6;
    --bg-soft: #edf3f0;
    --panel: #ffffff;
    --panel-strong: #ffffff;
    --panel-light: #f8fbf9;
    --text: #15231f;
    --muted: #6c7b76;
    --line: #e2e9e6;
    --accent: #13a66a;
    --accent-strong: #08794b;
    --accent-glow: rgba(19, 166, 106, .12);
    --gold: #08794b;
    --danger: #c43d4b;
    --shadow: 0 16px 45px rgba(15, 48, 36, .08);
}

body {
    color: var(--text);
    background:
        radial-gradient(circle at 10% 5%, rgba(19,166,106,.08), transparent 25%),
        linear-gradient(180deg, #f7faf8, #f1f5f3);
}

body::before {
    opacity: .32;
    background-image:
        linear-gradient(rgba(13,121,75,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(13,121,75,.035) 1px, transparent 1px);
}

.panel,
.instance-card {
    border-color: var(--line);
    background: #fff;
    backdrop-filter: none;
}

.brand-mark {
    border-color: #dce8e2;
    background: #f5faf7;
}

.brand-mark__text,
.section-kicker,
.instance-eyebrow,
.metric-label,
.info-card__label,
.message-log-card__label,
.message-log-meta-box__label {
    color: #668078;
}

.eyebrow { color: #08794b; }
label { color: #31463f; }

input,
textarea,
select,
.subscription-inline-form select,
.subscription-inline-form input {
    border-color: #dce6e1;
    color: var(--text);
    background: #fbfdfc;
}

input::placeholder,
textarea::placeholder { color: #94a39e; }

input:focus,
textarea:focus,
select:focus { background: #fff; }

button,
.link-btn {
    color: #fff;
    box-shadow: 0 10px 24px rgba(13, 143, 88, .2);
}

.secondary-btn,
.copy-btn,
.lang-switch,
.back-link {
    border-color: #dce7e2;
    color: #385048;
    background: #f2f6f4;
}

.metric-card,
.info-card,
.message-log-meta-box,
.message-log-card {
    border-color: var(--line);
    background: #f9fbfa;
}

.metric-card--highlight,
.info-card--spotlight {
    border-color: #c8eadb;
    background: linear-gradient(135deg, #e8f8f0, #f5fcf8);
}

.status-pill {
    border-color: #dce7e2;
    color: #566760;
    background: #eef3f1;
}

.status-pill--connected,
.status-pill--authenticated,
.status-pill--sent,
.status-pill--sent_to_engine {
    border-color: #c8eadb;
    color: #08784b;
    background: #e7f8ef;
}

.status-pill--created,
.status-pill--awaiting_qr,
.status-pill--queued {
    border-color: #eedcae;
    color: #94620e;
    background: #fff5da;
}

.status-pill--failed,
.status-pill--auth_failure,
.status-pill--disconnected {
    border-color: #f0ccd1;
    color: #ab3541;
    background: #fff0f2;
}

.qr-box,
.message-log-card__content {
    border-color: #dde8e3;
    color: #25463b;
    background: #f5f9f7;
}

.modal-backdrop { background: rgba(13, 37, 29, .48); }

.modal-card {
    border-color: var(--line);
    color: var(--text);
    background: #fff;
}

.modal-session {
    border-color: var(--line);
    color: var(--text);
    background: #f6f9f8;
}

.subscription-admin-panel {
    padding: 0;
    border-color: #dbe8e2;
    background: #fff;
}

.subscription-admin-head {
    padding: 30px 32px;
    background: radial-gradient(circle at 90% 10%, rgba(19,166,106,.09), transparent 36%);
}

.subscription-admin-stats {
    padding: 22px 32px;
    background: #fafcfb;
}

.subscription-admin-stats div {
    border-color: var(--line);
    background: #fff;
    box-shadow: 0 7px 20px rgba(24,65,50,.04);
}

.subscription-control-grid {
    padding: 28px 32px 32px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.subscription-control-grid article {
    display: flex;
    min-width: 0;
    min-height: 245px;
    padding: 23px;
    flex-direction: column;
    border-color: var(--line);
    background: linear-gradient(145deg, #fff, #f8fbf9);
    box-shadow: 0 10px 28px rgba(24,65,50,.055);
}

.subscription-control-grid article::before { height: 3px; }
.subscription-control-grid p { min-height: 48px; }

.subscription-control-grid .subscription-actions,
.subscription-control-grid .subscription-inline-form { margin-top: auto; }

.subscription-admin-panel .subscription-inline-form {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 8px;
}

.subscription-admin-panel .subscription-actions form { display: block; }

.subscription-control-icon {
    color: #08784b;
    background: #e7f8ef;
}

.subscription-control-card--extend .subscription-control-icon {
    color: #a96e0c;
    background: #fff3d5;
}

.subscription-control-card--security .subscription-control-icon {
    color: #376db6;
    background: #eaf2ff;
}

.subscription-audit > div {
    border-color: var(--line);
    background: #f9fbfa;
}

.subscription-audit span { border-color: var(--line); }

.flash-banner--success {
    border-color: #c7e8d8;
    color: #08784b;
    background: #eaf9f2;
}

.flash-banner--error {
    border-color: #f0ccd1;
    color: #a93440;
    background: #fff0f2;
}

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

@media (max-width: 680px) {
    .subscription-control-grid {
        padding-right: 16px;
        padding-left: 16px;
        grid-template-columns: 1fr;
    }
    .subscription-control-grid article { min-height: 0; }
}

/* Manager workspace refinement */
.admin-home-page,
.admin-instance-page {
    --text: #102a22;
    --muted: #4f635b;
    --line: #c8d5cf;
    --line-strong: #aebfb7;
    --surface-soft: #f4f8f6;
    --surface-green: #eaf6f0;
    --navy-green: #123d31;
    --deep-green: #092d24;
    color: var(--text);
}

.admin-home-page::before,
.admin-instance-page::before { opacity: .45; }

.admin-home-page .panel,
.admin-home-page .instance-card,
.admin-instance-page .panel {
    border: 1px solid var(--line);
    box-shadow: 0 14px 38px rgba(15, 48, 36, .09);
}

.admin-home-page h1,
.admin-home-page h2,
.admin-home-page h3,
.admin-instance-page h1,
.admin-instance-page h2,
.admin-instance-page h3 { color: var(--text); }

.admin-home-page .section-kicker,
.admin-home-page .instance-eyebrow,
.admin-instance-page .section-kicker {
    color: #176e50;
    letter-spacing: .1em;
    font-weight: 800;
}

.admin-home-page .muted,
.admin-home-page .lead,
.admin-home-page .metric-help,
.admin-home-page .feature-item p,
.admin-instance-page .muted { color: var(--muted); }

.admin-home-page .hero-unified {
    position: relative;
    border-color: #aebfb7;
    background:
        radial-gradient(circle at 8% 12%, rgba(22, 151, 99, .12), transparent 25%),
        linear-gradient(145deg, #ffffff, #f1f8f4);
}

.admin-home-page .hero-unified::after {
    position: absolute;
    width: 6px;
    inset: 0 0 0 auto;
    background: linear-gradient(180deg, #0f9c65, #0c5e43);
    content: "";
}

.admin-home-page .metric-card {
    border-color: #b9c9c1;
    background: #fff;
}

.admin-home-page .metric-card--highlight {
    border-color: #75b89d;
    background: linear-gradient(145deg, #dff3e9, #f7fcf9);
}

.admin-home-page .metric-label { color: #456158; font-weight: 800; }
.admin-home-page .metric-value { color: #0c3d2f; }

.admin-home-page .create-panel,
.admin-home-page .info-panel,
.admin-home-page .instances-panel { border-color: #bac9c2; }

.admin-home-page .feature-item {
    border: 1px solid #c5d2cc;
    background: #f7faf8;
}

.admin-home-page .feature-index {
    border: 1px solid #a8cdbd;
    color: #0a6747;
    background: #e3f3eb;
}

.admin-home-page .instance-grid { gap: 18px; }

.admin-home-page .instance-card {
    position: relative;
    overflow: hidden;
    min-height: 210px;
    border-color: #b7c7bf;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.admin-home-page .instance-card::before {
    position: absolute;
    height: 4px;
    inset: 0 0 auto;
    background: linear-gradient(90deg, #0a744e, #33b882);
    content: "";
}

.admin-home-page .instance-card:hover {
    border-color: #7fae9a;
    box-shadow: 0 18px 45px rgba(15, 67, 47, .14);
    transform: translateY(-3px);
}

.admin-home-page .instance-card__top {
    padding-bottom: 18px;
    border-bottom: 1px solid #d4ded9;
}

.admin-home-page .instance-card__top h3 {
    color: #102f26;
    font-size: 22px;
}

.admin-home-page .status-pill,
.admin-instance-page .status-pill {
    border-width: 1px;
    border-style: solid;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: none;
}

.admin-home-page .card-actions--inline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.admin-home-page .card-actions--inline .session-rename-link {
    width: 100%;
    min-height: 50px;
}

.admin-home-page .link-btn,
.admin-instance-page button:not(.secondary-btn):not(.copy-btn) {
    color: #fff;
    background: linear-gradient(135deg, #0d8055, #07563c);
}

.admin-home-page .secondary-btn,
.admin-instance-page .secondary-btn,
.admin-instance-page .copy-btn {
    border: 1px solid #b6c7bf;
    color: #183d31;
    background: #f0f5f2;
    box-shadow: none;
}

.admin-home-page .danger-btn {
    color: #fff;
    background: linear-gradient(135deg, #c94b59, #a83240);
}

/* Instance detail */
.admin-instance-page .detail-shell {
    width: min(1320px, calc(100% - 32px));
    gap: 20px;
}

.admin-instance-page .detail-topbar {
    margin: 0;
    padding: 10px 14px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 8px 24px rgba(15,48,36,.06);
}

.admin-instance-page .back-link {
    min-height: 38px;
    margin: 0;
    padding: 0 12px;
    border-radius: 10px;
    color: #164938;
    background: #edf5f1;
    font-weight: 800;
}

.admin-instance-page .instance-hero {
    overflow: hidden;
    padding: 0;
    border-color: #aebfb7;
    background: #fff;
}

.admin-instance-page .instance-hero__head {
    padding: 28px 30px;
    align-items: center;
    border-bottom: 1px solid #bfcfc7;
    background:
        radial-gradient(circle at 10% 20%, rgba(19,166,106,.12), transparent 30%),
        linear-gradient(135deg, #f8fcfa, #eaf5ef);
}

.admin-instance-page .instance-title-block {
    display: grid;
    gap: 5px;
}

.admin-instance-page .instance-hero__title {
    margin: 0;
    color: #0b3429;
    font-size: clamp(28px, 4vw, 42px);
}

.admin-instance-page .instance-reference {
    color: #536b62;
    direction: rtl;
    font-size: 12px;
    font-weight: 700;
}

.admin-instance-page .instance-hero-actions {
    display: flex;
    min-width: min(100%, 470px);
    align-items: flex-end;
    justify-content: flex-end;
    gap: 12px;
}

.admin-instance-page .instance-rename-form {
    display: grid;
    min-width: min(100%, 350px);
    gap: 6px;
}

.admin-instance-page .instance-rename-form label {
    color: #315249;
    font-size: 12px;
    font-weight: 800;
}

.admin-instance-page .instance-rename-form > div {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) auto;
    gap: 7px;
}

.admin-instance-page .instance-rename-form input {
    height: 44px;
    padding: 0 13px;
    border: 1px solid #aebfb7;
    border-radius: 11px;
    color: #102a22;
    background: #fff;
}

.admin-instance-page .instance-rename-form button {
    min-height: 44px;
    padding: 0 16px;
    border-radius: 11px;
    white-space: nowrap;
}

.admin-instance-page .instance-hero__grid {
    padding: 26px 30px 30px;
    grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
    gap: 20px;
}

.admin-instance-page .instance-summary__cards { gap: 13px; }

.admin-instance-page .info-card {
    min-width: 0;
    min-height: 116px;
    padding: 20px;
    border: 1px solid #b9c9c1;
    border-radius: 16px;
    background: #f7faf8;
    box-shadow: none;
}

.admin-instance-page .info-card--spotlight {
    border-color: #91bfa9;
    background: linear-gradient(135deg, #e3f4eb, #f7fcf9);
}

.admin-instance-page .info-card__label {
    color: #476159;
    font-size: 12px;
    font-weight: 800;
}

.admin-instance-page .info-card__value { color: #0c3428; }

.admin-instance-page .info-card code {
    overflow: hidden;
    color: #123f32;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-instance-page .qr-section--hero {
    padding: 21px;
    border: 1px solid #b6c7bf;
    border-radius: 18px;
    background: #f6f9f7;
}

.admin-instance-page .qr-section__head {
    padding-bottom: 13px;
    border-bottom: 1px solid #cbd7d1;
}

.admin-instance-page .qr-preview {
    min-height: 190px;
    border-color: #9fb5aa;
    color: #3c574e;
    background: #fff;
}

.admin-instance-page .qr-box {
    min-height: 66px;
    border: 1px solid #bdccc5;
    color: #29493e;
    background: #edf3f0;
}

/* Subscriber management */
.admin-instance-page .subscription-admin-panel {
    margin: 0;
    overflow: hidden;
    border-color: #aebfb7;
    background: #fff;
}

.admin-instance-page .subscription-admin-head {
    padding: 26px 30px;
    border-bottom: 1px solid #bfcfc7;
    background: linear-gradient(135deg, #103e31, #092e25);
}

.admin-instance-page .subscriber-identity {
    display: flex;
    align-items: center;
    gap: 14px;
}

.admin-instance-page .subscriber-avatar {
    display: grid;
    width: 52px;
    height: 52px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 15px;
    color: #fff;
    background: rgba(255,255,255,.12);
    font-size: 21px;
    font-weight: 900;
}

.admin-instance-page .subscription-admin-head .section-kicker { color: #8fe0be; }
.admin-instance-page .subscription-admin-head h2 { color: #fff; }
.admin-instance-page .subscription-admin-head p:last-child { color: #c4d9d1; }

.admin-instance-page .subscription-state {
    border-color: rgba(255,255,255,.2);
    box-shadow: 0 5px 18px rgba(0,0,0,.18);
}

.admin-instance-page .subscription-admin-stats {
    padding: 20px 30px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    border-bottom: 1px solid #c8d5cf;
    background: #eef4f1;
}

.admin-instance-page .subscription-admin-stats div {
    min-height: 108px;
    padding: 17px;
    border: 1px solid #b9c8c1;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(21,56,43,.05);
}

.admin-instance-page .subscription-admin-stats div::after {
    width: 4px;
    height: auto;
    inset: 14px auto 14px 0;
    border-radius: 0 5px 5px 0;
    background: #1aa36d;
}

.admin-instance-page .subscription-admin-stats span {
    color: #4c655c;
    font-size: 12px;
    font-weight: 800;
}

.admin-instance-page .subscription-admin-stats strong {
    color: #102f26;
    font-size: 15px;
}

.admin-instance-page .subscription-admin-stats small {
    color: #71847d;
    font-size: 10px;
}

.admin-instance-page .subscription-control-grid {
    padding: 26px 30px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    background: #fff;
}

.admin-instance-page .subscription-control-grid article {
    min-height: 260px;
    padding: 21px;
    border: 1px solid #b9c8c1;
    border-radius: 16px;
    background: #f8faf9;
    box-shadow: 0 9px 24px rgba(21,56,43,.06);
}

.admin-instance-page .subscription-control-grid article::before {
    height: 4px;
    background: #16865c;
}

.admin-instance-page .subscription-control-card--extend::before { background: #bd7b16; }
.admin-instance-page .subscription-control-card--security::before { background: #3e6fae; }

.admin-instance-page .subscription-control-grid h3 {
    color: #16352c;
    font-size: 17px;
}

.admin-instance-page .subscription-control-grid p {
    color: #566b63;
    font-size: 12px;
}

.admin-instance-page .subscription-control-icon {
    border: 1px solid #b8d7c9;
    color: #08734c;
    background: #e3f4eb;
}

.admin-instance-page .subscription-control-card--extend .subscription-control-icon {
    border-color: #e1c995;
    color: #9a610a;
    background: #fff3d8;
}

.admin-instance-page .subscription-control-card--security .subscription-control-icon {
    border-color: #b9cbe3;
    color: #315f9e;
    background: #eaf2fc;
}

.admin-instance-page .subscription-inline-form input,
.admin-instance-page .subscription-inline-form select {
    height: 44px;
    border-color: #aebfb7;
    color: #17382e;
    background: #fff;
}

.admin-instance-page .subscription-btn {
    min-height: 44px;
    box-shadow: 0 8px 18px rgba(14,75,52,.15);
}

.admin-instance-page .subscription-btn--success { background: #0b8557 !important; }
.admin-instance-page .subscription-btn--danger { background: #b83e4c !important; }

.admin-instance-page .renewal-request-banner {
    border-color: #d3b66e;
    box-shadow: 0 8px 22px rgba(126,85,9,.08);
}

.admin-instance-page .subscription-audit {
    padding: 0 30px 30px;
    border-top: 1px solid #c8d5cf;
    background: #f5f8f6;
}

.admin-instance-page .subscription-audit__head {
    display: flex;
    padding: 23px 0 15px;
    align-items: flex-end;
    justify-content: space-between;
    gap: 15px;
}

.admin-instance-page .subscription-audit__head h3 {
    margin: 3px 0 0;
    color: #16352c;
    font-size: 19px;
}

.admin-instance-page .audit-count {
    padding: 7px 11px;
    border: 1px solid #b5c7be;
    border-radius: 999px;
    color: #315249;
    background: #fff;
    font-size: 11px;
    font-weight: 800;
}

.admin-instance-page .subscription-audit-list {
    display: grid;
    overflow: hidden;
    padding: 0;
    border: 1px solid #b9c8c1;
    border-radius: 15px;
    background: #fff;
}

.admin-instance-page .subscription-audit-item {
    display: grid;
    padding: 14px 16px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #d1dcd7;
}

.admin-instance-page .subscription-audit-item:last-child { border-bottom: 0; }
.admin-instance-page .subscription-audit-item:hover { background: #f5f9f7; }

.admin-instance-page .audit-dot {
    width: 9px;
    height: 9px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #159563;
    box-shadow: 0 0 0 3px #d9eee4;
}

.admin-instance-page .subscription-audit-item div {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.admin-instance-page .subscription-audit-item strong {
    color: #17382e;
    font-size: 13px;
}

.admin-instance-page .subscription-audit-item p {
    overflow: hidden;
    margin: 0;
    color: #5c7068;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-instance-page .subscription-audit-item time {
    color: #657b72;
    direction: ltr;
    font-size: 11px;
    white-space: nowrap;
}

.admin-instance-page .flash-banner {
    border-width: 1px;
    border-style: solid;
}

@media (max-width: 1050px) {
    .admin-home-page .card-actions--inline { grid-template-columns: 1fr; }
    .admin-instance-page .instance-hero__head,
    .admin-instance-page .instance-hero-actions { align-items: stretch; flex-direction: column; }
    .admin-instance-page .instance-hero-actions { width: 100%; }
    .admin-instance-page .instance-rename-form { width: 100%; }
    .admin-instance-page .instance-hero__grid { grid-template-columns: 1fr; }
    .admin-instance-page .subscription-admin-stats,
    .admin-instance-page .subscription-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .admin-instance-page .detail-shell { width: min(100% - 18px, 1320px); }
    .admin-instance-page .instance-hero__head,
    .admin-instance-page .instance-hero__grid,
    .admin-instance-page .subscription-admin-head,
    .admin-instance-page .subscription-admin-stats,
    .admin-instance-page .subscription-control-grid,
    .admin-instance-page .subscription-audit { padding-right: 16px; padding-left: 16px; }
    .admin-instance-page .instance-rename-form > div,
    .admin-instance-page .subscription-admin-stats,
    .admin-instance-page .subscription-control-grid { grid-template-columns: 1fr; }
    .admin-instance-page .subscription-audit__head,
    .admin-instance-page .subscription-audit-item { align-items: flex-start; }
    .admin-instance-page .subscription-audit-item { grid-template-columns: auto 1fr; }
    .admin-instance-page .subscription-audit-item time { grid-column: 2; }
    .admin-instance-page .subscription-audit-item p { white-space: normal; }
}
