/* =====================================================================
   MR-ADAPT — ponte legacy → MASTER RULE (design-system/mr.css)
   ---------------------------------------------------------------------
   mr.css è la REGOLA UNICA (token + look + archetipi), ma è greenfield
   (classi mr-*, niente !important) e da solo NON vince sui CSS legacy
   delle pagine vecchie. Questo file NON inventa stile: ri-esprime il
   look di mr.css sui selettori/markup VECCHI, con !important e usando
   gli STESSI token di mr.css (:root). Caricare DOPO mr.css.
   Per cambiare la grafica si tocca SEMPRE mr.css; qui si aggiungono solo
   nuove MAPPATURE quando una pagina usa una classe legacy non coperta.
   ===================================================================== */

/* ---- sfondo + tipografia (vince sul legacy) ---- */
body.mr{background:var(--mr-bg-grad,var(--mr-bg)) fixed !important;color:var(--mr-ink) !important;font-family:var(--mr-font) !important;min-height:100vh}

/* ---- TOKEN LEGACY → palette mr (pagine token-driven: var(--accent)…) ---- */
body.mr{
  --bg:#fff !important; --bg-soft:var(--mr-bg) !important; --bg-soft-2:#eef1f8 !important;
  --fg:var(--mr-ink) !important; --text:var(--mr-ink) !important; --ink:var(--mr-ink) !important;
  --muted:var(--mr-mut) !important; --muted-2:var(--mr-mut2) !important; --text-muted:var(--mr-mut) !important;
  --border:var(--mr-card-bd) !important; --border-soft:var(--mr-line) !important;
  --primary:var(--mr-blue) !important; --primary-dark:#3f37c9 !important; --primary-light:var(--mr-cyan) !important;
  --accent:var(--mr-blue) !important; --accent-light:var(--mr-cyan) !important; --accent-soft:var(--mr-acc-soft) !important;
  --accent2:var(--mr-ai) !important; --accent2-soft:var(--mr-ai-cream) !important;
  --success:var(--mr-ok) !important; --warning:var(--mr-warn) !important; --danger:var(--mr-danger) !important;
  --ui-border:var(--mr-card-bd) !important;
}

