/* ═══════════════════════════════════════════════════════════════
   Rıfkı AI — Blazor Web App Design System
   Koyu tema, glassmorphism, modern gradient'ler
   ═══════════════════════════════════════════════════════════════ */

:root {
    --bg-dark: #0f172a;
    --bg-card: #1e293b;
    --bg-panel: #1e293b;
    --bg-subtle: #334155;

    --text-main: #f8fafc;
    --text-muted: #94a3b8;

    --primary: #3b82f6;
    --primary-hover: #2563eb;
    --success: #10b981;
    --success-bg: rgba(16, 185, 129, 0.15);
    --warning: #f59e0b;
    --warning-bg: rgba(245, 158, 11, 0.15);
    --danger: #ef4444;
    --danger-bg: rgba(239, 68, 68, 0.15);

    --border-color: #334155;
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;

    --shadow-card: 0 10px 25px -5px rgba(0, 0, 0, 0.3);

    --scrollbar-size: 10px;
    --scrollbar-track: #0b1220;
    --scrollbar-thumb: #334155;
    --scrollbar-thumb-hover: #475569;
    --scrollbar-thumb-active: #3b82f6;

    color-scheme: dark;
}


* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    scrollbar-width: thin;
    scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}

*::-webkit-scrollbar {
    width: var(--scrollbar-size);
    height: var(--scrollbar-size);
}

*::-webkit-scrollbar-track {
    background: var(--scrollbar-track);
    border-radius: 999px;
}

*::-webkit-scrollbar-thumb {
    min-width: 36px;
    min-height: 36px;
    border: 2px solid var(--scrollbar-track);
    border-radius: 999px;
    background: linear-gradient(180deg, #475569, var(--scrollbar-thumb));
    background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #64748b, var(--scrollbar-thumb-hover));
    background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:active {
    background: var(--scrollbar-thumb-active);
    background-clip: padding-box;
}

*::-webkit-scrollbar-corner {
    background: var(--scrollbar-track);
}

body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background-color: var(--bg-dark);
    color: var(--text-main);
    min-height: 100vh;
}

/* ─── App Container ─── */
.app-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
}

