:root {
    color-scheme: light;
    --ink: #142033;
    --muted: #607086;
    --line: #d6dfeb;
    --soft: #f1f5f9;
    --panel: #ffffff;
    --brand: #075985;
    --brand-dark: #0c4a6e;
    --accent: #d97706;
    --shadow: 0 18px 45px rgba(15, 43, 70, .11);
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--ink);
    background: var(--soft);
    background-image: linear-gradient(180deg, #f8fbff 0, #f1f5f9 440px);
}

a {
    color: inherit;
    text-decoration: none;
}

main {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px max(16px, calc((100vw - 1180px) / 2));
    background: rgba(7, 31, 54, .96);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(14px);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 230px;
}

.brand small,
.muted,
.list-item small {
    color: var(--muted);
}

.brand,
.nav a {
    color: #e8f3fb;
}

.brand em {
    color: #7dd3fc;
    font-size: 11px;
    font-style: normal;
    letter-spacing: 1px;
}

.brand-mark {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    color: white;
    font-weight: 700;
    background: linear-gradient(135deg, #0284c7, #075985);
    border-radius: 8px;
}

.nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.nav a {
    padding: 10px 12px;
    border-radius: 8px;
}

.nav a:hover {
    background: rgba(255, 255, 255, .1);
}

.language-picker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-left: 4px;
    position: relative;
}

.language-picker-label {
    margin: 0;
    color: #b9d8eb;
    font-size: 12px;
    font-weight: 700;
}

.language-menu {
    position: relative;
}

.language-menu summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    min-width: 144px;
    padding: 7px 10px;
    color: #e8f3fb;
    background: #103e61;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 8px;
    cursor: pointer;
    list-style: none;
}

.language-menu summary::-webkit-details-marker {
    display: none;
}

.language-menu summary::after {
    content: "⌄";
    margin-left: auto;
    color: #b9d8eb;
}

.language-menu-list {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 60;
    display: grid;
    min-width: 180px;
    padding: 6px;
    background: #0e4469;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 8px;
    box-shadow: 0 16px 32px rgba(0, 0, 0, .22);
}

.language-menu-list a {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 7px 9px;
    color: #e8f3fb;
    border-radius: 6px;
    text-decoration: none;
}

.language-menu-list a:hover,
.language-menu-list a.active {
    background: rgba(255, 255, 255, .14);
}

.language-flag {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    width: 28px;
    height: 19px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 3px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow: 0 3px 8px rgba(0, 0, 0, .18);
}

