/* =========================================================
   BYB | BOT PROTECTION PRO MODULAR
   CENTRAL ADMIN STYLESHEET
   File: /bot_protection/assets/css/style.css
   All Core/Admin CSS is maintained here.
   Module-specific CSS remains inside each module directory.
   ========================================================= */

/* =========================================================
   01. GLOBAL ADMIN / HEADER / NAVIGATION / SESSION
   ========================================================= */

:root {
    --byb-dark: #143f49;
    --byb-dark-deep: #0f323a;
    --byb-green: #27a85b;
    --byb-green-soft: #dff3e7;
    --byb-page: #eef3f4;
    --byb-card: #ffffff;
    --byb-text: #263b42;
    --byb-muted: #64748b;
    --byb-border: #d9e3e6;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
}

body {
    min-height: 100vh;
    margin: 0;
    color: var(--byb-text);
    background: var(--byb-page);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
/* =========================================================
   BYB Scroll-to-top Button
   ========================================================= */

.byb-scroll-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    padding: 0;
    margin: 0;

    border: 0;
    border-radius: 50%;

    background: #1e5664;
    color: #ffffff;

    font-size: 26px;
    font-weight: 700;
    line-height: 1;

    cursor: pointer;

    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);

    box-shadow:
        0 6px 18px rgba(0, 0, 0, 0.22);

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease,
        transform 0.2s ease,
        background-color 0.2s ease,
        box-shadow 0.2s ease;
}

.byb-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.byb-scroll-top:hover {
    background: #174a56;

    box-shadow:
        0 8px 22px rgba(0, 0, 0, 0.28);

    transform: translateY(-2px);
}

.byb-scroll-top:active {
    transform: translateY(0);
}

.byb-scroll-top:focus-visible {
    outline: 3px solid rgba(30, 86, 100, 0.32);
    outline-offset: 3px;
}


/* =========================================================
   Mobil
   ========================================================= */

@media (max-width: 768px) {

    .byb-scroll-top {
        right: 16px;
        bottom: 16px;

        width: 44px;
        height: 44px;

        font-size: 24px;
    }

}
.byb-v2-header {
    position: sticky;
    top: 0;
    z-index: 5000;
    color: #fff;
    background: radial-gradient(circle at top left, rgba(39,168,91,.20), transparent 34%), linear-gradient(135deg, var(--byb-dark-deep), var(--byb-dark));
    box-shadow: 0 8px 24px rgba(15,50,58,.18);
}

.byb-v2-header-top, .byb-v2-nav-inner, .byb-admin-main, .byb-v2-footer-inner {
    width: min(1500px, calc(100% - 36px));
    margin: 0 auto;
}

.byb-v2-header-top {
    display: flex;
    min-height: 82px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 13px 0;
}

.byb-v2-brand {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 13px;
    color: #fff;
    text-decoration: none;
}

.byb-v2-brand-logo {
    display: grid;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 15px;
    background: rgba(255,255,255,.10);
}