/* ============ CONTENITORI legacy → mr-card ============ */
.mr .card,.mr .panel,.mr .box,.mr .summary-section,.mr .ai-fields-section,
.mr .data-section,.mr .form-section,.mr .section-card,.mr .step-card,.mr .multi-card,
.mr .immobile-card,.mr .persona-card,.mr .tbl-wrap,.mr .stat{
  background:var(--mr-card) !important;border:1px solid var(--mr-card-bd) !important;
  border-radius:var(--mr-r-card) !important;box-shadow:var(--mr-shadow) !important;
}
/* header sezione (banda gradiente bianca) */
.mr .card>.card-h,.mr .card>.card-header,.mr .summary-section-title,.mr .ai-fields-section-title,
.mr .section-title,.mr .step-title,.mr .data-section>.section-head,.mr .form-section>.section-head{
  background:var(--mr-grad) !important;color:#fff !important;-webkit-text-fill-color:#fff !important;
  border:0 !important;border-radius:0 !important;font-size:14px !important;font-weight:750 !important;
  text-transform:none !important;letter-spacing:.01em !important;padding:12px 14px !important;margin:0 !important;
  display:flex !important;align-items:center !important;gap:.55rem !important;
}
.mr .card>.card-h *,.mr .summary-section-title *,.mr .ai-fields-section-title *,.mr .step-title *{
  color:#fff !important;-webkit-text-fill-color:#fff !important}
.mr .card>.card-b,.mr .card>.card-body{padding:14px !important}

/* sotto-sezione greybox + divisori blu */
.mr .sub-card,.mr .persona-fields-box,.mr .fields-box,.mr .fimaa-section-title,
.mr .field-group,.mr .form-group-box,.mr .fields-block,.mr .group-box,.mr .topic-box,.mr .mr-sub{
  background:var(--mr-grey) !important;border:1px solid var(--mr-grey-bd) !important;border-radius:var(--mr-r-box) !important;padding:11px 12px !important;margin:0 0 12px !important}
.mr .fimaa-section-title{color:var(--mr-divider) !important;-webkit-text-fill-color:var(--mr-divider) !important;font-weight:800 !important}
.mr .section-divider{color:var(--mr-divider) !important;-webkit-text-fill-color:var(--mr-divider) !important;
  background:transparent !important;border:0 !important;border-top:1px solid var(--mr-line) !important;font-weight:800 !important}

/* ============ CAMPI legacy → mr-field ============ */
.mr input[type=text],.mr input[type=email],.mr input[type=number],.mr input[type=date],
.mr input[type=tel],.mr input[type=password],.mr input[type=time],.mr input[type=url],.mr input:not([type]),
.mr select,.mr textarea,.mr .form-control,.mr .form-select,.mr .ctl{
  background:var(--mr-field) !important;border:1px solid var(--mr-field-bd) !important;
  border-radius:var(--mr-r-field) !important;font-size:var(--mr-fz-field) !important;color:var(--mr-ink) !important;
  min-height:38px !important;box-shadow:none !important}
.mr input:focus,.mr select:focus,.mr textarea:focus,.mr .form-control:focus,.mr .form-select:focus{
  outline:0 !important;background:#fff !important;border-color:var(--mr-blue) !important;box-shadow:var(--mr-ring) !important}
.mr label,.mr .ai-field-label,.mr .field-label,.mr .form-label,.mr .font-label{
  font-size:var(--mr-fz-label) !important;font-weight:600 !important;color:var(--mr-ink2) !important;text-transform:none !important}
/* ricerca = giallo (robusto: type=search, id/class/placeholder contenenti "cerca/search") */
.mr input[type=search],.mr .cerca-db-wrap input,.mr .cerca-db-wrap .form-control,.mr input.cerca-db,.mr .search-input,
.mr input[id*="search" i],.mr input[id*="cerca" i],.mr input[class*="cerca" i],
.mr input[placeholder*="cerca" i]{
  background:var(--mr-search) !important;border-color:var(--mr-search-bd) !important;color:var(--mr-search-ink) !important}
.mr input[type=search]::placeholder,.mr input[placeholder*="cerca" i]::placeholder,.mr .cerca-db-wrap input::placeholder{color:#8a6d12 !important}

/* ============ BOTTONI legacy → mr-btn (+anello) ============ */
.mr .btn{position:relative !important;border-radius:var(--mr-r-btn) !important;font-weight:650 !important;
  border:1px solid transparent !important;padding:9px 16px !important;
  transition:transform .18s,filter .18s,background .18s,border-color .18s,color .18s,box-shadow .18s}
.mr .btn-secondary,.mr .btn-light,.mr .btn-outline-secondary,.mr .btn-outline-primary,.mr .btn-outline-custom,.mr .btn-default{
  background:#fff !important;border-color:var(--mr-field-bd) !important;color:var(--mr-ink2) !important;box-shadow:0 1px 2px rgba(16,24,40,.04) !important}
.mr .btn-secondary:hover,.mr .btn-light:hover,.mr .btn-outline-secondary:hover,.mr .btn-outline-custom:hover,.mr .btn-default:hover{background:#f4f6fc !important;border-color:#c3c9da !important}
.mr .btn-primary,.mr .btn-accent,.mr .btn-primary-grad,.mr .btn-gradient,.mr .btn-add-persona,.mr .btn-add-card{
  background:var(--mr-grad) !important;border:0 !important;color:#fff !important;font-weight:700 !important;box-shadow:0 4px 12px rgba(79,70,229,.22) !important}
.mr .btn-success,.mr .btn-ok,.mr .btn-save{background:var(--mr-ok) !important;border:0 !important;color:#fff !important}
.mr .btn-danger,.mr .btn-delete,.mr .btn-remove,.mr .btn-reset-danger{background:var(--mr-danger) !important;border:0 !important;color:#fff !important}
.mr .btn-warning{background:var(--mr-warn) !important;border:0 !important;color:#fff !important}
.mr .btn-ai,.mr .btn-sm-accent,.mr .btn-extract-ai,.mr #btnExtract{
  background:var(--mr-ai) !important;border:1px solid var(--mr-ai) !important;color:#fff !important;box-shadow:0 4px 12px rgba(234,115,23,.22) !important}
.mr .btn-ai:hover,.mr .btn-extract-ai:hover,.mr #btnExtract:hover{background:var(--mr-ai-dark) !important;border-color:var(--mr-ai-dark) !important}
/* anello rotante su ogni .btn */
.mr .btn::after{content:"" !important;position:absolute;inset:0;border-radius:inherit;padding:1.7px;opacity:0;pointer-events:none;z-index:2;transition:opacity .25s;
  background:conic-gradient(from var(--mrx),#4f46e5,#06b6d4,#0ea5e9,#22d3ee,#06b6d4,#4f46e5);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.mr .btn-danger::after,.mr .btn-delete::after,.mr .btn-reset-danger::after{background:conic-gradient(from var(--mrx),#7f1d1d,#dc2626,#f87171,#fca5a5,#dc2626,#7f1d1d)}
.mr .btn-success::after,.mr .btn-save::after{background:conic-gradient(from var(--mrx),#14532d,#16a34a,#4ade80,#86efac,#16a34a,#14532d)}
.mr .btn-ai::after,.mr .btn-extract-ai::after,.mr #btnExtract::after{padding:3px;background:conic-gradient(from var(--mrx),#5c1a02,#c2410c,#ff9a4d,#fff7ed,#ff9a4d,#c2410c,#5c1a02)}
.mr .btn:not(:disabled):hover::after{opacity:1;animation:mrxspin 2.4s linear infinite}
.mr .btn:not(:disabled):hover{transform:translateY(-1px)}

/* ============ TABELLE legacy → look mr-table ============ */
.mr table.table,.mr .tbl{width:100% !important;border-collapse:collapse !important}
.mr table.table thead,.mr .tbl thead,.mr .arch-list table thead,.mr table thead{background:var(--mr-grad) !important}
.mr table.table thead th,.mr .tbl thead th,.mr .arch-list table thead th,.mr table thead th{background:transparent !important;color:#fff !important;-webkit-text-fill-color:#fff !important;
  font-size:12.5px !important;font-weight:750 !important;text-transform:uppercase !important;letter-spacing:.03em !important;
  padding:11px 12px !important;border-bottom:0 !important}
.mr table.table tbody td,.mr .tbl tbody td{padding:10px 12px !important;border-bottom:1px solid var(--mr-line) !important;font-size:14px !important}
.mr table.table tbody tr:hover,.mr .tbl tbody tr:hover{background:#f5f8ff !important}

/* ============ CHIP/BADGE stato ============ */
.mr .chip,.mr .badge-status{border-radius:7px !important;font-weight:700 !important;font-size:12.5px !important}
.mr .chip.done,.mr .badge-ok{background:var(--mr-ok-soft) !important;color:#166534 !important}
.mr .chip.wip,.mr .badge-wip{background:var(--mr-warn-soft) !important;color:#854d0e !important}
.mr .chip.err,.mr .badge-err{background:var(--mr-danger-soft) !important;color:#991b1b !important}
.mr .chip.draft{background:#eef1f7 !important;color:#475569 !important}

/* ============ AZIONI DI RIGA legacy → icon-btn (fine riga) ============ */
.mr.arch-list table td:last-child .actions,.mr.arch-list .row-actions,.mr td.actions{
  display:inline-flex !important;gap:6px !important;justify-content:flex-end !important;align-items:center !important;white-space:nowrap !important}
.mr.arch-list table td .btn-icon,.mr.arch-list table td .btn-edit,.mr.arch-list table td .btn-table,
.mr.arch-list .row-actions a,.mr.arch-list .row-actions button,.mr td.actions .btn,.mr .btn-row-action{
  display:inline-grid !important;place-items:center !important;width:32px !important;height:32px !important;padding:0 !important;
  border-radius:8px !important;border:1px solid var(--mr-field-bd) !important;background:#eef0f8 !important;color:var(--mr-ink2) !important;
  font-size:15px !important;line-height:1 !important;box-shadow:none !important}
.mr.arch-list table td .btn-icon:hover,.mr.arch-list .row-actions a:hover,.mr.arch-list .row-actions button:hover,.mr td.actions .btn:hover{
  background:var(--mr-acc-soft) !important;color:var(--mr-acc) !important;border-color:var(--mr-acc) !important}
.mr.arch-list td.actions .btn-danger:hover,.mr.arch-list .row-actions .btn-danger:hover,.mr .btn-row-action.is-danger:hover{
  background:var(--mr-danger-soft) !important;color:var(--mr-danger) !important;border-color:var(--mr-danger) !important}
.mr.arch-list td.actions .btn-danger::after,.mr.arch-list .row-actions button::after,.mr td.actions .btn::after{display:none !important}

/* ============ ARCH-DASH (home): classi legacy → look dashboard mr ============ */
/* intestazione sezione (NON forzare display: rispetta eventuale display:none) */
.mr .section-h:not([style*="display:none"]){display:flex;align-items:center;justify-content:space-between}
.mr .section-h{margin:18px 0 10px}
.mr .section-h h2{font-size:15.5px !important;font-weight:750 !important;color:var(--mr-ink) !important;margin:0 !important}
.mr .section-h h2 i{color:var(--mr-acc) !important}
.mr .section-h .more,.mr .section-h a.more{color:var(--mr-acc) !important;font-weight:650 !important;font-size:13.5px !important;cursor:pointer;text-decoration:none}
.mr .count-badge{background:var(--mr-acc) !important;color:#fff !important;font-size:12px !important;font-weight:700 !important;padding:1px 7px !important;border-radius:10px !important}
/* pill filtro */
.mr .sd-pills{display:flex !important;gap:6px !important;flex-wrap:wrap !important;margin-bottom:10px !important}
/* ogni pill cresce a quota uguale ma VA A CAPO quando non c'è spazio (min-width) */
.mr .sd-pills > *{flex:1 1 110px !important;min-width:110px !important}
.mr .sd-pills > span{flex:1 1 175px !important;min-width:175px !important}
.mr .sd-pill{position:relative;width:100%;background:#eef0f8 !important;border:1px solid var(--mr-field-bd) !important;border-radius:9px !important;padding:8px 10px !important;font-size:13px !important;font-weight:650 !important;color:#1f2937 !important;cursor:pointer;display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:6px;white-space:nowrap;transition:background .16s,border-color .16s,color .16s}
.mr .sd-pill:hover{border-color:#c4c9e4 !important;background:#e4e7f3 !important;color:var(--mr-acc) !important}
.mr .sd-pill.active{background:var(--mr-acc) !important;border-color:var(--mr-acc) !important;color:#fff !important}
/* anello rotante (come archetipo dash) */
.mr .sd-pill::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.1px;opacity:0;pointer-events:none;z-index:2;transition:opacity .25s;
  background:conic-gradient(from var(--mrx),#4f46e5,#06b6d4,#22d3ee,#0ea5e9,#06b6d4,#4f46e5);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.mr .sd-pill:hover::after{opacity:1;animation:mrxspin 2.4s linear infinite}
.mr .sd-pill .sd-pill-c{font-size:11px;font-weight:700;background:rgba(0,0,0,.08);border-radius:8px;padding:0 .35rem;min-width:1.1rem;text-align:center}
.mr .sd-pill.active .sd-pill-c{background:rgba(255,255,255,.28)}
/* lista scadenze/agenda → righe con sfondo per stato */
.mr .scadenze-list{display:flex !important;flex-direction:column !important;gap:6px !important}
.mr .scadenza{position:relative;display:flex !important;align-items:center !important;gap:10px !important;background:#edeef7 !important;border:1px solid var(--mr-line) !important;border-radius:9px !important;padding:8px 10px !important;cursor:pointer;transition:background .2s,border-color .2s}
/* anello rotante hover su box lista (scadenze/agenda/task) */
.mr .scadenza::after,.mr .task-item::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.7px;opacity:0;pointer-events:none;z-index:2;transition:opacity .25s;
  background:conic-gradient(from var(--mrx),#4f46e5,#06b6d4,#0ea5e9,#22d3ee,#06b6d4,#4f46e5);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.mr .scadenza:hover::after,.mr .task-item:hover::after{opacity:1;animation:mrxspin 2.4s linear infinite}
/* glow campi su hover (oltre al focus) */
.mr input:hover,.mr select:hover,.mr textarea:hover,.mr .form-control:hover{box-shadow:0 0 0 3px rgba(79,70,229,.10) !important}
.mr .scadenza:hover{border-color:#c2c8dc !important;background:#dde1ee !important}
/* appuntamenti (agenda) = tinta ciano/accent, sempre colorati */
.mr #homeAgendaList .scadenza{background:#eaf4fb !important;border-color:#cfe6f5 !important;border-left:3px solid var(--mr-cyan) !important}
.mr #homeAgendaList .scadenza:hover{background:#ddeefa !important}
.mr #homeAgendaList .scadenza .sd-type i{color:var(--mr-cyan) !important}
.mr .scadenza.urgent{background:#fdeaea !important;border-color:#f8c9c9 !important;border-left:3px solid var(--mr-danger) !important}
.mr .scadenza.warn{background:#fef6e0 !important;border-color:#fae3a6 !important;border-left:3px solid var(--mr-warn) !important}
.mr .scadenza .sd-day{text-align:center;min-width:46px;padding:.25rem .4rem;background:rgba(255,255,255,.6);border:1px solid var(--mr-line);border-radius:7px}
.mr .scadenza .sd-day b{display:block;font-size:1.05rem;font-weight:800;line-height:1;color:var(--mr-ink)}
.mr .scadenza .sd-day small{font-size:.62rem;font-weight:700;color:var(--mr-mut);letter-spacing:.04em}
.mr .scadenza.urgent .sd-day b{color:var(--mr-danger)}
.mr .scadenza .sd-body{flex:1;min-width:0}
.mr .scadenza .sd-type{font-size:12px !important;font-weight:700 !important;color:var(--mr-mut) !important;text-transform:uppercase;letter-spacing:.03em;display:inline-flex;align-items:center;gap:.3rem}
.mr .scadenza .sd-type i{color:var(--mr-acc)}
.mr .scadenza.urgent .sd-type{color:var(--mr-danger) !important}
.mr .scadenza .sd-title{font-size:14px !important;font-weight:700 !important;color:var(--mr-ink) !important;line-height:1.3}
.mr .scadenza .sd-meta{font-size:13px !important;color:var(--mr-mut) !important}
/* chip stato (pill scura su sfondo tenue) */
.mr .scadenza .chip{border-radius:7px !important;font-weight:700 !important;font-size:12px !important;padding:2px 8px !important}
.mr .scadenza.urgent .chip,.mr .chip.err{background:var(--mr-danger) !important;color:#fff !important}
.mr .scadenza.warn .chip,.mr .chip.wip{background:var(--mr-warn) !important;color:#fff !important}
.mr .chip.draft{background:#eef1f7 !important;color:#475569 !important}
/* task board */
/* task-board = contenitore trasparente (la lista è fatta di box, come scadenze) */
.mr .task-board{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;display:flex !important;flex-direction:column !important;gap:6px !important}
.mr #homeTasksList{display:flex !important;flex-direction:column !important;gap:6px !important}
/* quick-add = box greybox in cima */
.mr .task-input{display:flex !important;align-items:center !important;gap:.55rem !important;background:var(--mr-grey) !important;border:1px dashed var(--mr-grey-bd) !important;border-radius:var(--mr-r-box) !important;padding:.6rem .8rem !important;flex-wrap:wrap;margin-bottom:2px}
.mr .task-input > i{color:var(--mr-acc)}
.mr .chip-btn{background:#fff !important;border:1px solid var(--mr-field-bd) !important;border-radius:8px !important;padding:.35rem .7rem !important;font-size:.8rem !important;color:var(--mr-ink2) !important;font-weight:650 !important;cursor:pointer}
.mr .chip-btn:hover{background:var(--mr-acc-soft) !important;color:var(--mr-acc) !important;border-color:var(--mr-acc) !important}
/* ogni task = box (come riga scadenza) */
.mr .task-item{position:relative;display:flex !important;align-items:center !important;gap:10px !important;background:#edeef7 !important;border:1px solid var(--mr-line) !important;border-radius:9px !important;padding:9px 11px !important;transition:background .2s,border-color .2s}
.mr .task-item:hover{background:#dde1ee !important;border-color:#c2c8dc !important}
.mr .task-item .task-title{font-size:14px !important;font-weight:700 !important;color:var(--mr-ink) !important}
.mr .task-item .task-title.done{text-decoration:line-through;color:var(--mr-mut2) !important}
.mr .task-item .task-meta{font-size:13px !important;color:var(--mr-mut) !important}
.mr .task-item .dot.p-high{background:var(--mr-danger) !important}
.mr .task-item .dot.p-med{background:var(--mr-warn) !important}
.mr .task-item .dot.p-low{background:var(--mr-mut2) !important}
/* bordo sinistro task per priorità */
.mr .task-item.p-high{border-left:3px solid var(--mr-danger) !important;background:#fdeaea !important}
.mr .task-item.p-med{border-left:3px solid var(--mr-warn) !important;background:#fef6e0 !important}
.mr .task-item.p-low{border-left:3px solid var(--mr-mut2) !important}
.mr .task-item.p-high:hover{background:#fadada !important}
.mr .task-item.p-med:hover{background:#fdeecb !important}
/* stat/cards generiche dashboard */
.mr .stats{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(180px,1fr)) !important;gap:10px !important;margin-bottom:14px !important}
.mr .stat{background:var(--mr-card) !important;border:1px solid var(--mr-card-bd) !important;border-radius:12px !important;box-shadow:var(--mr-shadow) !important;padding:11px 13px !important}
.mr .cards{display:grid !important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) !important;gap:12px !important}

/* ============ DROPZONE AI legacy → cream/dashed arancio ============ */
.mr .drop-zone,.mr .dz-mini,.mr .upload-drop{border:1.5px dashed var(--mr-ai-bd) !important;background:var(--mr-ai-cream) !important;
  color:var(--mr-ai-ink) !important;border-radius:var(--mr-r-box) !important}
