:root{font-family:Inter,system-ui,-apple-system,Arial,sans-serif;color:#282532;background:#f6f5fa}*{box-sizing:border-box}body{margin:0}a{color:#7144d9;text-underline-offset:3px}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:0;border-radius:9px;padding:11px 17px;background:#7648e9;color:#fff;font-weight:650;text-decoration:none;display:inline-block;font-size:14px}button.secondary,.button.secondary{background:#ece8f8;color:#5b3ab0}.button.ghost{background:#fff;border:1px solid #dad6e7;color:#3b3650}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a383ff;outline-offset:2px}.app{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.side{background:#1b1924;color:#f6f5fb;padding:28px 19px}.brand{font-weight:750;letter-spacing:-.5px;font-size:20px;margin-bottom:6px}.tag{color:#b6b0c3;font-size:11px;letter-spacing:1px;margin-bottom:35px}.nav{display:grid;gap:6px}.nav a{color:#e4e0ec;padding:12px;border-radius:8px;text-decoration:none;font-size:14px}.nav a[aria-current=page],.nav a:hover{background:#363046;color:#fff}.side-foot{margin-top:36px;color:#bdb7ca;font-size:12px;line-height:1.6}.main{min-width:0;padding:30px clamp(20px,4vw,58px) 60px;max-width:1450px;width:100%;margin:0 auto}.eyebrow{letter-spacing:2px;font-size:11px;color:#7654b7;font-weight:750;text-transform:uppercase;margin:0 0 8px}h1{font-size:clamp(28px,3vw,38px);letter-spacing:-1px;margin:0 0 12px}h2{margin:0 0 15px;font-size:20px;letter-spacing:-.4px}h3{margin:0 0 10px}.intro{color:#6f6a7c;margin:0 0 25px;line-height:1.6}.topline{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:25px}.panel{background:#fff;border:1px solid #e7e3ee;border-radius:14px;padding:24px;margin:0 0 19px;box-shadow:0 8px 28px #25203a07}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.metric strong{display:block;font-size:35px;line-height:1.4}.metric small,.helper{color:#777182;font-size:12px;line-height:1.6}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.between{justify-content:space-between}.field{display:grid;gap:7px;margin-bottom:15px}.field label{font-size:13px;font-weight:700;color:#45404f}.field input,.field select,.field textarea{width:100%;border:1px solid #d8d2e4;background:#fff;border-radius:8px;padding:12px;color:#282532;min-height:43px}.field textarea{line-height:1.5}.field small{font-size:12px;color:#756e81;line-height:1.5}.muted{color:#777182}table.data{border-collapse:collapse;width:100%;font-size:14px}.data th,.data td{text-align:left;padding:14px 12px;border-bottom:1px solid #eeeaf2;vertical-align:top}.data th{font-size:12px;color:#6f6a7e;font-weight:700}.pill{display:inline-block;border-radius:20px;background:#f1ecff;color:#6541bd;padding:5px 10px;font-size:12px;font-weight:700}.pill.off{background:#f2f2f4;color:#777182}.notice{padding:15px 19px;margin-bottom:18px;background:#efe9ff;border-left:4px solid #7446e8;border-radius:8px}.danger{padding:12px 15px;background:#fff1f0;border:1px solid #f2c0bf;border-radius:8px;color:#842a24}.auth-wrap{max-width:440px;margin:9vh auto 40px;padding:20px}.auth-logo{background:#1b1924;color:#fff;padding:28px;border-radius:14px 14px 0 0}.auth-wrap .panel{border-radius:0 0 14px 14px}.button:disabled,button:disabled{opacity:.5;cursor:not-allowed}.check{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-size:13px;line-height:1.5}.check input{margin-top:4px}.preview{border:1px solid #dcd6e8;width:100%;height:620px;background:white;border-radius:8px}.projectnote{font-size:12px;line-height:1.5;color:#777182;margin:15px 0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.divider{height:1px;background:#eeeaf2;margin:24px 0}.wide{max-width:850px}.summary{padding:17px;background:#f8f7fb;border-radius:9px}.small{font-size:12px}.inline{display:inline}.nowrap{white-space:nowrap}@media(max-width:1000px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2{grid-template-columns:1fr}}@media(max-width:720px){.app{display:block}.side{padding:16px}.brand{font-size:18px}.tag{margin:0 0 13px}.nav{display:flex;overflow:auto;gap:3px}.nav a{white-space:nowrap;padding:10px}.side-foot{display:none}.main{padding:23px 15px 45px}.metrics{grid-template-columns:repeat(2,1fr);gap:9px}.panel{padding:17px}.data{display:block;overflow-x:auto}.metric strong{font-size:28px}.topline{align-items:flex-start}}

/* Accessible list management */
.list-manager-item{border-bottom:1px solid #e7e5ee;padding:14px 0}
.list-manager-actions{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-top:10px}
.list-manager-actions form:first-child{display:flex;align-items:center;flex:1 1 240px;gap:8px;flex-wrap:wrap}
.list-manager-actions input[type=text]{min-width:140px;flex:1 1 150px;padding:10px;border:1px solid #ccc7d7;border-radius:6px}
.list-manager-actions button{white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Assign existing contacts to additional lists */
.contact-list-tools{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:12px 0 18px}.contact-list-tools .field{min-width:220px;margin:0;flex:1}.table-scroll{overflow-x:auto}.unsubscribe-details{margin-top:20px;border-top:1px solid #eeeaf2;padding-top:13px}.unsubscribe-rows{display:grid;gap:10px;margin-top:12px}.unsubscribe-rows .row{padding:6px 0;border-bottom:1px solid #eeeaf2}.data input[type=checkbox]{width:17px;height:17px;cursor:pointer}

/* Integrated campaign workflow */
.campaign-steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;margin:10px 0 0}
.campaign-steps li{counter-increment:step;padding:16px 16px 16px 53px;position:relative;background:#f8f6fd;border:1px solid #e7e2f0;border-radius:11px;min-height:112px}
.campaign-steps li:before{content:counter(step);position:absolute;top:16px;left:15px;background:#7648e9;color:#fff;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-size:13px;font-weight:700}
.campaign-steps strong,.campaign-steps span{display:block}.campaign-steps span{font-size:13px;line-height:1.55;margin-top:6px;color:#615b70}
.send-test{padding:19px 0;border-top:1px solid #e8e3f0;margin-top:18px}.send-test h3{font-size:16px}
.advanced-source{margin:16px 0}.advanced-source summary{cursor:pointer;color:#68518d;font-weight:650;padding:8px 0}
@media(max-width:760px){.campaign-steps{grid-template-columns:1fr}}

/* Campaign recipient activity: collapsed by default */
.send-history summary{cursor:pointer;padding:8px 4px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#332b45}
.send-history summary:focus-visible{outline:3px solid #a383ff;outline-offset:3px;border-radius:6px}
.send-history[open] summary{margin-bottom:12px;border-bottom:1px solid #e9e4f0;padding-bottom:14px}
.activity-scroll{width:100%;overflow-x:auto}
@media(max-width:720px){.send-history summary{align-items:flex-start;flex-direction:column}}

/* LEGAL_FOOTER_COMPONENT_V1: protected permanent application styling. */
.app-legal-footer { display:block; clear:both; width:100%; max-width:100%; margin:28px auto 0; padding:24px 16px; border-top:1px solid #e3deed; box-sizing:border-box; text-align:center; }
.legal-links {display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:28px;row-gap:12px;width:100%;text-align:center;font-size:13px;line-height:1.6}
.legal-links a {display:inline-block;padding:4px 3px;color:#6740c9;text-decoration:underline;text-underline-offset:3px}
.legal-links a:focus-visible {outline:3px solid #a383ff;outline-offset:3px;border-radius:3px}
@media (max-width:480px){.app-legal-footer{padding:22px 12px}.legal-links{column-gap:18px;row-gap:8px}}


/* Kinya Email Studio — Contacts & Lists consistency patch v1
   Append to the END of the installed public/assets/style.css.
   Scoped to application form controls; do not replace the legal footer styles.
*/
:root { --kes-purple:#7648e9; --kes-purple-soft:#ece8f8; --kes-border:#d8d2e4; --kes-ink:#282532; }

/* Consistent text inputs, selects, file fields, and button heights. */
.main .field input:not([type="checkbox"]):not([type="radio"]),
.main .field select,
.main .field textarea,
.main .contact-filter select,
.main .list-manager-actions input[type="text"] {
  box-sizing:border-box;
  display:block;
  width:100%;
  max-width:100%;
  min-height:43px;
  margin:0;
  padding:10px 13px;
  border:1px solid var(--kes-border);
  border-radius:9px;
  background-color:#fff;
  color:var(--kes-ink);
  font:inherit;
  font-size:14px;
  line-height:1.4;
  box-shadow:none;
}
.main .field select, .main .contact-filter select {
  appearance:none;
  -webkit-appearance:none;
  padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23564A68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-position:right 12px center;
  background-repeat:no-repeat;
  background-size:16px;
}
.main .field input[type="file"] { padding:8px 10px; }
.main .field input[type="file"]::file-selector-button {
  border:1px solid var(--kes-border);
  border-radius:7px;
  background:#f6f3fc;
  color:#5632a6;
  padding:5px 11px;
  margin-right:12px;
  font:inherit;
  font-size:13px;
  cursor:pointer;
}
.main button, .main .button {
  min-height:42px;
  padding:10px 15px;
  border-radius:9px;
  font-size:14px;
  line-height:1.35;
  text-align:center;
  white-space:normal;
}
.main button.secondary, .main .button.secondary { background:var(--kes-purple-soft); color:#5b3ab0; }
.main button:focus-visible, .main .field input:focus-visible, .main select:focus-visible {
  outline:3px solid #a383ff; outline-offset:2px;
}

/* Your lists: each list is a separate, easy-to-scan editable row. */
.main .list-manager-item {
  padding:15px 0;
  border-bottom:1px solid #ebe7f2;
}
.main .list-manager-item:last-of-type { border-bottom:0; }
.main .list-manager-item > .row {
  display:flex; align-items:baseline; justify-content:space-between;
  gap:10px; flex-wrap:wrap; margin-bottom:10px;
}
.main .list-manager-item > .row strong { font-size:14px; }
.main .list-manager-item > .row small { white-space:nowrap; }
.main .list-manager-actions {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:9px;
  margin-top:0;
}
.main .list-manager-actions form:first-child {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  min-width:0;
  width:100%;
  margin:0;
}
.main .list-manager-actions form:first-child input[type="text"] {
  flex:1 1 175px;
  min-width:0;
  width:auto;
}
.main .list-manager-actions form {margin:0;}
.main .list-manager-actions form:last-child button {min-width:100px;}

/* Filter form: label and matching dropdown/button on one aligned row. */
.main .contact-filter {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:12px;
  row-gap:8px;
  align-items:end;
  margin:14px 0 20px;
  max-width:610px;
}
.main .contact-filter label {
  grid-column:1/-1;
  color:#45404f;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
}
.main .contact-filter select { min-width:0; }
.main .contact-filter button { margin:0; }

/* List assignment: two inputs above two equal-height actions. */
.main .contact-list-tools {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:end;
  margin:16px 0 20px;
}
.main .contact-list-tools .field {min-width:0; margin:0;}
.main .contact-list-tools > button {width:100%; min-width:0; align-self:stretch;}

/* Contact table and editing panels. */
.main .table-scroll {width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.main .table-scroll .data {min-width:690px;}
.main .edit-contact-panel, .main .unsubscribe-details {margin-top:18px;}
.main .edit-contact-panel summary, .main .unsubscribe-details summary {
  cursor:pointer; padding:12px 0; font-size:14px; font-weight:650; color:#5b3ab0;
}
.main .edit-contact-panel[open], .main .unsubscribe-details[open] {padding-bottom:12px;}
.main .edit-contact-panel form {max-width:610px;margin-top:12px;}

@media(max-width:780px){
  .main .contact-list-tools { grid-template-columns:minmax(0,1fr); }
  .main .contact-filter {grid-template-columns:minmax(0,1fr);}
  .main .contact-filter button {width:100%;}
  .main .list-manager-actions form:first-child input[type="text"] {flex-basis:100%;}
  .main .list-manager-actions form:first-child button {width:100%;}
}