.byb-v2-brand-logo img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.byb-v2-brand-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.byb-v2-kicker {
    color: rgba(255,255,255,.72);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.byb-v2-title {
    overflow: hidden;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.byb-v2-admin {
    color: #9ee5bb;
}

.byb-v2-tools {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}

.byb-v2-lang select, .byb-v2-logout {
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 11px;
    color: #fff;
    background: rgba(255,255,255,.08);
    font: inherit;
    font-size: 14px;
    font-weight: 750;
}

.byb-v2-lang select {
    min-width: 138px;
    cursor: pointer;
}

.byb-v2-lang option {
    color: #263b42;
    background: #fff;
}

.byb-v2-logout {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    background: rgba(185,55,55,.34);
}

.byb-v2-logout:hover {
    background: rgba(195,48,48,.56);
}

.byb-v2-nav {
    border-top: 1px solid rgba(255,255,255,.09);
    background: rgba(5,27,32,.24);
}

.byb-v2-nav-inner {
    display: flex;
    min-height: 56px;
    align-items: center;
    gap: 7px;
    padding: 8px 0;
}

.byb-v2-nav-link {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    padding: 9px 13px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: rgba(255,255,255,.88);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.byb-v2-nav-link:hover {
    color: #fff;
    background: rgba(255,255,255,.11);
}

.byb-v2-nav-link.is-active {
    color: #113d2a;
    background: #c9f1d9;
    border-color: #c9f1d9;
}

.byb-admin-main {
    min-height: calc(100vh - 238px);
    padding: 34px 0 42px;
}

.byb-page-title {
    margin: 0 0 8px;
    color: var(--byb-dark);
    font-size: clamp(25px, 4vw, 36px);
}

.byb-page-lead {
    margin: 0 0 28px;
    color: var(--byb-muted);
    line-height: 1.65;
}

.byb-session-overlay {
    position: fixed;
    inset: 0;
    z-index: 25000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(8,25,30,.72);
    backdrop-filter: blur(7px);
}

.byb-session-overlay.is-visible {
    display: flex;
}

.byb-session-dialog {
    width: min(520px, 100%);
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(5,25,30,.42);
}

.byb-session-head {
    padding: 27px 29px 18px;
    border-top: 7px solid var(--byb-green);
}

.byb-session-head h2 {
    margin: 0 0 8px;
    color: var(--byb-dark);
}

.byb-session-head p {
    margin: 0;
    color: var(--byb-muted);
    line-height: 1.6;
}

.byb-session-time {
    margin: 0 29px 22px;
    padding: 17px 19px;
    border: 1px solid var(--byb-border);
    border-radius: 15px;
    background: #f4f8f8;
    text-align: center;
}

.byb-session-time strong {
    color: var(--byb-dark);
    font-size: 34px;
}

.byb-session-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 18px 29px 26px;
    border-top: 1px solid var(--byb-border);
    background: #f8fafb;
}

.byb-session-btn {
    min-height: 43px;
    padding: 10px 16px;
    border: 1px solid var(--byb-border);
    border-radius: 11px;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    text-decoration: none;
}

.byb-session-btn-primary {
    color: #fff;
    border-color: #238e4e;
    background: var(--byb-green);
}

.byb-session-btn-secondary {
    color: var(--byb-text);
    background: #fff;
}

/*
         * Die allgemeinen Popup-Stile befinden sich bereits in
         * assets/css/style.css. Diese Ergänzung sperrt zusätzlich die
         * v2-spezifischen Bereiche hinter dem Popup.
         */

/* =========================================================
   BYB LICENSE LOCK POPUP
   ========================================================= */

body.byb-license-locked {
    overflow: hidden !important;
}

body.byb-license-locked .byb-v2-header,
body.byb-license-locked .byb-admin-main,
body.byb-license-locked .byb-v2-footer {
    pointer-events: none;
    user-select: none;
}

.byb-license-lock-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 24px;

    background:
        rgba(7, 29, 34, 0.78);

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

body.byb-license-locked .byb-license-lock-overlay {
    pointer-events: auto;
}

.byb-license-lock-box {
    width: min(100%, 560px);
    max-height: calc(100vh - 48px);

    overflow-y: auto;

    border: 1px solid rgba(255, 255, 255, 0.20);
    border-radius: 22px;

    background: #ffffff;

    box-shadow:
        0 30px 80px rgba(3, 24, 29, 0.42),
        0 10px 30px rgba(3, 24, 29, 0.24);
}

.byb-license-lock-head {
    position: relative;

    padding: 27px 30px 24px;

    color: #ffffff;

    background:
        radial-gradient(
            circle at top left,
            rgba(39, 168, 91, 0.22),
            transparent 45%
        ),
        linear-gradient(
            135deg,
            #0f323a,
            #143f49
        );
}

.byb-license-lock-head::after {
    position: absolute;

    right: 0;
    bottom: 0;
    left: 0;

    height: 4px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #27a85b,
            transparent
        );

    content: "";
}

.byb-license-lock-head h2 {
    margin: 0 0 10px;

    color: #ffffff;

    font-size: 24px;
    font-weight: 850;
    line-height: 1.2;
}

.byb-license-lock-head p {
    margin: 0;

    color: rgba(255, 255, 255, 0.78);

    font-size: 14px;
    line-height: 1.55;
}

.byb-license-lock-body {
    padding: 27px 30px 30px;
}

.byb-license-lock-msg {
    margin: 0 0 18px;
    padding: 12px 14px;

    border-radius: 10px;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.byb-license-lock-msg.error {
    border: 1px solid #efbbbb;
    border-left: 4px solid #b93535;

    color: #842828;
    background: #fff0f0;
}

.byb-license-lock-reason {
    margin: 0 0 22px;
    padding: 14px 16px;

    border: 1px solid #d9e4e6;
    border-left: 4px solid #d39b16;
    border-radius: 11px;

    color: #465c63;
    background: #fff9e8;

    font-size: 14px;
    line-height: 1.65;
}

.byb-license-lock-reason code {
    color: #173f48;

    background: transparent;

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        Monaco,
        Consolas,
        monospace;

    font-size: 13px;
    font-weight: 750;
}

.byb-license-lock-form {
    display: grid;
    gap: 10px;
}

.byb-license-lock-form label {
    color: #304850;

    font-size: 14px;
    font-weight: 800;
}

.byb-license-lock-form input[type="text"] {
    display: block;

    width: 100%;
    height: 50px;

    padding: 0 15px;

    border: 1px solid #d5e0e3;
    border-radius: 11px;

    outline: none;

    color: #20353b;
    background: #f9fbfb;

    font: inherit;
    font-size: 15px;
}

.byb-license-lock-form input[type="text"]:focus {
    border-color: #27a85b;

    background: #ffffff;

    box-shadow:
        0 0 0 4px rgba(39, 168, 91, 0.13);
}

.byb-license-lock-actions {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-top: 8px;
}

.byb-license-lock-btn {
    display: inline-flex;

    min-height: 46px;

    align-items: center;
    justify-content: center;

    padding: 10px 18px;

    border: 1px solid #208c4c;
    border-radius: 10px;

    color: #ffffff;

    background:
        linear-gradient(
            180deg,
            #2ab360,
            #20954f
        );

    box-shadow:
        0 8px 18px rgba(39, 168, 91, 0.22);

    font: inherit;
    font-size: 14px;
    font-weight: 800;

    text-decoration: none;

    cursor: pointer;
}

.byb-license-lock-btn:hover,
.byb-license-lock-btn:focus-visible {
    color: #ffffff;

    background:
        linear-gradient(
            180deg,
            #32bd69,
            #238f4e
        );

    text-decoration: none;
}

.byb-license-lock-logout {
    display: inline-flex;

    min-height: 46px;

    align-items: center;
    justify-content: center;

    padding: 10px 16px;

    border: 1px solid #d5e0e3;
    border-radius: 10px;

    color: #405860;
    background: #ffffff;

    font-size: 14px;
    font-weight: 800;

    text-decoration: none;
}

.byb-license-lock-logout:hover,
.byb-license-lock-logout:focus-visible {
    color: #173f48;
    background: #f3f7f8;
    text-decoration: none;
}

@media (max-width: 600px) {
    .byb-license-lock-overlay {
        align-items: flex-start;

        padding: 16px 12px;
    }

    .byb-license-lock-box {
        max-height: calc(100vh - 32px);

        border-radius: 17px;
    }

    .byb-license-lock-head {
        padding: 22px 21px 20px;
    }

    .byb-license-lock-head h2 {
        font-size: 21px;
    }

    .byb-license-lock-body {
        padding: 22px 21px 24px;
    }

    .byb-license-lock-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .byb-license-lock-btn,
    .byb-license-lock-logout {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .byb-v2-header-top {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px;
    }

    .byb-v2-tools {
        width: 100%;
    }

    .byb-v2-lang {
        flex: 1;
    }

    .byb-v2-lang select {
        width: 100%;
    }

    .byb-v2-nav-inner {
        overflow-x: auto;
    }

}

.byb-session-kicker {
    display: block;
    margin-bottom: 6px;
    color: #278653;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.byb-session-time-label {
    display: block;
    margin-bottom: 6px;
    color: var(--byb-muted);
    font-size: 13px;
    font-weight: 800;
}

.byb-license-lock-btn {
    text-decoration: none;
}

#bybKpiOrderHelp {
    display: none;
}

/* =========================================================
   02. FOOTER
   ========================================================= */

.byb-v2-footer {
    color: #fff;
    background: radial-gradient(circle at top left, rgba(39,168,91,.18), transparent 34%), linear-gradient(135deg, #0f323a, #143f49);
    box-shadow: 0 -8px 24px rgba(15,50,58,.14);
}

.byb-v2-footer-inner {
    display: flex;
    min-height: 82px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 0;
}

.byb-v2-footer-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.byb-v2-footer-brand img {
    width: 38px;
    height: 38px;
}

.byb-v2-footer-copy {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.byb-v2-footer-copy small {
    color: rgba(255,255,255,.70);
}

.byb-v2-footer-status {
    padding: 9px 13px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 11px;
    background: rgba(255,255,255,.08);
    font-size: 12px;
    font-weight: 800;
}

.byb-v2-footer-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 7px;
    border-radius: 50%;
    background: #27a85b;
    box-shadow: 0 0 0 4px rgba(39,168,91,.16);
}

@media (max-width: 700px) {
    .byb-v2-footer-inner {
        align-items: flex-start;
        flex-direction: column;
    }

}

/* =========================================================
   03. LOGIN
   ========================================================= */

body.byb-admin-login-body {
    --byb-dark: #143f49;
    --byb-dark-deep: #0f323a;
    --byb-dark-soft: #1d535e;
    --byb-green: #27a85b;
    --byb-green-dark: #1f8d4c;
    --byb-page: #eef3f4;
    --byb-text: #263b42;
    --byb-border: #d5e0e3;
    --byb-danger: #b93535;
    --byb-danger-bg: #fff0f0;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
}

body.byb-admin-login-body {
    min-height: 100vh;
    margin: 0;
    color: var(--byb-text);
    background: radial-gradient( circle at 12% 14%, rgba(39, 168, 91, 0.24), transparent 30% ), radial-gradient( circle at 88% 84%, rgba(255, 255, 255, 0.11), transparent 28% ), linear-gradient( 135deg, var(--byb-dark-deep) 0%, var(--byb-dark) 58%, var(--byb-dark-soft) 100% );
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.byb-admin-login-page {
    position: relative;
    display: grid;
    min-height: 100vh;
    place-items: center;
    overflow: hidden;
    padding: 32px 20px;
}

.byb-admin-login-page::before, .byb-admin-login-page::after {
    position: fixed;
    z-index: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.byb-admin-login-page::before {
    top: -210px;
    right: -160px;
    width: 520px;
    height: 520px;
}

.byb-admin-login-page::after {
    bottom: -270px;
    left: -190px;
    width: 610px;
    height: 610px;
}

.byb-admin-login-shell {
    position: relative;
    z-index: 1;
    width: min(100%, 460px);
}

.byb-admin-login-card {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 30px 80px rgba(3, 24, 29, 0.36), 0 8px 24px rgba(3, 24, 29, 0.18);
}

.byb-admin-login-head {
    position: relative;
    padding: 30px 34px 26px;
    color: #ffffff;
    background: radial-gradient( circle at top left, rgba(39, 168, 91, 0.26), transparent 45% ), linear-gradient( 135deg, var(--byb-dark-deep), var(--byb-dark) );
    text-align: center;
}

.byb-admin-login-head::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4px;
    background: linear-gradient( 90deg, transparent, var(--byb-green), transparent );
    content: "";
}

.byb-admin-login-logo {
    display: grid;
    width: 76px;
    height: 76px;
    margin: 0 auto 15px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 21px;
    background: rgba(255, 255, 255, 0.10);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 10px 24px rgba(0, 0, 0, 0.16);
}

.byb-admin-login-logo img {
    display: block;
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.byb-admin-login-kicker {
    margin: 0 0 6px;
    color: #a8e9c2;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1.2;
    text-transform: uppercase;
}

.byb-admin-login-title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(25px, 5vw, 32px);
    font-weight: 850;
    line-height: 1.15;
}

.byb-admin-login-subtitle {
    margin: 9px 0 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 14px;
    line-height: 1.5;
}

.byb-admin-login-body {
    padding: 31px 34px 34px;
}

.byb-admin-login-error {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 22px;
    padding: 13px 15px;
    border: 1px solid #f0bcbc;
    border-left: 4px solid var(--byb-danger);
    border-radius: 11px;
    color: #842828;
    background: var(--byb-danger-bg);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.byb-admin-login-form {
    display: grid;
    gap: 20px;
}

.byb-admin-login-field {
    display: grid;
    gap: 8px;
}

.byb-admin-login-label {
    color: #304850;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}

.byb-admin-login-input-wrap {
    position: relative;
}

.byb-admin-login-icon {
    position: absolute;
    top: 50%;
    left: 15px;
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    color: #789097;
    transform: translateY(-50%);
    pointer-events: none;
}

.byb-admin-login-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.byb-admin-login-input {
    display: block;
    width: 100%;
    height: 51px;
    margin: 0;
    padding: 0 15px 0 47px;
    border: 1px solid var(--byb-border);
    border-radius: 12px;
    outline: none;
    color: #20353b;
    background: #f9fbfb;
    box-shadow: inset 0 1px 2px rgba(22, 54, 61, 0.04);
    font: inherit;
    font-size: 15px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.byb-admin-login-input:hover {
    border-color: #b8c9cd;
    background: #ffffff;
}

.byb-admin-login-input:focus {
    border-color: var(--byb-green);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(39, 168, 91, 0.13), inset 0 1px 2px rgba(22, 54, 61, 0.03);
}

.byb-admin-login-input:focus + .byb-admin-login-icon {
    color: var(--byb-green-dark);
}

.byb-admin-login-submit {
    display: inline-flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 4px 0 0;
    padding: 12px 20px;
    border: 1px solid #244f58;
    border-radius: 12px;
    color: #ffffff;
    background: linear-gradient( 180deg, #1c4d57, #123a43 );
    box-shadow: 0 10px 20px rgba(15, 50, 58, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.10);
    font: inherit;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.2;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.byb-admin-login-submit:hover {
    border-color: #356773;
    background: linear-gradient( 180deg, #245a65, #17444d );
    box-shadow: 0 13px 25px rgba(15, 50, 58, 0.30), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    transform: translateY(-1px);
}

.byb-admin-login-submit:active {
    background: linear-gradient( 180deg, #123a43, #0f323a );
    box-shadow: 0 7px 15px rgba(15, 50, 58, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    transform: translateY(0);
}

.byb-admin-login-submit:focus-visible {
    outline: 3px solid rgba(39, 168, 91, 0.24);
    outline-offset: 3px;
}

.byb-admin-login-submit svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
}

.byb-admin-login-footer {
    margin: 17px 0 0;
    color: rgba(255, 255, 255, 0.66);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.4;
    text-align: center;
}

.byb-admin-login-language {
    display: grid;
    gap: 8px;
    margin: 0 0 22px;
}

.byb-admin-login-language select {
    display: block;
    width: 100%;
    height: 47px;
    margin: 0;
    padding: 0 40px 0 14px;
    border: 1px solid var(--byb-border);
    border-radius: 12px;
    outline: none;
    color: #20353b;
    background: #f9fbfb;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.byb-admin-login-language select:focus {
    border-color: var(--byb-green);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(39, 168, 91, 0.13);
}

.byb-admin-login-demo {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 22px;
    padding: 13px 15px;
    border: 1px solid #ecd48a;
    border-left: 4px solid #d39b16;
    border-radius: 11px;
    color: #946200;
    background: #fff8df;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.byb-admin-login-reset {
    margin: 20px 0 0;
    text-align: center;
}

.byb-admin-login-reset a {
    color: #1c6259;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
}

.byb-admin-login-reset a:hover, .byb-admin-login-reset a:focus-visible {
    color: #134d45;
    text-decoration: underline;
}

@media (max-width: 520px) {
    .byb-admin-login-page {
        align-items: start;
        padding: 18px 12px;
    }

    .byb-admin-login-card {
        border-radius: 18px;
    }

    .byb-admin-login-head {
        padding: 24px 22px 22px;
    }

    .byb-admin-login-body {
        padding: 25px 22px 27px;
    }

    .byb-admin-login-logo {
        width: 68px;
        height: 68px;
        border-radius: 18px;
    }

    .byb-admin-login-logo img {
        width: 52px;
        height: 52px;
    }

}

/* =========================================================
   BYB | BOT PROTECTION PRO MODULAR v2.0.0
   INSTALLATION
   Für: /bot_protection/admin/install.php

   Einfügen in:
   /bot_protection/assets/css/style.css

   Kein zusätzliches CSS-File in install.php erforderlich.
   ========================================================= */


/* =========================================================
   INSTALLER – BASIS
   ========================================================= */

body.byb-install-body {
    --byb-install-dark: var(--byb-dark, #143f49);
    --byb-install-dark-deep: var(--byb-dark-deep, #0f323a);
    --byb-install-green: var(--byb-green, #27a85b);
    --byb-install-green-dark: #1f8d4c;
    --byb-install-green-soft: #e8f6ed;

    --byb-install-page: var(--byb-page, #eef3f4);
    --byb-install-card: #ffffff;
    --byb-install-text: var(--byb-text, #263b42);
    --byb-install-muted: var(--byb-muted, #64748b);
    --byb-install-border: var(--byb-border, #d9e3e6);

    --byb-install-danger: #b93535;
    --byb-install-danger-dark: #8f2929;
    --byb-install-danger-bg: #fff1f1;
    --byb-install-danger-border: #efc2c2;

    --byb-install-warning: #8a6100;
    --byb-install-warning-bg: #fff8df;
    --byb-install-warning-border: #ead79a;

    min-height: 100vh;
    margin: 0;
    color: var(--byb-install-text);
    background:
        radial-gradient(
            circle at 8% 4%,
            rgba(39, 168, 91, .09),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            #f6f9f9 0%,
            var(--byb-install-page) 42%,
            #e8eef0 100%
        );
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Arial,
        sans-serif;
}


/* =========================================================
   INSTALLER – SEITENRAHMEN
   ========================================================= */

.byb-install-page {
    position: relative;
    width: min(1380px, calc(100% - 40px));
    margin: 0 auto;
    padding: 34px 0 50px;
}


/* =========================================================
   INSTALLER – SPRACHE
   ========================================================= */

.byb-install-language {
    position: absolute;
    top: 52px;
    right: 22px;
    z-index: 10;
    margin: 0;
}

.byb-install-language select {
    min-width: 132px;
    min-height: 40px;
    padding: 8px 36px 8px 12px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    outline: none;
    color: #ffffff;
    background-color: rgba(255, 255, 255, .10);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition:
        border-color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease;
}

.byb-install-language select:hover,
.byb-install-language select:focus {
    border-color: rgba(255, 255, 255, .34);
    background-color: rgba(255, 255, 255, .16);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .07);
}

.byb-install-language option {
    color: var(--byb-install-text);
    background: #ffffff;
}


/* =========================================================
   INSTALLER – HERO
   ========================================================= */

.byb-install-hero {
    position: relative;
    display: flex;
    min-height: 174px;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    overflow: hidden;
    margin-bottom: 24px;
    padding: 34px 190px 34px 38px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 18px;
    color: #ffffff;
    background:
        radial-gradient(
            circle at 88% 14%,
            rgba(39, 168, 91, .36),
            transparent 30%
        ),
        radial-gradient(
            circle at 8% 86%,
            rgba(255, 255, 255, .06),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            var(--byb-install-dark-deep) 0%,
            var(--byb-install-dark) 72%,
            #1a4b55 100%
        );
    box-shadow: 0 16px 38px rgba(15, 50, 58, .20);
}

.byb-install-hero::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 170px;
    height: 5px;
    border-radius: 0 0 8px 0;
    background: var(--byb-install-green);
}

.byb-install-hero::after {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -90px;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    pointer-events: none;
}

.byb-install-hero-copy {
    position: relative;
    z-index: 2;
    max-width: 780px;
}

.byb-install-kicker {
    display: inline-flex;
    margin-bottom: 10px;
    color: #9fe2ba;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.byb-install-hero h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(27px, 4vw, 38px);
    font-weight: 850;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.byb-install-hero p {
    max-width: 700px;
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: 15px;
    line-height: 1.65;
}

.byb-install-version {
    position: absolute;
    right: 32px;
    bottom: 30px;
    z-index: 2;
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 10px;
    color: #dff4e7;
    background: rgba(255, 255, 255, .08);
    font-size: 13px;
    font-weight: 800;
    backdrop-filter: blur(5px);
}


/* =========================================================
   INSTALLER – HAUPTLAYOUT
   ========================================================= */

.byb-install-layout {
    display: grid;
    grid-template-columns:
        minmax(330px, .86fr)
        minmax(500px, 1.34fr);
    align-items: start;
    gap: 22px;
}


/* =========================================================
   INSTALLER – KARTEN
   ========================================================= */

.byb-install-card {
    overflow: hidden;
    border: 1px solid var(--byb-install-border);
    border-radius: 16px;
    background: var(--byb-install-card);
    box-shadow: 0 10px 28px rgba(26, 57, 66, .07);
}

.byb-install-card-head {
    padding: 22px 24px 18px;
    border-bottom: 1px solid #e5ecee;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfcfc 100%
        );
}

.byb-install-card-head h2 {
    margin: 0;
    color: var(--byb-install-dark);
    font-size: 19px;
    font-weight: 850;
    line-height: 1.25;
}

.byb-install-card-head p {
    margin: 7px 0 0;
    color: var(--byb-install-muted);
    font-size: 13px;
    line-height: 1.6;
}

.byb-install-card-body {
    padding: 22px 24px 24px;
}


/* =========================================================
   INSTALLER – SYSTEMPRÜFUNG
   ========================================================= */

.byb-install-requirements {
    display: grid;
    gap: 10px;
}

.byb-install-requirement {
    display: flex;
    min-height: 62px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 14px;
    border: 1px solid #e1e9eb;
    border-radius: 11px;
    background: #f9fbfb;
}

.byb-install-requirement > div {
    min-width: 0;
}

.byb-install-requirement strong {
    display: block;
    overflow-wrap: anywhere;
    color: #32484f;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
}

.byb-install-requirement small {
    display: block;
    margin-top: 3px;
    overflow-wrap: anywhere;
    color: var(--byb-install-muted);
    font-size: 11px;
    line-height: 1.45;
}


/* =========================================================
   INSTALLER – STATUS-BADGES
   ========================================================= */

.byb-install-badge {
    display: inline-flex;
    min-width: 86px;
    min-height: 30px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 5px 9px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .02em;
    text-align: center;
}

.byb-install-badge.ok {
    border-color: #b9dfc8;
    color: #176d3a;
    background: var(--byb-install-green-soft);
}

.byb-install-badge.fail {
    border-color: var(--byb-install-danger-border);
    color: var(--byb-install-danger-dark);
    background: var(--byb-install-danger-bg);
}

.byb-install-badge.recommended {
    border-color: var(--byb-install-warning-border);
    color: var(--byb-install-warning);
    background: var(--byb-install-warning-bg);
}


/* =========================================================
   INSTALLER – MELDUNGEN
   ========================================================= */

.byb-install-alert {
    margin: 0 0 20px;
    padding: 13px 15px;
    border: 1px solid var(--byb-install-border);
    border-left-width: 5px;
    border-radius: 11px;
    background: #ffffff;
    font-size: 12px;
    line-height: 1.6;
}

.byb-install-alert strong {
    font-weight: 850;
}

.byb-install-alert.error {
    border-color: var(--byb-install-danger-border);
    border-left-color: var(--byb-install-danger);
    color: #7c2424;
    background: var(--byb-install-danger-bg);
}

.byb-install-alert.warning {
    border-color: var(--byb-install-warning-border);
    border-left-color: #c59116;
    color: #6f5207;
    background: var(--byb-install-warning-bg);
}

.byb-install-alert ul {
    margin: 8px 0 0;
    padding-left: 20px;
}


/* =========================================================
   INSTALLER – FORMULAR
   ========================================================= */

.byb-install-form {
    margin: 0;
}

.byb-install-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px 18px;
}

.byb-install-field {
    min-width: 0;
}

.byb-install-field.full {
    grid-column: 1 / -1;
}

.byb-install-field label {
    display: block;
    margin-bottom: 7px;
    color: #334a51;
    font-size: 12px;
    font-weight: 800;
}

.byb-install-input,
.byb-install-select {
    width: 100%;
    min-height: 44px;
    padding: 9px 11px;
    border: 1px solid var(--byb-install-border);
    border-radius: 10px;
    outline: none;
    color: var(--byb-install-text);
    background: #ffffff;
    font: inherit;
    font-size: 13px;
    transition:
        border-color .17s ease,
        box-shadow .17s ease,
        background-color .17s ease;
}

.byb-install-select {
    cursor: pointer;
}

.byb-install-input:hover,
.byb-install-select:hover {
    border-color: #b9cacc;
}

.byb-install-input:focus,
.byb-install-select:focus {
    border-color: var(--byb-install-green);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(39, 168, 91, .12);
}

.byb-install-input:disabled,
.byb-install-select:disabled {
    cursor: not-allowed;
    opacity: .68;
    background: #f1f4f5;
}

.byb-install-help {
    margin: 6px 0 0;
    color: var(--byb-install-muted);
    font-size: 11px;
    line-height: 1.5;
}


/* =========================================================
   INSTALLER – DEBUG-SCHALTER
   ========================================================= */

.byb-install-switch {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 13px 14px;
    border: 1px solid #e0e8ea;
    border-radius: 11px;
    background: #f8fafb;
}

.byb-install-switch input {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    margin: 2px 0 0;
    accent-color: var(--byb-install-green);
    cursor: pointer;
}

.byb-install-switch label {
    margin: 0;
    cursor: pointer;
}

.byb-install-switch label strong {
    display: block;
    color: #32484f;
    font-size: 12px;
    font-weight: 800;
}

.byb-install-switch .byb-install-help {
    display: block;
    margin-top: 3px;
}


/* =========================================================
   INSTALLER – BUTTON
   ========================================================= */

.byb-install-button {
    display: inline-flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    margin-top: 4px;
    padding: 10px 18px;
    border: 1px solid var(--byb-install-green-dark);
    border-radius: 11px;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--byb-install-green),
            var(--byb-install-green-dark)
        );
    box-shadow: 0 8px 18px rgba(31, 141, 76, .18);
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        filter .16s ease;
}

.byb-install-button:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 11px 22px rgba(31, 141, 76, .24);
    filter: brightness(1.02);
}

.byb-install-button:active:not(:disabled) {
    transform: translateY(0);
}

.byb-install-button:disabled {
    border-color: #b9c4c7;
    color: #748187;
    background: #dfe5e7;
    box-shadow: none;
    cursor: not-allowed;
}


/* =========================================================
   INSTALLER – HONEYPOT
   ========================================================= */

.byb-install-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* =========================================================
   INSTALLER – ERFOLG
   ========================================================= */

.byb-install-success {
    width: min(820px, 100%);
    margin: 0 auto;
    padding: 34px 36px;
    border: 1px solid #c8e5d3;
    border-top: 5px solid var(--byb-install-green);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(25, 67, 46, .10);
    text-align: center;
}

.byb-install-success-icon {
    display: grid;
    width: 58px;
    height: 58px;
    margin: 0 auto 16px;
    place-items: center;
    border-radius: 50%;
    color: #ffffff;
    background: var(--byb-install-green);
    box-shadow: 0 8px 20px rgba(39, 168, 91, .22);
    font-size: 26px;
    font-weight: 900;
}

.byb-install-success h2 {
    margin: 0;
    color: var(--byb-install-dark);
    font-size: 24px;
    font-weight: 850;
}

.byb-install-success > p {
    max-width: 650px;
    margin: 10px auto 0;
    color: var(--byb-install-muted);
    font-size: 13px;
    line-height: 1.65;
}

.byb-install-success-list {
    display: grid;
    gap: 9px;
    margin: 24px 0;
    text-align: left;
}

.byb-install-success-list div {
    padding: 11px 13px;
    border: 1px solid #dce8e0;
    border-radius: 10px;
    color: #3e535a;
    background: #f8fbf9;
    font-size: 12px;
    line-height: 1.55;
}

.byb-install-login {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border: 1px solid var(--byb-install-dark);
    border-radius: 10px;
    color: #ffffff;
    background: var(--byb-install-dark);
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
    transition:
        transform .16s ease,
        background-color .16s ease,
        box-shadow .16s ease;
}

.byb-install-login:hover {
    transform: translateY(-1px);
    color: #ffffff;
    background: var(--byb-install-dark-deep);
    box-shadow: 0 8px 18px rgba(15, 50, 58, .18);
}


/* =========================================================
   INSTALLER – RESPONSIVE
   ========================================================= */

@media (max-width: 1080px) {
    .byb-install-layout {
        grid-template-columns: 1fr;
    }

    .byb-install-hero {
        padding-right: 190px;
    }
}

@media (max-width: 720px) {
    .byb-install-page {
        width: min(100% - 24px, 1380px);
        padding: 16px 0 30px;
    }

    .byb-install-language {
        position: relative;
        top: auto;
        right: auto;
        display: flex;
        justify-content: flex-end;
        margin-bottom: 10px;
    }

    .byb-install-language select {
        min-width: 128px;
        border-color: var(--byb-install-border);
        color: var(--byb-install-text);
        background: #ffffff;
    }

    .byb-install-hero {
        min-height: 0;
        margin-bottom: 16px;
        padding: 26px 22px 62px;
        border-radius: 14px;
    }

    .byb-install-hero h1 {
        font-size: 27px;
    }

    .byb-install-hero p {
        font-size: 13px;
    }

    .byb-install-version {
        right: auto;
        bottom: 16px;
        left: 22px;
    }

    .byb-install-grid {
        grid-template-columns: 1fr;
    }

    .byb-install-field.full {
        grid-column: auto;
    }

    .byb-install-card {
        border-radius: 13px;
    }

    .byb-install-card-head,
    .byb-install-card-body {
        padding-right: 17px;
        padding-left: 17px;
    }

    .byb-install-requirement {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .byb-install-badge {
        min-width: 0;
    }

    .byb-install-success {
        padding: 27px 20px;
        border-radius: 13px;
    }
}

@media (max-width: 420px) {
    .byb-install-page {
        width: min(100% - 16px, 1380px);
    }

    .byb-install-hero {
        padding-right: 18px;
        padding-left: 18px;
    }

    .byb-install-version {
        left: 18px;
    }
}

.byb-sales-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 22px;
    padding: 27px 30px;
    border-radius: 21px;
    color: #fff;
    background: radial-gradient(circle at 88% 14%,rgba(39,168,91,.34),transparent 33%),linear-gradient(135deg,var(--d2),var(--d));
    box-shadow: 0 18px 42px rgba(15,50,58,.18)
}

.byb-sales-hero:after {
    position: absolute;
    right: -75px;
    bottom: -120px;
    width: 290px;
    height: 290px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 50%;
    content: ""
}

.byb-sales-hero-copy,.byb-sales-status {
    position: relative;
    z-index: 1
}

.byb-sales-kicker {
    display: block;
    margin-bottom: 8px;
    color: #a8e9c2;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase
}

.byb-sales-hero h1 {
    margin: 0 0 8px;
    color: #fff;
    font-size: clamp(29px,4vw,41px);
    font-weight: 900
}

.byb-sales-hero p {
    max-width: 820px;
    margin: 0;
    color: rgba(255,255,255,.8);
    line-height: 1.65
}

.byb-sales-status {
    display: grid;
    gap: 5px;
    min-width: 190px;
    padding: 14px 16px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 14px;
    background: rgba(255,255,255,.10)
}

.byb-sales-status small {
    color: rgba(255,255,255,.68);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase
}

.byb-sales-status strong {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #fff;
    font-size: 14px
}

.byb-sales-status strong:before {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #37d477;
    box-shadow: 0 0 0 5px rgba(55,212,119,.15);
    content: ""
}

.byb-sales-notice {
    margin: 0 0 20px;
    padding: 14px 16px;
    border: 1px solid #cce9d8;
    border-left: 6px solid var(--g);
    border-radius: 13px;
    color: #166534;
    background: #effbf3;
    font-weight: 700
}

.byb-sales-notice.warn {
    color: #854d0e;
    border-color: #f4d28f;
    border-left-color: var(--a);
    background: #fff8e8
}

.byb-sales-grid {
    display: grid;
    grid-template-columns: repeat(12,minmax(0,1fr));
    gap: 17px
}

.byb-sales-card {
    position: relative;
    overflow: hidden;
    min-width: 0;
    padding: 21px;
    border: 1px solid var(--bd);
    border-radius: 17px;
    background: #fff;
    box-shadow: var(--sh)
}

.byb-sales-card:before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: #b8c7cc;
    content: ""
}

.byb-sales-system {
    grid-column: span 6
}

.byb-sales-system:before {
    background: linear-gradient(90deg,var(--g),#34c779)
}

.byb-sales-version,.byb-sales-modules {
    grid-column: span 3
}

.byb-sales-version:before {
    background: var(--b)
}

.byb-sales-modules:before {
    background: #7c3aed
}

.byb-sales-updates,.byb-sales-session {
    grid-column: span 6
}

.byb-sales-updates:before {
    background: var(--a)
}

.byb-sales-session:before {
    background: #0891b2
}

.byb-sales-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 15px
}

.byb-sales-head h2 {
    margin: 0;
    color: var(--d);
    font-size: 18px;
    font-weight: 900
}

.byb-sales-icon {
    display: grid;
    width: 39px;
    height: 39px;
    place-items: center;
    border-radius: 11px;
    color: var(--d);
    background: #edf5f4;
    font-size: 17px;
    font-weight: 900
}

.byb-sales-system-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px
}

.byb-sales-status-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none
}

.byb-sales-status-list li {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 11px;
    border: 1px solid #e1e8ea;
    border-radius: 10px;
    color: #475569;
    background: #f9fbfb;
    font-size: 12px;
    line-height: 1.4
}

.byb-sales-dot {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%
}

.byb-sales-dot.ok {
    background: var(--g);
    box-shadow: 0 0 0 4px rgba(39,168,91,.12)
}

.byb-sales-dot.pending {
    background: var(--a);
    box-shadow: 0 0 0 4px rgba(245,158,11,.12)
}

.byb-sales-clock {
    position: relative;
    overflow: hidden;
    display: grid;
    width: 100%;
    max-width: 270px;
    min-height: 138px;
    align-content: center;
    justify-items: center;
    justify-self: end;
    padding: 13px 14px;
    border-radius: 13px;
    color: #fff;
    background: radial-gradient(circle at 85% 10%,rgba(64,211,128,.22),transparent 38%),linear-gradient(145deg,#103f48,#0d3038);
    text-align: center
}

.byb-sales-clock:after {
    position: absolute;
    right: -35px;
    bottom: -50px;
    width: 125px;
    height: 125px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 50%;
    content: ""
}

.byb-sales-clock-label,.byb-sales-clock-value,.byb-sales-clock-zone {
    position: relative;
    z-index: 1
}

.byb-sales-clock-label {
    margin-bottom: 5px;
    color: rgba(255,255,255,.62);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase
}

.byb-sales-clock-value {
    display: block;
    width: 100%;
    color: #fff;
    font-family: Consolas,"Liberation Mono",monospace;
    font-size: clamp(18px,2vw,27px);
    font-variant-numeric: tabular-nums;
    font-weight: 900;
    line-height: 1.14;
    overflow-wrap: anywhere;
    transition: opacity .25s,transform .25s
}

.byb-sales-clock-value.change {
    opacity: 0;
    transform: translateY(5px)
}

.byb-sales-clock-zone {
    margin-top: 7px;
    color: #a8e9c2;
    font-size: 10px;
    font-weight: 750
}

.byb-sales-value {
    margin: 0 0 6px;
    color: var(--d);
    font-size: 29px;
    font-weight: 900;
    line-height: 1.15
}

.byb-sales-label {
    color: var(--m);
    font-size: 12px;
    line-height: 1.55
}

.byb-sales-meta {
    display: grid;
    gap: 8px;
    margin-top: 15px
}

.byb-sales-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-top: 8px;
    border-top: 1px solid #e6edef;
    color: var(--m);
    font-size: 11px
}

.byb-sales-meta-row strong {
    color: var(--t)
}

.byb-sales-action {
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    margin-top: 15px;
    padding: 8px 13px;
    border: 1px solid #cbd8dc;
    border-radius: 9px;
    color: var(--byb-dark);
    background: #f8fbfb;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
    transition:
        color .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.byb-sales-action:hover,
.byb-sales-action:focus-visible {
    color: #ffffff;
    border-color: var(--byb-dark);
    background: var(--byb-dark);
    text-decoration: none;
    box-shadow: 0 7px 16px rgba(20, 63, 73, .16);
    transform: translateY(-1px);
}
/* =========================================================
   05. DASHBOARD / KPI CAROUSEL
   ========================================================= */
.byb-kpi-order-bar {
    display: flex;
    min-height: 38px;
    align-items: center;
    gap: 10px;
    margin: 0 0 8px;
    padding: 0 48px
}

.byb-kpi-order-icon {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #cbd8dc;
    border-radius: 10px;
    color: var(--byb-dark);
    background: #fff;
    font: inherit;
    font-size: 17px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 5px 14px rgba(15,50,58,.07);
    transition: transform .16s ease,color .16s ease,background .16s ease,border-color .16s ease
}

.byb-kpi-order-icon:hover,
.byb-kpi-order-icon.is-active {
    color: #fff;
    border-color: var(--byb-dark);
    background: var(--byb-dark);
    transform: translateY(-1px)
}

.byb-kpi-order-help {
    color: var(--m);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.45
}

.byb-kpi-save-status {
    margin-left: auto;
    color: var(--m);
    font-size: 12px;
    font-weight: 850
}

.byb-kpi-save-status.ok {
    color: #15803d
}

.byb-kpi-save-status.err {
    color: #b91c1c
}

.byb-kpi-carousel-wrap {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) 38px;
    gap: 10px;
    align-items: stretch;
    margin: 0 0 22px
}

.byb-kpi-nav2 {
    display: grid;
    width: 38px;
    min-height: 190px;
    place-items: center;
    align-self: stretch;
    border: 1px solid rgba(18,63,73,.14);
    border-radius: 13px;
    color: rgba(18,63,73,.58);
    background: rgba(255,255,255,.26);
    font: inherit;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
    opacity: .48;
    backdrop-filter: blur(2px);
    transition: opacity .18s ease,transform .18s ease,color .18s ease,background .18s ease,border-color .18s ease
}

.byb-kpi-nav2:hover:not(.is-hidden) {
    color: rgba(18,63,73,.88);
    background: rgba(255,255,255,.58);
    border-color: rgba(18,63,73,.24);
    opacity: .82;
    transform: translateY(-1px)
}

.byb-kpi-nav2:focus-visible {
    outline: 3px solid rgba(37,99,235,.16);
    outline-offset: 2px;
    opacity: .9
}

.byb-kpi-nav2.is-hidden {
    pointer-events: none;
    opacity: .12
}

.byb-kpi-carousel {
    display: flex;
    gap: 14px;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain
}

.byb-kpi-carousel::-webkit-scrollbar {
    display: none
}

.byb-kpi-slide {
    position: relative;
    overflow: hidden;
    display: flex;
    flex: 0 0 calc((100% - 28px)/3);
    min-width: 270px;
    min-height: 190px;
    flex-direction: column;
    padding: 17px 18px 16px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 16px;
    color: #fff;
    box-shadow: 0 12px 28px rgba(15,50,58,.17);
    scroll-snap-align: start;
    transition: transform .18s ease,opacity .18s ease,box-shadow .18s ease
}

.byb-kpi-slide::after {
    position: absolute;
    right: -48px;
    bottom: -65px;
    width: 160px;
    height: 160px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 50%;
    content: "";
    pointer-events: none
}

.byb-kpi-slide:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(15,50,58,.21)
}

.byb-kpi-slide.kpi-teal {
    background: radial-gradient(circle at 88% 13%,rgba(74,222,128,.28),transparent 34%),linear-gradient(145deg,#0d4c54,#0f6a68)
}

.byb-kpi-slide.kpi-blue {
    background: radial-gradient(circle at 88% 13%,rgba(147,197,253,.30),transparent 34%),linear-gradient(145deg,#1e3a8a,#2563a9)
}

.byb-kpi-slide.kpi-violet {
    background: radial-gradient(circle at 88% 13%,rgba(216,180,254,.28),transparent 34%),linear-gradient(145deg,#4c1d95,#6d28a8)
}

.byb-kpi-slide.kpi-darkred {
    background: radial-gradient(circle at 88% 13%,rgba(252,165,165,.24),transparent 34%),linear-gradient(145deg,#7f1d1d,#b4232f)
}

.byb-kpi-slide.kpi-amber {
    background: radial-gradient(circle at 88% 13%,rgba(253,230,138,.27),transparent 34%),linear-gradient(145deg,#92400e,#c26813)
}

.byb-kpi-slide.kpi-slate {
    background: radial-gradient(circle at 88% 13%,rgba(203,213,225,.23),transparent 34%),linear-gradient(145deg,#334155,#526370)
}

.byb-kpi-label {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 25px;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.35
}

.byb-kpi-link {
    min-width: 0;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap
}

.byb-kpi-link:hover {
    text-decoration: underline
}

.byb-kpi-hr {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 1px;
    margin: 10px 0 12px;
    border: 0;
    background: rgba(255,255,255,.24)
}

.byb-kpi-value {
    position: relative;
    z-index: 1;
    margin: 0 0 10px;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.3;
    overflow-wrap: anywhere
}

.byb-kpi-value.byb-status-ok {
    color: #d7ffe5
}

.byb-kpi-value.byb-status-warn {
    color: #ffe5e5
}

.byb-kpi-sub {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 7px;
    margin-top: auto;
    color: rgba(255,255,255,.91);
    font-size: 11px;
    line-height: 1.4
}

.byb-live-line {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 8px
}

.byb-live-line .txt {
    min-width: 0;
    overflow-wrap: anywhere
}

.byb-live-line strong {
    color: #fff
}

.bp-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    margin-top: 3px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(255,255,255,.10)
}

.dot-green {
    background: #4ade80
}

.dot-red {
    background: #fb7185
}

.dot-amber {
    background: #fbbf24
}

.dot-blue {
    background: #60a5fa
}

.dot-violet {
    background: #c084fc
}

.dot-white {
    background: #fff
}

.byb-kpi-sort-mode .byb-kpi-slide {
    cursor: grab;
    outline: 2px dashed rgba(255,255,255,.48);
    outline-offset: -7px
}

.byb-kpi-sort-mode .byb-kpi-slide:active {
    cursor: grabbing
}

.byb-kpi-slide.dragging {
    opacity: .38;
    transform: scale(.98)
}

.byb-kpi-slide.drag-over-left {
    box-shadow: -7px 0 0 #fff,0 16px 32px rgba(15,50,58,.21)
}

.byb-dashboard-module-empty {
    margin: 0 0 22px;
    padding: 22px;
    border: 1px solid var(--bd);
    border-radius: 16px;
    color: var(--m);
    background: #fff;
    box-shadow: var(--sh)
}

.byb-sales-next {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 20px;
    padding: 18px 20px;
    border: 1px solid #cfdfe4;
    border-radius: 16px;
    background: linear-gradient(135deg,#f8fbfc,#edf6f3)
}

.byb-sales-next strong {
    display: block;
    margin-bottom: 5px;
    color: var(--d)
}

.byb-sales-next span {
    color: var(--m);
    line-height: 1.55
}

.byb-sales-next a {
    display: inline-flex;
    flex: 0 0 auto;
    min-height: 41px;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 10px;
    color: #fff;
    background: var(--d);
    font-size: 12px;
    font-weight: 850;
    text-decoration: none
}

@media(max-width:1120px) {
    .byb-sales-system {
        grid-column: span 12
    }

    .byb-sales-version,.byb-sales-modules,.byb-sales-updates,.byb-sales-session {
        grid-column: span 6
    }

    .byb-kpi-slide {
        flex-basis: calc((100% - 14px)/2)
    }

}

@media(max-width:760px) {
    .byb-sales-hero {
        align-items: flex-start;
        flex-direction: column;
        padding: 23px 21px
    }

    .byb-sales-status {
        width: 100%
    }

    .byb-sales-system-layout,.byb-sales-status-list {
        grid-template-columns: 1fr
    }

    .byb-sales-version,.byb-sales-modules,.byb-sales-updates,.byb-sales-session {
        grid-column: span 12
    }

    .byb-sales-next {
        align-items: stretch;
        flex-direction: column
    }

    .byb-sales-next a {
        width: 100%
    }

    .byb-kpi-order-bar {
        padding: 0
    }

    .byb-kpi-carousel-wrap {
        grid-template-columns: 32px minmax(0,1fr) 32px;
        gap: 6px
    }

    .byb-kpi-nav2 {
        width: 32px;
        min-height: 184px;
        font-size: 20px
    }

    .byb-kpi-slide {
        flex-basis: 92%;
        min-width: 245px;
        min-height: 184px
    }

}

/* =========================================================
   06. MODULE MANAGER
   ========================================================= */

.byb-modules-page, .byb-modules-page * {
    box-sizing: border-box;
}

.byb-modules-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 22px;
    padding: 25px 27px;
    border-radius: 20px;
    color: #ffffff;
    background: radial-gradient(circle at top right, rgba(39,168,91,.30), transparent 38%), linear-gradient(135deg, #0f323a, #1e4957);
    box-shadow: 0 15px 35px rgba(15,50,58,.20);
}

.byb-modules-hero::after {
    position: absolute;
    right: -65px;
    bottom: -105px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    content: "";
}

.byb-modules-hero h1 {
    position: relative;
    z-index: 1;
    margin: 0 0 8px;
    color: #ffffff;
    font-size: clamp(27px, 4vw, 38px);
}

.byb-modules-hero p {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin: 0;
    color: rgba(255,255,255,.82);
    line-height: 1.65;
}

.byb-modules-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.byb-modules-status-card {
    min-width: 0;
    padding: 16px 17px;
    border: 1px solid #d9e3e6;
    border-left: 6px solid #1e4957;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 7px 20px rgba(30,73,87,.07);
}

.byb-modules-status-card.is-success {
    border-left-color: #27a85b;
}

.byb-modules-status-card.is-warning {
    border-left-color: #f59e0b;
}

.byb-modules-status-card.is-danger {
    border-left-color: #dc2626;
}

.byb-modules-status-card small {
    display: block;
    margin-bottom: 7px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.byb-modules-status-card strong {
    display: block;
    color: #1e4957;
    font-size: 18px;
}

.byb-modules-alert {
    margin-bottom: 18px;
    padding: 13px 15px;
    border: 1px solid;
    border-radius: 13px;
    font-weight: 700;
    line-height: 1.55;
}

.byb-modules-alert.is-success {
    border-color: #b7e4c7;
    color: #166534;
    background: #ecfdf3;
}

.byb-modules-alert.is-danger {
    border-color: #f3b5b5;
    color: #8b2323;
    background: #fff1f1;
}

.byb-modules-alert ul {
    margin: 0;
    padding-left: 20px;
}

.byb-modules-installer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: end;
    margin-bottom: 18px;
    padding: 18px 19px;
    border: 1px solid #b9ddc7;
    border-radius: 17px;
    background: linear-gradient(145deg, #f8fdf9, #eef8f2);
    box-shadow: 0 8px 22px rgba(30,73,87,.07);
}

.byb-modules-installer-copy h2 {
    margin: 0 0 6px;
    color: #1e4957;
    font-size: 20px;
}

.byb-modules-installer-copy p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
}

.byb-modules-installer-form {
    display: flex;
    min-width: min(100%, 500px);
    align-items: end;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
}

.byb-modules-installer-field {
    min-width: min(100%, 300px);
    flex: 1 1 300px;
}

.byb-modules-installer-field label {
    display: block;
    margin-bottom: 6px;
    color: #334155;
    font-size: 12px;
    font-weight: 850;
}

.byb-modules-installer-field input[type="file"] {
    display: block;
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid #c8d8cd;
    border-radius: 11px;
    color: #334155;
    background: #ffffff;
    font: inherit;
    font-size: 12px;
}

.byb-modules-installer-note {
    grid-column: 1 / -1;
    margin: 0;
    color: #55706a;
    font-size: 12px;
    line-height: 1.5;
}

.byb-modules-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 18px 19px;
    border: 1px solid #d9e3e6;
    border-radius: 17px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(30,73,87,.07);
}

.byb-modules-control-copy h2 {
    margin: 0 0 6px;
    color: #1e4957;
    font-size: 20px;
}

.byb-modules-control-copy p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
}

.byb-modules-control-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 9px;
}

.byb-module-button {
    display: inline-flex;
    min-height: 41px;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border: 1px solid #cbd8dc;
    border-radius: 11px;
    color: #334b53;
    background: #ffffff;
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.byb-module-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 16px rgba(30,73,87,.12);
}

.byb-module-button.is-primary {
    border-color: #1f8d4c;
    color: #ffffff;
    background: linear-gradient(135deg, #27a85b, #218e4b);
}

.byb-module-button.is-danger {
    border-color: #dc9c9c;
    color: #8f2424;
    background: #fff5f5;
}

.byb-module-button.is-uninstall {
    border-color: #b91c1c;
    color: #ffffff;
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    box-shadow: 0 7px 16px rgba(185,28,28,.18);
}

.byb-module-button.is-uninstall:hover {
    box-shadow: 0 9px 20px rgba(185,28,28,.26);
}

.byb-module-button[disabled] {
    cursor: not-allowed;
    opacity: .55;
    transform: none;
    box-shadow: none;
}

.byb-modules-list {
    display: grid;
    gap: 15px;
}

.byb-module-card {
    overflow: hidden;
    border: 1px solid #d9e3e6;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 9px 24px rgba(30,73,87,.07);
}

.byb-module-card.is-enabled {
    border-left: 7px solid #27a85b;
}

.byb-module-card.is-disabled {
    border-left: 7px solid #94a3b8;
}

.byb-module-card.is-problem {
    border-left: 7px solid #dc2626;
}

.byb-module-card-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    padding: 19px 21px;
}

.byb-module-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 7px;
}

.byb-module-title-row h2 {
    margin: 0;
    color: #1e4957;
    font-size: 20px;
}

.byb-module-description {
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.6;
}

.byb-module-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 850;
}

.byb-module-badge.is-success {
    color: #166534;
    background: #dcfce7;
}

.byb-module-badge.is-neutral {
    color: #475569;
    background: #e9eef2;
}

.byb-module-badge.is-danger {
    color: #991b1b;
    background: #fee2e2;
}

.byb-module-badge.is-warning {
    color: #92400e;
    background: #fef3c7;
}

.byb-module-meta {
    display: grid;
    grid-template-columns: repeat(6, minmax(110px, 1fr));
    gap: 1px;
    border-top: 1px solid #e5ecef;
    background: #e5ecef;
}

.byb-module-meta-item {
    min-width: 0;
    padding: 12px 14px;
    background: #f8fafb;
}

.byb-module-meta-item small {
    display: block;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
}

.byb-module-meta-item strong {
    display: block;
    overflow-wrap: anywhere;
    color: #334b53;
    font-size: 12px;
}

.byb-module-problems {
    margin: 0;
    padding: 12px 18px 14px 38px;
    border-top: 1px solid #fecaca;
    color: #991b1b;
    background: #fff1f1;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.55;
}

.byb-modules-empty {
    padding: 30px;
    border: 1px dashed #b8c8cd;
    border-radius: 18px;
    background: rgba(255,255,255,.70);
    text-align: center;
}

.byb-modules-empty h2 {
    margin: 0 0 8px;
    color: #1e4957;
}

.byb-modules-empty p {
    max-width: 720px;
    margin: 0 auto;
    color: #64748b;
    line-height: 1.65;
}

.byb-modules-paths {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.byb-modules-path {
    padding: 13px 15px;
    border: 1px solid #d9e3e6;
    border-radius: 13px;
    background: #f8fafb;
}

.byb-modules-path small {
    display: block;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
}

.byb-modules-path code {
    color: #1e4957;
    font-size: 12px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.byb-module-uninstall-overlay {
    position: fixed;
    inset: 0;
    z-index: 30000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15,23,42,.68);
    backdrop-filter: blur(6px);
}

.byb-module-uninstall-overlay.is-visible {
    display: flex;
}

.byb-module-uninstall-dialog {
    width: min(640px, calc(100vw - 32px));
    max-height: calc(100vh - 40px);
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid #fecaca;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 28px 80px rgba(15,23,42,.38);
}

.byb-module-uninstall-head {
    padding: 23px 24px 17px;
    border-top: 7px solid #dc2626;
}

.byb-module-uninstall-head h2 {
    margin: 0 0 7px;
    color: #991b1b;
    font-size: 22px;
}

.byb-module-uninstall-head p {
    margin: 0;
    color: #64748b;
    line-height: 1.6;
}

.byb-module-uninstall-body {
    padding: 0 24px 22px;
}

.byb-module-uninstall-name {
    margin: 0 0 15px;
    padding: 12px 14px;
    border: 1px solid #fecaca;
    border-radius: 12px;
    color: #7f1d1d;
    background: #fff1f2;
    font-weight: 850;
}

.byb-module-uninstall-option {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    gap: 11px;
    width: 100%;
    min-width: 0;
    padding: 15px 16px;
    border: 1px solid #d9e3e6;
    border-radius: 12px;
    color: #334155;
    background: #f8fafb;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.55;
    cursor: pointer;
}

.byb-module-uninstall-option input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
}

.byb-module-uninstall-option > span {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    overflow-wrap: anywhere;
    word-break: normal;
    white-space: normal;
}

.byb-module-uninstall-note {
    margin: 12px 0 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.55;
}

.byb-module-uninstall-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 17px 24px 22px;
    border-top: 1px solid #e5e7eb;
    background: #f8fafc;
}

@media (max-width: 900px) {
    .byb-modules-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .byb-module-card-main {
        grid-template-columns: 1fr;
    }

    .byb-module-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 620px) {
    .byb-modules-status-grid, .byb-modules-paths, .byb-module-meta {
        grid-template-columns: 1fr;
    }

    .byb-modules-control {
        align-items: flex-start;
        flex-direction: column;
    }

    .byb-modules-control-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .byb-module-button {
        flex: 1;
    }

    .byb-module-uninstall-overlay {
        padding: 10px;
    }

    .byb-module-uninstall-dialog {
        width: min(100%, calc(100vw - 20px));
        max-height: calc(100vh - 20px);
        border-radius: 16px;
    }

    .byb-module-uninstall-head {
        padding: 20px 18px 15px;
    }

    .byb-module-uninstall-body {
        padding: 0 18px 18px;
    }

    .byb-module-uninstall-actions {
        flex-direction: column-reverse;
        padding: 15px 18px 18px;
    }

    .byb-module-uninstall-actions .byb-module-button {
        width: 100%;
    }

}

/* =========================================================
   07. SETTINGS
   ========================================================= */

.byb-settings-page, .byb-settings-page * {
    box-sizing: border-box;
}

.byb-settings-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 22px;
    padding: 25px 27px;
    border-radius: 20px;
    color: #ffffff;
    background: radial-gradient( circle at top right, rgba(39, 168, 91, .30), transparent 38% ), linear-gradient(135deg, #0f323a, #1e4957);
    box-shadow: 0 15px 35px rgba(15, 50, 58, .20);
}

.byb-settings-hero::after {
    position: absolute;
    right: -65px;
    bottom: -105px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    content: "";
}

.byb-settings-hero h1 {
    position: relative;
    z-index: 1;
    margin: 0 0 8px;
    color: #ffffff;
    font-size: clamp(27px, 4vw, 38px);
}

.byb-settings-hero p {
    position: relative;
    z-index: 1;
    max-width: 780px;
    margin: 0;
    color: rgba(255, 255, 255, .80);
    line-height: 1.65;
}

.byb-settings-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}

.byb-settings-status {
    min-width: 0;
    padding: 16px 17px;
    border: 1px solid #d9e3e6;
    border-left: 6px solid #1e4957;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 7px 20px rgba(30, 73, 87, .07);
}

.byb-settings-status small {
    display: block;
    margin-bottom: 7px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.byb-settings-status strong {
    display: block;
    overflow: hidden;
    color: #1e4957;
    font-size: 18px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.byb-settings-alert {
    margin-bottom: 18px;
    padding: 13px 15px;
    border: 1px solid;
    border-radius: 13px;
    font-weight: 700;
    line-height: 1.55;
}

.byb-settings-alert.is-success {
    border-color: #b7e4c7;
    color: #166534;
    background: #ecfdf3;
}

.byb-settings-alert.is-danger {
    border-color: #f3b5b5;
    color: #8b2323;
    background: #fff1f1;
}

.byb-settings-alert ul {
    margin: 0;
    padding-left: 20px;
}

.byb-settings-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
    gap: 18px;
    align-items: start;
}

.byb-settings-column {
    display: grid;
    gap: 18px;
}

.byb-settings-card {
    overflow: hidden;
    border: 1px solid #d9e3e6;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 9px 24px rgba(30, 73, 87, .07);
}

.byb-settings-card-head {
    padding: 19px 21px 15px;
    border-bottom: 1px solid #e5ecef;
    background: linear-gradient(145deg, #fbfdfd, #f3f8f8);
}

.byb-settings-card-head h2 {
    margin: 0 0 5px;
    color: #1e4957;
    font-size: 20px;
}

.byb-settings-card-head p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
}

.byb-settings-card-body {
    padding: 20px 21px 22px;
}

.byb-settings-status {
    position: relative;
    overflow: hidden;
}

.byb-settings-status::after {
    position: absolute;
    right: -24px;
    bottom: -34px;
    width: 84px;
    height: 84px;
    border: 1px solid rgba(30, 73, 87, .08);
    border-radius: 50%;
    content: "";
}

.byb-settings-status:nth-child(2) {
    border-left-color: #2563eb;
}

.byb-settings-status:nth-child(3) {
    border-left-color: #27a85b;
}

.byb-settings-status:nth-child(4) {
    border-left-color: #7c3aed;
}

.byb-settings-password-card .byb-settings-card-body {
    padding-top: 17px;
    padding-bottom: 18px;
}

.byb-settings-password-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
    align-items: end;
}

.byb-settings-password-card .byb-settings-input {
    min-height: 41px;
    padding-top: 8px;
    padding-bottom: 8px;
}

.byb-settings-password-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 14px;
    padding-top: 13px;
    border-top: 1px solid #e6edef;
}

.byb-settings-password-footer .byb-settings-note {
    margin: 0;
}

.byb-settings-password-footer .byb-settings-actions {
    flex: 0 0 auto;
    margin: 0;
}

.byb-settings-date-value {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.byb-settings-date-value::before {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #27a85b;
    content: "";
}

.byb-settings-time-preview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.byb-settings-time-preview span {
    color: #173f4b;
    font-variant-numeric: tabular-nums;
    font-weight: 850;
}

.byb-settings-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.byb-settings-field {
    min-width: 0;
}

.byb-settings-field.is-full {
    grid-column: 1 / -1;
}

.byb-settings-field label, .byb-settings-label {
    display: block;
    margin-bottom: 7px;
    color: #334155;
    font-size: 13px;
    font-weight: 800;
}

.byb-settings-input, .byb-settings-select {
    display: block;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #cfdcdf;
    border-radius: 11px;
    outline: none;
    color: #1f343b;
    background: #ffffff;
    font: inherit;
    font-size: 14px;
    transition: border-color .17s ease, box-shadow .17s ease;
}

.byb-settings-input:focus, .byb-settings-select:focus {
    border-color: #27a85b;
    box-shadow: 0 0 0 4px rgba(39, 168, 91, .12);
}

.byb-settings-note {
    margin: 7px 0 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.5;
}

.byb-settings-time-preview {
    margin-top: 9px;
    padding: 9px 11px;
    border-radius: 10px;
    color: #31515a;
    background: #eef6f4;
    font-size: 12px;
    font-weight: 750;
}

.byb-settings-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}

.byb-settings-button {
    display: inline-flex;
    min-height: 43px;
    align-items: center;
    justify-content: center;
    padding: 10px 17px;
    border: 1px solid #1f8d4c;
    border-radius: 11px;
    color: #ffffff;
    background: linear-gradient(135deg, #27a85b, #218e4b);
    box-shadow: 0 7px 17px rgba(39, 168, 91, .20);
    font: inherit;
    font-size: 14px;
    font-weight: 850;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease;
}

.byb-settings-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 21px rgba(39, 168, 91, .27);
}

.byb-settings-license-list {
    display: grid;
    gap: 10px;
    margin: 0;
}

.byb-settings-license-row {
    display: grid;
    grid-template-columns: minmax(115px, .7fr) minmax(0, 1.3fr);
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e6edef;
}

.byb-settings-license-row:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.byb-settings-license-row dt {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.byb-settings-license-row dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: #263b42;
    font-size: 13px;
    font-weight: 750;
}

.byb-settings-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 850;
}

.byb-settings-badge.is-success {
    color: #166534;
    background: #dcfce7;
}

.byb-settings-badge.is-warning {
    color: #92400e;
    background: #fef3c7;
}

.byb-settings-badge.is-danger {
    color: #991b1b;
    background: #fee2e2;
}

.byb-settings-license-form {
    display: grid;
    gap: 13px;
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e6edef;
}

.byb-settings-license-form .byb-settings-input[readonly] {
    color: #50676f;
    background: #f4f8f8;
}

.byb-settings-license-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.byb-settings-license-actions .byb-settings-button {
    width: 100%;
    padding-right: 12px;
    padding-left: 12px;
    font-size: 12px;
}

.byb-settings-button.is-secondary {
    border-color: #315f6b;
    background: linear-gradient(135deg, #315f6b, #244b55);
    box-shadow: 0 7px 17px rgba(30, 73, 87, .18);
}

.byb-settings-button:disabled {
    cursor: not-allowed;
    opacity: .55;
    transform: none;
    box-shadow: none;
}

.byb-settings-license-privacy {
    margin: 0;
    padding: 10px 11px;
    border: 1px solid #cfe2e6;
    border-radius: 10px;
    color: #45616a;
    background: #f3f8f9;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
}

@media (max-width: 980px) {
    .byb-settings-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .byb-settings-layout {
        grid-template-columns: 1fr;
    }

    .byb-settings-password-fields {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 620px) {
    .byb-settings-status-grid, .byb-settings-fields {
        grid-template-columns: 1fr;
    }

    .byb-settings-field.is-full {
        grid-column: auto;
    }

    .byb-settings-hero {
        padding: 22px 20px;
    }

    .byb-settings-card-head, .byb-settings-card-body {
        padding-right: 17px;
        padding-left: 17px;
    }

    .byb-settings-license-actions {
        grid-template-columns: 1fr;
    }

    .byb-settings-password-fields {
        grid-template-columns: 1fr;
    }

    .byb-settings-password-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .byb-settings-password-footer .byb-settings-button {
        width: 100%;
    }

}

/* =========================================================
   08. UPDATES
   ========================================================= */

.byb-updates-page, .byb-updates-page * {
    box-sizing: border-box;
}

.byb-updates-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 22px;
    padding: 25px 27px;
    border-radius: 20px;
    color: #ffffff;
    background: radial-gradient( circle at top right, rgba(39,168,91,.30), transparent 38% ), linear-gradient(135deg, #0f323a, #1e4957);
    box-shadow: 0 15px 35px rgba(15,50,58,.20);
}

.byb-updates-hero::after {
    position: absolute;
    right: -65px;
    bottom: -105px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    content: "";
}

.byb-updates-hero h1 {
    position: relative;
    z-index: 1;
    margin: 0 0 8px;
    color: #ffffff;
    font-size: clamp(27px, 4vw, 38px);
}

.byb-updates-hero p {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin: 0;
    color: rgba(255,255,255,.82);
    line-height: 1.65;
}

.byb-updates-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.byb-updates-status-card {
    min-width: 0;
    padding: 16px 17px;
    border: 1px solid #d9e3e6;
    border-left: 6px solid #1e4957;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 7px 20px rgba(30,73,87,.07);
}

.byb-updates-status-card.is-success {
    border-left-color: #27a85b;
}

.byb-updates-status-card.is-warning {
    border-left-color: #f59e0b;
}

.byb-updates-status-card.is-danger {
    border-left-color: #dc2626;
}

.byb-updates-status-card small {
    display: block;
    margin-bottom: 7px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.byb-updates-status-card strong {
    display: block;
    overflow-wrap: anywhere;
    color: #1e4957;
    font-size: 18px;
}

.byb-updates-alert {
    margin-bottom: 18px;
    padding: 13px 15px;
    border: 1px solid;
    border-radius: 13px;
    font-weight: 700;
    line-height: 1.55;
}

.byb-updates-alert.is-success {
    border-color: #b7e4c7;
    color: #166534;
    background: #ecfdf3;
}

.byb-updates-alert.is-danger {
    border-color: #f3b5b5;
    color: #8b2323;
    background: #fff1f1;
}

.byb-updates-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 18px 19px;
    border: 1px solid #d9e3e6;
    border-radius: 17px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(30,73,87,.07);
}

.byb-updates-control-copy h2 {
    margin: 0 0 6px;
    color: #1e4957;
    font-size: 20px;
}

.byb-updates-control-copy p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
}

.byb-updates-control-actions, .byb-update-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

.byb-update-button {
    display: inline-flex;
    min-height: 41px;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border: 1px solid #cbd8dc;
    border-radius: 11px;
    color: #334b53;
    background: #ffffff;
    font: inherit;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.byb-update-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 16px rgba(30,73,87,.12);
}

.byb-update-button.is-primary {
    border-color: #1f8d4c;
    color: #ffffff;
    background: linear-gradient(135deg, #27a85b, #218e4b);
}

.byb-update-button.is-danger {
    border-color: #b91c1c;
    color: #ffffff;
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    box-shadow: 0 7px 16px rgba(185,28,28,.18);
}

.byb-update-button.is-danger:hover {
    box-shadow: 0 9px 20px rgba(185,28,28,.26);
}

.byb-updates-list {
    display: grid;
    gap: 15px;
    margin-bottom: 18px;
}

.byb-update-card {
    overflow: hidden;
    border: 1px solid #d9e3e6;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 9px 24px rgba(30,73,87,.07);
}

.byb-update-card.is-available {
    border-left: 7px solid #27a85b;
}

.byb-update-card.is-current {
    border-left: 7px solid #94a3b8;
}

.byb-update-card.is-blocked {
    border-left: 7px solid #f59e0b;
}

.byb-update-card-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    padding: 19px 21px;
}

.byb-update-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 7px;
}

.byb-update-title-row h2 {
    margin: 0;
    color: #1e4957;
    font-size: 20px;
}

.byb-update-description {
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.6;
}

.byb-update-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 850;
}

.byb-update-badge.is-success {
    color: #166534;
    background: #dcfce7;
}

.byb-update-badge.is-neutral {
    color: #475569;
    background: #e9eef2;
}

.byb-update-badge.is-warning {
    color: #92400e;
    background: #fef3c7;
}

.byb-update-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(110px, 1fr));
    gap: 1px;
    border-top: 1px solid #e5ecef;
    background: #e5ecef;
}

.byb-update-meta-item {
    min-width: 0;
    padding: 12px 14px;
    background: #f8fafb;
}

.byb-update-meta-item small {
    display: block;
    margin-bottom: 5px;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
}

.byb-update-meta-item strong {
    display: block;
    overflow-wrap: anywhere;
    color: #334b53;
    font-size: 12px;
}

.byb-update-changelog {
    margin: 0;
    padding: 14px 18px;
    border-top: 1px solid #dbe7eb;
    color: #334b53;
    background: #f4f8fa;
    font-size: 12px;
    line-height: 1.65;
    white-space: pre-line;
}

.byb-updates-empty {
    margin-bottom: 18px;
    padding: 30px;
    border: 1px dashed #b8c8cd;
    border-radius: 18px;
    background: rgba(255,255,255,.70);
    text-align: center;
}

.byb-updates-empty h2 {
    margin: 0;
    color: #1e4957;
    font-size: 18px;
}

.byb-updates-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.byb-updates-panel {
    overflow: hidden;
    border: 1px solid #d9e3e6;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 9px 24px rgba(30,73,87,.07);
}

.byb-updates-panel-head {
    padding: 17px 19px;
    border-bottom: 1px solid #e5ecef;
    background: #f8fafb;
}

.byb-updates-panel-head h2 {
    margin: 0;
    color: #1e4957;
    font-size: 20px;
}

.byb-updates-panel-body {
    padding: 18px 19px;
}

.byb-update-switch {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 22px;
    align-items: center;
    gap: 15px;
    margin-bottom: 11px;
    padding: 13px 14px;
    border: 1px solid #d9e3e6;
    border-radius: 13px;
    color: #334155;
    background: #f8fafb;
    cursor: pointer;
}

.byb-update-switch strong, .byb-update-switch small {
    display: block;
}

.byb-update-switch strong {
    color: #334b53;
    font-size: 13px;
}

.byb-update-switch small {
    margin-top: 4px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.5;
}

.byb-update-switch input {
    width: 19px;
    height: 19px;
    margin: 0;
    accent-color: #27a85b;
}

.byb-update-field {
    margin-top: 14px;
}

.byb-update-field label {
    display: block;
    margin-bottom: 6px;
    color: #334155;
    font-size: 12px;
    font-weight: 850;
}

.byb-update-field select, .byb-update-field input {
    display: block;
    width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #cbd8dc;
    border-radius: 11px;
    color: #334155;
    background: #ffffff;
    font: inherit;
    font-size: 13px;
}

.byb-update-form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}

.byb-update-info {
    display: grid;
    gap: 0;
    margin: 0;
}

.byb-update-info div {
    display: grid;
    grid-template-columns: 165px minmax(0, 1fr);
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid #e5ecef;
}

.byb-update-info div:first-child {
    padding-top: 0;
}

.byb-update-info div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.byb-update-info dt {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.byb-update-info dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: #334b53;
    font-size: 12px;
    font-weight: 800;
}

.byb-update-rollback {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
    padding-top: 17px;
    border-top: 1px solid #e5ecef;
}

.byb-updates-note {
    margin-top: 18px;
    padding: 13px 15px;
    border: 1px solid #d9e3e6;
    border-radius: 13px;
    color: #55706a;
    background: #f8fafb;
    font-size: 12px;
    line-height: 1.6;
}

@media (max-width: 900px) {
    .byb-updates-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .byb-update-card-main {
        grid-template-columns: 1fr;
    }

    .byb-update-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .byb-updates-settings-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 620px) {
    .byb-updates-status-grid, .byb-update-meta {
        grid-template-columns: 1fr;
    }

    .byb-updates-control {
        align-items: flex-start;
        flex-direction: column;
    }

    .byb-updates-control-actions, .byb-update-actions, .byb-update-form-actions, .byb-update-rollback {
        width: 100%;
    }

    .byb-update-button {
        width: 100%;
    }

    .byb-update-info div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

}

/* =========================================================
   09. CENTRAL CORE REQUEST LOG
   ========================================================= */

.byb-corelog-page,
.byb-corelog-page * {
    box-sizing: border-box;
}

.byb-corelog-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
    padding: 25px 27px;
    border-radius: 20px;
    color: #ffffff;
    background: radial-gradient(circle at top right, rgba(39,168,91,.30), transparent 38%), linear-gradient(135deg, #0f323a, #1e4957);
    box-shadow: 0 15px 35px rgba(15,50,58,.20);
}

.byb-corelog-hero::after {
    position: absolute;
    right: -65px;
    bottom: -105px;
    width: 210px;
    height: 210px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    content: "";
}

.byb-corelog-kicker {
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: 7px;
    color: #a8e9c2;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.byb-corelog-hero h3 {
    position: relative;
    z-index: 1;
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.3;
    font-weight: 700;
}

.byb-corelog-hero p {
    position: relative;
    z-index: 1;
    max-width: 900px;
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    line-height: 1.65;
}

.byb-corelog-alert {
    margin-bottom: 15px;
    padding: 12px 14px;
    border: 1px solid #d9e3e6;
    border-radius: 13px;
    background: #ffffff;
    font-size: 13px;
    font-weight: 750;
}

.byb-corelog-alert.is-success {
    color: #17663a;
    border-color: #bfe7ce;
    background: #edf9f1;
}

.byb-corelog-alert.is-danger {
    color: #a51f1f;
    border-color: #f0c2c2;
    background: #fff3f3;
}

.byb-corelog-status-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.byb-corelog-status-card {
    min-width: 0;
    padding: 14px 15px;
    border: 1px solid #d9e3e6;
    border-left: 6px solid #1e4957;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 7px 20px rgba(30,73,87,.06);
}

.byb-corelog-status-card small,
.byb-corelog-status-card strong {
    display: block;
}

.byb-corelog-status-card small {
    min-height: 0;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
    white-space: nowrap;
}

.byb-corelog-status-card strong {
    margin-top: 4px;
    color: #193f49;
    font-size: 18px;
    font-weight: 700;
}

.byb-corelog-status-card.is-allowed {
    border-left-color: #27a85b;
}

.byb-corelog-status-card.is-verified {
    border-left-color: #2583c5;
}

.byb-corelog-status-card.is-limit-allowed {
    border-left-color: #65a9c8;
}

.byb-corelog-status-card.is-limit-blocked {
    border-left-color: #f59e0b;
}

.byb-corelog-status-card.is-blocked {
    border-left-color: #dc2626;
}

.byb-corelog-card {
    overflow: hidden;
    margin-bottom: 18px;
    border: 1px solid #d9e3e6;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 9px 24px rgba(30,73,87,.07);
}

.byb-corelog-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 17px 19px;
    border-bottom: 1px solid #e5ecef;
    background: #f8fafb;
}

