/*! * wp-db-support — unified modal styles. * * Version: ships with wp-db-support; enqueued at the plugin version so a release busts the * cache. Introduced in 1.5.0. It has no lifecycle of its own on purpose — a second * version number here would be one more thing to forget to bump. * * One CSS file consumed by every modal in the plugin (admin "Create A * Ticket" form, frontend C+A+T support form, D+T+S developer list + * detail). Single source of truth: change a color or padding here and * every modal updates. * * Class prefix: .wp-db-modal-* (BEM-ish). Older CSS classes * (.wp-db-support-modal-*) live in admin.css / support-form.css and * remain in place for legacy compatibility — new modal markup uses these. * * Theme: SiteHealth-aligned teal header + SH-style two-tone titles * (purple #903eb9 + teal #5cc1a8). Mirrors the .sh-section-title pattern * used inside the SH admin pages. * * @package WP_DB_Support * @since 1.5.0 */ .wp-db-modal-overlay{position:fixed;inset:0;background:rgb(15 23 42 / .55);display:flex;align-items:center;justify-content:center;z-index:999999;padding:24px;box-sizing:border-box;overflow-y:auto}.wp-db-modal-overlay .wp-db-modal{background:#fff;border-radius:12px;box-shadow:0 12px 40px rgb(0 0 0 / .18);width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;position:relative}.wp-db-modal-overlay .wp-db-modal--wide{max-width:860px}.wp-db-modal__header{background:#3ba38d;color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.wp-db-modal__title{margin:0;font-size:18px;font-weight:600;line-height:1.3;color:#fff;display:flex;align-items:center;gap:8px}.wp-db-modal__title .icon{font-size:22px;line-height:1}.wp-db-modal__title strong{font-weight:700;color:#fff}.wp-db-modal__subtitle{margin:2px 0 0;font-size:12px;color:rgb(255 255 255 / .85)}.wp-db-modal__close{background:rgb(255 255 255 / .18);border:none;color:#fff;width:32px;height:32px;border-radius:16px;cursor:pointer;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background 0.15s ease;flex-shrink:0}.wp-db-modal__close:hover,.wp-db-modal__close:focus{background:rgb(255 255 255 / .32);outline:none;color:#fff}.wp-db-modal__body{padding:20px 24px;overflow-y:auto;flex:1 1 auto;color:#1a1a2e;font-size:14px;line-height:1.5}.wp-db-modal__body p{margin:0 0 12px}.wp-db-modal__section-title{color:#903eb9;font-size:15px;font-weight:600;margin:0 0 6px;display:flex;align-items:center;gap:8px}.wp-db-modal__section-title strong{color:#5cc1a8;font-weight:600}.wp-db-modal__section-title .icon{font-size:18px}.wp-db-modal__section-desc{color:#6b7280;font-size:13px;margin:0 0 16px}.wp-db-modal__field{margin-bottom:16px}.wp-db-modal__field-label{display:block;font-weight:600;color:#1a1a2e;font-size:13px;margin-bottom:6px}.wp-db-modal__field-label .optional{color:#6b7280;font-weight:400;font-size:12px}.wp-db-modal__field-input,.wp-db-modal__field-textarea,.wp-db-modal__field-select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;background:#fff;color:#1a1a2e;box-sizing:border-box;transition:border-color 0.15s ease,box-shadow 0.15s ease}.wp-db-modal__field-input:focus,.wp-db-modal__field-textarea:focus,.wp-db-modal__field-select:focus{border-color:#3ba38d;box-shadow:0 0 0 3px rgb(59 163 141 / .18);outline:none}.wp-db-modal__field-textarea{min-height:100px;resize:vertical}.wp-db-modal__field-help{font-size:12px;color:#6b7280;margin:6px 0 0}.wp-db-modal__file-zone{border:1px dashed #d1d5db;border-radius:8px;padding:16px;background:#f9fafb;cursor:pointer;text-align:center;transition:border-color 0.15s ease,background 0.15s ease}.wp-db-modal__file-zone:hover{border-color:#3ba38d;background:#f0fdf9}.wp-db-modal__file-zone .icon{font-size:22px;display:block;margin-bottom:6px}.wp-db-modal__file-zone-label{font-weight:600;color:#1a1a2e;font-size:14px}.wp-db-modal__file-zone-help{font-size:12px;color:#6b7280;margin-top:4px}.wp-db-modal__file-input{display:none}.wp-db-modal__tech-list{background:#f6f7f7;border-radius:6px;padding:12px 16px;list-style:none;margin:0;font-size:12px;color:#4b5563}.wp-db-modal__tech-list li{margin:0 0 4px;line-height:1.4}.wp-db-modal__tech-list li:last-child{margin-bottom:0}.wp-db-modal__tech-list strong{color:#1a1a2e;font-weight:600}.wp-db-modal__footer{padding:14px 24px;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:flex-end;gap:8px;background:#f9fafb}.wp-db-modal__btn{padding:9px 18px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid #fff0;transition:background 0.15s ease,border-color 0.15s ease,color 0.15s ease;display:inline-flex;align-items:center;gap:6px;line-height:1}.wp-db-modal__btn--primary{background:#3ba38d;border-color:#3ba38d;color:#fff}.wp-db-modal__btn--primary:hover,.wp-db-modal__btn--primary:focus{background:#2f8a76;border-color:#2f8a76;outline:none;color:#fff}.wp-db-modal__btn--secondary{background:#fff;border-color:#d1d5db;color:#1a1a2e}.wp-db-modal__btn--secondary:hover,.wp-db-modal__btn--secondary:focus{background:#f3f4f6;border-color:#9ca3af;outline:none;color:#1a1a2e}.wp-db-modal__btn--success{background:#16a34a;border-color:#16a34a;color:#fff}.wp-db-modal__btn--success:hover,.wp-db-modal__btn--success:focus{background:#15803d;border-color:#15803d;outline:none;color:#fff}.wp-db-modal__btn[disabled]{opacity:.6;cursor:not-allowed}.wp-db-modal__ticket-list{display:flex;flex-direction:column;gap:10px;margin:0}.wp-db-modal__ticket-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:14px 16px;cursor:pointer;transition:border-color 0.15s ease,box-shadow 0.15s ease,transform 0.05s ease;display:flex;flex-direction:column;gap:6px}.wp-db-modal__ticket-card:hover{border-color:#3ba38d;box-shadow:0 4px 12px rgb(59 163 141 / .12)}.wp-db-modal__ticket-card:active{transform:translateY(1px)}.wp-db-modal__ticket-card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.wp-db-modal__ticket-card-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#6b7280;line-height:1.3}.wp-db-modal__ticket-card-subject{font-size:14px;font-weight:600;color:#1a1a2e;line-height:1.35;margin:2px 0 0}.wp-db-modal__ticket-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.wp-db-modal__ticket-card-date{font-size:12px;color:#6b7280}.wp-db-modal__ticket-card-empty{color:#6b7280;font-style:italic;text-align:center;padding:24px}.wp-db-modal__pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.4;white-space:nowrap}.wp-db-modal__pill--severity-low{background:#dbeafe;color:#1e40af}.wp-db-modal__pill--severity-medium{background:#fef3c7;color:#854d0e}.wp-db-modal__pill--severity-high{background:#fed7aa;color:#9a3412}.wp-db-modal__pill--severity-critical{background:#fecaca;color:#7f1d1d}.wp-db-modal__pill--status-new{background:#dbeafe;color:#1e3a8a}.wp-db-modal__pill--status-in_progress{background:#ede9fe;color:#5b21b6}.wp-db-modal__pill--status-resolved{background:#dcfce7;color:#166534}.wp-db-modal__pill--status-closed{background:#f3f4f6;color:#374151}.wp-db-modal__back{background:#fff0;border:1px solid #d1d5db;color:#1a1a2e;padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;margin-bottom:16px;transition:background 0.15s ease,border-color 0.15s ease}.wp-db-modal__back:hover,.wp-db-modal__back:focus{background:#f3f4f6;border-color:#9ca3af;outline:none;color:#1a1a2e}.wp-db-modal__detail-summary{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px 14px;margin-bottom:16px}.wp-db-modal__detail-summary-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#6b7280;margin:0 0 4px}.wp-db-modal__detail-summary-subject{font-size:15px;font-weight:600;color:#1a1a2e;margin:0 0 8px}.wp-db-modal__detail-summary-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:#6b7280}@media (max-width:640px){.wp-db-modal-overlay{padding:12px}.wp-db-modal__header{padding:14px 16px}.wp-db-modal__body{padding:16px}.wp-db-modal__footer{padding:12px 16px;flex-wrap:wrap}.wp-db-modal__title{font-size:16px}}