New cockpit
This commit is contained in:
@@ -563,6 +563,112 @@ body {
|
||||
border: 1px solid #fde68a;
|
||||
}
|
||||
|
||||
/* ── Library cockpit ──────────────────────────────────────────── */
|
||||
.admin-main--cockpit {
|
||||
padding: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
}
|
||||
.lib-header {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.lib-cockpit {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
min-height: 0;
|
||||
}
|
||||
.lib-tree {
|
||||
width: 240px;
|
||||
flex-shrink: 0;
|
||||
overflow-y: auto;
|
||||
background: #fff;
|
||||
border-right: 1px solid var(--border);
|
||||
}
|
||||
.lib-cards {
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
padding: 1rem 1.5rem;
|
||||
background: var(--bg);
|
||||
}
|
||||
.lib-tree-node {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
width: 100%;
|
||||
padding: 0.4rem 0.6rem;
|
||||
border-radius: var(--radius-sm);
|
||||
border: none;
|
||||
background: none;
|
||||
text-align: left;
|
||||
font-size: 0.82rem;
|
||||
font-weight: 500;
|
||||
color: var(--muted);
|
||||
cursor: pointer;
|
||||
transition: background 0.12s, color 0.12s;
|
||||
}
|
||||
.lib-tree-node:hover { background: #f1f5f9; color: var(--text); }
|
||||
.lib-tree-node.active { background: #eff6ff; color: var(--primary); font-weight: 600; }
|
||||
.lib-tree-tag { padding-left: 1.4rem; font-size: 0.79rem; }
|
||||
.lib-tree-ev {
|
||||
display: inline-block;
|
||||
min-width: 1.1rem;
|
||||
text-align: center;
|
||||
font-size: 0.63rem;
|
||||
font-weight: 700;
|
||||
border-radius: 3px;
|
||||
padding: 0.05rem 0.2rem;
|
||||
}
|
||||
.lib-tree-ev.ev-A { background: #dcfce7; color: #166534; }
|
||||
.lib-tree-ev.ev-B { background: #fef9c3; color: #854d0e; }
|
||||
.lib-tree-ev.ev-C { background: #ffedd5; color: #9a3412; }
|
||||
.lib-card {
|
||||
background: #fff;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius-sm);
|
||||
box-shadow: var(--shadow-sm);
|
||||
overflow: hidden;
|
||||
transition: box-shadow 0.15s;
|
||||
}
|
||||
.lib-card:hover { box-shadow: var(--shadow); }
|
||||
.lib-card-head {
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
transition: background 0.12s;
|
||||
}
|
||||
.lib-card-head:hover { background: #f8fafc; }
|
||||
.lib-card-head[aria-expanded="true"] { background: #f8fafc; }
|
||||
.lib-card-head[aria-expanded="true"] .lib-chevron { transform: rotate(180deg); }
|
||||
.lib-chevron { transition: transform 0.2s; }
|
||||
.targeting-panel {
|
||||
background: #f8fafc;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius-sm);
|
||||
}
|
||||
.multi-check-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 0.25rem;
|
||||
}
|
||||
.multi-check-item {
|
||||
background: #f8fafc;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 6px;
|
||||
padding: 0.3rem 0.5rem 0.3rem 1.75rem;
|
||||
margin: 0;
|
||||
cursor: pointer;
|
||||
transition: background 0.12s, border-color 0.12s;
|
||||
font-size: 0.79rem;
|
||||
line-height: 1.3;
|
||||
}
|
||||
.multi-check-item:has(input:checked) {
|
||||
background: #eff6ff;
|
||||
border-color: var(--primary);
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
/* ── Crawl log terminal ───────────────────────────────────────── */
|
||||
.crawl-log-box {
|
||||
background: #0f172a;
|
||||
|
||||
Reference in New Issue
Block a user