.byb-corelog-card-head h3 {
    margin: 0 0 5px;
    color: #1e4957;
    font-size: 18px;
    font-weight: 900;
}

.byb-corelog-card-head p {
    max-width: 900px;
    margin: 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.55;
}

.byb-corelog-card-body {
    padding: 17px 19px;
}

.byb-corelog-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.byb-corelog-meta span {
    padding: 6px 8px;
    border: 1px solid #d9e3e6;
    border-radius: 9px;
    color: #60727a;
    background: #ffffff;
    font-size: 10px;
    white-space: nowrap;
}

.byb-corelog-meta strong {
    color: #1e4957;
}

.byb-corelog-filter-form {
    display: grid;
    grid-template-columns: minmax(250px, 2fr) repeat(3, minmax(145px, .7fr)) auto;
    gap: 11px;
    align-items: end;
}

.byb-corelog-field label {
    display: block;
    margin-bottom: 6px;
    color: #425a63;
    font-size: 11px;
    font-weight: 850;
}

.byb-corelog-field input,
.byb-corelog-field select {
    width: 100%;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid #cbd8dc;
    border-radius: 10px;
    color: #334155;
    background: #ffffff;
    font: inherit;
    font-size: 12px;
}

.byb-corelog-field input:focus,
.byb-corelog-field select:focus {
    outline: 2px solid rgba(39,168,91,.16);
    border-color: #6fc594;
}

