/* Cerveio Dashboard — dashboard-only styles. Loaded on dashboard-*.html pages only. */

/* shell */
.dash-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.dash-sidebar{background:rgba(3,8,18,.92);border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh;overflow-y:auto}
.dash-sidebar .brand{margin-bottom:4px}
.dash-nav{display:flex;flex-direction:column;gap:2px}
.dash-nav a{padding:10px 12px;border-radius:10px;color:#9aabc3;font-size:.85rem;font-weight:700;text-decoration:none;transition:.2s}
.dash-nav a:hover,.dash-nav a.active{color:#fff;background:rgba(72,116,200,.14)}
.dash-nav-group{padding:14px 12px 4px;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.dash-account{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:2px;position:relative}
.dash-notifications{position:relative;margin-top:8px}
.dash-notif-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;border-radius:10px;background:transparent;border:none;color:#9aabc3;font-size:.85rem;font-weight:700;cursor:pointer;position:relative}
.dash-notif-trigger:hover{color:#fff;background:rgba(72,116,200,.14)}
.dash-notif-badge{background:#ff5470;color:#fff;font-size:.65rem;font-weight:800;border-radius:999px;min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}
.dash-notif-panel{display:none;position:absolute;left:0;bottom:calc(100% + 6px);width:300px;max-height:360px;overflow-y:auto;background:#0e1d36;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.4);z-index:20}
.dash-notif-panel.is-open{display:block}
.dash-notif-panel-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);font-size:.8rem;font-weight:800}
.dash-notif-list{list-style:none;margin:0;padding:6px;display:grid;gap:2px;font-size:.82rem}
.dash-notif-list li{padding:10px 10px;border-radius:8px}
.dash-notif-list li.unread{background:rgba(72,116,200,.1)}
.dash-notif-item-type{font-weight:700;display:block}
.dash-notif-item-time{color:var(--muted);font-size:.72rem}
.dash-account-trigger{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;padding:8px;border-radius:10px;cursor:pointer;text-align:left}
.dash-account-trigger:hover{background:rgba(72,116,200,.12)}
.dash-account-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:Manrope,Inter,sans-serif;font-weight:800;font-size:.7rem;color:#fff;background:conic-gradient(from 220deg,var(--blue-500),var(--violet-500),var(--cyan-500),var(--blue-500));flex-shrink:0}
.dash-account-menu{display:none;position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:rgba(6,14,28,.98);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:var(--shadow-md)}
.dash-account-menu.is-open{display:block}
.dash-account-menu a{display:block;padding:9px 10px;border-radius:8px;color:#b8c6da;font-size:.8rem;font-weight:700;text-decoration:none}
.dash-account-menu a:hover{color:#fff;background:rgba(72,116,200,.14)}
.dash-account-name{font-weight:700;color:#fff;font-size:.85rem}
.dash-content{padding:40px 44px;min-width:0}
.dash-header{margin-bottom:28px}
.dash-header h1{font-family:Manrope,Inter,sans-serif;font-weight:800;font-size:clamp(1.8rem,3vw,2.4rem);color:#fff;margin:0 0 8px;letter-spacing:-.03em}
.dash-narrow{max-width:640px;margin:0 auto}

.dash-menu-toggle{display:none;position:fixed;top:16px;left:16px;z-index:50;width:42px;height:42px;border:1px solid var(--line);background:rgba(3,8,18,.94);border-radius:11px;cursor:pointer}
.dash-menu-toggle span{display:block;width:17px;height:1px;background:#fff;margin:4px auto}

/* stat cards */
.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}
.dash-stat{padding:20px}
.dash-stat-value{font-family:Manrope,Inter,sans-serif;font-weight:800;font-size:2rem;color:#fff;line-height:1}
.dash-stat-label{font-size:.75rem;color:var(--muted);margin-top:6px}
.lib-analytics-row{display:flex;align-items:center;gap:12px;font-size:.85rem;margin-bottom:8px}
.lib-analytics-row-label{min-width:140px}
.lib-analytics-bar-track{flex:1;background:var(--line);border-radius:6px;overflow:hidden;height:8px}
.lib-analytics-bar-fill{background:#3e93ff;height:100%}

/* stepper */
.dash-stepper{display:flex;gap:8px;margin-bottom:32px;flex-wrap:wrap}
.dash-step{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(2,9,20,.5);font-size:.72rem;font-weight:700;color:var(--muted)}
.dash-step.is-done{color:#9fe3b0;border-color:rgba(90,220,140,.35)}
.dash-step.is-current{color:#fff;border-color:#438fff;background:rgba(44,130,255,.14)}

/* quick action cards */
.dash-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.dash-action{padding:20px;display:flex;flex-direction:column;gap:6px}
.dash-action-title{font-weight:750;color:#fff}

/* status badges */
.dash-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.dash-badge-draft{background:rgba(140,160,190,.16);color:#b8c6da}
.dash-badge-progress{background:rgba(255,190,80,.16);color:#ffcf7a}
.dash-badge-published{background:rgba(90,220,140,.16);color:#9fe3b0}
.dash-badge-paused{background:rgba(255,120,120,.16);color:#ff9d9d}

/* empty / placeholder states */
/* .dash-empty moved to components.css (Continuous Improvement cycle,
   site-wide search audit) — creators.html/categories.html/search.html use
   it too and never loaded dashboard.css. */
.dash-placeholder{padding:48px 28px;text-align:center}
.dash-placeholder .tag{margin-bottom:16px}
.dash-placeholder p{margin:0 0 6px}
.dash-placeholder .muted{font-size:.85rem}

/* knowledge table */
.dash-table-wrap{overflow-x:auto}
.dash-table{width:100%;border-collapse:collapse}
.dash-table th{text-align:left;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.dash-table td{padding:14px;border-bottom:1px solid var(--line);font-size:.85rem;color:#dce6f5}
.dash-table tr:last-child td{border-bottom:none}
.dash-table .btn-ghost{padding:0 10px;min-height:32px}

/* upload widget (placeholder) */
.dash-upload{border:1px dashed var(--line);border-radius:var(--radius-lg);padding:28px;text-align:center;color:var(--muted);margin-bottom:24px}
.dash-upload p{margin:0 0 14px}

/* forms */
.dash-form-card{max-width:560px;padding:32px}

/* disabled control with explanation */
.dash-disabled-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.dash-disabled-note{font-size:.8rem;color:var(--muted)}

/* utility */
.dash-hidden{display:none}

/* knowledge management: layout */
.kn-layout{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start}
.kn-layout>*{min-width:0}
.kn-rail{display:flex;flex-direction:column;gap:2px;padding:12px}
.kn-rail a{padding:9px 12px;border-radius:10px;color:#9aabc3;font-size:.82rem;font-weight:700;text-decoration:none}
.kn-rail a:hover,.kn-rail a.active{color:#fff;background:rgba(72,116,200,.14)}
/* .kn-toolbar / .kn-toolbar-search moved to components.css — same reason
   as .dash-empty above. */
.kn-panel{padding:18px 20px;margin-bottom:24px}
.kn-panel h2{margin:0 0 10px}
.kn-page-actions{margin-bottom:20px}
.kn-result-count{font-size:.8rem;color:var(--muted);margin-bottom:10px}
.kn-bulk-toolbar{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:14px;border-radius:12px;background:rgba(44,130,255,.1);border:1px solid rgba(95,150,255,.25);font-size:.82rem}

/* editor */
.kn-editor-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;align-items:start}
.kn-counters{display:flex;gap:16px;font-size:.75rem;color:var(--muted);margin:-6px 0 4px}
.kn-autosave{font-size:.72rem;color:var(--muted)}
.kn-version-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.78rem;color:#dce6f5}

/* activity list */
.dash-activity{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:.82rem}
.dash-activity li{display:flex;justify-content:space-between;gap:10px}

/* import queue */
.kn-dropzone{border:1px dashed var(--line);border-radius:var(--radius-lg);padding:32px;text-align:center;color:var(--muted);margin-bottom:20px}
.kn-import-queue{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kn-import-queue li{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font-size:.82rem}

@media(max-width:900px){.kn-layout{grid-template-columns:1fr}.kn-rail{flex-direction:row;flex-wrap:wrap;padding:0}.kn-editor-grid{grid-template-columns:1fr}}

/* AI training & publishing */
.tr-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:start}
.tr-dataset-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:320px;overflow-y:auto}
.tr-dataset-list li{padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.tr-coverage-bar{height:8px;border-radius:999px;background:rgba(140,160,190,.16);overflow:hidden;margin:10px 0}
.tr-coverage-bar-fill{height:100%;width:0;background:linear-gradient(90deg,var(--blue-500),var(--violet-500));border-radius:999px;transition:width .3s var(--ease)}
.tr-breakdown{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.8rem}
.tr-breakdown li{display:flex;justify-content:space-between}
.tr-validation{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px;font-size:.85rem}
.tr-note{font-size:.8rem;color:var(--muted)}

.tr-thread{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:10px;max-height:360px;overflow-y:auto}
.tr-msg{padding:10px 14px;border-radius:14px;font-size:.85rem;max-width:80%}
.tr-msg-user{background:rgba(44,130,255,.16);border:1px solid rgba(95,150,255,.3);margin-left:auto;color:#e6edff}
.tr-msg-system{background:rgba(140,160,190,.1);border:1px solid var(--line);color:var(--muted);font-style:italic;max-width:100%}

@media(max-width:900px){.tr-grid{grid-template-columns:1fr}}

/* toast */
.dash-toast{position:fixed;bottom:24px;right:24px;z-index:80;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.dash-toast-item{pointer-events:auto;background:rgba(6,14,28,.96);border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-size:.82rem;color:#fff;box-shadow:var(--shadow-md);animation:dashToastIn .25s var(--ease)}
@keyframes dashToastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* modal */
.dash-modal-overlay{position:fixed;inset:0;background:rgba(2,6,14,.72);display:none;align-items:center;justify-content:center;z-index:90;padding:20px}
.dash-modal-overlay.is-open{display:flex}
.dash-modal{max-width:440px;width:100%;padding:28px;max-height:calc(100vh - 40px);overflow-y:auto}
.dash-modal h2{margin:0 0 10px}
.dash-modal-actions{display:flex;gap:10px;margin-top:22px;justify-content:flex-end}

@media(max-width:980px){
  .dash-shell{display:block}
  .dash-sidebar{position:fixed;inset:0 auto 0 0;width:264px;transform:translateX(-100%);transition:transform .3s var(--ease);z-index:40}
  .dash-shell.dash-open .dash-sidebar{transform:translateX(0)}
  .dash-menu-toggle{display:block}
  .dash-content{padding:88px 20px 40px}
}
@media(max-width:900px){.dash-stats{grid-template-columns:1fr 1fr}.dash-actions{grid-template-columns:1fr}}
@media(max-width:640px){.dash-stats{grid-template-columns:1fr}.dash-content{padding:84px 16px 36px}}
