:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:#233044;background:#f5f7fa;font-size:13px}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #e5eaf1}.topbar{max-width:1460px;margin:auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:800;letter-spacing:.6px;color:#172b4d;font-size:14px}.brand span{color:#8090a5;font-size:11px;font-weight:650}nav{display:flex;align-items:center;gap:22px}nav a{font-size:12px;color:#4d6077;font-weight:600}nav a:hover,a:hover{color:#2563eb}nav form{margin:0}a{text-decoration:none;color:#2563eb}main{max-width:1460px;margin:0 auto;padding:24px}h1{font-size:22px;letter-spacing:-.5px;margin:0 0 3px}h2{font-size:14px;margin:0 0 14px;letter-spacing:-.15px}h3{font-size:13px}p{line-height:1.55}.muted,small{color:#8490a0;font-size:11px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:12px}.page-heading p{margin:0}.panel{background:white;border:1px solid #e4eaf1;border-radius:9px;padding:19px;margin-bottom:15px;box-shadow:0 2px 10px #15233c04}.narrow{max-width:420px;margin:70px auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats h2{font-size:26px;margin:8px 0 0}.stats .panel{padding:16px}.editor-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.9fr);gap:16px;align-items:start}.editor-panel{padding:21px}.sidebar .panel{padding:17px}.section-heading{display:flex;align-items:center;gap:8px;margin:2px 0 12px}.section-heading h2{margin:0}.section-heading .muted{margin-left:auto}.step{display:inline-flex;align-items:center;justify-content:center;background:#eef3ff;color:#3563c7;font-size:10px;font-weight:800;border-radius:5px;width:22px;height:22px}.section-heading:not(:first-child){margin-top:22px;border-top:1px solid #edf0f5;padding-top:17px}label{display:block;color:#4b5b6f;font-size:11px;font-weight:650;margin:10px 0}input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:5px;padding:8px 10px;border:1px solid #dbe2ed;border-radius:6px;background:#fff;color:#27374c;font:inherit;font-size:12px;min-height:34px;outline-color:#80a8ec}textarea{resize:vertical;line-height:1.45}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inline-select{display:flex;align-items:center;gap:10px;margin-top:8px}.inline-select label{margin:0;white-space:nowrap}.inline-select select{margin:0;max-width:360px}.upload{border:1px dashed #b8c9dd;padding:12px;border-radius:6px;background:#f9fbfe}.upload input{margin-top:7px}button,.button{background:#2563eb;color:white;border:1px solid transparent;padding:8px 13px;border-radius:6px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.button:hover,button:hover{filter:brightness(.96);color:white}.secondary{background:#334b68}.ghost{background:#fff;border:1px solid #dbe2ed;color:#354a65}.ghost:hover{color:#2563eb}.nav-logout{background:#f3f6fb;color:#4d6077;padding:6px 10px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;flex-wrap:wrap}.preview{white-space:pre-wrap;line-height:1.65;border-top:1px solid #edf0f5;padding-top:12px;font-size:12px;color:#4b5b6f;max-height:390px;overflow:auto}.sidebar h3{overflow-wrap:anywhere}.club-add{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) 32px;gap:6px;align-items:end}.club-add input{margin:0;min-width:0}.club-add button{padding:0;height:34px;font-size:18px}.club-list{max-height:300px;overflow:auto;margin-top:9px}.club-row,.contact-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #f0f2f6;padding:9px 0;min-width:0}.club-row a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px}.club-row form{flex-shrink:0}.icon-button{background:transparent;color:#8b9aad;padding:3px 7px;font-size:17px}.icon-button:hover{color:#e14b5d}.notice{background:#eaf5ff;color:#245480;border:1px solid #cfe7fc;border-radius:7px;padding:11px 14px;margin:0 0 15px}.warning{background:#fff0f0;color:#b42336;border:1px solid #ffcdd3;border-radius:6px;padding:9px;font-size:11px}.warning[hidden]{display:none}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.contact-form .check{grid-column:1/-1}.contact-form button{justify-self:start}.contact-email{font-size:12px;overflow-wrap:anywhere}.already-sent,.sent-tag{color:#c82e46;font-weight:700}.log-item{border-bottom:1px solid #edf0f5;padding-bottom:8px;overflow-wrap:anywhere}.check input{vertical-align:middle}.contact-list{max-height:650px;overflow:auto}@media(max-width:980px){.editor-layout{grid-template-columns:1fr}}@media(max-width:650px){main{padding:14px}.topbar{padding:12px 14px;flex-wrap:wrap}nav{gap:12px}.two-col,.contact-form{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.club-add{grid-template-columns:1fr 1fr 32px}}

.rich-tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap;border:1px solid #dbe2ed;background:#f8fafc;padding:7px;border-radius:7px 7px 0 0}.rich-tools button{background:#fff;color:#34455b;border:1px solid #dbe2ed;padding:5px 9px;font-size:12px}.rich-tools select{width:auto;min-height:29px;margin:0}.rich-tools input[type=color]{width:38px;min-height:28px;padding:2px;margin:0}.rich-editor{min-height:260px;max-height:650px;overflow:auto;border:1px solid #dbe2ed;border-top:0;border-radius:0 0 7px 7px;padding:14px;background:#fff;line-height:1.55;outline-color:#80a8ec}.rich-editor img,.preview img{max-width:100%;height:auto}.rich-editor p{margin:0 0 12px}.preview{white-space:normal}.rich-editor a,.preview a{color:#2563eb;text-decoration:underline}