.byb-corelog-filter-actions,
.byb-corelog-footer-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.byb-corelog-button {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid #cbd8dc;
    border-radius: 10px;
    color: #29444d;
    background: #ffffff;
    font: inherit;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
    cursor: pointer;
}

.byb-corelog-button:hover {
    background: #f3f7f8;
}

.byb-corelog-button.is-primary {
    color: #ffffff;
    border-color: #1e5664;
    background: #1e5664;
}

.byb-corelog-button.is-primary:hover {
    background: #174955;
}

.byb-corelog-button.is-danger {
    color: #a51f1f;
    border-color: #e8a9a9;
    background: #fff7f7;
}

.byb-corelog-button.is-danger:hover {
    color: #ffffff;
    border-color: #bd2b2b;
    background: #bd2b2b;
}

.byb-corelog-count {
    display: inline-flex;
    min-width: 28px;
    min-height: 23px;
    align-items: center;
    justify-content: center;
    margin-left: 5px;
    padding: 2px 7px;
    border-radius: 999px;
    color: #1e4957;
    background: #e5eef1;
    font-size: 11px;
    vertical-align: 2px;
}

.byb-corelog-health {
    flex: 0 0 auto;
    padding: 7px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 850;
}

.byb-corelog-health.is-ok {
    color: #17663a;
    background: #dcf5e6;
}

