/* Polaris CRM Admin Styles — v4 with theme isolation */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

/* ── HARD RESET: prevent WordPress/Elementor theme override ── */
.polaris-app { display:block!important; visibility:visible!important; opacity:1!important; }
.polaris-app *{box-sizing:border-box!important;margin:0;padding:0}
.polaris-app{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;color:#1a1a2e;background:#f0f2f7;min-height:100vh;position:relative}

/* LOGIN */
.p-login-wrap{min-height:600px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0d1117 0%,#1a1a2e 100%)}
.p-login-card{background:#fff;border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.p-login-logo{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:6px}
.p-logo-icon{color:#c8a84b;font-size:24px}
.p-logo-text{font-size:22px;font-weight:700;letter-spacing:2px;color:#1a1a2e}
.p-login-sub{text-align:center;color:#888;font-size:13px;margin-bottom:28px}
.p-login-note{text-align:center;color:#aaa;font-size:12px;margin-top:14px}

/* LAYOUT */
.p-main{display:flex;min-height:600px}
.p-sidebar{width:220px;min-height:600px;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;flex-shrink:0}
.p-sidebar-brand{padding:20px 20px 16px;display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;letter-spacing:1px;border-bottom:1px solid rgba(255,255,255,.08)}
.p-sidebar-brand .p-logo-icon{color:#c8a84b;font-size:18px}
.p-nav{flex:1;padding:12px 0}
.p-nav-item{display:flex;align-items:center;gap:10px;padding:11px 20px;color:rgba(255,255,255,.65);text-decoration:none;cursor:pointer;transition:all .15s;font-size:13.5px;border-left:3px solid transparent}
.p-nav-item:hover{color:#fff;background:rgba(255,255,255,.06)}
.p-nav-item.active{color:#fff;background:rgba(200,168,75,.12);border-left-color:#c8a84b}
.p-nav-icon{font-size:16px;width:20px;text-align:center}
.p-sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:rgba(255,255,255,.5);display:flex;flex-direction:column;gap:6px}
.p-btn-link{background:none;border:none;color:#c8a84b;cursor:pointer;font-size:12px;padding:0;text-align:left}
.p-content{flex:1;padding:28px;overflow-x:auto;min-width:0}

/* PAGE HEADER */
.p-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.p-page-header h1{font-size:22px;font-weight:700;color:#1a1a2e;display:flex;align-items:center;gap:10px}
.p-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* STATS */
.p-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}
.p-stat-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.p-stat-value{font-size:32px;font-weight:700;color:#1a1a2e;line-height:1}
.p-stat-label{font-size:12px;color:#888;margin-top:6px}
.p-stat-card.accent{background:#1a1a2e;color:#fff}
.p-stat-card.accent .p-stat-value{color:#c8a84b}
.p-stat-card.accent .p-stat-label{color:rgba(255,255,255,.6)}

/* CARDS */
.p-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.06);overflow:hidden}
.p-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f0f0f0}
.p-card-header h3{font-size:15px;font-weight:600}
.p-card-body{padding:20px}
.p-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.p-form-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.06);padding:20px;display:flex;flex-direction:column;gap:12px}
.p-form-card-title{font-weight:600;font-size:15px}
.p-form-card-meta{font-size:12px;color:#888}
.p-form-card-actions{display:flex;gap:8px;margin-top:4px}

/* TABLE */
.p-table{width:100%;border-collapse:collapse;font-size:13px}
.p-table th{text-align:left;padding:12px 14px;font-weight:600;color:#888;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #f0f0f0;background:#fafafa}
.p-table td{padding:12px 14px;border-bottom:1px solid #f7f7f7;vertical-align:middle}
.p-table tr:last-child td{border-bottom:none}
.p-table tr:hover td{background:#fafbff}
.p-table td .p-actions{display:flex;gap:6px}

/* FORMS & INPUTS */
.p-form-group{margin-bottom:16px}
.p-form-group label,.p-label{display:block;font-size:12px;font-weight:600;color:#555;margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}
.polaris-app input[type="text"],
.polaris-app input[type="email"],
.polaris-app input[type="password"],
.polaris-app input[type="tel"],
.polaris-app input[type="number"],
.polaris-app .p-search,.p-select,.p-textarea{width:100%;padding:10px 12px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:#1a1a2e;transition:border-color .15s;outline:none}
.polaris-app input:focus,.p-select:focus,.p-textarea:focus{border-color:#1a1a2e}
.p-search{max-width:260px}
.p-textarea{resize:vertical;min-height:80px}

/* BUTTONS */
.p-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .15s;font-family:inherit;text-decoration:none}
.p-btn-primary{background:#1a1a2e;color:#fff}
.p-btn-primary:hover{background:#2a2a4e}
.p-btn-secondary{background:#f0f2f7;color:#1a1a2e;border:1.5px solid #e5e7eb}
.p-btn-secondary:hover{background:#e5e7eb}
.p-btn-danger{background:#fee2e2;color:#dc2626}
.p-btn-danger:hover{background:#fecaca}
.p-btn-gold{background:#c8a84b;color:#fff}
.p-btn-gold:hover{background:#b8943b}
.p-btn-sm{padding:6px 12px;font-size:12px}
.p-btn-full{width:100%;justify-content:center}

/* BADGE */
.p-badge{background:#f0f2f7;color:#888;font-size:12px;padding:2px 8px;border-radius:20px;font-weight:600}
.p-tag{background:#e8f4ff;color:#1a6bcc;font-size:11px;padding:2px 8px;border-radius:20px;display:inline-block}
.p-status{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}
.p-status-active{background:#dcfce7;color:#16a34a}
.p-status-new{background:#fef3c7;color:#d97706}
.p-status-unsubscribed{background:#fee2e2;color:#dc2626}

/* FORM BUILDER */
.p-builder-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.p-fields-list{display:flex;flex-direction:column;gap:10px;min-height:60px;margin-bottom:16px}
.p-field-item{background:#f8f9fb;border:1.5px solid #e5e7eb;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;position:relative}
.p-field-item-header{display:flex;align-items:center;justify-content:space-between}
.p-field-type-badge{font-size:11px;background:#1a1a2e;color:#fff;padding:2px 8px;border-radius:4px;font-weight:600}
.p-field-item-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.p-field-item-inputs input,.p-field-item-inputs select{padding:7px 10px;border:1.5px solid #e5e7eb;border-radius:6px;font-size:13px;width:100%}
.p-field-types{display:flex;flex-wrap:wrap;gap:8px}
.p-field-type-btn{padding:7px 14px;border:1.5px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:13px;font-family:inherit}
.p-field-type-btn:hover{border-color:#1a1a2e;background:#f8f9fb}
.p-form-preview{min-height:100px;display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.p-form-preview .p-preview-field label{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:#333}
.p-form-preview .p-preview-field input,
.p-form-preview .p-preview-field textarea,
.p-form-preview .p-preview-field select{width:100%;padding:9px 12px;border:1.5px solid #e5e7eb;border-radius:7px;font-size:14px;background:#f8f9fb}
.p-form-preview .p-preview-submit{background:#1a1a2e;color:#fff;padding:11px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}
.p-shortcode-box{background:#f0f2f7;border-radius:8px;padding:14px;margin-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.p-shortcode-box code{background:#1a1a2e;color:#c8a84b;padding:6px 12px;border-radius:6px;font-size:13px;flex:1;word-break:break-all}

/* PAGINATION */
.p-pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:16px}
.p-page-btn{padding:6px 12px;border:1.5px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:13px}
.p-page-btn.active{background:#1a1a2e;color:#fff;border-color:#1a1a2e}

/* BULK BAR */
.p-bulk-bar{position:sticky;bottom:0;background:#1a1a2e;color:#fff;padding:14px 24px;display:flex;align-items:center;gap:14px;border-radius:12px;margin-top:16px;box-shadow:0 -4px 20px rgba(0,0,0,.15)}
.p-bulk-bar .p-select{background:#2a2a4e;color:#fff;border-color:rgba(255,255,255,.2);width:auto}

/* MODAL */
.p-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.p-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.p-modal-box{position:relative;background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.p-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #f0f0f0}
.p-modal-header h3{font-size:16px;font-weight:600}
.p-modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:#888;padding:4px}
.p-modal-body{padding:24px;overflow-y:auto;flex:1}
.p-modal-footer{padding:16px 24px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:10px}

/* ALERT */
.p-alert{padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:12px}
.p-alert-error{background:#fee2e2;color:#dc2626}
.p-alert-success{background:#dcfce7;color:#16a34a}

/* TOAST */
.p-toast{position:fixed;bottom:24px;right:24px;background:#1a1a2e;color:#fff;padding:14px 20px;border-radius:10px;font-size:14px;font-weight:500;box-shadow:0 8px 30px rgba(0,0,0,.2);z-index:999999;max-width:320px;animation:slideUp .2s ease}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}

/* EMAIL TEMPLATE CARD */
.p-template-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.06);overflow:hidden}
.p-template-card-header{padding:16px 20px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:flex-start}
.p-template-card-body{padding:16px 20px;font-size:13px;color:#666;line-height:1.6;max-height:80px;overflow:hidden}
.p-template-card-footer{padding:12px 20px;border-top:1px solid #f0f0f0;display:flex;gap:8px}
.p-type-badge{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600}
.p-type-welcome{background:#e8f4ff;color:#1a6bcc}
.p-type-followup{background:#fef3c7;color:#d97706}
.p-type-seminar{background:#dcfce7;color:#16a34a}
.p-type-custom{background:#f0f2f7;color:#666}

/* RESPONSIVE */
@media(max-width:768px){
  .p-main{flex-direction:column}
  .p-sidebar{width:100%;min-height:auto;flex-direction:row;align-items:center}
  .p-nav{display:flex;flex-direction:row;overflow-x:auto;padding:0}
  .p-builder-wrap{grid-template-columns:1fr}
  .p-sidebar-footer{display:none}
}

/* ---- NEW FEATURE STYLES ---- */

/* Special field type buttons */
.pf-btn-special { background: #f0f7ff; border-color: #b8d4f5; color: #1a5fa8; }
.pf-btn-special:hover { background: #dbeafe; border-color: #1a5fa8; }

/* Contact Detail */
.p-contact-detail-grid { display: grid; grid-template-columns: 340px 1fr; gap: 20px; }
.p-contact-avatar { width: 72px; height: 72px; border-radius: 50%; background: #1a1a2e; color: #c8a84b; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700; margin: 0 auto 20px; }
.p-info-grid { display: flex; flex-direction: column; gap: 10px; }
.p-info-row { display: flex; gap: 10px; align-items: flex-start; }
.p-info-label { font-size: 12px; font-weight: 600; color: #888; min-width: 90px; padding-top: 2px; }
.p-info-value { font-size: 14px; color: #1a1a2e; flex: 1; word-break: break-word; }
.p-quick-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.p-email-composer { margin-top: 20px; }

/* Contact submissions inside detail */
.p-sub-item { border: 1px solid #f0f0f0; border-radius: 8px; padding: 12px 14px; margin-bottom: 10px; font-size: 13px; }
.p-sub-item-header { display: flex; justify-content: space-between; margin-bottom: 8px; }
.p-sub-form-name { font-weight: 600; color: #1a1a2e; }
.p-sub-date { font-size: 12px; color: #aaa; }
.p-sub-data { color: #555; line-height: 1.7; }
.p-sub-files { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.p-file-thumb { border: 1px solid #e5e7eb; border-radius: 6px; padding: 6px 10px; font-size: 12px; display: flex; align-items: center; gap: 6px; text-decoration: none; color: #1a1a2e; }
.p-file-thumb:hover { background: #f0f2f7; }
.p-sig-thumb { border: 1px solid #e5e7eb; border-radius: 6px; overflow: hidden; }
.p-sig-thumb img { display: block; max-width: 160px; height: 60px; object-fit: contain; }
.p-email-log-item { font-size: 13px; padding: 8px 0; border-bottom: 1px solid #f7f7f7; display: flex; justify-content: space-between; align-items: center; }
.p-email-log-item:last-child { border-bottom: none; }

/* Email Composer */
.p-composer-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.p-composer-recipients { border: 1.5px solid #e5e7eb; border-radius: 8px; max-height: 220px; overflow-y: auto; padding: 8px; }
.p-contacts-checklist { display: flex; flex-direction: column; gap: 4px; }
.p-contact-check-item { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 6px; cursor: pointer; font-size: 13px; }
.p-contact-check-item:hover { background: #f8f9fb; }
.p-contact-check-item input[type="checkbox"] { width: 15px; height: 15px; }
.p-selected-count { font-size: 12px; color: #888; padding: 6px 0 2px; text-align: right; }
.p-composer-toolbar { display: flex; align-items: center; gap: 4px; padding: 8px; background: #f8f9fb; border: 1.5px solid #e5e7eb; border-bottom: none; border-radius: 8px 8px 0 0; flex-wrap: wrap; }
.p-toolbar-btn { background: none; border: 1px solid transparent; padding: 4px 8px; border-radius: 4px; cursor: pointer; font-size: 13px; font-family: inherit; }
.p-toolbar-btn:hover { background: #fff; border-color: #e5e7eb; }
.p-toolbar-sep { width: 1px; height: 20px; background: #e5e7eb; margin: 0 4px; }
.p-rich-editor { min-height: 200px; border: 1.5px solid #e5e7eb; border-radius: 0 0 8px 8px; padding: 14px; font-size: 14px; font-family: inherit; color: #1a1a2e; outline: none; line-height: 1.8; }
.p-rich-editor:empty:before { content: attr(placeholder); color: #aaa; }
.p-rich-editor:focus { border-color: #1a1a2e; }
.p-email-preview-frame { min-height: 300px; border: 1.5px solid #e5e7eb; border-radius: 8px; overflow: hidden; }
.p-email-preview-frame iframe { width: 100%; min-height: 400px; border: none; }

/* Signature canvas on public form */
.pf-signature-wrap { border: 1.5px solid #d1d5db; border-radius: 8px; overflow: hidden; background: #fff; }
.pf-signature-canvas { display: block; width: 100%; cursor: crosshair; touch-action: none; }
.pf-signature-controls { display: flex; gap: 8px; padding: 8px; background: #f8f9fb; border-top: 1px solid #e5e7eb; }
.pf-sig-clear { background: none; border: 1px solid #e5e7eb; border-radius: 5px; padding: 4px 12px; cursor: pointer; font-size: 12px; font-family: inherit; }

@media(max-width:900px) {
  .p-contact-detail-grid { grid-template-columns: 1fr; }
  .p-composer-wrap { grid-template-columns: 1fr; }
}
