/* ═══════════════════════════════════════════════════════════════
   Knotful Desk v0.0.3
   Designed to blend seamlessly with the Knotful Pro theme.
   Uses EB Garamond throughout. Reads theme colors via CSS vars.
   ═══════════════════════════════════════════════════════════════ */

/* ─── Base variables (overridden by kea_inject_theme_colors) ── */
:root {
    --kea-primary: #131313;
    --kea-primary-hover: #444444;
    --kea-accent: #888888;
    --kea-bg: #ffffff;
    --kea-surface: #ffffff;
    --kea-surface-hover: #fafafa;
    --kea-text: #131313;
    --kea-text-secondary: #464646;
    --kea-muted: #a1a1a1;
    --kea-border: #131313;
    --kea-border-light: #131313;
    --kea-danger: #c0392b;
    --kea-danger-light: #fef2f2;
    --kea-success: #27ae60;
    --kea-success-light: #ecfdf5;
    --kea-warning: #d4a017;
    --kea-warning-light: #fffbeb;
    --kea-btn-bg: #131313;
    --kea-btn-text: #ffffff;
    --kea-btn-hover: #444444;
    --kea-font: 'EB Garamond', Georgia, serif;
}

/* ─── All Text: EB Garamond ───────────────────────────────── */
.kea-page, .kea-page *, .kea-form-panel, .kea-form-panel *,
.kea-btn, .kea-input, .kea-select, .kea-textarea,
.kea-table, .kea-card, .kea-note-card {
    font-family: var(--kea-font) !important;
}

/* ─── Content Wrapper (padding fix for all pages) ─────────── */
.post-content .kea-page,
.entry-content .kea-page,
.kea-page {
    padding: 0 16px;
    max-width: 100%;
    box-sizing: border-box;
}
.kea-page * { box-sizing: border-box; }
.kea-page h1,.kea-page h2,.kea-page h3 {
    font-family: var(--kea-font) !important;
    color: var(--kea-text);
    letter-spacing: 0.02em;
}
.kea-page-header {
    margin-bottom: 24px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--kea-border);
}
.kea-page-title {
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 0.03em;
}

/* ─── Buttons (match theme) ───────────────────────────────── */
.kea-btn { display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border-radius:0;font-size:14px;font-weight:400;cursor:pointer;border:1px solid var(--kea-border);background:var(--kea-surface);color:var(--kea-text);transition:all .2s;text-decoration:none;line-height:1.4;letter-spacing:.05em;text-transform:uppercase }
.kea-btn:hover { background:var(--kea-surface-hover);text-decoration:none;color:var(--kea-text) }
.kea-btn-primary { background:var(--kea-btn-bg)!important;color:var(--kea-btn-text)!important;border-color:var(--kea-btn-bg)!important }
.kea-btn-primary:hover { background:var(--kea-btn-hover)!important }
.kea-btn-danger { background:var(--kea-danger-light)!important;color:var(--kea-danger)!important;border-color:transparent!important }
.kea-btn-danger:hover { background:var(--kea-danger)!important;color:#fff!important }
.kea-btn-sm { padding:6px 14px;font-size:12px }
.kea-btn-link { background:none;border:none;color:var(--kea-primary);cursor:pointer;font-size:13px;font-weight:400;padding:4px 8px;text-decoration:underline;text-transform:none }
.kea-btn-link:hover { color:var(--kea-accent) }
.kea-btn-link.kea-danger { color:var(--kea-danger) }

/* ─── Inputs ──────────────────────────────────────────────── */
.kea-input,.kea-select,.kea-textarea { padding:10px 14px;border:1px solid var(--kea-border);border-radius:0;font-size:15px;background:var(--kea-surface);color:var(--kea-text);transition:border-color .2s;width:100% }
.kea-input:focus,.kea-select:focus,.kea-textarea:focus { outline:none;border-color:var(--kea-primary) }
.kea-field { margin-bottom:16px }
.kea-field label { display:block;font-weight:400;font-size:13px;color:var(--kea-text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px }
.kea-hint { font-size:13px;color:var(--kea-muted);margin-top:4px }

/* ─── Inline Form Panels ─────────────────────────────────── */
.kea-form-panel { background:var(--kea-surface);border:1px solid var(--kea-border);padding:28px;margin-bottom:24px;display:none }
.kea-form-panel.open { display:block }
.kea-form-panel h3 { font-size:22px;font-weight:400;margin:0 0 18px;letter-spacing:.03em }
.kea-form-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px 20px }
.kea-field-full { grid-column:1/-1 }
.kea-form-actions { grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end;padding-top:14px;border-top:1px solid var(--kea-border-light);margin-top:8px }

/* ─── Toolbar ─────────────────────────────────────────────── */
.kea-toolbar { display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap;align-items:center }

/* ─── Tables ──────────────────────────────────────────────── */
.kea-table-wrap { overflow-x:auto }
.kea-table { width:100%;border-collapse:collapse;background:var(--kea-surface);border:1px solid var(--kea-border) }
.kea-table th { font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--kea-muted);font-weight:400;padding:12px 16px;text-align:left;border-bottom:1px solid var(--kea-border) }
.kea-table td { padding:12px 16px;font-size:15px;border-bottom:1px solid var(--kea-border-light);vertical-align:middle }
.kea-table tr:last-child td { border-bottom:none }
.kea-table tr:hover td { background:var(--kea-surface-hover) }
.kea-actions { white-space:nowrap }
.kea-empty { text-align:center;color:var(--kea-muted);padding:36px!important;font-style:italic }