.byb-corelog-health.is-warning {
    color: #9a3e16;
    background: #fff0dc;
}

.byb-corelog-head-status {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.byb-corelog-live-status {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    gap: 7px;
    padding: 6px 9px;
    border: 1px solid #bfe7ce;
    border-radius: 999px;
    color: #17663a;
    background: #edf9f1;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}

.byb-corelog-live-dot {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #27a85b;
    box-shadow: 0 0 0 4px rgba(39,168,91,.12);
    animation: byb-corelog-live-pulse 1.35s ease-in-out infinite;
}

.byb-corelog-live-status.is-updating .byb-corelog-live-dot {
    animation-duration: .55s;
}

.byb-corelog-live-status.is-paused {
    color: #925400;
    border-color: #efd59b;
    background: #fff7e8;
}

.byb-corelog-live-status.is-paused .byb-corelog-live-dot {
    background: #f59e0b;
    box-shadow: 0 0 0 4px rgba(245,158,11,.12);
    animation: none;
}

.byb-corelog-live-status.is-error {
    color: #a51f1f;
    border-color: #efc1c1;
    background: #fff3f3;
}

.byb-corelog-live-status.is-error .byb-corelog-live-dot {
    background: #dc2626;
    box-shadow: 0 0 0 4px rgba(220,38,38,.10);
    animation: none;
}

@keyframes byb-corelog-live-pulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: .45;
        transform: scale(.78);
    }
}

