/* ══════════════════════════════════════════════════════════════
   COMPONENTS — STATUS & ANIMATIONS
   ══════════════════════════════════════════════════════════════ */

/* Status dots */
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.dot-actif{background:var(--success);}
.dot-cours{background:var(--primary);}
.dot-veille{background:var(--text-faint);}
.dot-erreur{background:var(--error);}

@keyframes pulse-g{0%,100%{box-shadow:0 0 0 0 color-mix(in oklch,var(--success) 60%,transparent),0 0 6px color-mix(in oklch,var(--success) 40%,transparent);}60%{box-shadow:0 0 0 6px transparent,0 0 8px transparent;}}
@keyframes pulse-b{0%,100%{box-shadow:0 0 0 0 color-mix(in oklch,var(--primary) 60%,transparent),0 0 6px color-mix(in oklch,var(--primary) 40%,transparent);}60%{box-shadow:0 0 0 6px transparent,0 0 8px transparent;}}
@keyframes pulse-r{0%,100%{opacity:1;box-shadow:0 0 6px color-mix(in oklch,var(--error) 60%,transparent);}50%{opacity:.5;box-shadow:none;}}

.dot-actif{animation:pulse-g 2.2s ease-in-out infinite;}
.dot-cours{animation:pulse-b 1.6s ease-in-out infinite;}
.dot-erreur{animation:pulse-r 1s ease-in-out infinite;}

/* Skeleton loader */
@keyframes shimmer{0%{background-position:-600px 0}100%{background-position:600px 0}}
.skeleton{background:linear-gradient(90deg,var(--surface-off) 25%,color-mix(in oklch,var(--primary) 6%,var(--surface-2)) 50%,var(--surface-off) 75%);background-size:1200px 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm);}

/* ══════════════════════════════════════════════════════════════
   KPI CARDS
   ══════════════════════════════════════════════════════════════ */

.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;border-top:2px solid var(--primary);}
.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;}
.kpi-label{font-size:12px;font-weight:500;color:var(--text-muted);letter-spacing:.01em;}
.kpi-icon{width:28px;height:28px;border-radius:6px;background:var(--surface-off);display:flex;align-items:center;justify-content:center;color:var(--text-muted);}
.kpi-icon svg{width:14px;height:14px;}
.kpi-value{font-size:26px;font-weight:700;letter-spacing:-.5px;margin-bottom:6px;}
.kpi-delta{font-size:12px;display:flex;align-items:center;gap:4px;}
.kpi-delta svg{width:12px;height:12px;}
.delta-pos{color:var(--success);}
.delta-neg{color:var(--error);}
.delta-neu{color:var(--text-faint);}
.kpi-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;}
.kpi-spark{flex-shrink:0;opacity:.75;}

/* ══════════════════════════════════════════════════════════════
   CARDS
   ══════════════════════════════════════════════════════════════ */

.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 18px;border-bottom:1px solid var(--divider);}
.card-title{font-size:13px;font-weight:600;}
.card-body-flush{padding:0;}

/* Agent mini items */
.agent-mini-item{display:flex;align-items:center;gap:10px;padding:9px 18px;border-bottom:1px solid var(--divider);}
.agent-mini-item:last-child{border-bottom:none;}
.agent-mini-name{font-size:13px;font-weight:500;flex:1;}
.agent-mini-model{font-size:11.5px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;}

/* Activity items */
.activity-item{display:flex;align-items:flex-start;gap:10px;padding:9px 18px;border-bottom:1px solid var(--divider);}
.activity-item:last-child{border-bottom:none;}
.activity-text{flex:1;font-size:12.5px;}
.activity-time{font-size:11px;color:var(--text-faint);font-family:'JetBrains Mono',monospace;white-space:nowrap;}

/* Trend mini items */
.trend-mini-item{display:flex;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--divider);}
.trend-mini-item:last-child{border-bottom:none;}
.trend-rank{font-size:12px;font-weight:700;color:var(--text-faint);width:18px;text-align:center;font-family:'JetBrains Mono',monospace;}
.trend-score-bar{width:80px;height:5px;background:var(--surface-off);border-radius:99px;overflow:hidden;}
.trend-score-fill{height:100%;background:var(--primary);border-radius:99px;}
.trend-score-num{font-size:12px;font-family:'JetBrains Mono',monospace;color:var(--text-muted);width:28px;text-align:right;}
.trend-var-pos{font-size:12px;color:var(--success);font-family:'JetBrains Mono',monospace;}

