  <style>
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --sidebar-bg: #0f1923; --sidebar-w: 240px;
      --accent: #e8a020; --danger: #e53e3e; --success: #38a169;
      --text: #1a202c; --muted: #718096; --border: #edf2f7; --bg: #f7f8fc;
    }
    body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--bg); color: var(--text); min-height: 100vh; }

    /* LOGIN */
    #login-page { min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#0f1923 0%,#1c3045 100%); }
    .login-card { background:#fff; padding:48px 40px; border-radius:16px; width:100%; max-width:400px; box-shadow:0 24px 64px rgba(0,0,0,.35); }
    .login-logo { text-align:center; margin-bottom:36px; }
    .login-logo h1 { font-size:30px; font-weight:800; color:#0f1923; letter-spacing:-.5px; }
    .login-logo h1 span { color:var(--accent); }
    .login-logo p { color:var(--muted); font-size:13px; margin-top:4px; }
    .form-group { margin-bottom:18px; }
    .form-group label { display:block; font-size:12px; font-weight:700; color:#4a5568; margin-bottom:6px; text-transform:uppercase; letter-spacing:.5px; }
    input, select { width:100%; padding:10px 14px; border:1.5px solid #e2e8f0; border-radius:8px; font-size:14px; color:var(--text); background:#fff; transition:border-color .15s; appearance:none; }
    input:focus, select:focus { outline:none; border-color:var(--accent); }
    input::placeholder { color:#c0ccd8; }
    #login-error { color:var(--danger); font-size:13px; text-align:center; margin-top:10px; min-height:18px; }
    .login-divider { display:flex; align-items:center; gap:12px; margin:16px 0; color:#cbd5e0; font-size:12px; }
    .login-divider::before,.login-divider::after { content:''; flex:1; height:1px; background:#e2e8f0; }
    .btn-google { background:#fff; color:#374151; border:1.5px solid #e2e8f0; width:100%; justify-content:center; padding:11px; font-size:14px; box-shadow:0 1px 4px rgba(0,0,0,.08); }
    .btn-google:hover { background:#f9fafb; filter:none; border-color:#cbd5e0; }

    /* BUTTONS */
    .btn { display:inline-flex; align-items:center; gap:6px; padding:10px 20px; border:none; border-radius:8px; font-size:14px; font-weight:600; cursor:pointer; transition:filter .15s; white-space:nowrap; }
    .btn:hover { filter:brightness(1.08); } .btn:active { filter:brightness(.95); } .btn:disabled { opacity:.55; cursor:not-allowed; }
    .btn-primary  { background:var(--accent);  color:#fff; width:100%; justify-content:center; padding:12px; }
    .btn-success  { background:var(--success);  color:#fff; }
    .btn-danger   { background:var(--danger);   color:#fff; }
    .btn-secondary{ background:#edf2f7; color:#4a5568; }
    .btn-outline  { background:transparent; border:1.5px solid var(--accent); color:var(--accent); }
    .btn-sm       { padding:6px 13px; font-size:13px; }

    /* APP SHELL */
    #app { display:none; min-height:100vh; } #app.active { display:flex; }

    /* SIDEBAR */
    #sidebar { width:var(--sidebar-w); background:var(--sidebar-bg); display:flex; flex-direction:column; position:fixed; top:0; left:0; height:100vh; z-index:100; }
    .sidebar-logo { padding:24px 20px 20px; border-bottom:1px solid rgba(255,255,255,.06); }
    .sidebar-logo h2 { font-size:20px; font-weight:800; color:#fff; } .sidebar-logo h2 span { color:var(--accent); }
    .sidebar-logo p { font-size:10px; color:#3a5570; text-transform:uppercase; letter-spacing:1.2px; margin-top:3px; }
    /* Orta blok scroll eder; logo + View-As + footer sabit kalır (Adam bug 2026-09-12:
       kısa ekranda menü footer'a biniyordu, tekerlek de beyaz tarafı kaydırıyordu).
       overscroll-behavior:contain → sidebar scroll'u bitince sayfaya SIÇRAMAZ. */
    .nav-section { padding:20px 12px 8px; flex:1 1 auto; min-height:0;
      overflow-y:auto; overscroll-behavior:contain; }
    .nav-section::-webkit-scrollbar { width:5px; }
    .nav-section::-webkit-scrollbar-thumb { background:rgba(255,255,255,.18); border-radius:3px; }
    .nav-section::-webkit-scrollbar-track { background:transparent; }
    .nav-label { font-size:10px; text-transform:uppercase; letter-spacing:1.5px; color:#2a4055; padding:0 8px; margin-bottom:8px; }
    .nav-item { display:flex; align-items:center; gap:11px; padding:10px 12px; border-radius:8px; color:#506070; cursor:pointer; transition:background .15s,color .15s; font-size:14px; font-weight:500; margin-bottom:2px; user-select:none; }
    .nav-item:hover { background:rgba(255,255,255,.04); color:#8099aa; }
    .nav-item.active { background:rgba(232,160,32,.14); color:var(--accent); }
    .nav-item svg { width:17px; height:17px; flex-shrink:0; }
    .sidebar-footer { margin-top:auto; padding:14px 12px; border-top:1px solid rgba(255,255,255,.06); }
    .user-info { display:flex; align-items:center; gap:10px; padding:6px 10px 10px; }
    .user-avatar { width:30px; height:30px; border-radius:50%; background:var(--accent); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:#fff; flex-shrink:0; }
    .user-email-block { display:flex; flex-direction:column; gap:2px; min-width:0; }
    .user-email { font-size:12px; color:#3a5060; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .user-role-badge { font-size:9px; font-weight:800; letter-spacing:.6px; padding:1px 6px; border-radius:4px; align-self:flex-start; line-height:1.4; }
    .user-role-badge.role-owner { background:linear-gradient(90deg,#f59e0b,#eab308); color:#fff; box-shadow:0 1px 3px rgba(234,179,8,.3); }
    .user-role-badge.role-admin { background:#334155; color:#e2e8f0; }
    #logout-btn { width:100%; background:rgba(229,62,62,.09); color:#f87171; border:none; padding:9px; border-radius:8px; font-size:13px; font-weight:600; cursor:pointer; transition:background .15s; }
    #logout-btn:hover { background:rgba(229,62,62,.18); }

    /* MAIN */
    #main { margin-left:var(--sidebar-w); flex:1; padding:32px 36px; }
    .page { display:none; } .page.active { display:block; }
    .page-header { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:28px; }
    .page-title h2 { font-size:22px; font-weight:800; color:#0f1923; }
    .page-title p  { font-size:13px; color:var(--muted); margin-top:3px; }

    /* STATS */
    .stats-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:18px; margin-bottom:28px; }
    .stat-card { background:#fff; border-radius:12px; padding:22px 20px; box-shadow:0 1px 4px rgba(0,0,0,.07); border:1px solid var(--border); position:relative; overflow:hidden; }
    .stat-icon { position:absolute; top:18px; right:18px; width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; }
    .si-yellow { background:rgba(232,160,32,.12); color:var(--accent); } .si-green { background:rgba(56,161,105,.12); color:var(--success); }
    .si-blue { background:rgba(66,153,225,.12); color:#4299e1; } .si-purple { background:rgba(128,90,213,.12); color:#805ad5; }
    .stat-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:var(--muted); margin-bottom:8px; }
    .stat-value { font-size:30px; font-weight:800; color:#0f1923; line-height:1; }
    .stat-value.accent { color:var(--accent); } .stat-value.success { color:var(--success); } .stat-value.sm { font-size:20px; }
    .stat-sub { font-size:11px; color:#b0bec8; margin-top:6px; }

    /* CARD / TABLE */
    .card { background:#fff; border-radius:12px; box-shadow:0 1px 4px rgba(0,0,0,.07); border:1px solid var(--border); overflow:hidden; }
    .card-header { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--border); }
    .card-title { font-size:14px; font-weight:700; color:var(--text); }
    table { width:100%; border-collapse:collapse; }
    th { text-align:left; padding:11px 16px; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:var(--muted); background:#f9fafb; border-bottom:1px solid var(--border); }
    td { padding:13px 16px; font-size:14px; color:#2d3748; border-bottom:1px solid #f5f6f9; vertical-align:middle; }
    tr:last-child td { border-bottom:none; } tr:hover td { background:#fafbff; }
    .badge { display:inline-block; padding:3px 9px; border-radius:20px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; }
    .badge-available { background:#c6f6d5; color:#22543d; } .badge-sold { background:#fed7d7; color:#742a2a; } .badge-pending { background:#fefcbf; color:#744210; }
    .actions { display:flex; gap:6px; }
    .empty-state { text-align:center; padding:52px 24px; color:#b0bec8; font-size:14px; }
    .loading     { text-align:center; padding:40px;     color:#b0bec8; font-size:14px; }

    /* MODALS */
    .modal-overlay { display:none; position:fixed; inset:0; background:rgba(10,18,28,.55); z-index:1000; align-items:center; justify-content:center; backdrop-filter:blur(3px); }
    .modal-overlay.active { display:flex; }
    .modal { background:#fff; border-radius:16px; padding:32px; width:100%; max-width:480px; box-shadow:0 24px 64px rgba(0,0,0,.22); animation:modal-in .18s ease; }
    @keyframes modal-in { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
    .modal h3 { font-size:17px; font-weight:800; margin-bottom:22px; color:#0f1923; }
    .modal-actions { display:flex; gap:10px; margin-top:22px; justify-content:flex-end; }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }

    /* TOAST */
    #toast { position:fixed; bottom:24px; right:24px; background:#1a202c; color:#fff; padding:11px 18px; border-radius:10px; font-size:14px; font-weight:500; opacity:0; transform:translateY(8px); transition:all .25s; z-index:9999; pointer-events:none; border-left:3px solid transparent; }
    #toast.show { opacity:1; transform:translateY(0); } #toast.show.success { border-left-color:var(--success); } #toast.show.error { border-left-color:var(--danger); }

    /* SUBTABS */
    .subtabs { display:flex; gap:3px; margin-bottom:16px; background:#fff; border:1px solid #e2e8f0; border-radius:10px; padding:4px; width:fit-content; box-shadow:0 1px 3px rgba(0,0,0,.05); }
    .subtab { padding:8px 22px; border:none; background:transparent; border-radius:7px; font-size:13px; font-weight:600; color:#64748b; cursor:pointer; transition:all .15s; }
    .subtab:hover { background:#f1f5f9; color:#334155; } .subtab.active { background:#1e293b; color:#fff; }
    .subtab-content { display:none; } .subtab-content.active { display:block; }

    /* SPREADSHEET */
    .sheet-toolbar { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
    .sheet-status-msg { font-size:12px; font-weight:500; }
    .sheet-card { border-radius:12px; border:1px solid #e2e8f0; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.07); background:#fff; }
    .sheet-wrap { overflow:auto; max-height:calc(100vh - 260px); }
    .sheet-table { border-collapse:collapse; width:max-content; min-width:100%; font-size:13px; table-layout:fixed; }
    .sheet-table thead th { background:#1e293b; border-right:1px solid rgba(255,255,255,.07); border-bottom:none; padding:10px 12px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:#64748b; position:sticky; top:0; z-index:2; text-align:left; white-space:nowrap; }
    .sheet-table thead th:first-child { text-align:center; }
    .sheet-table td { border-bottom:1px solid #f1f5f9; border-right:1px solid #f1f5f9; height:38px; padding:0; vertical-align:middle; }
    .sheet-rn { background:#f8fafc; color:#94a3b8; font-size:11px; font-weight:600; text-align:center; width:48px; min-width:48px; border-right:1px solid #e2e8f0 !important; user-select:none; position:sticky; left:0; z-index:1; }
    .sheet-table tbody tr:nth-child(even) td { background:#fafbfc; } .sheet-table tbody tr:nth-child(even) .sheet-rn { background:#f3f5f7; }
    .sheet-table tbody tr:hover td { background:#eff6ff !important; } .sheet-table tbody tr:hover .sheet-rn { background:#dbeafe !important; color:#1d4ed8; font-weight:700; }
    .sheet-input { display:block; width:100%; height:38px; border:none; outline:none; padding:0 12px; font-size:13px; font-family:inherit; background:transparent; color:#1e293b; }
    .sheet-input:focus { background:#eff6ff; box-shadow:inset 0 0 0 2px #3b82f6; }
    .sheet-input[type="date"]:not(:focus):not([value])::-webkit-datetime-edit-text,
    .sheet-input[type="date"]:not(:focus):not([value])::-webkit-datetime-edit-month-field,
    .sheet-input[type="date"]:not(:focus):not([value])::-webkit-datetime-edit-day-field,
    .sheet-input[type="date"]:not(:focus):not([value])::-webkit-datetime-edit-year-field { color:transparent; }
    .sheet-input[type="number"] { text-align:right; font-variant-numeric:tabular-nums; }
    .sheet-status-td { padding:0 8px; }
    .sheet-select { display:block; width:100%; border:1.5px solid #e2e8f0; outline:none; font-family:inherit; font-size:11px; font-weight:700; cursor:pointer; border-radius:20px; padding:4px 24px 4px 10px; appearance:none; -webkit-appearance:none; background-color:#f1f5f9; color:#64748b; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 6px center; text-transform:uppercase; letter-spacing:.3px; transition:background-color .15s; }
    .sheet-select:focus { outline:2px solid #3b82f6; outline-offset:1px; }
    td.ss-green { background:#f0fdf4 !important; } td.ss-red { background:#fff5f5 !important; } td.ss-yellow { background:#fffbeb !important; }
    td.ss-green .sheet-select { background-color:#dcfce7; color:#15803d; border-color:#86efac; }
    td.ss-red   .sheet-select { background-color:#fee2e2; color:#dc2626; border-color:#fca5a5; }
    td.ss-yellow .sheet-select { background-color:#fef9c3; color:#a16207; border-color:#fde047; }
    .sheet-calc-td { text-align:center; font-size:12px; font-weight:700; padding:0 8px; }
    .calc-neg { color:#dc2626; } .calc-warn { color:#d97706; } .calc-ok { color:#15803d; } .calc-none { color:#94a3b8; }
    .pnl-pos { color:#15803d !important; font-weight:700; } .pnl-neg { color:#dc2626 !important; font-weight:700; }
    .col-ltr  { font-size:9px; font-weight:700; color:#334155; letter-spacing:1px; margin-bottom:2px; }
    .col-name { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.6px; color:#64748b; white-space:nowrap; }
    .sheet-footer { display:flex; align-items:center; justify-content:space-between; padding:12px 20px; background:#1e293b; border-top:2px solid #334155; }
    .sheet-footer-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:#475569; }
    .sheet-footer-total { font-size:14px; font-weight:800; color:var(--accent); font-variant-numeric:tabular-nums; }

    /* TEAM PAGE */
    .role-card { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:20px 24px; margin-bottom:12px; box-shadow:0 1px 3px rgba(0,0,0,.06); }
    .role-card-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
    .role-name-row { display:flex; align-items:center; gap:10px; }
    .role-dot { width:12px; height:12px; border-radius:50%; flex-shrink:0; }
    .role-name { font-size:15px; font-weight:700; color:#1a202c; }
    .role-count { font-size:12px; color:#94a3b8; background:#f1f5f9; padding:2px 8px; border-radius:10px; }
    .perm-chips { display:flex; flex-wrap:wrap; gap:6px; }
    .pchip { display:inline-flex; align-items:center; gap:4px; padding:3px 10px; border-radius:20px; font-size:11px; font-weight:600; }
    .pchip-on  { background:#dcfce7; color:#15803d; }
    .pchip-off { background:#f1f5f9; color:#94a3b8; text-decoration:line-through; }

    /* PERMISSION TABLE IN MODAL */
    .perm-table { border:1px solid #e2e8f0; border-radius:10px; overflow:hidden; margin:4px 0 16px; }
    .perm-head, .perm-row-t { display:grid; grid-template-columns:1fr 70px 70px; align-items:center; padding:10px 16px; min-height:44px; }
    .perm-head { background:#f8fafc; border-bottom:1px solid #e2e8f0; font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:#64748b; }
    .perm-head span:not(:first-child), .perm-row-t span:not(:first-child), .perm-row-t label { display:flex; justify-content:center; }
    .perm-row-t { border-bottom:1px solid #f1f5f9; } .perm-row-t:last-child { border-bottom:none; }
    .perm-row-t:hover { background:#fafbff; }
    .perm-row-t span:first-child { font-size:14px; font-weight:500; color:#1a202c; }
    .perm-na { color:#cbd5e1; font-size:20px; justify-content:center; }

    /* TOGGLE SWITCH */
    .toggle-sw { position:relative; display:inline-block; width:38px; height:22px; cursor:pointer; }
    .toggle-sw input { display:none; }
    .toggle-sl { position:absolute; inset:0; background:#e2e8f0; border-radius:22px; transition:background .2s; }
    .toggle-sl::before { content:''; position:absolute; width:16px; height:16px; left:3px; top:3px; background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.15); transition:transform .2s; }
    .toggle-sw input:checked + .toggle-sl { background:var(--success); }
    .toggle-sw input:checked + .toggle-sl::before { transform:translateX(16px); }
    .toggle-sw.disabled { opacity:.4; cursor:not-allowed; pointer-events:none; }

    /* COLOR PICKER */
    .color-picker { display:flex; gap:8px; margin-top:6px; }
    .color-dot { width:28px; height:28px; border-radius:50%; cursor:pointer; border:2px solid transparent; transition:transform .15s,box-shadow .15s; }
    .color-dot:hover { transform:scale(1.15); }
    .color-dot.active { box-shadow:0 0 0 3px rgba(0,0,0,.18); }

    /* MEMBER CELL */
    .member-cell { display:flex; align-items:center; gap:10px; }
    .member-ava { width:32px; height:32px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:#fff; flex-shrink:0; }
    .member-name { font-weight:600; font-size:14px; color:#1a202c; }

    /* ADMIN BADGE */
    .admin-chip { background:rgba(232,160,32,.15); color:var(--accent); font-size:11px; font-weight:700; padding:2px 9px; border-radius:10px; }

    /* ACTIVITY PAGE */
    .act-filters { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
    .act-filters input, .act-filters select { width:auto; }
    .session-online { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; color:#15803d; }
    .session-online::before { content:''; display:inline-block; width:7px; height:7px; border-radius:50%; background:#22c55e; animation:act-pulse 1.4s infinite; }
    @keyframes act-pulse { 0%,100%{opacity:1}50%{opacity:.3} }
    .act-sect-pill { display:inline-block; padding:2px 7px; border-radius:10px; font-size:10px; font-weight:700; background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; margin:1px 1px 1px 0; text-transform:capitalize; }
    .act-expand-btn { background:none; border:1px solid #e2e8f0; border-radius:6px; padding:2px 7px; font-size:11px; cursor:pointer; color:#64748b; margin-left:3px; vertical-align:middle; }
    .act-expand-btn:hover { background:#f1f5f9; }
    .act-tl-wrap { padding:14px 20px 8px; background:#f8fafc; border-top:1px solid #e2e8f0; }
    .act-tl-row { display:flex; align-items:flex-start; gap:10px; padding:5px 0 5px 16px; border-left:2px solid #e2e8f0; position:relative; }
    .act-tl-row::before { content:''; position:absolute; left:-5px; top:11px; width:8px; height:8px; border-radius:50%; background:#94a3b8; border:2px solid #fff; }
    .act-tl-time { font-size:11px; color:#94a3b8; white-space:nowrap; width:76px; flex-shrink:0; font-variant-numeric:tabular-nums; }
    .act-tl-sect { font-size:13px; font-weight:600; color:#1e293b; text-transform:capitalize; }
    .act-tl-dur  { font-size:11px; color:#64748b; margin-left:6px; }
    .act-tl-row:first-child::before { background:#3b82f6; }

    /* DEALS MODULE */
    .dealer-tabs { display:flex; gap:4px; margin-bottom:20px; flex-wrap:wrap; }
    .dealer-tab { padding:7px 18px; border:1.5px solid #e2e8f0; border-radius:8px; background:#fff; font-size:13px; font-weight:600; color:#64748b; cursor:pointer; transition:all .15s; }
    .dealer-tab:hover { border-color:var(--accent); color:var(--accent); }
    .dealer-tab.active { background:var(--accent); border-color:var(--accent); color:#fff; }

    /* ── Month tab right-click context menu ─────────────────── */
    .month-ctx-menu { position:fixed; z-index:99999; background:#fff;
      border:1.5px solid #e2e8f0; border-radius:10px;
      box-shadow:0 8px 28px rgba(0,0,0,.18); min-width:200px;
      padding:6px 0; font-family:'Inter',sans-serif; font-size:13px; }
    .month-ctx-header { padding:7px 14px 6px; font-size:11px; font-weight:700;
      color:#94a3b8; text-transform:uppercase; letter-spacing:.6px;
      border-bottom:1px solid #f1f5f9; margin-bottom:4px; }
    .month-ctx-item { display:flex; align-items:center; gap:9px; width:100%;
      padding:8px 14px; background:none; border:none; cursor:pointer;
      color:#0f172a; font-size:13px; text-align:left; transition:background .1s; }
    .month-ctx-item:hover { background:#f8fafc; }
    .month-ctx-danger { color:#dc2626; }
    .month-ctx-danger:hover { background:#fff1f2; }
    .month-ctx-icon { font-size:14px; width:18px; text-align:center; }
    .month-ctx-sep { height:1px; background:#f1f5f9; margin:4px 0; }
    .deal-stat-row { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:20px; }
    .deal-mini-stat { background:#fff; border:1px solid var(--border); border-radius:10px; padding:12px 18px; min-width:100px; }
    .deal-mini-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); margin-bottom:4px; }
    .deal-mini-val { font-size:24px; font-weight:800; color:#0f1923; line-height:1; }
    .deal-mini-val.green { color:var(--success); }
    .deal-mini-val.yellow { color:#d97706; }
    .deal-mini-val.red { color:var(--danger); }
    .deals-formula-bar {
      display:flex; align-items:center; gap:0; margin-bottom:6px;
      background:#fff; border:1.5px solid #e2e8f0; border-radius:8px;
      height:32px; overflow:visible; font-family:monospace; font-size:12.5px;
    }
    .dfb-cell-ref {
      min-width:60px; text-align:center; padding:0 8px;
      font-weight:700; color:#6c47d4; border-right:1.5px solid #e2e8f0;
      background:#f5f3ff; white-space:nowrap; line-height:32px; flex-shrink:0;
    }
    .dfb-sep {
      padding:0 10px; color:#94a3b8; font-weight:700; font-size:13px;
      border-right:1.5px solid #e2e8f0; line-height:32px; flex-shrink:0;
      background:#fafafa; font-style:italic;
    }
    .dfb-override-badge {
      display:none; align-items:center; padding:0 8px; font-size:10px;
      font-weight:700; color:#b45309; background:#fef3c7;
      border-right:1.5px solid #fde68a; white-space:nowrap; line-height:32px;
      flex-shrink:0; font-family:sans-serif;
    }
    .dfb-formula {
      flex:1; padding:0 12px; color:#1e1a2e; white-space:nowrap;
      overflow:hidden; text-overflow:ellipsis; line-height:32px;
      border:none; outline:none; background:transparent;
      font-family:monospace; font-size:12.5px; min-width:0;
    }
    .dfb-formula.dfb-is-formula { color:#15803d; font-style:italic; }
    .dfb-formula:not([readonly]) { cursor:text; }
    .dfb-formula:not([readonly]):focus {
      background:#fffbeb; color:#1e1a2e; font-style:normal; border-radius:0;
      outline:2px solid #f59e0b; outline-offset:-2px; position:relative; z-index:1;
    }
    .dfb-clear-btn, .dfb-add-btn {
      display:none; align-items:center; padding:0 10px; height:100%;
      border:none; border-left:1.5px solid #e2e8f0; background:#fafafa;
      font-size:11px; font-weight:700; cursor:pointer; white-space:nowrap;
      flex-shrink:0; transition:background .12s;
    }
    .dfb-clear-btn { color:#dc2626; }
    .dfb-clear-btn:hover { background:#fee2e2; }
    .dfb-add-btn { color:#6c47d4; display:inline-flex !important; }
    .dfb-add-btn:hover { background:#f5f3ff; }

    /* New column modal */
    #dfb-col-modal { position:fixed; inset:0; z-index:60000; display:flex;
      align-items:center; justify-content:center; opacity:0; transition:opacity .2s; }
    #dfb-col-modal.open { opacity:1; }
    .dfb-modal-overlay { position:absolute; inset:0; background:rgba(15,10,40,.45); }
    .dfb-modal-box { position:relative; z-index:1; background:#fff; border-radius:14px;
      width:420px; box-shadow:0 20px 60px rgba(0,0,0,.22); overflow:hidden; }
    .dfb-modal-hd { background:#2d1f6e; color:#fff; padding:14px 18px;
      font-size:13px; font-weight:700; }
    .dfb-modal-body { padding:18px; display:flex; flex-direction:column; gap:8px; }
    .dfb-modal-body label { font-size:10px; font-weight:700; color:#64748b;
      text-transform:uppercase; letter-spacing:.4px; }
    .dfb-modal-body input, .dfb-modal-body textarea { padding:8px 12px;
      border:1.5px solid #e2e8f0; border-radius:8px; font-size:12.5px; font-family:monospace;
      color:#1e1a2e; background:#fff; outline:none; width:100%; box-sizing:border-box;
      resize:vertical; }
    .dfb-modal-body input:focus, .dfb-modal-body textarea:focus { border-color:#6c47d4; }
    .dfb-col-hint { font-size:10px; color:#94a3b8; line-height:1.5; font-family:sans-serif; }
    .dfb-modal-ft { padding:12px 18px; display:flex; gap:10px; justify-content:flex-end;
      border-top:1px solid #f1f5f9; }
    .dfb-modal-cancel { padding:8px 18px; border:1.5px solid #e2e8f0; border-radius:8px;
      background:#fff; color:#64748b; font-size:12px; font-weight:600; cursor:pointer; }
    .dfb-modal-save { padding:8px 18px; border:none; border-radius:8px;
      background:#2d1f6e; color:#fff; font-size:12px; font-weight:700; cursor:pointer; }
    .dfb-modal-save:hover { opacity:.88; }

    /* ── Formula bar wrapper (positions the Σ panel) ─────────── */
    .dfb-bar-wrap { position:relative; }

    /* ── Σ Function browser button ───────────────────────────── */
    .dfb-fn-btn { padding:4px 9px; border:1.5px solid #c4b5fd; border-radius:6px;
      background:#f5f3ff; color:#6c47d4; font-size:12px; font-weight:700;
      cursor:pointer; transition:background .15s; white-space:nowrap; flex-shrink:0; }
    .dfb-fn-btn:hover { background:#ede9fe; }
    .dfb-fn-btn.active { background:#ede9fe; border-color:#7c3aed; }

    /* ── Function browser panel ──────────────────────────────── */
    .dfb-fn-panel { position:absolute; top:calc(100% + 4px); right:0;
      width:420px; max-width:96vw; background:#fff; border:1.5px solid #e2e8f0;
      border-radius:12px; box-shadow:0 8px 32px rgba(0,0,0,.16);
      z-index:50001; display:none; flex-direction:column;
      font-family:'Inter',sans-serif; }
    .dfb-fn-panel.open { display:flex; }
    .dfb-fn-inner { overflow-y:auto; max-height:400px; padding:12px; display:flex;
      flex-direction:column; gap:10px; }
    .dfb-fn-inner::-webkit-scrollbar { width:5px; }
    .dfb-fn-inner::-webkit-scrollbar-thumb { background:#e2e8f0; border-radius:3px; }

    .dfb-fn-section-title { font-size:9px; font-weight:800; text-transform:uppercase;
      letter-spacing:.8px; color:#94a3b8; padding:2px 0 4px; }

    /* Quick-access row */
    .dfb-fn-quick-row { display:flex; flex-wrap:wrap; gap:5px; }
    .dfb-fn-quick { padding:4px 10px; border:1.5px solid #e2e8f0; border-radius:20px;
      font-size:11px; font-weight:700; color:#4c1d95; background:#f5f3ff;
      cursor:pointer; transition:background .12s, border-color .12s; }
    .dfb-fn-quick:hover { background:#ede9fe; border-color:#a78bfa; }

    .dfb-fn-divider { height:1px; background:#f1f5f9; margin:2px 0; }

    /* Category sections */
    .dfb-fn-cat-title { font-size:9px; font-weight:800; text-transform:uppercase;
      letter-spacing:.8px; color:#6c47d4; padding:4px 0 3px; }

    /* Function rows */
    .dfb-fn-row { display:grid; grid-template-columns:110px 1fr;
      gap:6px 10px; padding:5px 8px; border-radius:7px; cursor:pointer;
      transition:background .1s; align-items:start; }
    .dfb-fn-row:hover { background:#f8f7ff; }
    .dfb-fn-name { font-size:11px; font-weight:700; color:#2d1f6e; font-family:monospace; }
    .dfb-fn-syntax { font-size:10px; color:#6c47d4; font-family:monospace;
      line-height:1.3; margin-bottom:2px; }
    .dfb-fn-desc { font-size:10px; color:#64748b; line-height:1.4;
      grid-column:1/-1; padding-left:2px; }

    /* Field reference chips */
    .dfb-field-chips { display:flex; flex-wrap:wrap; gap:4px; padding:4px 0; }
    .dfb-field-chip { padding:3px 8px; border:1px solid #e2e8f0; border-radius:5px;
      font-size:10px; font-family:monospace; color:#0f172a; background:#f8fafc;
      cursor:pointer; transition:background .1s; }
    .dfb-field-chip:hover { background:#f1f5f9; border-color:#cbd5e1; }

    .dfb-fn-notice { font-size:10px; color:#94a3b8; padding:6px 8px;
      border-top:1px solid #f1f5f9; text-align:center; }

    .deal-filters { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:18px; }
    .deal-filters select { width:auto; min-width:150px; }
    .ds-FUNDED          { background:#dcfce7; color:#15803d; }
    .ds-PENDING         { background:#fef9c3; color:#a16207; }
    .ds-RETURN          { background:#fee2e2; color:#dc2626; }
    .ds-TOTAL_LOSS      { background:#fce7f3; color:#9d174d; }
    .ds-NOT_PAID_RETURN { background:#ffedd5; color:#c2410c; }
    .ds-SWITCH          { background:#dbeafe; color:#1d4ed8; }
    .ds-CHANGE_CAR      { background:#ede9fe; color:#6d28d9; }
    .ds-WARRANTY_CANCEL { background:#e0f2fe; color:#0369a1; }
    .ds-GAP_CANCEL      { background:#f1f5f9; color:#475569; }
    .fs-OK                  { background:#dcfce7; color:#15803d; }
    .fs-MISSING             { background:#fee2e2; color:#dc2626; }
    .fs-WAITING_RETURN_FORM { background:#fef9c3; color:#a16207; }
    .deal-inline-sel { font-size:10.5px; font-weight:700; border:none; border-radius:20px; padding:3px 20px 3px 9px; cursor:pointer; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 5px center; text-transform:uppercase; letter-spacing:.3px; }
    .deal-inline-sel:focus { outline:2px solid #3b82f6; outline-offset:1px; }
    .appr-btn { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:6px; cursor:pointer; border:none; font-size:13px; transition:background .15s; line-height:1; }
    .appr-yes { background:#dcfce7; color:#15803d; }
    .appr-no  { background:#fee2e2; color:#dc2626; }
    .nav-on   { background:#dbeafe; color:#1d4ed8; }
    .nav-off  { background:#f1f5f9; color:#94a3b8; }
    .wl-exc-btn { font-size:9px; font-weight:800; border:none; border-radius:5px; padding:2px 5px; cursor:pointer; margin-left:4px; letter-spacing:.4px; text-transform:uppercase; transition:all .15s; vertical-align:middle; }
    .wl-on  { background:#fed7aa; color:#c2410c; }
    .wl-off { background:#f1f5f9; color:#94a3b8; border:1px solid #e2e8f0; }
    .apr-chip     { display:inline-block; background:#dbeafe; color:#1d4ed8; padding:2px 7px; border-radius:10px; font-size:11px; font-weight:700; }
    .penalty-chip { display:inline-block; background:#fee2e2; color:#dc2626; padding:2px 7px; border-radius:10px; font-size:11px; font-weight:700; }
    .deal-row-warn > td { background:#fffbeb; }
    .deal-row-red  > td { background:#fff5f5; }
    .deal-row-warn:hover > td { background:#fef3c7; }
    .deal-row-red:hover  > td { background:#fee2e2; }
    .pend-warn   { display:inline-block; font-size:9px; font-weight:700; padding:1px 5px; border-radius:8px; }
    .pend-yellow { background:#fef9c3; color:#a16207; }
    .pend-danger { background:#fee2e2; color:#dc2626; }
    .deal-modal-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    .deal-modal-full { grid-column:1/-1; }
    /* Inline deal row editing */
    .deal-inp { display:block; width:100%; height:36px; border:none; outline:none; padding:0 8px; font-size:13px; font-family:inherit; background:transparent; color:#1e293b; }
    .deal-inp:focus { background:#eff6ff; box-shadow:inset 0 0 0 2px #3b82f6; border-radius:3px; }
    .deal-inp-date { font-size:12px; padding:0 4px; }
    .deal-inp-num  { text-align:right; font-variant-numeric:tabular-nums; }
    .deal-sel { display:block; width:100%; height:36px; border:none; outline:none; padding:0 6px; font-size:13px; font-family:inherit; background:transparent; color:#1e293b; appearance:none; -webkit-appearance:none; cursor:pointer; }
    .deal-sel:focus { background:#eff6ff; border-radius:3px; outline:2px solid #3b82f6; }
    .deal-td-center { text-align:center; padding:0 2px; }
    .deal-notes-row td { padding:10px 20px !important; background:#f8fafc; border-top:1px dashed #e2e8f0; }
    .deal-rn { background:#f8fafc; color:#94a3b8; font-size:11px; font-weight:600; text-align:center; width:40px; min-width:40px; border-right:1px solid #e2e8f0; user-select:none; }
    .deal-save-status { font-size:11px; font-weight:600; }
    .dss-saving  { color:#94a3b8; }
    .dss-saved   { color:var(--success); }
    .dss-unsaved { color:var(--accent); }
    .dss-error   { color:var(--danger); }

    /* ── Import page ── */
    .import-wrap { padding:24px; max-width:1200px; }
    .import-controls { display:flex; align-items:flex-start; gap:16px; margin-bottom:20px; flex-wrap:wrap; }
    .import-controls select { padding:8px 12px; border:1px solid #d1d5db; border-radius:6px; font-size:13px; }
    .imp-drop-zone { border:2px dashed #d1d5db; border-radius:10px; padding:32px 40px; text-align:center; color:#6b7280; cursor:pointer; transition:border-color .2s,background .2s; min-width:280px; }
    .imp-drop-zone p { margin:10px 0 6px; font-size:13px; }
    .imp-drop-zone span { font-size:12px; color:#9ca3af; }
    .imp-drop-zone.drag-over { border-color:var(--primary); background:#eff6ff; }
    .imp-status { font-size:14px; font-weight:600; margin-bottom:12px; min-height:20px; }
    .imp-progress { font-size:13px; color:#6b7280; margin-top:12px; }
    .import-preview-table { border-collapse:collapse; font-size:11px; width:max-content; }
    .import-preview-table th { background:#374151; color:#fff; padding:4px 6px; border:1px solid #4b5563; white-space:nowrap; text-align:left; top:0; position:sticky; }
    .import-preview-table td { padding:2px 6px; border:1px solid #e5e7eb; white-space:nowrap; }
    .import-preview-table tbody tr:hover td { filter:brightness(0.94); }
    #imp-preview { margin-bottom:16px; }

    /* ── Header-map preview (F3 — önizlemeli import) ─────────────────────── */
    .imp-grid2 { display:grid; grid-template-columns:1fr 320px; gap:14px; align-items:start; margin-bottom:16px; }
    @media (max-width:1000px){ .imp-grid2 { grid-template-columns:1fr; } }
    .imp-card { background:#fff; border:1px solid #e2dcf2; border-radius:12px; overflow:hidden; box-shadow:0 4px 14px rgba(30,20,55,.06); margin-bottom:14px; }
    .imp-card-hd { padding:10px 16px; font-size:13px; font-weight:800; background:#f6f5fb; color:#1e293b; border-bottom:1px solid #e2dcf2; display:flex; justify-content:space-between; align-items:center; gap:10px; }
    .imp-card-hd .imp-sum { font-size:11.5px; font-weight:700; color:#475569; }
    .imp-hmap { border-collapse:collapse; width:100%; font-size:12px; }
    .imp-hmap th { background:#ede9fe; color:#4c1d95; padding:7px 10px; text-align:left; font-size:11px; letter-spacing:.02em; border-bottom:1px solid #ddd6fe; }
    .imp-hmap td { padding:6px 10px; border-bottom:1px solid #f1f0f7; vertical-align:middle; }
    .imp-hmap tr:hover td { background:#faf9ff; }
    .imp-st { display:inline-block; border-radius:10px; padding:1px 9px; font-size:10.5px; font-weight:800; white-space:nowrap; }
    .imp-st.ok   { background:#dcfce7; color:#166534; }
    .imp-st.mv   { background:#dbeafe; color:#1e40af; }
    .imp-st.warn { background:#fef9c3; color:#854d0e; }
    .imp-st.skip { background:#f1f5f9; color:#64748b; }
    .imp-mono { font-family:ui-monospace, Menlo, monospace; font-size:11px; color:#334155; }
    .imp-dim  { color:#94a3b8; }
    .imp-lock { padding:10px 16px; font-size:12px; color:#991b1b; background:#fef2f2; border-top:1px solid #fecaca; line-height:1.55; }
    .imp-lock.ok { color:#166534; background:#f0fdf4; border-top-color:#bbf7d0; }
    .imp-oldbox .imp-card-hd { background:#fee2e2; color:#991b1b; }
    .imp-oldbox td, .imp-oldbox th { font-size:11px; }
    .imp-oldbox .red { color:#cc0000; font-weight:700; }
    .imp-legend td { font-size:11.5px; }

    /* ── Saved backups panel ─────────────────────────────────────────────── */
    .imp-backups { margin-top:22px; border-top:1px solid #e2dcf2; padding-top:14px; }
    .imp-backups-hd { font-size:13px; font-weight:800; color:#1e293b; margin-bottom:10px; display:flex; align-items:center; gap:10px; }
    .imp-bk-refresh { border:1px solid #d6cfec; background:#fff; color:#4c1d95; border-radius:8px; width:26px; height:26px; cursor:pointer; font-size:14px; line-height:1; }
    .imp-bk-refresh:hover { background:#f6f5fb; }
    .imp-bk-empty { font-size:12.5px; color:#94a3b8; padding:8px 2px; }
    .imp-bk-table { font-size:12px; }
    .imp-bk-table th { background:#f1f0f9; color:#3b3357; }
    .imp-bk-btn { border:1px solid #d6cfec; background:#fff; border-radius:7px; padding:3px 9px; font-size:11px; font-weight:700; cursor:pointer; margin-left:5px; }
    .imp-bk-btn.restore { color:#166534; border-color:#bbf7d0; background:#f0fdf4; }
    .imp-bk-btn.restore:hover { background:#dcfce7; }
    .imp-bk-btn.del { color:#991b1b; border-color:#fecaca; background:#fef2f2; }
    .imp-bk-btn.del:hover { background:#fee2e2; }

/* ── .dtx — Adam onaylı dashboard tablo ailesi (2026-09-05, _dash-tables-demo) ──
   Kompakt sabit genişlik, renkli grup başlıkları, dış çerçeve, altın TOTAL. */
.dtx { width:auto; border-collapse:collapse; font-size:11.5px;
  font-variant-numeric:tabular-nums; border:2px solid #97a4b6; }
.dtx th.grp { color:#fff; font-size:12px; font-weight:800; letter-spacing:.06em;
  height:30px; padding:0 12px; border-bottom:2px solid #9aa7b8; text-align:center; }
.dtx td { text-align:center; padding:0 10px; height:28px;
  border-bottom:1px solid #e0e5ee; white-space:nowrap; }
.dtx td.ent { padding:0 12px; }
.dtx .pillf { display:inline-block; padding:2px 10px; border-radius:10px;
  font-size:11px; font-weight:700; }
.dtx .v { font-size:12px; font-weight:800; }
.dtx tr.tot .v, .dtx td.gold .v { font-size:13.5px; }
.dtx .vs { font-size:10px; color:#94a3b8; }
.dtx .z { color:#cbd5e1; font-weight:600; }
.dtx .ntot { font-size:10px; color:#94a3b8; font-weight:800; margin-left:5px; }
.dtx .sepl { border-left:2px solid #97a4b6 !important; }
.dtx tr.tot td { border-top:2px solid #97a4b6; border-bottom:none; font-weight:800; }
.dtx td.gold { background:#faf4e2; }
.dtx td.blue { background:#eaf1fb; }
.dtx td.gray { background:#f0f2f5; }
.dtx .badge { display:inline-block; padding:2px 9px; border-radius:9px;
  font-size:10.5px; font-weight:800; letter-spacing:.03em; }
.dtx-flex { display:flex; gap:22px; flex-wrap:wrap; }
.dtx-wrap { overflow-x:auto; }
/* Sol-üst köşe rozeti — kartın köşesine gömülü (Adam 2026-09-07) */
.dtx-let { position:absolute; top:0; left:0; display:flex; align-items:center;
  justify-content:center; width:16px; height:16px;
  border-radius:11px 0 6px 0; background:#64748b; color:#fff;
  font-size:9px; font-weight:800; }
