/* ═══════════════════════════════════════════════════
   TEAMSTANDUP — Design inspirat din Taskmag
   Fundal lavender, carduri albe, accent indigo
═══════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* UTILBEN brandbook: Pantone Warm Red (#f04c38) + Pantone Black / RAL 9011 Graphite */
:root {
    --indigo:     #f04c38;   /* accent principal UTILBEN (nume păstrat pt compatibilitate) */
    --indigo-dark:#d43a26;
    --indigo-soft:#fdeae6;
    --bg:         #f5f4f2;
    --surface:    #ffffff;
    --border:     #eae7e4;
    --text:       #141414;
    --text-2:     #6b7280;
    --text-3:     #9ca3af;
    --green:      #10b981;
    --amber:      #f59e0b;
    --red:        #ef4444;
    --pink:       #ec4899;
    --purple:     #8b5cf6;
    --sidebar-w:  220px;
    --radius:     14px;
    --shadow:     0 2px 12px rgba(20,20,20,0.06);
    --shadow-md:  0 4px 24px rgba(20,20,20,0.10);
}

body {
    /* Brandbook: Neue Haas Unica; Inter e echivalentul web gratuit (fallback) */
    font-family: 'Neue Haas Unica', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: var(--bg);
    color: var(--text);
    display: flex;
    min-height: 100vh;
    overflow-x: hidden;
}

/* ══ SIDEBAR ══════════════════════════════════════ */
.sidebar {
    width: var(--sidebar-w);
    background: linear-gradient(170deg, #232323 0%, #161616 55%, #0f0f0f 100%);
    display: flex;
    flex-direction: column;
    position: fixed;
    left: 0; top: 0; bottom: 0;
    z-index: 50;
    padding: 0 0 24px;
}

.sidebar-logo {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 24px 20px 20px;
    margin-bottom: 8px;
}

.logo-icon {
    width: 46px; height: 30px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: transform 0.25s cubic-bezier(0.2,0.7,0.2,1);
}
.sidebar-logo:hover .logo-icon { transform: rotate(-8deg) scale(1.08); }
.logo-img {
    width: 100%; height: 100%; object-fit: contain; display: block;
    animation: logoBob 2.6s ease-in-out infinite, logoGlow 3s ease-in-out infinite;
}
@keyframes logoGlow {
    0%,100% { filter: drop-shadow(0 0 4px rgba(240,76,56,0.35)); }
    50%     { filter: drop-shadow(0 0 9px rgba(240,76,56,0.65)); }
}
@keyframes logoBob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }

.logo-text {
    font-family: 'Neue Haas Unica', 'Inter', -apple-system, 'Segoe UI', sans-serif;
    font-size: 15.5px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.01em;
}
.logo-dot { color: #f04c38; }
.logo-team { font-weight: 500; opacity: 0.82; }

.sidebar-nav {
    flex: 1;
    padding: 0 12px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow-y: auto;
    overflow-x: hidden;
}
.sidebar-nav::-webkit-scrollbar { width: 3px; }
.sidebar-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.25); border-radius: 3px; }

.nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    color: rgba(255,255,255,0.65);
    cursor: pointer;
    transition: all 0.15s;
    text-decoration: none;
    font-size: 13.5px;
    font-weight: 500;
    user-select: none;
}

.nav-item:hover { background: rgba(255,255,255,0.12); color: white; }
.nav-item.active { background: rgba(255,255,255,0.2); color: white; font-weight: 600; }
.nav-item svg { flex-shrink: 0; }

/* ── Nav separator ──────────────────────────────── */
.nav-separator {
    height: 1px;
    background: rgba(255,255,255,0.12);
    margin: 8px 12px;
}

/* ── Nav group (proiecte, utilben, avanti) ──────── */
.nav-group { position: relative; }

.nav-group-toggle {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer;
    user-select: none;
}

.nav-arrow {
    margin-left: auto;
    flex-shrink: 0;
    transition: transform 0.2s ease;
    opacity: 0.5;
}

.nav-group.open > .nav-group-toggle .nav-arrow {
    transform: rotate(90deg);
    opacity: 0.9;
}

/* Children container */
.nav-children {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.25s ease;
}

.nav-group.open > .nav-children {
    max-height: 800px;
}

/* Child items (UTILBEN, AVANTI level) */
.nav-child {
    padding-left: 20px !important;
    font-size: 13px !important;
}

/* Sub-child items (Constructii, Sermoto etc.) */
.nav-subchild {
    padding-left: 32px !important;
    font-size: 12px !important;
    opacity: 0.85;
}
.nav-subchild:hover { opacity: 1; }
.nav-subchild.active { opacity: 1; }

/* Client colored dot */
.nav-client-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-right: 2px;
}

/* Sub-item bullet dot */
.nav-sub-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(255,255,255,0.4);
    flex-shrink: 0;
    margin-right: 4px;
}
.nav-subchild.active .nav-sub-dot { background: white; }

/* Sub-sub-child items (sub-projects, level 3) */
.nav-subsubchild {
    padding-left: 46px !important;
    font-size: 11.5px !important;
    opacity: 0.75;
}
.nav-subsubchild:hover { opacity: 1; }
.nav-subsubchild.active { opacity: 1; }
.nav-subsubchild.active .nav-sub-dot { background: white; }

/* Expand/collapse all buttons in Proiecte header */
.nav-proj-actions {
    display: flex;
    align-items: center;
    gap: 1px;
    margin-left: auto;
    margin-right: 4px;
}
.nav-proj-btn {
    font-size: 13px;
    padding: 1px 4px;
    border-radius: 3px;
    opacity: 0.5;
    cursor: pointer;
    line-height: 1;
    color: rgba(255,255,255,0.8);
}
.nav-proj-btn:hover { opacity: 1; background: rgba(255,255,255,0.1); }

/* ── Project folder cards ──────────────────────── */
.proj-folder-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 20px 20px 40px;
}
.proj-folder-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 24px 20px;
    background: #fff;
    border: 1.5px solid #e5e7eb;
    border-radius: 12px;
    cursor: pointer;
    width: 140px;
    transition: all 0.15s;
}
.proj-folder-card:hover { border-color: #f04c38; box-shadow: 0 4px 16px rgba(20,20,20,0.12); transform: translateY(-2px); }
.proj-folder-icon {
    width: 52px; height: 52px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 22px; font-weight: 700; color: #fff;
}
.proj-folder-name {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
    text-align: center;
    word-break: break-word;
}
.proj-folder-add { border-style: dashed; }
.proj-folder-add:hover { border-color: #94a3b8; box-shadow: none; transform: none; }

/* ══ ALLOCATED TASKS VIEW ════════════════════════ */
.alloc-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    margin-bottom: 14px;
    gap: 12px;
    flex-wrap: wrap;
}
.alloc-filters { display: flex; gap: 6px; flex-wrap: wrap; }

.filter-pill {
    display: flex; align-items: center; gap: 6px;
    padding: 5px 12px; border-radius: 100px;
    font-size: 12px; font-weight: 600; cursor: pointer;
    border: 1.5px solid transparent;
    background: var(--surface); color: var(--text-2);
    box-shadow: var(--shadow); transition: all 0.15s; white-space: nowrap;
}
.filter-pill:hover { border-color: var(--indigo); color: var(--indigo); }
.filter-pill.active { background: var(--indigo); color: white; border-color: var(--indigo); }
.filter-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }

