.ddf-page { --ddf-soft: color-mix(in srgb, var(--labs-blue) 7%, var(--labs-panel)); }
.ddf-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:2rem; padding:2rem 0 1.25rem; }
.ddf-hero h1 { font-size:clamp(2.1rem,5vw,4rem); letter-spacing:-.04em; }
.ddf-local { display:flex; align-items:center; gap:.6rem; padding:.75rem 1rem; white-space:nowrap; border:1px solid rgba(25,135,84,.25); border-radius:999px; color:#137044; background:rgba(25,135,84,.08); }
.ddf-stepper { display:grid; grid-template-columns:repeat(4,1fr); padding:0; margin:1rem 0 1.5rem; list-style:none; counter-reset:step; }
.ddf-stepper li { position:relative; display:flex; align-items:center; gap:.6rem; color:var(--labs-muted); font-weight:650; }
.ddf-stepper li:not(:last-child)::after { content:""; position:absolute; z-index:-1; height:2px; left:2.2rem; right:.8rem; background:var(--labs-border); }
.ddf-stepper span { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:var(--labs-panel); border:2px solid var(--labs-border); }
.ddf-stepper .active { color:var(--labs-blue); }.ddf-stepper .active span,.ddf-stepper .done span { color:#fff; border-color:var(--labs-blue); background:var(--labs-blue); }
.ddf-card { border:1px solid var(--labs-border); border-radius:1.4rem; background:var(--labs-panel); box-shadow:0 16px 42px rgba(24,55,105,.08); }
.ddf-upload { display:grid; grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr); overflow:hidden; }
.ddf-upload-info { padding:2rem; background:var(--ddf-soft); border-right:1px solid var(--labs-border); }
.ddf-drop { display:grid; place-items:center; min-height:290px; margin:2rem; padding:2rem; border:2px dashed color-mix(in srgb,var(--labs-blue) 45%,var(--labs-border)); border-radius:1.2rem; text-align:center; cursor:pointer; transition:.2s ease; }
.ddf-drop:hover,.ddf-drop:focus-within,.ddf-drop.dragover { border-color:var(--labs-blue); background:var(--ddf-soft); transform:translateY(-2px); }
.ddf-drop i { color:var(--labs-blue); font-size:3rem; }.ddf-drop strong { display:block; margin-top:.7rem; font-size:1.2rem; }
.ddf-file { display:grid; gap:.45rem; width:min(100%,540px); padding:1.4rem; border:1px solid var(--labs-border); border-radius:1rem; text-align:left; background:var(--labs-panel); }
.ddf-file-name { overflow-wrap:anywhere; font-weight:750; }
.ddf-purpose-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.8rem; }
.ddf-purpose { position:relative; display:flex; flex-direction:column; gap:.6rem; min-height:150px; padding:1.1rem; border:1px solid var(--labs-border); border-radius:1rem; cursor:pointer; background:var(--labs-panel); }
.ddf-purpose:has(input:checked) { border-color:var(--labs-blue); box-shadow:0 0 0 3px rgba(20,99,255,.12); background:var(--ddf-soft); }
.ddf-purpose input { position:absolute; top:.8rem; right:.8rem; }.ddf-purpose i { color:var(--labs-blue); font-size:1.6rem; }.ddf-purpose strong { padding-right:1rem; }
.ddf-progress { height:.7rem; }.ddf-progress .progress-bar { transition:width .25s ease; }
.ddf-report { overflow:hidden; }.ddf-report-head { padding:1.5rem 1.7rem; border-bottom:1px solid var(--labs-border); background:var(--ddf-soft); }
.ddf-report-layout { display:grid; grid-template-columns:245px minmax(0,1fr); min-height:560px; }
.ddf-sidebar { padding:1rem; border-right:1px solid var(--labs-border); background:color-mix(in srgb,var(--labs-panel) 94%,var(--labs-bg)); }
.ddf-tabs { display:grid; gap:.35rem; }.ddf-tabs button { display:flex; align-items:center; gap:.7rem; width:100%; padding:.7rem .85rem; border:0; border-radius:.75rem; color:inherit; text-align:left; background:transparent; }
.ddf-tabs button:hover,.ddf-tabs button[aria-selected=true] { color:var(--labs-blue); background:var(--ddf-soft); }
.ddf-content { min-width:0; padding:1.7rem; }.ddf-pane[hidden] { display:none; }
.ddf-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }.ddf-kpi { padding:1rem; border:1px solid var(--labs-border); border-radius:.9rem; background:var(--ddf-soft); }
.ddf-kpi small { display:block; color:var(--labs-muted); }.ddf-kpi strong { display:block; margin-top:.35rem; overflow-wrap:anywhere; }
.ddf-table th { width:35%; }.ddf-table td { overflow-wrap:anywhere; word-break:break-word; }
.ddf-timeline { display:grid; gap:0; padding-left:1rem; }.ddf-time { position:relative; padding:0 0 1.5rem 2rem; border-left:2px solid var(--labs-border); }.ddf-time::before { content:""; position:absolute; left:-.52rem; top:.1rem; width:.9rem; height:.9rem; border:3px solid var(--labs-panel); border-radius:50%; background:var(--labs-blue); box-shadow:0 0 0 1px var(--labs-blue); }
.ddf-list { display:grid; gap:.7rem; padding:0; list-style:none; }.ddf-list li { padding:.85rem; border:1px solid var(--labs-border); border-radius:.8rem; }
.ddf-badge { display:inline-flex; gap:.35rem; align-items:center; border-radius:999px; padding:.3rem .65rem; font-size:.8rem; font-weight:750; }
.ddf-badge.ok { color:#137044;background:rgba(25,135,84,.1) }.ddf-badge.warning { color:#8a5a00;background:rgba(255,193,7,.16) }.ddf-badge.info { color:#0758ac;background:rgba(13,110,253,.1) }
.ddf-mobile-nav { display:none; }.ddf-image-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.7rem; }
.ddf-privacy { margin-top:1.5rem; }
@media (max-width:991.98px) {
    .ddf-purpose-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ddf-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767.98px) {
    .ddf-hero { flex-direction:column; }.ddf-local { white-space:normal; }
    .ddf-stepper { grid-template-columns:repeat(4,auto); justify-content:space-between; }.ddf-stepper li { font-size:0; }.ddf-stepper li:not(:last-child)::after { left:2rem; right:-2.4rem; }
    .ddf-upload { grid-template-columns:1fr; }.ddf-upload-info { border-right:0; border-bottom:1px solid var(--labs-border); }.ddf-drop { margin:1rem; min-height:250px; }
    .ddf-report-layout { grid-template-columns:1fr; }.ddf-sidebar { border-right:0; border-bottom:1px solid var(--labs-border); }.ddf-tabs { display:none; }.ddf-mobile-nav { display:block; }
    .ddf-content { padding:1rem; }.ddf-kpis { grid-template-columns:1fr; }
}
@media (max-width:479.98px) { .ddf-purpose-grid { grid-template-columns:1fr; }.ddf-purpose { min-height:auto; } }
@media (prefers-reduced-motion:reduce) { .ddf-drop,.ddf-progress .progress-bar { transition:none; } }
@media print { .ddf-stepper,.ddf-sidebar,.ddf-report-actions,.ddf-privacy,.labs-navbar,.labs-footer { display:none!important; }.ddf-report-layout { display:block; }.ddf-pane { display:block!important; break-inside:avoid; }.ddf-card { box-shadow:none; border:0; } }
