:root {
    --rd-orange: #ff6a00;
    --rd-accent: #ff6a00;
    --rd-orange-dark: #e85e00;
    --rd-orange-soft: #fff1e6;
    --rd-orange-mid: #ffe0cc;
    --rd-text: #1f2937;
    --rd-muted: #6b7280;
    --rd-line: #eef0f3;
    --rd-bg: #ffffff;
    --rd-card: #ffffff;
    --rd-green: #067647;
    --rd-green-bg: #e7f8ee;
    --rd-radius: 12px;
    --rd-sidebar: 248px;
    --rd-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 24px rgba(16, 24, 40, 0.04);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body.rd-body {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--rd-text);
    background: var(--rd-bg);
    min-height: 100vh;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }

.rd-ico { width: 20px; height: 20px; display: inline-block; vertical-align: middle; }

/* Login */
.rd-login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: linear-gradient(180deg, #fff 0%, var(--rd-bg) 100%);
}
.rd-login-card {
    width: 100%;
    max-width: 420px;
    background: #fff;
    border-radius: 16px;
    box-shadow: var(--rd-shadow);
    padding: 2rem 1.75rem 1.75rem;
    border: 1px solid var(--rd-line);
}
.rd-login-logo { display: block; height: 36px; margin: 0 auto 1.5rem; }
.rd-login-card h1 { margin: 0 0 0.35rem; font-size: 1.35rem; text-align: center; }
.rd-lead { margin: 0 0 1.25rem; color: var(--rd-muted); text-align: center; font-size: 0.95rem; }
.rd-login-card label { display: block; margin: 0.75rem 0 0.3rem; font-size: 0.9rem; font-weight: 600; }
.rd-login-card input[type="email"],
.rd-login-card input[type="password"],
.rd-login-card input[type="text"] {
    width: 100%;
    padding: 0.7rem 0.8rem;
    border: 1px solid #d9dee6;
    border-radius: 10px;
    background: #fff;
}
.rd-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 148px;
    margin-top: 1.1rem;
    border: 0;
    background: var(--rd-orange);
    color: #fff;
    font-weight: 700;
    padding: 0.7rem 1.15rem;
    border-radius: 10px;
    cursor: pointer;
}
.rd-login-card .rd-btn-primary { width: 100%; }
.rd-reset-resend { margin-top: 0.65rem; }
.rd-reset-resend .rd-btn-outline { width: 100%; }
.rd-btn-primary:hover { background: var(--rd-orange-dark); }
.rd-alert {
    background: #fdecea;
    color: #7a1f1a;
    padding: 0.7rem 0.8rem;
    margin-bottom: 1rem;
    border-radius: 10px;
    border: 1px solid #f0c2bd;
}
.rd-linkish {
    display: block;
    margin-top: 0.85rem;
    text-align: center;
    background: none;
    border: 0;
    color: var(--rd-muted);
    text-decoration: underline;
    cursor: pointer;
    width: 100%;
}