/* ══════════════════════════════════════════════════════════════
   BADGES
   ══════════════════════════════════════════════════════════════ */

.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:99px;font-size:11.5px;font-weight:500;}
.badge-success{background:var(--success-bg);color:var(--success);}
.badge-error{background:var(--error-bg);color:var(--error);}
.badge-warning{background:var(--warning-bg);color:var(--warning);}
.badge-info{background:var(--info-bg);color:var(--info);}
.badge-neutral{background:var(--surface-off);color:var(--text-muted);}
.badge-primary{background:var(--primary-bg);color:var(--primary);}

/* ══════════════════════════════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════════════════════════════ */

.btn-sm{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;transition:all .15s;border:1px solid var(--border);color:var(--text-muted);}
.btn-sm:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg);}
.btn-sm svg{width:14px;height:14px;}
.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:#fff;border-color:transparent;}
.btn-primary:hover{background:linear-gradient(135deg,var(--primary-hover) 0%,#0e7490 100%);border-color:transparent;color:#fff;filter:brightness(1.05);}

.btn-xs{padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;transition:all .15s;border:1px solid var(--border);color:var(--text-muted);}
.btn-xs:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg);}
.btn-xs-primary{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-color:transparent;}
.btn-xs-primary:hover{filter:brightness(1.1);border-color:transparent;}

.btn-delete{color:var(--error) !important;border-color:color-mix(in oklch,var(--error) 35%,transparent) !important;background:var(--error-bg) !important;}
.btn-delete:hover{background:var(--error) !important;color:#fff !important;border-color:var(--error) !important;}

/* Agent action buttons */
.btn-agent-action{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;transition:all .15s;cursor:pointer;border:1px solid;}
.btn-agent-action svg{width:12px;height:12px;}
.btn-start{background:var(--success-bg);color:var(--success);border-color:color-mix(in oklch,var(--success) 35%,transparent);}
.btn-start:hover{background:var(--success);color:#fff;border-color:var(--success);}
.btn-stop{background:var(--error-bg);color:var(--error);border-color:color-mix(in oklch,var(--error) 35%,transparent);}
.btn-stop:hover{background:var(--error);color:#fff;border-color:var(--error);}
.btn-retry{background:var(--warning-bg);color:var(--warning);border-color:color-mix(in oklch,var(--warning) 35%,transparent);}
.btn-retry:hover{background:var(--warning);color:#fff;border-color:var(--warning);}

/* ══════════════════════════════════════════════════════════════
   AGENTS GRID
   ══════════════════════════════════════════════════════════════ */

.agents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;}
.agent-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;}
.agent-card-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.agent-name{font-size:13.5px;font-weight:600;flex:1;}
.agent-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.agent-stat{background:var(--surface-off);border-radius:var(--radius-sm);padding:8px 10px;}
.agent-stat-label{font-size:10.5px;color:var(--text-faint);margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em;}
.agent-stat-value{font-size:13px;font-weight:600;font-family:'JetBrains Mono',monospace;}
.agent-model-tag{font-size:11px;background:var(--primary-bg);color:var(--primary);border-radius:4px;padding:2px 7px;font-family:'JetBrains Mono',monospace;}
.agent-actions{display:flex;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid var(--divider);}
.agent-card.loading{opacity:.5;pointer-events:none;transition:opacity .2s;}

/* ══════════════════════════════════════════════════════════════
   FILTERS
   ══════════════════════════════════════════════════════════════ */

.filter-bar{display:flex;align-items:center;gap:8px;margin-bottom:18px;flex-wrap:wrap;}
.filter-chip{padding:5px 12px;border-radius:99px;border:1px solid var(--border);font-size:12.5px;font-weight:500;color:var(--text-muted);transition:all .15s;}
.filter-chip:hover{border-color:var(--primary);color:var(--primary);}
.filter-chip.active{background:var(--primary-bg);border-color:var(--primary);color:var(--primary);}

/* ══════════════════════════════════════════════════════════════
   SEARCH
   ══════════════════════════════════════════════════════════════ */

.search-wrap{position:relative;flex:1;max-width:280px;}
.search-wrap input{padding-left:34px;width:100%;background:var(--surface-off);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px 7px 32px;font-size:13px;color:var(--text);outline:none;transition:border-color .15s;}
.search-wrap input:focus{border-color:var(--primary);}
.search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text-muted);pointer-events:none;}

