:root{--color-bg:#f4f5f7;--color-surface:#fff;--color-border:#dfe3e8;--color-text:#1f2933;--color-text-muted:#6b7280;--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-danger:#dc2626;--color-danger-bg:#fef2f2;--color-success:#15803d;--color-success-bg:#dcfce7;--color-warning:#92400e;--color-warning-bg:#fef3c7;--table-header-bg:#f9fafb;--row-hover-bg:#f9fafb;--sidebar-bg:#111827;--sidebar-text:#d1d5db;--sidebar-text-active:#fff;--sidebar-accent:#2563eb;--sidebar-group-label:#6b7280;--overlay-bg:#0f111780;--radius:6px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}:root[data-theme=dark]{--color-bg:#0f1117;--color-surface:#1a1d27;--color-border:#2d313d;--color-text:#e5e7eb;--color-text-muted:#9199a8;--color-primary:#3b82f6;--color-primary-dark:#60a5fa;--color-danger:#f87171;--color-danger-bg:#3f1d1d;--color-success:#4ade80;--color-success-bg:#14301f;--color-warning:#fbbf24;--color-warning-bg:#3f2d0f;--table-header-bg:#20242f;--row-hover-bg:#20242f;--sidebar-bg:#0a0c11;--sidebar-text:#b8bfcc;--sidebar-text-active:#fff;--sidebar-accent:#3b82f6;--sidebar-group-label:#6b7280;--overlay-bg:#000000a6}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);font-size:14px}button,input,select{font-family:inherit;font-size:inherit}h1{margin:0 0 16px;font-size:20px}.login-page{background:linear-gradient(160deg,#111827,#1f2933);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-surface);border-radius:10px;width:320px;padding:32px;box-shadow:0 20px 40px #00000040}.login-card h1{margin-bottom:4px;font-size:18px}.login-subtitle{color:var(--color-text-muted);margin:0 0 20px;font-size:13px}.field{flex-direction:column;gap:4px;margin-bottom:14px;font-size:13px;display:flex}.field span{color:var(--color-text-muted);font-weight:600}.field input,.field select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);outline:none;padding:8px 10px}.field input:focus,.field select:focus{border-color:var(--color-primary)}.field-hint{color:var(--color-text-muted);font-size:12px}.password-field{gap:6px;display:flex}.password-field input{flex:1}.password-toggle{border-radius:var(--radius);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;padding:0 12px;font-size:12px}.password-toggle:hover{background:var(--color-bg)}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;padding:9px 16px;font-weight:600}.btn-primary{background:var(--color-primary);color:#fff;width:100%}.btn-primary:hover{background:var(--color-primary-dark)}.btn-secondary{border-color:var(--color-border);color:var(--color-text);background:0 0}.btn-secondary:hover{background:var(--color-bg)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-small{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.6;cursor:not-allowed}.alert{border-radius:var(--radius);margin-bottom:14px;padding:10px 12px;font-size:13px}.alert-error{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger)}.alert-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success)}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);width:240px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;max-height:100vh;padding:20px 0;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{color:#fff;padding:0 20px 20px;font-size:15px;font-weight:700}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.nav-link{width:100%;color:var(--sidebar-text);white-space:normal;overflow-wrap:break-word;border-left:3px solid #0000;padding:10px 20px;font-size:13px;line-height:1.35;text-decoration:none;display:block}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link.active{color:var(--sidebar-text-active);border-left-color:var(--sidebar-accent);background:#2563eb33}.nav-group{flex-direction:column;display:flex}.nav-link-sub{padding-left:32px;padding-right:16px;font-size:12.5px}.nav-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--sidebar-group-label);padding:14px 20px 4px;font-size:11px}.main-column{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex}.topbar-left,.topbar-right{align-items:center;gap:12px;display:flex}.theme-toggle-btn{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;line-height:1;display:flex}.theme-toggle-btn:hover{background:var(--color-bg)}.user-menu{position:relative}.user-menu-trigger{border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:5px 8px;display:flex}.user-menu-trigger:hover{border-color:var(--color-border)}.user-email{color:var(--color-text-muted);font-size:13px}.role-badge{color:#374151;text-transform:uppercase;letter-spacing:.03em;background:#e5e7eb;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.role-badge.role-super_admin{color:#6d28d9;background:#ede9fe}.role-badge.role-admin{color:#1d4ed8;background:#dbeafe}.role-badge.role-personel{color:#15803d;background:#dcfce7}.user-menu-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);z-index:20;min-width:180px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 10px 24px #00000026}.user-menu-item{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:10px 14px;font-size:13px;display:block}.user-menu-item:hover{background:var(--color-bg)}.tenant-selector{color:var(--color-text-muted);align-items:center;gap:6px;font-size:13px;display:flex}.tenant-selector select{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:5px 8px}.tenant-selector-loading{color:var(--color-text-muted);font-size:12px}.content{flex:1;padding:24px;overflow:auto}.modal-overlay{background:var(--overlay-bg);z-index:50;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-surface);border-radius:10px;width:420px;max-width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 24px 48px #0000004d}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h2{margin:0;font-size:16px}.modal-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:20px;line-height:1}.modal-close:hover{color:var(--color-text)}.modal-body{padding:20px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.confirm-message{color:var(--color-text);margin:0 0 4px;font-size:13px}.placeholder-page{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-align:center;padding:40px}.placeholder-badge{color:#92400e;background:#fef3c7;border-radius:999px;margin-bottom:12px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.placeholder-note{color:var(--color-text-muted);font-size:13px}.page-loading{color:var(--color-text-muted);padding:20px 0}.empty-state{color:var(--color-text-muted)}.definition-form{max-width:640px}.form-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:16px;padding:20px}.form-section h2{margin:0 0 14px;font-size:15px}.form-section h3{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin:18px 0 10px;padding-top:14px;font-size:13px}.tag-list{flex-wrap:wrap;gap:6px;margin:4px 0 8px;display:flex}.tag-list-empty{color:var(--color-text-muted);font-size:12px}.tag-chip{background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:6px;padding:3px 6px 3px 10px;font-size:12px;display:inline-flex}.tag-chip button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.tag-chip button:hover{color:var(--color-danger)}.tag-input-row{gap:6px;display:flex}.tag-input-row input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);flex:1;padding:8px 10px}.tier-editor{margin:6px 0 10px}.tier-table{margin-bottom:8px}.tier-table input,.tier-table select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);width:100%;padding:6px 8px}.tier-row-error{color:var(--color-danger);margin-top:3px;font-size:11px}.tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:4px;margin-bottom:20px;display:flex}.tab-button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:9px 14px;font-size:13px;font-weight:600}.tab-button:hover{color:var(--color-text)}.tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.settings-tab-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-width:480px;padding:20px}.dry-run-control{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);padding:12px}.dry-run-badge{border-radius:var(--radius);margin:6px 0 10px;padding:8px 10px;font-size:13px;font-weight:600}.dry-run-badge.dry-run-on{background:var(--color-success-bg);color:var(--color-success)}.dry-run-badge.dry-run-off{background:var(--color-danger-bg);color:var(--color-danger)}.token-status{align-items:center;gap:10px;margin:4px 0;display:flex}.token-cancel{margin-top:6px}.inline-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-width:420px;margin-bottom:20px;padding:20px}.inline-form h2{margin:0 0 14px;font-size:15px}.field-checkbox{flex-direction:row;align-items:center;gap:8px}.field-checkbox input{width:auto}.test-result{margin-top:6px;font-size:12px}.telegram-chat-id-field{margin-bottom:14px}.telegram-test-row{align-items:center;gap:10px;margin-top:4px;display:flex}.test-result-ok{color:var(--color-success)}.test-result-fail{color:var(--color-danger)}.search-bar{margin-bottom:12px}.search-bar input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);width:280px;max-width:100%;padding:8px 10px}.bulk-actions{align-items:center;gap:8px;margin-bottom:8px;display:flex}.bulk-actions-label{color:var(--color-text-muted);margin-right:4px;font-size:13px}.pagination{align-items:center;gap:12px;margin-top:12px;display:flex}.pagination-info{color:var(--color-text-muted);font-size:12px}.pagination-page-size{color:var(--color-text-muted);align-items:center;gap:6px;margin-right:auto;font-size:12px;display:flex}.pagination-page-size select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);padding:4px 8px;font-size:12px}.mismatch-expand-toggle{text-align:center;width:20px;color:var(--color-text-muted)}.mismatch-detail-row td{background:var(--table-header-bg);padding:16px 20px}.mismatch-detail-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:12px;display:grid}.mismatch-detail-col h4{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);margin:0 0 6px;font-size:12px}.mismatch-detail-col p{white-space:pre-wrap;margin:0;font-size:13px}@media (width<=720px){.mismatch-detail-grid{grid-template-columns:1fr}}.page-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.page-header h1{margin:0}.page-description{color:var(--color-text-muted);max-width:720px;margin:-8px 0 16px;font-size:13px}.reject-reason-rows{flex-direction:column;gap:16px;display:flex}.reject-reason-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:16px 20px;display:flex}.reject-reason-row-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reject-reason-row-header h3{margin:0;font-size:14px}.reject-reason-code{color:var(--color-text-muted);background:var(--table-header-bg);border-radius:var(--radius);padding:2px 8px;font-size:11px}.reject-reason-textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;min-height:60px;color:var(--color-text);resize:vertical;padding:8px 10px;font-family:inherit;font-size:13px}.char-counter{margin-top:-2px}.char-counter-over{color:var(--color-danger);font-weight:600}.table-meta{color:var(--color-text-muted);margin:0 0 10px;font-size:12px}.data-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:10px 14px;font-size:13px}.data-table th{background:var(--table-header-bg);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--row-hover-bg)}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.state-pill{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.state-pill.state-active{background:var(--color-success-bg);color:var(--color-success)}.state-pill.state-inactive{color:#6b7280;background:#f3f4f6}:root[data-theme=dark] .state-pill.state-inactive{color:#9199a8;background:#262a35}.force-manual-badge{background:var(--color-danger-bg);color:var(--color-danger);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.name-collision-badge{cursor:help}.status-badges{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.status-badge{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:100px;padding:10px 16px}.status-badge-count{font-size:20px;font-weight:700;display:block}.status-badge-label{color:var(--color-text-muted);font-size:12px;display:block}.status-pill{color:#374151;background:#e5e7eb;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.status-pill.status-manual,.status-badge.status-manual .status-badge-count{color:#b45309}.status-pill.status-manual{background:#fef3c7}.status-pill.status-approved,.status-badge.status-approved .status-badge-count{color:#15803d}.status-pill.status-approved{background:#dcfce7}.status-pill.status-rejected,.status-badge.status-rejected .status-badge-count{color:#b91c1c}.status-pill.status-rejected{background:#fee2e2}.status-pill.status-error,.status-badge.status-error .status-badge-count{color:#b91c1c}.status-pill.status-error{background:#fee2e2}.status-pill.status-waiting,.status-badge.status-waiting .status-badge-count{color:#a16207}.status-pill.status-waiting{background:#fef9c3}.status-pill.status-processing,.status-pill.status-pending{color:#3730a3;background:#e0e7ff}.status-bg-manual{background:#b45309}.status-bg-approved{background:#15803d}.status-bg-rejected{background:#b91c1c}.status-bg-error{background:#991b1b}.status-bg-waiting{background:#a16207}.status-bg-processing,.status-bg-pending{background:#3730a3}.queue-filter-bar{flex-wrap:wrap;align-items:flex-end;gap:14px;margin:14px 0 18px;display:flex}.queue-filter-bar .field{margin-bottom:0}.status-badge-clickable{cursor:pointer;text-align:left;border:2px solid #0000;font-family:inherit}.status-badge-clickable.status-badge-selected{border-color:var(--color-primary)}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--row-hover-bg)}.detail-grid{grid-template-columns:200px 1fr;gap:8px 12px;margin:0;display:grid}.detail-grid dt{color:var(--color-text-muted);font-size:12px;font-weight:600}.detail-grid dd{margin:0;font-size:13px}.summary-status-label{margin:0 0 12px;font-size:14px;font-weight:700}.reason-list{margin-bottom:16px}.reason-list h3{margin:0 0 6px;font-size:13px}.reason-list ul{margin:0;padding-left:20px;font-size:13px}.technical-detail{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);max-height:400px;margin-top:12px;padding:12px;font-size:12px;overflow-x:auto}.report-range-bar{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:14px 0 18px;display:flex}.report-range-bar .field{margin-bottom:0}.summary-cards{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.summary-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);min-width:140px;padding:12px 18px}.summary-card-value{font-size:20px;font-weight:700;display:block}.summary-card-label{color:var(--color-text-muted);font-size:12px;display:block}.summary-card-highlight{border-color:var(--color-primary);border-width:2px}.summary-card-highlight .summary-card-value{color:var(--color-primary);font-size:28px}.shadow-badge{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning);border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.daily-chart-bars{align-items:flex-end;gap:3px;height:160px;padding-bottom:4px;display:flex;overflow-x:auto}.daily-chart-column{flex-direction:column;align-items:center;min-width:18px;height:100%;display:flex}.daily-chart-bar{background:var(--color-bg);border-radius:2px;flex-direction:column-reverse;flex:1;justify-content:flex-start;width:14px;display:flex;overflow:hidden}.daily-chart-segment{width:100%}.daily-chart-label{color:var(--color-text-muted);writing-mode:vertical-rl;white-space:nowrap;margin-top:4px;font-size:9px;transform:rotate(180deg)}.daily-chart-legend{flex-wrap:wrap;gap:12px;margin-top:10px;display:flex}.daily-chart-legend-item{color:var(--color-text-muted);align-items:center;gap:5px;font-size:12px;display:inline-flex}.daily-chart-legend-swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.setup-checklist{margin:0 0 14px;padding:0;list-style:none}.setup-checklist-item{border-bottom:1px solid var(--color-border);padding:10px 0}.setup-checklist-item:last-child{border-bottom:none}.setup-checklist-item a{color:var(--color-primary);font-size:14px;font-weight:600;text-decoration:none}.setup-checklist-item a:hover{text-decoration:underline}.setup-checklist-item .field-hint{margin:4px 0 0}.setup-checklist-critical{background:var(--color-danger-bg);color:var(--color-danger);letter-spacing:.03em;vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.help-intro{color:var(--color-text-muted);margin:0 0 16px}.help-toc{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:20px;padding:16px 20px}.help-toc-title{margin-bottom:8px;font-size:13px;font-weight:700;display:block}.help-toc ul{columns:2;margin:0;padding-left:20px}.help-toc a{color:var(--color-primary);font-size:13px;text-decoration:none}.help-toc a:hover{text-decoration:underline}.help-section{max-width:720px}.help-steps{padding-left:20px}.help-steps li{margin-bottom:8px}.help-status-dict{margin:0}.help-status-dict dt{margin:10px 0 4px}.help-status-dict dd{color:var(--color-text-muted);margin:0 0 4px;font-size:13px}.help-rule-list{padding-left:20px}.help-rule-list li{margin-bottom:8px}.help-faq dt{margin-top:12px;font-size:13px;font-weight:700}.help-faq dd{color:var(--color-text-muted);margin:4px 0 0;font-size:13px}