/* ─── Cards ───────────────────────────────────────────────── */
.kea-card { background:var(--kea-surface);padding:24px;border:1px solid var(--kea-border-light);margin-bottom:20px }
.kea-card h3 { font-size:18px;font-weight:400;margin:0 0 14px;letter-spacing:.02em }

/* ─── Grids ───────────────────────────────────────────────── */
.kea-grid-2 { display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px }
.kea-grid-3 { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px }

/* ─── Stats ───────────────────────────────────────────────── */
.kea-stat { background:var(--kea-surface);padding:24px;border:1px solid var(--kea-border-light);text-align:center }
.kea-stat-val { display:block;font-size:32px;font-weight:400;color:var(--kea-primary) }
.kea-stat-lbl { display:block;font-size:12px;color:var(--kea-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:6px }
.kea-stat-alert .kea-stat-val { color:var(--kea-danger) }

/* ─── Quick Actions ───────────────────────────────────────── */
.kea-quick-actions { display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap }
.kea-quick-btn { display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 24px;background:var(--kea-surface);border:1px solid var(--kea-border-light);font-size:14px;font-weight:400;color:var(--kea-text);transition:all .2s;min-width:120px;text-decoration:none;letter-spacing:.03em }
.kea-quick-btn:hover { border-color:var(--kea-primary);background:var(--kea-surface-hover);text-decoration:none;color:var(--kea-text) }
.kea-quick-icon { font-size:24px }

/* ─── Usage Bar ───────────────────────────────────────────── */
.kea-usage-bar { padding:16px 20px;background:var(--kea-surface-hover);border:1px solid var(--kea-border);margin-bottom:28px }
.kea-usage-text { font-size:14px;color:var(--kea-text-secondary);letter-spacing:.02em }
.kea-usage-track { height:4px;background:var(--kea-border);margin-top:10px;overflow:hidden }
.kea-usage-fill { height:100%;background:var(--kea-primary);transition:width .3s }

/* ─── Badges ──────────────────────────────────────────────── */
.kea-badge { display:inline-flex;padding:3px 12px;font-size:12px;font-weight:400;background:var(--kea-surface-hover);color:var(--kea-muted);letter-spacing:.04em;text-transform:uppercase }
.kea-badge-primary { background:var(--kea-primary);color:var(--kea-btn-text) }
.kea-badge-success { background:var(--kea-success);color:#fff }
.kea-tag { display:inline-flex;padding:2px 8px;font-size:11px;font-weight:400;color:#fff;margin:1px 2px }
.kea-stage-row { display:flex;gap:6px;flex-wrap:wrap }
.kea-stage-pill { padding:6px 14px;color:#fff;font-size:13px;font-weight:400 }

/* ─── Kanban ──────────────────────────────────────────────── */
.kea-kanban-board { display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;min-height:400px }
.kea-kanban-col { min-width:240px;max-width:280px;flex-shrink:0;background:var(--kea-surface-hover);padding:10px;display:flex;flex-direction:column }
.kea-kanban-col-header { display:flex;align-items:center;gap:8px;padding:8px 6px;margin-bottom:8px }
.kea-kanban-col-dot { width:10px;height:10px;border-radius:50%;flex-shrink:0 }
.kea-kanban-col-name { font-size:14px;font-weight:400;flex:1;letter-spacing:.03em }
.kea-kanban-col-count { font-size:12px;color:var(--kea-muted);background:var(--kea-surface);padding:2px 8px }
.kea-kanban-cards { flex:1;min-height:60px }
.kea-kanban-card { background:var(--kea-surface);border:1px solid var(--kea-border-light);padding:12px 14px;margin-bottom:8px;cursor:grab;transition:box-shadow .2s }
.kea-kanban-card:hover { box-shadow:0 2px 8px rgba(0,0,0,.06) }
.kea-kanban-card.dragging { opacity:.5 }
.kea-kanban-card-title { font-size:14px;margin-bottom:4px }
.kea-kanban-card-contact { font-size:12px;color:var(--kea-muted) }
.kea-kanban-card-date { font-size:12px;color:var(--kea-text-secondary);margin-top:4px }
.kea-kanban-drop-zone { min-height:40px;border:1px dashed var(--kea-border);margin-top:4px;opacity:0;transition:opacity .15s }
.kea-kanban-col.drag-over .kea-kanban-drop-zone { opacity:1;background:var(--kea-surface-hover);border-color:var(--kea-primary) }

/* ─── Contact Drawer ──────────────────────────────────────── */
.kea-drawer-overlay { position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.25);z-index:99998 }
.kea-drawer { position:fixed;top:0;right:0;bottom:0;width:480px;background:var(--kea-surface);box-shadow:-4px 0 24px rgba(0,0,0,.08);z-index:99999;overflow-y:auto;animation:kea-slide-in .2s ease }
@keyframes kea-slide-in { from{transform:translateX(100%)} to{transform:translateX(0)} }
.kea-drawer-header { position:sticky;top:0;background:var(--kea-surface);padding:24px 28px;border-bottom:1px solid var(--kea-border-light);display:flex;justify-content:space-between;align-items:flex-start;z-index:1 }
.kea-drawer-close { background:var(--kea-surface-hover);border:1px solid var(--kea-border);width:32px;height:32px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center }
.kea-drawer-name { font-size:22px;font-weight:400;letter-spacing:.02em }
.kea-drawer-meta { font-size:14px;color:var(--kea-muted);margin-top:4px }
.kea-drawer-body { padding:20px 28px }
.kea-drawer-section { margin-bottom:24px }
.kea-drawer-section h4 { font-size:13px;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--kea-muted);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--kea-border-light) }
.kea-drawer-field { display:flex;justify-content:space-between;padding:5px 0;font-size:14px }
.kea-drawer-field-label { color:var(--kea-muted) }
.kea-drawer-field-value { font-weight:400;text-align:right;max-width:60%;word-break:break-word }
.kea-drawer-tl-item { display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--kea-border-light);font-size:14px }
.kea-drawer-tl-item:last-child { border-bottom:none }
.kea-drawer-tl-dot { width:6px;height:6px;border-radius:50%;background:var(--kea-primary);margin-top:7px;flex-shrink:0 }
.kea-drawer-tl-time { font-size:12px;color:var(--kea-muted) }

