:root { --blue:#0b4f78; --dark:#1f2937; --light:#f6f8fb; --line:#e5e7eb; }
*{box-sizing:border-box} body{font-family:Segoe UI,Arial,sans-serif;margin:0;background:var(--light);color:var(--dark)}
header{background:#fff;border-bottom:1px solid var(--line);padding:14px 26px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:2}
.logo{font-weight:800;color:var(--blue);font-size:22px}.sub{color:#64748b;font-size:13px}.container{max-width:1280px;margin:24px auto;padding:0 20px}
.nav a{display:inline-block;margin-right:8px;padding:9px 12px;border-radius:10px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--dark)}
.nav a.primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:18px 0}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 1px 4px #0000000a}.card b{font-size:26px;color:var(--blue)}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin:16px 0;box-shadow:0 1px 4px #0000000a}.panel h2,.panel h3{margin-top:0}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#f1f5f9;color:#334155}tr:hover{background:#f8fafc}
.badge{display:inline-block;padding:4px 8px;border-radius:99px;background:#e0f2fe;color:#075985;font-size:12px;font-weight:600}.badge.green{background:#dcfce7;color:#166534}.badge.orange{background:#ffedd5;color:#9a3412}.badge.red{background:#fee2e2;color:#991b1b}
.btn,button{background:var(--blue);border:0;color:#fff;border-radius:10px;padding:9px 12px;cursor:pointer;text-decoration:none;display:inline-block}button.secondary,.btn.secondary{background:#e5e7eb;color:#111827}button.danger{background:#b91c1c}
input,select,textarea{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff}label{font-size:13px;color:#475569;font-weight:600}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:#64748b}.path{font-family:Consolas,monospace;font-size:12px;background:#f8fafc;border:1px solid var(--line);padding:8px;border-radius:8px;word-break:break-all}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tab{padding:8px 10px;border-radius:10px;background:#f1f5f9}.money{text-align:right;white-space:nowrap}.footer{color:#94a3b8;text-align:center;margin:30px 0}
.highlight{border-left:6px solid var(--blue)}.big{font-size:26px;font-weight:800;color:var(--blue)}.grid.two{grid-template-columns:2fr 1fr}.grid.four{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}@media(max-width:900px){.grid.two{grid-template-columns:1fr}table{font-size:12px}th,td{padding:8px}.nav a{margin-bottom:6px}}
.checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:14px}
.checkitem{display:flex;gap:10px;align-items:flex-start;border:1px solid #d8dee9;border-radius:14px;padding:12px;background:#fff}
.checkitem.ok{border-color:#b7e2c1;background:#f3fff5}
.checkitem.ko{border-color:#f4d2a7;background:#fff8ef}
.checkmark{font-size:22px;line-height:1}
.docbox{border:1px solid #d8dee9;border-radius:14px;padding:12px;background:#fff;min-height:92px}
.docbox.ok{border-color:#b7e2c1;background:#f3fff5}
.docbox.ko{border-color:#f0d0d0;background:#fff5f5}
.docbox ul{margin:8px 0 0 18px;padding:0;font-size:12px;color:#667085}
.three{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:14px}
.photo-grid a{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f8fafc;height:100px}
.photo-grid img{width:100%;height:100%;object-fit:cover;display:block}
textarea{font-family:Segoe UI,Arial,sans-serif;resize:vertical}

.danger-panel { border: 1px solid #f3b7b7; background: #fff8f8; }
button.danger { background: #b42318; color: #fff; }
button.danger:hover { background: #8f1d14; }

/* Sprint 2.2.2 · mode compacte */
.compact-cards { gap: 10px; margin: 12px 0; }
.cardlink { text-decoration:none; color:inherit; transition: transform .08s ease, border-color .08s ease; }
.cardlink:hover { transform: translateY(-1px); border-color: var(--blue); }
.compact-cards .card { padding: 12px; border-radius: 14px; }
.compact-cards .card b { font-size: 22px; }
.compact-panel { padding: 14px; margin: 12px 0; }
.filters-grid { display:grid; grid-template-columns: 2fr repeat(5, minmax(120px, 1fr)) auto; gap: 10px; align-items:end; }
.filters-grid .wide { min-width: 260px; }
.filter-actions { display:flex; gap:8px; align-items:end; }
.compact-table th, .compact-table td { padding: 7px 8px; font-size: 13px; vertical-align: top; }
.compact-table th { position: sticky; top: 68px; z-index: 1; }
.quick-actions { min-width: 310px; }
.quick-actions form { display:inline-block; margin: 0 3px 4px 0; }
.btn.mini, button.mini { padding: 5px 7px; border-radius: 7px; font-size: 12px; margin: 0 2px 4px 0; }
.small { font-size: 12px; }
@media(max-width:1100px){ .filters-grid{grid-template-columns:1fr 1fr;} .quick-actions{min-width:220px}.compact-table{display:block; overflow-x:auto;} }


/* Sprint 2.2.3 · vista operativa amb colors */
.status-cards .warning{border-left:5px solid #f59e0b}
.status-cards .ok{border-left:5px solid #16a34a}
.status-cards .moneycard{border-left:5px solid #0b4f78}
.filters-panel{position:sticky;top:74px;z-index:2}
.ops-list{display:flex;flex-direction:column;gap:10px}
.ops-row{display:grid;grid-template-columns: 1.35fr 1.15fr 2fr 1.1fr 1.5fr;gap:12px;align-items:center;border:1px solid var(--line);border-left:6px solid #cbd5e1;border-radius:16px;background:#fff;padding:12px;box-shadow:0 1px 3px #00000008}
.ops-row:hover{background:#fbfdff;border-color:#cbd5e1}
.ops-row.state-rebut,.ops-row.state-cita_programada,.ops-row.state-peritat,.ops-row.state-pendent_valoracio{border-left-color:#f59e0b}
.ops-row.state-previsio_preparada{border-left-color:#f59e0b}
.ops-row.state-previsio_enviada,.ops-row.state-enviat,.ops-row.state-pujat_portal{border-left-color:#22c55e}
.ops-row.state-facturat{border-left-color:#0ea5e9}
.ops-row.state-cobrat{border-left-color:#16a34a;background:#f8fff9}
.ops-row.state-anullat_no_presentat{border-left-color:#ef4444;background:#fffafa}
.ops-title{font-size:15px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.ops-title .mat{font-weight:800;color:#0b4f78}.ops-main{min-width:0}.ops-main .muted{word-break:break-word}
.ops-tags{display:flex;gap:6px;flex-wrap:wrap}.badge.light{background:#f1f5f9;color:#334155}.status-pill{font-size:12px;text-transform:none}.status-pill.done,.badge.green{background:#dcfce7;color:#166534}.status-pill.warn,.badge.orange{background:#ffedd5;color:#9a3412}.status-pill.info{background:#dbeafe;color:#1e40af}.status-pill.bad{background:#fee2e2;color:#991b1b}
.ops-checks{display:flex;gap:5px;flex-wrap:wrap}.check-pill{padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid #e5e7eb}.check-pill.done{background:#dcfce7;color:#166534;border-color:#bbf7d0}.check-pill.pending{background:#ffedd5;color:#9a3412;border-color:#fed7aa}.check-pill.missing{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.ops-money{text-align:right}.ops-money .total-line{margin-top:6px;font-weight:800}.ops-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-start}.ops-actions form{display:inline-block;margin:0}.ops-actions .mini{margin:0;padding:5px 7px}
@media(max-width:1200px){.ops-row{grid-template-columns:1fr}.ops-money{text-align:left}.filters-panel{position:static}.ops-actions{border-top:1px solid var(--line);padding-top:8px}}

/* Sprint 2.2.4 · companyies separades i colors DLM */
.company-switch{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 14px}
.switch-btn{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--dark);font-weight:700;box-shadow:0 1px 3px #00000008}
.switch-btn b{margin-left:6px}.switch-btn.active{background:#0b4f78;color:white;border-color:#0b4f78}.switch-btn.andorrana{border-color:#86efac}.switch-btn.andorrana.active{background:#16a34a;border-color:#16a34a}.switch-btn.financera{border-color:#93c5fd}.switch-btn.financera.active{background:#2563eb;border-color:#2563eb}.company-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.company-head h2{margin:0}.company-count{padding:8px 12px;border-radius:12px;background:#f8fafc;color:#475569}
.company-panel.company-andorrana{border-top:6px solid #16a34a;background:linear-gradient(180deg,#f0fdf4 0,#fff 80px)}
.company-panel.company-financera{border-top:6px solid #2563eb;background:linear-gradient(180deg,#eff6ff 0,#fff 80px)}
.company-panel.company-altres{border-top:6px solid #64748b;background:linear-gradient(180deg,#f8fafc 0,#fff 80px)}
.ops-row.company-andorrana{border-left-color:#16a34a;background:#fbfffc}.ops-row.company-andorrana .ops-title .mat{color:#166534}.ops-row.company-andorrana:hover{background:#f0fdf4}.ops-row.company-financera{border-left-color:#2563eb;background:#fbfdff}.ops-row.company-financera .ops-title .mat{color:#1d4ed8}.ops-row.company-financera:hover{background:#eff6ff}.ops-row.company-altres{border-left-color:#64748b}
.ops-row.company-andorrana .badge:first-child{background:#dcfce7;color:#166534}.ops-row.company-financera .badge:first-child{background:#dbeafe;color:#1d4ed8}
@media(max-width:900px){.company-head{align-items:flex-start;flex-direction:column}.company-switch .switch-btn{width:100%;text-align:center}}

/* Sprint 2.3 · Agenda DLM */
.badge.blue{background:#dbeafe;color:#1d4ed8}
.agenda-panel h1{margin:0;color:var(--blue)}
.agenda-filters{grid-template-columns:2fr 1fr 1fr 1fr auto}
.agenda-day{padding:14px}.agenda-day-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.agenda-day-head h2{margin:0;color:#0f172a}
.agenda-list{display:flex;flex-direction:column;gap:8px}.agenda-row{display:grid;grid-template-columns:1.5fr 1.2fr 1.4fr 1.4fr;gap:12px;align-items:center;border:1px solid var(--line);border-left:6px solid #cbd5e1;border-radius:14px;background:#fff;padding:11px}
.agenda-row.company-andorrana{border-left-color:#16a34a;background:#fbfffc}.agenda-row.company-financera{border-left-color:#2563eb;background:#fbfdff}.agenda-row.company-altres{border-left-color:#64748b}
.agenda-row.state-cobrat{opacity:.82}.agenda-row.state-anullat_no_presentat{background:#fff7f7;border-left-color:#ef4444}.agenda-main{min-width:0}.agenda-date-form{display:flex;gap:6px;align-items:center}.agenda-date-form input{min-width:145px}.agenda-date-form .mini{white-space:nowrap}
@media(max-width:1150px){.agenda-filters{grid-template-columns:1fr 1fr}.agenda-row{grid-template-columns:1fr}.agenda-date-form{align-items:stretch}.agenda-date-form input{min-width:0}}
/* Sprint 2.3.1 · Llistat mensual Andorrana automàtic */
.oknote{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534;padding:10px 12px;border-radius:12px;margin:10px 0;font-weight:600}
.card.ok{border-left:5px solid #16a34a;background:#f0fdf4}.card.warning{border-left:5px solid #f59e0b;background:#fffbeb}

/* Sprint 2.3.2 · Esquerra de targetes més clara i operativa */
.ops-row{grid-template-columns: 1.55fr .95fr 2fr 1.05fr 1.55fr;}
.ops-main-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:14px;padding:10px 11px;box-shadow:inset 0 0 0 1px #ffffff;overflow:hidden}
.ops-row.company-andorrana .ops-main-card{background:#f0fdf4;border-color:#bbf7d0}
.ops-row.company-financera .ops-main-card{background:#eff6ff;border-color:#bfdbfe}
.exp-topline{display:flex;align-items:center;gap:8px;min-width:0;margin-bottom:7px}
.company-chip{font-size:11px;font-weight:900;letter-spacing:.03em;border-radius:999px;padding:4px 8px;white-space:nowrap}
.company-chip.company-andorrana{background:#16a34a;color:white}.company-chip.company-financera{background:#2563eb;color:white}.company-chip.company-altres{background:#64748b;color:white}
.exp-ref{font-weight:900;font-size:15px;color:#334155;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exp-ref:hover{text-decoration:underline;color:var(--blue)}
.exp-vehicleline{display:flex;align-items:baseline;gap:10px;min-width:0;margin-bottom:6px}
.exp-mat{font-size:16px;font-weight:900;letter-spacing:.02em;white-space:nowrap}.ops-row.company-andorrana .exp-mat{color:#166534}.ops-row.company-financera .exp-mat{color:#1d4ed8}
.exp-vehicle{font-size:12px;color:#64748b;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exp-meta{display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:start;font-size:12px;color:#64748b;min-width:0}.exp-meta span{font-weight:700;color:#94a3b8}.exp-meta b{color:#334155;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ops-tags .badge{font-size:12px}.ops-tags{align-content:center}.ops-checks{align-content:center}.ops-money{align-content:center}.ops-actions{align-content:center}
@media(max-width:1200px){.ops-row{grid-template-columns:1fr}.exp-meta b,.exp-vehicle{white-space:normal}.ops-main-card{padding:10px}}

/* Sprint 2.3.3 · Accions dreta més clares */
.action-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:8px;display:flex;flex-direction:column;gap:7px;min-width:230px}
.action-title{font-size:11px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-left:3px}
.action-row{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.action-row form{display:inline-block;margin:0}
.action-btn{display:inline-block;border:0;border-radius:9px;padding:6px 8px;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer;line-height:1.1;white-space:nowrap}
.action-btn.tool{background:#e5e7eb;color:#334155}.action-btn.tool:hover{background:#d1d5db;color:#111827}
.action-btn.todo{background:#ffedd5;color:#9a3412}.action-btn.todo:hover{background:#fed7aa;color:#7c2d12}
.action-btn.done{background:#dcfce7;color:#166534}.action-btn.done:hover{background:#bbf7d0;color:#14532d}
.action-btn.mail.todo{background:#dbeafe;color:#1d4ed8}.action-btn.mail.done{background:#dcfce7;color:#166534}
.action-btn.portal.todo{background:#dbeafe;color:#1d4ed8}.action-btn.portal.done{background:#dcfce7;color:#166534}
.ops-actions.action-panel{justify-content:flex-start;align-content:flex-start}.ops-actions.action-panel .mini{margin:0}
@media(max-width:1200px){.action-panel{min-width:0;width:100%}}

/* Sprint 2.3.4 - acciones más claras y últimas acciones compactas */
.refined-actions{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px;min-width:300px}
.refined-actions .action-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:7px;font-weight:900}
.refined-actions .action-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}
.refined-actions .action-row:last-child{margin-bottom:0}
.refined-actions .action-tools{padding-bottom:7px;border-bottom:1px solid #e5e7eb}
.action-btn.locked{cursor:default;opacity:.95}
.action-btn.portal.todo{background:#dbeafe;color:#1e40af}
.action-btn.portal.todo:hover{background:#bfdbfe;color:#1e3a8a}
.actions-summary{padding:14px 16px}.actions-summary .mini-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.actions-summary h2{font-size:20px;margin:0}.last-actions-list{display:grid;gap:6px}.last-action-item{display:grid;grid-template-columns:160px 180px 1fr auto;gap:10px;align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:7px 10px;font-size:13px}.more-actions{margin-top:8px}.more-actions summary{cursor:pointer;color:#075985;font-weight:800;font-size:13px}.small-table{font-size:13px;margin-top:8px}
@media(max-width:1100px){.last-action-item{grid-template-columns:1fr}.refined-actions{min-width:0}}


/* Sprint 2.3.5 · Semàfor de tancament més petit i clar */
.semafor-expedient{
  display:grid;
  grid-template-columns:repeat(4, minmax(72px, auto));
  gap:5px;
  align-content:start;
  align-items:center;
}
.semafor-title{
  grid-column:1/-1;
  font-size:11px;
  font-weight:900;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:2px;
}
.check-pill{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px 7px;
  border-radius:8px;
  font-size:11px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  user-select:none;
}
.check-pill.done::before{content:'✓'; font-weight:900;}
.check-pill.pending::before{content:'•'; font-weight:900;}
.check-pill.missing::before{content:'×'; font-weight:900;}
.check-pill.done{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.check-pill.pending{background:#ffedd5;color:#9a3412;border:1px solid #fed7aa}
.check-pill.missing{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}
.ops-row{grid-template-columns:1.45fr .8fr 1.75fr .95fr 1.55fr}
@media(max-width:1200px){.semafor-expedient{grid-template-columns:repeat(2, minmax(72px, auto));}.semafor-title{grid-column:1/-1}}

/* Sprint 2.4 · Agenda DLM operativa */
.agenda-dlm-v2{padding-bottom:14px}.agenda-company-switch{margin-top:10px}.agenda-kpis .card b{font-size:28px}.agenda-day-v2{padding:16px;border-radius:18px}.agenda-section-title{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:8px 0 10px}.agenda-card-list{display:grid;gap:10px}.agenda-card{position:relative;display:grid;grid-template-columns:1.6fr 210px 260px 160px;gap:12px;align-items:stretch;border:1px solid #e2e8f0;border-left:7px solid #cbd5e1;border-radius:16px;background:#fff;padding:12px;box-shadow:0 2px 8px #00000005}.agenda-card.company-andorrana{border-left-color:#16a34a;background:linear-gradient(90deg,#f0fdf4 0,#fff 150px)}.agenda-card.company-financera{border-left-color:#2563eb;background:linear-gradient(90deg,#eff6ff 0,#fff 150px)}.agenda-card-done{opacity:.72;filter:saturate(.85);background:#f8fafc}.agenda-card-main{min-width:0}.agenda-title-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.agenda-ref{font-weight:900;color:#334155;text-decoration:none}.agenda-ref:hover{color:#075985;text-decoration:underline}.agenda-mat{font-weight:900;font-size:18px}.company-andorrana .agenda-mat{color:#166534}.company-financera .agenda-mat{color:#1d4ed8}.agenda-subline{font-size:13px;color:#475569;margin-bottom:8px}.agenda-info-grid{display:grid;grid-template-columns:1.4fr .7fr .8fr .8fr;gap:7px}.agenda-info-grid div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:7px 8px;min-width:0}.agenda-info-grid span{display:block;font-size:10px;text-transform:uppercase;font-weight:900;color:#94a3b8;letter-spacing:.05em}.agenda-info-grid b{display:block;font-size:12px;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-previsio-box{border:1px solid #e5e7eb;border-radius:14px;padding:10px;background:#f8fafc;align-self:stretch}.agenda-previsio-box.has{background:#fff7ed;border-color:#fed7aa}.agenda-previsio-box span{display:block;font-size:11px;text-transform:uppercase;font-weight:900;color:#64748b}.agenda-previsio-box b{display:block;font-size:20px;margin:4px 0;color:#0f172a}.agenda-previsio-box em{font-style:normal;font-size:12px;font-weight:800}.oktxt{color:#166534}.warntxt{color:#9a3412}.agenda-actions-v2{display:flex;gap:6px;flex-wrap:wrap;align-content:flex-start;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:8px}.agenda-actions-v2 form{display:inline-block;margin:0}.agenda-date-compact{display:flex;gap:6px;align-items:flex-start;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:8px}.agenda-date-compact input{min-width:0;width:120px}.agenda-done-details{margin-top:13px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:10px}.agenda-done-details summary{cursor:pointer;color:#475569;font-weight:900}.agenda-done-details .done-list{margin-top:10px}.agenda-card-done .agenda-previsio-box,.agenda-card-done .agenda-actions-v2,.agenda-card-done .agenda-date-compact{background:#f1f5f9}.badge.blue{background:#dbeafe;color:#1d4ed8}
@media(max-width:1250px){.agenda-card{grid-template-columns:1fr}.agenda-info-grid{grid-template-columns:1fr 1fr}.agenda-date-compact{justify-content:flex-start}.agenda-actions-v2{justify-content:flex-start}}
@media(max-width:650px){.agenda-info-grid{grid-template-columns:1fr}.agenda-title-row{gap:6px}.agenda-mat{font-size:16px}}


/* Sprint 2.4.1 · Agenda operativa real: dades visibles + accions clares */
.agenda-card-pro{position:relative;display:grid;grid-template-columns:minmax(420px,1.8fr) minmax(210px,.7fr) minmax(290px,.85fr);gap:14px;align-items:stretch;border:1px solid #e2e8f0;border-left:8px solid #cbd5e1;border-radius:18px;background:#fff;padding:14px;box-shadow:0 2px 8px #00000006}
.agenda-card-pro.company-andorrana{border-left-color:#16a34a;background:linear-gradient(90deg,#f0fdf4 0,#fff 190px)}
.agenda-card-pro.company-financera{border-left-color:#2563eb;background:linear-gradient(90deg,#eff6ff 0,#fff 190px)}
.agenda-card-pro.agenda-card-done{opacity:.72;filter:saturate(.85);background:#f8fafc}
.agenda-left-pro{min-width:0;display:grid;gap:9px}.agenda-top-pro{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.agenda-top-pro .agenda-ref{font-size:16px}.agenda-top-pro .agenda-mat{font-size:20px;font-weight:950;letter-spacing:.02em}.company-andorrana .agenda-mat{color:#166534}.company-financera .agenda-mat{color:#1d4ed8}.agenda-vehicle-pro{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;color:#475569}.agenda-vehicle-pro b{color:#334155}.agenda-vehicle-pro span{font-size:13px;text-transform:uppercase;color:#64748b}
.agenda-important-grid{display:grid;grid-template-columns:2fr .8fr .9fr .9fr;gap:8px}.info-box{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:9px 10px;min-width:0}.info-box span{display:block;font-size:10px;text-transform:uppercase;font-weight:950;letter-spacing:.06em;color:#94a3b8;margin-bottom:4px}.info-box b{display:block;font-size:13px;color:#273444;line-height:1.25}.damage-box b{white-space:normal;max-height:58px;overflow:auto}.franq-box.warn{background:#fff7ed;border-color:#fed7aa}.franq-box.warn b{color:#9a3412}.agenda-previsio-pro{border:1px solid #e5e7eb;border-radius:16px;padding:13px;background:#f8fafc}.agenda-previsio-pro.has{background:#fff7ed;border-color:#fed7aa}.agenda-previsio-pro span{display:block;font-size:11px;text-transform:uppercase;font-weight:950;color:#64748b}.agenda-previsio-pro b{display:block;font-size:24px;margin:6px 0;color:#0f172a}.agenda-previsio-pro em{font-style:normal;font-size:13px;font-weight:850}.agenda-actions-pro{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:8px}.agenda-actions-pro .action-title{font-size:11px;font-weight:950;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.agenda-actions-pro .action-row{display:flex;gap:6px;flex-wrap:wrap}.agenda-actions-pro form{display:inline-block;margin:0}.agenda-date-inline{display:flex;gap:6px;align-items:center;border-top:1px solid #e5e7eb;padding-top:8px}.agenda-date-inline input{width:136px;min-width:0}.agenda-done-details .agenda-card-pro{opacity:.62}.agenda-done-details .agenda-card-pro:hover{opacity:.95}
@media(max-width:1250px){.agenda-card-pro{grid-template-columns:1fr}.agenda-important-grid{grid-template-columns:1fr 1fr}.agenda-previsio-pro b{font-size:20px}}
@media(max-width:700px){.agenda-important-grid{grid-template-columns:1fr}.agenda-top-pro .agenda-mat{font-size:17px}}

/* Sprint 2.4.2 · Agenda treball des de la mateixa pantalla */
.agenda-work-card{
  border:1px solid #dbe3ef;
  border-left:8px solid #cbd5e1;
  border-radius:18px;
  background:#fff;
  padding:14px;
  box-shadow:0 2px 8px #00000006;
}
.agenda-work-card.company-andorrana{border-left-color:#16a34a;background:linear-gradient(90deg,#f0fdf4 0,#fff 210px)}
.agenda-work-card.company-financera{border-left-color:#2563eb;background:linear-gradient(90deg,#eff6ff 0,#fff 210px)}
.agenda-work-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.agenda-title-line{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.agenda-title-line .agenda-ref{font-size:16px;font-weight:950;color:#334155}
.agenda-title-line .agenda-mat{font-size:21px;font-weight:950;letter-spacing:.02em}
.company-andorrana .agenda-title-line .agenda-mat{color:#166534}
.company-financera .agenda-title-line .agenda-mat{color:#1d4ed8}
.agenda-state-pill{padding:6px 10px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:900;white-space:nowrap}
.agenda-work-grid{display:grid;grid-template-columns:minmax(300px,1.35fr) minmax(230px,.85fr) minmax(290px,1fr) minmax(220px,.75fr);gap:12px;align-items:stretch}
.agenda-block{background:#f8fafc;border:1px solid #e5e7eb;border-radius:15px;padding:11px;min-width:0}
.agenda-block h3{font-size:15px;margin:0 0 8px;color:#273444}
.agenda-info-full{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:9px;margin-bottom:8px;max-height:150px;overflow:auto}
.agenda-info-full span,.agenda-info-line span{display:block;font-size:10px;text-transform:uppercase;font-weight:950;color:#94a3b8;letter-spacing:.06em;margin-bottom:3px}
.agenda-info-full b{display:block;font-size:13px;line-height:1.35;color:#273444;white-space:normal}
.agenda-info-line{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.agenda-info-line .info-box{padding:8px;min-height:58px}
.mini-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.mini-head h3{margin:0}
.agenda-photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px}
.agenda-photo-strip a{height:64px;border-radius:10px;overflow:hidden;border:1px solid #e5e7eb;background:#fff;display:block}
.agenda-photo-strip img{width:100%;height:100%;object-fit:cover;display:block}
.agenda-upload-form{display:grid;gap:7px}.agenda-upload-form input[type=file]{font-size:12px;padding:7px;background:#fff}
.agenda-previsio-form{display:grid;gap:7px}.agenda-previsio-form input,.agenda-previsio-form select,.agenda-previsio-form textarea{padding:8px;font-size:13px}
.compact-two{grid-template-columns:1fr 1fr;gap:7px}.agenda-previsio-send{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px;border-top:1px solid #e5e7eb;padding-top:8px}.agenda-previsio-send form{display:inline-block;margin:0}
.agenda-quick-actions{display:flex;gap:6px;flex-wrap:wrap;align-content:flex-start}.agenda-quick-actions form{display:inline-block;margin:0}.compact-date{margin-top:10px}.compact-date input{width:135px}.small{font-size:12px}
.agenda-card-done{opacity:.62;filter:saturate(.85)}.agenda-card-done:hover{opacity:.95}
@media(max-width:1350px){.agenda-work-grid{grid-template-columns:1fr 1fr}.agenda-quick-block{grid-column:1/-1}.agenda-info-line{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:850px){.agenda-work-grid{grid-template-columns:1fr}.agenda-work-header{flex-direction:column}.agenda-info-line{grid-template-columns:1fr}.agenda-photo-strip{grid-template-columns:repeat(2,1fr)}}


/* Sprint 2.4.3 · estabilitat agenda/importadors */
.nav a.agenda-nav{background:#f97316;color:#fff;border-color:#f97316;font-weight:900;box-shadow:0 2px 8px #f9731633}
.nav a.agenda-nav:hover{background:#ea580c;border-color:#ea580c}
.switch-btn.agenda-hot{background:#f97316;color:#fff;border-color:#f97316;font-weight:950;box-shadow:0 2px 8px #f9731633}
.switch-btn.agenda-hot:hover{background:#ea580c;border-color:#ea580c}
.info-box.warn b, .franq-box.warn b{color:#9a3412}
.agenda-info-line .info-box.warn{background:#fff7ed;border-color:#fed7aa}

/* Sprint 2.4.4 · avís diari i ordre visible */
.nav a.agenda-nav{background:transparent;color:inherit;border-color:var(--line);box-shadow:none;font-weight:inherit}
.today-visit-alert{border:2px solid #fed7aa;background:linear-gradient(180deg,#fff7ed 0,#fff 75%);box-shadow:0 4px 18px #f9731620;margin-top:12px}
.today-alert-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.today-alert-head h2{margin:2px 0 2px;color:#9a3412}.alert-time{display:inline-block;background:#f97316;color:#fff;border-radius:999px;padding:5px 10px;font-weight:950;font-size:12px;letter-spacing:.03em}.agenda-alert-btn{background:#f97316;color:#fff;border-color:#f97316;font-weight:950;white-space:nowrap}.agenda-alert-btn:hover{background:#ea580c;border-color:#ea580c}.today-visit-list{display:grid;gap:9px}.today-visit-row{display:grid;grid-template-columns:minmax(340px,1fr) minmax(320px,1.1fr) auto;gap:10px;align-items:center;border:1px solid #e5e7eb;border-left:7px solid #cbd5e1;background:#fff;border-radius:15px;padding:10px}.today-visit-row.company-andorrana{border-left-color:#16a34a;background:linear-gradient(90deg,#f0fdf4 0,#fff 180px)}.today-visit-row.company-financera{border-left-color:#2563eb;background:linear-gradient(90deg,#eff6ff 0,#fff 180px)}.today-visit-row.done{opacity:.65;filter:saturate(.85)}.today-visit-main{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.today-hour{background:#0f172a;color:#fff;border-radius:999px;padding:4px 8px;font-weight:950;font-size:12px}.today-mat{font-size:18px;color:#0f172a}.today-visit-data{display:grid;gap:3px;font-size:12px;color:#475569}.today-visit-data span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-visit-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.today-visit-actions form{display:inline-block;margin:0}
@media(max-width:1100px){.today-alert-head{flex-direction:column}.today-visit-row{grid-template-columns:1fr}.today-visit-actions{justify-content:flex-start}.today-visit-data span{white-space:normal}}

/* Sprint 2.5 · navegació per mòduls */
.module-nav{
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:12px;
  margin:0 0 12px;
}
.module-tab{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#fff;
  text-decoration:none;
  color:#1f2937;
  box-shadow:0 2px 8px #00000006;
}
.module-tab span{font-size:18px;font-weight:950;letter-spacing:.01em}
.module-tab small{font-size:12px;color:#64748b;font-weight:650}
.module-tab.perit.active{background:linear-gradient(135deg,#e0f2fe,#fff);border-color:#7dd3fc;color:#075985}
.module-tab.fact.active{background:linear-gradient(135deg,#ecfdf5,#fff);border-color:#86efac;color:#166534}
.module-tab.sys.active{background:linear-gradient(135deg,#f8fafc,#fff);border-color:#cbd5e1;color:#334155}
.module-tab:not(.active):hover{transform:translateY(-1px);border-color:#cbd5e1;background:#fbfdff}
.module-subnav{
  margin:0 0 16px;
  padding:10px;
  background:#ffffffcc;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 1px 5px #00000005;
}
.module-subnav a{margin-bottom:0}
.perit-subnav a.primary{background:#0b4f78;color:#fff;border-color:#0b4f78}
.fact-subnav a.primary{background:#16a34a;color:#fff;border-color:#16a34a}
.sys-subnav a.primary{background:#334155;color:#fff;border-color:#334155}
@media(max-width:900px){
  .module-nav{grid-template-columns:1fr}
  .module-tab{padding:12px 14px}
  .module-tab span{font-size:16px}
}


/* Sprint 2.6 - previsió simple orientativa */
.ia-notice{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:12px;padding:10px 12px;margin:8px 0}
.primary-mini{background:#111827!important;color:#fff!important;border-color:#111827!important}
.previsio-simple input[type=number]{font-size:18px;font-weight:800}
.agenda-previsio-send{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}


/* Sprint 2.6.4 · Agenda plegable dia a dia */
.agenda-day-collapsible{
  padding:0;
  overflow:hidden;
}
.agenda-day-collapsible summary{
  list-style:none;
}
.agenda-day-collapsible summary::-webkit-details-marker{display:none}
.agenda-day-summary{
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:16px 18px;
  background:linear-gradient(90deg,#f8fafc,#fff);
  border-radius:18px;
}
.agenda-day-summary:hover{background:linear-gradient(90deg,#eef6ff,#fff)}
.agenda-day-title{display:flex;align-items:center;gap:10px;min-width:0}
.agenda-day-title h2{margin:0;color:#0f172a;font-size:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.day-chevron{font-weight:950;color:#64748b;transition:transform .15s ease;display:inline-block}
.agenda-day-collapsible[open] .day-chevron{transform:rotate(90deg)}
.agenda-day-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.agenda-day-content{padding:0 16px 16px}
.agenda-day-collapsible:not([open]){box-shadow:0 1px 6px #00000005}
.agenda-day-collapsible[open]{box-shadow:0 3px 12px #00000008}
@media(max-width:760px){.agenda-day-summary{align-items:flex-start;flex-direction:column}.agenda-day-badges{justify-content:flex-start}.agenda-day-title h2{font-size:20px}}

/* Sprint 2.6.5 · Dashboard net amb expedients plegables */
.dashboard-expedients{padding:0;overflow:hidden}
.dashboard-expedients-summary{list-style:none;cursor:pointer;margin:0;padding:14px 16px;border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.dashboard-expedients-summary::-webkit-details-marker{display:none}
.dashboard-expedients-summary:before{content:'▸';font-size:18px;font-weight:900;color:#64748b;margin-right:2px;transition:transform .12s ease}
.dashboard-expedients[open] .dashboard-expedients-summary:before{transform:rotate(90deg)}
.dashboard-expedients-summary:hover{background:#f8fafc}
.dashboard-expedients .dashboard-expedients-list{padding:0 14px 14px}
.company-summary-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.toggle-hint{font-size:12px;font-weight:800;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:7px 10px}
.dashboard-expedients.company-andorrana .toggle-hint{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.dashboard-expedients.company-financera .toggle-hint{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}
.dashboard-expedients:not([open]){box-shadow:0 1px 4px #0000000a}
.dashboard-expedients:not([open]).company-andorrana{background:linear-gradient(90deg,#f0fdf4 0,#fff 70%)}
.dashboard-expedients:not([open]).company-financera{background:linear-gradient(90deg,#eff6ff 0,#fff 70%)}
@media(max-width:900px){.dashboard-expedients-summary{align-items:flex-start;flex-direction:column}.dashboard-expedients-summary:before{position:absolute}.dashboard-expedients-summary>div{margin-left:22px}.company-summary-right{justify-content:flex-start}}

.switch-btn.year-hot{background:#0f172a;color:#fff;border-color:#0f172a;font-weight:950;box-shadow:0 2px 8px #0f172a22}
.switch-btn.year-hot:hover,.switch-btn.year-hot.active{background:#020617;border-color:#020617;color:#fff}

/* Sprint Web 1.0 */
.logout-form{margin-left:auto}.logout-form button{border:0;border-radius:999px;padding:8px 14px;background:#263238;color:#fff;cursor:pointer}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef3f8,#dfe8ef);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.login-card{width:min(420px,92vw);background:#fff;border-radius:24px;padding:32px;box-shadow:0 18px 50px rgba(0,0,0,.12)}.login-brand{font-weight:800;color:#263238;margin-bottom:10px}.login-card h1{margin:0 0 8px}.login-card p{color:#607d8b;margin:0 0 22px}.login-form{display:grid;gap:10px}.login-form input{border:1px solid #d5dde3;border-radius:12px;padding:12px;font-size:16px}.login-form button{margin-top:10px}.login-help{font-size:12px;color:#607d8b;margin-top:18px;line-height:1.45}.alert.danger{background:#ffebee;color:#b71c1c;border-radius:12px;padding:10px 12px;margin:12px 0}

/* Sprint Web 1.0.2 - acceso móvil */
.mobile-access-panel { border-left: 5px solid #f59e0b; }
.mobile-url-box { display:flex; gap:12px; align-items:center; flex-wrap:wrap; padding:14px 16px; border:1px solid #f2c36b; background:#fff8e6; border-radius:14px; margin:12px 0; }
.mobile-url-box strong { font-size:20px; letter-spacing:.2px; }
.small-note { font-size: 13px; }
@media (max-width: 700px) {
  .module-nav, .subnav { display:flex; flex-direction:column; gap:8px; }
  .module-tab { width:100%; }
  .mobile-url-box strong { font-size:16px; word-break: break-all; }
  table { font-size:13px; }
}

/* Sprint Web 1.0.8 · fitxa: documents detectats primer + previsió al costat de fotos */
.ficha-trabajo-rapido{align-items:start;grid-template-columns:1.45fr .9fr}
.ficha-trabajo-rapido #previsio{margin:16px 0}
.ficha-trabajo-rapido #previsio h3{font-size:20px;margin-bottom:6px}
.ficha-trabajo-rapido #previsio p.muted{font-size:13px;line-height:1.35;margin-top:0}
.ficha-trabajo-rapido #previsio textarea{min-height:72px}
.ficha-trabajo-rapido #previsio button{margin-bottom:6px}
@media(max-width:900px){.ficha-trabajo-rapido{grid-template-columns:1fr}.ficha-trabajo-rapido #previsio{margin:0 0 16px}}

/* Sprint Web 1.1 - Bústia d'ordres */
.bustia-hero { border-left: 6px solid #f59e0b; }
.bustia-toolbar{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin:-4px 0 16px}
.bustia-toolbar-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;box-sizing:border-box}
.bustia-toolbar-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#crear-ordre{scroll-margin-top:84px}
.hero-badge { background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; padding:10px 14px; border-radius:999px; font-weight:700; }
.upload-form { display:flex; flex-direction:column; gap:10px; margin-top:14px; }
.upload-form input[type="file"] { border:1px dashed #cbd5e1; padding:14px; border-radius:12px; background:#f8fafc; }
.clean-list { margin:10px 0 0; padding-left:20px; line-height:1.8; }
.preview-card { margin-top:18px; border-top:5px solid #64748b; }
.preview-card.company-andorrana { border-top-color:#16a34a; }
.preview-card.company-financera { border-top-color:#2563eb; }
.card-head-row { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.pill.big { font-size:14px; padding:9px 12px; }
.preview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:16px; }
.preview-grid div { background:#f8fafc; border:1px solid #e2e8f0; border-radius:12px; padding:12px; }
.preview-grid strong { display:block; font-size:12px; color:#64748b; text-transform:uppercase; letter-spacing:.04em; margin-bottom:5px; }
.preview-grid span { font-weight:700; color:#0f172a; }
.preview-grid .wide { grid-column:1 / -1; }
.warn-alert { background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; border-radius:12px; padding:12px; margin-top:14px; font-weight:700; }
.actions-row { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
@media (max-width: 900px){ .preview-grid { grid-template-columns:1fr; } .card-head-row { flex-direction:column; } .bustia-toolbar{display:grid;grid-template-columns:1fr 1fr;margin:0 0 14px}.bustia-toolbar-button{width:100%;padding:11px 10px} }

/* Sprint Web 1.1.2 - Bústia editable + anti-duplicats */
.compact-card{padding:16px}.recent-bustia-list{display:grid;gap:8px}.recent-bustia-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;border:1px solid #e5e7eb;border-radius:12px;padding:9px;background:#fff}.recent-bustia-row span{color:#64748b;font-size:13px}.button.tiny{padding:5px 9px;font-size:12px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.review-grid label{font-size:12px;font-weight:900;color:#475569;text-transform:uppercase;letter-spacing:.04em}.review-grid input,.review-grid select,.review-grid textarea{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #cbd5e1;border-radius:12px;padding:10px 11px;background:#fff;font-size:14px;color:#0f172a;text-transform:none;letter-spacing:0;font-weight:650}.review-grid textarea{resize:vertical;font-family:inherit}.review-grid .wide{grid-column:1 / -1}.duplicate-list{display:grid;gap:10px;margin-top:12px}.duplicate-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid #fed7aa;background:#fffbeb;border-radius:14px;padding:12px}.duplicate-row span,.duplicate-row small{display:block;color:#92400e;font-size:12px;margin-top:3px}.compact-actions{gap:7px;align-items:center}.compact-actions form{margin:0}.bustia-actions{margin-top:16px}@media(max-width:900px){.review-grid{grid-template-columns:1fr}.recent-bustia-row,.duplicate-row{grid-template-columns:1fr}.compact-actions{justify-content:flex-start}}

/* Sprint Web 1.1.3 · Preparació Microsoft 365 / Outlook */
.m365-hero{background:linear-gradient(135deg,#eff6ff 0,#fff 70%);border-color:#bfdbfe}
.outlook-ready-card{border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff 0,#fff 75%)}
.outlook-sim-card{border:1px dashed #93c5fd;background:#f8fbff}
.outlook-sim-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}
.outlook-sim-form label{display:grid;gap:5px;font-size:13px;font-weight:800;color:#334155}
.m365-form{display:grid;gap:12px}.m365-form label{display:grid;gap:6px;font-weight:850;color:#334155}.m365-form input,.m365-form textarea,.outlook-sim-form input{width:100%}
.m365-checklist{display:grid;gap:9px}.m365-check-row{display:flex;gap:10px;align-items:flex-start;border:1px solid #e5e7eb;border-radius:14px;padding:10px;background:#fff}.m365-check-row span{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;font-weight:950}.m365-check-row.ok span{background:#dcfce7;color:#166534}.m365-check-row.pending span{background:#fff7ed;color:#9a3412}.m365-check-row strong{display:block;color:#273444}.m365-check-row small{display:block;color:#64748b;margin-top:2px}.ok-alert{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534}.flow-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:10px 0}.flow-steps div{border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:12px;text-align:center}.flow-steps b{display:inline-grid;place-items:center;width:28px;height:28px;background:#dbeafe;color:#1d4ed8;border-radius:999px;margin-bottom:6px}.flow-steps span{display:block;font-size:13px;font-weight:850;color:#334155}
@media(max-width:1050px){.outlook-sim-form{grid-template-columns:1fr 1fr}.flow-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.outlook-sim-form{grid-template-columns:1fr}.flow-steps{grid-template-columns:1fr 1fr}}

/* Sprint 1.2.3 - Gmail OAuth */
.button{background:var(--blue);border:0;color:#fff;border-radius:10px;padding:9px 12px;cursor:pointer;text-decoration:none;display:inline-block;font-weight:800}
.button.primary{background:var(--blue);color:#fff}
.button.ghost{background:#e5e7eb;color:#111827}
.alert.danger-alert,.danger-alert{background:#ffebee;color:#b71c1c;border:1px solid #fecaca;border-radius:12px;padding:10px 12px;margin:12px 0}
button:disabled{opacity:.45;cursor:not-allowed}
.table-wrap{overflow:auto}
.pill{display:inline-block;border-radius:999px;background:#eef2ff;color:#3730a3;padding:5px 8px;font-size:12px;font-weight:850}
@media(max-width:900px){.flow-steps{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}}

/* Sprint 1.2.4 - Gmail importa PDFs reals */
.steps-list{margin:10px 0 0;padding-left:22px;line-height:1.75;color:#334155}
.steps-list li{margin-bottom:4px}
code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:7px;padding:2px 6px;color:#0f172a;font-weight:800}
.pill.ok{background:#dcfce7;color:#166534}
.pill.warn{background:#fff7ed;color:#9a3412}
button.tiny,.button.tiny{padding:6px 9px;font-size:12px;border-radius:9px}


/* Sprint 1.2.5 - Lectura inteligente PDF */
.smart-read-card {
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 18px;
  padding: 16px;
  margin: 16px 0;
  background: #f8fafc;
}
.smart-read-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}
.confidence-badge {
  min-width: 74px;
  height: 74px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 22px;
  font-weight: 800;
  background: #eef2ff;
  color: #1e293b;
}
.confidence-high .confidence-badge { background: #dcfce7; }
.confidence-medium .confidence-badge { background: #fef9c3; }
.confidence-low .confidence-badge { background: #fee2e2; }
.smart-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}
.smart-field {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;
  padding: 10px;
  background: white;
}
.smart-field span {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 800;
}
.smart-field.ok span { background: #dcfce7; color: #14532d; }
.smart-field.pending span { background: #ffedd5; color: #9a3412; }
.smart-field strong { display: block; }
.smart-field small { color: #64748b; word-break: break-word; }
.smart-alert { margin-top: 12px; }
.smart-suggestions { margin-top: 10px; }

/* Sprint 1.2.6 - Bústia pendientes recuperables */
.pending-bustia-card{border:1px solid #fed7aa;background:#fff7ed}
.pending-bustia-list{display:grid;gap:10px;margin-top:12px}
.pending-bustia-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:16px;padding:12px;background:#fff}
.pending-bustia-row.confidence-high{border-left:6px solid #22c55e}
.pending-bustia-row.confidence-medium{border-left:6px solid #f59e0b}
.pending-bustia-row.confidence-low{border-left:6px solid #ef4444}
.pending-main strong,.pending-main span,.pending-main small{display:block}
.pending-main span{color:#475569;margin-top:2px}
.pending-main small{color:#64748b;margin-top:2px}
.pending-main .pending-fields{color:#9a3412;font-weight:750}
.pending-score{text-align:center;min-width:72px}
.pending-score strong{display:block;font-size:20px;color:#0f172a}
.pending-score small{display:block;color:#64748b;font-size:12px}
.danger-soft{background:#fee2e2!important;color:#991b1b!important}
@media(max-width:850px){.pending-bustia-row{grid-template-columns:1fr}.pending-score{text-align:left}.pending-bustia-row .actions-row{justify-content:flex-start;flex-wrap:wrap}}


/* Sprint 1.3.2 — Accessos ràpids Google Drive */
.quick-folder-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:10px;
  margin-top:12px;
}
.quick-folder-grid form{ margin:0; }
.quick-folder-grid button{
  width:100%;
  min-height:58px;
  text-align:left;
  line-height:1.25;
}
.quick-folder-grid small{
  color:var(--muted);
  font-weight:600;
}
.mini-link{
  display:inline-block;
  margin-top:6px;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}


/* DLM 1348B — Porcentaje checklist sin tocar backend */
.checklist-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.checklist-head h3{
  margin:0;
}
.checklist-percent-box{
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:8px 12px;
  border-radius:14px;
  background:#eef7ff;
  border:1px solid #dbeafe;
}
.checklist-percent-box strong{
  font-size:20px;
  font-weight:900;
}
.checklist-percent-box span{
  color:var(--muted);
  font-weight:800;
}
.checklist-progress-line{
  width:100%;
  height:10px;
  background:#eef2f7;
  border-radius:999px;
  overflow:hidden;
  margin:8px 0 14px;
}
.checklist-progress-line > div{
  height:100%;
  background:#0f6b9a;
  border-radius:999px;
}

/* DLM 2.1D - Desplegables en expediente */
.dlm-desplegable {
  padding: 0;
  overflow: hidden;
}
.dlm-desplegable summary {
  cursor: pointer;
  list-style: none;
  padding: 18px 20px;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.dlm-desplegable summary::-webkit-details-marker {
  display: none;
}
.dlm-desplegable summary::before {
  content: '▶';
  font-size: 13px;
  margin-right: 4px;
}
.dlm-desplegable[open] summary::before {
  content: '▼';
}
.dlm-desplegable summary span {
  flex: 1;
}
.dlm-desplegable summary small {
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
}
.dlm-desplegable table {
  margin: 0 20px 20px;
  width: calc(100% - 40px);
}

/* DLM 2.1E - Acciones del expediente compactas */
.expedient-actions-compact{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
  margin:18px 0;
}
.action-desplegable{
  margin:0;
}
.action-desplegable summary{
  padding:14px 16px;
  font-size:16px;
}
.action-desplegable .details-body,
.danger-desplegable .details-body{
  padding:0 16px 16px;
}
.action-desplegable input,
.action-desplegable select{
  padding:9px;
}
.action-desplegable button{
  padding:9px 13px;
}
.danger-desplegable{
  border:1px solid #f3b7b7;
  background:#fff8f8;
}
.danger-desplegable summary{
  color:#7f1d1d;
}
.danger-desplegable summary small{
  color:#991b1b;
  font-weight:800;
}

/* DLM 2.1F - Expediente ordenado + checklist visual */
.dlm-details-body{
  padding:0 20px 20px;
}
#checklist-expedient,
#documents-detectats{
  margin-top:18px;
}
#documents-detectats .grid.three{
  margin-top:12px;
}


/* DLM 2.1G - Fotos i previsió en desplegables */
.compact-media-grid{
  margin-top:18px;
}
.media-desplegable{
  margin:0;
}
.media-desplegable summary{
  min-height:54px;
}
.media-desplegable .details-body{
  padding:0 20px 20px;
}
.media-desplegable .photo-grid img{
  content-visibility:auto;
}

/* DLM 2.1I: Control expediente más limpio, sin acciones duplicadas */
.mini-control-cards .card b{font-size:22px}
.compact-checklist .checkitem{min-height:74px}
.compact-docs-grid .docbox{min-height:112px}

/* DLM 2.1J - Sistema más compacto */
.system-main-panel{margin-bottom:12px}
.system-info-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.system-actions-grid,
.system-history-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
  margin:14px 0;
}
.system-action-card{margin:0;min-height:150px}
.system-action-card h3,
.system-drive-card h3{margin-bottom:8px}
.system-action-card form{margin-top:12px}
.system-drive-card{margin:14px 0}
.system-history-card{margin:0;padding:0;overflow:hidden}
.system-history-card summary{padding:16px 18px;font-size:17px}
.system-history-card summary small{white-space:nowrap}
.system-table-body{padding:0 16px 16px;overflow-x:auto}
.system-table-body .compact-table{display:table;overflow:visible;width:100%;table-layout:fixed}
.system-table-body .compact-table th{position:static;top:auto;z-index:auto}
.system-table-body .compact-table th:last-child,
.system-table-body .compact-table td:last-child{width:132px;white-space:nowrap}
.system-table-body td:first-child{word-break:break-all}
@media(max-width:900px){
  .system-actions-grid,
  .system-history-grid{grid-template-columns:1fr}
  .system-action-card{min-height:0}
}


/* DLM 3.0A - iPhone: bloques informativos plegados */
.dashboard-actions-desplegable{margin-top:14px;padding:0}
.dashboard-actions-desplegable summary{padding:14px 16px;font-size:16px}
.actions-summary-body{padding:0 16px 16px}
.gmail-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.gmail-help-card{margin:0;padding:0;overflow:hidden}
.gmail-help-card summary{padding:14px 16px;font-size:16px}
.gmail-help-body{padding:0 16px 16px}
.gmail-help-body .steps-list,.gmail-help-body .clean-list{margin-top:0}
@media(max-width:900px){
  .gmail-help-grid{grid-template-columns:1fr}
  .last-action-item{grid-template-columns:1fr;gap:4px}
}


/* DLM 3.0B - limpieza móvil dashboard, tablas y Gmail */
.dashboard-actions-desplegable > .actions-summary-body{display:none;}
.dashboard-actions-desplegable[open] > .actions-summary-body{display:block;}
.dashboard-actions-desplegable summary{background:#fff;}
.dashboard-actions-desplegable:not([open]){padding:0;}
.facturacion-list-panel{overflow:hidden;}
.facturacion-list-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
.facturacion-table{min-width:1220px;}
.compact-version-badge{font-size:13px;padding:8px 12px;white-space:nowrap;}
@media(max-width:900px){
  .container{padding:0 12px;margin:14px auto;}
  .panel,.card{border-radius:14px;}
  .actions-summary-body{padding:0 12px 12px;}
  .facturacion-list-panel h3{margin-bottom:10px;}
  .facturacion-list-wrap{margin:0 -6px;width:calc(100% + 12px);}
  .facturacion-table th,.facturacion-table td{white-space:nowrap;font-size:12px;padding:8px 9px;}
  .hero{gap:10px;}
  .compact-version-badge{align-self:flex-start;}
}


/* DLM 3.0C - Facturació: tabla realmente contenida + cards en iPhone */
.facturacion-list-panel{
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.facturacion-list-wrap{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  border-radius:14px;
}
.facturacion-table{
  width:max-content;
  min-width:100%;
  max-width:none;
  table-layout:auto;
}
.facturacion-table th,
.facturacion-table td{
  vertical-align:middle;
}
.facturacion-table td:nth-child(5),
.facturacion-table th:nth-child(5){
  max-width:190px;
  white-space:normal;
}
.facturacion-table td:nth-child(15),
.facturacion-table th:nth-child(15){
  max-width:160px;
  white-space:normal;
}
@media(max-width:900px){
  .facturacion-list-panel{padding:14px;}
  .facturacion-list-wrap{
    overflow:visible;
    margin:0;
    width:100%;
    border-radius:0;
  }
  .facturacion-table,
  .facturacion-table thead,
  .facturacion-table tbody,
  .facturacion-table tr,
  .facturacion-table td{
    display:block;
    width:100%;
    min-width:0;
  }
  .facturacion-table thead{display:none;}
  .facturacion-table{
    background:transparent;
    border-radius:0;
  }
  .facturacion-table tr{
    margin:0 0 12px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:0 1px 3px #0000000a;
  }
  .facturacion-table td{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    padding:7px 0;
    border-bottom:1px solid #eef2f7;
    text-align:right;
    white-space:normal;
    word-break:break-word;
    font-size:13px;
  }
  .facturacion-table td:last-child{border-bottom:0;}
  .facturacion-table td::before{
    content:attr(data-label);
    flex:0 0 42%;
    text-align:left;
    color:#64748b;
    font-weight:850;
  }
  .facturacion-table td.money{
    text-align:right;
  }
  .facturacion-table td:nth-child(2){
    font-size:15px;
  }
  .facturacion-table td:nth-child(12){
    font-size:15px;
  }
}

/* DLM 3.0D · Mode camp mòbil
   En telèfon es mostra només el flux de treball diari: Agenda, Expedients,
   Nou expedient, Ordres i Previsions IA. Facturació, Cobraments, Sistema,
   backups i configuracions queden per a portàtil/PC. */
.mobile-field-nav{display:none;}
@media(max-width:900px){
  .desktop-module-nav,
  .desktop-only-nav{display:none!important;}
  .mobile-field-nav{
    display:block;
    margin:0 0 12px;
    padding:12px;
    border:1px solid #dbeafe;
    background:linear-gradient(135deg,#f8fbff,#eef6ff);
    border-radius:18px;
    box-shadow:0 8px 22px rgba(15,23,42,.05);
  }
  .mobile-field-title{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:#0b4f78;
    font-weight:900;
    margin:0 0 8px;
  }
  .mobile-field-links{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .mobile-field-links a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:8px 10px;
    border:1px solid #cbd5e1;
    background:#fff;
    border-radius:14px;
    text-decoration:none;
    color:#0f172a;
    font-weight:850;
    text-align:center;
    box-shadow:0 2px 7px rgba(15,23,42,.04);
  }
  .mobile-field-links a.active{
    background:#0b4f78;
    border-color:#0b4f78;
    color:#fff;
  }
  .mobile-field-links a:nth-child(5){grid-column:1/-1;}
  header{align-items:flex-start;gap:10px;}
  .logo{font-size:18px;}
  .sub{font-size:12px;}
}

/* DLM 3.0E · móvil = modo campo real
   En iPhone se bloquean pantallas administrativas completas: facturación,
   cobros, sistema, Gmail avanzado y Microsoft 365. En PC siguen normales. */
.mobile-admin-lock{display:none;}
@media(max-width:900px){
  body.admin-desktop-page .page-content{display:none!important;}
  body.admin-desktop-page .mobile-admin-lock{display:block!important;}
  body.admin-desktop-page .footer{display:none;}
  .status-cards .moneycard,
  .status-cards a[href^="/cobros"],
  .status-cards a[href^="/?vista=facturat"]{display:none!important;}
  .status-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .mobile-admin-lock h2{margin:0 0 8px;color:#0f172a;}
  .mobile-admin-lock p{margin:6px 0;line-height:1.4;}
  .mobile-admin-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px;}
  .mobile-admin-actions .btn{width:100%;text-align:center;box-sizing:border-box;}
}

/* DLM 3.0F · Facturació PC compacta
   En portátil/PC la tabla debe quedar dentro del panel, sin salirse ni obligar
   a scroll horizontal en resoluciones normales. En móvil se mantiene el bloqueo
   de pantallas administrativas definido en DLM 3.0E. */
@media (min-width: 901px){
  .facturacion-list-panel{
    max-width:100%;
    overflow:hidden;
  }
  .facturacion-list-wrap{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    overflow-y:visible;
    border-radius:14px;
  }
  .facturacion-table{
    width:100%;
    min-width:0!important;
    max-width:100%;
    table-layout:fixed;
    font-size:13px;
  }
  .facturacion-table th,
  .facturacion-table td{
    padding:10px 8px;
    white-space:normal;
    overflow:hidden;
    text-overflow:ellipsis;
    word-break:normal;
  }
  .facturacion-table th:nth-child(1),
  .facturacion-table td:nth-child(1){width:96px;}
  .facturacion-table th:nth-child(2),
  .facturacion-table td:nth-child(2){width:128px;}
  .facturacion-table th:nth-child(3),
  .facturacion-table td:nth-child(3){width:104px;}
  .facturacion-table th:nth-child(4),
  .facturacion-table td:nth-child(4){width:88px;}
  .facturacion-table th:nth-child(5),
  .facturacion-table td:nth-child(5){width:170px;max-width:170px;}
  .facturacion-table th:nth-child(6),
  .facturacion-table td:nth-child(6){width:44px;text-align:center;}
  .facturacion-table th:nth-child(7),
  .facturacion-table td:nth-child(7){width:118px;}
  .facturacion-table th:nth-child(8),
  .facturacion-table td:nth-child(8){width:76px;}
  .facturacion-table th:nth-child(9),
  .facturacion-table td:nth-child(9){width:76px;}
  .facturacion-table th:nth-child(11),
  .facturacion-table td:nth-child(11){width:70px;}
  .facturacion-table th:nth-child(12),
  .facturacion-table td:nth-child(12){width:82px;}
  .facturacion-table th:nth-child(13),
  .facturacion-table td:nth-child(13){width:78px;}
  .facturacion-table th:nth-child(15),
  .facturacion-table td:nth-child(15){width:128px;max-width:128px;}

  /* Columnas secundarias ocultas en PC para que el listado sea operativo.
     Los importes completos siguen en cálculo/exportación Excel. */
  .facturacion-table th:nth-child(10),
  .facturacion-table td:nth-child(10),
  .facturacion-table th:nth-child(14),
  .facturacion-table td:nth-child(14){
    display:none;
  }
}

@media (min-width: 901px) and (max-width: 1250px){
  .facturacion-table{font-size:12px;}
  .facturacion-table th,
  .facturacion-table td{padding:9px 6px;}
  .facturacion-table th:nth-child(5),
  .facturacion-table td:nth-child(5){width:140px;max-width:140px;}
  .facturacion-table th:nth-child(7),
  .facturacion-table td:nth-child(7){width:96px;}
}


/* DLM 3.0G · Expediente móvil más limpio
   En PC los bloques se mantienen abiertos. En iPhone se pliegan automáticamente
   para que el expediente arranque con lo esencial y los accesos secundarios no
   ocupen media pantalla. */
.mobile-collapse-panel{
  padding:0;
  overflow:hidden;
}
.mobile-collapse-panel > summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:20px 24px;
  font-size:20px;
  font-weight:900;
  color:#0f172a;
}
.mobile-collapse-panel > summary::-webkit-details-marker{display:none;}
.mobile-collapse-panel > summary::before{
  content:"▾";
  color:#0b4f78;
  font-size:18px;
  transform:rotate(0deg);
  transition:transform .15s ease;
}
.mobile-collapse-panel:not([open]) > summary::before{transform:rotate(-90deg);}
.mobile-collapse-panel > summary span{flex:1;}
.mobile-collapse-panel > summary small{
  color:#64748b;
  font-size:13px;
  font-weight:850;
  white-space:nowrap;
}
.mobile-collapse-body{padding:0 24px 24px;}
.mobile-collapse-body .muted{margin-top:0;}

@media(max-width:900px){
  .mobile-collapse-panel > summary{
    padding:16px 18px;
    font-size:18px;
  }
  .mobile-collapse-body{padding:0 18px 18px;}
  .mobile-collapse-panel:not([open]){
    min-height:0;
  }
  .mobile-collapse-panel:not([open]) > summary small{
    display:inline-flex;
    align-items:center;
    max-width:110px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}


/* DLM 3.0H · Expediente móvil esencial
   En iPhone la ficha queda en modo campo: ver orden, subir fotos, previsión y
   marcar peritado. Las acciones administrativas quedan solo en PC. */
.mobile-field-essential{display:none;}
@media(max-width:900px){
  .mobile-field-essential{
    display:block;
    border-left:6px solid #0b4f78;
    background:linear-gradient(135deg,#f8fbff,#ffffff);
  }
  .mobile-field-essential h3{margin:0 0 6px;font-size:20px;color:#0f172a;}
  .mobile-essential-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:12px;
  }
  .mobile-essential-grid .btn,
  .mobile-essential-grid button,
  .mobile-essential-grid .field-ok-pill{
    width:100%;
    min-height:48px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:14px;
    font-weight:900;
  }
  .mobile-essential-grid form{margin:0;}
  .field-done-btn{background:#dcfce7;color:#166534;border-color:#bbf7d0;}
  .field-ok-pill{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;}
  .mobile-pc-only{display:none!important;}
  .mobile-hide-field{display:none!important;}
  #adjuntar-fotos{border-left:6px solid #0b4f78;}
  #adjuntar-fotos h3{font-size:20px;margin-bottom:10px;}
  #adjuntar-fotos .grid{grid-template-columns:1fr;gap:10px;}
  #adjuntar-fotos input[type="file"]{font-size:15px;}
  .media-desplegable summary{font-size:18px;}
}


/* DLM 3.0I · Agenda móvil naranja
   En iPhone la agenda mantiene el mismo código visual naranja que en PC. */
@media(max-width:900px){
  .mobile-field-nav:has(.mobile-agenda-link.active){
    border-color:#fed7aa;
    background:linear-gradient(135deg,#fff7ed,#ffffff);
  }
  .mobile-field-nav:has(.mobile-agenda-link.active) .mobile-field-title{
    color:#9a3412;
  }
  .mobile-field-links .mobile-agenda-link.active{
    background:#f97316;
    border-color:#f97316;
    color:#fff;
    box-shadow:0 3px 10px rgba(249,115,22,.25);
  }
  .agenda-panel{
    border-color:#fed7aa;
    background:linear-gradient(180deg,#fff7ed 0,#fff 72%);
    box-shadow:0 5px 16px rgba(249,115,22,.10);
  }
  .agenda-panel h1{
    color:#9a3412;
  }
  .agenda-kpis .card.warning{
    border-color:#fdba74;
    background:#fff7ed;
  }
  .agenda-day-collapsible{
    border-color:#fed7aa;
  }
  .agenda-day-summary{
    background:linear-gradient(90deg,#fff7ed,#fff);
  }
  .agenda-day-summary:hover{
    background:linear-gradient(90deg,#ffedd5,#fff);
  }
  .agenda-day-title h2,
  .agenda-day-title .day-chevron{
    color:#9a3412;
  }
}


/* DLM 3.0J · Agenda pendents + Peritats */
.peritats-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;}
.peritats-summary h2{margin:0;}
.peritats-year,.peritats-month{margin-top:10px;padding:10px;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:rgba(255,255,255,.55);}
.peritats-year summary,.peritats-month summary{cursor:pointer;}
.peritats-table td,.peritats-table th{vertical-align:middle;}
@media (max-width:900px){
  .peritats-panel .company-head{align-items:flex-start;}
  .peritats-company,.peritats-year,.peritats-month{padding:10px;}
  .peritats-table .row-actions{display:flex;gap:6px;flex-wrap:wrap;}
}

/* DLM 3.0M · Peritats móvil cuadrado y seguro desde 3.0J */
.peritats-mobile-cards{display:none;}
@media(max-width:900px){
  .peritats-desktop-table-wrap{display:none !important;}
  .peritats-mobile-cards{display:flex;flex-direction:column;gap:12px;margin-top:12px;}
  .peritats-company{padding:14px;}
  .peritats-summary h2{font-size:32px;line-height:1.05;}
  .peritats-year,.peritats-month{padding:12px;border-radius:16px;overflow:hidden;}
  .peritats-year summary,.peritats-month summary{font-size:20px;}
  .peritat-mobile-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px;box-shadow:0 1px 5px rgba(15,23,42,.06);}
  .peritat-mobile-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #e5e7eb;padding-bottom:10px;margin-bottom:10px;}
  .peritat-mobile-ref{display:block;font-size:20px;font-weight:900;line-height:1.15;word-break:break-word;}
  .peritat-mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;}
  .peritat-mobile-grid div{min-width:0;background:#f8fafc;border:1px solid #edf2f7;border-radius:12px;padding:10px;}
  .peritat-mobile-grid .wide{grid-column:1 / -1;}
  .peritat-mobile-grid span{display:block;font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.02em;margin-bottom:4px;}
  .peritat-mobile-grid b{display:block;font-size:16px;color:#0f172a;line-height:1.2;word-break:break-word;}
  .peritat-mobile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
}


/* DLM 3.0N · Peritats PC + mòbil correctes */
.peritats-desktop-table-wrap{
  overflow-x:auto;
}
.peritats-table{
  min-width:960px;
  table-layout:auto;
}
.peritats-table th{
  position:static !important;
  top:auto !important;
  z-index:auto !important;
}
.peritats-table th,
.peritats-table td{
  white-space:nowrap;
}
.peritats-table td:nth-child(4),
.peritats-table th:nth-child(4){
  white-space:normal;
  min-width:220px;
}
@media(max-width:760px){
  .peritats-table{min-width:0;}
}


/* DLM 3.0P · Dashboard net per any/mes + percentatge (fix safe) */
.dashboard-clean-head{display:flex;justify-content:space-between;align-items:center;gap:14px;border-left:5px solid var(--blue)}
.dashboard-clean-head h2{margin:0 0 4px;color:#0f172a}.dashboard-clean-head p{margin:0}.dashboard-clean-count{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:14px;padding:10px 14px;white-space:nowrap}.dashboard-clean-count b{font-size:22px;color:var(--blue)}
.dashboard-master-panel{border-left:5px solid var(--blue)}
.dashboard-master-summary{cursor:pointer;list-style:none;border-left:0;padding:0}
.dashboard-master-summary::-webkit-details-marker{display:none}
.dashboard-master-summary::marker{content:""}
.dashboard-master-body{margin-top:14px;display:grid;gap:12px}
.dashboard-master-panel[open] .dashboard-clean-count{background:#e0f2fe}

.dashboard-month-panel{padding:0;overflow:hidden}.dashboard-month-summary{list-style:none;cursor:pointer;margin:0;padding:16px 18px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(90deg,#f8fafc,#fff)}
.dashboard-month-summary::-webkit-details-marker{display:none}.dashboard-month-summary:before{content:'▸';font-size:18px;font-weight:950;color:#64748b;transition:transform .15s ease}.dashboard-month-panel[open] .dashboard-month-summary:before{transform:rotate(90deg)}.dashboard-month-summary h2{margin:0;color:#0f172a}.dashboard-month-summary > div{flex:1}.dashboard-month-list{display:flex;flex-direction:column;gap:8px;padding:0 14px 14px}
.dash-exp-card{display:grid;grid-template-columns:1fr 230px 70px;gap:14px;align-items:center;padding:12px 14px;border:1px solid #e2e8f0;border-left:6px solid #94a3b8;border-radius:14px;background:#fff;text-decoration:none;color:#0f172a;box-shadow:0 1px 3px #00000008}.dash-exp-card:hover{border-color:#cbd5e1;background:#fbfdff}.dash-exp-card.company-andorrana{border-left-color:#16a34a}.dash-exp-card.company-financera{border-left-color:#2563eb}.dash-exp-card.company-altres{border-left-color:#64748b}
.dash-exp-main{min-width:0}.dash-exp-line{display:flex;gap:8px;align-items:center;min-width:0;flex-wrap:wrap}.dash-exp-line b{font-size:15px;color:#1e293b}.dash-mat{font-weight:900;color:#0b4f78}.dash-exp-sub{margin-top:5px;color:#64748b;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-progress-block{min-width:0}.dash-progress-text{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:#64748b;margin-bottom:5px}.dash-progress-text b{font-size:15px;color:#0f172a}.dash-progress-bar{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}.dash-progress-bar span{display:block;height:100%;border-radius:999px;background:#f59e0b}.dash-progress-bar span.low{background:#f97316}.dash-progress-bar span.mid{background:#f59e0b}.dash-progress-bar span.ok{background:#22c55e}.dash-progress-bar span.done{background:#16a34a}.dash-see{justify-self:end;background:#e5e7eb;color:#334155;border-radius:999px;padding:7px 11px;font-weight:900;font-size:12px}
@media(max-width:760px){.dashboard-clean-head{align-items:flex-start;flex-direction:column}.dashboard-clean-count{width:100%}.dashboard-month-summary{align-items:flex-start;flex-direction:column}.dashboard-month-summary:before{position:absolute}.dashboard-month-summary>div{margin-left:22px}.dash-exp-card{grid-template-columns:1fr;gap:10px}.dash-see{justify-self:start}.dash-exp-sub{white-space:normal}}

/* DLM 3.0Q · Dashboard por companyia + any/mes */
.dashboard-company-panel{padding:18px 22px;margin-top:16px;border-left:6px solid #d7dde6}
.dashboard-company-panel.company-andorrana{border-left-color:#16a34a}
.dashboard-company-panel.company-financera{border-left-color:#2563eb}
.dashboard-company-panel.company-altres{border-left-color:#64748b}
.dashboard-company-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none}
.dashboard-company-summary::-webkit-details-marker{display:none}
.dashboard-company-summary h2{margin:0;font-size:28px;letter-spacing:.02em}
.dashboard-company-body{margin-top:12px}
.dashboard-company-body .dashboard-month-panel{margin:12px 0 0 0;box-shadow:none}
@media (max-width:900px){
  .dashboard-company-panel{padding:14px 12px;margin-top:12px}
  .dashboard-company-summary{align-items:flex-start}
  .dashboard-company-summary h2{font-size:24px}
  .dashboard-company-summary .toggle-hint{font-size:12px;padding:8px 10px;white-space:nowrap}
}

/* DLM 3.0R · Peritats amb colors de companyia */
.peritats-company.company-andorrana{border-left:6px solid #16a34a;background:linear-gradient(90deg,#f0fdf4 0,#fff 210px);}
.peritats-company.company-financera{border-left:6px solid #2563eb;background:linear-gradient(90deg,#eff6ff 0,#fff 210px);}
.peritats-company.company-altres{border-left:6px solid #64748b;}
.peritats-company.company-andorrana .peritats-summary h2{color:#166534;}
.peritats-company.company-financera .peritats-summary h2{color:#1d4ed8;}
.peritats-company.company-andorrana .peritats-summary .badge.light{background:#dcfce7;color:#166534;}
.peritats-company.company-financera .peritats-summary .badge.light{background:#dbeafe;color:#1d4ed8;}
.dashboard-company-panel:not([open]).company-andorrana{background:linear-gradient(90deg,#f0fdf4 0,#fff 70%);}
.dashboard-company-panel:not([open]).company-financera{background:linear-gradient(90deg,#eff6ff 0,#fff 70%);}

/* DLM 3.2 · Agenda interna DLM, sin Google Calendar */
.agenda-kpis-32{grid-template-columns:repeat(6,minmax(120px,1fr));}
.agenda-kpi-link{text-decoration:none;color:inherit;display:block;}
.agenda-kpi-link:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(15,23,42,.10);}
.card.danger{border-color:#fecaca;background:#fef2f2;}
.card.danger b{color:#991b1b;}
.agenda-day-today{border-color:#fdba74;background:linear-gradient(180deg,#fff7ed,#fff);}
.agenda-day-today .agenda-day-summary{background:linear-gradient(90deg,#ffedd5,#fff);}
.agenda-day-today .agenda-day-title h2{color:#9a3412;}
.agenda-day-tomorrow{border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff,#fff);}
.agenda-day-tomorrow .agenda-day-summary{background:linear-gradient(90deg,#dbeafe,#fff);}
.agenda-day-tomorrow .agenda-day-title h2{color:#1d4ed8;}
.agenda-day-overdue{border-color:#fecaca;background:linear-gradient(180deg,#fef2f2,#fff);}
.agenda-day-overdue .agenda-day-summary{background:linear-gradient(90deg,#fee2e2,#fff);}
.agenda-day-overdue .agenda-day-title h2{color:#991b1b;}
.agenda-day-unscheduled{border-color:#e2e8f0;background:linear-gradient(180deg,#f8fafc,#fff);}
.agenda-day-unscheduled .agenda-day-summary{background:linear-gradient(90deg,#f1f5f9,#fff);}
@media(max-width:980px){.agenda-kpis-32{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.agenda-kpis-32{grid-template-columns:1fr 1fr;}.agenda-kpis-32 .card{padding:10px;}}

/* DLM 3.3 · Expedient intel·ligent */
.field-workflow-card{border-left:6px solid #7c3aed;background:linear-gradient(135deg,#faf5ff,#fff)}
.field-workflow-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.field-workflow-head h3{margin:2px 0;font-size:26px}.field-workflow-head p{margin:0;color:#64748b}.field-eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;color:#7c3aed}.field-next-pill{background:#ede9fe;color:#5b21b6;border-radius:999px;padding:8px 11px;font-weight:900;font-size:12px}
.field-checklist{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.field-step{border:1px solid #e2e8f0;border-radius:14px;padding:11px;background:#fff;display:grid;grid-template-columns:30px 1fr;column-gap:8px}.field-step>span{grid-row:1/3;width:28px;height:28px;border-radius:50%;background:#e2e8f0;display:grid;place-items:center;font-weight:900}.field-step small{color:#64748b}.field-step.done{border-color:#bbf7d0;background:#f0fdf4}.field-step.done>span{background:#16a34a;color:#fff}.field-actions .field-primary{background:#2563eb}.field-actions .field-ai{background:#7c3aed}.field-actions .field-finish{background:#16a34a;color:#fff;border:0;border-radius:10px;padding:11px 14px;font-weight:900;width:100%}
.work-tasks-panel{border-left:6px solid #7c3aed}.work-tasks-head h2{margin:3px 0}.work-tasks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.work-task{display:flex;align-items:center;gap:12px;text-decoration:none;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.work-task>span{font-size:25px}.work-task b{display:block;font-size:26px}.work-task small{color:#64748b}
@media(max-width:760px){.field-workflow-head{display:block}.field-next-pill{display:inline-block;margin-top:10px}.field-checklist{grid-template-columns:1fr 1fr}.field-step{padding:9px}.field-step b{font-size:13px}.field-step small{font-size:11px}.field-actions{grid-template-columns:1fr}.mobile-pc-only{display:none!important}}


/* DLM 3.3E · EXPEDIENT VIU */
.expedient-live-panel{overflow:hidden}.expedient-live-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.expedient-live-head h3{margin:4px 0}.live-status-dot{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#eef2f7;font-size:22px}.live-status-dot.done{background:#e9f8ef}.live-status-dot.ai,.live-status-dot.review{background:#f2ecff}.live-status-dot.send{background:#e9f3ff}.live-status-dot.billing{background:#fff6dc}
.lifecycle-track{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:0;margin:22px 0 18px}.lifecycle-stage{position:relative;text-align:center;color:#87919f}.lifecycle-stage:before{content:"";position:absolute;left:0;right:0;top:17px;height:3px;background:#e4e8ed;z-index:0}.lifecycle-stage:first-child:before{left:50%}.lifecycle-stage:last-child:before{right:50%}.lifecycle-stage span{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;margin:0 auto 7px;border-radius:50%;background:#edf0f3;border:2px solid #d8dde3;font-weight:800}.lifecycle-stage small{display:block;font-weight:700}.lifecycle-stage.done{color:#287d4a}.lifecycle-stage.done:before{background:#73bf8d}.lifecycle-stage.done span{background:#e2f6e9;border-color:#73bf8d}.lifecycle-stage.current{color:#b66b08}.lifecycle-stage.current span{background:#fff3d8;border-color:#e9a43c;box-shadow:0 0 0 5px rgba(233,164,60,.14)}
.smart-next-action{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;text-decoration:none;border:1px solid #dce2e8;background:#f8fafc;color:inherit}.smart-next-action:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(30,41,59,.09)}.smart-next-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:white;font-size:23px}.smart-next-action small,.smart-next-action b,.smart-next-action em{display:block}.smart-next-action small{font-size:10px;letter-spacing:.11em;color:#788392}.smart-next-action b{font-size:18px;margin:2px 0}.smart-next-action em{font-style:normal;color:#657080;font-size:13px}.smart-next-action>strong{font-size:26px}.smart-next-action.done{background:#edf8f1;border-color:#b9dfc7}.smart-next-action.ai,.smart-next-action.review{background:#f6f1ff;border-color:#d9c8fa}.smart-next-action.send{background:#edf6ff;border-color:#c9dff5}.smart-next-action.billing{background:#fff8e7;border-color:#f2dca5}
.photo-groups{display:grid;gap:16px}.photo-group{padding:12px;border:1px solid #e4e8ed;border-radius:14px;background:#fafbfc}.photo-group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.photo-group-head small,.photo-group-note{color:#778291}.photo-group-note{font-size:12px;margin-top:12px}.action-timeline{padding:8px 4px 4px}.action-timeline-item{display:grid;grid-template-columns:18px 1fr;gap:12px;position:relative;padding:0 0 18px}.action-timeline-item:before{content:"";position:absolute;left:7px;top:16px;bottom:0;width:2px;background:#e1e6eb}.action-timeline-item:last-child:before{display:none}.action-timeline-dot{position:relative;z-index:1;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid #7891a8;margin-top:3px}.action-timeline-item time{display:block;color:#7b8793;font-size:12px}.action-timeline-item b{display:block;margin:2px 0}.action-timeline-item p{margin:0;color:#5f6b76}
@media(max-width:900px){.lifecycle-track{grid-template-columns:repeat(2,1fr);row-gap:18px}.lifecycle-stage:nth-child(2):before,.lifecycle-stage:nth-child(4):before{right:50%}.lifecycle-stage:nth-child(3):before{left:50%}}

/* DLM 3.3G · progrés accionable */
.dash-progress-block[data-progress-href]{cursor:pointer;border-radius:10px;padding:5px 7px;margin:-5px -7px;transition:background .15s ease,transform .15s ease}
.dash-progress-block[data-progress-href]:hover{background:#f1f5f9;transform:translateY(-1px)}
.dash-progress-block[data-progress-href]:focus{outline:2px solid #0ea5e9;outline-offset:2px}


/* DLM 3.3H · Expedient net: tancat per defecte, sense duplicats */
.expedient-summary-cards{grid-template-columns:repeat(4,minmax(130px,1fr));}
.no-duplicates-note{border:1px solid #bbf7d0;background:linear-gradient(90deg,#f0fdf4,#fff);padding:14px 18px;}
.no-duplicates-note>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.no-duplicates-note b{color:#15803d;font-size:17px}.no-duplicates-note span{color:#475569;font-size:13px}
#dades-expedient summary,#adjuntar-fotos summary{cursor:pointer}
.expedient-live-panel{border-left:6px solid #16a34a;background:linear-gradient(180deg,#ffffff,#fbfefc)}
.expedient-live-panel .smart-next-action{max-width:100%}
.mobile-pc-only summary small{white-space:nowrap}
@media(max-width:900px){.expedient-summary-cards{grid-template-columns:repeat(2,1fr)}}

/* =========================================================
   DLM 3.4A · NOU DISSENY GLOBAL
   Inspirat en la maqueta aprovada: sidebar fosc + workspace SaaS.
   Canvi visual; la lògica funcional es manté.
   ========================================================= */
:root{
  --dlm-navy:#0c2336;
  --dlm-navy-2:#102f48;
  --dlm-navy-3:#173c59;
  --dlm-green:#16a34a;
  --dlm-green-soft:#eaf8ef;
  --dlm-page:#f6f8fb;
  --dlm-card:#ffffff;
  --dlm-border:#e3e8ef;
  --dlm-text:#102033;
  --dlm-muted:#66768a;
  --dlm-shadow:0 4px 18px rgba(15,35,55,.055);
}
body{background:var(--dlm-page);color:var(--dlm-text)}
.dlm-app-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}
.dlm-sidebar{position:fixed;left:0;top:0;bottom:0;width:220px;background:linear-gradient(180deg,#0b2235 0%,#102a40 100%);color:#fff;display:flex;flex-direction:column;z-index:20;box-shadow:8px 0 24px rgba(10,30,48,.08)}
.dlm-brand{display:block;color:#fff;text-decoration:none;padding:24px 24px 21px;border-bottom:1px solid rgba(255,255,255,.08)}
.dlm-brand strong{display:block;font-size:38px;letter-spacing:.04em;line-height:1;font-weight:850}.dlm-brand span{display:block;font-size:8px;letter-spacing:.12em;margin-top:6px;color:#dce8f1;font-weight:750}
.dlm-side-nav{padding:14px 0 110px;overflow:auto}.dlm-side-label{padding:18px 20px 7px;font-size:10px;letter-spacing:.08em;color:#9fb4c4;font-weight:800}
.dlm-side-link{display:flex;align-items:center;gap:11px;padding:10px 18px;color:#e8f0f6;text-decoration:none;border-left:3px solid transparent;font-size:13px;font-weight:650;transition:.15s}.dlm-side-link>span{width:18px;text-align:center;color:#c8d8e4}.dlm-side-link:hover{background:rgba(255,255,255,.055);color:#fff}.dlm-side-link.active{background:#173a55;border-left-color:#22c55e;color:#fff}.dlm-side-link.active>span{color:#4ade80}
.dlm-side-footer{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:rgba(6,20,32,.24);border-top:1px solid rgba(255,255,255,.08);display:grid;gap:5px;font-size:11px}.dlm-side-footer span{color:#a8c0d0}.dlm-side-footer i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22c55e;margin-right:6px}
.dlm-main-shell{grid-column:2;min-width:0}.dlm-topbar{height:64px;position:sticky;top:0;z-index:15;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--dlm-border);display:flex;align-items:center;padding:0 30px;gap:18px}.dlm-topbar-title{font-size:16px;font-weight:800;flex:1}.dlm-topbar-actions{display:flex;align-items:center;gap:10px}.desktop-context-pill{font-size:12px;border:1px solid #d9e1e8;background:#fff;border-radius:999px;padding:6px 10px;color:#405366;font-weight:750}.dlm-topbar .logout-form{margin:0}.dlm-topbar .logout-form button{background:#10283c;padding:7px 12px;font-size:12px}.dlm-topbar-brand-mobile{display:none}
.dlm-workspace.container{max-width:none;margin:0;padding:22px 28px 0}.page-content{max-width:1500px;margin:0 auto}.footer{margin:30px -28px 0;padding:16px 24px;background:#10283c;color:#d7e2ea;font-size:11px;letter-spacing:.03em}
.desktop-module-nav,.desktop-only-nav{display:none!important}

/* Cards i panells globals */
.panel,.card{border-color:var(--dlm-border);box-shadow:var(--dlm-shadow);border-radius:14px}.panel{padding:16px;margin:12px 0}.card{border-radius:13px}.panel h2,.panel h3{color:#102033}.muted{color:var(--dlm-muted)}
.btn,button{background:#0d5a87;border-radius:9px;font-weight:700}.btn:hover,button:hover{filter:brightness(.96)}button.secondary,.btn.secondary{background:#eef1f5;color:#1f3447}

/* Desplegables estil SaaS: compactes i inequívocament clicables */
details.panel.dlm-desplegable,details.panel.mobile-collapse-panel{padding:0;overflow:hidden;border-left:1px solid var(--dlm-border)!important;background:#fff!important}
details.panel.dlm-desplegable>summary,details.panel.mobile-collapse-panel>summary{list-style:none;cursor:pointer;min-height:58px;padding:15px 18px;display:flex;align-items:center;gap:12px;font-weight:800;color:#14283c;background:#fff;position:relative}
details.panel.dlm-desplegable>summary::-webkit-details-marker,details.panel.mobile-collapse-panel>summary::-webkit-details-marker{display:none}
details.panel.dlm-desplegable>summary:after,details.panel.mobile-collapse-panel>summary:after{content:'⌄';margin-left:8px;width:34px;height:32px;border:1px solid #b9d9c2;border-radius:8px;display:grid;place-items:center;color:#164f2c;font-size:18px;transition:transform .15s}
details.panel.dlm-desplegable[open]>summary:after,details.panel.mobile-collapse-panel[open]>summary:after{transform:rotate(180deg)}
details.panel.dlm-desplegable>summary>span,details.panel.mobile-collapse-panel>summary>span{flex:1;font-size:16px}details.panel.dlm-desplegable>summary>small,details.panel.mobile-collapse-panel>summary>small{background:#f0f2f5;color:#607083;border-radius:8px;padding:5px 9px;font-size:11px}
details.panel.dlm-desplegable[open]>summary,details.panel.mobile-collapse-panel[open]>summary{border-bottom:1px solid #edf0f3}.dlm-details-body,.details-body{padding:16px 18px 18px}

/* Identitat de l'expedient */
.expedient-identity-card{border:0;background:transparent;box-shadow:none;padding:0 2px;margin:0 0 10px}.expedient-identity-row>div:first-child h2{font-size:22px;color:#0f2235;margin:0 0 5px}.expedient-identity-row>div:first-child .muted{font-size:13px}.expedient-identity-row>.actions{justify-content:flex-end}.expedient-identity-row>.actions .btn,.expedient-identity-row>.actions button{font-size:12px;padding:8px 10px}.expedient-identity-card .path{display:none}

/* Expedient viu: gran targeta central com la maqueta */
.expedient-live-panel{border:1px solid var(--dlm-border)!important;background:#fff!important;border-radius:15px;padding:20px 22px;box-shadow:var(--dlm-shadow)}.expedient-live-head{border-bottom:1px solid #edf1f4;padding-bottom:12px}.expedient-live-head h3{font-size:20px}.expedient-live-head .field-eyebrow{color:#16803b;letter-spacing:.08em}.live-status-dot{background:#e9f8ef!important;color:#16803b}
.lifecycle-track{margin:24px 0 20px}.lifecycle-stage{color:#8492a0}.lifecycle-stage:before{height:2px;top:18px}.lifecycle-stage span{width:38px;height:38px;background:#eef1f4;border:0;color:#73808d}.lifecycle-stage.done{color:#174d2a}.lifecycle-stage.done:before{background:#22a447}.lifecycle-stage.done span{background:#159447;color:white;border:0}.lifecycle-stage.current span{background:#eaf8ef;border:2px solid #22a447;color:#16803b;box-shadow:0 0 0 5px rgba(34,164,71,.10)}
.smart-next-action{max-width:420px;margin-left:auto;background:#0e4f79!important;border:0!important;color:#fff!important;grid-template-columns:42px 1fr auto;padding:13px 15px}.smart-next-action small,.smart-next-action em{color:#d9e8f3!important}.smart-next-icon{background:rgba(255,255,255,.12);color:#fff;width:40px;height:40px}.smart-next-action b{font-size:16px}

/* Resum econòmic menys protagonista */
.expedient-summary-cards{grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px;margin:10px 0}.expedient-summary-cards .card{box-shadow:none;background:#fbfcfd;padding:11px 13px}.expedient-summary-cards .card span{font-size:11px;color:#768699;text-transform:uppercase;letter-spacing:.04em}.expedient-summary-cards .card b{font-size:17px;color:#18324a}

/* Grups de media i controls */
.ficha-trabajo-rapido{gap:12px}.ficha-trabajo-rapido details.panel{margin:0}.expedient-actions-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.expedient-actions-compact details.panel{margin:0}.quick-folder-grid button{min-height:56px}.no-duplicates-note{border:1px solid #c4ebcf;background:#f1fbf4;box-shadow:none}.no-duplicates-note b{color:#137a35}

/* Dashboard/agenda/peritats: mateix llenguatge visual */
.dashboard-clean-head,.agenda-panel,.company-panel,.peritats-company{border-radius:15px!important}.dashboard-clean-head h1,.agenda-panel h1{color:#10283c}.dash-exp-card,.agenda-work-card{box-shadow:none;border-color:#e4e9ef}.company-panel.company-andorrana,.peritats-company.company-andorrana{border-top-color:#16a34a}.company-panel.company-financera,.peritats-company.company-financera{border-top-color:#2563eb}

@media(max-width:900px){
  .dlm-app-shell{display:block}.desktop-app-sidebar{display:none!important}.dlm-main-shell{display:block}.dlm-topbar{height:58px;padding:0 14px}.dlm-topbar-brand-mobile{display:flex;align-items:baseline;gap:7px}.dlm-topbar-brand-mobile b{font-size:23px;color:#0d4f78}.dlm-topbar-brand-mobile span{font-size:12px;color:#607286}.dlm-topbar-title,.desktop-context-pill{display:none}.dlm-workspace.container{padding:12px 12px 0}.footer{margin:24px -12px 0}.mobile-field-nav{display:block}
  .expedient-identity-row{align-items:flex-start!important}.expedient-identity-row>.actions{display:none}.expedient-live-panel,.expedient-summary-cards{display:none!important}.expedient-actions-compact{grid-template-columns:1fr}.smart-next-action{max-width:none;margin:0}.panel{border-radius:14px}
}

/* =========================================================
   DLM 3.4B · DISSENY FIDEL A LA MAQUETA APROVADA
   Proporcions, jerarquia i components de la fitxa d'expedient.
   ========================================================= */
:root{
  --dlm34-navy:#0b2133;
  --dlm34-navy-active:#17364f;
  --dlm34-ink:#0d1b31;
  --dlm34-copy:#263955;
  --dlm34-muted:#63738a;
  --dlm34-line:#e3e8ee;
  --dlm34-green:#119447;
  --dlm34-page:#f7f9fb;
}
body{font-family:"Segoe UI",Inter,Arial,sans-serif;background:var(--dlm34-page);color:var(--dlm34-ink)}
svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Sidebar */
.dlm-app-shell{grid-template-columns:198px minmax(0,1fr)}
.dlm-sidebar{width:198px;background:linear-gradient(180deg,#0a2032 0%,#0c2940 100%);box-shadow:none;border-right:1px solid rgba(255,255,255,.04)}
.dlm-brand{height:76px;padding:12px 19px 10px;text-align:center;display:flex;flex-direction:column;justify-content:center}
.dlm-brand strong{font-size:43px;line-height:.9;letter-spacing:.015em;font-weight:800}
.dlm-brand span{font-size:7.5px;line-height:1;letter-spacing:.02em;margin-top:6px;color:#fff;font-weight:750}
.dlm-side-nav{padding:12px 0 90px}
.dlm-side-label{padding:18px 18px 7px;font-size:10px;letter-spacing:.02em;color:#bccad5;font-weight:500}
.dlm-side-link{height:39px;padding:0 18px;gap:11px;border-left-width:3px;font-size:13px;font-weight:500;color:#f0f5f8}
.dlm-side-link>span{width:auto;text-align:left;color:inherit}
.dlm-side-link>span:last-child{min-width:0;white-space:nowrap}
.dlm-side-link .dlm-nav-icon{width:18px;min-width:18px;height:18px;display:grid;place-items:center;color:#e4edf3}
.dlm-side-link .dlm-nav-icon svg{width:18px;height:18px}
.dlm-side-link.active{background:linear-gradient(90deg,#173a55,#17344c);border-left-color:#24d05f;color:#fff}
.dlm-side-link.active .dlm-nav-icon{color:#5cf18a}
.dlm-side-footer{padding:15px 18px 18px;font-size:12px;background:rgba(5,17,27,.2)}
.dlm-side-footer b{font-weight:500}.dlm-side-footer span{color:#d6e1e8}.dlm-side-footer i{width:9px;height:9px}

/* Topbar */
.dlm-main-shell{grid-column:2}
.dlm-topbar{height:60px;padding:0 27px;background:#fff;border-bottom:1px solid #e6eaee;display:grid;grid-template-columns:190px minmax(0,1fr) 190px;gap:14px}
.dlm-topbar-back{justify-self:start}.dlm-topbar-back a{display:flex;align-items:center;gap:7px;color:#0b4d79;text-decoration:none;font-size:13px;font-weight:650}
.dlm-topbar-back svg{width:18px;height:18px;stroke-width:2}
.dlm-topbar-title{display:flex;justify-content:center;align-items:center;gap:13px;font-size:18px;color:#0c172a;min-width:0}
.dlm-topbar-title strong{font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dlm-company-chip{padding:6px 12px;border-radius:7px;font-size:12px;font-weight:750;letter-spacing:.025em}
.dlm-company-chip.company-andorrana{background:#d9f3df;color:#15733a}.dlm-company-chip.company-financera{background:#dbeafe;color:#1d4ed8}
.dlm-topbar-actions{justify-self:end;display:flex;align-items:center;gap:14px}.dlm-topbar-actions .logout-form{margin:0}
.desktop-context-pill{border:0;background:transparent;border-radius:0;padding:0;display:flex;align-items:center;gap:8px;font-size:13px;color:#0d1b31;font-weight:600}
.desktop-context-pill svg{width:20px;height:20px}
.dlm-help{width:20px;height:20px;display:grid;place-items:center;border:1.7px solid #142238;border-radius:50%;text-decoration:none;color:#142238;font-size:13px;font-weight:800}
.dlm-user-menu{display:flex;align-items:center;gap:7px;background:transparent!important;padding:0!important;color:#102136!important;border-radius:0!important}
.dlm-user-menu>span{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#102136;color:#fff;font-size:12px;font-weight:700}
.dlm-user-menu svg{width:16px;height:16px}

/* Workspace */
.dlm-workspace.container{padding:0 22px;max-width:none;margin:0;min-height:calc(100vh - 60px);display:flex;flex-direction:column}
.page-content{max-width:1500px;width:100%;margin:0 auto;flex:1}
.expedient-page .page-content{max-width:none}
.footer{height:52px;margin:20px -22px 0;padding:0 24px;display:flex;align-items:center;justify-content:center;gap:8px;background:#0d2940;color:#fff;font-size:13px;letter-spacing:0}
.footer span{opacity:.72}

/* Files superiors */
.expedient-screen{padding-top:5px}
.expedient-top-actions{display:grid;gap:8px}
.expedient-top-actions details.panel{margin:0;border-radius:10px;box-shadow:0 2px 8px rgba(15,35,55,.045)}
details.panel.dlm-desplegable>summary{min-height:59px;padding:12px 20px;gap:13px}
details.panel.dlm-desplegable>summary>span{flex:0 0 auto;font-size:inherit}
details.panel.dlm-desplegable>summary>.expedient-row-copy{flex:1 1 auto;min-width:0}
.expedient-top-toggle>summary{min-height:72px!important}
.expedient-row-icon{width:22px;height:22px;display:grid;place-items:center;color:#526984;flex:0 0 22px!important}
.expedient-row-icon svg{width:22px;height:22px}
.drive-mark svg{stroke:none}.drive-mark .drive-blue{fill:#2877c7}.drive-mark .drive-green{fill:#1b9c51}.drive-mark .drive-yellow{fill:#f5bd24}
.expedient-row-copy{display:flex;flex-direction:column;gap:4px;font-style:normal}
.expedient-row-copy b{font-size:16px;font-weight:750;color:#101c30;line-height:1.15}
.expedient-row-copy em{font-size:12px;font-weight:400;font-style:normal;color:#4e6078;line-height:1.25}
details.panel.dlm-desplegable>summary>small{margin-left:auto;padding:5px 10px;border-radius:7px;background:#eef0f3;color:#56657a;font-size:11px;font-weight:500}
details.panel.dlm-desplegable>summary:after{content:'⌄';margin-left:14px;width:45px;height:36px;border:1.5px solid #17a443;border-radius:6px;color:#102f4a;font-size:20px;background:#fff}
details.panel.dlm-desplegable[open]>summary:after{transform:rotate(180deg)}
.drive-actions-head{justify-content:space-between;align-items:center}.quick-folder-grid{margin-top:14px}

/* Targeta principal */
.expedient-overview-card{margin:16px 0 0!important;padding:18px 18px 20px!important;border-radius:13px!important;display:grid;grid-template-columns:278px minmax(0,1fr) 220px;gap:22px;min-height:254px;align-items:stretch;background:#fff!important;border:1px solid var(--dlm34-line)!important;box-shadow:0 3px 12px rgba(14,35,55,.05)!important}
.expedient-overview-data{padding-right:19px;border-right:1px solid #dfe4e9;min-width:0}
.expedient-ref-line{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.expedient-ref-line h1{margin:0;font-size:22px;line-height:1.15;letter-spacing:.005em;color:#0d1b31;font-weight:800}
.expedient-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;background:#daf3df;color:#14743a;border-radius:7px;font-size:11px;font-weight:700;white-space:nowrap}
.expedient-status i{width:8px;height:8px;border-radius:50%;background:#149447;box-shadow:inset 0 0 0 2px #bfe8ca}.expedient-status.closed{background:#eef1f4;color:#516174}.expedient-status.closed i{background:#7b8795;box-shadow:none}
.expedient-date{margin:7px 0 18px;color:#344a65;font-size:13px}
.expedient-essential-data{display:grid;gap:11px}.expedient-essential-data>div{display:flex;align-items:center;gap:11px;color:#0f2035;font-size:13px;min-width:0}.expedient-essential-data svg{width:19px;height:19px;flex:0 0 19px;color:#50657d}.expedient-essential-data span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.expedient-lifecycle-area{min-width:0;padding-top:1px}.expedient-lifecycle-area h2{font-size:15px;margin:0 0 30px;display:flex;align-items:center;gap:8px;color:#101d31}.expedient-lifecycle-area h2 svg{width:15px;height:15px}
.lifecycle-track.lifecycle-reference{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));margin:0;gap:0}
.lifecycle-reference .lifecycle-stage{position:relative;text-align:center;color:#9ba4af;min-width:0}
.lifecycle-reference .lifecycle-stage:before{content:"";position:absolute;z-index:0;top:21px;left:0;right:0;height:2px;background:#d8dde2}
.lifecycle-reference .lifecycle-stage:first-child:before{left:50%}.lifecycle-reference .lifecycle-stage:last-child:before{right:50%}
.lifecycle-reference .lifecycle-stage.done:before{background:#19a24b}.lifecycle-reference .lifecycle-stage.current:before{background:linear-gradient(90deg,#19a24b 0 50%,#d8dde2 50%)}
.lifecycle-reference .lifecycle-icon{position:relative;z-index:1;width:43px;height:43px;margin:0 auto 12px;display:grid;place-items:center;border-radius:50%;background:#c8cdd3;color:#fff;border:0;box-shadow:0 1px 2px rgba(15,23,42,.1)}
.lifecycle-reference .lifecycle-icon svg{width:20px;height:20px;stroke-width:1.7}
.lifecycle-reference .lifecycle-stage.done .lifecycle-icon{background:#0e9844;color:#fff}.lifecycle-reference .lifecycle-stage.current .lifecycle-icon{background:#eef8f1;color:#159447;border:2px solid #159447;box-shadow:0 0 0 4px rgba(21,148,71,.08)}
.lifecycle-reference .lifecycle-stage.deferred{color:#9a650a}.lifecycle-reference .lifecycle-stage.deferred .lifecycle-icon{background:#fff5dc;color:#9a650a;border:2px solid #e6b95d}.lifecycle-reference .lifecycle-stage.deferred small{color:#9a650a;font-weight:700}
.lifecycle-reference .lifecycle-stage b{display:block;font-size:12px;color:#0f1c30;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lifecycle-reference .lifecycle-stage small{display:block;margin-top:8px;font-size:11px;line-height:1.35;color:#42536b;font-weight:400}

.expedient-recommended-action{padding-top:3px;display:flex;flex-direction:column;align-items:stretch}.expedient-recommended-action>span{font-size:11px;color:#52627a;margin:0 0 12px}
.recommended-action-button{min-height:56px;padding:0 16px;display:flex;align-items:center;gap:12px;border-radius:5px;background:linear-gradient(135deg,#0c4f7b,#0c456d);color:#fff;text-decoration:none;box-shadow:0 5px 10px rgba(10,70,108,.14)}
.recommended-action-button svg{width:23px;height:23px;flex:0 0 23px}.recommended-action-button b{font-size:15px;line-height:1.2}.expedient-recommended-action p{margin:14px 0 0;color:#2c405c;font-size:12px;line-height:1.55}

/* Pestanyes */
.expedient-tabs{height:59px;display:flex;align-items:flex-end;gap:0;border-bottom:1px solid #e3e7eb;overflow-x:auto;overflow-y:hidden}
.expedient-tabs a{height:59px;padding:0 17px;display:flex;align-items:center;gap:9px;color:#263a55;text-decoration:none;font-size:13px;white-space:nowrap;border-bottom:2px solid transparent}
.expedient-tabs a:first-child{padding-left:13px}.expedient-tabs a:hover{background:#fbfcfd;color:#0e7f3c}.expedient-tabs a.active{color:#0a823c;border-bottom-color:#139d49}
.expedient-tabs svg{width:19px;height:19px;color:#566b85}
.expedient-tabs a.active svg{color:#0d9444}

/* Files compactes */
.expedient-accordion-stack{display:grid;gap:5px;padding-top:11px}
.expedient-accordion-stack>details.panel{margin:0;border-radius:9px;box-shadow:0 1px 5px rgba(15,35,55,.04)}
.expedient-accordion-stack>details.panel>summary{min-height:58px}
.expedient-accordion-stack>details.panel>summary:after{width:45px;height:32px;border-radius:5px}
.expedient-accordion-stack .details-body{border-top:1px solid #edf0f3}
.inner-details{margin:14px 0 0;border:1px solid #dfe5eb;border-radius:10px;background:#fbfcfd;overflow:hidden}
.inner-details>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;color:#173049;font-weight:750}.inner-details>summary::-webkit-details-marker{display:none}.inner-details>summary:after{content:'⌄';font-size:18px;color:#28764a}.inner-details[open]>summary{border-bottom:1px solid #e4e9ee;background:#fff}.inner-details[open]>summary:after{transform:rotate(180deg)}
.inner-details>*:not(summary){margin-left:15px;margin-right:15px}.inner-details>form,.inner-details>.grid,.inner-details>.actions,.inner-details>.photo-groups{margin-top:15px;margin-bottom:15px}
.expedient-full-data{padding:4px 0}.expedient-full-data label{display:block;margin-bottom:4px}.expedient-full-data>div>div{font-size:13px;color:#152a41}
.checklist-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.checklist-head h3{margin:0 0 5px}.checklist-percent-box{min-width:112px;text-align:center;padding:10px;border-radius:10px;background:#f1f8f3;color:#16743b}.checklist-percent-box strong,.checklist-percent-box span{display:block}.checklist-percent-box strong{font-size:23px}.checklist-percent-box span{font-size:11px}
.checklist-progress-line{height:7px;border-radius:99px;background:#e6eaee;overflow:hidden;margin:13px 0}.checklist-progress-line>div{height:100%;background:#159447;border-radius:99px}
.compact-checklist .checkmark{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font-size:14px;background:#fff}.compact-checklist .ok .checkmark{background:#159447;color:#fff}.compact-checklist .ko .checkmark{background:#f59e0b;color:#fff}
.document-actions{margin-bottom:14px}.table-scroll{overflow-x:auto;border:1px solid #e4e8ed;border-radius:10px}.table-scroll table{margin:0}
.expedient-management-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.expedient-management-grid>section{padding:14px;border:1px solid #e2e7ec;background:#fbfcfd;border-radius:10px}.expedient-management-grid h3{font-size:14px;margin:0 0 10px}.expedient-management-grid form{display:grid;gap:8px}.danger-inner{border-color:#f2c7c7;background:#fffafa}.danger-inner>summary{color:#9b2525}.danger-inner form{display:grid;gap:10px;margin-bottom:15px}
.detected-doc-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.detected-doc{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #e2e7ec;border-radius:9px;background:#fafbfc}.detected-doc>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#e8ebef;color:#697889;font-weight:800}.detected-doc.ok{background:#f1fbf4;border-color:#c7ead1}.detected-doc.ok>span{background:#159447;color:#fff}.detected-doc b,.detected-doc small{display:block}.detected-doc b{font-size:12px}.detected-doc small{font-size:10px;color:#6a788b;margin-top:2px}
.document-work-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr);gap:12px}.document-work-grid .inner-details{min-width:0}.media-head{justify-content:space-between;align-items:center}.media-head h3{margin:0 0 4px}.attach-grid{align-items:end;grid-template-columns:220px minmax(260px,1fr) auto}.attach-grid button{min-height:40px}
.no-duplicates-note{margin:18px 0 0!important;min-height:82px;padding:14px 18px!important;display:grid;grid-template-columns:1.05fr 1.55fr;gap:26px;align-items:center;border-radius:10px!important;background:linear-gradient(90deg,#f1fbf4,#f9fdfb)!important;border:1px solid #9cddb0!important}
.no-duplicates-main{display:flex!important;align-items:center!important;gap:14px!important;flex-wrap:nowrap!important}.no-duplicates-check{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:2px solid #159447;border-radius:50%;color:#159447;font-size:20px;font-weight:800}.no-duplicates-main b,.no-duplicates-main em{display:block}.no-duplicates-main b{font-size:16px}.no-duplicates-main em{font-size:11px;font-style:normal;color:#41536a;margin-top:5px;line-height:1.3}
.no-duplicates-rules{display:grid!important;grid-template-columns:1fr 1fr;gap:9px 24px!important;color:#1d4b33;font-size:12px}.no-duplicates-rules span{color:#1c4a33!important}

@media(max-width:1250px) and (min-width:901px){
  .dlm-app-shell{grid-template-columns:190px minmax(0,1fr)}.dlm-sidebar{width:190px}.dlm-topbar{grid-template-columns:140px minmax(0,1fr) 165px;padding:0 20px}
  .dlm-workspace.container{padding-left:16px;padding-right:16px}.footer{margin-left:-16px;margin-right:-16px}
  .expedient-overview-card{grid-template-columns:230px minmax(0,1fr) 195px;gap:15px;padding-left:15px!important;padding-right:15px!important}.expedient-ref-line h1{font-size:19px}.expedient-essential-data>div{font-size:12px}
  .lifecycle-reference .lifecycle-icon{width:37px;height:37px;margin-bottom:9px}.lifecycle-reference .lifecycle-stage:before{top:18px}.lifecycle-reference .lifecycle-stage b{font-size:10px}.lifecycle-reference .lifecycle-stage small{font-size:9px}
  .expedient-tabs a{padding-left:10px;padding-right:10px}.expedient-management-grid{grid-template-columns:1fr 1fr}.detected-doc-grid{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:900px){
  .dlm-app-shell{display:block}.desktop-app-sidebar{display:none!important}.dlm-main-shell{display:block}.dlm-topbar{height:58px;padding:0 14px;display:flex}.dlm-topbar-brand-mobile{display:flex;align-items:baseline;gap:7px}.dlm-topbar-back,.dlm-topbar-title,.desktop-context-pill,.dlm-help{display:none}.dlm-topbar-actions{margin-left:auto}.dlm-user-menu>span{width:31px;height:31px}.dlm-user-menu svg{display:none}
  .dlm-workspace.container{padding:12px 12px 0;min-height:calc(100vh - 58px)}.footer{height:auto;min-height:50px;margin:24px -12px 0;padding:12px 16px;font-size:11px;flex-wrap:wrap;text-align:center}.expedient-screen{padding-top:0}
  .expedient-top-actions,.expedient-overview-card,.expedient-tabs{display:none!important}.expedient-accordion-stack{padding-top:0}.expedient-accordion-stack>details.panel{border-radius:12px}
  .documents-detected-panel>summary .expedient-row-copy em{display:none}.documents-detected-panel>summary{padding-left:14px!important;padding-right:10px!important}.documents-detected-panel>summary:after{width:36px!important}.documents-detected-panel>summary>small{display:none}
  .detected-doc-grid{grid-template-columns:1fr 1fr}.document-work-grid{grid-template-columns:1fr}.attach-grid{grid-template-columns:1fr}.inner-details>summary{font-size:14px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expedient-management-grid{grid-template-columns:1fr}.no-duplicates-note{display:none!important}
}

/* =========================================================
   DLM 3.4C · ESTIL IDÈNTIC A LA MAQUETA APROVADA
   Marc global, dashboard i comportament en pantalles baixes.
   ========================================================= */
:root{
  --dlm-ref-sidebar:#0b2437;
  --dlm-ref-sidebar-bottom:#0d2b42;
  --dlm-ref-active:#183a54;
  --dlm-ref-green:#159447;
  --dlm-ref-blue:#0c4f7a;
  --dlm-ref-ink:#0d1a2e;
  --dlm-ref-copy:#31435d;
  --dlm-ref-muted:#607087;
  --dlm-ref-line:#e2e7ec;
  --dlm-ref-page:#f8fafc;
  --dlm-ref-shadow:0 2px 9px rgba(17,40,61,.045);
}

html{background:var(--dlm-ref-sidebar);scroll-behavior:smooth}
body{font-family:Arial,"Segoe UI",sans-serif;background:var(--dlm-ref-page);color:var(--dlm-ref-ink);font-size:14px}

/* La columna lateral replica la maqueta y nunca tapa su propio peu. */
.dlm-app-shell{grid-template-columns:192px minmax(0,1fr)}
.dlm-sidebar{width:192px;background:linear-gradient(180deg,var(--dlm-ref-sidebar) 0%,var(--dlm-ref-sidebar-bottom) 100%)}
.dlm-brand{height:76px;padding:12px 18px 10px;border-bottom:1px solid rgba(255,255,255,.055)}
.dlm-brand strong{font-family:Arial,"Segoe UI",sans-serif;font-size:43px;line-height:.88;letter-spacing:.018em}
.dlm-brand span{font-size:7px;letter-spacing:.015em;margin-top:7px}
.dlm-side-nav{flex:1;min-height:0;padding:10px 0 12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
.dlm-side-nav::-webkit-scrollbar{width:0;height:0}
.dlm-side-label{padding:16px 18px 6px;font-size:9px;line-height:1.2;letter-spacing:.01em;color:#c2cdd6;font-weight:400}
.dlm-side-link{height:37px;padding:0 18px;gap:10px;border-left-width:3px;font-size:12px;line-height:1;font-weight:500;color:#f5f8fa}
.dlm-side-link .dlm-nav-icon,.dlm-side-link .dlm-nav-icon svg{width:17px;height:17px;min-width:17px}
.dlm-side-link:hover{background:rgba(255,255,255,.04)}
.dlm-side-link.active{background:linear-gradient(90deg,#173c57,var(--dlm-ref-active));border-left-color:#25d35e}
.dlm-side-link.active .dlm-nav-icon{color:#58ee86}
.dlm-side-footer{position:static;flex:0 0 auto;margin-top:auto;padding:14px 18px 17px;background:rgba(5,18,28,.18);font-size:11px;line-height:1.25}
.dlm-side-footer i{width:8px;height:8px}

/* Capçalera exacta: centre real independentment del text dels extrems. */
.dlm-main-shell{grid-column:2}
.dlm-topbar{height:60px;padding:0 26px;grid-template-columns:190px minmax(0,1fr) 190px;background:#fff;backdrop-filter:none;border-bottom-color:#e7ebef}
.dlm-topbar-title{font-size:17px;gap:12px}
.dlm-topbar-title strong{font-weight:700}
.dlm-topbar-back a{font-size:12px;font-weight:600}
.dlm-topbar-actions{gap:13px}
.desktop-context-pill{font-size:12px;font-weight:500}
.dlm-help{width:20px;height:20px;font-size:12px}
.dlm-company-chip{font-size:11px;padding:6px 11px}
.dlm-user-menu{list-style:none;cursor:pointer}
.dlm-user-menu::-webkit-details-marker{display:none}
.dlm-user-menu::marker{content:""}
.dlm-user-menu>span{width:32px;height:32px;font-size:11px}
.dlm-user-menu svg{width:15px;height:15px;transition:transform .15s}
.dlm-account-menu{position:relative}
.dlm-account-menu[open] .dlm-user-menu svg{transform:rotate(180deg)}
.dlm-account-popover{position:absolute;right:0;top:43px;width:190px;padding:9px;background:#fff;border:1px solid var(--dlm-ref-line);border-radius:10px;box-shadow:0 14px 32px rgba(10,31,49,.16);display:grid;gap:2px;z-index:40}
.dlm-account-popover>b{padding:7px 9px 6px;color:var(--dlm-ref-muted);font-size:10px;text-transform:uppercase;letter-spacing:.055em}
.dlm-account-popover>a,.dlm-account-popover form button{display:block;width:100%;padding:9px;border-radius:7px;text-align:left;text-decoration:none;color:#172a40;background:#fff;font-size:12px;font-weight:600}
.dlm-account-popover>a:hover,.dlm-account-popover form button:hover{background:#f2f6f8;filter:none}
.dlm-account-popover form{margin:4px 0 0;padding-top:5px;border-top:1px solid #e9edf0}

/* Superfície de treball i components comuns. */
.dlm-workspace.container{padding:0 22px;min-height:calc(100vh - 60px);background:linear-gradient(180deg,#fff 0,#f8fafc 43%,#f8fafc 100%)}
.page-content{max-width:none}
.panel,.card{border:1px solid var(--dlm-ref-line);border-radius:11px;box-shadow:var(--dlm-ref-shadow);background:#fff}
.footer{height:62px;margin:24px -22px 0;background:linear-gradient(90deg,#0b2437,#0d2d46);font-size:12px;color:#fff}

/* Dashboard: mateixa escala, aire, vores i ombres de la fitxa de referència. */
.status-cards{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:16px 0 12px}
.status-cards .card{min-height:72px;padding:13px 14px;border-radius:11px;box-shadow:var(--dlm-ref-shadow);background:#fff!important;display:block}
.status-cards .card span{font-size:13px;line-height:1.15;color:#18273b}
.status-cards .card b{display:inline-block;margin-top:6px;font-size:22px;line-height:1;color:#07517e}
.status-cards .warning{border-left:5px solid #f4a313!important}
.status-cards .ok{border-left:5px solid var(--dlm-ref-green)!important}
.status-cards .moneycard{border-left:5px solid var(--dlm-ref-blue)!important}
.company-switch{gap:9px;margin:0 0 15px}
.company-switch .switch-btn{min-height:39px;padding:9px 15px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;font-size:13px;font-weight:700;background:#fff}
.company-switch .switch-btn.active{background:#0c5681;border-color:#0c5681}
.company-switch .agenda-hot{background:#f97316;color:#fff;border-color:#f97316;box-shadow:0 4px 10px rgba(249,115,22,.18)}
.company-switch .year-hot{background:#0d1c31;color:#fff;border-color:#0d1c31}
.filters-panel{position:static;margin:0 0 14px;padding:17px;border-radius:11px;box-shadow:var(--dlm-ref-shadow)}
.filters-grid{gap:10px}
.filters-grid label{display:block;margin-bottom:3px;font-size:11px;color:#31445d;font-weight:600}
.filters-grid input,.filters-grid select{height:39px;padding:8px 10px;border-color:#cdd8e4;border-radius:9px;font-size:12px;color:#17283d}
.filters-grid .filter-actions{height:39px}
.filters-grid .filter-actions button,.filters-grid .filter-actions .btn{height:39px;padding:0 12px;display:inline-flex;align-items:center;border-radius:8px;font-size:12px}

.dashboard-master-panel{padding:0!important;margin:0 0 12px!important;border:1px solid var(--dlm-ref-line)!important;border-left:1px solid var(--dlm-ref-line)!important;border-radius:11px!important;overflow:hidden;box-shadow:var(--dlm-ref-shadow)!important}
.dashboard-master-summary{min-height:84px;padding:17px 20px!important;border:0!important;list-style:none;background:#fff;display:flex;align-items:center}
.dashboard-master-summary::-webkit-details-marker{display:none}.dashboard-master-summary::marker{content:""}
.dashboard-master-summary h2{margin:0 0 5px;font-size:20px;line-height:1.2;color:#0d1a2e}
.dashboard-master-summary p{font-size:12px;color:#617087}
.dashboard-clean-count{padding:10px 13px;border-radius:10px;background:#f3f6f8;border:1px solid #e1e6eb;font-size:12px}
.dashboard-clean-count b{font-size:19px;color:#0b527d}
.dashboard-master-body{margin:0;padding:0 13px 13px;border-top:1px solid #edf0f3;background:#fbfcfd}
.dashboard-company-panel{border-radius:10px!important;box-shadow:none!important}
.dashboard-actions-desplegable{padding:0!important;margin:0!important;border-radius:11px!important;overflow:hidden;box-shadow:var(--dlm-ref-shadow)!important}
.dashboard-actions-desplegable>summary{min-height:58px!important;padding:11px 18px!important;list-style:none;background:#fff!important}
.dashboard-actions-desplegable>summary::-webkit-details-marker{display:none}.dashboard-actions-desplegable>summary::marker{content:""}.dashboard-actions-desplegable>summary:before{display:none!important}
.dashboard-actions-desplegable>summary>span{font-size:15px!important;color:#0e1c30}
.dashboard-actions-desplegable>summary>small{font-size:10px!important}
.dashboard-actions-desplegable>summary:after{width:43px!important;height:32px!important;border-radius:6px!important}

/* Ajustos finals de la fitxa per acostar-la píxel a píxel a la composició. */
.expedient-screen{padding-top:5px}
.expedient-overview-card{min-height:245px;margin-top:15px!important}
.expedient-tabs{height:55px}
.expedient-tabs a{height:55px;font-size:12px}
.expedient-accordion-stack{gap:5px;padding-top:11px}
.expedient-accordion-stack>details.panel>summary{min-height:56px}
.no-duplicates-note{min-height:77px}

@media(max-width:1280px) and (min-width:901px){
  .status-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
  .filters-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .filters-grid .wide{grid-column:span 2;min-width:0}
}

@media(max-height:760px) and (min-width:901px){
  .dlm-brand{height:68px}.dlm-brand strong{font-size:38px}.dlm-brand span{margin-top:5px}
  .dlm-side-nav{padding-top:7px}.dlm-side-label{padding-top:12px;padding-bottom:4px}.dlm-side-link{height:34px}
  .dlm-side-footer{padding-top:10px;padding-bottom:11px}
}

@media(max-width:900px){
  body{font-family:Arial,"Segoe UI",sans-serif}
  .dlm-topbar{height:58px;padding:0 14px}.dlm-account-popover{right:-4px;top:40px}
  .dlm-workspace.container{padding:12px 12px 0;background:#f8fafc}.footer{margin:24px -12px 0;min-height:50px;height:auto}
  .status-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}.status-cards .card{min-height:68px}
  .filters-grid{grid-template-columns:1fr 1fr}.filters-grid .wide{grid-column:1/-1;min-width:0}.filter-actions{grid-column:1/-1}
}

/* =========================================================
   DLM 3.4D · APP COMPLETA AMB L'ESTIL DE LA MAQUETA
   Un únic sistema visual per Dashboard, Agenda, Peritats i
   les pantalles generals. La barra lateral no canvia en 3.4D.
   ========================================================= */
:root{
  --dlm34d-navy:#0b2437;
  --dlm34d-blue:#0b4e78;
  --dlm34d-green:#139a48;
  --dlm34d-ink:#0d1b30;
  --dlm34d-copy:#30435e;
  --dlm34d-muted:#66758a;
  --dlm34d-line:#e2e7ec;
  --dlm34d-soft:#f8fafc;
  --dlm34d-shadow:0 2px 9px rgba(17,40,61,.045);
}

/* Estructura comuna de les pantalles principals. */
.workspace-screen{
  width:100%;
  padding-top:5px;
  display:grid;
  gap:6px;
}
.workspace-screen>.panel{margin:0}
.workspace-overview{
  margin-top:11px!important;
  padding:18px 18px 0!important;
  border:1px solid var(--dlm34d-line)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:var(--dlm34d-shadow)!important;
  overflow:hidden;
}
.workspace-overview-head{
  min-height:82px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:28px;
  align-items:start;
  padding:0 0 16px;
}
.workspace-heading{display:flex;align-items:flex-start;gap:14px;min-width:0}
.workspace-heading-icon{
  width:39px;height:39px;flex:0 0 39px;
  display:grid;place-items:center;
  border:1px solid #dce4eb;border-radius:9px;
  background:#f8fafc;color:#526982;
}
.workspace-heading-icon svg{width:21px;height:21px}
.workspace-heading-icon.amber{background:#fff8eb;color:#b46d00;border-color:#f8dfad}
.workspace-heading h1{margin:2px 0 5px;font-size:22px;line-height:1.15;color:var(--dlm34d-ink);font-weight:800;letter-spacing:.002em}
.workspace-heading p{margin:0;color:var(--dlm34d-copy);font-size:12px;line-height:1.45}
.workspace-eyebrow{display:block;margin:0 0 4px;color:#168340;font-size:9px;font-weight:800;letter-spacing:.09em}
.workspace-heading.compact h2{margin:2px 0 4px;font-size:18px}
.workspace-primary-action{display:flex;flex-direction:column;align-items:stretch;padding-top:1px}
.workspace-primary-action>span{margin:0 0 9px;color:#57677c;font-size:10px}
.workspace-primary-action>a{
  min-height:51px;padding:0 14px;
  display:flex;align-items:center;gap:11px;
  border-radius:5px;background:linear-gradient(135deg,#0c507b,#0b456c);
  color:#fff;text-decoration:none;box-shadow:0 5px 10px rgba(10,70,108,.13);
}
.workspace-primary-action>a:hover{filter:brightness(.98)}
.workspace-primary-action svg{width:21px;height:21px;flex:0 0 21px}
.workspace-primary-action b{font-size:14px;line-height:1.15}

/* Indicadors dins de la mateixa targeta, no com caixes alienes. */
.workspace-metrics{
  display:grid;
  border-top:1px solid #e8ecf0;
  margin:0 -18px;
  min-height:83px;
}
.dashboard-metrics{grid-template-columns:repeat(7,minmax(0,1fr))}
.agenda-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.peritats-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.workspace-metric{
  min-width:0;padding:15px 14px;
  display:flex;align-items:center;gap:10px;
  color:inherit;text-decoration:none;background:#fff;
  border-left:1px solid #e8ecf0;
  transition:background .15s ease;
}
.workspace-metric:first-child{border-left:0}
a.workspace-metric:hover{background:#f9fbfc}
.metric-icon{
  width:34px;height:34px;flex:0 0 34px;
  display:grid;place-items:center;border-radius:50%;
  background:#eaf3f8;color:#0c527d;
}
.metric-icon svg{width:18px;height:18px}
.metric-icon.green{background:#e8f7ed;color:#128640}
.metric-icon.amber{background:#fff3da;color:#b67200}
.metric-icon.red{background:#feeeee;color:#b73535}
.metric-icon.slate{background:#edf1f4;color:#617085}
.metric-copy{display:flex;min-width:0;flex-direction:column;gap:4px}
.metric-copy small{font-size:10px;line-height:1.2;color:#68778b;white-space:normal}
.metric-copy strong{font-size:20px;line-height:1;color:#0b4f79;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.workspace-metric.success .metric-copy strong{color:#13803d}
.workspace-metric.warning .metric-copy strong{color:#9b6200}
.workspace-metric.danger .metric-copy strong{color:#a92c2c}
.workspace-metric.archive .metric-copy strong{font-size:15px}

/* Pestanyes: mateixa línia fina i mateix verd que la fitxa. */
.workspace-tabs{
  min-height:55px;
  display:flex;align-items:flex-end;
  border-bottom:1px solid #e3e7eb;
  overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;
}
.workspace-tabs::-webkit-scrollbar{display:none}
.workspace-tabs a{
  height:55px;padding:0 15px;
  display:flex;align-items:center;gap:8px;
  border-bottom:2px solid transparent;
  color:#293d58;text-decoration:none;
  font-size:12px;font-weight:500;white-space:nowrap;
}
.workspace-tabs a:first-child{padding-left:13px}
.workspace-tabs a:hover{background:#fbfcfd;color:#0b813d}
.workspace-tabs a.active{color:#0b843e;border-bottom-color:#139d49}
.workspace-tabs svg{width:18px;height:18px;color:#566b84}
.workspace-tabs a.active svg{color:#0d9444}
.agenda-tabs .company-tab{height:34px;margin:0 3px 10px;padding:0 10px;border:1px solid #e0e6eb;border-radius:6px;background:#fff;font-size:10px}
.agenda-tabs .company-tab:first-of-type{margin-left:14px}
.agenda-tabs .company-tab.company-active{border-color:#a7dcb6;background:#eef9f1;color:#13773a}
.agenda-tabs .company-tab.company-active svg{color:#139447}

/* Files desplegables idèntiques a les de l'expedient. */
.workspace-accordion{
  margin:0!important;padding:0!important;
  border:1px solid var(--dlm34d-line)!important;
  border-left:1px solid var(--dlm34d-line)!important;
  border-radius:9px!important;
  background:#fff!important;box-shadow:0 1px 5px rgba(15,35,55,.04)!important;
  overflow:hidden;
}
.workspace-accordion>summary{min-height:58px!important;padding:11px 18px!important}
.workspace-accordion>summary:after{width:45px!important;height:32px!important;border-radius:5px!important}
.workspace-accordion>summary>.expedient-row-copy{flex:1 1 auto!important}
.workspace-accordion>summary>.expedient-row-copy b{font-size:15px}
.workspace-accordion>summary>.expedient-row-copy em{font-size:11px}
.workspace-accordion[open]>summary{background:#fff!important}
.workspace-accordion>.dlm-details-body{padding:14px 18px 17px;border-top:1px solid #edf0f3;background:#fbfcfd}
.dashboard-filter-panel,.agenda-filter-panel,.peritats-filter-panel{margin-bottom:2px!important}

/* Subnivells d'any, mes i companyia. */
.workspace-subaccordion{
  margin:7px 0 0;border:1px solid #e2e7ec;border-radius:9px;
  background:#fff;overflow:hidden;
}
.workspace-subaccordion>summary{
  min-height:55px;padding:10px 13px;
  display:flex;align-items:center;gap:11px;
  list-style:none;cursor:pointer;color:#172b42;
}
.workspace-subaccordion>summary::-webkit-details-marker{display:none}
.workspace-subaccordion>summary::marker{content:""}
.workspace-subaccordion>summary:after{
  content:'⌄';width:34px;height:30px;margin-left:6px;
  display:grid;place-items:center;border:1px solid #abd7b8;border-radius:5px;
  color:#144d2a;background:#fff;font-size:17px;transition:transform .15s;
}
.workspace-subaccordion[open]>summary:after{transform:rotate(180deg)}
.workspace-subaccordion[open]>summary{border-bottom:1px solid #e8ecf0;background:#fbfcfd}
.workspace-subaccordion>summary>.subaccordion-icon{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:7px;background:#f0f4f7;color:#526880}
.workspace-subaccordion>summary>.subaccordion-icon svg{width:17px;height:17px}
.workspace-subaccordion>summary>span:nth-child(2){min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.workspace-subaccordion>summary b{font-size:13px;color:#15283e}
.workspace-subaccordion>summary em{font-size:10px;color:#68778b;font-style:normal;font-weight:400}
.workspace-subaccordion>summary small{padding:4px 8px;border-radius:6px;background:#edf1f4;color:#5c6c80;font-size:10px;white-space:nowrap}

/* Dashboard. */
.dashboard-screen{gap:6px}
.dashboard-filter-panel .filters-grid{grid-template-columns:2fr repeat(5,minmax(105px,1fr)) auto}
.workspace-alert{margin:0!important;padding:15px 17px!important;border-color:#f0d7a4!important;background:#fffdf8!important}
.today-alert-head{margin-bottom:10px}
.dashboard-master-body{margin:0!important;padding:7px 12px 13px!important;display:grid;gap:7px;background:#fbfcfd!important}
.dashboard-company-panel{margin:0!important;padding:0!important;border:1px solid #e2e7ec!important;border-left:1px solid #e2e7ec!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important;overflow:hidden}
.dashboard-company-panel>summary,.dashboard-month-panel>summary{min-height:55px;padding:10px 13px}
.dashboard-company-panel.company-andorrana>summary .subaccordion-icon{background:#eaf7ee;color:#138541}
.dashboard-company-panel.company-financera>summary .subaccordion-icon{background:#eaf2fb;color:#2563a5}
.dashboard-company-body,.peritats-year-body{padding:0 11px 11px}
.dashboard-month-list{padding:8px 10px 10px;display:grid;gap:6px;background:#fbfcfd}
.dash-exp-card{
  min-height:58px;padding:9px 11px;
  grid-template-columns:minmax(0,1fr) 220px 58px;gap:12px;
  border-radius:8px;border-width:1px;border-left-width:4px;
  box-shadow:none;
}
.dash-exp-line b{font-size:13px}.dash-mat{font-size:13px}.dash-exp-sub{font-size:11px;margin-top:4px}
.dash-progress-text{font-size:10px;margin-bottom:4px}.dash-progress-text b{font-size:12px}.dash-progress-bar{height:6px}
.dash-see{padding:6px 8px;border-radius:6px;font-size:10px;background:#edf1f4}
.dashboard-actions-desplegable{margin-top:0!important}
.actions-summary-body{background:#fbfcfd!important}
.last-action-item{grid-template-columns:135px 155px minmax(0,1fr) auto;border-radius:7px;padding:7px 9px;background:#fff;font-size:11px}

/* Agenda. */
.agenda-screen{gap:6px}
.agenda-filter-panel .agenda-filters,.peritats-filter-panel .agenda-filters{grid-template-columns:2fr repeat(3,minmax(150px,1fr)) auto}
.agenda-day-panel{margin:0!important}
.agenda-day-panel.agenda-day-today>summary .expedient-row-icon{color:#b46c00}
.agenda-day-panel.agenda-day-overdue>summary .expedient-row-icon{color:#b52f2f}
.agenda-day-panel.agenda-day-tomorrow>summary .expedient-row-icon{color:#275f9f}
.agenda-day-panel>.agenda-day-content{padding:11px 12px 13px;background:#fbfcfd}
.agenda-section-title{margin:0 0 8px;font-size:9px;letter-spacing:.075em;color:#6a788b}
.agenda-card-list{gap:8px}
.agenda-work-card{
  padding:12px;border-radius:9px;
  border-color:#dfe5eb;border-left-width:4px;box-shadow:none;
  background:#fff!important;
}
.agenda-work-card.company-andorrana{border-left-color:#149848;background:linear-gradient(90deg,#f5fcf7,#fff 145px)!important}
.agenda-work-card.company-financera{border-left-color:#2c6db4;background:linear-gradient(90deg,#f4f8fd,#fff 145px)!important}
.agenda-work-header{margin-bottom:9px}
.agenda-title-line{gap:7px}.agenda-title-line .agenda-ref{font-size:14px}.agenda-title-line .agenda-mat{font-size:17px}
.agenda-subline{font-size:11px}.agenda-state-pill{padding:5px 8px;font-size:10px;font-weight:700}
.agenda-work-grid{grid-template-columns:minmax(255px,1.25fr) minmax(190px,.75fr) minmax(240px,.92fr) minmax(195px,.7fr);gap:8px}
.agenda-block{padding:9px;border-radius:8px;background:#f8fafc;border-color:#e4e9ee}
.agenda-block h3{font-size:12px;margin-bottom:7px}.agenda-info-full{padding:8px;border-radius:7px;margin-bottom:6px}.agenda-info-full b{font-size:11px}.agenda-info-line{gap:5px}.agenda-info-line .info-box{padding:7px;border-radius:7px;min-height:51px}.agenda-info-line .info-box b{font-size:11px}
.agenda-photo-strip{gap:5px}.agenda-photo-strip a{height:55px;border-radius:6px}.agenda-upload-form{gap:5px}.agenda-upload-form input[type=file]{font-size:10px;padding:6px;border-radius:6px}
.agenda-previsio-form{gap:5px}.agenda-previsio-form label{font-size:10px}.agenda-previsio-form input{height:34px;border-radius:6px;font-size:12px}.agenda-previsio-send{gap:5px;margin-top:6px;padding-top:6px}.agenda-previsio-send .mini{font-size:10px}
.agenda-quick-actions{gap:5px}.agenda-quick-actions .action-btn{font-size:10px;padding:6px 7px;border-radius:6px}.agenda-date-inline{gap:5px;padding-top:7px}.compact-date input{width:118px;height:32px;border-radius:6px;font-size:10px}.compact-date .mini{font-size:10px}

/* Peritats. */
.peritats-screen{gap:6px}
.peritats-company-panel{margin:0!important}
.peritats-company-panel.company-andorrana>summary .expedient-row-icon{color:#138541}
.peritats-company-panel.company-financera>summary .expedient-row-icon{color:#2c67a8}
.peritats-company-body{padding:7px 12px 13px!important;background:#fbfcfd!important}
.peritats-year{margin-top:7px}.peritats-year:first-child{margin-top:0}
.peritats-month{margin:6px 0 0 41px}
.peritats-month-body{padding:9px;background:#fbfcfd}
.peritats-desktop-table-wrap{border:1px solid #e3e8ed;border-radius:8px;background:#fff}
.peritats-table{margin:0;min-width:900px}
.peritats-table th{background:#f2f5f7;color:#43546a;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.peritats-table td{font-size:11px;color:#26394f}
.peritats-table th,.peritats-table td{padding:8px 9px}

/* Buit consistent. */
.workspace-empty{min-height:105px;margin:0!important;padding:18px!important;display:flex;align-items:center;gap:14px;border-radius:9px!important}
.workspace-empty-icon{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:50%;background:#eef4f7;color:#567087}
.workspace-empty-icon svg{width:20px;height:20px}.workspace-empty>div{min-width:0;flex:1}.workspace-empty h2{margin:0 0 5px;font-size:16px}.workspace-empty p{margin:0;color:#66758a;font-size:11px}
.workspace-empty-inline{padding:16px;color:#6b7889;font-size:11px;text-align:center}

/* La resta de la app comparteix les mateixes superfícies, formularis i taules. */
body:not(.expedient-page) .page-content>.panel:not(.workspace-overview):not(.workspace-accordion):not(.workspace-empty){
  border-radius:11px;border-color:var(--dlm34d-line);box-shadow:var(--dlm34d-shadow);
}
body:not(.expedient-page) .page-content>.panel:first-child h1,
body:not(.expedient-page) .page-content>.panel:first-child h2{font-size:21px;color:var(--dlm34d-ink);font-weight:800}
body:not(.expedient-page) .page-content>.panel p{color:var(--dlm34d-copy);font-size:12px;line-height:1.45}
body:not(.expedient-page) .page-content>.cards{gap:9px}
body:not(.expedient-page) .page-content>.cards>.card{min-height:72px;padding:13px 14px;border-radius:10px;background:#fff;box-shadow:var(--dlm34d-shadow)}
body:not(.expedient-page) .page-content>.cards>.card span{font-size:11px;color:#65748a}
body:not(.expedient-page) .page-content>.cards>.card b{font-size:20px}
body:not(.expedient-page) .page-content table{border:1px solid #e3e8ed;border-radius:8px}
body:not(.expedient-page) .page-content th{background:#f2f5f7;color:#43546a;font-size:11px;font-weight:700}
body:not(.expedient-page) .page-content td{color:#26394f;font-size:12px}
body:not(.expedient-page) .page-content input,
body:not(.expedient-page) .page-content select,
body:not(.expedient-page) .page-content textarea{border-color:#cdd8e3;border-radius:7px;font-size:12px}
body:not(.expedient-page) .page-content .btn,
body:not(.expedient-page) .page-content button{border-radius:6px;font-size:12px}

/* Bústia, Gmail, Microsoft 365 i assistents antics passen al mateix marc. */
body:not(.expedient-page) .page-content>.hero{
  min-height:112px;margin:16px 0 10px;padding:18px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;
  border:1px solid var(--dlm34d-line);border-left:1px solid var(--dlm34d-line);
  border-radius:13px;background:#fff;box-shadow:var(--dlm34d-shadow);
}
body:not(.expedient-page) .page-content>.hero h1{margin:0 0 6px;font-size:22px;line-height:1.15;color:var(--dlm34d-ink);font-weight:800}
body:not(.expedient-page) .page-content>.hero p{max-width:850px;margin:0;color:var(--dlm34d-copy);font-size:12px;line-height:1.5}
body:not(.expedient-page) .page-content>.hero .hero-badge{padding:8px 11px;border-radius:7px;background:#eef7f1;border:1px solid #cce7d4;color:#16733a;font-size:10px;font-weight:700;white-space:nowrap}
body:not(.expedient-page) .page-content>.grid2,
body:not(.expedient-page) .page-content>.gmail-help-grid,
body:not(.expedient-page) .page-content>.system-actions-grid,
body:not(.expedient-page) .page-content>.system-history-grid{gap:9px;margin:9px 0}
body:not(.expedient-page) .page-content>.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
body:not(.expedient-page) .page-content>.card,
body:not(.expedient-page) .page-content>.grid2>.card,
body:not(.expedient-page) .page-content>.gmail-help-grid>.card,
body:not(.expedient-page) .page-content>.system-actions-grid>.panel,
body:not(.expedient-page) .page-content>.system-history-grid>.panel{
  margin:0;padding:16px;border:1px solid var(--dlm34d-line);border-radius:10px;background:#fff;box-shadow:var(--dlm34d-shadow);
}
body:not(.expedient-page) .page-content>.card{margin:9px 0}
body:not(.expedient-page) .page-content>.card h2,
body:not(.expedient-page) .page-content>.grid2>.card h2,
body:not(.expedient-page) .page-content>.system-actions-grid>.panel h3{margin:0 0 7px;font-size:15px;color:var(--dlm34d-ink)}
body:not(.expedient-page) .page-content .card-head-row{align-items:flex-start}
body:not(.expedient-page) .page-content .button,
body:not(.expedient-page) .page-content a.button{border-radius:6px;font-size:12px}

@media(max-width:1450px) and (min-width:901px){
  .dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-metrics .workspace-metric:nth-child(5){border-left:0}.dashboard-metrics .workspace-metric:nth-child(n+5){border-top:1px solid #e8ecf0}
  .agenda-work-grid{grid-template-columns:1fr 1fr}.agenda-quick-block{grid-column:1/-1}
}

@media(max-width:1180px) and (min-width:901px){
  .workspace-overview-head{grid-template-columns:minmax(0,1fr) 195px;gap:18px}
  .agenda-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.agenda-metrics .workspace-metric:nth-child(4){border-left:0}.agenda-metrics .workspace-metric:nth-child(n+4){border-top:1px solid #e8ecf0}
  .dashboard-filter-panel .filters-grid,.agenda-filter-panel .agenda-filters,.peritats-filter-panel .agenda-filters{grid-template-columns:1fr 1fr}
  .dashboard-filter-panel .filters-grid .wide,.agenda-filter-panel .agenda-filters .wide,.peritats-filter-panel .agenda-filters .wide{grid-column:1/-1}
  .dashboard-filter-panel .filter-actions,.agenda-filter-panel .filter-actions,.peritats-filter-panel .filter-actions{grid-column:1/-1}
  .dash-exp-card{grid-template-columns:1fr 185px 52px}
}

@media(max-width:900px){
  .workspace-screen{padding-top:0;gap:8px}
  .workspace-overview{margin-top:0!important;padding:14px 14px 0!important;border-radius:12px!important}
  .workspace-overview-head{display:block;min-height:0;padding-bottom:13px}
  .workspace-heading{gap:10px}.workspace-heading-icon{width:35px;height:35px;flex-basis:35px}.workspace-heading h1{font-size:20px}.workspace-heading p{font-size:11px}
  .workspace-primary-action{margin:13px 0 0 45px}.workspace-primary-action>span{display:none}.workspace-primary-action>a{min-height:43px;justify-content:center}
  .workspace-metrics{margin:0 -14px;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .workspace-metric{padding:11px 10px;min-height:64px;border-top:1px solid #e8ecf0}
  .workspace-metric:nth-child(odd){border-left:0}.workspace-metric:nth-child(-n+2){border-top:0}
  .metric-icon{width:30px;height:30px;flex-basis:30px}.metric-icon svg{width:16px;height:16px}.metric-copy strong{font-size:17px}.metric-copy small{font-size:9px}
  .workspace-tabs{min-height:49px}.workspace-tabs a{height:49px;padding:0 12px;font-size:11px}.workspace-tabs svg{width:16px;height:16px}
  .workspace-accordion>summary{padding:10px 11px!important;gap:9px!important}.workspace-accordion>summary:after{width:36px!important;height:31px!important;margin-left:5px!important}.workspace-accordion>summary>small{display:none}.workspace-accordion>summary>.expedient-row-copy b{font-size:13px}.workspace-accordion>summary>.expedient-row-copy em{font-size:10px}.workspace-accordion>.dlm-details-body{padding:10px}
  .dashboard-filter-panel .filters-grid,.agenda-filter-panel .agenda-filters,.peritats-filter-panel .agenda-filters{grid-template-columns:1fr 1fr}.dashboard-filter-panel .filters-grid .wide,.agenda-filter-panel .agenda-filters .wide,.peritats-filter-panel .agenda-filters .wide{grid-column:1/-1}.filter-actions{grid-column:1/-1}
  .dash-exp-card{grid-template-columns:1fr;gap:8px}.dash-see{justify-self:start}.dash-exp-sub{white-space:normal}
  .agenda-work-grid{grid-template-columns:1fr}.agenda-quick-block{grid-column:auto}.agenda-work-header{flex-direction:column}.agenda-info-line{grid-template-columns:1fr}.agenda-photo-strip{grid-template-columns:repeat(2,1fr)}
  .peritats-month{margin-left:0}.workspace-subaccordion>summary{padding:9px}.workspace-subaccordion>summary em{display:none}.workspace-subaccordion>summary:after{width:30px;height:29px}.peritats-month-body{padding:7px}
  .workspace-empty{align-items:flex-start;flex-wrap:wrap}.workspace-empty .btn{margin-left:53px}
  body:not(.expedient-page) .page-content>.hero{min-height:0;margin-top:0;grid-template-columns:1fr;padding:14px;gap:12px}
  body:not(.expedient-page) .page-content>.hero .hero-badge{justify-self:start}
  body:not(.expedient-page) .page-content>.grid2{grid-template-columns:1fr}
}

@media(max-width:520px){
  .workspace-heading p{max-width:280px}
  .workspace-primary-action{margin-left:0}
  .dashboard-filter-panel .filters-grid,.agenda-filter-panel .agenda-filters,.peritats-filter-panel .agenda-filters{grid-template-columns:1fr}
  .filters-grid>div,.filters-grid .wide{grid-column:1!important}
  .agenda-title-line .agenda-mat{font-size:15px}
  .workspace-empty .btn{margin-left:0;width:100%;text-align:center}
}

/* =========================================================
   DLM 3.4E · MENÚ DESPLEGABLE I CONTROL CLAR
   Un únic destí per acció i percentatges explicatius.
   ========================================================= */

/* Grups desplegables del menú lateral. */
.dlm-side-group{margin:0;padding:0;border:0;background:transparent}
.dlm-side-group-title{list-style:none;min-height:34px;padding:13px 17px 6px 18px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:#bccad5;font-size:10px;font-weight:600;letter-spacing:.035em;user-select:none}
.dlm-side-group-title::-webkit-details-marker{display:none}
.dlm-side-group-title:hover{color:#fff;background:rgba(255,255,255,.035)}
.dlm-side-group-title svg{width:14px;height:14px;flex:0 0 14px;transition:transform .18s ease;color:#91a5b4}
.dlm-side-group[open]>.dlm-side-group-title svg{transform:rotate(180deg)}
.dlm-side-group[open]>.dlm-side-group-title{color:#e8f1f6}
.dlm-side-group-links{padding:1px 0 3px}
.dlm-side-group-links .dlm-side-link{height:38px}

/* Resum principal i línia de vida: tots dos són navegació real. */
.expedient-progress-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid #bee3ca;border-radius:7px;background:#eef9f2;color:#12753a;text-decoration:none;white-space:nowrap}
.expedient-progress-pill b{font-size:12px}.expedient-progress-pill span{font-size:9px;font-weight:650}
.expedient-progress-pill:hover{border-color:#159447;background:#e4f7ea}
.lifecycle-reference a.lifecycle-stage{text-decoration:none;cursor:pointer;border-radius:8px;outline:0}
.lifecycle-reference a.lifecycle-stage:hover b{color:#0c8140}.lifecycle-reference a.lifecycle-stage:hover .lifecycle-icon{transform:translateY(-2px);box-shadow:0 4px 10px rgba(15,35,55,.14)}
.lifecycle-reference a.lifecycle-stage:focus-visible{box-shadow:0 0 0 3px rgba(21,148,71,.18)}
.lifecycle-reference .lifecycle-icon{transition:transform .15s ease,box-shadow .15s ease}
.recommended-action-form{margin:0}.recommended-action-form .recommended-action-button{width:100%;border:0;text-align:left;cursor:pointer;font-family:inherit}
.photo-choice-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-choice-actions .recommended-action-form{display:flex}.photo-choice-actions .recommended-action-button{width:100%;box-sizing:border-box}.recommended-action-button.defer,.recommended-action-button.manual{background:linear-gradient(135deg,#8b5a08,#a86f0d);box-shadow:0 5px 10px rgba(139,90,8,.16)}
.deferred-photos-notice{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;padding:11px 13px;border:1px solid #e8bd64;border-radius:8px;background:#fff8e7;color:#684508}.deferred-photos-notice b{font-size:14px}.deferred-photos-notice span{font-size:12px;line-height:1.45}

/* Capçaleres: percentatge i context substitueixen l'etiqueta genèrica "Tancat". */
details.panel.dlm-desplegable>summary>small.section-summary-metric{min-width:104px;margin-left:auto;padding:5px 9px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #dfe5ea;background:#f2f4f6;color:#53657a;border-radius:7px;white-space:nowrap}
.section-summary-metric b{font-size:12px;color:#17324b}.section-summary-metric em{font-size:9px;font-style:normal;font-weight:600;color:#63748a}
details.panel.dlm-desplegable>summary>small.section-summary-metric.complete{background:#eaf8ef;border-color:#bfe6cc}.section-summary-metric.complete b{color:#0c7a38}
details.panel.dlm-desplegable>summary>small.section-summary-metric.progress{background:#fff8e7;border-color:#f0d79c}.section-summary-metric.progress b{color:#986000}
details.panel.dlm-desplegable>summary>small.section-summary-metric.pending{background:#fff2f0;border-color:#f0c6bf}.section-summary-metric.pending b{color:#a2382b}
details.panel.dlm-desplegable>summary>small.section-summary-metric.dual{min-width:145px;background:#f1f6f9;border-color:#d8e2e9}
details.panel.dlm-desplegable>summary>small.section-summary-metric.history{min-width:82px;background:#f1f5f8}

/* Control general: cinc targetes, cinc destins, cap contingut repetit. */
.control-progress-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.control-progress-head h3{margin:0 0 4px;color:#10243a;font-size:17px}.control-progress-head p{margin:0;color:#63748a;font-size:12px}.control-progress-head>strong{font-size:28px;color:#0e8740}
.section-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:15px}
.section-status-card{min-width:0;min-height:100px;padding:13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #dfe5ea;border-radius:10px;background:#fff;text-decoration:none;color:#172d44;box-shadow:0 2px 5px rgba(15,35,55,.035);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.section-status-card:hover{transform:translateY(-2px);border-color:#8bcba0;box-shadow:0 5px 12px rgba(15,35,55,.08)}
.section-status-percent{width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:#eef1f4;color:#4d6075;font-size:12px;font-weight:800}
.section-status-card.complete .section-status-percent{background:#dcf5e4;color:#0b7b38}.section-status-card.progress .section-status-percent{background:#fff0c9;color:#956000}.section-status-card.pending .section-status-percent{background:#ffe8e4;color:#a63e31}
.section-status-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.section-status-copy b{font-size:13px;color:#10243a}.section-status-copy em{font-style:normal;font-size:10px;color:#50647b}.section-status-copy small{font-size:9px;line-height:1.25;color:#7a8795;overflow:hidden;text-overflow:ellipsis}.section-status-arrow{font-size:19px;color:#138841}

/* Contingut canònic de Fotos, Previsió, Documents i Gestió. */
.canonical-section:target{scroll-margin-top:74px}.canonical-section>.details-body{padding:17px 18px 19px}
.canonical-upload-form{margin-top:15px;padding:14px;border:1px dashed #bfcbd5;border-radius:10px;background:#f8fafb}.canonical-upload-form>label{display:block;margin:0 0 8px;font-size:12px;font-weight:750;color:#173049}
.canonical-upload-row,.canonical-document-upload{display:grid;grid-template-columns:minmax(250px,1fr) auto;gap:10px;align-items:center}.canonical-document-upload{grid-template-columns:180px minmax(250px,1fr) auto}
.canonical-upload-row input,.canonical-document-upload input,.canonical-document-upload select{margin:0;background:#fff}
.forecast-canonical-form{display:grid;grid-template-columns:minmax(190px,.45fr) minmax(280px,1fr) auto;gap:12px;align-items:end;margin-top:14px}.forecast-canonical-form>div{min-width:0}.forecast-canonical-form input,.forecast-canonical-form textarea{width:100%;margin:5px 0 0}.forecast-save{display:flex;flex-direction:column;align-items:stretch;gap:6px}.forecast-save small{max-width:180px;color:#68798b;font-size:9px;line-height:1.25}.forecast-save button{min-height:42px}
.canonical-folder-grid{margin:12px 0}.canonical-doc-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin:12px 0}.canonical-attachments{margin:12px 0}
.management-subsection{padding:0 0 17px;margin:0 0 17px;border-bottom:1px solid #e5eaee}.canonical-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.canonical-subhead h3{margin:0;color:#10243a;font-size:16px}.canonical-subhead>span{padding:5px 9px;border-radius:7px;background:#eaf8ef;color:#0c7a38;font-size:11px;font-weight:800}.andorrana-monthly-control{padding:15px;border:1px solid #cce8d5;border-radius:10px;background:#f4fbf6}.andorrana-monthly-control .canonical-subhead{margin-bottom:3px}

@media(max-width:1250px) and (min-width:901px){
  .section-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .forecast-canonical-form{grid-template-columns:1fr 1fr}.forecast-save{grid-column:1/-1;align-items:flex-start}
  .canonical-document-upload{grid-template-columns:160px minmax(220px,1fr) auto}
}

@media(max-width:900px){
  .canonical-section>summary{padding:10px 11px!important;gap:9px!important}.canonical-section>summary:after{width:36px!important;height:31px!important;margin-left:4px!important}.canonical-section>summary .expedient-row-copy em{display:none}.canonical-section>summary .expedient-row-copy b{font-size:14px}
  details.panel.dlm-desplegable>summary>small.section-summary-metric{min-width:54px;padding:5px 7px}.section-summary-metric em{display:none}.section-summary-metric b{font-size:11px}
  .photos-section,.forecast-section{margin-bottom:7px!important}.photos-section>.details-body,.forecast-section>.details-body{padding:12px}
  .media-head{align-items:flex-start;flex-direction:column}.media-head form,.media-head button{width:100%}
  .canonical-upload-row,.canonical-document-upload,.forecast-canonical-form{grid-template-columns:1fr}.forecast-save{align-items:stretch}.forecast-save small{max-width:none}
}

/* DLM 3.4F · directoris reals del menú, sense pàgines buides ni fitxes duplicades. */
.directory-panel,.system-directory-card{scroll-margin-top:74px}
.directory-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}
.directory-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #dfe5ea;border-radius:9px;background:#fff;color:#14304a;text-decoration:none}
.directory-link:hover{border-color:#79c493;background:#f4fbf6}.directory-link span{color:#557087;font-size:11px;font-weight:700}
.system-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.field-complete{background:#e7f7ec!important;border:1px solid #a7d9b8!important;color:#0b7837!important;cursor:default}
@media(max-width:900px){.system-directory-grid{grid-template-columns:1fr}.directory-links{grid-template-columns:1fr}}

/* =========================================================
   DLM 3.5A · MÒBIL AMB EL MATEIX DISSENY DEL PC
   Mateix sistema visual 3.4F, reorganitzat en una sola columna.
   El mòbil conserva només el flux de camp i un únic destí per tasca.
   ========================================================= */
.mobile-menu-toggle,.mobile-sidebar-overlay,.mobile-field-only,.agenda-mobile-entry,.mobile-photo-hint{display:none}
.upload-selection-count{display:block;margin-top:8px;color:#62758a;font-size:11px}

@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  body.mobile-menu-open{overflow:hidden}

  /* Menú lateral del PC reutilitzat com a calaix mòbil. */
  .desktop-app-sidebar{
    display:flex!important;
    width:min(82vw,286px)!important;
    transform:translateX(-105%);
    transition:transform .22s ease;
    box-shadow:18px 0 38px rgba(3,18,29,.28);
    z-index:80;
  }
  body.mobile-menu-open .desktop-app-sidebar{transform:translateX(0)}
  .desktop-app-sidebar .dlm-brand{height:76px}
  .desktop-app-sidebar .dlm-side-nav{padding-top:10px}
  .desktop-app-sidebar .dlm-side-group[data-sidebar-group="empresa"],
  .desktop-app-sidebar .dlm-side-group[data-sidebar-group="documents"],
  .desktop-app-sidebar .dlm-side-group[data-sidebar-group="facturacio"],
  .desktop-app-sidebar .dlm-side-group[data-sidebar-group="configuracio"]{display:none!important}
  .mobile-sidebar-overlay{display:block;position:fixed;inset:0;border:0;border-radius:0;background:rgba(4,18,29,.48);opacity:0;pointer-events:none;z-index:70;transition:opacity .2s ease}
  body.mobile-menu-open .mobile-sidebar-overlay{opacity:1;pointer-events:auto}

  /* Capçalera blanca idèntica al PC, amb accés al calaix lateral. */
  .dlm-topbar{height:58px!important;padding:0 10px!important;display:grid!important;grid-template-columns:40px minmax(0,1fr) 40px!important;gap:6px!important}
  .mobile-menu-toggle{grid-column:1;display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid #dce4eb;border-radius:8px;background:#0b2437;color:#fff;box-shadow:none}
  .mobile-menu-toggle svg{width:20px;height:20px}
  .dlm-topbar-brand-mobile,.dlm-topbar-back,.desktop-context-pill,.dlm-help{display:none!important}
  .dlm-topbar-title{grid-column:2;display:flex!important;justify-content:center;gap:7px;min-width:0;font-size:14px}
  .dlm-topbar-title strong{min-width:0;max-width:100%;font-size:14px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dlm-company-chip{padding:5px 7px;font-size:9px;flex:0 0 auto}
  .dlm-topbar-actions{grid-column:3;margin:0!important;justify-self:end}
  .dlm-account-popover{position:fixed;right:10px;top:52px;width:150px}
  .dlm-account-popover>b,.dlm-account-popover>a{display:none!important}
  .dlm-account-popover form{margin:0;padding:0;border:0}

  /* El menú antic de botons blaus desapareix: ara mana el mateix sidebar del PC. */
  .mobile-field-nav{display:none!important}
  .mobile-office-only{display:none!important}
  .mobile-field-only{display:block!important}

  /* Fitxa: la mateixa targeta blanca del PC, apilada i sense targeta alternativa. */
  .expedient-screen{padding-top:7px}
  .expedient-overview-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    min-height:0!important;
    margin:0 0 8px!important;
    padding:15px!important;
    border-radius:12px!important;
  }
  .expedient-overview-data{padding:0 0 15px!important;border-right:0!important;border-bottom:1px solid #dfe4e9}
  .expedient-ref-line{gap:8px}.expedient-ref-line h1{font-size:19px}.expedient-progress-pill{margin-left:auto}
  .expedient-date{margin:7px 0 13px;font-size:12px}
  .expedient-essential-data{gap:8px}.expedient-essential-data>div{font-size:12px}.expedient-essential-data svg{width:17px;height:17px;flex-basis:17px}
  .expedient-lifecycle-area{padding:15px 0 16px;border-bottom:1px solid #dfe4e9;overflow:hidden}
  .expedient-lifecycle-area h2{margin:0 0 17px;font-size:14px}
  .lifecycle-track.lifecycle-reference{grid-template-columns:repeat(4,minmax(68px,1fr))!important;gap:0;margin:0!important}
  .lifecycle-reference .lifecycle-stage:before{top:17px}
  .lifecycle-reference .lifecycle-icon{width:34px;height:34px;margin-bottom:8px}
  .lifecycle-reference .lifecycle-icon svg{width:17px;height:17px}
  .lifecycle-reference .lifecycle-stage b{padding:0 2px;font-size:9.5px;line-height:1.18;white-space:normal;overflow:visible;text-overflow:clip}
  .lifecycle-reference .lifecycle-stage small{margin-top:5px;font-size:9px}
  .desktop-recommended-action{display:none!important}
  .mobile-recommended-action{padding-top:15px;scroll-margin-top:70px}
  .mobile-recommended-action>span{margin-bottom:8px;text-transform:uppercase;letter-spacing:.045em;font-size:9px;font-weight:750}
  .mobile-recommended-action p{margin-top:9px;font-size:11px;line-height:1.4}
  .recommended-action-button{min-height:50px;border-radius:7px}
  .photo-choice-actions{grid-template-columns:1fr;gap:8px}
  .recommended-action-button.field-complete{display:flex;width:100%;box-sizing:border-box}

  /* Ordre, fotos i previsió són els tres blocs canònics del taller. */
  .field-order-section{scroll-margin-top:70px}
  .field-order-button{display:flex;min-height:44px;align-items:center;justify-content:center;text-align:center}
  .field-order-missing{padding:11px;border:1px solid #f0d69e;border-radius:8px;background:#fff8e8;color:#8a5a00;font-size:12px}
  .field-order-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
  .field-order-grid>div{min-width:0;padding:10px;border:1px solid #e2e7ec;border-radius:8px;background:#f8fafc}
  .field-order-grid>div:first-child{grid-column:1/-1}
  .field-order-grid span{display:block;margin-bottom:4px;color:#68798c;font-size:9px;text-transform:uppercase;letter-spacing:.04em}
  .field-order-grid b{display:block;color:#152a40;font-size:12px;line-height:1.35;word-break:break-word}
  .photos-section,.forecast-section{scroll-margin-top:70px}
  .photos-section .photo-group{padding:9px}.photos-section .photo-group-head{align-items:flex-start;gap:8px}
  .mobile-photo-hint{display:block;margin:0 0 10px;color:#40566d;font-size:11px;line-height:1.4}
  .canonical-upload-form{padding:12px;margin-top:12px}
  .canonical-upload-row input[type=file]{min-height:48px;padding:10px;border:1px solid #cbd7e2;border-radius:8px;background:#fff;font-size:12px}
  .canonical-upload-row button,.forecast-save button{width:100%;min-height:46px}
  .upload-selection-count{font-size:10px}
  .forecast-canonical-form input{min-height:46px;font-size:16px}.forecast-canonical-form textarea{font-size:16px}

  /* Agenda: un únic accés a la fitxa; les accions no es dupliquen. */
  .agenda-work-grid{display:none!important}
  .agenda-mobile-entry{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #e5eaee}
  .agenda-mobile-order{min-height:44px;padding:0 11px;display:flex;align-items:center;justify-content:center;border:1px solid #bfd4e3;border-radius:7px;background:#f4f8fb;color:#0b527d;text-decoration:none;font-size:11px;font-weight:750}
  .agenda-mobile-continue{min-height:44px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:7px;background:linear-gradient(135deg,#0c507b,#0b456c);color:#fff;text-decoration:none}
  .agenda-mobile-continue span{font-size:10px;color:#d7e7f1}.agenda-mobile-continue b{font-size:12px}
  .agenda-work-card{padding:12px!important}.agenda-work-header{margin:0!important}
  .agenda-title-line{width:100%;min-width:0;align-items:center}
  .agenda-title-line .agenda-ref{min-width:0;flex:1 1 150px;overflow-wrap:anywhere}
  .agenda-title-line .agenda-mat{margin-left:auto;flex:0 0 auto;white-space:nowrap}

  /* Dashboard: ordre i una única entrada al treball de camp. */
  .today-mobile-entry{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:8px;margin-top:9px}
  .today-mobile-order{min-height:42px;padding:0 11px;display:flex;align-items:center;justify-content:center;border:1px solid #bfd4e3;border-radius:7px;background:#f4f8fb;color:#0b527d;text-decoration:none;font-size:11px;font-weight:750}
  .today-mobile-continue{min-height:42px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:9px;border-radius:7px;background:linear-gradient(135deg,#0c507b,#0b456c);color:#fff;text-decoration:none}
  .today-mobile-continue span{font-size:10px;color:#d7e7f1}.today-mobile-continue b{font-size:12px}

  /* Peritats conserva les targetes i els colors de companyia del PC. */
  .peritats-company-panel.company-andorrana .peritat-mobile-card{border-left:4px solid #149848}
  .peritats-company-panel.company-financera .peritat-mobile-card{border-left:4px solid #2c6db4}
  .peritat-mobile-card{border-radius:9px!important;box-shadow:none!important}
  .peritat-mobile-actions .btn{min-height:42px;display:flex;align-items:center;justify-content:center}

  /* Tots els controls tàctils mantenen una mida còmoda sense canviar l'estètica. */
  .workspace-tabs{scrollbar-width:none}.workspace-tabs::-webkit-scrollbar{display:none}
  .workspace-tabs a{min-width:max-content}
  details.panel.dlm-desplegable>summary:after{flex:0 0 auto}
  button,.btn,.action-btn{touch-action:manipulation}
}

@media(max-width:420px){
  .dlm-topbar-title strong{font-size:13px}.dlm-company-chip{display:none}
  .expedient-overview-card{padding:13px!important}.expedient-ref-line h1{font-size:17px}.expedient-progress-pill{padding:4px 6px}
  .lifecycle-track.lifecycle-reference{grid-template-columns:repeat(4,minmax(61px,1fr))!important}
  .lifecycle-reference .lifecycle-stage b{font-size:9px}
  .field-order-grid{grid-template-columns:1fr}.field-order-grid>div:first-child{grid-column:auto}
  .agenda-title-line{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:5px}
  .agenda-title-line .agenda-ref{width:100%;flex:none;overflow-wrap:anywhere}
  .agenda-title-line .agenda-mat{width:100%;margin-left:0;flex:none;white-space:normal}
  .agenda-mobile-entry{grid-template-columns:1fr}.agenda-mobile-order{order:2}
  .agenda-mobile-continue,.today-mobile-continue{width:100%;min-width:0;box-sizing:border-box}
  .agenda-mobile-continue b,.today-mobile-continue b{text-align:right;white-space:normal}
  .today-mobile-entry{grid-template-columns:1fr}.today-mobile-order{order:2}
}

/* DLM 3.5F · Bústia operativa PC/mòbil */
.pending-bustia-row .compact-actions .button{white-space:nowrap}
.pending-bustia-row .compact-actions form{display:inline-flex}
@media(max-width:850px){
  .pending-bustia-row .compact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .pending-bustia-row .compact-actions .button,.pending-bustia-row .compact-actions form,.pending-bustia-row .compact-actions form button{width:100%;box-sizing:border-box}
}
@media(max-width:430px){.pending-bustia-row .compact-actions{grid-template-columns:1fr}}

/* DLM 3.5G · ORDRES ACCESSIBLES AL MÒBIL: sidebar + pestanya dashboard */
/* DLM 3.5H · CONTINUAR SENSE FOTOS: pendent reversible a PC, iPhone i iPad */