/* ══════════════════════════════════════════════════════════════
   TABLES
   ══════════════════════════════════════════════════════════════ */

.table-wrap{overflow-x:auto;}
.card-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
table{width:100%;border-collapse:collapse;}
thead{position:sticky;top:0;z-index:2;}
th{background:var(--surface-off);font-size:11.5px;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.07em;padding:9px 14px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);}
td{padding:10px 14px;font-size:13px;border-bottom:1px solid var(--divider);vertical-align:middle;}
tr:last-child td{border-bottom:none;}
tr:hover td{background:var(--surface-off);}

/* Sort */
th[data-sort]{cursor:pointer;user-select:none;}
th[data-sort]:hover{color:var(--text);background:color-mix(in oklch,var(--primary) 10%,var(--surface-off));}
.sort-icon{margin-left:5px;font-size:10px;opacity:.4;}
th[data-sort].sort-asc .sort-icon,th[data-sort].sort-desc .sort-icon{opacity:1;color:var(--primary);}

/* Margin bar */
.margin-bar{width:52px;height:5px;background:var(--surface-off);border-radius:99px;overflow:hidden;display:inline-block;vertical-align:middle;margin-left:6px;}
.margin-fill{height:100%;border-radius:99px;}

/* ══════════════════════════════════════════════════════════════
   MODALS
   ══════════════════════════════════════════════════════════════ */

.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);z-index:500;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;width:460px;max-width:92vw;box-shadow:var(--shadow-md);transform:translateY(12px) scale(.97);transition:transform .22s;}
.modal-overlay.open .modal{transform:translateY(0) scale(1);}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.modal-title{font-size:15px;font-weight:600;}
.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--divider);}

/* ══════════════════════════════════════════════════════════════
   FORMS
   ══════════════════════════════════════════════════════════════ */

.form-group{margin-bottom:14px;}
.form-label{display:block;font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.07em;}
.form-input,.form-select{width:100%;background:var(--surface-off);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;color:var(--text);outline:none;transition:border-color .15s;-webkit-appearance:none;}
.form-input:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--primary) 15%,transparent);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.marge-preview{background:var(--primary-bg);border:1px solid color-mix(in oklch,var(--primary) 35%,transparent);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;color:var(--primary);font-weight:500;}

/* ══════════════════════════════════════════════════════════════
   TOASTS
   ══════════════════════════════════════════════════════════════ */

.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none;}
.toast{display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:var(--radius);font-size:13px;font-weight:500;box-shadow:var(--shadow-md);pointer-events:all;opacity:0;transform:translateX(16px);transition:opacity .25s,transform .25s;max-width:320px;border:1px solid;}
.toast.show{opacity:1;transform:translateX(0);}
.toast svg{width:15px;height:15px;flex-shrink:0;}
.toast-success{background:var(--success-bg);color:var(--success);border-color:color-mix(in oklch,var(--success) 40%,transparent);}
.toast-error{background:var(--error-bg);color:var(--error);border-color:color-mix(in oklch,var(--error) 40%,transparent);}
.toast-info{background:var(--primary-bg);color:var(--primary);border-color:color-mix(in oklch,var(--primary) 40%,transparent);}

/* ══════════════════════════════════════════════════════════════
   NOTIFICATIONS
   ══════════════════════════════════════════════════════════════ */

