:root {
    --bg: #05070f;
    --bg-2: #080d1a;
    --card: rgba(16, 24, 40, .72);
    --line: rgba(255,255,255,.09);
    --txt: #f5f8ff;
    --dim: rgba(245,248,255,.58);
    --cyan: #22d3ee;
    --purple: #a78bfa;
    --green: #34d399;
    --red: #f87171;
    --orange: #fbbf24;
    --ok: #34d399;
    --warn: #fbbf24;
    --radius: 18px;
    --font: 'Outfit', sans-serif;
    --side: 252px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; background: var(--bg); color: var(--txt); font-family: var(--font); }
body:has(#app:not(.hidden)) { overflow: hidden; }
button, input, select, textarea { font: inherit; }
.hidden { display: none !important; }
.mobile-only { display: none; }

.fx-orbs, .fx-orbs:before, .fx-orbs:after {
    pointer-events: none; position: fixed; inset: auto; z-index: 0;
}
.fx-orbs { inset: 0; overflow: hidden; }
.fx-orbs:before, .fx-orbs:after {
    content: ''; width: 42vw; height: 42vw; border-radius: 50%;
    filter: blur(80px); opacity: .35; animation: drift 18s ease-in-out infinite;
}
.fx-orbs:before { top: -12vw; left: -8vw; background: #164e63; }
.fx-orbs:after { right: -10vw; bottom: -14vw; background: #4c1d95; animation-delay: -8s; }
@keyframes drift {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(4%, 6%) scale(1.08); }
}
.cursor-glow {
    position: fixed; width: 280px; height: 280px; margin: -140px 0 0 -140px;
    border-radius: 50%; pointer-events: none; z-index: 1;
    background: radial-gradient(circle, rgba(34,211,238,.12), transparent 68%);
    transform: translate(-9999px, -9999px);
}

.toast {
    position: fixed; top: 18px; right: 18px; z-index: 90;
    max-width: min(420px, calc(100vw - 36px));
    background: rgba(12, 22, 40, .92); border: 1px solid var(--line); color: var(--txt);
    padding: 10px 14px; border-radius: 12px; font-size: .86rem; font-weight: 600;
    line-height: 1.35; white-space: normal;
    box-shadow: 0 16px 40px rgba(0,0,0,.45), 0 0 24px rgba(34,211,238,.12);
    animation: pop .18s ease; backdrop-filter: blur(12px);
}
.toast.ok { border-color: rgba(52,211,153,.45); }
.toast.err { border-color: rgba(248,113,113,.5); color: #fecaca; }
@keyframes pop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes fadein { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes shine { to { background-position: 200% center; } }

.login-screen {
    min-height: 100vh; display: grid; place-items: center; padding: 24px; position: relative; z-index: 2;
}
.login-card {
    width: min(440px, 100%);
    background: rgba(10,16,32,.78);
    border: 1px solid rgba(34,211,238,.18);
    border-radius: 24px; padding: 36px 32px;
    box-shadow: 0 30px 80px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter: blur(18px);
    animation: fadein .35s ease;
}
.login-logo { width: 56px; margin-bottom: 12px; filter: drop-shadow(0 0 16px rgba(34,211,238,.45)); }
.login-kicker { color: var(--cyan); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; }
.login-card h1 {
    font-family: 'Bebas Neue', sans-serif; font-size: 2.6rem; letter-spacing: .06em; margin: 6px 0 8px;
    background: linear-gradient(90deg, #fff, #67e8f9, #c4b5fd, #fff);
    background-size: 200%; -webkit-background-clip: text; background-clip: text; color: transparent;
    animation: shine 6s linear infinite;
}
.login-sub { color: var(--dim); font-size: .9rem; margin-bottom: 16px; line-height: 1.5; }
.login-status { color: var(--cyan); font-size: .88rem; min-height: 1.2em; margin-bottom: 12px; }
.btn-discord {
    width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px;
    background: linear-gradient(135deg, #5865f2, #7c3aed); color: white; border: 0; border-radius: 12px;
    padding: 12px 14px; font-weight: 700; cursor: pointer; margin-bottom: 18px;
    box-shadow: 0 8px 28px rgba(88,101,242,.35); transition: transform .15s, filter .15s;
}
.btn-discord:hover { filter: brightness(1.08); transform: translateY(-1px); }
.login-card .btn-primary { width: 100%; justify-content: center; margin-top: 8px; }
.login-card label { display: block; font-size: .78rem; font-weight: 600; margin: 12px 0 6px; color: var(--dim); }
.login-card label span { font-weight: 400; opacity: .7; }
.login-card input {
    width: 100%; background: #0a1020; border: 1px solid var(--line); border-radius: 12px;
    padding: 12px 14px; color: white; outline: none; transition: border-color .15s, box-shadow .15s;
}
.login-card input:focus { border-color: rgba(34,211,238,.55); box-shadow: 0 0 0 3px rgba(34,211,238,.12); }
.login-error { color: var(--red); font-size: .82rem; margin-top: 10px; }
.login-back { display: inline-block; margin-top: 16px; color: var(--dim); text-decoration: none; font-size: .85rem; }
.login-more { margin-top: 8px; color: var(--dim); font-size: .82rem; }
.login-more summary { cursor: pointer; margin-bottom: 10px; }
.steps { margin: 0; padding-left: 18px; color: var(--dim); font-size: .88rem; line-height: 1.55; }
.steps li { margin-bottom: 8px; }
.member-list .item { align-items: center; }
.member-who { display: flex; gap: 10px; align-items: center; }
.member-av { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.member-sheet { margin-top: 12px; }

.app {
    display: grid; grid-template-columns: var(--side) 1fr;
    height: 100vh; height: 100dvh; overflow: hidden; position: relative; z-index: 2;
}
.sidebar {
    background: linear-gradient(165deg, rgba(8,13,26,.72) 0%, rgba(4,8,18,.88) 100%);
    border-right: 1px solid rgba(34,211,238,.12);
    padding: 18px 12px; display: flex; flex-direction: column; gap: 8px;
    backdrop-filter: blur(22px) saturate(1.35);
    -webkit-backdrop-filter: blur(22px) saturate(1.35);
    box-shadow: inset -1px 0 0 rgba(255,255,255,.04), 4px 0 32px rgba(0,0,0,.25);
    min-height: 0; overflow: hidden;
}
.sidebar-brand { display: flex; gap: 10px; align-items: center; padding: 4px 8px 12px; flex-shrink: 0; }
.sidebar-brand img { width: 36px; filter: drop-shadow(0 0 10px rgba(34,211,238,.4)); }
.sidebar-brand strong { display: block; letter-spacing: .12em; }
.sidebar-brand span { font-size: .72rem; color: var(--dim); }
.sidebar-nav {
    display: flex; flex-direction: column; gap: 2px; flex: 1;
    min-height: 0; overflow-x: hidden; overflow-y: auto; padding-right: 4px;
}
.sidebar-nav::-webkit-scrollbar { width: 6px; }
.sidebar-nav::-webkit-scrollbar-thumb { background: rgba(34,211,238,.28); border-radius: 99px; }
.nav-group {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.nav-group + .nav-group {
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid rgba(255,255,255,.06);
}
.nav-group:not(:has(.nav-btn:not(.hidden))) { display: none; }
.nav-details:not(:has(.nav-btn:not(.hidden), .nav-fold-body > a.nav-btn:not(.hidden))) { display: none; }
.nav-group > .nav-label { padding: 8px 12px 4px; }
.nav-label {
    color: var(--dim); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase;
    font-weight: 700; padding: 0;
}
.nav-sublabel {
    color: rgba(148,163,184,.65); font-size: .58rem; letter-spacing: .12em; text-transform: uppercase;
    font-weight: 600; padding: 10px 12px 2px; margin: 0;
}
.nav-sublabel:first-child { padding-top: 2px; }
.nav-details {
    border-top: 1px solid rgba(255,255,255,.06);
    margin-top: 6px;
    padding-top: 4px;
}
.nav-fold {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px 4px;
    cursor: pointer;
    user-select: none;
    border-radius: 8px;
    transition: background .15s;
}
.nav-fold:hover { background: rgba(255,255,255,.03); }
.nav-fold::-webkit-details-marker { display: none; }
.nav-chevron {
    font-size: .65rem;
    color: var(--dim);
    transition: transform .2s ease;
}
.nav-details[open] > .nav-fold .nav-chevron { transform: rotate(180deg); }
.nav-fold-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding-bottom: 4px;
}
.nav-btn {
    background: transparent; border: 0; color: var(--dim); text-align: left;
    padding: 8px 12px; border-radius: 11px; font-weight: 600; cursor: pointer;
    display: flex; align-items: center; gap: 8px; transition: background .15s, color .15s, transform .15s;
}
.nav-btn i { width: 18px; font-size: .86rem; }
.nav-btn:hover { background: rgba(34,211,238,.08); color: white; transform: translateX(2px); }
.nav-btn.active {
    background: linear-gradient(90deg, rgba(34,211,238,.18), rgba(167,139,250,.1));
    color: white; box-shadow: inset 3px 0 0 var(--cyan);
}
.sidebar-foot { border-top: 1px solid var(--line); padding-top: 12px; flex-shrink: 0; }
.session-user { font-size: .78rem; color: var(--dim); margin-bottom: 8px; padding: 0 8px; }

.main { padding: 18px 26px 48px; overflow: auto; min-height: 0; }
.topbar { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.topbar-kicker { color: var(--dim); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }
.topbar h2 { font-size: 1.4rem; }
.clock {
    font-variant-numeric: tabular-nums; color: var(--cyan); font-weight: 700; font-size: .82rem;
    padding: 6px 10px; border: 1px solid rgba(34,211,238,.2); border-radius: 999px; background: rgba(34,211,238,.06);
}
.topbar-actions { margin-left: auto; display: flex; gap: 10px; align-items: center; }
.search {
    display: flex; align-items: center; gap: 8px; background: rgba(10,16,32,.8);
    border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; min-width: 220px;
}
.search:focus-within { border-color: rgba(34,211,238,.5); box-shadow: 0 0 0 3px rgba(34,211,238,.1); }
.search i { color: var(--dim); font-size: .8rem; }
.search input { background: transparent; border: 0; color: white; outline: none; width: 100%; }
.btn-icon {
    background: rgba(255,255,255,.04); border: 1px solid var(--line); color: white;
    width: 40px; height: 40px; border-radius: 12px; cursor: pointer;
}

.btn-primary, .btn-ghost, .btn-danger {
    border: 0; border-radius: 12px; padding: 10px 14px; font-weight: 700; cursor: pointer;
    display: inline-flex; align-items: center; gap: 8px; text-decoration: none; transition: transform .12s, filter .12s;
}
.btn-primary { background: linear-gradient(135deg, var(--cyan), var(--purple)); color: #041018; box-shadow: 0 8px 22px rgba(34,211,238,.18); }
.btn-primary:hover, .btn-ghost:hover, .btn-danger:hover { transform: translateY(-1px); }
.btn-ghost { background: rgba(255,255,255,.04); color: var(--txt); border: 1px solid var(--line); }
.btn-danger { background: rgba(248,113,113,.12); color: var(--red); }
.btn-sm { padding: 6px 9px; font-size: .76rem; border-radius: 9px; cursor: pointer; }

.view-root { animation: fadein .22s ease; position: relative; z-index: 2; }
.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.kpis-3 { grid-template-columns: repeat(3, 1fr); }
.kpi {
    background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px;
    backdrop-filter: blur(12px); transition: transform .18s, border-color .18s, box-shadow .18s;
}
.kpi:hover { transform: translateY(-3px); border-color: rgba(34,211,238,.35); box-shadow: 0 12px 32px rgba(0,0,0,.25); }
.kpi span { color: var(--dim); font-size: .76rem; }
.kpi b { display: block; font-size: 1.55rem; margin-top: 4px; }
.kpi em { display: block; font-style: normal; color: var(--cyan); font-size: .72rem; margin-top: 4px; }
.kpi-in { border-color: rgba(52,211,153,.28); }
.kpi-in b { color: var(--green); }
.kpi-out { border-color: rgba(248,113,113,.28); }
.kpi-out b { color: var(--red); }

.card {
    background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
    padding: 16px; margin-bottom: 14px; backdrop-filter: blur(14px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.card h3 { font-size: .95rem; margin-bottom: 10px; }
.access-guide-grid {
    display: flex; flex-direction: column; gap: 6px;
}
.access-guide-row {
    display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start;
    padding: 8px 10px; border-radius: 12px; border: 1px solid var(--line);
    background: rgba(8,14,28,.55);
}
.access-guide-row.is-on { border-color: rgba(52,211,153,.28); }
.access-guide-row.is-off { opacity: .55; }
.access-guide-row.is-click { cursor: pointer; }
.access-guide-row.is-click:hover { border-color: rgba(34,211,238,.4); opacity: 1; }
.access-guide-row.is-locked { opacity: .4; }
.access-guide-toggle { cursor: pointer; border: 0; font: inherit; }
.access-guide-row strong { font-size: .88rem; }
.access-guide-row p { margin: 2px 0 0; }
.card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.card-head h3 { margin-bottom: 0; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.grid-2 > * { min-width: 0; }
.grid-2 .span-2 { grid-column: 1 / -1; }
.contracts-wrap {
    display: grid; gap: 14px;
    color-scheme: dark;
}
.contracts-wrap .form-actions { display: flex; gap: 10px; margin-top: 8px; }
.contracts-wrap code { color: var(--cyan); font-size: 0.85em; }
.contracts-wrap .btn-link {
    background: none;
    border: none;
    color: var(--cyan);
    cursor: pointer;
    padding: 2px 0;
    font-size: inherit;
    text-align: left;
}
.contracts-wrap .btn-link:hover { text-decoration: underline; }
.contracts-wrap select[name="templatePath"] { max-width: 100%; }
.contract-row-actions { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.contract-editor textarea,
.ct-editor-ta { min-height: 320px; }
.ct-lead { margin: 0; line-height: 1.45; }
.ct-meta { margin: 0; }
.contract-setup-hint {
    margin: 0;
    padding: 10px 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(8, 13, 26, .55);
}
.contract-setup-hint summary {
    cursor: pointer; color: var(--dim); font-size: .82rem; font-weight: 600;
}
.ct-panel {
    background: linear-gradient(165deg, rgba(16, 24, 42, .92), rgba(8, 12, 24, .9));
    border-color: rgba(34,211,238,.16);
    box-shadow: 0 14px 36px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
    padding: 18px;
}
.ct-cachet {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px;
}
.ct-cachet-dl { text-decoration: none; white-space: nowrap; }
.ct-panel-h {
    display: flex; align-items: flex-start; gap: 12px;
    margin: 0 0 14px; padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.ct-panel-h > i {
    flex-shrink: 0; width: 36px; height: 36px; border-radius: 11px;
    display: grid; place-items: center;
    background: rgba(34,211,238,.12); border: 1px solid rgba(34,211,238,.28);
    color: var(--cyan); font-size: 1.05rem;
}
.ct-panel-h h3 { margin: 0; font-size: 1rem; font-weight: 700; }
.ct-panel-h p { margin: 3px 0 0; font-size: .72rem; color: var(--dim); line-height: 1.35; }
.ct-fields {
    display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px;
}
.ct-fields .span-2 { grid-column: 1 / -1; }
.ct-fields label {
    display: grid; gap: 6px;
    font-size: .72rem; font-weight: 600;
    letter-spacing: .03em; color: var(--dim);
}
.ct-hint { font-size: .78rem !important; display: block; margin-top: 4px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.ct-panel-actions { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.ct-file-hint { margin: 14px 0 8px; }
.ct-gen-actions { justify-content: flex-start; flex-wrap: wrap; }
.ct-gen-help { margin-top: 12px; line-height: 1.45; }
.ct-link-box {
    margin-top: 14px; padding: 14px;
    background: rgba(34,211,238,.08);
    border: 1px solid rgba(34,211,238,.28);
    border-radius: 14px;
}
.ct-link-kicker {
    margin: 0 0 6px; color: var(--cyan); font-size: .68rem;
    letter-spacing: .12em; text-transform: uppercase; font-weight: 700;
}
.ct-link-url { word-break: break-all; margin: 0 0 8px; font-weight: 600; }
.contracts-wrap input:not([type=checkbox]):not([type=file]):not([type=radio]),
.contracts-wrap select,
.contracts-wrap textarea {
    appearance: none;
    -webkit-appearance: none;
    color-scheme: dark;
    background: #0a1020 !important;
    color: #f5f8ff !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
    box-shadow: none !important;
    font: inherit;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.contracts-wrap input:focus,
.contracts-wrap select:focus,
.contracts-wrap textarea:focus {
    outline: none;
    border-color: rgba(34,211,238,.55) !important;
    box-shadow: 0 0 0 3px rgba(34,211,238,.12) !important;
}
.contracts-wrap input::placeholder { color: rgba(245,248,255,.4); }
.contracts-wrap input:disabled,
.contracts-wrap select:disabled {
    opacity: .55; cursor: not-allowed;
}
.ct-editor-ta {
    width: 100%;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    font-size: .82rem !important;
    line-height: 1.45 !important;
    margin-top: 8px;
}
@media (max-width: 720px) {
    .ct-fields { grid-template-columns: 1fr; }
    .ct-cachet { flex-direction: column; align-items: stretch; }
}
.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.list { display: flex; flex-direction: column; gap: 8px; }
.item {
    display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center;
    background: rgba(8,14,28,.7); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px;
    transition: border-color .15s, transform .15s;
}
.item:hover { border-color: rgba(34,211,238,.28); transform: translateX(2px); }
.item.is-active { border-color: rgba(34,211,238,.5); box-shadow: inset 3px 0 0 var(--cyan); }
.item-own { border-color: rgba(34,211,238,.4); box-shadow: inset 3px 0 0 var(--cyan); }
.item h4 { font-size: .92rem; }
.item p, .muted { color: var(--dim); font-size: .8rem; }
.form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.actions { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }

.badge { font-size: .66rem; font-weight: 700; padding: 3px 8px; border-radius: 999px; text-transform: uppercase; }
.badge.ok { background: rgba(52,211,153,.15); color: var(--green); }
.badge.warn { background: rgba(251,191,36,.15); color: var(--orange); }
.badge.off { background: rgba(248,113,113,.12); color: var(--red); }
.badge.cyan { background: rgba(34,211,238,.12); color: var(--cyan); }
.badge.purple { background: rgba(167,139,250,.16); color: var(--purple); }
.badge.muted { background: rgba(148,163,184,.12); color: var(--muted); }

form.stack { display: grid; gap: 8px; }
form.stack input, form.stack select, form.stack textarea,
.stack input, .stack select, .stack textarea {
    background: #0a1020; border: 1px solid var(--line); border-radius: 10px;
    padding: 10px 12px; color: white; outline: none;
    width: 100%; max-width: 100%; min-width: 0;
    box-sizing: border-box;
}
form.stack input:focus, form.stack select:focus, form.stack textarea:focus {
    border-color: rgba(34,211,238,.5);
}
form.stack textarea, .stack textarea { min-height: 88px; resize: vertical; }

.kanban { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.kanban-col {
    background: rgba(13,21,38,.55); border: 1px solid var(--line); border-radius: 16px; padding: 12px;
    min-height: 180px;
}
.kanban-col h3 { font-size: .8rem; color: var(--dim); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; }
.kanban-col .item { margin-bottom: 8px; grid-template-columns: 1fr; }

.chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
    background: #0d1526; border: 1px solid var(--line); border-radius: 999px;
    padding: 6px 10px; font-size: .78rem; display: inline-flex; gap: 8px; align-items: center;
}
.quick { display: flex; flex-wrap: wrap; gap: 8px; }
.quick a, .quick button {
    background: rgba(13,21,38,.8); border: 1px solid var(--line); color: var(--txt); text-decoration: none;
    border-radius: 12px; padding: 10px 12px; font-size: .82rem; font-weight: 600; cursor: pointer;
    transition: border-color .15s, transform .15s, box-shadow .15s;
}
.quick a:hover, .quick button:hover {
    border-color: rgba(34,211,238,.45); transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(34,211,238,.12);
}

.howto {
    background: rgba(34,211,238,.06); border: 1px dashed rgba(34,211,238,.28);
    border-radius: 14px; padding: 14px; color: var(--dim); font-size: .84rem; line-height: 1.55; margin-bottom: 12px;
}
.howto b { color: var(--txt); }
.howto code { color: var(--cyan); font-size: .8rem; }
.empty { color: var(--dim); font-size: .86rem; padding: 18px 8px; text-align: center; }
.kpi-inline { font-size: 1.6rem; font-weight: 800; color: var(--cyan); }
.tweet-preview {
    margin-top: 10px; padding: 12px; border-radius: 12px; white-space: pre-wrap;
    background: #070b16; border: 1px solid var(--line); color: var(--dim); font-size: .82rem;
}
.login-card { position: relative; overflow: hidden; }
.login-card::after {
    content: ''; position: absolute; inset: -40% auto -40% -30%; width: 40%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent);
    animation: sweep 4.5s ease-in-out infinite; pointer-events: none;
}
@keyframes sweep { 0% { transform: translateX(0) rotate(12deg); } 100% { transform: translateX(420%) rotate(12deg); } }
.nav-btn.active i { color: var(--cyan); filter: drop-shadow(0 0 8px rgba(34,211,238,.7)); }
.nav-badge {
    margin-left: auto;
    min-width: 18px; height: 18px; padding: 0 5px;
    border-radius: 999px; font-size: .62rem; font-weight: 800;
    background: #ef4444; color: #fff;
    box-shadow: 0 0 10px rgba(239,68,68,.45);
    display: inline-flex; align-items: center; justify-content: center;
}
.card { position: relative; overflow: hidden; }
.card::before {
    content: ''; position: absolute; inset: 0 auto auto 0; width: 120%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(34,211,238,.35), transparent);
    opacity: .7;
}

.member-list .item { align-items: center; }
.member-who { display: flex; gap: 10px; align-items: center; }
.member-av { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.member-sheet { margin-top: 12px; }
.member-block.is-open > .item {
    border-color: rgba(34, 211, 238, .4);
}
.member-sheet-slot:empty { display: none; }
.member-sheet-slot { margin: 0 0 10px; }

.check-row {
    display: flex; align-items: center; gap: 8px; color: var(--dim); font-size: .86rem;
}
.check-row input { width: auto; accent-color: var(--cyan); }
.check-row {
    display: flex; align-items: center; gap: 8px; color: var(--dim); font-size: .86rem;
}
.check-row input { width: auto; accent-color: var(--cyan); }
.route-row {
    display: grid; grid-template-columns: minmax(140px, 1fr) minmax(180px, 1.4fr);
    gap: 10px; align-items: center;
}
.role-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px;
    max-height: 280px; overflow: auto; padding: 8px 0;
}
.member-dossier { margin-top: 14px; }
.member-banner {
    height: 90px; border-radius: 12px; background: #0f172a center/cover no-repeat; margin-bottom: 12px;
}
.member-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 14px; }
.member-av-lg { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(34,211,238,.35); }
.role-pill, .role-chip {
    display: inline-flex; align-items: center; gap: 6px;
    border: 1px solid color-mix(in srgb, var(--role, #64748b) 55%, transparent);
    background: color-mix(in srgb, var(--role, #64748b) 18%, transparent);
    border-radius: 999px; padding: 3px 10px; font-size: .78rem; margin: 2px 4px 2px 0;
}
.role-chip { cursor: pointer; user-select: none; }
.role-chip input { display: none; }
.role-chip i {
    width: 8px; height: 8px; border-radius: 50%; background: var(--role, #64748b);
    box-shadow: 0 0 0 2px rgba(0,0,0,.25);
}
.role-chip:has(input:checked) { outline: 1px solid var(--cyan); }
.role-chip.is-locked {
    opacity: .42;
    cursor: not-allowed;
    filter: grayscale(.3);
    pointer-events: none;
}
.role-chip.is-locked:has(input:checked) { outline-color: rgba(255,255,255,.18); }
.info-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 12px 0 18px;
}
.info-cell {
    background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px;
}
.info-cell span { display: block; color: var(--dim); font-size: .75rem; margin-bottom: 4px; }
.info-cell b { display: block; font-size: .92rem; word-break: break-word; }
.info-cell em { display: block; color: var(--dim); font-style: normal; font-size: .75rem; margin-top: 4px; }
.sanction-list { margin: 8px 0 14px; padding-left: 18px; color: var(--dim); }
.sanction-list li { margin: 4px 0; }
@media (max-width: 860px) {
    .info-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
    .route-row { grid-template-columns: 1fr; }
}

@media (max-width: 1100px) {
    .kpis, .kpis-3, .kanban, .grid-3 { grid-template-columns: 1fr 1fr; }
}

/* Drawer shell — phones + tablets (desktop layout unchanged above 1024) */
.sidebar-scrim {
    display: none;
    position: fixed; inset: 0; z-index: 45;
    border: 0; padding: 0; margin: 0; cursor: pointer;
    background: rgba(2, 6, 18, .64);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    opacity: 0; pointer-events: none;
    transition: opacity .2s ease;
}
.sidebar-close { margin-left: auto; flex-shrink: 0; }
.crumb {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 8px; min-width: 0; flex: 1;
}
.crumb .topbar-kicker { margin: 0; }
.crumb-sep { color: var(--dim); opacity: .55; font-weight: 600; }
.crumb h2 {
    margin: 0; font-size: 1.35rem; line-height: 1.15;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%;
}
.notif-wrap { position: relative; }
.notif-dot {
    position: absolute; top: 8px; right: 8px; width: 8px; height: 8px;
    border-radius: 50%; background: var(--cyan);
    box-shadow: 0 0 0 2px rgba(5, 7, 15, .9), 0 0 10px rgba(34, 211, 238, .7);
    pointer-events: none;
}
.notif-panel {
    position: absolute; right: 0; top: calc(100% + 8px); z-index: 35;
    width: min(340px, calc(100vw - 28px));
    max-height: min(70vh, 420px); overflow: auto;
    background: rgba(10, 16, 32, .97);
    border: 1px solid rgba(34, 211, 238, .22);
    border-radius: 14px; padding: 12px;
    box-shadow: 0 20px 48px rgba(0, 0, 0, .55);
}
.notif-panel h4 {
    margin: 0 0 10px; font-size: .72rem; letter-spacing: .12em;
    text-transform: uppercase; color: var(--cyan);
}
.notif-item {
    width: 100%; display: block; text-align: left; cursor: pointer;
    background: rgba(255, 255, 255, .03); border: 1px solid var(--line);
    border-radius: 10px; padding: 10px 12px; margin-bottom: 6px; color: inherit;
    min-height: 44px;
}
.notif-item:last-child { margin-bottom: 0; }
.notif-item:hover, .notif-item:focus-visible {
    border-color: rgba(34, 211, 238, .4); background: rgba(34, 211, 238, .08); outline: none;
}
.notif-item b { display: block; font-size: .86rem; line-height: 1.35; }
.notif-item span { display: block; margin-top: 2px; font-size: .74rem; color: var(--dim); }

@media (max-width: 1024px) {
    .mobile-only { display: inline-flex; }
    .app { grid-template-columns: 1fr; }
    .sidebar {
        position: fixed; inset: 0 auto 0 0;
        width: min(300px, 88vw);
        height: 100dvh; height: 100svh;
        z-index: 50;
        transform: translateX(-105%);
        transition: transform .22s ease;
        overflow: hidden;
        padding-top: max(14px, env(safe-area-inset-top, 0px));
        padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
    }
    .sidebar.open {
        transform: none;
        box-shadow: 18px 0 50px rgba(0, 0, 0, .55);
    }
    .sidebar-scrim { display: block; }
    .sidebar-scrim.open {
        opacity: 1; pointer-events: auto;
    }
    body.sidebar-open { overflow: hidden; }
    .sidebar-brand { padding-right: 4px; }
    .nav-btn, .nav-fold {
        min-height: 44px; padding: 10px 12px;
    }
    .nav-btn:hover { transform: none; }
    .btn-icon {
        width: 44px; height: 44px;
        display: inline-flex; align-items: center; justify-content: center;
        flex-shrink: 0;
    }
    .btn-primary, .btn-ghost, .btn-danger, .btn-discord {
        min-height: 44px;
    }
    .sidebar-foot .btn-ghost { width: 100%; justify-content: center; }
    .cursor-glow { display: none; }
    .main {
        padding: 14px 16px calc(28px + env(safe-area-inset-bottom, 0px));
        padding-left: max(16px, env(safe-area-inset-left, 0px));
        padding-right: max(16px, env(safe-area-inset-right, 0px));
    }
    .topbar {
        flex-wrap: wrap; gap: 10px 12px; align-items: center; margin-bottom: 14px;
        position: sticky; top: 0; z-index: 20;
        padding: 8px 0 10px;
        background: linear-gradient(180deg, rgba(5, 7, 15, .96) 55%, rgba(5, 7, 15, .72) 100%);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }
    .topbar-actions {
        margin-left: 0; width: 100%;
        display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
    }
    .search { min-width: 0; flex: 1 1 160px; width: auto; }
    .jit-countdown-slot { order: 5; flex: 1 1 100%; justify-content: flex-start; }
    .clock { font-size: .74rem; padding: 6px 9px; white-space: nowrap; }
}
@media (max-width: 860px) {
    .kpis, .kpis-3, .grid-2, .kanban, .grid-3 { grid-template-columns: 1fr; }
    .topbar-actions > .btn-ghost { display: none; }
    .crumb h2 { font-size: 1.15rem; white-space: normal; }
    .card-head { flex-wrap: wrap; }
    .form-actions { justify-content: stretch; }
    .form-actions > .btn-primary,
    .form-actions > .btn-ghost,
    .form-actions > .btn-danger { flex: 1 1 auto; justify-content: center; }
    .item { grid-template-columns: 1fr; gap: 8px; }
    .item .actions { width: 100%; }
    .toast {
        top: auto; bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        left: 14px; right: 14px; max-width: none;
    }
}
@media (max-width: 480px) {
    .clock { display: none; }
    .topbar-kicker { font-size: .62rem; }
    .login-card { padding: 28px 20px; border-radius: 18px; }
    .login-card h1 { font-size: 2.15rem; }
}

.member-pick { position: relative; }
.pick-list {
    position: absolute; z-index: 8; left: 0; right: 0; top: calc(100% + 4px);
    max-height: 240px; overflow: auto; background: #0b1220;
    border: 1px solid var(--line); border-radius: 12px; padding: 6px;
    box-shadow: 0 12px 40px rgba(0,0,0,.45);
}
.pick-item {
    width: 100%; display: flex; gap: 10px; align-items: center;
    background: transparent; border: 0; color: inherit; text-align: left;
    padding: 8px; border-radius: 8px; cursor: pointer;
}
.pick-item:hover { background: rgba(34,211,238,.08); }
.pick-item img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.pick-item span { display: flex; flex-direction: column; }
.pick-item small { color: var(--dim); font-size: .75rem; }

.ticket-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.ticket-filters .is-on { border-color: rgba(34,211,238,.7); color: var(--cyan); }
.ticket-meta { color: var(--dim); font-size: .78rem; margin-top: 4px; }
.ticket-item h4 .muted { font-weight: 500; font-size: .8rem; margin-left: 6px; }
.item.is-click { cursor: pointer; }
.item.is-click:hover, .ticket-item.is-open { border-color: rgba(34,211,238,.45); background: rgba(34,211,238,.05); }
.item.is-on { border-color: rgba(34,211,238,.7); }
.ticket-chat { grid-column: 1 / -1; margin-top: 4px; max-height: 460px; overflow: auto; display: flex; flex-direction: column; gap: 12px; padding: 12px; background: rgba(0,0,0,.28); border-radius: 12px; border: 1px solid rgba(255,255,255,.06); }
.chat-msg { display: grid; grid-template-columns: 36px 1fr; gap: 10px; align-items: start; }
.chat-av { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.chat-av-empty { display: inline-block; background: #1e293b; }
.chat-who { margin: 0; font-weight: 650; font-size: .9rem; }
.chat-who small { font-weight: 500; color: var(--dim); margin-left: 8px; }
.chat-body { margin: 4px 0 0; font-size: .9rem; line-height: 1.45; white-space: pre-wrap; }
.chat-embed { border-left: 3px solid var(--cyan); padding: 8px 10px; margin-top: 6px; background: rgba(255,255,255,.04); border-radius: 0 8px 8px 0; }
.chat-embed-title { font-weight: 700; margin: 0 0 4px; }
.chat-img { max-width: min(280px, 100%); border-radius: 8px; margin-top: 6px; display: block; }
.chat-msg.is-bot .chat-who { color: var(--cyan); }
.badge.purple { background: rgba(167,139,250,.16); color: var(--purple); }
.badge.muted { background: rgba(148,163,184,.12); color: var(--muted); }
.log-feed { display: flex; flex-direction: column; gap: 8px; max-height: 520px; overflow: auto; padding-right: 4px; }
.log-row { display: grid; grid-template-columns: 10px 1fr auto; gap: 12px; align-items: start; padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06); }
.log-row.is-click { cursor: pointer; }
.log-dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 6px; background: #22d3ee; }
.log-row.claimed .log-dot { background: #a78bfa; }
.log-row.closed .log-dot { background: #34d399; }
.log-row.refused .log-dot { background: #f87171; }
.log-text { margin: 0; font-size: .92rem; line-height: 1.4; }
.player-edit { align-items: start; }
.player-edit-main { display: flex; gap: 10px; align-items: center; min-width: 0; }
.player-edit-av { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: #0a1020; flex-shrink: 0; }
.player-edit-form { grid-column: 1 / -1; }

.fin-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.fin-year { display: flex; gap: 8px; align-items: center; color: var(--dim); font-size: .82rem; font-weight: 600; }
.fin-year select { min-width: 100px; }
.fin-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.fin-btn-group { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; padding: 4px 4px 4px 2px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.03); }
.fin-btn-group > span { font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--dim); padding: 0 8px; }
.fin-btn-group .btn-ghost { min-height: 34px; padding: 6px 12px; }
.fin-charts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 14px; }
.fin-charts-2 { grid-template-columns: 1fr 1fr; }
.fin-charts-4 { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
.ta-cat-list { display: flex; flex-direction: column; gap: 8px; }
.ta-cat-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 10px; border-radius: 8px; background: rgba(255,255,255,.03); border: 1px solid var(--line); }
.ta-cat-row span { color: var(--muted); font-size: .9rem; }
.ta-cat-row b { font-size: 1rem; }
.ta-cat-row small { color: var(--muted); font-weight: 500; }
.fin-chart.span-2 { grid-column: span 2; }
.fin-chart h3 { font-size: .82rem; margin-bottom: 8px; }
.ta-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }
.ta-filters, .ta-actions { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.ta-range.active { background: rgba(34, 211, 238, .12); color: var(--cyan); border-color: rgba(34, 211, 238, .45); }
.ta-foot { font-size: .8rem; margin-top: 8px; }
.ta-heatmap { min-height: 120px; width: 100%; }
.table-wrap { overflow-x: auto; margin-top: 8px; }
.data-table { width: 100%; border-collapse: collapse; font-size: .84rem; }
.data-table th, .data-table td { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.data-table th { color: var(--cyan); font-weight: 600; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
.data-table tbody tr:hover { background: rgba(34, 211, 238, .04); }
.btn-sm { padding: 4px 8px; font-size: .75rem; min-height: auto; }
.fin-svg { width: 100%; height: 150px; display: block; }
.fin-hit { cursor: pointer; }
.fin-pie-wrap { display: flex; gap: 12px; align-items: center; }
.fin-pie { width: 120px; height: 120px; flex-shrink: 0; }
.fin-pie-legend { display: flex; flex-direction: column; gap: 4px; font-size: .74rem; color: var(--dim); }
.fin-pie-legend i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; }
.fin-alert {
    background: rgba(248,113,113,.12); border: 1px solid rgba(248,113,113,.4);
    color: #fecaca; border-radius: 14px; padding: 12px 14px; margin-bottom: 14px; font-size: .88rem;
}
.fin-alert p { margin: 0 0 4px; }
.fin-alert p:last-child { margin: 0; }
.fin-folders { display: grid; grid-template-columns: repeat(12, 1fr); gap: 6px; margin-bottom: 14px; }
.fin-folder {
    background: rgba(13,21,38,.8); border: 1px solid var(--line); color: var(--txt);
    border-radius: 12px; padding: 10px 6px; cursor: pointer; text-align: left;
    display: flex; flex-direction: column; gap: 4px; min-width: 0;
    transition: border-color .15s, box-shadow .15s, transform .12s;
}
.fin-folder:hover { border-color: rgba(34,211,238,.35); transform: translateY(-1px); }
.fin-folder span { font-size: .72rem; color: var(--dim); font-weight: 600; }
.fin-folder b { font-size: .92rem; }
.fin-folder.active {
    border-color: rgba(34,211,238,.55);
    background: rgba(34,211,238,.1);
    box-shadow: 0 0 0 1px rgba(34,211,238,.25), 0 8px 22px rgba(34,211,238,.12);
}
.fin-month-card {
    color-scheme: dark;
    background: linear-gradient(165deg, rgba(16, 24, 42, .92), rgba(8, 12, 24, .9));
    border-color: rgba(34,211,238,.18);
    box-shadow: 0 16px 40px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}
.fin-month-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; align-items: flex-start; margin-bottom: 16px; }
.fin-month-kicker {
    margin: 0; color: var(--cyan); font-size: .68rem;
    letter-spacing: .14em; text-transform: uppercase; font-weight: 700;
}
.fin-month-head h3 { margin: 4px 0 0; font-size: 1.25rem; }
.fin-month-summary { margin: 0; max-width: 420px; text-align: right; line-height: 1.45; }
.fin-panel-h {
    display: flex; align-items: flex-start; gap: 12px;
    margin-bottom: 12px; padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.fin-panel-h-sm { margin-top: 4px; }
.fin-panel-h > i {
    flex-shrink: 0; width: 34px; height: 34px; border-radius: 10px;
    display: grid; place-items: center;
    background: rgba(34,211,238,.12); border: 1px solid rgba(34,211,238,.28);
    color: var(--cyan); font-size: 1rem;
}
.fin-panel-h h3 { margin: 0; font-size: .92rem; font-weight: 700; }
.fin-panel-h p { margin: 2px 0 0; font-size: .72rem; color: var(--dim); }
.fin-restore-card {
    border-color: rgba(34,211,238,.35) !important;
    margin-bottom: 14px;
    background: linear-gradient(165deg, rgba(16, 28, 48, .9), rgba(8, 12, 24, .92));
}
.fin-restore-actions {
    margin: 12px 0 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.fin-paste-label {
    display: grid; gap: 8px; margin-top: 14px;
    font-size: .78rem; color: var(--dim); font-weight: 600;
}
.fin-paste, #fin-pdf-text.fin-paste {
    width: 100%;
    appearance: none; -webkit-appearance: none;
    background: #0a1020 !important;
    color: #f5f8ff !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 12px !important;
    padding: 12px 14px !important;
    font: inherit; line-height: 1.45;
    box-shadow: none !important;
    resize: vertical; min-height: 84px;
}
.fin-paste:focus, #fin-pdf-text.fin-paste:focus {
    outline: none;
    border-color: rgba(34,211,238,.55) !important;
    box-shadow: 0 0 0 3px rgba(34,211,238,.12) !important;
}
.fin-paste::placeholder { color: var(--dim); }
.fin-months-meta { margin: 10px 0 0; }
.fin-add-form {
    background: rgba(5, 10, 20, .45);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    padding: 14px;
    margin-bottom: 12px;
}
.fin-add { display: grid; grid-template-columns: 1fr 1fr 1.4fr .8fr .9fr 1fr .8fr auto auto; gap: 8px; align-items: center; }
.fin-opening {
    display: flex; flex-wrap: wrap; gap: 12px; align-items: center;
    margin: 0 0 14px; padding: 12px 14px;
    background: rgba(5, 10, 20, .4);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 12px;
}
.fin-opening label { display: flex; gap: 8px; align-items: center; font-size: .84rem; color: var(--dim); }
.fin-opening input { width: 140px; }
.fin-table-wrap {
    overflow: auto; max-height: 520px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    background: rgba(5, 10, 20, .35);
}
.fin-table { width: 100%; border-collapse: collapse; font-size: .82rem; color-scheme: dark; }
.fin-table th {
    position: sticky; top: 0; background: #0a1020; z-index: 1;
    text-align: left; padding: 10px 8px;
    color: var(--cyan); font-weight: 700; font-size: .7rem;
    letter-spacing: .04em; text-transform: uppercase;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.fin-table td { padding: 8px; border-top: 1px solid rgba(255,255,255,.05); vertical-align: top; }
.fin-table tbody tr:hover { background: rgba(34,211,238,.04); }
.fin-table input, .fin-table select { width: 100%; min-width: 0; }
.fin-table .fin-note { margin-top: 4px; opacity: .8; }
.fin-table tr.fin-in td:first-child { box-shadow: inset 3px 0 0 #34d399; }
.fin-table tr.fin-out td:first-child { box-shadow: inset 3px 0 0 #f87171; }
.fin-table tr.fin-adj td:first-child { box-shadow: inset 3px 0 0 #22d3ee; }

#fin-month-card,
.fin-restore-card,
.fin-month-card { color-scheme: dark; }
#fin-month-card input:not([type=checkbox]):not([type=file]):not([type=radio]),
#fin-month-card select,
#fin-month-card textarea,
.fin-add input:not([type=checkbox]),
.fin-add select,
.fin-opening input,
.fin-year select,
.fin-table input:not([type=checkbox]),
.fin-table select,
.fin-restore-card textarea,
.fin-restore-card input:not([type=checkbox]):not([type=file]) {
    appearance: none;
    -webkit-appearance: none;
    color-scheme: dark;
    background: #0a1020 !important;
    color: #f5f8ff !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 10px !important;
    padding: 8px 10px !important;
    box-shadow: none !important;
    font: inherit;
}
#fin-month-card input:focus,
#fin-month-card select:focus,
#fin-month-card textarea:focus,
.fin-table input:focus,
.fin-table select:focus {
    border-color: rgba(34,211,238,.55) !important;
    box-shadow: 0 0 0 3px rgba(34,211,238,.12) !important;
    outline: none;
}
#fin-month-card input::placeholder,
.fin-table input::placeholder { color: rgba(245,248,255,.4); }
#fin-month-card input[type=checkbox],
.fin-table input[type=checkbox] {
    width: 18px !important; height: 18px !important;
    accent-color: var(--cyan);
    background: transparent !important;
    border: 0 !important; padding: 0 !important;
}
.fin-inv-cell { min-width: 118px; }
.fin-inv-actions { display: flex; gap: 4px; align-items: center; }
.fin-inv-cell .btn-ghost { width: auto; justify-content: flex-start; padding: 6px 8px; }
.fin-inv-ok { color: var(--cyan); font-weight: 700; font-size: .72rem; letter-spacing: .03em; }
.fin-inv-miss { color: var(--orange); font-weight: 700; font-size: .72rem; letter-spacing: .03em; }
.fin-overlay {
    position: fixed; inset: 0; z-index: 80; padding: 20px;
    display: grid; place-items: center; background: rgba(2, 6, 18, .72);
    backdrop-filter: blur(8px);
}
.fin-overlay-card {
    width: min(520px, 100%);
    background: rgba(11, 18, 32, .96);
    border: 1px solid rgba(34, 211, 238, .22);
    border-radius: 18px; padding: 22px;
    box-shadow: 0 28px 80px rgba(0,0,0,.55), 0 0 40px rgba(168, 85, 247, .12);
}
.fin-overlay-card h3 { font-family: 'Bebas Neue', sans-serif; letter-spacing: .08em; font-size: 1.5rem; font-weight: 400; margin-bottom: 4px; }
.fin-overlay-card .muted { margin-bottom: 14px; }
.fin-overlay-card label { display: grid; gap: 6px; font-size: .8rem; color: var(--dim); font-weight: 600; }
.fin-overlay-card .form-actions { flex-wrap: wrap; }
@media (max-width: 1100px) {
    .fin-charts, .fin-charts-4, .fin-folders, .fin-add { grid-template-columns: 1fr 1fr; }
    .fin-chart.span-2 { grid-column: span 2; }
}
@media (max-width: 720px) {
    .fin-charts, .fin-charts-4, .fin-folders, .fin-add { grid-template-columns: 1fr; }
    .fin-chart.span-2 { grid-column: span 1; }
}

.rec-sync-meta { margin: -6px 0 12px; font-size: .8rem; }
.rec-table-card { padding: 0; overflow: hidden; }
.rec-table { font-size: .84rem; }
.rec-row { cursor: pointer; }
.rec-row td:first-child { box-shadow: inset 3px 0 0 transparent; }
.rec-row.rec-pole-esport td:first-child { box-shadow: inset 3px 0 0 #38bdf8; }
.rec-row.rec-pole-webtv td:first-child { box-shadow: inset 3px 0 0 #a78bfa; }
.rec-row.rec-pole-staff td:first-child { box-shadow: inset 3px 0 0 #fbbf24; }
.rec-user { display: flex; gap: 10px; align-items: center; min-width: 0; }
.rec-user > div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.rec-user b { font-size: .9rem; }
.rec-av { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; background: #0a1020; flex-shrink: 0; }
.rec-links { display: flex; gap: 8px; flex-wrap: wrap; }
.rec-link { font-size: .72rem; color: var(--cyan); font-weight: 600; }
.rec-pole {
    display: inline-block; padding: 3px 8px; border-radius: 999px;
    font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}
.rec-pole-esport { background: rgba(56,189,248,.14); color: #7dd3fc; border: 1px solid rgba(56,189,248,.35); }
.rec-pole-webtv { background: rgba(167,139,250,.14); color: #c4b5fd; border: 1px solid rgba(167,139,250,.35); }
.rec-pole-staff { background: rgba(251,191,36,.14); color: #fde68a; border: 1px solid rgba(251,191,36,.35); }
.rec-status {
    display: inline-block; padding: 3px 8px; border-radius: 8px;
    font-size: .72rem; font-weight: 700;
}
.rec-st-pending { background: rgba(148,163,184,.12); color: #cbd5e1; }
.rec-st-interview { background: rgba(251,191,36,.14); color: #fde68a; }
.rec-st-hired { background: rgba(52,211,153,.14); color: #6ee7b7; }
.rec-st-refused { background: rgba(248,113,113,.14); color: #fecaca; }
.rec-td-actions {
    white-space: normal;
    text-align: right;
    cursor: default;
}
.rec-td-actions .btn-sm { padding: 5px 8px; margin: 2px 0 2px 4px; }
.rec-overlay { align-items: start; overflow: auto; }
.rec-dossier { width: min(760px, 100%); max-height: min(88vh, 900px); overflow: auto; }
.rec-dossier-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.rec-dossier-head h3 { margin: 0; }
.rec-dossier-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.rec-decide {
    background: rgba(34,211,238,.06);
    border: 1px solid rgba(34,211,238,.22);
    border-radius: 14px;
    padding: 14px 16px;
    margin: 0 0 16px;
}
.rec-decide h4 { margin: 0 0 6px; }
.rec-decide .muted { margin: 0 0 10px; }
.rec-decide-note { color: #fbbf24 !important; }
.rec-decide label { display: flex; flex-direction: column; gap: 6px; font-size: .82rem; font-weight: 600; }
.rec-qa-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; }
.rec-qa { background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; }
.rec-qa span { display: block; font-size: .72rem; color: var(--cyan); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 4px; }
.rec-qa p { margin: 0; white-space: pre-wrap; line-height: 1.45; }
.rec-notes { display: flex; flex-direction: column; gap: 8px; margin: 10px 0 12px; }
.rec-note { background: rgba(167,139,250,.08); border: 1px solid rgba(167,139,250,.22); border-radius: 10px; padding: 10px 12px; }
.rec-note b { margin-right: 8px; }
.rec-note em { color: var(--dim); font-size: .78rem; font-style: normal; }
.rec-note p { margin: 6px 0 0; white-space: pre-wrap; }

.plan-filters { margin-bottom: 12px; }
.plan-dot {
    display: inline-block; width: 8px; height: 8px; border-radius: 50%;
    margin-right: 6px; vertical-align: middle;
}
.meet-detail-head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 10px; }
.meet-detail-head h3 { margin: 0; }
.meet-notes { white-space: pre-wrap; color: var(--dim); line-height: 1.5; }
.qg-calendar {
    --fc-page-bg-color: transparent;
    --fc-neutral-bg-color: rgba(255,255,255,.04);
    --fc-neutral-text-color: var(--dim);
    --fc-border-color: rgba(255,255,255,.09);
    --fc-button-bg-color: rgba(12, 22, 40, .9);
    --fc-button-border-color: rgba(255,255,255,.12);
    --fc-button-text-color: var(--txt);
    --fc-button-hover-bg-color: rgba(34,211,238,.16);
    --fc-button-hover-border-color: rgba(34,211,238,.4);
    --fc-button-active-bg-color: #22d3ee;
    --fc-button-active-border-color: #22d3ee;
    --fc-button-active-text-color: #041018;
    --fc-today-bg-color: rgba(34,211,238,.08);
    --fc-now-indicator-color: #22d3ee;
    --fc-page-text-color: var(--txt);
    --fc-event-text-color: #041018;
    min-height: 420px;
}
.qg-calendar .fc { font-family: var(--font); color: var(--txt); }
.qg-calendar .fc-toolbar-title {
    font-family: 'Bebas Neue', sans-serif; letter-spacing: .06em;
    font-size: 1.45rem; font-weight: 400;
}
.qg-calendar .fc-button { border-radius: 10px; font-weight: 700; text-transform: none; }
.qg-calendar .fc-col-header-cell-cushion,
.qg-calendar .fc-daygrid-day-number { color: var(--dim); text-decoration: none; }
.qg-calendar .fc-daygrid-day-number:hover { color: var(--cyan); }
.qg-calendar .fc-event {
    border: 0; border-radius: 8px; font-weight: 700; font-size: .78rem;
    box-shadow: 0 6px 16px rgba(0,0,0,.25);
    cursor: pointer;
}
.qg-calendar .fc-timegrid-slot-label { color: var(--dim); font-size: .72rem; }
.qg-calendar .fc-scrollgrid { border-radius: 14px; overflow: hidden; }
@media (max-width: 860px) {
    .qg-calendar .fc-toolbar { flex-direction: column; gap: 8px; align-items: stretch; }
    .qg-calendar .fc-toolbar-chunk { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
    .qg-calendar .fc-toolbar-title { text-align: center; font-size: 1.2rem; }
}

.announce-pick { display: grid; gap: 6px; min-width: 0; }
.announce-pick span { font-size: .8rem; color: var(--dim); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.announce-pick select { width: 100%; max-width: 100%; }
.announce-note {
    margin: 0; font-size: .75rem; color: #fca5a5; line-height: 1.35;
    word-break: break-word; overflow-wrap: anywhere;
}
.com-actions { justify-content: flex-end; }
@media (max-width: 860px) {
    .com-actions { justify-content: stretch; }
    .com-actions .btn-primary, .com-actions .btn-ghost { flex: 1 1 140px; }
}

#form-incident label, .inc-flow label {
    display: grid; gap: 6px; font-size: .82rem; color: var(--dim); font-weight: 600;
}
.inc-person-row { display: grid; grid-template-columns: 140px 1fr auto; gap: 8px; margin-bottom: 8px; align-items: center; }
.inc-scale { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 12px; }
.inc-scale-opt {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    border: 1px solid var(--line); border-radius: 12px; padding: 10px 8px; cursor: pointer;
    font-size: .78rem; font-weight: 700; text-align: center;
}
.inc-scale-opt input { display: none; }
.inc-scale-opt.sev-info { color: #7dd3fc; border-color: rgba(56,189,248,.35); }
.inc-scale-opt.sev-warn { color: #fbbf24; border-color: rgba(251,191,36,.4); }
.inc-scale-opt.sev-critique { color: #f87171; border-color: rgba(239,68,68,.45); }
.inc-scale-opt.sev-immediat { color: #e2e8f0; background: #0a0a0a; border-color: #1f2937; }
.inc-scale-opt:has(input:checked) { outline: 2px solid var(--cyan); }
.inc-card {
    background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
    margin-bottom: 10px; overflow: hidden;
}
.inc-card.sev-critique { border-color: rgba(239,68,68,.35); }
.inc-card.sev-immediat { border-color: #111; box-shadow: inset 3px 0 0 #111; }
.inc-card-head {
    width: 100%; display: flex; justify-content: space-between; gap: 12px; text-align: left;
    background: transparent; border: 0; color: inherit; padding: 14px 16px; cursor: pointer;
}
.inc-card-head h4 { margin-bottom: 4px; }
.inc-card-head p { color: var(--dim); font-size: .86rem; }
.inc-badges { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; align-items: flex-start; }
.badge.inc-sev-info { background: rgba(56,189,248,.15); color: #7dd3fc; }
.badge.inc-sev-warn { background: rgba(251,191,36,.15); color: #fbbf24; }
.badge.inc-sev-critique { background: rgba(239,68,68,.16); color: #f87171; }
.badge.inc-sev-immediat { background: #111; color: #e2e8f0; }
.inc-card-body { padding: 0 16px 16px; border-top: 1px solid var(--line); }
.inc-desc { white-space: pre-wrap; margin: 12px 0; }
.inc-people-read, .inc-evidence { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.inc-evidence img { width: 120px; height: 80px; object-fit: cover; border-radius: 10px; border: 1px solid var(--line); }
.inc-link { font-size: .8rem; color: var(--cyan); word-break: break-all; }
.inc-alert {
    background: rgba(248,113,113,.12); border: 1px solid rgba(248,113,113,.35);
    color: #fecaca; border-radius: 12px; padding: 8px 12px; margin: 12px 0; font-size: .86rem;
}
.inc-comments { list-style: none; padding: 0; margin: 8px 0 12px; }
.inc-comments li { background: rgba(255,255,255,.03); border-radius: 10px; padding: 8px 10px; margin: 6px 0; }
.inc-comment-form { display: flex; gap: 8px; }
.inc-comment-form input { flex: 1; }
.inc-audit { margin-top: 12px; color: var(--dim); font-size: .8rem; }
.inc-audit ul { margin: 8px 0 0 16px; }
.inc-chart { display: flex; align-items: flex-end; gap: 8px; height: 140px; margin: 12px 0; }
.inc-bar-col { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; }
.inc-bar-col i { display: block; width: 100%; max-width: 28px; background: linear-gradient(#22d3ee, #6366f1); border-radius: 8px 8px 2px 2px; min-height: 6px; }
.inc-bar-col span { font-size: .75rem; font-weight: 700; margin-bottom: 4px; }
.inc-bar-col em { font-style: normal; font-size: .7rem; color: var(--dim); margin-top: 4px; }
.inc-bar-col small { font-size: .62rem; color: var(--dim); }
.inc-poles { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; color: var(--dim); font-size: .82rem; }
.inc-recidive { margin: 8px 0 0; padding-left: 18px; }
@media (max-width: 860px) {
    .inc-scale, .inc-person-row { grid-template-columns: 1fr; }
    .inc-card-head { flex-direction: column; }
    .inc-comment-form { flex-direction: column; }
}

.pp-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.pp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin-bottom: 16px; }
.pp-card {
    display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
    background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 12px;
    color: inherit; text-align: left; width: 100%;
    transition: transform .18s, border-color .18s, box-shadow .18s;
}
.pp-card-main {
    display: flex; flex-wrap: wrap; gap: 10px; align-items: center; flex: 1; min-width: 0;
    background: transparent; border: 0; padding: 0; color: inherit; text-align: left; cursor: pointer;
}
.pp-card-del { flex-shrink: 0; }
.pp-card:hover {
    transform: translateY(-3px); border-color: rgba(34,211,238,.45);
    box-shadow: 0 12px 32px rgba(0,0,0,.35), 0 0 24px rgba(34,211,238,.12);
}
.pp-card img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 1px solid rgba(34,211,238,.35); }
.pp-card h4 { margin: 0; }
.pp-card p { margin: 2px 0 0; color: var(--dim); font-size: .8rem; }
.pp-mood { font-size: .72rem; font-style: normal; margin-left: auto; }
.pp-mood.m1, .pp-mood.m2 { color: #f87171; }
.pp-mood.m3 { color: #fbbf24; }
.pp-mood.m4, .pp-mood.m5 { color: #34d399; }
.pp-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; min-height: 240px; }
.pp-charts > div { position: relative; height: 240px; }
.pp-hero-top { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-bottom: 12px; }
.pp-hero-top img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.pp-hero-top .btn-danger { margin-left: auto; }
.pp-slide { display: grid; grid-template-columns: 140px 1fr 28px; gap: 8px; align-items: center; font-size: .82rem; color: var(--dim); }
.pp-slide input[type="range"] { accent-color: var(--cyan); }
.pp-bar { height: 8px; background: rgba(255,255,255,.06); border-radius: 99px; overflow: hidden; }
.pp-bar i { display: block; height: 100%; background: linear-gradient(90deg, #22d3ee, #34d399); }
.pp-goal, .pp-vod { border: 1px solid var(--line); border-radius: 12px; padding: 10px; margin: 8px 0; }
.pp-goal-head { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.pp-vod ul { margin: 6px 0; padding-left: 16px; color: var(--dim); font-size: .84rem; }
.pp-present { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 10px; }
.pp-card-kpis { color: #34d399 !important; font-size: .78rem !important; font-weight: 600; }
.pp-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 10px;
    margin: 0 0 14px;
}
.pp-kpi {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 12px 14px;
}
.pp-kpi span { display: block; font-size: .72rem; color: var(--dim); margin-bottom: 4px; }
.pp-kpi b { font-size: 1.15rem; color: #34d399; }
.pp-kpi-qual b { color: #c4b5fd; }
.pp-filters {
    display: flex; flex-wrap: wrap; gap: 10px; align-items: end;
    margin: 0 0 16px;
}
.pp-filters label { display: grid; gap: 4px; font-size: .74rem; color: var(--dim); }
.pp-filters select {
    background: #0b1220; color: #f5f8ff; border: 1px solid var(--line);
    border-radius: 10px; padding: 8px 10px;
}
.pp-charts-3 { grid-template-columns: repeat(3, 1fr); min-height: 220px; margin-bottom: 16px; }
.pp-charts-3 > div { position: relative; height: 260px; background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 8px 10px 12px; }
.pp-chart-lab { margin: 0 0 6px; font-size: .74rem; color: var(--dim); }
.rk-cup.pp-res { position: relative; cursor: default; text-align: left; grid-template-columns: 1fr; }
.rk-cup.pp-res.top { border-color: rgba(52,211,153,.65); box-shadow: 0 0 0 1px rgba(52,211,153,.35); }
.rk-cup.pp-res.qual { border-color: rgba(167,139,250,.75); box-shadow: 0 0 18px rgba(167,139,250,.18); }
.rk-cup.pp-res.qual .rk-cup-badge { color: #c4b5fd; }
.rk-cup.pp-res .rk-cup-body { padding: 12px 14px 14px; padding-right: 76px; }
.rk-cup-sec .rk-cup-grid { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.pp-fn-mates { color: #fde047 !important; font-weight: 600; }
.pp-fn-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px;
}
.pp-fn-stat {
    background: rgba(255,255,255,.04); border: 1px solid var(--line);
    border-radius: 10px; padding: 8px 6px 10px; text-align: center;
}
.pp-fn-stat span {
    display: block; font-size: .58rem; letter-spacing: .1em;
    text-transform: uppercase; color: var(--dim); margin: 0; font-weight: 600;
}
.pp-fn-stat b {
    display: block; font-size: 1.05rem; font-weight: 800; color: #f8fafc;
    margin-top: 2px; overflow: visible; -webkit-line-clamp: unset;
}
.pp-fn-stat.is-qual b { color: #c4b5fd; }
@media (max-width: 520px) {
    .pp-fn-grid { grid-template-columns: repeat(2, 1fr); }
}
#pp-result .grid-2 label {
    display: grid; gap: 4px; font-size: .74rem; color: var(--dim);
}
.pp-res-del { position: absolute; top: 8px; right: 8px; }
.pp-board-table { display: grid; gap: 6px; }
.pp-board-row {
    display: grid; grid-template-columns: 1.4fr 1fr .9fr .9fr .7fr .6fr;
    gap: 8px; align-items: center; text-align: left;
    background: rgba(255,255,255,.03); border: 1px solid var(--line);
    border-radius: 12px; padding: 10px 12px; color: inherit; cursor: pointer; width: 100%;
}
.pp-board-row:hover { border-color: rgba(52,211,153,.5); }
.pp-board-row span { color: var(--dim); font-size: .82rem; }
@media (max-width: 1100px) {
    .pp-charts-3 { grid-template-columns: 1fr; }
    .pp-board-row { grid-template-columns: 1fr 1fr; }
}
.rk-wrap { margin-bottom: 16px; }
.rk-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 10px; }
.rk-head h3 { margin: 0 0 4px; }
.rk-hint { color: #fbbf24; font-size: .82rem; margin: 0 0 10px; }
.rk-select { display: grid; gap: 6px; font-size: .78rem; color: var(--dim); margin-bottom: 12px; }
.rk-select select { width: 100%; background: #0b1220; color: #f5f8ff; border: 1px solid var(--line); }
.rk-select optgroup { color: #22d3ee; font-weight: 700; font-style: normal; background: #0b1220; }
.rk-select option { color: #f5f8ff; background: #0b1220; }
.rk-cup-sec { margin: 4px 0 18px; }
.rk-cup-sec h4 {
    margin: 0 0 10px; font-size: .72rem; letter-spacing: .14em;
    text-transform: uppercase; color: var(--dim); font-weight: 700;
}
.rk-cup-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.rk-cup {
    display: grid; grid-template-columns: 78px 1fr; gap: 0; align-items: stretch;
    text-align: left; background: rgba(10, 16, 32, .95); border: 1px solid var(--line);
    border-radius: 14px; overflow: hidden; padding: 0; cursor: pointer; color: #f5f8ff;
    font: inherit;
}
.rk-cup:hover { border-color: rgba(34,211,238,.5); }
.rk-cup.on { border-color: #22d3ee; box-shadow: 0 0 0 1px rgba(34,211,238,.55); }
.rk-cup-art {
    background: #0b1220; display: grid; place-items: center; color: #22d3ee; min-height: 88px;
}
.rk-cup-art img { width: 100%; height: 88px; object-fit: cover; display: block; }
.rk-cup-art.noimg { font-size: 1.2rem; }
.rk-cup-body { padding: 8px 10px 10px; min-width: 0; }
.rk-cup-body b {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden; font-size: .86rem; line-height: 1.25; color: #f8fafc; font-weight: 700;
}
.rk-cup-body span { display: block; font-size: .74rem; color: rgba(245,248,255,.62); margin-top: 4px; }
.rk-cup-badge {
    display: inline-block; font-size: .62rem; font-style: normal; letter-spacing: .08em;
    text-transform: uppercase; color: #22d3ee; margin-bottom: 4px; font-weight: 700;
}
.rk-cup-rank { color: #34d399 !important; font-weight: 600; }
.rk-meta {
    display: flex; flex-wrap: wrap; gap: 10px 18px;
    font-size: .78rem; color: var(--dim); margin-bottom: 14px;
    padding: 8px 12px; border: 1px solid var(--line); border-radius: 12px;
}
.rk-meta b { color: #e2e8f0; font-weight: 600; }
.rk-rel.ok { color: #34d399; } .rk-rel.warn { color: #fbbf24; }
.rk-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 12px; }
.rk-read, .rk-kpis { min-width: 0; }
.rk-id { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; }
.rk-id img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.rk-id h4 { margin: 0; }
.rk-score { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 10px; }
.rk-score div { background: rgba(255,255,255,.04); border: 1px solid var(--line); border-radius: 12px; padding: 8px 10px; }
.rk-score span { display: block; font-size: .68rem; color: var(--dim); letter-spacing: .08em; text-transform: uppercase; }
.rk-score b { font-size: 1.15rem; }
.rk-score b.off { color: #f87171; } .rk-score b.ok { color: #34d399; } .rk-score b.warn { color: #fbbf24; }
.rk-lecture { color: #c5d0e6; font-size: .88rem; line-height: 1.45; margin: 0 0 10px; }
.rk-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.rk-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.rk-kpi { background: rgba(255,255,255,.04); border: 1px solid var(--line); border-radius: 12px; padding: 10px; }
.rk-kpi span { display: block; font-size: .7rem; color: var(--dim); }
.rk-kpi b { display: block; font-size: 1.2rem; margin: 2px 0; }
.rk-kpi em { font-size: .72rem; color: var(--dim); font-style: normal; }
.rk-charts { display: grid; grid-template-columns: 1.4fr .8fr; gap: 12px; margin-top: 14px; }
.rk-chart, .rk-chart-sm { position: relative; height: 260px; padding: 12px 14px; }
.rk-chart p, .rk-chart-sm p { margin: 0 0 6px; font-size: .78rem; color: var(--dim); }
.rk-chart canvas, .rk-chart-sm canvas { height: 220px !important; }
.rk-games { margin-top: 12px; padding: 14px 16px; }
.rk-games h4 { margin: 0 0 4px; }
.rk-games summary { cursor: pointer; color: var(--cyan, #22d3ee); font-weight: 600; }
.rk-games table { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: .84rem; }
.rk-games th, .rk-games td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--line); }
.rk-head-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rk-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin-bottom: 14px; }
.rk-filters .rk-select { margin: 0; min-width: 260px; flex: 1; }
.rk-chip {
    background: rgba(255,255,255,.04); border: 1px solid var(--line); border-radius: 12px;
    padding: 8px 12px; font-size: .78rem; color: var(--dim);
}
.rk-chip b { color: #f5f8ff; font-weight: 600; margin-left: 6px; }
.rk-pill {
    display: inline-flex; gap: 6px; align-items: center; flex-wrap: wrap;
    border-radius: 999px; padding: 5px 10px; font-size: .74rem;
    background: rgba(255,255,255,.06); border: 1px solid var(--line); color: #e2e8f0;
}
.rk-pill.ok { background: rgba(52,211,153,.12); border-color: rgba(52,211,153,.4); color: #6ee7b7; }
.rk-pill.warn { background: rgba(251,146,60,.12); border-color: rgba(251,146,60,.45); color: #fdba74; }
.rk-pill.cyan { background: rgba(34,211,238,.1); border-color: rgba(34,211,238,.4); color: #67e8f9; }
.rk-pill.dim { color: #94a3b8; }
.rk-hist { margin-top: 12px; padding: 12px 14px; }
.rk-hist p { margin: 0 0 8px; font-size: .78rem; color: var(--dim); letter-spacing: .08em; text-transform: uppercase; }
.rk-hist-bar {
    position: relative; height: 28px; border-radius: 999px; overflow: hidden;
    background: rgba(255,255,255,.06); border: 1px solid var(--line);
}
.rk-hist-bar i {
    display: block; height: 100%; width: 0;
    background: linear-gradient(90deg, #2563eb, #38bdf8); border-radius: 999px;
}
.rk-hist-bar span {
    position: absolute; inset: 0; display: flex; align-items: center; padding: 0 12px;
    font-size: .78rem; font-weight: 600; color: #f5f8ff;
}
.rk-form-kpis {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 12px 0;
}
.rk-form-kpis div {
    background: rgba(255,255,255,.04); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px;
}
.rk-form-kpis span { display: block; font-size: .68rem; color: var(--dim); letter-spacing: .08em; text-transform: uppercase; }
.rk-form-kpis b { display: block; font-size: 1.15rem; margin-top: 2px; }
.rk-form-kpis em { display: block; font-size: .72rem; color: var(--dim); font-style: normal; }
.rk-match-list { display: grid; gap: 8px; }
.rk-match {
    display: grid; grid-template-columns: 88px 1fr auto; gap: 12px; align-items: center;
    background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px;
}
.rk-match-n {
    width: 72px; height: 72px; border-radius: 12px; display: grid; place-content: center; text-align: center;
    background: linear-gradient(160deg, #2563eb, #7c3aed); color: #fff;
}
.rk-match-n b { display: block; font-size: .62rem; letter-spacing: .12em; }
.rk-match-n span { font-size: 1.15rem; font-weight: 800; }
.rk-match-mid b { display: block; }
.rk-match-mid span { display: block; font-size: .78rem; color: var(--dim); margin-top: 3px; }
.rk-match-right { display: grid; justify-items: end; gap: 6px; }
.rk-match-right b { font-size: .95rem; }
.rk-tournois h3 { margin: 0 0 4px; }
.rk-tour-hero { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; flex-wrap: wrap; margin-bottom: 8px; }
.rk-tour-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rk-tour-actions a { text-decoration: none; }
.rk-tour-head { margin: 8px 0 12px; font-size: .86rem; color: #86efac; }
.rk-follow-list { display: grid; gap: 10px; margin-bottom: 16px; }
.rk-follow-card {
    display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: flex-start;
    background: rgba(10, 16, 32, .95); border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px;
}
.rk-follow-ico {
    width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center;
    background: linear-gradient(160deg, #2563eb, #7c3aed); color: #fff; font-size: 1.1rem;
}
.rk-follow-card b { display: block; margin: 6px 0 4px; }
.rk-follow-card p { margin: 0; font-size: .78rem; word-break: break-all; }
.rk-search { display: flex; gap: 8px; margin-bottom: 12px; }
.rk-search input { flex: 1; }
.rk-cat-meta { margin: 0 0 10px; font-size: .82rem; color: var(--dim); }
.rk-cat-list { display: grid; gap: 10px; }
.rk-cat-row {
    display: grid; grid-template-columns: 88px 1fr auto; gap: 12px; align-items: center;
    background: rgba(10, 16, 32, .95); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; padding-right: 12px;
}
.rk-cat-row .rk-cup-art { width: 88px; height: 88px; }
.rk-cat-row .rk-cup-art img { width: 88px; height: 88px; object-fit: cover; }
.rk-cat-row .rk-cup-art.noimg { width: 88px; height: 88px; display: grid; place-items: center; font-weight: 800; color: #67e8f9; background: #0b1220; }
.rk-cat-body { min-width: 0; padding: 10px 0; }
.rk-cat-body b { display: block; }
.rk-cat-body span { display: block; font-size: .78rem; color: var(--dim); margin-top: 4px; }
.rk-ids { margin-top: 12px; }
.rk-ids summary { cursor: pointer; color: var(--cyan, #22d3ee); font-weight: 600; margin-bottom: 10px; }
.rk-cup-body .btn-primary { margin-top: 8px; }
@media (max-width: 860px) {
    .rk-cat-row, .rk-follow-card { grid-template-columns: 72px 1fr; }
    .rk-cat-row > .btn-primary, .rk-cat-row > .btn-ghost, .rk-follow-card > .btn-danger { grid-column: 1 / -1; margin: 0 12px 12px; }
}
@media (max-width: 1100px) {
    .rk-kpis, .rk-form-kpis { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
    .rk-grid, .rk-charts, .rk-kpis, .rk-score, .rk-form-kpis { grid-template-columns: 1fr; }
    .rk-chart, .rk-chart-sm { height: 220px; }
    .rk-match { grid-template-columns: 72px 1fr; }
    .rk-match-right { grid-column: 1 / -1; justify-items: start; }
}
@media (max-width: 860px) {
    .pp-charts { grid-template-columns: 1fr; }
    .pp-slide { grid-template-columns: 1fr auto; }
}

.crm-kpis .kpi b.off { color: var(--red); }
.crm-alert {
    background: rgba(248,113,113,.12); border: 1px solid rgba(248,113,113,.35);
    color: #fecaca; border-radius: 12px; padding: 10px 14px; margin-bottom: 14px;
    font-size: .86rem; font-weight: 600; display: flex; gap: 8px; align-items: center;
}
.crm-filters {
    display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px;
}
.crm-filters .chip {
    cursor: pointer; color: var(--txt); background: #0d1526;
}
.crm-filters .chip.active {
    border-color: rgba(34,211,238,.55); box-shadow: 0 0 0 1px rgba(34,211,238,.25);
}
.crm-min { display: inline-flex; gap: 8px; align-items: center; font-size: .78rem; color: var(--dim); }
.crm-min select { min-width: 140px; }
.crm-tag-row { display: flex; flex-wrap: wrap; gap: 8px; }
.crm-tag-pick {
    cursor: pointer; font-size: .78rem; font-weight: 600; padding: 6px 10px; border-radius: 999px;
    border: 1px solid var(--line); color: var(--dim);
}
.crm-tag-pick input { position: absolute; opacity: 0; pointer-events: none; }
.crm-tag-pick:has(input:checked), .crm-tag-pick.on { color: var(--txt); border-color: currentColor; }
.badge.crm-gold, .crm-tag-pick.crm-gold:has(input:checked), .chip.crm-gold.active {
    background: rgba(251,191,36,.16); color: #fbbf24;
}
.badge.crm-blue, .crm-tag-pick.crm-blue:has(input:checked), .chip.crm-blue.active {
    background: rgba(56,189,248,.16); color: #7dd3fc;
}
.badge.crm-red, .crm-tag-pick.crm-red:has(input:checked), .chip.crm-red.active {
    background: rgba(248,113,113,.16); color: #fca5a5;
}
.badge.crm-gray, .crm-tag-pick.crm-gray:has(input:checked), .chip.crm-gray.active {
    background: rgba(148,163,184,.16); color: #cbd5e1;
}
.badge.crm-green, .crm-tag-pick.crm-green:has(input:checked), .chip.crm-green.active {
    background: rgba(52,211,153,.16); color: #6ee7b7;
}
.badge.crm-violet, .crm-tag-pick.crm-violet:has(input:checked), .chip.crm-violet.active {
    background: rgba(167,139,250,.16); color: #c4b5fd;
}
.crm-list { display: flex; flex-direction: column; gap: 10px; }
.crm-card {
    background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
    padding: 14px 16px; backdrop-filter: blur(14px);
}
.crm-card.is-overdue { border-color: rgba(248,113,113,.45); box-shadow: 0 0 0 1px rgba(248,113,113,.2); }
.crm-card.is-secret { border-color: rgba(251,191,36,.28); }
.crm-card-top { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: start; }
.crm-card h4 { font-size: .95rem; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.crm-pills { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 4px; }
.crm-note { margin-top: 6px; font-size: .84rem; color: var(--dim); }
.crm-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.crm-stars { color: #fbbf24; letter-spacing: 1px; }
.crm-star-off { color: rgba(148,163,184,.35); }
.crm-log { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.crm-log h5 { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--dim); margin-bottom: 8px; }
.crm-log p { font-size: .84rem; margin-bottom: 6px; line-height: 1.45; }
.crm-log-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 10px; }
@media (max-width: 860px) {
    .crm-card-top, .crm-log-form { grid-template-columns: 1fr; }
}

.growth-hero {
    margin-bottom: 16px;
    padding: 22px 20px;
    background:
        radial-gradient(120% 80% at 100% 0%, rgba(34,211,238,.16), transparent 55%),
        var(--card);
}
.growth-hero em { display: block; font-style: normal; font-size: .8rem; margin-top: 6px; color: var(--cyan); }
.growth-hero em.ok { color: var(--green); }
.growth-hero em.off { color: var(--red); }
.growth-hero small { display: block; margin-top: 8px; color: var(--dim); font-size: .75rem; }
.growth-plats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}
.growth-plat {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px;
    border-radius: var(--radius);
    border: 1px solid color-mix(in srgb, var(--plat) 35%, var(--line));
    background: color-mix(in srgb, var(--plat) 8%, var(--card));
    color: inherit;
    text-decoration: none;
    transition: transform .18s, border-color .18s;
}
.growth-plat:hover { transform: translateY(-3px); border-color: var(--plat); }
.growth-plat i { font-size: 1.35rem; color: var(--plat); margin-top: 4px; width: 28px; text-align: center; }
.growth-plat span { color: var(--dim); font-size: .76rem; }
.growth-plat b { display: block; font-size: 1.35rem; margin-top: 2px; }
.growth-plat em { display: block; font-style: normal; font-size: .72rem; margin-top: 4px; color: var(--cyan); }
.growth-plat em.ok { color: var(--green); }
.growth-plat em.off, .growth-plat small.off, .kpi em.off { color: var(--red); }
.growth-plat small { display: block; color: var(--dim); font-size: .7rem; margin-top: 4px; }
.growth-chart-wrap { height: 280px; position: relative; }
.growth-chart-sm { height: 200px; margin: 12px 0; }
.growth-keys { display: flex; flex-wrap: wrap; gap: 8px; }
.growth-kpis {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}
.growth-kpis-2 { grid-template-columns: 1fr 1fr; }
.growth-plat-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 6px 0 2px;
}
.growth-plat-metrics span { display: block; color: var(--dim); font-size: .68rem; }
.growth-plat-metrics b { display: block; font-size: 1.18rem; margin-top: 1px; }
.growth-chart-toggle { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.growth-net-table small { color: var(--dim); }
.growth-net-table .muted { font-size: .72rem; color: var(--dim); }
.growth-detail-card { width: min(860px, 100%); max-height: min(92vh, 920px); overflow: auto; }
@media (max-width: 1100px) {
    .growth-plats { grid-template-columns: 1fr 1fr; }
    .growth-kpis { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
    .growth-plats { grid-template-columns: 1fr; }
    .growth-kpis, .growth-kpis-2 { grid-template-columns: 1fr; }
    .growth-hero b { font-size: 2rem; }
}

.logi-tabs, .logi-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.logi-tabs button, .logi-filters button {
    background: rgba(255,255,255,.04); border: 1px solid var(--line); color: var(--txt);
    border-radius: 10px; padding: 8px 12px; cursor: pointer; font-size: .82rem;
}
.logi-tabs button.on, .logi-filters button.on {
    border-color: rgba(34,211,238,.45); background: rgba(34,211,238,.12); color: var(--cyan);
}
.logi-alert { border-color: rgba(248,113,113,.4) !important; }
.item.logi-alert { background: rgba(248,113,113,.06); }
.logi-sizes { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.logi-sizes label { display: flex; flex-direction: column; gap: 4px; font-size: .72rem; color: var(--dim); min-width: 56px; }
.logi-sizes input { width: 64px; }
.logi-check { align-items: center; gap: 10px; cursor: pointer; }
.logi-check input { width: 18px; height: 18px; }
.logi-road h3 { margin-bottom: 8px; }
#public-logistics .login-card { max-width: 640px; }
#public-logistics .logi-road { text-align: left; }

.wk-wrap { display: grid; gap: 12px; }
.wk-layout { display: grid; grid-template-columns: 280px 1fr; gap: 16px; align-items: start; }
.wk-side {
    background: var(--card); border: 1px solid var(--line); border-radius: 16px;
    padding: 12px; position: sticky; top: 8px; max-height: calc(100vh - 140px); overflow: auto;
}
.wk-search {
    display: flex; align-items: center; gap: 8px; margin-bottom: 10px;
    background: #0b1220; border: 1px solid var(--line); border-radius: 12px; padding: 0 10px;
}
.wk-search i { color: var(--cyan); }
.wk-search input { border: 0; background: transparent; padding: 10px 0; }
.wk-folder {
    display: flex; align-items: center; gap: 8px; width: 100%; text-align: left;
    background: transparent; border: 0; color: var(--dim); padding: 8px 8px; border-radius: 10px; cursor: pointer;
}
.wk-folder em { margin-left: auto; font-style: normal; font-size: .72rem; }
.wk-folder.on, .wk-folder:hover { background: rgba(34,211,238,.08); color: var(--txt); }
.wk-folder.on { box-shadow: inset 3px 0 0 var(--cyan); }
.wk-new { width: 100%; margin: 10px 0; }
.wk-list { display: grid; gap: 4px; margin-top: 8px; }
.wk-item {
    display: grid; gap: 2px; text-align: left; width: 100%; cursor: pointer;
    background: transparent; border: 1px solid transparent; border-radius: 10px; padding: 8px 10px; color: inherit;
}
.wk-item span { font-size: .72rem; color: var(--dim); }
.wk-item.on { border-color: rgba(34,211,238,.45); background: rgba(34,211,238,.08); }
.wk-doc-top h3 { font-size: 1.45rem; margin: 4px 0 6px; }
.wk-kicker { color: var(--cyan); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 700; }
.wk-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.wk-tag {
    background: rgba(167,139,250,.12); color: var(--purple); border: 1px solid rgba(167,139,250,.3);
    border-radius: 99px; padding: 4px 10px; font-size: .74rem; cursor: pointer;
}
.wk-body { line-height: 1.65; font-size: .98rem; color: #e8eefc; padding: 0; }
.wk-body.ql-editor { padding: 0; }
.wk-body h2, .wk-body h3 { margin: 1.1em 0 .4em; }
.wk-body p, .wk-body ul, .wk-body ol { margin: .55em 0; }
.wk-body ul, .wk-body ol { padding-left: 1.2em; }
.wk-body a { color: var(--cyan); }
.wk-body img, .wk-body iframe { max-width: 100%; border-radius: 12px; margin: 10px 0; }
.wk-body iframe { width: 100%; min-height: 280px; border: 0; }
.wk-related { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 16px 0; }
.wk-related p { width: 100%; color: var(--dim); font-size: .78rem; margin: 0; }
.wk-ack {
    margin-top: 18px; padding: 14px; border-radius: 14px;
    border: 1px solid rgba(52,211,153,.35); background: rgba(52,211,153,.08);
}
.wk-ack.is-on { color: var(--green); }
.wk-hist { margin-top: 14px; color: var(--dim); font-size: .82rem; }
.wk-hist ul { margin: 8px 0 0; padding-left: 16px; }
.wk-empty { min-height: 240px; }
.wk-quill { min-height: 280px; background: #0b1220; border-radius: 0 0 12px 12px; }
.ql-toolbar.ql-snow {
    background: #0e1628; border: 1px solid var(--line) !important; border-radius: 12px 12px 0 0;
}
.ql-container.ql-snow { border: 1px solid var(--line) !important; border-top: 0 !important; border-radius: 0 0 12px 12px; color: #f5f8ff; }
.ql-snow .ql-stroke { stroke: #c5d0e6; }
.ql-snow .ql-fill { fill: #c5d0e6; }
.ql-snow .ql-picker { color: #c5d0e6; }
.ql-editor.ql-blank::before { color: rgba(245,248,255,.35); }
.wk-path.on { border-color: rgba(167,139,250,.6); }
.wk-swatches { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin: 12px 0 18px; }
.wk-swatch {
    display: grid; gap: 4px; text-align: left; cursor: pointer; color: inherit;
    background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 12px;
}
.wk-swatch i { display: block; height: 42px; border-radius: 10px; border: 1px solid rgba(255,255,255,.12); }
.wk-swatch span, .wk-swatch em { font-size: .74rem; color: var(--dim); font-style: normal; }
@media (max-width: 960px) {
    .wk-layout { grid-template-columns: 1fr; }
    .wk-side { position: static; max-height: none; }
}

.hx-coin {
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.15em; height: 1.15em; margin: 0 .12em; vertical-align: -0.18em;
    border-radius: 50%;
    background: radial-gradient(circle at 32% 28%, #ffe9a3, #f5c542 42%, #b8860b 78%, #7a5a12);
    box-shadow: 0 0 0 1px rgba(255, 215, 80, .45), 0 0 10px rgba(245, 197, 66, .45);
    position: relative;
}
.hx-coin::after {
    content: 'H'; font-family: 'Bebas Neue', Impact, sans-serif;
    font-size: .62em; font-weight: 700; color: #3b2a08; line-height: 1;
}
.hx-pop {
    position: fixed; left: 50%; top: 38%; z-index: 80; pointer-events: none;
    transform: translate(-50%, 12px); font-size: 1.6rem; font-weight: 800;
    color: #ffe9a3; text-shadow: 0 0 18px rgba(245, 197, 66, .7);
    animation: hx-float 1.35s ease-out forwards;
}
.hx-pop.spend { color: #f87171; text-shadow: 0 0 18px rgba(248, 113, 113, .55); }
@keyframes hx-float {
    0% { opacity: 0; transform: translate(-50%, 18px) scale(.7); }
    18% { opacity: 1; transform: translate(-50%, 0) scale(1.08); }
    100% { opacity: 0; transform: translate(-50%, -56px) scale(.9); }
}
.hx-wrap { display: grid; gap: 14px; }
.hx-hero {
    display: grid; grid-template-columns: minmax(220px, 1fr) 1.2fr; gap: 14px;
    background: linear-gradient(135deg, rgba(245, 197, 66, .12), rgba(167, 139, 250, .1) 55%, rgba(34, 211, 238, .08));
    border: 1px solid rgba(245, 197, 66, .28); border-radius: 18px; padding: 18px 20px;
    box-shadow: 0 0 40px rgba(245, 197, 66, .08);
}
.hx-balance span { display: block; color: var(--dim); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.hx-balance b { display: flex; align-items: center; gap: 6px; font-size: 2.1rem; margin: 4px 0; color: #ffe9a3; }
.hx-balance em { font-style: normal; color: var(--dim); font-size: .86rem; }
.hx-rank p { color: var(--cyan); font-size: .82rem; margin-bottom: 8px; }
.hx-bar { height: 10px; background: rgba(255,255,255,.08); border-radius: 99px; overflow: hidden; }
.hx-bar i { display: block; height: 100%; background: linear-gradient(90deg, #f5c542, #22d3ee); border-radius: 99px; }
.hx-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.hx-badge {
    display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 99px;
    border: 1px solid var(--line); background: rgba(255,255,255,.03); color: var(--dim); font-size: .8rem;
}
.hx-badge.on { border-color: rgba(245, 197, 66, .55); color: #ffe9a3; background: rgba(245, 197, 66, .1); box-shadow: 0 0 16px rgba(245, 197, 66, .15); }
.hx-shop { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.hx-card {
    background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 16px;
    display: grid; gap: 6px; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.hx-card:hover { transform: translateY(-3px); border-color: rgba(245, 197, 66, .4); box-shadow: 0 8px 28px rgba(245, 197, 66, .12); }
.hx-ico { font-size: 1.3rem; color: #f5c542; }
.hx-card em { font-style: normal; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--purple); }
.hx-card h4 { font-size: 1.05rem; }
.hx-card p { color: var(--dim); font-size: .84rem; min-height: 2.4em; }
.hx-card-foot { display: flex; justify-content: space-between; align-items: center; margin: 6px 0; }
.hx-card-foot b { color: #ffe9a3; display: flex; align-items: center; }
.hx-card-foot span { font-size: .78rem; color: var(--dim); }
.hx-card .btn-primary[disabled] { opacity: .4; cursor: not-allowed; }
.hx-board { display: grid; gap: 6px; }
.hx-row {
    display: grid; grid-template-columns: 36px 1fr auto auto; gap: 10px; align-items: center;
    padding: 10px 12px; border-radius: 12px; border: 1px solid transparent;
}
.hx-row.me { border-color: rgba(245, 197, 66, .45); background: rgba(245, 197, 66, .08); }
.hx-pos { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.06); font-weight: 800; font-size: .8rem; }
.hx-row:nth-child(1) .hx-pos { background: #f5c542; color: #3b2a08; }
.hx-row:nth-child(2) .hx-pos { background: #c5d0e6; color: #1a2233; }
.hx-row:nth-child(3) .hx-pos { background: #cd7f32; color: #1a1208; }
.hx-row em { font-style: normal; color: var(--dim); font-size: .8rem; }
.hx-row strong { color: #ffe9a3; font-size: .86rem; display: flex; align-items: center; }
@media (max-width: 860px) {
    .hx-hero { grid-template-columns: 1fr; }
    .hx-row { grid-template-columns: 32px 1fr auto; }
    .hx-row em { grid-column: 2; }
}

.cc-wrap { display: grid; gap: 14px; }
.cc-lead { margin-bottom: 2px; }
.cc-toolbar { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; align-items: flex-start; }
.cc-toolbar .pp-tabs { margin: 0; }
.cc-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cc-filters select { min-width: 140px; }
.cc-month-wrap { overflow: hidden; }
.cc-month-nav { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.cc-month-nav h3 { flex: 1; text-align: center; text-transform: capitalize; margin: 0; }
.cc-grid-head, .cc-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.cc-grid-head span { color: var(--dim); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; text-align: center; padding: 4px 0; }
.cc-day {
    min-height: 108px; background: rgba(8, 13, 26, .7); border: 1px solid var(--line);
    border-radius: 12px; padding: 6px; display: flex; flex-direction: column; gap: 4px;
}
.cc-day.empty { background: transparent; border-color: transparent; min-height: 0; }
.cc-day.today { border-color: rgba(34, 211, 238, .5); box-shadow: inset 0 0 0 1px rgba(34, 211, 238, .2); }
.cc-day.has-late { border-color: rgba(248, 113, 113, .35); }
.cc-day-n {
    align-self: flex-start; background: transparent; border: 0; color: var(--dim);
    font-weight: 700; cursor: pointer; padding: 2px 6px; border-radius: 8px;
}
.cc-day-n:hover { color: var(--cyan); background: rgba(34, 211, 238, .1); }
.cc-day-list { display: flex; flex-direction: column; gap: 4px; }
.cc-chip {
    display: flex; align-items: center; gap: 6px; width: 100%; text-align: left;
    background: rgba(255,255,255,.04); border: 1px solid var(--line); color: var(--txt);
    border-radius: 8px; padding: 4px 6px; font-size: .72rem; cursor: pointer; overflow: hidden;
}
.cc-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-chip.late { border-color: rgba(248, 113, 113, .45); }
.cc-chip.is-done { opacity: .55; }
.cc-week { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.cc-week-col { background: rgba(8, 13, 26, .55); border: 1px solid var(--line); border-radius: 12px; padding: 8px; min-height: 160px; }
.cc-week-col.today { border-color: rgba(34, 211, 238, .45); }
.cc-card {
    background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 12px;
    padding: 10px; margin-top: 8px; cursor: pointer; display: grid; gap: 4px;
}
.cc-card:hover { border-color: rgba(34, 211, 238, .4); }
.cc-card.late { border-color: rgba(248, 113, 113, .4); }
.cc-card-top { display: flex; align-items: center; gap: 6px; }
.cc-card-top em { font-style: normal; font-size: .72rem; color: var(--dim); margin-right: auto; }
.cc-card h4 { font-size: .9rem; }
.cc-card p { color: var(--dim); font-size: .76rem; }
.cc-card-actions { display: flex; gap: 6px; margin-top: 6px; }
.cc-list-ico { font-size: 1.1rem; width: 28px; text-align: center; }
.cc-editor { border-color: rgba(34, 211, 238, .35); }
.cc-editor-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.cc-preview-box span { display: block; font-size: .72rem; color: var(--dim); letter-spacing: .06em; text-transform: uppercase; margin-top: 4px; }
@media (max-width: 1100px) {
    .cc-week { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
    .cc-grid-head, .cc-grid, .cc-week { grid-template-columns: 1fr; }
    .cc-day { min-height: auto; }
    .cc-grid-head { display: none; }
    .cc-filters { width: 100%; }
    .cc-filters select, .cc-filters .btn-primary { flex: 1; }
}

/* Morning Report — executive */
.item-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: flex-end; }
.er-hero {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
    padding: 22px 24px; border: 1px solid var(--line); border-radius: var(--radius);
    background: linear-gradient(135deg, rgba(16,24,40,.9), rgba(8,13,26,.85));
}
.er-kicker {
    color: var(--cyan); letter-spacing: .16em; text-transform: uppercase;
    font-size: .68rem; font-weight: 700; margin-bottom: 4px;
}
.er-hero h3 { font-size: 1.55rem; font-weight: 650; }
.er-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.er-poles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.er-pill {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 14px; border-radius: 14px; border: 1px solid var(--line);
    background: rgba(8,13,26,.7);
}
.er-pill i {
    width: 10px; height: 10px; border-radius: 99px; flex-shrink: 0;
    background: var(--green); box-shadow: 0 0 10px var(--green);
}
.er-pill.warn i { background: var(--orange); box-shadow: 0 0 10px var(--orange); }
.er-pill.alert i { background: var(--red); box-shadow: 0 0 10px var(--red); }
.er-pill b { display: block; font-size: .92rem; }
.er-pill span { display: block; color: var(--dim); font-size: .74rem; margin-top: 2px; }
.er-flags {
    display: grid; gap: 8px; padding: 16px 18px; border-radius: var(--radius);
    border: 1px solid rgba(251,191,36,.28); background: rgba(251,191,36,.06);
}
.er-flags.ok { border-color: rgba(52,211,153,.25); background: rgba(52,211,153,.06); color: var(--green); }
.er-flag { padding: 8px 0; border-bottom: 1px solid var(--line); }
.er-flag:last-child { border-bottom: 0; }
.er-flag span {
    font-size: .66rem; font-weight: 800; letter-spacing: .1em;
    color: var(--orange);
}
.er-flag.red span { color: var(--red); }
.er-flag b { display: block; margin-top: 2px; }
.er-flag p { color: var(--dim); font-size: .82rem; margin-top: 2px; }
.er-insights { padding-left: 18px; display: grid; gap: 8px; }
.er-insights li { color: var(--txt); line-height: 1.45; }
.er-chart-wrap { height: 220px; position: relative; }
@media (max-width: 1100px) {
    .er-poles { grid-template-columns: 1fr 1fr; }
    .er-hero { flex-direction: column; }
}
@media (max-width: 860px) {
    .er-poles { grid-template-columns: 1fr; }
}

/* Bilan Général — The Vault */
.bg-page { display: grid; gap: 14px; }
.bg-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; }
.bg-vault-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 12px;
}
.bg-vault-card {
    text-align: left;
    cursor: pointer;
    padding: 16px;
    border: 1px solid var(--line);
    transition: transform .15s, border-color .15s;
}
.bg-vault-card:hover { transform: translateY(-2px); border-color: rgba(34,211,238,.35); }
.bg-vault-card i { color: var(--cyan); font-size: 1.4rem; margin-bottom: 8px; display: block; }
.bg-vault-card b { display: block; font-size: 1.05rem; }
.bg-vault-card span { display: block; color: var(--dim); font-size: .76rem; margin-top: 4px; }
.bg-closed { border-color: rgba(52,211,153,.25); }
.bg-score {
    display: flex; justify-content: space-between; align-items: center; gap: 16px;
    padding: 20px 22px;
    background: linear-gradient(135deg, rgba(14,116,144,.18), rgba(8,13,26,.9));
}
.bg-score-val { font-size: 2.6rem; font-weight: 800; color: var(--cyan); line-height: 1; }
.bg-score-val small { font-size: 1rem; color: var(--dim); font-weight: 600; }
.bg-delta.up { color: var(--green); font-weight: 700; }
.bg-delta.down { color: var(--red); font-weight: 700; }
@media (max-width: 860px) {
    .bg-score { flex-direction: column; align-items: flex-start; }
}

.se-actions { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.se-page { display: grid; gap: 14px; }

/* Effectif & Rôles — arbre généalogique pro */
.og-wrap { display: grid; gap: 16px; }
.og-hero {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
    padding: 20px 22px; border: 1px solid var(--line); border-radius: var(--radius);
    background: linear-gradient(135deg, rgba(16,24,40,.92), rgba(8,13,26,.88));
}
.og-hero h3 { font-size: 1.45rem; }
.og-filters { flex-wrap: wrap; }
.og-board { display: grid; gap: 18px; }
.og-board-tree {
    border: 1px solid var(--line); border-radius: var(--radius);
    background:
        radial-gradient(ellipse 80% 40% at 50% 0%, rgba(34,211,238,.06), transparent 55%),
        rgba(8,13,26,.55);
    overflow: hidden;
    position: relative;
}
.og-viewport {
    position: relative;
    height: min(72vh, 760px);
    overflow: hidden;
    cursor: grab;
    touch-action: none;
    user-select: none;
}
.og-viewport.is-panning { cursor: grabbing; }
.og-zoom-bar {
    position: absolute; z-index: 5; top: 12px; right: 12px;
    display: flex; align-items: center; gap: 6px;
    padding: 6px 8px; border-radius: 12px;
    border: 1px solid var(--line);
    background: rgba(8,13,26,.88);
    backdrop-filter: blur(8px);
}
.og-zoom-label {
    min-width: 3.2rem; text-align: center;
    font-size: .78rem; color: var(--dim); font-variant-numeric: tabular-nums;
}
.og-stage {
    transform-origin: 0 0;
    will-change: transform;
    width: max-content;
    min-width: 100%;
    padding: 36px 28px 48px;
}
.og-tree {
    display: flex; justify-content: center; min-width: min-content;
    margin: 0 auto;
}
.og-branch {
    display: flex; justify-content: center; align-items: flex-start;
    gap: 0; list-style: none; margin: 0; padding: 0; position: relative;
}
.og-branch-root { padding-top: 0; }
.og-node {
    display: flex; flex-direction: column; align-items: center;
    position: relative; padding: 0 14px;
}
/* Ligne verticale parent → enfants */
.og-node > .og-branch {
    padding-top: 28px;
}
.og-node > .og-branch::before {
    content: '';
    position: absolute; top: 0; left: 50%;
    width: 1px; height: 28px;
    background: color-mix(in srgb, var(--cyan) 40%, var(--line));
    transform: translateX(-50%);
}
.og-node > .og-branch > .og-node {
    padding-top: 28px;
}
/* Barre horizontale entre frères */
.og-node > .og-branch > .og-node::before,
.og-node > .og-branch > .og-node::after {
    content: '';
    position: absolute; top: 0; height: 1px;
    background: color-mix(in srgb, var(--cyan) 40%, var(--line));
}
.og-node > .og-branch > .og-node::before { right: 50%; left: 0; width: auto; }
.og-node > .og-branch > .og-node::after { left: 50%; right: 0; width: auto; }
.og-node > .og-branch > .og-node:first-child::before { display: none; }
.og-node > .og-branch > .og-node:last-child::after { display: none; }
.og-node > .og-branch > .og-node:only-child::before,
.og-node > .og-branch > .og-node:only-child::after { display: none; }
/* Descente verticale barre → carte */
.og-node > .og-branch > .og-node > .og-tree-card::before {
    content: '';
    position: absolute; left: 50%; top: -28px;
    width: 1px; height: 28px;
    background: color-mix(in srgb, var(--cyan) 40%, var(--line));
    transform: translateX(-50%);
}
.og-tree-card {
    position: relative; z-index: 1;
    width: 180px; min-height: 88px;
    text-align: left; cursor: pointer;
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
    border: 1px solid var(--line); border-radius: 12px;
    padding: 12px 12px 10px; color: inherit;
    border-top: 2px solid var(--og, var(--cyan));
    box-shadow: 0 8px 24px rgba(0,0,0,.22);
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.og-tree-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--og) 55%, var(--line));
    box-shadow: 0 12px 28px rgba(0,0,0,.28), 0 0 0 1px color-mix(in srgb, var(--og) 25%, transparent);
}
.og-tree-card.is-vacant {
    opacity: .72;
    border-style: dashed;
    background: rgba(255,255,255,.015);
}
.og-card-role {
    display: block; margin-bottom: 10px;
    font-size: .82rem; font-weight: 650; letter-spacing: .02em;
    line-height: 1.25;
}
.og-avs { display: flex; align-items: center; gap: 0; min-height: 28px; }
.og-avs img {
    width: 28px; height: 28px; border-radius: 50%; object-fit: cover;
    border: 2px solid #080d1a; margin-left: -6px;
}
.og-avs img:first-child { margin-left: 0; }
.og-avs em { font-style: normal; font-size: .72rem; color: var(--dim); margin-left: 6px; }
.og-vacant { font-size: .72rem; color: var(--dim); letter-spacing: .02em; }
.og-peek {
    display: none; margin-top: 8px; color: var(--dim); font-size: .72rem; line-height: 1.35;
}
.og-tree-card:hover .og-peek { display: grid; gap: 2px; }
.og-overlay {
    position: fixed; inset: 0; z-index: 40; background: rgba(2,6,14,.72);
    display: grid; place-items: center; padding: 24px; backdrop-filter: blur(8px);
}
.og-sheet {
    width: min(720px, 100%); max-height: min(88vh, 900px); overflow: auto;
    padding: 22px; display: grid; gap: 14px;
}
.og-sheet-top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.og-sheet-top h3 { border-left: 3px solid var(--og, var(--cyan)); padding-left: 10px; }
.og-sheet h4 { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--cyan); }
.og-sheet ul { padding-left: 18px; display: grid; gap: 6px; color: var(--txt); }
.og-people { display: grid; gap: 8px; }
.og-person {
    display: grid; grid-template-columns: 40px 1fr auto; gap: 10px; align-items: center;
    padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.03);
}
.og-person img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.og-person span { display: block; color: var(--dim); font-size: .75rem; }
.og-access, .og-wiki { display: flex; flex-wrap: wrap; gap: 8px; }
.og-access span {
    font-size: .78rem; padding: 6px 10px; border-radius: 999px;
    border: 1px solid var(--line); background: rgba(255,255,255,.04);
}
.og-edit-layer { z-index: 45; }
@media (max-width: 860px) {
    .og-hero { flex-direction: column; }
    .og-person { grid-template-columns: 40px 1fr; }
    .og-person .btn-primary { grid-column: 1 / -1; }
    .og-forest { padding: 20px 12px 28px; }
    .og-viewport { height: min(68vh, 640px); }
    .og-node { padding: 0 8px; }
    .og-tree-card { width: 160px; }
}

.abs-conflict { border-color: rgba(251,191,36,.55); box-shadow: 0 0 18px rgba(251,191,36,.12); }
.abs-conflict p { margin: 0 0 8px; }
.abs-conflict p:last-child { margin-bottom: 0; }
.abs-inbox .item { margin-bottom: 0; }
.abs-pending .abs-decide { display: grid; gap: 8px; margin-top: 8px; }
.abs-gantt-card .card-head .btn-ghost.is-on { border-color: rgba(34,211,238,.7); color: var(--cyan); }
.abs-gantt { overflow-x: auto; }
.abs-gantt-head, .abs-gantt-row {
    display: grid; grid-template-columns: 132px 1fr; gap: 8px; align-items: stretch;
    min-width: 640px;
}
.abs-gantt-head { margin-bottom: 6px; font-size: .68rem; color: var(--dim); text-transform: uppercase; letter-spacing: .06em; }
.abs-gantt-days, .abs-gantt-track { display: grid; position: relative; min-height: 34px; }
.abs-gantt-days span, .abs-col {
    display: grid; place-items: center; font-size: .68rem; color: var(--dim);
    border-left: 1px solid rgba(255,255,255,.04);
}
.abs-gantt-days span.is-today, .abs-col.is-today { background: rgba(34,211,238,.1); color: var(--cyan); }
.abs-gantt-row { margin-bottom: 4px; }
.abs-gantt-name { font-size: .8rem; font-weight: 600; padding: 6px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.abs-gantt-track {
    background: rgba(255,255,255,.03); border: 1px solid var(--line); border-radius: 10px; overflow: hidden;
}
.abs-bar {
    position: absolute; top: 5px; height: 24px; border: 0; border-radius: 8px; cursor: pointer;
    font: inherit; font-size: .62rem; font-weight: 700; color: #0b1220; padding: 0 6px;
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis; z-index: 1;
}
.abs-bar.type-vacances, .abs-stat i.type-vacances, .abs-type-dot.type-vacances { background: #34d399; }
.abs-bar.type-maladie, .abs-stat i.type-maladie, .abs-type-dot.type-maladie { background: #f87171; }
.abs-bar.type-perso, .abs-stat i.type-perso, .abs-type-dot.type-perso { background: #a78bfa; }
.abs-bar.type-ecole, .abs-stat i.type-ecole, .abs-type-dot.type-ecole { background: #38bdf8; }
.abs-bar.st-pending { opacity: .7; box-shadow: inset 0 0 0 1px #fbbf24; color: #f8fafc; }
.abs-bar.st-rejected { opacity: .4; filter: grayscale(.4); }
.abs-bar.is-conflict { box-shadow: 0 0 0 2px #fbbf24; }
.abs-bar.is-on { outline: 2px solid #fff; }
.abs-type-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; }
.abs-bars { display: grid; gap: 8px; }
.abs-stat { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; }
.abs-stat i { grid-column: 1 / -1; height: 6px; border-radius: 99px; max-width: 100%; }
#form-absence label { display: grid; gap: 4px; font-size: .74rem; color: var(--dim); }
@media (max-width: 860px) {
    .abs-gantt-head, .abs-gantt-row { grid-template-columns: 88px 1fr; min-width: 520px; }
}

.lk-toolbar-row { display: flex; gap: 10px; align-items: center; margin-bottom: 8px; }
.lk-search {
    flex: 1; display: flex; align-items: center; gap: 8px;
    background: #0a1020; border: 1px solid var(--line); border-radius: 12px; padding: 0 12px;
}
.lk-search i { color: var(--dim); }
.lk-search input { border: 0; background: transparent; padding: 10px 0; width: 100%; color: inherit; outline: none; }
.lk-sec { margin-bottom: 18px; }
.lk-sec h3 {
    margin: 0 0 10px; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase;
    color: var(--dim); display: flex; align-items: center; gap: 8px;
}
.lk-sec h3 i { color: var(--cyan); }
.lk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.lk-card {
    background: rgba(10, 16, 32, .95); border: 1px solid var(--line); border-radius: 16px;
    padding: 14px; display: grid; gap: 10px; min-width: 0;
    transition: border-color .15s, transform .15s;
}
.lk-card:hover { border-color: rgba(34,211,238,.4); transform: translateY(-1px); }
.lk-card-top { display: grid; grid-template-columns: 40px 1fr auto; gap: 10px; align-items: center; }
.lk-logo {
    width: 40px; height: 40px; border-radius: 12px; background: #0b1220;
    border: 1px solid var(--line); position: relative; overflow: hidden;
}
.lk-logo img, .lk-logo i {
    position: absolute; inset: 0; width: 100%; height: 100%;
}
.lk-logo img { object-fit: contain; padding: 6px; background: #0b1220; z-index: 1; }
.lk-logo i { display: grid; place-items: center; font-size: 1.05rem; color: var(--cyan); }
.lk-card-meta h4 { margin: 0; font-size: .92rem; }
.lk-card-meta p { margin: 2px 0 0; font-size: .72rem; color: var(--dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lk-star {
    width: 34px; height: 34px; border: 0; background: transparent; color: var(--dim); cursor: pointer; border-radius: 10px;
}
.lk-star:hover, .lk-star.is-on { color: #fbbf24; background: rgba(251,191,36,.1); }
.lk-card-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.lk-note { margin: 0; font-size: .78rem; color: var(--dim); }
.lk-card-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.lk-card-actions .btn-primary { min-width: 88px; }
.lk-favs h3 i { color: #fbbf24; }
.lk-overlay .grid-2 label { display: grid; gap: 4px; }
@media (max-width: 860px) {
    .lk-toolbar-row { flex-direction: column; align-items: stretch; }
}

/* Pass / Casino / Audit voc (CEO) */
.act-wrap { display: grid; gap: 14px; }
.act-cover { width: 100%; max-height: 180px; object-fit: cover; border-radius: 12px; border: 1px solid rgba(34,211,238,.2); }
.act-tiers { display: grid; gap: 8px; }
.act-tier {
    display: grid;
    grid-template-columns: 90px 1fr 140px 1fr 1fr auto;
    gap: 8px;
    align-items: center;
    padding: 8px;
    border-radius: 10px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.06);
}
.act-tier input, .act-tier select { width: 100%; }
.act-chart { height: 220px; position: relative; }
.act-table { display: grid; gap: 8px; }
.act-audit {
    display: grid;
    grid-template-columns: 1.4fr 70px repeat(4, minmax(72px, 1fr)) 1fr auto;
    gap: 8px;
    align-items: center;
    padding: 8px 10px;
    border-radius: 10px;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.06);
}
.act-audit label { display: grid; gap: 2px; font-size: .72rem; color: var(--dim); margin: 0; }
.act-audit input { width: 100%; }
@media (max-width: 1100px) {
    .act-tier, .act-audit { grid-template-columns: 1fr 1fr; }
}

.audit-hero { display: grid; gap: 14px; margin-bottom: 14px; }
.audit-score { display: flex; gap: 18px; align-items: center; }
.audit-gauge { width: 110px; height: 110px; flex-shrink: 0; }
.audit-chart { height: 220px; position: relative; }
.audit-flags { display: grid; gap: 8px; max-height: 280px; overflow: auto; }
.audit-flag {
    display: grid; grid-template-columns: 88px 1fr auto; gap: 10px; align-items: center;
    padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.06);
}
.audit-flag.pri-urgent { border-color: rgba(248,113,113,.35); }
.audit-flag.pri-cleanup { border-color: rgba(34,211,238,.25); }
.audit-row {
    display: grid; grid-template-columns: auto 1fr auto auto; gap: 10px; align-items: center;
    padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.05);
}
.audit-row:not(:has(img, .ph)) { grid-template-columns: 1fr auto auto; }
.audit-row img, .audit-row .ph {
    width: 36px; height: 36px; border-radius: 50%; object-fit: cover; background: #111;
}
@media (max-width: 800px) {
    .audit-flag, .audit-row { grid-template-columns: 1fr; }
}

.cai-sentinel {
    margin-bottom: 14px; padding: 14px 16px; border-radius: 14px;
    background: rgba(251, 191, 36, .12); border: 1px solid rgba(251, 191, 36, .35);
}
.cai-ok { margin-bottom: 12px; }
.cai-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 14px; align-items: stretch; }
.cai-chat-col { display: grid; gap: 10px; min-height: 0; }
.cai-chat-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.cai-chat-head h3 { margin: 0; }
.cai-starters, .cai-themes { display: flex; flex-wrap: wrap; gap: 6px; }
.cai-chip {
    border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04);
    color: #c5d0e6; border-radius: 999px; padding: 6px 12px; cursor: pointer; font: inherit;
}
.cai-chip.on, .cai-chip:hover { background: rgba(34,211,238,.18); border-color: rgba(34,211,238,.45); color: #f5f8ff; }
.cai-log {
    height: min(58vh, 560px); overflow: auto; display: grid; gap: 10px; align-content: start;
    padding: 12px; border-radius: 14px; background: rgba(0,0,0,.28);
}
.cai-msg { padding: 10px 12px; border-radius: 14px; font-size: .92rem; line-height: 1.45; }
.cai-msg.me { background: rgba(34,211,238,.14); justify-self: end; max-width: 88%; }
.cai-msg.ai { background: rgba(255,255,255,.06); max-width: 92%; }
.cai-msg.cai-err { background: rgba(248,113,113,.12); border: 1px solid rgba(248,113,113,.35); color: #fecaca; }
.cai-who { display: block; font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; color: var(--dim); margin-bottom: 4px; }
.cai-typing { opacity: .7; }
.cai-composer textarea {
    width: 100%; min-height: 84px; resize: vertical;
    background: rgba(0,0,0,.3); color: inherit; border: 1px solid var(--line);
    border-radius: 12px; padding: 10px 12px;
}
.cai-composer-actions { display: flex; justify-content: flex-end; margin-top: 8px; }
.cai-bar { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; }
.cai-tweet, .cai-pending {
    padding: 12px; border-radius: 16px; background: #0b111a;
    border: 1px solid rgba(255,255,255,.08); margin-bottom: 10px;
}
.cai-msg .cai-tweet { margin-top: 10px; margin-bottom: 0; }
.cai-tweet header {
    color: #8b98a5; font-size: .8rem; margin-bottom: 8px;
    display: flex; justify-content: space-between; gap: 8px; align-items: baseline;
}
.cai-tweet-meta { font-variant-numeric: tabular-nums; opacity: .8; }
.cai-tweet p, .cai-pending p {
    white-space: pre-wrap; margin: 0 0 10px; font-size: 1.02rem; line-height: 1.45;
    font-weight: 500; color: #f5f8ff;
}
.cai-discord { border-color: rgba(88,101,242,.35); }
.cai-tt-phone {
    aspect-ratio: 9/14; max-height: 280px; border-radius: 18px;
    background: linear-gradient(180deg, #111 0%, #1a0a12 100%);
    padding: 16px; display: grid; align-content: end; gap: 8px;
    border: 1px solid rgba(254,44,85,.35); margin-bottom: 8px;
}
.cai-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cai-news { margin: 6px 0; font-size: .85rem; }
@media (max-width: 980px) {
    .cai-layout, .cai-bar { grid-template-columns: 1fr; }
}

.follows-live {
    font-size: .85rem; color: var(--dim);
    padding: 8px 10px; border-radius: 10px;
    background: rgba(34,211,238,.08); border: 1px solid rgba(34,211,238,.18);
}

.sec-wrap { display: grid; gap: 16px; }
.sec-hero {
    display: flex; justify-content: space-between; align-items: flex-end; gap: 16px;
    padding: 20px 22px; border-radius: 18px;
    background: #03050a;
    border: 1px solid rgba(34,211,238,.28);
    box-shadow: inset 0 0 40px rgba(34,211,238,.06), 0 0 28px rgba(34,211,238,.08);
}
.sec-kicker {
    color: var(--cyan); font-size: .7rem; letter-spacing: .22em;
    text-transform: uppercase; font-weight: 700;
}
.sec-gate {
    max-width: 460px; margin: 24px auto;
    background: #03050a;
    border: 1px solid rgba(34,211,238,.3);
    box-shadow: 0 0 40px rgba(34,211,238,.1);
}
.sec-pin-form { display: grid; gap: 10px; margin-top: 14px; }
.sec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.sec-card { background: rgba(6, 10, 18, .88); }
.sec-secrets, .sec-kills { display: grid; gap: 8px; margin-top: 10px; }
.sec-secret, .sec-kill, .sec-ban {
    display: flex; justify-content: space-between; align-items: center; gap: 10px;
    padding: 10px 12px; border-radius: 12px;
    background: #05070f; border: 1px solid rgba(255,255,255,.06);
}
.sec-secret-meta { display: flex; align-items: center; gap: 8px; }
.sec-badge {
    font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    padding: 3px 7px; border-radius: 999px;
}
.sec-badge.ok { color: #6ee7b7; background: rgba(52,211,153,.12); }
.sec-badge.bad { color: #fecaca; background: rgba(248,113,113,.14); }
.sec-badge.off { color: #94a3b8; background: rgba(148,163,184,.1); }
.sec-badge.dim { color: var(--cyan); background: rgba(34,211,238,.08); }
.sec-switch {
    min-width: 56px; border-radius: 999px; padding: 5px 10px; font-size: .72rem; font-weight: 800;
    background: #0b1220; color: #94a3b8; border: 1px solid rgba(255,255,255,.1); cursor: pointer;
}
.sec-switch.on {
    color: #03050a; background: var(--cyan);
    border-color: var(--cyan); box-shadow: 0 0 16px rgba(34,211,238,.35);
}
.sec-audit { max-height: 360px; overflow: auto; display: grid; gap: 6px; margin-top: 10px; }
.sec-log {
    display: grid; grid-template-columns: 150px 140px 1fr auto; gap: 8px; align-items: baseline;
    font-size: .78rem; padding: 7px 8px; border-left: 2px solid rgba(34,211,238,.35);
    background: #05070f;
}
.sec-log time, .sec-log em { color: var(--dim); font-style: normal; }
.sec-log.sec-warn { border-color: var(--orange); }
.sec-log.sec-error { border-color: var(--red); }
.sec-log.sec-ok { border-color: var(--green); }
.sec-inline { display: flex; gap: 8px; margin: 8px 0; }
.sec-inline input { flex: 1; }
.sec-sql {
    max-height: 180px; overflow: auto; font-size: .72rem; line-height: 1.45;
    background: #010204; border: 1px solid rgba(34,211,238,.18);
    padding: 10px; border-radius: 10px; color: #67e8f9; white-space: pre-wrap;
}
.sec-err { font-size: .8rem; color: #fecaca; margin: 6px 0; }
.sec-card h4 { margin: 14px 0 6px; font-size: .82rem; color: var(--cyan); }
.sec-hero-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.sec-threat {
    position: relative; overflow: hidden;
    display: flex; justify-content: space-between; align-items: baseline;
    padding: 14px 18px; border-radius: 16px;
    background: #03050a; border: 1px solid rgba(34,211,238,.25);
    font-weight: 700; letter-spacing: .04em;
}
.sec-threat b { font-size: 1.6rem; font-family: 'Bebas Neue', sans-serif; }
.sec-threat i {
    position: absolute; left: 0; bottom: 0; height: 3px;
    background: var(--cyan); box-shadow: 0 0 12px rgba(34,211,238,.6);
}
.sec-threat.warm { border-color: rgba(251,146,60,.45); }
.sec-threat.warm i { background: #fb923c; }
.sec-threat.hot { border-color: rgba(248,113,113,.5); }
.sec-threat.hot b { color: #fecaca; }
.sec-threat.hot i { background: #f87171; }
.sec-health.ok { border-color: rgba(52,211,153,.45); }
.sec-health.ok i { background: #34d399; }
.sec-health.ok b { color: #a7f3d0; }
.sec-reliability {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
}
.sec-beacon {
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 14px 16px;
    background: rgba(2,6,23,.55);
    position: relative;
    padding-left: 42px;
}
.sec-beacon i {
    position: absolute;
    left: 16px;
    top: 18px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #64748b;
    box-shadow: 0 0 0 4px rgba(100,116,139,.2);
}
.sec-beacon.on i { background: #22c55e; box-shadow: 0 0 12px rgba(34,197,94,.55); }
.sec-beacon.warm i { background: #f59e0b; box-shadow: 0 0 10px rgba(245,158,11,.45); }
.sec-beacon.off i { background: #ef4444; box-shadow: 0 0 10px rgba(239,68,68,.45); }
.sec-beacon span { display: block; font-size: .74rem; color: var(--dim); }
.sec-beacon b { display: block; font-size: 1.25rem; margin-top: 2px; letter-spacing: .04em; }
.sec-beacon em { display: block; font-size: .72rem; color: var(--dim); margin-top: 4px; font-style: normal; }
@media (max-width: 720px) {
    .sec-reliability { grid-template-columns: 1fr; }
}
.sec-terminal {
    margin-top: 10px; max-height: 280px; overflow: auto;
    background: #010204; border: 1px solid rgba(34,211,238,.14); border-radius: 12px;
    padding: 10px 12px; font-family: ui-monospace, 'Cascadia Code', monospace; font-size: .72rem;
}
.sec-term-line { padding: 2px 0; color: #94a3b8; }
.sec-term-line time { color: #475569; margin-right: 6px; }
.sec-term-ok { color: #6ee7b7; }
.sec-term-error { color: #fca5a5; }
.sec-term-warn { color: #fcd34d; }
.sec-term-run { color: #67e8f9; }
.sec-hunter-table { display: grid; gap: 8px; margin-top: 8px; max-height: 360px; overflow: auto; }
.sec-hunter-row {
    border: 1px solid rgba(148,163,184,.15); border-radius: 10px; padding: 8px 10px;
    background: rgba(2,6,23,.5);
}
.sec-hunter-row.critical { border-color: rgba(248,113,113,.45); }
.sec-hunter-row.handled { opacity: .55; }
.sec-hunter-meta { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: .78rem; }
.sec-hunter-body { margin: 4px 0; font-size: .8rem; }
.sec-hunter-body small { display: block; color: #64748b; margin-top: 2px; }
.sec-hunter-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.sec-map {
    margin-top: 10px; border-radius: 14px; overflow: hidden;
    border: 1px solid rgba(34,211,238,.16); background: #010204;
}
.sec-map svg { display: block; width: 100%; height: auto; }
.sec-reveal {
    margin-top: 10px; padding: 10px 12px; border-radius: 10px;
    background: #120808; border: 1px solid rgba(248,113,113,.35);
    color: #fecaca; font-family: ui-monospace, monospace; font-size: .78rem;
    word-break: break-all;
}
.sec-honey {
    position: absolute !important; left: -10000px !important; top: auto !important;
    width: 1px !important; height: 1px !important; overflow: hidden !important;
    opacity: 0 !important;
}
@media (max-width: 980px) {
    .sec-grid, .sec-log { grid-template-columns: 1fr; }
    .sec-hero { flex-direction: column; align-items: stretch; }
}
.bs-mods { display: grid; gap: 8px; margin-top: 12px; }
#form-bot-shield textarea { width: 100%; min-height: 88px; }

.sen-shell { display: grid; gap: 0; }
.sen-hero {
    display: flex; align-items: flex-end; justify-content: space-between; gap: 16px;
    padding: 4px 0 14px; border-bottom: 1px solid rgba(255,255,255,.06); margin-bottom: 0;
}
.sen-guild {
    max-width: 280px; margin-top: 8px;
    background: #0a1020; border: 1px solid var(--line); color: #fff;
    border-radius: 10px; padding: 8px 12px;
}
.sen-layout {
    display: grid;
    grid-template-columns: 228px minmax(0, 1fr);
    min-height: calc(100vh - 210px);
    margin: 0 -8px;
}
.sen-nav {
    padding: 12px 0 32px;
    border-right: 1px solid rgba(255,255,255,.06);
    display: flex; flex-direction: column; gap: 2px;
}
.sen-nav-btn {
    position: relative;
    display: flex; align-items: center; gap: 10px;
    width: 100%; text-align: left;
    background: transparent; border: 0; color: #8b93a7;
    padding: 10px 16px 10px 18px; font: inherit; font-weight: 600; font-size: .86rem;
    cursor: pointer; border-radius: 0;
}
.sen-nav-btn i { width: 18px; font-size: .9rem; opacity: .85; }
.sen-nav-btn:hover { color: #fff; background: rgba(255,255,255,.03); }
.sen-nav-btn.active { color: #22d3ee; background: rgba(34,211,238,.06); }
.sen-nav-btn.active::before {
    content: ''; position: absolute; left: 0; top: 8px; bottom: 8px;
    width: 3px; background: #22d3ee; border-radius: 0 2px 2px 0;
}
.sen-main { padding: 18px 22px 88px; min-width: 0; }
.sen-page-head {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
    margin-bottom: 22px;
}
.sen-page-head h3 { margin: 0 0 6px; font-size: 1.55rem; font-weight: 700; letter-spacing: .01em; }
.sen-page-head .muted { margin: 0; max-width: 52ch; }
.sen-sec { margin-bottom: 28px; }
.sen-sec h4, .sen-sec-head h4 {
    margin: 0 0 6px; font-size: 1.05rem; font-weight: 700; color: #fff;
}
.sen-sec-head {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
    margin-bottom: 14px;
}
.sen-inf-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.sen-inf {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 18px 16px;
    background: #12161e;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 10px;
    min-height: 108px;
}
.sen-inf.off { opacity: .55; }
.sen-inf-body { flex: 1; min-width: 0; }
.sen-inf-body strong { display: block; font-size: .95rem; margin-bottom: 4px; }
.sen-inf-body p { margin: 0; font-size: .78rem; color: #8b93a7; line-height: 1.4; }
.sen-inf-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.sen-gear {
    background: none; border: 0; color: #8b93a7; cursor: pointer;
    width: 32px; height: 32px; border-radius: 8px; font-size: .95rem;
}
.sen-gear:hover { color: #fff; background: rgba(255,255,255,.06); }
.sen-tog {
    --w: 42px; width: var(--w); height: 24px; border-radius: 999px; border: 0;
    background: #3a4150; position: relative; cursor: pointer; flex-shrink: 0;
}
.sen-tog::after {
    content: ''; position: absolute; top: 3px; left: 3px;
    width: 18px; height: 18px; border-radius: 50%; background: #e8edf5;
    transition: transform .16s, background .16s;
}
.sen-tog.on { background: #22d3ee; }
.sen-tog.on::after { transform: translateX(18px); background: #041018; }
.sen-btn-cyan {
    background: #22d3ee; color: #041018; border: 0; border-radius: 8px;
    padding: 10px 16px; font-weight: 700; cursor: pointer; font: inherit;
}
.sen-btn-cyan:hover { filter: brightness(1.08); }
.sen-btn-ghost {
    background: rgba(255,255,255,.06); color: #d7dde8; border: 0;
    border-radius: 8px; padding: 8px 12px; font-weight: 600; cursor: pointer; font: inherit;
}
.sen-btn-del {
    background: rgba(255,255,255,.06); color: #f87171; border: 0;
    border-radius: 8px; padding: 8px 12px; font-weight: 600; cursor: pointer; font: inherit;
}
.sen-sanc-list { display: grid; gap: 8px; }
.sen-sanc {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 14px 16px; background: #12161e; border-radius: 10px;
    border: 1px solid rgba(255,255,255,.05);
}
.sen-sanc > div { display: flex; gap: 8px; flex-shrink: 0; }
.sen-split {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .92fr);
    gap: 28px; align-items: start;
}
.sen-form { display: grid; gap: 14px; }
.sen-form-wide { max-width: 560px; }
.sen-form label {
    display: grid; gap: 6px;
    font-size: .68rem; letter-spacing: .12em; text-transform: uppercase;
    color: #c5ccd8; font-weight: 700;
}
.sen-form input, .sen-form textarea, .sen-form select {
    width: 100%; background: #0c1018; border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px; padding: 10px 12px; color: #fff; outline: none; font: inherit;
    text-transform: none; letter-spacing: 0; font-weight: 500;
}
.sen-form textarea { min-height: 88px; resize: vertical; }
.sen-form input:focus, .sen-form textarea:focus, .sen-form select:focus {
    border-color: rgba(34,211,238,.5);
}
.sen-count { justify-self: end; font-size: .72rem; color: #8b93a7; letter-spacing: 0; text-transform: none; font-weight: 500; }
.sen-check-row {
    display: flex !important; flex-direction: row; align-items: center; justify-content: space-between;
    gap: 12px; text-transform: none; letter-spacing: 0; font-size: .88rem !important; font-weight: 600 !important;
    color: #fff !important;
}
.sen-preview {
    background: #0b0e14; border-radius: 12px; padding: 16px 16px 20px;
    border: 1px solid rgba(255,255,255,.05); position: sticky; top: 8px;
}
.sen-preview-k {
    margin: 0 0 12px; font-size: .68rem; letter-spacing: .16em;
    text-transform: uppercase; color: #8b93a7; font-weight: 700;
}
.sen-dc { display: flex; gap: 12px; align-items: flex-start; }
.sen-dc-av { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: #111; }
.sen-dc-name { font-weight: 700; font-size: .92rem; }
.sen-dc-name span {
    font-size: .62rem; font-weight: 800; letter-spacing: .06em;
    background: #22d3ee; color: #041018; border-radius: 4px; padding: 1px 5px; margin-left: 6px;
}
.sen-dc-txt { margin: 6px 0 10px; font-size: .88rem; line-height: 1.45; color: #dce3ee; }
.sen-dc-mention { background: rgba(88,101,242,.35); color: #dee0fc; border-radius: 4px; padding: 0 4px; }
.sen-dc-card {
    border-radius: 10px; overflow: hidden;
    background: linear-gradient(135deg, #0a1520, #1a0e18 70%);
    border: 1px solid rgba(34,211,238,.28); min-height: 120px;
}
.sen-dc-card-in { padding: 18px 16px; display: grid; gap: 4px; }
.sen-dc-card-in em { color: #22d3ee; font-style: normal; font-size: .72rem; letter-spacing: .14em; font-weight: 700; }
.sen-dc-card-in strong { font-size: 1.05rem; }
.sen-dc-card-in span { color: #8b93a7; font-size: .78rem; }
.sen-dc-embed {
    margin-top: 8px; padding: 12px 14px; border-left: 4px solid #22d3ee;
    background: #11151c; border-radius: 0 8px 8px 0;
}
.sen-dc-embed strong { display: block; margin-bottom: 6px; }
.sen-dc-embed p { margin: 0 0 10px; color: #c5ccd8; font-size: .84rem; }
.sen-dc-select {
    background: #1e222c; border-radius: 4px; padding: 8px 10px;
    font-size: .78rem; color: #8b93a7;
}
.sen-reasons-block { display: grid; gap: 10px; }
.sen-reasons-k {
    font-size: .68rem; letter-spacing: .12em; text-transform: uppercase;
    color: #c5ccd8; font-weight: 700;
}
.sen-reasons { display: grid; gap: 8px; }
.sen-reason {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto auto;
    gap: 8px; align-items: center;
    padding: 10px 12px; background: #12161e; border-radius: 10px;
    border: 1px solid rgba(255,255,255,.05);
}
.sen-reason.off { opacity: .45; }
.sen-reason-emoji {
    width: 100%; text-align: center; font-size: 1.1rem;
    background: #0c1018; border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px; padding: 8px 4px; color: #fff; outline: none; font: inherit;
}
.sen-reason-label {
    width: 100%; background: #0c1018; border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px; padding: 10px 12px; color: #fff; outline: none; font: inherit;
}
.sen-reason-emoji:focus, .sen-reason-label:focus { border-color: rgba(34,211,238,.5); }
.sen-reason-del { padding: 8px 10px; }
.sen-dirty {
    position: sticky; bottom: 8px; z-index: 24;
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 12px 16px; background: #161b24; border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px; box-shadow: 0 16px 40px rgba(0,0,0,.45);
}
.sen-dirty > div { display: flex; gap: 8px; }
.sen-log-grid {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
}
.sen-log-card {
    background: #12161e; border: 1px solid rgba(255,255,255,.05);
    border-radius: 12px; padding: 16px; display: grid; gap: 8px;
}
.sen-log-card.off { opacity: .42; }
.sen-log-top { display: flex; align-items: center; justify-content: space-between; }
.sen-ico {
    width: 36px; height: 36px; border-radius: 10px;
    display: grid; place-items: center;
    background: rgba(34,211,238,.1); color: var(--cyan); font-size: .95rem;
}
.sen-check input {
    appearance: none; width: 20px; height: 20px; border-radius: 4px;
    border: 1px solid #3a4150; background: transparent; cursor: pointer;
    display: grid; place-items: center;
}
.sen-check input:checked {
    background: #22d3ee; border-color: #22d3ee;
}
.sen-check input:checked::after {
    content: ''; display: block; width: 5px; height: 9px; border: solid #041018;
    border-width: 0 2px 2px 0; transform: rotate(45deg); margin-bottom: 2px;
}
.sen-log-chan { display: flex; gap: 0; }
.sen-log-chan input {
    flex: 1; background: #0c1018; border: 1px solid rgba(255,255,255,.08);
    border-right: 0; border-radius: 8px 0 0 8px; padding: 8px 10px; color: #fff; font: inherit;
}
.sen-log-chan button {
    background: #1a202b; color: #d7dde8; border: 1px solid rgba(255,255,255,.08);
    border-radius: 0 8px 8px 0; padding: 8px 12px; font-weight: 600; cursor: pointer; font: inherit;
}
.sen-tools {
    display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px;
}
.sen-tools input {
    background: #0c1018; border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px; padding: 8px 10px; color: #fff; font: inherit; min-width: 140px;
}
.sen-feeds { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.sen-modal {
    position: fixed; inset: 0; z-index: 90;
    display: grid; place-items: center;
    background: rgba(0,0,0,.62);
    padding: 24px;
}
.sen-modal-card {
    width: min(540px, 100%);
    max-height: min(86vh, 760px); overflow: auto;
    background: #161b24; border-radius: 12px;
    border: 1px solid rgba(255,255,255,.08);
    padding: 20px 22px 16px;
    box-shadow: 0 24px 64px rgba(0,0,0,.5);
}
.sen-modal-card header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 16px;
}
.sen-modal-card header h3 { margin: 0; font-size: .95rem; letter-spacing: .08em; }
.sen-modal-foot {
    display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px;
}
.sen-cat { margin: 0; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--cyan); }
.sen-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sen-card {
    display: flex; flex-direction: column; gap: 10px;
    padding: 16px 16px 14px; border-radius: 14px;
    background: #0a0e16; border: 1px solid rgba(255,255,255,.07); min-height: 168px;
}
.sen-drawer { display: none; }

/* ——— Sentinel UX v2 (smart cards, live stream, drawer) ——— */
.sen-hero-alpha {
    padding: 16px 20px; border-radius: 14px;
    background: linear-gradient(135deg, rgba(3,5,10,.95), rgba(8,16,32,.9));
    border: 1px solid rgba(34,211,238,.2);
    box-shadow: inset 0 0 48px rgba(34,211,238,.04);
}
.sen-alpha-actions { align-items: center; }
.sec-badge-live { position: relative; }
.pulse-ok { animation: sen-pulse-ok 2.4s ease-in-out infinite; }
.pulse-danger { animation: sen-pulse-danger 1.2s ease-in-out infinite; }
@keyframes sen-pulse-ok {
    0%, 100% { box-shadow: 0 0 0 0 rgba(52,211,153,.35); }
    50% { box-shadow: 0 0 0 6px rgba(52,211,153,0); }
}
@keyframes sen-pulse-danger {
    0%, 100% { box-shadow: 0 0 0 0 rgba(248,113,113,.5); }
    50% { box-shadow: 0 0 0 8px rgba(248,113,113,0); }
}
.btn-emergency {
    border: 2px solid #ef4444 !important;
    background: linear-gradient(135deg, rgba(127,29,29,.55), rgba(69,10,10,.75)) !important;
    color: #fecaca !important;
    border-radius: 12px; padding: 10px 16px; font-weight: 800; cursor: pointer;
    display: inline-flex; align-items: center; gap: 8px;
    box-shadow: 0 0 20px rgba(239,68,68,.2), inset 0 0 12px rgba(255,255,255,.04);
    transition: transform .12s, box-shadow .2s, filter .2s;
}
.btn-emergency:hover {
    filter: brightness(1.1);
    box-shadow: 0 0 28px rgba(239,68,68,.45), inset 0 0 20px rgba(255,255,255,.08);
    background-image: linear-gradient(135deg, rgba(127,29,29,.7), rgba(69,10,10,.9)),
        repeating-linear-gradient(-45deg, transparent, transparent 4px, rgba(255,255,255,.03) 4px, rgba(255,255,255,.03) 8px) !important;
}
.sen-body-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    gap: 0;
    min-height: calc(100vh - 220px);
}
.sen-inf {
    position: relative; overflow: hidden;
}
.sen-inf-live {
    border-color: rgba(34,211,238,.22) !important;
    box-shadow: inset 0 0 24px rgba(34,211,238,.06), 0 0 0 1px rgba(34,211,238,.08);
}
.sen-inf-pulse { animation: sen-card-pulse 1.4s ease-out 1; }
@keyframes sen-card-pulse {
    0% { box-shadow: 0 0 0 0 rgba(34,211,238,.55), inset 0 0 30px rgba(34,211,238,.15); }
    100% { box-shadow: inset 0 0 24px rgba(34,211,238,.06), 0 0 0 1px rgba(34,211,238,.08); }
}
.sen-spark-wrap {
    position: absolute; right: 0; bottom: 0; width: 52%; height: 42px;
    opacity: .35; pointer-events: none; color: #22d3ee;
}
.sen-spark { width: 100%; height: 100%; display: block; }
.sen-spark-fill { fill: rgba(34,211,238,.12); }
.sen-spark-line { fill: none; stroke: currentColor; stroke-width: 1.5; }
.sen-gear-prominent {
    width: 38px !important; height: 38px !important;
    background: rgba(34,211,238,.1) !important;
    border: 1px solid rgba(34,211,238,.25) !important;
    color: #67e8f9 !important;
    border-radius: 10px !important;
    font-size: 1rem !important;
}
.sen-gear-prominent:hover {
    background: rgba(34,211,238,.2) !important;
    box-shadow: 0 0 14px rgba(34,211,238,.25);
}
.sen-drawer-backdrop {
    position: fixed; inset: 0; z-index: 90;
    background: rgba(0,0,0,.45);
    backdrop-filter: blur(2px);
    display: flex; justify-content: flex-end;
    animation: sen-fade-in .2s ease;
}
.sen-drawer-backdrop.open .sen-drawer-panel { transform: translateX(0); }
.sen-drawer-panel {
    width: min(420px, 92vw); height: 100%;
    background: linear-gradient(180deg, #121820, #0a0e14);
    border-left: 1px solid rgba(34,211,238,.2);
    box-shadow: -16px 0 48px rgba(0,0,0,.5);
    padding: 20px 22px 28px; overflow: auto;
    transform: translateX(100%);
    transition: transform .28s cubic-bezier(.22,1,.36,1);
}
.sen-drawer-head {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: 12px; margin-bottom: 18px;
}
.sen-drawer-head h3 { margin: 4px 0 0; font-size: 1.1rem; }
.sen-drawer-foot {
    display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px;
    padding-top: 14px; border-top: 1px solid rgba(255,255,255,.06);
}
@keyframes sen-fade-in { from { opacity: 0; } to { opacity: 1; } }
.sen-stream-panel {
    border-left: 1px solid rgba(34,211,238,.12);
    background: #010204;
    display: flex; flex-direction: column;
    min-height: 0;
}
.sen-stream-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 14px; font-size: .72rem; letter-spacing: .1em;
    text-transform: uppercase; font-weight: 700; color: #67e8f9;
    border-bottom: 1px solid rgba(34,211,238,.12);
    background: rgba(34,211,238,.04);
}
.sen-stream-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: #22c55e; box-shadow: 0 0 10px rgba(34,197,94,.7);
    animation: sen-pulse-ok 2s ease-in-out infinite;
}
.sen-terminal {
    flex: 1; overflow: auto; padding: 10px 12px;
    font-family: ui-monospace, 'Cascadia Code', 'Consolas', monospace;
    font-size: .7rem; line-height: 1.45;
    max-height: calc(100vh - 240px);
}
.sen-terminal-flash { animation: sen-term-flash .4s ease; }
@keyframes sen-term-flash {
    0% { background: rgba(34,211,238,.08); }
    100% { background: transparent; }
}
.sen-term-line { padding: 2px 0; color: #94a3b8; display: flex; gap: 8px; }
.sen-term-line time { color: #475569; flex-shrink: 0; }
.sen-term-ok span { color: #6ee7b7; }
.sen-term-warn span { color: #fcd34d; }
.sen-term-error span { color: #fca5a5; }
.sen-term-delete span { color: #f472b6; }
.sen-term-dim { color: #475569; font-style: italic; }
.sen-timeline {
    display: flex; flex-direction: column; gap: 0;
    padding: 8px 0 4px 4px;
}
.sen-timeline-step {
    display: flex; align-items: center; gap: 12px;
    padding: 14px 16px; border-radius: 12px;
    background: #12161e; border: 1px solid rgba(255,255,255,.06);
    position: relative;
}
.sen-tl-base { border-color: rgba(52,211,153,.25); }
.sen-tl-draggable { cursor: grab; }
.sen-tl-draggable:active { cursor: grabbing; }
.sen-tl-dragging { opacity: .45; }
.sen-tl-over { border-color: rgba(34,211,238,.45); box-shadow: 0 0 16px rgba(34,211,238,.12); }
.sen-tl-connector {
    width: 2px; height: 14px; margin-left: 28px;
    background: linear-gradient(180deg, rgba(34,211,238,.5), rgba(167,139,250,.3));
}
.sen-tl-grip { color: #64748b; font-size: .8rem; }
.sen-tl-num {
    width: 32px; height: 32px; border-radius: 50%;
    display: grid; place-items: center; font-weight: 800; font-size: .82rem;
    background: rgba(34,211,238,.12); color: #67e8f9; flex-shrink: 0;
}
.sen-tl-ok { background: rgba(52,211,153,.15); color: #6ee7b7; }
.sen-tl-cyan { background: rgba(34,211,238,.15); }
.sen-tl-orange { background: rgba(251,146,60,.15); color: #fdba74; }
.sen-tl-red { background: rgba(248,113,113,.15); color: #fca5a5; }
.sen-tl-body { flex: 1; min-width: 0; }
.sen-tl-body strong { display: block; font-size: .9rem; }
.sen-tl-body p { margin: 2px 0 0; font-size: .75rem; color: #8b93a7; }
.sen-tl-actions { display: flex; gap: 6px; flex-shrink: 0; }
.sen-tl-empty { padding: 12px 16px; }

@media (max-width: 1100px) {
    .sen-body-wrap { grid-template-columns: 1fr; }
    .sen-stream-panel { border-left: 0; border-top: 1px solid rgba(34,211,238,.12); max-height: 220px; }
    .sen-terminal { max-height: 180px; }
}
@media (max-width: 1100px) {
    .sen-layout { grid-template-columns: 1fr; min-height: 0; }
    .sen-nav {
        flex-direction: row; overflow: auto; border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.06); padding: 8px 4px;
    }
    .sen-nav-btn { white-space: nowrap; padding: 8px 12px; }
    .sen-nav-btn.active::before { top: auto; bottom: 0; left: 10px; right: 10px; width: auto; height: 2px; }
    .sen-inf-grid, .sen-log-grid, .sen-feeds, .sen-split, .sen-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
    .sen-inf-grid, .sen-log-grid, .sen-feeds, .sen-split, .sen-grid { grid-template-columns: 1fr; }
    .sen-hero { flex-direction: column; align-items: stretch; }
    .sen-dirty { flex-direction: column; align-items: stretch; }
}

/* ——— PWA mobile (barre du bas désactivée) ——— */
.pwa-bottom-nav { display: none !important; }
.pwa-nav-btn {
    flex: 1;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 3px; min-height: 52px; padding: 4px 2px;
    border: 0; border-radius: 12px; background: transparent;
    color: var(--dim); font-size: .62rem; font-weight: 600; letter-spacing: .02em;
    cursor: pointer;
}
.pwa-nav-btn i { font-size: 1.15rem; }
.pwa-nav-btn.active { color: var(--cyan); background: rgba(0, 255, 255, .08); }
.pwa-ptr-hint {
    text-align: center; padding: 10px; color: var(--cyan); font-size: .8rem;
    background: rgba(0, 255, 255, .06); border-bottom: 1px solid rgba(0, 255, 255, .12);
}
.pwa-profile .pwa-topic-grid {
    display: grid; gap: 10px; margin: 12px 0;
}
.pwa-profile .chk {
    display: flex; align-items: center; gap: 8px; font-size: .88rem; color: var(--text);
}
.sec-badge.ok { color: #4ade80; }
.sec-badge.bad { color: #f87171; }

@media (max-width: 860px) {
    .view-root { overflow-x: hidden; max-width: 100%; }
    .table-wrap,
    .fin-table-wrap,
    .card:has(.data-table),
    .card:has(.fin-table) {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
    }
    .fin-overlay,
    .rec-overlay,
    .scout-overlay,
    .og-overlay,
    .lk-overlay {
        padding: 12px;
        align-items: flex-start;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    .fin-overlay-card,
    .rec-dossier,
    .scout-dossier,
    .scout-add-modal,
    .scout-modal {
        width: min(920px, 100%);
        max-height: min(92dvh, 960px);
        margin: env(safe-area-inset-top, 0px) auto env(safe-area-inset-bottom, 0px);
    }
    .btn-sm { min-height: 36px; padding: 8px 11px; }
}

@media (max-width: 720px) {
    /* Card rows only when cells expose data-label (opt-in) */
    .data-table:has(td[data-label]) { border: 0; min-width: 0; }
    .data-table:has(td[data-label]) thead { display: none; }
    .data-table:has(td[data-label]) tbody { display: flex; flex-direction: column; gap: 10px; }
    .data-table:has(td[data-label]) tr {
        display: block;
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 10px 12px;
        background: rgba(255, 255, 255, .02);
    }
    .data-table:has(td[data-label]) td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
        border: none;
        padding: 6px 0;
        font-size: .84rem;
    }
    .data-table:has(td[data-label]) td::before {
        content: attr(data-label);
        flex: 0 0 auto;
        max-width: 42%;
        color: var(--dim);
        font-size: .7rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .04em;
    }
    .data-table:has(td[data-label]) td:not([data-label])::before { content: none; }
    .data-table:not(:has(td[data-label])) { min-width: 560px; }
}
.lv-player-upload input[type="file"] { margin-top: 6px; }
.lv-table .lv-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.legal-vault-page .sec-badge { font-size: .78rem; font-weight: 700; }

/* War Room Chat BI */
.wr-page .wr-layout { min-height: 520px; }
.wr-kpis { grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.wr-kpi em { display: block; font-size: .68rem; color: var(--dim); font-style: normal; margin-top: 2px; }
.wr-context h4 { margin-bottom: 6px; }
.wr-flash-card p { margin: 8px 0; font-size: .9rem; line-height: 1.45; }
.wr-diag { border-left: 3px solid var(--cyan); }
@media (max-width: 900px) {
    .wr-page .cai-layout { grid-template-columns: 1fr; }
}

/* Dossier Sponsoring PDF */
.ds-page .ds-kpi em { display: block; font-size: .68rem; color: var(--dim); font-style: normal; margin-top: 2px; }
.ds-sections { border: 1px solid var(--stroke); border-radius: 10px; padding: 12px 14px; margin: 0; }
.ds-sections legend { padding: 0 6px; color: var(--cyan); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.ds-check { display: flex; align-items: center; gap: 8px; padding: 6px 0; }
.ds-check i { color: var(--cyan); width: 18px; text-align: center; }
.ds-inject-list { list-style: none; padding: 0; margin: 0; }
.ds-inject-list li { padding: 8px 0; border-bottom: 1px solid var(--stroke); font-size: .88rem; color: var(--dim); }
.ds-inject-list li i { color: var(--cyan); margin-right: 8px; width: 18px; }
.ds-actions { margin-top: 8px; }

.form-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px;
}
.form-grid label { display: grid; gap: 6px; font-size: .8rem; color: var(--dim); font-weight: 600; }
.form-grid .span-2 { grid-column: 1 / -1; }
.form-grid input,
.form-grid select,
.form-grid textarea {
    width: 100%;
    background: #0a1020;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 10px 12px;
    color: var(--txt);
    outline: none;
}
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus {
    border-color: rgba(34,211,238,.55);
    box-shadow: 0 0 0 3px rgba(34,211,238,.12);
}
.form-grid textarea { min-height: 120px; resize: vertical; }
.form-grid fieldset { border: none; padding: 0; margin: 0; }
@media (max-width: 720px) {
    .form-grid { grid-template-columns: 1fr; }
}

/* JIT Access — Zero-Trust */
.jit-countdown-slot { flex: 1; display: flex; justify-content: center; min-width: 0; }
.jit-countdown {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 6px 14px; border-radius: 999px;
    background: rgba(245, 158, 11, .12); border: 1px solid rgba(245, 158, 11, .35);
    color: #fbbf24; font-size: .82rem; font-weight: 600;
    animation: jit-pulse 2s ease-in-out infinite;
}
.jit-countdown i { opacity: .85; }
@keyframes jit-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, .25); }
    50% { box-shadow: 0 0 12px 2px rgba(245, 158, 11, .2); }
}
.jit-locked-page { display: flex; justify-content: center; align-items: flex-start; padding-top: 2rem; }
.jit-locked-card {
    max-width: 420px; text-align: center; padding: 2.5rem 2rem;
    border: 1px solid var(--stroke); border-radius: 16px;
    background: linear-gradient(160deg, rgba(15, 23, 42, .9), rgba(30, 41, 59, .6));
}
.jit-lock-icon {
    width: 64px; height: 64px; margin: 0 auto 1rem;
    display: grid; place-items: center; border-radius: 50%;
    background: rgba(239, 68, 68, .12); color: #f87171; font-size: 1.5rem;
}
.jit-locked-card h3 { margin: 0 0 .75rem; font-size: 1.25rem; }
.jit-pending { color: #fbbf24; margin-top: 1rem; font-weight: 600; }
.jit-pending i { margin-right: 6px; }
.jit-panel-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.jit-panel-table th, .jit-panel-table td { padding: 10px 8px; border-bottom: 1px solid var(--stroke); text-align: left; }
.jit-panel-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.mirage-stats { margin-top: 10px; font-size: .82rem; }
.mirage-live-badge {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    padding: 10px 16px; margin-bottom: 12px; border-radius: 12px;
    background: linear-gradient(90deg, rgba(168, 85, 247, .18), rgba(34, 211, 238, .1));
    border: 1px solid rgba(168, 85, 247, .45);
    color: #e9d5ff; font-weight: 700; font-size: .9rem;
    animation: mirage-glow 2.5s ease-in-out infinite;
}
.mirage-live-badge em { font-weight: 500; color: #c4b5fd; font-style: normal; font-size: .78rem; }
.mirage-ghost { font-size: 1.2rem; }
@keyframes mirage-glow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(168, 85, 247, .2); }
    50% { box-shadow: 0 0 16px 4px rgba(168, 85, 247, .15); }
}
.mirage-panel { border-color: rgba(168, 85, 247, .25); }
.mirage-terminal {
    max-height: 220px; overflow-y: auto; margin-top: 10px;
    font-family: ui-monospace, monospace; font-size: .75rem; line-height: 1.5;
    background: rgba(0, 0, 0, .35); border-radius: 8px; padding: 10px;
}
.mirage-line { color: #a5f3fc; border-bottom: 1px solid rgba(34, 211, 238, .08); padding: 4px 0; }
.mirage-sessions { display: grid; gap: 8px; margin-bottom: 10px; }
.mirage-sess-row {
    padding: 8px 10px; border-radius: 8px; border: 1px solid var(--stroke);
    font-size: .82rem; display: grid; gap: 2px;
}
.mirage-sess-row b { color: #e9d5ff; }
.mirage-sess-row small { color: var(--dim); }
.mirage-traps { margin-top: 10px; }
.mirage-trap-row { color: #f87171; font-size: .8rem; padding: 4px 0; }

/* OSINT — External Intelligence */
.osint-panel { border-color: rgba(34, 211, 238, .2); }
.osint-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.osint-meta { font-size: .82rem; margin: 8px 0 12px; }
.osint-pwned { color: #f87171; font-weight: 700; }
.osint-feed { display: grid; gap: 10px; max-height: 360px; overflow-y: auto; }
.osint-row {
    padding: 10px 12px; border-radius: 10px; border: 1px solid var(--stroke);
    background: rgba(0, 0, 0, .2);
}
.osint-row header { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 6px; }
.osint-row header time { margin-left: auto; font-size: .72rem; color: var(--dim); }
.osint-row p { margin: 0; font-size: .86rem; line-height: 1.45; color: var(--dim); }
.osint-row footer { display: flex; justify-content: space-between; gap: 8px; margin-top: 8px; font-size: .78rem; }
.osint-row footer a { color: var(--cyan); }
.osint-critical { border-color: rgba(239, 68, 68, .45); background: rgba(239, 68, 68, .06); }
.osint-warning { border-color: rgba(245, 158, 11, .35); }
.osint-info { border-color: rgba(34, 197, 94, .2); }
.osint-terminal { max-height: 160px; overflow-y: auto; margin-top: 12px; font-family: ui-monospace, monospace; font-size: .72rem; }
.osint-line { padding: 3px 0; border-bottom: 1px solid rgba(255,255,255,.04); }
.osint-line.osint-error { color: #f87171; }
.osint-line.osint-warn { color: #fbbf24; }
.osint-line.osint-ok { color: #34d399; }
.osint-shields { margin: 12px 0; padding: 10px; border-radius: 8px; border: 1px dashed rgba(239, 68, 68, .4); }
.osint-shield-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 6px 0; font-size: .84rem; }
.osint-empty { padding: 12px 0; }

/* SENTINEL — Configuration Économie */
.sen-eco-sec {
    margin: 22px 0 10px; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase;
    color: #8b93a7; font-weight: 700;
}
.sen-eco-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
}
.sen-eco-grid .span-2 { grid-column: 1 / -1; }
.sen-eco-card {
    display: flex; flex-direction: column; gap: 8px;
    background: rgba(8, 12, 22, .72); border: 1px solid rgba(34, 211, 238, .12);
    border-radius: 12px; padding: 14px 16px; font-size: .68rem; letter-spacing: .1em;
    text-transform: uppercase; color: #8b93a7; font-weight: 700;
}
.sen-eco-card input, .sen-eco-card select, .sen-eco-card textarea {
    text-transform: none; letter-spacing: 0; font-weight: 600; font-size: .88rem;
    background: #0a101c; border: 1px solid rgba(255,255,255,.08); color: #f5f8ff;
    border-radius: 8px; padding: 10px 12px; width: 100%;
}
.sen-eco-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sen-eco-row-between { justify-content: space-between; }
.sen-eco-row .muted { text-transform: none; letter-spacing: 0; font-weight: 500; font-size: .8rem; }
.sen-eco-role {
    display: grid; grid-template-columns: 1fr 90px 36px; gap: 8px; margin-top: 8px;
}
.sen-eco-nuclear { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
@media (max-width: 900px) {
    .sen-eco-grid { grid-template-columns: 1fr; }
}

/* Manuel recrutement Fortnite — DA Hexa */
.fnrm-wrap {
    display: grid;
    gap: 18px;
    max-width: 920px;
}
.fnrm-hero {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
    padding: 20px 22px; border: 1px solid var(--line); border-radius: var(--radius);
    background: linear-gradient(135deg, rgba(16,24,40,.95), rgba(8,13,26,.9));
}
.fnrm-hero h3 { font-size: 1.45rem; margin: 0 0 4px; }
.fnrm-hero .muted { margin: 0; max-width: 36rem; }
.fnrm-doc {
    border: 1px solid rgba(34,211,238,.18); border-radius: 18px; overflow: hidden;
    background:
        radial-gradient(ellipse 80% 40% at 0% 0%, rgba(34,211,238,.12), transparent 55%),
        radial-gradient(ellipse 60% 30% at 100% 0%, rgba(167,139,250,.1), transparent 50%),
        linear-gradient(180deg, #0a101c 0%, #070b14 40%);
    box-shadow: 0 18px 48px rgba(0,0,0,.35);
}
.fnrm-cover {
    padding: 40px 32px 30px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.fnrm-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.fnrm-brand img {
    width: 56px; height: 56px; object-fit: contain;
    filter: drop-shadow(0 0 14px rgba(34,211,238,.5));
}
.fnrm-name {
    font-family: 'Bebas Neue', sans-serif; font-size: 2.2rem; letter-spacing: .08em;
    line-height: .9; margin: 0; color: #f8fafc;
}
.fnrm-name span { color: var(--cyan); }
.fnrm-sub {
    margin: 6px 0 0; font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: var(--dim);
}
.fnrm-kicker {
    font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--cyan);
    margin: 0 0 10px; font-weight: 700;
}
.fnrm-cover h1 {
    font-family: 'Bebas Neue', sans-serif; font-size: clamp(2.4rem, 5vw, 3.4rem);
    letter-spacing: .06em; margin: 0; font-weight: 400; line-height: .92; color: #fff;
}
.fnrm-cover h2 {
    font-family: 'Outfit', sans-serif; font-size: 1.2rem; font-weight: 600;
    color: #c4b5fd; margin: 10px 0 14px;
}
.fnrm-lead { color: #94a3b8; max-width: 40rem; margin: 0 0 18px; line-height: 1.55; font-size: .95rem; }
.fnrm-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.fnrm-meta span {
    font-size: .72rem; padding: 6px 12px; border-radius: 999px; font-weight: 650;
    border: 1px solid rgba(34,211,238,.28); color: #67e8f9;
    background: rgba(34,211,238,.08);
}
.fnrm-toc {
    padding: 24px 32px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.02);
}
.fnrm-toc h3 {
    font-size: .72rem; letter-spacing: .14em; text-transform: uppercase;
    color: var(--cyan); margin: 0 0 14px; font-weight: 700;
}
.fnrm-toc ol {
    list-style: none; margin: 0; padding: 0;
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px;
}
.fnrm-toc li { margin: 0; }
.fnrm-toc a,
.fnrm-toc a:link,
.fnrm-toc a:visited {
    display: flex; align-items: baseline; gap: 10px;
    color: #e8eef8 !important; text-decoration: none;
    font-size: .9rem; padding: 8px 10px; border-radius: 10px;
    border: 1px solid transparent; transition: .15s ease;
}
.fnrm-toc a:hover {
    color: #fff !important;
    background: rgba(34,211,238,.08);
    border-color: rgba(34,211,238,.22);
}
.fnrm-toc a em {
    font-style: normal; font-weight: 700; font-size: .72rem;
    letter-spacing: .08em; color: var(--cyan); min-width: 1.7rem;
}
.fnrm-sec {
    padding: 26px 32px;
    border-bottom: 1px solid rgba(255,255,255,.05);
}
.fnrm-sec:last-of-type { border-bottom: 0; }
.fnrm-sec h3 {
    display: flex; align-items: baseline; gap: 12px; margin: 0 0 14px;
    font-family: 'Bebas Neue', sans-serif; font-size: 1.6rem; letter-spacing: .05em;
    font-weight: 400; color: #f8fafc;
}
.fnrm-sec h3 span {
    font-family: 'Outfit', sans-serif; font-size: .74rem; font-weight: 700;
    color: var(--cyan); letter-spacing: .14em;
}
.fnrm-sec p { color: #cbd5e1; line-height: 1.6; margin: 0 0 12px; }
.fnrm-sec strong { color: #f8fafc; }
.fnrm-list, .fnrm-steps {
    margin: 0; padding-left: 1.15rem; display: grid; gap: 9px; color: #cbd5e1;
}
.fnrm-list b, .fnrm-steps b { color: #f8fafc; }
.fnrm-list-warn li { color: #fda4af; }
.fnrm-pipe {
    display: flex; flex-wrap: wrap; gap: 8px;
    list-style: none; margin: 0 0 16px; padding: 0;
}
.fnrm-pipe li {
    display: inline-flex; align-items: center;
    font-size: .78rem; font-weight: 650; padding: 8px 12px; border-radius: 10px;
    background: rgba(34,211,238,.1); border: 1px solid rgba(34,211,238,.28); color: #67e8f9;
}
.fnrm-table-wrap {
    overflow-x: auto; margin: 0 0 14px;
    border: 1px solid rgba(255,255,255,.08); border-radius: 14px;
}
.fnrm-table {
    width: 100%; border-collapse: collapse; font-size: .86rem;
}
.fnrm-table th, .fnrm-table td {
    text-align: left; padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,.06); vertical-align: top;
    color: #e2e8f0;
}
.fnrm-table tr:last-child td { border-bottom: 0; }
.fnrm-table th {
    font-size: .7rem; letter-spacing: .08em; text-transform: uppercase;
    color: var(--cyan); font-weight: 700; background: rgba(34,211,238,.05);
}
.fnrm-callout {
    padding: 14px 16px; border-radius: 12px; border-left: 3px solid var(--cyan);
    background: rgba(34,211,238,.07); color: #e2e8f0; line-height: 1.5;
}
.fnrm-warn {
    padding: 14px 16px; border-radius: 12px; border-left: 3px solid #f87171;
    background: rgba(248,113,113,.08); color: #fecaca; line-height: 1.5;
}
.fnrm-scores { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.fnrm-scores span {
    font-size: .78rem; padding: 8px 12px; border-radius: 10px;
    border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.03); color: #e2e8f0;
}
.fnrm-template { margin: 0 0 14px; }
.fnrm-tpl-label {
    font-size: .7rem; letter-spacing: .1em; text-transform: uppercase;
    color: #c4b5fd; margin: 0 0 8px; font-weight: 700;
}
.fnrm-template blockquote {
    margin: 0; padding: 14px 16px; border-radius: 12px;
    border: 1px dashed rgba(167,139,250,.4); background: rgba(167,139,250,.08);
    color: #ede9fe; font-size: .9rem; line-height: 1.55; white-space: pre-line;
}
.fnrm-fiche {
    margin: 0; padding: 16px 18px; border-radius: 14px; overflow: auto;
    background: #05070f; border: 1px solid rgba(34,211,238,.25);
    color: #a5f3fc; font-size: .78rem; line-height: 1.5; white-space: pre-wrap;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.fnrm-status { display: flex; flex-wrap: wrap; gap: 8px; }
.fnrm-status span {
    font-size: .78rem; font-weight: 650; padding: 7px 12px; border-radius: 999px;
    border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.03);
}
.fnrm-status [data-c="cyan"] { color: #22d3ee; border-color: rgba(34,211,238,.4); }
.fnrm-status [data-c="blue"] { color: #60a5fa; border-color: rgba(96,165,250,.4); }
.fnrm-status [data-c="violet"] { color: #a78bfa; border-color: rgba(167,139,250,.4); }
.fnrm-status [data-c="amber"] { color: #fbbf24; border-color: rgba(251,191,36,.4); }
.fnrm-status [data-c="green"] { color: #34d399; border-color: rgba(52,211,153,.4); }
.fnrm-status [data-c="red"] { color: #f87171; border-color: rgba(248,113,113,.4); }
.fnrm-status [data-c="dim"] { color: #94a3b8; }
.fnrm-legal {
    font-size: .8rem; color: var(--dim); border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 14px; margin-top: 8px; line-height: 1.5;
}
.fnrm-foot {
    display: flex; flex-wrap: wrap; gap: 10px 18px; justify-content: space-between;
    padding: 16px 32px; font-size: .72rem; color: var(--dim); letter-spacing: .04em;
    border-top: 1px solid rgba(255,255,255,.06); background: rgba(0,0,0,.2);
}
@media (max-width: 720px) {
    .fnrm-toc ol { grid-template-columns: 1fr; }
    .fnrm-hero { flex-direction: column; }
    .fnrm-cover, .fnrm-sec, .fnrm-toc, .fnrm-foot { padding-left: 18px; padding-right: 18px; }
}

/* —— Profil Joueurs —— */
.scout-crm {
    display: grid; gap: 14px;
    color-scheme: dark;
}
.scout-crm input,
.scout-crm select,
.scout-crm textarea,
.scout-crm button {
    color-scheme: dark;
}
.scout-hero {
    display: flex; justify-content: space-between; gap: 16px;
    align-items: flex-start; flex-wrap: wrap;
    background: linear-gradient(135deg, rgba(34,211,238,.08), rgba(167,139,250,.06));
    border-color: rgba(34,211,238,.2);
}
.scout-kicker {
    margin: 0; color: var(--cyan); font-size: .72rem;
    letter-spacing: .16em; text-transform: uppercase; font-weight: 700;
}
.scout-hero h2 { margin: 6px 0 0; font-size: 1.45rem; }
.scout-hero-sub { margin: 6px 0 0; }
.scout-subnav {
    display: flex; flex-wrap: wrap; gap: 6px;
    padding: 8px; border: 1px solid var(--line); border-radius: 14px;
    background: rgba(8, 13, 26, .72);
}
.scout-crm .scout-tab,
.scout-crm .scout-subnav > .btn-ghost {
    background: rgba(255,255,255,.03) !important;
    border: 1px solid transparent !important;
    color: var(--dim) !important;
    border-radius: 10px !important;
    padding: 7px 11px !important;
    font-size: .78rem !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}
.scout-crm .scout-tab:hover,
.scout-crm .scout-subnav > .btn-ghost:hover {
    color: var(--txt) !important;
    background: rgba(34,211,238,.08) !important;
    border-color: rgba(34,211,238,.25) !important;
    transform: none;
}
.scout-crm .scout-tab.active,
.scout-crm .scout-tab.on,
.scout-crm .scout-subnav > .btn-ghost.active {
    color: var(--cyan) !important;
    background: rgba(34,211,238,.14) !important;
    border-color: rgba(34,211,238,.4) !important;
}
.scout-toolbar {
    display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
    margin-bottom: 12px;
    justify-content: flex-start;
}
.scout-toolbar-actions {
    display: flex; gap: 8px; align-items: center; margin-left: auto;
}
.scout-search {
    display: flex; align-items: center; gap: 8px; flex: 1; min-width: 220px; max-width: 420px;
    background: #0b1220; border: 1px solid var(--line); border-radius: 12px; padding: 0 12px;
}
.scout-search:focus-within {
    border-color: rgba(34,211,238,.5);
    box-shadow: 0 0 0 3px rgba(34,211,238,.1);
}
.scout-search i { color: var(--dim); font-size: .85rem; }
.scout-search input {
    flex: 1; border: 0 !important; background: transparent !important;
    color: #f5f8ff !important; outline: none; padding: 10px 0;
    box-shadow: none !important; border-radius: 0 !important;
    -webkit-appearance: none !important; appearance: none !important;
}
.scout-search input::placeholder { color: var(--dim); }
.scout-crm input[type="text"],
.scout-crm input[type="search"],
.scout-crm input:not([type]),
.scout-crm textarea {
    -webkit-appearance: none !important;
    appearance: none !important;
    background: #0b1220 !important;
    color: #f5f8ff !important;
    border: 1px solid var(--line) !important;
    border-radius: 10px !important;
    caret-color: var(--cyan);
}
.scout-crm .scout-search input[type="text"] {
    background: transparent !important;
    border: 0 !important;
}
.scout-crm input:-webkit-autofill,
.scout-crm input:-webkit-autofill:hover,
.scout-crm input:-webkit-autofill:focus {
    -webkit-text-fill-color: #f5f8ff !important;
    -webkit-box-shadow: 0 0 0 1000px #0b1220 inset !important;
    transition: background-color 99999s ease-out;
}
.scout-menu { position: relative; min-width: 180px; }
.scout-menu-btn {
    display: inline-flex; align-items: center; justify-content: space-between; gap: 10px;
    width: 100%; min-height: 40px;
    background: #0b1220 !important; color: #f5f8ff !important;
    border: 1px solid var(--line) !important; border-radius: 10px !important;
    padding: 8px 12px !important; font-size: .82rem; font-weight: 600;
    cursor: pointer; box-shadow: none !important;
}
.scout-menu-btn:hover { border-color: rgba(34,211,238,.4) !important; }
.scout-menu-btn i { color: var(--dim); font-size: .75rem; }
.scout-menu.is-open .scout-menu-btn {
    border-color: rgba(34,211,238,.5) !important;
    box-shadow: 0 0 0 3px rgba(34,211,238,.1);
}
.scout-menu-panel {
    position: absolute; z-index: 40; top: calc(100% + 6px); left: 0; right: 0;
    max-height: 280px; overflow: auto;
    background: #0b1220; border: 1px solid rgba(34,211,238,.28);
    border-radius: 12px; padding: 6px;
    box-shadow: 0 18px 40px rgba(0,0,0,.55);
}
.scout-menu-panel[hidden] { display: none !important; }
.scout-menu-opt {
    display: block; width: 100%; text-align: left;
    background: transparent !important; border: 0 !important;
    color: #e2e8f0 !important; border-radius: 8px;
    padding: 8px 10px !important; font-size: .8rem; cursor: pointer;
}
.scout-menu-opt:hover { background: rgba(34,211,238,.1) !important; color: #fff !important; }
.scout-menu-opt.on { background: rgba(34,211,238,.16) !important; color: var(--cyan) !important; }
.scout-row-actions .scout-menu { min-width: 150px; max-width: 180px; }
.scout-row-actions .scout-menu-btn { min-height: 34px; padding: 6px 10px !important; font-size: .76rem; }
.scout-crm .scout-dossier select,
.scout-crm .scout-dossier input,
.scout-crm .scout-dossier textarea,
.scout-crm #scout-add-overlay select,
.scout-crm #scout-add-overlay input,
.scout-crm #scout-add-overlay textarea {
    appearance: none;
    -webkit-appearance: none;
    background: #0b1220 !important;
    color: #f5f8ff !important;
    border: 1px solid var(--line) !important;
    border-radius: 10px !important;
    padding: 9px 12px !important;
    font: inherit;
    box-shadow: none !important;
    color-scheme: dark;
}
.scout-crm select option {
    background: #0b1220;
    color: #f5f8ff;
}
.scout-badge {
    display: inline-flex; align-items: center; padding: 3px 8px; border-radius: 999px;
    font-size: .68rem; font-weight: 700; letter-spacing: .02em;
    background: rgba(148,163,184,.12); color: #cbd5e1;
}
.scout-ok { background: rgba(52,211,153,.14); color: #6ee7b7; }
.scout-warn { background: rgba(251,191,36,.14); color: #fde68a; }
.scout-bad { background: rgba(248,113,113,.14); color: #fecaca; }
.scout-cyan { background: rgba(56,189,248,.14); color: #7dd3fc; }
.scout-violet { background: rgba(167,139,250,.14); color: #c4b5fd; }
.scout-dim { background: rgba(148,163,184,.12); color: #94a3b8; }
.scout-todo { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.scout-crm .fin-table-wrap {
    background: rgba(8,13,26,.55);
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: auto;
}
.scout-crm .scout-table th {
    background: #0a1020;
    color: var(--cyan);
    font-size: .72rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.scout-crm .scout-table tbody tr {
    cursor: pointer;
    transition: background .12s;
}
.scout-crm .scout-table tbody tr:hover,
.scout-crm .scout-table tbody tr.is-active {
    background: rgba(34,211,238,.06);
}
.scout-kanban { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.scout-kanban-col {
    background: rgba(8,13,26,.72); border: 1px solid var(--line);
    border-radius: 12px; padding: 10px; min-height: 120px;
}
.scout-kanban-col h3 { margin: 0 0 8px; font-size: .72rem; color: var(--dim); text-transform: uppercase; letter-spacing: .06em; }
.scout-kanban-col button {
    display: grid; gap: 2px; width: 100%; text-align: left;
    background: rgba(11,18,32,.95) !important; border: 1px solid var(--line) !important;
    border-radius: 10px; padding: 8px 10px; margin-bottom: 6px; color: #f5f8ff !important; cursor: pointer;
}
.scout-kanban-col button span, .scout-kanban-col button em { font-size: .72rem; color: var(--dim); font-style: normal; }
.scout-dossier, .scout-add-modal {
    width: min(920px, 100%); max-height: min(90vh, 960px); overflow: auto;
}
.scout-dossier-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.scout-dossier label { display: grid; gap: 4px; font-size: .74rem; color: var(--dim); }
.scout-dossier-tabs {
    display: flex; flex-wrap: wrap; gap: 6px;
    margin: 0 0 16px; padding: 6px;
    background: rgba(5, 8, 18, .55);
    border: 1px solid var(--line);
    border-radius: 14px;
}
.scout-dossier-tabs button {
    background: transparent !important;
    border: 1px solid transparent !important;
    color: var(--dim) !important;
    border-radius: 999px; padding: 7px 13px; font-size: .76rem; font-weight: 600; cursor: pointer;
}
.scout-dossier-tabs button:hover {
    color: var(--txt) !important;
    background: rgba(255,255,255,.04) !important;
}
.scout-dossier-tabs button.on {
    color: #041018 !important;
    border-color: transparent !important;
    background: linear-gradient(135deg, var(--cyan), #67e8f9) !important;
    box-shadow: 0 6px 18px rgba(34,211,238,.25);
}
.scout-panels {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.scout-panel {
    background: linear-gradient(165deg, rgba(16, 24, 42, .92), rgba(8, 12, 24, .88));
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    padding: 16px 16px 14px;
    box-shadow: 0 12px 32px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}
.scout-panel-wide { grid-column: 1 / -1; }
.scout-panel-h {
    display: flex; align-items: flex-start; gap: 12px;
    margin-bottom: 14px; padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.scout-panel-h > i {
    flex-shrink: 0;
    width: 36px; height: 36px; border-radius: 11px;
    display: grid; place-items: center;
    background: rgba(34,211,238,.12);
    border: 1px solid rgba(34,211,238,.28);
    color: var(--cyan); font-size: 1.05rem;
}
.scout-panel-h h3 {
    margin: 0; font-size: .95rem; font-weight: 700; color: var(--txt); letter-spacing: .01em;
}
.scout-panel-h p {
    margin: 3px 0 0; font-size: .72rem; color: var(--dim); line-height: 1.35;
}
.scout-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 14px;
}
.scout-fields-1 { grid-template-columns: 1fr; }
.scout-fields label.span-2 { grid-column: 1 / -1; }
.scout-dossier-form .scout-fields label,
.scout-panel label {
    display: grid; gap: 6px;
    font-size: .72rem; font-weight: 600;
    letter-spacing: .04em; text-transform: uppercase;
    color: var(--dim);
}
.scout-crm .scout-panel input,
.scout-crm .scout-panel select,
.scout-crm .scout-panel textarea {
    appearance: none;
    -webkit-appearance: none;
    background: rgba(5, 10, 20, .85) !important;
    color: #f5f8ff !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    border-radius: 11px !important;
    padding: 10px 12px !important;
    font: inherit;
    font-size: .9rem !important;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    transition: border-color .15s, box-shadow .15s;
}
.scout-crm .scout-panel input:focus,
.scout-crm .scout-panel select:focus,
.scout-crm .scout-panel textarea:focus {
    outline: none;
    border-color: rgba(34,211,238,.55) !important;
    box-shadow: 0 0 0 3px rgba(34,211,238,.12);
}
.scout-crm .scout-panel input:disabled {
    opacity: .65; cursor: default;
}
.scout-crm .scout-panel textarea { min-height: 88px; resize: vertical; }
.scout-form-foot {
    display: flex; justify-content: space-between; align-items: center;
    gap: 12px; flex-wrap: wrap;
    margin-top: 16px; padding-top: 14px;
    border-top: 1px solid rgba(255,255,255,.08);
}
.scout-form-foot-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.scout-discord-hint { font-size: .74rem; }
.scout-timeline { display: grid; gap: 8px; }
.scout-tl-item {
    background: rgba(5,10,20,.55);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 12px;
    padding: 10px 12px;
}
.scout-tl-item time { display: block; font-size: .68rem; color: var(--cyan); margin-bottom: 4px; }
.scout-tl-item p { margin: 4px 0 0; color: var(--dim); font-size: .84rem; }
.scout-review {
    background: rgba(5,10,20,.55);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 12px; padding: 12px; margin-top: 8px;
}
.scout-review span { margin-left: 8px; font-size: .72rem; color: var(--dim); }
.scout-panel-lock {
    padding: 18px; border-radius: 14px;
    border: 1px dashed var(--line); text-align: center;
}
.scout-row-actions {
    display: flex; gap: 6px; align-items: center; white-space: nowrap;
}
.scout-quick { display: flex; flex-wrap: wrap; gap: 8px; }
.scout-overlay { align-items: start; overflow: auto; padding: 24px 16px; }
.scout-modal {
    width: min(960px, 100%); max-height: min(92vh, 980px); overflow: auto;
    background: linear-gradient(180deg, rgba(12, 18, 36, .98), rgba(6, 10, 22, .98)) !important;
    border: 1px solid rgba(34,211,238,.22) !important;
    border-radius: 20px !important;
    padding: 22px 22px 18px !important;
    box-shadow: 0 28px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.03) inset;
}
.scout-modal-head {
    display: flex; justify-content: space-between; gap: 16px; align-items: flex-start;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.scout-modal-kicker {
    margin: 0; color: var(--cyan); font-size: .68rem;
    letter-spacing: .14em; text-transform: uppercase; font-weight: 700;
}
.scout-modal-title h2 { margin: 6px 0 0; font-size: 1.55rem; letter-spacing: .02em; }
.scout-modal-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.scout-modal-actions { display: flex; gap: 8px; align-items: flex-start; flex-shrink: 0; }
.scout-modal-head h2, .scout-modal-head h3 { margin: 0; }
@media (max-width: 720px) {
    .scout-dossier-grid,
    .scout-panels,
    .scout-fields { grid-template-columns: 1fr; }
    .scout-hero { flex-direction: column; }
    .scout-toolbar-actions { margin-left: 0; width: 100%; }
    .scout-toolbar-actions .btn-primary,
    .scout-toolbar-actions .btn-ghost { flex: 1 1 auto; justify-content: center; }
    .scout-search { max-width: none; min-width: 0; width: 100%; }
    .scout-subnav { gap: 6px; }
    .scout-crm .scout-tab,
    .scout-crm .scout-subnav > .btn-ghost,
    .scout-dossier-tabs button {
        min-height: 40px; padding: 8px 12px !important;
    }
    .scout-row-actions {
        flex-wrap: wrap; white-space: normal; justify-content: flex-end;
    }
    .scout-menu-opt { min-height: 44px; padding: 12px 12px !important; }
    .scout-modal { padding: 16px !important; border-radius: 16px !important; }
    .scout-modal-head { flex-direction: column; }
}

/* —— Responsive QG shell extras (toolbars / overlays / touch) —— */
@media (max-width: 1024px) {
    .fin-toolbar, .ta-toolbar, .crm-filters, .pp-filters, .ticket-filters, .plan-filters {
        gap: 8px;
    }
    .rec-dossier-actions, .fin-actions, .fin-btn-group {
        width: 100%;
    }
    .empty-state { padding: 28px 16px; }
}
@media (max-width: 768px) {
    .main { overscroll-behavior-y: contain; }
    .view-root { min-width: 0; }
    .card { padding: 14px; border-radius: 16px; }
    .kpi b { font-size: 1.35rem; }
    .pp-charts-3 { grid-template-columns: 1fr; }
    .pp-charts-3 > div { height: 220px; }
    .pp-fn-grid { grid-template-columns: 1fr 1fr; }
    .hexa-split { grid-template-columns: 1fr; }
    .sen-drawer-panel {
        width: min(100vw, 420px);
        max-width: 100%;
    }
    .qg-calendar { min-height: 360px; }
    .contract-editor textarea { min-height: 220px; }
    .inc-card-head { min-height: 48px; }
    .pick-item { min-height: 44px; }
    .member-av, .chat-av { width: 40px; height: 40px; }
}
@media (max-width: 390px) {
    .main { padding-left: 12px; padding-right: 12px; }
    .btn-primary, .btn-ghost, .btn-danger { padding-left: 12px; padding-right: 12px; }
    .kpi { padding: 12px; }
    .pp-fn-grid { grid-template-columns: 1fr; }
    .notif-panel { width: calc(100vw - 24px); right: -8px; }
}

/* Touch devices: avoid sticky hover transforms */
@media (hover: none) {
    .nav-btn:hover { transform: none; }
    .item:hover { transform: none; }
    .kpi:hover, .pp-card:hover { transform: none; }
    .btn-primary:hover, .btn-ghost:hover, .btn-danger:hover { transform: none; }
}

.empty-state {
    text-align: center; padding: 36px 18px; color: var(--dim);
    border: 1px dashed var(--line); border-radius: 14px;
}
.empty-state i { display: block; font-size: 1.6rem; margin-bottom: 8px; color: var(--cyan); opacity: .85; }
.empty-state p { margin: 0; color: var(--txt); font-weight: 600; }
.empty-state span { display: block; margin-top: 6px; font-size: .82rem; }

/* —— Fins de contrat (FN / Valo / Staff) —— */
.suivi-page { display: grid; gap: 16px; }
.suivi-switch {
    display: inline-flex; gap: 4px; padding: 4px;
    background: rgba(8,14,28,.85); border: 1px solid var(--line); border-radius: 999px; width: fit-content;
}
.suivi-switch-btn {
    border: 0; background: transparent; color: var(--dim); font: inherit; font-size: .78rem; font-weight: 700;
    padding: 8px 14px; border-radius: 999px; cursor: pointer; transition: .15s ease;
}
.suivi-switch-btn:hover { color: var(--txt); }
.suivi-switch-btn.is-active { background: rgba(34,211,238,.16); color: var(--cyan); }
.suivi-page.accent-valo .suivi-switch-btn.is-active { background: rgba(248,113,113,.16); color: #fb7185; }
.suivi-page.accent-staff .suivi-switch-btn.is-active { background: rgba(167,139,250,.16); color: var(--purple); }
.suivi-hero {
    display: flex; gap: 16px; align-items: center;
    padding: 18px 20px; border-radius: 18px;
    background:
        radial-gradient(120% 140% at 0% 0%, rgba(34,211,238,.14), transparent 55%),
        linear-gradient(135deg, rgba(12,18,36,.95), rgba(8,12,24,.9));
    border: 1px solid rgba(34,211,238,.22);
}
.suivi-page.accent-valo .suivi-hero {
    background:
        radial-gradient(120% 140% at 0% 0%, rgba(248,113,113,.16), transparent 55%),
        linear-gradient(135deg, rgba(20,12,18,.95), rgba(8,12,24,.9));
    border-color: rgba(248,113,113,.28);
}
.suivi-page.accent-staff .suivi-hero {
    background:
        radial-gradient(120% 140% at 0% 0%, rgba(167,139,250,.16), transparent 55%),
        linear-gradient(135deg, rgba(16,14,28,.95), rgba(8,12,24,.9));
    border-color: rgba(167,139,250,.28);
}
.suivi-hero-icon {
    width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center;
    background: rgba(34,211,238,.12); color: var(--cyan); font-size: 1.45rem; flex-shrink: 0;
}
.suivi-page.accent-valo .suivi-hero-icon { background: rgba(248,113,113,.14); color: #fb7185; }
.suivi-page.accent-staff .suivi-hero-icon { background: rgba(167,139,250,.14); color: var(--purple); }
.suivi-kicker { margin: 0; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--dim); }
.suivi-title { margin: 2px 0 4px; font-size: 1.45rem; font-weight: 800; }
.suivi-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.suivi-kpi {
    padding: 14px 16px; border-radius: 16px; border: 1px solid var(--line);
    background: rgba(8,14,28,.75); position: relative; overflow: hidden;
}
.suivi-kpi::before {
    content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--cyan);
}
.suivi-kpi span { color: var(--dim); font-size: .74rem; text-transform: uppercase; letter-spacing: .04em; }
.suivi-kpi b { display: block; margin-top: 4px; font-size: 1.55rem; }
.suivi-kpi.tone-dead::before { background: var(--red); }
.suivi-kpi.tone-dead b { color: var(--red); }
.suivi-kpi.tone-hot::before { background: #fb7185; }
.suivi-kpi.tone-hot b { color: #fb7185; }
.suivi-kpi.tone-soon::before { background: var(--orange); }
.suivi-kpi.tone-soon b { color: var(--orange); }
.suivi-kpi.tone-ok::before { background: var(--cyan); }
.suivi-kpi.tone-ok b { color: var(--cyan); }
.suivi-alert-card {
    display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap;
}
.suivi-alert-copy { flex: 1; min-width: 220px; }
.suivi-alert-actions { margin-top: 0; }
.suivi-list { display: flex; flex-direction: column; gap: 10px; }
.suivi-row {
    display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center;
    padding: 14px 16px; border-radius: 16px;
    background: rgba(8,14,28,.78); border: 1px solid var(--line);
    border-left: 3px solid rgba(34,211,238,.45);
    transition: border-color .15s, transform .15s, background .15s;
}
.suivi-row:hover { transform: translateX(2px); border-color: rgba(34,211,238,.35); background: rgba(12,20,40,.9); }
.suivi-row.tone-dead { border-left-color: var(--red); }
.suivi-row.tone-hot { border-left-color: #fb7185; }
.suivi-row.tone-soon { border-left-color: var(--orange); }
.suivi-row.tone-ok { border-left-color: var(--cyan); }
.suivi-row.tone-miss { border-left-color: var(--dim); }
.suivi-row-main h4 { margin: 0 0 4px; font-size: .95rem; }
.suivi-row-main p { margin: 0; color: var(--dim); font-size: .8rem; }
.suivi-row-actions { justify-content: flex-end; }
.suivi-form-card h3 { margin-bottom: 10px; }
@media (max-width: 900px) {
    .suivi-kpis { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
    .suivi-row { grid-template-columns: 1fr; }
    .suivi-hero { align-items: flex-start; }
    .suivi-kpis { grid-template-columns: 1fr 1fr; }
}

/* Scout — fil de propositions + toasts bas */
.scout-offer-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.scout-offer-summary > div {
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(8, 14, 28, .72);
    border: 1px solid var(--line);
    display: grid;
    gap: 4px;
}
.scout-offer-summary span {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--dim);
}
.scout-offer-summary b { font-size: 1.05rem; color: #f8fafc; }
.scout-offer-summary > div.is-final {
    border-color: rgba(52, 211, 153, .45);
    background: rgba(16, 185, 129, .1);
}
.scout-offer-summary > div.is-final b { color: #6ee7b7; }
.scout-offer-composer {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1.2fr auto;
    gap: 8px;
    align-items: center;
}
.scout-offer-composer input,
.scout-offer-composer select {
    margin: 0;
}
.scout-panel-h { display: flex; align-items: flex-start; gap: 10px; }
.scout-panel-h > div { flex: 1; min-width: 0; }
.scout-offer-feed {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.scout-offer-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(8, 14, 28, .72);
    border: 1px solid var(--line);
}
.scout-offer-main {
    flex: 1;
    min-width: 0;
    display: grid;
    grid-template-columns: 110px 140px 1fr;
    gap: 6px 12px;
    align-items: center;
}
.scout-offer-row time { font-size: .72rem; color: var(--dim); }
.scout-offer-row b { font-size: .78rem; color: #a5f3fc; }
.scout-offer-amt { font-weight: 700; color: #f8fafc; }
.scout-offer-row em {
    font-style: normal;
    font-size: .72rem;
    color: var(--dim);
    grid-column: 1 / -1;
}
.scout-offer-row.is-final {
    border-color: rgba(52, 211, 153, .45);
    background: rgba(16, 185, 129, .1);
}
.scout-offer-row.is-final b { color: #6ee7b7; }
.scout-offer-toasts {
    position: fixed;
    left: 18px;
    bottom: 18px;
    z-index: 12000;
    display: flex;
    flex-direction: column-reverse;
    gap: 8px;
    max-width: min(360px, calc(100vw - 32px));
    pointer-events: none;
}
.scout-offer-toast {
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(8, 14, 28, .94);
    border: 1px solid rgba(34, 211, 238, .35);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
    color: #f8fafc;
    display: grid;
    gap: 2px;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .25s ease, transform .25s ease;
}
.scout-offer-toast.in { opacity: 1; transform: translateY(0); }
.scout-offer-toast.out { opacity: 0; transform: translateY(8px); }
.scout-offer-toast strong { font-size: .72rem; color: #67e8f9; text-transform: uppercase; letter-spacing: .04em; }
.scout-offer-toast span { font-size: 1rem; font-weight: 700; }
.scout-offer-toast em { font-style: normal; font-size: .75rem; color: var(--dim); }
.scout-offer-toast.is-final { border-color: rgba(52, 211, 153, .5); }
.scout-offer-toast.is-final strong { color: #6ee7b7; }
@media (max-width: 900px) {
    .scout-offer-composer { grid-template-columns: 1fr 1fr; }
    .scout-offer-composer button { grid-column: 1 / -1; }
    .scout-offer-summary { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .scout-offer-main { grid-template-columns: 1fr 1fr; }
    .scout-offer-row { flex-wrap: wrap; }
}
