:root{--escp-red:#d71920;--escp-blue:#071f49;--escp-white:#fff;--escp-soft:#f5f7fb;--escp-text:#20304c;--escp-muted:#64748b;--escp-border:#dce3ef}html,body{max-width:100%;overflow-x:hidden}.escp-wrap,.escp-wrap *{box-sizing:border-box}.escp-wrap{font-family:Inter,Arial,sans-serif;background:var(--escp-white);border-radius:26px;padding:20px;box-shadow:0 20px 50px rgba(7,31,73,.08);color:var(--escp-text);max-width:1180px;margin:0 auto;overflow:hidden}.escp-hero{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;background:linear-gradient(135deg,var(--escp-blue),#102e66 58%,var(--escp-red));color:#fff;border-radius:24px;padding:26px;margin-bottom:16px;position:relative;overflow:hidden}.escp-hero:after{content:"";position:absolute;right:-60px;top:-60px;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.13)}.escp-kicker{display:inline-flex;background:rgba(255,255,255,.14);padding:8px 14px;border-radius:999px;font-weight:900;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.escp-hero h2{margin:12px 0 6px;color:#fff;font-size:34px;line-height:1.05}.escp-hero p{margin:0;color:#eaf0ff;font-size:16px}.escp-hero-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;z-index:2}.escp-print,.escp-share-page,.escp-reset{border:0;background:#fff;color:var(--escp-blue);padding:13px 16px;border-radius:999px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.12)}.escp-share-page{background:var(--escp-red);color:#fff}.escp-reset{background:var(--escp-red);color:#fff;box-shadow:none}.escp-panel{background:#fff;border:1px solid var(--escp-border);border-radius:22px;margin-bottom:16px;box-shadow:0 14px 34px rgba(7,31,73,.06);overflow:hidden}.escp-panel-top{height:5px;background:linear-gradient(90deg,var(--escp-red),var(--escp-blue))}.escp-filters{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr auto;gap:10px;padding:16px}.escp-filters select,.escp-filters input{width:100%;min-width:0;border:1px solid var(--escp-border);border-radius:16px;padding:13px 14px;background:#fff;color:var(--escp-blue);font-weight:800;outline:none;font-size:14px}.escp-upcoming{background:var(--escp-soft);border:1px solid var(--escp-border);border-radius:22px;padding:16px;margin-bottom:16px}.escp-upcoming h3{margin:0 0 12px;color:var(--escp-blue);font-size:20px}.escp-upcoming-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.escp-mini{background:#fff;border:1px solid var(--escp-border);border-radius:16px;padding:14px}.escp-mini strong{color:var(--escp-blue);display:block}.escp-mini span{color:var(--escp-muted);font-size:13px}.escp-count{font-weight:900;color:var(--escp-blue);margin:10px 2px 14px}.escp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.escp-card{border:1px solid var(--escp-border);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(7,31,73,.08);transition:.2s transform,.2s box-shadow}.escp-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(7,31,73,.14)}.escp-date{background:linear-gradient(135deg,var(--escp-blue),#173b78);color:#fff;padding:16px;display:flex;justify-content:space-between;gap:10px;align-items:center}.escp-day{font-size:34px;font-weight:1000;line-height:1}.escp-month{font-weight:900;text-transform:uppercase;color:#fff;letter-spacing:.04em}.escp-badge{background:var(--escp-red);color:#fff;padding:8px 10px;border-radius:999px;font-size:12px;font-weight:1000}.escp-body{padding:16px}.escp-body h3{margin:0 0 10px;color:var(--escp-blue);font-size:21px;line-height:1.15}.escp-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.escp-tag{background:var(--escp-soft);border:1px solid var(--escp-border);border-radius:999px;padding:7px 10px;color:#46566f;font-weight:900;font-size:12px;line-height:1.2}.escp-desc{color:var(--escp-muted);font-size:14px;margin:0 0 12px;line-height:1.45}.escp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.escp-gcal,.escp-copy,.escp-share,.escp-view{border:0;text-align:center;text-decoration:none;background:var(--escp-red);color:#fff!important;border-radius:14px;padding:11px 10px;font-weight:1000;font-size:12px;cursor:pointer}.escp-copy,.escp-share{background:var(--escp-blue)}.escp-view{background:#eef2f8;color:var(--escp-blue)!important}.escp-empty{display:none;text-align:center;padding:25px;border:1px dashed var(--escp-border);border-radius:20px;color:var(--escp-muted);font-weight:900}.escp-modal{position:fixed;inset:0;background:rgba(7,31,73,.72);display:none;align-items:flex-start;justify-content:center;padding:90px 14px 24px;z-index:999999;overflow:auto}.escp-modal.is-open{display:flex}.escp-modal-card{background:#fff;border-radius:24px;max-width:620px;width:100%;box-shadow:0 25px 80px rgba(0,0,0,.35);overflow:hidden}.escp-modal-head{background:linear-gradient(135deg,var(--escp-blue),var(--escp-red));color:#fff;padding:22px;position:relative}.escp-modal-head h3{color:#fff;margin:0;font-size:27px;line-height:1.1}.escp-modal-close{position:absolute;top:12px;right:12px;border:0;background:#fff;color:var(--escp-red);width:42px;height:42px;border-radius:50%;font-size:24px;font-weight:1000;cursor:pointer}.escp-modal-body{padding:18px}.escp-toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--escp-blue);color:#fff;border-radius:999px;padding:12px 16px;font-weight:900;z-index:1000000;box-shadow:0 12px 30px rgba(0,0,0,.25)}@media(max-width:900px){.escp-filters{grid-template-columns:1fr 1fr}.escp-reset{grid-column:1/-1}}@media(max-width:760px){.escp-wrap{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:8px 0 14px;border-radius:0;box-shadow:none}.escp-hero{grid-template-columns:1fr;margin:0 0 8px;border-radius:0;padding:16px 14px}.escp-kicker{font-size:10px;padding:6px 10px}.escp-hero h2{font-size:26px;margin:9px 0 4px}.escp-hero p{font-size:14px}.escp-hero-actions{justify-content:flex-start}.escp-print,.escp-share-page{padding:10px 12px;font-size:12px}.escp-panel{border-radius:0;border-left:0;border-right:0;margin-bottom:8px}.escp-filters{grid-template-columns:1fr 1fr;padding:10px;gap:8px}.escp-filters input{grid-column:1/-1;order:-1}.escp-filters select,.escp-filters input{font-size:13px;padding:11px;border-radius:12px}.escp-reset{grid-column:1/-1;border-radius:12px;padding:12px}.escp-upcoming{display:none}.escp-count{padding:0 10px;margin:6px 0 8px}.escp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 8px}.escp-card{border-radius:16px;box-shadow:0 8px 18px rgba(7,31,73,.08)}.escp-date{padding:10px}.escp-day{font-size:25px}.escp-month{font-size:11px}.escp-badge{padding:6px 8px;font-size:10px}.escp-body{padding:10px}.escp-body h3{font-size:15px}.escp-tag{font-size:10px;padding:6px 7px}.escp-desc{display:none}.escp-actions{grid-template-columns:1fr}.escp-gcal,.escp-copy,.escp-share,.escp-view{padding:9px 8px;font-size:11px;border-radius:11px}.escp-empty{margin:0 8px}.escp-modal{padding:75px 8px 18px}.escp-modal-card{border-radius:18px}.escp-modal-head{padding:18px 58px 18px 16px}.escp-modal-head h3{font-size:23px}.escp-modal-close{top:10px;right:10px}}@media(max-width:360px){.escp-grid{grid-template-columns:1fr}.escp-filters{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.escp-wrap,.escp-wrap *{visibility:visible}.escp-wrap{box-shadow:none}.escp-print,.escp-share-page,.escp-filters,.escp-actions{display:none}.escp-wrap{position:absolute;left:0;top:0;width:100%;max-width:100%;margin:0}}

/* v2.0.2 UI polish: cleaner buttons + better phone sizing */
.escp-card{max-width:100%;}
.escp-body h3{font-weight:1000;letter-spacing:-.03em;}
.escp-actions{grid-template-columns:1fr 1fr 1fr;align-items:stretch;}
.escp-actions .escp-view,.escp-actions .escp-gcal,.escp-actions .escp-share{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:16px;font-size:13px;line-height:1.15;white-space:normal;}
.escp-actions .escp-gcal{background:linear-gradient(135deg,var(--escp-red),#ef3b42);box-shadow:0 8px 18px rgba(215,25,32,.18);}
.escp-actions .escp-share{background:linear-gradient(135deg,var(--escp-blue),#153a78);box-shadow:0 8px 18px rgba(7,31,73,.16);}
.escp-actions .escp-view{background:#eef3fb;color:var(--escp-blue)!important;border:1px solid var(--escp-border);}
@media(max-width:760px){
  .escp-wrap{padding-top:0!important;}
  .escp-grid{grid-template-columns:1fr!important;gap:12px!important;padding:0 10px!important;}
  .escp-card{border-radius:18px!important;}
  .escp-date{padding:12px 14px!important;min-height:76px;}
  .escp-day{font-size:30px!important;}
  .escp-month{font-size:12px!important;}
  .escp-badge{font-size:11px!important;padding:7px 10px!important;}
  .escp-body{padding:14px!important;}
  .escp-body h3{font-size:24px!important;line-height:1.05!important;margin-bottom:12px!important;}
  .escp-tags{gap:6px!important;margin-bottom:9px!important;}
  .escp-tag{font-size:11px!important;padding:7px 9px!important;}
  .escp-actions{grid-template-columns:1fr!important;gap:9px!important;margin-top:12px;}
  .escp-actions .escp-view,.escp-actions .escp-gcal,.escp-actions .escp-share{min-height:48px!important;font-size:14px!important;border-radius:14px!important;padding:12px 10px!important;}
  .escp-panel{margin-bottom:10px!important;}
  .escp-count{font-size:14px!important;}
}
@media(min-width:761px){
  .escp-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));}
}

/* v2.0.3 Premium title/header redesign */
.escp-wrap{background:#ffffff!important;}
.escp-hero{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:auto!important;
  background:linear-gradient(135deg,#071f49 0%,#12366f 68%,#d71920 100%)!important;
  border-radius:22px!important;
  padding:24px 26px!important;
  color:#fff!important;
}
.escp-hero:after{width:150px!important;height:150px!important;right:-45px!important;top:-50px!important;background:rgba(255,255,255,.12)!important;}
.escp-kicker{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
}
.escp-hero h2,
.escp-wrap .escp-hero h2{
  color:#fff!important;
  font-size:32px!important;
  font-weight:1000!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  margin:10px 0 8px!important;
  text-shadow:none!important;
}
.escp-hero p,
.escp-wrap .escp-hero p{
  color:rgba(255,255,255,.92)!important;
  font-size:15px!important;
  line-height:1.4!important;
  max-width:620px!important;
}
.escp-hero-actions{position:relative!important;z-index:3!important;display:flex!important;align-items:center!important;gap:10px!important;flex-shrink:0!important;}
.escp-share-page,.escp-print{
  min-height:48px!important;
  border-radius:999px!important;
  padding:12px 18px!important;
  font-size:14px!important;
  line-height:1!important;
}
.escp-share-page{background:#d71920!important;color:#fff!important;box-shadow:0 12px 24px rgba(215,25,32,.24)!important;}
.escp-print{background:#fff!important;color:#071f49!important;box-shadow:0 12px 24px rgba(0,0,0,.12)!important;}

/* Cleaner event popup header */
.escp-modal{z-index:2147483000!important;padding-top:86px!important;}
.escp-modal-card{border-radius:22px!important;overflow:hidden!important;}
.escp-modal-head{
  background:#071f49!important;
  color:#fff!important;
  padding:20px 68px 18px 22px!important;
  min-height:auto!important;
  display:flex!important;
  align-items:center!important;
}
.escp-modal-head h3,
.escp-wrap .escp-modal-head h3{
  color:#fff!important;
  font-size:25px!important;
  line-height:1.12!important;
  font-weight:1000!important;
  letter-spacing:-.025em!important;
  margin:0!important;
}
.escp-modal-close{
  top:50%!important;
  right:16px!important;
  transform:translateY(-50%)!important;
  width:42px!important;
  height:42px!important;
  background:#fff!important;
  color:#d71920!important;
  box-shadow:0 10px 22px rgba(0,0,0,.18)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

@media(max-width:760px){
  .escp-wrap{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:0 0 12px!important;}
  .escp-hero{
    border-radius:0!important;
    padding:14px 14px 15px!important;
    margin:0!important;
    display:block!important;
  }
  .escp-kicker{font-size:9px!important;padding:6px 10px!important;}
  .escp-hero h2,.escp-wrap .escp-hero h2{
    font-size:24px!important;
    line-height:1.05!important;
    margin:8px 0 6px!important;
    color:#fff!important;
  }
  .escp-hero p,.escp-wrap .escp-hero p{font-size:13px!important;line-height:1.35!important;color:#eef4ff!important;}
  .escp-hero-actions{margin-top:12px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;}
  .escp-share-page,.escp-print{width:100%!important;min-height:42px!important;font-size:12px!important;padding:10px!important;}
  .escp-panel{border-top:0!important;box-shadow:none!important;}
  .escp-modal{padding:78px 8px 18px!important;align-items:flex-start!important;}
  .escp-modal-head{padding:16px 58px 16px 16px!important;}
  .escp-modal-head h3,.escp-wrap .escp-modal-head h3{font-size:21px!important;color:#fff!important;}
  .escp-modal-close{right:10px!important;width:40px!important;height:40px!important;font-size:22px!important;}
}

/* v2.1.0 Official weekly detail view - no picture cards, no lost details */
.escp-grid{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;padding:0!important;}
.escp-week-card{background:#fff;border:1px solid #e5eaf2;border-radius:22px;overflow:hidden;box-shadow:0 14px 35px rgba(7,31,73,.09);}
.escp-week-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#071f49,#173d79);color:#fff;padding:16px 18px;}
.escp-week-head strong{display:block;color:#fff;font-size:21px;font-weight:1000;line-height:1.05;}
.escp-week-head span{display:block;color:rgba(255,255,255,.82);font-size:13px;font-weight:900;margin-top:3px;}
.escp-week-head em{font-style:normal;background:#fff;color:#071f49;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:1000;white-space:nowrap;}
.escp-week-list{list-style:none;margin:0;padding:0;}
.escp-line{margin:0;border-bottom:1px solid #eef1f6;}
.escp-line:last-child{border-bottom:0;}
.escp-line button{width:100%;border:0;background:#fff;text-align:left;display:grid;grid-template-columns:118px 1fr auto;gap:12px;align-items:start;padding:15px 18px;cursor:pointer;}
.escp-line button:hover{background:#f8fafd;}
.escp-line-date{font-size:12px;font-weight:1000;color:#071f49;background:#f2f5fa;border:1px solid #e3e8f0;border-radius:999px;padding:7px 9px;text-align:center;white-space:nowrap;}
.escp-line-main b{display:block;font-size:16px;line-height:1.2;color:#071f49;font-weight:1000;}
.escp-line-main small{display:block;font-size:13px;line-height:1.35;color:#5c687a;font-weight:700;margin-top:4px;}
.escp-line-type{font-size:11px;font-weight:1000;color:#fff;background:#071f49;border-radius:999px;padding:7px 9px;white-space:nowrap;}
.escp-line-holiday .escp-line-type,.escp-line-trip .escp-line-type{background:#d71920;}
.escp-line-exams .escp-line-type{background:#111827;}
.escp-line-school-event .escp-line-type{background:#1d4ed8;}
.escp-week-actions{padding:13px 18px;background:#fbfcfe;border-top:1px solid #eef1f6;display:flex;justify-content:flex-end;}
.escp-share-week{border:0;background:#d71920;color:#fff;border-radius:999px;padding:11px 16px;font-weight:1000;cursor:pointer;}
.escp-detail-text{font-size:16px;line-height:1.55;color:#303b4d;font-weight:700;background:#f7f9fc;border:1px solid #e5eaf2;border-radius:16px;padding:14px;margin:8px 0 14px;}
.escp-download::before{content:'⬇ ';}
.escp-upcoming{display:none!important;}
@media(max-width:760px){
  .escp-wrap{padding-top:0!important;}
  .escp-hero{padding:12px 14px!important;}
  .escp-hero h2,.escp-wrap .escp-hero h2{font-size:22px!important;}
  .escp-hero p,.escp-wrap .escp-hero p{font-size:12px!important;}
  .escp-grid{padding:0 8px!important;gap:12px!important;}
  .escp-week-card{border-radius:16px!important;}
  .escp-week-head{padding:13px 12px!important;align-items:flex-start;}
  .escp-week-head strong{font-size:18px!important;}
  .escp-week-head span{font-size:11px!important;}
  .escp-week-head em{font-size:11px!important;padding:7px 9px!important;}
  .escp-line button{grid-template-columns:1fr!important;gap:7px!important;padding:13px 12px!important;}
  .escp-line-date{width:max-content;font-size:11px!important;}
  .escp-line-main b{font-size:15px!important;}
  .escp-line-main small{font-size:12px!important;}
  .escp-line-type{width:max-content;font-size:10px!important;padding:6px 8px!important;}
  .escp-week-actions{padding:11px 12px!important;}
  .escp-share-week{width:100%;padding:12px!important;}
  .escp-count{padding:0 10px!important;}
}
@media print{.escp-week-actions,.escp-hero-actions,.escp-filters{display:none!important}.escp-line button{display:block!important}.escp-line-type{display:inline-block!important;margin-top:5px}}