.byb-corelog-list {
    display: grid;
    gap: 9px;
    padding: 14px;
}

.byb-corelog-item {
    overflow: hidden;
    border: 1px solid #dbe5e8;
    border-left: 5px solid #9aadb4;
    border-radius: 13px;
    background: #ffffff;
}

.byb-corelog-item.is-allowed {
    border-left-color: #27a85b;
}

.byb-corelog-item.is-verified {
    border-left-color: #2583c5;
}

.byb-corelog-item.is-limit-allowed {
    border-left-color: #65a9c8;
}

.byb-corelog-item.is-limit-blocked {
    border-left-color: #f59e0b;
}

.byb-corelog-item.is-blocked {
    border-left-color: #dc2626;
}

.byb-corelog-summary {
    display: grid;
    grid-template-columns: 1.08fr 1.25fr 1.08fr 1.42fr 1.12fr auto;
    gap: 12px;
    align-items: center;
    min-height: 74px;
    padding: 11px 13px;
    list-style: none;
    cursor: pointer;
}

.byb-corelog-summary::-webkit-details-marker {
    display: none;
}

.byb-corelog-summary:hover {
    background: #f8fbfc;
}

.byb-corelog-main {
    min-width: 0;
}

.byb-corelog-main strong,
.byb-corelog-main small,
.byb-corelog-main code {
    display: block;
}

.byb-corelog-main strong,
.byb-corelog-main code {
    overflow: hidden;
    color: #173f49;
    font-size: 11px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.byb-corelog-main small {
    overflow: hidden;
    margin-top: 3px;
    color: #64748b;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.byb-corelog-label {
    display: block;
    margin-bottom: 4px;
    color: #6b7e86;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.byb-corelog-badge {
    display: inline-flex;
    width: fit-content;
    white-space: nowrap;
    min-height: 24px;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.2;
}

.byb-corelog-badge.is-allowed {
    color: #17663a;
    background: #dcf5e6;
}

.byb-corelog-badge.is-verified {
    color: #145984;
    background: #dceefa;
}

.byb-corelog-badge.is-limit-allowed {
    color: #1e607e;
    background: #e0f2f8;
}

.byb-corelog-badge.is-limit-blocked {
    color: #945200;
    background: #fff0cf;
}

.byb-corelog-badge.is-blocked {
    color: #a51f1f;
    background: #fee2e2;
}

.byb-corelog-toggle {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    padding: 6px 9px;
    border: 1px solid #cbd8dc;
    border-radius: 9px;
    color: #1e4957;
    background: #ffffff;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}

.byb-corelog-item[open] .byb-corelog-summary {
    border-bottom: 1px solid #e5ecef;
    background: #f8fafb;
}

.byb-corelog-item[open] .byb-corelog-toggle {
    color: #ffffff;
    border-color: #1e5664;
    background: #1e5664;
}

.byb-corelog-details {
    padding: 15px;
    background: #ffffff;
}

.byb-corelog-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

.byb-corelog-detail {
    min-width: 0;
    margin: 0;
    padding: 10px 11px;
    border: 1px solid #e1e9eb;
    border-radius: 10px;
    background: #f8fafb;
}

.byb-corelog-detail.is-wide {
    grid-column: span 2;
}

.byb-corelog-detail.is-full {
    grid-column: 1 / -1;
}

.byb-corelog-detail dt {
    margin-bottom: 4px;
    color: #6b7e86;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.byb-corelog-detail dd {
    margin: 0;
    color: #263f47;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.byb-corelog-detail code,
.byb-corelog-storage-note code {
    color: #1d5360;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 10px;
}

.byb-corelog-wrap {
    white-space: pre-wrap;
    word-break: break-word;
}

.byb-corelog-module-path {
    margin-top: 13px;
    padding-top: 13px;
    border-top: 1px solid #e5ecef;
}

.byb-corelog-subhead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.byb-corelog-subhead h4 {
    margin: 0;
    color: #1e4957;
    font-size: 13px;
}

.byb-corelog-subhead span {
    color: #6b7e86;
    font-size: 10px;
    font-weight: 750;
}

.byb-corelog-module-results {
    display: grid;
    gap: 7px;
}

.byb-corelog-module-result {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 9px 10px;
    border: 1px solid #e1e9eb;
    border-radius: 10px;
    background: #fbfcfd;
}

.byb-corelog-module-result strong,
.byb-corelog-module-result small,
.byb-corelog-module-result span:not(.byb-corelog-badge) {
    display: block;
}

.byb-corelog-module-result strong {
    color: #26464f;
    font-size: 11px;
}

.byb-corelog-module-result small {
    margin-top: 2px;
    color: #64748b;
    font-size: 10px;
}

.byb-corelog-module-result span:not(.byb-corelog-badge) {
    margin-top: 3px;
    color: #587078;
    font-size: 10px;
    font-weight: 800;
}

.byb-corelog-runtime-error {
    margin-top: 12px;
    padding: 10px 11px;
    border: 1px solid #f0c2c2;
    border-radius: 10px;
    color: #9f2424;
    background: #fff3f3;
    font-size: 11px;
}

.byb-corelog-runtime-error strong {
    margin-right: 6px;
}

.byb-corelog-empty {
    padding: 26px 18px;
    color: #64748b;
    text-align: center;
    font-size: 12px;
}

.byb-corelog-empty.is-compact {
    padding: 14px;
    border: 1px dashed #cbd8dc;
    border-radius: 10px;
}

.byb-corelog-more-note {
    margin: 0 14px 14px;
    padding: 9px 11px;
    border: 1px solid #d9e3e6;
    border-radius: 10px;
    color: #5d727a;
    background: #f8fafb;
    font-size: 10px;
}

.byb-corelog-footer-actions {
    justify-content: space-between;
    gap: 15px;
    padding: 14px 16px;
    border-top: 1px solid #e5ecef;
    background: #f8fafb;
}

.byb-corelog-storage-note {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    color: #64748b;
    font-size: 10px;
}

.byb-corelog-storage-note strong {
    color: #3e5962;
}

.byb-corelog-scan-note {
    margin: 0;
    color: #6b7e86;
    font-size: 10px;
    line-height: 1.55;
}

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

    .byb-log-threshold-status {
        align-self: end;
    }

    .byb-log-settings-save {
        width: 100%;
    }

    .byb-corelog-status-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .byb-corelog-status-card small {
        min-height: 30px;
        white-space: normal;
    }

    .byb-corelog-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .byb-corelog-field.is-search {
        grid-column: 1 / -1;
    }

    .byb-corelog-filter-actions {
        grid-column: 1 / -1;
    }

    .byb-corelog-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    }

    .byb-corelog-toggle {
        grid-column: 3;
        grid-row: 1 / span 2;
    }
}

@media (max-width: 760px) {
    .byb-corelog-status-grid,
    .byb-corelog-filter-form,
    .byb-corelog-detail-grid {
        grid-template-columns: 1fr;
    }

    .byb-corelog-card-head,
    .byb-corelog-footer-actions,
    .byb-corelog-subhead {
        align-items: stretch;
        flex-direction: column;
    }

    .byb-corelog-head-status {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .byb-corelog-meta {
        justify-content: flex-start;
    }

    .byb-corelog-field.is-search,
    .byb-corelog-filter-actions,
    .byb-corelog-detail.is-wide,
    .byb-corelog-detail.is-full {
        grid-column: auto;
    }

    .byb-corelog-filter-actions,
    .byb-corelog-footer-actions form,
    .byb-corelog-button {
        width: 100%;
    }

    .byb-corelog-summary {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .byb-corelog-toggle {
        grid-column: auto;
        grid-row: auto;
        width: 100%;
    }

    .byb-corelog-module-result {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   10. DASHBOARD CORE ANALYTICS / CHARTS
   ========================================================= */

.byb-dashboard-core,
.byb-dashboard-core * {
    box-sizing: border-box;
}

.byb-dashboard-core {
    overflow: hidden;
    margin: 0 0 22px;
    border: 1px solid #d7e2e5;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 50, 58, .08);
}

.byb-dashboard-core-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 19px 21px 17px;
    border-bottom: 1px solid #e5ecef;
    background: linear-gradient(145deg, #fbfdfd, #f2f7f8);
}

.byb-dashboard-core-head h3 {
    margin: 2px 0 5px;
    color: #143f49;
    font-size: 19px;
    font-weight: 900;
}

.byb-dashboard-core-head p {
    max-width: 850px;
    margin: 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.55;
}

.byb-dashboard-core-kicker {
    display: block;
    color: #278653;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.byb-dashboard-core-head-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 9px;
}

.byb-dashboard-live {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border: 1px solid #cbe8d5;
    border-radius: 10px;
    color: #17663a;
    background: #effaf3;
    font-size: 11px;
    font-weight: 850;
}

.byb-dashboard-live i {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #27a85b;
    box-shadow: 0 0 0 4px rgba(39, 168, 91, .12);
    animation: bybDashboardLivePulse 1.6s ease-in-out infinite;
}

.byb-dashboard-live.is-loading i {
    animation-duration: .62s;
}

.byb-dashboard-live.is-error {
    color: #991b1b;
    border-color: #fecaca;
    background: #fff1f2;
}

.byb-dashboard-live.is-error i {
    background: #dc2626;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, .12);
    animation: none;
}

@keyframes bybDashboardLivePulse {
    0%,
    100% {
        opacity: .55;
        transform: scale(.9);
    }

    50% {
        opacity: 1;
        transform: scale(1.08);
    }
}

.byb-dashboard-core-link {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border: 1px solid #315f6b;
    border-radius: 10px;
    color: #ffffff;
    background: #1e5664;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
}

.byb-dashboard-core-link:hover {
    color: #ffffff;
    background: #174955;
    text-decoration: none;
}

.byb-dashboard-core-loading {
    margin: 16px;
    padding: 18px;
    border: 1px solid #dce6e9;
    border-radius: 13px;
    color: #64748b;
    background: #f8fafb;
    font-size: 12px;
    font-weight: 750;
}

.byb-dashboard-core-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 11px;
    padding: 16px 16px 0;
}

.byb-dashboard-chart-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 13px;
    padding: 13px 16px 16px;
}

.byb-dashboard-chart-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dce6e9;
    border-radius: 14px;
    background: #ffffff;
}

.byb-dashboard-chart-wide {
    grid-column: span 8;
}

.byb-dashboard-chart-compact {
    grid-column: span 4;
}

.byb-dashboard-chart-half {
    grid-column: span 6;
}

.byb-dashboard-chart-head {
    min-height: 71px;
    padding: 13px 14px 10px;
    border-bottom: 1px solid #edf1f2;
    background: #fbfcfd;
}

.byb-dashboard-chart-head h4 {
    margin: 0 0 4px;
    color: #1e4957;
    font-size: 14px;
    font-weight: 900;
}

.byb-dashboard-chart-head p {
    margin: 0;
    color: #71838a;
    font-size: 10px;
    line-height: 1.45;
}

.byb-dashboard-chart-canvas {
    position: relative;
    height: 285px;
    padding: 12px;
}

.byb-dashboard-chart-canvas.is-doughnut {
    height: 285px;
}

.byb-dashboard-chart-canvas.is-tall {
    height: 340px;
}

.byb-dashboard-chart-canvas canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
}

.byb-dashboard-chart-empty {
    position: absolute;
    inset: 12px;
    display: grid;
    place-items: center;
    border: 1px dashed #cbd8dc;
    border-radius: 11px;
    color: #71838a;
    background: #f8fafb;
    font-size: 11px;
    font-weight: 750;
    text-align: center;
}

.byb-dashboard-chart-empty[hidden] {
    display: none;
}

.byb-dashboard-core-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 11px 16px 13px;
    border-top: 1px solid #e8eef0;
    color: #71838a;
    background: #f8fafb;
    font-size: 10px;
}

