:root{
  --navy:#112F49;
  --blue:#267DC1;
  --orange:#EA560D;
  --yellow:#FEDD24;
  --white:#FFFFFF;
  --ink:#183042;
  --muted:#6B7B88;
  --surface:#F5F8FA;
  --surface-2:#EEF3F6;
  --border:#DCE5EA;
  --success:#1F8B5B;
  --danger:#C5413A;
  --warning:#B97700;
  --shadow:0 16px 45px rgba(17,47,73,.10);
  --radius:18px;
  --radius-sm:12px;
  --font-body:"open-sans", "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display:"stolzl", "open-sans", "Open Sans", sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--surface);color:var(--ink);font-family:var(--font-body)}
body{min-height:100vh}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}
.sidebar{background:var(--navy);color:#fff;padding:22px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30}
.brand{display:flex;align-items:center;gap:12px;padding:6px 8px 24px;border-bottom:1px solid rgba(255,255,255,.11)}
.brand-logo{width:164px;background:#fff;border-radius:10px;padding:7px 10px}
.brand-kicker{font-size:11px;opacity:.68;letter-spacing:.04em;text-transform:uppercase}
.nav{padding-top:18px;display:flex;flex-direction:column;gap:6px}
.nav button{width:100%;border:0;background:transparent;color:rgba(255,255,255,.78);display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;text-align:left;transition:.18s}
.nav button:hover,.nav button.active{background:rgba(255,255,255,.10);color:#fff;transform:translateX(2px)}
.nav svg{width:18px;height:18px;stroke-width:2}
.nav-label{font-weight:650;font-size:14px}
.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.11);padding-top:16px}
.role-preview{font-size:12px;color:rgba(255,255,255,.65);margin:0 8px 8px}
.role-select{width:100%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;padding:9px 10px;outline:none}
.role-select option{color:#111}

.main{min-width:0}
.topbar{height:74px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20}
.topbar-left{display:flex;align-items:center;gap:14px}
.mobile-menu{display:none;border:0;background:var(--surface-2);border-radius:10px;width:40px;height:40px}
.breadcrumb{font-size:13px;color:var(--muted)}
.breadcrumb strong{color:var(--ink)}
.topbar-actions{display:flex;align-items:center;gap:10px}
.user-chip{display:flex;align-items:center;gap:10px;padding:6px 9px 6px 6px;border:1px solid var(--border);border-radius:999px;background:#fff}
.avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:800;font-size:13px}
.user-meta{line-height:1.12}
.user-meta strong{display:block;font-size:12px}
.user-meta span{font-size:11px;color:var(--muted)}

.content{padding:30px;max-width:1560px;margin:0 auto}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}
.page-title{font-family:var(--font-display);font-size:30px;margin:0 0 7px;color:var(--navy);letter-spacing:-.02em}
.page-subtitle{margin:0;color:var(--muted);max-width:760px;font-size:14px;line-height:1.65}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{border:0;border-radius:12px;padding:10px 14px;font-weight:750;font-size:13px;display:inline-flex;align-items:center;gap:8px;transition:.15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 7px 18px rgba(17,47,73,.16)}
.btn-secondary{background:#fff;color:var(--navy);border:1px solid var(--border)}
.btn-blue{background:var(--blue);color:#fff}
.btn-orange{background:var(--orange);color:#fff}
.btn-danger{background:#fff;color:var(--danger);border:1px solid #F1CFCC}
.btn-ghost{background:transparent;color:var(--muted)}
.btn-sm{padding:8px 10px;border-radius:10px;font-size:12px}
.icon-btn{width:40px;height:40px;padding:0;justify-content:center}

.grid{display:grid;gap:18px}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 28px rgba(17,47,73,.055)}
.card-pad{padding:21px}
.stat{padding:20px;position:relative;overflow:hidden}
.stat:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-38px;top:-38px;background:var(--stat-tint,#EEF3F6)}
.stat-icon{width:41px;height:41px;border-radius:12px;display:grid;place-items:center;background:var(--stat-bg,#EEF3F6);color:var(--stat-fg,var(--navy));margin-bottom:20px}
.stat-value{font-family:var(--font-display);font-size:31px;font-weight:800;color:var(--navy);line-height:1}
.stat-label{font-size:13px;color:var(--muted);margin-top:8px}
.section-title{display:flex;align-items:center;justify-content:space-between;margin:26px 0 12px}
.section-title h2{font-size:18px;color:var(--navy);margin:0;font-family:var(--font-display)}
.section-title p{font-size:12px;color:var(--muted);margin:3px 0 0}

.table-card{overflow:hidden}
.table-toolbar{padding:15px 17px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}
.search{position:relative;max-width:320px;flex:1}
.search input{width:100%;border:1px solid var(--border);border-radius:11px;padding:9px 12px 9px 36px;outline:none;background:#fff}
.search input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(38,125,193,.12)}
.search svg{position:absolute;left:12px;top:11px;width:16px;color:var(--muted)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:13px 17px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}
th{font-size:11px;letter-spacing:.045em;text-transform:uppercase;color:var(--muted);font-weight:800;background:#FBFCFD}
tr:last-child td{border-bottom:0}
.table-title{font-weight:750;color:var(--navy)}
.table-sub{font-size:11px;color:var(--muted);margin-top:3px}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;white-space:nowrap}
.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.badge-success{background:#E8F6F0;color:#14764B}
.badge-draft{background:#FFF4DE;color:#9A6700}
.badge-review{background:#EAF2FB;color:#226CA6}
.badge-archived{background:#F0F2F4;color:#67747D}
.badge-inactive{background:#FBEDEC;color:#A2433E}

.welcome{padding:28px;background:linear-gradient(130deg,#fff 0%,#F8FBFD 55%,#EDF5FA 100%);position:relative;overflow:hidden}
.welcome:after,.welcome:before{content:"";position:absolute;border-radius:50%;border:18px solid var(--orange);opacity:.07}
.welcome:after{width:210px;height:210px;right:-65px;top:-70px}
.welcome:before{width:130px;height:130px;right:60px;bottom:-78px;border-color:var(--blue)}
.welcome h2{font-family:var(--font-display);font-size:25px;color:var(--navy);margin:0 0 7px}
.welcome p{margin:0;color:var(--muted);font-size:14px;max-width:600px;line-height:1.6}

.location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.location-card{padding:18px;display:flex;flex-direction:column;gap:14px}
.location-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.school-logo{width:50px;height:50px;border-radius:13px;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff}
.location-name{font-weight:800;color:var(--navy);margin:0;font-size:15px}
.location-meta{font-size:12px;color:var(--muted);margin-top:3px}
.location-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:12px;margin-top:auto}
.location-actions{display:flex;gap:6px}

.modal-backdrop{position:fixed;inset:0;background:rgba(7,28,43,.44);backdrop-filter:blur(5px);display:grid;place-items:center;z-index:100;padding:22px}
.modal{background:#fff;border-radius:22px;box-shadow:0 30px 100px rgba(7,28,43,.28);width:min(700px,100%);max-height:90vh;overflow:auto}
.modal-lg{width:min(980px,100%)}
.modal-head{padding:20px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.modal-head h3{margin:0;color:var(--navy);font-family:var(--font-display);font-size:20px}
.modal-body{padding:22px}
.modal-foot{padding:16px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;background:#FBFCFD;border-radius:0 0 22px 22px}
.close{border:0;background:var(--surface-2);border-radius:50%;width:36px;height:36px;font-size:20px;line-height:1}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:12px;font-weight:800;color:var(--navy)}
.field input,.field textarea,.field select{border:1px solid var(--border);border-radius:11px;padding:10px 11px;background:#fff;outline:none;color:var(--ink)}
.field textarea{min-height:100px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(38,125,193,.10)}
.field-help{font-size:11px;color:var(--muted);line-height:1.45}
.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}
.toggle-row:last-child{border-bottom:0}
.toggle{width:45px;height:25px;border-radius:999px;background:#CBD6DC;position:relative;border:0;padding:0;transition:.2s}
.toggle:after{content:"";width:19px;height:19px;border-radius:50%;background:#fff;position:absolute;left:3px;top:3px;box-shadow:0 2px 5px rgba(0,0,0,.15);transition:.2s}
.toggle.on{background:var(--blue)}
.toggle.on:after{transform:translateX(20px)}

/* Editor */
.editor-shell{height:calc(100vh - 74px);display:grid;grid-template-columns:240px minmax(520px,1fr) 290px;background:#EAF0F4;overflow:hidden}
.editor-panel{background:#fff;border-right:1px solid var(--border);overflow:auto}
.editor-panel.right{border-right:0;border-left:1px solid var(--border)}
.editor-panel-head{padding:16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff;z-index:3}
.editor-panel-head h3{margin:0;font-size:14px;color:var(--navy)}
.block-list{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.block-btn{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px 8px;text-align:center;font-size:11px;color:var(--ink);font-weight:700;transition:.15s}
.block-btn:hover{border-color:var(--blue);background:#F5FAFE;transform:translateY(-1px)}
.block-icon{width:32px;height:32px;border-radius:9px;background:var(--surface-2);display:grid;place-items:center;margin:0 auto 7px;color:var(--navy)}
.editor-stage{overflow:auto;padding:22px 28px 70px}
.editor-tools{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px;position:sticky;top:0;z-index:5}
.device-switch{background:#fff;border:1px solid var(--border);border-radius:12px;padding:4px;display:flex;gap:3px;box-shadow:0 8px 25px rgba(17,47,73,.08)}
.device-switch button{border:0;background:transparent;border-radius:8px;padding:7px 11px;font-size:11px;color:var(--muted);font-weight:750}
.device-switch button.active{background:var(--navy);color:#fff}
.newsletter-wrap{margin:0 auto;transition:.2s;width:min(820px,100%)}
.newsletter-wrap.tablet{width:700px}
.newsletter-wrap.mobile{width:390px}
.newsletter-canvas{background:#fff;border-radius:6px;box-shadow:0 18px 60px rgba(17,47,73,.16);overflow:hidden;min-height:800px}
.newsletter-header{padding:22px 32px 18px;border-bottom:1px solid #E4E8EB;display:flex;align-items:center;justify-content:space-between;gap:16px}
.newsletter-logo{height:52px;width:auto}
.school-brand{display:flex;align-items:center;gap:9px;text-align:right}
.school-brand .school-dot{width:40px;height:40px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}
.school-brand small{display:block;color:#71808A;font-size:11px}
.school-brand strong{font-size:13px;color:var(--navy)}
.newsletter-hero{padding:44px 44px 32px;background:linear-gradient(130deg,var(--navy),#163E60);color:#fff;position:relative;overflow:hidden}
.newsletter-hero:after{content:"";position:absolute;width:165px;height:165px;border:26px dotted var(--yellow);border-radius:50%;right:-55px;top:-68px;opacity:.55}
.newsletter-hero .eyebrow{color:var(--yellow);font-weight:800;text-transform:uppercase;letter-spacing:.09em;font-size:11px}
.newsletter-hero h1{font-family:var(--font-display);font-size:36px;line-height:1.12;margin:7px 0 8px;max-width:610px}
.newsletter-hero p{margin:0;color:rgba(255,255,255,.78);font-size:13px}
.newsletter-body{padding:32px 44px 45px}
.news-block{position:relative;border:1px solid transparent;border-radius:12px;margin:0 -12px 16px;padding:12px;transition:.15s}
.news-block:hover{border-color:#D7E3EA;background:#FBFDFE}
.news-block.selected{border-color:var(--blue);box-shadow:0 0 0 2px rgba(38,125,193,.10)}
.block-controls{position:absolute;right:6px;top:6px;display:none;gap:4px}
.news-block:hover .block-controls,.news-block.selected .block-controls{display:flex}
.block-controls button{border:1px solid var(--border);background:#fff;border-radius:7px;width:26px;height:26px;font-size:12px;color:var(--muted)}
.news-block h2{font-family:var(--font-display);font-size:24px;color:var(--navy);margin:0 0 10px}
.news-block h3{font-size:18px;color:var(--navy);margin:0 0 8px}
.news-block p{font-size:14px;line-height:1.7;color:#425766;margin:0 0 8px}
.news-block [contenteditable="true"]{outline:none;border-radius:5px}
.news-block [contenteditable="true"]:focus{box-shadow:0 0 0 3px rgba(38,125,193,.12);background:#fff}
.article-card{display:grid;grid-template-columns:220px 1fr;gap:22px;align-items:center;background:#F6F9FB;border-radius:14px;overflow:hidden;padding:0}
.article-image{min-height:175px;background:linear-gradient(135deg,#C8DCE8,#8DB4CC);display:grid;place-items:center;color:#fff;font-weight:800}
.article-copy{padding:22px 22px 22px 0}
.agenda-box{background:#F1F7FB;border-left:5px solid var(--blue);padding:18px 20px;border-radius:10px}
.agenda-list{display:flex;flex-direction:column;gap:10px;margin-top:13px}
.agenda-item{display:grid;grid-template-columns:82px 1fr;gap:12px;font-size:13px;align-items:start}
.agenda-date{font-weight:800;color:var(--navy)}
.quote-box{background:var(--orange);color:#fff;border-radius:14px;padding:23px 26px;font-family:var(--font-display);font-size:20px;line-height:1.45}
.cta-button{display:inline-block;background:var(--navy);color:#fff;border-radius:11px;padding:11px 16px;font-weight:800;font-size:13px}
.divider{height:1px;background:#DDE5E9;margin:12px 0}
.newsletter-footer{background:#0E293F;color:#fff;padding:26px 44px;display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.6}
.newsletter-footer strong{display:block;margin-bottom:4px}

.inspector{padding:15px}
.inspector-section{padding:15px 0;border-bottom:1px solid var(--border)}
.inspector-section:first-child{padding-top:0}
.inspector-section:last-child{border-bottom:0}
.inspector-section h4{margin:0 0 11px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.inspector .field{margin-bottom:11px}
.inspector .field:last-child{margin-bottom:0}
.segment{display:flex;background:var(--surface-2);border-radius:9px;padding:3px;gap:2px}
.segment button{flex:1;border:0;background:transparent;border-radius:7px;padding:7px;font-size:10px;font-weight:800;color:var(--muted)}
.segment button.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px rgba(17,47,73,.08)}
.color-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.color-swatch{aspect-ratio:1;border-radius:10px;border:2px solid #fff;box-shadow:0 0 0 1px var(--border)}

.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.media-card{overflow:hidden}
.media-thumb{aspect-ratio:4/3;background:linear-gradient(145deg,#BFD4E2,#7CA5BE);position:relative}
.media-thumb.orange{background:linear-gradient(145deg,#F7B28A,#EA560D)}
.media-thumb.yellow{background:linear-gradient(145deg,#FFF0A3,#FEDD24)}
.media-thumb.blue{background:linear-gradient(145deg,#A9CEE8,#267DC1)}
.media-thumb:after{content:"Foto";position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.9);font-weight:800;font-family:var(--font-display)}
.media-info{padding:11px 12px}
.media-info strong{font-size:12px;color:var(--navy);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-info span{font-size:10px;color:var(--muted)}

.style-preview{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}
.preview-panel{padding:24px;background:linear-gradient(130deg,#fff,#F6FAFC)}
.type-sample h3{font-family:var(--font-display);color:var(--navy);font-size:31px;margin:0 0 8px}
.type-sample p{font-size:15px;line-height:1.7;color:#425766;margin:0}
.token-list{display:flex;flex-direction:column;gap:9px}
.token{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}
.token:last-child{border-bottom:0}
.token-left{display:flex;align-items:center;gap:10px}
.token-color{width:34px;height:34px;border-radius:10px}
.token strong{display:block;font-size:12px;color:var(--navy)}
.token span{font-size:10px;color:var(--muted)}
.lock{font-size:11px;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:5px 8px}

.help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.help-card{padding:20px}
.help-num{width:33px;height:33px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900;margin-bottom:13px}
.help-card h3{font-size:15px;color:var(--navy);margin:0 0 7px}
.help-card p{font-size:12px;color:var(--muted);line-height:1.55;margin:0}

.login{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}
.login-brand{background:var(--navy);position:relative;overflow:hidden;padding:55px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.login-brand:before{content:"";position:absolute;width:420px;height:420px;border:70px dotted var(--yellow);border-radius:50%;right:-190px;top:-170px;opacity:.65}
.login-brand:after{content:"";position:absolute;width:280px;height:280px;border:46px dotted var(--orange);border-radius:50%;left:-150px;bottom:-120px;opacity:.65}
.login-brand img{width:220px;background:#fff;border-radius:14px;padding:11px 14px;position:relative;z-index:2}
.login-brand-copy{position:relative;z-index:2;max-width:620px}
.login-brand-copy h1{font-family:var(--font-display);font-size:48px;line-height:1.07;margin:0 0 16px}
.login-brand-copy p{font-size:17px;line-height:1.65;color:rgba(255,255,255,.77);margin:0}
.login-form-wrap{display:grid;place-items:center;padding:50px}
.login-card{width:min(450px,100%)}
.login-card .mini{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--blue);font-weight:850}
.login-card h2{font-family:var(--font-display);font-size:34px;color:var(--navy);margin:7px 0 10px}
.login-card p{font-size:14px;color:var(--muted);line-height:1.6;margin:0 0 25px}
.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border);background:#fff;border-radius:13px;padding:13px;font-weight:800;color:var(--navy);box-shadow:0 8px 22px rgba(17,47,73,.06)}
.google-g{width:24px;height:24px;border-radius:50%;background:linear-gradient(45deg,#4285F4 0 25%,#34A853 25% 50%,#FBBC05 50% 75%,#EA4335 75%);color:#fff;display:grid;place-items:center;font-size:11px}
.demo-btn{width:100%;margin-top:10px}
.login-note{margin-top:17px;padding:13px;border-radius:11px;background:var(--surface);font-size:11px;color:var(--muted);line-height:1.5}

.public-page{min-height:100vh;background:#EAF0F4;padding:35px 18px}
.public-newsletter{width:min(860px,100%);margin:0 auto;background:#fff;box-shadow:0 18px 60px rgba(17,47,73,.14)}
.public-back{width:min(860px,100%);margin:0 auto 12px;display:flex;justify-content:space-between;align-items:center}
.public-back span{font-size:12px;color:var(--muted)}

.empty{text-align:center;padding:50px 20px;color:var(--muted)}
.empty strong{display:block;color:var(--navy);font-size:17px;margin-bottom:6px}
.toast{position:fixed;right:22px;bottom:22px;background:var(--navy);color:#fff;padding:12px 15px;border-radius:12px;box-shadow:0 14px 42px rgba(17,47,73,.28);font-size:12px;font-weight:700;transform:translateY(20px);opacity:0;pointer-events:none;transition:.22s;z-index:250;max-width:380px}
.toast.show{transform:translateY(0);opacity:1}

@media(max-width:1150px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .location-grid{grid-template-columns:repeat(2,1fr)}
  .media-grid{grid-template-columns:repeat(3,1fr)}
  .editor-shell{grid-template-columns:210px minmax(480px,1fr)}
  .editor-panel.right{display:none}
}
@media(max-width:900px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:fixed;left:-280px;width:260px;transition:.2s;box-shadow:20px 0 60px rgba(0,0,0,.2)}
  .sidebar.open{left:0}
  .mobile-menu{display:grid;place-items:center}
  .content{padding:20px}
  .topbar{padding:0 18px}
  .location-grid,.grid-3,.help-grid{grid-template-columns:1fr 1fr}
  .login{grid-template-columns:1fr}
  .login-brand{display:none}
  .editor-shell{grid-template-columns:1fr;height:auto;overflow:visible}
  .editor-panel{display:none}
  .editor-stage{padding:16px 12px 60px;overflow:visible}
}
@media(max-width:650px){
  .grid-4,.grid-3,.grid-2,.location-grid,.media-grid,.help-grid,.style-preview{grid-template-columns:1fr}
  .page-head{flex-direction:column}
  .page-title{font-size:26px}
  .form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .topbar-actions .user-meta{display:none}
  .newsletter-header{padding:16px 18px}
  .newsletter-logo{height:40px}
  .newsletter-hero{padding:30px 22px 25px}
  .newsletter-hero h1{font-size:29px}
  .newsletter-body{padding:23px 22px 32px}
  .newsletter-footer{padding:22px;flex-direction:column}
  .article-card{grid-template-columns:1fr}
  .article-copy{padding:0 18px 20px}
  .table-card{overflow:auto}
  table{min-width:740px}
  .login-form-wrap{padding:30px 22px}
}

/* Prisma branding v0.2 */
.brand-logo{width:170px;background:transparent;border-radius:0;padding:0}
.login-brand img{width:225px;background:transparent;border-radius:0;padding:0;position:relative;z-index:2}
.brand-assets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.brand-asset-card{overflow:hidden;padding-bottom:14px}
.brand-asset-card>strong,.brand-asset-card>span{display:block;padding:0 15px}
.brand-asset-card>strong{color:var(--navy);font-size:13px;margin-top:12px}
.brand-asset-card>span{color:var(--muted);font-size:11px;margin-top:3px}
.brand-preview{height:150px;display:grid;place-items:center;padding:22px}
.brand-preview.light{background:#fff}
.brand-preview.dark{background:var(--navy)}
.official-logo{max-width:210px;max-height:82px}
.official-mark{width:88px;height:88px;object-fit:contain}
.official-mark.tiny{width:54px;height:54px;flex:0 0 auto}
.locked-setting{display:flex;align-items:center;gap:16px}
.locked-setting p{margin:4px 0 0;color:var(--muted);font-size:12px}
.locked-setting .lock{margin-left:auto}
.logo-admin-box{display:flex;align-items:center;gap:15px;padding:13px;border:1px solid var(--border);border-radius:12px;background:#fff}
.logo-admin-box img{width:175px}
.logo-admin-box strong,.logo-admin-box span{display:block}
.logo-admin-box strong{font-size:12px;color:var(--navy)}
.logo-admin-box span{font-size:11px;color:var(--muted);margin-top:3px}

.newsletter-brand-left,.newsletter-brand-right{display:flex;align-items:center}
.newsletter-prisma-logo{width:150px;height:auto}
.school-logo-image{max-height:58px;width:auto}
.board-logo{width:190px;max-height:62px}
.school-logo-placeholder{display:flex;align-items:center;gap:11px}
.school-logo-placeholder small,.board-label small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.school-logo-placeholder strong,.board-label strong{display:block;color:var(--navy);font-size:13px;margin-top:2px}
.school-logo-initials{width:48px;height:48px;border-radius:12px;color:#fff;display:grid;place-items:center;font-weight:800;font-family:var(--font-display)}
.newsletter-hero .hero-brandmark{position:absolute;right:20px;top:15px;width:150px;height:150px;object-fit:contain;opacity:.15;z-index:0}
.newsletter-hero .eyebrow,.newsletter-hero h1,.newsletter-hero p{position:relative;z-index:1}
.footer-prisma-logo{width:165px;max-height:58px;object-fit:contain;object-position:left center}
@media(max-width:1050px){.brand-assets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.brand-assets{grid-template-columns:1fr}.newsletter-prisma-logo{width:110px}.board-logo{width:150px}.newsletter-header{padding:18px 20px}.newsletter-footer{padding:22px 24px;flex-direction:column}.newsletter-footer>div:last-child{text-align:left!important}}

/* Sidebar brand stacked v0.2.2 */
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:6px 8px 22px}
.brand-logo{width:156px;max-width:100%;flex:0 0 auto}
.brand>div:last-child{min-width:0;width:100%}
.brand-kicker{font-size:11px;line-height:1.25;letter-spacing:.04em;white-space:normal;overflow-wrap:anywhere}

/* v0.3 functional additions */
.logo-upload-preview{margin-top:9px;min-height:92px;border:1px dashed var(--border);border-radius:12px;background:var(--surface);display:grid;place-items:center;padding:12px;color:var(--muted);font-size:12px}
.logo-upload-preview img{max-height:82px;max-width:260px;object-fit:contain}
.version-list{display:flex;flex-direction:column;gap:10px}
.version-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid var(--border);border-radius:12px;background:#fff}
.version-row strong,.version-row span{display:block}
.version-row strong{font-size:13px;color:var(--navy)}
.version-row span{font-size:11px;color:var(--muted);margin-top:3px}
.archive-page{min-height:100vh;background:var(--surface)}
.archive-hero{background:linear-gradient(135deg,var(--navy),#173f60);color:#fff;padding:38px 24px}
.archive-hero-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.archive-brand{display:flex;align-items:center;gap:18px}
.archive-logo{width:170px;max-height:80px;object-fit:contain;background:#fff;border-radius:12px;padding:10px}
.archive-initials{width:70px;height:70px;border-radius:16px;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:22px;color:#fff}
.archive-brand span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--yellow);font-weight:800}
.archive-brand h1{margin:4px 0 3px;font-family:var(--font-display);font-size:32px}
.archive-brand p{margin:0;color:rgba(255,255,255,.72);font-size:12px}
.archive-prisma{width:180px;max-height:70px;object-fit:contain}
.archive-content{max-width:1080px;margin:0 auto;padding:30px 24px 60px}
.archive-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.archive-head h2{margin:0;color:var(--navy);font-family:var(--font-display);font-size:24px}
.archive-head p{margin:6px 0 0;color:var(--muted);font-size:13px}
.archive-list{display:flex;flex-direction:column;gap:12px}
.archive-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--border);border-radius:15px;padding:18px 20px;box-shadow:0 7px 24px rgba(17,47,73,.045);transition:.15s}
.archive-card:hover{transform:translateY(-1px);border-color:#bfd3df}
.archive-card strong,.archive-card span{display:block}
.archive-card strong{color:var(--navy);font-size:14px}
.archive-card div span{color:var(--muted);font-size:11px;margin-top:5px}
.archive-arrow{font-size:23px;color:var(--blue)}
@media(max-width:700px){.archive-hero-inner,.archive-head{align-items:flex-start;flex-direction:column}.archive-prisma{width:135px}.archive-brand{align-items:flex-start}.archive-logo{width:135px}.version-row{align-items:flex-start;flex-direction:column}}

.table-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}

.public-url-box{background:var(--surface);border:1px solid var(--border);padding:13px 14px;border-radius:11px;font-size:13px;font-weight:750;color:var(--navy);word-break:break-all}

.identity-chip{align-self:flex-start;background:#F1F7FB;color:var(--navy);border:1px solid #D8E8F3;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:750;line-height:1.2}
.newsletter-identity-line{display:inline-flex;margin-top:16px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:750;letter-spacing:.01em;color:#fff;position:relative;z-index:1}

.school-watermark{position:absolute;right:18px;top:10px;width:150px;height:150px;overflow:hidden;opacity:.16;z-index:0}
.school-watermark img{height:150px;width:auto;max-width:none;object-fit:contain;object-position:left center}

/* Newsletter visual direction v0.3.5 — inspired by school sites and the supplied example */
.mail-style.newsletter-canvas{background:var(--navy);padding:28px 26px 34px;border-radius:24px;box-shadow:0 18px 60px rgba(17,47,73,.18);overflow:visible}
.mail-style .newsletter-top-card{background:#fff;border-radius:22px;overflow:hidden;margin-bottom:22px;box-shadow:0 10px 28px rgba(5,28,45,.12)}
.mail-style .newsletter-header{padding:22px 26px 12px;border:0;background:#fff}
.mail-style .newsletter-prisma-logo{width:118px;opacity:.86}
.mail-style .school-logo-image{max-height:48px;max-width:220px}
.mail-style .newsletter-hero{background:#fff;color:var(--navy);padding:10px 30px 10px;min-height:195px;overflow:visible}
.mail-style .newsletter-hero:after,.mail-style .hero-brandmark,.mail-style .school-watermark{display:none}
.mail-style .newsletter-hero .eyebrow{color:var(--navy);font-size:10px;letter-spacing:.08em;margin-bottom:2px}
.mail-style .mail-title{margin:0!important;line-height:.84!important;letter-spacing:-.06em!important;max-width:520px!important}
.mail-style .mail-title span{display:block;font-family:var(--font-display);font-style:normal;font-size:68px;font-weight:850;color:var(--navy)}
.mail-style .mail-title em{display:block;font-family:var(--font-display);font-style:normal;font-size:30px;font-weight:850;color:var(--orange);letter-spacing:-.03em;margin-left:4px;margin-top:5px}
.mail-style .mail-month{margin:34px 0 0;color:var(--muted);font-size:11px;font-weight:700}
.mail-style .mail-identity{display:inline-flex;margin-top:10px;background:#F1F7FB;border-radius:999px;padding:6px 10px;color:var(--navy);font-size:10px;font-weight:750}
.mail-style .hero-roundel{position:absolute;right:28px;top:8px;width:112px;height:112px;border-radius:50%;overflow:visible;background:var(--surface-2);z-index:3}
.mail-style .hero-roundel>img{width:112px;height:112px;border-radius:50%;object-fit:cover}
.mail-style .hero-alert{position:absolute;right:-6px;top:-8px;width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--navy);display:grid;place-items:center;font-family:var(--font-display);font-size:20px;font-weight:900;box-shadow:0 4px 14px rgba(17,47,73,.14)}
.mail-style .hero-intro-wrap{padding:0 24px 24px;background:#fff}
.mail-style .hero-intro-wrap .news-block{margin:0;padding:20px 18px 6px;border:0;background:#fff;border-radius:0;box-shadow:none}
.mail-style .hero-intro-wrap .news-block h2{font-size:18px;color:var(--orange);margin-bottom:13px}
.mail-style .hero-intro-wrap .news-block p{font-size:13px;line-height:1.78;color:#253d4e}
.mail-style .newsletter-body{padding:0;display:flex;flex-direction:column;gap:18px}
.mail-style .newsletter-body>.news-block{margin:0;padding:22px 24px;border:0;border-radius:21px;background:#fff;box-shadow:0 9px 25px rgba(4,27,44,.13);overflow:visible}
.mail-style .newsletter-body>.news-block:hover{border:0;background:#fff}
.mail-style .newsletter-body>.news-block.selected{box-shadow:0 0 0 3px rgba(254,221,36,.65),0 9px 25px rgba(4,27,44,.13)}
.mail-style .newsletter-body>.block-agenda{padding:0;background:transparent;box-shadow:none}
.mail-style .block-agenda .agenda-box{background:var(--blue);color:#fff;border:0;border-radius:21px;padding:23px 25px;min-height:155px;position:relative;overflow:hidden}
.mail-style .block-agenda .agenda-box:after{content:"";position:absolute;right:-32px;bottom:-38px;width:150px;height:150px;border-radius:50%;background:var(--yellow);opacity:.95}
.mail-style .block-agenda h3{color:#fff!important;font-size:15px;margin-bottom:16px}
.mail-style .block-agenda .agenda-list{position:relative;z-index:2;gap:9px}
.mail-style .block-agenda .agenda-item{grid-template-columns:92px 1fr;font-size:11px;color:#fff}
.mail-style .block-agenda .agenda-date{color:#fff}
.mail-style .article-card{background:#fff;border-radius:0;overflow:visible;grid-template-columns:150px 1fr;gap:23px}
.mail-style .block-side-0 .article-card{grid-template-columns:150px 1fr}
.mail-style .block-side-1 .article-card{grid-template-columns:1fr 150px}
.mail-style .block-side-1 .article-image{order:2}
.mail-style .block-side-1 .article-copy{order:1;padding:10px 0 10px 6px}
.mail-style .article-image{width:145px;height:145px;min-height:145px;border-radius:50%!important;background:linear-gradient(135deg,var(--blue),#94c6e7);position:relative;overflow:hidden;padding:0}
.mail-style .article-image:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;background:var(--orange);left:-22px;bottom:-24px}
.mail-style .block-side-1 .article-image:after{background:var(--yellow);left:auto;right:-22px}
.mail-style .article-copy{padding:10px 6px 10px 0}
.mail-style .article-copy h3{color:var(--orange);font-size:14px;line-height:1.25;margin-bottom:9px}
.mail-style .article-copy p,.mail-style .block-text p{font-size:12px;line-height:1.7;color:#314b5c}
.mail-style .block-text h2{font-size:18px;color:var(--orange)}
.mail-style .block-quote{background:transparent!important;box-shadow:none!important;padding:0!important}
.mail-style .quote-box{border-radius:20px;background:var(--orange);padding:22px 25px;font-size:18px}
.mail-style .block-button{background:transparent!important;box-shadow:none!important;padding:0!important}
.mail-style .cta-button{background:var(--orange);padding:11px 18px;border-radius:10px}
.mail-style .block-divider{height:22px;background:transparent!important;box-shadow:none!important;padding:0!important;position:relative}
.mail-style .block-divider:before{content:"";position:absolute;left:20%;right:20%;top:10px;height:12px;border-radius:999px;background:#fff}
.mail-style .newsletter-footer{margin-top:28px;background:transparent;color:#fff;padding:16px 6px 4px;align-items:flex-start}
.mail-style .footer-school-brand{display:flex;flex-direction:column;gap:10px}
.mail-style .footer-logo-box{display:inline-flex;align-items:center;background:#fff;border-radius:12px;padding:9px 11px;width:max-content;max-width:220px}
.mail-style .footer-logo-box img{max-height:55px;max-width:195px;object-fit:contain}
.mail-style .footer-school-brand>strong{font-size:15px;font-family:var(--font-display)}
.mail-style .footer-contact{font-size:10px;line-height:1.65;text-align:right}
.mail-style .footer-contact strong{font-size:11px}
.mail-style .footer-domain{display:inline-block;margin-top:8px;color:var(--orange);font-weight:800}
.mail-style .footer-prisma-text{opacity:.62}
@media(max-width:620px){
  .mail-style.newsletter-canvas{padding:16px 13px 24px;border-radius:16px}
  .mail-style .newsletter-header{padding:18px 18px 8px;align-items:flex-start}
  .mail-style .newsletter-prisma-logo{width:90px}
  .mail-style .school-logo-image{max-width:145px;max-height:40px}
  .mail-style .newsletter-hero{padding:10px 18px 12px;min-height:175px}
  .mail-style .mail-title span{font-size:48px}
  .mail-style .mail-title em{font-size:23px}
  .mail-style .hero-roundel,.mail-style .hero-roundel>img{width:86px;height:86px}
  .mail-style .hero-roundel{right:18px;top:9px}
  .mail-style .hero-alert{width:31px;height:31px;font-size:16px}
  .mail-style .hero-intro-wrap{padding:0 13px 18px}
  .mail-style .newsletter-body>.news-block{padding:19px 18px}
  .mail-style .article-card,.mail-style .block-side-0 .article-card,.mail-style .block-side-1 .article-card{grid-template-columns:1fr}
  .mail-style .block-side-1 .article-image,.mail-style .block-side-1 .article-copy{order:initial}
  .mail-style .article-image{width:112px;height:112px;min-height:112px}
  .mail-style .newsletter-footer{flex-direction:column;gap:18px}
  .mail-style .footer-contact{text-align:left}
}

.mail-style .article-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.mail-style .article-image>span{position:relative;z-index:1}
.mail-style .feature-image{height:280px;border-radius:17px;overflow:hidden;background:linear-gradient(135deg,#bed8e8,#7eaecb);display:grid;place-items:center;color:#fff;font-weight:800}
.mail-style .feature-image img{width:100%;height:100%;object-fit:cover}
.mail-style .feature-image span{font-size:12px}

.mail-style .school-logo-main{max-width:230px;max-height:52px;object-fit:contain;object-position:left center}
.mail-style .footer-logo-box{width:205px;height:64px;justify-content:flex-start}
.mail-style .footer-logo-box img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:left center}
@media(max-width:620px){.mail-style .school-logo-main{max-width:155px}.mail-style .footer-logo-box{width:175px;height:58px}}

/* Newsletter header v0.3.8 — school-first */
.mail-style .newsletter-logo-stage{
  position:relative;
  padding:34px 34px 44px;
  background:#fff;
  min-height:150px;
  display:flex;
  align-items:center;
}
.mail-style .newsletter-logo-wide{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.mail-style .newsletter-logo-wide .school-logo-main,
.mail-style .newsletter-logo-wide .board-logo{
  width:min(92%,680px);
  max-width:none;
  max-height:128px;
  height:auto;
  object-fit:contain;
  object-position:left center;
}
.mail-style .newsletter-wordmark{
  position:absolute;
  left:9%;
  bottom:8px;
  z-index:4;
  font-family:var(--font-display);
  font-size:34px;
  line-height:1;
  font-weight:850;
  letter-spacing:-.035em;
  color:var(--orange);
  transform:translateY(45%);
  text-shadow:0 2px 0 #fff,2px 0 0 #fff,-2px 0 0 #fff;
}
.mail-style .newsletter-photo-stage{
  position:relative;
  height:295px;
  margin:26px 28px 0;
  border-radius:22px;
  overflow:hidden;
  background:#dbe8ef;
}
.mail-style .newsletter-photo-stage>img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.mail-style .newsletter-photo-fallback{
  width:100%;
  height:100%;
  background:linear-gradient(135deg,#c4dce9,#82b4cf);
}
.mail-style .photo-accent{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.mail-style .photo-accent-yellow{
  width:92px;
  height:92px;
  right:-28px;
  bottom:-29px;
  background:var(--yellow);
}
.mail-style .photo-accent-orange{
  width:54px;
  height:54px;
  left:-17px;
  top:-18px;
  background:var(--orange);
}
.mail-style .newsletter-edition-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:21px 30px 3px;
}
.mail-style .newsletter-edition-row>div:first-child strong,
.mail-style .newsletter-edition-row>div:first-child span{
  display:block;
}
.mail-style .newsletter-edition-row>div:first-child strong{
  color:var(--navy);
  font-family:var(--font-display);
  font-size:18px;
  line-height:1.15;
}
.mail-style .newsletter-edition-row>div:first-child span{
  color:var(--muted);
  font-size:11px;
  font-weight:750;
  margin-top:4px;
}
.mail-style .newsletter-edition-row .mail-identity{
  margin:0;
  text-align:right;
  max-width:48%;
}
.school-newsletter .newsletter-prisma-logo,
.school-newsletter .hero-brandmark,
.school-newsletter .school-watermark,
.school-newsletter .footer-prisma-logo{
  display:none!important;
}
.mail-style .footer-school-brand>strong{display:none!important}
.mail-style .footer-school-brand{min-width:210px}
.mail-style .footer-logo-box{
  width:215px;
  min-height:70px;
  height:auto;
  padding:10px 12px;
  display:flex;
  align-items:center;
}
.mail-style .footer-logo-box img{
  width:100%;
  height:auto;
  max-height:60px;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:620px){
  .mail-style .newsletter-top-card{border-radius:18px}
  .mail-style .newsletter-logo-stage{
    min-height:112px;
    padding:25px 18px 36px;
  }
  .mail-style .newsletter-logo-wide .school-logo-main,
  .mail-style .newsletter-logo-wide .board-logo{
    width:96%;
    max-width:none;
    max-height:86px;
  }
  .mail-style .newsletter-wordmark{
    left:8%;
    bottom:6px;
    font-size:25px;
    transform:translateY(42%);
  }
  .mail-style .newsletter-photo-stage{
    height:205px;
    margin:22px 15px 0;
    border-radius:17px;
  }
  .mail-style .photo-accent-yellow{
    width:72px;
    height:72px;
    right:-24px;
    bottom:-25px;
  }
  .mail-style .photo-accent-orange{
    width:42px;
    height:42px;
    left:-14px;
    top:-14px;
  }
  .mail-style .newsletter-edition-row{
    padding:17px 17px 4px;
    align-items:flex-start;
    flex-direction:column;
    gap:9px;
  }
  .mail-style .newsletter-edition-row>div:first-child strong{font-size:16px}
  .mail-style .newsletter-edition-row .mail-identity{
    max-width:100%;
    text-align:left;
  }
  .mail-style .footer-school-brand{min-width:0}
  .mail-style .footer-logo-box{width:190px;min-height:60px}
}

/* Fine-tuning v0.3.9 */
.mail-style .newsletter-logo-stage{
  padding-bottom:28px;
}
.mail-style .newsletter-logo-wide{
  position:relative;
}
.mail-style .newsletter-wordmark{
  left:7%;
  bottom:0;
  transform:translateY(34%);
}
@media(max-width:620px){
  .public-page{padding-top:20px}
  .public-back{
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
    margin-bottom:10px;
  }
  .public-back span{
    line-height:1.35;
    padding-left:2px;
  }
  .mail-style .newsletter-logo-stage{
    padding-bottom:23px;
  }
  .mail-style .newsletter-wordmark{
    left:5%;
    bottom:0;
    transform:translateY(30%);
  }
}

/* Alignment + mobile agenda v0.3.10 */
.mail-style .newsletter-logo-wide{
  width:min(92%,680px);
}
.mail-style .newsletter-logo-wide .school-logo-main,
.mail-style .newsletter-logo-wide .board-logo{
  width:100%;
  max-width:none;
}
.mail-style .newsletter-wordmark{
  left:var(--logo-text-start,24%);
}
@media(max-width:620px){
  .mail-style .newsletter-logo-wide{
    width:96%;
  }
  .mail-style .newsletter-wordmark{
    left:var(--logo-text-start,24%);
  }
  .mail-style .block-agenda .agenda-box{
    padding-right:18px;
  }
  .mail-style .block-agenda .agenda-box:after{
    width:52px;
    height:52px;
    right:-17px;
    bottom:-17px;
    opacity:.92;
  }
  .mail-style .block-agenda .agenda-item{
    grid-template-columns:58px 1fr;
    gap:8px;
    align-items:start;
  }
  .mail-style .block-agenda h3,
  .mail-style .block-agenda .agenda-list{
    position:relative;
    z-index:2;
  }
}

/* Photo editing + final overlap cleanup v0.3.11 */
.mail-style .block-agenda .agenda-box:after{
  display:none!important;
}
.mail-style .newsletter-wordmark{
  transform:translateY(76%);
}
.editor-tools{
  justify-content:space-between;
  flex-wrap:wrap;
}
.photo-edit-chip{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:6;
  border:1px solid rgba(17,47,73,.14);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--navy);
  padding:7px 10px;
  font:700 10px/1 var(--font-body);
  box-shadow:0 5px 16px rgba(17,47,73,.14);
  cursor:pointer;
}
.photo-edit-chip:hover{background:#fff}
.mail-style .article-image,
.mail-style .feature-image{
  position:relative;
}
.mail-style .block-photo-edit{
  right:7px;
  bottom:7px;
  padding:6px 8px;
  font-size:9px;
}
.inspector-photo-preview{
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:10px;
  background:var(--surface);
  margin-bottom:10px;
  border:1px solid var(--border);
}
.inspector-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.inspector-photo-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.photo-picker-preview{
  width:100%;
  aspect-ratio:16/9;
  border-radius:14px;
  background:var(--surface);
  border:1px solid var(--border);
  overflow:hidden;
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:12px;
  margin-bottom:14px;
}
.photo-picker-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.photo-picker-buttons{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.photo-upload-label{cursor:pointer}
@media(max-width:620px){
  .mail-style .newsletter-wordmark{
    transform:translateY(72%);
  }
  .mail-style .block-agenda .agenda-box{
    padding-right:18px;
  }
  .photo-edit-chip{
    right:8px;
    bottom:8px;
    padding:6px 9px;
  }
}

/* Wordmark breathing room v0.3.12 */
.mail-style .newsletter-wordmark{
  transform:translateY(88%);
}
@media(max-width:620px){
  .mail-style .newsletter-wordmark{
    transform:translateY(86%);
  }
}

/* Real block editor + drag/drop v0.3.13 */
.editor-panel-head .editor-hint{
  margin:7px 0 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
  font-weight:500;
}
.block-btn{
  position:relative;
  cursor:grab;
  user-select:none;
}
.block-btn:active{cursor:grabbing}
.block-btn .drag-label{
  display:block;
  margin-top:5px;
  color:#9BAAB4;
  font-size:12px;
  letter-spacing:-2px;
}
.drag-handle{
  cursor:grab!important;
  color:var(--navy)!important;
  font-weight:900;
  letter-spacing:-2px;
}
.drag-handle:active{cursor:grabbing!important}
.news-block.dragging{
  opacity:.32;
  transform:scale(.985);
}
.drop-zone{
  height:7px;
  margin:-2px 10px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:transparent;
  font-size:10px;
  font-weight:800;
  transition:height .14s,background .14s,border-color .14s,margin .14s;
  border:1px dashed transparent;
}
.is-dragging-block .drop-zone{
  height:34px;
  margin:2px 8px;
  color:var(--blue);
  border-color:#A7CDE8;
  background:rgba(38,125,193,.055);
}
.is-dragging-block .drop-zone.drag-over{
  height:48px;
  background:#E8F4FC;
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(38,125,193,.10);
}
.is-dragging-block .drop-zone.drag-over span:before{
  content:"+ ";
}
.newsletter-body .drop-zone:first-child{margin-top:-7px}
.newsletter-body .drop-zone:last-child{margin-bottom:-7px}
.inspector-section .field+.field{margin-top:12px}
.inspector-section textarea{
  line-height:1.5;
}
.news-block [contenteditable="true"]{
  cursor:text;
}
.news-block [contenteditable="true"]:hover{
  box-shadow:0 0 0 1px rgba(38,125,193,.14);
}
.news-block [contenteditable="true"]:focus{
  box-shadow:0 0 0 3px rgba(38,125,193,.15)!important;
  background:#fffdf8!important;
}
@media(max-width:620px){
  .drop-zone{display:none}
  .block-btn .drag-label{display:none}
}

/* Rich editor, poster, attachments, lightbox v0.3.14 */
.rich-copy{
  font-size:14px;
  line-height:1.72;
  color:#425766;
  outline:none;
}
.mail-style .article-copy .rich-copy,
.mail-style .block-text .rich-copy{
  font-size:12px;
  line-height:1.72;
  color:#314b5c;
}
.hero-intro-wrap .rich-copy{
  font-size:13px;
  line-height:1.78;
  color:#253d4e;
}
.rich-copy:focus{
  box-shadow:0 0 0 3px rgba(38,125,193,.14);
  background:#fffdf8;
  border-radius:6px;
}
.rich-toolbar{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin:10px 0 7px;
  padding:7px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#F8FBFD;
}
.rich-toolbar button{
  width:31px;
  height:31px;
  border:1px solid #D8E2E8;
  border-radius:7px;
  background:#fff;
  color:var(--navy);
  cursor:pointer;
  font-size:12px;
}
.rich-toolbar button:hover{border-color:var(--blue);background:#F0F8FD}
.rich-editor{
  min-height:128px;
  max-height:310px;
  overflow:auto;
  border:1px solid var(--border);
  border-radius:11px;
  padding:11px;
  background:#fff;
  color:var(--ink);
  font-size:13px;
  line-height:1.6;
  outline:none;
}
.rich-editor:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(38,125,193,.1)}
.emoji-palette{
  display:none;
  grid-template-columns:repeat(6,1fr);
  gap:4px;
  margin:0 0 8px;
  padding:7px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
}
.emoji-palette.open{display:grid}
.emoji-palette button{
  height:31px;
  border:0;
  border-radius:7px;
  background:#F5F8FA;
  cursor:pointer;
  font-size:17px;
}
.emoji-palette button:hover{background:#EAF4FA}
.accent-palette{display:flex;gap:9px;flex-wrap:wrap}
.accent-choice{
  width:34px;height:34px;border-radius:50%;
  border:3px solid #fff;
  outline:1px solid var(--border);
  background:var(--swatch);
  cursor:pointer;
}
.accent-choice.active{outline:3px solid rgba(38,125,193,.32)}
.check-row{
  display:flex;align-items:center;gap:8px;
  margin-top:12px;font-size:12px;color:var(--ink);font-weight:650;
}
.poster-block>h3{color:var(--orange);margin:0 0 13px;font-size:16px}
.poster-frame{
  position:relative;
  width:100%;
  background:#F3F6F8;
  border-radius:16px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.poster-frame img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  -webkit-user-drag:none;
  user-select:none;
}
.poster-placeholder{
  width:100%;min-height:260px;display:grid;place-items:center;
  color:var(--muted);font-size:13px;font-weight:700;
  border:1px dashed #B9CAD4;border-radius:16px;
}
.poster-hint{text-align:center;color:rgba(255,255,255,.68);font-size:10px;margin-top:8px}
.inspector-photo-preview.poster-preview{aspect-ratio:3/4;background:#eef2f4}
.inspector-photo-preview.poster-preview img{object-fit:contain}
.attachment-card{
  display:flex;align-items:center;gap:14px;
  background:#fff;border:1px solid #DCE6EC;border-radius:15px;padding:15px 16px;
}
.attachment-icon{
  width:46px;height:46px;border-radius:12px;background:#EEF6FB;
  display:grid;place-items:center;font-size:23px;flex:0 0 auto;
}
.attachment-copy{min-width:0;flex:1}
.attachment-copy strong{display:block;color:var(--navy);font-size:13px;margin-bottom:4px}
.attachment-copy span{display:block;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attachment-open{white-space:nowrap;text-decoration:none}
.attachment-missing{font-size:10px;color:var(--muted)}
.attachment-upload-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.media-lightbox{
  position:fixed;inset:0;z-index:99999;
  background:rgba(5,23,36,.92);
  display:flex;align-items:center;justify-content:center;
  padding:28px;
}
.media-lightbox-inner{
  position:relative;
  max-width:min(1200px,94vw);
  max-height:92vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.media-lightbox img{
  display:block;
  max-width:100%;
  max-height:92vh;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 25px 70px rgba(0,0,0,.4);
  user-select:none;
  -webkit-user-drag:none;
}
.media-lightbox-close{
  position:absolute;right:-12px;top:-12px;z-index:2;
  width:39px;height:39px;border-radius:50%;
  border:0;background:#fff;color:var(--navy);font-size:25px;
  cursor:pointer;box-shadow:0 7px 25px rgba(0,0,0,.25);
}
[data-lightbox-src]{-webkit-user-drag:none;user-select:none}
@media(max-width:620px){
  .attachment-card{align-items:flex-start;flex-wrap:wrap}
  .attachment-open{margin-left:60px}
  .media-lightbox{padding:12px}
  .media-lightbox-close{right:2px;top:2px}
}

.rich-copy ul,.rich-copy ol,.rich-editor ul,.rich-editor ol{margin:8px 0 8px 20px;padding:0}
.rich-copy li,.rich-editor li{margin:3px 0}
.poster-hint{color:var(--muted)!important}

/* Editor polish v0.3.16 */
.rich-toolbar button.active{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
  box-shadow:0 0 0 2px rgba(17,47,73,.12);
}
.rich-toolbar-sep{
  width:1px;
  align-self:stretch;
  min-height:25px;
  background:#D8E2E8;
  margin:2px 2px;
}
.mail-identity.is-empty{
  opacity:.52;
  border-style:dashed;
}
.inspector-section [data-reset-slogan]{
  margin-top:9px;
}

/* Preview, Forms and Polls v0.3.18 */
.newsletter-preview-overlay{
  position:fixed;inset:0;z-index:99990;background:rgba(232,239,244,.97);
  overflow:auto;padding:18px;
}
.newsletter-preview-shell{max-width:1220px;margin:0 auto}
.newsletter-preview-toolbar{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--border);border-radius:15px;padding:12px 15px;margin-bottom:16px;
  box-shadow:0 7px 25px rgba(17,47,73,.08);
}
.newsletter-preview-toolbar>div:first-child strong,
.newsletter-preview-toolbar>div:first-child span{display:block}
.newsletter-preview-toolbar>div:first-child strong{font-size:14px;color:var(--navy)}
.newsletter-preview-toolbar>div:first-child span{font-size:10px;color:var(--muted);margin-top:2px}
.preview-toolbar-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.newsletter-preview-stage{display:flex;justify-content:center;padding:12px 0 40px}
.newsletter-preview-viewport{width:min(860px,100%);transition:width .2s}
.newsletter-preview-viewport.tablet{width:650px}
.newsletter-preview-viewport.mobile{width:390px}
.newsletter-preview-viewport .newsletter-canvas{margin:0 auto}

.form-callout{
  display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:17px;align-items:center;
  border:1px solid #DCE6EC;border-radius:15px;padding:16px;background:#fff;overflow:hidden;
}
.form-callout-bar{align-self:stretch;border-radius:999px;background:var(--form-accent)}
.form-kicker{display:block;color:var(--form-accent);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;margin-bottom:4px}
.form-callout-copy h3{margin:0 0 6px!important;color:var(--navy)!important;font-size:16px!important}
.form-callout-copy p{margin:0!important;color:#425766;font-size:12px!important;line-height:1.6!important}
.form-callout-button{
  display:inline-flex;align-items:center;justify-content:center;min-height:40px;
  padding:9px 14px;border-radius:10px;text-decoration:none;font-size:11px;font-weight:800;white-space:nowrap;
}

.poll-card{border:1px solid #DCE6EC;border-radius:16px;padding:18px;background:#fff}
.poll-kicker{display:block;color:var(--poll-accent);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;margin-bottom:5px}
.poll-card h3{margin:0 0 13px!important;color:var(--navy)!important;font-size:17px!important}
.poll-options{display:grid;gap:7px}
.poll-option{
  width:100%;text-align:left;border:1px solid #D7E2E8;background:#fff;color:var(--ink);
  border-radius:10px;padding:10px 12px;font-size:11px;cursor:pointer;transition:.12s;
}
.poll-option:hover,.poll-option.selected{border-color:var(--poll-accent);background:#F4F9FC}
.poll-option.selected{box-shadow:0 0 0 2px color-mix(in srgb,var(--poll-accent) 18%,transparent)}
.poll-submit{
  border:0;border-radius:9px;padding:9px 16px;margin-top:11px;font-size:11px;font-weight:800;cursor:pointer;
}
.poll-result-row{margin:9px 0}
.poll-result-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--ink)}
.poll-result-row strong{color:var(--navy)}
.poll-meter{height:7px;border-radius:999px;background:#E9EFF3;overflow:hidden;margin-top:5px}
.poll-meter span{display:block;height:100%;border-radius:999px}
.poll-voted{font-size:10px;color:var(--muted);margin-top:11px}
.poll-option-editor{display:flex;flex-direction:column;gap:7px;margin:10px 0}
.poll-option-edit-row{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}
.poll-option-edit-row input{min-width:0;border:1px solid var(--border);border-radius:9px;padding:9px 10px}

@media(max-width:620px){
  .newsletter-preview-overlay{padding:8px}
  .newsletter-preview-toolbar{position:relative;align-items:flex-start}
  .preview-toolbar-actions{width:100%;justify-content:space-between}
  .preview-device-switch{max-width:240px}
  .newsletter-preview-stage{padding-top:4px}
  .newsletter-preview-viewport.desktop,.newsletter-preview-viewport.tablet,.newsletter-preview-viewport.mobile{width:100%}
  .form-callout{grid-template-columns:6px 1fr;gap:11px}
  .form-callout-button{grid-column:2;width:max-content;white-space:normal}
}

/* Custom block backgrounds + visual document card v0.3.19 */
.background-palette{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.background-choice{
  min-height:58px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  padding:7px 6px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
}
.background-choice>span{
  width:25px;height:25px;border-radius:50%;
  background:var(--swatch,#fff);
  border:1px solid #CBD7DE;
  display:grid;place-items:center;
  font-size:10px;font-weight:800;color:var(--navy);
}
.background-choice.auto>span{background:linear-gradient(135deg,#fff 50%,#E9F1F5 50%)}
.background-choice small{font-size:9px;color:var(--muted)}
.background-choice.active{border-color:var(--blue);box-shadow:0 0 0 2px rgba(38,125,193,.12)}

.mail-style .newsletter-body>.news-block.has-custom-bg,
.mail-style .hero-intro-wrap>.news-block.has-custom-bg{
  background:var(--custom-block-bg)!important;
  color:var(--custom-block-text)!important;
  padding:22px 24px!important;
  border-radius:21px!important;
}
.mail-style .news-block.has-custom-bg h2,
.mail-style .news-block.has-custom-bg h3,
.mail-style .news-block.has-custom-bg .rich-copy,
.mail-style .news-block.has-custom-bg .article-copy p,
.mail-style .news-block.has-custom-bg .article-copy h3,
.mail-style .news-block.has-custom-bg .attachment-copy strong,
.mail-style .news-block.has-custom-bg .attachment-copy p,
.mail-style .news-block.has-custom-bg .attachment-copy span,
.mail-style .news-block.has-custom-bg .poll-card h3,
.mail-style .news-block.has-custom-bg .poll-result-row>div:first-child,
.mail-style .news-block.has-custom-bg .form-callout-copy h3,
.mail-style .news-block.has-custom-bg .form-callout-copy p{
  color:var(--custom-block-text)!important;
}
.mail-style .news-block.has-custom-bg .article-card,
.mail-style .news-block.has-custom-bg .form-callout,
.mail-style .news-block.has-custom-bg .poll-card,
.mail-style .news-block.has-custom-bg .visual-document-card{
  background:transparent!important;
  border-color:color-mix(in srgb,var(--custom-block-text) 20%,transparent)!important;
}
.mail-style .news-block.has-custom-bg .form-kicker,
.mail-style .news-block.has-custom-bg .poll-kicker,
.mail-style .news-block.has-custom-bg .document-kicker{
  color:var(--custom-block-text)!important;
  opacity:.72;
}

.visual-document-card{
  display:grid;
  grid-template-columns:82px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  border:1px solid #DCE6EC;
  border-radius:17px;
  padding:0;
  overflow:hidden;
  background:#fff;
}
.document-visual{
  align-self:stretch;
  min-height:118px;
  background:var(--document-accent);
  color:var(--document-accent-text);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.document-glyph{font-size:30px;line-height:1}
.document-visual strong{font-size:10px;letter-spacing:.08em}
.document-kicker{
  display:block;
  color:var(--document-accent);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:850;
  margin-bottom:4px;
}
.visual-document-card .attachment-copy{padding:15px 0}
.visual-document-card .attachment-copy>strong{font-size:14px;color:var(--navy);margin-bottom:5px}
.visual-document-card .attachment-copy p{
  margin:0 0 8px;
  font-size:11px;
  line-height:1.55;
  color:#425766;
}
.visual-document-card .attachment-copy>span:last-child{
  font-size:9px;
  color:var(--muted);
}
.document-open-button{
  margin-right:16px;
  min-height:40px;
  padding:9px 14px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
}
@media(max-width:620px){
  .background-palette{grid-template-columns:repeat(2,minmax(0,1fr))}
  .visual-document-card{grid-template-columns:62px 1fr}
  .document-visual{min-height:100px}
  .document-open-button{grid-column:2;margin:0 14px 14px 0;width:max-content}
}

/* Centered divider v0.3.20 */
.mail-style .block-divider{
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0!important;
  margin:0!important;
}
.mail-style .block-divider:before{
  display:none!important;
}
.mail-style .block-divider .divider{
  width:60%;
  height:2px;
  margin:0 auto;
  border-radius:999px;
  background:rgba(255,255,255,.88);
}
@media(max-width:620px){
  .mail-style .block-divider .divider{width:68%}
}
/* Production Google Drive picker */
.production-role{font-size:11px;font-weight:750;color:#fff;line-height:1.35;padding:7px 0 2px}
.media-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.media-file-icon{font-size:34px}
.drive-picker-nav{display:flex;align-items:center;gap:10px;margin:12px 0}
.drive-picker-nav span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drive-picker-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:7px;background:#F8FBFD}
.drive-loading{padding:28px;text-align:center;color:var(--muted);font-size:11px}
.drive-file-row{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 22px;gap:9px;align-items:center;text-align:left;border:1px solid transparent;border-radius:9px;background:#fff;padding:9px 10px;cursor:pointer;color:var(--ink)}
.drive-file-row:hover,.drive-file-row.selected{border-color:var(--blue);background:#F0F8FD}
.drive-file-row.folder{background:#FFFDF6}
.drive-file-icon{font-size:19px;text-align:center}
.drive-file-row strong,.drive-file-row small{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drive-file-row strong{font-size:11px;color:var(--navy)}
.drive-file-row small{font-size:9px;color:var(--muted);margin-top:2px}
.drive-file-check{opacity:0;color:var(--blue);font-weight:900}
.drive-file-row.selected .drive-file-check{opacity:1}
.agenda-empty{padding:10px 0;font-size:10px;color:var(--muted)}
/* Production Google Calendar picker */
.calendar-event-picker{display:flex;flex-direction:column;gap:10px}
.calendar-event-actions{display:flex;gap:7px;flex-wrap:wrap}
.calendar-event-list{display:flex;flex-direction:column;gap:6px;max-height:420px;overflow:auto;border:1px solid var(--border);border-radius:12px;background:#F8FBFD;padding:7px}
.calendar-event-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:start;background:#fff;border:1px solid #E0E8ED;border-radius:9px;padding:10px;cursor:pointer}
.calendar-event-row:hover{border-color:#B7D5E8}
.calendar-event-row input{margin-top:2px}
.calendar-event-row strong,.calendar-event-row small{display:block}
.calendar-event-row strong{font-size:11px;color:var(--navy)}
.calendar-event-row small{font-size:9px;color:var(--muted);margin-top:3px;line-height:1.45}
@media(max-width:620px){.calendar-event-list{max-height:340px}}

/* Blackdesk map assignment */
.drive-folder-main{appearance:none;border:0;background:transparent;padding:0;display:flex;align-items:center;gap:10px;text-align:left;min-width:0;flex:1;color:inherit;cursor:pointer}
.drive-folder-main>span:last-child{display:flex;flex-direction:column;min-width:0}
.drive-folder-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drive-file-row.folder:has(.drive-folder-main){display:flex;align-items:center;gap:10px}

/* Support view */
.support-view-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 16px;background:#FEDD24;color:#112F49;border-bottom:1px solid rgba(17,47,73,.14);font-size:12px;position:relative;z-index:1000}
.support-view-banner strong{font-family:var(--font-display);font-size:13px}
.support-view-banner span{flex:1;min-width:180px}
.support-view-banner a{color:#112F49;font-weight:700;text-decoration:underline}
.support-mode button:disabled,.support-mode input:disabled,.support-mode textarea:disabled,.support-mode select:disabled{opacity:.68;cursor:not-allowed}

/* Prisma logo variant rules — explicit, never automatic fallback */
.mail-style .board-footer-logo-box{
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  width:215px;
  min-height:0!important;
  height:auto!important;
}
.mail-style .board-footer-logo-box img{
  width:100%;
  max-height:62px;
  object-fit:contain;
  object-position:left center;
}
.board-newsletter .newsletter-logo-stage{background:#fff}
@media(max-width:620px){.mail-style .board-footer-logo-box{width:175px}}

/* Multiple calendar sources */
.calendar-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:14px}
.calendar-source-card{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:12px;padding:11px 12px;background:#fff}
.calendar-source-card>div,.calendar-manage-row>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.calendar-source-card strong,.calendar-manage-row strong{font-size:13px;color:var(--navy)}
.calendar-source-card span,.calendar-manage-row span{font-size:11px;color:var(--muted)}
.calendar-linked-list{display:flex;flex-direction:column;gap:9px}
.calendar-manage-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:11px;padding:10px 12px}
.agenda-source-choices{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.agenda-source-name{display:block;font-size:9px;opacity:.72;margin-top:2px}

/* Agenda period per newsletter block */
.agenda-period-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.agenda-period-summary{margin-top:-2px;padding:8px 10px;border-radius:9px;background:#f3f7fa;color:var(--navy)!important;font-weight:650}
@media(max-width:620px){.agenda-period-grid{grid-template-columns:1fr}}

/* Newsletter readability v0.3 / prod-9 — newsletter only */
.mail-style .hero-intro-wrap .news-block h2{font-size:21px;line-height:1.25}
.mail-style .hero-intro-wrap .news-block p,
.mail-style .hero-intro-wrap .rich-copy{font-size:15px;line-height:1.72}
.mail-style .article-copy h3{font-size:17px;line-height:1.3}
.mail-style .article-copy p,
.mail-style .article-copy .rich-copy,
.mail-style .block-text p,
.mail-style .block-text .rich-copy{font-size:14.5px;line-height:1.72}
.mail-style .block-text h2{font-size:21px;line-height:1.28}
.mail-style .block-agenda h3{font-size:18px;line-height:1.25}
.mail-style .block-agenda .agenda-item{
  grid-template-columns:118px minmax(0,1fr);
  gap:14px;
  font-size:13.5px;
  line-height:1.5;
}
.mail-style .block-agenda .agenda-date{font-size:13px;line-height:1.35}
.mail-style .agenda-time-range,
.mail-style .agenda-source-name{display:block;font-size:11px;line-height:1.35;margin-top:3px;opacity:.82}
.mail-style .quote-box{font-size:20px;line-height:1.5}
.mail-style .cta-button{font-size:14px;padding:12px 19px}
.mail-style .form-callout-copy h3{font-size:18px!important}
.mail-style .form-callout-copy p{font-size:14px!important;line-height:1.65!important}
.mail-style .form-callout-button{font-size:13px;min-height:43px;padding:10px 15px}
.mail-style .poll-kicker,.mail-style .form-kicker{font-size:10px}
.mail-style .poll-card h3{font-size:19px!important}
.mail-style .poll-option{font-size:13px;padding:11px 13px}
.mail-style .poll-submit{font-size:13px;padding:10px 17px}
.mail-style .poll-result-row>div:first-child{font-size:12px}
.mail-style .poll-voted{font-size:12px}
.mail-style .footer-contact{font-size:12px;line-height:1.65}
.mail-style .footer-contact strong{font-size:13px}
.mail-style .newsletter-edition-row>div:first-child span{font-size:12px}
.mail-style .newsletter-edition-row .mail-identity{font-size:11px}

@media(max-width:620px){
  .mail-style .hero-intro-wrap .news-block h2{font-size:19px}
  .mail-style .hero-intro-wrap .news-block p,
  .mail-style .hero-intro-wrap .rich-copy{font-size:14.5px}
  .mail-style .article-copy h3{font-size:16px}
  .mail-style .article-copy p,
  .mail-style .article-copy .rich-copy,
  .mail-style .block-text p,
  .mail-style .block-text .rich-copy{font-size:14px}
  .mail-style .block-text h2{font-size:19px}
  .mail-style .block-agenda .agenda-item{grid-template-columns:92px minmax(0,1fr);gap:10px;font-size:13px}
  .mail-style .block-agenda .agenda-date{font-size:12px}
  .mail-style .quote-box{font-size:18px}
  .mail-style .footer-contact{font-size:11.5px}
}

/* Agenda date + time on one line */
.mail-style .block-agenda .agenda-item{grid-template-columns:170px minmax(0,1fr)}
.mail-style .block-agenda .agenda-date{white-space:nowrap}
@media(max-width:620px){
  .mail-style .block-agenda .agenda-item{grid-template-columns:136px minmax(0,1fr)}
  .mail-style .block-agenda .agenda-date{font-size:11.5px}
}

/* Agenda: optional time in its own column */
.mail-style .block-agenda .agenda-item.agenda-has-time{
  grid-template-columns:112px 96px minmax(0,1fr)!important;
  gap:12px!important;
}
.mail-style .block-agenda .agenda-item.agenda-no-time{
  grid-template-columns:118px minmax(0,1fr)!important;
  gap:14px!important;
}
.mail-style .block-agenda .agenda-time{
  font-size:12.5px;
  line-height:1.35;
  font-weight:750;
  color:#fff;
  white-space:nowrap;
}
.mail-style .block-agenda .agenda-title{min-width:0}
@media(max-width:620px){
  .mail-style .block-agenda .agenda-item.agenda-has-time{
    grid-template-columns:94px 78px minmax(0,1fr)!important;
    gap:8px!important;
  }
  .mail-style .block-agenda .agenda-item.agenda-no-time{
    grid-template-columns:100px minmax(0,1fr)!important;
    gap:9px!important;
  }
  .mail-style .block-agenda .agenda-time{font-size:11px}
}

/* Poll selected choice — unmistakable before submitting */
.poll-option{
  display:flex!important;
  align-items:center;
  gap:10px;
  border-width:2px!important;
}
.poll-choice-mark{
  width:20px;
  height:20px;
  flex:0 0 20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:2px solid #C5D3DC;
  color:transparent;
  background:#fff;
  font-size:11px;
  font-weight:900;
  transition:.14s;
}
.poll-option.selected,
.poll-option[aria-pressed="true"]{
  border-color:var(--poll-accent)!important;
  background:#EAF5FB!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--poll-accent) 20%,transparent)!important;
  font-weight:750;
}
.poll-option.selected .poll-choice-mark,
.poll-option[aria-pressed="true"] .poll-choice-mark{
  border-color:var(--poll-accent);
  background:var(--poll-accent);
  color:#fff;
}

/* Visual photo library */
.photo-library{margin:16px 0 12px}
.photo-library-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px}
.photo-library-head strong{font-size:13px;color:var(--navy)}
.photo-library-head span{font-size:11px;color:var(--muted)}
.photo-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:330px;overflow:auto;padding:2px}
.photo-library-item{
  position:relative;border:2px solid transparent;border-radius:11px;padding:0;background:#F4F7F9;overflow:hidden;cursor:pointer;text-align:left;
}
.photo-library-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.photo-library-item>span{display:block;padding:7px 8px;font-size:10px;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.photo-library-item i{position:absolute;right:7px;top:7px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-style:normal;font-size:12px;font-weight:900;opacity:0;box-shadow:0 2px 8px rgba(17,47,73,.25)}
.photo-library-item:hover,.photo-library-item.selected{border-color:var(--blue)}
.photo-library-item.selected i{opacity:1}

/* Google Drive image thumbnails */
.drive-file-thumb{width:72px;height:54px;flex:0 0 72px;border-radius:8px;overflow:hidden;background:#EDF3F6;display:grid;place-items:center;font-size:25px}
.drive-file-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.drive-file-copy{min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}
.drive-file-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drive-image-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important}
.drive-image-grid .drive-file-row.image-file{display:block;position:relative;padding:0;overflow:hidden;min-width:0}
.drive-image-grid .drive-file-row.image-file .drive-file-thumb{width:100%;height:auto;aspect-ratio:4/3;border-radius:0}
.drive-image-grid .drive-file-row.image-file .drive-file-copy{padding:8px 9px}
.drive-image-grid .drive-file-row.image-file .drive-file-check{position:absolute;right:7px;top:7px;background:var(--blue);color:#fff;width:23px;height:23px;border-radius:50%;display:grid;place-items:center}
.drive-image-grid .drive-file-row.folder{grid-column:1/-1}

/* Preview before device upload */
.media-upload-preview{min-height:180px;border:1px dashed #BCD0DB;border-radius:12px;background:#F6F9FB;display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:12px;text-align:center;padding:10px}
.media-upload-preview img{width:100%;max-height:300px;object-fit:contain;display:block;border-radius:8px}
.media-upload-preview strong{display:block;margin-top:7px;color:var(--navy);font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.media-upload-document{font-size:34px}
@media(max-width:620px){
  .photo-library-grid,.drive-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Imported calendar cleanup */
.agenda-import-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--border)}
.agenda-import-row:last-child{border-bottom:0}
.agenda-import-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.agenda-import-copy strong{font-size:13px;color:var(--navy)}
.agenda-import-copy span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.agenda-import-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.agenda-import-delete{width:30px;height:30px;border-radius:9px;border:1px solid #F0C8C3;background:#FFF4F2;color:#B33A2B;font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center}
.agenda-import-delete:hover{background:#FCE5E1;border-color:#D99489}
.warning-box{border:1px solid #F0D7A2;background:#FFF9E8;border-radius:11px;padding:12px 13px;color:#6A4A00}
.warning-box strong{display:block;color:#8A5B00;margin-bottom:4px}
.warning-box p{margin:0;font-size:12px;line-height:1.55}

/* Statistics module v1 */
.stats-filter{width:auto;min-width:150px;color:var(--ink);background:#fff;border-color:var(--border)}
.stats-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}
.stats-metric{padding:19px}
.stats-metric-value{font-family:var(--font-display);font-size:30px;font-weight:800;color:var(--navy);line-height:1}
.stats-metric-label{font-size:13px;font-weight:750;color:var(--ink);margin-top:8px}
.stats-metric-sub{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.35}
.stats-main-grid{margin-top:18px}
.stats-section-head{margin:0 0 13px}
.stats-loading{padding:28px;text-align:center;color:var(--muted)}
.stats-legend{display:flex;gap:18px;font-size:11px;color:var(--muted);margin:0 0 14px}
.stats-legend span{display:flex;align-items:center;gap:6px}
.stats-legend i{display:block;width:10px;height:10px;border-radius:3px}
.stats-legend i.created,.stats-bar.created{background:var(--blue)}
.stats-legend i.published,.stats-bar.published{background:var(--success)}
.stats-chart{display:flex;flex-direction:column;gap:9px}
.stats-chart-row{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center}
.stats-chart-label{font-size:10px;color:var(--muted);text-align:right}
.stats-bars{display:flex;flex-direction:column;gap:3px;min-width:0}
.stats-bar{height:15px;min-width:2px;border-radius:5px;display:flex;align-items:center;justify-content:flex-end;padding:0 5px;color:#fff;font-size:9px;font-weight:800;transition:.2s}
.stats-status-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stats-status-list>div{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface)}
.stats-status-list span{display:block;font-size:11px;color:var(--muted)}
.stats-status-list strong{display:block;margin-top:4px;font-family:var(--font-display);font-size:25px;color:var(--navy)}
.stats-extra{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--border);margin-top:15px;padding-top:13px;font-size:11px;color:var(--muted)}
.stats-extra span{display:flex;justify-content:space-between;gap:12px}
.stats-extra strong{color:var(--navy)}
@media(max-width:1100px){.stats-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-main-grid{grid-template-columns:1fr}}
@media(max-width:620px){.stats-summary-grid{grid-template-columns:1fr}.stats-chart-row{grid-template-columns:58px 1fr}.stats-filter{width:100%}}

/* Editor inspector refresh v0.4.0 */
@media(min-width:1281px){
  .editor-shell{grid-template-columns:240px minmax(520px,1fr) 380px}
}
.editor-panel.right{background:#F5F8FA}
.editor-panel.right .editor-panel-head{
  padding:18px 20px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
}
.editor-panel.right .editor-panel-head h3{
  font-size:16px;
  font-family:var(--font-display);
  letter-spacing:-.01em;
}
.inspector{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.inspector-section{
  padding:16px;
  border:1px solid var(--border);
  border-radius:15px;
  background:#fff;
  box-shadow:0 5px 18px rgba(17,47,73,.045);
}
.inspector-section:first-child{padding-top:16px}
.inspector-section:last-child{border-bottom:1px solid var(--border)}
.inspector-section h4{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 13px;
  font-size:11px;
  color:var(--navy);
  letter-spacing:.055em;
}
.inspector-section h4:before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:3px;
  background:var(--blue);
  box-shadow:0 0 0 4px rgba(38,125,193,.10);
}
.inspector-section:nth-child(3n+2) h4:before{
  background:var(--orange);
  box-shadow:0 0 0 4px rgba(234,86,13,.10);
}
.inspector-section:nth-child(3n) h4:before{
  background:#D4B500;
  box-shadow:0 0 0 4px rgba(254,221,36,.18);
}
.inspector .field{margin-bottom:13px}
.inspector .field label{
  display:block;
  margin-bottom:6px;
  font-size:11px;
  color:var(--navy);
  font-weight:750;
}
.inspector .field input,
.inspector .field textarea,
.inspector .field select{
  width:100%;
  min-height:42px;
  border-radius:11px;
  background:#FBFCFD;
  border:1px solid var(--border);
}
.inspector .field textarea{min-height:108px}
.inspector .field input:focus,
.inspector .field textarea:focus,
.inspector .field select:focus{
  background:#fff;
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(38,125,193,.11);
}
.inspector .field-help{
  margin-top:7px;
  padding:8px 10px;
  border-radius:9px;
  background:var(--surface);
  color:var(--muted);
  line-height:1.45;
}
.inspector-photo-preview{
  border-radius:13px;
  margin-bottom:12px;
  box-shadow:0 7px 22px rgba(17,47,73,.08);
}
.inspector-photo-actions{
  gap:8px;
}
.inspector-photo-actions .btn{flex:1;justify-content:center}
.background-palette,.accent-palette{
  gap:8px!important;
}
.background-choice,.accent-choice{
  min-height:58px;
  border-radius:11px!important;
}
.poll-option-edit-row{
  gap:8px;
  margin-bottom:8px;
}
.poll-option-edit-row input{min-height:40px}
.check-row{
  padding:10px 11px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
}
#saveStatus{
  min-width:128px;
  text-align:center;
  padding:6px 9px;
  border-radius:999px;
  background:#E8F6F0;
  color:#14764B!important;
  font-weight:750;
  transition:.18s;
}
#saveStatus.saving{background:#EAF2FB;color:#226CA6!important}
#saveStatus.error{background:#FBEDEC;color:#A2433E!important}
#saveStatus.conflict{background:#FFF4DE;color:#9A6700!important}
#saveStatus.saved{background:#E8F6F0;color:#14764B!important}
@media(max-width:1280px){
  .editor-shell{grid-template-columns:220px minmax(480px,1fr) 330px}
}
@media(max-width:1080px){
  .editor-shell{grid-template-columns:210px minmax(480px,1fr)}
  .editor-panel.right{display:none}
}
/* Publish preflight v0.4.1 */
.publish-check{display:flex;flex-direction:column;gap:14px}
.publish-check-list{display:flex;flex-direction:column;gap:8px}
.publish-check-list>div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:10px 11px;border:1px solid #F1CFCC;border-radius:11px;background:#FFF9F8}
.publish-check-list span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#FBEDEC;color:#A2433E;font-weight:900}
.publish-check-list p{margin:2px 0 0;font-size:12px;color:var(--ink);line-height:1.45}

/* Header controls + document card v2 */
.newsletter-photo-stage.photo-size-compact{height:190px}
.newsletter-photo-stage.photo-size-normal{height:300px}
.newsletter-photo-stage.photo-size-large{height:430px}
.newsletter-photo-stage.photo-size-compact img,
.newsletter-photo-stage.photo-size-normal img,
.newsletter-photo-stage.photo-size-large img{width:100%;height:100%;object-fit:cover}
.newsletter-photo-settings{margin-top:15px;padding-top:14px;border-top:1px solid var(--border)}
.setting-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.setting-card-head strong{display:block;font-size:12px;color:var(--navy)}
.setting-card-head span{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.header-size-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.header-size-picker.is-disabled{opacity:.42;pointer-events:none}
.header-size-picker button{border:1px solid var(--border);background:#fff;border-radius:11px;padding:9px 7px;display:flex;flex-direction:column;gap:7px;align-items:center;color:var(--muted);font-weight:700}
.header-size-picker button.active{border-color:var(--blue);background:#F4F9FD;color:var(--navy);box-shadow:0 0 0 2px rgba(38,125,193,.08)}
.header-size-demo{width:64px;border-radius:6px;background:linear-gradient(135deg,#A9CEE8,#267DC1);display:block}
.header-size-demo.compact{height:14px}.header-size-demo.normal{height:24px}.header-size-demo.large{height:36px}
.header-size-picker small{font-size:9px}
.attachment-card-v2{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 20px 20px 25px;border:1px solid #DCE5EA;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#F7FAFC 100%);overflow:hidden;box-shadow:0 8px 24px rgba(17,47,73,.07)}
.attachment-card-v2 .document-accent-rail{position:absolute;left:0;top:0;bottom:0;width:7px;background:var(--document-accent)}
.attachment-card-v2 .document-visual{width:76px;height:88px;border-radius:14px;background:var(--document-accent);color:var(--document-accent-text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:0 10px 22px rgba(17,47,73,.13)}
.attachment-card-v2 .document-glyph{font-size:28px;line-height:1}.attachment-card-v2 .document-visual strong{font-size:11px;letter-spacing:.08em}
.attachment-card-v2 .attachment-copy{min-width:0}.attachment-card-v2 .document-kicker{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--document-accent);font-weight:800;margin-bottom:5px}
.attachment-card-v2 .attachment-copy>strong{display:block;color:var(--navy);font-family:var(--font-display);font-size:17px;margin-bottom:5px}
.attachment-card-v2 .attchment-copy p{margin:0 0 8px;color:#526775;font-size:12px;line-height:1.5}
.attachment-card-v2 .document-file-name{display:block;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.document-action-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.document-action-wrap small{font-size:9px;color:var(--muted)}
.attachment-card-v2 .document-open-button{white-space:nowrap;min-width:125px;text-align:center;border-radius:11px;padding:11px 14px;font-weight:800;font-size:11px}
@media(max-width:720px){.newsletter-photo-stage.photo-size-compact{height:140px}.newsletter-photo-stage.photo-size-normal{height:220px}.newsletter-photo-stage.photo-size-large{height:300px}.attachment-card-v2{grid-template-columns:64px 1fr;padding:16px 14px 16px 19px;gap:12px}.attachment-card-v2 .document-visual{width:58px;height:70px}.document-action-wrap{grid-column:1/-1;align-items:stretch}.attachment-card-v2 .document-open-button{display:block;width:100%}.document-action-wrap small{text-align:center}}

/* Compact desktop agenda inspector v0.4.2 */
@media(min-width:1081px){
  .editor-panel.right .inspector{padding:12px;gap:10px}
  .editor-panel.right .inspector-section{padding:13px;border-radius:12px}
  .editor-panel.right .inspector-section h4{margin-bottom:10px}
  .editor-panel.right .inspector .field{margin-bottom:9px}
  .editor-panel.right .inspector .field label{margin-bottom:4px;font-size:10px}
  .editor-panel.right .inspector .field input,
  .editor-panel.right .inspector .field select{
    min-height:36px;
    height:36px;
    padding:6px 9px;
    border-radius:9px;
    font-size:12px;
  }
  .editor-panel.right .inspector .field textarea{min-height:82px;padding:8px 9px;font-size:12px}
  .editor-panel.right .agenda-period-grid{gap:8px}
  .editor-panel.right .agenda-period-grid .field{margin-bottom:0}
  .editor-panel.right .agenda-period-summary{
    margin:4px 0 8px;
    padding:6px 9px;
    border-radius:8px;
    font-size:10px;
  }
  .editor-panel.right .field-help{
    margin-top:5px;
    padding:6px 8px;
    border-radius:8px;
    font-size:10px;
    line-height:1.4;
  }
  .editor-panel.right .check-row{
    min-height:36px;
    margin-top:7px;
    padding:7px 9px;
    gap:8px;
    border-radius:9px;
    font-size:11px;
    line-height:1.3;
    align-items:center;
    justify-content:flex-start;
  }
  .editor-panel.right .check-row input[type="checkbox"]{
    appearance:auto;
    -webkit-appearance:checkbox;
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    min-height:16px!important;
    flex:0 0 16px!important;
    margin:0;
    padding:0;
    accent-color:#267DC1;
  }
  .editor-panel.right .agenda-source-choices{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin-top:3px;
  }
  .editor-panel.right .agenda-source-choices .check-row{
    margin-top:0;
    min-height:38px;
    padding:7px 9px;
    background:#fff;
  }
  .editor-panel.right .agenda-source-choices .check-row:hover{
    background:#F5FAFE;
    border-color:#B8D3E6;
  }
  .editor-panel.right .agenda-source-choices .check-row:has(input:checked){
    background:#F1F8FD;
    border-color:#9EC7E3;
    color:var(--navy);
  }
}
/* Quote icons + button alignment v0.4.3 */
.quote-box-v2{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:start;
}
.quote-box-v2 .quote-icon{
  width:42px;
  min-width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.15);
  font-size:24px;
  line-height:1;
  font-family:var(--font-body);
}
.quote-box-v2 .quote-copy{min-width:0}
.quote-icon-picker{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
}
.quote-icon-picker button{
  border:1px solid var(--border);
  background:#fff;
  border-radius:10px;
  min-height:58px;
  padding:7px 5px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:var(--muted);
}
.quote-icon-picker button span{font-size:21px;line-height:1}
.quote-icon-picker button small{font-size:9px;font-weight:750}
.quote-icon-picker button.active{
  border-color:var(--blue);
  background:#F2F8FC;
  color:var(--navy);
  box-shadow:0 0 0 2px rgba(38,125,193,.08);
}
.cta-align{display:flex;width:100%}
.cta-align-left{justify-content:flex-start}
.cta-align-center{justify-content:center}
.cta-align-right{justify-content:flex-end}
.cta-align-full{display:block}
.cta-align-full .cta-button{
  display:block;
  width:100%;
  text-align:center;
}
.button-align-picker{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.button-align-picker button{
  border:1px solid var(--border);
  background:#fff;
  border-radius:9px;
  min-height:54px;
  padding:7px 5px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:var(--muted);
}
.button-align-picker button.active{
  border-color:var(--blue);
  background:#F2F8FC;
  color:var(--navy);
  box-shadow:0 0 0 2px rgba(38,125,193,.08);
}
.button-align-picker small{font-size:8px;font-weight:750}
.align-demo{
  width:44px;
  height:19px;
  border:1px solid #C8D7E0;
  border-radius:5px;
  position:relative;
  display:block;
  background:#F7FAFC;
}
.align-demo:after{
  content:"";
  position:absolute;
  top:5px;
  width:18px;
  height:7px;
  border-radius:3px;
  background:var(--blue);
}
.align-demo.left:after{left:4px}
.align-demo.center:after{left:50%;transform:translateX(-50%)}
.align-demo.right:after{right:4px}
.align-demo.full:after{left:4px;right:4px;width:auto}
@media(max-width:720px){
  .quote-box-v2{grid-template-columns:1fr;gap:10px}
  .quote-box-v2 .quote-icon{width:38px;height:38px}
  .button-align-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Footer links + refined quote v0.4.4 */
.mail-style .footer-email,
.mail-style .footer-domain{
  text-decoration:none;
  transition:opacity .15s,text-decoration-color .15s;
}
.mail-style .footer-email{
  color:inherit;
  border-bottom:1px solid rgba(255,255,255,.28);
}
.mail-style .footer-domain{
  border-bottom:1px solid color-mix(in srgb,var(--orange) 45%,transparent);
}
.mail-style .footer-email:hover,
.mail-style .footer-domain:hover{
  opacity:.8;
  text-decoration:underline;
  text-underline-offset:2px;
}
.quote-box-v2{
  grid-template-columns:42px minmax(0,1fr);
  gap:6px;
  align-items:start;
  padding:24px 26px;
}
.quote-box-v2 .quote-icon{
  width:auto;
  min-width:0;
  height:auto;
  border-radius:0;
  display:block;
  background:transparent;
  box-shadow:none;
  padding:0;
  margin:0;
  line-height:.9;
  font-size:34px;
}
.quote-box-v2 .quote-icon-quote{
  font-family:Georgia,"Times New Roman",serif;
  font-size:62px;
  line-height:.72;
  font-weight:700;
  opacity:.72;
  transform:translateY(4px);
}
.quote-box-v2 .quote-copy{
  min-width:0;
  font-size:21px;
  line-height:1.5;
}
@media(max-width:720px){
  .quote-box-v2{
    grid-template-columns:34px minmax(0,1fr);
    gap:5px;
    padding:20px 21px;
  }
  .quote-box-v2 .quote-icon{font-size:29px}
  .quote-box-v2 .quote-icon-quote{font-size:52px}
  .quote-box-v2 .quote-copy{font-size:18px}
}
/* Image focus picker + poster persistence v0.4.5 */
.image-focus-field{margin-top:12px}
.image-focus-picker{
  width:126px;
  display:grid;
  grid-template-columns:repeat(3,38px);
  grid-template-rows:repeat(3,38px);
  gap:5px;
}
.image-focus-picker button{
  border:1px solid var(--border);
  background:#fff;
  border-radius:9px;
  color:var(--muted);
  font-size:16px;
  font-weight:800;
  display:grid;
  place-items:center;
  padding:0;
}
.image-focus-picker button:hover{
  border-color:#AFCBDD;
  background:#F6FAFD;
  color:var(--navy);
}
.image-focus-picker button.active{
  border-color:var(--blue);
  background:#EAF4FB;
  color:var(--blue);
  box-shadow:0 0 0 2px rgba(38,125,193,.10);
}
/* Image position sliders v0.4.6 */
.image-focus-field{margin-top:12px}
.image-position-preview{
  width:100%;
  aspect-ratio:16/7;
  overflow:hidden;
  border-radius:11px;
  border:1px solid var(--border);
  background:#EEF3F6;
  margin:8px 0 12px;
}
.image-position-preview img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.image-position-control{margin-top:10px}
.image-position-control>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:5px;
  font-size:10px;
  color:var(--muted);
}
.image-position-control output{
  color:var(--navy);
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.image-position-control input[type="range"]{
  width:100%;
  min-height:0!important;
  height:20px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  accent-color:var(--blue);
}
.image-position-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:7px;
}
/* Simple image block sizes v0.4.7 */
.mail-style .feature-image.image-size-compact{height:180px}
.mail-style .feature-image.image-size-normal{height:280px}
.mail-style .feature-image.image-size-large{height:420px}
.mail-style .feature-image.image-size-compact img,
.mail-style .feature-image.image-size-normal img,
.mail-style .feature-image.image-size-large img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center!important;
}
.mail-style .feature-image.image-size-full{
  height:auto;
  min-height:0;
  display:block;
  background:transparent;
}
.mail-style .feature-image.image-size-full img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center center!important;
}
.mail-style .feature-image.image-size-full .photo-edit-chip{
  position:absolute;
}
.image-size-field{margin-top:12px}
.image-size-picker{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.image-size-picker button{
  min-height:60px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
  padding:7px 5px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:var(--muted);
}
.image-size-picker button.active{
  border-color:var(--blue);
  background:#F2F8FC;
  color:var(--navy);
  box-shadow:0 0 0 2px rgba(38,125,193,.08);
}
.image-size-demo{
  width:46px;
  display:block;
  border-radius:5px;
  background:linear-gradient(135deg,#A9CEE8,#267DC1);
}
.image-size-demo.compact{height:12px}
.image-size-demo.normal{height:20px}
.image-size-demo.large{height:30px}
.image-size-demo.full{
  height:30px;
  background:linear-gradient(135deg,#D8E7F0,#A9CEE8);
  border:2px solid #267DC1;
}
.image-size-picker small{
  font-size:8px;
  font-weight:750;
  text-align:center;
  line-height:1.15;
}
@media(max-width:720px){
  .mail-style .feature-image.image-size-compact{height:135px}
  .mail-style .feature-image.image-size-normal{height:210px}
  .mail-style .feature-image.image-size-large{height:300px}
  .image-size-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Hard centered image crop v0.4.8 */
.mail-style .feature-image.image-size-compact,
.mail-style .feature-image.image-size-normal,
.mail-style .feature-image.image-size-large{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
}
.mail-style .feature-image.image-size-compact>img,
.mail-style .feature-image.image-size-normal>img,
.mail-style .feature-image.image-size-large>img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:50% 50%!important;
  margin:0!important;
  transform:none!important;
}
.mail-style .feature-image.image-size-full>img{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:50% 50%!important;
  margin:0 auto!important;
  transform:none!important;
}
/* Collapsible newsletter settings v0.4.9 */
.newsletter-settings-panel{
  padding:0!important;
  overflow:hidden;
  box-shadow:none!important;
  background:#F8FAFB!important;
}
.newsletter-settings-toggle{
  width:100%;
  min-height:52px;
  padding:10px 12px;
  border:0;
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-align:left;
  cursor:pointer;
  color:var(--navy);
}
.newsletter-settings-toggle:hover{background:#F2F7FA}
.newsletter-settings-toggle>span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.newsletter-settings-toggle strong{
  font-size:12px;
  line-height:1.2;
}
.newsletter-settings-toggle small{
  max-width:250px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9px;
  line-height:1.25;
  color:var(--muted);
  font-weight:600;
}
.newsletter-settings-toggle i{
  flex:0 0 auto;
  font-style:normal;
  font-size:17px;
  line-height:1;
  color:var(--muted);
  transform:rotate(-90deg);
  transition:transform .16s ease;
}
.newsletter-settings-panel.is-open .newsletter-settings-toggle i{transform:rotate(0deg)}
.newsletter-settings-body{
  display:none;
  padding:12px;
  border-top:1px solid var(--border);
  background:#fff;
}
.newsletter-settings-panel.is-open .newsletter-settings-body{display:block}
.newsletter-settings-body .newsletter-photo-settings{margin-top:12px}

/* Rich text lists v0.5.0 */
.rich-toolbar .rich-list-button{
  width:auto;
  min-width:58px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  font-weight:750;
  white-space:nowrap;
}
.rich-toolbar .rich-list-icon{font-size:13px;font-weight:900;line-height:1}
.rich-editor ul,.rich-copy ul{
  list-style-type:disc!important;
  list-style-position:outside!important;
  margin:8px 0 8px 22px!important;
  padding-left:14px!important;
}
.rich-editor ol,.rich-copy ol{
  list-style-type:decimal!important;
  list-style-position:outside!important;
  margin:8px 0 8px 22px!important;
  padding-left:16px!important;
}
.rich-editor li,.rich-copy li{
  display:list-item!important;
  margin:4px 0!important;
  padding-left:2px;
}
.rich-editor li::marker,.rich-copy li::marker{
  font-weight:750;
  color:currentColor;
}

/* Automatic newsletter contents v0.5.1 */
.newsletter-contents{
  margin:14px 0 2px;
  padding:11px 14px 12px;
  border-left:3px solid var(--orange);
  border-radius:0 10px 10px 0;
  background:#F7FAFC;
}
.newsletter-contents>strong{
  display:block;
  margin-bottom:7px;
  color:var(--navy);
  font-size:11px;
  font-weight:800;
}
.newsletter-contents ul{
  list-style:disc!important;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 24px;
  margin:0 0 0 17px!important;
  padding:0!important;
}
.newsletter-contents li{
  display:list-item!important;
  margin:0!important;
  padding:0 0 0 2px!important;
  color:#465D6C;
  font-size:11px;
  line-height:1.45;
}
.newsletter-contents li::marker{color:var(--orange);font-size:.9em}
@media(max-width:620px){
  .newsletter-contents ul{grid-template-columns:1fr;gap:4px}
}

/* Newsletter contents readability + toggle v0.5.2 */
.newsletter-contents>strong{
  font-size:13px!important;
  line-height:1.35;
}
.newsletter-contents li{
  font-size:13px!important;
  line-height:1.5!important;
}
.newsletter-contents ul{
  gap:6px 26px!important;
}
.toc-settings .check-row{
  margin-top:0!important;
}

/* Standalone contents block v0.5.3 */
.block-toc .newsletter-contents{
  margin:0;
}
.block-toc .newsletter-contents>strong{
  font-size:14px!important;
}
.block-toc .toc-empty{
  padding:7px 0 2px;
  color:var(--muted);
  font-size:11px;
}
.toc-option-list{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.toc-option-list .check-row{
  margin-top:0!important;
  min-height:36px;
  background:#fff;
}
.toc-option-list .check-row:has(input:checked){
  background:#F1F8FD;
  border-color:#9EC7E3;
}
.toc-option-list .check-row span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
/* Cheerful block palette v0.5.4 */
.editor-panel:first-child .block-list{
  padding:12px;
  gap:8px;
}
.editor-panel:first-child .block-btn{
  --block-accent:#267DC1;
  --block-soft:#EEF7FD;
  position:relative;
  min-height:78px;
  padding:10px 8px 9px;
  border:1px solid color-mix(in srgb,var(--block-accent) 18%,#DDE6EB);
  border-radius:13px;
  background:linear-gradient(145deg,#fff 42%,var(--block-soft) 100%);
  color:var(--navy);
  box-shadow:0 3px 10px rgba(17,47,73,.035);
  overflow:hidden;
}
.editor-panel:first-child .block-btn:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:var(--block-accent);
  opacity:.88;
}
.editor-panel:first-child .block-btn .block-icon{
  width:35px;
  height:35px;
  margin:0 auto 6px;
  border-radius:10px;
  background:var(--block-accent);
  color:#fff;
  font-size:16px;
  font-weight:850;
  box-shadow:0 5px 12px color-mix(in srgb,var(--block-accent) 18%,transparent);
  transition:transform .16s ease,box-shadow .16s ease;
}
.editor-panel:first-child .block-btn:hover{
  border-color:color-mix(in srgb,var(--block-accent) 48%,#DDE6EB);
  background:linear-gradient(145deg,#fff 22%,var(--block-soft) 100%);
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(17,47,73,.09);
}
.editor-panel:first-child .block-btn:hover .block-icon{
  transform:scale(1.06) rotate(-2deg);
  box-shadow:0 7px 16px color-mix(in srgb,var(--block-accent) 26%,transparent);
}
.editor-panel:first-child .block-btn .drag-label{
  position:absolute;
  right:6px;
  top:7px;
  opacity:.28;
  color:var(--block-accent);
}
.editor-panel:first-child .block-btn:hover .drag-label{opacity:.75}

/* Prisma-inspired accents by content type */
.block-btn[data-palette-type="text"]{--block-accent:#267DC1;--block-soft:#EDF6FC}
.block-btn[data-palette-type="toc"]{--block-accent:#6B63C7;--block-soft:#F2F0FD}
.block-btn[data-palette-type="article"]{--block-accent:#EA560D;--block-soft:#FFF2EB}
.block-btn[data-palette-type="agenda"]{--block-accent:#16836B;--block-soft:#ECF8F5}
.block-btn[data-palette-type="image"]{--block-accent:#4E8DBB;--block-soft:#EEF6FA}
.block-btn[data-palette-type="poster"]{--block-accent:#C6457A;--block-soft:#FCEFF5}
.block-btn[data-palette-type="quote"]{--block-accent:#D39B00;--block-soft:#FFF8DC}
.block-btn[data-palette-type="button"]{--block-accent:#112F49;--block-soft:#EDF1F4}
.block-btn[data-palette-type="form"]{--block-accent:#3F78B5;--block-soft:#EEF4FA}
.block-btn[data-palette-type="poll"]{--block-accent:#8A5CB8;--block-soft:#F5EFFA}
.block-btn[data-palette-type="attachment"]{--block-accent:#5F7180;--block-soft:#F1F4F6}
.block-btn[data-palette-type="divider"]{--block-accent:#A0ACB5;--block-soft:#F5F7F8}

/* Slightly friendlier palette header */
.editor-panel:first-child .editor-panel-head{
  position:relative;
  overflow:hidden;
}
.editor-panel:first-child .editor-panel-head:after{
  content:"";
  position:absolute;
  right:14px;
  top:16px;
  width:32px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,#267DC1 0 33%,#FEDD24 33% 66%,#EA560D 66%);
  opacity:.9;
}
/* Visual one-column block library v0.5.5 */
@media(min-width:1281px){
  .editor-shell{grid-template-columns:300px minmax(520px,1fr) 380px!important}
}
@media(min-width:1081px) and (max-width:1280px){
  .editor-shell{grid-template-columns:270px minmax(480px,1fr) 330px!important}
}
.editor-panel:first-child .block-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  padding:10px!important;
}
.editor-panel:first-child .block-btn{
  --mini:#267DC1;
  position:relative;
  min-height:66px!important;
  width:100%;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) 82px;
  align-items:center;
  gap:10px;
  padding:8px 26px 8px 9px!important;
  text-align:left!important;
  border:1px solid #DDE6EB!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:hidden;
}
.editor-panel:first-child .block-btn:before{display:none!important}
.editor-panel:first-child .block-btn:hover{
  border-color:color-mix(in srgb,var(--mini) 45%,#DDE6EB)!important;
  background:#FBFDFE!important;
  box-shadow:0 6px 16px rgba(17,47,73,.08)!important;
  transform:translateY(-1px)!important;
}
.editor-panel:first-child .block-icon{
  width:38px!important;
  height:38px!important;
  margin:0!important;
  border:0!important;
  border-radius:10px!important;
  background:#F4F7F9!important;
  box-shadow:none!important;
  font-size:21px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  transform:none!important;
}
.editor-panel:first-child .block-btn:hover .block-icon{
  transform:scale(1.06)!important;
  background:#EEF4F7!important;
  box-shadow:none!important;
}
.block-palette-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.block-palette-copy strong{
  color:var(--navy);
  font-size:11px;
  line-height:1.2;
}
.block-palette-copy small{
  color:var(--muted);
  font-size:9px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.block-mini-preview{
  position:relative;
  width:82px;
  height:44px;
  border-radius:8px;
  background:#F5F8FA;
  border:1px solid #E3EAEE;
  overflow:hidden;
  display:block;
}
.block-mini-preview i{
  position:absolute;
  display:block;
  border-radius:3px;
  background:#C8D6DF;
}
.preview-lines i:nth-child(1){left:8px;top:8px;width:43px;height:5px;background:var(--mini)}
.preview-lines i:nth-child(2){left:8px;top:19px;width:64px;height:3px}
.preview-lines i:nth-child(3){left:8px;top:27px;width:54px;height:3px}

.preview-toc i:nth-child(1){left:8px;top:8px;width:5px;height:5px;border-radius:50%;background:var(--mini);box-shadow:0 10px 0 var(--mini),0 20px 0 var(--mini)}
.preview-toc i:nth-child(2){left:18px;top:9px;width:52px;height:3px;box-shadow:0 10px 0 #C8D6DF,0 20px 0 #C8D6DF}
.preview-toc i:nth-child(3){display:none}

.preview-article i:nth-child(1){left:7px;top:7px;width:27px;height:30px;background:linear-gradient(135deg,#BCD8E9,var(--mini))}
.preview-article i:nth-child(2){left:40px;top:10px;width:32px;height:5px;background:var(--mini)}
.preview-article i:nth-child(3){left:40px;top:22px;width:28px;height:3px;box-shadow:0 7px 0 #C8D6DF}

.preview-agenda i:nth-child(1){left:7px;top:8px;width:19px;height:8px;background:var(--mini);box-shadow:0 11px 0 color-mix(in srgb,var(--mini) 70%,#fff),0 22px 0 color-mix(in srgb,var(--mini) 40%,#fff)}
.preview-agenda i:nth-child(2){left:33px;top:10px;width:39px;height:3px;box-shadow:0 11px 0 #C8D6DF,0 22px 0 #C8D6DF}
.preview-agenda i:nth-child(3){display:none}

.preview-image i:nth-child(1){inset:6px;background:linear-gradient(145deg,#BBD7E7,var(--mini));border-radius:6px}
.preview-image i:nth-child(2),.preview-image i:nth-child(3){display:none}

.preview-poster i:nth-child(1){left:27px;top:5px;width:28px;height:34px;background:linear-gradient(160deg,#fff0f5,var(--mini));border-radius:3px}
.preview-poster i:nth-child(2),.preview-poster i:nth-child(3){display:none}

.preview-quote i:nth-child(1){left:9px;top:8px;width:11px;height:15px;background:transparent}
.preview-quote i:nth-child(1):after{content:"“";font:700 28px/1 Georgia;color:var(--mini);position:absolute;left:0;top:-5px}
.preview-quote i:nth-child(2){left:29px;top:14px;width:41px;height:4px;background:var(--mini)}
.preview-quote i:nth-child(3){left:29px;top:23px;width:32px;height:3px}

.preview-button i:nth-child(1){left:19px;top:14px;width:44px;height:16px;border-radius:6px;background:var(--mini)}
.preview-button i:nth-child(2),.preview-button i:nth-child(3){display:none}

.preview-form i:nth-child(1){left:8px;top:8px;width:45px;height:6px;background:#D5E0E7;box-shadow:0 10px 0 #D5E0E7}
.preview-form i:nth-child(2){right:8px;bottom:7px;width:27px;height:9px;background:var(--mini)}
.preview-form i:nth-child(3){display:none}

.preview-poll i:nth-child(1){left:8px;top:9px;width:7px;height:7px;border-radius:50%;background:transparent;border:2px solid var(--mini);box-sizing:border-box}
.preview-poll i:nth-child(2){left:21px;top:11px;width:47px;height:3px;box-shadow:0 11px 0 #C8D6DF}
.preview-poll i:nth-child(3){left:8px;top:20px;width:7px;height:7px;border-radius:50%;background:transparent;border:2px solid var(--mini);box-sizing:border-box}

.preview-attachment i:nth-child(1){left:8px;top:7px;width:21px;height:30px;background:var(--mini)}
.preview-attachment i:nth-child(2){left:36px;top:12px;width:35px;height:4px;box-shadow:0 9px 0 #C8D6DF}
.preview-attachment i:nth-child(3){left:48px;bottom:7px;width:23px;height:8px;background:var(--mini)}

.preview-divider i:nth-child(1){left:10px;right:10px;top:21px;height:2px;background:var(--mini)}
.preview-divider i:nth-child(2),.preview-divider i:nth-child(3){display:none}

.block-btn[data-palette-type="text"]{--mini:#267DC1}
.block-btn[data-palette-type="toc"]{--mini:#7357C8}
.block-btn[data-palette-type="article"]{--mini:#EA560D}
.block-btn[data-palette-type="agenda"]{--mini:#1A8A70}
.block-btn[data-palette-type="image"]{--mini:#4E95C8}
.block-btn[data-palette-type="poster"]{--mini:#D34B7E}
.block-btn[data-palette-type="quote"]{--mini:#D6A800}
.block-btn[data-palette-type="button"]{--mini:#112F49}
.block-btn[data-palette-type="form"]{--mini:#3F78B5}
.block-btn[data-palette-type="poll"]{--mini:#8E5FC0}
.block-btn[data-palette-type="attachment"]{--mini:#647783}
.block-btn[data-palette-type="divider"]{--mini:#9BA8B1}

.editor-panel:first-child .block-btn .drag-label{
  right:7px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  font-size:12px;
  opacity:.25;
  color:#71808A!important;
}
.editor-panel:first-child .block-btn:hover .drag-label{opacity:.7}
.block-drive-action{padding:2px 10px 14px}
.block-drive-action .btn{width:100%;justify-content:center}
@media(max-width:1280px) and (min-width:1081px){
  .editor-panel:first-child .block-btn{grid-template-columns:36px minmax(0,1fr) 68px}
  .block-mini-preview{width:68px}
  .block-palette-copy small{font-size:8px}
}
/* Cheerful attachment card v0.5.6 */
.attachment-card-v2{
  background:
    radial-gradient(circle at 100% 0,rgba(254,221,36,.16),transparent 22%),
    radial-gradient(circle at 0 100%,rgba(38,125,193,.10),transparent 24%),
    linear-gradient(135deg,#fff 0%,#F8FBFD 100%)!important;
}
.attachment-card-v2 .document-visual{
  position:relative;
  overflow:visible;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--navy)!important;
}
.document-paper{
  position:relative;
  width:58px;
  height:68px;
  border-radius:9px;
  background:#fff;
  border:2px solid var(--document-accent);
  box-shadow:0 9px 18px rgba(17,47,73,.12);
  transform:rotate(-2deg);
  overflow:hidden;
}
.document-fold{
  position:absolute;
  right:-2px;
  top:-2px;
  width:18px;
  height:18px;
  background:linear-gradient(225deg,transparent 49%,var(--document-accent) 50%);
}
.document-line{
  position:absolute;
  left:10px;
  height:4px;
  border-radius:999px;
  background:#D8E3E9;
}
.document-line.line-a{top:27px;width:34px;background:color-mix(in srgb,var(--document-accent) 58%,#fff)}
.document-line.line-b{top:38px;width:29px}
.document-line.line-c{top:49px;width:23px}
.document-spark{
  position:absolute;
  border-radius:50%;
}
.document-spark.spark-a{
  width:10px;height:10px;
  right:2px;bottom:5px;
  background:#FEDD24;
  box-shadow:-44px -48px 0 -2px #EA560D;
}
.document-spark.spark-b{
  width:7px;height:7px;
  left:2px;bottom:1px;
  background:#267DC1;
}
.attachment-card-v2 .document-visual>strong{
  position:absolute;
  right:-5px;
  bottom:-6px;
  min-width:34px;
  padding:5px 7px;
  border-radius:999px;
  background:var(--document-accent);
  color:var(--document-accent-text);
  font-size:9px;
  line-height:1;
  text-align:center;
  letter-spacing:.05em;
  box-shadow:0 5px 12px rgba(17,47,73,.16);
}
.document-kind-pdf .document-paper{border-color:#EA560D}
.document-kind-pdf>strong{background:#EA560D!important;color:#fff!important}
.document-kind-doc .document-paper,
.document-kind-docx .document-paper{border-color:#267DC1}
.document-kind-doc>strong,
.document-kind-docx>strong{background:#267DC1!important;color:#fff!important}
.document-kind-xls .document-paper,
.document-kind-xlsx .document-paper{border-color:#16836B}
.document-kind-xls>strong,
.document-kind-xlsx>strong{background:#16836B!important;color:#fff!important}
.document-kind-ppt .document-paper,
.document-kind-pptx .document-paper{border-color:#D97818}
.document-kind-ppt>strong,
.document-kind-pptx>strong{background:#D97818!important;color:#fff!important}
.attachment-card-v2 .document-kicker{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.attachment-card-v2 .document-kicker:before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--document-accent);
}

/* YouTube video block v0.5.7 */
.block-btn[data-palette-type="video"]{--mini:#E53935}
.preview-video i:nth-child(1){left:7px;top:7px;width:68px;height:30px;background:linear-gradient(145deg,#2C3540,#111820);border-radius:6px}
.preview-video i:nth-child(2){left:34px;top:15px;width:18px;height:18px;border-radius:50%;background:#E53935}
.preview-video i:nth-child(2):after{content:"";position:absolute;left:7px;top:5px;border-left:6px solid #fff;border-top:4px solid transparent;border-bottom:4px solid transparent}
.preview-video i:nth-child(3){display:none}
.video-block h3{margin-bottom:10px}
.youtube-frame{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:15px;background:linear-gradient(145deg,#192631,#0D151C);box-shadow:0 9px 24px rgba(17,47,73,.12)}
.youtube-frame iframe,.youtube-frame img{display:block;width:100%;height:100%;border:0;object-fit:cover}
.youtube-editor-preview{position:absolute;inset:0}
.youtube-editor-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,18,27,.38))}
.youtube-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:42px;border-radius:12px;background:#E53935;color:#fff;display:grid;place-items:center;padding-left:3px;font-size:19px;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.youtube-preview-label{position:absolute;z-index:2;left:13px;bottom:11px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.92);color:#112F49;font-size:9px;font-weight:800}
.youtube-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:#fff;padding:20px;background:radial-gradient(circle at 75% 25%,rgba(229,57,53,.25),transparent 25%),linear-gradient(145deg,#203441,#11212D)}
.youtube-placeholder-icon{width:48px;height:35px;border-radius:10px;background:#E53935;display:grid;place-items:center;padding-left:3px;font-size:16px}
.youtube-placeholder strong{font-size:13px}.youtube-placeholder small{font-size:10px;color:rgba(255,255,255,.72)}
.video-caption{margin:9px 2px 0!important;font-size:12px!important;color:#607482!important}
.youtube-link-status{margin-top:-2px;padding:8px 10px;border-radius:9px;font-size:10px;font-weight:700}
.youtube-link-status.is-valid{background:#EAF7F0;color:#14764B}
.youtube-link-status.is-empty{background:#F4F7F9;color:#6C7D88}

/* Agenda readability + internal source names v0.5.8 */
.mail-style .block-agenda .agenda-list{
  gap:7px!important;
}
.mail-style .block-agenda .agenda-item{
  position:relative;
  padding:9px 11px!important;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:rgba(255,255,255,.075);
  align-items:center!important;
}
.mail-style .block-agenda .agenda-item:nth-child(even){
  background:rgba(255,255,255,.145);
}
.mail-style .block-agenda .agenda-item+ .agenda-item{
  margin-top:1px;
}
.mail-style .block-agenda .agenda-date,
.mail-style .block-agenda .agenda-time{
  align-self:center;
}
.mail-style .block-agenda .agenda-title{
  line-height:1.45;
}
@media(max-width:620px){
  .mail-style .block-agenda .agenda-item{
    padding:8px 9px!important;
    border-radius:9px;
  }
}

/* Mobile agenda stacking + centered footer v0.5.9 */
@media(max-width:620px){
  .mail-style .block-agenda .agenda-item.agenda-has-time{
    grid-template-columns:max-content max-content!important;
    grid-template-rows:auto auto!important;
    column-gap:12px!important;
    row-gap:5px!important;
    justify-content:start!important;
    align-items:center!important;
  }
  .mail-style .block-agenda .agenda-item.agenda-has-time .agenda-date{
    grid-column:1!important;
    grid-row:1!important;
  }
  .mail-style .block-agenda .agenda-item.agenda-has-time .agenda-time{
    grid-column:2!important;
    grid-row:1!important;
  }
  .mail-style .block-agenda .agenda-item.agenda-has-time .agenda-title{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%;
    padding-top:2px;
  }
  .mail-style .block-agenda .agenda-item.agenda-no-time{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    row-gap:5px!important;
  }
  .mail-style .block-agenda .agenda-item.agenda-no-time .agenda-date{
    grid-column:1!important;
    grid-row:1!important;
  }
  .mail-style .block-agenda .agenda-item.agenda-no-time .agenda-title{
    grid-column:1!important;
    grid-row:2!important;
    padding-top:2px;
  }
  .mail-style .block-agenda .agenda-date,
  .mail-style .block-agenda .agenda-time{
    font-size:11.5px!important;
    line-height:1.3!important;
  }
  .mail-style .block-agenda .agenda-title{
    font-size:13px;
    line-height:1.45;
  }

  .mail-style .newsletter-footer{
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:15px!important;
    text-align:center!important;
  }
  .mail-style .footer-school-brand{
    width:100%;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .mail-style .footer-logo-box{
    margin-left:auto!important;
    margin-right:auto!important;
    justify-content:center!important;
  }
  .mail-style .footer-logo-box img{
    object-position:center center!important;
  }
  .mail-style .footer-contact{
    width:100%;
    text-align:center!important;
  }
  .mail-style .footer-domain{
    margin-left:auto;
    margin-right:auto;
  }
}

/* Footer address + phone lines v0.6.0 */
.mail-style .footer-address-line{display:block}
.mail-style .footer-phone,.mail-style .footer-email{display:block;width:max-content;max-width:100%;color:inherit;text-decoration:none;margin-top:2px}
.mail-style .footer-phone{border-bottom:1px solid rgba(255,255,255,.28)}
.mail-style .footer-phone:hover{opacity:.8;text-decoration:underline;text-underline-offset:2px}
.mail-style .footer-prisma-text{display:block;margin-top:4px}
@media(max-width:620px){.mail-style .footer-phone,.mail-style .footer-email{margin-left:auto;margin-right:auto}}
.mail-style .footer-phone,.mail-style .footer-email{margin-left:auto}
@media(max-width:620px){.mail-style .footer-phone,.mail-style .footer-email{margin-right:auto}}

/* Fully centered mobile footer v0.6.1 */
@media(max-width:620px){
  .mail-style .footer-contact{
    width:100%!important;
    text-align:center!important;
  }
  .mail-style .footer-contact>strong,
  .mail-style .footer-address-line,
  .mail-style .footer-prisma-text{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .mail-style .footer-phone,
  .mail-style .footer-email,
  .mail-style .footer-domain{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
}

/* Public newsletter title + archive below v0.6.2 */
.public-titlebar{
  justify-content:flex-start!important;
  margin-bottom:12px!important;
}
.public-titlebar span{
  padding:0!important;
  color:var(--navy)!important;
  font-size:15px!important;
  font-weight:800;
  line-height:1.35;
}
.public-archive-bottom{
  width:min(860px,100%);
  margin:14px auto 0;
  display:flex;
  justify-content:center;
}
@media(max-width:620px){
  .public-titlebar{
    align-items:flex-start!important;
    margin-bottom:10px!important;
  }
  .public-titlebar span{font-size:14px!important}
  .public-archive-bottom{margin-top:12px}
}

/* Public newsletter clean rounded corners v0.6.3 */
.public-newsletter{
  background:transparent!important;
  box-shadow:none!important;
  border-radius:24px;
  overflow:visible;
}
@media(max-width:620px){
  .public-newsletter{border-radius:16px}
}