.alloc-member-section { margin-bottom: 20px; }
.alloc-member-header { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; padding: 0 2px; }
.alloc-member-avatar { width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; color: white; flex-shrink: 0; }
.alloc-member-name { font-size: 13px; font-weight: 700; color: var(--text); }
.alloc-member-count { font-size: 11px; color: var(--text-3); font-weight: 500; background: #f1f5f9; padding: 2px 8px; border-radius: 100px; }

.alloc-card {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 10px; padding: 12px 14px; margin-bottom: 6px;
    display: flex; align-items: flex-start; gap: 10px;
    transition: box-shadow 0.15s, border-color 0.15s; box-shadow: var(--shadow);
}
.alloc-card:hover { box-shadow: var(--shadow-md); border-color: #c7d2fe; }
.alloc-card.done-card { opacity: 0.5; }
.alloc-card.done-card .alloc-title { text-decoration: line-through; color: var(--text-3); }

.deadline-badge {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 11px; font-weight: 700; padding: 3px 8px;
    border-radius: 100px; white-space: nowrap; flex-shrink: 0;
}
.deadline-badge.overdue { background: #fef2f2; color: #dc2626; }
.deadline-badge.soon    { background: #fff7ed; color: #d97706; }
.deadline-badge.ok      { background: #f0fdf4; color: #16a34a; }
.deadline-badge.none    { background: #f8fafc; color: #94a3b8; }

.priority-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; margin-top: 5px; }
.priority-dot.high   { background: #ef4444; box-shadow: 0 0 0 2px #fecaca; }
.priority-dot.normal { background: #f59e0b; }
.priority-dot.low    { background: #cbd5e1; }

.alloc-body { flex: 1; min-width: 0; }
.alloc-title { font-size: 13.5px; font-weight: 600; color: var(--text); margin-bottom: 5px; line-height: 1.4; }
.alloc-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.alloc-notes { font-size: 11.5px; color: var(--text-3); margin-top: 5px; line-height: 1.4; font-style: italic; }

/* Atașamente task alocat */
.alloc-attach-area { margin-top: 8px; }
.alloc-att-list { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.alloc-att {
    position: relative;
    border-radius: 8px;
}
.alloc-att-img {
    width: 56px; height: 56px;
    border: 1px solid var(--border);
    overflow: hidden;
    background: var(--bg);
}
.alloc-att-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    cursor: zoom-in;
    display: block;
}
.alloc-att-file a {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 11.5px; font-weight: 600;
    color: var(--indigo);
    background: var(--indigo-soft);
    border: 1px solid #c7d2fe;
    padding: 5px 9px 5px 8px;
    border-radius: 8px;
    text-decoration: none;
    max-width: 170px;
}
.alloc-att-file a:hover { background: #d6d8fc; }
.alloc-att-del {
    position: absolute;
    top: -6px; right: -6px;
    width: 17px; height: 17px;
    border-radius: 50%;
    border: none;
    background: #ef4444;
    color: #fff;
    font-size: 12px; line-height: 1;
    cursor: pointer;
    display: none;
    align-items: center; justify-content: center;
    box-shadow: 0 1px 4px rgba(0,0,0,0.25);
}
.alloc-att:hover .alloc-att-del { display: flex; }
.btn-alloc-attach {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 11.5px; font-weight: 600;
    color: var(--text-2);
    background: none;
    border: 1px dashed var(--border);
    border-radius: 8px;
    padding: 5px 10px;
    cursor: pointer;
    transition: all 0.15s;
}
.btn-alloc-attach:hover { border-color: var(--indigo); color: var(--indigo); background: var(--indigo-soft); }

/* Fișiere în așteptare în modalul de task nou */
.alloc-pending-list { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.alloc-pending-list:empty { display: none; }
.alloc-pending-chip {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 11.5px; font-weight: 600;
    color: var(--text);
    background: var(--bg);
    border: 1px solid var(--border);
    padding: 4px 6px 4px 9px;
    border-radius: 8px;
}
.alloc-pending-chip button {
    border: none; background: none; cursor: pointer;
    color: #dc2626; font-size: 15px; line-height: 1;
    padding: 0 2px; border-radius: 4px;
}
.alloc-pending-chip button:hover { background: #fee2e2; }

/* Lightbox preview imagine */
.img-preview-overlay {
    background: rgba(0,0,0,0.8);
    cursor: zoom-out;
    display: flex; align-items: center; justify-content: center;
    z-index: 9999;
}
.img-preview-inner { display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 92vw; max-height: 92vh; }
.img-preview-inner img { max-width: 92vw; max-height: 82vh; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); }
.img-preview-cap { color: #fff; font-size: 12.5px; }
.img-preview-cap a { color: #f04c38; }

.alloc-actions { display: flex; flex-direction: column; gap: 5px; flex-shrink: 0; align-items: flex-end; }

/* ── TASK MASTER (șabloane) ───────────────────────── */
.btn-taskmaster {
    border: 1px solid #fcd34d;
    background: #fffbeb;
    color: #b45309;
    font-size: 13px; font-weight: 600;
    padding: 8px 14px; border-radius: 10px;
    cursor: pointer; white-space: nowrap;
    transition: all 0.15s;
}
.btn-taskmaster:hover { background: #fef3c7; border-color: #f59e0b; }
.mt-list { display: flex; flex-direction: column; gap: 8px; max-height: 380px; overflow-y: auto; }
.mt-empty { text-align: center; padding: 28px 16px; color: var(--text-3); font-size: 13px; line-height: 1.6; }
.mt-item {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 10px 14px;
    background: var(--bg);
}
.mt-item-name { font-size: 13.5px; font-weight: 700; color: var(--text); }
.mt-item-sub { font-size: 11.5px; color: var(--text-3); margin-top: 2px; }
.mt-item-actions { display: flex; align-items: center; gap: 5px; flex-shrink: 0; }
.mt-run-btn { padding: 6px 12px; font-size: 12px; }
.mt-icon-btn {
    border: none; background: none; cursor: pointer;
    font-size: 13px; padding: 4px 6px; border-radius: 6px;
    transition: all 0.15s;
}
.mt-icon-btn:hover { background: var(--indigo-soft); }
.mt-icon-btn.mt-del { color: #cbd5e1; font-size: 17px; }
.mt-icon-btn.mt-del:hover { color: var(--red); background: #fef2f2; }
.mt-edit-head, .mt-edit-row {
    display: grid;
    grid-template-columns: minmax(180px,1fr) 110px 64px 100px 30px;
    gap: 6px;
    align-items: center;
}
.mt-edit-head {
    font-size: 10.5px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.04em; color: var(--text-3);
    padding: 4px 2px;
}
.mt-edit-row { margin-bottom: 6px; }
.mt-edit-row .form-input { padding: 7px 9px; font-size: 12.5px; }
/* Rulare șablon — rânduri editabile */
.mt-runedit-head, .mt-runedit-row {
    display: grid;
    grid-template-columns: 30px minmax(160px,1fr) 110px 64px 100px;
    gap: 6px;
    align-items: center;
}
.mt-runedit-head {
    font-size: 10.5px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.04em; color: var(--text-3);
    padding: 4px 2px;
}
.mt-runedit-row { margin-bottom: 6px; }
.mt-runedit-row .form-input { padding: 7px 9px; font-size: 12.5px; }
.mt-runedit-off .form-input { opacity: 0.45; text-decoration: line-through; }

/* Buton include/exclude ✓/✗ */
.mt-inc-btn {
    width: 26px; height: 26px;
    border-radius: 7px;
    border: 1.5px solid;
    font-size: 13px; font-weight: 800; line-height: 1;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    justify-self: center;
    padding: 0;
    transition: all 0.12s;
}
.mt-inc-btn.inc-on  { border-color: #22c55e; background: #dcfce7; color: #16a34a; }
.mt-inc-btn.inc-on:hover  { background: #bbf7d0; }
.mt-inc-btn.inc-off { border-color: #ef4444; background: #fee2e2; color: #dc2626; }
.mt-inc-btn.inc-off:hover { background: #fecaca; }

/* Responsive — pe ecrane mici rândul se reașează pe 2 linii */
@media (max-width: 640px) {
    .mt-runedit-head { display: none; }
    .mt-runedit-row {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        padding: 8px;
        border: 1px solid var(--border);
        border-radius: 10px;
        margin-bottom: 8px;
        background: var(--bg);
    }
    .mt-runedit-row .mt-f-title { flex: 1 1 calc(100% - 36px); min-width: 0; }
    .mt-runedit-row .mt-f-who   { flex: 2 1 90px; min-width: 0; }
    .mt-runedit-row .mt-f-days  { flex: 1 1 56px; min-width: 0; }
    .mt-runedit-row .mt-f-prio  { flex: 2 1 90px; min-width: 0; }
    .mt-inc-btn { flex: 0 0 26px; }
    #mtRunModal .modal { max-width: 96vw; padding: 16px 12px; }
}

.mt-run-preview {
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--bg);
    padding: 6px;
    max-height: 240px; overflow-y: auto;
}
.mt-run-row {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 8px;
    border-bottom: 1px solid var(--border);
    font-size: 12.5px;
}
.mt-run-row:last-child { border-bottom: none; }
.mt-run-who {
    flex-shrink: 0;
    font-weight: 700; font-size: 11px;
    color: var(--indigo);
    background: var(--indigo-soft);
    padding: 2px 8px; border-radius: 8px;
    min-width: 60px; text-align: center;
}
.mt-run-title { flex: 1; color: var(--text); }
.mt-run-days { flex-shrink: 0; font-size: 11px; font-weight: 600; color: var(--text-3); }
[data-theme="dark"] .mt-item { background: #1a1c2a; border-color: #2d2f45; }
[data-theme="dark"] .btn-taskmaster { background: #2a2410; border-color: #4a3f1a; color: #fcd34d; }

.btn-push-standup {
    background: var(--indigo-soft); border: none; color: var(--indigo);
    font-size: 11.5px; font-weight: 700; padding: 6px 10px; border-radius: 7px;
    cursor: pointer; white-space: nowrap; transition: all 0.15s;
    display: flex; align-items: center; gap: 4px;
}
.btn-push-standup:hover { background: var(--indigo); color: white; }

.btn-alloc-done {
    background: #f0fdf4; border: none; color: #16a34a;
    font-size: 11.5px; font-weight: 700; padding: 6px 10px;
    border-radius: 7px; cursor: pointer; white-space: nowrap; transition: all 0.15s;
}
.btn-alloc-done:hover { background: #dcfce7; }
.btn-alloc-done.undone { background: #f8fafc; color: var(--text-3); }
.btn-alloc-done.undone:hover { background: #f1f5f9; }

.btn-alloc-edit { background: none; border: none; color: #94a3b8; padding: 4px 6px; border-radius: 5px; cursor: pointer; transition: all 0.15s; display: flex; align-items: center; justify-content: center; }
.btn-alloc-edit:hover { color: var(--indigo); background: var(--indigo-soft); }

.btn-alloc-del { background: none; border: none; color: #d1d5db; font-size: 15px; padding: 2px 5px; border-radius: 5px; cursor: pointer; transition: all 0.15s; line-height: 1; }
.btn-alloc-del:hover { color: var(--red); background: #fef2f2; }

/* Tabs Active / Istoric */
.alloc-tabs {
    display: flex;
    gap: 4px;
    background: #f1f3ff;
    border-radius: 10px;
    padding: 3px;
}
.alloc-tab {
    padding: 6px 16px;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    background: transparent;
    color: var(--text-2);
    transition: all 0.15s;
    display: flex;
    align-items: center;
    gap: 6px;
}
.alloc-tab:hover { background: rgba(20,20,20,0.08); color: var(--indigo); }
.alloc-tab.active { background: var(--surface); color: var(--indigo); box-shadow: 0 1px 4px rgba(20,20,20,0.15); }

.alloc-tab-badge {
    background: var(--indigo);
    color: white;
    font-size: 10px;
    font-weight: 800;
    padding: 1px 6px;
    border-radius: 100px;
    min-width: 18px;
    text-align: center;
}
.alloc-tab-badge.hist { background: var(--green); }

/* History rows */
.history-month-group { margin-bottom: 20px; }

.history-month-label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-3);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    padding: 0 2px;
}

.history-list {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
}

.history-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.1s;
}
.history-row:last-child { border-bottom: none; }
.history-row:hover { background: #f8f9ff; }

.history-check {
    width: 22px; height: 22px;
    border-radius: 50%;
    background: #dcfce7;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
    color: #16a34a;
}

.history-body { flex: 1; min-width: 0; }
.history-title { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 3px; }
.history-meta  { font-size: 11.5px; color: var(--text-3); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

.btn-alloc-undo {
    background: none;
    border: 1px solid #e5e7eb;
    color: var(--text-3);
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s;
    flex-shrink: 0;
}
.btn-alloc-undo:hover { border-color: var(--indigo); color: var(--indigo); background: var(--indigo-soft); }

.alloc-toolbar { flex-wrap: wrap; gap: 10px; }

.alloc-empty {
    text-align: center; padding: 52px 20px; color: var(--text-3);
    background: var(--surface); border-radius: var(--radius);
    border: 1.5px dashed #e2e8f0;
}
.alloc-empty svg { margin: 0 auto 14px; opacity: 0.2; display: block; }
.alloc-empty p { font-size: 13px; }

/* ── Project view ───────────────────────────────── */
.project-container { padding-top: 16px; }

.project-hero {
    background: var(--surface);
    border-radius: var(--radius);
    border: 1px solid var(--border);
    box-shadow: var(--shadow);
    padding: 24px 28px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 18px;
}
.project-hero-info { flex: 1; }
.btn-archive-project {
    display: flex; align-items: center; gap: 6px;
    padding: 7px 14px; border-radius: 8px;
    border: 1px solid #f59e0b; color: #f59e0b;
    background: transparent; font-size: 12px; font-weight: 600;
    cursor: pointer; white-space: nowrap; transition: background .15s;
}
.btn-archive-project:hover { background: #fef3c7; }

.project-icon {
    width: 50px; height: 50px;
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; font-weight: 800;
    color: white;
    flex-shrink: 0;
    letter-spacing: -0.5px;
}

.project-hero-info h2 {
    font-size: 19px; font-weight: 800;
    color: var(--text); letter-spacing: -0.4px;
    margin-bottom: 3px;
}

.project-hero-info p { font-size: 13px; color: var(--text-2); }

.project-coming-soon {
    background: var(--surface);
    border-radius: var(--radius);
    border: 1px solid var(--border);
    padding: 48px 40px;
    text-align: center;
}

.project-coming-soon svg { margin: 0 auto 14px; opacity: 0.25; display: block; }
.project-coming-soon h3 { font-size: 15px; font-weight: 700; color: var(--text-2); margin-bottom: 6px; }
.project-coming-soon p  { font-size: 13px; color: var(--text-3); }

/* ── LOGIN SCREEN ────────────────────────────────── */
.login-screen {
    position: fixed; inset: 0; z-index: 1000;
    background: var(--bg);
    display: flex; align-items: center; justify-content: center;
}

.login-card {
    background: white; border-radius: 20px;
    box-shadow: 0 8px 48px rgba(20,20,20,0.16);
    padding: 40px 36px; width: 100%; max-width: 380px;
    text-align: center;
}

.login-logo {
    width: 210px; height: 46px;
    display: flex;
    align-items: center; justify-content: center;
    margin: 0 auto 18px;
    padding: 0;
}
.login-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }

.login-title { font-family: 'Neue Haas Unica', 'Inter', -apple-system, 'Segoe UI', sans-serif; font-size: 22px; font-weight: 800; color: var(--text); letter-spacing: 0; margin-bottom: 4px; }
.login-title .logo-dot { color: #f04c38; }
.login-subtitle { font-size: 13px; color: var(--text-3); margin-bottom: 24px; }

.login-error {
    background: #fee2e2; border: 1px solid #fca5a5; color: #dc2626;
    border-radius: 8px; padding: 8px 12px; font-size: 13px;
    margin-bottom: 14px; text-align: left;
}

.login-field { margin-bottom: 14px; text-align: left; }
.login-field label { display: block; font-size: 12px; font-weight: 600; color: var(--text-2); margin-bottom: 5px; }

/* ── USER BADGE ──────────────────────────────────── */
.topbar-user { position: relative; }

.user-badge {
    display: flex; align-items: center; gap: 7px;
    padding: 4px 10px 4px 4px; border-radius: 20px;
    border: 1.5px solid var(--border); background: white;
    cursor: pointer; transition: all 0.15s;
}
.user-badge:hover { border-color: var(--indigo); background: var(--indigo-soft); }

.user-badge-avatar {
    width: 26px; height: 26px; border-radius: 50%;
    background: var(--indigo); color: white;
    font-size: 10px; font-weight: 800;
    display: flex; align-items: center; justify-content: center;
}

.user-badge-name { font-size: 12px; font-weight: 600; color: var(--text); }

.user-role-pill {
    font-size: 9px; font-weight: 800; padding: 1px 6px;
    border-radius: 10px; text-transform: uppercase; letter-spacing: .05em;
    background: #ede9fe; color: #7c3aed;
}
.user-role-pill.admin { background: #ede9fe; color: #7c3aed; }
.user-role-pill.user  { background: var(--indigo-soft); color: var(--indigo); }

.user-menu {
    position: absolute; top: calc(100% + 6px); right: 0;
    background: white; border-radius: 12px;
    border: 1px solid var(--border);
    box-shadow: 0 8px 24px rgba(20,20,20,0.14);
    min-width: 180px; overflow: hidden; z-index: 300;
}
.user-menu button {
    display: flex; align-items: center; gap: 8px;
    width: 100%; padding: 10px 14px;
    border: none; background: white; cursor: pointer;
    font-size: 13px; color: var(--text); text-align: left;
    transition: background 0.12s;
}
.user-menu button:hover { background: var(--bg); }
.user-menu .logout-btn { color: var(--red); border-top: 1px solid var(--border); }

/* ── BACKUP ──────────────────────────────────────── */
.backup-container { padding-top: 16px; }

.backup-header {
    display: flex; align-items: flex-start; justify-content: space-between;
    margin-bottom: 16px; gap: 12px;
}

.backup-list {
    background: var(--surface);
    border-radius: var(--radius);
    border: 1px solid var(--border);
    overflow: hidden;
}

.backup-row {
    display: flex; align-items: center; gap: 12px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--border);
    transition: background 0.1s;
}
.backup-row:last-child { border-bottom: none; }
.backup-row:hover { background: #f8f9ff; }

.backup-row-icon {
    width: 32px; height: 32px; border-radius: 8px;
    background: var(--indigo-soft);
    display: flex; align-items: center; justify-content: center;
    color: var(--indigo); flex-shrink: 0;
}

.backup-row-info { flex: 1; min-width: 0; }
.backup-row-name {
    font-size: 12.5px; font-weight: 600; color: var(--text);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.backup-row-meta {
    font-size: 11.5px; color: var(--text-3); margin-top: 2px;
    display: flex; align-items: center; gap: 4px; flex-wrap: wrap;
}

.backup-badge {
    font-size: 10px; font-weight: 700; padding: 1px 7px;
    border-radius: 20px; text-transform: uppercase; letter-spacing: .04em;
}
.backup-badge.manual     { background: #ede9fe; color: #7c3aed; }
.backup-badge.auto       { background: #d1fae5; color: #065f46; }
.backup-badge.pre-restore{ background: #fef3c7; color: #92400e; }

.backup-row-actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }

.btn-backup-restore {
    display: flex; align-items: center; gap: 5px;
    font-size: 12px; font-weight: 600; padding: 5px 11px;
    border-radius: 7px; border: 1.5px solid var(--indigo);
    color: var(--indigo); background: white; cursor: pointer;
    transition: all 0.15s;
}
.btn-backup-restore:hover { background: var(--indigo); color: white; }

.btn-backup-del {
    width: 28px; height: 28px; border-radius: 6px;
    border: 1px solid #fee2e2; background: white;
    color: #ef4444; font-size: 16px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.15s; line-height: 1;
}
.btn-backup-del:hover { background: #fef2f2; border-color: #ef4444; }

.backup-empty {
    padding: 48px 24px; text-align: center; color: var(--text-3);
}
.backup-empty svg { margin: 0 auto 14px; opacity: 0.2; display: block; }
.backup-empty p { font-size: 13px; }

.sidebar-footer {
    margin: 0 12px;
    background: rgba(255,255,255,0.12);
    border-radius: 12px;
    padding: 14px 16px;
}

.sidebar-stat-label {
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 8px;
}

.sidebar-progress-bar {
    height: 6px;
    background: rgba(255,255,255,0.2);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 6px;
}

.sidebar-progress-fill {
    height: 100%;
    background: rgba(255,255,255,0.85);
    border-radius: 3px;
    transition: width 0.5s ease;
    width: 0%;
}

.sidebar-stat-sub {
    font-size: 12px;
    color: rgba(255,255,255,0.7);
    font-weight: 500;
}

/* ══ MAIN ═════════════════════════════════════════ */
.main {
    margin-left: var(--sidebar-w);
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow: hidden;
}

/* ══ TOPBAR ═══════════════════════════════════════ */
.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 28px 0;
    flex-shrink: 0;
}

.topbar-left { display: flex; align-items: center; gap: 12px; }

.page-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--text);
    letter-spacing: -0.4px;
}

.date-badge {
    font-size: 12px;
    color: var(--text-2);
    background: var(--surface);
    padding: 4px 12px;
    border-radius: 100px;
    font-weight: 500;
    box-shadow: var(--shadow);
}

.topbar-right { display: flex; align-items: center; gap: 10px; }

.date-nav { display: flex; align-items: center; gap: 4px; }

.btn-nav {
    width: 30px; height: 30px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: var(--text-2);
    transition: all 0.15s;
    box-shadow: var(--shadow);
}
.btn-nav:hover { background: var(--indigo); border-color: var(--indigo); color: white; }

.btn-date-display {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 0 14px;
    height: 30px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
    box-shadow: var(--shadow);
    white-space: nowrap;
    transition: all 0.15s;
}
.btn-date-display:hover { border-color: var(--indigo); color: var(--indigo); }

.btn-today {
    background: var(--indigo);
    border: none;
    color: white;
    padding: 0 14px;
    height: 30px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    transition: background 0.15s;
    letter-spacing: 0.02em;
}
.btn-today:hover { background: var(--indigo-dark); }

.btn-multi-date {
    display: flex; align-items: center; gap: 5px;
    height: 32px; padding: 0 11px;
    border-radius: 8px; border: 1.5px solid var(--border);
    background: white; color: var(--text-2);
    font-size: 12px; font-weight: 600; cursor: pointer;
    transition: all 0.15s; white-space: nowrap;
}
.btn-multi-date:hover, .btn-multi-date.active {
    border-color: var(--indigo); color: var(--indigo); background: var(--indigo-soft);
}

.multi-date-panel {
    background: white;
    border-bottom: 1px solid var(--border);
    box-shadow: 0 4px 16px rgba(20,20,20,0.08);
    padding: 10px 24px;
    flex-direction: row; align-items: center;
    gap: 16px; flex-wrap: wrap;
}

.multi-date-sep {
    width: 1px; height: 24px; background: var(--border); flex-shrink: 0;
}

.multi-date-shortcuts {
    display: flex; gap: 6px; flex-wrap: wrap;
}
.multi-date-shortcuts button {
    font-size: 12px; font-weight: 600; padding: 5px 12px;
    border-radius: 20px; border: 1.5px solid var(--border);
    background: var(--bg); color: var(--text-2); cursor: pointer;
    transition: all 0.15s;
}
.multi-date-shortcuts button:hover {
    border-color: var(--indigo); color: var(--indigo); background: var(--indigo-soft);
}

.multi-date-custom {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.multi-date-custom label { font-size: 12px; font-weight: 600; color: var(--text-2); }
.multi-date-custom input[type=date] {
    font-size: 12px; padding: 5px 9px; border-radius: 7px;
    border: 1.5px solid var(--border); color: var(--text);
    background: white; outline: none; font-family: inherit;
}
.multi-date-custom input[type=date]:focus { border-color: var(--indigo); }

.range-badge {
    display: flex; align-items: center; gap: 6px;
    background: var(--indigo-soft); border: 1.5px solid var(--indigo);
    color: var(--indigo); font-size: 12px; font-weight: 700;
    padding: 4px 10px; border-radius: 20px; white-space: nowrap;
}
.range-badge button {
    background: none; border: none; cursor: pointer;
    color: var(--indigo); font-size: 15px; line-height: 1;
    padding: 0; margin-left: 2px; opacity: 0.7;
}
.range-badge button:hover { opacity: 1; }

.task-date-badge {
    font-size: 10px; font-weight: 600; color: var(--text-3);
    background: #f3f4f6; border-radius: 4px; padding: 1px 5px;
    white-space: nowrap; flex-shrink: 0;
}

/* ── INTERVAL / DATE GROUP ───────────────────────── */
.date-group {
    margin-bottom: 28px;
}

.date-group-header {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: 12px; padding-bottom: 8px;
    border-bottom: 2px solid var(--indigo-soft);
}

.date-group-label {
    font-size: 14px; font-weight: 800; color: var(--text);
    letter-spacing: -0.3px; text-transform: capitalize;
}

.date-group-count {
    font-size: 12px; color: var(--text-3); font-weight: 500;
}

.date-group-grid {
    display: grid;
    gap: 16px;
}
.date-group-grid[data-cols="1"] { grid-template-columns: repeat(1, 1fr); }
.date-group-grid[data-cols="2"] { grid-template-columns: repeat(2, 1fr); }
.date-group-grid[data-cols="3"] { grid-template-columns: repeat(3, 1fr); }
.date-group-grid[data-cols="4"] { grid-template-columns: repeat(4, 1fr); }
.date-group-grid[data-cols="5"] { grid-template-columns: repeat(5, 1fr); }

.btn-meet {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    color: #5f6368;
    background: transparent;
    border: 1.5px solid #e0e0e0;
    text-decoration: none;
    transition: all 0.15s;
    flex-shrink: 0;
}
.btn-meet:hover {
    background: #e8f0fe;
    border-color: #4285f4;
    color: #4285f4;
}

/* ── EXPORT BUTTON ───────────────────────────────── */
.btn-export {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 13px;
    border-radius: 8px;
    background: transparent;
    border: 1.5px solid #d1fae5;
    color: #059669;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s;
    flex-shrink: 0;
    white-space: nowrap;
}
.btn-export:hover { background: #d1fae5; border-color: #10b981; }

/* Buton refresh standup — albastru, cu spin la încărcare */
.standup-refresh-bar {
    display: flex;
    justify-content: flex-start;
    margin: 2px 0 10px;
}
#refreshBtn { border-color: #c7d2fe; color: #f04c38; background: var(--surface); }
#refreshBtn:hover { background: #eef2ff; border-color: #f04c38; }
#refreshBtn:disabled { opacity: 0.6; cursor: wait; }
@keyframes refreshSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* ── EXPORT MODAL ────────────────────────────────── */
.export-members-grid {
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 200px;
    overflow-y: auto;
    background: #fafbff;
}
.export-member-cb {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    color: var(--text);
    cursor: pointer;
    user-select: none;
    padding: 5px 8px;
    border-radius: 7px;
    transition: background .1s;
}
.export-member-cb:hover { background: #eef0ff; }

/* Checkbox custom — appearance:none pe input direct */
.export-member-cb input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #c7c7d0;
    border-radius: 5px;
    background: #fff;
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
    transition: all .15s;
    margin: 0;
}
.export-member-cb input[type="checkbox"]:checked {
    background-color: var(--indigo);
    border-color: var(--indigo);
    /* bifă albă ca SVG în background — funcționează pe orice browser */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpolyline points='2,8 6,12 14,4' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px;
}
.export-member-cb input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--indigo);
    outline-offset: 2px;
}

.export-member-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.topbar-progress {
    font-size: 12.5px;
    color: var(--text-2);
    font-weight: 500;
    white-space: nowrap;
}
.topbar-progress strong { color: var(--green); font-weight: 700; }

/* ══ VIEWS ════════════════════════════════════════ */
.view { display: none; flex: 1; padding: 20px 28px 28px; overflow-y: auto; }
.view.active { display: block; }

/* ══ WEEKLY INLINE (în standup view) ═════════════ */
.weekly-inline-card {
    background: var(--surface);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
    margin-top: 16px;
    margin-bottom: 14px;
    overflow: hidden;
}

.weekly-inline-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    background: #f9faff;
    border-bottom: 1px solid var(--border);
}

.weekly-inline-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 700;
    color: var(--text);
}

.weekly-inline-title svg {
    color: var(--indigo);
    flex-shrink: 0;
}

.weekly-inline-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-add-obj-small {
    background: var(--indigo-soft);
    border: none;
    color: var(--indigo);
    padding: 5px 12px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-add-obj-small:hover { background: #dddcfc; }

/* Compact objectives table */
.obj-table-compact {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}

.obj-table-compact th {
    text-align: left;
    padding: 7px 14px;
    font-size: 10.5px;
    font-weight: 700;
    color: var(--text-3);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: #f9faff;
    border-bottom: 1px solid var(--border);
}

.obj-table-compact td {
    padding: 7px 14px;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
    line-height: 1.4;
}

.obj-table-compact tr:last-child td { border-bottom: none; }
.obj-table-compact tbody tr:hover td { background: #fafbff; }

.obj-empty-inline {
    padding: 16px 18px;
    font-size: 12.5px;
    color: var(--text-3);
    font-style: italic;
}

/* ── EVALUARE SĂPTĂMÂNĂ ──────────────────────────── */
.week-eval-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 2px solid var(--border);
    margin-top: 4px;
}

.week-eval-col {
    padding: 12px 16px;
}
.week-eval-col.well  { border-right: 1px solid var(--border); background: #f0fdf4; }
.week-eval-col.bad   { background: #fff7f7; }

.week-eval-label {
    display: flex; align-items: center; gap: 6px;
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .06em; margin-bottom: 7px;
}
.week-eval-col.well .week-eval-label { color: #16a34a; }
.week-eval-col.bad  .week-eval-label { color: #dc2626; }

.week-eval-rows { display: flex; flex-direction: column; gap: 3px; margin-bottom: 6px; }

.week-eval-row {
    display: flex; align-items: center; gap: 6px;
}

.week-eval-bullet {
    color: #9ca3af; font-size: 14px; flex-shrink: 0; width: 12px; text-align: center;
}
.week-eval-col.well .week-eval-bullet { color: #4ade80; }
.week-eval-col.bad  .week-eval-bullet { color: #f87171; }

.week-eval-row-input {
    flex: 1; border: none; background: transparent;
    font-size: 12.5px; color: var(--text); outline: none;
    padding: 3px 6px; border-radius: 5px;
    transition: background 0.15s;
    font-family: inherit;
}
.week-eval-row-input::placeholder { color: #c0c4d0; font-style: italic; }
.week-eval-col.well .week-eval-row-input:focus { background: #dcfce7; }
.week-eval-col.bad  .week-eval-row-input:focus { background: #fee2e2; }

.week-eval-row-del {
    width: 18px; height: 18px; border-radius: 4px;
    border: none; background: transparent; color: #d1d5db;
    font-size: 14px; cursor: pointer; display: flex;
    align-items: center; justify-content: center;
    line-height: 1; padding: 0; flex-shrink: 0;
    transition: all 0.12s;
}
.week-eval-row-del:hover { background: #fee2e2; color: #ef4444; }

.week-eval-add-row {
    font-size: 11px; font-weight: 600; color: #9ca3af;
    background: transparent; border: none; cursor: pointer;
    padding: 2px 4px; border-radius: 4px;
    transition: color 0.12s;
}
.week-eval-col.well .week-eval-add-row:hover { color: #16a34a; }
.week-eval-col.bad  .week-eval-add-row:hover { color: #dc2626; }

/* ══ STANDUP GRID ═════════════════════════════════ */
.tasks-grid {
    display: grid;
    gap: 16px;
    margin-top: 16px;
}

/* Dynamic columns */
.tasks-grid[data-cols="1"] { grid-template-columns: 1fr; }
.tasks-grid[data-cols="2"] { grid-template-columns: repeat(2,1fr); }
.tasks-grid[data-cols="3"] { grid-template-columns: repeat(3,1fr); }
.tasks-grid[data-cols="4"] { grid-template-columns: repeat(4,1fr); }
.tasks-grid[data-cols="5"] { grid-template-columns: repeat(5,1fr); }

/* ── Member Card ─────────────────────────────────── */
.member-card {
    background: var(--surface);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: box-shadow 0.2s, opacity 0.2s, transform 0.15s;
    border: 1px solid var(--border);
    cursor: grab;
}
.member-card:hover { box-shadow: var(--shadow-md); }
.member-card.dragging  { opacity: 0.4; transform: scale(0.97); cursor: grabbing; }
.member-card.drag-over { box-shadow: 0 0 0 2px var(--indigo), var(--shadow-md); transform: scale(1.01); }

.member-header {
    padding: 14px 16px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 2px solid;
}

.member-avatar {
    width: 34px; height: 34px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 800;
    color: white;
    flex-shrink: 0;
    letter-spacing: 0.5px;
}

.member-info { flex: 1; min-width: 0; }

.member-name {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.member-count {
    font-size: 11px;
    color: var(--text-3);
    font-weight: 500;
    margin-top: 1px;
}

.member-done-badge {
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 100px;
    background: var(--indigo-soft);
    color: var(--indigo);
    white-space: nowrap;
}

/* ── Tasks List ──────────────────────────────────── */
.member-tasks {
    flex: 1;
    padding: 6px 0;
    min-height: 60px;
}

.task-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 7px 14px;
    transition: background 0.1s;
    position: relative;
    cursor: pointer;
}
.task-item:hover { background: #f8f9ff; }
.task-item.expanded { background: #f5f3ff; }

.task-check {
    width: 17px; height: 17px;
    border: 2px solid #d1d5db;
    border-radius: 5px;
    flex-shrink: 0;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.15s;
    margin-top: 1px;
}
.task-check:hover { border-color: var(--indigo); }
.task-check.done { background: var(--green); border-color: var(--green); }
.task-check.done::after { content: ''; display: block; width: 5px; height: 8px; border: 2px solid white; border-left: none; border-top: none; transform: rotate(45deg) translate(-1px,-1px); }

.task-text {
    flex: 1;
    font-size: 12.5px;
    color: #374151;
    line-height: 1.45;
    cursor: default;
    word-break: break-word;
    padding-top: 0;
}
.task-text.done { text-decoration: line-through; color: var(--text-3); }

/* Self-mark personal (✓/✗ independent de status) */
.task-selfmark {
    width: 19px; height: 19px;
    flex-shrink: 0;
    border: 1.5px dashed #cbd5e1;
    border-radius: 5px;
    background: transparent;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 800; line-height: 1;
    color: #94a3b8;
    padding: 0;
    margin-top: 1px;
    transition: all 0.12s;
}
.task-selfmark:hover { border-color: #94a3b8; background: #f8fafc; }
.task-selfmark.sm-done { border: 1.5px solid #22c55e; background: #dcfce7; color: #16a34a; }
.task-selfmark.sm-no   { border: 1.5px solid #ef4444; background: #fee2e2; color: #dc2626; }
[data-theme="dark"] .task-selfmark:hover { background: #252840; }
[data-theme="dark"] .task-selfmark.sm-done { background: rgba(34,197,94,0.15); }
[data-theme="dark"] .task-selfmark.sm-no   { background: rgba(239,68,68,0.15); }

/* Toggle "În ședință / Ascuns" din setări echipă */
.btn-standup-toggle {
    border: 1px solid #86efac;
    background: #f0fdf4;
    color: #16a34a;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 8px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s;
}
.btn-standup-toggle:hover { background: #dcfce7; }
.btn-standup-toggle.is-hidden {
    border-color: #fca5a5;
    background: #fef2f2;
    color: #dc2626;
}
.btn-standup-toggle.is-hidden:hover { background: #fee2e2; }

.task-del {
    opacity: 0;
    background: none;
    border: none;
    color: #d1d5db;
    cursor: pointer;
    padding: 1px 4px;
    font-size: 16px;
    line-height: 1;
    border-radius: 4px;
    transition: all 0.15s;
    flex-shrink: 0;
}
.task-item:hover .task-del { opacity: 1; }
.task-del:hover { color: var(--red); background: #fef2f2; }

/* ── TIME BADGE (pe taskuri finalizate) ──────────── */
.task-time-area {
    display: none;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
}
.task-item.expanded .task-time-area {
    display: flex;
}
.time-badge {
    display: flex;
    align-items: center;
    gap: 5px;
}
.btn-edit-time {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 11px;
    padding: 1px 4px;
    border-radius: 4px;
    opacity: 0.5;
    transition: opacity 0.15s;
    line-height: 1;
}
.btn-edit-time:hover { opacity: 1; background: #ede9fe; }
.time-badge-spent,
.time-badge-billed {
    font-size: 10.5px;
    font-weight: 600;
    padding: 1px 7px;
    border-radius: 20px;
    white-space: nowrap;
}
.time-badge-spent  { background: #ede9fe; color: #6d28d9; }
.time-badge-billed { background: #d1fae5; color: #065f46; }

/* ── TIME MODAL hint ─────────────────────────────── */
.time-input-hint {
    font-size: 11px;
    color: #6b7280;
    margin-top: 3px;
    min-height: 14px;
    font-weight: 500;
}

.tasks-empty {
    padding: 20px 14px;
    text-align: center;
    color: var(--text-3);
    font-size: 12px;
}
.tasks-empty svg { display: block; margin: 0 auto 6px; opacity: 0.4; }

/* ── Add Task ────────────────────────────────────── */
.member-footer { padding: 8px 12px 10px; border-top: 1px solid #f3f4f6; min-width: 0; }

.add-special-row {
    display: flex; gap: 6px; margin-top: 6px;
}

.btn-special-task {
    display: flex; align-items: center; gap: 4px;
    font-size: 11px; font-weight: 600; padding: 4px 9px;
    border-radius: 6px; border: 1.5px solid #e5e7eb;
    background: white; color: #6b7280; cursor: pointer;
    transition: all 0.15s; flex: 1; justify-content: center;
}
.btn-special-task:hover { border-color: var(--indigo); color: var(--indigo); background: var(--indigo-soft); }

/* Modal tip eveniment */
.event-type-grid {
    display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 8px; margin-bottom: 14px;
}
.event-type-card { cursor: pointer; }
.event-type-card input[type=radio] { display: none; }
.event-type-inner {
    display: flex; flex-direction: column; align-items: center; gap: 5px;
    padding: 10px 8px; border-radius: 10px;
    border: 2px solid var(--border); background: var(--bg);
    transition: all 0.15s; font-size: 12px; font-weight: 600; color: var(--text-2);
}
.event-type-icon { font-size: 20px; }
.event-type-card input:checked + .event-type-inner {
    border-color: var(--indigo); background: var(--indigo-soft); color: var(--indigo);
}
.event-type-inner:hover { border-color: #c7c9f8; background: #f5f5fe; }

.event-time-row {
    display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 4px;
}

/* Task special — invoire / concediu / ore_suplimentare / zi_libera */
.task-special {
    border-radius: 7px; padding: 5px 9px; margin-bottom: 2px;
}
.task-special.invoire        { background: #fffbeb; border: 1px solid #fde68a; }
.task-special.concediu       { background: #ecfdf5; border: 1px solid #a7f3d0; }
.task-special.ore-suplimentare { background: #eff6ff; border: 1px solid #bfdbfe; }
.task-special.zi-libera      { background: #fdf4ff; border: 1px solid #e9d5ff; }
.special-icon { font-size: 13px; flex-shrink: 0; }

.add-task-row {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: nowrap;
    min-width: 0;
}

.add-task-input {
    flex: 1 1 0;
    min-width: 0;                 /* permite shrink sub lățimea placeholder-ului */
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 7px 10px;
    font-size: 12px;
    color: var(--text);
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    background: #f9fafb;
}
.add-task-input::placeholder { color: var(--text-3); }
.add-task-input:focus {
    border-color: var(--indigo);
    background: white;
    box-shadow: 0 0 0 3px rgba(20,20,20,0.1);
}

.btn-add-task {
    width: 30px; height: 30px;
    background: var(--indigo);
    border: none;
    border-radius: 8px;
    color: white;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; line-height: 1;
    flex-shrink: 0;
    transition: background 0.15s;
}
.btn-add-task:hover { background: var(--indigo-dark); }

/* ══ OBJECTIVES VIEW ══════════════════════════════ */
.objectives-container { max-width: 100%; }

.objectives-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    margin-top: 16px;
}

.objectives-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--text);
}

.week-pill {
    font-size: 12px;
    color: var(--indigo);
    background: var(--indigo-soft);
    padding: 4px 12px;
    border-radius: 100px;
    font-weight: 600;
    margin-left: 10px;
}

.objectives-card {
    background: var(--surface);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
    overflow: hidden;
}

.obj-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.obj-table th {
    text-align: left;
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 700;
    color: var(--text-2);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: #f9faff;
    border-bottom: 1px solid var(--border);
}

.obj-table td {
    padding: 10px 16px;
    border-bottom: 1px solid #f3f4f6;
    vertical-align: middle;
}

.obj-table tr:last-child td { border-bottom: none; }
.obj-table tbody tr:hover td { background: #fafbff; }

.obj-title-cell {
    font-weight: 500;
    color: var(--text);
}

[contenteditable]:focus {
    outline: none;
    border-radius: 4px;
    box-shadow: 0 0 0 2px var(--indigo);
    padding: 1px 4px;
}

.obj-member-cell {
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.mini-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.obj-select {
    border: none;
    background: transparent;
    font-size: 12px;
    color: var(--text);
    cursor: pointer;
    padding: 2px 20px 2px 0;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24'%3E%3Cpath fill='%236b7280' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 2px center;
    outline: none;
}

.pct-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pct-val {
    font-size: 12px;
    font-weight: 700;
    color: var(--indigo);
    width: 34px;
}

.pct-range {
    width: 70px;
    accent-color: var(--indigo);
    cursor: pointer;
}

.pct-bar { height: 5px; background: #e5e7eb; border-radius: 3px; width: 70px; margin-top: 3px; overflow: hidden; }
.pct-fill { height: 100%; border-radius: 3px; background: var(--indigo); transition: width 0.3s; }

.note-span {
    font-size: 12px;
    color: var(--text-2);
    min-width: 20px;
    display: inline-block;
    border-radius: 4px;
    padding: 1px 4px;
    cursor: text;
}
.note-span:empty::before { content: '— adaugă'; color: var(--text-3); font-style: italic; }

.btn-del-row {
    background: none;
    border: none;
    color: #d1d5db;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    padding: 2px 4px;
    border-radius: 4px;
    transition: all 0.15s;
}
.btn-del-row:hover { color: var(--red); background: #fef2f2; }

.obj-add-row td {
    padding: 10px 16px;
}

.btn-add-obj {
    background: none;
    border: none;
    color: var(--indigo);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    transition: opacity 0.15s;
}
.btn-add-obj:hover { opacity: 0.7; }

/* ══ STATS VIEW ═══════════════════════════════════ */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.stat-card {
    background: var(--surface);
    border-radius: var(--radius);
    padding: 20px;
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
}

.stat-member {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.stat-avatar {
    width: 38px; height: 38px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 800;
    color: white;
}

.stat-name {
    font-size: 13px;
    font-weight: 700;
    color: var(--text);
}

.stat-numbers {
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin-bottom: 8px;
}

.stat-big {
    font-size: 28px;
    font-weight: 800;
    color: var(--indigo);
    line-height: 1;
}

.stat-of {
    font-size: 13px;
    color: var(--text-3);
    font-weight: 500;
}

.stat-bar { height: 6px; background: #f0f1ff; border-radius: 3px; overflow: hidden; }
.stat-fill { height: 100%; border-radius: 3px; transition: width 0.5s ease; }

.stats-week-label {
    font-size: 12px;
    color: var(--text-3);
    margin-top: 10px;
    font-weight: 500;
}

/* ══ SETTINGS VIEW ════════════════════════════════ */
/* ── SETTINGS TABS ───────────────────────────────── */
.settings-tabs {
    display: flex;
    gap: 4px;
    padding: 16px 0 0;
    border-bottom: 2px solid var(--border);
    margin-bottom: 20px;
}
.settings-tab {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px 18px;
    border: none;
    background: none;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--text-2);
    cursor: pointer;
    border-radius: 10px 10px 0 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color .15s, background .15s;
}
.settings-tab:hover { background: #f3f4f6; color: var(--text); }
.settings-tab.active {
    color: var(--accent);
    border-bottom-color: var(--accent);
    background: #eef0ff;
}
.settings-tab-icon { font-size: 15px; }
.settings-tab-body { padding-bottom: 32px; }

.settings-section {
    margin-top: 0;
    background: var(--surface);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    border: 1px solid var(--border);
    overflow: hidden;
}

.settings-section-title {
    padding: 14px 20px;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-2);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: #f9faff;
    border-bottom: 1px solid var(--border);
}

.member-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.1s;
}
.member-row:last-child { border-bottom: none; }
.member-row:hover { background: #fafbff; }

.member-row-avatar {
    width: 36px; height: 36px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 800;
    color: white;
    flex-shrink: 0;
}

.member-row-info { flex: 1; }
.member-row-name { font-size: 13.5px; font-weight: 600; color: var(--text); }
.member-row-email { font-size: 12px; color: var(--text-3); margin-top: 1px; }

.btn-del-member {
    background: none;
    border: 1px solid #fee2e2;
    color: var(--red);
    border-radius: 7px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}
.btn-del-member:hover { background: #fef2f2; }

.add-member-form {
    padding: 16px 20px;
    display: flex;
    gap: 8px;
    align-items: flex-end;
    flex-wrap: wrap;
    border-top: 1px solid var(--border);
}

.form-group { display: flex; flex-direction: column; gap: 5px; }
.form-label { font-size: 11px; font-weight: 700; color: var(--text-2); text-transform: uppercase; letter-spacing: 0.05em; }

.form-input {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 8px 12px;
    font-family: inherit;
    font-size: 13px;
    color: var(--text);
    outline: none;
    background: #f9fafb;
    transition: border-color 0.15s, box-shadow 0.15s;
    min-width: 140px;
}
.form-input:focus {
    border-color: var(--indigo);
    background: white;
    box-shadow: 0 0 0 3px rgba(20,20,20,0.1);
}

.color-input {
    width: 40px; height: 36px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 2px;
    cursor: pointer;
    background: white;
}

.btn-primary {
    background: var(--indigo);
    border: none;
    color: white;
    padding: 9px 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
    align-self: flex-end;
}
.btn-primary:hover { background: var(--indigo-dark); }

/* ══ MODAL ════════════════════════════════════════ */
.modal-overlay {
    position: fixed; inset: 0;
    background: rgba(26, 29, 58, 0.45);
    display: flex; align-items: center; justify-content: center;
    z-index: 200;
    animation: fadeIn 0.15s ease;
    backdrop-filter: blur(2px);
}

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.modal {
    background: white;
    border-radius: 18px;
    padding: 28px;
    width: 100%;
    max-width: 440px;
    box-shadow: 0 20px 60px rgba(20,20,20,0.2);
    animation: slideUp 0.2s ease;
}

@keyframes slideUp { from { transform: translateY(16px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

.modal-title {
    font-size: 17px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 20px;
}

.modal-field { margin-bottom: 14px; }
.modal-field label { display: block; font-size: 11px; font-weight: 700; color: var(--text-2); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 6px; }

.modal-field input, .modal-field select {
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 14px;
    color: var(--text);
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    background: #f9fafb;
    -webkit-appearance: none;
}
.modal-field input:focus, .modal-field select:focus {
    border-color: var(--indigo);
    background: white;
    box-shadow: 0 0 0 3px rgba(20,20,20,0.1);
}

.modal-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 22px;
}

.btn-cancel {
    background: #f3f4f6;
    border: none;
    color: var(--text-2);
    padding: 10px 20px;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}
.btn-cancel:hover { background: #e5e7eb; }

/* ══ LOADING ══════════════════════════════════════ */
.loading-overlay {
    position: fixed; inset: 0;
    background: rgba(238,240,251,0.8);
    display: flex; align-items: center; justify-content: center;
    z-index: 300;
    display: none;
}

.spinner {
    width: 36px; height: 36px;
    border: 3px solid rgba(20,20,20,0.15);
    border-top-color: var(--indigo);
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
}

@keyframes spin { to { transform: rotate(360deg); } }

/* ══ TOAST ════════════════════════════════════════ */
.toast-wrap {
    position: fixed;
    bottom: 24px; right: 24px;
    display: flex; flex-direction: column; gap: 8px;
    z-index: 400;
}

.toast {
    background: #1a1d3a;
    color: white;
    padding: 12px 18px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    box-shadow: 0 4px 20px rgba(0,0,0,0.18);
    animation: toastIn 0.2s ease;
    max-width: 320px;
    display: flex; align-items: center; gap: 8px;
}
.toast.success { background: #0d9488; }
.toast.error   { background: #dc2626; }
.toast.info    { background: #4f46e5; }

@keyframes toastIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

/* ══ SCROLLBAR ════════════════════════════════════ */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #9ca3af; }

/* ══ RESPONSIVE ═══════════════════════════════════ */
/* Fluid fallback: on narrow viewports, let cards wrap naturally */
@media (max-width: 1400px) {
    .tasks-grid[data-cols="5"] { grid-template-columns: repeat(4, 1fr) !important; }
}
@media (max-width: 1200px) {
    .tasks-grid[data-cols="4"],
    .tasks-grid[data-cols="5"] { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 900px) {
    :root { --sidebar-w: 60px; }
    .logo-text, .nav-item span, .sidebar-footer { display: none; }
    .logo-icon { margin: 0 auto; }
    .sidebar-logo { padding: 20px 10px; justify-content: center; }
    .sidebar-nav { padding: 0 6px; }
    .nav-item { justify-content: center; padding: 10px; }
    .tasks-grid { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 600px) {
    .tasks-grid { grid-template-columns: 1fr !important; }
    .topbar { padding: 14px 16px 0; }
    .view { padding: 14px 16px 20px; }
}

/* Prevent overflow inside member cards (task content with long names) */
.member-card { min-width: 0; }
.member-tasks { min-width: 0; overflow: hidden; }
.task-item { min-width: 0; }
.task-text,
.task-content,
.task-project-chip,
.subitem-name {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Today highlight */
.today-chip {
    background: linear-gradient(135deg, var(--indigo), #7c3aed);
    color: white;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 100px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-left: 6px;
}

/* ── PROJECT BOARD ───────────────────────────────── */
.board-container {
    padding: 0 20px 20px;
    overflow: auto;
}

/* On project view: lock body scroll & make the board fill remaining viewport
   so horizontal scrollbar always stays at the visible bottom. */
body.view-project {
    overflow: hidden;
    height: 100vh;
}
body.view-project .main {
    height: 100vh;
    min-height: 0;
}
body.view-project #view-project.view.active {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
body.view-project #view-project .project-container {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
body.view-project .project-container > .project-hero {
    flex-shrink: 0;
}
body.view-project .project-container > .proj-folder-grid {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
}
body.view-project .board-container {
    flex: 1;
    min-height: 0;
}
.board-loading {
    padding: 60px;
    text-align: center;
    color: #94a3b8;
    font-size: 13px;
}
.board-wrap { min-width: max-content; }

.board-header, .board-sub-header {
    display: flex;
    align-items: center;
    padding: 6px 0 4px;
    border-bottom: 2px solid #e5e7eb;
    font-size: 10.5px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.board-header {
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 5;
}
.board-col-title { width: var(--board-title-w, 320px); flex-shrink: 0; padding: 4px 8px; display: flex; align-items: center; gap: 4px; position: relative; }
.board-resize-handle {
    position: absolute; right: -3px; top: 0; bottom: 0; width: 6px;
    cursor: col-resize; z-index: 10;
    transition: background 0.15s;
}
.board-resize-handle:hover, .board-resize-handle.resizing {
    background: var(--indigo);
}
.board-col       { flex-shrink: 0; padding: 4px 8px; }
.board-col-actions { width: 32px; flex-shrink: 0; }

/* Typed columns */
.board-col-number, .board-col-calc { text-align: right; font-variant-numeric: tabular-nums; }
.board-col-calc { font-weight: 600; color: #475569; }
.board-cell-calc.pos { color: #16a34a; }
.board-cell-calc.neg { color: #dc2626; }

/* Percent column */
.board-col-percent {
    display: flex;
    align-items: center;
    gap: 6px;
}
.board-progress-track {
    flex: 1;
    min-width: 40px;
    height: 6px;
    background: #e5e7eb;
    border-radius: 3px;
    overflow: hidden;
}
.board-progress-fill {
    height: 100%;
    background: #f04c38;
    border-radius: 3px;
    transition: width 0.2s;
}
.board-cell-pct {
    font-size: 11px;
    font-weight: 600;
    color: #475569;
    outline: none;
    min-width: 20px;
    text-align: right;
    padding: 1px 2px;
    border-radius: 2px;
}
.board-cell-pct:focus { background: #fff; outline: 1px solid #f04c38; }
.board-cell-pct:empty::before { content: '0'; color: #cbd5e1; }
.board-pct-sym { font-size: 11px; color: #94a3b8; }

/* Group */
.board-group { margin-top: 18px; }
.board-group-header {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 6px 6px 4px;
    border-left: 3px solid var(--gc, #f04c38);
    background: #f8f9ff;
    border-radius: 0 6px 6px 0;
}
.board-group-toggle { background: none; border: none; cursor: pointer; padding: 2px; color: #94a3b8; display: flex; align-items: center; }
.board-group-name { font-weight: 700; font-size: 13px; color: #1a1d3a; cursor: pointer; flex: 1; }
.board-group-name:hover { color: #f04c38; }
.board-group-count { font-size: 11px; color: #94a3b8; background: #e5e7eb; border-radius: 10px; padding: 1px 7px; }
.board-group-del { background: none; border: none; cursor: pointer; color: #cbd5e1; font-size: 18px; padding: 0 4px; line-height: 1; opacity: 0; transition: opacity 0.15s; }
.board-group-header:hover .board-group-del { opacity: 1; }
.board-group-del:hover { color: #ef4444; }

/* Row */
.board-row {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #f1f5f9;
    min-height: 36px;
    transition: background 0.1s;
}
.board-row:hover { background: #f8f9ff; }

/* Subitems block */
.board-subitems-block {
    background: #fafbff;
    border-left: 3px solid #e0e7ff;
    margin-left: 24px;
    padding-left: 4px;
}
.board-sub-header { padding: 6px 0 3px; border-bottom: 1px solid #e5e7eb; }
.board-sub-header .board-col-title { width: var(--sub-title-w, 300px); }
.board-subitem { background: transparent; }
.board-subitem .board-col-title { width: var(--sub-title-w, 300px); padding-left: 12px; }
.board-subitem .board-subitem-dot {
    width: 5px; height: 5px; border-radius: 50%;
    background: #cbd5e1; flex-shrink: 0;
}
.board-subitem:hover { background: #f0f4ff; }
.board-add-subitem { padding: 3px 8px; }

/* Sum row */
.board-sum-row {
    display: flex;
    align-items: center;
    padding: 6px 0;
    border-top: 2px solid #e5e7eb;
    background: #fafbff;
    font-size: 12.5px;
    font-weight: 600;
    color: #1a1d3a;
    font-variant-numeric: tabular-nums;
}
.board-sum-cell {
    text-align: right;
    position: relative;
}
.board-sum-cell.pos { color: #16a34a; }
.board-sum-cell.neg { color: #dc2626; }
.board-sum-label {
    display: block;
    font-size: 9px;
    font-weight: 500;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: -2px;
}

/* Title */
.board-item-title {
    flex: 1;
    font-size: 12.5px;
    color: #1a1d3a;
    outline: none;
    min-width: 0;
    padding: 2px 4px;
    border-radius: 3px;
    word-break: normal;
    overflow-wrap: break-word;
    line-height: 1.35;
}
.board-item-title:focus { background: #fff; outline: 1px solid #f04c38; }
.board-item-title:empty::before { content: 'Titlu...'; color: #cbd5e1; }

/* Subtoggle */
.board-subtoggle {
    background: none; border: none; cursor: pointer;
    display: flex; align-items: center; gap: 3px;
    font-size: 11px; color: #94a3b8;
    padding: 2px 4px; border-radius: 3px; flex-shrink: 0;
}
.board-subtoggle:hover { background: #e0e7ff; color: #f04c38; }
.board-subtoggle-ph { width: 28px; flex-shrink: 0; display: inline-block; }
.board-subadd {
    background: none; border: none; cursor: pointer;
    color: #cbd5e1; font-size: 15px; padding: 1px 3px;
    opacity: 0; transition: opacity 0.15s; flex-shrink: 0;
}
.board-row:hover .board-subadd { opacity: 1; }
.board-subadd:hover { color: #f04c38; }

/* Cells */
.board-col.board-cell-person,
.board-col.board-cell-status { cursor: pointer; border-radius: 4px; }
.board-col.board-cell-person:hover,
.board-col.board-cell-status:hover { background: #f1f5f9; }

.board-cell-text { font-size: 12px; color: #475569; }
.board-cell-editable {
    display: block; width: 100%; outline: none;
    padding: 2px 3px; border-radius: 3px; min-height: 18px;
    word-break: break-word;
}
.board-cell-editable:focus { background: #fff; outline: 1px solid #f04c38; }
.board-cell-editable:empty::before { content: '—'; color: #e2e8f0; }

.board-date-input {
    border: none; background: transparent;
    font-size: 11.5px; color: #475569;
    cursor: pointer; outline: none; width: 100%; padding: 2px 0;
}
.board-date-input:focus { outline: 1px solid #f04c38; border-radius: 3px; background: #fff; }

/* Person avatar in board */
.board-person-avatar {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; border-radius: 50%;
    font-size: 10px; font-weight: 700; color: #fff;
}
.board-person-empty { color: #cbd5e1; font-size: 13px; }

/* Status pill */
.board-status-pill {
    display: inline-block; padding: 2px 9px;
    border-radius: 20px; font-size: 11px; font-weight: 600; white-space: nowrap;
}

/* Delete */
.board-item-del {
    background: none; border: none; cursor: pointer;
    color: #cbd5e1; font-size: 17px; padding: 2px 4px;
    opacity: 0; transition: opacity 0.15s; line-height: 1;
}
.board-row:hover .board-item-del { opacity: 1; }
.board-item-del:hover { color: #ef4444; }

/* Add buttons */
.board-add-item { padding: 3px 8px; }
.btn-board-add-item {
    background: none; border: none; cursor: pointer;
    font-size: 12px; color: #94a3b8; padding: 4px 8px; border-radius: 4px;
}
.btn-board-add-item:hover { background: #f1f5f9; color: #f04c38; }

.board-add-group { margin-top: 16px; padding: 4px 0; }
.btn-board-add-group {
    background: none; border: 1.5px dashed #d1d5db;
    cursor: pointer; font-size: 12px; color: #94a3b8;
    padding: 7px 18px; border-radius: 7px; transition: all 0.15s;
}
.btn-board-add-group:hover { border-color: #f04c38; color: #f04c38; background: #f5f3ff; }

/* Dropdown */
.board-dropdown {
    background: #fff; border: 1px solid #e5e7eb;
    border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,0.12);
    overflow: hidden; min-width: 160px;
}
.board-dd-item {
    display: flex; align-items: center; gap: 8px;
    padding: 7px 12px; cursor: pointer;
    font-size: 12.5px; color: #374151;
}
.board-dd-item:hover { background: #f8f9ff; }
.board-dd-active { background: #f5f3ff; }

/* ── DRAG & DROP ─────────────────────────────────── */
.board-drag-handle {
    display: inline-flex;
    align-items: center;
    cursor: grab;
    color: #cbd5e1;
    padding: 2px;
    border-radius: 3px;
    opacity: 0;
    transition: opacity 0.15s, color 0.15s;
    flex-shrink: 0;
}
.board-drag-handle:active { cursor: grabbing; }
.board-drag-handle:hover { color: #f04c38; background: #eef2ff; }
.board-group-header:hover .board-drag-handle,
.board-row:hover .board-drag-handle { opacity: 1; }

.board-group.dragging,
.board-row.dragging { opacity: 0.35; }

.board-group.drop-before { box-shadow: 0 -3px 0 0 #f04c38 inset; }
.board-group.drop-after  { box-shadow: 0 3px 0 0 #f04c38 inset; }
.board-row.drop-before   { box-shadow: 0 -2px 0 0 #f04c38 inset; }
.board-row.drop-after    { box-shadow: 0 2px 0 0 #f04c38 inset; }

/* ── GROUP COLOR PICKER ──────────────────────────── */
.board-group-color-btn {
    background: none; border: none; cursor: pointer;
    padding: 2px; display: flex; align-items: center;
    opacity: 0.6; transition: opacity 0.15s;
}
.board-group-color-btn:hover { opacity: 1; }
.board-group-color-dot {
    width: 11px; height: 11px; border-radius: 50%;
    border: 1.5px solid rgba(0,0,0,0.1);
}
.board-color-dropdown {
    display: grid;
    grid-template-columns: repeat(6, 24px);
    gap: 4px;
    padding: 8px !important;
    min-width: auto !important;
}
.board-color-swatch {
    width: 24px; height: 24px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid transparent;
    transition: transform 0.1s, border-color 0.1s;
}
.board-color-swatch:hover { transform: scale(1.15); border-color: rgba(0,0,0,0.1); }

/* ── DUPLICATE BUTTON ────────────────────────────── */
.board-item-dup {
    background: none; border: none; cursor: pointer;
    color: #cbd5e1; padding: 2px 4px;
    border-radius: 3px; line-height: 0;
    opacity: 0; transition: opacity 0.15s, color 0.15s;
    flex-shrink: 0;
}
.board-row:hover .board-item-dup { opacity: 1; }
.board-item-dup:hover { color: #f04c38; background: #eef2ff; }

/* ── COMMENTS BUTTON ───────────────────────────────── */
.board-comments-btn {
    background: none; border: none; cursor: pointer;
    color: #cbd5e1; padding: 2px 5px;
    border-radius: 4px; line-height: 0;
    display: inline-flex; align-items: center; gap: 3px;
    opacity: 0; transition: opacity 0.15s, color 0.15s, background 0.15s;
    flex-shrink: 0;
}
.board-row:hover .board-comments-btn { opacity: 1; }
.board-comments-btn:hover { color: #f04c38; background: #eef2ff; }
.board-comments-btn.has-comments { opacity: 1; color: #f04c38; }
.board-comments-count {
    font-size: 10px; font-weight: 700;
    background: #f04c38; color: #fff;
    border-radius: 10px; padding: 1px 5px;
    line-height: 1.2;
}

/* ── COMMENTS MODAL ────────────────────────────────── */
.modal-panel {
    background: #fff;
    border-radius: 14px;
    width: 100%;
    max-width: 520px;
    max-height: 80vh;
    display: flex; flex-direction: column;
    box-shadow: 0 20px 60px rgba(0,0,0,0.25);
    animation: slideUp 0.2s ease;
}
.modal-comments { max-width: 580px; }
.modal-comments .modal-header {
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb;
    display: flex; align-items: center; justify-content: space-between;
}
.modal-comments .modal-header h3 { font-size: 15px; font-weight: 700; color: #1a1d3a; margin: 0; }
.modal-comments .modal-close {
    background: none; border: none; cursor: pointer;
    color: #94a3b8; font-size: 22px; line-height: 1;
    padding: 0 4px; border-radius: 4px;
}
.modal-comments .modal-close:hover { color: #ef4444; background: #fee2e2; }
.modal-comments .modal-body {
    display: flex; flex-direction: column;
    gap: 12px; padding: 0;
    flex: 1; min-height: 0;
}
.comments-thread {
    overflow-y: auto;
    padding: 14px 20px;
    flex: 1; min-height: 150px;
    display: flex; flex-direction: column; gap: 10px;
}
.comments-empty { text-align: center; color: #94a3b8; font-size: 13px; padding: 30px 0; }
.comment-item {
    background: #f8f9ff;
    border-radius: 8px;
    padding: 8px 12px;
}
.comment-head {
    display: flex; align-items: center; gap: 8px;
    font-size: 11.5px;
    margin-bottom: 3px;
}
.comment-author { font-weight: 700; color: #1a1d3a; }
.comment-date { color: #94a3b8; }
.comment-actions {
    margin-left: auto;
    display: flex; gap: 3px;
    opacity: 0; transition: opacity 0.15s;
}
.comment-item:hover .comment-actions { opacity: 1; }
.comment-actions button {
    background: none; border: none; cursor: pointer;
    font-size: 12px; padding: 1px 4px; border-radius: 3px;
}
.comment-actions button:hover { background: #e0e7ff; }
.comment-body { font-size: 13px; color: #1a1d3a; white-space: pre-wrap; word-break: break-word; }
.comment-edit-input {
    width: 100%; min-height: 60px;
    border: 1.5px solid #f04c38; border-radius: 6px;
    padding: 6px 8px; font-family: inherit; font-size: 13px;
    resize: vertical; outline: none;
}
.comments-composer {
    display: flex; gap: 8px;
    padding: 12px 20px 16px; border-top: 1px solid #e5e7eb;
    background: #fafbff;
    border-bottom-left-radius: 14px; border-bottom-right-radius: 14px;
}
.comments-composer textarea {
    flex: 1;
    border: 1.5px solid #e5e7eb; border-radius: 8px;
    padding: 8px 10px; font-family: inherit; font-size: 13px;
    resize: none; outline: none;
}
.comments-composer textarea:focus { border-color: #f04c38; }
.comments-composer .btn-primary { align-self: flex-end; padding: 8px 16px; font-size: 13px; }

/* ── GROUP MONTH BADGE ──────────────────────────────── */
.board-group-month {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    color: #f04c38;
    background: #eef2ff;
    padding: 3px 8px;
    border-radius: 12px;
    cursor: pointer;
    border: 1px solid #e0e7ff;
    transition: all 0.15s;
    flex-shrink: 0;
}
.board-group-month:hover { background: #ddd6fe; border-color: #c7d2fe; }
.board-group-month-empty {
    color: #94a3b8;
    background: transparent;
    border-style: dashed;
    border-color: #e5e7eb;
    opacity: 0.7;
}
.board-group-month-empty:hover { opacity: 1; color: #f04c38; border-color: #c7d2fe; background: #f8f9ff; }

.board-month-dropdown {
    padding: 10px !important;
    min-width: 240px !important;
    display: flex; flex-direction: column; gap: 8px;
}
.board-month-input {
    width: 100%;
    padding: 6px 10px;
    border: 1.5px solid #e5e7eb;
    border-radius: 6px;
    font-family: inherit;
    font-size: 13px;
    outline: none;
}
.board-month-input:focus { border-color: #f04c38; }
.board-month-selects {
    display: flex;
    gap: 6px;
}
.board-month-select {
    flex: 1;
    padding: 7px 9px;
    border: 1.5px solid #e5e7eb;
    border-radius: 6px;
    background: #fff;
    color: #374151;
    font-family: inherit;
    font-size: 13px;
    cursor: pointer;
    outline: none;
}
.board-month-select:hover { border-color: #c7d2fe; }
.board-month-select:focus { border-color: #f04c38; box-shadow: 0 0 0 3px rgba(20,20,20,0.12); }
[data-theme="dark"] .board-month-select { background: #1e2030; color: #e5e7eb; border-color: #374151; }
.board-month-actions {
    display: flex; gap: 6px; justify-content: flex-end;
}
.board-month-actions button {
    border: none; cursor: pointer;
    padding: 5px 12px; border-radius: 5px;
    font-size: 11.5px; font-weight: 600;
}
.board-month-clear { background: #fee2e2; color: #dc2626; }
.board-month-clear:hover { background: #fecaca; }
.board-month-save  { background: #f04c38; color: #fff; }
.board-month-save:hover  { background: #4f51db; }

/* ── GROUP DUPLICATE BUTTON ────────────────────────── */
.board-group-dup {
    background: none; border: none; cursor: pointer;
    color: #cbd5e1; padding: 3px 5px;
    border-radius: 4px; line-height: 0;
    opacity: 0; transition: opacity 0.15s, color 0.15s, background 0.15s;
}
.board-group-header:hover .board-group-dup { opacity: 1; }
.board-group-dup:hover { color: #f04c38; background: #eef2ff; }

/* ── TASK ALLOCATOR (link to board subitem) ───────── */
.btn-alloc {
    background: none;
    border: 1.5px solid #e5e7eb;
    color: #94a3b8;
    cursor: pointer;
    border-radius: 8px;
    padding: 0 8px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    transition: all 0.15s;
    flex-shrink: 0;               /* nu permite să fie tăiat în cardul strâmt */
}
.btn-alloc:hover { border-color: #f04c38; color: #f04c38; background: #eef2ff; }
.add-task-row.has-alloc .btn-alloc { border-color: #f04c38; color: #f04c38; background: #eef2ff; }

.add-task-row { position: relative; }
.pending-alloc-badge {
    display: inline-block;
    position: absolute;
    top: -18px; left: 2px;
    font-size: 10px;
    font-weight: 600;
    color: #f04c38;
    background: #eef2ff;
    padding: 2px 7px;
    border-radius: 8px 8px 0 0;
    border: 1px solid #c7d2fe;
    border-bottom: none;
    max-width: calc(100% - 10px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Task link badge (showing allocation) */
.task-link-badge {
    display: none;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    font-weight: 600;
    color: #f04c38;
    background: #eef2ff;
    padding: 2px 7px;
    border-radius: 10px;
    border: 1px solid #c7d2fe;
    cursor: pointer;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all 0.1s;
}
.task-item.expanded .task-link-badge { display: inline-flex; }
.task-link-badge:hover { background: #c7d2fe; border-color: #a5b4fc; }
.task-link-multi-badge {
    background: #fef3c7;
    border-color: #fcd34d;
    color: #b45309;
}
.task-link-multi-badge:hover { background: #fde68a; border-color: #f59e0b; }
.task-link-multi {
    display: inline-block;
    margin-left: 4px;
    padding: 0 5px;
    background: rgba(180,83,9,0.18);
    color: #92400e;
    border-radius: 8px;
    font-size: 9.5px;
    font-weight: 700;
}
[data-theme="dark"] .task-link-multi-badge { background: rgba(245,158,11,0.15); border-color: rgba(245,158,11,0.45); color: #f59e0b; }
[data-theme="dark"] .task-link-multi { background: rgba(245,158,11,0.25); color: #fbbf24; }

.task-link-btn {
    background: none; border: none; cursor: pointer;
    color: #cbd5e1; padding: 2px 4px;
    border-radius: 3px; line-height: 0;
    opacity: 0;
    transition: opacity 0.15s, color 0.15s, background 0.15s;
    flex-shrink: 0;
}
.task-item:hover .task-link-btn,
.task-item.expanded .task-link-btn { opacity: 1; }
.task-link-btn:hover { color: #f04c38; background: #eef2ff; }

/* Allocator popup */
.allocator-popup {
    width: 340px;
    max-height: 360px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.allocator-search {
    padding: 10px;
    border-bottom: 1px solid #f1f5f9;
}
.allocator-input {
    width: 100%;
    padding: 7px 10px;
    border: 1.5px solid #e5e7eb;
    border-radius: 6px;
    font-size: 13px;
    outline: none;
    font-family: inherit;
}
.allocator-input:focus { border-color: #f04c38; }
.allocator-results {
    flex: 1;
    overflow-y: auto;
    max-height: 260px;
}
.allocator-section-title {
    font-size: 10px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 8px 12px 4px;
    background: #fafbff;
}
.allocator-item {
    padding: 8px 12px;
    cursor: pointer;
    border-bottom: 1px solid #f8f9ff;
}
.allocator-item:hover { background: #f5f3ff; }
.allocator-current {
    background: #eef2ff;
    border-left: 3px solid #f04c38;
}
.allocator-subitem-title {
    font-size: 12.5px;
    font-weight: 600;
    color: #1a1d3a;
    margin-bottom: 2px;
}
.allocator-meta {
    font-size: 10.5px;
    color: #94a3b8;
    display: flex;
    align-items: center;
    gap: 5px;
}
.allocator-project-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}
.allocator-empty {
    padding: 20px;
    text-align: center;
    color: #94a3b8;
    font-size: 12px;
}
.allocator-footer {
    padding: 8px 10px;
    border-top: 1px solid #f1f5f9;
    background: #fafbff;
}
.allocator-unlink {
    width: 100%;
    background: #fee2e2;
    color: #dc2626;
    border: none;
    cursor: pointer;
    padding: 6px 10px;
    border-radius: 5px;
    font-size: 11.5px;
    font-weight: 600;
}
.allocator-unlink:hover { background: #fecaca; }

/* Time modal — link section */
.time-modal-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    margin-bottom: 10px;
    font-size: 12px;
    transition: all 0.15s;
}
.time-modal-link-set {
    background: #eef2ff;
    border: 1px solid #c7d2fe;
    color: #4338ca;
}
.time-modal-link-empty {
    background: #fafbff;
    border: 1.5px dashed #d1d5db;
    color: #94a3b8;
    cursor: pointer;
    justify-content: center;
    font-weight: 500;
}
.time-modal-link-empty:hover { border-color: #f04c38; color: #f04c38; background: #f5f3ff; }
.time-modal-link-empty.disabled {
    background: #f3f4f6;
    border-color: #e5e7eb;
    color: #9ca3af;
    cursor: not-allowed;
    opacity: 0.72;
}
.time-modal-link-empty.disabled:hover {
    border-color: #e5e7eb;
    color: #9ca3af;
    background: #f3f4f6;
}
.time-modal-link-info { flex: 1; min-width: 0; }
.time-modal-link-label { font-size: 10px; text-transform: uppercase; letter-spacing: 0.05em; opacity: 0.8; }
.time-modal-link-target {
    font-weight: 600;
    font-size: 12.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.time-modal-link-edit {
    background: rgba(20,20,20,0.1);
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 5px;
    font-size: 12px;
}
.time-modal-link-edit:hover { background: rgba(20,20,20,0.2); }

/* ── Time modal (multi-allocation) ──────────────────── */
.time-modal-wide { max-width: 620px !important; }
.tm-step {
    display: inline-block;
    background: #f04c38;
    color: white;
    border-radius: 100px;
    width: 16px; height: 16px;
    line-height: 16px;
    text-align: center;
    font-size: 10px;
    font-weight: 700;
    margin-right: 6px;
}
.tm-sum-hint {
    font-size: 11.5px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    transition: background 0.15s;
}
.tm-sum-ok { background: #d1fae5; color: #059669; }
.tm-sum-warn { background: #fef3c7; color: #b45309; }

.tm-alloc-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}
.tm-alloc-picker {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1.5px dashed #d1d5db;
    background: #fafbff;
    color: #6b7280;
    cursor: pointer;
    font-size: 12px;
    min-width: 0;
    text-align: left;
    transition: all 0.15s;
}
.tm-alloc-picker:hover { border-color: #f04c38; color: #f04c38; background: #f5f3ff; }
.tm-alloc-picker-set {
    border-style: solid;
    border-color: #c7d2fe;
    background: #eef2ff;
    color: #4338ca;
}
.tm-alloc-picker-set:hover { background: #e0e7ff; border-color: #a5b4fc; }
.tm-alloc-target {
    font-weight: 600;
    font-size: 12.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
    max-width: 200px;
}
.tm-alloc-path {
    font-size: 11px;
    color: #6b7280;
    opacity: 0.85;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
}
.tm-alloc-picker-set .tm-alloc-path { color: #6366f1; }

.tm-alloc-hrs {
    display: flex;
    align-items: center;
    gap: 3px;
    flex-shrink: 0;
}
.tm-alloc-hrs input {
    width: 60px;
    padding: 7px 8px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 12px;
    text-align: right;
    background: white;
    color: #1a1d3a;
}
.tm-alloc-hrs input:focus { outline: none; border-color: #f04c38; }
.tm-alloc-hrs span { font-size: 11px; color: #9ca3af; }
.tm-alloc-hrs-ghost { color: #9ca3af; }
.tm-alloc-hrs-all {
    font-size: 10.5px;
    font-style: italic;
    color: #9ca3af;
    padding: 4px 6px;
}

.tm-alloc-del {
    background: transparent;
    border: none;
    color: #9ca3af;
    width: 26px; height: 26px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    flex-shrink: 0;
    transition: all 0.15s;
}
.tm-alloc-del:hover { background: #fee2e2; color: #dc2626; }

.tm-add-alloc {
    display: block;
    width: 100%;
    padding: 8px 10px;
    border: 1.5px dashed #c7d2fe;
    border-radius: 8px;
    background: transparent;
    color: #f04c38;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 4px;
    transition: all 0.15s;
}
.tm-add-alloc:hover { background: #eef2ff; border-color: #f04c38; }

/* ── Allocator popup: + Nou button & inline create forms ── */
.allocator-item.allocator-new {
    border: 1.5px dashed #c7d2fe;
    background: #fafbff;
    color: #f04c38;
    margin-top: 6px;
    border-radius: 8px;
}
.allocator-item.allocator-new:hover { background: #eef2ff; border-color: #f04c38; }
.allocator-item.allocator-new .allocator-subitem-title { color: #4338ca; font-weight: 600; }

.allocator-new-form {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow-y: auto;
    max-height: 380px;
}
/* Slightly widen popup when inline create form is shown */
.allocator-popup:has(.allocator-new-form) { width: 380px; }
.allocator-new-form label {
    font-size: 10.5px;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-top: 2px;
}
.allocator-new-form input,
.allocator-new-form select {
    padding: 7px 10px;
    font-size: 12.5px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: white;
    color: #1a1d3a;
}
.allocator-new-form input:focus,
.allocator-new-form select:focus { outline: none; border-color: #f04c38; }
.alloc-colors {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.alloc-color-dot {
    width: 22px; height: 22px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 0 0 1px #e5e7eb;
    transition: transform 0.1s;
}
.alloc-color-dot:hover { transform: scale(1.1); }
.alloc-color-dot.selected { box-shadow: 0 0 0 2px #f04c38; }
.alloc-form-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.alloc-form-2col label { margin-top: 2px; }
.alloc-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 6px;
}
.alloc-form-actions .btn-cancel,
.alloc-form-actions .btn-primary {
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    cursor: pointer;
    border: none;
    font-weight: 600;
}
.alloc-form-actions .btn-cancel { background: #f3f4f6; color: #6b7280; }
.alloc-form-actions .btn-cancel:hover { background: #e5e7eb; }
.alloc-form-actions .btn-primary { background: #f04c38; color: white; }
.alloc-form-actions .btn-primary:hover { background: #4f46e5; }

/* Dark theme */
[data-theme="dark"] .tm-alloc-picker { background: var(--surface-2, #1f2937); border-color: var(--border, #374151); color: var(--text-muted, #9ca3af); }
[data-theme="dark"] .tm-alloc-picker-set { background: rgba(20,20,20,0.18); border-color: #4338ca; color: #c7d2fe; }
[data-theme="dark"] .tm-alloc-hrs input { background: var(--surface-2, #1f2937); border-color: var(--border, #374151); color: var(--text, #e5e7eb); }
[data-theme="dark"] .tm-add-alloc { color: #a5b4fc; border-color: #4f46e5; }
[data-theme="dark"] .tm-add-alloc:hover { background: rgba(20,20,20,0.18); }
[data-theme="dark"] .allocator-item.allocator-new { background: rgba(20,20,20,0.1); border-color: #4338ca; }
[data-theme="dark"] .allocator-item.allocator-new:hover { background: rgba(20,20,20,0.2); }
[data-theme="dark"] .allocator-new-form input,
[data-theme="dark"] .allocator-new-form select { background: var(--surface-2, #1f2937); border-color: var(--border, #374151); color: var(--text, #e5e7eb); }
[data-theme="dark"] .tm-sum-ok { background: rgba(16,185,129,0.18); color: #10b981; }
[data-theme="dark"] .tm-sum-warn { background: rgba(245,158,11,0.18); color: #f59e0b; }

@media (max-width: 680px) {
    .time-modal-wide { max-width: 95vw !important; }
    .tm-alloc-target { max-width: 120px; }
    .tm-alloc-path { display: none; }
}

/* ── TIME LOGS BUTTON (on subitems) ─────────────────── */
.board-logs-btn {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    font-weight: 700;
    color: #059669;
    background: #d1fae5;
    padding: 2px 6px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.1s;
}
.board-logs-btn:hover { background: #a7f3d0; }

/* Time logs modal */
.modal-logs { max-width: 500px; }
.modal-logs .modal-header {
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb;
    display: flex; align-items: center; justify-content: space-between;
}
.modal-logs .modal-header h3 { font-size: 15px; font-weight: 700; color: #1a1d3a; margin: 0; }
.modal-logs .modal-body { padding: 0; overflow-y: auto; }
.logs-summary {
    padding: 14px 20px;
    background: #f0fdf4;
    border-bottom: 1px solid #dcfce7;
    font-size: 13px;
    color: #065f46;
}
.logs-subtitle {
    font-size: 11px;
    color: #94a3b8;
    margin-top: 4px;
}
.logs-list {
    padding: 8px 0;
    max-height: 400px;
    overflow-y: auto;
}
.log-row {
    display: grid;
    grid-template-columns: 100px 1fr auto;
    align-items: center;
    gap: 12px;
    padding: 9px 20px;
    border-bottom: 1px solid #f1f5f9;
    font-size: 12.5px;
}
.log-row:last-child { border-bottom: none; }
.log-date { color: #475569; font-weight: 600; }
.log-user { display: flex; align-items: center; gap: 6px; color: #1a1d3a; }
.log-avatar {
    display: inline-flex; align-items: center; justify-content: center;
    width: 22px; height: 22px; border-radius: 50%;
    font-size: 9px; font-weight: 700; color: #fff;
}
.log-hours {
    font-weight: 700;
    font-size: 14px;
    color: #059669;
    font-variant-numeric: tabular-nums;
}
.logs-empty {
    padding: 30px 20px;
    text-align: center;
    color: #94a3b8;
    font-size: 12.5px;
}

/* ── ALLOCATOR CASCADE UI ─────────────────────────── */
.allocator-popup {
    width: 360px;
}
.allocator-breadcrumb {
    padding: 8px 12px;
    border-bottom: 1px solid #f1f5f9;
    font-size: 11.5px;
    color: #64748b;
    background: #fafbff;
    display: flex;
    align-items: center;
    gap: 3px;
    flex-wrap: wrap;
}
.alloc-crumb {
    cursor: pointer;
    padding: 1px 3px;
    border-radius: 3px;
    transition: color 0.1s;
}
.alloc-crumb:hover { color: #f04c38; background: #eef2ff; }
.alloc-crumb-sep { color: #cbd5e1; margin: 0 1px; }
.alloc-crumb:last-of-type {
    font-weight: 700;
    color: #1a1d3a;
    pointer-events: none;
}

.allocator-title-row {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 12px 4px;
    font-size: 10px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.alloc-btn-search {
    background: none; border: none; cursor: pointer;
    padding: 3px 5px; border-radius: 4px;
    font-size: 13px;
    transition: background 0.1s;
}
.alloc-btn-search:hover { background: #eef2ff; }

.alloc-section-title {
    font-size: 10px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 8px 12px 4px;
    background: transparent;
}

.allocator-item {
    padding: 9px 12px;
    cursor: pointer;
    border-bottom: 1px solid #f8f9ff;
    display: flex;
    align-items: center;
    gap: 10px;
}
.alloc-ico {
    flex-shrink: 0;
    font-size: 14px;
    opacity: 0.6;
    width: 18px;
    text-align: center;
}
.alloc-option-body { flex: 1; min-width: 0; }
.alloc-chevron {
    color: #cbd5e1;
    font-size: 18px;
    font-weight: 400;
    flex-shrink: 0;
}
.alloc-dot {
    display: inline-block;
    width: 7px; height: 7px;
    border-radius: 50%;
    margin-right: 5px;
    vertical-align: middle;
}
.allocator-leaf .alloc-chevron { display: none; }
.allocator-leaf { background: #fafbff; }
.allocator-recent { background: #fffbeb; }
.allocator-recent:hover { background: #fef3c7; }

.allocator-footer {
    padding: 8px 10px;
    border-top: 1px solid #f1f5f9;
    background: #fafbff;
    display: flex;
    justify-content: space-between;
    gap: 6px;
}
.alloc-btn-back {
    background: #eef2ff;
    color: #f04c38;
    border: none;
    cursor: pointer;
    padding: 5px 12px;
    border-radius: 5px;
    font-size: 11.5px;
    font-weight: 600;
}
.alloc-btn-back:hover { background: #c7d2fe; }

/* ── LOGS PANEL EXTENSIONS ──────────────────────────── */
.logs-totals {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 12.5px;
    flex-wrap: wrap;
}
.logs-totals strong { font-size: 14px; }
.logs-count { color: #94a3b8; }

.logs-add-row {
    padding: 10px 20px;
    border-bottom: 1px solid #f1f5f9;
}
.logs-add-btn {
    font-size: 12px;
    padding: 6px 12px;
    width: 100%;
    text-align: center;
}

.log-form {
    background: #fafbff;
    border: 1.5px solid #c7d2fe;
    border-radius: 8px;
    padding: 12px;
}
.log-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
    margin-bottom: 10px;
}
.log-form-grid label,
.log-form-note label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}
.log-form input[type="date"],
.log-form input[type="number"],
.log-form input[type="text"] {
    width: 100%;
    padding: 6px 9px;
    border: 1px solid #e5e7eb;
    border-radius: 5px;
    font-size: 12.5px;
    outline: none;
    font-family: inherit;
}
.log-form input:focus { border-color: #f04c38; }
.log-form-note { margin-bottom: 10px; }
.log-form-actions {
    display: flex; justify-content: flex-end; gap: 8px;
}
.log-form-actions button {
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    border: none;
    cursor: pointer;
}

.log-row {
    display: grid;
    grid-template-columns: 100px 1fr auto auto;
    align-items: center;
    gap: 10px;
    padding: 9px 20px;
    border-bottom: 1px solid #f1f5f9;
    font-size: 12.5px;
    row-gap: 2px;
}
.log-row.log-manual { background: #fffbeb; }
.log-manual .log-date::before { content: '✍️ '; font-size: 10px; }
.log-tag {
    font-size: 9px;
    font-weight: 700;
    background: #fef3c7;
    color: #92400e;
    padding: 1px 5px;
    border-radius: 8px;
    margin-left: 4px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.log-hours-pair {
    display: flex;
    gap: 8px;
    align-items: center;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
.log-hours { color: #6d28d9; font-size: 13px; }
.log-hours-billed { color: #059669; font-size: 13px; }
.log-del-btn {
    background: none; border: none; cursor: pointer;
    color: #cbd5e1; font-size: 16px; padding: 2px 6px;
    border-radius: 4px; line-height: 1;
    opacity: 0; transition: opacity 0.15s, color 0.15s;
}
.log-row:hover .log-del-btn { opacity: 1; }
.log-del-btn:hover { color: #ef4444; background: #fee2e2; }
.log-note {
    grid-column: 1 / -1;
    font-size: 11.5px;
    color: #475569;
    font-style: italic;
    padding-left: 110px;
    padding-right: 30px;
    margin-top: -2px;
}

/* ── RATE BAR (Cost/h per item) ─────────────────────── */
.board-sub-rate-bar {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    background: linear-gradient(to right, #eef2ff, transparent 60%);
    border-bottom: 1px solid #e0e7ff;
    font-size: 11.5px;
    color: #4338ca;
}
.board-rate-label { font-weight: 700; }
.board-sub-rate-input {
    width: 60px;
    padding: 3px 8px;
    border: 1.5px solid #c7d2fe;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 700;
    color: #f04c38;
    background: #fff;
    outline: none;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.board-sub-rate-input:focus { border-color: #f04c38; box-shadow: 0 0 0 3px rgba(20,20,20,0.12); }
.board-rate-unit { font-weight: 700; }
.board-rate-note {
    font-size: 10.5px;
    color: #64748b;
    font-style: italic;
    margin-left: 8px;
}

/* ── AUTO-COMPUTED CELL (Buget realizat auto) ───────── */
.board-cell-auto {
    background: linear-gradient(to bottom, #ecfdf5, transparent);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}
.board-cell-computed {
    font-weight: 700;
    color: #059669;
    font-variant-numeric: tabular-nums;
}
.board-auto-tag {
    font-size: 8.5px;
    font-weight: 700;
    color: #059669;
    background: #d1fae5;
    padding: 1px 4px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ── CONFIRM DELETE MODAL ───────────────────────────── */
.confirm-delete-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #fee2e2;
    color: #dc2626;
    margin: 0 auto 14px;
}
.confirm-delete-note {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    padding: 10px 12px;
    background: #eef2ff;
    border-radius: 8px;
    font-size: 12px;
    color: #3730a3;
    line-height: 1.45;
}
.confirm-delete-note svg { flex-shrink: 0; margin-top: 2px; }

.btn-danger {
    background: #dc2626;
    color: #fff;
    border: none;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    transition: background 0.15s;
}
.btn-danger:hover { background: #b91c1c; }

/* ── BOARD TOOLBAR ──────────────────────────────────── */
.board-toolbar {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 4px 8px 8px;
}
.btn-board-trash {
    display: inline-flex; align-items: center; gap: 6px;
    background: none;
    border: 1px solid #e5e7eb;
    color: #64748b;
    cursor: pointer;
    padding: 5px 11px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 600;
    transition: all 0.15s;
    position: relative;
}
.btn-board-trash:hover { border-color: #f04c38; color: #f04c38; background: #eef2ff; }
.board-trash-count {
    background: #dc2626;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 10px;
    line-height: 1.4;
}

/* ── TRASH MODAL ────────────────────────────────────── */
.modal-trash { max-width: 600px; }
.modal-trash .modal-header {
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb;
    display: flex; align-items: center; justify-content: space-between;
}
.modal-trash .modal-header h3 { font-size: 15px; font-weight: 700; color: #1a1d3a; margin: 0; }
.modal-trash .modal-body { padding: 0; overflow-y: auto; max-height: 60vh; }

.trash-empty {
    text-align: center;
    padding: 40px 20px;
    color: #94a3b8;
    font-size: 13px;
}
.trash-empty small { font-size: 11.5px; opacity: 0.8; }

.trash-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 20px;
    background: #fafbff;
    border-bottom: 1px solid #f1f5f9;
    font-size: 11.5px;
    color: #64748b;
}
.btn-purge-all {
    background: none; border: 1px solid #fee2e2; color: #dc2626;
    cursor: pointer; padding: 3px 10px; border-radius: 5px;
    font-size: 11px; font-weight: 600;
}
.btn-purge-all:hover { background: #fee2e2; }

.trash-list { padding: 4px 0; }
.trash-row {
    display: grid;
    grid-template-columns: 95px 1fr auto auto auto;
    align-items: center;
    gap: 10px;
    padding: 10px 20px;
    border-bottom: 1px solid #f1f5f9;
    font-size: 12.5px;
}
.trash-row:last-child { border-bottom: none; }
.trash-row:hover { background: #fafbff; }

.trash-type {
    font-size: 11px;
    font-weight: 700;
    color: #f04c38;
    background: #eef2ff;
    padding: 3px 8px;
    border-radius: 5px;
    text-align: center;
    white-space: nowrap;
}
.trash-main { min-width: 0; }
.trash-label {
    font-weight: 600;
    color: #1a1d3a;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.trash-meta {
    font-size: 10.5px;
    color: #94a3b8;
    display: flex; gap: 4px; flex-wrap: wrap;
    margin-top: 2px;
}
.trash-days-left {
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
    background: #f1f5f9;
    padding: 3px 7px;
    border-radius: 10px;
    min-width: 30px;
    text-align: center;
}
.btn-restore {
    background: #d1fae5; color: #059669;
    border: none; cursor: pointer;
    padding: 4px 9px; border-radius: 5px;
    font-size: 13px; font-weight: 700;
}
.btn-restore:hover { background: #a7f3d0; }
.btn-purge {
    background: none; color: #cbd5e1;
    border: none; cursor: pointer;
    padding: 4px 8px; border-radius: 5px;
    font-size: 16px; font-weight: 400; line-height: 1;
}
.btn-purge:hover { color: #dc2626; background: #fee2e2; }

/* ── COST/H column on subitem ───────────────────────── */
.board-col-cost {
    display: flex !important;
    align-items: center;
    gap: 3px;
}
.board-col-cost .board-cell-num { flex: 1; text-align: right; }
.board-col-cost .board-cell-num:empty::before {
    content: attr(data-placeholder);
    color: #cbd5e1;
    font-weight: 500;
}
.board-cost-suffix {
    font-size: 10px;
    color: #94a3b8;
    font-weight: 600;
}

/* ── PROJECTS SETTINGS TREE ─────────────────────────── */
.settings-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.proj-add-main-btn {
    font-size: 12px;
    padding: 6px 12px;
}

.proj-tree {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 6px;
}

.proj-tree-client {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    overflow: hidden;
}
.proj-tree-client-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: linear-gradient(to right, #fafbff, #f8f9ff);
    border-bottom: 1px solid #e5e7eb;
}
.proj-tree-client-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.proj-tree-client-name {
    font-weight: 700;
    font-size: 14px;
    color: #1a1d3a;
    flex: 1;
}
.proj-tree-count {
    font-size: 11px;
    color: #94a3b8;
    background: #e5e7eb;
    padding: 2px 8px;
    border-radius: 10px;
}
.proj-tree-add-btn {
    background: #eef2ff;
    color: #f04c38;
    border: 1px solid #c7d2fe;
    cursor: pointer;
    padding: 4px 10px;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 600;
}
.proj-tree-add-btn:hover { background: #c7d2fe; }

.proj-tree-children {
    display: flex;
    flex-direction: column;
}

.proj-settings-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.1s;
}
.proj-settings-row:last-child { border-bottom: none; }
.proj-settings-row:hover { background: #fafbff; }
.proj-settings-archived { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; margin-bottom: 4px; }
.proj-settings-archived:hover { background: #f3f4f6; }

.proj-row-indent {
    width: 0;
    flex-shrink: 0;
}
.proj-depth-1 .proj-row-indent { width: 0; }
.proj-depth-2 .proj-row-indent { width: 28px; }
.proj-depth-3 .proj-row-indent { width: 56px; }
.proj-depth-2::before {
    content: '';
    width: 12px; height: 2px;
    background: #e5e7eb;
    margin-right: -8px;
    margin-left: 16px;
    flex-shrink: 0;
}
.proj-depth-3::before {
    content: '';
    width: 12px; height: 2px;
    background: #e5e7eb;
    margin-right: -8px;
    margin-left: 44px;
    flex-shrink: 0;
}

.proj-row-emoji {
    width: 32px; height: 32px;
    border-radius: 8px;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.proj-row-info { flex: 1; min-width: 0; }
.proj-row-name {
    font-size: 13px;
    font-weight: 600;
    color: #1a1d3a;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.proj-row-sub {
    font-size: 11px;
    color: #94a3b8;
    margin-top: 1px;
}
.proj-row-pill {
    font-size: 9.5px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.pill-folder   { background: #fef3c7; color: #92400e; }
.pill-sub      { background: #ddd6fe; color: #5b21b6; }
.pill-archived { background: #e5e7eb; color: #6b7280; }

.proj-row-actions {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-shrink: 0;
}
.btn-proj-add {
    background: #eef2ff; color: #f04c38;
    border: 1px solid #c7d2fe;
    padding: 4px 10px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
}
.btn-proj-add:hover { background: #c7d2fe; }
.btn-proj-archive {
    background: #fef3c7; color: #92400e;
    border: 1px solid #fde68a;
    padding: 4px 9px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 12px;
}
.btn-proj-archive:hover { background: #fde68a; }
.btn-proj-restore {
    background: #d1fae5; color: #065f46;
    border: 1px solid #a7f3d0;
    padding: 4px 10px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
}
.btn-proj-restore:hover { background: #a7f3d0; }
.btn-proj-delete {
    background: #fee2e2; color: #b91c1c;
    border: 1px solid #fecaca;
    padding: 4px 10px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
}
.btn-proj-delete:hover { background: #fecaca; }

/* Add form */
.proj-add-form {
    margin-top: 16px;
    padding: 16px;
    background: #f8f9ff;
    border: 1.5px dashed #c7d2fe;
    border-radius: 10px;
}
.proj-add-title {
    font-weight: 700;
    font-size: 13px;
    color: #1a1d3a;
    margin-bottom: 12px;
}
.proj-add-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 90px 90px;
    gap: 12px;
}
.proj-add-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

/* ── SERVICES SETTINGS ──────────────────────────────── */
.svc-help {
    font-size: 12px;
    color: #64748b;
    margin: 4px 0 14px;
    padding: 9px 12px;
    background: #eef2ff;
    border-radius: 8px;
    border-left: 3px solid #f04c38;
}
.svc-actions {
    display: flex; align-items: center; gap: 10px;
    font-size: 12px; font-weight: 400;
}
.svc-total {
    color: #059669;
    font-weight: 700;
    padding: 3px 8px;
    background: #d1fae5;
    border-radius: 10px;
}
.btn-svc-seed {
    background: #eef2ff; color: #f04c38;
    border: 1px solid #c7d2fe;
    padding: 5px 11px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 11.5px;
    font-weight: 600;
}
.btn-svc-seed:hover { background: #c7d2fe; }

.svc-empty {
    text-align: center;
    padding: 30px 20px;
    color: #64748b;
}
.svc-empty p { font-size: 13px; margin: 0 0 14px; }

.svc-header {
    display: grid;
    grid-template-columns: 1fr 120px 36px;
    gap: 10px;
    padding: 8px 12px;
    border-bottom: 2px solid #e5e7eb;
    font-size: 10.5px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.svc-list { max-height: 500px; overflow-y: auto; }
.svc-row {
    display: grid;
    grid-template-columns: 1fr 120px 36px;
    gap: 10px;
    align-items: center;
    padding: 8px 12px;
    border-bottom: 1px solid #f1f5f9;
    font-size: 13px;
    transition: background 0.1s;
}
.svc-row:hover { background: #fafbff; }
.svc-name {
    color: #1a1d3a;
    cursor: text;
    padding: 3px 4px;
    border-radius: 4px;
    line-height: 1.3;
    word-break: break-word;
}
.svc-name:hover { background: #f1f5f9; }
.svc-name-edit {
    width: 100%;
    padding: 4px 6px;
    border: 1.5px solid #f04c38;
    border-radius: 4px;
    font-size: 13px;
    font-family: inherit;
    outline: none;
}
.svc-hours {
    display: flex;
    align-items: center;
    gap: 4px;
    justify-content: flex-end;
}
.svc-hours-input {
    width: 70px;
    padding: 4px 7px;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    font-size: 12.5px;
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: #059669;
    outline: none;
    font-family: inherit;
}
.svc-hours-input:focus { border-color: #f04c38; }
.svc-hours-unit { font-size: 10.5px; color: #94a3b8; font-weight: 600; }

.btn-svc-del {
    background: none; border: none; cursor: pointer;
    color: #cbd5e1; font-size: 17px; padding: 2px 6px;
    border-radius: 4px;
    opacity: 0;
    transition: opacity 0.15s, color 0.15s, background 0.15s;
}
.svc-row:hover .btn-svc-del { opacity: 1; }
.btn-svc-del:hover { color: #dc2626; background: #fee2e2; }

.svc-add-form {
    display: flex;
    gap: 8px;
    margin-top: 14px;
    padding: 12px;
    background: #fafbff;
    border: 1.5px dashed #c7d2fe;
    border-radius: 8px;
}

/* ── SERVICE PICKER (on subitem cell click) ─────────── */
.service-picker {
    width: 420px;
    max-height: 380px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.svc-picker-search {
    padding: 8px;
    border-bottom: 1px solid #f1f5f9;
}
.svc-picker-input {
    width: 100%;
    padding: 7px 10px;
    border: 1.5px solid #e5e7eb;
    border-radius: 6px;
    font-size: 13px;
    outline: none;
    font-family: inherit;
}
.svc-picker-input:focus { border-color: #f04c38; }
.svc-picker-list {
    flex: 1;
    overflow-y: auto;
    max-height: 280px;
}
.svc-picker-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 12px;
    cursor: pointer;
    border-bottom: 1px solid #f8f9ff;
}
.svc-picker-item:hover { background: #f5f3ff; }
.svc-picker-current { background: #eef2ff; border-left: 3px solid #f04c38; }
.svc-picker-item-name {
    flex: 1;
    font-size: 12.5px;
    color: #1a1d3a;
    line-height: 1.3;
}
.svc-picker-item-hours {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 700;
    color: #059669;
    background: #d1fae5;
    padding: 2px 8px;
    border-radius: 10px;
    min-width: 40px;
    text-align: center;
}
.svc-picker-empty {
    padding: 20px;
    text-align: center;
    color: #94a3b8;
    font-size: 12px;
}
.svc-picker-footer {
    display: flex;
    gap: 6px;
    padding: 8px;
    border-top: 1px solid #f1f5f9;
    background: #fafbff;
}
.svc-picker-footer button {
    flex: 1;
    padding: 6px 10px;
    border-radius: 5px;
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
}
.svc-picker-clear {
    background: #fee2e2;
    color: #dc2626;
    border-color: #fecaca;
}
.svc-picker-clear:hover { background: #fecaca; }
.svc-picker-custom {
    background: #eef2ff;
    color: #f04c38;
    border-color: #c7d2fe;
}
.svc-picker-custom:hover { background: #c7d2fe; }

/* Subitem servicii cell styled as clickable */
.board-cell-servicii {
    cursor: pointer;
    border-radius: 4px;
    font-size: 12px;
    color: #475569;
    padding: 4px 6px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background 0.1s;
}
.board-cell-servicii:hover { background: #f1f5f9; }

/* ── LOG BUTTON EMPTY STATE (show on hover only when no logs) ── */
.board-logs-btn-empty {
    background: transparent !important;
    color: #cbd5e1 !important;
    opacity: 0;
    transition: opacity 0.15s, background 0.15s, color 0.15s;
}
.board-row:hover .board-logs-btn-empty { opacity: 1; }
.board-logs-btn-empty:hover {
    background: #d1fae5 !important;
    color: #059669 !important;
}

/* Service picker - no-hours badge */
.svc-no-hours {
    background: #fef3c7 !important;
    color: #92400e !important;
    font-weight: 700;
}

/* Progress count cell (auto on items from subitems) */
.board-progress-count-cell { cursor: default; }
.board-progress-count-text {
    font-size: 11px;
    font-weight: 700;
    color: #f04c38;
    font-variant-numeric: tabular-nums;
    min-width: 28px;
    text-align: right;
    letter-spacing: -0.3px;
}

/* ── BOARD EXPORT BUTTON + MODAL ────────────────────── */
.btn-board-export {
    display: inline-flex; align-items: center; gap: 6px;
    background: #d1fae5;
    border: 1px solid #10b981;
    color: #065f46;
    cursor: pointer;
    padding: 5px 11px;
    border-radius: 7px;
    font-size: 12px;
    font-weight: 600;
    transition: all 0.15s;
}
.btn-board-export:hover { background: #a7f3d0; }

.exp-board-groups-list {
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
}
.exp-board-select-all {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #fafbff;
    border-bottom: 2px solid #e5e7eb;
    font-size: 12.5px;
    cursor: pointer;
}
.exp-board-group-check {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    cursor: pointer;
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.1s;
}
.exp-board-group-check:last-child { border-bottom: none; }
.exp-board-group-check:hover { background: #f8f9ff; }
.exp-board-group-check input[type="checkbox"] { flex-shrink: 0; width: 16px; height: 16px; cursor: pointer; }
.exp-board-group-color {
    width: 6px; height: 28px;
    border-radius: 3px;
    flex-shrink: 0;
}
.exp-board-group-info { flex: 1; min-width: 0; }
.exp-board-group-name { font-size: 13px; font-weight: 600; color: #1a1d3a; display: block; }
.exp-board-group-meta { font-size: 11px; color: #94a3b8; }

/* ═══ TIME STATISTICS ═══════════════════════════════ */
.ts-container { margin-top: 8px; }
.ts-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 0; border-bottom: 2px solid #e5e7eb;
}
.ts-title {
    display: flex; align-items: center; gap: 8px;
    font-size: 16px; font-weight: 700; color: #1a1d3a;
}
.ts-nav { display: flex; align-items: center; gap: 8px; }
.ts-nav-btn {
    background: #eef2ff; border: 1px solid #c7d2fe; color: #f04c38;
    width: 32px; height: 32px; border-radius: 8px; cursor: pointer;
    font-size: 13px; display: flex; align-items: center; justify-content: center;
    transition: all 0.15s;
}
.ts-nav-btn:hover { background: #c7d2fe; }
.ts-month-label { font-size: 15px; font-weight: 700; color: #1a1d3a; min-width: 140px; text-align: center; }
.ts-info-bar {
    display: flex; gap: 12px; flex-wrap: wrap;
    padding: 8px 0; font-size: 11.5px; color: #64748b;
}

/* Member card */
.ts-member-card {
    margin-top: 14px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
}
.ts-member-header {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 18px;
    background: linear-gradient(135deg, #fafbff 0%, #f5f3ff 100%);
    cursor: pointer; user-select: none;
    transition: background 0.15s;
    flex-wrap: wrap;
}
.ts-member-header:hover { background: #eef2ff; }
.ts-member-info { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 160px; }
.ts-avatar {
    width: 38px; height: 38px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 700; font-size: 13px;
}
.ts-member-name { font-size: 14px; font-weight: 700; color: #1a1d3a; }
.ts-member-sub { font-size: 11.5px; color: #94a3b8; margin-top: 2px; }
.ts-summary-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.ts-badge {
    font-size: 11.5px; font-weight: 700; padding: 4px 10px;
    border-radius: 20px; white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ts-badge-avail  { background: #e5e7eb; color: #374151; }
.ts-badge-logged { background: #ede9fe; color: #6d28d9; }
.ts-badge-billed { background: #d1fae5; color: #065f46; }
.ts-badge-util   { font-size: 12px; }
.ts-util-bar {
    width: 100px; height: 6px; background: #e5e7eb; border-radius: 3px; overflow: hidden; flex-shrink: 0;
}
.ts-util-fill { height: 100%; border-radius: 3px; transition: width 0.3s; }
.ts-expand-arrow {
    color: #94a3b8; flex-shrink: 0;
    transition: transform 0.2s;
}
.ts-expanded .ts-expand-arrow { transform: rotate(180deg); }

/* Days breakdown */
.ts-member-days {
    max-height: 0; overflow: hidden; transition: max-height 0.3s ease;
}
.ts-expanded .ts-member-days { max-height: 2000px; }
.ts-days-header {
    display: grid;
    grid-template-columns: 40px 40px 160px 60px 60px 70px 1fr;
    gap: 4px; padding: 8px 18px;
    font-size: 10px; font-weight: 700; color: #94a3b8;
    text-transform: uppercase; letter-spacing: 0.04em;
    border-bottom: 2px solid #e5e7eb; background: #fafbff;
}
.ts-day-row {
    display: grid;
    grid-template-columns: 40px 40px 160px 60px 60px 70px 1fr;
    gap: 4px; padding: 6px 18px;
    font-size: 12.5px; color: #374151;
    border-bottom: 1px solid #f1f5f9;
    align-items: center;
    transition: background 0.1s;
}
.ts-day-row:hover { background: #f8f9ff; }
.ts-date { font-weight: 700; color: #1a1d3a; font-variant-numeric: tabular-nums; }
.ts-dayname { color: #64748b; font-size: 11.5px; }
.ts-status { font-size: 12px; }
.ts-available { text-align: right; font-variant-numeric: tabular-nums; color: #64748b; }
.ts-logged { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; color: #6d28d9; }
.ts-billed { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; color: #059669; }
.ts-projects { font-size: 11px; color: #94a3b8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Row states */
.ts-weekend { background: #f9fafb; color: #cbd5e1; }
.ts-weekend .ts-date, .ts-weekend .ts-dayname { color: #cbd5e1; }
.ts-off { background: #fef3c7; }
.ts-off .ts-status { color: #92400e; }
.ts-invoire { background: #fff7ed; }
.ts-invoire .ts-status { color: #c2410c; }
.ts-supl { background: #f0fdf4; }
.ts-supl .ts-status { color: #15803d; }
.ts-full .ts-logged { color: #16a34a; }
.ts-partial .ts-logged { color: #d97706; }
.ts-empty { background: #fef2f2; }
.ts-empty .ts-logged { color: #dc2626; }

.ts-totals-row {
    background: #eef2ff !important;
    border-top: 2px solid #c7d2fe;
    font-weight: 700 !important;
}
.ts-totals-row .ts-logged { color: #4338ca; }
.ts-totals-row .ts-billed { color: #047857; }

/* ═══ UX IMPROVEMENTS ════════════════════════════════ */

/* ── #3 TOUCH DEVICES: always show action buttons ──── */
@media (hover: none), (pointer: coarse) {
    .board-item-del,
    .board-item-dup,
    .board-subadd,
    .board-drag-handle,
    .board-group-del,
    .board-group-dup,
    .board-comments-btn,
    .board-logs-btn-empty,
    .task-link-btn,
    .task-del,
    .btn-edit-time,
    .log-del-btn,
    .btn-svc-del { opacity: 1 !important; }
}

/* ── #1 MOBILE RESPONSIVE ──────────────────────────── */

/* Modals: fill screen on mobile */
@media (max-width: 600px) {
    .modal { max-width: 95vw !important; padding: 18px !important; }
    .modal-panel { max-width: 98vw !important; border-radius: 10px !important; }
    .allocator-popup { width: 95vw !important; left: 2.5vw !important; }
    .service-picker { width: 95vw !important; left: 2.5vw !important; }
    .board-dropdown { min-width: 200px !important; }

    /* Topbar: compact */
    .topbar { flex-wrap: wrap; gap: 6px; padding: 8px 12px; }
    .page-title { font-size: 15px; }
    .user-badge-name { display: none; }

    /* Board: card layout instead of wide table */
    .board-header { display: none; }
    .board-sub-header { display: none; }
    .board-row {
        display: flex !important;
        flex-wrap: wrap;
        gap: 4px 8px;
        padding: 10px 12px !important;
        border: 1px solid #f1f5f9;
        border-radius: 8px;
        margin: 4px 0;
    }
    .board-col-title { width: 100% !important; min-width: 0; }
    .board-col {
        width: auto !important;
        padding: 2px 6px !important;
        font-size: 11px;
    }
    .board-col::before {
        content: attr(data-label);
        font-size: 9px;
        font-weight: 700;
        color: #94a3b8;
        text-transform: uppercase;
        display: block;
    }
    .board-col-actions { width: auto !important; }
    .board-sum-row { flex-wrap: wrap; gap: 8px; }
    .board-subitems-block { margin-left: 8px !important; }

    /* Member cards: full width */
    .member-grid { grid-template-columns: 1fr !important; }

    /* Stats: single column */
    .stats-grid { grid-template-columns: 1fr !important; }

    /* Time stats: compact day rows */
    .ts-days-header,
    .ts-day-row {
        grid-template-columns: 28px 28px 1fr 40px 40px 50px !important;
        font-size: 11px;
        padding: 5px 10px !important;
    }
    .ts-projects { display: none; }
    .ts-summary-badges { gap: 4px; }
    .ts-badge { font-size: 10px; padding: 3px 6px; }

    /* Project settings tree */
    .proj-add-grid { grid-template-columns: 1fr 1fr !important; }

    /* Export modal grid */
    .log-form-grid { grid-template-columns: 1fr !important; }
}

/* Tablet adjustments */
@media (max-width: 900px) and (min-width: 601px) {
    .modal { max-width: 90vw !important; }
    .allocator-popup { width: min(360px, 90vw) !important; }
    .board-col-title { width: 200px !important; min-width: 160px !important; }
}

/* ═══ #7 DARK MODE ═══════════════════════════════════ */
[data-theme="dark"] {
    --indigo:      #7c7fff;
    --indigo-dark: #6366f1;
    --indigo-soft: #2a2d5e;
    --bg:          #0f1117;
    --surface:     #1a1d2e;
    --border:      #2a2d3e;
    --text:        #e5e7eb;
    --text-2:      #9ca3af;
    --text-3:      #6b7280;
    --shadow:      0 2px 12px rgba(0,0,0,0.3);
    --shadow-md:   0 4px 24px rgba(0,0,0,0.4);
}
[data-theme="dark"] body { background: var(--bg); color: var(--text); }
[data-theme="dark"] .sidebar { background: #111327; }
[data-theme="dark"] .topbar { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .member-card { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .member-header { background: linear-gradient(135deg, #1e2036 0%, #252840 100%); }
[data-theme="dark"] .task-item:hover { background: #1e2036; }
[data-theme="dark"] .task-text { color: var(--text); }
[data-theme="dark"] .add-task-input { background: #252840; border-color: var(--border); color: var(--text); }
[data-theme="dark"] .modal { background: var(--surface); color: var(--text); }
[data-theme="dark"] .modal-panel { background: var(--surface); color: var(--text); }
[data-theme="dark"] .modal-title { color: var(--text); }
[data-theme="dark"] .form-input { background: #252840; border-color: var(--border); color: var(--text); }
[data-theme="dark"] .btn-cancel { background: #252840; border-color: var(--border); color: var(--text-2); }
[data-theme="dark"] .settings-tab { background: #252840; color: var(--text-2); }
[data-theme="dark"] .settings-tab.active { background: var(--indigo); color: #fff; }
[data-theme="dark"] .project-hero { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .board-header { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .board-row:hover { background: #1e2036; }
[data-theme="dark"] .board-group-header { background: #1e2036; }
[data-theme="dark"] .board-subitems-block { background: #161830; border-color: #2a2d5e; }
[data-theme="dark"] .board-sub-header { background: #1a1d33; }
[data-theme="dark"] .board-cell-editable { color: var(--text); }
[data-theme="dark"] .board-cell-editable:focus { background: #252840; }
[data-theme="dark"] .board-item-title { color: var(--text); }
[data-theme="dark"] .board-item-title:focus { background: #252840; }
[data-theme="dark"] .board-sum-row { background: #1a1d33; border-color: var(--border); }
[data-theme="dark"] .board-dropdown { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .board-dd-item:hover { background: #252840; }
[data-theme="dark"] .allocator-popup { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .allocator-item:hover { background: #252840; }
[data-theme="dark"] .service-picker { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .svc-picker-item:hover { background: #252840; }
[data-theme="dark"] .stat-card { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .ts-member-card { border-color: var(--border); }
[data-theme="dark"] .ts-member-header { background: linear-gradient(135deg, #1e2036 0%, #252840 100%); }
[data-theme="dark"] .ts-member-header:hover { background: #252840; }
[data-theme="dark"] .ts-day-row { border-color: #252840; color: var(--text); }
[data-theme="dark"] .ts-day-row:hover { background: #1e2036; }
[data-theme="dark"] .ts-days-header { background: #1a1d33; border-color: var(--border); }
[data-theme="dark"] .ts-weekend { background: #13151f; }
[data-theme="dark"] .ts-off { background: #2a2418; }
[data-theme="dark"] .ts-empty { background: #261a1a; }
[data-theme="dark"] .ts-totals-row { background: #1a1d3a !important; border-color: #3b3e6e; }
[data-theme="dark"] .comment-item { background: #1e2036; }
[data-theme="dark"] .comments-composer { background: #1a1d33; border-color: var(--border); }
[data-theme="dark"] .confirm-delete-note { background: #1e1a36; color: #a5b4fc; }
[data-theme="dark"] .proj-tree-client { border-color: var(--border); }
[data-theme="dark"] .proj-tree-client-head { background: #1e2036; }
[data-theme="dark"] .proj-settings-row:hover { background: #1e2036; }
[data-theme="dark"] .proj-folder-card { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .proj-folder-card:hover { border-color: var(--indigo); }

/* Dark mode toggle button */
.dark-mode-toggle {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.15);
    color: rgba(255,255,255,0.7);
    cursor: pointer;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s;
    white-space: nowrap;
}
.dark-mode-toggle:hover { background: rgba(255,255,255,0.2); color: #fff; }

/* ── #8 UNLOGGED DAYS REMINDER ────────────────────── */
.nav-badge {
    background: #ef4444;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 10px;
    line-height: 1.4;
    margin-left: auto;
}
.nav-badge.nav-badge-alloc {
    background: #22c55e;
}
.nav-badge.nav-badge-new {
    background: #ef4444;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    animation: nav-badge-pulse 1.6s ease-in-out infinite;
}
.nav-badge.nav-badge-new .badge-new-tag {
    padding: 0 5px;
    background: rgba(255,255,255,0.28);
    border-radius: 8px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1.5;
}
@keyframes nav-badge-pulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(239,68,68,0.55);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 0 0 6px rgba(239,68,68,0);
        transform: scale(1.05);
    }
}
.unlogged-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 16px;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    border: 1px solid #f59e0b;
    border-radius: 10px;
    font-size: 12.5px;
    color: #92400e;
    margin-bottom: 12px;
}
.unlogged-banner a {
    color: #92400e;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}
.unlogged-banner a:hover { text-decoration: underline; }
[data-theme="dark"] .unlogged-banner { background: #422006; border-color: #854d0e; color: #fde68a; }
[data-theme="dark"] .unlogged-banner a { color: #fde68a; }

/* ═══ #9 DASHBOARD ══════════════════════════════════ */
.dash-container { max-width: 900px; margin: 0 auto; }
.dash-greeting { margin-bottom: 24px; }
.dash-greeting h2 { font-size: 22px; color: var(--text); font-weight: 700; }
.dash-greeting p { font-size: 13px; color: var(--text-2); margin-top: 4px; }

.dash-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}
.dash-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    transition: all 0.15s;
}
.dash-card:hover { box-shadow: var(--shadow-md); transform: translateY(-1px); }
.dash-card-warn { border-color: #f59e0b; background: linear-gradient(135deg, var(--surface), #fffbeb); }
.dash-card-icon {
    width: 48px; height: 48px; border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; flex-shrink: 0;
}
.dash-card-value { font-size: 26px; font-weight: 800; color: var(--text); font-variant-numeric: tabular-nums; }
.dash-card-label { font-size: 12px; color: var(--text-2); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }
.dash-card-title { font-size: 14px; font-weight: 700; color: var(--text); margin-bottom: 12px; }
.dash-card-wide { grid-column: 1 / -1; flex-direction: column; align-items: stretch; }

.dash-shortcuts {
    display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px;
}
.dash-shortcut {
    display: flex; align-items: center; gap: 8px;
    padding: 10px 18px;
    background: var(--indigo);
    color: #fff; border: none; border-radius: 10px;
    font-size: 13px; font-weight: 600; cursor: pointer;
    transition: all 0.15s;
}
.dash-shortcut:hover { opacity: 0.9; transform: translateY(-1px); }

.dash-team-list { display: flex; flex-direction: column; gap: 8px; }
.dash-team-row {
    display: grid;
    grid-template-columns: 32px 1fr 80px 100px;
    align-items: center; gap: 10px;
    padding: 8px 4px;
    border-bottom: 1px solid var(--border);
    font-size: 13px;
}
.dash-team-row:last-child { border-bottom: none; }
.dash-team-avatar {
    width: 32px; height: 32px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 700; font-size: 11px;
}
.dash-team-name { font-weight: 600; color: var(--text); }
.dash-team-tasks { text-align: right; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
.dash-team-tasks span { font-weight: 400; color: var(--text-2); font-size: 11px; }
.dash-team-bar {
    height: 6px; background: var(--border); border-radius: 3px; overflow: hidden;
}
.dash-team-bar div { height: 100%; border-radius: 3px; transition: width 0.3s; }

@media (max-width: 600px) {
    .dash-cards { grid-template-columns: 1fr 1fr; }
    .dash-greeting h2 { font-size: 18px; }
    .dash-shortcuts { flex-direction: column; }
}

/* ── #10 TIME STATS CHARTS ──────────────────────────── */
.ts-chart-wrap {
    padding: 8px 18px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
}
.ts-expanded .ts-chart-wrap {
    max-height: 200px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--border);
}

/* Pulse animation for mandatory allocation warning */
@keyframes pulse-warn {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.02); box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.3); }
}
.time-modal-link-empty.required {
    border-color: #ef4444 !important;
    color: #dc2626 !important;
    background: #fef2f2 !important;
    animation: pulse-warn 0.5s ease 2;
}

/* ── READONLY NUMBER CELLS (Timp petrecut, Ore alocate) ── */
.board-cell-readonly {
    text-align: right;
    font-variant-numeric: tabular-nums;
    cursor: default;
}
.board-readonly-val {
    font-weight: 600;
    font-size: 12.5px;
    color: #6d28d9;
    padding: 2px 4px;
    border-radius: 4px;
    background: #f5f3ff;
}
[data-theme="dark"] .board-readonly-val {
    background: #2a2050;
    color: #a78bfa;
}

/* ── DUPLICATE GROUP MODAL (elegant) ────────────────── */
.dup-group-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.dup-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 18px 14px;
    background: var(--surface);
    border: 2px solid var(--border);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.15s;
    text-align: center;
}
.dup-option:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.dup-option-clean:hover { border-color: #22c55e; background: #f0fdf4; }
.dup-option-full:hover  { border-color: #f04c38; background: #eef2ff; }
.dup-option-icon { font-size: 28px; }
.dup-option-title { font-size: 14px; font-weight: 700; color: var(--text); }
.dup-option-desc { font-size: 11.5px; color: var(--text-2); line-height: 1.4; }

[data-theme="dark"] .dup-option { background: #1e2036; border-color: #2a2d3e; }
[data-theme="dark"] .dup-option-clean:hover { border-color: #22c55e; background: #0a2a1a; }
[data-theme="dark"] .dup-option-full:hover  { border-color: #f04c38; background: #1a1d3a; }

/* ═══ ADMIN REPORTS ═════════════════════════════════ */
.rpt-header {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 12px; margin-bottom: 16px;
}
.rpt-header h3 { font-size: 18px; font-weight: 700; color: var(--text); margin: 0; }
.rpt-filters { display: flex; gap: 12px; flex-wrap: wrap; }
.rpt-filter label {
    display: block; font-size: 10px; font-weight: 700;
    color: var(--text-2); text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 4px;
}
.rpt-filter input, .rpt-filter select {
    padding: 6px 10px; border: 1.5px solid var(--border); border-radius: 7px;
    font-size: 13px; font-family: inherit; background: var(--surface); color: var(--text);
    outline: none; min-width: 140px;
}
.rpt-filter input:focus, .rpt-filter select:focus { border-color: var(--indigo); }
.rpt-empty { text-align: center; padding: 40px; color: var(--text-2); font-size: 13px; }

/* Summary cards */
.rpt-summary { display: flex; gap: 14px; margin-bottom: 18px; flex-wrap: wrap; }
.rpt-summary-card {
    flex: 1; min-width: 140px;
    padding: 16px; background: var(--surface); border: 1px solid var(--border);
    border-radius: 12px; text-align: center;
}
.rpt-summary-val { display: block; font-size: 26px; font-weight: 800; color: var(--text); font-variant-numeric: tabular-nums; }
.rpt-summary-label { font-size: 11px; color: var(--text-2); font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }

/* User card */
.rpt-user-card {
    border: 1px solid var(--border); border-radius: 12px;
    margin-bottom: 12px; overflow: hidden;
}
.rpt-user-header {
    display: flex; align-items: center; gap: 14px;
    padding: 14px 18px; cursor: pointer;
    background: linear-gradient(135deg, #fafbff, #f5f3ff);
    transition: background 0.15s; flex-wrap: wrap;
}
[data-theme="dark"] .rpt-user-header { background: linear-gradient(135deg, #1e2036, #252840); }
.rpt-user-header:hover { background: #eef2ff; }
[data-theme="dark"] .rpt-user-header:hover { background: #252840; }
.rpt-user-info { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 160px; }
.rpt-avatar {
    width: 38px; height: 38px; border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 700; font-size: 13px;
}
.rpt-user-name { font-size: 14px; font-weight: 700; color: var(--text); }
.rpt-user-sub { font-size: 11px; color: var(--text-2); }
.rpt-user-totals { display: flex; gap: 8px; flex-wrap: wrap; }
.rpt-badge-h { font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 20px; background: #ede9fe; color: #6d28d9; }
.rpt-badge-b { font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 20px; background: #d1fae5; color: #065f46; }
.rpt-arrow {
    color: var(--text-2); flex-shrink: 0;
    transition: transform 0.2s;
}
.rpt-open > .rpt-arrow, .rpt-user-header.rpt-open .rpt-arrow { transform: rotate(180deg); }

/* Expandable body */
.rpt-user-body { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.rpt-user-header.rpt-open + .rpt-user-body { max-height: 5000px; }

.rpt-cols-header {
    display: grid; grid-template-columns: 1fr 90px 90px;
    padding: 6px 18px; font-size: 10px; font-weight: 700;
    color: var(--text-3); text-transform: uppercase; letter-spacing: 0.04em;
    border-bottom: 2px solid var(--border); background: #fafbff;
}
[data-theme="dark"] .rpt-cols-header { background: #1a1d33; }

/* Hierarchical rows */
.rpt-row {
    display: grid; grid-template-columns: 1fr 90px 90px;
    align-items: center; padding: 7px 18px;
    font-size: 12.5px; color: var(--text);
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.1s;
}
[data-theme="dark"] .rpt-row { border-color: #252840; }
.rpt-row:hover { background: #f8f9ff; }
[data-theme="dark"] .rpt-row:hover { background: #1e2036; }
.rpt-toggle { cursor: pointer; user-select: none; }
.rpt-toggle .rpt-name::before {
    content: '▸ '; color: var(--text-3); font-size: 11px;
}
.rpt-toggle.rpt-open .rpt-name::before { content: '▾ '; }

.rpt-children { display: none; }
.rpt-toggle.rpt-open + .rpt-children { display: block; }

/* Indent levels via padding */
.rpt-level-1 { font-weight: 700; background: #fafbff; }
[data-theme="dark"] .rpt-level-1 { background: #1a1d33; }
.rpt-level-1 .rpt-name { padding-left: 0; }
.rpt-level-2 .rpt-name { padding-left: 20px; }
.rpt-level-3 .rpt-name { padding-left: 40px; }
.rpt-level-4 .rpt-name { padding-left: 60px; }
.rpt-level-5 .rpt-name { padding-left: 80px; }
.rpt-level-5 { font-size: 11.5px; color: var(--text-2); }

.rpt-name { display: flex; align-items: center; gap: 6px; min-width: 0; }
.rpt-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.rpt-count {
    font-size: 10px; background: var(--border); color: var(--text-2);
    padding: 1px 6px; border-radius: 10px;
}
.rpt-svc { font-size: 10px; color: var(--text-3); font-style: italic; }
.rpt-month {
    font-size: 10px; background: #eef2ff; color: #f04c38;
    padding: 1px 6px; border-radius: 8px;
}
.rpt-hours {
    text-align: right; font-weight: 700; font-variant-numeric: tabular-nums;
    color: #6d28d9;
}
.rpt-billed {
    text-align: right; font-weight: 700; font-variant-numeric: tabular-nums;
    color: #059669;
}

@media (max-width: 600px) {
    .rpt-row { grid-template-columns: 1fr 60px 60px; padding: 5px 10px; font-size: 11px; }
    .rpt-cols-header { grid-template-columns: 1fr 60px 60px; }
    .rpt-summary { flex-direction: column; }
}

/* ── RESPONSIVE BOARD (medium screens) ─────────────── */
@media (max-width: 1400px) and (min-width: 901px) {
    /* Laptop 13-14" */
    :root {
        --board-title-w: 260px;
        --sub-title-w: 240px;
    }
    .board-col-title { font-size: 12px; }
    .board-item-title { font-size: 12px; }
    .board-col { font-size: 11.5px; }
}

@media (max-width: 1200px) and (min-width: 901px) {
    /* Smaller laptops */
    :root {
        --board-title-w: 220px;
        --sub-title-w: 220px;
    }
    .board-col { padding: 4px 5px !important; }
    .board-col-title { padding: 4px 6px; }
}

/* Extra: better touch targets on medium screens */
@media (max-width: 1200px) {
    .board-resize-handle { width: 8px; right: -4px; }
}

/* ── DUPLICATE TO OTHER PROJECT ───────────────────── */
.board-group-dup-ext { color: #8b5cf6 !important; }
.board-group-dup-ext:hover { background: #ede9fe !important; color: #6d28d9 !important; }

.dup-ext-projects {
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 6px;
    background: var(--bg);
}
.dup-ext-client { margin-bottom: 10px; }
.dup-ext-client:last-child { margin-bottom: 0; }
.dup-ext-client-name {
    font-size: 10px;
    font-weight: 700;
    color: var(--text-3);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 6px 10px 3px;
}
.dup-ext-proj {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 12px;
    border: none;
    background: var(--surface);
    border-radius: 8px;
    cursor: pointer;
    margin-bottom: 3px;
    font-size: 13px;
    color: var(--text);
    text-align: left;
    transition: all 0.15s;
}
.dup-ext-proj:hover {
    background: #eef2ff;
    transform: translateX(2px);
    box-shadow: var(--shadow);
}
[data-theme="dark"] .dup-ext-proj:hover { background: #252840; }
.dup-ext-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.dup-ext-options {
    margin-top: 14px;
    padding: 10px 12px;
    background: #eef2ff;
    border-radius: 8px;
    border: 1px solid #c7d2fe;
}
[data-theme="dark"] .dup-ext-options { background: #1e2050; border-color: #3730a3; }
.dup-ext-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: var(--text);
    cursor: pointer;
}
.dup-ext-checkbox input { width: 16px; height: 16px; cursor: pointer; }

/* ── DUPLICATE SUBITEM MODAL ──────────────────────── */
.dup-sub-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--bg);
}
.dup-sub-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.dup-sub-field > span {
    font-size: 11px;
    font-weight: 700;
    color: var(--text-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.dup-sub-field select {
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    font-size: 13px;
    cursor: pointer;
}
.dup-sub-field select:focus {
    outline: none;
    border-color: #f04c38;
    box-shadow: 0 0 0 3px rgba(91, 94, 244, 0.15);
}
.dup-sub-options {
    margin-top: 14px;
    padding: 10px 12px;
    background: #eef2ff;
    border-radius: 8px;
    border: 1px solid #c7d2fe;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
[data-theme="dark"] .dup-sub-options { background: #1e2050; border-color: #3730a3; }
.dup-sub-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: var(--text);
    cursor: pointer;
}
.dup-sub-checkbox input { width: 16px; height: 16px; cursor: pointer; }

/* ── MEMBER DAILY HOURS INPUT ─────────────────────── */
.member-daily-h {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 4px 8px;
    background: #eef2ff;
    border: 1px solid #c7d2fe;
    border-radius: 7px;
    font-size: 12px;
}
[data-theme="dark"] .member-daily-h { background: #1e2050; border-color: #3730a3; }
.member-daily-h input {
    width: 40px;
    padding: 2px 4px;
    border: none;
    background: transparent;
    font-size: 13px;
    font-weight: 700;
    color: var(--indigo);
    text-align: right;
    outline: none;
    font-family: inherit;
}
.member-daily-h span { font-size: 11px; color: var(--text-2); font-weight: 600; }
@media (max-width: 600px) {
    .member-daily-h { display: none; }
}

/* ══════════════════════════════════════════════════ */
/* ══ PLANIFICARE TRIMESTRIALĂ ════════════════════ */
/* ══════════════════════════════════════════════════ */
.planificare-container {
    padding: 0 24px 80px;
    max-width: 1500px;
    margin: 0 auto;
}

/* Selector planuri (istoric) */
.plan-selector-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 10px 14px;
    margin-bottom: 14px;
    box-shadow: var(--shadow);
}
.plan-selector-left { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.plan-selector-label { font-size: 12.5px; font-weight: 700; color: var(--text-2); }
.plan-select {
    padding: 8px 12px;
    border: 1.5px solid var(--border);
    border-radius: 8px;
    background: var(--bg);
    color: var(--text);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    min-width: 200px;
    max-width: 360px;
}
.plan-select:focus { outline: none; border-color: var(--indigo); box-shadow: 0 0 0 3px rgba(20,20,20,0.12); }
.plan-count-badge {
    font-size: 11px; font-weight: 700; color: var(--indigo);
    background: var(--indigo-soft); padding: 3px 9px; border-radius: 100px;
}
.plan-selector-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.plan-sel-btn {
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text);
    font-size: 12.5px; font-weight: 600;
    padding: 7px 12px; border-radius: 8px;
    cursor: pointer; white-space: nowrap;
    transition: all 0.15s;
}
.plan-sel-btn:hover { border-color: var(--indigo); color: var(--indigo); background: var(--indigo-soft); }
.plan-sel-del { color: #dc2626; }
.plan-sel-del:hover { border-color: #fca5a5; color: #dc2626; background: #fef2f2; }
.plan-sel-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.plan-sel-btn:disabled:hover { border-color: var(--border); color: var(--text); background: var(--surface); }
[data-theme="dark"] .plan-select { background: #1a1c2a; border-color: #2d2f45; }
[data-theme="dark"] .plan-sel-btn { background: #1e2030; border-color: #2d2f45; }

/* Header — quarter / responsabil */
.plan-header {
    background: linear-gradient(135deg, #f04c38, #7c3aed);
    border-radius: 14px;
    padding: 18px 22px;
    margin-bottom: 18px;
    color: white;
    box-shadow: 0 4px 18px rgba(20,20,20,0.18);
}
.plan-header-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.plan-header-cell label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.85;
    margin-bottom: 5px;
    font-weight: 600;
}
.plan-header-cell .plan-input {
    width: 100%;
    background: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.25);
    color: white;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    outline: none;
    transition: background 0.15s, border-color 0.15s;
}
.plan-header-cell .plan-input::placeholder { color: rgba(255,255,255,0.55); }
.plan-header-cell .plan-input:focus {
    background: rgba(255,255,255,0.25);
    border-color: rgba(255,255,255,0.5);
}

/* Sections */
.plan-section {
    background: var(--surface);
    border-radius: 14px;
    border: 1px solid var(--border);
    padding: 18px 20px;
    margin-bottom: 18px;
    box-shadow: var(--shadow);
}
.plan-section-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.plan-section-intro {
    font-size: 12.5px;
    color: var(--text-2);
    margin-bottom: 14px;
}

/* Main objective block */
.plan-main-obj-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.plan-main-obj-grid label {
    display: block;
    font-size: 11px;
    color: var(--text-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    margin-bottom: 5px;
}

/* Generic plan-input shared base for header/main-obj */
.plan-input,
.plan-textarea {
    font-family: inherit;
}
.plan-textarea {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 13px;
    color: var(--text);
    background: var(--bg);
    outline: none;
    resize: none;
    overflow: hidden;
    transition: border-color 0.15s, box-shadow 0.15s;
    line-height: 1.45;
    min-height: 44px;
}
.plan-textarea:focus {
    border-color: var(--indigo);
    background: var(--surface);
    box-shadow: 0 0 0 3px rgba(20,20,20,0.1);
}

/* Table */
.plan-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: 10px;
}
.plan-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
    min-width: 920px;
}
.plan-table thead th {
    background: var(--bg);
    color: var(--text-2);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
    padding: 10px 8px;
    text-align: left;
    border-bottom: 1.5px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 1;
}
.plan-table tbody td {
    padding: 6px 6px;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}
.plan-table tbody tr:last-child td { border-bottom: none; }
.plan-table tbody tr.plan-row { transition: background 0.15s; }
.plan-table tbody tr.plan-row:hover { background: rgba(20,20,20,0.025); }

.plan-cell-nr {
    text-align: center;
    font-weight: 800;
    color: var(--text-3);
    font-size: 14px;
}

.plan-row-input,
.plan-row-textarea {
    width: 100%;
    border: 1px solid transparent;
    background: transparent;
    border-radius: 6px;
    padding: 5px 8px;
    font-size: 12.5px;
    color: var(--text);
    outline: none;
    font-family: inherit;
    transition: border-color 0.15s, background 0.15s;
}
.plan-row-textarea {
    resize: none;
    line-height: 1.45;
    min-height: 28px;
    overflow: hidden;
    white-space: pre-wrap;
    word-break: break-word;
}
.plan-row-input:hover,
.plan-row-textarea:hover {
    border-color: var(--border);
    background: var(--bg);
}
.plan-row-input:focus,
.plan-row-textarea:focus {
    border-color: var(--indigo);
    background: var(--surface);
    box-shadow: 0 0 0 2px rgba(20,20,20,0.1);
}

.plan-row-input::placeholder,
.plan-row-textarea::placeholder {
    color: var(--text-3);
    font-style: italic;
}

/* Progres slider + label */
.plan-progres-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}
.plan-progres-slider {
    flex: 1;
    min-width: 80px;
    height: 6px;
    -webkit-appearance: none;
    appearance: none;
    background: #e5e7eb;
    border-radius: 6px;
    outline: none;
    cursor: pointer;
}
.plan-progres-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px; height: 16px;
    border-radius: 50%;
    background: var(--indigo);
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}
.plan-progres-slider::-moz-range-thumb {
    width: 16px; height: 16px;
    border-radius: 50%;
    background: var(--indigo);
    cursor: pointer;
    border: 2px solid white;
}
.plan-progres-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-2);
    white-space: nowrap;
    min-width: 36px;
    text-align: right;
}

/* Color states per row — based on progres */
.plan-todo-row { background: rgba(220,38,38,0.04); }
.plan-todo-row td:first-child { box-shadow: inset 4px 0 0 #dc2626; }
.plan-todo-row .plan-progres-slider { background: #fecaca; }
.plan-todo-row .plan-progres-slider::-webkit-slider-thumb { background: #dc2626; }
.plan-todo-row .plan-progres-label { color: #dc2626; }

.plan-partial-row { background: rgba(234,179,8,0.05); }
.plan-partial-row td:first-child { box-shadow: inset 4px 0 0 #eab308; }
.plan-partial-row .plan-progres-slider { background: #fef08a; }
.plan-partial-row .plan-progres-slider::-webkit-slider-thumb { background: #eab308; }
.plan-partial-row .plan-progres-label { color: #a16207; }

.plan-done-row { background: rgba(13,148,136,0.05); }
.plan-done-row td:first-child { box-shadow: inset 4px 0 0 #0d9488; }
.plan-done-row .plan-progres-slider { background: #99f6e4; }
.plan-done-row .plan-progres-slider::-webkit-slider-thumb { background: #0d9488; }
.plan-done-row .plan-progres-label { color: #0d9488; }
.plan-done-row .plan-row-textarea,
.plan-done-row .plan-row-input { color: #0f766e; }

/* Add row button */
.plan-add-row {
    margin-top: 12px;
    width: 100%;
    background: transparent;
    border: 1.5px dashed var(--border);
    color: var(--text-2);
    padding: 8px 12px;
    border-radius: 9px;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}
.plan-add-row:hover {
    border-color: var(--indigo);
    color: var(--indigo);
    background: var(--indigo-soft);
}

/* Delete row button */
.plan-row-del {
    background: transparent;
    border: none;
    color: #d1d5db;
    font-size: 18px;
    line-height: 1;
    width: 28px; height: 28px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s;
}
.plan-row-del:hover { color: var(--red); background: #fef2f2; }

/* Summary */
.plan-summary {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding: 14px 18px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow);
    flex-wrap: wrap;
}
.plan-summary-card {
    padding: 4px 14px;
    border-right: 1px solid var(--border);
}
.plan-summary-card:last-of-type { border-right: none; }
.plan-summary-label {
    font-size: 10.5px;
    text-transform: uppercase;
    color: var(--text-3);
    font-weight: 600;
    letter-spacing: 0.04em;
}
.plan-summary-value {
    font-size: 22px;
    font-weight: 800;
    color: var(--text);
    line-height: 1;
    margin-top: 4px;
}
.plan-summary-value.plan-done { color: #0d9488; }
.plan-summary-spacer { flex: 1; }
.plan-save-btn { padding: 10px 18px; font-size: 13px; }
.plan-save-btn.dirty {
    animation: planSaveBlink 1.5s ease infinite;
}
@keyframes planSaveBlink {
    0%, 100% { box-shadow: 0 0 0 0 rgba(20,20,20,0.45); }
    50%      { box-shadow: 0 0 0 6px rgba(20,20,20,0); }
}

/* Dark mode */
[data-theme="dark"] .plan-table-wrap { border-color: var(--border); }
[data-theme="dark"] .plan-table thead th { background: #1a1d3a; }
[data-theme="dark"] .plan-row-input:hover,
[data-theme="dark"] .plan-row-textarea:hover { background: #1e2050; }
[data-theme="dark"] .plan-todo-row    { background: rgba(220,38,38,0.08); }
[data-theme="dark"] .plan-partial-row { background: rgba(234,179,8,0.08); }
[data-theme="dark"] .plan-done-row    { background: rgba(13,148,136,0.10); }

/* Responsive */
@media (max-width: 900px) {
    .plan-header-row, .plan-main-obj-grid { grid-template-columns: 1fr; }
    .plan-summary-card { border-right: none; border-bottom: 1px solid var(--border); padding: 8px 0; width: 100%; }
}

/* ══ CAMPANII (marketing campaign tracker) ════════════════════ */
.camp-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 28px 14px;
    flex-wrap: wrap;
}
.camp-legend {
    display: flex;
    gap: 14px;
    font-size: 11.5px;
    color: var(--text-2);
}
.camp-legend-item { display: inline-flex; align-items: center; gap: 5px; }
.camp-dot { width: 11px; height: 11px; border-radius: 50%; display: inline-block; }
.camp-dot.camp-valab-ok       { background: #22c55e; }
.camp-dot.camp-valab-soon     { background: #f59e0b; }
.camp-dot.camp-valab-expired  { background: #ef4444; }

.camp-wrap {
    padding: 0 28px 60px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* ── Brand group ── */
.camp-brand {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: var(--shadow);
    overflow: hidden;
}
.camp-brand.camp-drop-before { box-shadow: 0 -3px 0 0 var(--indigo), var(--shadow); }
.camp-brand.camp-drop-after  { box-shadow: 0 3px 0 0 var(--indigo), var(--shadow); }
.camp-dragging { opacity: 0.45; }

.camp-brand-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-left: 4px solid var(--bc, #f04c38);
    background: color-mix(in srgb, var(--bc, #f04c38) 7%, transparent);
}
.camp-drag-handle {
    cursor: grab;
    color: var(--text-3);
    display: inline-flex;
    opacity: 0.55;
    transition: opacity .15s;
}
.camp-drag-handle:hover { opacity: 1; }
.camp-drag-handle:active { cursor: grabbing; }
.camp-brand-toggle {
    background: none; border: none; cursor: pointer; color: var(--text-2);
    display: inline-flex; padding: 2px;
}
.camp-brand-name {
    font-size: 14.5px;
    font-weight: 700;
    color: var(--bc, #f04c38);
    outline: none;
    padding: 2px 4px;
    border-radius: 5px;
    min-width: 60px;
}
.camp-brand-name:focus { background: var(--indigo-soft); }
.camp-brand-count {
    font-size: 11px;
    font-weight: 700;
    color: var(--text-2);
    background: var(--bg);
    padding: 1px 8px;
    border-radius: 100px;
}
.camp-brand-color-btn { background: none; border: none; cursor: pointer; padding: 2px; display: inline-flex; margin-left: auto; }
.camp-brand-color-dot { width: 15px; height: 15px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--border); }
.camp-brand-del {
    background: none; border: none; cursor: pointer;
    color: #cbd5e1; font-size: 19px; line-height: 1;
    padding: 0 4px; border-radius: 5px; transition: all .15s;
}
.camp-brand-del:hover { color: var(--red); background: #fef2f2; }

/* ── Table inside brand ── */
.camp-brand-body { padding: 4px 8px 10px; overflow-x: auto; }
.camp-table-head, .camp-row {
    display: grid;
    grid-template-columns: 28px minmax(160px,1fr) 128px minmax(240px,2.3fr) minmax(180px,1.5fr) 90px 90px 64px 80px 56px 62px;
    align-items: start;
    gap: 6px;
    min-width: 1240px;
}
.camp-table-head {
    padding: 8px 6px;
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-3);
    border-bottom: 2px solid var(--border);
    align-items: center;
}
.camp-row {
    padding: 8px 6px;
    border-bottom: 1px solid var(--border);
    transition: background .12s;
}
.camp-row:hover { background: #f8f9ff; }
.camp-row-tinted { background: var(--row-tint); }
.camp-row-tinted:hover { filter: brightness(0.98); }
.camp-row.camp-drop-before { box-shadow: inset 0 2px 0 0 var(--indigo); }
.camp-row.camp-drop-after  { box-shadow: inset 0 -2px 0 0 var(--indigo); }

.camp-c-drag { display: flex; align-items: center; justify-content: center; padding-top: 4px; }
.camp-c-flag { display: flex; align-items: center; justify-content: center; padding-top: 2px; }
.camp-c-prog { display: flex; align-items: center; justify-content: center; padding-top: 4px; }
.camp-c-act { display: flex; align-items: center; gap: 2px; justify-content: flex-end; padding-top: 2px; }

/* Flag + notă (vertical) */
.camp-flag-wrap { display: flex; flex-direction: column; align-items: center; gap: 3px; width: 100%; }
.camp-note-btn {
    border: none;
    background: none;
    cursor: pointer;
    font-size: 10.5px;
    line-height: 1;
    padding: 2px 5px;
    border-radius: 6px;
    transition: all .12s;
}
.camp-note-btn.add { color: var(--text-3); opacity: 0; font-weight: 700; }
.camp-row:hover .camp-note-btn.add { opacity: 0.7; }
.camp-note-btn.add:hover { opacity: 1; background: var(--indigo-soft); color: var(--indigo); }
.camp-note-btn.has { opacity: 1; background: var(--indigo-soft); }
.camp-note-btn.has:hover { background: #d6d8fc; }

/* Progres X/4 */
.camp-prog {
    font-size: 11px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 100px;
    white-space: nowrap;
}
.camp-prog-full   { background: #dcfce7; color: #15803d; }
.camp-prog-partial{ background: #fef3c7; color: #b45309; }
.camp-prog-none   { background: var(--bg); color: var(--text-3); }

/* Notă popover */
.camp-note-pop {
    width: 270px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 12px;
    box-shadow: var(--shadow-md);
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.camp-note-pop-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-3);
}
.camp-note-input {
    width: 100%;
    border: 1.5px solid var(--border);
    border-radius: 7px;
    padding: 7px 9px;
    font-family: inherit;
    font-size: 12.5px;
    color: var(--text);
    resize: vertical;
    min-height: 60px;
}
.camp-note-input:focus { outline: none; border-color: var(--indigo); box-shadow: 0 0 0 3px rgba(20,20,20,0.12); }
.camp-note-pop-actions { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.camp-note-pop-actions button {
    border: none; cursor: pointer; padding: 6px 14px;
    border-radius: 6px; font-size: 12px; font-weight: 600;
}
.camp-note-clear { background: #fee2e2; color: #dc2626; }
.camp-note-clear:hover { background: #fecaca; }
.camp-note-save { background: var(--indigo); color: #fff; }
.camp-note-save:hover { background: var(--indigo-dark); }
[data-theme="dark"] .camp-note-pop { background: #1e2030; border-color: #2d2f45; }
[data-theme="dark"] .camp-note-input { background: #1a1c2a; border-color: #2d2f45; }

.camp-cell-text {
    width: 100%;
    border: 1px solid transparent;
    background: transparent;
    border-radius: 6px;
    padding: 5px 7px;
    font-family: inherit;
    font-size: 12.5px;
    color: var(--text);
    resize: none;
    overflow: hidden;
    line-height: 1.4;
    min-height: 30px;
}
.camp-cell-text:hover { border-color: var(--border); }
.camp-cell-text:focus { outline: none; border-color: var(--indigo); background: var(--surface); box-shadow: 0 0 0 3px rgba(20,20,20,0.1); max-height: none !important; }

/* Clamp celulele lungi când rândul NU e expandat (la editare/focus se desfac automat) */
.camp-row:not(.camp-row-exp) .camp-cell-text { max-height: 108px; }
.camp-row:not(.camp-row-exp).camp-row-haslong .camp-cell-text:not(:focus) {
    -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent);
    mask-image: linear-gradient(180deg, #000 72%, transparent);
}

/* Buton vezi-mai-mult / restrânge */
.camp-row-expand {
    display: none;
    background: none; border: none; cursor: pointer;
    color: var(--text-3);
    padding: 2px 4px; border-radius: 5px; line-height: 1;
    transition: all .15s;
}
.camp-row-haslong .camp-row-expand { display: inline-flex; }
.camp-row-expand:hover { color: var(--indigo); background: var(--indigo-soft); }
.camp-row-expand svg { transition: transform .2s; }
.camp-row-exp .camp-row-expand svg { transform: rotate(180deg); }

.camp-link-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.camp-link-chip {
    display: inline-flex; align-items: center; gap: 2px;
    font-size: 10.5px; font-weight: 600;
    color: var(--indigo);
    background: var(--indigo-soft);
    padding: 2px 7px;
    border-radius: 8px;
    text-decoration: none;
    transition: all .12s;
}
.camp-link-chip:hover { background: #d6d8fc; }

.camp-date {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 5px 6px;
    font-family: inherit;
    font-size: 12px;
    color: var(--text);
    background: var(--surface);
    cursor: pointer;
}
.camp-date:focus { outline: none; border-color: var(--indigo); box-shadow: 0 0 0 3px rgba(20,20,20,0.1); }
.camp-date.camp-valab-ok       { border-color: #86efac; background: #f0fdf4; }
.camp-date.camp-valab-soon     { border-color: #fcd34d; background: #fffbeb; color: #b45309; font-weight: 600; }
.camp-date.camp-valab-expired  { border-color: #fca5a5; background: #fef2f2; color: #dc2626; font-weight: 600; }
.camp-valab-lbl {
    display: block;
    font-size: 10px;
    font-weight: 600;
    margin-top: 3px;
    padding-left: 2px;
}
.camp-valab-lbl.camp-valab-soon     { color: #b45309; }
.camp-valab-lbl.camp-valab-expired  { color: #dc2626; }

/* Flags (Campanie / Newsletter / SMS / Postare) */
.camp-flag {
    width: 100%;
    max-width: 64px;
    border: 1.5px solid var(--border);
    background: var(--bg);
    color: var(--text-3);
    border-radius: 7px;
    padding: 6px 0;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all .12s;
}
.camp-flag:hover { border-color: #cbd5e1; }
.camp-flag.on { color: #fff; border-color: transparent; }
.camp-flag.on.camp-flag-campanie   { background: #3b82f6; }
.camp-flag.on.camp-flag-newsletter { background: #8b5cf6; }
.camp-flag.on.camp-flag-sms        { background: #14b8a6; }
.camp-flag.on.camp-flag-postare    { background: #22c55e; }

/* Arhivare campanii */
.camp-arch-toggle {
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-2);
    font-size: 12.5px; font-weight: 600;
    padding: 7px 12px; border-radius: 8px;
    cursor: pointer; white-space: nowrap;
    transition: all 0.15s;
    display: inline-flex; align-items: center; gap: 5px;
}
.camp-arch-toggle:hover { border-color: var(--indigo); color: var(--indigo); background: var(--indigo-soft); }
.camp-arch-toggle.on { border-color: var(--indigo); color: var(--indigo); background: var(--indigo-soft); }
.camp-arch-count {
    background: var(--indigo); color: #fff;
    font-size: 10px; font-weight: 700;
    padding: 1px 6px; border-radius: 8px;
}
.camp-row-archived { opacity: 0.55; }
.camp-row-archived .camp-cell-text { text-decoration: line-through; }
.camp-arch-hint {
    padding: 8px 12px;
    font-size: 11.5px; font-style: italic;
    color: var(--text-3);
    cursor: pointer;
    border-bottom: 1px solid var(--border);
    transition: all 0.12s;
}
.camp-arch-hint:hover { color: var(--indigo); background: var(--indigo-soft); }
.camp-row-arch {
    background: none; border: none; cursor: pointer;
    padding: 2px 4px; border-radius: 5px; line-height: 1;
    font-size: 13px; transition: all .15s; opacity: 0.6;
}
.camp-row:hover .camp-row-arch { opacity: 1; }
.camp-row-arch:hover { background: var(--bg); }

.camp-row-color, .camp-row-del {
    background: none; border: none; cursor: pointer;
    padding: 2px 4px; border-radius: 5px; line-height: 1;
    font-size: 13px; transition: all .15s; opacity: 0.6;
}
.camp-row:hover .camp-row-color, .camp-row:hover .camp-row-del { opacity: 1; }
.camp-row-del { color: #cbd5e1; font-size: 17px; }
.camp-row-del:hover { color: var(--red); background: #fef2f2; }
.camp-row-color:hover { background: var(--bg); }

.camp-add-row {
    margin: 8px 6px 2px;
    background: none;
    border: 1px dashed var(--border);
    color: var(--text-2);
    border-radius: 8px;
    padding: 7px 14px;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all .15s;
}
.camp-add-row:hover { border-color: var(--indigo); color: var(--indigo); background: var(--indigo-soft); }

.camp-empty {
    text-align: center;
    padding: 50px 20px;
    color: var(--text-3);
}
.camp-empty svg { margin-bottom: 12px; opacity: 0.5; }
.camp-empty p { font-size: 13px; }

/* Color popover (brand + row tint) */
.camp-color-pop {
    display: flex;
    gap: 6px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 8px;
    box-shadow: var(--shadow-md);
}
.camp-color-swatch {
    width: 22px; height: 22px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--border);
    transition: transform .12s;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 12px; color: var(--text-3);
}
.camp-color-swatch:hover { transform: scale(1.15); }
.camp-color-swatch.sel { box-shadow: 0 0 0 2px var(--indigo); }
.camp-color-none { background: var(--bg); }

/* Dark mode */
[data-theme="dark"] .camp-brand { background: #1e2030; border-color: #2d2f45; }
[data-theme="dark"] .camp-row:hover { background: #252840; }
[data-theme="dark"] .camp-cell-text:focus { background: #1a1c2a; }
[data-theme="dark"] .camp-date { background: #1a1c2a; border-color: #2d2f45; }
[data-theme="dark"] .camp-color-pop { background: #1e2030; border-color: #2d2f45; }

/* ══ CERERI MK (marketing requests) ═══════════════════════════ */
.mk-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 4px 28px 14px;
    flex-wrap: wrap;
}
.mk-tabs { display: flex; gap: 6px; background: var(--bg); padding: 4px; border-radius: 10px; }
.mk-tab {
    border: none; background: none; cursor: pointer;
    padding: 6px 14px; border-radius: 7px;
    font-size: 12.5px; font-weight: 600; color: var(--text-2);
    display: inline-flex; align-items: center; gap: 6px;
    transition: all .15s;
}
.mk-tab:hover { color: var(--text); }
.mk-tab.active { background: var(--surface); color: var(--indigo); box-shadow: var(--shadow); }
.mk-tab-badge { background: var(--indigo); color: #fff; font-size: 10px; font-weight: 700; padding: 0 6px; border-radius: 8px; }
.mk-tab-badge.hist { background: #22c55e; }

.mk-list { padding: 0 28px 60px; display: flex; flex-direction: column; gap: 12px; }

.mk-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-left: 4px solid var(--text-3);
    border-radius: 12px;
    box-shadow: var(--shadow);
    overflow: hidden;
    transition: box-shadow .15s;
}
.mk-card:hover { box-shadow: var(--shadow-md); }
.mk-card.mk-st-new  { border-left-color: #3b82f6; }
.mk-card.mk-st-prog { border-left-color: #f59e0b; }
.mk-card.mk-st-done { border-left-color: #22c55e; opacity: 0.72; }

.mk-card-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-bottom: 1px solid var(--border);
    flex-wrap: wrap;
}
.mk-status {
    cursor: pointer;
    font-size: 11px; font-weight: 700;
    padding: 3px 10px; border-radius: 100px;
    color: #fff; user-select: none;
    transition: filter .15s;
}
.mk-status:hover { filter: brightness(1.08); }
.mk-status.mk-st-new  { background: #3b82f6; }
.mk-status.mk-st-prog { background: #f59e0b; }
.mk-status.mk-st-done { background: #22c55e; }

.mk-team {
    font-size: 11.5px; font-weight: 600; color: var(--indigo);
    background: var(--indigo-soft); padding: 2px 9px; border-radius: 8px;
}
.mk-email { font-size: 12px; color: var(--text-2); }
.mk-urg {
    font-size: 11px; font-weight: 600;
    padding: 2px 9px; border-radius: 8px;
}
.mk-urg.mk-urg-high { background: #fef2f2; color: #dc2626; border: 1px solid #fca5a5; }
.mk-urg.mk-urg-mid  { background: #fffbeb; color: #b45309; border: 1px solid #fcd34d; }
.mk-urg.mk-urg-low  { background: #f0fdf4; color: #16a34a; border: 1px solid #86efac; }
.mk-submitted { font-size: 11px; color: var(--text-3); }

.mk-card-actions { margin-left: auto; display: flex; align-items: center; gap: 5px; }
.mk-assign-btn, .mk-totask-btn, .mk-resolve-btn, .mk-reopen-btn {
    border: 1px solid var(--border); background: var(--surface);
    cursor: pointer; font-size: 11.5px; font-weight: 600;
    color: var(--text-2); padding: 4px 10px; border-radius: 7px;
    transition: all .15s; white-space: nowrap;
}
.mk-assign-btn:hover { border-color: var(--indigo); color: var(--indigo); background: var(--indigo-soft); }
.mk-assign-name { color: var(--text); }
.mk-totask-btn { color: var(--indigo); border-color: #c7d2fe; }
.mk-totask-btn:hover { background: var(--indigo); color: #fff; border-color: var(--indigo); }
.mk-resolve-btn { color: #16a34a; border-color: #86efac; }
.mk-resolve-btn:hover { background: #22c55e; color: #fff; border-color: #22c55e; }
.mk-reopen-btn:hover { background: var(--bg); color: var(--text); }
.mk-del-btn {
    border: none; background: none; cursor: pointer;
    color: #cbd5e1; font-size: 18px; line-height: 1;
    padding: 0 6px; border-radius: 5px; transition: all .15s;
}
.mk-del-btn:hover { color: var(--red); background: #fef2f2; }

.mk-card-body { padding: 12px 14px; }
.mk-desc { font-size: 13px; color: var(--text); line-height: 1.5; white-space: pre-wrap; }
.mk-muted { color: var(--text-3); font-style: italic; }
.mk-attach { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; }
.mk-link-chips { display: inline-flex; flex-wrap: wrap; gap: 5px; }
.mk-link-chip {
    display: inline-flex; align-items: center; gap: 3px;
    font-size: 11px; font-weight: 600; color: var(--indigo);
    background: var(--indigo-soft); padding: 3px 9px; border-radius: 8px;
    text-decoration: none; transition: background .12s;
}
.mk-link-chip:hover { background: #d6d8fc; }
.mk-plain { font-size: 12px; color: var(--text-2); }
.mk-impact {
    margin-top: 10px; font-size: 12px; color: #92400e;
    background: #fffbeb; border: 1px solid #fde68a; border-radius: 8px;
    padding: 6px 10px;
}

.mk-empty { text-align: center; padding: 50px 20px; color: var(--text-3); }
.mk-empty svg { margin-bottom: 12px; opacity: 0.5; }
.mk-empty p { font-size: 13px; }

[data-theme="dark"] .mk-card { background: #1e2030; border-color: #2d2f45; }
[data-theme="dark"] .mk-assign-btn, [data-theme="dark"] .mk-totask-btn { background: #1a1c2a; border-color: #2d2f45; }
[data-theme="dark"] .mk-impact { background: #2a2410; border-color: #4a3f1a; color: #fcd34d; }

/* ═══════════════════════════════════════════════════
   MULTI-ECHIPE — selector echipă, pill, statistici simple
═══════════════════════════════════════════════════ */

/* Selector echipă (admin) în topbar */
.team-switcher-wrap { display: flex; align-items: center; gap: 8px; }
.team-switcher {
    display: flex; align-items: center; gap: 7px;
    background: var(--surface);
    border: 1.5px solid var(--indigo);
    border-radius: 10px;
    padding: 5px 10px;
    box-shadow: var(--shadow);
}
.team-switcher .team-dot {
    width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0;
}
.team-switcher select {
    border: none; background: transparent; outline: none;
    font-size: 12.5px; font-weight: 700; color: var(--text);
    cursor: pointer; max-width: 190px;
    font-family: inherit;
}
[data-theme="dark"] .team-switcher { background: #1a1c2a; }
[data-theme="dark"] .team-switcher select { color: #e5e7ff; }
[data-theme="dark"] .team-switcher select option { background: #1a1c2a; }

/* Pill echipă (moderator / user — fără dropdown) */
.team-pill {
    display: inline-flex; align-items: center; gap: 7px;
    background: var(--indigo-soft);
    color: var(--indigo);
    border-radius: 100px;
    padding: 5px 13px;
    font-size: 12px; font-weight: 700;
    white-space: nowrap;
}
.team-pill .team-dot { width: 8px; height: 8px; border-radius: 50%; }
[data-theme="dark"] .team-pill { background: rgba(20,20,20,0.18); color: #a5a8ff; }

/* Badge rol moderator */
.user-role-pill.moderator { background: #fef3c7; color: #92400e; }
[data-theme="dark"] .user-role-pill.moderator { background: rgba(245,158,11,0.18); color: #fcd34d; }

/* Bifa ✓/✗ — acum e controlul principal pe task, ușor mărită */
.task-selfmark {
    width: 26px !important; height: 26px !important;
    font-size: 15px !important;
    flex-shrink: 0;
}

/* ── STATISTICI SIMPLE (fără time-tracking) ── */
.stats-simple { display: flex; flex-direction: column; gap: 18px; max-width: 980px; }
.stats-simple-header {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
}
.stats-simple-title { font-size: 16px; font-weight: 800; color: var(--text); display:flex; align-items:center; gap:8px; }
.stats-card {
    background: var(--surface); border: 1px solid var(--border);
    border-radius: var(--radius); box-shadow: var(--shadow);
    padding: 18px 20px;
}
.stats-card-title { font-size: 13px; font-weight: 800; color: var(--text); margin-bottom: 14px; display:flex; align-items:center; gap:7px; }
.stats-member-row {
    display: grid; grid-template-columns: 34px 1fr 120px 220px; align-items: center;
    gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border);
}
.stats-member-row:last-child { border-bottom: none; }
.stats-member-avatar {
    width: 30px; height: 30px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-size: 11px; font-weight: 800;
}
.stats-member-name { font-size: 13px; font-weight: 600; color: var(--text); }
.stats-member-count { font-size: 12px; color: var(--text-2); font-weight: 600; text-align: right; }
.stats-bar { height: 8px; background: var(--bg); border-radius: 100px; overflow: hidden; }
.stats-bar-fill { height: 100%; border-radius: 100px; transition: width .3s; }
.stats-empty-note {
    background: var(--indigo-soft); border-radius: 10px; padding: 12px 16px;
    font-size: 12.5px; color: var(--indigo); font-weight: 600;
}
[data-theme="dark"] .stats-card { background: #1a1c2a; border-color: #2d2f45; }
[data-theme="dark"] .stats-bar { background: #252840; }
[data-theme="dark"] .stats-empty-note { background: rgba(20,20,20,0.15); color: #a5a8ff; }

/* Rând echipă în Setări → Echipe */
.team-row-meet input {
    font-size: 12px; padding: 5px 9px; border: 1px solid var(--border);
    border-radius: 7px; width: 100%; min-width: 210px;
    background: var(--surface); color: var(--text); font-family: inherit;
}
[data-theme="dark"] .team-row-meet input { background: #12141f; border-color: #2d2f45; color: #e5e7ff; }

/* Subtitlu departament sub UTILBEN.Team în sidebar */
.logo-sub {
    display: block;
    font-size: 10px;
    font-weight: 700;
    color: rgba(255,255,255,0.52);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-top: 2px;
}

/* Planificare vânzări: coloana TOTAL evidențiată */
.plan-total-input {
    text-align: right;
    font-weight: 700;
    color: var(--text);
}

/* Dropdown progres în planificare — colorat după evoluție (rândul are deja fundal + dungă) */
.plan-progres-select {
    width: 100%;
    border: 1.5px solid var(--border);
    border-radius: 8px;
    padding: 6px 4px;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 800;
    background: var(--surface);
    cursor: pointer;
    outline: none;
    text-align: center;
}
.plan-todo-row    .plan-progres-select { color: #dc2626; border-color: #fecaca; background: #fff5f5; }
.plan-partial-row .plan-progres-select { color: #a16207; border-color: #fde68a; background: #fffbeb; }
.plan-done-row    .plan-progres-select { color: #0d9488; border-color: #99f6e4; background: #f0fdfa; }