.byb-dashboard-core-foot strong {
    color: #3d5961;
}

@media (max-width: 1100px) {
    .byb-dashboard-core-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .byb-dashboard-chart-wide,
    .byb-dashboard-chart-compact,
    .byb-dashboard-chart-half {
        grid-column: span 6;
    }
}

@media (max-width: 760px) {
    .byb-dashboard-core-head,
    .byb-dashboard-core-foot {
        align-items: stretch;
        flex-direction: column;
    }

    .byb-dashboard-core-head-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .byb-dashboard-live,
    .byb-dashboard-core-link {
        flex: 1 1 auto;
    }

    .byb-dashboard-core-kpis {
        grid-template-columns: 1fr;
    }

    .byb-dashboard-chart-grid {
        grid-template-columns: 1fr;
    }

    .byb-dashboard-chart-wide,
    .byb-dashboard-chart-compact,
    .byb-dashboard-chart-half {
        grid-column: auto;
    }

    .byb-dashboard-chart-canvas,
    .byb-dashboard-chart-canvas.is-doughnut {
        height: 260px;
    }

    .byb-dashboard-chart-canvas.is-tall {
        height: 330px;
    }
}


/* SSE Live transport / AJAX fallback */
.byb-dashboard-live.is-fallback {
    color: #8a5a00;
    border-color: #f1d08a;
    background: #fff8e6;
}

.byb-dashboard-live.is-fallback i {
    background: #f59e0b;
    box-shadow: 0 0 0 4px rgba(245, 158, 11, .13);
    animation-duration: 2.2s;
}

/* =========================================================
   11. SHARED BYB CORE PAGE HERO
   Central header layout used by all Core admin pages.
   ========================================================= */

.byb-corelog-hero-copy {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.byb-corelog-hero.has-aside {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.byb-corelog-hero.has-aside .byb-corelog-hero-copy {
    flex: 1 1 auto;
}

.byb-corelog-hero-aside {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
}

.byb-corelog-hero-aside .byb-sales-status {
    min-width: 190px;
}

@media (max-width: 760px) {
    .byb-corelog-hero.has-aside {
        align-items: stretch;
        flex-direction: column;
        gap: 15px;
    }

    .byb-corelog-hero-aside,
    .byb-corelog-hero-aside .byb-sales-status {
        width: 100%;
        min-width: 0;
    }
}

/* =========================================================
   BYB CORE - LOG MANAGEMENT
   ========================================================= */

.byb-log-management,
.byb-log-management * {
    box-sizing: border-box;
}

.byb-log-management {
    margin-top: 18px;
}

.byb-log-alert {
    margin-bottom: 18px;
    padding: 13px 15px;
    border: 1px solid;
    border-radius: 13px;
    font-weight: 750;
    line-height: 1.5;
}

.byb-log-alert.is-success {
    border-color: #b7e4c7;
    color: #166534;
    background: #ecfdf3;
}

.byb-log-alert.is-danger {
    border-color: #f3b5b5;
    color: #8b2323;
    background: #fff1f1;
}

.byb-log-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.byb-log-kpi {
    min-width: 0;
    padding: 16px 17px;
    border: 1px solid #d9e3e6;
    border-left: 6px solid #1e5664;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 7px 20px rgba(30, 73, 87, .07);
}

.byb-log-kpi.is-normal {
    border-left-color: #27a85b;
}

.byb-log-kpi.is-critical {
    border-left-color: #dc2626;
    background: #fff8f8;
}

.byb-log-kpi small {
    display: block;
    margin-bottom: 7px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.byb-log-kpi strong {
    display: block;
    overflow: hidden;
    color: #1e4957;
    font-size: 18px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.byb-log-kpi.is-critical strong {
    color: #b91c1c;
}

.byb-log-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, .65fr);
    gap: 18px;
    align-items: start;
}

.byb-log-card {
    overflow: hidden;
    border: 1px solid #d9e3e6;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 9px 24px rgba(30, 73, 87, .07);
}

.byb-log-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px 15px;
    border-bottom: 1px solid #e5ecef;
    background: linear-gradient(145deg, #fbfdfd, #f3f8f8);
}

.byb-log-card-head h3 {
    margin: 0 0 5px;
    color: #1e4957;
    font-size: 19px;
}

.byb-log-card-head p {
    margin: 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.55;
}

.byb-log-side {
    display: grid;
    gap: 18px;
}

.byb-log-table-wrap {
    overflow-x: auto;
}

.byb-log-table {
    width: 100%;
    min-width: 1040px;
    border-collapse: collapse;
    font-size: 12px;
}

.byb-log-table th:first-child,
.byb-log-table td:first-child {
    min-width: 220px;
}

.byb-log-table th,
.byb-log-table td {
    padding: 12px 13px;
    border-bottom: 1px solid #e7edef;
    text-align: left;
    vertical-align: middle;
}

.byb-log-table thead th {
    color: #ffffff;
    background: #1e5664;
    border-bottom-color: #174a56;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .01em;
    white-space: nowrap;
}

.byb-log-table thead th:first-child {
    border-top-left-radius: 8px;
}

.byb-log-table thead th:last-child {
    border-top-right-radius: 8px;
}

.byb-log-table tbody tr:nth-child(odd) > td {
    background-color: #f7f8f9;
}

.byb-log-table tbody tr:nth-child(even) > td {
    background-color: #eceff1;
}

.byb-log-table tbody tr:hover > td {
    background-color: #dce5e9;
}

.byb-log-table tbody td {
    transition: background-color .18s ease;
}

.byb-log-table tbody tr:last-child td {
    border-bottom: 0;
}

.byb-log-table td:first-child strong {
    display: block;
    color: #263b42;
    font-size: 13px;
}

.byb-log-table td small {
    display: block;
    margin-top: 4px;
    color: #71828a;
    font-size: 10px;
}

.byb-log-table code,
.byb-log-core-row code {
    display: block;
    margin-top: 5px;
    color: #52666e;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 10px;
    overflow-wrap: anywhere;
}

.byb-log-status,
.byb-log-module-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 850;
    white-space: nowrap;
}

.byb-log-status.is-normal,
.byb-log-module-state.is-active {
    color: #166534;
    background: #dcfce7;
}

.byb-log-status.is-warning {
    color: #92400e;
    background: #fef3c7;
}

.byb-log-status.is-critical {
    color: #991b1b;
    background: #fee2e2;
}

.byb-log-status.is-none,
.byb-log-module-state.is-inactive {
    color: #52616a;
    background: #edf2f4;
}

.byb-log-button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 8px 13px;
    border: 1px solid #1f8d4c;
    border-radius: 10px;
    color: #ffffff;
    background: linear-gradient(135deg, #27a85b, #218e4b);
    box-shadow: 0 6px 15px rgba(39, 168, 91, .18);
    font: inherit;
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease;
}

.byb-log-button:hover {
    transform: translateY(-1px);
}

.byb-log-button.is-secondary {
    border-color: #315f6b;
    background: linear-gradient(135deg, #315f6b, #244b55);
    box-shadow: 0 6px 15px rgba(30, 73, 87, .16);
}

.byb-log-button.is-danger {
    border-color: #b91c1c;
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    box-shadow: 0 6px 15px rgba(220, 38, 38, .18);
}

.byb-log-reset-form,
.byb-log-reset-all-form {
    margin: 0;
}

.byb-log-threshold-card {
    margin-bottom: 18px;
}

.byb-log-card-wide {
    width: 100%;
    margin-bottom: 18px;
}

.byb-log-core-card {
    width: 100%;
}

.byb-log-settings-horizontal {
    display: grid;
    grid-template-columns:
        minmax(190px, 1fr)
        minmax(190px, 1fr)
        minmax(260px, auto)
        auto;
    gap: 16px;
    align-items: end;
}

.byb-log-setting-field {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.byb-log-threshold-status {
    display: grid;
    gap: 8px;
    align-self: end;
}

.byb-log-threshold-label {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

.byb-log-settings-horizontal .byb-log-legend {
    min-height: 42px;
    align-items: center;
    margin: 0;
}

.byb-log-settings-save {
    min-height: 42px;
    padding-inline: 18px;
    white-space: nowrap;
}

.byb-log-action-cell {
    width: 1%;
    white-space: nowrap;
}

.byb-log-reset-button {
    min-width: 118px;
    white-space: nowrap;
}

.byb-log-reset-all-form .byb-log-button {
    white-space: nowrap;
}

.byb-log-settings {
    display: grid;
    gap: 10px;
    padding: 18px 20px 20px;
}

.byb-log-settings label {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}

.byb-log-input-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
}

.byb-log-input-group input {
    min-width: 0;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #cfdcdf;
    border-right: 0;
    border-radius: 10px 0 0 10px;
    outline: 0;
    color: #1f343b;
    background: #ffffff;
    font: inherit;
}

.byb-log-input-group input:focus {
    border-color: #27a85b;
    box-shadow: 0 0 0 3px rgba(39, 168, 91, .10);
}

.byb-log-input-group span {
    display: flex;
    align-items: center;
    padding: 0 11px;
    border: 1px solid #cfdcdf;
    border-radius: 0 10px 10px 0;
    color: #52666e;
    background: #f4f8f8;
    font-size: 11px;
    font-weight: 850;
}

.byb-log-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 4px 0 3px;
}

.byb-log-legend span {
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 850;
}

.byb-log-legend .is-normal {
    color: #166534;
    background: #dcfce7;
}

.byb-log-legend .is-warning {
    color: #92400e;
    background: #fef3c7;
}

.byb-log-legend .is-critical {
    color: #991b1b;
    background: #fee2e2;
}

.byb-log-core-list {
    display: grid;
    gap: 0;
}

.byb-log-core-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #e7edef;
}

.byb-log-core-row:last-child {
    border-bottom: 0;
}

.byb-log-core-row > div:last-child {
    display: grid;
    gap: 7px;
    justify-items: end;
}

.byb-log-muted {
    color: #94a3b8;
}

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

    .byb-log-settings-save {
        width: 100%;
    }
}

@media (max-width: 860px) {
    .byb-log-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .byb-log-side {
        grid-template-columns: 1fr;
    }

    .byb-log-card-head {
        align-items: stretch;
        flex-direction: column;
    }

    .byb-log-reset-all-form .byb-log-button {
        width: 100%;
    }
}

