Files
TDI-Dashboard/static/pages/report.css
T
Luca Banfi ebafa611be init
2026-05-06 13:59:13 +02:00

178 lines
5.4 KiB
CSS

/* ── Toolbar ─────────────────────────────────────────────────────────────── */
.report-header {
position: sticky;
top: 0;
z-index: 50;
background: var(--surf, #fff);
border-bottom: 1px solid #e2e8f0;
box-shadow: 0 2px 8px rgba(0,0,0,.06);
padding-bottom: .6rem;
margin-bottom: 0;
}
.report-header + section { padding-top: 1rem; }
.report-toolbar {
display: flex;
flex-direction: column;
gap: .5rem;
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 8px;
padding: .6rem 1rem;
}
.toolbar-row1 {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
flex-wrap: wrap;
}
.floating-report-ctrl {
position: fixed;
bottom: 1.5rem;
right: 1.75rem;
z-index: 150;
filter: drop-shadow(0 4px 12px rgba(0,0,0,.18));
}
.toolbar-right-row1 {
display: flex;
align-items: center;
gap: .5rem;
flex-shrink: 0;
}
/* Left side: groups of filters */
.report-filters {
display: flex;
align-items: center;
gap: .75rem;
flex-wrap: wrap;
}
/* A visual group (date group, checkbox group) */
.filter-group {
display: flex;
align-items: center;
gap: .5rem;
background: #f8fafc;
border: 1px solid #e2e8f0;
border-radius: 6px;
padding: .3rem .6rem;
}
.filter-label {
display: flex;
align-items: center;
gap: .3rem;
font-size: .83rem;
color: #475569;
white-space: nowrap;
}
.filter-label input[type=date] {
padding: .2rem .4rem;
border: 1px solid #cbd5e1;
border-radius: 4px;
font-size: .83rem;
background: #fff;
color: #1e293b;
}
.chk-label {
display: flex;
align-items: center;
gap: .3rem;
font-size: .83rem;
cursor: pointer;
user-select: none;
}
/* Action buttons inside the left side */
.btn-action {
padding: .28rem .7rem;
border: 1px solid #cbd5e1;
border-radius: 5px;
background: #fff;
color: #374151;
font-size: .83rem;
cursor: pointer;
transition: background .12s, border-color .12s;
}
.btn-action:hover { background: #f1f5f9; border-color: #94a3b8; }
.btn-action.btn-primary {
background: #2563eb;
color: #fff;
border-color: #1d4ed8;
}
.btn-action.btn-primary:hover { background: #1d4ed8; }
/* Row count pill */
.report-count {
font-size: .78rem;
color: #64748b;
background: #f1f5f9;
border: 1px solid #e2e8f0;
border-radius: 999px;
padding: .15rem .6rem;
white-space: nowrap;
}
/* ── Toggle button ───────────────────────────────────────────────────────── */
.btn-toggle {
padding: .3rem .85rem;
border: 1px solid #1d4ed8;
border-radius: 6px;
background: #2563eb;
color: #fff;
font-size: .83rem;
cursor: pointer;
transition: background .12s, border-color .12s;
white-space: nowrap;
}
.btn-toggle:hover { background: #1d4ed8; }
.btn-toggle.active { background: #1e40af; border-color: #1e3a8a; }
/* ── Table cells ─────────────────────────────────────────────────────────── */
td.val-prec { color: #dc2626; }
td.val-nuovo { color: #16a34a; }
td.col-prima-lez { color: #64748b; font-size: .8rem; white-space: nowrap; }
.val-prec { color: #dc2626; }
.val-nuovo { color: #16a34a; }
/* ── Grouped view: mod-cell ──────────────────────────────────────────────── */
.mod-cell { min-width: 220px; }
.mod-row {
display: flex;
flex-wrap: wrap;
gap: .25rem;
align-items: baseline;
font-size: .81rem;
padding: .15rem 0;
border-bottom: 1px dotted #e2e8f0;
}
.mod-row:last-child { border-bottom: none; }
.mod-campo { font-weight: 600; color: #475569; }
.mod-none { color: #94a3b8; }
/* ── Docs modal ──────────────────────────────────────────────────────────── */
.doc-btn { background: none; border: none; cursor: pointer; font-size: 1rem; opacity: .7; padding: 2px 4px; border-radius: 4px; }
.doc-btn:hover { opacity: 1; background: #f1f5f9; }
.docs-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.docs-table th { text-align: left; padding: 6px 10px; border-bottom: 2px solid #e2e8f0; color: #475569; font-weight: 600; }
.docs-table td { padding: 6px 10px; border-bottom: 1px solid #f1f5f9; color: #1e293b; }
.docs-table tr:last-child td { border-bottom: none; }
.doc-status-badge { display: inline-block; font-size: .75rem; font-weight: 600; padding: 2px 7px; border-radius: 99px; white-space: nowrap; }
.doc-status-trovato { background: #dbeafe; color: #1d4ed8; }
.doc-status-caricato { background: #dcfce7; color: #15803d; }
.doc-status-warning { background: #fef9c3; color: #a16207; }
.doc-status-errore { background: #fee2e2; color: #b91c1c; }
.doc-subfolder { color: #64748b; font-size: .8rem; white-space: nowrap; }
.doc-filename a { color: #2563eb; text-decoration: none; }
.doc-filename a:hover { text-decoration: underline; }
.doc-date { color: #94a3b8; font-size: .8rem; white-space: nowrap; }
.docs-loading, .docs-empty, .docs-error { color: #64748b; font-size: .9rem; padding: 12px 0; }
.docs-error { color: #dc2626; }