.main-content {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

button:not(:disabled) {
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease, filter .16s ease;
}

button:not(:disabled):hover {
    transform: translateY(-1px);
    filter: brightness(1.09);
    box-shadow: 0 7px 18px rgba(0, 0, 0, .18);
}

button:not(:disabled):active { transform: translateY(0); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #60a5fa; outline-offset: 2px; }

.app-shell {
    flex: 1;
    min-height: 0;
    display: flex;
    overflow: hidden;
}

.app-nav-toggle { position: fixed; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

/* ─── Header Navbar ─── */
.app-header {
    background-color: var(--bg-card);
    border-bottom: 1px solid var(--border-color);
    padding: 12px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 66px;
    z-index: 20;
}

.header-brand-group { display: flex; align-items: center; gap: 14px; min-width: 0; }
.logo-area { color: inherit; text-decoration: none; }
.sidebar-toggle { width: 38px; height: 38px; display: grid; place-content: center; gap: 4px; border: 1px solid #3a4d68; border-radius: 10px; background: #111d2f; cursor: pointer; }
.sidebar-toggle span { display: block; width: 17px; height: 2px; border-radius: 99px; background: #b9c9dd; transition: transform .2s ease; }
.rifki-quick-link { display: flex; align-items: center; gap: 7px; color: #dcecff; text-decoration: none; border: 1px solid #375881; background: #142943; padding: 7px 11px; border-radius: 999px; font-weight: 800; font-size: 12px; }
.rifki-quick-short { display: none; }
.profile-quick-link { color: #bdd4ee; text-decoration: none; border: 1px solid #344d6c; border-radius: 999px; padding: 9px 12px; font-size: 12px; font-weight: 800; }
.profile-quick-link:hover { color: white; border-color: #5f8fc8; background: #182b43; }
.app-logout-button { display: inline-flex; min-height: 39px; align-items: center; gap: 7px; border: 1px solid #5b4051; border-radius: 999px; padding: 7px 12px; color: #f4c6d1; background: #251a29; font: inherit; font-size: 12px; cursor: pointer; transition: border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease; }
.app-logout-button:hover { transform: translateY(-1px); border-color: #9f536a; color: #fff; background: #3a1f2b; }
.app-logout-button:focus-visible { outline: 2px solid #d76583; outline-offset: 2px; }
.app-logout-button:disabled { transform: none; opacity: .55; cursor: wait; }
.app-logout-button span { font-size: 17px; line-height: 1; transform: rotate(180deg); }
.app-logout-button strong { font-weight: 800; white-space: nowrap; }
.app-logout-error { position: absolute; top: 62px; right: 18px; padding: 8px 10px; border: 1px solid #8c3d52; border-radius: 8px; color: #ffbdca; background: #351a23; font-size: 11px; box-shadow: 0 10px 30px rgba(0,0,0,.28); }

.catalog-disclosure { margin: 12px 0; border: 1px solid #2c425f; border-radius: 14px; background: #101c2e; overflow: clip; }
.catalog-disclosure > summary { padding: 14px 17px; color: #dcecff; font-weight: 850; cursor: pointer; list-style-position: inside; }
.catalog-disclosure > summary:hover { background: #162740; }
.catalog-disclosure > :not(summary) { margin-left: 14px; margin-right: 14px; }
.catalog-disclosure > :last-child { margin-bottom: 14px; }
.dashboard-operation-message { margin-top: 12px; padding: 11px 13px; border: 1px solid #227859; border-radius: 10px; color: #b8f5dd; background: rgba(16,185,129,.12); font-size: 13px; font-weight: 700; }
.dashboard-operation-message.error { border-color: #94475a; color: #ffc2cf; background: rgba(239,68,68,.12); }
.profile-page { width: min(900px, calc(100% - 36px)); margin: 28px auto; }
.profile-card { padding: 26px; border: 1px solid #304866; border-radius: 18px; background: linear-gradient(145deg,#132238,#0d1829); box-shadow: 0 18px 55px rgba(0,0,0,.22); }
.profile-card header { display: flex; align-items: center; gap: 18px; padding-bottom: 22px; border-bottom: 1px solid #293e59; }
.profile-card header > div:last-child > span { color: #65a6ff; font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.profile-card h1 { margin: 3px 0; font-size: 30px; }.profile-card p { color: #90a9c5; }
.profile-avatar { width: 82px; height: 82px; flex: 0 0 82px; display: grid; place-items: center; overflow: hidden; border: 2px solid #5b83ff; border-radius: 50%; color: white; background: linear-gradient(135deg,#3b82f6,#8b5cf6); font-size: 25px; font-weight: 900; }
.profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile-photo-field { display: grid; grid-template-columns: 1fr auto; gap: 8px 14px; align-items: end; margin: 22px 0; padding: 16px; border: 1px solid #2c425e; border-radius: 12px; background: #0d192a; }
.profile-photo-field label,.profile-fields label { display: grid; gap: 7px; color: #c5d6e9; font-size: 12px; font-weight: 800; }
.profile-photo-field small { grid-column: 1 / -1; color: #7690ae; }
.profile-photo-field button,.profile-save { min-height: 42px; border: 1px solid #218860; border-radius: 9px; padding: 0 16px; color: #062116; background: #34d399; font-weight: 900; }
.profile-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.profile-fields label:first-child { grid-column: 1 / -1; }
.profile-fields input { min-height: 44px; border: 1px solid #354c69; border-radius: 9px; padding: 0 12px; color: #f7fbff; background: #0a1423; }
.profile-save { margin-top: 20px; }
.profile-message { margin-top: 16px; padding: 11px 13px; border: 1px solid #247a5b; border-radius: 9px; color: #b9f4dc; background: rgba(16,185,129,.12); }
.profile-message.error { border-color: #91455a; color: #ffc3cf; background: rgba(239,68,68,.12); }
.rifki-conversation { width: min(1456px, calc(100% - 34px)); margin: 14px auto; display: grid; gap: 10px; }
.rifki-chat-bubble { max-width: min(780px, 88%); display: flex; align-items: flex-start; gap: 10px; }
.rifki-chat-bubble.user { justify-self: end; flex-direction: row-reverse; }
.rifki-chat-bubble > span { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border-radius: 50%; color: white; background: linear-gradient(135deg,#465cff,#955bff); font-size: 11px; font-weight: 900; }
.rifki-chat-bubble.user > span { background: #28415f; }
.rifki-chat-bubble > div { padding: 11px 14px; border: 1px solid #304a69; border-radius: 4px 15px 15px 15px; color: #dcecff; background: #14243a; box-shadow: 0 8px 25px rgba(0,0,0,.16); }
.rifki-chat-bubble.user > div { border-color: #4456a3; border-radius: 15px 4px 15px 15px; background: #252c59; }
.rifki-chat-bubble strong,.rifki-chat-bubble small { display: block; }.rifki-chat-bubble strong { margin-bottom: 4px; color: #8fbcff; font-size: 11px; }.rifki-chat-bubble p { line-height: 1.55; }.rifki-chat-bubble small { margin-top: 5px; color: #738ca8; text-align: right; font-size: 10px; }
.rifki-chat-sources { display:grid; gap:.38rem; margin:.7rem 0 .35rem; padding-top:.65rem; border-top:1px solid rgba(122,151,210,.24); }
.rifki-chat-sources > b { color:#8fb4ed; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; }
.rifki-chat-sources > a { color:#6fd5ff; font-size:.78rem; line-height:1.3; text-decoration:none; }
.rifki-chat-sources > a:hover { text-decoration:underline; }
.rifki-chat-sources > a small { display:block; margin:0; color:#7f93b5; text-align:left; font-size:.66rem; }
@media (max-width: 700px) { .profile-fields { grid-template-columns: 1fr; }.profile-fields label:first-child { grid-column: auto; }.profile-photo-field { grid-template-columns: 1fr; } }

.side-nav { width: 252px; flex: 0 0 252px; min-height: 0; padding: 14px 10px 10px; border-right: 1px solid var(--border-color); background: linear-gradient(180deg,var(--bg-card),var(--bg-dark)); display: flex; flex-direction: column; overflow: hidden; transition: width .22s ease,flex-basis .22s ease; }
.side-nav nav { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; padding-right: 2px; }
.nav-section { display: grid; gap: 4px; padding-bottom: 14px; }
.nav-section + .nav-section { border-top: 1px solid #24364e; padding-top: 13px; }
.nav-section-title { color: #6f88a8; font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; padding: 0 10px 5px; white-space: nowrap; overflow: hidden; }
.side-nav a { min-height: 41px; display: flex; align-items: center; gap: 11px; color: #aebfd3; text-decoration: none; padding: 6px 10px; border: 1px solid transparent; border-radius: 9px; font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; }
.side-nav a b { width: 25px; height: 25px; flex: 0 0 25px; display: grid; place-content: center; border-radius: 7px; background: #1b2a3f; color: #82b8ff; font-size: 11px; }
.side-nav a:hover { color: #f7fbff; background: #17263b; }
.side-nav a.active { color: white; border-color: #315d92; background: linear-gradient(90deg,#173b67,#16273e); box-shadow: inset 3px 0 #4b9cff; }
.side-nav a.active b { background: #2563eb; color: white; }
.side-nav-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; padding: 10px; border-top: 1px solid #24364e; color: #6f88a8; white-space: nowrap; overflow: hidden; }.side-nav-foot small { color: #34d399; }
.nav-redesign { display: grid; align-content: start; gap: 10px; }
.side-nav .nav-home { min-height: 45px; margin-bottom: 2px; color: #f3f7ff; border: 1px solid rgba(77,137,214,.48); background: linear-gradient(90deg,rgba(27,69,116,.68),rgba(22,39,62,.75)); }
.nav-accordion { overflow: hidden; border: 1px solid rgba(72,94,126,.38); border-radius: 11px; background: rgba(10,21,37,.34); }
.nav-accordion summary { min-height: 40px; display: flex; align-items: center; justify-content: space-between; padding: 0 11px; color: #8da5c5; cursor: pointer; list-style: none; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.nav-accordion summary::-webkit-details-marker { display: none; }
.nav-accordion summary:hover { color: #dcecff; background: rgba(44,67,96,.35); }
.nav-accordion summary i { color: #6f8eaf; font-style: normal; transition: transform .18s ease; }
.nav-accordion[open] summary i { transform: rotate(180deg); }
.nav-accordion-links { display: grid; gap: 3px; padding: 0 5px 6px; }
.nav-accordion-links .active { color: white; }
#app-nav-toggle:checked ~ .app-shell .nav-accordion summary span,
#app-nav-toggle:checked ~ .app-shell .nav-accordion summary i { display: none; }
#app-nav-toggle:checked ~ .app-shell .nav-accordion summary { min-height: 9px; padding: 0; }
#app-nav-toggle:checked ~ .app-shell .nav-accordion { border-color: transparent; background: transparent; overflow: visible; }
.sidebar-collapsed .side-nav { width: 68px; flex-basis: 68px; }
.sidebar-collapsed .side-nav a { padding-left: 10px; }
.sidebar-collapsed .side-nav a span,.sidebar-collapsed .nav-section-title,.sidebar-collapsed .side-nav-foot small { opacity: 0; width: 0; overflow: hidden; }
.sidebar-collapsed .side-nav-foot { justify-content: center; }
#app-nav-toggle:checked ~ .app-shell .side-nav { width: 68px; flex-basis: 68px; }
#app-nav-toggle:checked ~ .app-shell .side-nav a { padding-left: 10px; }
.sidebar-collapsed .side-nav .nav-home,
#app-nav-toggle:checked ~ .app-shell .side-nav .nav-home { justify-content: center; padding-inline: 0; font-size: 11px; }
#app-nav-toggle:checked ~ .app-shell .side-nav a span,
#app-nav-toggle:checked ~ .app-shell .nav-section-title,
#app-nav-toggle:checked ~ .app-shell .side-nav-foot small { opacity: 0; width: 0; overflow: hidden; }
#app-nav-toggle:checked ~ .app-shell .side-nav-foot { justify-content: center; }

.logo-area {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rifki-brand-mark {
    display: block;
    flex: none;
    object-fit: contain;
}

.logo-text strong {
    display: block;
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
}

.logo-text em { color: #8bbcff; font-style: normal; }

.logo-text span {
    font-size: 12px;
    color: var(--text-muted);
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.agent-status-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--bg-subtle);
    padding: 8px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
}

.status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.status-dot.connected {
    background-color: var(--success);
    box-shadow: 0 0 8px var(--success);
    animation: pulse-dot 2s infinite;
}

@keyframes pulse-dot {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* ─── Dashboard Wrapper ─── */
.dashboard-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1;
    overflow: hidden;
}

/* ─── Direction Toggle Bar ─── */
.direction-bar {
    padding: 10px 16px 0 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

@media (max-width: 760px) {
    .app-header { padding: 10px 12px; }
    .logo-text span,.agent-status-badge .status-text { display: none; }
    .agent-status-badge { padding: 9px; }
    .header-actions { gap: 7px; }
    .app-logout-button { width: 36px; min-height: 36px; justify-content: center; padding: 5px; }
    .app-logout-button strong { display: none; }
    .side-nav { position: absolute; top: 66px; bottom: 0; left: 0; z-index: 15; box-shadow: 14px 0 40px rgba(0,0,0,.35); }
    .sidebar-collapsed .side-nav { transform: translateX(-100%); width: 252px; flex-basis: 252px; }
    .sidebar-collapsed .side-nav a span,.sidebar-collapsed .nav-section-title,.sidebar-collapsed .side-nav-foot small { opacity: 1; width: auto; }
    .rifki-quick-link { padding: 6px 8px; }
    .rifki-quick-full { display: none; }
    .rifki-quick-short { display: inline; }
    #app-nav-toggle:checked ~ .app-shell .side-nav { transform: translateX(-100%); width: 252px; flex-basis: 252px; }
    #app-nav-toggle:checked ~ .app-shell .side-nav a span,
    #app-nav-toggle:checked ~ .app-shell .nav-section-title,
    #app-nav-toggle:checked ~ .app-shell .side-nav-foot small { opacity: 1; width: auto; }
}

.direction-toggle-group {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--bg-subtle);
    padding: 4px;
    border-radius: 30px;
    width: fit-content;
}

.toggle-label {
    font-size: 12px;
    color: var(--text-muted);
    padding-left: 10px;
    font-weight: 600;
}

.btn-toggle {
    background: transparent;
    border: none;
    color: var(--text-muted);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-toggle:hover {
    color: var(--text-main);
}

.btn-toggle.active {
    background: var(--primary);
    color: #fff;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.4);
}

/* ─── File Upload Dropzone ─── */
.upload-dropzone {
    margin: 12px 16px 0 16px;
    background: rgba(59, 130, 246, 0.05);
    border: 2px dashed rgba(59, 130, 246, 0.4);
    border-radius: var(--radius-md);
    padding: 16px;
    text-align: center;
    transition: all 0.2s ease;
}

.upload-dropzone:hover {
    background: rgba(59, 130, 246, 0.1);
    border-color: var(--primary);
}

.upload-dropzone.drag-active {
    background: rgba(59, 130, 246, 0.18);
    border-color: #60a5fa;
    border-style: solid;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12);
    transform: translateY(-1px);
}

.dropzone-content svg {
    color: var(--primary);
    margin-bottom: 6px;
}

.dropzone-content h3 {
    font-size: 14px;
    font-weight: 600;
    color: #e2e8f0;
}

.dropzone-content p {
    font-size: 12px;
    color: var(--text-muted);
    margin-bottom: 8px;
}

.file-input-hidden {
    width: 0;
    height: 0;
    overflow: hidden;
    position: absolute;
    opacity: 0;
}

.file-input-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    background: linear-gradient(135deg, var(--primary), #6366f1);
    color: #fff;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 4px;
}

.file-input-label:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}

/* ─── Progress Bar ─── */
.progress-bar-wrapper {
    margin-top: 12px;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid var(--border-color);
    padding: 10px 14px;
    border-radius: var(--radius-md);
}

.progress-info {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 600;
    color: #60a5fa;
    margin-bottom: 6px;
}

.progress-track {
    width: 100%;
    height: 8px;
    background-color: var(--bg-subtle);
    border-radius: 4px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #0ea875, #43e3ad);
    transition: width 0.2s ease;
    border-radius: 4px;
    box-shadow: 0 0 16px rgba(67, 227, 173, .28);
}

/* ─── Dual Panel Layout ─── */
.document-queue {
    margin: 0 16px 4px;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    background: rgba(15, 23, 42, .72);
}

.clear-workspace-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 13px;
    border: 1px solid rgba(248, 113, 113, .38);
    border-radius: 10px;
    background: rgba(127, 29, 29, .13);
    color: #fca5a5;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all .18s ease;
}

.clear-workspace-button:hover:not(:disabled) {
    border-color: rgba(248, 113, 113, .72);
    background: rgba(127, 29, 29, .25);
    color: #fecaca;
}

.clear-workspace-button:disabled {
    opacity: .38;
    cursor: not-allowed;
}

.document-queue-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.document-queue-summary > div:first-child { display: grid; gap: 3px; }
.document-queue-summary strong { color: #f8fafc; font-size: 13px; }
.document-queue-summary span { color: #94a3b8; font-size: 11px; }

.document-queue-nav { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.document-queue-nav button {
    width: 30px;
    height: 30px;
    border: 1px solid #334155;
    border-radius: 8px;
    background: #111c2e;
    color: #93c5fd;
    cursor: pointer;
}
.document-queue-nav button:disabled { opacity: .35; cursor: not-allowed; }

.document-queue-list {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 2px 0 5px;
    scrollbar-width: thin;
}

.document-queue-item {
    min-width: 250px;
    max-width: 330px;
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 10px;
    border: 1px solid #334155;
    border-radius: 11px;
    background: #111827;
    color: #e2e8f0;
    text-align: left;
    cursor: pointer;
}
.document-queue-item:hover { border-color: #3b82f6; }
.document-queue-item.active { border-color: #60a5fa; background: rgba(37, 99, 235, .14); box-shadow: 0 0 0 2px rgba(59, 130, 246, .12); }
.document-queue-item > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; background: #1e3a5f; color: #93c5fd; font-size: 11px; font-weight: 800; }
.document-queue-item > div { min-width: 0; display: grid; gap: 3px; }
.document-queue-item strong, .document-queue-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-queue-item strong { font-size: 11px; }
.document-queue-item small { color: #94a3b8; font-size: 9px; }
.document-queue-item em { padding: 4px 6px; border-radius: 999px; font-size: 8px; font-style: normal; font-weight: 800; }
.document-queue-item em.valid { color: #6ee7b7; background: rgba(16, 185, 129, .14); }
.document-queue-item em.review { color: #fcd34d; background: rgba(245, 158, 11, .14); }
.document-queue-item em.duplicate { color: #fca5a5; background: rgba(239, 68, 68, .14); }

.dual-panel-layout {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 16px;
    padding: 12px 16px 16px 16px;
    flex: 1;
    overflow: hidden;
}

.panel {
    background-color: var(--bg-panel);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: var(--shadow-card);
}

.panel-header {
    padding: 14px 18px;
    background-color: rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.panel-header h2 {
    font-size: 15px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.panel-body {
    padding: 16px;
    flex: 1;
    overflow-y: auto;
}

/* ─── Left Panel: Document Viewer ─── */
.document-viewer-body {
    background-color: #0b0f19;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.invoice-paper {
    background-color: #ffffff;
    color: #1e293b;
    width: 100%;
    max-width: 620px;
    padding: 24px;
    border-radius: var(--radius-md);
    font-size: 12.5px;
    line-height: 1.4;
    min-height: 100%;
    flex: 0 0 auto;
}

.inv-header {
    display: flex;
    justify-content: space-between;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.inv-supplier h3 {
    font-size: 15px;
    color: #0f172a;
}

.inv-meta {
    text-align: right;
}

.inv-title {
    color: var(--primary);
    font-size: 16px;
}

.inv-customer {
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 10px;
    border-radius: var(--radius-sm);
    margin-bottom: 14px;
}

.inv-lines-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 16px;
}

.inv-lines-table th,
.inv-lines-table td {
    padding: 6px 8px;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
}

.inv-lines-table th {
    background-color: #f1f5f9;
    color: #475569;
}

.inv-totals {
    width: 260px;
    margin-left: auto;
    border-top: 2px solid #e2e8f0;
    padding-top: 8px;
}

.total-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4px;
}

.grand-total {
    font-size: 14px;
    color: #059669;
    border-top: 1px solid #cbd5e1;
    padding-top: 4px;
}

/* ─── Right Panel: Voucher & Classification ─── */
.doc-badge-group {
    display: flex;
    gap: 8px;
}

.doc-badge {
    font-size: 11px;
    padding: 4px 8px;
    background: var(--bg-subtle);
    border-radius: 4px;
    color: var(--text-muted);
}

.status-tag {
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.tag-review {
    background-color: var(--warning-bg);
    color: var(--warning);
}

.tag-approved {
    background-color: var(--success-bg);
    color: var(--success);
}

.mode-info-banner {
    background: rgba(59, 130, 246, 0.1);
    border: 1px solid rgba(59, 130, 246, 0.3);
    color: #93c5fd;
    padding: 10px 14px;
    border-radius: var(--radius-md);
    font-size: 13px;
    margin-bottom: 14px;
}

/* ─── Classification Table ─── */
.voucher-panel-body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.voucher-settings-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: -4px 0 12px;
}

.accounting-mode-selector {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    background: rgba(15, 23, 42, .66);
}

.accounting-mode-selector > span {
    padding: 0 7px;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 700;
}

.accounting-mode-selector button {
    border: 0;
    border-radius: 7px;
    padding: 7px 10px;
    background: transparent;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.accounting-mode-selector button.active {
    color: #fff;
    background: rgba(59, 130, 246, .85);
    box-shadow: 0 2px 8px rgba(37, 99, 235, .25);
}

.voucher-line-summary {
    color: #94a3b8;
    font-size: 10px;
    text-align: right;
}

.table-container {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    overflow: hidden;
    margin-bottom: 16px;
}

.voucher-table-scroll {
    flex: 1 1 auto;
    min-height: 120px;
    overflow: auto;
}

.voucher-table-scroll .classification-table thead {
    position: sticky;
    top: 0;
    z-index: 2;
}

.voucher-table-scroll .classification-table tfoot {
    position: sticky;
    bottom: 0;
    z-index: 2;
}

.classification-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

.classification-table th {
    background-color: rgba(255, 255, 255, 0.04);
    padding: 8px 10px;
    text-align: left;
    color: var(--text-muted);
    font-weight: 600;
    border-bottom: 1px solid var(--border-color);
}

.classification-table td {
    padding: 10px;
    border-bottom: 1px solid var(--border-color);
}

.table-footer-row th {
    background-color: rgba(0, 0, 0, 0.2);
    font-size: 13px;
}

.account-code-cell {
    font-weight: 700;
    color: #38bdf8;
}

.confidence-badge {
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
}

.conf-high {
    background-color: var(--success-bg);
    color: var(--success);
}

.conf-mid {
    background-color: var(--warning-bg);
    color: var(--warning);
}

.conf-low {
    background-color: var(--danger-bg);
    color: var(--danger);
}

/* ─── Action Buttons ─── */
.operation-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 16px;
    flex: 0 0 auto;
}

.dashboard-transfer-confirm {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: -3px 0 12px;
    padding: 10px 12px;
    border: 1px solid #754f2c;
    border-radius: 10px;
    background: rgba(101, 59, 24, 0.18);
    color: #d8bf9e;
    font-size: 12px;
    line-height: 1.45;
}

.dashboard-transfer-confirm input {
    margin-top: 2px;
    accent-color: #22c55e;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: var(--radius-md);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    color: #fff;
}

.btn:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-success {
    background: linear-gradient(135deg, var(--success), #059669);
}

.btn-accent {
    background: linear-gradient(135deg, #8b5cf6, #6d28d9);
}

.btn-lg {
    padding: 12px 20px;
    font-size: 14px;
}

/* ─── Live Log Stream ─── */
.live-logs-card {
    background-color: #0b0f19;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 10px 14px;
    flex: 0 0 auto;
}

@media (max-width: 1100px) {
    .voucher-settings-row {
        align-items: stretch;
        flex-direction: column;
    }

    .accounting-mode-selector {
        width: 100%;
    }

    .accounting-mode-selector button {
        flex: 1;
    }

    .voucher-line-summary {
        text-align: left;
    }
}

.log-title {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

.live-dot {
    width: 8px;
    height: 8px;
    background-color: var(--success);
    border-radius: 50%;
    animation: pulse-dot 2s infinite;
}

.log-stream {
    font-family: 'Courier New', Courier, monospace;
    font-size: 11.5px;
    max-height: 120px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.log-item.info { color: #60a5fa; }
.log-item.success { color: #34d399; }
.log-item.warning { color: #fbbf24; }

/* ─── Blazor Error UI ─── */
#blazor-error-ui {
    background: var(--danger);
    color: #fff;
    padding: 8px 16px;
    text-align: center;
    display: none;
}

.dashboard-empty-state {
    flex: 1;
    min-height: 260px;
    margin: 12px 16px 16px;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 9px;
    padding: 28px;
    border: 1px dashed #334155;
    border-radius: var(--radius-lg);
    background: rgba(15, 23, 42, .42);
    text-align: center;
}

.dashboard-empty-state .empty-state-icon {
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(96, 165, 250, .3);
    border-radius: 20px;
    color: #60a5fa;
    background: rgba(37, 99, 235, .09);
}

.dashboard-empty-state h2 {
    margin: 4px 0 0;
    color: #e2e8f0;
    font-size: 17px;
}

.dashboard-empty-state p {
    max-width: 540px;
    margin: 0;
    color: #94a3b8;
    font-size: 12px;
    line-height: 1.55;
}

/* Portal Operations */
.main-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    background: rgba(15, 23, 42, .55);
}

.main-nav a {
    color: var(--text-muted);
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 12px;
    border-radius: 8px;
    transition: .18s ease;
}

.main-nav a:hover,
.main-nav a.active {
    color: white;
    background: rgba(59, 130, 246, .2);
}

.portal-page {
    flex: 1;
    overflow-y: auto;
    padding: 28px;
    background:
        radial-gradient(circle at 8% 0%, rgba(59, 130, 246, .12), transparent 28%),
        radial-gradient(circle at 92% 12%, rgba(16, 185, 129, .08), transparent 24%),
        #0b1120;
}

.portal-page h1,
.portal-page h2,
.portal-page p { margin: 0; }

.portal-hero,
.report-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: 1440px;
    margin: 0 auto 22px;
}

.portal-hero h1 {
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.05;
    letter-spacing: -.04em;
    margin: 8px 0 10px;
}

.portal-hero p,
.report-title-row p,
.auth-copy p,
.muted {
    color: var(--text-muted);
    line-height: 1.6;
}

.eyebrow {
    color: #60a5fa;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
}

.portal-user {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: max-content;
    padding: 10px 12px;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: rgba(30, 41, 59, .78);
}

.portal-profile-card { color: inherit; text-decoration: none; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.portal-profile-card:hover { border-color: #4c82c5; background: rgba(37, 57, 84, .9); transform: translateY(-1px); }
.portal-profile-action { margin-left: 8px; color: #93c5fd !important; font-weight: 800; }

.portal-user > div:nth-child(2) { display: grid; gap: 2px; }
.portal-user strong { font-size: 13px; }
.portal-user span { color: var(--text-muted); font-size: 11px; }

.avatar {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: white;
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    font-weight: 800;
    overflow: hidden;
}
.avatar img { width: 100%; height: 100%; object-fit: cover; }

.portal-ghost,
.portal-icon-button,
.portal-link {
    border: 0;
    background: transparent;
    color: #93c5fd;
    cursor: pointer;
    font-weight: 700;
}

.portal-ghost { padding: 7px 9px; }
.portal-icon-button { font-size: 21px; }
.portal-link { padding: 6px 8px; font-size: 12px; }
.portal-link.warning { color: #fbbf24; }
.portal-link.danger { color: #fca5a5; }

.operation-grid {
    display: grid;
    grid-template-columns: minmax(320px, .82fr) minmax(440px, 1.18fr);
    gap: 18px;
    max-width: 1440px;
    margin: 0 auto 18px;
}

.portal-card,
.report-section {
    border: 1px solid rgba(71, 85, 105, .72);
    border-radius: 18px;
    background: rgba(20, 30, 49, .9);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .19);
}

.portal-card { padding: 20px; }
.card-heading,
.card-heading > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.card-heading { justify-content: space-between; margin-bottom: 18px; }
.card-heading h2 { font-size: 17px; }

.step-number {
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: rgba(59, 130, 246, .17);
    color: #60a5fa;
    font-size: 12px;
    font-weight: 800;
}

.portal-page label,
.auth-card label {
    display: block;
    margin: 13px 0 6px;
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 700;
}

.portal-page select,
.portal-page input {
    width: 100%;
    border: 1px solid #334155;
    border-radius: 10px;
    background: #0f172a;
    color: #f8fafc;
    padding: 11px 12px;
    outline: none;
}

.portal-page select:focus,
.portal-page input:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .12);
}

.portal-period-grid {
    display: grid;
    grid-template-columns: minmax(120px, .72fr) minmax(170px, 1.28fr);
    gap: 10px;
}

.portal-period-grid label { margin-bottom: 0; }
.portal-period-grid label > span { display: block; margin-bottom: 6px; }

.portal-period-state {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(52, 211, 153, .25);
    border-radius: 11px;
    color: #d1fae5;
    background: rgba(16, 185, 129, .08);
}

.portal-period-state.new {
    border-color: rgba(96, 165, 250, .28);
    color: #dbeafe;
    background: rgba(59, 130, 246, .08);
}

.portal-period-state > span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 9px;
    color: #60a5fa;
    background: rgba(59, 130, 246, .13);
    font-size: 17px;
}

.portal-period-state > div { display: grid; gap: 2px; }
.portal-period-state strong { font-size: 12px; }
.portal-period-state small { color: #94a3b8; font-size: 10px; line-height: 1.35; }

.portal-primary,
.portal-secondary {
    border: 1px solid transparent;
    border-radius: 10px;
    padding: 10px 14px;
    color: white;
    cursor: pointer;
    font-weight: 750;
}

.portal-primary { background: linear-gradient(135deg, #2563eb, #4f46e5); }
.portal-secondary { border-color: #475569; background: #1e293b; }
.portal-primary.full,
.portal-secondary.full { width: 100%; margin-top: 16px; }
.portal-primary:disabled,
.portal-secondary:disabled { opacity: .5; cursor: not-allowed; }

.credential-panel {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 12px;
    margin-top: 13px;
    padding: 12px 13px;
    border: 1px solid #334155;
    border-radius: 11px;
    background: rgba(15, 23, 42, .72);
}
.credential-panel > div:first-child { display: grid; gap: 4px; }
.credential-panel strong { color: #cbd5e1; font-size: 12px; }
.credential-panel span { color: #94a3b8; font-size: 10px; line-height: 1.45; }
.credential-panel.ready { border-color: rgba(16, 185, 129, .48); background: rgba(16, 185, 129, .06); }
.credential-panel.ready strong { color: #6ee7b7; }
.credential-panel.missing { border-color: rgba(245, 158, 11, .5); background: rgba(245, 158, 11, .06); }
.credential-panel.missing strong { color: #fcd34d; }
.credential-actions { display: flex; align-items: center; gap: 6px; }
.credential-actions .portal-secondary { padding: 8px 10px; font-size: 11px; }

.agent-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 9px;
    border-radius: 999px;
    background: rgba(16, 185, 129, .1);
    color: #6ee7b7;
    font-size: 10px;
    font-weight: 800;
}

.agent-pill i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 8px #10b981;
}

.source-tabs {
    display: inline-grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    padding: 4px;
    background: #0f172a;
    border-radius: 11px;
    margin-bottom: 16px;
}

.source-tabs button,
.report-filter-row button {
    border: 0;
    border-radius: 8px;
    padding: 9px 12px;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    font-weight: 700;
}

.source-tabs button.active,
.report-filter-row button.active {
    color: white;
    background: #2563eb;
}

.report-filter-row button.danger.active { background: #b91c1c; }

.collection-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.direction-action {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 88px;
    padding: 15px;
    border: 1px solid #334155;
    border-radius: 14px;
    background: #111c2e;
    color: white;
    text-align: left;
    cursor: pointer;
}

.direction-action:hover:not(:disabled) { transform: translateY(-1px); border-color: #3b82f6; }
.direction-action:disabled { opacity: .42; cursor: not-allowed; }
.direction-action span:last-child { display: grid; gap: 5px; }
.direction-action small { color: var(--text-muted); }
.action-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    border-radius: 11px;
    font-size: 22px;
    font-weight: 800;
}
.incoming .action-icon { background: rgba(16, 185, 129, .16); color: #34d399; }
.outgoing .action-icon { background: rgba(139, 92, 246, .16); color: #a78bfa; }

.safety-note {
    display: grid;
    gap: 4px;
    margin-top: 15px;
    padding: 12px 14px;
    border-left: 3px solid #10b981;
    border-radius: 8px;
    background: rgba(16, 185, 129, .07);
}
.safety-note strong { color: #6ee7b7; font-size: 12px; }
.safety-note span { color: #94a3b8; font-size: 11px; line-height: 1.45; }

.history-card { max-width: 1440px; margin: 0 auto 18px; }
.portal-job-progress { margin-top: 12px; padding: 11px 12px; border: 1px solid rgba(52,211,153,.24); border-radius: 11px; background: rgba(6,78,59,.16); }
.portal-job-progress > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #d7fced; font-size: 11px; }
.portal-job-progress > div:first-child span { color: #53e6b2; font-weight: 900; }
.portal-job-progress-track { height: 8px; margin-top: 8px; overflow: hidden; border-radius: 999px; background: #17263a; }
.portal-job-progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#0ea875,#43e3ad); box-shadow: 0 0 14px rgba(67,227,173,.32); transition: width .35s ease; }
.portal-job-progress-track.indeterminate span { width: 38%; animation: portal-progress-scan 1.35s ease-in-out infinite; }
.portal-job-progress small { display: block; margin-top: 7px; color: #79a994; font-size: 9px; }
@keyframes portal-progress-scan {
    0% { transform: translateX(-115%); }
    50% { transform: translateX(82%); }
    100% { transform: translateX(265%); }
}
@media (prefers-reduced-motion: reduce) {
    .portal-job-progress-track.indeterminate span { width: 70%; animation: none; }
}
.portal-report-switcher { display: grid; grid-template-columns: minmax(280px,1fr) auto; gap: 14px; align-items: end; margin: 4px 0 14px; padding: 12px; border: 1px solid #273b56; border-radius: 12px; background: #0d1829; }
.portal-report-switcher label > span,.portal-report-switcher > div > span { display: block; margin-bottom: 6px; color: #7791b3; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.portal-report-switcher select { width: 100%; min-height: 36px; border: 1px solid #304966; border-radius: 8px; padding: 0 10px; color: #dceafd; background: #101e31; }
.portal-report-switcher > div { display: flex; flex-wrap: wrap; gap: 5px; }
.portal-report-switcher > div > span { flex-basis: 100%; }
.portal-report-switcher button { border: 1px solid #304966; border-radius: 8px; padding: 8px 14px; color: #95aac5; background: #101e31; cursor: pointer; }
.portal-report-switcher button.active { border-color: #2fbc90; color: #baf6df; background: rgba(16,185,129,.16); }
.accounting-stage { display: inline-flex; border-radius: 999px; padding: 5px 8px; font-size: 9px; font-weight: 850; white-space: nowrap; }
.accounting-stage.neutral { color: #9eb0c8; background: rgba(100,116,139,.15); }
.accounting-stage.warning { color: #f7cf75; background: rgba(245,158,11,.14); }
.accounting-stage.ready,.accounting-stage.running { color: #8ec5ff; background: rgba(59,130,246,.14); }
.accounting-stage.verified { color: #75e8bd; background: rgba(16,185,129,.15); }
.accounting-stage.danger { color: #ff9ba6; background: rgba(244,63,94,.15); }
.responsive-table { width: 100%; overflow-x: auto; }
.portal-table { width: 100%; min-width: 820px; border-collapse: collapse; font-size: 12px; }
.portal-table th { padding: 10px; color: #94a3b8; font-size: 10px; letter-spacing: .04em; text-align: left; border-bottom: 1px solid #334155; }
.portal-table td { padding: 12px 10px; border-bottom: 1px solid rgba(51, 65, 85, .55); vertical-align: middle; }
.portal-table tr.selected td { background: rgba(59, 130, 246, .07); }
.table-sub { display: block; color: #94a3b8; margin-top: 3px; }
.row-actions { white-space: nowrap; }
.empty-state { padding: 30px 15px; text-align: center; color: #64748b; }

.job-error-detail {
    position: relative;
    display: grid;
    grid-template-columns: minmax(210px, .8fr) auto minmax(280px, 1.6fr) auto;
    align-items: center;
    gap: 14px;
    margin: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(239, 68, 68, .28);
    border-radius: 12px;
    background: rgba(127, 29, 29, .12);
}
.job-error-detail > div { display: grid; gap: 3px; }
.job-error-detail strong { color: #fecaca; font-size: 12px; }
.job-error-detail span { color: #94a3b8; font-size: 10px; }
.job-error-detail code { color: #fda4af; font-size: 10px; }
.job-error-detail p { margin: 0; color: #cbd5e1; font-size: 11px; line-height: 1.5; }
.job-error-detail > button { border: 0; background: transparent; color: #94a3b8; font-size: 20px; cursor: pointer; }

.status-badge,
.acceptance-badge {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}
.status-badge.success,
.acceptance-badge.success { color: #6ee7b7; background: rgba(16, 185, 129, .13); }
.status-badge.warning,
.acceptance-badge.warning { color: #fcd34d; background: rgba(245, 158, 11, .13); }
.status-badge.danger,
.acceptance-badge.danger { color: #fca5a5; background: rgba(239, 68, 68, .13); }
.status-badge.running { color: #93c5fd; background: rgba(59, 130, 246, .13); }

.report-section { max-width: 1440px; margin: 0 auto 40px; padding: 24px; }
.report-title-row { margin-bottom: 18px; }
.report-title-row h2 { margin: 6px 0; }
.report-title-actions { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; min-width: max-content; }
.report-title-actions .portal-primary { padding: 10px 14px; font-size: 11px; }
.report-metrics { display: grid; grid-template-columns: repeat(8, minmax(110px, 1fr)); gap: 10px; }
.metric-card { min-height: 94px; display: flex; flex-direction: column; justify-content: space-between; padding: 13px; border: 1px solid #334155; border-radius: 12px; background: #101a2b; }
.metric-card span { color: #94a3b8; font-size: 10px; font-weight: 700; line-height: 1.35; }
.metric-card strong { font-size: 26px; }
.metric-card.success strong { color: #34d399; }
.metric-card.danger strong { color: #f87171; }
.metric-card.warning strong { color: #fbbf24; }
.metric-card.accent strong { color: #60a5fa; }

.report-summary { display: flex; align-items: center; gap: 12px; margin: 16px 0; padding: 13px 15px; border-radius: 11px; }
.report-summary span { color: #cbd5e1; font-size: 12px; }
.report-summary.all-clear { background: rgba(16, 185, 129, .09); border: 1px solid rgba(16, 185, 129, .25); }
.report-summary.all-clear strong { color: #6ee7b7; }
.report-summary.has-warning { background: rgba(245, 158, 11, .08); border: 1px solid rgba(245, 158, 11, .24); }
.report-summary.has-warning strong { color: #fcd34d; }
.history-tools { display: flex; align-items: center; gap: 8px; }.reconciliation-section { border: 1px solid #265d72; background: linear-gradient(160deg,#102132,#0d1727 72%); }.reconciliation-metrics { grid-template-columns: repeat(7,minmax(110px,1fr)); }.reconciliation-table td:last-child { min-width: 280px; color: #9fb0c8; font-size: 12px; }.recon-badge { display: inline-flex; border-radius: 999px; padding: 5px 8px; font-size: 10px; font-weight: 900; white-space: nowrap; }.recon-badge.success { color: #74e1bb; background: rgba(16,185,129,.14); }.recon-badge.warning { color: #f8cf6a; background: rgba(245,158,11,.14); }.recon-badge.danger { color: #ff9da8; background: rgba(244,63,94,.14); }
.history-clear-button { border-color: rgba(244,63,94,.48) !important; color: #fda4af !important; }
.history-clear-confirmation { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 14px; padding: 12px 14px; border: 1px solid rgba(244,63,94,.38); border-radius: 12px; background: rgba(127,29,29,.14); }
.history-clear-confirmation > div:first-child { display: grid; gap: 3px; }
.history-clear-confirmation strong { color: #fecaca; font-size: 12px; }
.history-clear-confirmation span { color: #aebed3; font-size: 10px; line-height: 1.45; }
.history-clear-confirmation > div:last-child { display: flex; gap: 8px; flex: 0 0 auto; }
.history-clear-confirmation .danger { border-color: #9f3243; color: #fecaca; background: rgba(159,50,67,.16); }
.report-filter-row { display: flex; flex-wrap: wrap; gap: 5px; margin: 12px 0; }

.portal-message { max-width: 1440px; margin: 0 auto 16px; padding: 11px 14px; border-radius: 10px; font-size: 12px; font-weight: 650; }
.portal-message.error { color: #fecaca; background: rgba(239, 68, 68, .1); border: 1px solid rgba(239, 68, 68, .25); }
.portal-message.success { color: #a7f3d0; background: rgba(16, 185, 129, .1); border: 1px solid rgba(16, 185, 129, .25); }

.auth-shell {
    min-height: calc(100vh - 150px);
    display: grid;
    grid-template-columns: minmax(340px, 1.1fr) minmax(330px, .7fr);
    align-items: center;
    gap: clamp(40px, 8vw, 110px);
    max-width: 1100px;
    margin: auto;
}
.auth-copy h1 { max-width: 680px; margin: 12px 0 18px; font-size: clamp(34px, 5vw, 58px); line-height: 1.04; letter-spacing: -.045em; }
.auth-copy p { max-width: 650px; font-size: 15px; }
.auth-assurances { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.auth-assurances span { padding: 8px 10px; border: 1px solid #334155; border-radius: 999px; color: #cbd5e1; font-size: 11px; }
.auth-card { padding: 24px; border: 1px solid #475569; border-radius: 18px; background: rgba(20, 30, 49, .95); box-shadow: 0 22px 70px rgba(0, 0, 0, .3); }
.auth-card h2 { font-size: 23px; margin-bottom: 4px; }
.auth-card .portal-message { margin: 15px 0 0; }
.remember-row { display: flex !important; align-items: center; gap: 9px; }
.remember-row input { width: auto; }
.portal-state-card { min-height: calc(100vh - 160px); display: grid; place-content: center; justify-items: center; gap: 8px; color: #94a3b8; text-align: center; }
.portal-spinner { width: 34px; height: 34px; border: 3px solid #334155; border-top-color: #3b82f6; border-radius: 50%; animation: portal-spin .8s linear infinite; }
@keyframes portal-spin { to { transform: rotate(360deg); } }

/* Module 6E — expert review queue */
.review-page { min-height: calc(100vh - 66px); padding: 24px; background: #0b1426; color: #e5edf8; }
.review-hero, .review-toolbar, .review-workspace, .review-message { max-width: 1500px; margin-left: auto; margin-right: auto; }
.review-hero { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; padding: 18px 20px; border: 1px solid #2c405e; border-radius: 16px; background: linear-gradient(135deg, #13223b, #111b30); }
.review-hero span { color: #60a5fa; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.review-hero h1 { margin: 5px 0 4px; font-size: 30px; }
.review-hero p { margin: 0; max-width: 850px; color: #9fb0c8; font-size: 13px; }
.review-hero > strong { padding: 9px 12px; border: 1px solid #334a6b; border-radius: 999px; color: #bfdbfe; white-space: nowrap; }
.review-toolbar { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, .6fr) auto; gap: 12px; align-items: end; margin-top: 14px; padding: 14px; border: 1px solid #283a55; border-radius: 13px; background: #111d31; }
.review-toolbar label { display: grid; gap: 6px; color: #a9b8cc; font-size: 11px; font-weight: 750; }
.review-toolbar select, .review-toolbar button, .review-issue input, .review-table input { border: 1px solid #334963; border-radius: 9px; background: #0b1527; color: #e5edf8; padding: 10px 11px; outline: none; }
.review-toolbar button, .review-issue button, .review-section-heading button, .review-approval button { border: 1px solid #3b82f6; border-radius: 9px; background: #2563eb; color: #fff; padding: 10px 14px; cursor: pointer; font-weight: 800; }
.review-toolbar button:disabled, .review-issue button:disabled, .review-section-heading button:disabled, .review-approval button:disabled { opacity: .45; cursor: not-allowed; }
.review-message { margin-top: 12px; padding: 11px 14px; border: 1px solid rgba(16,185,129,.35); border-radius: 10px; background: rgba(16,185,129,.08); color: #a7f3d0; }
.review-message.error { border-color: rgba(239,68,68,.4); background: rgba(239,68,68,.08); color: #fecaca; }
.review-workspace { display: grid; grid-template-columns: 315px minmax(0, 1fr); gap: 14px; margin-top: 14px; min-height: 600px; }
.review-list, .review-detail { border: 1px solid #293c59; border-radius: 15px; background: #111c30; overflow: hidden; }
.review-list { display: flex; flex-direction: column; max-height: calc(100vh - 240px); overflow-y: auto; padding: 8px; gap: 7px; }
.review-list-item { position: relative; display: grid; gap: 3px; padding: 12px; border: 1px solid #2a3d59; border-radius: 10px; background: #0e192c; color: #dce7f7; text-align: left; cursor: pointer; }
.review-list-item:hover, .review-list-item.active { border-color: #3b82f6; background: #132542; }
.review-list-item > span { color: #93c5fd; font-size: 11px; font-weight: 800; }
.review-list-item > strong { padding-right: 72px; font-size: 12px; }
.review-list-item > small { color: #8ea0b9; }
.review-list-item > em { position: absolute; top: 11px; right: 10px; font-size: 10px; font-style: normal; }
.review-list-item > em.good { color: #6ee7b7; } .review-list-item > em.warning { color: #fcd34d; } .review-list-item > em.danger { color: #fca5a5; }
.review-detail { max-height: calc(100vh - 240px); overflow-y: auto; padding: 16px; }
.review-empty { min-height: 180px; display: grid; place-content: center; gap: 5px; color: #8fa1ba; text-align: center; }
.review-empty strong { color: #d7e2f1; } .review-empty.compact { min-height: 90px; }
.review-document-header { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.review-document-header span, .review-document-header p { color: #93a4bc; font-size: 11px; }
.review-document-header h2 { margin: 3px 0; font-size: 24px; }
.review-document-header > div:last-child { display: grid; gap: 2px; text-align: right; }
.review-document-header > div:last-child strong { color: #6ee7b7; font-size: 19px; }
.review-gate-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin: 14px 0; }
.review-gate-strip span { display: grid; gap: 3px; padding: 10px; border: 1px solid #2b405d; border-radius: 9px; color: #8fa2ba; font-size: 10px; }
.review-gate-strip strong { color: #e3edf9; font-size: 13px; }
.review-section { margin-top: 12px; border: 1px solid #2a3e5a; border-radius: 12px; overflow: hidden; }
.review-section-heading { display: flex; justify-content: space-between; align-items: center; padding: 11px 13px; background: #16243a; }
.review-section-heading > div { display: flex; align-items: center; gap: 8px; }
.review-section-heading > div > span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: #1d4f91; font-size: 11px; font-weight: 900; }
.review-section-heading h3 { margin: 0; font-size: 14px; }
.review-section-heading .secondary { border-color: #445979; background: #1b2a41; padding: 7px 10px; }
.review-issue { display: grid; grid-template-columns: 90px minmax(220px, 1fr) minmax(270px, .8fr); gap: 10px; align-items: center; padding: 11px 13px; border-top: 1px solid #243751; }
.review-issue.error { box-shadow: inset 3px 0 #ef4444; } .review-issue.warning { box-shadow: inset 3px 0 #f59e0b; } .review-issue.info { box-shadow: inset 3px 0 #3b82f6; }
.review-issue.resolved { opacity: .62; box-shadow: inset 3px 0 #10b981; }
.issue-code, .issue-copy { display: grid; gap: 3px; } .issue-code span, .issue-copy span, .issue-copy small { color: #8da0b9; font-size: 10px; }
.issue-action { display: grid; grid-template-columns: 1fr auto; gap: 7px; }
.issue-action button { padding: 8px 10px; font-size: 10px; }
.review-table-wrap { overflow: auto; }
.review-table { width: 100%; min-width: 850px; border-collapse: collapse; font-size: 11px; }
.review-table th, .review-table td { padding: 9px 10px; border-top: 1px solid #253950; text-align: left; }
.review-table th { color: #8da2bb; font-size: 10px; }
.review-table td strong, .review-table td small { display: block; } .review-table td small { color: #8497b0; }
.review-table input { min-width: 145px; padding: 7px 8px; }
.review-approval { position: sticky; bottom: -16px; display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 14px -16px -16px; padding: 13px 16px; border-top: 1px solid #365074; background: rgba(15,27,46,.97); backdrop-filter: blur(10px); }
.review-approval > div { display: grid; gap: 3px; } .review-approval span { color: #90a4bd; font-size: 10px; }
.review-learn-check { display: flex; align-items: center; gap: 7px; margin-top: 6px; color: #c9d7e9; cursor: pointer; }
.review-learn-check input { accent-color: #22c55e; }
.review-learn-check.shared { color: #9db2cf; }
.review-learn-check.shared span { max-width: 560px; line-height: 1.35; }
.review-learn-check.shared small { display: block; margin-top: 2px; color: #7890ad; font-size: 9px; }
.review-approval button { background: #059669; border-color: #10b981; }
@media (max-width: 1000px) { .review-workspace { grid-template-columns: 1fr; } .review-list, .review-detail { max-height: none; } .review-list { max-height: 300px; } .review-gate-strip { grid-template-columns: 1fr 1fr; } }
@media (max-width: 650px) { .review-page { padding: 12px; } .review-hero, .review-approval { flex-direction: column; } .review-toolbar { grid-template-columns: 1fr; } .review-issue { grid-template-columns: 1fr; } .review-gate-strip { grid-template-columns: 1fr; } }

/* Module 5D — bank statement review */
.bank-page { min-height: calc(100vh - 66px); padding: 24px; background: #0a1425; color: #e5edf8; }
.bank-hero, .bank-import-card, .bank-message, .bank-metrics, .bank-warnings, .bank-review-card, .bank-decision { max-width: 1500px; margin-left: auto; margin-right: auto; }
.bank-hero { display: flex; justify-content: space-between; gap: 24px; padding: 20px; border: 1px solid #2c4260; border-radius: 16px; background: linear-gradient(135deg, #12233d, #101b30); }
.bank-hero span, .bank-review-card header span, .bank-decision > div > span { color: #60a5fa; font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.bank-hero h1 { margin: 5px 0; font-size: 31px; } .bank-hero p { margin: 0; max-width: 880px; color: #9eb0c8; font-size: 13px; }
.bank-hero > strong { align-self: flex-start; padding: 9px 12px; border: 1px solid #4a5e79; border-radius: 999px; color: #bfdbfe; white-space: nowrap; }
.bank-import-card { margin-top: 14px; padding: 15px; border: 1px solid #2b3f5c; border-radius: 14px; background: #111d31; }
.bank-fields { display: grid; grid-template-columns: minmax(220px,1fr) minmax(140px,.55fr) minmax(180px,.7fr) minmax(145px,.5fr) minmax(210px,.8fr) auto; gap: 10px; align-items: end; }
.bank-fields label, .bank-decision label { display: grid; gap: 6px; color: #a5b6ca; font-size: 10px; font-weight: 750; }
.bank-fields select, .bank-fields input, .bank-fields button, .bank-review-card select, .bank-review-card button, .bank-decision input, .bank-decision textarea { border: 1px solid #334a68; border-radius: 9px; background: #0b1629; color: #e5edf8; padding: 10px 11px; outline: none; }
.bank-fields button, .bank-review-card button, .bank-decision button { border-color: #3b82f6; background: #2563eb; color: #fff; cursor: pointer; font-weight: 800; }
.bank-fields button:disabled, .bank-review-card button:disabled, .bank-decision button:disabled { opacity: .45; cursor: not-allowed; }
.bank-file { position: relative; } .bank-file input { position: absolute; inset: 17px 0 0; opacity: 0; cursor: pointer; }
.bank-file span { display: block; overflow: hidden; padding: 10px; border: 1px dashed #45617f; border-radius: 9px; background: #0b1629; color: #c6d4e6; text-overflow: ellipsis; white-space: nowrap; }
.bank-drop-zone { border-radius: 10px; transition: background .18s ease,box-shadow .18s ease,transform .18s ease; }
.bank-drop-zone.drag-active { background: rgba(59,130,246,.15); box-shadow: 0 0 0 3px rgba(59,130,246,.2); transform: translateY(-1px); }
.bank-drop-zone.drag-active span { border-color: #60a5fa; background: #10294a; color: #fff; }
.bank-import-card > p { margin: 10px 0 0; color: #8195ae; font-size: 10px; }
.bank-message { margin-top: 12px; padding: 11px 14px; border: 1px solid rgba(16,185,129,.4); border-radius: 10px; background: rgba(16,185,129,.08); color: #a7f3d0; }
.bank-message.error { border-color: rgba(239,68,68,.4); background: rgba(239,68,68,.08); color: #fecaca; }
.bank-metrics { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; margin-top: 12px; }
.bank-metrics article { display: grid; gap: 3px; padding: 12px; border: 1px solid #2b405d; border-radius: 11px; background: #101c30; }
.bank-metrics span { color: #8da1ba; font-size: 10px; } .bank-metrics strong { color: #e9f1fb; font-size: 20px; }
.bank-warnings { margin-top: 8px; padding: 10px 12px; border: 1px solid #6b4c18; border-radius: 10px; background: rgba(245,158,11,.06); color: #fcd34d; font-size: 11px; }
.bank-warnings p { margin: 5px 0 0; }
.bank-review-card { margin-top: 14px; border: 1px solid #2a3e5b; border-radius: 14px; background: #111d31; overflow: hidden; }
.bank-review-card > header { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 13px 15px; border-bottom: 1px solid #2a3e5b; background: #15243a; }
.bank-review-card h2 { margin: 3px 0 0; font-size: 18px; } .bank-review-card header > div:last-child { display: flex; gap: 7px; }
.bank-review-card select, .bank-review-card button { padding: 8px 10px; }
.bank-voucher-preview { border-color: #2d7967; }
.bank-voucher-preview .preview-summary { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; color: #9fb4cc; font-size: 11px; }
.bank-voucher-preview .preview-summary strong { color: #69dfb8; }
.preview-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 15px; border-top: 1px solid #2a3e5b; background: #0d192b; }
.preview-actions span { padding: 5px 9px; border-radius: 999px; font-size: 11px; font-weight: 850; }
.preview-actions .balanced { color: #6ee7bd; background: #123b31; }
.preview-actions .unbalanced { color: #fca5a5; background: #451d25; }
.preview-actions .approve { border: 1px solid #10b981; border-radius: 9px; padding: 10px 14px; color: #fff; background: #059669; font-weight: 850; cursor: pointer; }
.bank-table-wrap { max-height: 520px; overflow: auto; }
.bank-table { width: 100%; min-width: 1080px; border-collapse: collapse; font-size: 11px; }
.bank-table th, .bank-table td { padding: 10px; border-bottom: 1px solid #263a54; text-align: left; vertical-align: top; }
.bank-table th { position: sticky; top: 0; z-index: 1; background: #17263d; color: #91a5be; font-size: 10px; }
.bank-table tr.selected td { background: rgba(59,130,246,.09); } .bank-table td strong, .bank-table td small { display: block; } .bank-table td small { color: #8397b1; margin-top: 3px; }
.bank-table td.credit { color: #6ee7b7; font-weight: 800; } .bank-table td.debit { color: #fca5a5; font-weight: 800; }
.bank-table em { display: inline-block; border-radius: 999px; padding: 4px 7px; font-style: normal; font-size: 9px; font-weight: 800; }
.bank-table .status-reviewrequired { background: rgba(245,158,11,.13); color: #fcd34d; } .bank-table .status-approved { background: rgba(16,185,129,.13); color: #6ee7b7; } .bank-table .status-ignored { background: rgba(148,163,184,.12); color: #cbd5e1; }
.bank-empty { display: grid; place-content: center; min-height: 180px; gap: 4px; color: #8da0b8; text-align: center; }
.bank-decision { display: grid; grid-template-columns: minmax(260px,1fr) minmax(170px,.45fr) minmax(260px,.8fr) auto; gap: 12px; align-items: end; margin-top: 12px; padding: 15px; border: 1px solid #355276; border-radius: 13px; background: #13223a; }
.bank-decision h2 { margin: 4px 0; font-size: 16px; } .bank-decision p { margin: 0; color: #8fa3bc; font-size: 10px; }
.bank-decision textarea { min-height: 40px; resize: vertical; } .bank-decision > div:last-child { display: flex; gap: 7px; }
.bank-decision button { border: 1px solid #52657d; border-radius: 9px; padding: 10px 12px; }
.bank-decision .ignore { background: #334155; } .bank-decision .approve { border-color: #10b981; background: #059669; }
.bank-suggestion { grid-column: 1 / -1; padding: 9px 11px; border: 1px solid #3d5d83; border-radius: 9px; color: #b9d8ff !important; background: #102949; }
.bank-transfer-card { padding-bottom: 10px; }
.bank-transfer-pair { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 9px 12px 0; padding: 12px; border: 1px solid #2d4665; border-radius: 11px; background: #0d192b; }
.bank-transfer-pair strong, .bank-transfer-pair span, .bank-transfer-pair small { display: block; }
.bank-transfer-pair span { margin-top: 4px; color: #77d9bc; font-size: 11px; }
.bank-transfer-pair small { margin-top: 4px; color: #7893b3; font-size: 9px; }
.bank-transfer-pair em { color: #6ee7b7; font-style: normal; font-weight: 800; }
.bank-transfer-decision { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; margin: 10px 12px 0; }
.bank-transfer-decision textarea { min-height: 42px; border: 1px solid #334a68; border-radius: 9px; padding: 10px; color: #e5edf8; background: #0b1629; resize: vertical; }
@media (max-width: 1100px) { .bank-fields { grid-template-columns: 1fr 1fr; } .bank-decision { grid-template-columns: 1fr 1fr; } }
@media (max-width: 650px) { .bank-page { padding: 12px; } .bank-hero { flex-direction: column; } .bank-fields, .bank-decision, .bank-metrics { grid-template-columns: 1fr; } .bank-review-card > header { align-items: flex-start; flex-direction: column; } }

@media (max-width: 1050px) {
    .operation-grid { grid-template-columns: 1fr; }
    .report-metrics { grid-template-columns: repeat(4, 1fr); }
    .agent-status-badge { display: none; }
}

@media (max-width: 760px) {
    .direction-bar { align-items: stretch; flex-direction: column; }
    .direction-toggle-group { width: 100%; overflow-x: auto; }
    .clear-workspace-button { align-self: flex-end; }
    .document-queue { margin: 0 12px 4px; }
    .document-queue-summary { align-items: flex-start; flex-direction: column; }
    .document-queue-item { min-width: 220px; }
    .portal-page { padding: 18px 12px; }
    .portal-hero { align-items: flex-start; flex-direction: column; }
    .portal-user { width: 100%; }
    .portal-user .portal-ghost { margin-left: auto; }
    .collection-actions { grid-template-columns: 1fr; }
    .portal-report-switcher { grid-template-columns: 1fr; }
    .credential-panel { grid-template-columns: 1fr; }
    .credential-actions { justify-content: flex-start; flex-wrap: wrap; }
    .report-metrics { grid-template-columns: repeat(2, 1fr); }
    .report-summary { align-items: flex-start; flex-direction: column; }
    .job-error-detail { grid-template-columns: 1fr auto; }
    .job-error-detail p { grid-column: 1 / -1; }
    .auth-shell { grid-template-columns: 1fr; padding: 35px 0; }
    .auth-copy h1 { font-size: 36px; }
    .auth-copy p, .auth-assurances { display: none; }
    .main-nav a { padding: 7px 9px; font-size: 11px; }
    .logo-text span { display: none; }
}

/* Account plan installation and mapping settings */
.account-settings-page {
    flex: 1;
    width: 100%;
    min-height: 0;
    max-width: 1540px;
    margin: 0 auto;
    padding: 24px;
    overflow-y: auto;
    color: #e5e7eb;
}

.account-settings-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}

.account-settings-kicker { color: #60a5fa; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.account-settings-hero h1 { margin: 6px 0 8px; font-size: clamp(25px, 3vw, 38px); letter-spacing: -.035em; }
.account-settings-hero p { max-width: 850px; margin: 0; color: #94a3b8; font-size: 13px; line-height: 1.6; }
.account-settings-state { min-width: 270px; display: grid; gap: 4px; padding: 13px 15px; border: 1px solid #334155; border-radius: 12px; background: #111c2e; }
.account-settings-state strong { font-size: 12px; }
.account-settings-state span { color: #94a3b8; font-size: 10px; line-height: 1.45; }
.account-settings-state.ready { border-color: rgba(16,185,129,.4); }
.account-settings-state.ready strong { color: #6ee7b7; }
.account-settings-state.warning strong { color: #fcd34d; }

.account-settings-message { margin-bottom: 16px; padding: 11px 13px; border-radius: 10px; font-size: 12px; }
.account-settings-message.success { color: #a7f3d0; border: 1px solid rgba(16,185,129,.28); background: rgba(16,185,129,.09); }
.account-settings-message.error { color: #fecaca; border: 1px solid rgba(239,68,68,.28); background: rgba(239,68,68,.09); }

.account-settings-grid { display: grid; grid-template-columns: minmax(360px,.75fr) minmax(460px,1.25fr); gap: 16px; margin-bottom: 16px; }
.account-settings-card, .kdv-safety-card { padding: 18px; border: 1px solid #334155; border-radius: 15px; background: #111c2e; box-shadow: 0 12px 38px rgba(0,0,0,.12); }
.account-card-heading { margin-bottom: 16px; }
.account-card-heading > div, .kdv-safety-card > div { display: flex; align-items: flex-start; gap: 11px; }
.account-card-heading > div > span, .kdv-safety-card > div > span { flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; color: #bfdbfe; background: rgba(59,130,246,.18); font-size: 11px; font-weight: 900; }
.account-card-heading h2, .kdv-safety-card h2 { margin: 0 0 3px; font-size: 15px; }
.account-card-heading p, .kdv-safety-card p { margin: 0; color: #94a3b8; font-size: 10px; line-height: 1.5; }
.account-settings-card label { display: block; margin: 12px 0 5px; color: #cbd5e1; font-size: 10px; font-weight: 800; }
.account-settings-card select, .account-settings-card textarea, .account-settings-card input { width: 100%; border: 1px solid #334155; border-radius: 8px; outline: 0; color: #e5e7eb; background: #0b1423; font: inherit; }
.account-settings-card select, .account-settings-card input { min-height: 36px; padding: 8px 10px; }
.account-settings-card textarea { padding: 10px; resize: vertical; font-family: Consolas, monospace; font-size: 11px; line-height: 1.6; }
.account-settings-card select:focus, .account-settings-card textarea:focus, .account-settings-card input:focus { border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,.12); }
.field-help { margin: 6px 0 12px; color: #64748b; font-size: 9px; line-height: 1.45; }
.account-primary { border: 0; border-radius: 9px; padding: 10px 13px; color: #fff; background: linear-gradient(135deg,#2563eb,#4f46e5); font-size: 11px; font-weight: 800; cursor: pointer; }
.account-primary:disabled { opacity: .45; cursor: not-allowed; }
.account-source-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.account-install-card { margin: 0 0 16px; border-color: rgba(16,185,129,.42); background: linear-gradient(135deg,rgba(16,185,129,.055),#111c2e 42%); }
.account-install-card.installed { border-color: rgba(16,185,129,.45); box-shadow: 0 12px 38px rgba(16,185,129,.07); }
.account-bulk-card { margin: 0 0 16px; border-color: rgba(96,165,250,.38); }
.account-bulk-toolbar { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:12px; border:1px solid #29425f; border-radius:10px; background:#0d1b2d; }
.account-bulk-toolbar > span { color:#91acd0; font-size:.78rem; flex:1 1 360px; }
.account-bulk-customers { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:8px; margin:12px 0; max-height:300px; overflow:auto; }
.account-bulk-customer { display:flex; align-items:flex-start; gap:10px; padding:11px; border:1px solid #29425f; border-radius:10px; background:#0b192a; cursor:pointer; }
.account-bulk-customer input { margin-top:3px; accent-color:#34d399; }
.account-bulk-customer span { display:flex; flex-direction:column; min-width:0; }
.account-bulk-customer strong { color:#f3f7ff; font-size:.82rem; }
.account-bulk-customer small { color:#79a2d7; margin-top:3px; }
.account-bulk-results { display:grid; gap:7px; margin-top:12px; }
.account-bulk-result { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 12px; border:1px solid #29425f; border-radius:9px; background:#0c1a2c; }
.account-bulk-result span { display:flex; flex-direction:column; }
.account-bulk-result small,.account-bulk-result em { color:#87a5c9; font-size:.75rem; font-style:normal; }
.account-bulk-result.completed { border-color:rgba(52,211,153,.48); }
.account-bulk-result.completed small { color:#48e0ac; }
.account-bulk-result.failed { border-color:rgba(248,113,113,.55); }
.account-bulk-result.failed small,.account-bulk-result.failed em { color:#ff9a9a; }
.account-bulk-result.running,.account-bulk-result.cooldown { border-color:rgba(96,165,250,.55); }
.coming-soon-module { min-height:calc(100vh - 126px); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:40px 20px; color:#f4f7ff; }
.coming-soon-kicker { color:#60a5fa; font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.coming-soon-icon { width:76px; height:76px; display:grid; place-items:center; margin:22px 0 14px; border:1px solid rgba(96,165,250,.55); border-radius:22px; background:linear-gradient(135deg,#2563eb,#7c3aed); box-shadow:0 20px 55px rgba(37,99,235,.25); font-size:1.35rem; font-weight:900; }
.coming-soon-module h1 { margin:0; font-size:clamp(2rem,5vw,3.6rem); }
.coming-soon-module > strong { margin-top:10px; color:#4adeb1; font-size:1.2rem; }
.coming-soon-module p { max-width:680px; color:#91acd0; line-height:1.7; }
.coming-soon-scope { margin-top:12px; padding:9px 14px; border:1px solid #29425f; border-radius:999px; color:#8fb6e8; background:#0d1b2d; font-size:.75rem; }
.account-install-badge { padding: 6px 9px; border: 1px solid rgba(251,191,36,.3); border-radius: 999px; color: #fcd34d; background: rgba(251,191,36,.08); font-size: 10px; font-weight: 800; }
.account-install-summary { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; margin: 14px 0; }
.account-install-summary > div { display: grid; gap: 3px; padding: 12px; border: 1px solid #2d415e; border-radius: 10px; background: #0b1423; }
.account-install-summary strong { color: #e5edf9; font-size: 15px; }
.account-install-summary span { color: #8191ab; font-size: 10px; }
.account-install-confirm { display: flex !important; align-items: flex-start; gap: 9px; margin: 12px 0 !important; padding: 11px 12px; border: 1px solid #334155; border-radius: 10px; background: rgba(15,23,42,.55); font-size: 11px !important; line-height: 1.5; }
.account-install-confirm input { flex: 0 0 auto; width: 16px !important; min-height: 16px !important; margin: 1px 0 0; accent-color: #10b981; }
.account-install-button { width: 100%; min-height: 46px; padding: 11px 16px; border: 1px solid rgba(52,211,153,.62); border-radius: 10px; color: #ecfdf5; background: linear-gradient(135deg,#059669,#0f766e); box-shadow: 0 10px 26px rgba(5,150,105,.2); font-weight: 900; cursor: pointer; }
.account-install-button:disabled { opacity: .42; cursor: not-allowed; }
.account-install-hint { display: block; margin-top: 8px; color: #94a3b8; font-size: 10px; line-height: 1.5; }
.account-install-result { display: grid; gap: 3px; margin: 10px 0; padding: 11px 12px; border: 1px solid rgba(16,185,129,.34); border-radius: 10px; color: #a7f3d0; background: rgba(16,185,129,.08); font-size: 11px; }
.account-install-result span { color: #94a3b8; }
.account-zirve-read { background: linear-gradient(135deg,#059669,#0f766e); }
.account-secondary { border: 1px solid #334155; border-radius: 9px; padding: 9px 12px; color: #cbd5e1; background: #0b1423; font-size: 10px; font-weight: 800; cursor: pointer; }
.account-secondary:disabled { opacity: .45; cursor: not-allowed; }

.root-allocation-list { display: grid; grid-template-columns: repeat(3,minmax(110px,1fr)); gap: 8px; }
.root-allocation-item { display: grid; gap: 3px; padding: 10px; border: 1px solid #29374b; border-radius: 10px; background: #0b1423; }
.root-allocation-item strong { color: #93c5fd; font-size: 11px; }
.root-allocation-item span { font: 700 13px/1.2 Consolas,monospace; }
.root-allocation-item em { color: #64748b; font-size: 8px; font-style: normal; }
.root-allocation-item.available { border-color: rgba(16,185,129,.22); }
.root-allocation-item.blocked { border-color: rgba(239,68,68,.3); }
.account-inline-error { margin-top: 8px; padding: 8px; border-radius: 8px; color: #fecaca; background: rgba(239,68,68,.08); font-size: 10px; }
.account-collision-panel { display: grid; gap: 7px; margin-top: 10px; padding: 11px; border: 1px solid rgba(245,158,11,.3); border-radius: 10px; background: rgba(245,158,11,.06); }
.account-collision-panel > strong { color: #fcd34d; font-size: 11px; }
.account-collision-panel > p { margin: 0 0 2px; color: #94a3b8; font-size: 9px; }
.account-collision-panel > div { display: grid; grid-template-columns: 100px minmax(0,1fr) 150px; gap: 8px; align-items: center; padding-top: 7px; border-top: 1px solid rgba(245,158,11,.14); font-size: 9px; }
.account-collision-panel code { overflow: hidden; color: #fca5a5; text-overflow: ellipsis; white-space: nowrap; }
.account-collision-panel em { color: #6ee7b7; font-style: normal; }
.account-collision-targets { grid-column: 1 / -1; color: #9fb3cc; line-height: 1.55; overflow-wrap: anywhere; }
.account-collision-targets b { color: #7dd3fc; }
.account-empty { min-height: 150px; display: grid; place-items: center; color: #64748b; font-size: 11px; }

.account-catalog-card { margin-bottom: 16px; padding-bottom: 0; overflow: hidden; }
.account-action-explanation { display: flex; align-items: flex-start; gap: 8px; margin: -4px 0 14px; padding: 10px 12px; border: 1px solid #334155; border-radius: 10px; color: #94a3b8; background: #0b1423; font-size: 10px; line-height: 1.5; }
.account-action-explanation strong { flex: 0 0 auto; color: #e2e8f0; }
.account-action-explanation.install { border-color: rgba(16,185,129,.25); background: rgba(16,185,129,.06); }
.account-action-explanation.install strong { color: #6ee7b7; }
.account-action-explanation.mapping { margin-right: 0; margin-left: 0; }
.catalog-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.account-catalog-table-wrap { max-height: 510px; margin: 0 -18px; overflow: auto; border-top: 1px solid #334155; }
.account-catalog-table { width: 100%; min-width: 980px; border-collapse: collapse; font-size: 10px; }
.account-catalog-table thead { position: sticky; top: 0; z-index: 2; background: #172338; }
.account-catalog-table th { padding: 9px 11px; color: #94a3b8; text-align: left; }
.account-catalog-table td { padding: 8px 11px; border-top: 1px solid rgba(51,65,85,.55); }
.account-catalog-table td:first-child { min-width: 230px; }
.account-catalog-table strong, .account-catalog-table small { display: block; }
.account-catalog-table small { margin-top: 2px; color: #64748b; font-size: 8px; }
.account-catalog-table input { min-width: 160px; min-height: 30px; padding: 6px 8px; font-size: 10px; }
.account-catalog-table .account-code-input { min-width: 135px; font-family: Consolas,monospace; color: #7dd3fc; }
.yes-no { padding: 4px 6px; border-radius: 999px; font-size: 8px; font-weight: 800; }
.yes-no.yes { color: #fcd34d; background: rgba(245,158,11,.12); }
.yes-no.no { color: #94a3b8; background: rgba(100,116,139,.12); }
.account-code-status { display: inline-flex; white-space: nowrap; padding: 5px 7px; border-radius: 999px; font-size: 8px; font-weight: 900; }
.account-code-status.existing { color: #6ee7b7; background: rgba(16,185,129,.13); }
.account-code-status.missing { color: #bfdbfe; background: rgba(59,130,246,.13); }
.account-code-status.collision { color: #fecaca; background: rgba(239,68,68,.15); }

.kdv-safety-card { display: grid; grid-template-columns: minmax(330px,1.3fr) minmax(380px,1fr) auto; align-items: center; gap: 24px; border-color: rgba(245,158,11,.28); }
.kdv-safety-card ul { display: grid; grid-template-columns: repeat(2,minmax(180px,1fr)); gap: 7px; margin: 0; padding: 0; list-style: none; }
.kdv-safety-card li { position: relative; padding-left: 16px; color: #cbd5e1; font-size: 9px; }
.kdv-safety-card li::before { position: absolute; left: 0; content: "•"; color: #fbbf24; }
.kdv-safety-card li.locked { color: #fca5a5; }
.kdv-safety-card button { border: 1px solid rgba(239,68,68,.35); border-radius: 9px; padding: 10px 13px; color: #fca5a5; background: rgba(239,68,68,.08); font-size: 10px; font-weight: 800; cursor: not-allowed; }

@media (max-width: 1050px) {
    .account-settings-grid { grid-template-columns: 1fr; }
    .kdv-safety-card { grid-template-columns: 1fr; }
    .account-install-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
    .account-settings-page { padding: 15px 12px; }
    .account-settings-hero { flex-direction: column; }
    .account-settings-state { width: 100%; }
    .root-allocation-list { grid-template-columns: repeat(2,1fr); }
    .account-collision-panel > div { grid-template-columns: 1fr; }
    .catalog-heading { align-items: stretch; flex-direction: column; }
    .kdv-safety-card ul { grid-template-columns: 1fr; }
}

/* Rıfkı güvenli planlama çalışma alanı */
.rifki-page { max-width: 1500px; margin: 0 auto; padding: 22px; color: #eef5ff; }
.rifki-hero { display: grid; grid-template-columns: auto 1fr auto; gap: 20px; align-items: center; padding: 24px 28px; border: 1px solid #2b4668; border-radius: 22px; background: radial-gradient(circle at 12% 10%,rgba(91,83,255,.22),transparent 35%),linear-gradient(135deg,#13243c,#0e1829 70%); box-shadow: 0 20px 55px rgba(0,0,0,.2); }
.rifki-hero h1 { margin: 4px 0 8px; font-size: clamp(1.7rem,3vw,2.65rem); letter-spacing: -.04em; }
.rifki-hero p { margin: 0; color: #a9bdd8; max-width: 850px; }
.rifki-avatar,.rifki-orb { position: relative; display: grid; place-items: center; width: 68px; height: 68px; border-radius: 22px; color: white; font-size: 2rem; font-weight: 900; background: linear-gradient(145deg,#6172ff,#8d4dff); box-shadow: 0 12px 32px rgba(96,82,255,.38); }
.rifki-avatar i { position: absolute; right: -3px; bottom: -3px; width: 17px; height: 17px; border: 4px solid #13243c; border-radius: 50%; background: #16d6a3; }
.rifki-orb.small { width: 52px; height: 52px; border-radius: 17px; font-size: 1.4rem; }
.rifki-mode { padding: 12px 15px; border: 1px solid #35506f; border-radius: 14px; background: #0d1829cc; }
.rifki-mode strong,.rifki-mode span { display: block; }.rifki-mode span { margin-top: 3px; color: #88a5ca; font-size: .75rem; }
.rifki-workspace { display: grid; grid-template-columns: minmax(380px,.82fr) minmax(520px,1.18fr); gap: 16px; margin-top: 16px; }
.rifki-composer,.rifki-plan-panel,.rifki-history,.rifki-auth,.rifki-loading { border: 1px solid #293f5d; border-radius: 20px; background: #111e31; }
.rifki-composer { padding: 22px; }.rifki-plan-panel { min-height: 650px; padding: 22px; }
.rifki-section-heading { display: flex; gap: 12px; align-items: center; }.rifki-section-heading > span { flex: 0 0 30px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #92c6ff; font-weight: 800; background: #19365a; }
.rifki-section-heading h2 { margin: 0; font-size: 1rem; }.rifki-section-heading p { margin: 3px 0 0; color: #7791b3; font-size: .75rem; }.rifki-section-heading > div { flex: 1; }
.rifki-scope-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 16px 0 24px; }.rifki-scope-grid label span { display: block; margin-bottom: 6px; color: #8ca7c8; font-size: .72rem; font-weight: 700; }.rifki-scope-grid select { width: 100%; min-height: 43px; border: 1px solid #304863; border-radius: 10px; padding: 0 11px; color: #eaf3ff; background: #0b1627; }
.rifki-customer-picker { position: relative; z-index: 12; }.rifki-field-label { display: block; margin-bottom: 6px; color: #8ca7c8; font-size: .72rem; font-weight: 700; }.rifki-customer-trigger { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 52px; padding: 8px 12px; border: 1px solid #304863; border-radius: 10px; color: #eaf3ff; text-align: left; background: #0b1627; cursor: pointer; transition: border-color .18s ease,box-shadow .18s ease,background .18s ease; }.rifki-customer-trigger:hover,.rifki-customer-trigger.open { border-color: #6f79ff; background: #0e1c31; box-shadow: 0 0 0 3px rgba(105,95,255,.12); }.rifki-customer-trigger span,.rifki-customer-trigger b,.rifki-customer-trigger small { display: block; min-width: 0; }.rifki-customer-trigger b { overflow: hidden; color: #eff5ff; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }.rifki-customer-trigger small { margin-top: 3px; color: #6f8bab; font-size: .61rem; }.rifki-customer-trigger i { color: #91aee0; font-size: 1.15rem; font-style: normal; }.rifki-customer-menu { position: absolute; top: calc(100% + 8px); left: 0; z-index: 40; width: min(620px,calc(100vw - 48px)); overflow: hidden; border: 1px solid #3b5677; border-radius: 14px; background: #0b1728; box-shadow: 0 22px 55px rgba(0,0,0,.48); }.rifki-customer-menu-head,.rifki-customer-menu-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 15px; background: #10223a; }.rifki-customer-menu-head strong,.rifki-customer-menu-head small { display: block; }.rifki-customer-menu-head strong { color: #eef5ff; font-size: .79rem; }.rifki-customer-menu-head small { margin-top: 3px; color: #7995b7; font-size: .62rem; }.rifki-customer-menu button { border: 0; color: #8bb9ff; background: transparent; cursor: pointer; font-weight: 800; }.rifki-customer-option { display: grid!important; grid-template-columns: 22px minmax(0,1fr) auto; align-items: center; gap: 10px; margin: 0!important; padding: 11px 15px; border-bottom: 1px solid #213955; cursor: pointer; transition: background .15s ease; }.rifki-customer-option:hover { background: #112740; }.rifki-customer-option.all { border-top: 1px solid #294462; border-bottom-color: #3d5076; background: linear-gradient(90deg,rgba(36,197,154,.1),rgba(91,81,233,.13)); }.rifki-customer-option input { width: 17px; height: 17px; margin: 0; accent-color: #4fd8ad; }.rifki-customer-option > span,.rifki-customer-option strong,.rifki-customer-option small { display: block!important; min-width: 0; margin: 0!important; }.rifki-customer-option strong { overflow: hidden; color: #e9f2ff; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }.rifki-customer-option small { margin-top: 3px!important; color: #7390b3; font-size: .6rem; }.rifki-customer-option > b { color: #73e4c1; font-size: .7rem; }.rifki-customer-options { max-height: 270px; overflow-y: auto; }.rifki-customer-menu-foot { border-top: 1px solid #314a68; }.rifki-customer-menu-foot strong { color: #9bb2cf; font-size: .67rem; }.rifki-customer-menu-foot button { padding: 8px 12px; border-radius: 8px; color: #071722; background: linear-gradient(135deg,#38d3a6,#3ba2ef); }
.command-heading { margin-top: 4px; }.rifki-prompt-shell { margin-top: 14px; overflow: hidden; border: 1px solid #3b58a1; border-radius: 15px; background: #0a1424; box-shadow: inset 0 0 0 1px rgba(92,106,255,.08); }.rifki-prompt-shell:focus-within { border-color: #7c73ff; box-shadow: 0 0 0 3px rgba(105,95,255,.14); }
.rifki-prompt-shell textarea { display: block; width: 100%; min-height: 145px; resize: vertical; border: 0; outline: 0; padding: 16px; color: #f3f7ff; background: transparent; font: inherit; line-height: 1.55; }.rifki-prompt-footer { display: flex; justify-content: space-between; align-items: center; padding: 10px; border-top: 1px solid #243957; }.rifki-prompt-footer span { color: #617d9f; font-size: .72rem; }.rifki-prompt-footer button { border: 0; border-radius: 10px; padding: 11px 16px; color: white; font-weight: 800; background: linear-gradient(135deg,#536cff,#7b52ed); cursor: pointer; }.rifki-prompt-footer button:disabled { opacity: .45; cursor: not-allowed; }
.rifki-examples { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }.rifki-examples button { border: 1px solid #304766; border-radius: 999px; padding: 7px 10px; color: #a9c6eb; background: #14243a; font-size: .7rem; cursor: pointer; }.rifki-examples button:hover { border-color: #6579ff; color: white; }
.rifki-boundary { margin-top: 18px; padding: 13px; border: 1px solid #745d28; border-radius: 12px; color: #d5bb76; background: #2b2415; font-size: .77rem; line-height: 1.5; }
.rifki-empty,.rifki-auth,.rifki-loading { display: flex; min-height: 420px; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 35px; }.rifki-empty h2,.rifki-auth h1,.rifki-loading h1 { margin: 15px 0 7px; }.rifki-empty p,.rifki-auth p { max-width: 520px; margin: 0 0 18px; color: #7894b7; }
.rifki-plan-head { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }.rifki-plan-head h2 { margin: 10px 0 0; max-width: 680px; font-size: 1.15rem; line-height: 1.45; }.intent-pill { display: inline-block; border: 1px solid #485ac7; border-radius: 999px; padding: 6px 10px; color: #b8c1ff; background: #222b62; font-size: .7rem; font-weight: 800; }.confidence { min-width: 86px; text-align: right; }.confidence strong,.confidence span { display: block; }.confidence strong { color: #74e3c0; font-size: 1.5rem; }.confidence span { color: #7390b2; font-size: .65rem; }
.rifki-scope-summary { display: grid; grid-template-columns: 2fr 1fr 1fr 1.35fr; gap: 8px; margin: 18px 0 10px; }.rifki-scope-summary span { padding: 10px 12px; border: 1px solid #29415e; border-radius: 10px; background: #0d192a; }.rifki-scope-summary small,.rifki-scope-summary strong { display: block; }.rifki-scope-summary small { color: #6f8bad; font-size: .62rem; }.rifki-scope-summary strong { margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .76rem; }
.rifki-plan-flags { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0; }.rifki-plan-flags span { border-radius: 999px; padding: 6px 9px; font-size: .65rem; font-weight: 800; }.rifki-plan-flags .ready { color: #6de3bc; background: #103b34; }.rifki-plan-flags .waiting { color: #ffd47e; background: #423318; }.rifki-plan-flags .approval { color: #b7bdff; background: #27275b; }.rifki-plan-flags .prohibited { color: #ff9aa5; background: #4b2029; }
.rifki-steps { max-height: 360px; overflow-y: auto; list-style: none; margin: 0; padding: 0 5px 0 0; }.rifki-steps li { display: grid; grid-template-columns: 34px 1fr; gap: 11px; margin-bottom: 8px; padding: 12px; border: 1px solid #283e5a; border-radius: 12px; background: #0c1829; }.rifki-steps li.ready { border-left: 3px solid #1fbd91; }.rifki-steps li.waiting { border-left: 3px solid #d6a53e; }.rifki-steps li.approval { border-left: 3px solid #786dff; }.rifki-steps li.prohibited { border-left: 3px solid #df5267; }.step-order { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #9fbbdd; background: #172a43; font-size: .72rem; font-weight: 900; }.step-copy > div { display: flex; justify-content: space-between; gap: 8px; }.step-copy strong { font-size: .82rem; }.step-copy > div span { color: #7894b6; font-size: .65rem; }.step-copy p { margin: 5px 0; color: #8fa8c5; font-size: .72rem; line-height: 1.4; }.step-copy code { color: #6689b5; font-size: .62rem; }
.rifki-next-stage { display: flex; gap: 9px; margin-top: 12px; padding: 10px 12px; border: 1px dashed #3a5574; border-radius: 10px; color: #88a4c5; font-size: .68rem; }.rifki-next-stage strong { color: #aabaff; white-space: nowrap; }
.rifki-execution-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 13px; padding: 13px; border: 1px solid #34577e; border-radius: 13px; background: linear-gradient(135deg,#10233c,#111b2e); }.rifki-execution-actions strong,.rifki-execution-actions span { display: block; }.rifki-execution-actions strong { color: #dbeaff; font-size: .78rem; }.rifki-execution-actions span { max-width: 520px; margin-top: 4px; color: #7898bd; font-size: .67rem; line-height: 1.4; }.rifki-execution-actions button { flex: 0 0 auto; border: 0; border-radius: 10px; padding: 11px 15px; color: white; background: linear-gradient(135deg,#1ab88c,#2979dc); box-shadow: 0 8px 24px rgba(31,158,165,.18); font-size: .72rem; font-weight: 900; cursor: pointer; }.rifki-execution-actions button:disabled { opacity: .42; cursor: not-allowed; box-shadow: none; }
.rifki-autopilot-card { display: grid; gap: 16px; }.rifki-autopilot-card.approval { border: 1px solid rgba(125,101,255,.5); border-radius: 16px; padding: 18px; background: linear-gradient(145deg,rgba(63,43,130,.2),rgba(9,24,42,.55)); }.rifki-autopilot-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }.rifki-autopilot-head span { color: #7f9dff; font-size: .61rem; font-weight: 900; letter-spacing: .11em; }.rifki-autopilot-head h2 { margin: 5px 0 4px; color: #f5f8ff; font-size: 1.18rem; }.rifki-autopilot-head p { margin: 0; color: #88a3c2; font-size: .72rem; line-height: 1.5; }.rifki-autopilot-head > strong { color: #66e6be; font-size: 1.65rem; white-space: nowrap; }.rifki-autopilot-progress { height: 11px; overflow: hidden; border-radius: 999px; background: #0a1728; box-shadow: inset 0 0 0 1px #263d5b; }.rifki-autopilot-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#22c59a,#397dfa,#8054ee); transition: width .4s ease; }.rifki-autopilot-current { display: flex; align-items: center; gap: 11px; padding: 14px; border: 1px solid #35587d; border-radius: 13px; background: #10233b; }.rifki-autopilot-current strong,.rifki-autopilot-current small { display: block; }.rifki-autopilot-current strong { color: #e6f1ff; }.rifki-autopilot-current small { margin-top: 4px; color: #75a8d2; }.rifki-autopilot-totals,.rifki-autopilot-scope { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; border: 1px solid #314863; border-radius: 12px; }.rifki-autopilot-totals span,.rifki-autopilot-scope span { padding: 12px; border-right: 1px solid #314863; text-align: center; }.rifki-autopilot-totals span:last-child,.rifki-autopilot-scope span:last-child { border-right: 0; }.rifki-autopilot-totals small,.rifki-autopilot-totals strong,.rifki-autopilot-scope small,.rifki-autopilot-scope strong { display: block; }.rifki-autopilot-totals small,.rifki-autopilot-scope small { color: #7993b4; font-size: .62rem; }.rifki-autopilot-totals strong,.rifki-autopilot-scope strong { margin-top: 4px; color: #e6f0ff; font-size: .78rem; }.rifki-autopilot-list { display: grid; gap: 7px; max-height: 290px; overflow: auto; }.rifki-autopilot-list article { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 12px; border: 1px solid #30455e; border-radius: 10px; background: #0d1a2b; }.rifki-autopilot-list article.active { border-color: #3f74b6; background: #112742; }.rifki-autopilot-list article.success { border-color: rgba(35,201,155,.45); }.rifki-autopilot-list article.warning { border-color: rgba(233,162,54,.55); }.rifki-autopilot-list strong,.rifki-autopilot-list small { display: block; }.rifki-autopilot-list strong { color: #e4efff; font-size: .76rem; }.rifki-autopilot-list small,.rifki-autopilot-list article > span { color: #829dbd; font-size: .65rem; }.rifki-autopilot-list article > span { max-width: 48%; text-align: right; }.rifki-autopilot-steps { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.rifki-autopilot-steps li { display: flex; gap: 11px; align-items: center; padding: 11px; border: 1px solid #304766; border-radius: 11px; background: rgba(12,28,48,.72); }.rifki-autopilot-steps li > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; color: #8eb5ff; background: #18345a; font-weight: 900; }.rifki-autopilot-steps strong,.rifki-autopilot-steps small { display: block; }.rifki-autopilot-steps strong { color: #e8f1ff; font-size: .76rem; }.rifki-autopilot-steps small { margin-top: 3px; color: #809cbd; font-size: .64rem; }.rifki-autopilot-result { padding: 13px; border-radius: 11px; }.rifki-autopilot-result strong,.rifki-autopilot-result span { display: block; }.rifki-autopilot-result span { margin-top: 5px; font-size: .7rem; line-height: 1.45; }.rifki-autopilot-result.success { border: 1px solid rgba(35,201,155,.5); color: #80e7c7; background: rgba(18,91,72,.28); }.rifki-autopilot-result.warning { border: 1px solid rgba(233,162,54,.55); color: #f0c779; background: rgba(101,65,18,.28); }
.rifki-execution-report { margin-top: 14px; overflow: hidden; border: 1px solid #315170; border-radius: 14px; background: #0a1626; }.execution-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; padding: 14px; border-bottom: 1px solid #223b57; background: #102038; }.execution-head span { color: #6f91b8; font-size: .6rem; font-weight: 800; letter-spacing: .08em; }.execution-head h3 { margin: 5px 0 0; color: #e8f3ff; font-size: .82rem; line-height: 1.4; }.execution-head > strong { border-radius: 999px; padding: 6px 9px; font-size: .64rem; white-space: nowrap; }.execution-head > strong.complete { color: #68e4b9; background: #113d34; }.execution-head > strong.warning { color: #ffcd74; background: #443316; }
.execution-totals { display: grid; grid-template-columns: repeat(5,1fr); gap: 1px; background: #243b55; }.execution-totals span { padding: 9px; text-align: center; color: #7998bc; background: #0e1b2d; font-size: .58rem; }.execution-totals strong { display: block; margin-bottom: 2px; color: #dcecff; font-size: .9rem; }
.execution-document-scope { display: flex; align-items: center; gap: 12px; padding: 11px 16px; border-top: 1px solid #28415d; background: rgba(20,184,166,.08); }.execution-document-scope strong { color: #6ee7c5; font-size: 1rem; }.execution-document-scope span { color: #8fb1d4; font-size: .7rem; }
.execution-step-list { max-height: 480px; overflow-y: auto; padding: 9px; }.execution-step-list article { margin-bottom: 7px; padding: 10px; border: 1px solid #263e58; border-left: 3px solid #6181a5; border-radius: 10px; background: #0d1a2b; }.execution-step-list article.completed { border-left-color: #23c393; }.execution-step-list article.warning { border-left-color: #e0aa3e; }.execution-step-list article.skipped { border-left-color: #6985a6; }.execution-step-list article.approval { border-left-color: #7b70ff; }.execution-step-list article.blocked { border-left-color: #df5267; }.execution-step-head { display: flex; gap: 9px; align-items: center; }.execution-step-head > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; color: #99b5d7; background: #172b45; font-size: .66rem; font-weight: 900; }.execution-step-head div { flex: 1; display: flex; justify-content: space-between; gap: 8px; }.execution-step-head strong { color: #e1edfb; font-size: .74rem; }.execution-step-head small { color: #7f9bbd; font-size: .6rem; }.execution-step-list article > p { margin: 7px 0 0; color: #8ca6c5; font-size: .68rem; line-height: 1.45; }.execution-evidence { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }.execution-evidence > span { min-width: 92px; padding: 7px 8px; border: 1px solid #243d59; border-radius: 8px; background: #091522; }.execution-evidence small,.execution-evidence strong,.execution-evidence em { display: block; }.execution-evidence small { color: #627f9f; font-size: .55rem; }.execution-evidence strong { margin-top: 2px; color: #cfe1f5; font-size: .68rem; }.execution-evidence em { margin-top: 2px; color: #6d89aa; font-size: .53rem; font-style: normal; }
.rifki-voucher-gate { margin-top: 14px; overflow: hidden; border: 1px solid #5a4e9b; border-radius: 14px; background: linear-gradient(160deg,#151830,#0b1727 62%); }.voucher-gate-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 15px; border-bottom: 1px solid #34365f; }.voucher-gate-head > div { min-width: 0; }.voucher-gate-head span { color: #9d93ff; font-size: .58rem; font-weight: 900; letter-spacing: .08em; }.voucher-gate-head h3 { margin: 4px 0; color: #f0efff; font-size: .86rem; }.voucher-gate-head p { max-width: 670px; margin: 0; color: #8e9fbc; font-size: .66rem; line-height: 1.45; }.voucher-gate-head button,.voucher-confirm,.voucher-result button { flex: 0 0 auto; border: 0; border-radius: 10px; padding: 10px 13px; color: white; background: linear-gradient(135deg,#7767f5,#aa53d8); font-size: .7rem; font-weight: 900; cursor: pointer; }.voucher-gate-head button:disabled,.voucher-confirm:disabled { opacity: .42; cursor: not-allowed; }
.rifki-bank-gate { border-color: #286b74; background: linear-gradient(160deg,#102c32,#0b1727 62%); }.rifki-bank-gate .voucher-gate-head { border-bottom-color: #214b54; }.rifki-bank-gate .voucher-gate-head span { color: #66dfca; }.rifki-bank-gate .voucher-gate-head button,.rifki-bank-gate .voucher-confirm { background: linear-gradient(135deg,#0d9f85,#2678c8); }.bank-candidate-warning { display: grid; gap: 4px; margin: 12px 15px; padding: 12px; border: 1px solid #725a24; border-radius: 10px; color: #f7d27b; background: rgba(113,82,20,.18); }.bank-candidate-warning strong,.bank-candidate-warning span,.bank-candidate-warning small { display: block; }.bank-candidate-warning span { color: #b8a36e; font-size: .68rem; }.bank-candidate-warning small { padding-top: 5px; border-top: 1px solid rgba(213,179,92,.16); color: #d9c184; font-size: .66rem; }
.rifki-business-gate { border-color: #337862; background: linear-gradient(160deg,#102a26,#0b1727 62%); }.rifki-business-gate .voucher-gate-head { border-bottom-color: #285245; }.rifki-business-gate .voucher-gate-head span { color: #72e0b8; }.rifki-business-gate .voucher-gate-head button,.rifki-business-gate .voucher-confirm { background: linear-gradient(135deg,#14926f,#3478c9); }.business-entry-list .voucher-draft-head > span { width: 34px; color: #80e4c0; background: #17483b; }.business-entry-list .voucher-draft-head em { color: #aeead5; background: #173e35; }
.rifki-zirve-gate { border-color: #8c6034; background: linear-gradient(160deg,#302011,#0b1727 62%); }.rifki-zirve-gate .voucher-gate-head { border-bottom-color: #614425; }.rifki-zirve-gate .voucher-gate-head span { color: #ffbd72; }.rifki-zirve-gate .voucher-gate-head button,.rifki-zirve-gate .voucher-confirm { background: linear-gradient(135deg,#c66c24,#8855d7); }.general-test-lock { display: flex; align-items: center; gap: 12px; margin: 12px 15px; padding: 10px 12px; border: 1px solid #9d5b2b; border-radius: 10px; background: rgba(142,75,25,.18); }.general-test-lock strong { color: #ffbd72; font-size: .7rem; white-space: nowrap; }.general-test-lock span { color: #c39c75; font-size: .63rem; line-height: 1.4; }.zirve-transfer-list { display: grid; gap: 6px; margin: 12px 15px; }.zirve-transfer-list > div { display: grid; grid-template-columns: 80px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid #33425b; border-radius: 9px; background: #0b1525; }.zirve-transfer-list > div.verified { border-color: #21765f; }.zirve-transfer-list > div.pending { border-color: #68572c; }.zirve-transfer-list > div.failed { border-color: #874050; }.zirve-transfer-list code { color: #7fc6ff; font-size: .62rem; }.zirve-transfer-list span strong,.zirve-transfer-list span small { display: block; }.zirve-transfer-list span strong { color: #dfe9f8; font-size: .68rem; }.zirve-transfer-list span small { margin-top: 2px; color: #8295b1; font-size: .59rem; white-space: normal; }.zirve-transfer-list em { color: #91a4bf; font-size: .6rem; font-style: normal; text-align: right; }.zirve-preview-meta { grid-template-columns: repeat(5,1fr); }.zirve-explicit-check { border-color: #754f2c; background: rgba(101,59,24,.18); }
.zirve-voucher-review { overflow: hidden; border: 1px solid #33425b; border-radius: 9px; background: #0b1525; }.zirve-voucher-review.verified { border-color: #21765f; }.zirve-voucher-review.failed { border-color: #874050; }.zirve-voucher-summary { display: grid; grid-template-columns: 80px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 9px 10px; }.zirve-document-review { max-height: 420px; border-top: 1px solid #284360; }
.voucher-preview-meta { display: grid; grid-template-columns: repeat(5,1fr); gap: 1px; background: #343855; }.voucher-preview-meta > span { padding: 9px; text-align: center; background: #101a2d; }.voucher-preview-meta small,.voucher-preview-meta strong { display: block; }.voucher-preview-meta small { color: #7188a8; font-size: .55rem; }.voucher-preview-meta strong { margin-top: 2px; color: #dfe9f8; font-size: .74rem; }.voucher-result { margin: 12px; padding: 13px; border: 1px solid; border-radius: 11px; }.voucher-result strong,.voucher-result span,.voucher-result small { display: block; }.voucher-result strong { font-size: .78rem; }.voucher-result span { margin-top: 4px; font-size: .68rem; line-height: 1.45; }.voucher-result small { margin-top: 6px; font-size: .58rem; }.voucher-result.success { border-color: #1e8c70; color: #83e6c7; background: #10342e; }.voucher-result.blocked { border-color: #8b6630; color: #e8c77f; background: #312716; }.voucher-result button { margin-top: 10px; background: #5e4f2f; }
.voucher-preview-list { max-height: 520px; overflow-y: auto; padding: 10px; }.voucher-preview-list > article { margin-bottom: 9px; overflow: hidden; border: 1px solid #2e4260; border-radius: 11px; background: #0c1829; }.voucher-draft-head { display: flex; align-items: center; gap: 9px; padding: 10px; border-bottom: 1px solid #243850; }.voucher-draft-head > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; color: #c3bdff; background: #2d2b59; font-size: .66rem; font-weight: 900; }.voucher-draft-head > div { flex: 1; min-width: 0; }.voucher-draft-head strong,.voucher-draft-head small { display: block; }.voucher-draft-head strong { color: #e3ecfa; font-size: .72rem; }.voucher-draft-head small { margin-top: 2px; color: #718eaf; font-size: .58rem; }.voucher-draft-head em { border-radius: 999px; padding: 5px 8px; font-size: .58rem; font-style: normal; font-weight: 900; }.voucher-draft-head em.balanced { color: #70dfbc; background: #123b34; }.voucher-draft-head em.unbalanced { color: #ff9ba6; background: #48222b; }.voucher-money { display: flex; justify-content: flex-end; gap: 15px; padding: 7px 10px; color: #7894b5; background: #101d30; font-size: .6rem; }.voucher-money strong { margin-left: 4px; color: #d5e6fa; }.voucher-line-table { max-height: 250px; overflow-y: auto; }.voucher-line-table > div { display: grid; grid-template-columns: 90px 1fr auto; gap: 9px; align-items: center; padding: 8px 10px; border-top: 1px solid #1d3047; }.voucher-line-table code { color: #63b9ff; font-size: .63rem; }.voucher-line-table > div > span { color: #b9cae0; font-size: .64rem; }.voucher-line-table small { display: block; margin-top: 2px; color: #607d9f; font-size: .53rem; }.voucher-line-table > div > strong { color: #dbe9f8; font-size: .65rem; white-space: nowrap; }.voucher-issues { display: grid; gap: 4px; padding: 8px 10px; background: #2e2518; }.voucher-issues span { color: #d9bc7a; font-size: .6rem; }.voucher-issues strong { margin-right: 5px; }.voucher-explicit-check { display: flex; gap: 9px; align-items: flex-start; margin: 0 10px 10px; padding: 11px; border: 1px solid #554f87; border-radius: 10px; color: #aab7ce; background: #171a34; font-size: .65rem; line-height: 1.45; cursor: pointer; }.voucher-explicit-check input { margin-top: 2px; accent-color: #8272ff; }.voucher-explicit-check strong { display: block; color: #e2e3ff; }.voucher-confirm { width: calc(100% - 20px); margin: 0 10px 12px; padding: 12px; }
.voucher-document-group { border-top: 1px solid #284360; }.voucher-document-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; background: #13263b; }.voucher-document-head strong,.voucher-document-head small { display: block; }.voucher-document-head strong { color: #8ed3ff; font-size: .66rem; letter-spacing: .01em; }.voucher-document-head small { margin-top: 2px; color: #7595b7; font-size: .54rem; }.voucher-document-head em { flex: 0 0 auto; border-radius: 999px; padding: 4px 7px; color: #8fc8af; background: #17382f; font-size: .54rem; font-style: normal; font-weight: 800; }.voucher-document-lines > div { display: grid; grid-template-columns: 90px 1fr auto; gap: 9px; align-items: center; padding: 8px 10px; border-top: 1px solid #1d3047; }.voucher-document-lines > div > span { color: #b9cae0; font-size: .64rem; }.voucher-document-lines > div > strong { color: #dbe9f8; font-size: .65rem; white-space: nowrap; }
.rifki-history { margin-top: 16px; padding: 20px; }.rifki-history .rifki-section-heading button { margin-left: auto; }.rifki-history-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; margin-top: 14px; }.rifki-history-grid button { min-width: 0; border: 1px solid #293f5d; border-radius: 12px; padding: 11px; text-align: left; color: #dceaff; background: #0d1929; cursor: pointer; }.rifki-history-grid button:hover { border-color: #596dff; }.rifki-history-grid span,.rifki-history-grid strong,.rifki-history-grid small { display: block; }.rifki-history-grid span { color: #6683a6; font-size: .62rem; }.rifki-history-grid strong { margin: 5px 0; font-size: .75rem; }.rifki-history-grid small { overflow: hidden; color: #8ca6c4; text-overflow: ellipsis; white-space: nowrap; }

/* Rıfkı · son dört çalışma raporu */
.rifki-reports { color: var(--text-main); border-color: var(--border-color); background: var(--bg-panel); }
.rifki-report-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; margin-top: 16px; }
.rifki-report-card { position: relative; min-width: 0; min-height: 162px; display: flex; flex-direction: column; align-items: stretch; gap: 7px; padding: 14px; overflow: hidden; border: 1px solid var(--border-color); border-radius: 14px; color: var(--text-main); text-align: left; background: color-mix(in srgb,var(--bg-dark) 66%,var(--bg-card)); cursor: pointer; transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.rifki-report-card::before { position: absolute; inset: 0 auto 0 0; width: 3px; content: ""; background: #7183a1; }
.rifki-report-card:hover,.rifki-report-card.selected { transform: translateY(-2px); border-color: var(--primary); box-shadow: 0 13px 30px rgba(1,8,22,.22); }
.rifki-report-card.selected { box-shadow: 0 0 0 2px color-mix(in srgb,var(--primary) 30%,transparent),0 13px 30px rgba(1,8,22,.2); }
.rifki-report-card.success::before { background: var(--success); }.rifki-report-card.warning::before { background: var(--warning); }.rifki-report-card.cancelled::before { background: var(--danger); }.rifki-report-card.active::before { background: #6d7cff; }.rifki-report-card.queued::before { background: #70849f; }
.rifki-report-card > span,.rifki-report-card > strong,.rifki-report-card > small,.rifki-report-card > em { display: block; }
.report-card-kicker { color: color-mix(in srgb,var(--primary) 72%,var(--text-main)); font-size: .59rem; font-weight: 900; letter-spacing: .08em; }
.rifki-report-card > strong { overflow: hidden; font-size: .77rem; text-overflow: ellipsis; white-space: nowrap; }
.rifki-report-card > small { min-height: 30px; display: -webkit-box; overflow: hidden; color: var(--text-muted); font-size: .62rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.rifki-report-card > em { margin-top: auto; color: var(--text-muted); font-size: .59rem; font-style: normal; font-weight: 800; }
.rifki-report-card.success > em { color: var(--success); }.rifki-report-card.warning > em { color: var(--warning); }.rifki-report-card.cancelled > em { color: var(--danger); }.rifki-report-card.active > em { color: color-mix(in srgb,var(--primary) 72%,var(--text-main)); }
.report-card-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }
.report-card-metrics span { padding: 6px 5px; border: 1px solid var(--border-color); border-radius: 8px; color: var(--text-muted); text-align: center; background: color-mix(in srgb,var(--bg-subtle) 24%,transparent); font-size: .52rem; }
.report-card-metrics b { display: block; margin-bottom: 2px; color: var(--text-main); font-size: .68rem; }
.rifki-report-detail-guide { margin-top: 16px; padding: 12px 14px; border: 1px solid color-mix(in srgb,var(--primary) 52%,var(--border-color)); border-radius: 11px; color: color-mix(in srgb,var(--primary) 68%,var(--text-main)); background: color-mix(in srgb,var(--primary) 12%,var(--bg-card)); font-size: .72rem; font-weight: 800; text-align: center; }
.rifki-report-detail { margin-top: 14px; padding: 19px; border: 2px solid color-mix(in srgb,var(--primary) 45%,var(--border-color)); border-radius: 16px; background: color-mix(in srgb,var(--bg-dark) 84%,var(--primary)); box-shadow: inset 0 1px rgba(255,255,255,.035),0 18px 42px rgba(1,8,22,.18); }
.rifki-report-detail > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.rifki-report-detail > header span,.rifki-report-detail > header h3,.rifki-report-detail > header p { display: block; }
.rifki-report-detail > header span { color: color-mix(in srgb,var(--primary) 72%,var(--text-main)); font-size: .59rem; font-weight: 900; letter-spacing: .08em; }
.rifki-report-detail > header h3 { margin: 5px 0 4px; color: var(--text-main); font-size: 1rem; }
.rifki-report-detail > header p { margin: 0; color: var(--text-muted); font-size: .67rem; }
.report-outcome { flex: 0 0 auto; padding: 7px 10px; border: 1px solid var(--border-color); border-radius: 999px; color: var(--text-muted); font-size: .61rem; }
.report-outcome.success { color: var(--success); border-color: color-mix(in srgb,var(--success) 48%,var(--border-color)); background: var(--success-bg); }.report-outcome.warning { color: var(--warning); border-color: color-mix(in srgb,var(--warning) 48%,var(--border-color)); background: var(--warning-bg); }.report-outcome.cancelled { color: var(--danger); border-color: color-mix(in srgb,var(--danger) 48%,var(--border-color)); background: var(--danger-bg); }
.report-overview { display: grid; grid-template-columns: repeat(auto-fit,minmax(105px,1fr)); gap: 8px; margin: 14px 0; }
.report-status-caution { margin: -3px 0 14px; padding: 10px 12px; border: 1px solid color-mix(in srgb,var(--warning) 50%,var(--border-color)); border-radius: 10px; color: var(--text-main); background: var(--warning-bg); font-size: .69rem; line-height: 1.5; }
.report-overview > span { padding: 10px; border: 1px solid var(--border-color); border-radius: 10px; background: color-mix(in srgb,var(--bg-subtle) 22%,transparent); }
.report-overview small,.report-overview strong { display: block; }.report-overview small { color: var(--text-muted); font-size: .55rem; }.report-overview strong { margin-top: 3px; color: var(--text-main); font-size: .9rem; }
.report-company-list { display: grid; gap: 8px; overflow: visible; }
.report-company { overflow: hidden; border: 1px solid var(--border-color); border-radius: 12px; background: color-mix(in srgb,var(--bg-panel) 78%,transparent); }
.report-company.success { border-left: 3px solid var(--success); }.report-company.warning { border-left: 3px solid var(--warning); }.report-company.cancelled { border-left: 3px solid var(--danger); }.report-company.active { border-left: 3px solid var(--primary); }.report-company.queued { border-left: 3px solid #70849f; }
.report-company summary { display: grid; grid-template-columns: minmax(220px,1.2fr) minmax(240px,1fr) auto auto; align-items: center; gap: 14px; padding: 12px 14px; color: var(--text-main); cursor: pointer; list-style: none; }
.report-company summary::-webkit-details-marker { display: none; }.report-company summary::after { content: "⌄"; color: var(--text-muted); font-size: 1rem; }.report-company[open] summary::after { transform: rotate(180deg); }
.report-company summary > div strong,.report-company summary > div small { display: block; }.report-company summary > div strong { overflow: hidden; font-size: .71rem; text-overflow: ellipsis; white-space: nowrap; }.report-company summary > div small { margin-top: 3px; color: var(--text-muted); font-size: .56rem; }
.report-company summary > span { color: var(--text-muted); font-size: .59rem; }.report-company summary > span b { color: var(--text-main); }
.report-company summary > em { justify-self: end; color: var(--text-muted); font-size: .58rem; font-style: normal; font-weight: 900; }
.report-company.success summary > em { color: var(--success); }.report-company.warning summary > em { color: var(--warning); }.report-company.cancelled summary > em { color: var(--danger); }
.report-company-body { padding: 0 13px 13px; border-top: 1px solid var(--border-color); }
.report-error { display: flex; gap: 10px; margin-top: 11px; padding: 9px 10px; border: 1px solid color-mix(in srgb,var(--warning) 45%,var(--border-color)); border-radius: 9px; color: var(--warning); background: var(--warning-bg); font-size: .61rem; }.report-error span { color: var(--text-main); }
.report-document-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 11px; }
.report-content-unavailable { margin-top: 11px; overflow: hidden; border: 1px solid color-mix(in srgb,var(--warning) 52%,var(--border-color)); border-radius: 10px; background: color-mix(in srgb,var(--warning) 7%,var(--bg-card)); }
.report-content-unavailable > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border-bottom: 1px solid color-mix(in srgb,var(--warning) 42%,var(--border-color)); color: var(--text-main); font-size: .64rem; }
.report-content-unavailable > header span { display: grid; min-width: 24px; height: 24px; place-items: center; border-radius: 999px; color: var(--warning); background: color-mix(in srgb,var(--warning) 14%,transparent); font-size: .56rem; }
.report-content-unavailable > p { margin: 0; padding: 9px 10px; color: var(--text-muted); font-size: .58rem; line-height: 1.45; }
.report-document-columns > section { min-width: 0; overflow: hidden; border: 1px solid var(--border-color); border-radius: 10px; background: color-mix(in srgb,var(--bg-dark) 62%,var(--bg-card)); }
.report-document-columns > section > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px; border-bottom: 1px solid var(--border-color); color: var(--text-main); font-size: .64rem; }.report-document-columns > section > header span { display: grid; min-width: 24px; height: 24px; place-items: center; border-radius: 999px; color: var(--text-muted); background: color-mix(in srgb,var(--bg-subtle) 34%,transparent); font-size: .56rem; }
.report-document-list { max-height: min(52vh,520px); overflow-y: auto; overscroll-behavior-y: auto; scrollbar-gutter: stable; touch-action: pan-y; }.report-document-list article { position: relative; padding: 9px 10px 9px 22px; border-bottom: 1px solid color-mix(in srgb,var(--border-color) 72%,transparent); }.report-document-list article:last-child { border-bottom: 0; }.report-document-list article::before { position: absolute; top: 13px; left: 9px; width: 6px; height: 6px; border-radius: 50%; content: ""; background: var(--success); }.report-document-list.unprocessed article::before { background: var(--danger); }.report-document-list.excluded article::before { background: var(--warning); }
.report-document-list.content-unavailable { display: grid; grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); max-height: min(28vh,260px); border-top: 1px solid color-mix(in srgb,var(--warning) 32%,var(--border-color)); }
.report-document-list.content-unavailable article::before { background: var(--warning); }
.report-document-list strong,.report-document-list span,.report-document-list small { display: block; }.report-document-list strong { color: var(--text-main); font-size: .65rem; }.report-document-list span { margin-top: 3px; color: var(--text-muted); font-size: .55rem; }.report-document-list small { margin-top: 4px; color: color-mix(in srgb,var(--danger) 76%,var(--text-main)); font-size: .56rem; line-height: 1.4; }.report-document-list.excluded small { color: color-mix(in srgb,var(--warning) 76%,var(--text-main)); }
.report-empty { margin: 0!important; padding: 18px 10px; color: var(--text-muted)!important; text-align: center; font-size: .61rem!important; }.report-empty.success { color: var(--success)!important; }

/* Rıfkı · gelişmiş yapay zekâ deneyimi */
.rifki-ai-hero {
    position: relative;
    min-height: 270px;
    grid-template-columns: 150px minmax(0, 1fr) auto;
    overflow: hidden;
    isolation: isolate;
    padding: 30px 38px;
    border-color: rgba(112, 126, 255, .35);
    background:
        radial-gradient(circle at 8% 18%, rgba(108, 92, 255, .3), transparent 29%),
        radial-gradient(circle at 73% 4%, rgba(39, 197, 190, .13), transparent 25%),
        linear-gradient(135deg, #101d35 0%, #0b1527 58%, #10182e 100%);
    box-shadow: 0 28px 80px rgba(1, 7, 20, .34), inset 0 1px rgba(255,255,255,.035);
}

.rifki-ai-hero::before,
.rifki-ai-hero::after {
    position: absolute;
    z-index: -1;
    content: "";
    pointer-events: none;
}

.rifki-ai-hero::before {
    inset: 0;
    opacity: .22;
    background-image:
        linear-gradient(rgba(122, 140, 255, .16) 1px, transparent 1px),
        linear-gradient(90deg, rgba(122, 140, 255, .16) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(90deg, #000, transparent 68%);
}

.rifki-ai-hero::after {
    width: 520px;
    height: 520px;
    right: -260px;
    top: -300px;
    border: 1px solid rgba(121, 112, 255, .23);
    border-radius: 50%;
    box-shadow: 0 0 100px rgba(101, 83, 255, .12);
}

.rifki-ai-orbit { position: relative; display: grid; width: 130px; height: 130px; place-items: center; }
.rifki-ai-orbit .orbit { position: absolute; border: 1px solid rgba(138, 146, 255, .36); border-radius: 50%; }
.rifki-ai-orbit .orbit-one { inset: 2px; animation: rifki-orbit 18s linear infinite; }
.rifki-ai-orbit .orbit-one::before { position: absolute; top: 7px; left: 25px; width: 8px; height: 8px; border-radius: 50%; content: ""; background: #8e85ff; box-shadow: 0 0 18px #8e85ff; }
.rifki-ai-orbit .orbit-two { inset: 17px; border-style: dashed; opacity: .64; animation: rifki-orbit 12s linear infinite reverse; }
.rifki-ai-orbit .rifki-avatar { width: 78px; height: 78px; border-radius: 26px; font-size: 2.25rem; box-shadow: 0 18px 46px rgba(98, 80, 255, .48), inset 0 1px rgba(255,255,255,.3); }
@keyframes rifki-orbit { to { transform: rotate(360deg); } }

.rifki-hero-copy { min-width: 0; }
.rifki-hero-copy .eyebrow { display: inline-flex; align-items: center; gap: 7px; color: #9da9ff; font-size: .68rem; font-weight: 900; letter-spacing: .14em; }
.rifki-hero-copy .eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: #4de0b5; box-shadow: 0 0 12px rgba(77,224,181,.8); }
.rifki-ai-hero h1 { max-width: 900px; margin: 9px 0 10px; font-size: clamp(2rem, 2.85vw, 3.15rem); line-height: 1.04; letter-spacing: -.048em; }
.rifki-ai-hero h1 em { color: transparent; font-style: normal; background: linear-gradient(90deg,#f4f7ff 4%,#bfc6ff 42%,#78d9e3 96%); background-clip: text; -webkit-background-clip: text; }
.rifki-ai-hero p { max-width: 850px; color: #9fb2cf; font-size: .94rem; line-height: 1.65; }
.rifki-capabilities { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.rifki-capabilities span { padding: 7px 10px; border: 1px solid rgba(99,121,178,.32); border-radius: 999px; color: #aebfda; background: rgba(11,22,40,.56); font-size: .67rem; font-weight: 700; backdrop-filter: blur(8px); }
.rifki-ai-hero .rifki-mode { display: flex; align-items: center; gap: 10px; min-width: 190px; border-color: rgba(85, 211, 173, .25); background: rgba(10, 24, 39, .76); box-shadow: inset 0 1px rgba(255,255,255,.035); }
.rifki-ai-hero .rifki-mode div > strong,.rifki-ai-hero .rifki-mode div > span { display: block; }
.rifki-live-dot { flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%; background: #27d6a5; box-shadow: 0 0 0 5px rgba(39,214,165,.1), 0 0 20px rgba(39,214,165,.65); }

.rifki-workspace { grid-template-columns: 1fr; gap: 18px; }
.rifki-ai-composer { position: relative; overflow: hidden; padding: 24px 30px; border-color: rgba(78, 104, 158, .65); background: radial-gradient(circle at 92% 5%,rgba(100,83,255,.1),transparent 29%),linear-gradient(160deg,#111f34,#0d192b); box-shadow: 0 18px 55px rgba(0,0,0,.17); }
.rifki-ai-composer::after { position: absolute; width: 250px; height: 250px; right: -165px; bottom: -175px; border: 1px solid rgba(116,105,255,.15); border-radius: 50%; content: ""; pointer-events: none; }
.rifki-composer-title { display: flex; align-items: center; gap: 13px; margin-bottom: 19px; padding-bottom: 16px; border-bottom: 1px solid rgba(64, 86, 120, .48); }
.rifki-composer-title h2 { margin: 0; color: #f3f7ff; font-size: 1.18rem; }
.rifki-composer-title p { margin: 4px 0 0; color: #829bbd; font-size: .76rem; }
.rifki-mini-orb { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(145,140,255,.5); border-radius: 13px; color: white; font-weight: 900; background: linear-gradient(145deg,#536dff,#8d4fec); box-shadow: 0 8px 24px rgba(96,82,255,.25); }
.scope-heading { margin-top: 0; }
.rifki-scope-grid { grid-template-columns: minmax(280px,2fr) minmax(120px,.55fr) minmax(150px,.75fr); }
.rifki-scope-grid select { transition: border-color .18s ease, box-shadow .18s ease; }
.rifki-scope-grid select:focus { border-color: #6f79ff; outline: 0; box-shadow: 0 0 0 3px rgba(105,95,255,.12); }
.rifki-period-hint { display: flex; align-items: center; gap: 10px; margin: -12px 0 23px; padding: 9px 11px; border: 1px solid rgba(51, 111, 137, .36); border-radius: 10px; color: #73d6d0; background: rgba(18, 65, 78, .16); }
.rifki-period-hint > span { font-size: 1.1rem; }
.rifki-period-hint strong,.rifki-period-hint small { display: block; }
.rifki-period-hint strong { font-size: .7rem; }
.rifki-period-hint small { margin-top: 2px; color: #789db1; font-size: .61rem; }
.rifki-prompt-shell { position: relative; border-color: rgba(116, 111, 255, .62); border-radius: 18px; background: linear-gradient(145deg,rgba(8,18,35,.96),rgba(12,19,39,.96)); box-shadow: 0 12px 40px rgba(4,8,22,.24), inset 0 1px rgba(255,255,255,.035); }
.rifki-prompt-mark { position: absolute; z-index: 1; top: 18px; left: 18px; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; color: #c4c1ff; background: rgba(106,94,255,.16); }
.rifki-prompt-shell textarea { min-height: 108px; padding: 18px 22px 16px 58px; font-size: 1rem; line-height: 1.55; }
.rifki-prompt-shell textarea::placeholder { color: #627695; }
.rifki-prompt-footer { padding: 11px 12px 11px 18px; background: rgba(12,25,43,.7); }
.rifki-prompt-footer span b { color: #aaa9ff; }
.rifki-prompt-footer button { display: inline-flex; align-items: center; gap: 9px; padding: 12px 17px; background: linear-gradient(135deg,#536dff,#8053ed); box-shadow: 0 9px 26px rgba(91,75,237,.25); }
.rifki-prompt-footer button i { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: #242251; background: white; font-size: .8rem; font-style: normal; }
.rifki-examples button { padding: 8px 12px; transition: transform .16s ease,border-color .16s ease,background .16s ease; }
.rifki-examples button:hover { transform: translateY(-1px); background: #192b48; }
.rifki-plan-panel { min-height: 520px; border-color: rgba(48, 70, 103, .82); background: linear-gradient(155deg,#101e32,#0d192b); box-shadow: 0 18px 55px rgba(0,0,0,.14); }

@media (max-width: 1050px) { .rifki-workspace { grid-template-columns: 1fr; }.rifki-plan-panel { min-height: 500px; }.rifki-history-grid,.rifki-report-grid { grid-template-columns: repeat(2,1fr); }.report-overview { grid-template-columns: repeat(3,1fr); }.report-company summary { grid-template-columns: minmax(200px,1fr) auto auto; }.report-company summary > span { grid-column: 1/2; grid-row: 2; } }
@media (max-width: 900px) { .rifki-ai-hero { grid-template-columns: 110px 1fr; padding: 30px; }.rifki-ai-orbit { width: 100px; height: 100px; }.rifki-ai-hero .rifki-mode { grid-column: 1/-1; width: max-content; }.rifki-capabilities { margin-top: 15px; } }
@media (max-width: 700px) { .rifki-page { padding: 10px; }.rifki-hero { grid-template-columns: 1fr; padding: 22px 18px; text-align: center; }.rifki-ai-orbit { margin: 0 auto; }.rifki-ai-hero .rifki-mode { grid-column: 1; width: 100%; justify-content: center; text-align: left; }.rifki-capabilities { justify-content: center; }.rifki-ai-composer { padding: 20px 16px; }.rifki-scope-grid,.rifki-scope-summary { grid-template-columns: 1fr; }.rifki-prompt-mark { display: none; }.rifki-prompt-shell textarea { padding-left: 17px; }.rifki-prompt-footer { align-items: stretch; flex-direction: column; gap: 9px; }.rifki-prompt-footer button { justify-content: center; width: 100%; }.rifki-history-grid,.rifki-report-grid { grid-template-columns: 1fr; }.rifki-plan-head,.rifki-execution-actions,.voucher-gate-head,.rifki-report-detail > header { align-items: stretch; flex-direction: column; }.rifki-execution-actions button,.voucher-gate-head button { width: 100%; }.execution-totals { grid-template-columns: repeat(3,1fr); }.voucher-preview-meta,.report-overview { grid-template-columns: repeat(2,1fr); }.report-document-columns { grid-template-columns: 1fr; }.report-company summary { grid-template-columns: 1fr auto; gap: 7px; }.report-company summary > span { grid-column: 1/2; grid-row: 2; }.report-company summary > em { grid-column: 1/2; grid-row: 3; justify-self: start; }.report-company summary::after { grid-column: 2; grid-row: 1/4; }.voucher-line-table > div,.voucher-document-lines > div { grid-template-columns: 75px 1fr; }.voucher-line-table > div > strong,.voucher-document-lines > div > strong { grid-column: 2; }.confidence { text-align: left; } }

/* Rıfkı otomasyon ayarları */
.settings-page { width: min(1180px,100%); margin: 0 auto; padding: 28px 22px 48px; }.settings-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 30px; border: 1px solid #304a68; border-radius: 20px; background: radial-gradient(circle at 85% 20%,rgba(62,102,236,.2),transparent 34%),linear-gradient(145deg,#10223a,#0b1728); }.settings-hero h1 { margin: 8px 0 8px; color: #f3f7ff; font-size: clamp(1.55rem,3vw,2.25rem); }.settings-hero p { max-width: 760px; margin: 0; color: #8ba7c8; line-height: 1.6; }.settings-hero-actions { display:flex; align-items:stretch; justify-content:flex-end; gap:12px; flex:0 0 auto; }.settings-server-package { display:grid; grid-template-columns:34px 1fr; grid-template-rows:auto auto; align-content:center; column-gap:10px; min-width:230px; min-height:110px; padding:16px 18px; border:1px solid rgba(96,165,250,.55); border-radius:18px; color:#f4f8ff; background:linear-gradient(145deg,rgba(37,99,235,.33),rgba(30,64,175,.2)); text-decoration:none; box-shadow:0 12px 30px rgba(15,23,42,.25); transition:transform .16s ease,border-color .16s ease,filter .16s ease; }.settings-server-package:hover { transform:translateY(-1px); border-color:#60a5fa; filter:brightness(1.08); }.settings-server-package > span { grid-row:1/3; align-self:center; display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:#dbeafe; background:rgba(59,130,246,.3); font-size:1.25rem; font-weight:900; }.settings-server-package strong { align-self:end; font-size:.78rem; line-height:1.3; }.settings-server-package small { align-self:start; margin-top:4px; color:#91add2; font-size:.62rem; }.settings-shield { display: grid; place-items: center; flex: 0 0 132px; min-width:132px; min-height: 110px; border: 1px solid rgba(91,218,180,.42); border-radius: 18px; background: rgba(19,92,77,.25); }.settings-shield span { color: #68e7be; font-size: 2.2rem; font-weight: 900; }.settings-shield small { margin-top: -22px; color: #8bbba9; font-size: .65rem; }.settings-card { margin-top: 18px; padding: 24px; border: 1px solid #304963; border-radius: 18px; background: #101d31; }.settings-card-head { display: flex; align-items: flex-start; gap: 14px; }.settings-icon { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 12px; color: #79e8c4; background: #123c3b; font-size: 1.2rem; }.settings-card h2 { margin: 2px 0 5px; color: #edf4ff; font-size: 1.08rem; }.settings-card p { margin: 0; color: #829ebe; font-size: .76rem; line-height: 1.55; }.settings-control-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 26px; margin-top: 24px; padding: 20px; border: 1px solid #2d4764; border-radius: 14px; background: #0c192a; }.settings-control-row label { flex: 1; }.settings-control-row label > span,.settings-control-row label > small { display: block; }.settings-control-row label > span { margin-bottom: 8px; color: #dce9fb; font-weight: 800; }.settings-control-row label > small { margin-top: 8px; color: #6f8cac; font-size: .65rem; }.settings-number { display: flex; align-items: center; max-width: 250px; overflow: hidden; border: 1px solid #3a5778; border-radius: 10px; background: #0a1524; }.settings-number input { width: 135px; min-height: 46px; padding: 0 13px; border: 0; outline: 0; color: #70e7c1; background: transparent; font-size: 1.1rem; font-weight: 900; }.settings-number strong { padding: 0 13px; border-left: 1px solid #304a68; color: #8ca7c8; font-size: .72rem; }.settings-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 12px; margin-top: 22px; }.settings-flow > span { display: grid; grid-template-columns: 30px 1fr; gap: 2px 10px; padding: 14px; border: 1px solid #29425f; border-radius: 12px; background: #0d1a2c; }.settings-flow b { grid-row: 1/3; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #77b8ff; background: #17365b; }.settings-flow strong { color: #e5efff; font-size: .74rem; }.settings-flow small { color: #748fae; font-size: .62rem; line-height: 1.4; }.settings-flow > i { color: #557596; font-style: normal; }.settings-loading { margin-top: 22px; padding: 24px; border-radius: 12px; color: #91abc9; background: #0d1a2b; }
@media (max-width:800px) { .settings-hero,.settings-control-row { align-items: stretch; flex-direction: column; }.settings-hero-actions { width:100%; }.settings-server-package { width:100%; min-width:0; min-height:82px; }.settings-shield { display: none; }.settings-flow { grid-template-columns: 1fr; }.settings-flow > i { display: none; }.settings-control-row button { width: 100%; }.rifki-customer-menu { width: min(520px,calc(100vw - 38px)); } }

.settings-backup-card { overflow:hidden; background:radial-gradient(circle at 90% 0,rgba(16,185,129,.12),transparent 30%),#101d31; }
.invoice-transfer-settings-card { background:radial-gradient(circle at 92% 8%,rgba(59,130,246,.13),transparent 34%),#101d31; }
.invoice-order-settings-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; align-items:end; gap:14px; margin-top:20px; }
.invoice-order-settings-grid.invoice-processing-settings-grid { grid-template-columns:minmax(0,1fr) auto; }
@media (max-width:900px) { .invoice-order-settings-grid.invoice-processing-settings-grid { grid-template-columns:1fr; } }
.invoice-order-settings-grid label { display:grid; gap:7px; color:#dce9fb; font-size:.72rem; font-weight:850; }
.invoice-order-settings-grid label > small { color:#718dab; font-size:.6rem; font-weight:500; }
.invoice-order-settings-grid select { width:100%; min-height:44px; padding:0 12px; border:1px solid #385878; border-radius:10px; outline:0; color:#edf5ff; background:#0a1728; font:inherit; font-weight:750; }
.invoice-order-settings-grid select:focus { border-color:#60a5fa; box-shadow:0 0 0 3px rgba(59,130,246,.14); }
.settings-invoice-order-save { min-height:44px; padding:0 18px; border:1px solid #34d399; border-radius:10px; color:#fff; background:linear-gradient(135deg,#10b981,#047857); box-shadow:0 8px 24px rgba(16,185,129,.18); font-size:.68rem; font-weight:950; cursor:pointer; }
.settings-invoice-order-save:disabled { opacity:.5; cursor:not-allowed; box-shadow:none; }
.settings-card .invoice-order-precedence { margin-top:14px; padding:11px 13px; border:1px solid #2e4c68; border-radius:10px; color:#91a9c4; background:rgba(8,18,32,.45); }
.invoice-order-precedence b { color:#78e7c1; }
.settings-backup-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px; }
.settings-backup-grid > article { display:flex; flex-direction:column; align-items:flex-start; min-height:220px; padding:20px; border:1px solid #2d4764; border-radius:15px; background:#0c192a; }
.settings-backup-grid h3 { margin:6px 0 8px; color:#eaf3ff; font-size:.95rem; }.settings-backup-grid p { flex:1; max-width:540px; }
.settings-backup-label { color:#6ee7b7; font-size:.58rem; font-weight:950; letter-spacing:.11em; }
.settings-backup-download,.settings-backup-validate,.settings-backup-apply { min-height:44px; margin-top:16px; padding:0 17px; border-radius:10px; color:#fff; font-size:.7rem; font-weight:950; cursor:pointer; }
.settings-backup-download { border:1px solid #34d399; background:linear-gradient(135deg,#10b981,#047857); box-shadow:0 8px 24px rgba(16,185,129,.22); }
.settings-backup-validate { border:1px solid #60a5fa; background:linear-gradient(135deg,#2563eb,#4f46e5); }
.settings-backup-apply { border:1px solid #f59e0b; background:linear-gradient(135deg,#d97706,#b45309); }
.settings-backup-download:hover:not(:disabled),.settings-backup-validate:hover:not(:disabled),.settings-backup-apply:hover:not(:disabled) { filter:brightness(1.08); transform:translateY(-1px); }
.settings-backup-download:disabled,.settings-backup-validate:disabled,.settings-backup-apply:disabled { opacity:.48; cursor:not-allowed; box-shadow:none; }
.settings-backup-file { display:grid; width:100%; gap:4px; margin-top:14px; padding:13px 14px; border:1px dashed #41658c; border-radius:11px; color:#dce9fb; background:#0a1524; cursor:pointer; }
.settings-backup-file input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }.settings-backup-file strong { font-size:.7rem; }.settings-backup-file small { color:#7895b7; font-size:.6rem; }
.settings-backup-includes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:14px; }
.settings-backup-includes > span { display:flex; align-items:center; gap:7px; padding:9px 11px; border:1px solid #29425f; border-radius:10px; color:#a9bdd6; background:#0d1a2c; font-size:.62rem; }.settings-backup-includes b { color:#5ee1b7; }.settings-backup-includes .excluded b { color:#fbbf24; }
.settings-backup-preview { margin-top:16px; padding:18px; border:1px solid rgba(52,211,153,.4); border-radius:14px; background:rgba(4,120,87,.09); }
.settings-backup-preview > header { display:flex; align-items:center; justify-content:space-between; gap:16px; }.settings-backup-preview > header div { display:grid; gap:3px; }.settings-backup-preview > header strong { color:#9af0d1; }.settings-backup-preview > header small { color:#809bbb; font-size:.62rem; }.settings-backup-preview > header > span { padding:6px 9px; border-radius:999px; color:#6ee7b7; background:rgba(16,185,129,.14); font-size:.61rem; font-weight:900; }
.settings-backup-counts { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:14px; }.settings-backup-counts > span { display:grid; gap:2px; padding:10px; border:1px solid #2d4a63; border-radius:9px; background:#0b1828; }.settings-backup-counts strong { color:#eaf4ff; font-size:1rem; }.settings-backup-counts small { color:#7994b2; font-size:.58rem; }
.settings-backup-warning { margin-top:12px; padding:11px 13px; border:1px solid rgba(245,158,11,.38); border-radius:9px; color:#fcd78d; background:rgba(245,158,11,.08); font-size:.64rem; line-height:1.5; }
.settings-backup-confirm { display:flex; align-items:flex-start; gap:10px; margin-top:14px; color:#aec1d9; font-size:.65rem; line-height:1.5; cursor:pointer; }.settings-backup-confirm input { flex:0 0 auto; width:17px; height:17px; margin-top:1px; accent-color:#f59e0b; }
@media (max-width:900px) { .settings-backup-grid { grid-template-columns:1fr; }.settings-backup-includes { grid-template-columns:1fr 1fr; }.settings-backup-counts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .invoice-order-settings-grid { grid-template-columns:1fr; }.settings-invoice-order-save { width:100%; } }
@media (max-width:560px) { .settings-backup-includes,.settings-backup-counts { grid-template-columns:1fr; }.settings-backup-preview > header { align-items:flex-start; flex-direction:column; } }

.theme-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(175px,1fr)); gap: 12px; margin-top: 20px; }
.theme-option { position: relative; min-height: 150px; display: flex; flex-direction: column; align-items: flex-start; gap: 5px; padding: 12px; color: #dce9fb; text-align: left; border: 1px solid #304963; border-radius: 13px; background: #0c192a; }
.theme-option:hover,.theme-option.selected { border-color: #6c7cff; box-shadow: 0 0 0 2px rgba(108,124,255,.12); }
.theme-option b { position: absolute; top: 8px; right: 8px; padding: 4px 7px; color: #9cf2d5; border-radius: 999px; background: #155045; font-size: .58rem; }
.theme-option strong { margin-top: 4px; font-size: .8rem; }.theme-option small { color: #7894b5; font-size: .65rem; line-height: 1.4; }
.theme-preview { width: 100%; height: 62px; display: grid; grid-template-columns: 28% 1fr; grid-template-rows: 17px 1fr; gap: 5px; padding: 7px; overflow: hidden; border-radius: 9px; background: #0f172a; }
.theme-preview i { display: block; border-radius: 4px; background: #334155; }.theme-preview i:first-child { grid-row: 1/3; }.theme-preview i:nth-child(2) { background: #1e293b; }.theme-preview i:nth-child(3) { background: #17223a; }



/* Aydınlık tema: eski, bileşen-özel koyu katalog yüzeylerini de açık palete taşır. */
@media (max-width:900px) { .theme-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .theme-grid { grid-template-columns: 1fr; } }

.rifki-hero-actions { display: grid; gap: 9px; min-width: 205px; }
.rifki-memory-link { display: flex; align-items: center; gap: 10px; padding: 11px 14px; color: #dfe8ff; text-decoration: none; border: 1px solid rgba(139,124,255,.4); border-radius: 14px; background: rgba(77,62,153,.18); transition: .18s ease; }
.rifki-memory-link:hover { border-color: #8f7dff; transform: translateY(-1px); background: rgba(93,73,195,.26); }
.rifki-memory-link > span { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; color: #fff; background: linear-gradient(135deg,#5f6cff,#974fe8); font-weight: 900; }
.rifki-memory-link strong,.rifki-memory-link small { display: block; }.rifki-memory-link small { margin-top: 2px; color: #93a9c9; }

.rule-memory-page { max-width: 1450px; margin: 0 auto; padding: 24px; color: #eef5ff; }
.rule-memory-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 27px 30px; border: 1px solid #30496c; border-radius: 20px; background: radial-gradient(circle at 10% 10%,rgba(99,82,238,.25),transparent 38%),linear-gradient(135deg,#14243b,#0d1728); }
.rule-memory-hero .eyebrow { color: #9ea8ff; font-size: .7rem; font-weight: 900; letter-spacing: .13em; }.rule-memory-hero h1 { margin: 5px 0 7px; font-size: 2.25rem; }.rule-memory-hero p { margin: 0; max-width: 850px; color: #9fb4d2; }
.rule-back-link { padding: 11px 15px; color: #cddcff; text-decoration: none; border: 1px solid #405a7e; border-radius: 11px; white-space: nowrap; }
.rule-precedence,.rule-command-card,.rule-editor-card,.rule-list-card { margin-top: 16px; border: 1px solid #2e4565; border-radius: 16px; background: #101d30; box-shadow: 0 14px 35px rgba(0,0,0,.13); }
.rule-precedence { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 16px 18px; }.rule-precedence > strong { width: 100%; }.rule-precedence > div { display: flex; align-items: center; gap: 7px; padding: 8px 10px; border-radius: 10px; background: #122942; color: #c9d9ed; font-size: .8rem; }.rule-precedence > div span { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 7px; background: #28518a; color: #7ec2ff; font-weight: 900; }.rule-precedence p { width: 100%; margin: 2px 0 0; color: #83a0c4; font-size: .78rem; }
.rule-command-card { position: relative; z-index: 30; display: grid; grid-template-columns: minmax(200px,.65fr) minmax(190px,.6fr) minmax(330px,1.7fr) auto; align-items: center; gap: 14px; overflow: visible; padding: 17px; border-color: rgba(115,91,230,.55); }.rule-command-card strong,.rule-command-card span { display: block; }.rule-command-card span { margin-top: 4px; color: #89a5c8; font-size: .78rem; }.rule-command-card textarea { min-height: 76px; resize: vertical; padding: 11px 13px; color: #eef5ff; border: 1px solid #395273; border-radius: 11px; background: #0b1728; }.rule-command-card select { min-height: 44px; padding: 9px 11px; color: #eef5ff; border: 1px solid #395273; border-radius: 11px; background: #0b1728; }.rule-command-card button,.rule-primary { padding: 12px 15px; color: white; border: 0; border-radius: 11px; background: linear-gradient(135deg,#4777f4,#8754e8); font-weight: 850; cursor: pointer; }.rule-command-card button:disabled,.rule-primary:disabled { opacity: .5; cursor: not-allowed; }
.rule-command-card .rifki-customer-trigger,.rule-editor-card .rifki-customer-trigger { padding: 8px 12px; border: 1px solid #395273; background: #0b1728; }.rule-command-card .rifki-customer-trigger:hover,.rule-command-card .rifki-customer-trigger.open,.rule-editor-card .rifki-customer-trigger:hover,.rule-editor-card .rifki-customer-trigger.open { border-color: #6f79ff; background: #0e1c31; }.rule-command-card .rifki-customer-menu button,.rule-editor-card .rifki-customer-menu button { padding: 0; border-radius: 0; color: #8bb9ff; background: transparent; }.rule-command-card .rifki-customer-menu-foot button,.rule-editor-card .rifki-customer-menu-foot button { padding: 8px 12px; border-radius: 8px; color: #071722; background: linear-gradient(135deg,#38d3a6,#3ba2ef); }.rule-scope-picker { min-width: 0; }.rule-editor-scope { z-index: 14; margin-bottom: 12px; }.rule-editor-scope .rifki-field-label { color: #a8bcd6; font-size: .75rem; }.rule-editor-scope .rifki-customer-menu { width: min(620px,calc(100vw - 48px)); }
.rule-ordering-memory { margin-top:16px; padding:18px; border:1px solid rgba(52,211,153,.42); border-radius:16px; background:radial-gradient(circle at 95% 0,rgba(16,185,129,.11),transparent 32%),#101d30; }
.rule-ordering-memory .rule-card-head > small { max-width:520px; color:#7793b3; font-size:.63rem; line-height:1.45; text-align:right; }
.rule-ordering-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.rule-ordering-list article { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 14px; border:1px solid #31506a; border-left:3px solid #34d399; border-radius:11px; background:#0c192b; }
.rule-ordering-list article.inactive { opacity:.68; border-left-color:#78879b; }
.rule-ordering-list article > div { display:grid; gap:3px; min-width:0; }.rule-ordering-list strong { color:#e8f4ff; font-size:.72rem; }.rule-ordering-list span { color:#76e8c0; font-size:.68rem; font-weight:850; }.rule-ordering-list small { overflow:hidden; color:#738ead; font-size:.59rem; text-overflow:ellipsis; white-space:nowrap; }
.rule-ordering-list footer { display:grid; justify-items:end; flex:0 0 auto; gap:6px; }.rule-ordering-list time,.rule-ordering-list em { color:#6f89a8; font-size:.57rem; font-style:normal; }.rule-ordering-list button { padding:6px 8px; border:1px solid #77424d; border-radius:8px; color:#ff9eaa; background:transparent; font-size:.6rem; font-weight:850; cursor:pointer; }
.rule-memory-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(340px,.75fr) minmax(480px,1.25fr); gap: 16px; }.rule-editor-card,.rule-list-card { padding: 19px; }.rule-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }.rule-card-head span { color: #829cff; font-size: .65rem; font-weight: 900; letter-spacing: .12em; }.rule-card-head h2 { margin: 3px 0 0; font-size: 1.15rem; }.rule-text-button { padding: 7px 10px; color: #9dcaff; border: 1px solid #365577; border-radius: 9px; background: transparent; cursor: pointer; }
.rule-editor-card label { display: grid; gap: 6px; margin-bottom: 12px; }.rule-editor-card label > span { color: #a8bcd6; font-size: .75rem; font-weight: 750; }.rule-editor-card label small { color: #6f8aae; font-weight: 500; }.rule-editor-card input,.rule-editor-card select { width: 100%; min-height: 41px; padding: 9px 11px; color: #eef5ff; border: 1px solid #334c6d; border-radius: 9px; background: #0a1728; }.rule-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 11px; }.rule-active-check { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 8px !important; }.rule-active-check input { width: 17px; min-height: 17px; }.rule-form-help { color: #7894b8; font-size: .74rem; line-height: 1.45; }.rule-primary { width: 100%; }
.rule-list { display: grid; gap: 10px; max-height: 700px; overflow: auto; padding-right: 3px; }.rule-item { padding: 14px; border: 1px solid #304967; border-left: 3px solid #42d4a4; border-radius: 12px; background: #0c192b; }.rule-item.inactive { opacity: .68; border-left-color: #6a778a; }.rule-item-top { display: flex; justify-content: space-between; gap: 12px; }.rule-item-top strong,.rule-item-top span { display: block; }.rule-item-top span { margin-top: 3px; color: #7894ba; font-size: .72rem; }.rule-item-top i { height: fit-content; padding: 4px 7px; color: #4fe1b0; border-radius: 999px; background: rgba(38,196,148,.12); font-size: .65rem; font-style: normal; font-weight: 850; }.rule-item.inactive i { color: #9aabc2; background: #26364a; }.rule-match { display: flex; align-items: center; gap: 9px; margin: 12px 0 8px; padding: 9px 10px; border-radius: 9px; background: #12243a; }.rule-match span { color: #a8bedb; font-size: .78rem; }.rule-match b { margin-left: auto; color: #667f9f; }.rule-match strong { color: #c7b9ff; }.rule-item > small { color: #efb675; }.rule-item footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }.rule-item footer > span { color: #647f9f; font-size: .67rem; }.rule-item footer div { display: flex; gap: 7px; }.rule-item footer button { padding: 6px 8px; color: #a9cfff; border: 1px solid #365375; border-radius: 8px; background: transparent; cursor: pointer; }.rule-item footer button.danger { color: #ff9ca7; border-color: #70404b; }.rule-item footer button.success { color: #59dcb1; border-color: #286653; }
.rule-item footer button.delete { color: #fff; border-color: #963b4a; background: #6f2532; }.rule-item footer button:disabled { opacity: .5; cursor: not-allowed; }.rule-delete-confirm { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 11px; padding: 11px 12px; border: 1px solid #82404c; border-radius: 10px; background: #351923; }.rule-delete-confirm strong,.rule-delete-confirm span { display: block; }.rule-delete-confirm strong { color: #ffd8dd; font-size: .73rem; }.rule-delete-confirm span { margin-top: 3px; color: #c999a2; font-size: .63rem; line-height: 1.4; }.rule-delete-confirm > div:last-child { display: flex; flex: 0 0 auto; gap: 7px; }.rule-delete-confirm button { padding: 7px 9px; color: #d9e7fa; border: 1px solid #4a607b; border-radius: 8px; background: transparent; cursor: pointer; }.rule-delete-confirm button.confirm { color: white; border-color: #b54a5b; background: #8a2e3d; }.rule-delete-confirm button:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 950px) { .rule-command-card { grid-template-columns: 1fr; }.rule-memory-grid { grid-template-columns: 1fr; }.rule-memory-hero { align-items: flex-start; flex-direction: column; }.rifki-hero-actions { width: 100%; }.rule-form-grid { grid-template-columns: 1fr; } }
@media (max-width: 950px) { .rule-ordering-list { grid-template-columns:1fr; }.rule-ordering-memory .rule-card-head { align-items:flex-start; flex-direction:column; }.rule-ordering-memory .rule-card-head > small { text-align:left; } }
@media (max-width: 700px) { .rule-memory-page { padding: 10px; }.rule-memory-hero { padding: 21px 18px; }.rule-item footer { align-items: flex-start; flex-direction: column; } }
/* Oturum doğrulanmadan ana uygulama kabuğu render edilmez. */
.auth-route-check {
    min-height: 100vh;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 14px;
    color: #9fb5d1;
    background: #081426;
}

.auth-only-layout {
    min-height: 100vh;
    background: #081426;
}

.standalone-auth-shell {
    min-height: 100vh;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(24px, 6vw, 84px);
    align-items: center;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 470px);
    gap: clamp(46px, 7vw, 130px);
    background:
        radial-gradient(circle at 24% 36%, rgba(75, 93, 255, .12), transparent 29%),
        linear-gradient(118deg, rgba(8,20,38,.2), rgba(8,20,38,.88));
}

.standalone-auth-shell .auth-copy { max-width: 760px; justify-self: start; }
.standalone-auth-shell .auth-card { width: 100%; max-width: 470px; justify-self: end; }

.auth-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 28px;
    font-size: 22px;
}

.auth-brand span {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 14px;
    color: #fff;
    font-weight: 800;
    background: linear-gradient(135deg, #4285ff, #755cf6);
}

@media (max-width: 880px) {
    .standalone-auth-shell { grid-template-columns: 1fr; padding: 28px 18px; }
    .standalone-auth-shell .auth-copy,.standalone-auth-shell .auth-card { justify-self: center; }
    .standalone-auth-shell .auth-copy { width: min(100%, 580px); }
}

.voucher-order-choice {
    display: grid;
    gap: 5px;
    min-width: 190px;
}

.voucher-order-choice select {
    border: 1px solid #555889;
    border-radius: 9px;
    padding: 9px 10px;
    color: #eef0ff;
    background: #10172a;
    font-size: .68rem;
    font-weight: 800;
}

/* Rıfkı toplu mükellef kuyruğu */
.batch-page { width: min(1420px, calc(100% - 40px)); margin: 0 auto; padding: 30px 0 64px; color: #eaf2ff; }
.batch-hero { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 20px; padding: 28px 30px; border: 1px solid #31445f; border-radius: 22px; background: radial-gradient(circle at 85% 0,rgba(73,80,235,.18),transparent 35%),linear-gradient(145deg,#111d31,#0c1728); box-shadow: 0 20px 60px rgba(0,0,0,.18); }
.batch-hero h1 { margin: 8px 0 8px; font-size: clamp(1.85rem,4vw,3rem); letter-spacing: -.045em; }
.batch-hero h1 em { color: #64e8c0; font-style: normal; }
.batch-hero p { max-width: 850px; margin: 0; color: #96acc9; line-height: 1.55; }
.batch-back { flex: 0 0 auto; padding: 11px 14px; border: 1px solid #3d5270; border-radius: 11px; color: #c9d9ee; text-decoration: none; background: #152239; }
.batch-card { margin-top: 16px; padding: 22px; border: 1px solid #30445e; border-radius: 18px; background: #111d30; box-shadow: 0 14px 40px rgba(0,0,0,.13); }
.batch-loading,.batch-empty { min-height: 220px; display: grid; place-items: center; align-content: center; gap: 10px; text-align: center; }
.batch-safety { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; border-color: rgba(43,211,162,.4); background: linear-gradient(145deg,rgba(22,67,69,.34),#101d30 60%); }
.batch-safety div { padding: 14px; border: 1px solid rgba(78,216,181,.18); border-radius: 12px; background: rgba(5,20,31,.28); }
.batch-safety strong,.batch-safety span { display: block; }.batch-safety strong { margin-bottom: 6px; color: #61e7c0; }.batch-safety span { color: #99afc8; font-size: .82rem; line-height: 1.45; }
.batch-title { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; }.batch-title > span { display: grid; place-items: center; flex: 0 0 30px; height: 30px; border-radius: 9px; color: #62dffa; background: #17375c; font-weight: 900; }.batch-title h2 { margin: 1px 0 4px; font-size: 1.13rem; }.batch-title p { margin: 0; color: #8da5c2; font-size: .82rem; }
.batch-fields { display: grid; grid-template-columns: 1fr 1fr 1.5fr; gap: 12px; }.batch-fields label,.batch-fields label > span { display: block; }.batch-fields label > span { margin-bottom: 6px; color: #8da5c2; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }.batch-fields select { width: 100%; padding: 11px 12px; border: 1px solid #3b5270; border-radius: 10px; color: #edf5ff; background: #0d192b; }
.batch-checks { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 16px; color: #c6d5e8; font-size: .84rem; }.batch-checks input,.batch-confirm input { accent-color: #23c99b; }
.batch-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; }.batch-actions.split { justify-content: space-between; align-items: center; }.batch-actions.split > div { display: flex; gap: 8px; }.portal-danger { padding: 10px 14px; border: 1px solid #8e3650; border-radius: 10px; color: #ffabbc; background: #311a26; font-weight: 800; cursor: pointer; }
.batch-metrics { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid #314660; border-radius: 13px; overflow: hidden; }.batch-metrics.six { grid-template-columns: repeat(6,1fr); }.batch-metrics.eight { grid-template-columns: repeat(4,1fr); }.batch-metrics span { padding: 15px; text-align: center; border-right: 1px solid #314660; }.batch-metrics span:last-child { border-right: 0; }.batch-metrics small,.batch-metrics strong { display: block; }.batch-metrics small { color: #8198b6; font-size: .69rem; }.batch-metrics strong { margin-top: 5px; font-size: 1.35rem; color: #eef6ff; }
.batch-notice { margin: 14px 0; padding: 12px 14px; border-left: 3px solid #f0b94c; border-radius: 8px; color: #d9c18c; background: rgba(105,76,24,.24); font-size: .82rem; }.batch-notice.success { border-left-color: #36c596; color: #9ce9d0; background: rgba(25,101,79,.24); }
.batch-preview-list { max-height: 330px; overflow: auto; display: grid; gap: 7px; padding-right: 4px; }.batch-preview-list article { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 11px 13px; border: 1px solid #30455e; border-radius: 10px; background: #0e1a2b; }.batch-preview-list article.attention { border-color: rgba(232,162,54,.5); }.batch-preview-list strong,.batch-preview-list small { display: block; }.batch-preview-list small { margin-top: 3px; color: #7e96b4; }.batch-preview-list article > span { max-width: 50%; color: #9eb6d3; text-align: right; font-size: .76rem; }
.batch-selection-actions { display: flex; align-items: center; gap: 8px; margin: 14px 0 10px; }.batch-selection-actions span { margin-left: auto; color: #8fa8c7; font-size: .8rem; }.batch-preview-list article.selected { border-color: rgba(73,132,255,.72); background: rgba(24,52,91,.48); }.batch-customer-check { flex: 0 0 auto; width: 17px; height: 17px; accent-color: #23c99b; }
.batch-confirm { display: block; margin-top: 16px; padding: 13px 14px; border: 1px solid rgba(44,210,161,.38); border-radius: 11px; color: #b8ddcf; background: rgba(17,85,71,.24); font-size: .81rem; line-height: 1.4; }.batch-confirm.danger { border-color: rgba(224,153,61,.5); color: #ecd0a1; background: rgba(102,63,17,.28); }
.batch-progress { height: 8px; margin-top: 14px; overflow: hidden; border-radius: 99px; background: #091524; }.batch-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#20c997,#57e7ba); transition: width .35s ease; }
.batch-table-wrap { max-height: 520px; overflow: auto; margin-top: 16px; border: 1px solid #2d415a; border-radius: 12px; }.batch-table { width: 100%; border-collapse: collapse; font-size: .76rem; }.batch-table th { position: sticky; top: 0; z-index: 1; padding: 10px; color: #7895ba; text-align: left; background: #0c1829; }.batch-table td { padding: 11px 10px; border-top: 1px solid #263a52; color: #c6d5e8; vertical-align: top; }.batch-table td strong,.batch-table td small { display: block; }.batch-table td small { margin-top: 3px; color: #7590b0; }.batch-status { display: inline-block; padding: 5px 7px; border-radius: 99px; color: #9fc2eb; background: #183455; white-space: nowrap; }.batch-status.done { color: #53e1b5; background: #123c35; }.batch-status.attention { color: #ffc373; background: #49341c; }.batch-status.queued { color: #9dacbe; background: #263548; }
.batch-approval { border-color: rgba(132,98,235,.55); }.batch-approval.zirve { border-color: rgba(232,145,49,.55); }.batch-approval-summary,.batch-approval-row { display: flex; justify-content: space-between; gap: 20px; padding: 11px 13px; border-bottom: 1px solid #2a3e57; }.batch-approval-summary { border: 1px solid #3c5270; border-radius: 10px 10px 0 0; color: #dceaff; background: #15243a; }.batch-approval-row { color: #adbfD5; font-size: .78rem; }.zirve-button { background: linear-gradient(135deg,#d97731,#9a50d7); }
@media (max-width: 1050px) { .batch-safety { grid-template-columns: 1fr; }.batch-metrics.six,.batch-metrics.eight { grid-template-columns: repeat(3,1fr); }.batch-fields { grid-template-columns: 1fr 1fr; }.batch-fields label:last-child { grid-column: 1 / -1; } }
@media (max-width: 700px) { .batch-page { width: min(100% - 20px,1420px); padding-top: 14px; }.batch-hero { display: block; padding: 20px; }.batch-back { display: inline-block; margin-top: 16px; }.batch-card { padding: 15px; }.batch-fields,.batch-metrics,.batch-metrics.six,.batch-metrics.eight { grid-template-columns: 1fr 1fr; }.batch-preview-list article,.batch-approval-row,.batch-approval-summary { display: block; }.batch-preview-list article > span { display: block; max-width: none; margin-top: 7px; text-align: left; }.batch-actions.split { align-items: stretch; flex-direction: column; }.batch-actions.split > div { flex-wrap: wrap; }.batch-table { min-width: 980px; } }

.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.rifki-autopilot-totals.six { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media (max-width: 820px) { .rifki-autopilot-totals.six { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* Rıfkı sohbet içi tek-onay deneyimi */
.rifki-chat-bubble.rifki-approval-message {
    width: min(1040px, 94%);
    max-width: none;
}

.rifki-chat-bubble > .rifki-chat-approval {
    width: 100%;
    padding: 0;
    overflow: hidden;
    border-color: rgba(113, 95, 235, .62);
    background: linear-gradient(145deg, #14223a, #101a30 68%);
}

.rifki-chat-approval-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    padding: 18px 20px;
    border-bottom: 1px solid rgba(118, 107, 231, .3);
}

.rifki-chat-approval-head small,
.rifki-chat-approval-head strong,
.rifki-chat-approval-head p {
    margin: 0;
    text-align: left;
}

.rifki-chat-approval-head small {
    color: #9e8cff;
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.rifki-chat-approval-head strong {
    margin-top: 6px;
    color: #f5f7ff;
    font-size: 1.12rem;
    line-height: 1.3;
}

.rifki-chat-approval-head p {
    max-width: 760px;
    margin-top: 7px;
    color: #aebdd4;
    font-size: .8rem;
    line-height: 1.55;
}

.rifki-chat-approval-head b {
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 1px solid rgba(96, 226, 186, .38);
    border-radius: 999px;
    color: #73e7c3;
    background: rgba(25, 105, 84, .24);
    font-size: .7rem;
}

.rifki-chat-approval-scope {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: rgba(36, 51, 82, .72);
}

.rifki-chat-approval-scope span {
    min-width: 0;
    padding: 12px 14px;
    border-right: 1px solid #354566;
}

.rifki-chat-approval-scope span:last-child { border-right: 0; }
.rifki-chat-approval-scope small,
.rifki-chat-approval-scope strong { margin: 0; text-align: left; }
.rifki-chat-approval-scope small { color: #7f95b5; font-size: .62rem; text-transform: uppercase; }
.rifki-chat-approval-scope strong { margin-top: 4px; color: #f2f6ff; font-size: .78rem; overflow-wrap: anywhere; }

.rifki-chat-approval-steps {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 16px 20px;
    list-style: none;
}

.rifki-chat-approval-steps li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
}

.rifki-chat-approval-steps li > span {
    display: grid;
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    place-items: center;
    border-radius: 8px;
    color: #a9c9ff;
    background: #203c65;
    font-size: .69rem;
    font-weight: 900;
}

.rifki-chat-approval-steps strong,
.rifki-chat-approval-steps small { margin: 0; text-align: left; }
.rifki-chat-approval-steps strong { color: #eaf1ff; font-size: .8rem; }
.rifki-chat-approval-steps small { margin-top: 3px; color: #8097b5; font-size: .7rem; line-height: 1.4; }

.rifki-chat-approval-firms {
    display: grid;
    gap: 7px;
    max-height: 180px;
    padding: 0 20px 16px;
    overflow: auto;
}

.rifki-chat-approval-firms > span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 9px 11px;
    border: 1px solid #314765;
    border-radius: 9px;
    background: #0d192b;
}

.rifki-chat-approval-firms > span.warning { border-color: #76582d; background: #2b2418; }
.rifki-chat-approval-firms strong,
.rifki-chat-approval-firms small { margin: 0; text-align: left; }
.rifki-chat-approval-firms strong { color: #dce9fb; font-size: .74rem; }
.rifki-chat-approval-firms small { color: #79dcb9; font-size: .68rem; }
.rifki-chat-approval-firms > span.warning small { color: #efc175; }

.rifki-chat-confirmation {
    padding: 13px 20px;
    border-top: 1px solid rgba(113, 95, 235, .4);
    background: rgba(65, 49, 132, .24);
}

.rifki-chat-confirmation strong,
.rifki-chat-confirmation small { margin: 0; text-align: left; }
.rifki-chat-confirmation strong { color: #cfc5ff; font-size: .82rem; }
.rifki-chat-confirmation small { margin-top: 4px; color: #8e9fb8; font-size: .68rem; }

@media (max-width: 760px) {
    .rifki-chat-bubble.rifki-approval-message { width: 100%; max-width: 100%; }
    .rifki-chat-approval-head { padding: 15px; }
    .rifki-chat-approval-scope { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rifki-chat-approval-scope span:nth-child(2) { border-right: 0; }
    .rifki-chat-approval-steps { padding: 14px 15px; }
    .rifki-chat-approval-firms { padding: 0 15px 14px; }
    .rifki-chat-confirmation { padding: 12px 15px; }
}

/* Rıfkı sohbeti: büyüyen sayfa yerine sabit ve kaydırılabilir konuşma alanı */
.rifki-page { width: 100%; padding: 14px 18px 34px; }
.rifki-ai-hero { min-height: 172px; grid-template-columns: 92px minmax(0,1fr) auto; padding: 18px 24px; }
.rifki-ai-orbit { width: 82px; height: 82px; }
.rifki-ai-orbit .orbit-one { inset: 0; }.rifki-ai-orbit .orbit-two { inset: 11px; }
.rifki-ai-orbit .rifki-avatar { width: 55px; height: 55px; border-radius: 18px; font-size: 1.65rem; }
.rifki-ai-hero h1 { margin: 6px 0; font-size: clamp(1.55rem,2.2vw,2.25rem); }
.rifki-ai-hero p { font-size: .78rem; line-height: 1.45; }.rifki-capabilities { margin-top: 9px; }
.rifki-conversation { height: clamp(260px,35vh,430px); min-height: 260px; align-content: start; overflow-y: auto; overscroll-behavior: contain; padding: 13px 16px; border: 1px solid #263e5d; border-radius: 16px; background: rgba(8,18,32,.58); scrollbar-gutter: stable; scroll-behavior: smooth; }
.rifki-chat-bubble { width: auto; }.rifki-chat-bubble p { white-space: pre-wrap; }
.rifki-workspace { margin-top: 10px; gap: 12px; }
.rifki-ai-composer { padding: 14px 18px; border-radius: 16px; }
.rifki-composer-title { margin-bottom: 11px; padding-bottom: 9px; }.rifki-mini-orb { width: 31px; height: 31px; border-radius: 9px; font-size: .78rem; }
.rifki-composer-title h2 { font-size: .92rem; }.rifki-composer-title p { font-size: .65rem; }
.rifki-scope-grid { margin-bottom: 10px; }.rifki-scope-grid label > span,.rifki-field-label { font-size: .65rem; }
.rifki-scope-grid select,.rifki-customer-trigger { min-height: 39px; }
.rifki-period-hint { margin: -2px 0 9px; }
.rifki-prompt-shell { border-radius: 13px; }.rifki-prompt-mark { top: 12px; left: 13px; width: 23px; height: 23px; }
.rifki-prompt-shell textarea { min-height: 67px; max-height: 150px; padding: 12px 17px 10px 46px; font-size: .86rem; }
.rifki-prompt-footer { min-height: 42px; padding: 6px 7px 6px 13px; }.rifki-prompt-footer button { padding: 8px 12px; }
.rifki-plan-panel { min-height: 380px; }
.rifki-chat-confirmation { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.rifki-chat-confirmation > div { padding: 0; border: 0; background: transparent; box-shadow: none; }
.rifki-chat-confirmation button { flex: 0 0 auto; padding: 10px 15px; color: white; border: 0; border-radius: 10px; background: linear-gradient(135deg,#4bd3aa,#3f88ef); font-weight: 850; }
@media (max-width:900px) { .rifki-ai-hero { grid-template-columns: 70px 1fr; }.rifki-hero-actions { grid-column:1/-1; grid-template-columns:repeat(3,1fr); }.rifki-conversation { height: 40vh; } }
@media (max-width:700px) { .rifki-page { padding:8px; }.rifki-ai-hero { min-height:auto; grid-template-columns:1fr; padding:15px; }.rifki-ai-orbit { display:none; }.rifki-hero-actions { grid-template-columns:1fr; }.rifki-conversation { width:100%; height:45vh; min-height:250px; margin:8px auto; padding:10px; }.rifki-ai-composer { padding:12px; }.rifki-chat-confirmation { align-items:stretch; flex-direction:column; }.rifki-chat-confirmation button { width:100%; } }

/* Aydınlık tema: modül-özel koyu yüzeylerin tam açık palet karşılıkları. */

/* Banka hareketleri */

/* Z raporları */

/* Hesap kodu ayarları */

/* Rıfkı kural hafızası */

/* Rıfkı ana ekranı: mükellef seçimi kart içinde açılır, liste kendi içinde kayar. */
.rifki-ai-customer-picker { align-self:start; z-index:20; }
.rifki-ai-customer-menu {
    position:relative;
    inset:auto;
    display:flex;
    width:100%;
    max-height:340px;
    margin-top:8px;
    flex-direction:column;
    box-shadow:0 18px 42px rgba(0,0,0,.32);
}
.rifki-ai-customer-menu .rifki-customer-menu-head,
.rifki-ai-customer-menu .rifki-customer-menu-foot { flex:0 0 auto; }
.rifki-ai-customer-menu .rifki-customer-options {
    flex:1 1 auto;
    min-height:0;
    max-height:190px;
    overflow-y:auto;
    overscroll-behavior:contain;
}
.rifki-ai-customer-picker .rifki-customer-trigger i { transition:transform .18s ease; }
.rifki-ai-customer-picker .rifki-customer-trigger.open i { transform:rotate(180deg); }
@media (max-width:700px) {
    .rifki-ai-customer-menu { max-height:300px; }
    .rifki-ai-customer-menu .rifki-customer-options { max-height:160px; }
}

.rifki-autopilot-controls {
    display:grid;
    justify-items:end;
    gap:9px;
}
.rifki-autopilot-controls > strong {
    color:#66e6be;
    font-size:1.65rem;
    white-space:nowrap;
}
.rifki-autopilot-stop {
    border:1px solid #b74457;
    border-radius:9px;
    padding:9px 12px;
    color:#ffe1e6;
    background:linear-gradient(135deg,#8d2639,#5a1727);
    box-shadow:0 8px 22px rgba(126,27,48,.24);
    font-size:.68rem;
    font-weight:900;
    cursor:pointer;
    white-space:nowrap;
}
.rifki-autopilot-stop:hover {
    border-color:#ef6678;
    background:linear-gradient(135deg,#a72c43,#6c1a2d);
}
.rifki-autopilot-stop:disabled { opacity:.55; cursor:wait; }
.rifki-otp-card { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px; border:1px solid rgba(245,174,65,.72); border-radius:14px; background:linear-gradient(145deg,rgba(111,69,12,.38),rgba(29,24,17,.72)); box-shadow:0 0 0 1px rgba(255,198,93,.08) inset; }
.rifki-otp-copy { min-width:0; }
.rifki-otp-copy > span,.rifki-otp-copy > strong,.rifki-otp-copy > small { display:block; }
.rifki-otp-copy > span { margin-bottom:5px; color:#ffc65d; font-size:.61rem; font-weight:900; letter-spacing:.1em; }
.rifki-otp-copy > strong { color:#fff2d6; font-size:.82rem; line-height:1.4; }
.rifki-otp-copy > small { margin-top:5px; color:#c8aa78; font-size:.68rem; line-height:1.45; }
.rifki-otp-entry { display:flex; gap:8px; flex:0 0 auto; }
.rifki-otp-entry input { width:150px; padding:11px 12px; border:1px solid #6d5935; border-radius:9px; color:#fff; background:#111b2a; font:700 .86rem ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.16em; outline:none; }
.rifki-otp-entry input:focus { border-color:#ffc65d; box-shadow:0 0 0 3px rgba(255,198,93,.14); }
.rifki-otp-entry button { padding:11px 14px; border:0; border-radius:9px; color:#172031; background:#ffc65d; font-weight:850; cursor:pointer; }
.rifki-otp-entry button:disabled { opacity:.5; cursor:not-allowed; }
@media (max-width:700px) {
    .rifki-autopilot-head { align-items:stretch; flex-direction:column; }
    .rifki-autopilot-controls { justify-items:stretch; }
    .rifki-autopilot-controls > strong { text-align:left; }
    .rifki-otp-card,.rifki-otp-entry { align-items:stretch; flex-direction:column; }
    .rifki-otp-entry input { box-sizing:border-box; width:100%; }
}

/* Firma bazlı Rıfkı / kendi hesap planı çalışma biçimi */
.account-plan-mode-panel,
.custom-account-workspace {
    margin-bottom:16px;
    padding:18px;
    border:1px solid var(--border-color);
    border-radius:15px;
    color:var(--text-main);
    background:var(--bg-card);
    box-shadow:var(--shadow-card);
}
.account-plan-mode-head,
.custom-account-toolbar,
.account-plan-mode-save,
.purpose-coverage-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}
.account-plan-mode-head h2,
.custom-account-toolbar h2,
.purpose-coverage-head h3 { margin:4px 0 5px; }
.account-plan-mode-head p,
.custom-account-toolbar p,
.purpose-coverage-head p { margin:0; color:var(--text-muted); font-size:.73rem; line-height:1.55; }
.account-plan-mode-head > label { min-width:310px; color:var(--text-muted); font-size:.65rem; font-weight:900; }
.account-plan-mode-head select,
.custom-account-actions select,
.custom-account-filterbar input,
.custom-account-table select {
    width:100%;
    min-height:38px;
    margin-top:5px;
    padding:8px 10px;
    border:1px solid var(--border-color);
    border-radius:9px;
    outline:0;
    color:var(--text-main);
    background:color-mix(in srgb,var(--bg-dark) 65%,var(--bg-card));
}
.account-plan-mode-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0; }
.account-plan-mode-option {
    min-height:105px;
    display:grid;
    grid-template-columns:42px 1fr;
    grid-template-rows:auto auto;
    gap:4px 12px;
    padding:15px;
    border:1px solid var(--border-color);
    border-radius:13px;
    color:var(--text-main);
    text-align:left;
    background:color-mix(in srgb,var(--bg-dark) 66%,var(--bg-card));
    cursor:pointer;
    transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.account-plan-mode-option:hover { transform:translateY(-1px); border-color:color-mix(in srgb,var(--primary) 65%,var(--border-color)); }
.account-plan-mode-option.selected { border-color:var(--primary); background:color-mix(in srgb,var(--primary) 11%,var(--bg-card)); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent); }
.account-plan-mode-option:disabled { opacity:.52; cursor:not-allowed; transform:none; }
.account-plan-mode-option .mode-icon { grid-row:1 / 3; display:grid; width:42px; height:42px; place-items:center; border-radius:12px; color:white; background:linear-gradient(135deg,#2563eb,#7c3aed); font-weight:950; }
.account-plan-mode-option .mode-icon.custom { background:linear-gradient(135deg,#059669,#0891b2); }
.account-plan-mode-option strong { align-self:end; font-size:.82rem; }
.account-plan-mode-option small { color:var(--text-muted); font-size:.64rem; line-height:1.45; }
.account-plan-mode-save { align-items:center; padding-top:13px; border-top:1px solid var(--border-color); }
.account-plan-mode-save > span { color:var(--text-muted); font-size:.69rem; font-weight:700; }
.custom-account-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.custom-account-actions select { width:100px; margin:0; }
.custom-account-load { min-height:48px; padding:0 22px; border:1px solid color-mix(in srgb,var(--success) 78%,#fff); border-radius:11px; color:#fff; background:linear-gradient(135deg,#10b981,#059669); box-shadow:0 8px 22px color-mix(in srgb,var(--success) 28%,transparent); font-size:.7rem; font-weight:950; letter-spacing:.01em; cursor:pointer; transition:transform .16s ease,box-shadow .16s ease,filter .16s ease; }
.custom-account-load:hover:not(:disabled) { transform:translateY(-1px); filter:brightness(1.07); box-shadow:0 11px 28px color-mix(in srgb,var(--success) 38%,transparent); }
.custom-account-load:active:not(:disabled) { transform:translateY(0); }
.custom-account-load:disabled { opacity:.58; cursor:not-allowed; box-shadow:none; }
.custom-account-clear { min-height:40px; padding:0 13px; border:1px solid color-mix(in srgb,var(--danger) 52%,var(--border-color)); border-radius:9px; color:color-mix(in srgb,var(--danger) 82%,#fff); background:color-mix(in srgb,var(--danger) 10%,transparent); font-size:.61rem; font-weight:900; cursor:pointer; }
.custom-account-clear:hover:not(:disabled) { background:color-mix(in srgb,var(--danger) 17%,transparent); }
.custom-account-clear.undo { border-color:color-mix(in srgb,var(--warning) 66%,var(--border-color)); color:var(--warning); background:color-mix(in srgb,var(--warning) 12%,transparent); }
.custom-account-clear.undo:hover:not(:disabled) { background:color-mix(in srgb,var(--warning) 19%,transparent); }
.custom-account-clear:disabled { opacity:.45; cursor:not-allowed; }
.custom-account-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:16px 0; }
.custom-account-metrics > div { display:grid; gap:3px; padding:11px 12px; border:1px solid var(--border-color); border-radius:10px; background:color-mix(in srgb,var(--bg-dark) 58%,var(--bg-card)); }
.custom-account-metrics strong { font-size:1.15rem; }.custom-account-metrics span { color:var(--text-muted); font-size:.61rem; }
.custom-account-metrics .mapped strong { color:var(--success); }.custom-account-metrics .missing strong { color:var(--danger); }.custom-account-metrics .optional strong { color:var(--warning); }
.custom-account-filterbar { display:grid; grid-template-columns:minmax(260px,1fr) auto auto auto auto; align-items:center; gap:12px; margin-bottom:12px; }
.custom-account-filterbar input { margin:0; }
.custom-account-filterbar label { display:flex; align-items:center; gap:7px; color:var(--text-muted); font-size:.66rem; font-weight:750; white-space:nowrap; }
.custom-account-filterbar label input { width:auto; min-height:auto; accent-color:var(--primary); }
.custom-account-current-toggle { min-height:32px; padding:0 11px; border:1px solid color-mix(in srgb,var(--primary) 48%,var(--border-color)); border-radius:8px; color:var(--primary); background:color-mix(in srgb,var(--primary) 9%,transparent); font-size:.62rem; font-weight:850; white-space:nowrap; cursor:pointer; }
.custom-account-current-toggle:hover,.custom-account-current-toggle.active { color:#fff; border-color:var(--primary); background:var(--primary); }
.custom-account-filterbar > span { color:var(--text-muted); font-size:.61rem; text-align:right; }
.custom-account-pagination { display:flex; align-items:center; gap:5px; }.custom-account-pagination span { min-width:52px; color:var(--text-muted); text-align:center; font-size:.61rem; font-weight:850; }
.custom-account-pagination button { display:grid; width:28px; height:28px; place-items:center; border:1px solid var(--border-color); border-radius:7px; color:var(--text-main); background:transparent; font-size:1rem; cursor:pointer; }.custom-account-pagination button:disabled { opacity:.35; cursor:not-allowed; }
.custom-account-table-wrap { max-height:540px; overflow:auto; border:1px solid var(--border-color); border-radius:12px; }
.custom-account-table { width:100%; min-width:970px; border-collapse:collapse; font-size:.67rem; }
.custom-account-table thead { position:sticky; top:0; z-index:2; background:color-mix(in srgb,var(--bg-subtle) 48%,var(--bg-card)); }
.custom-account-table th { padding:10px 11px; color:var(--text-muted); text-align:left; }
.custom-account-table td { padding:9px 11px; border-top:1px solid color-mix(in srgb,var(--border-color) 65%,transparent); vertical-align:middle; }
.custom-account-table tr.mapped { background:color-mix(in srgb,var(--success) 4%,transparent); }
.custom-account-table tr.unmapped { background:color-mix(in srgb,var(--danger) 3%,transparent); }
.custom-account-table tr.non-posting { opacity:.68; background:color-mix(in srgb,var(--text-muted) 5%,transparent); }
.custom-account-table code { color:color-mix(in srgb,var(--primary) 72%,var(--text-main)); font-size:.72rem; font-weight:900; }
.custom-account-table td:nth-child(2) { min-width:220px; }.custom-account-table td:nth-child(3) { min-width:390px; }
.custom-account-table td:nth-child(4) { min-width:145px; text-align:center; }
.custom-account-table td:last-child { min-width:155px; }.custom-account-table td:last-child small { display:block; margin-top:4px; color:var(--text-muted); line-height:1.35; }
.custom-purpose-trigger { display:grid; width:100%; min-height:42px; gap:3px; padding:8px 10px; border:1px solid var(--border-color); border-radius:9px; color:var(--text-main); text-align:left; background:color-mix(in srgb,var(--bg-subtle) 35%,var(--bg-card)); cursor:pointer; }
.custom-purpose-trigger:hover,.custom-purpose-trigger.has-selection { border-color:color-mix(in srgb,var(--primary) 62%,var(--border-color)); }
.custom-purpose-trigger:disabled { cursor:not-allowed; border-style:dashed; background:color-mix(in srgb,var(--text-muted) 7%,var(--bg-card)); }
.custom-purpose-trigger.has-selection { background:color-mix(in srgb,var(--success) 8%,var(--bg-card)); }
.custom-purpose-trigger span { font-size:.67rem; font-weight:850; }.custom-purpose-trigger small { color:var(--text-muted); font-size:.55rem; }
.custom-default-summary { padding:7px 9px; border:1px solid color-mix(in srgb,var(--success) 42%,var(--border-color)); border-radius:8px; color:var(--success); background:color-mix(in srgb,var(--success) 8%,transparent); font-size:.58rem; font-weight:850; cursor:pointer; }
.custom-default-summary:disabled { border-color:var(--border-color); color:var(--text-muted); background:transparent; cursor:not-allowed; }
.custom-purpose-picker-backdrop { position:fixed; z-index:1200; inset:0; display:grid; place-items:center; padding:24px; background:rgba(2,8,23,.72); backdrop-filter:blur(4px); }
.custom-purpose-picker { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; width:min(880px,96vw); max-height:min(820px,92vh); overflow:hidden; border:1px solid color-mix(in srgb,var(--primary) 48%,var(--border-color)); border-radius:18px; color:var(--text-main); background:var(--bg-card); box-shadow:0 28px 90px rgba(2,8,23,.5); }
.custom-purpose-picker > header,.custom-purpose-picker > footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px; }
.custom-purpose-picker > header { border-bottom:1px solid var(--border-color); }.custom-purpose-picker > footer { border-top:1px solid var(--border-color); }
.custom-purpose-picker h3 { margin:3px 0 4px; font-size:1rem; }.custom-purpose-picker p { margin:0; color:var(--text-muted); font-size:.65rem; line-height:1.45; }
.custom-purpose-picker-close { display:grid; flex:0 0 auto; width:36px; height:36px; place-items:center; border:1px solid var(--border-color); border-radius:10px; color:var(--text-main); background:transparent; font-size:1.25rem; cursor:pointer; }
.custom-purpose-picker-search { margin:14px 20px 8px; min-height:40px; border:1px solid var(--border-color); border-radius:10px; color:var(--text-main); background:color-mix(in srgb,var(--bg-subtle) 42%,var(--bg-card)); }
.custom-purpose-picker-list { overflow:auto; padding:8px 20px 18px; }
.custom-purpose-picker-category h4 { position:sticky; top:0; z-index:1; margin:12px 0 6px; padding:7px 0; color:var(--primary-soft); background:var(--bg-card); font-size:.64rem; letter-spacing:.08em; text-transform:uppercase; }
.custom-purpose-picker-option { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:9px 10px; border:1px solid transparent; border-radius:9px; }
.custom-purpose-picker-option:hover { background:color-mix(in srgb,var(--primary) 5%,transparent); }.custom-purpose-picker-option.selected { border-color:color-mix(in srgb,var(--success) 38%,var(--border-color)); background:color-mix(in srgb,var(--success) 7%,transparent); }
.custom-purpose-picker-option.used:not(.selected) { border-color:color-mix(in srgb,var(--warning) 48%,var(--border-color)); background:color-mix(in srgb,var(--warning) 9%,transparent); }
.custom-purpose-picker-option label { display:flex; align-items:center; gap:10px; cursor:pointer; }.custom-purpose-picker-option label > input { width:17px; height:17px; margin:0; accent-color:var(--success); }
.custom-purpose-picker-option label span { display:grid; gap:2px; }.custom-purpose-picker-option label strong { font-size:.68rem; }.custom-purpose-picker-option label small { color:var(--text-muted); font-size:.55rem; }
.custom-purpose-picker-option-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.custom-purpose-used-badge { display:inline-flex; align-items:center; min-height:27px; padding:5px 8px; border:1px solid color-mix(in srgb,var(--warning) 58%,var(--border-color)); border-radius:999px; color:var(--warning); background:color-mix(in srgb,var(--warning) 12%,transparent); font-size:.54rem; font-weight:900; white-space:nowrap; }
.custom-purpose-default-toggle { padding:6px 8px; border:1px solid var(--border-color); border-radius:8px; color:var(--text-muted); background:transparent; font-size:.55rem; font-weight:850; cursor:pointer; white-space:nowrap; }
.custom-purpose-default-toggle.selected { border-color:color-mix(in srgb,var(--warning) 55%,var(--border-color)); color:var(--warning); background:color-mix(in srgb,var(--warning) 10%,transparent); }
.custom-purpose-picker > footer span { color:var(--text-muted); font-size:.65rem; font-weight:800; }
.suggestion-confidence { display:inline-flex; padding:4px 6px; border-radius:999px; font-size:.58rem; font-weight:950; }.suggestion-confidence.high { color:#6ee7b7; background:rgba(16,185,129,.14); }.suggestion-confidence.medium { color:#fde68a; background:rgba(245,158,11,.14); }.suggestion-confidence.low { color:#fca5a5; background:rgba(239,68,68,.13); }
.purpose-coverage-panel { margin-top:16px; padding-top:15px; border-top:1px solid var(--border-color); }
.purpose-coverage-head { align-items:center; }.purpose-coverage-head > strong { color:var(--danger); font-size:.72rem; white-space:nowrap; }
.purpose-category { margin-top:14px; }.purpose-category h4 { margin:0 0 7px; color:var(--text-muted); font-size:.65rem; text-transform:uppercase; letter-spacing:.07em; }
.purpose-chips { display:flex; flex-wrap:wrap; gap:6px; }
.purpose-chip { display:grid; gap:2px; max-width:310px; padding:7px 9px; border:1px solid; border-radius:8px; color:var(--text-main); text-align:left; background:transparent; cursor:pointer; }
.purpose-chip span { font-size:.61rem; font-weight:850; }.purpose-chip small { font-size:.52rem; }
.purpose-chip.mapped { border-color:color-mix(in srgb,var(--success) 62%,var(--border-color)); background:color-mix(in srgb,var(--success) 11%,transparent); }.purpose-chip.mapped small { color:var(--success); }
.purpose-chip.missing { border-color:color-mix(in srgb,var(--danger) 62%,var(--border-color)); background:color-mix(in srgb,var(--danger) 10%,transparent); }.purpose-chip.missing small { color:var(--danger); }
.purpose-chip.not-applicable { border-color:var(--border-color); opacity:.7; background:color-mix(in srgb,var(--bg-subtle) 36%,transparent); }.purpose-chip.not-applicable small { color:var(--text-muted); }
.custom-empty { border:1px dashed var(--border-color); border-radius:12px; background:color-mix(in srgb,var(--bg-dark) 34%,transparent); text-align:center; padding:24px; }
@media (max-width:900px) {
    .account-plan-mode-head,.custom-account-toolbar { flex-direction:column; }
    .account-plan-mode-head > label { width:100%; min-width:0; }
    .custom-account-actions { width:100%; justify-content:flex-start; }
    .custom-account-filterbar { grid-template-columns:1fr; }.custom-account-filterbar > span { text-align:left; }
}
@media (max-width:700px) {
    .account-plan-mode-options,.custom-account-metrics { grid-template-columns:1fr; }
    .account-plan-mode-save,.purpose-coverage-head { align-items:stretch; flex-direction:column; }
    .custom-purpose-picker-backdrop { padding:8px; }.custom-purpose-picker { max-height:96vh; }.custom-purpose-picker-option { grid-template-columns:1fr; }.custom-purpose-picker-option-actions { justify-content:flex-start; flex-wrap:wrap; }.custom-purpose-default-toggle { justify-self:start; }
}
.platform-console { --console-ink: #182542; --console-muted: #52617a; --console-accent: #354dcc; --console-line: #dde4f1; max-width: 1250px; margin: 0 auto; display: grid; gap: 1rem; color: var(--console-ink); }
.platform-console .console-hero { padding: clamp(1.3rem, 4vw, 2.5rem); border: 1px solid #d9e2ff; border-radius: 1.35rem; background: linear-gradient(110deg, #eff2ff, #f8faff 75%); }
.platform-console .console-hero > span { color: #384eac; font-size: .76rem; font-weight: 800; letter-spacing: .09em; }
.platform-console h1 { margin: .35rem 0 .45rem; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.platform-console h2 { margin: 0; font-size: 1.18rem; }
.platform-console .console-hero p { margin: 0; color: var(--console-muted); }
.platform-console .console-columns { display: grid; gap: 1rem; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; }
.platform-console .console-card { min-width: 0; padding: clamp(1rem, 2.5vw, 1.5rem); background: #fff; border: 1px solid var(--console-line); border-radius: 1.1rem; }
.platform-console .console-metrics { display: grid; gap: .7rem; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); }
.platform-console .console-metrics article { display: grid; gap: .2rem; padding: .95rem; border-radius: .9rem; background: #fff; border: 1px solid var(--console-line); }
.platform-console .console-metrics span, .platform-console small, .platform-console .console-reference { color: var(--console-muted); }
.platform-console .console-metrics strong { font-size: 1.65rem; }
.platform-console .console-heading, .platform-console .console-toolbar, .platform-console .console-tabs { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.platform-console .console-heading { justify-content: space-between; }
.platform-console .console-toolbar { margin-top: .9rem; }
.platform-console .console-form { display: grid; gap: .8rem; margin-top: 1rem; justify-items: start; }
.platform-console .console-form label { width: 100%; }
.platform-console label { display: grid; gap: .3rem; font-size: .9rem; font-weight: 650; min-width: 0; }
.platform-console input, .platform-console select, .platform-console textarea { width: 100%; min-width: 0; border: 1px solid #bac6df; border-radius: .55rem; padding: .65rem; background: #fff; color: var(--console-ink); font: inherit; font-weight: 400; }
.platform-console textarea { resize: vertical; }
.platform-console button { border: 1px solid transparent; border-radius: .55rem; padding: .6rem .85rem; font: inherit; font-weight: 650; cursor: pointer; color: #fff; background: var(--console-accent); }
.platform-console button:disabled { opacity: .56; cursor: default; }
.platform-console button:focus-visible, .platform-console input:focus-visible, .platform-console select:focus-visible, .platform-console textarea:focus-visible { outline: 2px solid #526ce8; outline-offset: 2px; }
.platform-console .console-secondary, .platform-console .console-tabs button[aria-pressed="false"] { background: #f0f3fb; border-color: var(--console-line); color: #233b82; }
.platform-console .console-ticket-list, .platform-console .console-events { margin: .8rem 0 0; padding: 0; list-style: none; display: grid; gap: .5rem; }
.platform-console .console-ticket { text-align: start; width: 100%; display: grid; gap: .3rem .5rem; grid-template-columns: minmax(0, 1fr) auto; color: var(--console-ink); background: #f8faff; border-color: var(--console-line); overflow-wrap: anywhere; }
.platform-console .console-ticket[aria-pressed="true"] { border-color: var(--console-accent); background: #eef1ff; }
.platform-console .console-ticket small { grid-column: 1 / -1; }
.platform-console .console-badge { align-self: start; border-radius: 1rem; padding: .2rem .55rem; font-size: .8rem; background: #e9eeff; color: #2e438c; white-space: nowrap; }
.platform-console .console-alert, .platform-console .console-notice { padding: .75rem 1rem; border-radius: .65rem; margin: 0; }
.platform-console .console-alert { background: #fff0ee; color: #851b25; }
.platform-console .console-notice { background: #e9f6ef; color: #165b36; }
.platform-console .console-message, .platform-console .console-reference { white-space: pre-wrap; overflow-wrap: anywhere; }
.platform-console .console-reply, .platform-console .console-events li { border: 1px solid var(--console-line); border-radius: .7rem; background: #f8faff; padding: .75rem; margin-top: .55rem; }
.platform-console .console-table { overflow-x: auto; margin-top: .9rem; }
.platform-console table { width: 100%; border-collapse: collapse; text-align: start; }
.platform-console :is(td, th) { border-bottom: 1px solid var(--console-line); padding: .65rem; text-align: start; }
.platform-console :is(td, .console-events li) small { display: block; overflow-wrap: anywhere; }
@media (max-width: 760px) { .platform-console .console-columns { grid-template-columns: 1fr; } }
.auth-card .registration-form { display: grid; gap: .65rem; }
.auth-card .registration-form label { display: grid; gap: .3rem; }
.auth-card .registration-form input { width: 100%; }
.auth-card .registration-form + a { margin-top: .75rem; }