/* ─── Notes ───────────────────────────────────────────────── */
.kea-note-card { background:var(--kea-surface);border:1px solid var(--kea-border-light);padding:20px;margin-bottom:12px }
.kea-note-card h4 { margin:0 0 4px;font-size:17px;font-weight:400 }
.kea-note-meta { font-size:13px;color:var(--kea-muted);margin-bottom:10px }
.kea-note-body { font-size:15px;line-height:1.7 }
.kea-note-pinned { border-left:2px solid var(--kea-primary) }

/* ─── Tasks ───────────────────────────────────────────────── */
.kea-task-item { display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-bottom:1px solid var(--kea-border-light) }
.kea-task-item:hover { background:var(--kea-surface-hover) }
.kea-task-item input[type="checkbox"] { margin-top:4px;accent-color:var(--kea-primary) }
.kea-task-item.done .kea-task-title { text-decoration:line-through;color:var(--kea-muted) }
.kea-task-title { flex:1;font-size:15px }
.kea-task-meta { font-size:13px;color:var(--kea-muted) }
.kea-task-priority-high { border-left:2px solid var(--kea-danger) }

/* ─── Calendar ────────────────────────────────────────────── */
.kea-cal-month { font-size:20px;font-weight:400;min-width:200px;text-align:center;letter-spacing:.03em }
.kea-calendar-grid { display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--kea-border);overflow:hidden }
.kea-cal-hdr { background:var(--kea-surface-hover);padding:10px;text-align:center;font-size:12px;color:var(--kea-muted);text-transform:uppercase;letter-spacing:.08em }
.kea-cal-day { background:var(--kea-surface);min-height:80px;padding:6px 8px }
.kea-cal-day.other { background:var(--kea-surface-hover) }
.kea-cal-day.today { background:var(--kea-border-light) }
.kea-cal-date { font-size:13px;color:var(--kea-text-secondary) }
.kea-cal-ev { font-size:11px;padding:2px 6px;color:#fff;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis }

/* ─── Theme Picker ────────────────────────────────────────── */
.kea-theme-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px }
.kea-theme-card { padding:14px;border:1px solid var(--kea-border-light);cursor:pointer;transition:all .2s;text-align:center }
.kea-theme-card:hover { border-color:var(--kea-primary) }
.kea-theme-card.active { border-color:var(--kea-primary);background:var(--kea-surface-hover) }
.kea-theme-swatches { display:flex;gap:3px;justify-content:center;margin-bottom:8px }
.kea-swatch { width:24px;height:24px;border:1px solid var(--kea-border) }
.kea-theme-name { font-size:14px }
.kea-theme-cat { font-size:12px;color:var(--kea-muted) }
.kea-theme-active { font-size:12px;color:var(--kea-primary);margin-top:4px }

