/* ICB360 Digiturno - sistema visual común */
:root {
    --dt-brand: #0b4f9e;
    --dt-brand-dark: #082e60;
    --dt-brand-soft: #eaf3ff;
    --dt-accent: #c41e3a;
    --dt-success: #16805b;
    --dt-warning: #b87900;
    --dt-danger: #a51f35;
    --dt-ink: #19324e;
    --dt-muted: #61758b;
    --dt-surface: #ffffff;
    --dt-surface-soft: #f5f8fc;
    --dt-border: #dce6f2;
    --dt-radius: 14px;
    --dt-shadow: 0 8px 24px rgba(25, 50, 78, .10);
}

.dt-page { color: var(--dt-ink); }
.dt-page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:20px; }
.dt-page-head h1 { margin:0 0 5px; color:var(--dt-brand-dark); }
.dt-page-head p { margin:0; color:var(--dt-muted); }
.dt-eyebrow { display:inline-flex; align-items:center; gap:7px; padding:7px 12px; border:1px solid #c6dcf6; border-radius:999px; background:var(--dt-brand-soft); color:var(--dt-brand); font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }

.dt-card { background:var(--dt-surface); border:1px solid var(--dt-border); border-radius:var(--dt-radius); box-shadow:var(--dt-shadow); }
.dt-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:20px 22px 14px; }
.dt-card-header h2 { margin:0; color:var(--dt-brand-dark); font-size:20px; }
.dt-card-header p { margin:5px 0 0; color:var(--dt-muted); font-size:13px; }
.dt-card-body { padding:0 22px 22px; }
.dt-card-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }

.dt-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:18px; }
.dt-form-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; align-items:end; }
.dt-field { display:flex; flex-direction:column; gap:6px; min-width:0; }
.dt-field label, .dt-field legend { color:#52677d; font-size:12px; font-weight:800; }
.dt-field input, .dt-field select, .dt-field textarea { width:100%; min-height:40px; border:1px solid #cbd9e8; border-radius:8px; background:#fff; color:var(--dt-ink); padding:9px 11px; }
.dt-field textarea { resize:vertical; }
.dt-field input:focus, .dt-field select:focus, .dt-field textarea:focus, .dt-check:focus-within { outline:3px solid #bcd8fa; outline-offset:1px; border-color:var(--dt-brand); }
.dt-fieldset { border:1px solid var(--dt-border); border-radius:10px; padding:12px; }
.dt-check-list { display:flex; flex-wrap:wrap; gap:8px; }
.dt-check { display:inline-flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid var(--dt-border); border-radius:8px; background:var(--dt-surface-soft); color:var(--dt-ink); font-size:13px; }
.dt-check input { width:auto; min-height:0; accent-color:var(--dt-brand); }

.dt-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:38px; border:1px solid transparent; border-radius:8px; padding:9px 14px; background:var(--dt-brand); color:#fff; font:inherit; font-weight:800; cursor:pointer; text-decoration:none; transition:filter .15s ease, transform .15s ease, background .15s ease; }
.dt-btn:hover { filter:brightness(1.08); transform:translateY(-1px); color:#fff; }
.dt-btn:focus-visible { outline:3px solid #8dbdf1; outline-offset:2px; }
.dt-btn-secondary { background:#fff; border-color:#b9cde2; color:var(--dt-brand); }
.dt-btn-secondary:hover { background:var(--dt-brand-soft); color:var(--dt-brand); }
.dt-btn-danger { background:var(--dt-danger); }
.dt-btn-success { background:var(--dt-success); }
.dt-btn-sm { min-height:32px; padding:6px 10px; font-size:12px; }
.dt-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }

.dt-status { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:5px 9px; font-size:11px; font-weight:800; text-transform:uppercase; }
.dt-status::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.dt-status-success { color:var(--dt-success); background:#e7f6ef; }
.dt-status-warning { color:var(--dt-warning); background:#fff5dc; }
.dt-status-danger { color:var(--dt-danger); background:#fff0f2; }
.dt-status-muted { color:#667b90; background:#edf2f7; }
.dt-empty { display:grid; place-items:center; gap:5px; min-height:120px; padding:24px; color:var(--dt-muted); text-align:center; }
.dt-empty strong { color:var(--dt-brand-dark); }
.dt-help { color:var(--dt-muted); font-size:13px; }

@media (max-width: 800px) {
    .dt-page-head { display:block; }
    .dt-page-head .dt-eyebrow { margin-top:10px; }
    .dt-form-grid { grid-template-columns:1fr; }
    .dt-card-header, .dt-card-body { padding-left:16px; padding-right:16px; }
}

@media (prefers-reduced-motion: reduce) {
    .dt-btn { transition:none; }
}
