/*
E-Safe Design System CSS v2.2 scoped for E-Safe Tools • Missing Kids.
Look and feel only. Existing plugin selectors are preserved so shortcode, admin,
feed, subscription, EMS, and table behavior are not changed.
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Source+Sans+3:wght@400;500;600;900&display=swap');

.esafe-root,
.esafe-shortcode,
.esafe-admin,
.esafe-ui,
.esafe-plugin-wrap,
.esafe-admin-wrap {
  --esafe-page-bg:#F5F8FB;
  --esafe-text:#0F2330;
  --esafe-muted:#5A6A75;
  --esafe-meta:#9B9B9B;
  --esafe-border:#D4DEE6;
  --esafe-border-soft:#E6E6E6;
  --esafe-surface:#FFFFFF;
  --esafe-surface-alt:#F5F8FB;
  --esafe-link:#E30000;
  --esafe-link-hover:#0427C4;
  --esafe-heading:#1E5476;
  --esafe-soft-bg:#F5F5F5;
  --esafe-soft-border:#DADADA;
  --esafe-soft-text:#9B9B9B;
  --esafe-soft-hover-bg:#FFFFFF;
  --esafe-soft-hover-border:rgba(241,193,193,0.5);
  --esafe-soft-hover-text:#D8677D;
  --esafe-soft-hover-shadow:0 0 6px 0 rgba(224,90,90,0.5);
  --esafe-card-hover-shadow:0 0 8px 0 rgba(224,90,90,0.25);
  --esafe-font-primary:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --esafe-font-secondary:"Source Sans 3","Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --esafe-h1:20px;
  --esafe-h2:18px;
  --esafe-h3:16px;
  --esafe-h4:15px;
  --esafe-text-body:15px;
  --esafe-text-compact:13px;
  --esafe-text-button:12px;
  --esafe-radius-sm:8px;
  --esafe-radius-md:10px;
  --esafe-radius-lg:12px;
  --esafe-shadow-low:0 1px 2px rgba(0,0,0,0.06);
  --esafe-shadow-soft:0 0 6px 0 rgba(218,218,218,0.35);
  font-family:var(--esafe-font-primary);
  font-size:var(--esafe-text-body);
  font-weight:400;
  line-height:1.10;
  color:var(--esafe-text);
}

.esafe-root *,
.esafe-shortcode *,
.esafe-admin *,
.esafe-ui *,
.esafe-plugin-wrap *,
.esafe-admin-wrap *{box-sizing:border-box}

.esafe-root a,
.esafe-shortcode a,
.esafe-admin a,
.esafe-ui a,
.esafe-plugin-wrap a,
.esafe-admin-wrap a{color:var(--esafe-link);text-decoration:none;transition:color .25s ease}
.esafe-root a:hover,.esafe-root a:focus,
.esafe-shortcode a:hover,.esafe-shortcode a:focus,
.esafe-admin a:hover,.esafe-admin a:focus,
.esafe-ui a:hover,.esafe-ui a:focus,
.esafe-plugin-wrap a:hover,.esafe-plugin-wrap a:focus,
.esafe-admin-wrap a:hover,.esafe-admin-wrap a:focus{color:var(--esafe-link-hover);text-decoration:none}

.esafe-root h1,.esafe-shortcode h1,.esafe-admin h1,
.esafe-h1{font-family:var(--esafe-font-secondary);font-size:var(--esafe-h1);font-weight:900;line-height:1.25;color:var(--esafe-heading);margin:0 0 8px}
.esafe-root h2,.esafe-shortcode h2,.esafe-admin h2,
.esafe-h2{font-family:var(--esafe-font-secondary);font-size:var(--esafe-h2);font-weight:600;line-height:1.25;color:var(--esafe-heading);margin:0 0 8px}
.esafe-root h3,.esafe-shortcode h3,.esafe-admin h3,
.esafe-h3{font-family:var(--esafe-font-secondary);font-size:var(--esafe-h3);font-weight:600;line-height:1.25;color:var(--esafe-heading);margin:0 0 7px}
.esafe-root h4,.esafe-shortcode h4,.esafe-admin h4,
.esafe-h4{font-family:var(--esafe-font-secondary);font-size:var(--esafe-h4);font-weight:600;line-height:1.25;color:var(--esafe-heading);margin:0 0 6px}

.esafe-text{font-family:var(--esafe-font-primary);font-size:15px;font-weight:400;line-height:1.10;color:var(--esafe-text);margin:0 0 10px}
.esafe-small,.esafe-compact-text{font-family:var(--esafe-font-primary);font-size:13px;font-weight:400;line-height:1.45;color:var(--esafe-muted)}
.esafe-tiny,.esafe-meta,.esafe-kicker{font-family:var(--esafe-font-primary);font-size:12px;font-weight:400;line-height:1.4;color:var(--esafe-meta)}

.esafe-container{max-width:1200px;margin:0 auto;padding:0 16px}
.esafe-grid{display:grid;gap:16px}
.esafe-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.esafe-col{flex:1 1 0;min-width:240px}
.esafe-sidebar-layout{display:grid;grid-template-columns:70% 30%;gap:24px}
@media(max-width:768px){.esafe-sidebar-layout{grid-template-columns:1fr}}

.esafe-card,.esafe-panel,.esafe-box{background:var(--esafe-surface);border:1px solid var(--esafe-border);border-radius:10px;padding:18px;box-shadow:var(--esafe-shadow-low);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background-color .25s ease}
.esafe-card:hover,.esafe-panel:hover,.esafe-box:hover{transform:translateY(-1px);background:#FFFFFF;border-color:var(--esafe-soft-hover-border);box-shadow:var(--esafe-card-hover-shadow)}
.esafe-panel-header{background:linear-gradient(135deg,#C8D6E3,#AECBE8);padding:18px;border:1px solid rgba(255,255,255,.7);border-radius:12px;box-shadow:var(--esafe-shadow-low)}

.esafe-btn,
.esafe-soft-button,
.esafe-root button,
.esafe-shortcode button,
.esafe-admin button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:7px 14px;background:var(--esafe-soft-bg);border:1px solid var(--esafe-soft-border);border-radius:10px;color:var(--esafe-soft-text);font-family:var(--esafe-font-primary);font-size:12px;font-weight:400;font-style:normal;line-height:1.2;text-decoration:none;cursor:pointer;transition:all .25s ease;box-shadow:none;appearance:none;-webkit-appearance:none;box-sizing:border-box}
.esafe-btn:hover,.esafe-btn:focus,
.esafe-soft-button:hover,.esafe-soft-button:focus,
.esafe-root button:hover,.esafe-root button:focus,
.esafe-shortcode button:hover,.esafe-shortcode button:focus,
.esafe-admin button:hover,.esafe-admin button:focus{background:var(--esafe-soft-hover-bg);border-color:var(--esafe-soft-hover-border);box-shadow:var(--esafe-soft-hover-shadow);color:var(--esafe-soft-hover-text);text-decoration:none;outline:none}
.esafe-btn:disabled,.esafe-soft-button:disabled,.esafe-root button:disabled,.esafe-shortcode button:disabled,.esafe-admin button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.esafe-btn:disabled:hover,.esafe-soft-button:disabled:hover,.esafe-root button:disabled:hover,.esafe-shortcode button:disabled:hover,.esafe-admin button:disabled:hover{background:var(--esafe-soft-bg);border-color:var(--esafe-soft-border);color:var(--esafe-soft-text);box-shadow:none}

.esafe-input,.esafe-select,.esafe-textarea,
.esafe-root input,.esafe-root select,.esafe-root textarea,
.esafe-shortcode input,.esafe-shortcode select,.esafe-shortcode textarea,
.esafe-admin input,.esafe-admin select,.esafe-admin textarea{font-family:var(--esafe-font-primary);font-size:13px;font-weight:400;line-height:1.4;color:var(--esafe-text);background:#FFFFFF;border:1px solid var(--esafe-border);border-radius:8px;padding:8px 12px;outline:none;transition:border-color .25s ease,box-shadow .25s ease}
.esafe-root input:focus,.esafe-root select:focus,.esafe-root textarea:focus,
.esafe-shortcode input:focus,.esafe-shortcode select:focus,.esafe-shortcode textarea:focus,
.esafe-admin input:focus,.esafe-admin select:focus,.esafe-admin textarea:focus{border-color:rgba(241,193,193,.85);box-shadow:0 0 6px 0 rgba(224,90,90,.35)}
.esafe-label{display:inline-block;font-family:var(--esafe-font-primary);font-size:13px;font-weight:500;line-height:1.35;color:var(--esafe-text)}
.esafe-help{font-family:var(--esafe-font-primary);font-size:13px;font-weight:400;line-height:1.45;color:var(--esafe-muted)}

.esafe-table{width:100%;border-collapse:collapse;font-family:var(--esafe-font-primary);font-size:13px;color:var(--esafe-text)}
.esafe-table th{padding:10px;text-align:left;background:#F9F9F9;border-bottom:1px solid var(--esafe-border-soft);font-family:var(--esafe-font-primary);font-size:13px;font-weight:400;line-height:1.45;color:var(--esafe-heading)}
.esafe-table td{padding:10px;border-top:1px solid var(--esafe-border-soft);font-family:var(--esafe-font-primary);font-size:13px;font-weight:400;line-height:1.45;color:var(--esafe-text)}
.esafe-table tr:hover{background:rgba(241,193,193,.12)}
.esafe-table-title{font-family:var(--esafe-font-secondary);font-size:18px;font-weight:600;line-height:1.25;color:var(--esafe-heading);margin:0 0 6px}
.esafe-table-description{font-family:var(--esafe-font-primary);font-size:13px;font-weight:400;line-height:1.45;color:var(--esafe-muted);margin:0 0 14px}
.esafe-record-count,.esafe-selected-count,.esafe-table-counts{font-family:var(--esafe-font-primary);font-size:13px;font-weight:400;line-height:1.4;color:var(--esafe-meta);background:transparent;border:0;box-shadow:none}

.esafe-popup,.esmk-panel{background:#FFFFFF;border:1px solid var(--esafe-border);border-radius:12px;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.esafe-visually-hidden{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden;white-space:nowrap}