/* ─── Alerts & Toasts ─────────────────────────────────────── */
.kea-alert { padding:16px 20px;font-size:15px }
.kea-alert-warning { background:var(--kea-warning-light);border:1px solid #d4a017;color:#92400e }
.kea-toast { position:fixed;bottom:20px;right:20px;padding:14px 24px;font-size:15px;font-weight:400;z-index:100001;box-shadow:0 4px 16px rgba(0,0,0,.1);animation:kea-fade-in .2s }
.kea-toast-success { background:var(--kea-success);color:#fff }
.kea-toast-error { background:var(--kea-danger);color:#fff }
@keyframes kea-fade-in { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

/* ─── Feedback ────────────────────────────────────────────── */
.kea-stars { color:var(--kea-warning);font-size:18px;letter-spacing:2px }
.kea-feedback-avg { font-size:36px;font-weight:400;color:var(--kea-primary) }
.kea-feedback-card { display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--kea-border-light) }
.kea-feedback-card:last-child { border-bottom:none }

/* ─── Pagination ──────────────────────────────────────────── */
.kea-pagination { display:flex;gap:4px;justify-content:center;padding:24px 0 }
.kea-pagination a,.kea-pagination span { padding:8px 14px;border:1px solid var(--kea-border);background:var(--kea-surface);font-size:14px;text-decoration:none;color:var(--kea-text) }
.kea-pagination .current { background:var(--kea-primary);color:var(--kea-btn-text);border-color:var(--kea-primary) }

/* ─── Inner Tabs (settings) ───────────────────────────────── */
.kea-tabs-inner { display:flex;gap:0;border-bottom:1px solid var(--kea-border);margin-bottom:24px }
.kea-tab-btn { padding:10px 20px;border:none;background:none;cursor:pointer;font-size:14px;color:var(--kea-muted);border-bottom:2px solid transparent;margin-bottom:-1px;letter-spacing:.04em;text-transform:uppercase }
.kea-tab-btn.active { color:var(--kea-primary);border-bottom-color:var(--kea-primary) }
.kea-stab { display:none }
.kea-stab.active { display:block }

/* ─── Misc ────────────────────────────────────────────────── */
.kea-muted { color:var(--kea-muted);font-size:14px }
.kea-code { background:var(--kea-surface-hover);padding:2px 6px;font-size:13px;font-family:monospace }
.kea-list-item { padding:10px 0;border-bottom:1px solid var(--kea-border-light);font-size:14px }
.kea-list-item:last-child { border:none }
.kea-list-empty { color:var(--kea-muted);font-style:italic;padding:20px 0;font-size:14px }
.kea-activity-item { display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--kea-border-light);font-size:14px }
.kea-activity-dot { width:6px;height:6px;border-radius:50%;background:var(--kea-primary);margin-top:7px;flex-shrink:0 }
.kea-activity-time { font-size:12px;color:var(--kea-muted) }
.kea-gate { max-width:400px;margin:60px auto;text-align:center;padding:40px }
.kea-gate a { color:var(--kea-primary) }
.kea-saved-filters { display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px }
.kea-saved-filter { padding:4px 12px;border:1px solid var(--kea-border);background:var(--kea-surface);font-size:13px;text-decoration:none;color:var(--kea-text);transition:all .2s }
.kea-saved-filter:hover,.kea-saved-filter.active { border-color:var(--kea-primary);color:var(--kea-primary) }
.kea-attach-item { display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--kea-border-light);font-size:14px }
.kea-attach-icon { font-size:18px }
.kea-attach-name { flex:1 }
.kea-attach-name a { color:var(--kea-primary);text-decoration:none }
.kea-attach-size { color:var(--kea-muted);font-size:13px }

/* ─── Responsive ──────────────────────────────────────────── */
@media(max-width:768px) {
    .kea-page { padding:0 12px }
    .kea-form-grid { grid-template-columns:1fr }
    .kea-grid-2,.kea-grid-3 { grid-template-columns:1fr }
    .kea-kanban-board { flex-direction:column }
    .kea-kanban-col { min-width:100%;max-width:100% }
    .kea-drawer { width:100%!important }
    .kea-quick-actions { gap:8px }
    .kea-quick-btn { min-width:0;flex:1;padding:14px 10px }
}
