:root{
  --navy:#152f48;--navy2:#1e425f;--blue:#2d93e4;--blue2:#66b8f4;
  --text:#203d56;--muted:#748695;--border:#dce6ed;--soft:#f5f8fb;
  --white:#fff;--green:#21855a;--amber:#d68a21;--red:#b83d46
}
*{box-sizing:border-box}body{margin:0;background:#f1f5f8;color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
button,input,select,textarea{font:inherit}.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(140deg,#eef7fd,#f8fbfd)}
.auth-card{width:min(430px,100%);padding:30px;background:white;border:1px solid var(--border);border-radius:22px;box-shadow:0 25px 70px rgba(20,52,77,.13)}
.auth-brand{font-size:12px;letter-spacing:.12em;font-weight:900;color:var(--blue)}.auth-card h1{margin:7px 0}.auth-card p{color:var(--muted)}
.auth-card label{display:flex;flex-direction:column;gap:6px;margin:14px 0;font-size:11px;font-weight:850}.auth-card input{height:46px;border:1px solid var(--border);border-radius:10px;padding:0 12px}
.app-shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:22px 15px;background:#15314a;color:white;display:flex;flex-direction:column}
.back-link{color:#a9c3d8;font-size:11px;text-decoration:none;margin-bottom:24px}.back-link:hover{color:white}.brand{padding:0 9px 20px;border-bottom:1px solid rgba(255,255,255,.1)}
.brand strong{display:block;font-size:18px;letter-spacing:.03em}.brand span{display:block;margin-top:4px;color:#a9c3d8;font-size:11px}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:18px}
.side-btn{border:0;text-align:left;border-radius:9px;padding:11px 12px;background:transparent;color:#bdd0df;font-weight:800;font-size:12px;cursor:pointer}.side-btn:hover,.side-btn.active{background:#244a68;color:white}
.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:16px 9px 0}.org-badge{font-size:10px;color:#9db7ca;margin-bottom:8px}.text-btn{border:0;background:none;color:#c7d7e3;padding:0;cursor:pointer;font-size:11px}
.main{min-width:0;padding:26px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.topbar h1{margin:3px 0 5px;font-size:29px;letter-spacing:-.035em}.topbar p{margin:0;color:var(--muted);font-size:13px}
.eyebrow{font-size:9px;letter-spacing:.12em;font-weight:950;color:var(--blue)}.engine-status{display:flex;align-items:center;gap:9px;padding:10px 13px;background:white;border:1px solid var(--border);border-radius:12px}
.engine-status strong{display:block;font-size:11px}.engine-status small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.status-dot{width:9px;height:9px;border-radius:50%}.status-dot.draft{background:var(--amber);box-shadow:0 0 0 4px rgba(214,138,33,.12)}
.section{display:none}.section.active{display:block}.marketing-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(410px,.8fr);gap:18px;align-items:start}.panel{background:white;border:1px solid var(--border);border-radius:17px;padding:18px;box-shadow:0 8px 30px rgba(28,55,78,.055)}
.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:15px}.panel-head h2{margin:3px 0 3px;font-size:19px}.panel-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.selected-counter{text-align:center;min-width:72px;padding:9px;border-radius:11px;background:#eef7fd}
.selected-counter strong{display:block;font-size:22px;color:var(--blue)}.selected-counter span{font-size:9px;color:var(--muted)}.audience-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-bottom:13px}.audience-toolbar input{height:41px;border:1px solid var(--border);border-radius:9px;padding:0 11px}
.primary-btn,.secondary-btn,.ai-btn,.send-btn{border-radius:9px;padding:9px 12px;font-weight:850;font-size:11px;cursor:pointer}.primary-btn{border:1px solid #2684cf;background:linear-gradient(135deg,#3ba1ed,#2587d6);color:white}.secondary-btn{border:1px solid #ccdbe6;background:white;color:#43627a}.full{width:100%}
.service-filter-wrap{padding:12px;border:1px solid #e2eaf0;border-radius:11px;background:#fafcfd}.filter-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#7b8d9b;font-weight:900;margin-bottom:8px}.service-filters{display:flex;flex-wrap:wrap;gap:6px}
.service-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #d6e2eb;background:white;border-radius:999px;font-size:10px;color:#506a7f;cursor:pointer}.service-chip input{margin:0}.service-chip:has(input:checked){border-color:#8bc6ef;background:#eef8ff;color:#216da6}
.audience-note{margin:10px 0;color:#7d8c98;font-size:10px}.audience-table-wrap{max-height:520px;overflow:auto;border:1px solid #e1e9ef;border-radius:11px}.audience-table{width:100%;border-collapse:collapse;font-size:10px}.audience-table th{position:sticky;top:0;background:#f5f8fb;text-align:left;padding:9px;color:#718492;font-size:9px;z-index:1}.audience-table td{padding:9px;border-top:1px solid #edf1f4;vertical-align:top}.audience-table tr:hover td{background:#fbfdfe}.check-col{width:34px}.customer-name{font-weight:900;color:#23425b}.muted{color:#83929e}.service-tags{display:flex;gap:4px;flex-wrap:wrap}.mini-tag{padding:3px 5px;border-radius:999px;background:#eef4f8;font-size:8px;color:#587189}
.optout-row{opacity:.55}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field>span{font-size:10px;font-weight:850;color:#4f687c}.field input,.field select,.field textarea{width:100%;border:1px solid #d2dee7;border-radius:9px;padding:10px 11px;outline:none;color:#244159;background:white}.field input:focus,.field select:focus,.field textarea:focus{border-color:#72b8eb;box-shadow:0 0 0 3px rgba(45,147,228,.10)}.field textarea{resize:vertical;line-height:1.5}
.two-field{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai-btn{width:100%;border:1px solid #c6b6f1;background:linear-gradient(135deg,#f5f0ff,#eef7ff);color:#6441a4}.ai-btn span{margin-right:5px}.editor-divider{height:1px;background:#e7edf2;margin:16px 0}.composer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.send-readiness{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:12px;border:1px solid #ecd9ac;background:#fff9eb;border-radius:11px}.send-readiness strong{display:block;font-size:10px}.send-readiness p{margin:3px 0 0;color:#7b6c4f;font-size:9px}.send-btn{border:0;background:#c4cdd4;color:white;cursor:not-allowed;white-space:nowrap}.msg{min-height:16px;margin-top:7px;font-size:10px;color:var(--muted)}.msg.err{color:var(--red)}.msg.ok{color:var(--green)}
.preview-panel{margin-top:18px}.preview-shell{border:1px solid #d8e3eb;border-radius:13px;overflow:hidden;background:#f3f6f8}.preview-meta{padding:10px 13px;background:white;border-bottom:1px solid #e0e8ee}.preview-meta strong{display:block;font-size:11px}.preview-meta span{display:block;margin-top:3px;color:#84929d;font-size:9px}.email-preview{min-height:240px;padding:28px 18px;background:#eef2f5}.email-card{width:min(640px,100%);margin:0 auto;background:white;border-radius:10px;overflow:hidden;box-shadow:0 7px 22px rgba(20,45,64,.08)}.email-brand{padding:20px 24px;background:#15314a;color:white;font-weight:950;letter-spacing:.04em}.email-content{padding:25px}.email-content h2{margin:0 0 13px;color:#17344c}.email-content p{color:#526a7c;line-height:1.65;font-size:13px;white-space:pre-line}.email-cta{display:inline-block;margin-top:8px;padding:11px 17px;border-radius:7px;background:#2d93e4;color:white;text-decoration:none;font-size:11px;font-weight:900}.email-footer{padding:14px 24px;background:#f7f9fb;color:#8a98a3;font-size:9px;line-height:1.5}
.history-list{display:flex;flex-direction:column;gap:9px}.history-card{display:grid;grid-template-columns:1fr auto;gap:15px;padding:13px;border:1px solid #e0e8ee;border-radius:11px}.history-card strong{font-size:12px}.history-card p{margin:4px 0;color:var(--muted);font-size:10px}.history-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.history-pill{padding:4px 6px;border-radius:999px;background:#eef4f8;color:#587189;font-size:8px;font-weight:800}.history-status{font-size:9px;font-weight:900;text-transform:uppercase;color:var(--blue)}
dialog{width:min(760px,94vw);border:0;border-radius:16px;padding:0;box-shadow:0 28px 80px rgba(14,35,51,.28)}dialog::backdrop{background:rgba(9,24,36,.55)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:14px 17px;border-bottom:1px solid var(--border)}.dialog-head strong{display:block}.dialog-head span{display:block;color:var(--muted);font-size:9px;margin-top:2px}.icon-btn{border:0;background:#eef3f6;border-radius:8px;width:31px;height:31px;cursor:pointer}.dialog-preview{padding:20px;background:#eef2f5;max-height:80vh;overflow:auto}
@media(max-width:1050px){.marketing-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:190px minmax(0,1fr)}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;height:auto}.sidebar nav{flex-direction:row}.main{padding:16px}.topbar{flex-direction:column}.audience-toolbar{grid-template-columns:1fr}.two-field{grid-template-columns:1fr}.audience-table th:nth-child(4),.audience-table td:nth-child(4),.audience-table th:nth-child(5),.audience-table td:nth-child(5){display:none}}

/* ===== Marketing Designer V3 ===== */
.design-tools{
  padding:14px;
  margin:0 0 14px;
  border:1px solid #d7e5ef;
  border-radius:12px;
  background:linear-gradient(180deg,#fbfdff,#f6fafe);
}
.design-tools-head{margin-bottom:12px}
.design-tools-head strong{display:block;margin-top:3px;font-size:12px;color:#24445e}
.design-tools-head small{display:block;margin-top:3px;color:#7e8f9d;font-size:9px;line-height:1.45}
.image-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.hero-image-mini{
  position:relative;
  height:150px;
  overflow:hidden;
  border-radius:11px;
  border:1px solid #d9e4eb;
  background:#eaf0f4;
  margin-top:4px
}
.hero-image-mini img{width:100%;height:100%;object-fit:cover;display:block}
.hero-image-mini button{
  position:absolute;right:8px;top:8px;
  border:1px solid rgba(255,255,255,.8);
  background:rgba(18,42,63,.82);color:white;
  border-radius:7px;padding:6px 8px;font-size:9px;font-weight:800;cursor:pointer
}
.preview-shell{overflow:hidden}
.email-preview{
  min-height:300px;
  padding:0!important;
  overflow:auto;
  background:#eef2f5
}
.email-preview>table,.dialog-preview>table{margin:0 auto!important}
.dialog-preview{padding:0!important;background:#eef2f5!important}
.gallery-picker-dialog{width:min(920px,94vw)}
.gallery-picker-toolbar{padding:12px 16px;border-bottom:1px solid #e1e9ef}
.gallery-picker-toolbar input{width:100%;height:42px;border:1px solid #d4e0e8;border-radius:9px;padding:0 11px}
.gallery-picker-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
  padding:15px;
  max-height:70vh;
  overflow:auto;
  background:#f4f7f9
}
.gallery-pick-card{
  padding:0;border:1px solid #d7e2ea;border-radius:11px;overflow:hidden;
  background:white;text-align:left;cursor:pointer;
  box-shadow:0 5px 14px rgba(25,50,69,.06)
}
.gallery-pick-card:hover{border-color:#72b8eb;box-shadow:0 8px 20px rgba(25,50,69,.12)}
.gallery-pick-card img{display:block;width:100%;height:150px;object-fit:cover;background:#e7edf1}
.gallery-pick-card span{display:block;padding:9px}
.gallery-pick-card strong{display:block;color:#28465d;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gallery-pick-card small{display:block;margin-top:3px;color:#8796a1;font-size:8px}
.gallery-picker-empty{grid-column:1/-1;padding:38px;text-align:center;color:#7e8e9b;font-size:11px}
@media(max-width:760px){
  .image-url-row{grid-template-columns:1fr}
  .gallery-picker-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:500px){
  .gallery-picker-grid{grid-template-columns:1fr}
}


/* ===== AI Creative Studio V4 ===== */
.creative-studio{
  margin:5px 0 15px;
  padding:15px;
  border:1px solid #cfdfee;
  border-radius:13px;
  background:
    radial-gradient(circle at 100% 0,rgba(101,91,214,.10),transparent 270px),
    linear-gradient(180deg,#fbfdff,#f5f9fd);
}
.creative-studio-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  margin-bottom:13px
}
.creative-studio-head strong{
  display:block;
  margin-top:4px;
  color:#203f59;
  font-size:13px
}
.creative-studio-head small{
  display:block;
  max-width:500px;
  margin-top:4px;
  color:#758897;
  font-size:9px;
  line-height:1.5
}
.creative-model-badge{
  flex:0 0 auto;
  padding:6px 9px;
  border:1px solid #d6cafa;
  border-radius:999px;
  background:#f4f0ff;
  color:#6446aa;
  font-size:8px;
  font-weight:900;
  letter-spacing:.04em
}
.creative-actions{display:flex;gap:8px}
.creative-generate-btn{
  width:100%;
  min-height:44px;
  border:1px solid #9279df;
  border-radius:10px;
  background:linear-gradient(135deg,#6849ba,#347fc8);
  color:#fff;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 9px 22px rgba(80,67,157,.16)
}
.creative-generate-btn:hover{filter:brightness(1.04)}
.creative-generate-btn:disabled{opacity:.6;cursor:wait}
.creative-generate-btn span{margin-right:5px}
.generated-concepts-wrap{
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #e0e8ef
}
.generated-concepts-label{
  margin-bottom:8px;
  color:#718491;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase
}
.generated-concepts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px
}
.generated-concept{
  overflow:hidden;
  padding:0;
  border:2px solid transparent;
  border-radius:9px;
  background:#fff;
  text-align:left;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(22,51,72,.07)
}
.generated-concept:hover{border-color:#a8ccea}
.generated-concept.selected{border-color:#348fd7;box-shadow:0 0 0 2px rgba(52,143,215,.10)}
.generated-concept img{
  display:block;
  width:100%;
  height:88px;
  object-fit:cover;
  background:#e7edf2
}
.generated-concept span{display:block;padding:6px 7px}
.generated-concept strong{display:block;color:#35536a;font-size:8px}
.generated-concept small{display:block;margin-top:2px;color:#8795a0;font-size:7px}
@media(max-width:650px){
  .creative-studio-head{flex-direction:column}
  .generated-concepts{grid-template-columns:1fr 1fr}
}


/* ===== Rossi-Sendon Construction Group sidebar visual match — SAFE PATCH ===== */
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.sidebar{
  background:linear-gradient(180deg,#0b1b30,#102945)!important;
  color:#fff!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.sidebar .brand{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:5px!important;
}
.sidebar .brand strong{
  display:none!important;
}
.sidebar-logo{
  display:block!important;
  width:100%!important;
  max-width:190px!important;
  height:auto!important;
  max-height:92px!important;
  object-fit:contain!important;
  object-position:left center!important;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.sidebar .brand span{
  color:#a9c6e5!important;
  font-size:12px!important;
  margin-left:2px!important;
}
.marketing-back-link{
  display:block;
  box-sizing:border-box;
  width:100%;
  margin:0 0 7px;
  padding:12px 14px;
  border-radius:12px;
  color:#b9cce2;
  font:inherit;
  font-weight:650;
  text-decoration:none;
}
.marketing-back-link:hover{
  background:rgba(80,170,255,.15);
  color:#fff;
}
.sidebar nav button,
.sidebar nav a,
.sidebar .nav-btn,
.sidebar .side-btn{
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:650!important;
  color:#b9cce2!important;
  border-radius:12px!important;
}
.sidebar nav button:hover,
.sidebar nav button.active,
.sidebar nav a:hover,
.sidebar nav a.active,
.sidebar .nav-btn:hover,
.sidebar .nav-btn.active,
.sidebar .side-btn:hover,
.sidebar .side-btn.active{
  background:rgba(80,170,255,.15)!important;
  color:#fff!important;
}
@media(max-width:760px){
  .sidebar-logo{
    max-width:165px!important;
    max-height:78px!important;
  }
}


/* ===== AI Flyer / Postcard V5 ===== */
.flyer-layout{
  display:grid;
  grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);
  gap:18px;
  align-items:start;
}
.flyer-prompt-panel,.flyer-preview-panel{min-width:0}
.flyer-business-lock{
  margin:13px 0;
  padding:12px 13px;
  border:1px solid #dce7ed;
  border-radius:11px;
  background:#f7fafc;
}
.flyer-business-lock strong{
  display:block;
  color:#2e5067;
  font-size:10px;
  margin-bottom:4px;
}
.flyer-business-lock span{
  color:#7b8e9b;
  font-size:9px;
  line-height:1.5;
}
.flyer-generate-btn{width:100%;justify-content:center}
.flyer-note{
  margin-top:11px;
  color:#7b8e9b;
  font-size:9px;
  line-height:1.55;
}
.flyer-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.flyer-empty{
  min-height:520px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:30px;
  border:2px dashed #d7e4ec;
  border-radius:14px;
  background:#f8fbfd;
  color:#758a98;
}
.flyer-empty-icon{
  width:62px;height:62px;
  display:grid;place-items:center;
  border-radius:18px;
  background:#e8f5fe;
  color:#2590d8;
  font-size:29px;
  margin-bottom:13px;
}
.flyer-empty strong{color:#345a71;font-size:14px}
.flyer-empty span{margin-top:6px;max-width:440px;font-size:10px;line-height:1.55}
.flyer-canvas-wrap{
  padding:12px;
  border:1px solid #dce6ed;
  border-radius:14px;
  background:#edf3f7;
  overflow:auto;
}
#flyerCanvas{
  display:block;
  width:100%;
  height:auto;
  margin:auto;
  background:#fff;
  box-shadow:0 10px 30px rgba(24,52,70,.14);
}
.flyer-brief{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:12px;
}
.flyer-brief>div{
  padding:10px;
  border:1px solid #e0e8ee;
  border-radius:9px;
  background:#fbfdfe;
}
.flyer-brief strong{
  display:block;
  color:#81919d;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.flyer-brief span{
  display:block;
  margin-top:4px;
  color:#35556b;
  font-size:9px;
  line-height:1.45;
}
@media(max-width:1050px){
  .flyer-layout{grid-template-columns:1fr}
}
@media(max-width:700px){
  .flyer-actions{width:100%;justify-content:flex-start}
  .flyer-actions button{flex:1}
  .flyer-empty{min-height:360px}
  .flyer-brief{grid-template-columns:1fr}
}


/* ===== AI Flyer -> Mass Campaign bridge V6 ===== */
.flyer-campaign-mode{
  margin:0 0 15px;
  padding:12px;
  border:1px solid #a8d5ef;
  border-radius:11px;
  background:#eef8fe;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.flyer-campaign-mode>div{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
}
.flyer-campaign-mode-icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:34px;height:34px;
  border-radius:9px;
  background:#d8effc;
  color:#278fd3;
  font-size:18px;
}
.flyer-campaign-mode strong{
  display:block;
  color:#244d65;
  font-size:10px;
}
.flyer-campaign-mode small{
  display:block;
  margin-top:3px;
  color:#6c8494;
  font-size:8px;
  line-height:1.45;
}
@media(max-width:700px){
  .flyer-campaign-mode{
    align-items:stretch;
    flex-direction:column;
  }
  .flyer-campaign-mode>button{width:100%}
  .audience-toolbar{
    display:grid!important;
    grid-template-columns:1fr 1fr;
  }
  .audience-toolbar input{
    grid-column:1/-1;
  }
}


/* ===== Rossi-Sendon Construction Group Brand Lock V6.2 ===== */
.flyer-brand-kit{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #d7e5ef;
  border-radius:10px;
  background:#f4f8fb;
}