.notif-wrapper{position:relative;}
.notif-badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--error);color:#fff;font-size:9.5px;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:none;line-height:1;border:2px solid var(--surface);}
.notif-badge.hidden{display:none;}
.notif-dropdown{position:absolute;top:calc(100% + 10px);right:-8px;width:330px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);z-index:300;opacity:0;pointer-events:none;transform:translateY(-8px) scale(.97);transition:opacity .2s,transform .2s;}
.notif-dropdown.open{opacity:1;pointer-events:all;transform:translateY(0) scale(1);}
.notif-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);}
.notif-title{font-size:13px;font-weight:600;}
.notif-mark-read{font-size:11.5px;color:var(--primary);cursor:pointer;background:none;border:none;font-weight:500;}
.notif-mark-read:hover{text-decoration:underline;}
.notif-item{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-bottom:1px solid var(--divider);cursor:default;}
.notif-item:last-child{border-bottom:none;}
.notif-item:hover{background:var(--surface-off);}
.notif-item.unread{background:color-mix(in oklch,var(--primary) 6%,var(--surface));}
.notif-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.notif-body{flex:1;min-width:0;}
.notif-text{font-size:12.5px;line-height:1.4;margin-bottom:2px;}
.notif-agent{font-size:11px;color:var(--text-faint);}
.notif-time{font-size:11px;color:var(--text-faint);font-family:'JetBrains Mono',monospace;white-space:nowrap;margin-top:2px;}
.notif-footer{padding:10px 16px;text-align:center;}
.notif-footer button{font-size:12.5px;color:var(--text-muted);}
.notif-footer button:hover{color:var(--primary);}

/* ══════════════════════════════════════════════════════════════
   COMMAND PALETTE
   ══════════════════════════════════════════════════════════════ */

.cmd-overlay{position:fixed;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(5px);z-index:600;display:flex;align-items:flex-start;justify-content:center;padding-top:16vh;opacity:0;pointer-events:none;transition:opacity .18s;}
.cmd-overlay.open{opacity:1;pointer-events:all;}
.cmd-palette{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:530px;max-width:92vw;box-shadow:var(--shadow-md);overflow:hidden;transform:translateY(-10px) scale(.97);transition:transform .2s;}
.cmd-overlay.open .cmd-palette{transform:translateY(0) scale(1);}
.cmd-input-wrap{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);}
.cmd-input-wrap>svg{width:16px;height:16px;color:var(--text-muted);flex-shrink:0;}
.cmd-input{flex:1;background:none;border:none;font-size:14px;color:var(--text);outline:none;}
.cmd-input::placeholder{color:var(--text-faint);}
.cmd-results{max-height:360px;overflow-y:auto;padding:4px 0 6px;}
.cmd-section-label{font-size:10.5px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.09em;padding:10px 16px 4px;}
.cmd-item{display:flex;align-items:center;gap:11px;padding:8px 16px;cursor:pointer;transition:background .08s;}
.cmd-item:hover,.cmd-item.active{background:var(--surface-off);}
.cmd-item.active{background:var(--primary-bg);}
.cmd-icon{width:28px;height:28px;border-radius:6px;background:var(--surface-off);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cmd-icon svg{width:13px;height:13px;color:var(--text-muted);}
.cmd-item-label{font-size:13px;font-weight:500;flex:1;}
.cmd-item-sub{font-size:11.5px;color:var(--text-muted);white-space:nowrap;}
.cmd-footer{display:flex;align-items:center;gap:10px;padding:8px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--text-faint);}
.cmd-footer kbd{background:var(--surface-off);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:10px;font-family:inherit;}
.cmd-empty{padding:28px 16px;text-align:center;color:var(--text-muted);font-size:13px;}
.cmd-hint{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-off);color:var(--text-faint);font-size:12.5px;cursor:pointer;transition:all .15s;}
.cmd-hint:hover{border-color:var(--primary);color:var(--text-muted);}
.cmd-hint svg{width:12px;height:12px;}
.cmd-hint kbd{font-size:10.5px;background:var(--surface);border:1px solid var(--border);padding:1px 5px;border-radius:4px;}

@media(max-width:768px){.cmd-hint{display:none;}}

/* ══════════════════════════════════════════════════════════════
   TABS
   ══════════════════════════════════════════════════════════════ */

.tab-bar{display:flex;border-bottom:1px solid var(--border);margin-bottom:20px;gap:0;}
.tab-btn{padding:9px 20px;font-size:13px;font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;cursor:pointer;transition:all .15s;margin-bottom:-1px;background:none;border-left:none;border-top:none;border-right:none;white-space:nowrap;}
.tab-btn:hover{color:var(--text);}
.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

/* ══════════════════════════════════════════════════════════════
   CHARTS
   ══════════════════════════════════════════════════════════════ */