.flag-de {
    background-image: linear-gradient(to bottom, #000 0 33.33%, #dd0000 33.33% 66.66%, #ffce00 66.66% 100%);
}

.flag-en {
    background-image:
        linear-gradient(#012169 0 0),
        linear-gradient(27deg, transparent 43%, #fff 43% 47%, #c8102e 47% 53%, #fff 53% 57%, transparent 57%),
        linear-gradient(153deg, transparent 43%, #fff 43% 47%, #c8102e 47% 53%, #fff 53% 57%, transparent 57%),
        linear-gradient(to right, transparent 42%, #fff 42% 47%, #c8102e 47% 53%, #fff 53% 58%, transparent 58%),
        linear-gradient(to bottom, transparent 38%, #fff 38% 45%, #c8102e 45% 55%, #fff 55% 62%, transparent 62%);
}

.flag-fr {
    background-image: linear-gradient(to right, #0055a4 0 33.33%, #fff 33.33% 66.66%, #ef4135 66.66% 100%);
}

.flag-ru {
    background-image: linear-gradient(to bottom, #fff 0 33.33%, #0039a6 33.33% 66.66%, #d52b1e 66.66% 100%);
}

.flag-uk {
    background-image: linear-gradient(to bottom, #0057b7 0 50%, #ffd700 50% 100%);
}

.flag-lt {
    background-image: linear-gradient(to bottom, #fdb913 0 33.33%, #006a44 33.33% 66.66%, #c1272d 66.66% 100%);
}

.flag-ko {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 48'%3E%3Crect width='72' height='48' fill='white'/%3E%3Cg transform='translate(36 24) rotate(-34)'%3E%3Cpath d='M0-9a9 9 0 0 1 0 18a4.5 4.5 0 0 1 0-9a4.5 4.5 0 0 0 0-9' fill='%23cd2e3a'/%3E%3Cpath d='M0 9a9 9 0 0 1 0-18a4.5 4.5 0 0 1 0 9a4.5 4.5 0 0 0 0 9' fill='%230047a0'/%3E%3C/g%3E%3Cg stroke='%23000' stroke-width='2.2'%3E%3Cpath d='M16 11l10 6M14 14l10 6M12 17l10 6M46 31l10 6M48 28l10 6M50 25l10 6M53 11l-10 6M56 14l-10 6M59 17l-10 6M19 31l-10 6M22 28l-10 6M25 25l-10 6'/%3E%3C/g%3E%3C/svg%3E");
}

.flag-zh {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 48'%3E%3Crect width='72' height='48' fill='%23de2910'/%3E%3Cg fill='%23ffde00'%3E%3Cpath d='M12 7l2.4 7.3h7.7l-6.2 4.5 2.4 7.3-6.3-4.5-6.2 4.5 2.4-7.3-6.2-4.5h7.7z'/%3E%3Cpath d='M30 6l1.1 3.3h3.5l-2.8 2 1.1 3.3-2.9-2-2.8 2 1.1-3.3-2.8-2H29zM37 14l1.1 3.3h3.5l-2.8 2 1.1 3.3-2.9-2-2.8 2 1.1-3.3-2.8-2H36zM37 26l1.1 3.3h3.5l-2.8 2 1.1 3.3-2.9-2-2.8 2 1.1-3.3-2.8-2H36zM30 34l1.1 3.3h3.5l-2.8 2 1.1 3.3-2.9-2-2.8 2 1.1-3.3-2.8-2H29z'/%3E%3C/g%3E%3C/svg%3E");
}

.topbar .button.ghost {
    color: #e8f3fb;
    border-color: rgba(255, 255, 255, .25);
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 16px;
    border: 0;
    border-radius: 8px;
    color: white;
    font-weight: 700;
    background: var(--brand);
    cursor: pointer;
}

.button:hover {
    background: var(--brand-dark);
}

.button:disabled {
    cursor: not-allowed;
    opacity: .45;
}

.button.secondary {
    color: var(--brand-dark);
    background: #d9f1ee;
}

.button.ghost {
    color: var(--brand-dark);
    background: transparent;
    border: 1px solid var(--line);
}

.button.large {
    min-height: 50px;
    padding-inline: 20px;
}

.button.full {
    width: 100%;
}

.hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: 42px;
    align-items: center;
    padding: 74px 0 34px;
}

.hero h1 span {
    color: var(--brand);
}

.hero h1,
.page-head h1 {
    margin: 0;
    font-size: clamp(34px, 5vw, 64px);
    line-height: 1.02;
    letter-spacing: 0;
}

.lead {
    max-width: 680px;
    color: var(--muted);
    font-size: 19px;
    line-height: 1.6;
}

.eyebrow {
    margin: 0 0 10px;
    color: var(--accent);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.actions,
.checkout-row {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.portal-preview,
.form-card,
.summary,
.product-card,
.list-item,
.stat {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: var(--shadow);
}

.portal-preview {
    padding: 22px;
    background: linear-gradient(145deg, #0b3658, #071f36);
    border-color: #17577d;
}

.preview-head {
    display: flex;
    gap: 8px;
    padding-bottom: 18px;
}

.preview-head span {
    width: 12px;
    height: 12px;
    background: #94a3b8;
    border-radius: 50%;
}

.metric-grid,
.section-grid,
.product-grid,
.stat-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.metric-grid div,
.section-grid article {
    padding: 18px;
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.portal-preview .metric-grid div {
    color: #f8fbff;
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .14);
}

.portal-preview .metric-grid small {
    color: #b9d8eb;
}

.metric-grid strong,
.stat strong {
    display: block;
    font-size: 28px;
}

.metric-grid small,
.stat span {
    color: var(--muted);
}

.section-grid,
.content-band,
.page-head,
.auth-panel,
.checkout-layout,
.admin-layout,
.builder-layout,
.list-stack {
    margin: 28px 0;
}

.content-band {
    padding: 28px;
    background: #eef4f8;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.section-title h2,
.product-card h2,
.product-card h3,
.form-card h1,
.form-card h2,
.list-item h2,
.summary h2 {
    margin-top: 0;
}

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

.product-card,
.list-item,
.form-card,
.summary,
.stat {
    padding: 22px;
}

.product-card {
    position: relative;
    display: flex;
    min-height: 260px;
    flex-direction: column;
    gap: 12px;
}

.product-badge,
.status-pill {
    display: inline-flex;
    align-self: flex-start;
    padding: 6px 9px;
    border-radius: 999px;
    color: #075985;
    font-size: 12px;
    font-weight: 800;
    background: #e0f2fe;
}

.status-pill.ok {
    color: #166534;
    background: #dcfce7;
}

.status-pill.warn {
    color: #991b1b;
    background: #fee2e2;
}

.product-meta {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
}

.product-meta span {
    padding: 6px 8px;
    color: #486176;
    font-size: 12px;
    background: #f1f5f9;
    border: 1px solid var(--line);
    border-radius: 6px;
}

.detail-meta {
    margin: 18px 0;
}

.license-tools {
    margin-top: 10px;
}

.license-tools summary {
    color: var(--brand);
    cursor: pointer;
    font-weight: 700;
}

.license-tools form {
    display: grid;
    gap: 8px;
    margin-top: 8px;
}

.product-card .button,
.product-card form {
    margin-top: auto;
}

.product-card p {
    line-height: 1.55;
}

.auth-panel {
    display: grid;
    place-items: start center;
    min-height: 65vh;
    padding-top: 42px;
}

.form-card {
    width: min(460px, 100%);
}

.form-card.wide {
    width: min(760px, 100%);
}

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

label {
    display: grid;
    gap: 8px;
    margin: 0 0 16px;
    font-weight: 700;
}

input,
textarea,
select {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    font: inherit;
    background: white;
}

textarea {
    resize: vertical;
}

.flash {
    width: min(1180px, calc(100% - 32px));
    margin: 18px auto 0;
    padding: 14px 16px;
    border-radius: 8px;
    background: #d9f1ee;
    border: 1px solid #99d5ce;
}

.flash.error {
    color: #7f1d1d;
    background: #fee2e2;
    border-color: #fecaca;
}

.page-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 30px;
}

.stat-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.stat {
    display: block;
}

.table-wrap {
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    min-width: 680px;
    background: white;
    border-radius: 8px;
    overflow: hidden;
}

th,
td {
    padding: 14px 16px;
    text-align: left;
    border-bottom: 1px solid var(--line);
}

th {
    color: var(--muted);
    font-size: 13px;
    text-transform: uppercase;
}

.qty {
    width: 90px;
}

.checkout-row {
    justify-content: flex-end;
    margin-top: 20px;
}

.checkout-layout,
.admin-layout,
.builder-layout {
    display: grid;
    grid-template-columns: minmax(300px, 460px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.builder-layout {
    grid-template-columns: minmax(360px, 680px) minmax(0, 1fr);
}

.builder-toolbar,
.searchbar {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin: 18px 0;
}

.searchbar input {
    flex: 1 1 360px;
}

.builder-fields {
    display: grid;
    gap: 10px;
    margin: 18px 0;
}

.builder-row {
    display: grid;
    grid-template-columns: 28px minmax(160px, 1fr) 130px 92px auto;
    gap: 10px;
    align-items: center;
    padding: 10px;
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.drag {
    color: var(--muted);
    font-weight: 800;
    cursor: grab;
}

.choice,
.mini-choice {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    gap: 8px;
}

.choice input,
.mini-choice input {
    width: auto;
}

.inline-form {
    margin: 0;
}

.inline-form select {
    min-width: 130px;
}

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

.prose {
    line-height: 1.7;
}

.prose p {
    margin: 0 0 16px;
}

code {
    display: inline-block;
    padding: 4px 6px;
    border-radius: 6px;
    background: #f1f5f9;
    border: 1px solid var(--line);
}

.row-editor {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(120px, 1fr) minmax(150px, 1fr) 150px auto;
    gap: 10px;
    align-items: center;
    margin: 0 0 10px;
}

.product-editor {
    display: grid;
    width: 100%;
    max-width: none;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    align-items: end;
}

.admin-products-layout {
    margin: 28px 0;
}

.admin-products-layout .product-editor,
.table-wrap .product-editor {
    width: 100%;
    max-width: none;
    margin-bottom: 16px;
}

.product-editor > input[type="hidden"] {
    display: none;
}

.product-editor input[type="checkbox"] {
    width: auto;
}

.support-topic-editor {
    display: grid;
    grid-template-columns: minmax(180px, .8fr) minmax(240px, 1.4fr) 90px 150px auto;
    gap: 12px;
    align-items: end;
}

.wide-field {
    grid-column: 1 / -1;
}

.danger-form {
    display: flex;
    justify-content: flex-end;
}

.action-item {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
}

.product-image {
    display: block;
    width: 100%;
    min-height: 130px;
    max-height: 190px;
    object-fit: cover;
    background: #eef4f8;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.product-preview img {
    display: block;
    width: min(220px, 100%);
    max-height: 140px;
    object-fit: cover;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.product-detail {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
    gap: 28px;
    align-items: start;
    margin: 28px 0;
}

.product-detail-image,
.product-detail-content {
    width: 100%;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: var(--shadow);
}

.product-detail-image {
    display: block;
    max-height: 520px;
    object-fit: cover;
}

.product-detail-content {
    padding: 28px;
}

.formatted-text p {
    margin: 0 0 16px;
    line-height: 1.75;
}

.detail-price {
    display: block;
    margin: 20px 0;
    font-size: 26px;
}

.support-admin-post {
    border-color: #99d5ce;
    background: #f0fdfa;
}

.forum-thread {
    margin-top: 20px;
}

.forum-post {
    box-shadow: none;
}

.forum-post-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--line);
}

.post-tools {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}

.post-tools summary {
    cursor: pointer;
    color: var(--brand-dark);
    font-weight: 700;
    margin-bottom: 12px;
}

.summary p {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--line);
}

.summary .total {
    font-size: 20px;
    border-bottom: 0;
}

.payment-box {
    margin: 14px 0;
    padding: 14px;
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 8px;
}

.payment-box p {
    margin: 8px 0 0;
    color: var(--muted);
}

.is-hidden {
    display: none;
}

.list-stack {
    display: grid;
    gap: 16px;
}

.footer {
    display: flex;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 50px;
    padding: 28px 16px;
    color: var(--muted);
    border-top: 1px solid var(--line);
}

.brand-logo { width: 54px; height: 44px; object-fit: contain; background: #fff; border-radius: 8px; }
.market-hero { margin-top: 24px; padding: 34px; color: #fff; background: linear-gradient(135deg, var(--brand-dark), var(--brand)); border-radius: 12px; }
.market-hero h1 { max-width: 820px; margin: 0; font-size: clamp(32px, 5vw, 58px); line-height: 1.05; }
.market-hero .lead { color: #dbeafe; }
.market-search { display: grid; grid-template-columns: minmax(140px, 210px) 1fr auto; gap: 0; max-width: 920px; margin-top: 22px; }
.market-search input, .market-search select, .market-search .button { min-height: 50px; margin: 0; border-radius: 0; }
.market-search select { border-radius: 8px 0 0 8px; }
.market-search .button { border-radius: 0 8px 8px 0; background: var(--accent); }
.shop-filter { max-width: none; margin: 0 0 24px; }
.category-strip, .promo-tiles, .event-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 20px 0; }
.category-strip a, .promo-tile, .event-card { display: flex; flex-direction: column; gap: 7px; padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.category-strip small, .promo-tile small, .event-card small { color: var(--muted); }
.market-slider { display: grid; gap: 14px; margin: 20px 0; }
.market-slide { position: relative; min-height: 190px; overflow: hidden; background: var(--brand-dark); border-radius: 10px; }
.market-slide img { width: 100%; height: 240px; object-fit: cover; opacity: .78; }
.market-slide span { position: absolute; left: 24px; bottom: 22px; display: flex; flex-direction: column; gap: 5px; color: #fff; font-size: 25px; }
.promo-tile img, .event-card img { width: 100%; height: 145px; object-fit: cover; border-radius: 6px; }
.event-zone { margin: 32px 0; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.event-widget { margin-top: 22px; }
.event-widget iframe { height: var(--event-widget-height, 330px) !important; min-height: 0 !important; }
.market-banner { width: min(1180px, calc(100% - 32px)); margin: 18px auto; overflow: hidden; border-radius: 10px; }
.market-banner img { display: block; width: 100%; max-height: 220px; object-fit: cover; }
.notice { padding: 14px; color: var(--brand-dark); background: #e7f5f3; border-radius: 8px; }
.module-warning { display: inline-block; margin-top: 7px; color: #9a3412; font-weight: 700; }
.banner-editor { margin: 12px 0; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.banner-editor summary { cursor: pointer; }
.banner-admin-preview { display: block; width: min(100%, 640px); max-height: 180px; object-fit: cover; border-radius: 7px; }
.carousel-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.carousel-actions { display: flex; gap: 8px; }
.carousel-button { width: 42px; height: 42px; color: var(--brand-dark); font-size: 30px; line-height: 1; background: #fff; border: 1px solid var(--line); border-radius: 50%; cursor: pointer; }
.carousel-button:hover { color: #fff; background: var(--brand); }
.product-carousel { display: flex; gap: 16px; margin-top: 16px; padding: 4px 2px 18px; overflow-x: auto; scroll-behavior: auto; scrollbar-color: var(--brand) var(--soft); }
.home-product-card { display: flex; flex: 0 0 210px; flex-direction: column; gap: 10px; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.home-product-card img, .home-product-placeholder { display: grid; width: 100%; height: 148px; place-items: center; object-fit: cover; color: #fff; font-size: 32px; font-weight: 700; background: linear-gradient(135deg, var(--brand), var(--brand-dark)); border-radius: 6px; }
.home-product-card strong { line-height: 1.35; }
.carousel-all-link { display: inline-block; margin-top: 5px; color: var(--brand); font-weight: 700; }

@media (max-width: 850px) {
    .topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .nav {
        width: 100%;
        justify-content: flex-start;
    }

    .language-picker {
        width: 100%;
    }

    .hero,
    .checkout-layout,
    .admin-layout,
    .builder-layout,
    .product-detail {
        grid-template-columns: 1fr;
    }

    .metric-grid,
    .section-grid,
    .product-grid,
    .stat-row,
    .category-strip,
    .promo-tiles,
    .event-grid {
        grid-template-columns: 1fr;
    }

    .market-search { grid-template-columns: 1fr; }
    .market-search input, .market-search select, .market-search .button { border-radius: 8px; }

    .content-band {
        padding: 18px;
    }

    .builder-row,
    .form-grid,
    .row-editor,
    .product-editor,
    .support-topic-editor {
        grid-template-columns: 1fr;
    }
}

.logout-form{display:inline;margin:0}.logout-form button{font:inherit}.legal-choice{align-items:flex-start;gap:.65rem}.legal-choice input{margin-top:.3rem}.notice-error{padding:12px;border:1px solid #b91c1c;background:#fef2f2;border-radius:8px}.checkout-item{padding:.75rem 0;border-bottom:1px solid #e5e7eb}.checkout-item small{color:#6b7280}


/* Softplus Unternehmens-Cockpit */
.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.module-card{display:flex;gap:1rem;padding:1.25rem;border:1px solid rgba(100,116,139,.25);border-radius:18px;background:var(--surface,#fff);box-shadow:0 10px 30px rgba(15,23,42,.06)}.module-card h2{margin:.15rem 0 .5rem}.module-icon{display:grid;place-items:center;flex:0 0 58px;height:58px;border-radius:16px;background:rgba(37,99,235,.1);font-size:1.8rem}.module-locked{opacity:.78}.module-card .button,.module-card .status-pill{display:inline-flex;margin:.65rem .4rem 0 0}


/* Phase 75: Softplus Mobile PWA */
.mobile-app-shell{max-width:1100px;margin:auto}.mobile-app-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.mobile-app-head h1{margin:.2rem 0}.mobile-status{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0 1.5rem}.mobile-status span{padding:.45rem .75rem;border-radius:999px;background:#eef4f8;font-size:.9rem}.mobile-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.8rem;margin:1rem 0 1.5rem}.mobile-action{display:flex;min-height:105px;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;text-align:center;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);text-decoration:none}.mobile-action strong{font-size:1.8rem}.mobile-action span{font-weight:700}.mobile-app-shell fieldset{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.5rem;border:1px solid var(--line);border-radius:10px;margin:1rem 0;padding:1rem}.mobile-app-shell label{display:block;margin:.7rem 0}.mobile-app-shell[data-compact="1"] .mobile-action{min-height:78px}.mobile-app-shell[data-compact="1"] .card{padding:.85rem}@media(max-width:650px){.mobile-app-head{align-items:flex-start;flex-direction:column}.mobile-action-grid{grid-template-columns:repeat(2,1fr)}.mobile-app-shell .button{min-height:44px}.mobile-app-shell input,.mobile-app-shell select{width:100%;min-height:44px}}

/* Softplus Admin UI – Hotfix 12 */
.admin-body{background:#081f35;background-image:none;color:#10213a;overflow-x:hidden}.admin-body main{width:auto;margin:0}.admin-app{min-height:100vh;display:grid;grid-template-columns:286px minmax(0,1fr);background:linear-gradient(135deg,#08233d 0,#0b3152 55%,#0b2741 100%)}
.admin-sidebar{position:fixed;inset:0 auto 0 0;width:286px;z-index:30;display:flex;flex-direction:column;background:linear-gradient(180deg,#082844,#092f50);border-right:1px solid rgba(255,255,255,.09);box-shadow:10px 0 35px rgba(0,0,0,.14);color:#eaf5ff}.admin-brand{display:flex;align-items:center;gap:12px;padding:20px 18px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.admin-brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;background:linear-gradient(135deg,#0d87d3,#21b1e9);font-weight:800;font-size:19px}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font-size:17px}.admin-brand small{margin-top:3px;color:#9bc2dc;font-size:12px}.admin-home-link{display:flex;gap:11px;align-items:center;margin:16px 12px 8px;padding:12px 14px;border-radius:9px;font-weight:700}.admin-home-link:hover,.admin-home-link.active{background:linear-gradient(90deg,#1768a4,#1d78b7);box-shadow:0 8px 20px rgba(0,0,0,.15)}
.admin-menu{flex:1;overflow:auto;padding:0 10px 18px;scrollbar-width:thin}.admin-menu details{margin:4px 0}.admin-menu summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:11px 9px;color:#99bdd6;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.55px;cursor:pointer}.admin-menu summary::-webkit-details-marker{display:none}.admin-menu details[open] summary span{transform:rotate(180deg)}.admin-menu details>div{display:grid;gap:2px}.admin-menu a{display:flex;align-items:center;gap:10px;min-height:39px;padding:8px 11px;border-radius:8px;color:#d8ebf8;font-size:13px}.admin-menu a i{display:grid;place-items:center;width:25px;height:25px;font-style:normal;color:#5bc4ff;font-weight:800}.admin-menu a:hover,.admin-menu a.active{background:rgba(61,151,215,.21);color:#fff}.admin-menu a.active{border-left:3px solid #4ec3ff;padding-left:8px}.admin-sidebar-footer{margin:12px;padding:13px;border-radius:10px;background:rgba(255,255,255,.07);font-size:12px}.admin-sidebar-footer strong,.admin-sidebar-footer small{display:block}.admin-sidebar-footer small{color:#a5c4d9;margin:4px 0 10px}.admin-sidebar-footer span{display:inline-block;color:#7cf0a2;background:rgba(31,184,95,.16);padding:4px 8px;border-radius:20px}
.admin-workspace{grid-column:2;min-width:0}.admin-topbar{position:sticky;top:0;z-index:20;height:74px;display:flex;align-items:center;gap:18px;padding:0 28px;background:rgba(5,27,48,.93);border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(14px);color:#eaf6ff}.admin-menu-toggle{display:none;background:transparent;color:#fff;border:0;font-size:25px;cursor:pointer}.admin-search{width:min(520px,48vw);display:flex;align-items:center;gap:10px;padding:0 14px;background:#0a2946;border:1px solid rgba(255,255,255,.12);border-radius:10px}.admin-search input{height:42px;flex:1;color:#eaf6ff;background:transparent;border:0;outline:0;padding:0}.admin-search input::placeholder{color:#86a8c1}.admin-top-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.admin-top-actions>a{color:#eaf6ff}.admin-user{display:flex;align-items:center;gap:9px}.admin-user strong,.admin-user small{display:block}.admin-user small{color:#93b3ca;font-size:11px;margin-top:2px}.admin-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#1768a4;font-weight:800}.admin-logout{padding:8px 11px;border:1px solid rgba(255,255,255,.2);border-radius:8px}.admin-main{padding:28px;max-width:1480px}.admin-flash{margin:18px 28px 0}
.admin-welcome{display:flex;justify-content:space-between;align-items:flex-start;color:#fff;margin-bottom:20px}.admin-welcome p{margin:0 0 5px;color:#b8d1e3}.admin-welcome h1{font-size:28px;margin:0 0 7px;letter-spacing:-.4px}.admin-welcome h1 span{font-size:24px}.admin-date{text-align:right;color:#d9ebf6}.admin-date strong,.admin-date span{display:block}.admin-date span{color:#8fb3cb;font-size:13px;margin-top:4px}
.admin-kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-bottom:18px}.admin-kpis>a{position:relative;min-height:128px;padding:18px;background:#fff;border:1px solid #d9e4ed;border-radius:11px;box-shadow:0 10px 28px rgba(0,12,28,.14)}.admin-kpis i{float:left;display:grid;place-items:center;width:43px;height:43px;margin-right:12px;border-radius:10px;background:#e9f4ff;color:#1470bd;font-style:normal;font-size:20px;font-weight:800}.admin-kpis span,.admin-kpis strong,.admin-kpis small{display:block}.admin-kpis span{font-size:13px;margin:2px 0 5px}.admin-kpis strong{font-size:23px}.admin-kpis small{clear:both;padding-top:11px;color:#6c7d90;font-size:12px}.admin-kpis>a:nth-child(2) i{color:#f08b00;background:#fff4dc}.admin-kpis>a:nth-child(3) i{color:#7b43ce;background:#f2eaff}.admin-kpis>a:nth-child(4) i{color:#19a15f;background:#e7f8ef}.admin-kpis>a:nth-child(5) i{color:#16884c;background:#e6f8ed}
.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px}.admin-panel{background:#fff;border:1px solid #dce5ed;border-radius:11px;box-shadow:0 12px 30px rgba(0,12,28,.13);overflow:hidden}.admin-panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e3eaf0}.admin-panel-head p{margin:0;color:#718196;font-size:11px;text-transform:uppercase;font-weight:800}.admin-panel-head h2{margin:3px 0 0;font-size:17px}.admin-panel-head>a{color:#176db0;font-size:12px;font-weight:700}.admin-module-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}.admin-module-cards>a{display:flex;align-items:center;min-height:100px;padding:15px;border:1px solid #dfe6ed;border-radius:9px;transition:.15s;background:#fff}.admin-module-cards>a:hover{transform:translateY(-2px);border-color:#7ab8e5;box-shadow:0 8px 18px rgba(25,93,143,.11)}.admin-module-cards i{display:grid;place-items:center;flex:0 0 44px;height:44px;margin-right:12px;border-radius:10px;background:#eaf4ff;color:#1671be;font-style:normal;font-size:20px;font-weight:800}.admin-module-cards div{min-width:0}.admin-module-cards strong,.admin-module-cards span{display:block}.admin-module-cards strong{font-size:14px;margin-bottom:5px}.admin-module-cards span{color:#66788c;font-size:11px;line-height:1.45}.admin-module-cards b{margin-left:auto;color:#648099;font-size:22px}.admin-module-cards>a:nth-child(2) i,.admin-module-cards>a:nth-child(5) i{color:#19a15f;background:#e7f8ef}.admin-module-cards>a:nth-child(3) i,.admin-module-cards>a:nth-child(6) i{color:#ee8200;background:#fff2df}.admin-module-cards>a:nth-child(4) i{color:#24963c;background:#eaf8e7}.admin-module-cards>a:nth-child(8) i{color:#0d98a4;background:#e4f8f9}.admin-module-cards>a:nth-child(9) i{color:#df3f42;background:#ffe9e9}
.admin-side-stack{display:grid;gap:18px;align-content:start}.admin-quick{padding-bottom:12px}.admin-quick .admin-panel-head,.admin-system-info .admin-panel-head{padding:15px 16px}.admin-quick>a{display:block;padding:8px 17px;font-size:13px;color:#344c64}.admin-quick>a:hover{color:#116cb0;background:#f3f8fc}.admin-quick hr{border:0;border-top:1px solid #e3e9ef;margin:8px 16px}.admin-system-info{padding-bottom:12px}.admin-system-info p{display:flex;justify-content:space-between;margin:0;padding:8px 16px;font-size:12px}.admin-system-info p span{color:#6d7d8e}.admin-system-info .ok{color:#159347}.admin-system-info>a{display:block;margin:10px 16px 0;padding-top:10px;border-top:1px solid #e3e9ef;color:#176db0;font-size:12px}.admin-orders-panel{margin-top:18px}.admin-orders-panel table{margin:0}.admin-empty{text-align:center;color:#718196;padding:28px!important}
.admin-body .page-head{margin:0 0 20px;padding:18px 20px;background:#fff;border-radius:10px;box-shadow:0 10px 25px rgba(0,0,0,.12)}.admin-body .page-head h1{font-size:27px}.admin-body .content-band,.admin-body .form-card,.admin-body .summary,.admin-body .list-item,.admin-body .section{background:#fff;border-radius:10px}.admin-body .footer{display:none}
@media(max-width:1180px){.admin-kpis{grid-template-columns:repeat(3,1fr)}.admin-module-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.admin-app{display:block}.admin-sidebar{transform:translateX(-102%);transition:.22s}.admin-sidebar.open{transform:translateX(0)}.admin-workspace{margin-left:0}.admin-menu-toggle{display:block}.admin-user>span:last-child{display:none}.admin-dashboard-grid{grid-template-columns:1fr}.admin-side-stack{grid-template-columns:repeat(2,1fr)}.admin-main{padding:20px}.admin-topbar{padding:0 18px}.admin-search{width:min(520px,60vw)}}
@media(max-width:640px){.admin-top-actions .admin-logout,.admin-top-actions>a:first-child{display:none}.admin-search{width:auto;flex:1}.admin-main{padding:14px}.admin-welcome{display:block}.admin-date{display:none}.admin-welcome h1{font-size:23px}.admin-kpis{grid-template-columns:repeat(2,1fr)}.admin-kpis>a{min-height:115px}.admin-module-cards{grid-template-columns:1fr}.admin-side-stack{grid-template-columns:1fr}.admin-panel-head{align-items:flex-start;gap:8px}.admin-panel-head>a{white-space:nowrap}}

/* Hotfix 13: einheitliche, kontrastreiche Darstellung aller älteren Adminmodule */
.admin-module-page{background:#f7f9fc;color:#14243a;border:1px solid rgba(207,219,231,.9);border-radius:14px;box-shadow:0 16px 38px rgba(0,0,0,.16);padding:24px;min-height:calc(100vh - 130px);overflow:hidden}
.admin-module-page,.admin-module-page *{box-sizing:border-box}
.admin-module-page h1,.admin-module-page h2,.admin-module-page h3,.admin-module-page h4,.admin-module-page p,.admin-module-page label,.admin-module-page legend,.admin-module-page th,.admin-module-page td,.admin-module-page strong,.admin-module-page span:not(.badge):not(.button){color:#14243a}
.admin-module-page h1{font-size:clamp(25px,2.4vw,34px);line-height:1.2;margin:0 0 10px;letter-spacing:-.4px}
.admin-module-page h2{font-size:22px;line-height:1.25;margin:24px 0 12px}
.admin-module-page h3{font-size:18px;margin:20px 0 10px}
.admin-module-page p{line-height:1.55;margin:0 0 16px;color:#53677e}
.admin-module-page .section,.admin-module-page .card,.admin-module-page .form-card,.admin-module-page .content-band,.admin-module-page .summary,.admin-module-page fieldset{background:#fff;color:#14243a;border:1px solid #dbe4ed;border-radius:12px;box-shadow:0 5px 16px rgba(21,48,73,.06);padding:20px;margin:0 0 18px}
.admin-module-page form:not(.logout-form){background:#fff;border:1px solid #dbe4ed;border-radius:10px;padding:16px;margin:14px 0 18px}
.admin-module-page .section form,.admin-module-page .card form,.admin-module-page fieldset form{border:0;padding:0;box-shadow:none;margin:12px 0 0}
.admin-module-page label{display:block;font-weight:700;font-size:14px;margin:12px 0 6px}
.admin-module-page input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.admin-module-page select,.admin-module-page textarea{display:block;width:100%;max-width:100%;min-height:42px;padding:10px 12px;margin:0;background:#fff;color:#14243a;border:1px solid #cbd8e5;border-radius:8px;outline:none;font:inherit}
.admin-module-page textarea{min-height:100px;resize:vertical}
.admin-module-page input:focus,.admin-module-page select:focus,.admin-module-page textarea:focus{border-color:#1976b9;box-shadow:0 0 0 3px rgba(25,118,185,.13)}
.admin-module-page input[type=checkbox],.admin-module-page input[type=radio]{accent-color:#176dab;width:17px;height:17px;vertical-align:middle}
.admin-module-page button,.admin-module-page .button,.admin-module-page input[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 15px;border:0;border-radius:8px;background:#0d6fa8;color:#fff!important;font-weight:700;text-decoration:none;cursor:pointer;margin:8px 6px 0 0}
.admin-module-page button:hover,.admin-module-page .button:hover,.admin-module-page input[type=submit]:hover{background:#095983}
.admin-module-page a{color:#0b68a2;text-decoration:none}.admin-module-page a:hover{text-decoration:underline}
.admin-module-page .table-wrap{width:100%;overflow:auto;background:#fff;border:1px solid #dbe4ed;border-radius:10px;margin:12px 0 20px}
.admin-module-page table{width:100%;border-collapse:collapse;background:#fff;color:#14243a;margin:0}
.admin-module-page th{background:#edf3f8;color:#48627c!important;font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:12px;border-bottom:1px solid #d8e2ec}
.admin-module-page td{padding:12px;border-bottom:1px solid #e3eaf1;vertical-align:top}
.admin-module-page tr:last-child td{border-bottom:0}
.admin-module-page .grid.cards,.admin-module-page .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:16px 0}
.admin-module-page .grid.cards article,.admin-module-page .cards article{background:#fff;border:1px solid #dbe4ed;border-radius:10px;padding:16px;box-shadow:0 4px 12px rgba(21,48,73,.05)}
.admin-module-page .grid.cards article strong,.admin-module-page .cards article strong{display:block;font-size:26px;color:#0d6fa8!important}
.admin-module-page .grid.cards article span,.admin-module-page .cards article span{display:block;margin-top:4px;color:#60748a!important}
.admin-module-page .inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.admin-module-page .inline-form label{flex:1 1 190px;margin:0}.admin-module-page .inline-form button{margin:0}
.admin-module-page .badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#e8f2fa;color:#0c6095!important;font-size:12px;font-weight:700}
.admin-module-page .flash,.admin-module-page .notice,.admin-module-page .notice-error{color:#14243a}
.admin-module-page .mobile-app-shell{max-width:none;margin:0}.admin-module-page .mobile-action{color:#14243a;background:#fff}.admin-module-page .mobile-action strong,.admin-module-page .mobile-action span{color:#14243a!important}
@media(max-width:760px){.admin-module-page{padding:15px;border-radius:10px}.admin-module-page .section,.admin-module-page .card,.admin-module-page form:not(.logout-form){padding:14px}.admin-module-page .inline-form{display:block}.admin-module-page .inline-form label{margin-top:10px}}
