/* prc-shared.css — NEW-03 (10 giu 2026)
   Nucleo .prc-* IDENTICO nei form: amm, amm_com, commesse, clienti,
   pratiche, tec_cantiere, tec_pre. Estratte solo regole con corpo
   uguale ovunque; le varianti per-form restano nei template e vincono
   sulla cascata (questo file carica prima, da base.html).
   NON aggiungere qui regole divergenti tra i form. */

.prc-btn{min-height:44px;border-radius:12px;padding:0 18px;border:1px solid #c7d2e2;background:#fff;color:#111827;font:700 14px 'DM Sans',sans-serif;cursor:pointer;transition:.18s ease;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.prc-btn-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light);text-decoration:none}
.prc-btn:hover{transform:translateY(-1px)}
.prc-cancel-link{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:10px;border:1px solid var(--border-s);background:var(--surface);color:var(--sec);font:600 14px 'DM Sans',sans-serif;text-decoration:none;transition:.15s}
.prc-cancel-link:hover{border-color:#94a3b8;color:#1e293b;text-decoration:none}
.prc-card-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--soft);color:#475569;font-size:15px;flex-shrink:0}
.prc-context-box{border:1px solid #dbe3ee;border-radius:14px;background:#f8fafc;padding:14px;min-height:88px}
.prc-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.prc-context-label{font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#94a3b8;margin-bottom:10px;font-family:'DM Sans',sans-serif !important}
.prc-context-link:hover{text-decoration:underline}
.prc-context-value.mono{font-family:'DM Mono',monospace !important;font-size:14px}
.prc-eyebrow .code{font-family:'DM Mono',monospace;color:var(--text-secondary);padding:3px 8px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--border)}
.prc-fg{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:start}
.prc-fg2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.prc-fg3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.prc-fg4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.prc-footer-actions{display:flex;align-items:center;gap:10px}
.prc-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.prc-kicker{font-family:'DM Mono',monospace !important;font-size:12px;color:#94a3b8;margin-bottom:8px;letter-spacing:.01em}
.prc-metric-list{display:grid;gap:8px}
.prc-metric-value.mono{font-family:'DM Mono',monospace}
.prc-money{display:flex;align-items:center;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}
.prc-money.is-calc input{color:var(--accent);font-weight:700}
.prc-money.is-danger{background:var(--danger-bg);border-color:#fecaca}
.prc-money.is-danger input{color:var(--danger);font-weight:700}
.prc-money.is-danger span{background:#fee2e2;color:var(--danger);border-color:#fecaca}
.prc-money:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.prc-save-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:10px;border:none;cursor:pointer;background:var(--accent);color:#fff;font:600 14px 'DM Sans',sans-serif;transition:.15s}
.prc-save-btn:hover{background:var(--accent2)}
.prc-section-sep{border:none;border-top:1px solid #f1f5f9;margin:22px 0}
.prc-section-title{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:15px;font-weight:800;letter-spacing:-.01em;color:#111827;font-family:'DM Sans',sans-serif !important}
.prc-section-title::before{content:'';width:4px;height:18px;border-radius:999px;background:#2563eb;flex:0 0 auto}
.prc-side-card{position:sticky;top:24px}
.prc-status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid #dbe3ee;background:#f8fafc;color:#64748b;white-space:nowrap;font-family:'DM Sans',sans-serif !important}
.prc-status-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent;white-space:nowrap}
.prc-status-pill.blocked{color:var(--danger);background:var(--danger-bg);border-color:#fecaca}
.prc-status-pill.done{color:var(--success);background:var(--success-bg);border-color:#bbf7d0}
.prc-status-pill.idle{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}
.prc-status-pill.inprogress{color:var(--accent);background:var(--accent-light);border-color:#bfdbfe}
.prc-status-pill::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.prc-summary-item.is-blocked{background:#fef2f2;border-color:#fecaca}
.prc-summary-item.is-ok{background:#f0fdf4;border-color:#86efac}
.prc-summary-item.is-prog{background:#eff6ff;border-color:#93c5fd}
.prc-summary-item.is-warn{background:#fffbeb;border-color:#fcd34d}
.prc-task-body{padding:16px;display:grid;gap:14px}
.prc-task-date-box{border:1px solid var(--border-strong);background:#fff;border-radius:12px;padding:12px}
.prc-task-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:#94a3b8;margin-bottom:6px;font-family:'DM Sans',sans-serif !important}
.prc-task-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--text-muted);margin-bottom:5px}
.prc-task-status{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;font-size:11.5px;font-weight:800;border:1px solid #dbe3ee;white-space:nowrap;background:#f8fafc;color:#64748b;font-family:'DM Sans',sans-serif !important}
.prc-task-status.is-overdue{background:#fef2f2;color:#dc2626;border-color:#fecaca}
.prc-task-status.is-planned{background:rgba(37,99,235,.08);color:#1d4ed8;border-color:rgba(37,99,235,.2)}
.prc-task-status.is-soon{background:#fffbeb;color:#d97706;border-color:#fcd34d}
.prc-task-status::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