/* App shell */
.rd-nav-toggle { position: absolute; opacity: 0; pointer-events: none; }
.rd-wrap {
    display: flex;
    min-height: 100vh;
}
.rd-sidebar {
    width: var(--rd-sidebar);
    background: #fff;
    border-right: 1px solid var(--rd-line);
    display: flex;
    flex-direction: column;
    padding: 1.1rem 0.85rem 1rem;
    position: sticky;
    top: 0;
    height: 100vh;
    z-index: 30;
}
.rd-brand {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.6rem 1.1rem;
}
.rd-brand img { height: 32px; display: block; }
.rd-nav { display: flex; flex-direction: column; gap: 0.2rem; flex: 1; overflow: auto; }
.rd-nav-gap { flex-shrink: 0; height: 0.75rem; pointer-events: none; }
.rd-nav-gap.is-double { height: 1.5rem; }
.rd-nav a {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.62rem 0.75rem;
    border-radius: 10px;
    color: #374151;
    font-weight: 600;
    font-size: 0.92rem;
}
.rd-nav a:hover { background: #f7f8fa; }
.rd-nav a.is-active {
    background: var(--rd-orange);
    color: #fff;
}
.rd-nav .rd-badge-count {
    margin-left: auto;
    background: #fff;
    color: var(--rd-orange);
    min-width: 1.25rem;
    height: 1.25rem;
    border-radius: 999px;
    font-size: 0.72rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}
.rd-nav a.is-active .rd-badge-count {
    background: #fff;
    color: var(--rd-orange);
}
.rd-nav .rd-badge-count.is-alert,
.rd-nav a.is-active .rd-badge-count.is-alert {
    background: #dc2626;
    color: #fff;
}
.rd-support-box {
    margin-top: 0.75rem;
    background: #f7f8fa;
    border-radius: 12px;
    padding: 0.9rem;
    font-size: 0.82rem;
}
.rd-support-box strong { display: block; margin-bottom: 0.2rem; }
.rd-support-box span { color: var(--rd-muted); }
.rd-support-box .rd-btn-outline {
    margin-top: 0.7rem;
    width: 100%;
    border: 1px solid var(--rd-orange);
    color: var(--rd-orange);
    background: #fff;
    border-radius: 9px;
    padding: 0.5rem 0.6rem;
    font-weight: 700;
    font-size: 0.8rem;
    display: inline-flex;
    justify-content: center;
}

.rd-maincol { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.rd-top {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.4rem;
    background: #fff;
    border-bottom: 1px solid var(--rd-line);
}
.rd-menu-btn {
    display: none;
    border: 0;
    background: #f3f5f7;
    border-radius: 8px;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.rd-host { color: var(--rd-muted); font-weight: 600; font-size: 0.92rem; margin-right: auto; }
.rd-top-actions { display: flex; align-items: center; gap: 0.45rem; }
.rd-icon-btn {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 1px solid var(--rd-line);
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #4b5563;
    position: relative;
}
.rd-icon-btn .rd-dot {
    position: absolute;
    top: 7px;
    right: 8px;
    width: 8px;
    height: 8px;
    background: var(--rd-orange);
    border-radius: 50%;
}
.rd-user {
    position: relative;
    margin-left: 0.25rem;
}
.rd-user > summary {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    cursor: pointer;
    padding: 0.2rem 0.35rem 0.2rem 0.55rem;
    border-radius: 999px;
}
.rd-user > summary::-webkit-details-marker { display: none; }
.rd-user-name { font-weight: 700; font-size: 0.88rem; max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--rd-orange-soft);
    color: var(--rd-orange-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}
.rd-user-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    background: #fff;
    border: 1px solid var(--rd-line);
    border-radius: 10px;
    min-width: 228px;
    box-shadow: var(--rd-shadow);
    padding: 0.4rem;
    z-index: 40;
}
.rd-user-menu a,
.rd-user-menu button {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    border: 0;
    background: none;
    text-align: left;
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    color: inherit;
    text-decoration: none;
    box-sizing: border-box;
}
.rd-user-menu a .rd-ico {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    opacity: 0.72;
}
.rd-user-menu a:hover,
.rd-user-menu button:hover { background: #f7f8fa; }
.rd-user-menu-sep {
    height: 1px;
    background: var(--rd-line);
    margin: 0.3rem 0.4rem;
}

.rd-staff {
    background: #fff7ed;
    color: #9a3412;
    padding: 0.55rem 1.4rem;
    font-size: 0.85rem;
    font-weight: 600;
    border-bottom: 1px solid #fed7aa;
}

.rd-content {
    padding: 1.35rem 1.4rem 5.5rem;
    flex: 1;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.rd-hello { margin-bottom: 0.35rem; }
.rd-hello h1 { margin: 0 0 0.25rem; font-size: 1.55rem; }
.rd-hello p { margin: 0 0 0.85rem; color: var(--rd-muted); }

.rd-kpis {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.9rem;
    margin-bottom: 1rem;
}
.rd-kpi {
    background: var(--rd-card);
    border-radius: var(--rd-radius);
    box-shadow: var(--rd-shadow);
    padding: 1rem 1.05rem 0.9rem;
    border: 1px solid #f0f2f5;
}
.rd-kpi-top { display: flex; justify-content: space-between; align-items: flex-start; }
.rd-kpi-label { color: var(--rd-muted); font-size: 0.82rem; font-weight: 600; }
.rd-kpi-value { font-size: 1.7rem; font-weight: 800; margin: 0.35rem 0 0.55rem; }
.rd-kpi-link { color: var(--rd-orange); font-weight: 700; font-size: 0.82rem; }
.rd-kpi-ico {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--rd-orange-soft);
    color: var(--rd-orange);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rd-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.9fr;
    gap: 0.9rem;
    margin-bottom: 0.9rem;
}
.rd-home-block {
    margin-bottom: 0.9rem;
}
.rd-home-block .rd-card {
    width: 100%;
}
.rd-card {
    background: var(--rd-card);
    border-radius: var(--rd-radius);
    box-shadow: var(--rd-shadow);
    border: 1px solid #f0f2f5;
    padding: 1.2rem 1.25rem 1.25rem;
}
.rd-card h2 {
    margin: 0 0 0.9rem;
    font-size: 1.02rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid var(--rd-line);
}
.rd-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid var(--rd-line);
}
.rd-row:last-child { border-bottom: 0; }
.rd-row-ico {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #f3f5f7;
    color: #4b5563;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.rd-row-main { flex: 1; min-width: 0; }
.rd-row-title { font-weight: 700; font-size: 0.9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-row-sub { color: var(--rd-muted); font-size: 0.78rem; }
.rd-muted { color: var(--rd-muted); font-size: 0.9rem; margin: 0; }

.rd-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.18rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}
.rd-badge-ok { background: var(--rd-green-bg); color: var(--rd-green); }
.rd-badge-open { background: #eef2ff; color: #3730a3; }
.rd-badge-reply { background: #fff4e5; color: #c2410c; }
.rd-badge-yours { background: var(--rd-orange-soft); color: var(--rd-orange-dark); }
.rd-badge-waiting { background: #eef2f7; color: #475569; }
.rd-badge-closed { background: #f3f4f6; color: #6b7280; }
.rd-badge-done { background: var(--rd-green-bg); color: var(--rd-green); }

.rd-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.rd-table th {
    text-align: left;
    color: var(--rd-muted);
    font-weight: 600;
    padding: 0.45rem 0.4rem 0.65rem;
    border-bottom: 1px solid var(--rd-line);
}
.rd-table td { padding: 0.7rem 0.4rem; border-bottom: 1px solid var(--rd-line); }
.rd-table tr:last-child td { border-bottom: 0; }
.rd-table tr.rd-act-main td { border-bottom: 0; padding-bottom: 0.2rem; }
.rd-table tr.rd-act-meta td {
    padding-top: 0;
    padding-bottom: 0.7rem;
    color: var(--rd-muted);
    font-size: 0.75rem;
}
.rd-act-device {
    display: block;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.table-wrap { overflow-x: auto; }
.rd-inv-code { font-weight: 700; letter-spacing: 0.01em; }
.rd-inv-ip-stack {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}
.rd-inv-ip-actions { width: 1%; text-align: right; }
.rd-inv-asn-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 0.75rem;
    align-items: flex-end;
    margin-top: 0.75rem;
}
.rd-inv-asn-form label {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-size: 0.78rem;
    font-weight: 600;
}
.rd-inv-asn-form input {
    min-width: 10rem;
    padding: 0.35rem 0.5rem;
    border: 1px solid var(--rd-line);
    border-radius: 8px;
    font-weight: 500;
}
.rd-rpki-box { margin-top: 0.65rem; }
.rd-ptr-search { display: flex; gap: 0.45rem; margin-bottom: 0.8rem; }
.rd-ptr-search input { flex: 1; max-width: 16rem; }
.rd-ptr-table .rd-ptr-host { width: 100%; min-width: 16rem; }
.rd-ptr-actions { display: flex; gap: 0.5rem; margin-top: 0.8rem; flex-wrap: wrap; }
.rd-inv-link { font-weight: 700; }
.rd-inv-sub { display: block; margin-top: 0.2rem; font-size: 0.8rem; font-weight: 500; }
.rd-rack-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(228px, 1fr));
    gap: 1.1rem;
}
.rd-rack { display: flex; align-items: stretch; }
.rd-rack-ear {
    width: 13px;
    flex-shrink: 0;
    background:
        radial-gradient(circle at 50% 14px, #9aa3ad 0 2px, transparent 2.4px),
        radial-gradient(circle at 50% 36px, #9aa3ad 0 2px, transparent 2.4px),
        radial-gradient(circle at 50% calc(100% - 36px), #9aa3ad 0 2px, transparent 2.4px),
        radial-gradient(circle at 50% calc(100% - 14px), #9aa3ad 0 2px, transparent 2.4px),
        #3d444d;
    border-radius: 3px;
}
.rd-rack-body {
    flex: 1;
    min-width: 0;
    background: #1c2026;
    color: #f3f4f6;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px #111318, 0 8px 20px rgba(16, 24, 40, 0.18);
}
.rd-rack-top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.55rem 0.7rem;
    background: #111318;
}
.rd-rack-code { font-size: 0.98rem; letter-spacing: 0.02em; }
.rd-rack-top span { color: #c5c9d0; font-size: 0.75rem; font-weight: 700; }
.rd-rack-face {
    display: grid;
    grid-template-columns: 16px 1fr 16px;
    min-height: 148px;
    background: #15181d;
}
.rd-rack-units {
    background:
        repeating-linear-gradient(
            to bottom,
            #2a3038 0,
            #2a3038 7px,
            #1a1e24 7px,
            #1a1e24 10px
        );
    box-shadow: inset 0 0 0 1px #0d0f12;
}
.rd-rack-pdu {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0.35rem 0;
    background: var(--rd-orange);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
}
.rd-rack-pdu.is-b { background: #c45500; }
.rd-rack-pdus {
    display: grid;
    gap: 0.35rem;
    padding: 0.55rem 0.7rem 0.45rem;
    background: #15181d;
    border-top: 1px solid #2a3038;
}
.rd-rack-pdus span {
    display: block;
    color: #9aa3ad;
    font-size: 0.68rem;
    font-weight: 700;
}
.rd-rack-pdus strong {
    display: block;
    font-size: 0.74rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}
.rd-rack-meta {
    display: grid;
    gap: 0.15rem;
    padding: 0.5rem 0.7rem 0.7rem;
    background: #111318;
    color: #c5c9d0;
    font-size: 0.74rem;
}
.rd-rack-meta a { color: #fff; font-weight: 800; }
.rd-rack-detail-btn {
    display: block;
    margin: 0 0.7rem 0.75rem;
    text-align: center;
    background: var(--rd-orange);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 800;
    padding: 0.5rem 0.6rem;
    border-radius: 8px;
}
.rd-rack-detail-btn:hover { background: #c45500; color: #fff; }
.rd-rack.is-reserved { pointer-events: none; }
.rd-rack.is-reserved .rd-rack-body { position: relative; }
.rd-rack.is-reserved .rd-rack-ear,
.rd-rack.is-reserved .rd-rack-top,
.rd-rack.is-reserved .rd-rack-face,
.rd-rack.is-reserved .rd-rack-pdus,
.rd-rack.is-reserved .rd-rack-meta {
    opacity: 0.42;
    filter: grayscale(1);
}
.rd-rack-reserve {
    position: absolute;
    left: 50%;
    top: 46%;
    z-index: 2;
    transform: translate(-50%, -50%);
    padding: 0.35rem 0.75rem;
    border: 2px solid rgba(255, 255, 255, 0.9);
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    pointer-events: none;
}
.rd-cab-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    margin: -0.4rem 0 1rem;
    color: var(--rd-muted);
    font-size: 0.86rem;
    font-weight: 700;
}
.rd-cab-meta a {
    background: #000;
    color: var(--rd-orange);
    font-weight: 800;
    padding: 0.12rem 0.45rem;
    border-radius: 4px;
    text-decoration: none;
}
.rd-cab-detail {
    display: grid;
    grid-template-columns: minmax(420px, 520px) minmax(0, 1fr);
    gap: 1.15rem;
    align-items: start;
}
.rd-cab-side {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
    min-width: 0;
}
.rd-cab-col h2 { margin: 0 0 0.75rem; font-size: 1.05rem; }
.rd-cab-code-bar {
    margin: -0.35rem 0 0.7rem;
    padding: 0.35rem 0.55rem;
    background: #111318;
    color: #fff;
    font-size: 0.92rem;
    font-weight: 800;
    border-radius: 6px;
    text-align: center;
}
.rd-cab-drag-hint { margin: 0.65rem 0 0; font-size: 0.78rem; }
.rd-cab-u.is-movable { cursor: grab; }
.rd-cab-u.is-dragging { opacity: 0.45; }
.rd-cab-u.is-drop.is-preview .rd-cab-u-empty { color: var(--rd-orange); }
.rd-cab-u.is-drop.is-over { background: #2a3340; }
.rd-cab-u.is-locked { cursor: default; }
.rd-cab-inv.is-over { box-shadow: inset 0 0 0 2px var(--rd-orange); }
.rd-cab-inv h2 { margin: 0 0 0.35rem; font-size: 1.05rem; }
.rd-cab-inv-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 0.55rem;
    margin-top: 0.7rem;
}
.rd-cab-inv-item {
    padding: 0.55rem 0.65rem;
    border-radius: 10px;
    background: #f6f7f9;
    border: 1px solid var(--rd-line, #e6e8ec);
}
.rd-cab-inv-item.is-free { box-shadow: inset 4px 0 0 #1a9d4a; }
.rd-cab-inv-item.is-placed {
    background: #f0f1f4;
    box-shadow: inset 4px 0 0 #6b7380;
}
.rd-cab-inv-item.is-movable { cursor: grab; }
.rd-cab-inv-item.is-placed { cursor: default; }
.rd-cab-inv-item.is-dragging { opacity: 0.45; }
.rd-cab-inv-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.4rem;
}
.rd-cab-inv-tools {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    flex-shrink: 0;
}
.rd-cab-inv-item strong { display: block; font-size: 0.86rem; }
.rd-eq-name {
    color: inherit;
    text-decoration: none;
}
.rd-eq-name:hover { text-decoration: underline; }
.rd-eq-dcsn {
    margin-left: 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #e5e7eb;
}
.rd-cab-inv .rd-eq-dcsn { color: #1f2937; }
.rd-eq-settings {
    flex-shrink: 0;
    display: inline-flex;
    width: 1.2rem;
    height: 1.2rem;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    color: #6b7380;
    background: #fff;
    border: 1px solid #e6e8ec;
}
.rd-eq-settings:hover { color: #111; border-color: #c8ccd2; }
.rd-eq-gear { width: 0.78rem; height: 0.78rem; display: block; }
.rd-cab-inv-badge {
    flex-shrink: 0;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
    background: #e6e8ec;
    color: #6b7380;
}
.rd-cab-inv-item.is-free .rd-cab-inv-badge { background: #d9f3e3; color: #146c38; }
.rd-cab-inv-item span { display: block; color: var(--rd-muted); font-size: 0.74rem; margin-top: 0.15rem; }
.rd-cab-inv-item em { display: block; margin-top: 0.2rem; font-style: normal; font-size: 0.72rem; font-weight: 700; color: #6b7380; }
.rd-cab-inv-actions { margin-top: 0.5rem; display: flex; flex-wrap: wrap; gap: 0.35rem; }
.rd-cab-inv-unplace {
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.22rem 0.5rem;
    border-radius: 6px;
    border: 1px solid #c8ccd2;
    background: #fff;
    color: #111;
    cursor: pointer;
}
.rd-cab-inv-unplace:hover { border-color: #111; }
.rd-pwr {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-inline-end: 0.4rem;
    vertical-align: middle;
    position: relative;
    top: -1px;
}
.rd-pwr.is-on { background: #1a9d4a; box-shadow: 0 0 0 2px rgba(26, 157, 74, 0.22); }
.rd-pwr.is-off { background: #d12b2b; box-shadow: 0 0 0 2px rgba(209, 43, 43, 0.2); }
.rd-upl-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.15rem;
}
.rd-upl-card {
    border: 1px solid #e6e8ec;
    border-radius: 12px;
    padding: 0.85rem 0.95rem 1rem;
    background: #fff;
}
.rd-upl-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}
.rd-upl-top strong { font-size: 0.95rem; }
.rd-upl-oper {
    font-size: 0.68rem;
    font-weight: 800;
    padding: 0.12rem 0.4rem;
    border-radius: 999px;
}
.rd-upl-oper.is-up { background: #d9f3e3; color: #146c38; }
.rd-upl-oper.is-down { background: #f8d4d4; color: #a31b1b; }
.rd-upl-oper.is-unk { background: #eef0f3; color: #6b7380; }
.rd-upl-meta { display: block; margin-top: 0.2rem; font-size: 0.74rem; color: var(--rd-muted); }
.rd-upl-rates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
    margin: 0.7rem 0 0.45rem;
}
.rd-upl-rates span {
    display: block;
    font-size: 0.68rem;
    font-weight: 800;
    color: #6b7380;
    text-transform: uppercase;
}
.rd-upl-rates strong { display: block; margin-top: 0.1rem; }
.rd-upl-bar {
    height: 6px;
    border-radius: 999px;
    background: #eef0f3;
    overflow: hidden;
}
.rd-upl-bar i { display: block; height: 100%; background: var(--rd-orange); }
.rd-upl-graph {
    display: block;
    max-width: 680px;
    margin: 0.55rem 0 0.3rem;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e6e8ec;
    color: inherit;
    text-decoration: none;
}
.rd-upl-graph.is-detail { max-width: 820px; }
.rd-upl-graph img {
    display: block;
    width: 100%;
    height: auto;
}
.rd-upl-spark { display: block; width: 100%; height: 28px; }
.rd-upl-foot {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0.55rem 0 0.65rem;
    font-size: 0.74rem;
    font-weight: 700;
}
.rd-upl-hist { margin-top: 1rem; }
.rd-upl-hist-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.6rem;
}
.rd-upl-hist-head h2 { margin: 0; }
.rd-upl-periods { display: flex; gap: 0.35rem; }
.rd-upl-periods a {
    font-size: 0.72rem;
    font-weight: 800;
    padding: 0.22rem 0.5rem;
    border-radius: 6px;
    border: 1px solid #d5d8de;
    color: inherit;
    text-decoration: none;
}
.rd-upl-periods a.is-on { background: #111; color: #fff; border-color: #111; }
.rd-t-wrap { margin-top: 0.4rem; }
.rd-t-svg { display: block; width: 100%; height: 140px; }
.rd-t-grid { stroke: #e6e8ec; stroke-width: 1; }
.rd-t-line-in { stroke: #1a9d4a; stroke-width: 1.8; }
.rd-t-line-out { stroke: var(--rd-orange); stroke-width: 1.8; }
.rd-t-x { fill: #6b7380; font-size: 8px; font-weight: 700; }
.rd-e-legend .is-in i { background: #1a9d4a; }
.rd-e-legend .is-out i { background: var(--rd-orange); }
.rd-eq-search {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}
.rd-eq-search input[type="search"] {
    flex: 1 1 14rem;
    min-width: 0;
    border: 1px solid #d5d8de;
    border-radius: 8px;
    padding: 0.45rem 0.7rem;
    font: inherit;
}
.rd-eq-table td strong { display: block; }
.rd-eq-table .rd-btn-inline { margin-top: 0; white-space: nowrap; }
.rd-eq-sub {
    display: block;
    margin-top: 0.15rem;
    color: var(--rd-muted);
    font-size: 0.74rem;
    font-weight: 600;
}
.rd-eq-tag {
    display: inline-block;
    margin: 0 0.2rem 0.2rem 0;
    padding: 0.08rem 0.4rem;
    border-radius: 999px;
    background: #eef0f3;
    font-size: 0.7rem;
    font-weight: 800;
    color: #6b7380;
}
.rd-eq-pager {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 0.8rem 0 0;
    font-size: 0.82rem;
    font-weight: 800;
}
.rd-eq-detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}
@media (max-width: 900px) {
    .rd-eq-detail { grid-template-columns: 1fr; }
}
.rd-eq-dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem 1rem;
    margin: 0 0 0.75rem;
}
.rd-eq-dl dt {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #6b7380;
}
.rd-eq-dl dd { margin: 0.15rem 0 0; font-weight: 700; }
.rd-eq-field {
    display: block;
    margin: 0 0 0.75rem;
}
.rd-eq-field span {
    display: block;
    margin-bottom: 0.25rem;
    font-size: 0.78rem;
    font-weight: 800;
}
.rd-eq-field input,
.rd-eq-field select,
.rd-eq-field textarea {
    width: 100%;
    border: 1px solid #d5d8de;
    border-radius: 8px;
    padding: 0.45rem 0.65rem;
    font: inherit;
}
.rd-eq-unplace { margin-top: 0.6rem; }
.rd-eq-log { margin-top: 1rem; }
.rd-eq-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
}
.rd-eq-timeline li {
    padding: 0.55rem 0 0.55rem 0.85rem;
    border-left: 2px solid #e6e8ec;
}
.rd-eq-timeline li strong { display: block; font-size: 0.78rem; }
.rd-eq-timeline li span { display: block; margin-top: 0.15rem; }
.rd-eq-timeline li em {
    display: block;
    margin-top: 0.15rem;
    font-style: normal;
    font-size: 0.7rem;
    font-weight: 700;
    color: #6b7380;
}
.rd-cab-col h3 { margin: 1.15rem 0 0.55rem; font-size: 0.92rem; }
.rd-cab-full { display: flex; align-items: stretch; }
.rd-cab-full-ears {
    width: 16px;
    flex-shrink: 0;
    background:
        repeating-linear-gradient(#9aa3ad 0 2px, transparent 2px 24px),
        #3d444d;
    border-radius: 3px;
}
.rd-cab-full-body {
    flex: 1;
    min-width: 0;
    background: #15181d;
    color: #f3f4f6;
    border-radius: 4px;
    overflow: hidden;
}
.rd-cab-u {
    display: grid;
    grid-template-columns: 48px 1fr;
    min-height: 28px;
    border-bottom: 1px solid #2a3038;
}
.rd-cab-u.is-filled { background: #2a3340; }
.rd-cab-u-num {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #111318;
    color: #c5c9d0;
    font-size: 0.68rem;
    font-weight: 800;
}
.rd-cab-u-empty {
    display: flex;
    align-items: center;
    padding: 0 0.45rem;
    color: #6b7380;
    font-size: 0.7rem;
}
.rd-cab-u-eq {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.08rem;
    padding: 0.28rem 0.5rem;
}
.rd-cab-u-eq-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
}
.rd-cab-u-eq strong { font-size: 0.8rem; }
.rd-cab-u-eq span { color: #c5c9d0; font-size: 0.7rem; }
.rd-cab-u-eq .rd-eq-settings {
    color: #fff;
    background: rgba(0, 0, 0, 0.2);
    border-color: rgba(255, 255, 255, 0.16);
}
.rd-cab-u-eq .rd-eq-settings:hover { color: #ff6a00; border-color: #ff6a00; }
.rd-cab-unplaced { margin-top: 0.9rem; }
.rd-cab-unplaced h3 { margin: 0 0 0.4rem; font-size: 0.88rem; }
.rd-cab-unplaced ul { margin: 0; padding-left: 1.1rem; }
.rd-cab-unplaced li { margin: 0.2rem 0; font-size: 0.84rem; }
.rd-cab-col .rd-period-nav { margin: 0 0 0.75rem; }
.rd-e-pdu-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.7rem;
}
.rd-e-pdu-card {
    background: #f6f7f9;
    border-radius: 12px;
    padding: 0.65rem 0.7rem 0.55rem;
}
.rd-e-pdu-card.is-a { box-shadow: inset 4px 0 0 var(--rd-orange); }
.rd-e-pdu-card.is-b { box-shadow: inset 4px 0 0 #c45500; }
.rd-e-pdu-drop {
    min-height: 2rem;
    margin: 0 0 0.4rem;
    padding: 0.3rem 0.4rem;
    border: 1px dashed #e0c4b0;
    border-radius: 8px;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--rd-muted);
}
.rd-e-pdu-drop.is-over { background: #ffe8d6; border-color: var(--rd-orange); }
.rd-psu-row { display: flex; flex-wrap: wrap; gap: 0.22rem; margin-top: 0.28rem; }
.rd-psu-chip {
    font-size: 0.68rem;
    font-weight: 800;
    padding: 0.1rem 0.38rem;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
}
.rd-psu-chip.is-a { background: #16a34a; color: #fff; }
.rd-psu-chip.is-b { background: #2563eb; color: #fff; }
.rd-psu-chip[draggable="true"] { cursor: grab; }
.rd-psu-chip.is-dragging { opacity: 0.55; }
.rd-e-pdu-name { display: block; font-size: 0.72rem; font-weight: 800; color: var(--rd-muted); }
.rd-e-pdu-code { display: block; font-size: 0.84rem; overflow-wrap: anywhere; }
.rd-e-kw-label { display: block; margin-top: 0.45rem; font-size: 0.7rem; font-weight: 800; color: var(--rd-muted); }
.rd-e-kw { font-size: 1.35rem; font-weight: 800; line-height: 1.15; }
.rd-e-period-kwh {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    margin: 0.25rem 0 0.45rem;
    font-size: 0.74rem;
    font-weight: 700;
    color: var(--rd-muted);
}
.rd-e-period-kwh strong { color: #111318; }
.rd-e-dual {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 0.35rem 0.3rem 0.25rem;
}
.rd-e-dual-head {
    display: flex;
    justify-content: space-between;
    gap: 0.4rem;
    font-size: 0.68rem;
    font-weight: 800;
    color: var(--rd-muted);
}
.rd-e-dual-head em { font-style: normal; font-weight: 600; }
.rd-e-dual-svg { display: block; width: 100%; height: 118px; }
.rd-e-dual-grid { stroke: #e6e8ec; stroke-width: 1; }
.rd-e-line-kw { stroke: #111318; stroke-width: 1.8; }
.rd-e-line-kwh { stroke: var(--rd-orange); stroke-width: 1.8; }
.rd-e-dual-x { fill: #9aa3ad; font-size: 8px; font-weight: 700; }
.rd-e-legend {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.15rem;
    font-size: 0.68rem;
    font-weight: 800;
    color: var(--rd-muted);
}
.rd-e-legend i {
    display: inline-block;
    width: 12px;
    height: 2px;
    margin-right: 0.28rem;
    vertical-align: middle;
    background: #111318;
}
.rd-e-legend .is-kwh i { background: var(--rd-orange); }
.rd-e-empty { margin: 0.55rem 0.2rem; font-size: 0.78rem; }
.rd-e-hit { cursor: crosshair; }
.rd-e-hover, .rd-e-line-kw, .rd-e-line-kwh, .rd-e-dual-x { pointer-events: none; }
.rd-e-hover-x { stroke: var(--rd-orange); stroke-width: 1; stroke-dasharray: 2 2; }
.rd-e-hover-kw { fill: #111318; stroke: #fff; stroke-width: 1; }
.rd-e-hover-kwh { fill: var(--rd-orange); stroke: #fff; stroke-width: 1; }
.rd-e-tip {
    position: absolute;
    top: 1.55rem;
    z-index: 2;
    min-width: 7.2rem;
    padding: 0.35rem 0.45rem;
    background: #111318;
    color: #f3f4f6;
    border-radius: 6px;
    font-size: 0.7rem;
    font-weight: 700;
    pointer-events: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}
.rd-e-tip strong { display: block; color: var(--rd-orange); margin-bottom: 0.12rem; }
.rd-e-tip span { display: block; }
.rd-e-week { margin-top: 0.9rem; }
.rd-e-week h3 { margin: 0 0 0.45rem; font-size: 0.92rem; }
.rd-e-week-table td:nth-child(n+2),
.rd-e-week-table th:nth-child(n+2) { text-align: right; }
@media (max-width: 980px) {
    .rd-cab-detail { grid-template-columns: 1fr; }
    .rd-e-pdu-grid { grid-template-columns: 1fr; }
}

.rd-bottom {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    border-top: 1px solid var(--rd-line);
    padding: 0.35rem 0.4rem calc(0.35rem + env(safe-area-inset-bottom));
    z-index: 25;
}
.rd-bottom a, .rd-bottom label {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    font-size: 0.68rem;
    font-weight: 700;
    color: #6b7280;
    padding: 0.35rem 0;
}
.rd-bottom a.is-active { color: var(--rd-orange); }

.rd-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.35);
    z-index: 25;
    cursor: pointer;
}

.rd-login-links { text-align: center; margin: 1rem 0 0; }
.rd-login-links a { color: var(--rd-orange, #ff6a00); font-weight: 700; font-size: 0.9rem; }
.rd-ok {
    background: #e7f8ee;
    color: #067647;
    padding: 0.7rem 0.8rem;
    margin-bottom: 1rem;
    border-radius: 10px;
    border: 1px solid #b7e4c7;
}
.rd-flash { margin: 0 0 1rem; }
.rd-account-card {
    margin-bottom: 1rem;
    max-width: none;
    width: 100%;
}
.rd-account-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.35rem;
}
.rd-account-head h2 { margin: 0; }
.rd-account-head .rd-btn-primary {
    margin-top: 0;
    min-width: 0;
    gap: 0.4rem;
}
.rd-account-head .rd-ico { width: 16px; height: 16px; }
.rd-account-card h2 {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}
.rd-account-card h2::before {
    content: "";
    width: 4px;
    height: 1.05rem;
    border-radius: 4px;
    background: var(--rd-orange);
    flex-shrink: 0;
}
.rd-account-card h3 { font-size: 0.92rem; margin: 1.15rem 0 0.5rem; color: #111827; }
.rd-account-card > .rd-muted { margin: -0.35rem 0 0.9rem; }
.rd-stack label { display: block; margin: 0.7rem 0 0.3rem; font-size: 0.86rem; font-weight: 600; }
.rd-stack input[type="password"],
.rd-stack input[type="text"],
.rd-stack input[type="email"],
.rd-stack input[type="number"] {
    width: 100%;
    max-width: 100%;
    padding: 0.62rem 0.75rem;
    border: 1px solid #d9dee6;
    border-radius: 10px;
    background: #fff;
}
.rd-stack input:focus {
    outline: 2px solid var(--rd-orange-mid);
    border-color: var(--rd-orange);
}
.rd-btn-inline,
.rd-btn-primary.rd-btn-inline {
    width: auto;
    margin-top: 0.95rem;
    padding: 0.58rem 1.15rem;
}
.rd-hint { color: var(--rd-muted); font-size: 0.8rem; margin: 0.4rem 0 0.65rem; line-height: 1.4; }
.rd-qr {
    margin: 0.75rem 0;
    display: inline-block;
    padding: 16px;
    background: #fff;
    border: 1px solid var(--rd-line);
    border-radius: 8px;
    line-height: 0;
}
.rd-qr svg,
.rd-qr img,
.rd-qr-img {
    width: auto;
    height: auto;
    max-width: 100%;
    display: block;
    border: 0;
    border-radius: 0;
    background: #fff;
    image-rendering: pixelated;
    image-rendering: crisp-edges;
}
.rd-secret {
    display: block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    word-break: break-all;
    background: #f7f8fa;
    padding: 0.6rem 0.75rem;
    border-radius: 8px;
    margin: 0 0 0.35rem;
}
.rd-twofa-actions { margin-top: 1rem; }
.rd-twofa-label {
    display: block;
    font-size: 0.86rem;
    font-weight: 600;
    margin: 0 0 0.35rem;
}
.rd-twofa-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}
.rd-twofa-verify,
.rd-twofa-regen {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
}
.rd-twofa-verify input {
    width: 7.25rem;
    padding: 0.58rem 0.75rem;
    border: 1px solid #d9dee6;
    border-radius: 10px;
    background: #fff;
}
.rd-twofa-verify .rd-btn-primary,
.rd-twofa-regen .rd-btn-quiet {
    margin-top: 0;
    min-width: 0;
    width: auto;
    white-space: nowrap;
}
.rd-codes { display: grid; grid-template-columns: 1fr 1fr; gap: 0.25rem 1rem; font-family: ui-monospace, monospace; font-size: 0.85rem; padding-left: 1.1rem; }
.rd-inline-form { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center; margin: 0.45rem 0; }
.rd-inline-form input[type="text"], .rd-inline-form select {
    padding: 0.5rem 0.65rem;
    border: 1px solid #d9dee6;
    border-radius: 8px;
    min-width: 220px;
    background: #fff;
}
.rd-sec-list { list-style: none; margin: 0.35rem 0 0; padding: 0; }
.rd-sec-list li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.5rem 0; border-bottom: 1px solid var(--rd-line); font-size: 0.88rem; }
.rd-placeholder {
    background: #fff;
    border-radius: var(--rd-radius);
    padding: 2rem 1.25rem;
    text-align: center;
    color: var(--rd-muted);
    box-shadow: var(--rd-shadow);
}
.rd-btn-outline.rd-btn-inline,
button.rd-btn-outline {
    border: 1px solid var(--rd-orange);
    background: #fff;
    color: var(--rd-orange);
    border-radius: 9px;
    padding: 0.5rem 0.85rem;
    font-weight: 700;
    cursor: pointer;
    width: auto;
}
.rd-btn-outline.rd-btn-inline:hover,
button.rd-btn-outline:hover { background: var(--rd-orange-soft); }

.rd-subnav {
    margin: 0 0 1.15rem;
    max-width: none;
    width: 100%;
}
.rd-subnav ul {
    list-style: none;
    margin: 0;
    padding: 0.3rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    background: #fff;
    border: 1px solid var(--rd-line);
    border-radius: 12px;
    box-shadow: var(--rd-shadow);
}
.rd-subnav a {
    display: inline-flex;
    align-items: center;
    padding: 0.48rem 0.85rem;
    font-size: 0.84rem;
    font-weight: 700;
    color: #4b5563;
    border-radius: 8px;
    white-space: nowrap;
}
.rd-subnav a:hover { background: var(--rd-orange-soft); color: var(--rd-orange-dark); }
.rd-subnav a.is-active {
    background: var(--rd-orange);
    color: #fff;
}
#profil, #sifre, #iki-adim, #giris-kaynagi { scroll-margin-top: 4.5rem; }
.rd-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.15rem 1rem;
}
.rd-form-grid .rd-span-2 { grid-column: 1 / -1; }
.rd-company-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}
.rd-company-row-actions .rd-inline-form { display: inline; margin: 0; }
.rd-company-row-actions button.rd-linkish {
    background: none;
    border: 0;
    padding: 0;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    color: inherit;
}
.rd-link-danger { color: #b42318; }
.rd-link-danger:hover { color: #912018; }
#sifre .rd-stack input[type="password"] { max-width: 320px; }
#iki-adim .rd-stack input[type="text"],
#iki-adim .rd-stack input[type="password"] { max-width: 280px; }
.rd-check,
.rd-stack label.rd-check {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    margin: 1rem 0 0.15rem;
}
.rd-check input { width: auto; accent-color: var(--rd-orange); }
.rd-dl { display: grid; grid-template-columns: 140px 1fr; gap: 0.4rem 1rem; margin: 0.5rem 0 0; }
.rd-dl dt { color: var(--rd-muted); font-size: 0.82rem; }
.rd-dl dd { margin: 0; font-weight: 600; }
.rd-pager { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.9rem; }
.rd-pager a {
    min-width: 2rem;
    text-align: center;
    padding: 0.3rem 0.5rem;
    border-radius: 8px;
    border: 1px solid var(--rd-line);
    font-weight: 700;
    font-size: 0.85rem;
}
.rd-pager a.is-active {
    background: var(--rd-orange);
    color: #fff;
    border-color: transparent;
}
.rd-nowrap { white-space: nowrap; }

.rd-account-flash { max-width: none; width: 100%; }
.rd-staff-note {
    background: #fff7ed;
    color: #9a3412;
    padding: 0.7rem 0.85rem;
    margin: 0 0 1rem;
    border-radius: 10px;
    border: 1px solid #fed7aa;
    font-size: 0.88rem;
    font-weight: 600;
}
.rd-status {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.18rem 0.6rem;
    font-size: 0.75rem;
    font-weight: 800;
}
.rd-status-on { background: var(--rd-green-bg); color: var(--rd-green); }
.rd-status-off { background: #f3f4f6; color: #6b7280; }
.rd-status-wait { background: #fff7ed; color: #c2410c; }
.rd-btn-quiet {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d1d5db;
    background: #fff;
    color: #374151;
    font-weight: 700;
    padding: 0.5rem 0.9rem;
    border-radius: 9px;
    cursor: pointer;
    width: auto;
    min-width: 0;
    margin-top: 0;
}
.rd-btn-quiet:hover { background: #f3f5f7; }
.rd-btn-quiet:disabled,
.rd-btn-primary:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.rd-inline-form .rd-btn-primary,
.rd-inline-form .rd-btn-quiet { margin-top: 0; min-width: 0; }
.rd-security-wrap { max-width: none; width: 100%; }
.rd-session-card {
    background: #fff;
    border: 1px solid var(--rd-line);
    border-radius: var(--rd-radius);
    box-shadow: var(--rd-shadow);
    padding: 1rem 1.15rem 0.85rem;
    margin: 0 0 1rem;
}
.rd-session-label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--rd-muted);
    margin-bottom: 0.35rem;
}
.rd-session-values {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    font-weight: 800;
    font-size: 0.95rem;
    font-variant-numeric: tabular-nums;
}
.rd-chip-row { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.65rem 0 0.15rem; }
.rd-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.2rem 0.6rem;
    font-size: 0.72rem;
    font-weight: 800;
}
.rd-chip-ok { background: var(--rd-green-bg); color: var(--rd-green); }
.rd-chip-warn { background: #fff4e5; color: #c2410c; }
.rd-restrict {
    background: #fff;
    border: 1px solid var(--rd-line);
    border-radius: var(--rd-radius);
    box-shadow: var(--rd-shadow);
    padding: 1rem 1.15rem 1.05rem;
    margin: 0 0 0.85rem;
    border-left: 5px solid #d1d5db;
}
.rd-restrict.is-on { border-left-color: var(--rd-green); }
.rd-restrict.is-off { border-left-color: #c4c9d1; }
.rd-restrict-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.15rem;
}
.rd-restrict-head h3 { margin: 0; font-size: 1rem; }
.rd-switch-form,
.rd-switch-wrap { margin: 0; display: inline-flex; align-items: center; }
.rd-switch-btn {
    display: inline-flex;
    align-items: center;
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    cursor: pointer;
    font: inherit;
}
.rd-switch {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.rd-switch-track {
    width: 2.45rem;
    height: 1.28rem;
    border-radius: 999px;
    background: #c4c9d1;
    position: relative;
    flex-shrink: 0;
    transition: background 0.15s ease;
}
.rd-switch-track::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 1.02rem;
    height: 1.02rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    transition: transform 0.15s ease;
}
.rd-switch.is-on .rd-switch-track { background: var(--rd-green); }
.rd-switch.is-on .rd-switch-track::after { transform: translateX(1.15rem); }
.rd-switch-text { font-size: 0.75rem; font-weight: 800; color: #6b7280; }
.rd-switch.is-on .rd-switch-text { color: var(--rd-green); }
.rd-switch.is-disabled { opacity: 0.45; cursor: not-allowed; }
.rd-restrict-actions { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center; margin: 0.35rem 0 0.55rem; }
.rd-restrict-actions label { font-size: 0.85rem; font-weight: 600; }
.rd-lock-note {
    width: 100%;
    margin: 0 0 0.35rem;
    padding: 0.55rem 0.7rem;
    background: #fff7ed;
    color: #9a3412;
    border: 1px solid #fed7aa;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.4;
}
.rd-sec-list li { align-items: center; }
.rd-sec-actions { display: inline-flex; align-items: center; gap: 0.45rem; flex-shrink: 0; }
.rd-sec-list .rd-linkish {
    width: auto;
    margin: 0;
    text-align: right;
    color: #b42318;
    font-weight: 700;
    text-decoration: none;
    font-size: 0.82rem;
}
.rd-sec-list .rd-linkish:hover { text-decoration: underline; }
.rd-keep-note { color: var(--rd-muted); font-size: 0.75rem; font-weight: 700; }

.rd-users-subnav,
.rd-users-card,
.rd-users-flash { max-width: none; width: 100%; }
.rd-you {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    background: var(--rd-orange-soft, #fff1e8);
    color: var(--rd-orange-dark, #c2410c);
    font-size: 0.7rem;
    font-weight: 800;
    vertical-align: middle;
}
.rd-users-edit {
    display: inline;
    width: auto;
    margin: 0;
    text-align: left;
    font-weight: 700;
}
.rd-stack select,
.rd-stack textarea {
    width: 100%;
    max-width: 100%;
    padding: 0.55rem 0.7rem;
    border: 1px solid #d9dee6;
    border-radius: 10px;
    background: #fff;
}
.rd-stack input[type="password"] { max-width: 22rem; }
.rd-profile-form .rd-form-grid select,
.rd-profile-form .rd-stack textarea {
    max-width: none;
}
.rd-stack textarea { min-height: 4.5rem; resize: vertical; }
a.rd-btn-primary {
    text-decoration: none;
    box-sizing: border-box;
}
.rd-row-link {
    text-decoration: none;
    color: inherit;
}
.rd-row-link:hover .rd-row-title { text-decoration: underline; }
.rd-support-hello,
.rd-support-card,
.rd-support-flash { max-width: none; width: 100%; }
.rd-support-hello {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.25rem;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
}
.rd-support-hello-copy { min-width: 0; flex: 1 1 16rem; }
.rd-support-hello-copy h1 { margin-bottom: 0.2rem; }
.rd-support-hello-copy p { margin-bottom: 0.35rem; }
.rd-support-hello-code {
    margin: 0.15rem 0 0;
    color: var(--rd-muted);
    font-size: 0.88rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}
.rd-support-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    flex: 0 0 auto;
}
.rd-support-new {
    margin-top: 0 !important;
    min-width: 0;
    gap: 0.4rem;
    white-space: nowrap;
}
.rd-support-new .rd-ico { width: 18px; height: 18px; }
.rd-support-back {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid var(--rd-line);
    background: #fff;
    color: #374151;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.86rem;
    text-decoration: none;
}
.rd-support-back:hover { background: #f7f8fa; }
.rd-support-back .rd-ico { width: 16px; height: 16px; }
.rd-support-close-form { margin: 0; }
.rd-support-close-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.55rem 0.8rem;
    border: 1px solid #d1d5db;
    background: #fff;
    color: #1f2937;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.86rem;
    cursor: pointer;
    white-space: nowrap;
}
.rd-support-close-btn:hover { background: #f3f4f6; }
.rd-support-close-btn .rd-ico { width: 16px; height: 16px; }
.rd-support-reopen-btn {
    border-color: #86efac;
    background: #f0fdf4;
    color: #166534;
}
.rd-support-reopen-btn:hover { background: #dcfce7; }
.rd-support-filters {
    display: grid;
    grid-template-columns: 1fr 180px auto;
    gap: 0.65rem;
    align-items: end;
    margin: 0 0 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--rd-line);
}
.rd-support-filters label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    margin-bottom: 0.28rem;
    color: var(--rd-muted);
}
.rd-support-filters input,
.rd-support-filters select {
    width: 100%;
    padding: 0.55rem 0.7rem;
    border: 1px solid #d9dee6;
    border-radius: 10px;
    background: #fff;
}
.rd-support-filter-actions { padding-bottom: 0.05rem; }
.rd-support-filter-actions .rd-btn-inline { margin-top: 0; }
.rd-support-list-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    margin: 0 0 0.75rem;
}
.rd-support-list-head strong { font-size: 0.92rem; }
.rd-support-empty {
    text-align: center;
    padding: 1.75rem 1rem 1.4rem;
    background: #f8fafc;
    border: 1px dashed var(--rd-line);
    border-radius: 12px;
}
.rd-support-empty strong { display: block; font-size: 1rem; margin-bottom: 0.35rem; }
.rd-support-empty p { margin: 0 0 1rem; color: var(--rd-muted); font-size: 0.9rem; }
.rd-ticket-list { display: flex; flex-direction: column; gap: 0.45rem; }
.rd-ticket-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.85rem 1.1rem;
    padding: 0.72rem 0.95rem 0.72rem 0.85rem;
    border: 1px solid var(--rd-line);
    border-radius: 12px;
    background: #fff;
    text-decoration: none;
    color: inherit;
    box-shadow: inset 3px 0 0 #cbd5e1;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.rd-ticket-item.is-lane-yours { box-shadow: inset 3px 0 0 var(--rd-orange, #ea580c); }
.rd-ticket-item.is-lane-waiting { box-shadow: inset 3px 0 0 #94a3b8; }
.rd-ticket-item.is-lane-closed { box-shadow: inset 3px 0 0 #cbd5e1; }
.rd-ticket-item.is-lane-rate { box-shadow: inset 3px 0 0 #d97706; }
.rd-ticket-item:hover {
    border-color: var(--rd-orange-mid);
    background: #fffaf6;
}
.rd-ticket-item-main { min-width: 0; flex: 1; }
a.rd-ticket-item-main {
    text-decoration: none;
    color: inherit;
}
.rd-ticket-item-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    margin-bottom: 0.18rem;
}
.rd-ticket-when {
    color: var(--rd-muted);
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}
.rd-ticket-code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: var(--rd-orange-dark);
}
.rd-ticket-item-badges {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.3rem;
    flex: 0 0 auto;
    max-width: 16rem;
}
.rd-ticket-item-title {
    font-weight: 800;
    font-size: 0.96rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
    margin-bottom: 0.2rem;
}
.rd-ticket-preview {
    margin: 0 0 0.28rem;
    color: #64748b;
    font-size: 0.82rem;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.rd-ticket-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.75rem;
    color: var(--rd-muted);
    font-size: 0.75rem;
}
.rd-ticket-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}
.rd-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    background: #f1f5f9;
    color: #334155;
    font-size: 0.75rem;
    font-weight: 700;
}
.rd-ticket-desk { display: flex; flex-direction: column; gap: 0.85rem; }
.rd-ticket-summary { padding: 0.75rem 1rem; }
.rd-reply-dock {
    position: sticky;
    bottom: 0.6rem;
    z-index: 2;
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.06);
}
.rd-reply-dock h2 { margin-bottom: 0.45rem; }
.rd-reply-dock .rd-support-message { min-height: 5.2rem; }
.rd-support-compose,
.rd-support-form { max-width: 100%; }
.rd-support-compose-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem 0.85rem;
    margin: 0 0 0.85rem;
}
.rd-support-compose-head h2 { margin: 0; }
.rd-support-compose-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex: 1 1 14rem;
    min-width: 0;
}
.rd-support-form .rd-support-meta-grid.has-order {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.rd-support-quick-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rd-brand-slate, #5c6576);
    border-radius: 8px;
    background: #fff;
    color: var(--rd-brand-black, #111);
    font: inherit;
    font-size: 0.8rem;
    font-weight: 800;
    padding: 0.48rem 0.75rem;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
}
.rd-support-quick-btn:hover { background: #f3f5f7; }
.rd-chip-order {
    background: #eef2ff;
    color: #3730a3;
    text-decoration: none;
}
a.rd-chip-order:hover { background: #e0e7ff; }
.rd-support-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 80;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.rd-support-modal:target,
.rd-support-modal.is-open { display: flex; }
.rd-support-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
}
.rd-support-modal-card {
    position: relative;
    z-index: 1;
    width: min(560px, 94vw);
    max-height: 86vh;
    overflow: auto;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 22px 50px rgba(15, 23, 42, 0.28);
}
.rd-support-chooser { width: min(360px, 92vw); }
.rd-support-chooser-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0.75rem 0 0.9rem;
}
.rd-support-chooser-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 0.9rem;
    border: 1px solid #d9dee6;
    border-radius: 10px;
    background: #fff;
    color: var(--rd-brand-black, #111);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none;
    text-align: center;
}
.rd-support-chooser-btn:hover { background: #f3f5f7; }
.rd-support-chooser-btn.is-primary {
    border-color: var(--rd-accent, #f97316);
    background: var(--rd-accent-soft, #fff7ed);
}
.rd-support-dialog-inner { padding: 1.05rem 1.15rem 1.15rem; }
.rd-support-dialog-inner h3 {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
}
.rd-support-equip-search {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0.65rem 0 0.45rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--rd-muted, #64748b);
}
.rd-support-equip-q {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.7rem;
    border: 1px solid #d9dee6;
    border-radius: 8px;
    background: #fff;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 600;
    color: #111;
}
.rd-support-equip-empty {
    margin: 0 0 0.75rem;
    color: var(--rd-muted, #64748b);
    font-size: 0.86rem;
}
.rd-support-equip-item[hidden] { display: none; }
.rd-support-equip-list {
    max-height: 46vh;
    overflow: auto;
    margin: 0.15rem 0 0.9rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
}
.rd-support-equip-item {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin: 0;
    padding: 0.55rem 0.7rem;
    border-bottom: 1px solid #eef2f6;
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 600;
}
.rd-support-equip-item:last-child { border-bottom: 0; }
.rd-support-equip-item:hover { background: #f8fafc; }
.rd-support-dialog-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: nowrap;
    margin-top: 0.85rem;
}
.rd-support-dialog-actions .rd-btn-primary,
.rd-support-dialog-actions .rd-support-dialog-cancel,
.rd-lease-modal-btn {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 11.5rem;
    min-width: 11.5rem;
    max-width: 11.5rem;
    height: 2.75rem;
    min-height: 2.75rem;
    margin: 0;
    padding: 0 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}
.rd-support-dialog-cancel,
.rd-lease-modal-btn-ghost {
    background: #fff;
    color: #111;
    border-color: #cbd5e1;
}
.rd-support-dialog-actions .rd-btn-primary,
.rd-lease-modal-btn-go {
    background: var(--rd-accent, #e85d04);
    color: #fff;
    border-color: var(--rd-accent, #e85d04);
}
.rd-support-message-wrap { min-width: 0; }
.rd-support-message,
textarea.rd-support-message {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 7rem;
    max-height: 38vh;
    resize: vertical;
    font: inherit;
    font-size: 16px;
    line-height: 1.45;
    padding: 0.7rem 0.8rem;
    border: 1px solid #d9dee6;
    border-radius: 10px;
    background: #fff;
    box-sizing: border-box;
}
.rd-support-submit { margin-top: 0.35rem; }
.rd-support-list-card { padding-bottom: 1.1rem; }
.rd-ticket-closed {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    max-width: none;
    width: 100%;
    margin: 0 0 1rem;
    padding: 1rem 1.15rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #64748b;
    border-radius: 12px;
    box-sizing: border-box;
}
.rd-ticket-closed-mark {
    width: 10px;
    height: 10px;
    margin-top: 0.45rem;
    border-radius: 50%;
    background: #64748b;
    flex-shrink: 0;
}
.rd-ticket-closed-body { min-width: 0; flex: 1; }
.rd-ticket-closed-body strong {
    display: block;
    font-size: 1rem;
    margin: 0 0 0.65rem;
}
.rd-ticket-closed-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem 1.25rem;
    margin: 0 0 0.85rem;
}
.rd-ticket-closed-meta dt {
    margin: 0 0 0.15rem;
    color: var(--rd-muted);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.rd-ticket-closed-meta dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.rd-ticket-closed-role {
    display: inline-block;
    margin-left: 0.35rem;
    color: var(--rd-muted);
    font-size: 0.78rem;
    font-weight: 600;
}
.rd-ticket-closed .rd-support-new { margin-top: 0; }
.rd-ticket-closed-hint {
    margin: 0 0 0.7rem;
    color: var(--rd-muted);
    font-size: 0.85rem;
    line-height: 1.4;
}
.rd-ticket-closed-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}
.rd-ticket-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem 1rem;
}
.rd-ticket-meta .rd-muted {
    display: block;
    font-size: 0.72rem;
    margin-bottom: 0.2rem;
}
.rd-thread-hint { margin: -0.35rem 0 0.75rem; }
.rd-thread { display: flex; flex-direction: column; gap: 0.7rem; }
.rd-thread-item {
    border: 1px solid var(--rd-line);
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
    max-width: 78%;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}
.rd-thread-item.is-staff {
    margin-inline-end: auto;
    border-color: #e2e8f0;
}
.rd-thread-item.is-customer {
    margin-inline-start: auto;
    border-color: #fdba74;
    background: #fffaf5;
}
.rd-thread-item.is-event {
    max-width: 36rem;
    margin-inline: auto;
    border-style: dashed;
    background: #f8fafc;
    box-shadow: none;
}
.rd-thread-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem 1rem;
    flex-wrap: wrap;
    padding: 0.65rem 0.9rem;
    background: #f8fafc;
    border-bottom: 1px solid var(--rd-line);
}
.rd-thread-item.is-customer .rd-thread-head { background: #fff7ed; }
.rd-thread-item.is-event .rd-thread-head {
    background: transparent;
    border-bottom: 0;
    padding-bottom: 0;
}
.rd-thread-who { min-width: 0; }
.rd-thread-who strong { display: block; font-size: 0.95rem; }
.rd-thread-company {
    display: block;
    margin-top: 0.15rem;
    color: var(--rd-muted);
    font-size: 0.78rem;
    font-weight: 600;
}
.rd-thread-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem 0.65rem;
    color: var(--rd-muted);
    font-size: 0.78rem;
}
.rd-thread-kind {
    display: inline-flex;
    padding: 0.12rem 0.5rem;
    border-radius: 999px;
    background: #e2e8f0;
    color: #334155;
    font-size: 0.7rem;
    font-weight: 800;
}
.rd-thread-item.is-customer .rd-thread-kind {
    background: var(--rd-orange-soft, #ffedd5);
    color: var(--rd-orange-dark, #c2410c);
}
.rd-thread-latest {
    color: #15803d;
    font-weight: 800;
}
.rd-thread-body { padding: 0.8rem 0.9rem 0.9rem; }
.rd-thread-item.is-event .rd-thread-body { padding-top: 0.25rem; }
.rd-thread-event-text {
    margin: 0;
    text-align: center;
    color: #475569;
    font-size: 0.86rem;
}
.rd-ticket-html {
    font-size: 0.92rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}
.rd-ticket-html p { margin: 0 0 0.6rem; }
.rd-ticket-html p:last-child { margin-bottom: 0; }
.rd-thread-files {
    padding: 0.75rem 1rem 0.9rem;
    border-top: 1px dashed var(--rd-line);
    background: #fbfcfd;
}
.rd-thread-files-label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--rd-muted);
    margin-bottom: 0.4rem;
}
.rd-ticket-files {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.85rem;
}
.rd-ticket-files li {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 0.7rem;
    align-items: baseline;
    padding: 0.28rem 0;
}
.rd-ticket-files a { font-weight: 700; }
.rd-support-actions { margin-top: 0.4rem; }
.rd-support-close { margin-top: 0.85rem; }
.rd-badge-prio-high { background: #fff4e5; color: #c2410c; }
.rd-badge-prio-urgent { background: #fee4e2; color: #b42318; }
.rd-badge-unread { background: #fee2e2; color: #b91c1c; font-weight: 800; }
.rd-badge-rate { background: #fef3c7; color: #92400e; font-weight: 800; }
.rd-ticket-rating {
    margin: 0 0 0.85rem;
    padding: 0.85rem 0.95rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 10px;
}
.rd-ticket-rating.is-done { background: #f0fdf4; border-color: #bbf7d0; }
.rd-ticket-rating strong { display: block; margin: 0 0 0.4rem; }
.rd-ticket-rating-stars { margin: 0 0 0.35rem; font-size: 1.25rem; color: #d97706; letter-spacing: 0.08em; }
.rd-ticket-rating-stars span { margin-left: 0.4rem; font-size: 0.85rem; color: var(--rd-muted); letter-spacing: 0; }
.rd-ticket-rating-note { margin: 0; font-size: 0.9rem; }
.rd-stars { border: 0; margin: 0 0 0.65rem; padding: 0; }
.rd-stars legend { font-size: 0.75rem; font-weight: 700; margin-bottom: 0.3rem; }
.rd-stars-row {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 0.15rem;
}
.rd-stars-row input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rd-stars-row label {
    font-size: 1.85rem;
    line-height: 1;
    color: #d1d5db;
    cursor: pointer;
}
.rd-stars-row input:checked ~ label,
.rd-stars-row label:hover,
.rd-stars-row label:hover ~ label { color: #f59e0b; }
.rd-ticket-rating textarea {
    width: 100%;
    min-height: 4.5rem;
    margin: 0.25rem 0 0.35rem;
}
.rd-ticket-item.is-unread {
    border-color: #fca5a5;
    box-shadow: inset 3px 0 0 #dc2626;
    background: #fff7f7;
}
.rd-row-link.is-unread {
    box-shadow: none;
    border-left: 3px solid #dc2626;
    padding-left: 0.7rem;
    margin-left: -0.15rem;
}
.rd-support-card input[type="file"] { max-width: 100%; }
.rd-order-item.is-lane-active { box-shadow: inset 3px 0 0 var(--rd-orange, #ea580c); }
.rd-order-item.is-lane-pending { box-shadow: inset 3px 0 0 #94a3b8; }
.rd-order-item.is-lane-done { box-shadow: inset 3px 0 0 #cbd5e1; }
.rd-order-item.is-lane-cancelled { box-shadow: inset 3px 0 0 #dc2626; }
.rd-order-amount {
    display: inline-flex;
    font-weight: 800;
    font-size: 0.86rem;
    color: #0f172a;
    white-space: nowrap;
}
button.rd-money-mask {
    margin: 0;
    padding: 0.05rem 0.15rem;
    border: 0;
    background: transparent;
    font: inherit;
    font-weight: 800;
    font-size: 0.86rem;
    color: inherit;
    letter-spacing: 0.08em;
    cursor: pointer;
    line-height: inherit;
}
button.rd-money-mask.is-open {
    letter-spacing: 0;
}
button.rd-money-mask:focus {
    outline: 2px solid var(--rd-orange, #ea580c);
    outline-offset: 2px;
}
.rd-order-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    margin: 0.85rem 0 0;
}
.rd-order-meta dt {
    display: block;
    font-size: 0.72rem;
    color: var(--rd-muted);
    margin-bottom: 0.15rem;
}
.rd-order-meta dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.rd-order-notes {
    margin: 0.9rem 0 0;
    padding-top: 0.75rem;
    border-top: 1px dashed var(--rd-line);
}
.rd-order-notes strong { display: block; margin-bottom: 0.3rem; font-size: 0.82rem; }
.rd-order-notes p { margin: 0; color: #334155; font-size: 0.9rem; line-height: 1.45; }
.rd-order-items td strong { display: block; margin-bottom: 0.2rem; }
.rd-consumption-totals {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.55rem;
    margin: 0 0 1rem;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--rd-line);
    border-radius: 10px;
    background: #f8fafc;
}
.rd-order-consumption .table-wrap + .rd-consumption-totals { margin: 1rem 0 0; }
.rd-consumption-totals-item {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}
.rd-consumption-totals-item span {
    color: var(--rd-muted);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}
.rd-consumption-totals-item strong {
    font-size: 0.95rem;
    overflow-wrap: anywhere;
}
.rd-consumption-totals-item--grand strong { color: var(--rd-ink, #0f172a); }
.rd-price-log {
    margin-top: 0.45rem;
    font-size: 0.78rem;
    color: var(--rd-muted);
    font-weight: 500;
    line-height: 1.4;
}
.rd-price-log-title {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    margin-bottom: 0.2rem;
    color: #64748b;
}
.rd-calc-breakdown {
    margin-top: 0.4rem;
    font-size: 0.78rem;
    color: var(--rd-muted);
    line-height: 1.4;
}
@media (max-width: 720px) {
    .rd-consumption-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.rd-period-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0 0 1rem;
}
.rd-period-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--rd-line);
    border-radius: 10px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    min-width: 7.5rem;
}
.rd-period-btn strong { font-size: 0.86rem; }
.rd-period-btn span { color: var(--rd-muted); font-size: 0.72rem; font-weight: 600; }
.rd-period-btn:hover { border-color: var(--rd-orange-mid, #fb923c); background: #fffaf6; }
.rd-period-btn.is-active {
    border-color: var(--rd-orange, #ea580c);
    background: var(--rd-orange-soft, #ffedd5);
    box-shadow: inset 0 0 0 1px var(--rd-orange, #ea580c);
}

@media (max-width: 720px) {
    .rd-account-head { flex-wrap: wrap; }
    .rd-form-grid,
    .rd-support-form .rd-support-meta-grid.has-order { grid-template-columns: 1fr; }
    .rd-dl { grid-template-columns: 1fr; }
    .rd-account-card { max-width: none; width: 100%; }
    .rd-support-filters { grid-template-columns: 1fr; }
    .rd-ticket-item { flex-direction: column; gap: 0.45rem; }
    .rd-ticket-item-badges { justify-content: flex-start; max-width: none; }
    .rd-thread-item.is-customer,
    .rd-thread-item.is-staff { max-width: 92%; }
    .rd-reply-dock { position: static; box-shadow: none; }
    .rd-ticket-meta,
    .rd-order-meta { grid-template-columns: 1fr 1fr; }
    .rd-ticket-closed-meta { grid-template-columns: 1fr; }
    .rd-support-hello { align-items: stretch; }
    .rd-support-toolbar { width: 100%; }
    .rd-support-new { width: 100%; }
    .rd-support-back { width: 100%; justify-content: center; }
    .rd-support-close-form,
    .rd-support-close-btn,
    .rd-support-reopen-btn { width: 100%; }
    .rd-support-close-btn,
    .rd-support-reopen-btn { justify-content: center; }
    .rd-support-message,
    textarea.rd-support-message {
        min-height: 6.25rem;
        max-height: 32vh;
    }
}

@media (max-width: 1100px) {
    .rd-kpis { grid-template-columns: 1fr 1fr; }
    .rd-grid { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
    .rd-sidebar {
        position: fixed;
        left: 0;
        top: 0;
        transform: translateX(-105%);
        transition: transform 0.2s ease;
        box-shadow: var(--rd-shadow);
    }
    .rd-nav-toggle:checked ~ .rd-wrap .rd-sidebar { transform: none; }
    .rd-nav-toggle:checked ~ .rd-overlay { display: block; }
    .rd-menu-btn { display: inline-flex; }
    .rd-host { font-size: 0.8rem; }
    .rd-user-name { display: none; }
    .rd-content { padding: 1rem 0.9rem 5.75rem; }
    .rd-reply-dock { position: static; box-shadow: none; }
    .rd-bottom { display: flex; }
    .rd-hello h1 { font-size: 1.28rem; }
}
@media (min-width: 1280px) {
    .rd-content { padding: 1.5rem 1.85rem 5.5rem; }
}
@media (min-width: 1600px) {
    .rd-content { padding: 1.65rem 2.15rem 5.5rem; }
    .rd-profile-form .rd-form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.rd-lease-st {
    display: inline-block;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}
.rd-lease-st.is-ok { background: #d7f5d7; color: #146c2e; }
.rd-lease-st.is-err { background: #fde2e1; color: #9b1c1c; }
.rd-lease-st.is-none { background: #eceff3; color: #5c6576; }
.rd-lease-steps { display: grid; gap: 1rem; margin-bottom: 1rem; }
.rd-lease-step-h { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; }
.rd-lease-step-h h2 { margin: 0; font-size: 1.05rem; }
.rd-lease-sync { margin: 0 0 1rem; }
.rd-lease-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.rd-lease-step.is-locked { opacity: 0.72; }
.rd-lease-nic {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.45rem 0.75rem;
    margin: 0 0 0.85rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
}
.rd-lease-nic span { font-size: 0.75rem; font-weight: 700; color: #64748b; }
.rd-lease-nic code { font-size: 0.95rem; }
.rd-lease-zone { margin: 0 0 0.75rem; }
.rd-lease-ns-list {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.rd-lease-ns-list li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.65rem;
    align-items: end;
}
.rd-lease-ns-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2.45rem;
    border-radius: 8px;
    background: #e85d04;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 800;
}
.rd-lease-ns-list label { display: flex; flex-direction: column; gap: 0.25rem; margin: 0; }
.rd-lease-ns-list label span { font-size: 0.75rem; font-weight: 700; color: #64748b; }
.rd-lease-type-switch { display: flex; gap: 0.75rem; margin: 0 0 1rem; }
.rd-lease-type-switch a { text-decoration: none; padding: 0.35rem 0.7rem; border-radius: 999px; background: #eceff3; color: inherit; }
.rd-lease-type-switch a.is-on { background: #e85d04; color: #fff; }
.rd-lease-modal-wide { width: min(640px, 96vw); }
.rd-lease-rpsl {
    display: grid;
    gap: 0.45rem;
    margin: 0.35rem 0 0.75rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.82rem;
}
.rd-lease-rpsl-row {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: 0.55rem;
    align-items: center;
}
.rd-lease-rpsl-row span,
.rd-lease-rpsl-row label {
    margin: 0;
    color: #64748b;
    font-weight: 700;
}
.rd-lease-rpsl-row code {
    overflow-wrap: anywhere;
}
.rd-lease-rpsl-row input,
.rd-lease-rpsl-row select {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0.4rem 0.55rem;
    border: 1px solid #d9dee6;
    border-radius: 8px;
    font: inherit;
}
.rd-lease-hero {
    position: relative;
    overflow: hidden;
    margin: 0 0 1.15rem;
    padding: 0.85rem 1.25rem 0.9rem;
    background: #fff;
    border: 1px solid var(--rd-line);
    border-radius: 16px;
    box-shadow: var(--rd-shadow);
}
.rd-lease-hero-copy {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.25rem;
    margin: 0 0 0.55rem;
}
.rd-lease-order-btn {
    flex: 0 0 auto;
    margin-top: 0.2rem;
    white-space: nowrap;
}
.rd-lease-order-fee {
    margin: 0.85rem 0 0;
    padding: 0.65rem 0.75rem;
    background: #f7f8fa;
    border-radius: 8px;
    font-weight: 700;
    color: #111;
}
.rd-lease-hero-title {
    position: relative;
    z-index: 1;
    margin: 0;
    max-width: 46rem;
    font-size: clamp(1.45rem, 2.4vw, 1.9rem);
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: -0.025em;
    color: #111;
}
.rd-lease-hero-title em,
.rd-lease-hero-lead,
.rd-lease-hero-after { display: block; }
.rd-lease-hero-title em {
    font-style: normal;
    color: var(--rd-accent);
}
.rd-lease-hero-art {
    position: absolute;
    top: -0.35rem;
    right: 0.15rem;
    z-index: 0;
    width: 15.5rem;
    max-width: 38%;
    pointer-events: none;
    color: #c5cad3;
    opacity: 0.82;
}
.rd-lease-hero-art svg { display: block; width: 100%; height: auto; }
.rd-lease-art-map { opacity: 0.38; }
.rd-lease-art-line { opacity: 0.5; }
.rd-lease-art-rack-top { fill: #2c2c2c; }
.rd-lease-art-rack-west { fill: #111; }
.rd-lease-art-rack-east { fill: #1c1c1c; }
.rd-lease-art-rack-south { fill: #171717; }
.rd-lease-art-dot { fill: var(--rd-accent); }
.rd-lease-art-glow { fill: var(--rd-accent); opacity: 0.28; }
.rd-lease-art-node-top { fill: #fff; stroke: #d7dbe2; stroke-width: 0.7; }
.rd-lease-art-node-west { fill: #eef0f3; stroke: #d7dbe2; stroke-width: 0.7; }
.rd-lease-art-node-east { fill: #e2e5eb; stroke: #d7dbe2; stroke-width: 0.7; }
.rd-lease-art-node-band { stroke: var(--rd-accent); stroke-width: 1.6; stroke-linecap: round; }
.rd-lease-art-pin { fill: var(--rd-accent); }
.rd-lease-art-pin-shine { fill: #fff; opacity: 0.28; }
.rd-lease-art-pin text {
    fill: #fff;
    font-size: 13px;
    font-weight: 800;
}
.rd-lease-feats {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0.65rem 0 0;
    border-top: 1px solid #eef1f4;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
}
.rd-lease-feats li {
    min-width: 0;
    padding: 0 1.15rem;
}
.rd-lease-feats li:first-child { padding-left: 0; }
.rd-lease-feats li:last-child { padding-right: 0; }
.rd-lease-feats li + li { border-left: 1px solid #eef1f4; }
.rd-lease-feat-ico {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 2.55rem;
    height: 2.55rem;
    margin-bottom: 0.7rem;
    color: #3a404c;
}
.rd-lease-feat-svg { width: 2.25rem; height: 2.25rem; }
.rd-lease-feat-acc { stroke: var(--rd-accent); }
.rd-lease-feat-acc-fill { fill: var(--rd-accent); }
.rd-lease-feats strong {
    display: block;
    margin: 0 0 0.35rem;
    font-size: 0.98rem;
    font-weight: 800;
    color: #111;
}
.rd-lease-feats p {
    margin: 0;
    color: var(--rd-muted);
    font-size: 0.8rem;
    line-height: 1.45;
}
@media (max-width: 1100px) {
    .rd-lease-hero-art { width: 13.5rem; }
}
@media (max-width: 820px) {
    .rd-lease-hero-copy { flex-direction: column; align-items: stretch; }
    .rd-lease-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; }
    .rd-lease-feats li,
    .rd-lease-feats li:first-child,
    .rd-lease-feats li:last-child { padding: 0; }
    .rd-lease-feats li + li { border-left: 0; }
    .rd-lease-hero-art { width: 11.5rem; max-width: 46%; opacity: 0.55; }
}
@media (max-width: 560px) {
    .rd-lease-hero { padding: 0.75rem 0.95rem 0.8rem; }
    .rd-lease-feats { grid-template-columns: 1fr; }
    .rd-lease-hero-art { display: none; }
}

/* Kayıtlı kart: ay/yıl dar ve yan yana (.rd-stack select width:100% ezilmesin) */
.rd-stack.ss-pay-form .ss-pay-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.7rem 1rem;
}
.rd-stack.ss-pay-form .ss-pay-meta-row {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem 0.85rem;
    align-items: flex-start;
}
.rd-stack.ss-pay-form .ss-pay-expiry-pair {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
}
.rd-stack.ss-pay-form .ss-pay-expiry-pair select,
.rd-stack.ss-pay-form .ss-pay-expiry-pair select[data-ss-pay="month"],
.rd-stack.ss-pay-form .ss-pay-expiry-pair select[data-ss-pay="year"] {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
}
.rd-stack.ss-pay-form .ss-pay-expiry-pair select[data-ss-pay="month"] {
    width: 4.4rem !important;
    min-width: 4.4rem !important;
    max-width: 4.4rem !important;
}
.rd-stack.ss-pay-form .ss-pay-expiry-pair select[data-ss-pay="year"] {
    width: 5.6rem !important;
    min-width: 5.6rem !important;
    max-width: 5.6rem !important;
}
.rd-stack.ss-pay-form .ss-pay-expiry-sep { color: #6c757d; font-weight: 700; }
.rd-stack.ss-pay-form .ss-pay-field-cvv { flex: 0 0 7.6rem; width: 7.6rem; max-width: 7.6rem; }
.rd-stack.ss-pay-form .ss-pay-field-label { flex: 1 1 9rem; min-width: 8rem; max-width: 16rem; }
@media (max-width: 720px) {
    .rd-stack.ss-pay-form .ss-pay-form-grid { grid-template-columns: 1fr; }
}
.rd-finance-balances {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0 0 1.1rem;
}
.rd-finance-balance {
    min-width: 10rem;
    padding: 0.7rem 0.9rem;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #fff;
}
.rd-finance-balance-label {
    display: block;
    font-size: 0.78rem;
    color: var(--rd-muted);
    margin-bottom: 0.2rem;
}
.rd-finance-balance-value {
    display: block;
    font-size: 1.15rem;
    font-weight: 700;
}
.rd-finance-balance.is-credit .rd-finance-balance-value { color: #1a7f37; }
.rd-finance-balance.is-debit .rd-finance-balance-value { color: #b91c1c; }
.rd-finance-ledger tr.rd-finance-group td {
    background: #f7f7f8;
    font-weight: 700;
    padding-top: 0.85rem;
    padding-bottom: 0.55rem;
}
.rd-finance-amt.is-credit { color: #1a7f37; font-weight: 600; }
.rd-finance-amt.is-debit { color: #b91c1c; font-weight: 600; }

.rd-flow-panel { margin-top: 1.15rem; }
.rd-flow-panel h2 { margin: 0 0 0.45rem; font-size: 0.98rem; }
.rd-flow-canvas {
    position: relative;
    width: 50%;
    max-width: 50%;
    margin-top: 0.35rem;
    border: 1px solid #e6e8ec;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}
.rd-flow-svg {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 960 / 400;
}
.rd-flow-grid { stroke: #eef0f3; stroke-width: 1; }
.rd-flow-ylab, .rd-flow-xlab, .rd-flow-unit { fill: #6b7380; font-size: 11px; }
.rd-flow-unit { font-weight: 700; }
.rd-flow-cursor {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 0;
    border-left: 1px dashed #8791a1;
    pointer-events: none;
    opacity: 0;
    z-index: 2;
}
.rd-flow-cursor.is-on { opacity: 1; }
.rd-flow-tip {
    position: absolute;
    z-index: 3;
    pointer-events: none;
    min-width: 180px;
    max-width: min(420px, 72%);
    padding: 0.4rem 0.55rem;
    border: 1px solid #e6e8ec;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
    font-size: 0.72rem;
    line-height: 1.4;
    color: #111;
    opacity: 0;
    visibility: hidden;
}
.rd-flow-tip.is-on { opacity: 1; visibility: visible; }
.rd-flow-tip-t { font-weight: 700; margin-bottom: 0.25rem; }
.rd-flow-tip-row {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.12rem;
}
.rd-flow-tip-row i {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    flex: 0 0 auto;
}
.rd-flow-tip-row strong { margin-left: auto; padding-left: 0.6rem; white-space: nowrap; }
.rd-flow-legend em { font-style: normal; font-weight: 700; color: #111; }
.rd-flow-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.85rem;
    list-style: none;
    margin: 0.55rem 0 0;
    padding: 0;
    font-size: 0.74rem;
}
.rd-flow-legend li { display: flex; align-items: center; gap: 0.35rem; }
.rd-flow-legend i {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
}