.chart-container { position: relative; height: 190px; }
.donut-total { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -60%);text-align: center; pointer-events: none; }
.donut-total-num { font-size: 22px; font-weight: 700; line-height: 1; }
.donut-total-lbl { font-size: 11px; color: var(--text-muted); margin-top: 3px; }

/* ══════════════════════════════════════════════════════════════
   PAGE HEADER
   ══════════════════════════════════════════════════════════════ */

.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.page-header-title{font-size:15px;font-weight:600;}
.page-header-sub{font-size:12.5px;color:var(--text-muted);margin-top:1px;}

/* ══════════════════════════════════════════════════════════════
   EMPTY & ERROR STATES
   ══════════════════════════════════════════════════════════════ */

.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 32px;gap:14px;}
.empty-state svg{width:48px;height:48px;color:var(--text-faint);}
.empty-state h3{font-size:15px;font-weight:600;}
.empty-state p{font-size:13px;color:var(--text-muted);max-width:36ch;}
.empty-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px dashed var(--border);border-radius:99px;font-size:12px;color:var(--text-faint);}

.error-banner{background:var(--error-bg);border:1px solid var(--error);border-radius:var(--radius);padding:14px 18px;display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.error-banner svg{width:18px;height:18px;color:var(--error);flex-shrink:0;}
.error-banner span{font-size:13px;color:var(--error);}

/* ══════════════════════════════════════════════════════════════
   TRENDTRACK
   ══════════════════════════════════════════════════════════════ */

.trend-score-cell{display:flex;align-items:center;gap:8px;}
.trend-score-large{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:15px;}
.score-high{color:var(--success);}
.score-med{color:var(--warning);}
.score-low{color:var(--text-muted);}
.trend-bar-bg{width:70px;height:5px;background:var(--surface-off);border-radius:99px;overflow:hidden;}
.trend-bar-inner{height:100%;border-radius:99px;}

/* ══════════════════════════════════════════════════════════════
   LOGS
   ══════════════════════════════════════════════════════════════ */

.logs-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.log-row{display:grid;grid-template-columns:130px 60px 1fr;align-items:start;gap:14px;padding:9px 16px;border-bottom:1px solid var(--divider);font-size:12.5px;}
.log-row:last-child{border-bottom:none;}
.log-row:hover{background:var(--surface-off);}
.log-time{font-family:'JetBrains Mono',monospace;color:var(--text-faint);white-space:nowrap;}
.log-level{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.log-success .log-level{color:var(--success);}
.log-info .log-level{color:var(--info);}
.log-warning .log-level{color:var(--warning);}
.log-error .log-level{color:var(--error);}
.log-text{color:var(--text);}
.log-agent{display:inline-block;margin-left:6px;font-size:11px;color:var(--text-faint);background:var(--surface-off);border-radius:4px;padding:0 5px;}
.log-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface-off);}
.log-toolbar select{font-size:12.5px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;color:var(--text);}
.log-pagination{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--border);background:var(--surface-off);}
.log-page-info{font-size:12px;color:var(--text-muted);}

/* ══════════════════════════════════════════════════════════════
   SAISON BANNER
   ══════════════════════════════════════════════════════════════ */

.saison-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;background:linear-gradient(135deg,rgba(129,140,248,.13) 0%,rgba(99,102,241,.06) 100%);border:1px solid rgba(129,140,248,.28);border-radius:var(--radius);padding:14px 20px;margin-bottom:16px;}
.saison-banner-left{display:flex;align-items:center;gap:14px;}
.saison-banner-icon{font-size:30px;line-height:1;flex-shrink:0;}
.saison-banner-title{font-size:13.5px;font-weight:600;color:var(--text);margin-bottom:3px;}
.saison-banner-sub{font-size:11.5px;color:var(--text-muted);}
.saison-niches{display:flex;gap:6px;flex-wrap:wrap;}
.saison-niche-tag{padding:4px 10px;border-radius:99px;background:rgba(129,140,248,.15);border:1px solid rgba(129,140,248,.3);color:var(--primary);font-size:11.5px;font-weight:600;white-space:nowrap;}

/* ══════════════════════════════════════════════════════════════
   FRISE CHRONOLOGIQUE
   ══════════════════════════════════════════════════════════════ */