@media (max-width: 700px) {
    .byb-log-settings-horizontal {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .byb-log-kpis {
        grid-template-columns: 1fr;
    }
}
/* =========================================================
   BYB Log-Verwaltung
   Core-Logs unterschiedliche Hintergrundfarben
   ========================================================= */

/* Core-Entscheidungslog */
.byb-log-core-list .byb-log-core-row:nth-child(1) {
    background-color: #eef3f5;
}

/* Audit-Log der Log-Verwaltung */
.byb-log-core-list .byb-log-core-row:nth-child(2) {
    background-color: #e8f1f0;
}


/* =========================================================
   Hover
   ========================================================= */

.byb-log-core-list .byb-log-core-row:nth-child(1):hover {
    background-color: #dfe9ed;
}

.byb-log-core-list .byb-log-core-row:nth-child(2):hover {
    background-color: #d9e8e6;
}


/* =========================================================
   Übergang
   ========================================================= */

.byb-log-core-list .byb-log-core-row {
    transition: background-color 0.18s ease;
}
/* =========================================================
   BYB Log-Verwaltung
   Core-Logs mit farbiger Akzentlinie
   ========================================================= */

.byb-log-core-list .byb-log-core-row {
    position: relative;
    transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

/* Core-Entscheidungslog */
.byb-log-core-list .byb-log-core-row:nth-child(1) {
    background-color: #eef3f5;
    box-shadow: inset 5px 0 0 #1e5664;
}

/* Audit-Log der Log-Verwaltung */
.byb-log-core-list .byb-log-core-row:nth-child(2) {
    background-color: #e8f1f0;
    box-shadow: inset 5px 0 0 #27a85b;
}


/* Core-Entscheidungslog: Status Kritisch = rote Akzentlinie */
.byb-log-core-list .byb-log-core-row:nth-child(1):has(.byb-log-status.is-critical) {
    box-shadow: inset 5px 0 0 #dc2626;
}


/* =========================================================
   Hover
   ========================================================= */

.byb-log-core-list .byb-log-core-row:nth-child(1):hover {
    background-color: #dfe9ed;
}

.byb-log-core-list .byb-log-core-row:nth-child(2):hover {
    background-color: #d9e8e6;
}
/* =========================================================
   BYB Module Manager - Purchased modules from BYB Shop
   ========================================================= */

.byb-modules-status-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.byb-modules-status-card.is-purchased {
    border-left-color: #1e5664;
}

.byb-modules-alert.is-warning {
    border-color: #f5d28a;
    color: #8a5700;
    background: #fff8e6;
}

.byb-modules-alert.is-warning span {
    display: block;
    margin-top: 4px;
    font-weight: 600;
}

.byb-shop-modules {
    margin-bottom: 18px;
    padding: 19px;
    border: 1px solid #c8d9de;
    border-radius: 17px;
    background: linear-gradient(145deg, #fbfdfd, #f2f7f8);
    box-shadow: 0 8px 22px rgba(30,73,87,.07);
}

.byb-shop-modules-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 15px;
}

.byb-shop-modules-head h2 {
    margin: 0 0 6px;
    color: #1e4957;
    font-size: 20px;
}

.byb-shop-modules-head p {
    max-width: 850px;
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.55;
}

.byb-shop-count {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 6px 11px;
    border-radius: 999px;
    color: #ffffff;
    background: #1e5664;
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
}

.byb-shop-modules-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.byb-shop-module-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #d6e1e4;
    border-left: 6px solid #94a3b8;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 6px 17px rgba(30,73,87,.06);
}

.byb-shop-module-card.is-installed {
    border-left-color: #27a85b;
}

.byb-shop-module-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 16px 10px;
}

.byb-shop-module-card-head > div {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.byb-shop-module-card h3 {
    margin: 0;
    color: #1e4957;
    font-size: 17px;
}

.byb-shop-module-description {
    margin: 0;
    padding: 0 16px 13px;
    color: #64748b;
    font-size: 12.5px;
    line-height: 1.55;
}

.byb-shop-module-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-top: auto;
    border-top: 1px solid #e5ecef;
    border-bottom: 1px solid #e5ecef;
    background: #e5ecef;
}

.byb-shop-module-meta > div {
    min-width: 0;
    padding: 10px 12px;
    background: #f8fafb;
}

.byb-shop-module-meta small {
    display: block;
    margin-bottom: 4px;
    color: #64748b;
    font-size: 10.5px;
    font-weight: 800;
}

.byb-shop-module-meta strong {
    display: block;
    overflow-wrap: anywhere;
    color: #334b53;
    font-size: 12px;
}

.byb-shop-module-note {
    margin: 11px 14px 0;
    padding: 9px 10px;
    border-radius: 10px;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.45;
}

.byb-shop-module-note.is-warning {
    color: #92400e;
    background: #fef3c7;
}

.byb-shop-module-note.is-danger {
    color: #991b1b;
    background: #fee2e2;
}

.byb-shop-module-actions {
    display: flex;
    justify-content: flex-end;
    padding: 13px 15px 15px;
}

.byb-shop-module-actions form {
    margin: 0;
}

.byb-shop-modules-empty {
    padding: 21px;
    border: 1px dashed #b9cbd1;
    border-radius: 13px;
    color: #64748b;
    background: rgba(255,255,255,.72);
    text-align: center;
    font-size: 13px;
    font-weight: 700;
}

@media (max-width: 1050px) {
    .byb-modules-status-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .byb-shop-modules-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .byb-modules-status-grid {
        grid-template-columns: 1fr;
    }

    .byb-shop-modules-head {
        flex-direction: column;
    }

    .byb-shop-module-card-head {
        flex-direction: column;
    }

    .byb-shop-module-meta {
        grid-template-columns: 1fr;
    }

    .byb-shop-module-actions,
    .byb-shop-module-actions form,
    .byb-shop-module-actions .byb-module-button {
        width: 100%;
    }
}
/* =========================================================
   BYB Shop Module Center
   Gekaufte Module mit Hintergrundfarbe
   ========================================================= */

.byb-shop-modules-grid .byb-shop-module-card {
    background: #f7f9fa;
    border: 1px solid #dbe5e8;
    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

/* Wechselnder Hintergrund */
.byb-shop-modules-grid .byb-shop-module-card:nth-child(odd) {
    background: #f6f8f9;
}

.byb-shop-modules-grid .byb-shop-module-card:nth-child(even) {
    background: #eef3f4;
}

/* Bereits installierte gekaufte Module leicht grünlicher */
.byb-shop-modules-grid .byb-shop-module-card.is-installed {
    background: #edf7f1;
    border-color: #cfe6d8;
}

/* Noch nicht installierte gekaufte Module neutral */
.byb-shop-modules-grid .byb-shop-module-card.is-not-installed {
    background: #f7f9fa;
    border-color: #dbe5e8;
}

/* Hover */
.byb-shop-modules-grid .byb-shop-module-card:hover {
    background: #e4ecef;
    border-color: #c8d7dc;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

/* =========================================================
   BYB v2 Module Information Standard
   One central appearance for all module information cards.
   ========================================================= */

.byb-module-info {
    overflow: hidden;
    width: 100%;
    margin: 0 0 18px;
    border: 1px solid var(--byb-border);
    border-radius: 13px;
    background: var(--byb-card);
    box-shadow: 0 8px 24px rgba(15, 50, 58, 0.08);
}

.byb-module-info__header {
    padding: 16px 18px 13px;
    border-bottom: 1px solid #e5ecef;
    background: linear-gradient(145deg, #fcfdfd 0%, #f4f8f8 100%);
}

.byb-module-info__header h3 {
    margin: 0 0 4px;
    color: #173f49;
    font-size: 16px;
    font-weight: 850;
    line-height: 1.3;
}

.byb-module-info__header p {
    margin: 0;
    color: var(--byb-muted);
    font-size: 11.5px;
    line-height: 1.45;
}

.byb-module-info__body {
    padding: 16px 18px 18px;
}

.byb-module-info__section + .byb-module-info__section {
    margin-top: 18px;
    padding-top: 17px;
    border-top: 1px solid #e3eaec;
}

.byb-module-info__section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 9px;
}

.byb-module-info__section-head h4 {
    margin: 0;
    color: #315861;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: .085em;
    text-transform: uppercase;
}

.byb-module-info__badge,
.byb-module-info__state {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 7px;
    border: 1px solid #dbe5e7;
    border-radius: 999px;
    color: #526a70;
    background: #f3f7f8;
    font-size: 9px;
    font-weight: 850;
    line-height: 1.25;
}

.byb-module-info__badge.is-success,
.byb-module-info__state.is-success {
    border-color: #a9dfbd;
    color: #176b3b;
    background: #eaf8ef;
}

.byb-module-info__badge.is-warning,
.byb-module-info__state.is-warning {
    border-color: #efd28a;
    color: #805600;
    background: #fff8e7;
}

.byb-module-info__badge.is-danger,
.byb-module-info__state.is-danger {
    border-color: #efb8b8;
    color: #9a2929;
    background: #fff0f0;
}

.byb-module-info__list {
    margin: 0;
}

.byb-module-info__row {
    display: grid;
    grid-template-columns: minmax(112px, 42%) minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 7px 0;
    border-bottom: 1px solid #edf2f3;
}

.byb-module-info__row:last-child {
    border-bottom: 0;
}

.byb-module-info__row dt {
    margin: 0;
    color: #607279;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.45;
}

.byb-module-info__row dd {
    min-width: 0;
    margin: 0;
    color: #243f46;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.byb-module-info__row code {
    padding: 0;
    color: #315861;
    background: transparent;
    font: inherit;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 9px;
    overflow-wrap: anywhere;
}

.byb-module-info__license-editor {
    margin-top: 13px;
    padding-top: 13px;
    border-top: 1px solid #e3eaec;
}

.byb-module-info__license-form,
.byb-module-info__recheck-form {
    margin: 0;
}

.byb-module-info__field-label {
    display: block;
    margin: 0 0 6px;
    color: #315861;
    font-size: 10px;
    font-weight: 850;
}

.byb-module-info__input {
    width: 100%;
    min-height: 34px;
    padding: 7px 9px;
    border: 1px solid #cfdde0;
    border-radius: 8px;
    outline: 0;
    color: #243f46;
    background: #fff;
    font: inherit;
    font-size: 10px;
    transition: border-color .16s ease, box-shadow .16s ease;
}

.byb-module-info__input:focus {
    border-color: #56b87b;
    box-shadow: 0 0 0 3px rgba(39, 168, 91, .12);
}

.byb-module-info__hint {
    margin: 6px 0 9px;
    color: var(--byb-muted);
    font-size: 9px;
    line-height: 1.45;
}

.byb-module-info__button {
    display: inline-flex;
    width: 100%;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    font: inherit;
    font-size: 9px;
    font-weight: 850;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.byb-module-info__button.is-primary {
    border-color: var(--byb-green);
    color: #fff;
    background: var(--byb-green);
}

.byb-module-info__button.is-primary:hover {
    border-color: #208c4c;
    background: #208c4c;
    transform: translateY(-1px);
}

.byb-module-info__button.is-secondary {
    border-color: #9fcbb0;
    color: #176b3b;
    background: #f5fbf7;
}

.byb-module-info__button.is-secondary:hover {
    border-color: #69b584;
    color: #125a31;
    background: #ebf7ef;
}

.byb-module-info__recheck-form {
    margin-top: 7px;
}

@media (max-width: 900px) {
    .byb-module-info__row {
        grid-template-columns: minmax(120px, 38%) minmax(0, 1fr);
    }
}

@media (max-width: 560px) {
    .byb-module-info__body {
        padding: 15px;
    }

    .byb-module-info__row {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .byb-module-info__row dt {
        font-size: 9px;
    }

    .byb-module-info__row dd {
        font-size: 10px;
    }
}

/* =========================================================
   BYB DEMO PROTECTION – CENTRAL PAGE LOCK
   Used by: /admin/include/demo_page_guard.php
   ========================================================= */

.byb-demo-lock-overlay {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 48px 20px 64px;
    box-sizing: border-box;
}

.byb-demo-lock-dialog {
    width: 100%;
    max-width: 620px;
    overflow: hidden;
    border: 1px solid var(--byb-border, #d9e3e6);
    border-radius: 22px;
    background: #ffffff;
    box-shadow:
        0 24px 60px rgba(15, 50, 58, 0.18),
        0 8px 24px rgba(15, 50, 58, 0.10);
}

.byb-demo-lock-head {
    position: relative;
    padding: 28px 30px 25px;
    color: #ffffff;
    background:
        radial-gradient(
            circle at top left,
            rgba(39, 168, 91, 0.24),
            transparent 45%
        ),
        linear-gradient(
            135deg,
            var(--byb-dark-deep, #0f323a),
            var(--byb-dark, #143f49)
        );
}

.byb-demo-lock-head::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4px;
    background:
        linear-gradient(
            90deg,
            transparent,
            var(--byb-green, #27a85b),
            transparent
        );
    content: "";
}

.byb-demo-lock-kicker {
    display: block;
    margin-bottom: 8px;
    color: #a8e9c2;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.byb-demo-lock-head h2 {
    margin: 0 0 10px;
    color: #ffffff;
    font-size: 24px;
    font-weight: 850;
    line-height: 1.25;
}

.byb-demo-lock-head p {
    margin: 0;
    color: rgba(255, 255, 255, 0.80);
    font-size: 14px;
    line-height: 1.6;
}

.byb-demo-lock-form {
    padding: 27px 30px 30px;
}

.byb-demo-lock-form label {
    display: block;
    margin-bottom: 8px;
    color: #304850;
    font-size: 14px;
    font-weight: 800;
}

.byb-demo-lock-input {
    display: block;
    width: 100%;
    min-height: 50px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid #cfdcdf;
    border-radius: 11px;
    outline: none;
    color: #20353b;
    background: #f9fbfb;
    font: inherit;
    font-size: 15px;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background-color .18s ease;
}

.byb-demo-lock-input:hover {
    border-color: #b8c9cd;
    background: #ffffff;
}

.byb-demo-lock-input:focus {
    border-color: var(--byb-green, #27a85b);
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(39, 168, 91, 0.13);
}

.byb-demo-lock-error {
    margin: 0 0 18px;
    padding: 13px 15px;
    border: 1px solid #f0bcbc;
    border-left: 4px solid #b93535;
    border-radius: 11px;
    color: #842828;
    background: #fff0f0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.byb-demo-lock-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 22px;
    flex-wrap: wrap;
}

.byb-demo-lock-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 10px 17px;
    border: 1px solid transparent;
    border-radius: 11px;
    font: inherit;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        background-color .16s ease,
        border-color .16s ease,
        color .16s ease;
}

.byb-demo-lock-button.is-primary {
    border-color: #1f8d4c;
    color: #ffffff;
    background:
        linear-gradient(
            135deg,
            var(--byb-green, #27a85b),
            #218e4b
        );
    box-shadow: 0 7px 17px rgba(39, 168, 91, 0.20);
}

.byb-demo-lock-button.is-primary:hover,
.byb-demo-lock-button.is-primary:focus-visible {
    color: #ffffff;
    box-shadow: 0 10px 21px rgba(39, 168, 91, 0.27);
    transform: translateY(-1px);
}

.byb-demo-lock-button.is-secondary {
    border-color: #cbd8dc;
    color: #334b53;
    background: #ffffff;
}

.byb-demo-lock-button.is-secondary:hover,
.byb-demo-lock-button.is-secondary:focus-visible {
    color: #173f48;
    background: #f3f7f8;
    transform: translateY(-1px);
}

@media (max-width: 620px) {
    .byb-demo-lock-overlay {
        padding: 28px 12px 44px;
    }

    .byb-demo-lock-dialog {
        border-radius: 17px;
    }

    .byb-demo-lock-head {
        padding: 23px 21px 21px;
    }

    .byb-demo-lock-head h2 {
        font-size: 21px;
    }

    .byb-demo-lock-form {
        padding: 22px 21px 24px;
    }

    .byb-demo-lock-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .byb-demo-lock-button {
        width: 100%;
    }
}