/* V1.6: legible, compact, high-contrast interface */
:root{color:#17212f;background:#f4f6f9}
body,label,input,textarea,select,.rich-editor,.preview{color:#17212f}
.muted,small{color:#526174}
label{color:#263548}
.rich-editor{color:#111827;font-size:13px;line-height:1.65}
.preview{color:#17212f}
.rich-editor img{cursor:pointer;max-width:100%;height:auto;display:inline-block}
.rich-editor img.image-selected{outline:2px solid #2563eb;outline-offset:3px}
.preview img{max-width:100%;height:auto}
.resize-control{display:inline-flex;align-items:center;gap:6px;margin:0 0 0 5px;color:#263548;font-size:11px}
.resize-control[hidden]{display:none}
.resize-control select{min-height:28px;width:auto;max-width:160px;margin:0}
.rich-tools{position:sticky;top:0;z-index:2;background:#f6f8fb}
input::placeholder,textarea::placeholder{color:#697789}
.panel{box-shadow:0 2px 12px rgba(19,38,68,.04)}

/* V1.7 attachment upload indicators */
.attachment-list{display:grid;gap:7px;margin-top:10px}.attachment-row{padding:9px 11px;background:#f8fafc;border:1px solid #dce4ee;border-radius:7px}.attachment-top{display:flex;align-items:center;gap:10px;min-width:0}.attachment-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#1e293b;font-weight:600}.attachment-size{color:#475569;font-size:11px;white-space:nowrap}.attachment-status{color:#166534;font-size:11px;white-space:nowrap}.attachment-remove{background:transparent;color:#b91c1c;border:0;padding:1px 7px;font-size:20px;line-height:1.1}.attachment-track{height:5px;background:#dce5f2;border-radius:10px;margin-top:8px;overflow:hidden}.attachment-fill{height:100%;background:#2563eb;transition:width .15s ease;border-radius:10px}

/* V1.8 named contacts */
.contact-form>p.muted{margin:0;align-self:center}.contact-named{align-items:center}.contact-identity{display:flex;flex-direction:column;gap:4px;min-width:0}.contact-identity strong{font-size:12px;color:#17212f}.contact-name-edit{display:flex;align-items:center;gap:7px;min-width:270px;max-width:430px;width:45%}.contact-name-edit input{margin:0;min-width:0;flex:1}.contact-name-edit button{flex-shrink:0}@media(max-width:650px){.contact-named{align-items:stretch;flex-direction:column}.contact-name-edit{max-width:none;width:100%;min-width:0}}

/* V1.9 searchable contacts */
.contacts-search-toolbar{display:grid;grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) minmax(130px,1fr);gap:12px;align-items:end;margin:16px 0 8px}
.contacts-search-toolbar label{font-weight:600;color:#17212f}
.contacts-search-toolbar input,.contacts-search-toolbar select{display:block;width:100%;margin-top:6px}
.contact-row[hidden]{display:none!important}
@media(max-width:720px){.contacts-search-toolbar{grid-template-columns:1fr}}

/* V2.0 analytics and contact details */
.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi strong{display:block;font-size:27px;margin:10px 0;color:#17212f}.analytics-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.analytics-filters label{min-width:160px;flex:1}.analytics-filters button{margin-bottom:10px}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.analytics-chart{max-height:420px;overflow:auto}.bar-item{display:grid;grid-template-columns:minmax(85px,145px) 1fr 45px;align-items:center;gap:10px;margin:10px 0;font-size:11px}.bar-track{height:12px;background:#eaf0f7;border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:#2563eb;border-radius:4px}.bar-item b{text-align:right}.table-scroll{overflow-x:auto}.analytics-table{width:100%;border-collapse:collapse;text-align:left}.analytics-table th,.analytics-table td{border-bottom:1px solid #e7edf5;padding:10px;font-size:12px}.analytics-table th{color:#41546b;background:#f6f8fb}.contact-details{display:flex;flex-wrap:wrap;align-items:center;max-width:790px;width:70%;gap:6px}.contact-details input[name=name]{flex:2;min-width:130px}.contact-details select{flex:1;min-width:95px;margin:0}.contact-details .response-check{white-space:nowrap;margin:0 5px}.contact-details .response-check input{accent-color:#15803d}.contact-details button{margin-left:auto}.contacts-search-toolbar{grid-template-columns:minmax(180px,2fr) repeat(3,minmax(115px,1fr))}@media(max-width:1000px){.analytics-kpis{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr}.contact-details{width:100%}}@media(max-width:650px){.analytics-kpis{grid-template-columns:1fr 1fr}.contact-details{width:100%}.contacts-search-toolbar{grid-template-columns:1fr}.bar-item{grid-template-columns:100px 1fr 30px}}

/* V2.1: contact editing and deletion */
.contact-details{width:auto;flex:1;max-width:none}
.contact-details input[name=email]{flex:2;min-width:180px}
.contact-delete{flex-shrink:0;margin:0}
.danger-outline{background:#fff;border:1px solid #e7a8ae;color:#b42336}
.danger-outline:hover{background:#fff0f1;color:#921c2c}
.contact-row.contact-named{align-items:flex-start}
@media(max-width:1000px){.contact-row.contact-named{flex-wrap:wrap}.contact-details{flex-basis:100%}.contact-delete{margin-left:auto}}