.frise-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 16px 18px;margin-bottom:18px;overflow:hidden;}
.frise-title{font-size:12.5px;font-weight:600;color:var(--text-muted);margin-bottom:20px;letter-spacing:.03em;text-transform:uppercase;}
.frise-scroll{overflow-x:auto;padding-bottom:4px;}
.frise-track{display:flex;align-items:flex-start;min-width:960px;position:relative;padding-top:14px;}
.frise-line{position:absolute;top:19px;left:20px;right:20px;height:2px;background:var(--border);z-index:0;border-radius:2px;}
.frise-month{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;z-index:1;}
.frise-dot{width:11px;height:11px;border-radius:50%;background:var(--border);border:2px solid var(--surface-off);margin-bottom:9px;transition:transform .2s;}
.frise-dot-current{background:var(--primary) !important;box-shadow:0 0 0 4px rgba(129,140,248,.22);transform:scale(1.35);}
.frise-dot-next{background:var(--warning) !important;box-shadow:0 0 0 3px rgba(251,191,36,.18);transform:scale(1.2);}
.frise-month-past .frise-dot{background:var(--text-faint);}
.frise-month-label{font-size:10px;font-weight:600;color:var(--text-muted);text-align:center;white-space:nowrap;margin-bottom:7px;}
.frise-month-current .frise-month-label{color:var(--primary);font-weight:700;}
.frise-month-next .frise-month-label{color:var(--warning);font-weight:700;}
.frise-month-past .frise-month-label{color:var(--text-faint);}
.frise-month-niches{display:flex;flex-direction:column;align-items:center;gap:3px;}
.frise-niche{font-size:8.5px;color:var(--text-faint);text-align:center;white-space:nowrap;padding:2px 4px;border-radius:3px;}
.frise-month-current .frise-niche{color:var(--primary);background:rgba(129,140,248,.1);font-weight:500;}
.frise-month-next .frise-niche{color:var(--warning);background:rgba(251,191,36,.08);font-weight:600;}
/* ══════════════════════════════════════════════════════════════
   SETTINGS
   ══════════════════════════════════════════════════════════════ */

.settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.settings-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.settings-section-head{padding:14px 18px;border-bottom:1px solid var(--divider);display:flex;align-items:center;gap:8px;}
.settings-section-title{font-size:13px;font-weight:600;}
.settings-section-body{padding:18px;}
.settings-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.settings-row:last-child{margin-bottom:0;}
.settings-label{font-size:13px;font-weight:500;}
.settings-hint{font-size:11.5px;color:var(--text-muted);margin-top:1px;}
.api-input-group{position:relative;margin-top:6px;}
.api-input{width:100%;background:var(--surface-off);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 40px 8px 10px;font-size:13px;font-family:'JetBrains Mono',monospace;outline:none;}
.api-input:focus{border-color:var(--primary);}
.api-input:disabled{opacity:.4;cursor:not-allowed;}
.api-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--text-faint);cursor:pointer;}
.api-eye svg{width:14px;height:14px;}
.api-status{display:flex;align-items:center;gap:5px;font-size:11.5px;margin-top:5px;}
.api-status-ok{color:var(--success);}
.api-status-off{color:var(--text-faint);}
.settings-select{background:var(--surface-off);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;font-size:13px;outline:none;}
.settings-select:focus{border-color:var(--primary);}

/* Toggle switch */
.toggle{position:relative;width:38px;height:22px;display:inline-block;}
.toggle input{opacity:0;width:0;height:0;position:absolute;}
.toggle-track{position:absolute;inset:0;background:var(--surface-off);border:1px solid var(--border);border-radius:99px;transition:.2s;pointer-events:none;}
.toggle input:checked + .toggle-track{background:var(--primary);border-color:var(--primary);}
.toggle-thumb{position:absolute;left:3px;top:3px;width:14px;height:14px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.3);pointer-events:none;}
.toggle input:checked ~ .toggle-thumb{left:21px;}

/* Integrations */
.integration-card{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--divider);}
.integration-card:last-child{border-bottom:none;}
.integration-left{display:flex;align-items:center;gap:10px;}
.integration-icon{width:32px;height:32px;border-radius:7px;background:var(--surface-off);display:flex;align-items:center;justify-content:center;color:var(--text-muted);}
.integration-icon svg{width:16px;height:16px;}
.integration-name{font-size:13px;font-weight:500;}
.integration-desc{font-size:11.5px;color:var(--text-muted);}