/* Common UI CSS - Phase 5
 * Shared, prefixed styles for common modules and future-safe UI cleanup.
 * Uses cm-/common- prefixes to avoid touching page-specific business UI.
 */
:root{
  --common-blue:#2563eb;
  --common-red:#dc2626;
  --common-green:#15803d;
  --common-warning:#b45309;
  --common-text:#0f172a;
  --common-muted:#64748b;
  --common-line:#e2e8f0;
  --common-soft:#f8fafc;
  --common-radius:14px;
  --common-shadow:0 18px 55px rgba(15,23,42,.14);
}
.common-hidden{display:none!important}
.common-muted{color:var(--common-muted)!important}
.common-nowrap{white-space:nowrap!important}
.common-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.common-btn{border:0;border-radius:12px;padding:10px 14px;font-weight:900;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.1;background:var(--common-blue);color:#fff}
.common-btn:disabled{opacity:.55;cursor:not-allowed}.common-btn.secondary{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.common-btn.danger{background:var(--common-red);color:#fff}.common-btn.success{background:#16a34a;color:#fff}.common-btn.dark{background:#0f172a;color:#fff}
.common-card{background:#fff;border:1px solid var(--common-line);border-radius:18px;box-shadow:0 12px 32px rgba(15,23,42,.07)}
.common-empty{padding:22px;text-align:center;color:var(--common-muted);font-weight:850}.common-loading{padding:22px;text-align:center;color:var(--common-muted);font-weight:850}
.common-input{border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;background:#fff;font:inherit;font-weight:800;outline:none}.common-input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.common-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.common-badge.ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}.common-badge.warn{border-color:#fed7aa;background:#fff7ed;color:#9a3412}.common-badge.bad{border-color:#fecaca;background:#fef2f2;color:#991b1b}.common-badge.info{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
/* Common modal */
.cm-backdrop{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.48);display:flex;align-items:center;justify-content:center;padding:16px}.cm-card{width:min(440px,100%);background:#fff;border:1px solid var(--common-line);border-radius:20px;box-shadow:0 24px 80px rgba(15,23,42,.28);overflow:hidden;font-family:Poppins,system-ui,-apple-system,Segoe UI,Arial,sans-serif}.cm-head{padding:15px 16px;border-bottom:1px solid #eef2f7;font-weight:950;color:var(--common-text)}.cm-body{padding:16px;color:#334155;font-size:14px;font-weight:750;line-height:1.6;white-space:pre-line}.cm-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 16px 16px;flex-wrap:wrap}.cm-btn{border:0;border-radius:12px;padding:10px 14px;font-weight:900;cursor:pointer}.cm-ok{background:var(--common-blue);color:#fff}.cm-cancel{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.cm-danger{background:var(--common-red);color:#fff}.cm-warning .cm-head{color:var(--common-warning)}.cm-error .cm-head{color:var(--common-red)}.cm-success .cm-head{color:var(--common-green)}
@media(max-width:520px){.cm-backdrop{align-items:flex-end;padding:10px}.cm-card{border-radius:18px}.cm-actions{display:grid;grid-template-columns:1fr 1fr}.cm-alert .cm-actions{grid-template-columns:1fr}.cm-btn{width:100%}.common-actions{justify-content:stretch}.common-actions>.common-btn{flex:1}}
