  :root{
    --teal: #16B8C4;
    --teal-dark: #0C8A94;
    --teal-light: #8FE9EE;
    --navy: #223A5E;
    --coral: #FF6B4A;
    --bg: #FFF8ED;
    --white: #FFFFFF;
    --gray: #6B7280;
    --sun: #FFC93C;
    --grass: #4CAF6D;
    --purple: #8B5FBF;
  }
  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }
  body {
    font-family: 'Inter', sans-serif;
    background: var(--bg);
    color: var(--navy);
    min-height: 100vh;
    overflow-x: hidden;
    position: relative;
  }
  h1, h2, h3, .display { font-family: 'Baloo 2', sans-serif; }

  /* ---------- BH CORNER ---------- */
  .bh-corner {
    position: fixed; top: 16px; left: 18px; z-index: 50;
    font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 16px;
    color: var(--teal-dark); background: var(--white);
    padding: 6px 14px; border-radius: 8px;
    box-shadow: 0 2px 8px rgba(11,89,96,0.15);
  }

  /* ---------- LOGIN SCREEN ---------- */
  #login-screen {
    display: flex;
    position: fixed; inset: 0; z-index: 40;
    flex-direction: column; align-items: center; justify-content: center;
    background: linear-gradient(to bottom, var(--teal) 0%, #bfe4e6 45%, #ffffff 85%);
    padding: 20px;
    gap: 26px;
  }
  #login-screen.closed { display: none; }

  #camper-login-screen {
    display: flex;
    position: fixed; inset: 0; z-index: 41;
    flex-direction: column; align-items: center; justify-content: center;
    background: rgba(11,42,64,0.55);
    padding: 20px;
  }
  #camper-login-screen.closed { display: none; }

  #staff-auth-screen {
    display: flex;
    position: fixed; inset: 0; z-index: 41;
    flex-direction: column; align-items: center; justify-content: center;
    background: rgba(11,42,64,0.55);
    padding: 20px;
  }
  #staff-auth-screen.closed { display: none; }
  #staff-auth-screen .login-card { position: relative; }

  .auth-tab-bar { display: flex; gap: 8px; margin-bottom: 18px; }
  .auth-tab-btn {
    flex: 1; font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 14px;
    padding: 9px 0; border-radius: 8px; border: 1.5px solid #DDE6E8;
    cursor: pointer; color: var(--navy); background: #F7FAFA;
  }
  .auth-tab-btn.active { background: var(--teal); color: #fff; border-color: var(--teal); }

  .camp-logo {
    display: flex; flex-direction: column; align-items: center;
    filter: drop-shadow(0 8px 18px rgba(11,89,96,0.25));
  }
  .camp-logo img { width: min(70vw, 280px); height: auto; }
  .login-card {
    background: var(--white);
    border-radius: 18px;
    padding: 40px 38px 34px;
    width: min(90vw, 400px);
    text-align: center;
    box-shadow: 0 20px 45px rgba(11,89,96,0.25);
    position: relative;
  }
  .login-card h1 {
    font-size: 26px; margin: 0 0 6px; color: var(--navy); font-weight: 600;
  }
  .login-card p.sub { margin: 0 0 24px; font-weight: 400; color: var(--gray); font-size: 15px; }
  .login-card input {
    width: 100%; padding: 12px 16px; font-size: 15px; font-family: 'Inter', sans-serif;
    border: 1.5px solid #D9E2E4; border-radius: 10px; margin-bottom: 16px; font-weight: 500;
    background: #fff; color: var(--navy);
  }
  .login-card input:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(18,130,140,0.15); }
  .remember-me-row {
    display: none;
    align-items: center;
    gap: 11px;
    margin: 4px 0 16px;
    padding: 11px 13px;
    border: 1px solid #d9e7ed;
    border-radius: 12px;
    background: #f7fbfc;
    color: var(--navy);
    cursor: pointer;
    text-align: left;
  }
  .login-card .remember-me-row input { width: 19px; height: 19px; margin: 0; flex: 0 0 19px; accent-color: var(--teal); box-shadow: none; }
  .remember-me-row span { display: grid; gap: 2px; }
  .remember-me-row strong { font-size: 14px; }
  .remember-me-row small { color: var(--muted); font-size: 12px; font-weight: 500; }
  .auth-error {
    color: var(--coral); font-size: 13px; font-weight: 600; margin: -8px 0 12px;
    min-height: 16px; text-align: left;
  }
  .auth-error.auth-success { color: #278252; }
  .field-help {
    margin: -10px 0 14px;
    color: var(--gray);
    font-size: 11px;
    text-align: left;
  }
  .auth-link-btn {
    display: none;
    width: 100%;
    margin-top: 14px;
    padding: 4px;
    border: 0;
    color: var(--teal-dark);
    background: transparent;
    font: 700 13px 'Inter', sans-serif;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
  }
  .go-btn {
    width: 100%; padding: 13px; font-size: 16px; font-family: 'Baloo 2', sans-serif; font-weight: 700;
    background: var(--coral); color: #fff; border: none;
    border-radius: 14px; cursor: pointer;
    box-shadow: 0 4px 0 #C94D2F;
    transition: background .15s ease, transform .1s ease;
  }
  .go-btn:hover { background: #FF7D5E; }
  .go-btn:active { transform: translateY(3px); box-shadow: 0 1px 0 #C94D2F; }

  /* ---------- MAIN SITE ---------- */
  #main-site { display: block; position: relative; z-index: 1; padding-bottom: 80px; }
  .back-btn {
    position: fixed; bottom: 16px; left: 16px; z-index: 50;
    font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 13px;
    color: var(--teal-dark); background: #fff; border: 1.5px solid #DDE6E8;
    border-radius: 8px; padding: 7px 14px; cursor: pointer;
    box-shadow: 0 2px 8px rgba(11,42,64,0.15);
  }
  .back-btn:hover { border-color: var(--teal-light); }

  .hero {
    text-align: center; padding: 56px 20px 24px;
  }
  #main-site::before {
    content: '';
    position: fixed; inset: 0; z-index: -1;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAIAAACx0UUtAAAQAElEQVR4Acy9B6AlVZX3u/aucOKNfTvQBAkCEsyAighiAgMgoIiKSBREEVBRzIkxoOgwhjFgzgkxoo5ZBzGHUQTJoZuON5x8Ku33q7ugPN+95166DTOv3q8X/7322mvv2rWqTp1z5/PZG2644cYbb7zppptuvfXW22+/fd26devXr7/rrrs2DBwb549N88e8HGI2L3GQav369aS94447brvttltuuYW5brwxnxFx8803My9+piYAtt5zTM8fM4uOeff0PVFbl5h2c2P+aM4frVar3W53Bg6arVaLkLm5udn5Y3CeeUdu5gYOgpX5lE0yKOQBdWIHRtydOU80O8smwJ133sk5cr7sA+cOnDjgpIsAtks3XkdhSci8ZAYm0hPXTWDNGkAMi6GXGDROAojcsmULMQguHWk1OZpNQzMd14V5mZ0lAddCQUOxMGKIVBhIBtIyV7Gj3XuO3r0dGqhR/XuOKIrIxmmyeFbOsqkwJgImtdn84Zzjv87dbZ1z8i87zD2HnT/uaeX/xcG0uTJGBXYBxtzdZUwuFvRuS5OzU4pgbWLVMygG9YJemkUvWuEUzPxBk/9iCwaD6QLtQijaxNLEDoX8QxkajLOYFKFwoRVtqh2MRP99DC4bvQyan6kXCG1iB8da4oBFq0UoxG0XDB9KkURn1f315g/VanGoIIwhWCgEuqBwFqLoGhT0DmXoItVJ/GKhTizQiwWEggY0FhCsgRPBAh7ACewqVsEJBCwDAUNho4ApsIpqMhM/aGkqOBXWkN5zqMZqF1aDt9fqKQyOWuxZ0DvYZF7WAIVTh2M5LyzkNUoEoQsoxmyjWDB8sEkGZgJmBd3ZQev7Pk21hEExBD2UbQkgZjGDJ4tWWC2R2MXgB/xYKARaUQ8W8OhqEYBH82PRCn6NwbIbgFDQCk3ChqIBbBcUGkEw+QctzQIWoNxTommSJIUmjIH/CCwYyKBWBXoZiGFeVlVYBE5gFGcEd5+juvAiAAGI7YUJhlLkIa3OysQKRaloUy1h/xSKeRcIFsm+KOhlYGDRW+ilBH4gXi2CKbQIkiSJ45gm4CcAOEd2AwqhmqZCzFC0d7HVzIO2GI4TmH1wPaqx+IEApRi1jUJXosFoBPZeIQx0RmYHNB5gLFsBWg+IJSF6u2COoWgSJgadTOceailZwgZh+DLNwa4FmoFD0e1YsNRBJ6MGe2kCHiwsJfADAVx1hdIEqlNZMEWxWvak0IXASaqh6CxY0AAEoNUiAA2FQLOAYmEI1obFqRBA8D8Ci2e4WhXoZSCGSXV2LBpw6hB24G9QK9pAQKGJHuQf1wvmLuYqZlShYVhmxMIyQnsJ2HbYiG2BhEUYGmhioRALNE1gu7n2CnUAWqOMAgKAZSucsorFlrChkIQp1CIADUXwYo0HiAQWtsDSpFcpkmyX0MUzBIFV0MugMVjmZQGALtCBbA6gbf4Paf8m5lu2GLCNgsmGMjicuRaj0+FHYIt41VhQJwLQahGAHgpdS7F4nYOR9NJUi4BCLxALmhrJduPHFtWAAO2lC6Gw7EKgB1H/UEuGBTCXeop4mgu0erBAvIKGIvLvEyx78cChzsVhy3jIUEBh5NVJmwGsWFeve4pHwQ/apZ7FNk+09L8F+UnF0wXLCD7fwzAMgqB4shIMTFFMSiRNhS5goMKooZAWiCGY4TzP+BEOODWaQPLBhDQL6AUigXUqZMAJGqZCA0jLD376yx8/+aEBwUCCWR5np7AkmiyJqekCNNDELgW9RKpFALMDs7MqYCKaCr1FJIKcWO1CsIByuVyr1arVaqVSKZVKLGxwSeQkmCQMZPdABRa0SS8zco78PooGMmsvqZgCcA6FyIJiCKMU8gN+YnQ469nu5yWD/4noOtQWaVki0FSL+PvQtNhi+KAunH+3WJBNm1xghaZS5Od0gCYWEAphCLUIpWguFhqwjZbhoMFMui1oMKMUmoVAL4Bi5SahkvSsF/QubpJqsXN5z/9ZjbJZrIwVA6eHBTz4QYVamoAeCl1DIdtQhibBOTRYnfQq2sTSxC6GExmEACKVoYvEqb1qiVeK5lJC/dtiNSET8XwqoLk8Oqo4F5o6VyGKJjWqLChTIofCQPzYAm1ih0LY/1mNMreuSc8NjUc3rhDaxC724Fwe9pecClqhSarthVEwOIqmomnVDnrQGl8skvpQPSjQGqlWh2CL5mJB73bB2jSeufg8xeoylrIawBAGFpdGl1HYQhBGgepzdEEwXctAhgLC0NihsM5/do0OnWdpJxtRoFGsaSjau+2W0y4yowuWylAELBBF/KAfpyYfdOKhSRfoKXC9gcrg/azwLBAE6ygsDG0WfhXEbDusCphUV8JiENpEDIVeJmIULKg8/Dq1CuzfhyZRSwYEdih0/Z/VKBvB9CxLNwIBeICuQRZ7BnuX0qQl4QJwkm27IAPxahEKzaGQn/XohacagOpU1EkvoLGAII/mVKtNtXgWC5zbBUvSJDodMwJ6KbSXKRioBYoAPJoHC0WTc2QIkBAn0Kvx6KUgpoAYNHYopP0/q1EWxMqA88ECHhZUoE21OBFDoWsoJBzK0CQ4hwbj1C61i5u6eLX0AlergOunBYodukicRWbGoguK5mJRxGyLYG2EMVGxKvQyEEYvkwJjAaGQpwCPak4NONPBgUWvxgzaZboGwwb1/2WNsg5WXEBzEHaKJhYQfwdF5kL8HUkWDCGVehCAHrQ0WS1XS9ErhwW6gF4YFOiCBam0Se9igXMbYSwQzLzbCMHAqAKaQyGgKFBOmfyE4VwGDcAWEIzGDoUuG/oB+NbzjDVOJHNZkgKiAL9ixajYdsscQ+F8QLuyLEvTlLdvfmhUj1oCFM5/sQcnBPMHO4UmD79KNpvN2dlZfq3kBzwS8kbPyZOHQoHipBaIpc6IsUyNHYSJAA9dzMvs/MTLb4389EiTuRR6gTBgaqBX0QAsAzkDuogkJwvmFFg8WmEsYaADsWiFIQoxg+DUACzJgRUyhYJWD2Ix5Mep58IPqJwRK8RTLIbkxJAKJ3noJRhLE/DTC0xdwBAoVkgqvdZYNMGM0l7ClGIsvVZdiy1jttG5OGxbPOSHxZHF4rZRkGQB5FQPQtGmWvWoxaNiGcsytJdgYE+5nbDqXGyJVxZ3Le9hFAHYxah/gS2ag2KBXtAsMuOnvIZCTVAxoAWHWB5ykg0WCJqAv4Am8MgANpDNpAsPMCkWCk8hcC5ZowSRBVRg/6n8LVkxBQJY03bB2QIDsQU0l+dv04to5KBnqCZM81Oj7PLQGJzFdnMWNO8V0hYxDAEyAEJBA1qtBtNUUVj1qFWnauxQhhYoTkoTEMDTEUuTMsUORecqLHMVGkGzgCawdWwgO4mma9DSXAwBy9Uo3aCbqJbmPxdNq/ZeM3MCGjMoOFvQ00YoNMmpGosu0AzaRCOw94qGYQuomKXgimqXrlOHLDVF0Usw6MAiA83CiQaamkoFFgY9aDxQCEYpOBVtDrVMTS1SmhQoIGjCYoETillUYEFnUbugyaRMAQi6OH0uFoWrwTgXCGKWrFEGAxGgAgs0/ymQCkhVWARQUkMpulRgYXEkJwzqJ0DRJlabWOYFFVigORS6QLvYQWB/l4cY0L3WgUUGbS5lGTUUUuFXy1gEqMACTRgUqrE6kF6laLKkoRDA2VF8FCUgaOIEBBQCDaRlFlCBBW0iFqMvr1S/ZiaSAuXFlLSg8QvEkjXKYNDTUIH9p0N+cqpFACseCpUH1Bl2EDyKOlVjyQmFQANNplBoItQiloIAYO/YOC4JO8uVY4uxQyFMYYjmZDioXmzpAvzEg45lIhWFLbqIVPAgsICAQaEaCyRRWwiabMVQNA+RxRoIxokH0GoRCl2DgqaizsWWTdPdw7KZZCOeHSgi8aCxgKB3yRplGBBRQBOK5j8oSAWLk2ipLWUp3wVdxUaTDRY08SyAGdWjArs8JNQAtozLxhbzJADEUAgDNlfRsctYFlP06hCGg2q1NBVtYnXIYoF/gZPmdkEGhVFMiqXJIhXV2AINoDko0Ir60YMCTWYKFHQPEcQsxZI1SqIC1lfof7rQ5FiFmtgWqFQN01FLWVY72KVN7AKIWeAZbGovO0iNspvAzrLLQyGsYDDJvWpGEYNdDH6FrgVCm1jtUkuzQD1qcarADl08Tk4WiCxY0Cz8QwWZB/1FsxCD2dhJhf1kFDGgAgvatOx7AUsEOoAI0vHc4hc74I1BywKBky4iFY1EM0rBoxCmHrWFU/0MYWrWh0Xj1Cm0+NBpmmKZDoqxRS9O0ABWyK+h/LLI8vCQCg+9CDJrfjIwll4s0MWq6AXdqaGWRya/EfJLIfDxRCrykIRRQyGGIVjOi4RMwVysRGEgTaYG8gDBGoYH8JAWDxYYjgc/oxhLEhYAdIH2agAxCMBJFzFAHgbixIMGemniLGCggh8YRTCCAPxoToRFIoDhQG8BYUCkWoR2IRRtYhkICPwEK3jYK3ZY/XSBdmE5ZfxLPkcZTPcC1IkFugZt0RwqcC4PKxsMKJqFYMUFLL3QiMEm8UqRbUGz8G+70NMkHgEqsMtAmLI4RtczaBfEMHCBZ0GTsXiwoEItzcXQNciC5EWzEIPB96qZ7l5j/vGAJWu0SM3qYUETzwI0AKeKe7XF6Q0KtMLwBYJC5CmCHQQPD04sFH6qFnQlmqSwpN1eNA8WdGwhtDnUEjP41GEBGoYAlgcsGKvQWwxBLwPD6VWrAr0MxCyAiQCn2kGBXgZmGexd0Bzs+ufq5WqUcwCdDwHoYutpgjbV0gs41apALwUnCfSqRQB6KHpFsYNwgYvqREMxVlPhKcDzd8BZDGX5VAxhTxS0Bhdr0yVxIrp4mgQQBgzBAp6hFEkKQVihFwtSKYQhsEqhB0WhNWbQkpkmtoDm/wIsackapU9XgIBBzT4W0KUQMChoAh7sUDhV9avAAh7sULiQQJdaFWjgYmOB4cCkCpowegFBEz92u2DIUJZKwkTE6/7wbofWSPwILOsElgRFjeInklFYIHIpiByEMG2ScygEKJoWqyx2qmcZy0SDvTRh0PMv0kvWKPMtOBmahRNdwM4CXQp+BBYQy8AZAgFqVaCVxU08sCBtEax+LIsBImHwshGJZ3sh4VCWz8MQCpRlAJE6NVZhVRRoAU1igFHEY9FLoRm23ZJNISECq6ABrVZFoWkugBnxYAto/i/AkpasUfoWrwDn8ugQYhYIbS5jOfPBXpoF6teLR+YC9dCLR0SweLQysHLPH+IH8xCDf3thFDAKCyqwy0DYIIORVKSiNYrWFRLP+rHK4JAFWuMHLQGDzUFNl0JahFqEUjQLof5ttEy0jZH/SNiSNVokZfWwoImnoOhC4MRuC8XpLRA0YTADTSDzUhCsXXqNsYBTYSyo/jssmXXUYqH+xZbIggW9uhJsgdYoYQzB3isMXByDcykWBy+eaLFn8Sg8TIEtWNAs/P90YZMsLUhdBpk4wOmMWN8LdidBEwAAEABJREFUSmFYLpUqZSzaC3ycdBEJRIo1eBagYbnTWrZAkYGDR529p4uzVbIsQ2gUQ4jhJz1+n+MnNBXYQehScBJMQmAgGWiC+mkmSdLtdlutFgtm2QrnWKCexZYkQFqSsLYsy0gFzDIUwkC7GFXAU5PhdJEBjWVt/C5YrVb59ZEp6MUPdKGXglHkJD9h/KbBT8KcF9BkLAsDNAFEsm/sD8lpFgnReFgJqJP4ApzLo0PUMopgEgKrUtCAfygsklEEEIwlhiZrxg9oPPhZIesHxJLPUeKIVga1epaxi4PxAEPUIpZBY7CgYYWgqVotTYVmAZ5CD4rCzy4AW6wedirfhXvulsEhqgmGIh4nQ4Dhy0C8UsQwULWKwiKALuKxgACcQ6FLY7AKYSqWtwyEIoZRQykCVBRDVGAV9gTQ2AXg1LFDLVsHTE0vkUBpgiahCXQphEH+v+2IdzEE0Q0IZVCrZ9DSC4s9OAF/YRGAZyh0gXYhAI1VBrV69IRVY7W5wNJUCNDt4Hw1FX5qlPuVrqEUt/iCIQxfCiJBNx2L1kjNj0YUFlFApMZjiRkKMQqjhgbgpAsQoMFYPIBQOPGhEAPEFBah4FRYnqKbiV2MDllsmZRVqZ9sgwM1JxY/AYQpy9UocUDcAktzKYpgFYSpwA6CfxkGI4dqxhZ+znkx9FJ5+NUiCvT8yQDqJAYYMhS2DBgFDCFGR6GXgSFKMYqBS6F5iGQIlsuGUOdiSxfgJxKrOVkSukCd2iRsKNq72GowfgQWELAgJ2tQdLVq1YOlyZChkFDRXg0mHqGof9AuWaOsiVyLLc6hEAl0qVWBXgoChrJUPH7isYvhCg2FylM/AtCe5zF8QR5t0juUYrMIQ6tVgV6M5idAdxyrMfiXQWOKUYPXjAwLIAx0iOZk5TRVY9GAAI3EbiMMBIKxUAjdQCYiJ2gXvcqCJk48y0PMIEUwTs6XHShY8n2UMbqUxZaupRgMLmJwDoKfJnYodC2GyMVOPPjZtUFwwqCn2Fx10gTVDFfYF0YNRSPp0ki2T9HmUEs20DAEEEaGBagTqxAGOgrLO8ZQNAbLKE3IClXgUQabRA5CgDaZYijaSxig1SJ4HVKK3dNZsMQo6AKGDIXK03m1l4E6RNPSxE8AYZw+XwoR9/IcZQyQBbuNaDAWGIJVVKvFgxiKdmFBAxCAxsICUVwhuoAmFEL1YJON1u3ASapiR2gOZWgw28fYZWCXFfITppkRgFaLKMADBOsoLNdmKMQUMARIwmkiFkMXTuLVIhSaQ5PjpEshEqEWwb4BuwFMp5AfVGPRCpohQ2EKdo8T1MzEEwxFWkbRSxgFCgQvWaOEAimw28LQyEGnaiwsn7AIQADBWEDAoFCNLdCAorlYFNtBF8HsFDsCNIdCvDIYTDzNoZBE/WRWtImlC1RgF1AEq2CKodA7OFATqgetFE2ExqsdbA5NjpMYKOLRCptQlBFaJyqENgetjlpsKT5mAZ2CISQpoMkQuggDChSb///7BpdCdwFZlAVdNPFjB1FPMZaZCgononCypgW/22kvfgSZsYpqLMtlFsBPGPvFbQ10AU6S48cDJEeDhtHkl0J+hgR+ksTSpIsABjIc2AtNjp/eSqVSq9Xq8wcaD2mJpxcBGs8QxgICcDYaDX6F5QdLngF4dFWMYg0MZzosWpeBYAiQga4imHjGDoUuIBIYRQzDAQF4AMHsrKHdbrNUZiQ5MVEU9Xo9nKyQALZUoauA4QpJtJdIYCAgiCQba2DxClPQZBZgVUAAScigMEQhIZFAJBAJBINGMgqNk17CAE/+AzveBRC0wHOvTXINZamBBGuXCrXqGZy90CrUEqYCy2ksD2dLGEOYAhAKzkGKJMRD0UUwGguDgk1nx4HLVkCTsHulyFNEDi6scC4lFgSTDYr1LxCD156ERHJ2gCYPDAo0pwCcHV2EkU0LEY+mwtJF5D8Xzal2Qea/fWdi9fRhAfG/AAsCJlKLAJ1dLU2F5lJwEw+FJx+bSxe7zF5rngUTkZMuhUggWC1C/TqQSBWF5ZpxLalOHk78sQerEDkUnZou0mKBVOpEgGq1NJdiMIAkBaQdCotkqUVhEU8YZ0eeoWgw8UAAy1BLHtBePAq9/3TIrDkLcXeNsnQ61CL+T2BNUEzNYoBmYdlcNBZUYCmpoVCgoF1cEh1CPAkBATiBXlgQjJ8AjcRC0RwULJhrCcXFI3IoROJnLBTJcSp0AVqtCvRi6FLo0lRkA5pDYW0KowhgCBCPEw8sEMTgBPwUJTchcPvhWQCR/1zIrwkRgFabf9azaNpqVRSa5jZCun8QnYipQTVWNVZhc1WopUl5bQtarFgWSVogA8NhwXA8dBFQQBNoqlWhNc1YdWKXh1FADPkBQbOgWFUhiq4FggBQJ0mAbKCexZZgwK8WAWigCkEFFmhyswEC8BCsMAUwHaiHXlD9j1tNhQXNVoiFz9FiBRr3v2lZE+iMLAMKjSg2CD9aQS+DxlBGlCZQVUAqKEbRq6iHLoWVKNrEEqBWBakYyBTa1C6aiKGQDT/BxGCBJk5FNRYKD3oxC0qHPCQEFjMUuoAwUpGZ4QpaoYlQi9ACRTCKTeOVia+M1WoVwSnjwU82AoBRpP1nQUJNhQC02r89R3EprABUb7sl3d8B+RlVWAQUsyMADyCGQtdSkFmHcPHYXLYYimC6dLuxUPgZBey+Qhho76BAQxGJUDRysaUXJ0OA6bA01VmIoolnGQgDMhSQkBoaCl2gkYzipKhCPsTRQyEJv3sAvzwMgh/YQHZSEzKcbMusc7u6yEa8WgQU+u7nKC5OA/t/QrEaZh+6DHViFcIUmioW2yInMUCZAvu7IJIuYNPVzyhg67GAUD8xKgYtAUAMcOGxMBgwVA9NVUSSsNBDxYIAsilUz1A4NSBGs7FChTygThVY4JHJgxMoU4qSHdOxCGAPi2wEg2b4J9rFOW1xYkwPugKWhQAEYzgrrgE3H+CBBWvCo2MZAjQLrBil+B/41P/hzySKsyRFe8b+P//rp1n+f0LKpINkAwd+ZjfG2KX/D+roJWYQRilsPUtF61cBzogwUmGBgUBT0UiCgV6gV0GDMYYN5IoClxAPkUMhofayk5wNSYinCBB0wQIxmISBBeqnyRCm5nSoKn7KZalDGR8fHxkZIYCHIvFMykDm4sRJhWYUTnonJibWrFlDQlaFhy5mIUZhzYBmLF0EEEZwp9NhJ/ETzKkBgpzkRwMCiFEYrhAG5NRedarFr5CWXqsNLN2FRdBdWEQBftDmoBjURW/hVA+28DDdUIj5l6KTDk5RLGnQuV36H8nA5eSSLwY/qF8XwywKTfVjOR2cXGmcQ9EuwsgGDNEwFYyliaaLGG3iWR4ii4BCMxYKP4LmAnBStcCqgF48xexoBf8gljkUuhFqVRBHU1GNBTxYGBSDmi5QDxYWNPH8X8GpFRRr0OUVzW0RDCkgflDT3HYoDoUn06DQZx5OLiELJqFOgcBDpAag8XPV8Q+FLgIIIxUwEE0klrR0YfGTDQ91Q9cyEKy9CwR5gC4sSRTVWEWdPE15NIIujDwsiQUwFo1VdIjau2uUDiIGwaNonGq16tkWS7yGqcBC4UH/6xg8l0HNlVBwMrsuBoveLhiyXSyVnCuksCoVarlsoJouVgskwdKkS0Hj5PJjh0IX6ySMVAzBokmCwDKEJn6gSSSeodALdKlVgWY4WmdBAJoSJBVCLQJU00WZAoIyJZ4MLAZLNsBDJDBEubtG6VsAQQpjQPVQW/QWYjAMJ+DBQiEWTFc0ifmXwl4A0zGLWpYENLcLhgxlu5IQzBqAJYEKLHDZFPyDUEyFX4cXFrEYUikk0YFYkhCJX500EYAH/zJoABY0jFEItoJ6wgKC+sMuA9WpEMNwsiloMgD+giVrlGiFAaAai1YGtXoKu7gLDxCgVgX6X4ee82LLnip06ewshu1Qve2WUQtg7ALPYJPeZSBSewuhTRbJaqkqoJKAD2UsTg3AogExFLpIQpdmpslwktBEI2giNAZB5FA0gK5BgWYIlmxAL7CZ1B8WD1ZRjSUAi5MYQAAekigagAe/cvd3pqK7EARpNFYpPIgCugqNWNBUD05QrZamTrTY0vUvZXBGJmI9gPg7YCAwcNDSHMaSPsYOhcuDn2EsmDqgkoCS4ts0Aie9CpoKJnIodDGcSE1IMMPJQ1M1TQYSQBPQS1H0FoJI1WQjA+BBDxYfTsCpVuNV4yQSEOpnuEIA4Mfe/RzVjiKuEOrHElpYBCz2LOUs/Ij/P7DU2W3X2vT0GaICq+DZLnTUMpbVUmRAtSloptAhCAIAMRS6gC7iueQIhlOXNPGTkCZOmth7hSEas1hoBrU6EXoBjGU6HUsXYaCCLvUj8Axi+YmLW5Mbi+USRB91DQjGKzQRannVANU4F8AEJCEVsBFAnqHoQLoYwrqLeIbjUYsgQEEzhHl1dpzEMAo7FOKHwkD8LIyzxqJ5f+/1eoihED+UbrfLQKbWNTCWsyAhFvDj0YEsG9SJB40lgGDWgB9IAngWg38QBiqMUsFEMKhpMoWi24WHJCRnFH62kam1idWrz8IIJnIojFKKXp2RtEASMtNFEiAyiiL2h4Q08Wswtt/v42cBxNCFZvP5kTWaP2gyhF6gF/D87bOeRAqJVKglFxANjIRCFBoPMcRjQZtqcRbQVehBoX61g/5BvXzvYOTyevDs0KDx7B27xI6wR8XKi16NGbRcEq4NFhCAgCKGsVA0VfyzzkKz/VPsP7gk9gq0EhBkU4tgeewAIGgSw94iQD1YoAnsfAFhCkPgb5/1mkstIxGAYDwwMTAAvRi6BiMJwANFPL0F9CqFB4EHe69sY9jyefS8ihhtUqAKu8OyWTxzLQNPDuoSCwhQodnU6hSqNZV6/v9gB1fF2nRJ6lS9jbbYqCKeJMDtilUn+QljVwE9FC1QNl8hUiHP3c9RzVUkLYT6SYpQq1cCC1wYQABDFI1kTQpNYCyowCp4FG1iaWKXQnuxylJh2+IvlqrBNHVHWDN7pPulVudabPXEsQo7gMCSkGxYRbVa9ZAKgVXQQ2HIUIYG/x1OkjOKNXDKgKCpTsS2k9eQvft/sZ7T57VB4V0CQUI2li3F6hRY0BnV0gS0gtbZGQu8i+Y1ioLBDtVY/Paeg2sAjOFvu1goBJouDWQIA4HJCmgCTbUIQCtoRZtDLQEL/Is9CwKWahYrRICGsXg0OYENZVt5rPICQHMoGo9dgGYjlUITgS2SqMYO5X/NWayKytC1/X1Tc90pTaAigdKkGKA6/3/Ox+aQnP1kFmYkGIEHVGCBJr1APDFAQgWdf9br4ohQoZZhKhhGtE6vK1DLOgqBJgbICAwBEoImwWpCtTQBraAVmiqGWnoHIYYm9u+AhYEORAxCTmDjFPRQGMsoLBRC9YKmOrEK2RBYBf1/gi5S18CZIliGOhHbDkO41lx0BU0ZFNVChdCkCz85mQV0unjeukIAABAASURBVAVC8xAGxDMKyENY/hxlMBGDliZ9gGAM0UxGIfLgZHwB/kE92GQUMJy05AEV2MXQqyzuKjwEFFrFYo/6t92yPNB4vdfZPpo4WbyeGrMsD/GDATQVkoDqwhKJVotYBsYOZZkhf0cXK+GUscBwZsRuL4MZBseygdQMD1T9PwpjCj6dsMujGViJwoXIa5SGdmALTSJt5kE2f+GgBKlrAoAuRTXWzh8sa/6/+eNZhebR4MLihKL5/wdBjYKuipVzInq+S62NSKAXq6jGAhuCVQpNmHr+/2ZZGPx9q2LTqFG1RRIETk6cguG5BmwmTl7xdRY0oLGAIB7QahE4sWTIi4kGkFHhCgFJeXaSnfugXq9j0dwWjFEI4EISCQzE4gFGEUAXOfP5jDgj2fz/pik2dVmSpVixBoouPPjjNGFZsuh/ghknU2DZC84zSZIsy5hRnfgZouBRtLnYMpTpjeGuC3w/tNY3xnPOlEqVICihs0w0hjA0JzKUIjPTsRKN4fR1i/AQoAsjgF4WjAcNCE6E911+GsQWZ4SfSJKwgQQUQ/DTJGzx+zExzALEAMkVFqDgVIghmK0jD5MyERBD72AXTdAkQy29Gk82VkUGFhyGIVa76MWpmhg0lTMyMjI6Oorl1Ahml3i4Qu2e/xED/EASLCAAkWcgI5BRYVkILKmxCp57hUhi1CIK1KNWnarVqqew6mQ9gFMtYiisvvAXkYUouhaIe6YQImFBL00NQPzvwBoUTmeQBbP/3avS60g2Tc5caJzYApwKMZQdUMpYwKMUASp07LavisgFkAEPVmFJoLcNooCY/H9LR4OwtIFutQhAKwSwPuxSaNgCSzAetQhQjVUKjwqmALoKiwA8ShGme6dObBFTCJxLQQyQAQtFmCYvrIqi9x8RpBoKayigJigO4FGHk4UpOi/DuRyqZZv/wxAGko3kQEI8lIImoKkQoDD1IDxxtckjn6c4ayOJjiUtqF5sF3TR1HmZGqHgBB2LfxAeotokIK9RXSUNRcdrhGr8mmgZSwwQgN0WiAQiC4sAFqMWUaAeLPGA0A1lyzQGD6CxUAj0UHS4WgLIqaD/RWj+xZbpWK2uhMsPnBTgVAgABnItsOjthVGk0ikQNElVJMED9DI1UJRAXWKhEBQoWhfGWJJg7xUyA2HEU1FF5bEAPEAXEEPvIAQUzbtrlDhgDH1qiUADTYWAZdCYQUvwYHOo1hgsaADLHQoBgxDDhrJl6qQJaLWIpWAWYoDhXBjEYCS9Cxjs/Uf0grRFk5xoLCsBlqQLQwAeughQuBw0/ymQkDzkByZiUoUtBS3HQaG9BDOKsQp6KQjQrmIIFTVYo5xLEUOkNvGowII2765RTUTo3V7LVwpy5tj5/6dtdC0PAwnAQiHQBQucNIFetSrQwGIGKTwIwgBBQLFraDygAgs0l4GrUqDBpIVlhvyDXSQfClvMDgO9xRQsieVhFfz0AmHo7YUkOpbhCJokL5JoE4/up1ptYkE9xDOWDLpgNB7GYpeBACCAeAZqjQ4mwU8vaNhiQfDdNUofMABy7z3/aCr0QpEIvQANw+LHKqrV4ikEWsFToB6mUPAj1KpAA2FYPLp9aKCJhUKgl4EwhgOCMM2JANVYoPmv5p6dvvu/xXQsTFEPi1G0ue1Wz5HslAiQBA9lV2TQWXAqNOnCLoCxBQT8HbCGApahFHkWTFc08yE0irhC6PjC4kdjl0djsKCRKtTiKQS6YKiTXl0YFoomQsEJbKs2sTSx20IRWYhilC5GLc5CoP9BSDWU/BrM/1vQy3TF8uiiqRaxXbBFmmd+EqtJcGoS7SpsIbR30OpwynTQqfGDnuU1SViAWsRgMKmGQli+aP5TRGsc56BOBC8loHce2YvIBYIA0OFFF02GAOfGcx74xYufxwCh0AXEMCMgFHWiVdClackJqnHq903e7nWRdAG9dAGCpp4F71jQaDTa7TbfAFgtvaABWDRDmBFLk4SkJT+jyICTLmLQdCGAMMBDNpxAPKNo0ks8MFA1J6KwDwo7oGKx5RdEdonhJCetgibV9iBkZlLyACvBKt35g6VydqyWzPQC8Vg8zIglmF8x+V2THzJZElMTqaDJjF0KxhJANuJJpQkRgId9o0tjCCuS4FToAoLzGqUbLxZUqKW57TAENJ4VAIsA9dyrLcZqZNEshCakFw+nxNXlErJrNHECcxHDKQHbQRUC1wC4DHjUT/xQGD4UtknjmQJU40QrjFKxvGUgAVgYFGil8A820eofFOiCorfwLCVYJ+gWYalF4ESAJEAv0IXVJDjZagKw6vn7bJFQhxfNxUIDFti//S2UBRVoECkUbWK1OdRyJgwnhpMcBOdSEAz0YgEBKrCgTQRofqxCFwKrc2n9UYvUJU+yQahRoEaBYEYNZehJ4WRqQBTQZF6yKTo1WgVTDEUnZSCg1apAg6ZVq010wQKPNtUWMcsL1s/CWCSwWqZWSAI6lhh6CaNJL6UJlDIWz/ZCtmKIaiyoc7FQ/2KbP0dZYgERqhEFpFMKz2LBKGI4PU4SEIBncWThYQjQVIuAQg8KNDsFbByazExBRQIaaLLvNBUtSpx0AWmBgcB2D4WuoTCcPEVyNB5gJQqjBsXQ5DiLMA3G4ikolrfYo11YWNCLB9SJWB6uBRCDBc4IitPBQxepCsGa2XBAsFp6twvNgwUdWAiahS4EzqXIa5Q+FrcABiv0FuAp9ALBZQPOGRBEkpBzwy6FZqAXgQWEohoL6iFhgXrU8qG/ALYVD3Yo7Ph2wblwRlzOApo4uQ0U7goVaukdim4FdgGc4FLoCdKLwAJCKXQh1L+MJVLR0x88Hd3YYixhLFLDEDSLru0SpNV4BKCxSqEHBXooeY2yiMUU0ZpULU4Vi+3gOXMJieT0OE/EUuik9CKwgFBUY0E95GRSmpqWKtT30fL8wXs9VKtVXu3r8wdu3laJAS1WFgMMHwpdQyGYBTAvCwBdA54CugqNIP5eGQxDD6VIqwKraHChVSxjWTAQwKo4QfYN2BO0gp+cBBAG6mTHVGgXvdsLqRiCBQQUYlAPOvEP5W81qt2sSRk6eKhTBw7WKGEk4STZDsRQdFRhiSk0omgWgm0digYTxnSDEMzsoE4CgIVxSYbCVVkGTYIlhpwwfyPU+cI7es8xNn+ML3EwO/NiYVCwfsAJCwRNUL+KQmsTe69wXxUxrJ+Vc+sC6+d+5sZmozzPIzObQzAxnCMWcDIWJ58MiO2FhDqkEAuahb8QGrDA5t+Z1MWCQHVhlx9chCE4DeB8gFGk4koAXUMhQP0LhJGswJr5/9s9yYisVqvlSqVULnthaIPAeV5mbWxM20krc/3M9DPJnDhC+Qfk5S9k1oo1+IQkLhWXGuPEmL9h8yZOz+NPawvxrQ39oOT5Jc8qoTWBx0X0nUh6D/PzGufmyZ048l5iCsR4TixW5s+KGYFV4QIj+VnP92TzC8R4qfFSyUcx0MwPMy4fZJwYY2T+cJKfcr4SYzg3cJL3/806kzk8eZhjiDGcpB8EbGa+peUyNep7hqltlros8a3HVVOMyWfhamZZxtB/BJIwHAsIWCxwDkUXM8TyWcnqwfM8w844x0KpQl6/eGQisLyB8Stbs9mcm5vDj5M5NJdzTgNwDoVI0hYQT36X7xE7GnVac2ncazfmxsZGx8dHa7VKJo59ikWgL9IVaYu0RHqe7Xq270liJeFSU6ZO0jSv1+nZLhdPjLWe8X1jJQ5CIxSlFbHSjfrYzGTYXtRNXSpGzDydVs+IxP1URLgVPI9rGoaZCwLf8/NEjt4B8nmNWCPMkUiaSNZ1UTIfEIk0+glrFs9kRDC1sXOtOQopM0nmYstN5DLPs56IjSM/n8wT44knzorzJLUiRvIS4/yBhjOtRhtPmuV3Asm7GavPNSvWxVDyzgh4vhUrrKbbz2J2Ru4OI7LPdL7PjV8J/NFSqep7QZZZyay1nU7H8zxEGIZZlnmeJ/cc7p4DP5h7Dvppcq257hQDlkCc9GPx82ML1YIfaGovXcwCeIAM6mcU4M8D+LddMFLjEaB6gdVpFjiHNolUSAWsidshjnoTY6MrVqxYu9Padps6tH5Q6idCaXLJOyJzqcw5QeDZlMkMdSB5yeLpOOlm0jcSG6mMV9qZMKSbJFSVDbxms+HEo3qavSgol2a7vVT8ZhR75VpqPSJnulGr70oj5dRI6jyXiXCNWXoUScZlFSqkH8WUBTA7twogGKs2Fa8R9Z0JE5GtnT5+v+RPdxy9LGk2knYq1ZGJSPxOkiXWRJSP70mSSBKbUon8nW7P+ZaBDAHy94xwEzI9yxGRZqtTH6lFWV6+nVRYiSOPCMHFKAR+1oDAOl9sybIAmoCHbF4QNprtNEmCSiWoVmsTE2MjI+SnUEqlEhXDpUHzqYHg6gyFrgICrLUUNFhrSUUS6jWaPxBATAEBhUYwBAv4C1hAnqhob6NYkGWwyXI1SSG0OdRqjFoCWCJwzVbusKNYb9OWLdhqfbTZjym1zDdsK/s+3ZPfXX/H5Z/+2qnnvfaQY056/FOedvBjnrTfQY/Z68GPOeCwp514+kWve9cnPvylH/z+lpmeSGO+RsUP26mba3brIysiJ04kLId3bG788Ybbrv7jDdev3/qrG9f/5H9u+umfbv7jrRt+f8udf7hp0y2buq4iLULZIefE96VWEc9Su1Iq3THT/MX1d/7irxuv+evWn1+/5ZrrNlx97R1XX3v7L/584+Z2txzWKIK7ZrubW/FPfn/D935zw22z7R/+4barr1v/P7ff9Zub7vjDretv2LjF+ZW+lHg4i7FR5jo8f61JjPGq1c3d+Bd/Xferv2665obpX1y/9ZrrNv782jt/ft0dv/rLLXNdqY5VI6rWyRxV6cmfb9388z/fevWfb/v5n2/Dwn//6bar/3Trz+B/bv3R72786R9vuuba2+CXf7ntj7dt2NBOGQeb271gpMbmiPhivH6zFYyMGN9L05Qi47rwwKO6uChcHbPEQQ0pxBQwhOHkoSh7vV6328WSioRFGoILjWAIFvAXkITktmhvlyhyqcCSDkiiVkWhaQ6FAKCLDKySezDgWSK2XK+vXL02FT/mgyooOSuRyI9/f8P5b7j0cceccNxzTn37+z7427/c2M682ShLw5Haqp1HdtwlKtV+d/NtH7/y62+47N2HPvW4A5/0zE9e+c1b5jpb49R4Yak23o54ckkqcsPtW4498eRnn/GCJ51w0tNOecGTn3nac1500fGnvvDEs8475uTnPe74E1/0mtf/6oYtWSBUQzdNJfSd58fGdMTwYLv0/R98+imnHX/qacefcurTTj3t2FPPOO60M2k+/ZQzHveEoyjQTOToE5590KGPPfns886+8FWHHn38yS96ydPPPOeEM19w1EmnHnHCcy547b/993W3ESmexfql0KtUOMdO5vjgeNcHLz/h1NOPO/304087/fgzzjj29DOPO/Pt7xACAAAQAElEQVSsY89kltMf8djH3njbFiLFF78k7//MNx53zPHPO//lzzzj+c8445xnnPFCOPGMc0444wXPOOMFJ5z5gueee/6zzj73hDOe/7TTznzqyacedeJzjjrxpGNPO/e7v/hDuVZm6kaU9TJptDql8UkxtlyqckWoKs/zKCkuDdbc20EYxURREgyUY7/fpy7JA/35//0cAshMJBSi0DoDTaCXYCAhbHeNFrkGBXkVsiOwgADEUOiCootsbAofK5VabXZuTsRLxTb6+acqr0jf/Omvn3zS2Re8+vVf/8F/zyZ2Yqc9RnfcrRfWNjb6pbEd0tJoI/WmY2/Ohr36WDa5MptavctDDtyYZv/23vc/7rinX/7ZL26llPn08UIKtJPIr37/pzs2bU2DkTV73r8TjlZ33Gs6K7vJtfHoqvKaXUd22eO///zXCy9+C28RPLmlFEbCh69tsW3Gu+xjn/zU175pRift6KQbm8oZx65w41NmdEVYn/zEp7756St+ON2M9tj/oa46mtRGw5VrZ2yYTazu1SbCVTuN77LXL6+/9WVvuoTzTEQ6XT7vPbFhO3PO+u//1Gff84lPm9FJGcvzZ+NT6cRUOr4C68ZXtDL3o6uv4R6IRa67s/WGS945unqXja2eGV1pRlfJWI4bWwMyukZGV0XV8aQ+wSK9FWvt+JpOUF/X6l+3fvMLX/aa3R5y6Pd/9Scb2tiT8mjdGZmeafhhwIVoNpucK1cHTYX97Urh+n+x1nLt8FFMPDUJpiih3W53Oh3KlHqlaslGEiIRQyGDor1kYxQgLCP/DphMR6nAMoF6BkWhtWuBpVfBTwbO1vPYoLBSH4/Frt8645eC27a23/upKy58/cXXr9u4qRfHYTUt15uZnemlPESlXJ/tJq2+dFK/a8OuX2l64VZnZuL4pi0z7cy4+njXBm+77D3PfO7pN9652XrCe63nydodd6yPrwhqI2lYi/3aFn4UGF/ZNKU5F25NzKZu0vNKN9618Y835k8sLl4k+bc0Z4O2yGUf/KipjqaValIeyao11pOUq0mlhnWl6sxs58EPOvDAgw4Oy7X1m7f2jZ+ElV5YCiZXNJ1tijeT2o3dqGsrt26a+/1ft3LPmCB0kj/dUxvwkH7vRz7pyvWkXElK9bhc6Zeq2KhcjcJyXC61er0HPOTBjNrSltpEXYJKO82CkcnYL0dBJfLnQQRMmtP2Sh2/0vbK2KQ64kYnkspYx4b+5Mry1JoXvOyVl3zgk1T8bF+asYxOjrOSMAy5IpQpV4TrQtFQKEtR9FJPlCM1Sl1So1iaOLnEZAMEwXgWp8JJl/rRQLkr6O2uURbNfIAAFVhgEVgohGqai6ELCj+p2BHre5lY4/ns2viKidun26+4+M2ve/u7qD8uQFKuZ5V61wvaqesnWWYDqYx41VGvNmZrY65MtZUSG0oQSqks1Xplp527/Z6tjqzddc8bblv36c9dwRfbii9lIw9+0J577733XZs337Vpi5QrplyPTSjGK61Y5Sq1vlh/ZLxnvTdd8vZGkr+/8mnIkhKRz135nUYvnVy9c35XZIYHYIxNTS813cz2U7f/vvvtv8+qHaZKe+21F7/ljExM9l2WxGns+ZKmtZVrgtHJXj+ztfE0qL7pre+Y7UnoCz8hOBEuxue/9l9bGt1VO+/eim0nzqI4SxMXx64fZ3zZwvOQAx663947ishETe5cv9WvlNgHr1xJbRh7Qez7kR9G3j34oa2NSm0kDsu8W7dS7jS/Y8OWBBvbfamNbe5El77vQ//+0S8EJTGBzHSixAk/6YyOjm7atMn3/YRvVEGAzZY4KEpqEeI4Jgy01Ajn4hpjrLVYNF2E0YtQiwC0whAVOMmm4GRbON/tgymXGsBStKsQ2lzGFpGkdcbyRJvrZT2R9c3k6Sef/t+/++PUzruy6a3U8B22a7wsKNlKXaojeS3yY0qX6+8YKPmvNU7027cXyNxst9mU+mjfuUanMzYxuW79Xb6RJBa+nJQ9eeHZZ46PjU5NrWhu2RxnmRiRkfF2sxlNT4+sWpX6ppdlN99+x2wj4aGVzZ9AK5F3vff9e+33wE0zPMpDl5d1SbhVuLwmMMZ6Yl710peGTsbK8uIXnTs5Pj49vaWfRFKrCqVeq7a77Xhu1p+kcPlN1916x12337HVkdzkz1Fmed8HPrJ2593u2jQT874pgTCF84RTo+mEvXrlyy/kFHAlIuPjo1xIL+CbnIklS5yjwlIn2IJes9mPk5QNKVWkXGXfuJnTsMxZ8eitTq4cXbP2Q5/47JU//GUsElbDXp+fw+x4vvJpz/PIXyqVKB1qZSiUHRBGYRHACiE/IS4nO2LzA4mTAMI0lVriQTUBaKAJhcBvtY2LBpAOSEw6koIG0AXMTSQgCvDDgiYewgbBA4NhTMEu8KcaPhr4g0cQBHmvlbBs2yJPP+m5G+fapdGpnvPToFIam/TKNRenztms1ZRms1yrSRyJEclSkyYGQR2kiVBwvpVqWTxPjBkbG2u1WjPTc8ccfbQnUvWlaqXf7B92wH0f9qD9k24jrJYtP+DwC2PEJ20m4yPNVovHdFAuOeNd+u+XUZrk64v84Me/dhLefscG3yszj7Gh+IG0OqUglE4nabSe8vgnPHS/lRJRXPLAfVfd/3571Ete2VA1XUmpojRfcLWSRBE77AW+ePYjn/j0XEeMzWv0W9//baeXbtnarI9OirNeeUTyVxNfLE80X7ZsPeKwRx2w9y6jgRiRsohLeuRIkyhLozRNXZoKSGoD65d8MZn0u1KusCGuy6mJUJiZ8cKKKdWkXJ/pRi6sZTQr9Ve8/uK/rGtwk3hhwFXgWhx88MFXXHEFV2d2dpbkXCygHJX+PYde4uLKGmPyU/M8BHnoZSygOQfSqp947SInkJMaALLS1KojBmj+7TlKu4DxzDQU5gCNJKyARWwXrIYkrIAFVatVz6N+hD3ipyWq4dlnvLQRi62N9pydbXZNpd7nt0yupOOhk02s3aE2Od6fm5E0CVxS90xJUtNtSb/NVZeQk8r8sRFxqSfZljvuKFn7ygtf+qhHPMRlYoXfzrtTI6V2Kz7/nDP6rdmKj6cnjucIT8xECOLqzp9MZsx//ehncy1JRCiLL1zxtW6clSojfT7gjef4Db3ZHpla1d+wcbxaWTlSP/aJj7eZ1MvSnI1GjLzyJed2ZjePVgL+HiBZIg44xXnmp8iM/cGPf7a1kXUyYe4vXvmNVi8OS7UsNUFQTtttsZ41nvSjII4m1qw+5gmP9UV8yXyHFVYAlj3Js2VinCAM7VRcKqSk2ZqhXCvVkCRijCRROjvjWh3xQidenH9wed3MdFNzxTe/E4mwQRiFAm00Gr7PnMLFAvxYGBToxZj5Q/3IBUKbg7bIOehEM9byH7oLqDmqHkvfUmgwYYOoc7El/1CYgrqM519i6vU6MXk2kXJZ3vGhK372q9+2EqFAY68klWovToTnQRwHRPa6MzfdGDdmxgOzohKEUStM2mM2mSrZscBW0p5HsbYayU03jgaea7bGK+WTnnbcCcc+lidoiWlcan0ucFYPzQF77fCUxx3Wmd44GkiQ9Y3rS5ZfWpsRJ8IDW/x25D5/5VXU7w9+eevv/vSXoFT3/HJYqgUm4KqHrKrfrdcr3S2bjn384YfstybpRuJk1XjIJ/Keq2vHHPn4zXfeGqZRkMWG5FRqlhluA8mop8xIJ3Wf/erXjZWf/m79H/5yvVeqOS8slbnvfEkya72Ky0aMo7COefSjjjxg71K+tNRz3H5iXZbfcpJZJ/wxU/K0LNsZqjSLrSTWZqtXjNWyXjSzWdqzFRZdCsXa2spVPJslY3yQGC/zQylVv/j1b21s5dn5x7Xg6k9NTd1+++08/BZf1sJD8DC4HQx+ksCgQC8PmTWgEHmN4qJN0QCLgyRJ8CyDxhAGaAaSZLvg7gSGcA7sAgI4revv7Lz9Pe9fveueLqx0+BZibHlsMs2csZ7MzLqoO1mvTk1NTlUCacz4nbly0oq2rmuuv1nmNlWjVi1qj6b9VaG3eodV0pgbs9nD9tvndeeeSi3UPEm6PKMzkazfa9dC3k7lvOefvmKkZJJO4PqUkecSCpRlCAUgXmr8kZVrLv/M577zyzve/4lPRc5rJ1k/dVHCp6bz/CAwWdZp1r1sZb307GOfVBKp88QysZGM2TInr3rJ+VP1kTDNAsgyzznrMno5WdZBEVVWrPzQZz//1f+++T0f+wQ/RPBAjcT0oijh2Vkql4zzo14Qd6fK/rOPOrIq4lHclBbjc8iR/4d/1lrqAoE1LnVZYlzGS0x30/pSr7UykImy191wl3Ta0u22EY5Y61Gd1jelalgfvWP9Bt6PczcblGVcl9WrV998882+77t7jizLVGbZ3YIsS0GGxSwVjJ/MWECACqzlH22FaitIlj3i+YOQLMvXylLIs10whLnYWbaAgeTzPL7Uy+vfcsn4mp03zPK9NvTrY1GU9uLYlsoujkbvs2NJ3OzG9eW0195we+uu2w55wF6vPe+sD1zyxk+/550Xv/Tc4x598D6rJsbivmzd1F9353gWPXK/+33iHW9II1lV8/itPCwHzMXzo1QqZVxskT1Wj550wrGzG+4Ms8R3icfzyWVCIYlPgSYmaCaOX6Ze/oaLr7t9XVoqt5PElEqxyzj3Sslrz07XS96m228686Sn77/LGM8zMbGYZGZ2ayXwPZEd6t5zT3hGb3aWP4X7qXCGxolxbLt1xibWbI2Tmcy+4i1v+8PNt3Z9v2skrNU7UT/JUuPikpWs2+pNbzzhiY89cI8pn5qcX57kGTgVXxwf+2T1jfXFWFzGGCx7yzXlq+GPv/GV337781d+/IPnnXLSWGBstz25cjKsVoSXAcvh8R2LFaXGlsYm/vDnv+SDGS95qU9OTt5xxx0yf2TzBzkBiQXEfOcQYxYdBOHDDoVs+LGAABVMYVVhaQDnBlwA3heHQjEpxBDJQCbmXBFDYbKhMBdvymEY8hAlD0kIu/aG23/0s59PrNnBhOVWt2/9khhf4oSKEDGNu9bXS/5ktRQ3tj7/5Gdde81PLn/Ha0596uOPOfShjz/wfs984iHveMXZV3363e9+w2ufetghhz1w3ycf8oj3v/1ivltMhBI4yS8gFzhJxA8oQxEJRZzIs57x9JWT457jA5TnHG5xxri8nILEBCnPmPHxLe02P7CbWi0cHWvxYKuWvcC25mbC0HZb07vuuPqUE49hIi/rS9oXk02M80OjKxmJMznx6cffZ8ed/cx6eVJj8xvAOrGZsYnxIz8Ip1Zs7XXnstRVKtWJyXYaeeXQ+CbqdihTE3fWjI+cdfIzSyJl7itWLJ4IKxQnJsshm3EmEEeBeWJtisiEo+R5q+syLrLPytppT3v8qSceX3FJ2m5Fc7OGrTA2v5RJ1o2TVjcq10euu/EmJ/nBBQXewbZs2cLVwVVcXC4cGgsIuobC+hplWAAAEABJREFUBVXoVaGW5lIU2RBAGJbZLUqhDUyMF9tb4uCsqC1sUaOcDI9ATbLtNuBz0phqtRqGIdPxNCXtV664cnLVqtvXb1y1dmexfq8fCV/PfV/6fYl6u+2118Z1d4YufdsbXnv+804c84XPvtmNG7lyFZFS4pJmXHVy5CP3u/R1F376vZe8+aILJqxs2bDJ42+hWSYRX6553XQitpckVizX0c8fdf4pJz3bc7zV8abIGVjJy4gnbpBRo37Q7EdTu+7W6bYTvkWHYdrv80XaUR4uHamV++3mOWedOhaKL1LynHiGFMzhhLdC4QeBHUbkrNOf52XWOmscG57j8lsGh41LQavXG9/lPkmvm4RB7HtxpxtTQNZ5JT/qd3zrTjrx+J2nKhL1rUlZm4hN518XnPip8TPDo9TPb2bjCzcCxSrz3cKfkMyoiBeze8mYkROe8kQbd4MsGRupes75nun3YnGSZbz68gLj+JWKxYNeUGyn0+G6UF7UxlAIHgpDBiFGm4ihkBy/WgSopszYL/aSJrt6t6BB0VCFQ6GCFWKIZGI7f5B0KM7IIBpjJCuXgjDwyqUyEyfiJSKbW/2vfe+HUi6nLr1ry6byxDhfQsX38loqByPjI7f85tc71mpvvejlxx76QL4110rC2LWrV2f88pJE1Hy9FhiXPwBDI4FwJbNuu7vLmlX5pU36EvpCyYTVTiReUIvnH6JGBM4+6bhSmoLnEiNJXn9Ug+RHv93yq5Utd97p1ceYrp/2K2tXubSf9VqrVk5EszM7TYw++5jHe8wrnIRJpLSh3b/kYx9uio1EskhqIqc8+aBKElMcZM7LyxgB8QS6PSmFs7ffbvhzOQWa9EprVohNnCQrxqq8PtatO/vkE1xMFDdPmu8G2yf5uWd5oeeL5J8xBns33B0g1hmv5/jY8MqhP9OKdtqhnnKapVI/ijJCjSf8IsaNF3i+7/d6Pb7I43fzydXGaZKmzpg8OZcbGKd2UKCXwph8rDG5XSpm0F8kVydlZlmZ0u3m/8cpqrEaMcRmPAoMJ6VYMS7NUr53Z07moUoUuowxPN1Sk6UUhx+wW479TeOU58PMdNnQSNgUCSxfKP+8vrExsi0X25ovgen1O1IpSdzJH1DSL5m45rvnHf2UZx76gGpfKpl0Y6EIEjbUK4sfUlypFcVy9UXKvh2pzb938iwq+Xkez0vFxiboCX9xkdksv9IjIiuMXPryi2yzkfYbYvoSROL3pbkptIlnbMnZkfqYTZJ+ty0263b5M34vqAa9mS2yZetbLriw1pO65PUSS6kh/hd/+seL/vP9f0ob/Mo7Gkp1S7KyJ/9x0YuT2U1emGZxI/91LAiEH4AyK5GTOAsqdZf/wjrHHdbvz0nWlbTbb8xU+v03nvfiFZ7UuOfEOGv6/R57aK1QQ2ISY5zHRkuSxD1rnRiRpM+a/XIlsF672+GW2JzGrKRaD/9yy0zk7Fy3zxd5Vwo4IWFbWMKWLSPjI6P1SqUUcsVT4WdZnuTCC0B9dLwfJVGcppnkpPlBGRljKOtSqYRmCE1rLR4+FXECTUW71OIhWGFglmWk40kJ6iQAqMsoiniE8/dYwiz/FIIQ2OUhRtEw1WoLz4DI0Kk4bMb2iTgWa4xnbegHPs9Il3exKVTbrRunU5+fzUUMn7nz5cPrl3BkYtLZzXftuGL8xWed6FNlfZzilWRzX26ZjW6ejW68m96Ns72bZjtwy2znlrn2bbNd7M2z3RtnOzfM9m6c6d6wrn3bhubmKK9RvvamLn+BrDt5/CMfsueOa1aP84COjOUTMA4mapLfXF7Sj+JePzBSqZTDciDcgi6teiZuzh1+0IFHHPzAkTB/XmZieyL8gf/1//6+8f0f+NGvfy3JlymeZ/ml8pCHPuiRBz6w22t5U+PiEmm3R3if4ZHOrZukWT8OPFuqVX2qxMr8FAk/AN9/j92fcdTDbZI7YrGtNGYbWbKTuw+bbxH74xBOMpuXFrtMVEZEwqcTZ+hVtmayOZHLP/HJ0cmpVrudGstfQ4QrUg5sOZzcdafp9bc3t25+6P33YwgDrcdJSpZlzWa7XKt6YQnndjF/nZlAVBTWWltoBE1AkFwttYRW8NC0KXcIa5mHNmj3UpaAoRCPHwuDgnubz0GT8SnnxHGrs0afZYXlUpC/ifKhJuw4Z3PDDdfTx3ubn1o/s5ZNpnixvC5hnTvoYQfYQNpdsXXpGblpw8x5r37dw5960oFPPf3/5cy7m8ecduBTTzvwmDMOfCrgPOMRxzz3qc8984nHn3DY4598+rkv5amSvxV4LFn44f35Z56+eeO6sVpNkljanWq1yt3M/cQ9ljoW4diruJ8Ib8lJEjhnk/SMU55bq0ivJzaUmX6LC3zZhz813Zhdtetu//XT/752dsMcNyF/14plbMKceOKJabtR4wna6XDpXBxReh5Na938hRN+I+mn0o95LI6Wy73ZuReeeaYv+f44I9PdhueVWUy+3IF/xW7jG9R5U+wvf/fH391229e+8/2LL3n3N7/7w06UVscn8jDfl4z9layxtdeYXrNi3Iu6D9r3ftQ8lyNjw0U2bdpUKpUqlQrVQbahUEZDsVxLY7BAAHYQz/MWNIkhPwtT0HiAqfMaZetRRZ92Y4eiYViGAELRYPSgoPKM3tyZ4wKIc8zK4jyPO7MkYcCOz+9GPuimW26iyzihrP1MfG72/JNbeAhZZor6j370o3mNKo8I33c2N3pf/69vfetHP4xrE1FthRJXV8a1FfN2ZVKF1VF1VVJdhY2qq+PqKnpnEmtHxtqJ8DvLr3/7m3xiI/wFka/7T3nCw++/131b01sqfii+12p2gkqlnyUm8L1SmDqT9GMXJcKd5gWNrVuOPvLIxzxqjyQSL5DESN/zb+023/+pT+172GF93+9Y8/EvXdE3RgKRsjgjjz3k/g9/2EGN226pjvBq4Dqz0+VK2UkalMJyuWz4mCd5TN3Y0Atdu3PU459wxOF793viBxKLhJWxO2Y3kUfuOdhtoIUFRI6jxthpHC4z9kUXvuq4Zz73Xe+7/LOf/7JXqSXGK1frGbcZxRgG+R9Lk9iPe0lj5qmPP3yHca9shQLlwUWqX/3qV/n/ZUyaLvPuZ5Y4uJSed3chet7dQp28EniepxahaBomzdc9/w+NE/u3GqUM6MK1PBqmlnhAAwIYi4VCGCcmczbLn6MUH88L1sT6hOeHCItIXOYkP2ZmtgobJ2KcMY5HqVCp+fsj9ZqJZ+yKiXGPj00jjb4bGyv/7Ff/vWa3ncSzme8rqe8XqMd5wTye48dXz0u8ctsLzehUdWpVYvzf//FP3VR8T3xfQi+f/E2vfkVn6+ZQTLVWT9vtSrXqkjg1LvOMiLDyWqlMBXu8f7d755x2Ssqnu4gNpS/i+dXXv/NSOzXZCcOm2GBi6prrrvvr1umNPScl6aV5rZ7/vOdJuzlZCaTTqgd+aE2WUjbWeNYY41uvFpRqxvd6UTTTeOk5z+82hK+GTJ2IJGLe+h/v5lbR7cWpFE0E4FSLyJyx9dGsMpaGtR323NdWRjIvnN60RayRfj/kbUuS8Vq4slaaW3/7y19wZt2KETGGi2NF5Jprrtl///0bjUaREOcCzBKHnT88z5v/r/W8vwnvnsO/58BBGJmZCCgntCbGn9corpQbJ+OThgBH9zIQkWV3R2bzBx7QIYuFnX8uiuOJmT9KmTif1fOEzRCxvoeHKcF6krkkteJMnoxN8pwEGY+XnEBsrZb/P+JpdtJyyaTC49V1ui2ebCl/+ilI47yJ5ZTSNMnSwSPKMn9scksv2dLqpsaL04SFOJcl/bY1SdbvPnD3nZ/yhMc1N2+Ou72gNtpotCSwWZZG/X7CneY8m7q43Y1nZk586tH77FoNbX65E8m/vf11bvPXv3XVmvvttSmO4lIlCiq9sPyBL33eVk3biOeLE3nYnmuPPuqo9TffVA25Y5Ko27aeFyVJp9+LuRcy4+Kk32h3t2w5+nGP3WuXEb5yMSxK8/x/2rz+U1/6cmbYGHzC4eYPFdi7ccxz93OUvU9MKfLKm1v9zc3u3Eyjn2Z2ZHRk5WoJ/CzplY2L2o2Z9be/+KzT9ttxgqc622pMflK33rau1+vtsMMOrVYrDENZ4jBLHPlVnv/ned78fznRXFCW3rBD0zBJlmXzp5WfBU5iuQAZh3qxBC0PMUuhA+ktBAVKvVFqCAow9/NBaX3P4/PPiMus4Y6e31SR0dF6nMV8jkc8Go1kwgM1h+EQRZFkGTVRr3pcpdlua2yklvQ6gYsDiRRfkgJqTvFM4hlROOe5Xq/r+eXRFc7z6/XRJI0zF/ll65LOaMWnHM8/++yp0dGsH7Ob0utyLUUoQsPTjQV0W8zo1qxYecE5zyuLlL38cvYS4Xn69g980Oy8S9P3gsmJjrU9L8hGRn/w299dfev62SQ/HV/EEzn39FPGK0Et9LqthktjL7CSxdzCnpgkijtzLT9JVo5NvPScF5RSCT3pzIkJZC6R//jwR0d22DE1tthhGThy590bKbme7+JOdn7Fr4zXJ1cK33122Jk3BhuWmnfdZX0/6fMi05+olR/9iINec97ZfupC5wKTj+z2km9/+9sHHnhg/hJi5l25ezv+2XsOY4zKQtDMK4//3ANNesmuK1eLB+jKT7ioUYLuFR2PBQ1eXuTVSdz8vcF/mVVB84zDGraU/4jUa2VKhBrNrMRWMi6GWAGHlYmJiWt++cvYSZzmP4JMVer9uVbVK0uWMupuHA+7hNPhK8495G9ysXNKxETlql8fdb7X2Ly1Xq1VvMAzIi4xgU3Sbt16D9hlzcEHHECZ8jDzxsYYIUZMqVSt1K3xTeZ2WLmKgF0mhJrj508C/EB+8Zcbv/GJT63c475RudyUjB+OsrDcD0pj99n9DZf9uwQ8niQUqYrst2bs6Cc8vtdqhL4tBfwpPGUD/CCoVGqGM03S1ZNTj3jIQ/bcKRgtSdKSakV4pNy8fsNXP/rx3fbdLzG0mPNvFPufu+4p01xzWmK7rbb44WyjV6rUO+0OBWr9UMZGs3bbGJf0ewcfdOAH3vFvbLGfZ06tFXJMT0//5Cc/OeSQQygRyjR/QGjGRVav5r1axhUxVCYaCwiFAGXwdOgihrUJim61CEDnffP/0IBTIQVFAGmaJkkSzx+cQ3rPQZdCJES9XhrHZCCZZuC0bVBK+30bBMKGZCkXj+u9+y47BoGX8R1ktM4rYC/p87lfHx/rNRtJJs125y/X/zWZf7RkCX8zSktpEDc6aSJhqeqVKonj09okErigXKqPZ14p9So5fiW9m5r4+QVPxXTavdrY+K477cwKPGPyx7VkgecZSVnJg/bbrzE9w7tF5niCpuJ5rLzVaolYPvU2rbvrgfvty7y+E+tLGksmcvYF50896tGuNpqWA35BpSzS1LSdvavRKq1efcXPfpFK/hDlTOEB99uLxxUnm2Qpe0j+TBwfrE2L1SUAABAASURBVL4fctu0Zuf22WtPluE58ZnZ5j+hvviVrxx/+CO7xsuc8SxeVsQ4z9r8CnqehwhLJet57Kjn5U29IPWJFVGjwT0g3O2el/X5IS0Svk3xqt3t8tvFW195PrnImPU63P1GZG6uddlll5144on1et3zPFYYBAHZuKxEmvkDQRPnIHjAzR+MAnppMYI8fC4BATixCr2kwnInIOjCEqwQz4bnZ4h3KRi8VNcyftZU9KJBm2TjcrLLNK3HtvBf4XHJvtDYb++9ep2W2Ew6bbGmPDYaJ1mj2ZZyJfP9ytjYl772NWqCR6lvZKTi3XfnPULx69bGrbm4ORuKG69VJupVk/Y76+6wjgpPDB/TLstLkIeEQWTi+645l0X99szcXrvvxtQxVZYvJP/n0S/8pCCey4zLchf/HP+AWKwVk1mXVX1ihEcc2zrXk1Y/tpWqqdUyz5daVUoVMb7YMArD9e3G7264nhxG8kepL2Ikz8wHRSZW7jky3GiHJ89PGC3xctNNZEuj6Y2MuFIlNaTJnYv/sb2FU7VnbGv9uslVKznfTrMR5iXvJMvAucxU6/xI/s2f/oZRPAVsqSpJ1m71r732Wmp3v/32m5qa4u/1VCrPIMfTlbhF4Ad1q8Aq6sRqs7DqwQ5CL021xtx9jsbkgh2hawhEg3YMCrPEQSQ9WEU11tksx4jLMaTKuIudGD5xsiyOolB4NsSJcw/YZ2/LcyssCc/JzFVKZWdNP+r7tVpspBH1w9GxC1/7zsyIDaTflze88vyXveiC/Xde86Bdpg7YbYd914xM+dHqUrL36rH77DJVTdvltFPOOqFrB1nbc10v64nri01F0or1Rkql3VbyNyaZP9gHJa8Kz2UUq+SVNH9FHW8fwkvL3WWUD+BsRFyufN92+v0uL9LV0dQLkn4kmRMm4ZdU65lKteXk9s0bcFBvVB5YdsEIJ5LnzXNwP+T/cWK4sXJlXJrN5yfaF8Zump2tjE9FNsgM68xDlvxn8uuaz2BM6NuxFZPdrVu9JHLtOcPDnzdfyYQYXjPSpFwffc/7P9SR/FEt1vbirFovPehBD3rwgx+84447djqdSqVijKFGdTrnnAq1NBUeiiru1epALJFYUIEFmgqTKpZDXctYHYmFZcLISC8WEHC3sNYZQ7UxPHUudSbJHKdEgDgJwtCIC2gkyarx0X323FOSRIKSGMs369B4XhDw1saA1PNNfeSHv/71d67+y9aGOI+dluOPfuKXPvT2Ky+/9GsfvOTrH3nX9z73n//1iX//5off9qn3X1Zy7ZysW8q6geuGWTd0iL7EvXKlHKbJox/+MAqABQVeScQTMcJVcpYS4EPWSGYlryJxGes091yaTPLDmfy/fN1iUFAxnh86yjEoNbt9ybL8FKKYvycKQ4PAMRs2HydkZiZkaiS2NjXMJmY+uTOiUKaZyWJmMEJ+8AKJOt1gZLTVT9zAo1f+34NdZZPxYcEYEwb+C087NWvN1YyrlsKs381PJ0uJyTHGK5X/etMtn/jcN6wnUSaZF/C6X6uG97vf/W644QZKs1Qq8TY3Npa/l5OTUVhQoZZmga5Bm2hFm2p1CBYGPUUkfmDxFOfd0F6KwRQag4fBQyEAPxYQgKA0xRrgKnBVMqEk8sXMPySccFNikoRaDK3hRe34Jz9ZNk/7qRsxftRoB8b6CF5CPa+6ZnWr29nQaT//pS/7r5//IfPzL0OjVaG+2D9+E4f8i7YIl+DWv/yxlPXBd30IsNL3JNehi02vHc1Nn3D0MaTwqQsxqdh0/hNexOSF4fK6MeKs42M319SWCPVknbGpzZzNMpHEJTJ/eKExfiB+KerGXrkiHsXviQ1JwDOwx8hKSLyZD8ZmRijExJq7a3TeL6yB5EBym/Gm4PAbEUOpizBnqRo7k69Xhh9cHZD8DIRdNsZUAv/Uow962hMfL93GZDnw4h4/ygp/3+KB2uvbkfFGsz26aof3f/ST19/Vjj0JqgH5G83u7rvvztcm3hF5C+/3+6QFZlVbCJpMBIuFOvEDWkGDDlehGksAHoUmiy+wtIdCtPpVYJ3LN02diy0ZcWIBAfMiwzrrxOabmxlJ3d1l6tL5u9lJ1OtzFUqe5cIefeSTRupjptGtihfG9CX8HCP9WMKwc/PN1V13Ka+Yaln7+ne844WveO/vbuxTI2TpxtJNhTOhyqc78pFPfP5FF1yYSpiYAGJeCm0pNqXI0vRDT7pbN68eGz/sYQ8MRALmFtZHEYKfsW7J21Y42YxOI/n/7JNxeaVy/ZzMd8xbzzNCmaMdNeGsF4rx53O50HoenwbgqFIjVLDkKxSX2fkpUmMTHtnsjmTmHifzcScreZhHap5uEjGr7ydiLS9CLu+Zz7HQcI3+5soyS7jPmuS8553KczTrtP0sKYc2v4m5lClf2Jz4pWYv3truvfuDH01EeKcyVqpValv4CxMvprVajTwzMzNk1vxYWNAcrDB6Cxb4aRYDVRBZCDTQzHeF7WJiBdcy6JjBAMYPhRj8WCgE2lkj1rD7IpI5kwkpc2jmd3wchx7FyYdgfvHW1v2Tnnpc0E+9TjwSlGzC9XPCtfR92WP3Tqs912qGk+O3btr4s9/89pRzXvDUU17z9g989fPfuvrKH/z+zR/66rHPe82hRz/nsk98PRvbpeFPzPlTc/6Klr+i60/1ghVRsCL260lKAcmznnbsirqUPbH5OniImlRsluv8n5G8IiU/HC+mQOXNt/JwzoVipZnXu2Ri+CeSX3HjBbxEJJJmfsrDORNCA9/4Hv8lPscRLgynEDNj84boGvJYJ9YZoQucCOPpS7OMDxIJwl4/9sPS31Ll6f6ff2wruyvG5F6qUKQUBInIHivLxz3pyLgzl59vlpEzjwlD6XTC0THXiyfX7PDN//reD391K8Hc974n/ShbtWqq0WhQVcaYUqmUJ8/z3v2vaCIGIX6wOVSTAj9WUV0MVCeTKnmVqmuo1cF0LRY4l4cJCDDGE2fF5U+XvMm28xglnUvzvbZelMSmXBInODzJd+/0Zz5tzDNJt1Hhh0uTBoEnJQKcbJmRODMTKxr9eJd992lJNt1t3bDuzvd96rOveNu7LnjdWy7/wtf+urHR8+tdr9b3631b4dnpTCgSCMvIc7MSMe32zpPjp510PN/mncxPiZWE2cE6MUKl5HiZ9ZxxRlLrYoslKEttHm2Er3WITPK3bcnHJM4kvHjw5PRK1ne0eCVljny49OL8UcgoydOQMuFrmXEZtwKN1LjECvdoajOqU4R8lJII2+UZy+YxqV9Ku7Gfcr/SBZKKJDaLPJd4WWJzzQBGYtlgrBXH3c8rUCByzvNOL/u2Ug5c3Amtkyxm5eJ7Ubc/snbHRrsf1Mfe8+GPRSKxyzNb5hF53OMe88c//nF263StXDGS5zaOJefI/MFECi0EFhAFi5t4FGJUFHaxxximFc4+j6FboZwhTfPf7dKUe5hWlkfM/zMmH4M08wdn4nmeP3/gUD9WU2GzlPLzstRkiWP/gyz10yTtdzvtZppJHCc2LKepyzJnrS8uYzfXjsulb35DKUxm2hvDuusmDel3pBtJUBOpuMR4o+Prm82ZtGMqvuH9aaQq42MyPtYN/dkk6fo+RR9Lxo+yfNGQbsNzfS9tSzQTpI1q3Bjrd1508smTIxJZ6VrZ2um5LL7xT9f6Lvay2LfS41su1ZGIR42bcmZN4uI460jFZGWbmNTzbNLvUfucKbUci3R4GymVKpGp9KSUcIcZMZ6U/BxPUv4/ykI4UsmitNfyo57tt0zcDogxfFhkzsRiEykZr+z7BPb72DSJxTBYAivSj0ddGHYTpiZhIllfpFd2bX5X9dJ+6JxvJPQk8PnJI0tTz/OTKIr7XW482GHCO+P05/a7DXFJ3G3X69RcKp1uNQybs7Oxs804/fOtt3/6W7/g4575vTxNbI1MTUyWgtBkju8MvLv71s5OT3vGuJQdTrBcZeKxC1BnlmVpmiZJEsdxFEX9PqumhxvEeh7rErr4Ybg9fxCM0xhDBAIoMGOMpQ0o7CB4YBnPgl4iC8+gcDwoZH4WLoRkRjJxKcEsLkkdpJnkPUKQ4cJw3x/2sF2OP+aIUtDPspbMbfY951Wq+bUipJ+l7V4WhKMrV/v1+tZup2/9vg36XtC3Yd/zYusl1mbGVqhdI37op3NbKIidJkcrWTdozx7z6Eed8fTDuXXESDOSSo0q9P7zA+9nSa7PjM6G4tdqpVpdvLDd7lkbkEX8Ek0jHg+SUGzZ8nko+WFMJmICX/JHW2Y4W56Okj8tyZ9Dr7NeNi8zEWeDUmVkZKxeG/WDUtzvSebdc+oeP+ZKlPCGwzcXn4GSHwzK9wuZpYFzVRvYNAnE9lwSGBtW+EtZSLXxGiBsZZKKIcIre0GFmYIwjoUJGH38MUf5Ju225ybG657L32GkXE6SjEn9ykhtcs2G2dZ7Pvxx/q7Lo9SJhJWg10/uf//9rrvuOmttPH9I5kql0vxDiT8L8EgRYwzJF2CWPqhUhXpVtLkgw2DTkm2wrbpwIgq0C4sHC4UY1IWzENxhBMCgmD/lOJ0/8APxnG6n0R0RefWLnv3w++9dS/u77bZzsmVT2pgxQqEbdk6qo1lm5xqduX7i1cYjG8Q8M4yXWkNpOmtzjHR73bGpFUm/UxkfG6lX199+W8n6K0dGX33e88NIakbKViqhdEU+ecUXbly/3hnPVWqZbzJfWlk2J2lUDkyFn+MrtaQaxpWg6wVt53dc2ONhmT/tHOUj8/dOyYjp9724a3kAJolHscTUY140KcE2jL1AcGAq4vxGJ5vtS2RC8ar1gE+B0aob8ZNyOQ5KfVtN/LqpEGqcZVAqEvEfL+7ZSHwZ90O/6aqZ7GD8yaRUaaZhMxoNakGrL+2oIv5IWCmxBUlmUkm7fd5BvdSVRXYa80856aReq+mLmduyhXvKr46IVxav0o6l7Twpj914x4aPf/pzxoiTfLuD0GcJu+2222233SYeG2sycV4QJDzxxHGf0mRpijEGYeYPxFJoXfLs7M4f2qRMl4rHb/mnzCe/2+C5W83/Z2gTJ8z35wYNKBH+u/D2ogRzL5fJcfq5pEbzR2mSzFdpSgB4Iivqftpp1UQ+9q43Hvrg/Tbf/NepWpnPm4ok0o+EP0h2+sYvhaOTXnkkSqgTS0YnbJCZf1Hims5jpdGYDatlSeLJWk2iftppf+6jl+80waM1ZSKKiGt/06Z1r3/nO3fcZ7+u+K00rwY+jVpx3E6jyPA6yWeVldiTWGzs/ESClMryA4rFSUYRiOF7huOETBZ7aWxjtVl+NVNhdYkLUuennk8M6yLUSS/1o8yKXxITppFNexJ3Yumnpp/aKDMxDzlrhFPySA4siYdhZBPnS7uVCCXXl8BJ3OgGrCcV04vjbt8TEwRBJrwZ9ftZ4jwrnuFWtGnE7LjOO/Xp++251+yWzUFQYrcp0yhzUh+V1HUa/dKKVSvThVKLAAAQAElEQVR33Pnyj370rzfdHHFBRFjB1um5ffff+7rrr7f8RBDO/4Lm2W6f+WIygMwfet3VzjuWNJQ3JAMHBYBnyQEilrzKYJB6htoiTHsXNwu/Ck4DCMNCIVgWi1tAlvZ9G41Xje96FZG3veblb3jxue31d7iZGdNsTFUrkxOTxvMdXz6dNUFJnBGx3NJiJEdEKA4eICatj1YDLytbN1EJbvzlzx+y157/9ZXP3neFL91U/KzVbHT40UvkDf/+ro3daGr3PXtcWmf6wq0g5Vq1XCsLFeJ6nTTuuoy6MD5PkCD0+FuqcTwonVik2JT3Qh6mnkttkheoSflNNctLN5EsNZkLEuulvAUIhU52J1KtjFWqo0LFxWmPl5eUv1s4G/hhGAbW8zLhI1WcGM9PHamlj5nPn1jX9YzU/W4mMx2SGUaNT61odJu2FvAe0PW4u9qpl0QlaYdZ38/YGOtZL0lL1gUipzzzGa7fmxypuyTO+Mtzp+eFIR9N4vuReDPtbrffv/wjH/Y97hRxIuPjY4mT0fGx6elpw6PUCMWaiWPjFTN/iAj/lfkDsQzFW+Z8bD7KWotTm0Pt356jdBepB3XhXCCIAZyFHSpwglbnAoEzmz+o1CRJ4jjGSEKd9KPmtJf1VlaCZx/z5Ks+96kJ60Zc1lq/bm7dnWGSGJdFW7ckczNBrSJZKpQQpNRExEe0pFzTqLXpzqw1U0qi1sa7nvWMEz78H5fuUhMXifCLaK9XGRn1w/Kln//Ut7793f0OOXQ2oQ4k8MWTHJNGSachvYZUTMqTLUhcKUtt3E/a/agVxW3Hk8exvxLn94S0ul0JyJtZK9wykl9cER5RWWZSZ5zjLkp4HvI08wSR9nvRXEMaM3yASpi5sjMVMaHLTBQnncz1PT8fRLaMu1WkzxjPs8Ylxvl1Lw3E1iQyUhuvb9m6udmYKVd8MbHhJkm7+a1VDzjVtLmlF7VZkbBF1lV93kLlyY8/9KAH7L/xputt1DfijOck7kvWl8CaLEp6rfHJ8a9/85u/v/ZaY6QXJ8ZKu9Pb/4EPuPGmm7g81KXneUEQcH+mznE34eGyGmPUGpML9FL4vk8GO3DggaXi8eenYO45aCv3OPL5VOMvBBpoYmF54bhCBIksEIwCevBTqNQo5O8lvOk5Vx2te+xgHFdc9rB9dvzRN75w0lFP2nenHVxjJmvOTASGrwqS9ZPmdCntl9OolERh2lfwVNPuyoo/VbJrR0pve/XL3v36F+02KlWRKjXI9a6P3BV1v/67X7/rDW/a/TFHVHfc9c+3b2gK3+byAi2J7Dw2urYWBv2m329I0JFK34V8GM/0kq0SdFfvOLnvfnsKV1iEh5ETaTd74pVC55XEl9SK84zDcnJCDaeG+pa+SJ7dSODLzqtW3Ge8NpL062nLZQ3xmpnM9pPNze6GWBrjU7W99t6NCiezYTyzRE4Mnxq+S7O7OsmWRHoiflWqdbvfvvdtzm4se6nrzdms67mO58dlP5berFcJ+HuvYd5uV5y4OKkaWVGS0048Yc3UGEVeS3s1F3md6aA3W5NOJWtNjZejfrc+OrJx82bGeYEfO6nX+HtT+c671jtrnOGmc1hnJOahYI0eBBeoZymrxUmvxiMApzaHWjvUWzgZr7oQ2lQ76Cz0YkEVavygKMJwUqPA0zRNs+ktW8X4jek5sTbwg5GSl/RkZVVec/6zP/fBy/7zkosP2X/P/uY74tm7ymlHmluqab8e92tJt550cxt3R+JuPe4euNduF194wTc/8/5nPuHgsgiVZ3sSWIkr4ayRq371hzNOfd59jn1Grzp6y3SjZYNUJCeVisjRhz3wuEMfeb8VY+HcRj+ZlWzWZnM2nq2Y9k4ragc+YO9DD7qfdWJ4nCZcfenxly4b2sx6zjd858qw82fsXGYk8aTnpW1P+r5EqTgjj3v4fZ9yyIH3Gy97W2+vSktsy9i271ojQX+XlSOPeMh+Rz76IazGOBFqi4UlIibwXP4gXLd1s8eNIOKLjPvyhosufOBuu5Q7jdG0N552a71WuTkbzk2H3faj99zzwtNPtzzr+G4Up4HnW8kTHn34Q8499Tkry9a2NsvcXeXe7MogHnNt29hQTTvkfuCDH3TQQQfNx4o1+a27bv16vuGUSiWKKY7jKOGRmvSTmJiC4oIWnqGiCHP3HEPDBp32nkj2QxjPIngUA49fQOABunQYYijEKEWvxnNiYRiSil48WotJwq7Tupu/DTFeWJuYbfZTr9LtJmLEGCn7ErfzIttxTE484iGfe/+bfvL1L3ziXW958XOf/pwnPebwB+x9wH13edDOaw7ee7enHXbwy884+WOXvvUHX/z0Ry95w3GHHjguEnJdoiwQKZekk8qcyJs+9fnn/9vbZO/944lV6djUbOZtbvX/545Wn2BPbCQjTi592Qt/9rlP3fiD7/zuq1/+1RWf+8UVn/zdVV/+n+9+5cdf+ug7Xvliry8eFy+RcsWzIl+98tvWq4RBzXNUkm+db6lXy5wigUQlc/PMxj/dtWlWJK1KL8nfCy95+dk//cIH//q9r//8y5/4xRWf+fVXPvPbb34RfviFj/z7ay8spRL6QnVkIlbkw5d/SoLaisk1ceR++etfc6mMSBRlNZEnPnT/n33+Y7/9+tf/9I1v/O4rX7r2G1f89dtfveEbV2z88Xe+8pbX7FW2fZ7x1LNfEiP8oZ5HqXVy1olP+dFXP/2HH33j9z/46m++88WfXPHRn1350T/94EtXf/Nzv/7R995z2btHK9yq0u31mJ2LdNNNN61du7bT6XAp+awrlUo8WvHTNPccNBWtKNV02vnD83iR9zkoALoQZKhUKliS8PJQCCIZRRIieWwRbGnzH2wBzeUhsggY1IVzUDBZ0SS4QEQGtcY4YzMTZn41kWCm2dmwcWuz2fM9qVeFvy56qfhOuDD3nSw96YD9XvKcp7/rFedd/o5Xffp9F3/pw+/49Lsvftcrz33BCU8+/P577DFeGZP8wz2LM3a5FFoqgy8EfL89563v+sA3vytr1q64/0M2dJONnai0YlXP2i9fdVUrFZ4MzXYsTkwqo05WZOl9xOwpdi/xdxXZUWSlyKjNf5vvzPY7XZeIbOzIp97z/vs98KFbZ5s+Txoepc56GdMKZUGJ9X3pBPLhK780w9cykYbjXqBqspIkq0JzXz/cW/z7iiX/WiNTIiNGPBEKlOGNrly3rvPZT3/+oYc8+o9/vm7VTjt9/Yffv6Wb305iTJpKWaTkZE3VW+HJlJVJk2dgkeOZjGRSyqRcK7ea7Xanz/O7HIoR4Xe3ksgKK6s8WePL6sCt9rMdbLbKZBMivagXiHR4WDpXLZNeZqbnrvrWt3bffXfKiLqhnjxj8+pJs9yy1O1h8KIP6sE6KfLhBEtbQ1WoxYMYinapLQIWNAu/CqZBEFPArYXGqaAVZ7xMfOtX/HJV/LDbj7bOTG/ePNtp9z0roSf8eaQkVGpis16QRSWXP0soGq5rhUuSSiWVUiJ+nD8+fZEwsO0+T2GJfPPrW25+2HFP/+LVV7dHx0d32zOtj0llVJzXjNLKiqlfXX/9V3/ya56ypYmgG6edZkvSLMy8kSgb66WjvQjKsSMzX6clk+pYKRw1bZEnHPfs0r77d6ytrJzasmVrJry1WZ5Vxonwz7BcaQf2z5vWfeFnP7k16ZtSmdRNFmUTibrVfjIWudEk44e0aj8N+07zU038yhRW5YLXvE5Wrt7U6azafbcbN22Yq/nnvvl1LREXmGYWJ0YylzmXBH7G20ZoJDAMpVtYJDdbr5PUxmvl0dLV1/xWRPiOxKLKkn8ulSUu8ftJ2qm4Tsm1y9KtSH8sLEdZVg8CzxiKda7RuuKKK3beeefd77Orb6xL03IYeiafdf7lwZBzuzD3HNZa5KBdnIcAiiePQ9FdWATgWR5igBi1iKEwR+EnkjV5nodFL8YTfPk19k1Qr9fHx8f9UrBlest1f/1LFEdpErkssS4Ks6Rmbd2aqskky3/s9EW8LP9Dq0WIQxMbJfnlllLwuzvuevqLL3zCqadttP7U/vdfe/99ZXRsttfPrC/lasrnpu91St4nv/3Ny6/6wQaaZc8br/NrDRdYZD6lCcXjKWTEiPjSdTITy7q+HPSkZ/dH6nsddOCdzdmWi81ozbGkvDpEsHmZCi/WkedtibNPf+e7n//hjzeKtMXrB/XE85MklcyXlEtuxfjieeIb8SXxZXNXpq0ccNTJf1y/bp9HPHw6jWaijjc5usWaO7P03Pdcen23YYKgL9LkzdBmfYl7EvWl3+PLjOOcHAUK5bofGfnyFVe97/3/+Zvf/JEVBfkMPKoTK+I75+fblRkes8K/rNvtGL4UibQbLSPy61/88ic//vEJxz+tFIZJHGdJ6vt+lmW+tTxlA88zZORctxkuvZJfaWsLW4gFvSTOg+heDH1D0ciiiyZaLWIx1CjgJwZ0BR7nRuMetBfLakInJomyuOe5tForTUyMrFg1sWL1xBe+8sUf/uxHt95+S5IkvudbsYbHVCZiMoyTew7HtTFpJjY0t22e/sx3fnz8+S87/Jjjv3/jzfs8+ajKvvv4O0yt33xXs9v2w1BmZ8RloytWbG430smRmVrwoe9ddcbb3v7hn/7iN1vad6YSjfr9UJKSdAPpBNL0Zc6XmyL3x0bj8u//eI/Dj9hSKY3tvedNjS21HabaNjY1n98mnU0ySwW4vExZl/PEhGZ0ql0e+8R3fnjOOy+7/Bf/fc30plvFb4/U+xWJS8IsRf6bY/nDXOcjP/zhg45+xl2+XbHfPre0pmW0EpWk7WXBjms3iLm91zv1wgv/82tf+cXNN2xstSMJ++JF4vcl6InX87x+YFxJ4H+uv/WFL7rwu9//3qmnnsrn9dVXX3PNNb9ct25dlpgsyvKdjiRJbMbPESlvUn69Uq14Xpxk01u3vuZ1b/jCF77wgrOfv+su9+l2u2mcBPnOGyrVikHj4fy2C7vEQel7nqe2EDSNMZZ/i7nXWXWIhqFVLG8JK5bHImguxgqPwLhiXMUzPuWT9DKXlCrh2NT4U59+7K577vHXm2/5xGc++4EPXX7lld/4nz9cu2V6Zt3GTdOd2URS63v9OLrtllt/+uOffvmrXz/ksUc9+RnPfPHr3/TH9Rvvd/Qxaw58xE38NWVsYkNrjrJ2wl+oEvF9SeJuv1OaHNua9lsjlf6aqT80Zi75wudPfu3rjjnnVY8+7aKHP/dlD37O+Qec/IKHn3buIWefd9AZZz3sOSc+/KRnvey979zpUQ8v77nrzY2t4Q4retREczozkXhpalNnYpEkr1EK1fGUDxKv1gtGGqXR326Y+Y8rvvn8t77j6Bdf8NDnnPGwU1984KkvOeiU8w4+47yDn3fuQ045/aHPfNoBJ55w0XsuLd1vj8kH7hvstLq848p2p+FMwsobGzav2WXPW9Ztnlq9y7e//cPPf+6KBl4w2AAAEABJREFUb1313Yte/+o3XPLm1779Ta9++xtf/bY3vfLf3njR69900WsufsVrLv7Ypz/5yEc+4qKLXvbgAx7c7rR23XXXarX+gx/86M1vvuTiN1/yb2+59E1veceb/u1db3yz8s6XvOyit7z1khdfcMFHP/yRhx940Gte/eoDHvJQ6jWJYq5a6PvGiUszDh4WccxpLn/ZF/YWNbBAUI7BogMnkw6pUbIaY7BLYczdvWb+WCpM/Y4HmyqR+XDD4hAidzfRIJI3+eQIJQs8CUNb8vnY5OOlFye9KI6bnfbE1MqDDzvs6c886ahjn7bL7nvedueGb1z1vc9/5SuX/ed/vuL1r3vpK1958Vvf9sWvXHnj7XdkQeX1b7v0MUcdu9eBD1+1135bbbA5LCVrd2yGAZe5tpq/rdqs365US5KlcWPGVEN/5WSr09zquXSnHdorV3dXro3X7HRHqbZ+xx3X7Xafjffd7a7dd7lrlzVbd9upv99e4UP3nzj0EXfwsNxpzfi+e8z2W/3ZTTJRk15TbCIez9FUTMpdJtSoWJEg8ypbW0k6urq2+/0a1Ym7glp71Y7Tq3dYt0T+nY86cm5qdIPNbu/NxdVA6mxMT8olb2Rl2pJdVtxn0h999XmvuPDslzzl0Ue+6twLL3jeC8973gvPP+uFL3reC8553gteeNa5zz/rBeecdc75Lzr3yCc+gbPeuHEDO8/jEPvowx/39Gc86+nPOPm4Zzzn+GeccuyJzz32xFOfeuLpx5/43PPOf/Epp5zy1re+9eyzz37YQQftsGr15s2b6/V66PmB9SRzxrnQzyuVh6iPR7bv4ForLEMFFk19UpGAAAQgPM+zi2dgDCz2q2do11Cnxi+wRIKdfxEZ7MJ5d7NUololyl99PM+rV6u1Wr1WpYgCNqXV4m863XKpusfu9z300EOPPvro55111gvOPfdlr3jla17/uote8aozn3fWsU89/olHHLHf/fZ66YvOfuVLXnLwA+8/xudeu+nNTEu76Ye2vXF9mnbr1bDbmhGbeiO13h13xhs3yeodxKvOUUrVkU6pelecBTvfZ2u5NFOvTterW0rBZjFbnWmVy9H4ihnjVXfeZcvmjbPtllgrk+PSjyXk2whbajPjpcYTXi15iGaeOD9qtqsrV/fjePNdG834lJ1cfVdqeytXbgnslmq4sVreFIZbrZ3z/G6tblasXN9uZWFoQhv6tn3nbaP1snTb5q67pjqdh06ueOmznv3eV5y756odeP9dOzaZtPph5pXTIEisn3FDZOJibhLn0rjfnZneXK9URutVnnySZiMjI2xjucwuVsqVWqlSLVex5cr8MT46ViuXZzdvGavVykG4dcsm4tM0pmK4QFESO+coHb2CJMG5XXChFUapwKK51gqZQbVay9x3K5s/U1kBj/E0nX+aZxlNxgOJGJnje3yqgvEsCIM8i12KMAw5JdCJyEM20iIUmoAHUmeyfG6XiIn5bEv5IpAm3dh1Ex5PofMrNqhY67lMslhc4lmXxP1yyC1u4l5/bm4u7keBsd2ZuXTL9GQkj9xh4rVPe+InX3TOqw9/5LGjpV033lFpzJWqPI64WL2wbI0kaa8j5boNx+wcH9ElL1iRRV6Uelm13JYk40evLHJJwlcg8criV4QffHh788qdTiQj4+KsGF/6IrYskSdZSVwlk0pqiKyKK4sLRIz4ptOclsBKvUa2zNkkKHep45GahJ54VoJQKuNSGbVSyrpZKbFBqz3W7a7oNFf1+8FfbzigVjv/sEd98cXnv+W4Jz965VilFa+wSclFvVar7AWuE40G5XS21Z+ZnRqrGdMvjbjM7wW+GwnDpNflrcYTV6tyztiSMbFnkpKfVoO04idVLynbXshpxN0gyyZHRyyb7NJarZK5xPLctM5ZZzzPMTLlQonxLH9q0uLB2vnD3HPMt3Jzj8PI/OHmD2TeZy1VAZQHTUQYhtR9qVTCQ07CsJb/3CtMszhmqHNx2FIelkqXWoTiKBkxiZjUWCeszRp2QjzjbCA+xQeesZ7Nr6m1Amm/12k0JU2yJB6tj5R5Gm3etGpybLxSNp2W2zpTmm3vXS+d9uhHvfXMUz/5mlefcvChj1i50+hMQ+5cX281VxoZS1KZna1GSdjtm04v6/USiijMorJLSqkxmbXOMqnxfBtanyKuekHZsipj8gLl0zyzkjpJjKQivUT6CbWde7JM6J3/J76TwFnf+T4jM+5FfsehbiTrS9LTb+Q27peSrC7ehLHjcbZG7A6Z278+dtbjH3/5y19+2TnnnnrwIWt7nalucyLqhJ1WkHTTqJMmvTjp8/yb2zo9NTE+NTq64a51O6yejOJufaRkhcWx0Nxaw2oyM29FMpOvOLEm9Q1/C4s9iT2XeA7/3Yhk89clt1yaQeb9f48prnghzMChGXEUwnJoY7ElDgb9NEE9i4X6t8sWq2SUamyWZYVF0AVMx/20mMAz4/Xa6tGJXqvtW1sqByJu5arJXr/jHOWV8iHmmaw1O532Ol7c37lSfdGhT/jAs0+74sWv/fdnnnr0Lnvep9Gdmm3w099IrxkmzUA6fqnnV6Os3O16s514Okv7JopsFEsUgYnnRRLbLPXSlCvqiTNGjJ2/m3wT1stePfAr1oZObCxZN/8rWdQshTxOo6zfTJpb09a0JO3QT/kKbfuNIGpU0tZY1huPO2PddrUxW57e8uCVU2ceccS/n//iS85+4amHPfbg1TvulpqRufbKUqnieYGRuNdK0zhNk7AcVmqVRqsRVvKHEI+itavX3HrzLeO1kXazZcUsf7C9UMSg/6VwTRVmKSZVUXgGBRfd0l6GwcEaVnhootUiloKA5SlWrGHZ/DHo1MzcTovxjO012y5NVk+trFdr7XY7MakJfT6bMz/zAq9cDuu1Utn3+MYh/W4ty3a0/kSzvyaKnrjv/m993rM/9dZXv/PF573gqUcftufuD1w1uYPrl6Y3yF23eVvWhXObw15j1KQ1Y2rW1T2LzbUnWOm1Xb9noq6JIz/pe1niu7icJa497XVmg16jknTqrj9m0/HATQSSzWwKOnOTkqyuBKsq/oSLw9as2bhuVau5pjG3U7ezT+A/frfdz37C4y455+zL3/D6N51zxgmPOGCfFaMTWWK2bumtW+81m2vr1bTdjDrtLOryucGHDQ9k43vO45YIRsbHvvWdb3/lq1eyk7vtsmu9Wp0YGWPT2EC1CGVBU51qGTsU7V1shwYv45y/vBnXV2M0IeuhqXqBpWvJGtVQRgJarYpBXXhwbhesUtFRqrHFOaDpIj+wUOwwvImxyTtvu9MlKc+PsFQaGR+NJBtdMVoaqZXq5ZnGTKM5a9KoHvIiacvGdbqzpaqZWjUyUhMXu0oiD9lpxTMPfMAbT3rGu885+1Mvf8UXXv6qD51x1isf/bgT1ux4IK+/czO20zTthrQapt3MNc1Oc8S4EZNVTVqRpJRFYdIP4l4QtceT/oqow4N9rNMYac1W57bWZrbA7qG/KuqFmze6O2+vbd1y3zB49O67PeuAA9583NPef9Ipnzj73I+/8LxLn3XiWQc//LDVq/cwZqzVSWfmkq1bazZePTU6Pl62Pi/brXqtPDE6OjaCZzwolWzgt+P+TK/dSqMtzWZYrb3t0nfeduu6IKjccuNtcZQaQ/1ato49VNBD0d3G/kvh+nJlQWdhJawKuxgC1LlkjRKhEIdQq2JQ4wE8S0Hv8rBcKGI4B6XwaOaiuUBMb5nZbbf7xok4kU3TMy9+xSuPPfEZJ5x62s9+9UsX+PWJiYnJyZGRscALAs/3jamXfJd0+nPTUWMuTKNRyaqpBEm2WmRnkd19/wGj9SP2uO9Zj37M204/4yMXveLKS976uX97/eWveNXbn3/OK0985vOPOPKkRzzyaQceeMDU1INXrHjw+MQDRsf2GxnZt1a7X6WyV7mym+ftVSo9YHz84WvXPH7PvY598ANPfPgjnvOoQ8464siLnvmMyy644JNveP2n33jxf1544Zue+9yXPO34I++398PXrN7NGgrXrduY3rXJm95abjXDdnOSSvWMa7c601t5S+b1oRoGvU6/2+lt2Toz1+5s5juitanvlUbHgvoImGrVBKWfXH0Nf2MbHZ30vJK1dxeobiNWPQhgM7GD4BnKYMygHhq8jJNrXUCYplpmSQQvV6M6XhNhF0CvegqhzW20zE2kWgSopkARCk6SK/iHIaOjk1u2zAXl8M833HbsM0/66a9+e9oLz9t57/ud94pX/uYv1812e31nOlHa6caeFwbGCxJXFzsZhiur1clSaczakJC5RjzXklarEnVHs2Qki2pJrx71JnvdnRvxPi15mA2evHLlyffb8/xHHvi6Iw7/tycf8ennn/mZ5z/vcy84+wsvPOeLLzr3i+ef96UXX/DFl77ky6961acvesUHL7jgHWc9/3XPOun8pxxz5uGPO+WQQ4/ed/8jd9/z4JVr9itV7hOnq5utiZlGdfO0a/BnzqZvolpoxqrBeC0cq5TGy+E432+zVDr9sJ9O+JXxUq0Uu+5007NhqTqSBaXaxArnl/3aaM8GfS9opu6Kb3/3o5/+/OOfctzb3vnuRjvywpFeP+E5aoYdIjLoFsmb8q8/3Pyh87AABHYxhZ9wS2MoDFvsL5yLxeLg7fKwFOKxCnoB6l9s+1HqbDkVufBVr62OT3z7e99+5GMPP/2cc/lZZ+0ee9Xq9dR4/YwfLAM/rGcpd2z+S49JhMufNntppx84M1KiBMJaEFQCPzAiCV/MI5PFfLOfErc2kzWJrIxkRU8m2jLalbGelNtS7UilJ/VYxlOZymRKZKVIqRMF7X6p1ak12vVGc7Tdnez2xrvRaKtbbbYrc3PVRqvWbNabnfFubzSJy741njiXRmnc4/+L4zTlR4qM/yROwlKlWh/NnG3MNrnNwnItSmzshb3Ua3TT3/z5ui9841uvefPbzj7/pbFffveHPvr8C172opdcNLF6x1/99o9x5okpO7GDF0s1FthhtYUomnj+RRRXUPMzo6JNLM3CIoi3wfzh+z5Xj27AC4gCQhX8Co+0xUKdGslYEgJOhXi61M+XNQQQoLAAhS7ASS/oECzDAaHQBWK8cs2vj5d+9vNrf/en61/9hjcndHsyPlr5zk++/x8f+tjzX/HG71/zu+pIxSsHkfhBtSI2lLCW/9IZVj2/7FVKSebKtUribJMaccaGtawUpCEPJ9s3Lk46/Xguk44XJJn0Gs0tpbL4fpYmzXLZVUKX9FvWpGkaRd1Oa262lKYjYkq9xLZ75TQtJUnQj8c8r5r7bRD1a1lW5edTJ6WU73VZL4qr45O91JVGRkuj45EfZOVKMD5mR8eaxtrx8ahS39CLyqt3TEbHu2E1CqubG72vf+eH1922/v0f/8xl7//IAw565JZm52Of+fxcJwpr42Oj5pGPfty3f/CToOpzf4pwzwmHueewA/N5M3oAABAASURBVIf66GVvgSvFmQCCJtClMcXVYTQe/PQWYWg8QJeCBgLIBnEcR/MHToUhQICCVmiqKGx+k5GUYVgYFOi/D82jYzklRZ06MevQXm1i8Sj4aWILFjQLvwpevPqJ3Hz7HZVqbb8H7tmM5UfX/OntH/x0N5ZOlB5y+GNfeMGF37/6T7/+0+0ve80bN7cyKRkJxVV9V7aXfvAD73zvh6RaiozExivV6p5fmp5teC6oBXXf8Uz14rhfmxgRSTasuz0MbKXsd5pz7dbsSL3cbc6mcXeiXnVxj5fc0Uq4cmx8dKTSmz/Gxsa4NqOjo6nLGo1Gp99rdtrlSsUEfmJc5FL8frkyMjbZ7ScmKPcS14qSH1/9y//8+CcPf/Kxhz/5qRe/+33rulG77DUq5Z/fdFM0Nv5fv/v9Mc8+aXKn8Z/+5jfv+9CH7//QA3fZY6+Tjn/Cic86+Rvf+u7DHn7I6994sRPZe599v/fDH7W74oxkuk3/bLv8RdHZihgE4FRbCG1iAScMFXfXKAW0AAZsL2QohqjG6v2nZUovi1hQi3hAnVi0hhUWsQypSBDI7Oxsu9fdsKFVC+TPf/7zVVd9pxLI44848r577rPzbve15eoHPv6JH//il0951rOOeN5Ztxq5xbnNRj7y7a+/74rPz3nSdPLN7/7gnBdc8P7/+NCPvvVD2xVpJOOW2qyMVKrt6S29bnvN6pXimcAzNkvHRuppvzc2OtLcurXFn1ijqOr7gcidd9x+07oNSanUK3mb+u2N3U5DXLBiohMGUF6zslUK1rVbzcC0Qnt7e246ivp9ueOWDatWrA79kUYzvuy9l3/mS1976evedNTJp3z6W9/+xS03f+v3f3rIk570rJddeOprX90eGdkU9abbcvoLzr3mt79/6AEPv+66v8725QmPOeT6P1/7sAMPWn/n7Re87C0f/vCHGrMzN954Qxj6YijaZfZvO7qKS1OIZQYTsy3oFS8iSai6EDStmT+oofn/8ulyt4eg7YLhxGMBASo8zyM5aBM/swIeUCdNYLlAgIIHMWhpLiLrtnq+lYcd9JBVk+NnnHLyxW++7GtXXPH4ww678KVv+vhHP/a+97z35ptvNb73gx//5Kxzz/3oZz9z9R/+sL41Zz2zVaS+ZtWq+/CVWvg8/MHV19y5YfOhj3ncgw98WOYCPwwTHm/lCh++DRF/cjIql+/YuLHr+f0g3NxozfVjPqBXrN054EeD6sgVX//W2y9799ROu1TGJz/+xS/dfNfmyCvZ2ti7P/yRD33u8+GKKW9ifGO3t44f1VdMzFHno2Mr99zTjY24Wn2vB+57x9aWX7WTO6xoxMmDHv7IRxy0/xOefDTfe6ZW7/SWt73zC1/5+pXfuPKGm+/4n+v/unFmdkuju/Pua1esXLlp04ZyWPrDr6/zneyz+x4TldI5p5+6/rabnnD4o77ypc/uuftO1Ypv/0klOvRC4FwKLiVdahGgGgtFE3GvWA4KBQYFWrb/IIkOQgAaOxS6PM9jFkVjcEKxYtWFRQzBZLVa4Ikc9OA9X3nheWUv+/F3r9p65x377bHbT7/33Q+9/TWnP/fkFeNjWZaIJ89++hFRmkiUNLdMM6QictzRx914/Y18/n/7Z7/54levfNu7/+OiN128JYru6nY++pWvfeKbX9+ayGbPm+FRGpZ+v2mzrN0pqtbiWt1MTMYTkx0/+J9Nm7dYv+P5H/36t+7sRG0jt26cvug1b/rWf/3YlsqjK0d/eM1vprtJz3jrZ1pJUJ3ccYebN2795BVf+8W1123o9N754Y9d8pEPPfjIo577kguu3dyaNbLPAQdsbbTvaspTjzru7DPO3nNVPZ3tjyQ+P4294YUXfvfzX7n/fvv99JqfjVZkl/us3bJh3cMfvP8Vn/3k2ppMVvwg6jz3uMde8enL33jRC3ddO9lvbW03tkr+9XDIzv3druICIZZJQm9RiwjAswB1YmFB12Azf2oWhYLQcsEuM/3QLh2CBQ1QoZOph/zgzR++7wdB4Pv+fOvuetUhGsxAFdhBTbPAuMxkndnpjZ6kTzvqiB9edeUVn/nkz3/4X8866jHj5eCF5170vsveefSTj/j1L6951KMeyZvZj3/ww93Wrj1w192sSE3kcYcc6jl5/lnnv/xlF73j398VifvddX9es8cuzzzzzGvvvPMTX7vypHNf8O6PfeqYZ5186FOf/rLXXfyX29cfdfIZ+z/qsT/943V9kRs2zX30k194y9v/47o7t/iVsZVrd+3EMrFizUEHPvK/f/ZLL5At0+mfr71h1932estb3/m4I5586GOP+Nkv/nTic07bNNN67pnP/9p3ftjsRp/5/Fde9erXP+vZJ++ysu4ZWbN6p2uu+eWRT3hyaIM//f5/or5M1EZu+NO13FFRq7NyYvJRjzz4Yx/78C9/f/0ffvOrX/zsJ6c++8RdV03d8Jfbr/rix5/y2EPnNs6EaRK3W2l3ZoeV9XKQsUXFdv2DgqsAg0loLoWWndoipmguFkUM+QuNIDKvUSpjMYRuLyTRIYWgyfcGpmEyNH6tSEozCPICRQBOalchjGBAAAIQQ+ErQaXsrxjj68uWXnOrl/Z3WDGyy2Qt7buf/Nd3nviYR3dmZx5x0AFfvfLL9939PmT4wPve/YynHJP2sjGRfju976rR11500Z//8IcXnnPOkUccsnHrlhU7rOk5uXN685o9d/2Pj1z+n5e/d92dm8aqU694yWt223HP5z33+Uc/8bj3//sHL3j+S7es6xzxqCP33+MBdW/0ZS94OW8AKysrq04qTp5zwsk3XXvzj7/zu6u++t2977NPa7rbme3/+fe/OOIxR9528x1vvviSU0953vnnvuRbX/vO/Xbf90G77X3sIQ898mGPamxJa6k8+oCHp83OKy+48Iuf/dydt93+9BNOe+pxx37gw5d/6sofv+/yD9Ynx59/znOd653/orMvveTi81941oH33+vc55320H12SVudUc+sHi35cas1vX6iFsTd6V5zmi3ixP9xBq8CWlkmrQYMtVoPC7o01aCz8OQ1qg0KCIEFxD+IJsEWCyIhTaAWtSjV0lS0i1USqQxq9Sy23VbLpdnIyOjoSM2kyVgp7DRboyWzaiR41rFHfvvLn3jcwx5w7pmnHXH4o37wg59sXXf74Y942GTZlkUmKp4v8uH3veeRD33o2ScdWxX55dVXr1m9arIiF7/lzW+/9F1vv/TSZk+as80nHP74JzzqAU950lHW+Cc/80kHP3SPHXfe5ZWves3RTz3ugAMfVq3Wd9hhx9AvJXFmqIhMnva0w45+6tEXX3zx2y55y2te+6prrrl6v/32e/d7Pv6jH/3ogAMO2GmHNS845xx0q9lctWLqxmv/EorsMCZVz/qJrJ0cn6gEY+Vgl1XhK15y3u03XVf23QP2ue/b3/rG5syWN77mFSMi3//alT///vef8uhHPuxBD0y6vZ1Xj9103U1ptxN1mu1WI+53SZvwBE6z8fHxxTv2v+bRy4cFJh202lRPoYsmHqAJiLxGtUSwFI3Csw3QOI3Jf2AjmmqDZP7QpyPjzfxRhNHCSbBCfGn+COePYP7QzHQBwYzFQz9/WAFCSEIXGVgAIPhlDScQjy0Q45WrY8avucxLU8/3+KDL6tWy4afMJPUS56VSFTnl2Kc8Yu89nnLIwdde8/MD9t8n6vajbuxnctVXr7r9r9c/98TjeT2N+xJkye5r13z5K99+7CMP+MFVV/35t3+86sqvbbnrzj1336nRkyTtrNphgpfXSMRUzbW3/eXHv/nJE49/4pb25te97XUbGhsi09vKX8191/PkwtdekAS9xz/lMQ960I63b7j5E5/7SLUefv1bX9l9j5Wnnf6cV73ipe97779v3nhnuWK2zqyfnuWvm9nYqEmjZM1UdY+dpz5w2ZtrnjzmYfd/wcnP2GEkvOQ1L//BV7/8y+9duaYahElWTeK6y6Tf508MJZt1Wu21O64J+amWN6awlHqlZj9NTMX5I52+OOG9RozJL6IMHOxqQeE2xqiT/Ve40AqXPY5jLODRXixDgAxo/PQSxvVC4wES0guEAR5F/Vigl3iFDCrUMiQ/ASK2EU23VDDptGtQFFq71A51ahclq73MpSeDX534VailaYznxM+cByLW8XugiOGbrEt9cb6k/Gxp0tTPMkq4LFk1sIE1lXKpWglCX/bbe89XX3ThA/bZy8VuvCT//cMf1PJbRJ77zFN++bOrN65fNzUxPrtpc9m3POp45b3lhhv+9Mdrf/WnG2+48brDH33YxMToL6/5/ktecs7111+3w9pV69fduWKCV8qo0Wz3eq1ev7HfvnvNdKLDDj14p51WnvD0Y+dmNn7wPy9fu2bqu1d949tfv3J266apidFyyfvj//x2dm5Lr9vhQ3zlZP3CF7/wsne+Ne31dl45esZzn/Wkxx46GsrUSDmLkrFyEKZpmGZhluQn5RLPZTy7RbJM8rPPnAH2BDLH130+KvJLzGbK/3ss9tA/6BzUdC1Ae7F6jbDoAoILvUDMX7XcEAO5mv+HXor8BIb2kXrQv6A52KWaiZYS+OkFBBQCvRjf93l2EsNpc0th0XioywI8hSaAtQ1FkxNAHmAUT2snqZhMu3bZZaczzjh99aoVWZKyEZ//9GeedcIJz3zqkQ95wP0/+L73XnjB+Qc/9KFRqzW3aZON3GMe8eBHHXjQuaefccoJz3jUQw846zknb77t9je//pJ3vuXS73z1q9RNWWR6U2uE4o/TG//0p+l1d+2+du2aavjEww/feOvtRxx22DOOfur999zzw+95X9Ro/Pqn//3GV75yojpy2Tvftdd995yaXBF4vhWTRPFDH/yQvffcC9HrJzuuXok/Thy/MfU63Sx/nTC6eCxnpKB1BxBQaBVYnLBA0IRBv2p1ohWaCk0EVlGtTzss+ww4FV3YYjt4KenVVMtbu0w3k9GLBRXY5SlmLQTxhUYAnmXgHIASZFLOmZNH0GTgUOhVCB4UfOLgYSAwHV1YzUDOKOplLitXwlJgkyjlixdXvhyaB+y79/TW5htf+ZLPf+ZTzzj22J2nalf/4HvPPPoo0+92t3bf+vrXvvm1r3vHG9/w3re/7UG77/Afb31b1m2vGhl9w8tf9tynn7D/ffdYO1ZPWu2pev1hD3jQ5e95z0P33X9689yD77fnZz/60c98+KPf+8Y3jjzsMNftvveSN136b/928tOfscuqVUcd+bjxkdGo2+u1O9aJS9JqqZz0o5Fqrdtq85I5Nz3TmmuUfFMrV3gzK84CUWAMy+dBylkupIihA40FRIE21S52LvATgAcQCpsJbDWox8wfbPtQuLj6GNJeYnXUMnbJGtV1qGW8CrU0F8NkgB8LhSg0HgUPqB5qWT1ngmU6zhxbhBV6UKA1DAs0QV+JGEgqKLIZaz3PGMpBMmuk3Wlb4wIjaZyVPan4snpVg5dbAAAQAElEQVTFSHOuN1kPsm5vw53TnemZuY1bV9SqYSYjXnD0455w8tOe0tw43Wskj3jggy97yxsuetGZdd+//557Hf6Igxubpkf8oD89G881Hvvwg3eaXDFVqUkn2WPN2oP23/c+U6tsL95xfHJ6/exEWLa9fm9mtjnbdlmapQmLMcLLCq2Ev2D5nuWdBOf42Gi1Uo76SbnEywuf7JxTDntYQNstcRRdKrBQxKKBplqEok0sqKeweKBoqsDDYtTa+YNCXAouBxDFEIWBy7BkjTKG6dUWgubyMKUGFIKmaizQXB7mYvV6esTTzLbhIKygCOf+BqZjR4Bs/JgfJ/yyKdbz0jSmy7i0HPg8hTwrWeKiXsx3qaTX5stWIGnVM2tWTgYm27J+PX+Oz/odHqiNzc0R3+vNzawcrcxtnLn1hju6jTmJelTQ5OhI2muPVSu77rKq4nvdxoyL+ni2briL98uo3bJpVOeXh7nptNcl20iVm0LGR2qjlVr+TBcradZttHisuijxxETtbmC9ih/yZLWpRP0uZ5Ev27Bk/ns3xpji9AcF3TSxoAILNBU0oNUiFG2qVU9hcULRRDC7wiYX8GI/FA2w9xwMJMPyLFejjFywmgVNAgYp5hsUhdZIbapVzwJLheHhTChTLBoPpaYUuhAsScGjQi3DEXziA0L3hHmjOO5TpsZlLhVJec8zkmVxnPZ7Zd/44rrNzuqJyY13rIvbbcp3etOG8THqyuu3myYlrBu1m6tXjtVCv9dsdZtzO++weuXUWBx1K+VgbnZrOQw3b9y45a4txrnx0dFWo5ElyWi97tK0Wi7XKpW5mZlddtop9P1SECQ9vil1tm6e6bTb/W6P7+W+9eq1Gl/7LGvNv/y5qNf3rKlVqlQlJ8WG0KO2EDSdI1qwQBMQgIBCoBU8oFotTVCNVY0FmlCIQuOxNl8ploullkXC0ALFqWFEAutXSLgMS9Yo0y8zbHEXk6lzscBfOBdomgvQeTkBhV48Rf0hQD0qCAA8WCgE20STr0rUaJqmLEB3B3+n06ErDELeB/zA0vR9G/pBp9VO44jP/ebM9Hi95ksmaVStlTduWicm6/VbVLNns5VTk+tvvx3dac+tWb2y1ZyZnZ6uVINOtxWE/MKQrF6zEkFz6/Rmy/tDtYTu9tppFrc7TRIi+lE3cwk/RUyMjvmeNzk5VqtWWWS71fI8L474qsZ0smLFeOD7SZJSfe12h9oVVsXq74Eh90hC8jKl6eYPFYUdKnAC4VhlUKsHixNUYAdhAVwpLCAUTmEpNAwLRZ5BXTgLkd8EGsEiuJZJknBRgaYWAaKAYcQM+vEoJGF9WHoZTh783Dd4FO1VvYzl3BjILFiGVyqVUqlEYfX7fUpKM2OBJs5ul68bPQTgwQ/MjmXZTEoestHEMm8YhGOjY5ZPVSekZbWl0M/SuNNqJFEvjftJ3A98Hg6uWmFe6wV2bGq8xCdxJQxKPr/tNNsNmgg/9FqdZuqSKOnHaeQ8MYHtJf1Wr51IGlTCyki1NlYX34xOjpXrFQLQmXVRFqt2lod5yin2+5HnsTpXq1V6vU6WJaVS4Fza6XR5J6GZJFEYsiybzB/p/MHigdPkHBk8CCdOEwtsKRYWCwYynGRxzH3B/vHjr+AZhBhgIlA/TZIDObEKehDmYnsVrmMBVzOcP/DQyxAdTk7Q/FjmUtAWxRIVtEKTvmIMAgZz0VwA8bDAOdhcvreIZJZCDwrOWbtYoabi9HDCUKFjiQSGKJzX/0fMvW63cRxrGAZAMbZzWCv3f4/5lYMTWwT2A75SuT0YQKRseXO9/vRVdXV1z0xzSMGJX84v5/Plan79T/XH65vIKfKCuyL5cjz7ewp98eZ89Z/fZNf8+TVjwvl0NOHydPnw/Z+u/Ok5ffru+cOfnr2lj0+n4/NTevrwdPhwunqv5fOnr8vrD+vD4eAyT6dffr7J4/CGLxOrGlP4LrUWmpKhKHNPZ8Vbs05pNC3PI39PP31fvn5z/iIeX3duNvfFRmtlxTKaUGunDFYv3KUOMyR8fn52HGVMByOU/LB8raGCUGwbruj18s4ff3q58vP5489nf5e/+o9nv45WnL6ePEfQx+E4OKPXv28fDw4whFGxM3U4Hc9Px8uH0+Hp9Pzddx+8J77/7un52emkT88fnmz++cPpA/PheN33J//0/MHi3pTwsvTiPB4vzqd3Ku+bIWXw2X9advOHWzQYWr3w7bhdOJ/PdOUtHSyqjIKJPIXMKAMZjOFvuZ7Rl89fr0/xk5xfv9pl0zRav79LjipXXKiSESJDIUSG3qPpFGrSDx7w05MNFDJPT0+SeH5+pivPzoTnfDyabkV7c4mfLuzj9UQ6lD/7cl4/fvz5VS8Xf8m5nA+/4uXgTF7/cSi1wrXjwRvzyjU8Xr/ajP2cPm/pehCfng6nk+HL8ajSAbXD1Oh42/t4fjk7oa96OZp0ur5oncrrygeZw2dve/wux+N1lePnLzVZ5l3Yz4qNFd5rMqswtzUl00b5EGYo/4C7P+ttLtqiRnGvl2KV1aTCkqbwYDCGv8VcyXSMsHNAh+uZOJ3oLafTNe8cGDJXHztxTK/87DhcvEHPHy8vfpf0Nn3V8+F0y+VwMtfDv36cejhkns6H48WpuTDy12N4PJ5Orys+PZlw8iq8eLUej462Y/7x4t9teX++8uH59AwfIeB09Avu9RS+XM6DQzmcP3/PyPCH+18uc5f7M/ZHzq9fntHrn9e3aWa/+nPW0izdUJJiM7QJFdzDv+O2H7f8cP3j8z+q7ayIj5rmb3WKlTUqownPUDDI0HvUgUJNmnl6fVHNa9LQ6fVdxaxI+nmrbI6pUR1eX5Z+hXSxVz177BfGk+glenT85PBy/PRCNctBpM4lkz5dDhCeDsenw/HD8YTnk79fPR8PT6fj0WmGZS7nM84vL6fjIeRxOh5xPB5d0el0uh7B8/nj+eX8qu6SPVD5w+F6iPOSwl20umW38nHyutDlYhuXX3/dm9WiRhm6oSRFQ8wuje7qSdaclAmhXaJ9CjFD/C0Vy69lpsvE+DHlN2r6mpnQLN4TXU/eLLpOyavsgDIOgbnlqRPxysnDv55ab9BLZ+/gm/VyOOFMHSXVjpb34vn0dDk90bMDdTperpxeM6fD09Ph6cPhw9Pxw4eTY/r0dDzhdDgOuh8uh8P5+gLmcfCLrszl8vT0dNDyeHy5XD6ezz+/vMT5Wm7GQR6F1+3c/+d4vO74+PlLIUvfhfu80h2WedxkFlrN+OYKwdPYeOEup6rTqRDaVpSUybxdm05NSZmvw+p1cNo8VDBalaSYcDVVKtYBhnA5XcXP4cPxUvLox8n1+cp/5vOfRyfpszfl8vlvTtJXXmdp8gunw+npeDoeLfp0+EWvx00fb0LfFmdTD8fz63fG68+B644Oh+Pl+gI7OBfn82QOh8Pqhbscj0f54/GqDI7HX7zwjVxevxT7k4IB80WOx+uKx9evKRaNZ9Zw9YbucfIz0ftGtX24OZTHn//85/ls0u2WN+r3uT7f6mVmInj8/e9//8tf/qIb//3335supCauaCKkbYiHcLAEhPJQZjOUlwxeRv7p6YmGDAxFTdQbVQZXcfK0TxevSB9MHp2gpwN/ejocj5ezX1FfuZw/4nD+eDhf8NLX5exl5uOnn/3byg/Hlw/Hn45n/7Ly/Px0fPa39eeT1+jxaAMv5xecLy/nw4vPBy7Hs7WsIvPympzMwbpPh++e/3T9BPjZp59aXDd4OF8uLy/+9dLHn356+fnj+ePHy8v5cD77bsHl89fh9ev4+Uv02f7qz6fl6/UO+Pa5FqjXaZQZDPMUTdFDMeTDUJw/f615sxRDkmJMf3N1U5vXkFFLmBV1pvLKvECUXb+t/VHWAHMPc1RWU0fdca9evmKKTSiDkswfwtlP0etB8fH59eV2vlyNleXp9XdIfzgNdOX6BvUSPR6c1EHy4Mf+0Sl3Ecepv+YPh7eoKa21q261fKqSobtY/ja/m5yyRikkN1q45jeZ3SFJ2Gd0WvKja0E+VTCGR+GnM1osZR/B79KqhhxQR9N7NJW5h4aG6CAMmY0p/HbqSsMSmVUlh/ITbszsfJP/dqH9PG4+W2LwxWI1qCxD7zFlCngKxjHI8LDJcE4eUA1VM8rssnNGrQoL76KLrSjoaDqj4HeLb5PmrslCivLMN8X+YQkaeQqZNMM/YDbMVDam8LeoDUCHVYWPsQFUM6Zwo43SWzzckgzyX1T9bTWcPD/NkUmFUCDcIBnymbTw+vlozhpoK493ZtShdDTBCJt1T6ftWiAJmTTDf2u6+HtqdUMUDJhdZsMZit3K35JsA6OZ3YZWxwzl00muxhBk6EpPMy3PI3+r65BudthxchwZukHyHubGFBRez2iO3u7gNuNQwukEY4vt7LbyixkToYyCAfOtcaW3tKg8kzKPsdvj8fo7KFPlmMLfovaAr+hgDzAxZXYx+hhPFpsarTYZNZA0BHtGh6zTyY/hMQWr3ySFoebTz3rdw2KPcTThdEKlWXrZBP8YlVBDY/yY8t9U7VZ/Gnk6yPMUzBdp8xRfLH5vgT0M5vJ0l1ZPp2ATTj5jdIP8JnMbVpOuozJtj8LZCmcjkzZEQ5JJmV0+nVFj1ogWzt+qbxo4oLTRFsg/0N22kk0ZU/hNdb3YPMXtorvJyv7IDbfig81UsG5p9Y1udLdAcqh+E0rKjDIbbPIenROjptDIjzJoKBWe/vvf//78s3+Hfba2FyQ6f1XcqjKfgCrz/eGzLgurF95WllEPKwkVDzK7OPpoioKZlW/R1pWZMn6DJuaq/+mnn1zj//73P8aVSqpMGR2gGEzIDyp3USCvv55ghKYzc40yt5gYisGbYm82CUZoljxF3SThwmVgNHQYZAypV2lL0E0GDVFMvUvu2XmgPtj2yTcYyMBjVaBsKKQwihkaYwgWGmwg7O0eLm2w/ykz8dMnuu17mv5hxg5aa4ywzWxUHsravcvokmR2UTb5JtJvx6zlUW12LlyT9iADBvYJ0/ngkU+FITQRDDIUQjCwHDKSK5Jr+HZvItTTyDuO0YqGZqsKvgIdsE7U+Zdjug78Ad7FtMoYof0NwpBRA4/T6ewN4SXh7SjzAMVmoT5jCn+7aog2YC3YKq639XS9sRsjNLqu6zvNdE0weX5lzec1AZ8y4NES1NGhMoawGv7r0BDNzXjdwlqQsRBsnr4LPdWnDMaftIbuUjBmATDflFliNflVZw+SniWcA3i0TipkdlGAGTId0+13MRqiJWwp3EPoTzGGRyGdiTYJTWTkwTxmasaoz1NYyAOFJ1sok6Fh9OvQap3ox71VIGkI9Wd2aXRX1U8+T3E9o7pDMBVd84TfzrQQRav0tEaZx3QyHqvmqP/vpTWkba8NOG0yu7SuIfUVU/W+zShvSA2FGlqYCsOQYmRolOGVmTLMY81QGKXvwgnZYLqMVr8jeoaeDIVVPiEFuIe73gAAEABJREFUKRcJ5ptiCVgizfDutWcWfAjdfSiAYltt3xXcqiklzYJZMPF3RMPQv7VGy1CUZKLQ9pzO4A3Nxup5TxVDE7qLId2gQz3dK/Bphn8vbrgpdMUerIhW3CyqfoPVd6lshoQ8xafluDDwRzKXNGau2WXzwbsFUNY+7dvPFz9oJB9jSnyL66pzG7DJEGZGZTChi3I6KSQNoVY2mUlvw6ZQmEtXZKKGVIcVd6+QeRduuPqUQd6FYBad5pmvUJ2xTrz+Xi8V68Af6T2PWc5tdcGjzKAMKu3WDXJGIbNLs2bIrG/ELDGmpb+oLhOVmdv2MqnMGB5C9WYhQ6NMflS9e2UiNkb4FdSniXnrhkUthxlV8F7MnSnjf/kMX/cVFXAUwmkIG/Ix3o8//sgYUhPNtYBQfkXGt5op//nPf8z1fa/MJekAoVF/QzekxpB6WM5r0t8ZfVwHeT1LyvN1UCCEIUkToViIyZSUz6TCtq0Vv0sFu6pe/1bhXYsL8WkDmK6LytN//etf//73v90B16hARt66dg5NbAn6WIvKaA4ekmFW6AALhaQQjLaDWaaHbmFFeVRmyhdpldT+Pa907r/O7b+emg9lWiJvyJbUw0QIQwYyvyi3iy67VFw7BUxanspssC01tF26jy6Vl0FGQWzmvjdsA2lzeeRvtaH0dvQrMi6tC8yMX1u50jX8lf8cqEFRhqLMra5D9/zMUhCTYco81sooqmTA02FCZpjR95pf/az3qIZaO0OZUQXrGvJqIA9DKROGnMLogfn+88rko6FUcbPepbPiGNPzqRDjb43R3wtH8xZXqr97RSOfltmoIbgh9C2YPmW7viRdmSnMmr/1Ch6gfh0V2jkk08x44QZT7nH3jG4m6FjGAw6hZKvSTVIGTp4T6Zl5SBDyMmBQUl6xbtD2XVhXPQWDWzNJQyjM5OnvhUuYaxlfxhIyYDCGv8XoSh3WzBv9dFbPpxk+NmHJXW0b6W7BmlQGGYox/C32cA8/9/fxCGGMYgyP2lkVrTfGgYPD1xHsOAorSxVEobk1/Dqd/TDQJM3wyFMUZvKpzG/HjdpF57lMBmuG3zB3ZmM2ZRNqCCG9RR7yKfNebKMpGYoy9UzLUKO7GNrF9HvcfY/6nX0XjzPqaL220pmjjiMcUDigfrlm5FWa0lwqjDXp6QrfhVbqKRhkKISRp5ChYDCG/+24hNAWeepiNadgMIa/xSjcW/p16GkiBYMMhfC9zGZuzW2raiiMUozhN9jSPb7yjNbOkmE9pzDWA+qMOqAwZIpHNedeGB4kGqIl36WmT30+Lckjn65hPm30N6obokOa4ZGnKGQeoGbFHV7DXa/b5FcvKRyEg2R+TOHXqSZhug2DQYZCuEsTd/XuGXVcBgdr/OZxznqWh7OYMoOMMsubO30KZVaMyn81Wm3mrpnVV3abKf9b1JV2vRQTbnrKy6TMLYYgn2bGHw4SW9ZRHpuKB5nboc3cQmXgKZgVmZhkYTrJ95ovn1EHNHyohj4Ps4wj6AXprcl4GAyV78FLeon6LPDPr/8//R9++OH75euHH67hd999p1vn0lwdNBRCE+g2WNo2GnLN+ldvCoQ6QL2J8JGqeqEhNCTDhCahBiVv1dAultjFEm3SqP41tFW+PvIKlMFF8TJQULHdqndRgzs5XiW0UjyVCmTCqJ6ah7aoWP30kYGhaO4DrSw1MWpot0JDpjNC+6HWohsqMKSG6mCWDfOhXhIa4no5/tjFzEHBeOZeKG8HUGNVD8BBcQpTZkVBdCt5hpoLOxtlhskzimk9rZUZ1Q1qoEyHtscMMuP/f83sZEz7mXCM2xsyg2IPdZN31TAElaPM70iLUktssMomI6xyo0LFmA2PkTz55zH6VjBmDUtSWKk7xTsfXpNeojTWk+pI3WKKpM3BEvSWyTt5MKVDuTYvY0g3MCq1sis7pNBnEGLCb2Qsscu6nAIhBRPjM+5wuBZIxibZXNpoJi3zXjV3F3sY7GG8/jxdkRnWYkkPaOh5/RLuLiw5rXkI0zGFNCwz6O5wOJo//PAD45TAwjBUvXwYQp4qGFSuvlATmBI8lNGVRjUEr8D0Np/JpzLvRcNd3tvHBmBWyoQQ48d4tOhWl2wbMuoHQ3zKDJNhfhesC/1HGcjUf2MMQTLG9+y6lrSMJnf/fb2xqFc+lWFGmUHeAs6Ek9H7TAh5KLOnaAdUMTK0YrrBdJRUH1bRTVtkKISKdVOmBozQdEMwigyF8JtiiV1a1BBDByEKMxSTcS1C6rrQBTKQNISKd9XoN8U2YCcUY+4tqgAqkaFx92e9C9MuzfAhDGGGOhnUAg4EumXWkAzFUAZvgpIVUMjQXQyhIUtEq9STQmcKRj1MsROVYCAZypiU+f/CBmD1lAkhxjNCMC4qXM7gtx10mUaVKb5cLr+XarhLz8KKTMrAxtLV5OVVxq5fkxZ99B51eSowhocQDBhkrGoTbhMsI+msMIMCyKdM6AA+NQohRYZCGPW0XOGtWlo3eZXKbAmMJvLI0K9D512+rlv7MXcMjwnHuBzrUteSui74zcoZ9bOrfHPdhEzTKWR+R+xhaOlC3q4oxvCN0tULXdQt5e++R+cy7l3Vmh+vqbXBSHaParXZQUk1GM8oo1jN+PLCEFoIQooxlq7zZOwKJU1c2U2uBb/dW2KXtbMCIQUTq5fpcihcb7gupxOdBkmjijHTVzNewW/EWmHFlZK7qkx+1cJ2Is9QMLj+t3Q8zltMg7pUaZTppvjG9aGnvxj5+/vf/va3v/zl+t8fVe8WQP14IWSaLt+KJde8u6zGh2Q+LVNjSA0jaZZ1Qyg5vzNUphLyUCypAEL1OnvZ/PWvf7VtQ5KKM2qYXdQMU6DbJDemtiXXelNsqc0zClyjzwinZmMcuLBbJmXccLjncNuHOitQCRdrRaukLjBsT0ax1VGSyocpu2y2N6G5+oAx0bpusl3ZCewkJEOBDO8qqBp3Qzf5sDdIht1u36NSYRp4itXwu6xl/FfjUs29Vck/nraxWXc3Wc3unZHcjPYAqLxRjOFv2R2dJIOZxaOQuYeChm5N+fdqfdJ7c13yLvfq5X85o1qbnDLGeIox/BeZ4jFfnLIW9Phvda35g73NwKIpA34XQ7u4G+HehrcF+DXPy4DBrZEcHo9WtrsZSaMUt0byXegQ66wyt+qSd1nnrl6H69+ZpLgw35VToTxWw9/jtnLN8G9k98FLvnH6tytrD+lXrOK+ubHh9vZzjU5mYwpn1pjyt6pgaLTw8VbVVHA8Xv8DgPl36fH4q4nH4zU83v9qb7d6b1Gdtu9Rk91BNEcFQ8GAuceMMlBG34tDsMt7+7y3fnfRSdZNyNAHuOoHdHsdzfDbmFuN8vR3oQ3UyoZ3qcbQrZF8Fzqop8ikwrdjyj0+ndF6dVVuGcqYxlAwD6iAorIMfS+7J+C9TX7f+rakJ0O/gu4JdZPdXnRMhYMkT8FEU/IbbYg+4PFWTaxgTOHbtYnpzBLeww3cZeZujD6fzqgBAeYuyECGYjX8LmvZxgvfyO0FmChJvymWeMC6dGVrZvW7d2aSc3udQjimk2GUpcxQJp1kpiRFmXQN171tvOIyt6b8e1WfeDCxu3er96Zo+MsZVSQOFykcJMd/0byr+Lab3W+St5lNwR8Wrjvhd7m3GbdlxR3Gmnnstb0tmOSYataQ30Vl+VtT/u1ah3RmCXfZvWmSM/HWnHxY5beivqGV+pDMZ10+m7RAN5HCNz2U3bYoY2L4nGw1ej6m6ZZbkdTnf6//0VDTLW1LGZvR36iQX2et3lUokzEXKvU0hUpCBx9PQtJ1yQxqwhD4dAoYmV20tbTdgjfX6u5wWMhOmm57CvhQuaIsGqWNMsjT9sCA19DqVHNlOmTag2cNexAajSY218SSb1dTLGEhPWGiUFLbXdRAPRSrsTSEu+h293/jbPK7sIz6lHkvJoY9gR9lIOPKewCau56ukH+MiUN9pl6HkNnUqIRkQzTK5He1hrfahuXH3Pp1yELvwmbW+gmtwqfMIIPCDEWZ+7odMQWT5WPdzOqnsuQmLLmqbr86o92jdCZvzDp/9cqENPJpmY1aG5JqwplAp9Bx5IOXVEO9Wb2fzLJJMPfYNDe9bpQ3S4EONORX1BSqDBnkH6ieQ50LeYYiM8pAfuXeEu3KToYydDKMEMz00TyfoXj7us291ekwQzKY8Nasu8rTe1w3edviN2Za7F1NTHFDw0F0KHlJMEJJhvrR7Izy9VdwjwqoAvWaBA959/F6/a//JVtG2T0UG6LBI/9YtUU1GQqZ0UwZfpDZxebD5TAps8EOIamJnhQMxvBDd2PC9xprheYwne6iTD5lkKf3uH6GP2MuKWRMfhemRLPytPBWXQbk1bQonTsuvxmtTAEcVsUyUPkYNYphYsiYov/6i5EQ5SmEYKqnIfOAajaqfpP56tCFwIWsKtRQ5pYugcI2kHEowVOMUfAuWtcGPBQw9iB5D80NpQx4mHWPk6Yr6gpN20XTXaa40QnvGTeloeqtG0J5o+jeCdekMq9SL1R3RP4eZmFGzYJLozCkeViokCmzqg5GUwarF27Q/BbrQp6CCR63XmbTdkJDM4V/TFt1XU1nwNNwpZlRo7tMwcbYgP3A4wgZ7DaRbEupEPwDdD7p649hQpPfhWXUpwxWL3yASrgwuAVuHLzkwMjAdCpU6Yz2iykvv4vi8mq0XZExpAAaUjCWw2p4ldUzyKfCW+ZO7pq2MUPC8cwaWmIXNfJ0mJAZjPLUpdlkyiBPV1zpGt56E3exbTg2HgoYoXWtvss0aXQTllxVt7v/27yZ/HXGMiamzC5uxORVhmR019LKePD27V50I4RvQfPqmam30HidIUMxZgpMxIT3jFV2MXc3P8lNwb3+ynZRv+YnZMIVZVIh+DQzXvhGLOoSPBEwyDyYbsqMjmd20e36+6i+DTezjUruYs7goIRvIHPVC/0Uhho9JXmjYTSM/vf1y+uwAnlJHUwJ00NoS7wafSpj/vWvf/3jH//48ccfXzv9d9PnP69f/379UqO+5p0/PTUchJYIXl4xrOXTRPR+VTBDGsKicBWDGlhFH9PlbeGf//yn3dqRnah3IZprBRko0029WU03FDKQDJ0zRtVrpSEYYW0VKLNtH8qaO8iH0ZITysR3y5cPU0OfMbzObghMqQ9tP67CZjwRxpbCxsL2DLlYKFtr6qBApVmGFCiT+dW/Z1K3YtVCBnzKIE9RyCCvNYStZ8mhjCFUTL+ariR1SXAXYJVoG9bqecxCQp4iQ4eSE465l5+CjOUyqbDNUFt1K2gYGioetRaEKQMeDDIUwsinkxGuyK/hrVcAeQoGGYoJmUF+cNudNorVTMHGKINbQYfCu2fUsC4UDJiVMqn8mFnAzjySCe8Zc2G6Sx1lIBP8PRzH8DZC7yrqsMJpaA+m12q0TCo5hsca8iiZGS/c4FogSQehE2k/61bzbsuUMSo1j5ZCFDQAAAaQSURBVPFjyr9Fv2LKtJ25qxlfWSH1KoUkH64Cnj7cfGQoqrlVQ25FOkaIR2fUShtqfZucTN31tbOw+11Uhrm1pSrTDB+bsGRqLTiLcA7gKICRsQejFmqV+tAVfdZw42c0Qx9joV3sxH5szDdSOKNC28PssOazB+H4jelkpOvQZsptgWJJZfdQcA9TNkNaTcboXLvrhUsbhJiCjXEHdjH9fWd003cN1wX0tRuPBHwoyKw6HdbrdKmYDCO8h9GoQEMLoVUYGRit7C1acaqeQYZCeI/WGmXCTmyp2+Jo+hYKSUOoTNv603s4FjCaroYfajUhoz74t3Pbp7nl14Yy6EK6IrpBwT1MNESRSe+e0YZV33I7tGbcdHgY4XnA80gz/Gxdf9NjvfgyqXzmVvvNvTs1o3qasqFRSYau3GZmdIYyFEbpLpbepSmG3JxwB4R0mIaKNxgq40p3zRQ0uqopMUnh+HvmQcN1ilahHq4o8hQyNPhf8TlYe67erLtntLkqMD5DS6bCwe3mPQOGgnmMemhlZxQZigmZXdREo1qFswu3bx1VMyEzIQ9h8EOZUfnxu6bV0ykQ9nfh2+ndHAVhipqVyYxZR1c/BbdmLXuXn1YzSwYTMnOTeUNdCA8hXZHZRROopCvXzO4ESSulmTyFDDJ0mCTj1qcOCqw6ysAozE2ZXWxxNz9J0ze0tCVgXWiCmcJDmDIhjMJU5p4p/0BnY2psA7pBSGOtkb9FmSQFAwarufUyUAYm+Ch8rCoVpMwggzUcP8ZFqVkxVMjsYtT9CX7l+u+ZdPRcvfP8CPYbpGGfkf31r3/9y+vXn1//A6Lfv37J9/GYGrPAOAqSpmsCOygp7+XhJ35Dihuyj4bMYiBjilGYIgNJyEfTFQxlNGfUmKghNVfolwrXYnVbqkAeCrSNtZUalDGqMtSD19OobnpCzUqjCuwHyiCEIUhC0ipgCnVGrZSpH4TlbcCl9QnlFBtSMMwsRv+winCQ5FNDIYR8lKQl9bcQmF0M2VI7ZDQx1/1xdTE+UxOzwpQwMRSU0ROu+vqzXtM2JOVeqFDXhFs1tHJbUKvUqGIa93yjdC0QrhjCbUZyMLr69kCjy+SV4dbsJiujgzIUjhHm6RuxVZUmIkPvUc290bfn39invb2l7TRkYApdKUPfwqy7muv/flRHz08LB7Q3pTMu3MVkKKDRdBpmMWmmMhmsfhMaknmMmqFKOwn5MXyjNhAuEL6zy48azTODyvFG85m0DFUJBhkFD2hj6VpmupAOEzJhKPMu3Z21m6ytvWH8xhRuVDeUHONWd0MmU8EXdbO68HpGm+b16Yx6tXqbetjG7mEU6qm5NjG74TcoCN0yNJ8WjhfuoiCMZlJ7iPbDM2iUqm9LNokJMxQKDIEZhCisJi1jKISZVM0udgJDGzV9RcGEPAoZ8PS9mDW8fe7sM3Nv4nTeGGc03JaG7nUobxWMX831jJ5OJw/V0YzT61dFt6rR6/h1CiO0A/uokgdPQ0FIMrsqCaNgdjG0iz3A/kcZyICJ6WlX+QyFDIULQYY+QNkGxTJaPcAlzGjerF2UlWeweuHbMXEtFsaa3Hgbg2S6Gn5D3W51Dqh7gs2se6EVYTTNXJ9gr09vUA9VFioeo/I683T9ddb+bILCXLoiExoyu1rS6APU7GInaDOruqi+5dZRHSzR9jI0JOcqxkjuYop8ZXTF0C6WhiEaPPTBGH6QRCEDnr4Xs+ItE+2tsgxFmV2dzpnR9YyWNP1BK0NQgwyN62P1LPs1VMrt1lHdPdSEmUxlptzSUDWrrvk8vS2QXFEAGYoxPGxmg4sKZzQqsE9zsRp+l+7GZqi5DaUV5I2+EdtGc1MTGRobv4YVvEXXWXx8caKNfbGmghqOSubdjRBKvpFZdzXXn/UeobcO1UjfNzbVJdTDXIzJFyoTDmt4z0/xxkz9avhbXA6cy1QBj03Ddii5MULI3yI/GN14mQfYxoNRrYxSMBjD/2HMJm/NF/cwG2ZWvjhxCmbRyVz/vyKyPTzGu4f3op6KW9Pa8ophlvr5PLKPwTrrKg1RNSrhxJj4ABMVK6Pm+oyT6hAmysMm1UDGkEXDdBmjNIyGIZQc1SqvFa9AH4tS6wpdF6MDL19oilAeDBSETBSq1BYZG7MQhMo0ZKrUBK1LDSkwam4oKyO5izKd3WRYSI2GkuAHfTDhrbkdldEEinltYTNgMIYPbz3bsB+YaBYM0dBKPmVKppKQxOVy+T8AAAD//9JWSuMAAAAGSURBVAMAjmsG8WOG66sAAAAASUVORK5CYII=');
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    opacity: 0.12;
  }
  @keyframes slideInFromRight {
    from { transform: translateX(120px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
  }
  .hero .welcome-banner {
    display: inline-block;
    font-family: 'Baloo 2', sans-serif; font-weight: 600;
    font-size: clamp(24px, 5vw, 38px);
    color: var(--navy);
  }
  .hero .name-line {
    margin-top: 8px; font-size: clamp(14px, 2.5vw, 17px); font-weight: 500; color: var(--gray);
  }
  .hero .name-line span { color: var(--teal); font-weight: 600; }
  .login-hint-link { color: var(--teal); font-weight: 600; text-decoration: underline; cursor: pointer; }

  /* ---------- TABS ---------- */
  .tab-bar {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
    padding: 20px 16px 10px;
    border-bottom: 1px solid #E2E8EA;
    max-width: 700px; margin: 0 auto;
  }
  .tab-btn {
    font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: 16px;
    padding: 12px 24px; border-radius: 999px; border: 2px solid #E2E8EA;
    cursor: pointer; color: var(--navy); background: var(--white);
    transition: background .15s ease, color .15s ease, border-color .15s ease, transform .1s ease;
  }
  .tab-btn:hover { border-color: var(--teal-light); transform: translateY(-2px); }
  .tab-btn.active { background: var(--teal); color: #fff; border-color: var(--teal); }
  .tab-btn:nth-child(1).active { background: var(--teal); border-color: var(--teal); }
  .tab-btn:nth-child(2).active { background: var(--coral); border-color: var(--coral); }
  .tab-btn:nth-child(3).active { background: var(--purple); border-color: var(--purple); }
  .tab-btn:nth-child(4).active { background: var(--grass); border-color: var(--grass); }
  .tab-btn:nth-child(5).active { background: var(--sun); border-color: var(--sun); color: var(--navy); }
  .tab-btn:nth-child(6).active { background: var(--coral); border-color: var(--coral); }
  .tab-btn:nth-child(7).active { background: var(--purple); border-color: var(--purple); }
  .tab-btn:nth-child(8).active { background: var(--teal-dark); border-color: var(--teal-dark); }

  .tab-panel { display: none; max-width: 800px; margin: 0 auto; padding: 30px 24px 10px; }
  .tab-panel.active { display: block; animation: fadeIn .3s ease; }
  @keyframes fadeIn { from { opacity:0; transform: translateY(6px);} to {opacity:1; transform: translateY(0);} }

  .panel-card {
    background: #fff; border: 2px solid #E2E8EA; border-radius: 20px;
    padding: 28px 26px; box-shadow: 0 4px 14px rgba(20,40,60,0.08);
    margin-bottom: 20px;
  }
  .panel-card h2 { margin-top: 0; font-size: 24px; font-weight: 700; }
  .panel-card p { color: #3E4C5E; line-height: 1.6; }
  .panel-card ul { padding-left: 20px; color: #3E4C5E; line-height: 1.8; }
  .badge {
    display: inline-block; font-family: 'Baloo 2', sans-serif; font-weight: 700;
    font-size: 13px; letter-spacing: 0.5px; padding: 6px 14px; border-radius: 999px; margin-bottom: 14px;
    text-transform: uppercase;
  }

  .sub-tab-bar {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin: 18px 0 20px; border-bottom: 1px solid #E2E8EA; padding-bottom: 16px;
  }
  .sub-tab-btn {
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 13px;
    padding: 8px 16px; border-radius: 8px; border: 1.5px solid #DDE6E8;
    cursor: pointer; color: var(--navy); background: #F7FAFA;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
  }
  .sub-tab-btn:hover { border-color: var(--teal-light); }
  .sub-tab-btn.active { background: var(--teal-dark); color: #fff; border-color: var(--teal-dark); }

  .sub-tab-panel { display: none; }
  .sub-tab-panel.active { display: block; animation: fadeIn .25s ease; }

  .today-study-date {
    font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 14px;
    color: var(--teal-dark); margin-bottom: 6px;
  }
  .track-desc { font-size: 14px; margin: 4px 0 16px; }
  .study-link {
    display: inline-block; font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 14px;
    color: #fff; background: var(--teal); padding: 10px 18px; border-radius: 8px;
    text-decoration: none; transition: background .15s ease;
  }
  .study-link:hover { background: var(--teal-dark); }

  .zmanim-card {
    margin-top: 18px; text-align: center;
    background: linear-gradient(180deg, #F5EFFC 0%, #FFFFFF 100%);
    border: 2px solid #E2D5F5; border-radius: 18px;
    padding: 40px 28px;
  }
  .zmanim-icon { font-size: 44px; margin-bottom: 8px; }
  .zmanim-card-title {
    font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: 22px;
    color: var(--navy); margin-bottom: 8px;
  }
  .zmanim-card-sub {
    color: var(--gray); font-size: 14px; max-width: 420px; margin: 0 auto 20px; line-height: 1.6;
  }
  .zmanim-location-label {
    margin-top: 16px; text-align: center; font-size: 13px; color: var(--gray); font-weight: 600;
  }
  .zmanim-list {
    margin-top: 12px; display: flex; flex-direction: column; gap: 8px;
  }
  .zmanim-row {
    display: flex; align-items: center; justify-content: space-between;
    background: #FBFAFE; border: 2px solid #E9E2F5; border-radius: 12px;
    padding: 12px 16px;
  }
  .zmanim-row-name { font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 14px; color: var(--navy); }
  .zmanim-row-time { font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: 15px; color: var(--purple); }

  .derher-search-box {
    margin-top: 18px; text-align: center;
    background: linear-gradient(180deg, #E3F3F4 0%, #FFFFFF 100%);
    border: 2px solid #C9E8EA; border-radius: 18px;
    padding: 32px 24px;
  }
  .derher-search-prompt {
    font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 16px;
    color: var(--navy); line-height: 1.5; margin-bottom: 18px;
  }
  .derher-search-row {
    display: flex; gap: 10px; max-width: 480px; margin: 0 auto; flex-wrap: wrap;
  }
  .derher-search-row input {
    flex: 1; min-width: 180px; padding: 12px 16px; border: 1.5px solid #D9E2E4; border-radius: 10px; font-size: 14px;
  }
  .derher-results { margin-top: 20px; display: flex; flex-direction: column; gap: 8px; }
  .derher-result-item {
    display: block; background: #FBFCFC; border: 1.5px solid #E2E8EA; border-radius: 10px;
    padding: 12px 16px; text-decoration: none; color: var(--navy); font-size: 14px; font-weight: 500;
    transition: border-color .15s ease, background .15s ease;
  }
  .derher-result-item:hover { border-color: var(--teal-light); background: #F5FBFB; }
  .derher-empty-note { color: var(--gray); font-size: 13px; text-align: center; margin-top: 16px; }
  .derher-loading-note { color: var(--gray); font-size: 13px; text-align: center; margin-top: 16px; }

  #rambam .badge { color: var(--teal-dark); background: #E3F3F4; }
  .rambam-club-logo {
    display: block; max-width: 160px; margin: 0 auto 16px;
  }
  .rambam-intro { max-width: 660px; }
  .rambam-track-switcher {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;
    margin-top: 22px;
  }
  .rambam-track-btn {
    border: 1.5px solid #C9E1E3; border-radius: 14px; background: #fff; color: var(--navy);
    padding: 12px 14px; text-align: left; cursor: pointer; font: 700 15px 'Baloo 2', sans-serif;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
  }
  .rambam-track-btn small { display: block; margin-top: 1px; color: var(--gray); font-size: 11px; }
  .rambam-track-btn:hover { border-color: var(--teal-light); transform: translateY(-1px); }
  .rambam-track-btn.active { background: var(--teal-dark); border-color: var(--teal-dark); color: #fff; }
  .rambam-track-btn.active small { color: #DDF5F5; }
  .sefer-reader {
    margin-top: 22px; border: 2px solid #C9E8EA; border-radius: 22px;
    background: linear-gradient(180deg, #F4FCFC 0%, #FFFFFF 180px);
    overflow: hidden; box-shadow: 0 14px 34px rgba(18, 80, 86, .08);
  }
  .sefer-reader-top {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 18px;
    padding: 24px 26px 16px;
  }
  .sefer-reader-top h3 {
    margin: 5px 0 0; color: var(--navy); font-family: 'Baloo 2', sans-serif;
    font-size: clamp(22px, 3vw, 30px); line-height: 1.2;
  }
  .sefer-language-toggle, .sefer-view-toggle { display: flex; gap: 6px; flex-wrap: wrap; }
  .sefer-view-toggle { padding: 0 26px 18px; }
  .reader-toggle {
    border: 1.5px solid #BEDFE1; background: #fff; color: var(--teal-dark);
    border-radius: 999px; padding: 8px 13px; font: 700 13px 'Baloo 2', sans-serif;
    cursor: pointer; transition: background .15s ease, color .15s ease, border-color .15s ease;
  }
  .reader-toggle:hover, .reader-toggle.active { background: var(--teal-dark); color: #fff; border-color: var(--teal-dark); }
  .sefer-content { border-top: 1px solid #DCEEEF; padding: 24px 26px; color: #243642; }
  .sefer-content.hebrew { font-family: Arial, sans-serif; font-size: 18px; line-height: 1.85; }
  .rambam-chapter-reader[hidden] { display: none; }
  .rambam-section { margin: 0 0 20px; padding: 0 0 20px; border-bottom: 1px solid #DCE7E8; }
  .rambam-section:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
  .rambam-section p { margin: 0 0 14px; line-height: 1.72; }
  .rambam-section .rambam-english { direction: ltr; text-align: left; }
  .rambam-section .rambam-hebrew { direction: rtl; text-align: right; font-family: Arial, sans-serif; font-size: 18px; line-height: 1.85; }
  .rambam-section .rambam-halacha-row { display: flex; align-items: flex-start; gap: 9px; }
  .rambam-halacha-marker {
    flex: 0 0 1.45em; color: var(--teal-dark); font-weight: 700; text-align: center;
  }
  .rambam-halacha-body { flex: 1 1 auto; min-width: 0; }
  .rambam-section.bilingual { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
  .rambam-chapter-heading {
    margin: 8px 0 16px; color: var(--navy); font: 700 20px 'Baloo 2', sans-serif;
  }
  .rambam-footnote-mark { color: var(--teal-dark); font-weight: 700; margin-left: 2px; }
  .rambam-footnotes { margin-top: 24px; border-top: 1px solid #DCE7E8; padding-top: 18px; }
  .rambam-footnotes summary { cursor: pointer; color: var(--teal-dark); font-weight: 700; }
  .rambam-footnotes p { margin: 12px 0 0; font-size: 13px; line-height: 1.55; }
  .sefer-command-card + .sefer-command-card { margin-top: 24px; padding-top: 24px; border-top: 1px solid #DCE7E8; }
  .sefer-command-heading {
    display: inline-block; color: var(--teal-dark); background: #E3F3F4; border-radius: 999px;
    padding: 6px 11px; font: 700 13px 'Baloo 2', sans-serif; margin: 0 0 9px;
  }
  .sefer-content.hebrew .sefer-command-heading { font-family: Arial, sans-serif; font-size: 16px; }
  .sefer-command-card h4 { margin: 0 0 13px; color: var(--navy); font: 700 21px 'Baloo 2', sans-serif; }
  .sefer-command-card p, .sefer-content.hebrew p { margin: 0 0 13px; line-height: 1.72; }
  .sefer-loading { padding: 24px; text-align: center; color: var(--gray); font-weight: 600; }
  .sefer-error { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 24px; text-align: center; }
  .sefer-date-nav {
    display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; padding: 15px 26px;
    border-top: 1px solid #DCEEEF; background: #FAFDFD;
  }
  .sefer-date-nav button {
    border: 0; background: transparent; color: var(--teal-dark); font: 700 14px 'Baloo 2', sans-serif;
    cursor: pointer; padding: 7px;
  }
  .sefer-date-nav button:first-child { text-align: left; }
  .sefer-date-nav button:last-child { text-align: right; }
  .sefer-source { padding: 13px 26px 18px; color: var(--gray); font-size: 12px; text-align: center; }
  .sefer-source a { color: var(--teal-dark); font-weight: 700; margin-left: 5px; }
  .sefer-completion { margin: 8px 26px 22px; padding: 18px; border: 1px solid #cde8df; border-radius: 18px; background: linear-gradient(135deg, #f4fbf8 0%, #edf7ff 100%); }
  .sefer-completion-check { width: 100%; display: flex; align-items: center; gap: 13px; padding: 14px 16px; border: 2px solid #1e8d72; border-radius: 14px; background: #fff; color: #123f36; text-align: left; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
  .sefer-completion-check:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(20, 108, 88, .14); }
  .sefer-completion-check:focus-visible { outline: 3px solid rgba(30, 141, 114, .28); outline-offset: 3px; }
  .sefer-completion-check.completed { background: #16765f; color: #fff; border-color: #16765f; }
  .sefer-completion-check:disabled { cursor: default; }
  .sefer-check-box { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border: 2px solid currentColor; border-radius: 8px; color: transparent; font-weight: 900; font-size: 19px; }
  .sefer-completion-check.completed .sefer-check-box { color: #16765f; background: #fff; border-color: #fff; }
  .sefer-completion-check strong, .sefer-completion-check small { display: block; }
  .sefer-completion-check strong { font-size: 16px; line-height: 1.35; }
  .sefer-completion-check small { margin-top: 3px; font-size: 13px; line-height: 1.4; opacity: .78; }
  .sefer-completion-message { min-height: 20px; margin: 9px 2px 0; color: #196c59; font-size: 14px; font-weight: 700; }
  .sefer-leaderboard { margin-top: 13px; padding-top: 14px; border-top: 1px solid #cde8df; }
  .sefer-leaderboard-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; color: #153f37; }
  .sefer-leaderboard-heading strong { font-size: 16px; }
  .sefer-leaderboard-heading span { font-size: 13px; color: #55736d; font-weight: 700; }
  .sefer-leaderboard ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
  .sefer-leaderboard li:not(.sefer-leaderboard-empty) { display: flex; align-items: center; gap: 10px; padding: 9px 11px; border-radius: 11px; background: rgba(255,255,255,.82); color: #214b42; }
  .sefer-leader-rank { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: #f3c64e; color: #493800; font-size: 13px; font-weight: 800; }
  .sefer-leaderboard-empty { padding: 10px 2px; color: #627a75; font-size: 14px; }
  .other-rambam-tracks {
    margin-top: 18px; display: flex; align-items: center; gap: 9px; flex-wrap: wrap;
    color: var(--gray); font-size: 13px;
  }
  .secondary-study-link {
    color: var(--navy); background: #F6F7FA; border: 1px solid #E1E5EA; border-radius: 999px;
    padding: 7px 12px; text-decoration: none; font: 700 13px 'Baloo 2', sans-serif;
  }
  .secondary-study-link:hover { border-color: var(--teal-light); background: #F2FBFB; }
  @media (max-width: 620px) {
    .rambam-track-switcher { grid-template-columns: 1fr; }
    .rambam-section.bilingual { grid-template-columns: 1fr; }
    .sefer-reader-top { flex-direction: column; padding: 20px 18px 14px; }
    .sefer-view-toggle { padding: 0 18px 15px; }
    .sefer-content { padding: 20px 18px; }
    .sefer-date-nav { padding: 12px 13px; }
    .sefer-date-nav button { font-size: 12px; }
    .sefer-source { padding: 12px 18px 16px; }
    .sefer-completion { margin: 7px 13px 18px; padding: 13px; }
  }
  #pictures .badge { color: var(--purple); background: #F1E9FA; }
  #news .badge { color: var(--grass); background: #E7F5EB; }
  #birthdays .badge { color: #C68A00; background: #FFF3D0; }

  /* ---------- Chat ---------- */
  .chat-card { padding: 0; overflow: hidden; }
  .chat-page-heading {
    display: flex; align-items: center; justify-content: space-between; gap: 18px;
    padding: 24px 26px 18px; border-bottom: 1px solid #E6ECEE;
  }
  .chat-page-heading h2 { margin: 7px 0 0; font-size: 27px; line-height: 1.1; }
  .chat-heading-action { width: auto; min-width: 138px; }
  .chat-layout {
    display: grid; grid-template-columns: minmax(260px, 34%) 1fr; gap: 0;
    height: min(620px, 68vh); min-height: 500px;
    background: #fff;
  }
  .chat-sidebar {
    display: flex; flex-direction: column; min-width: 0; min-height: 0;
    background: #F8FAFB; border-right: 1px solid #E1E7E9;
  }
  .chat-sidebar-title {
    padding: 16px 18px 10px; color: var(--gray); font-size: 12px;
    font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  }
  .new-chat-btn {
    font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: 14px;
    background: var(--teal); color: #fff; border: none; border-radius: 10px;
    padding: 10px; cursor: pointer;
  }
  .new-chat-btn:hover { background: var(--teal-dark); }
  .chat-pinned-list {
    display: flex; flex-direction: column; padding: 0 9px 8px;
    border-bottom: 1px solid #E1E7E9;
  }
  .chat-pinned-item {
    padding: 11px 10px; border-radius: 12px; cursor: pointer; color: var(--navy);
    display: flex; align-items: center; gap: 11px;
  }
  .chat-pinned-item:hover { background: #EEF4F5; }
  .chat-pinned-item.active { background: #DFF5F6; color: var(--navy); }

  .chat-conversation-list {
    flex: 1; overflow-y: auto; padding: 8px 9px 14px;
    display: flex; flex-direction: column; gap: 3px;
  }
  .chat-convo-item {
    display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 10px;
    padding: 10px; border-radius: 12px; cursor: pointer; color: var(--navy);
  }
  .chat-convo-item:hover { background: #EEF4F5; }
  .chat-convo-item.active { background: #DFF5F6; color: var(--navy); }
  .chat-avatar {
    position: relative; width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    flex: 0 0 42px; background: var(--coral); color: #fff; font: 800 17px 'Baloo 2', sans-serif;
    overflow: hidden;
  }
  .chat-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .chat-avatar.group { background: var(--teal); }
  .chat-convo-copy { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
  .chat-convo-copy strong { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .chat-convo-copy small {
    margin-top: 3px; color: var(--gray); font-size: 12px; font-weight: 500;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .chat-convo-item.active .chat-convo-copy small,
  .chat-pinned-item.active .chat-convo-copy small { color: #527074; }
  .chat-convo-time { align-self: start; padding-top: 2px; color: var(--gray); font-size: 11px; white-space: nowrap; }
  .chat-convo-status { align-self: stretch; display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; }
  .chat-unread-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 3px #FCE9E5; }
  .chat-convo-item.unread .chat-convo-copy strong { font-weight: 800; }
  .chat-convo-item.unread .chat-convo-copy small { color: var(--navy); font-weight: 650; }
  .chat-convo-empty { padding: 18px 12px; font-size: 13px; line-height: 1.5; color: var(--gray); }

  .chat-thread-wrap {
    display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow: hidden; background: #fff;
  }
  .chat-thread-header {
    min-height: 64px; padding: 14px 20px; font-family: 'Baloo 2', sans-serif; font-weight: 700;
    border-bottom: 1px solid #E2E8EA; color: var(--navy); font-size: 17px;
    display: flex; align-items: center; justify-content: space-between;
  }
  .chat-add-btn {
    font-family: 'Inter', sans-serif; font-weight: 600; font-size: 12px;
    background: #F7FAFA; border: 1.5px solid #DDE6E8; border-radius: 8px;
    padding: 5px 10px; cursor: pointer; color: var(--navy);
  }
  .chat-thread {
    flex: 1; overflow-y: auto; padding: 20px 22px; display: flex; flex-direction: column; gap: 9px;
    background: linear-gradient(180deg, #F8FBFB 0%, #FDFEFE 100%);
  }
  .chat-bubble-wrap { position: relative; display: flex; flex-direction: column; }
  .chat-bubble-wrap:has(.chat-message-avatar) { flex-direction: row; align-items: flex-end; gap: 8px; }
  .chat-message-column { display: flex; min-width: 0; flex-direction: column; }
  .chat-message-avatar {
    position: relative; width: 30px; height: 30px; flex: 0 0 30px; overflow: hidden;
    display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
    background: #C9DDE5; color: #18465E; font: 800 11px/1 'Baloo 2', sans-serif;
  }
  .chat-message-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .chat-bubble-sender { font-size: 11px; color: var(--gray); margin: 4px 4px 2px; }
  .chat-bubble-time { margin: 3px 5px 0; color: var(--gray); font-size: 10px; line-height: 1; }
  .chat-day-separator {
    display: flex; align-items: center; gap: 10px; width: 100%; margin: 8px 0 4px;
    color: var(--gray); font-size: 11px; font-weight: 700;
  }
  .chat-day-separator::before, .chat-day-separator::after {
    content: ''; flex: 1; height: 1px; background: #DCE5E7;
  }
  .chat-day-separator span {
    padding: 4px 9px; border: 1px solid #DCE5E7; border-radius: 999px; background: #fff;
  }
  .chat-bubble {
    position: relative; max-width: 75%; padding: 9px 13px; border-radius: 14px; font-size: 14px; line-height: 1.4;
    word-wrap: break-word;
  }
  .chat-bubble.mine {
    align-self: flex-end; background: var(--teal); color: #fff; border-bottom-right-radius: 4px;
  }
  .chat-bubble.theirs {
    align-self: flex-start; background: #EDF1F2; color: var(--navy); border-bottom-left-radius: 4px;
  }
  .chat-reply-quote {
    display: flex; flex-direction: column; gap: 1px; margin: -2px 0 7px; padding: 5px 7px;
    border-left: 3px solid currentColor; border-radius: 4px; background: rgba(255,255,255,.2);
    font-size: 11px; line-height: 1.3; opacity: .9;
  }
  .chat-reply-quote span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .chat-reply-btn {
    border: 0; background: transparent; color: #54707A; font-size: 11px; font-weight: 700;
    padding: 3px 5px; cursor: pointer; opacity: .75;
  }
  .chat-reply-btn:hover { color: var(--teal-dark); opacity: 1; text-decoration: underline; }
  .chat-reaction-trigger {
    position: absolute; z-index: 2; left: calc(100% + 5px); bottom: 0; width: 27px; height: 27px; padding: 0;
    border: 1px solid #D5E1E4; border-radius: 50%; background: #fff; color: var(--navy); cursor: pointer;
    opacity: 0; pointer-events: none; transition: opacity .14s ease, transform .14s ease; transform: translateY(2px);
    font: 17px/1 sans-serif; box-shadow: 0 2px 7px rgba(23,54,61,.12);
  }
  .chat-bubble.mine .chat-reaction-trigger { right: calc(100% + 5px); left: auto; }
  /* Keep the pointer inside the bubble while crossing to its reaction button. */
  .chat-reaction-trigger::before { content: ''; position: absolute; top: -1px; bottom: -1px; right: 100%; width: 7px; }
  .chat-bubble.mine .chat-reaction-trigger::before { right: auto; left: 100%; }
  .chat-bubble:hover .chat-reaction-trigger,
  .chat-bubble:focus-within .chat-reaction-trigger,
  .chat-bubble.reaction-picker-open .chat-reaction-trigger { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .chat-reaction-row { display: flex; flex-wrap: wrap; gap: 4px; max-width: 75%; }
  .chat-reaction-row.mine { align-self: flex-end; }
  .chat-reaction {
    position: relative;
    border: 1px solid #D5E1E4; border-radius: 999px; background: #fff; color: var(--navy); cursor: pointer;
    padding: 2px 7px; min-height: 26px; font-size: 13px; line-height: 1; font-family: inherit;
  }
  .chat-reaction.mine { background: #E6F4F1; border-color: var(--teal); }
  .chat-reaction[data-reactors]::after {
    content: attr(data-reactors); position: absolute; z-index: 12; left: 50%; bottom: calc(100% + 7px);
    width: max-content; max-width: 230px; padding: 6px 9px; border-radius: 8px;
    background: var(--navy); color: #fff; font-size: 12px; line-height: 1.3; white-space: normal;
    box-shadow: 0 4px 12px rgba(23,54,61,.2); transform: translate(-50%, 3px);
    opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .12s ease, transform .12s ease;
  }
  .chat-reaction[data-reactors]:hover::after,
  .chat-reaction[data-reactors]:focus-visible::after { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
  .chat-reaction-picker { position: absolute; z-index: 5; bottom: calc(100% + 6px); left: 0; display: flex; gap: 2px; padding: 4px; border: 1px solid #D5E1E4; border-radius: 12px; background: #fff; box-shadow: 0 4px 12px rgba(23,54,61,.14); }
  .chat-bubble.mine .chat-reaction-picker { right: 0; left: auto; }
  .chat-reaction-picker[hidden] { display: none; }
  .chat-reaction-picker::after { content: ''; position: absolute; top: 100%; left: 0; right: 0; height: 8px; }
  .chat-reaction-picker button { border: 0; border-radius: 8px; background: transparent; cursor: pointer; padding: 4px; font-size: 17px; }
  .chat-reaction-picker button:hover { background: #EEF7F5; }
  .chat-reply-preview {
    display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 14px;
    border-top: 1px solid #E2E8EA; background: #EEF7F5; color: #285D54; font-size: 12px; line-height: 1.25;
  }
  .chat-reply-preview[hidden] { display: none; }
  .chat-reply-preview span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .chat-reply-preview button { border: 0; background: transparent; color: #285D54; font-size: 22px; line-height: 1; cursor: pointer; }
  .chat-input-row {
    display: flex; gap: 8px; padding: 12px 14px; border-top: 1px solid #E2E8EA; position: relative;
  }
  .chat-safety-note {
    padding: 0 12px 10px; color: var(--gray); background: #fff;
    font-size: 11px; line-height: 1.45;
  }
  .chat-safety-note strong { color: var(--navy); }
  .chat-input-row input {
    flex: 1; padding: 10px 12px; border: 1.5px solid #D9E2E4; border-radius: 10px; font-size: 14px;
  }
  .chat-send-btn {
    font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: 14px;
    background: var(--coral); color: #fff; border: none; border-radius: 10px;
    padding: 10px 18px; cursor: pointer;
  }
  .chat-send-btn:disabled, .chat-input-row input:disabled, .emoji-btn:disabled { opacity: 0.5; cursor: not-allowed; }
  .emoji-btn {
    font-size: 18px; background: #F7FAFA; border: 1.5px solid #DDE6E8; border-radius: 10px;
    padding: 6px 10px; cursor: pointer;
  }
  .emoji-picker {
    display: none; position: absolute; bottom: 54px; left: 10px; z-index: 10;
    background: #fff; border: 2px solid #E2E8EA; border-radius: 12px; padding: 8px;
    grid-template-columns: repeat(7, 1fr); gap: 4px; width: 238px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
  }
  .emoji-picker.open { display: grid; }
  .emoji-picker span { cursor: pointer; font-size: 18px; text-align: center; padding: 4px; border-radius: 6px; }
  .emoji-picker span:hover { background: #F0F0F0; }

  @media (max-width: 680px) {
    .chat-page-heading { padding: 18px 16px 14px; }
    .chat-page-heading h2 { font-size: 23px; }
    .chat-heading-action { min-width: 0; padding: 9px 12px; }
    .chat-layout {
      display: flex;
      flex-direction: column;
      height: auto;
      min-height: 0;
    }
    .chat-sidebar { border-right: 0; border-bottom: 1px solid #E1E7E9; }
    .chat-sidebar-title { padding: 12px 14px 8px; }
    .chat-pinned-list,
    .chat-conversation-list {
      flex-direction: row;
      align-items: stretch;
      gap: 6px;
      overflow-x: auto;
      overflow-y: hidden;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }
    .chat-pinned-list::-webkit-scrollbar,
    .chat-conversation-list::-webkit-scrollbar { display: none; }
    .chat-pinned-list {
      padding: 0 10px 7px; border-bottom: 0;
    }
    .chat-pinned-item,
    .chat-convo-item {
      flex: 0 0 auto;
      width: min(76vw, 270px); white-space: nowrap; padding: 9px;
      border: 1px solid #E1E7E9;
      background: #fff;
    }
    .chat-pinned-item.active,
    .chat-convo-item.active { border-color: var(--coral); }
    .chat-conversation-list {
      flex: none;
      min-height: 0;
      padding: 0 10px 10px;
      border: 0;
      border-radius: 0;
    }
    .chat-convo-empty {
      padding: 8px 2px;
      white-space: nowrap;
    }
    .chat-thread-wrap {
      min-height: 430px;
    }
    .chat-thread-header { padding: 11px 13px; }
    .chat-thread {
      min-height: 280px;
      padding: 12px 11px;
    }
    .chat-bubble {
      max-width: 88%;
      font-size: 13px;
    }
    .chat-input-row {
      gap: 6px;
      padding: 8px;
    }
    .chat-input-row input {
      min-width: 0;
      padding: 10px;
    }
    .chat-send-btn { padding: 10px 13px; }
  }

  /* roster picker modal (new chat / add people) */
  #chatPickerOverlay {
    display: none; position: fixed; inset: 0; z-index: 110;
    background: rgba(11,42,64,0.55); align-items: center; justify-content: center; padding: 20px;
  }
  #chatPickerOverlay.open { display: flex; }
  .chat-picker-card {
    background: #fff; border-radius: 16px; width: min(92vw, 420px); max-height: 80vh;
    display: flex; flex-direction: column; padding: 20px 20px 16px;
  }
  .chat-picker-header {
    display: flex; align-items: center; justify-content: space-between;
    font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: 17px; margin-bottom: 10px;
  }
  .chat-picker-roster { overflow-y: auto; flex: 1; margin-bottom: 12px; }
  .chat-picker-bunk {
    font-size: 11px; font-weight: 700; text-transform: uppercase; color: var(--gray);
    padding: 8px 4px 4px; letter-spacing: 0.5px;
  }
  .chat-picker-item {
    display: flex; align-items: center; gap: 8px; padding: 8px 6px; border-radius: 8px; cursor: pointer;
    font-size: 14px; color: var(--navy);
  }
  .chat-picker-item:hover { background: #F7FAFA; }
  .chat-picker-item input { width: 16px; height: 16px; accent-color: var(--teal); }

  /* presence dot */
  .presence-dot {
    display: inline-block; width: 8px; height: 8px; border-radius: 50%;
    background: #C7CDD1; margin-right: 6px; flex-shrink: 0;
  }
  .presence-dot.online { background: var(--grass); box-shadow: 0 0 0 2px rgba(76,175,109,0.25); }
  .birthday-message {
    text-align: center; margin: 8px 0 22px;
    background: #FFF8E1; border: 2px solid #FFE49A; border-radius: 16px;
    padding: 22px 20px;
  }
  .birthday-message-big {
    font-family: 'Baloo 2', sans-serif; font-weight: 800; color: var(--coral);
    font-size: clamp(28px, 6vw, 44px); line-height: 1.1; margin-bottom: 10px;
  }
  .birthday-message p {
    margin: 6px 0; font-size: 15px; color: var(--navy); font-weight: 500;
  }

  .birthday-calendar-toolbar {
    display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; gap: 12px;
    margin: 26px 0 14px; text-align: center;
  }
  .birthday-calendar-toolbar h2 { margin: 0; }
  .birthday-calendar-sub { color: var(--gray); font-size: 13px; font-weight: 600; margin-top: 3px; }
  .calendar-legend {
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 16px;
    margin: 0 0 14px; color: #587085; font-size: 11px; font-weight: 700;
  }
  .calendar-legend span { display: inline-flex; align-items: center; gap: 6px; }
  .legend-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
  .legend-dot.holiday { background: #F18B61; }
  .legend-dot.chabad { background: #8B69C6; }
  .legend-dot.birthday { background: #62AEE4; }
  .legend-dot.staff-birthday { background: #159A83; }
  .calendar-nav-btn {
    width: 44px; height: 44px; border: 2px solid #B9DDF7; border-radius: 14px;
    background: #EFF8FF; color: #176996; font-size: 21px; font-weight: 800; cursor: pointer;
  }
  .calendar-nav-btn:hover:not(:disabled) { background: #DDF0FD; transform: translateY(-1px); }
  .calendar-nav-btn:disabled { opacity: .32; cursor: not-allowed; }
  .birthday-weekdays, .birthday-calendar {
    display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px;
  }
  .birthday-weekdays { margin-bottom: 7px; }
  .birthday-weekdays span {
    text-align: center; color: #587085; font-size: 11px; font-weight: 800; text-transform: uppercase;
  }
  .birthday-day {
    min-height: 112px; border: 1.5px solid #DCE8F0; border-radius: 13px; background: #FBFDFF;
    padding: 8px; position: relative; overflow: hidden;
  }
  .birthday-day.empty-day { background: transparent; border-color: transparent; }
  .birthday-day.outside-range { opacity: .3; background: #F4F6F7; }
  .birthday-day.has-birthday {
    background: linear-gradient(145deg, #EAF7FF 0%, #FFF7D6 100%); border-color: #8DCAF1;
    box-shadow: 0 4px 12px rgba(67, 151, 204, .13);
  }
  .birthday-day.has-holiday { border-color: #F2B89D; background: #FFF9F5; }
  .birthday-day.has-chabad-date { box-shadow: inset 0 3px 0 #A98BDA; }
  .birthday-day.has-birthday.has-holiday { background: linear-gradient(145deg, #FFF4ED 0%, #EAF7FF 100%); }
  .hebrew-day-number { font-family: 'Manrope', sans-serif; font-size: 18px; font-weight: 800; color: var(--navy); }
  .civil-day-number { color: var(--gray); font-size: 10px; font-weight: 600; margin-top: 1px; }
  .calendar-events, .birthday-names { display: flex; flex-direction: column; gap: 4px; margin-top: 7px; }
  .calendar-event-chip, .birthday-name-chip {
    border-radius: 7px; font-size: 9px; font-weight: 800; line-height: 1.25; padding: 4px 5px;
    overflow-wrap: anywhere;
  }
  .calendar-event-chip.holiday { background: #FCE9DF; color: #A94824; }
  .calendar-event-chip.chabad { background: #F0E9FA; color: #65429C; }
  .birthday-name-chip {
    background: #E5F4FF; color: #176996;
  }
  .birthday-name-chip.staff-birthday-name { background: #DDF7F1; color: #0B6B5A; }
  .calendar-source-note { text-align: center; font-size: 11px; color: var(--gray); margin: 14px 0 0 !important; }
  .calendar-source-note a { color: #176996; font-weight: 700; }
  .admin-birthday-help { font-size: 13px; color: var(--gray); margin-top: 0; }
  .birthday-admin-form { flex-wrap: wrap; }
  .birthday-admin-form input { min-width: 190px; flex: 1; }
  .birthday-admin-form select {
    min-width: 120px; padding: 11px 12px; border: 1.5px solid #D9E2E4; border-radius: 10px;
    background: #fff; color: var(--navy); font: 600 13px 'Inter', sans-serif;
  }

  .pic-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px,1fr)); gap: 12px; }
  .pic-grid > div {
    aspect-ratio: 1; border-radius: 14px; background: #EAF7F8; border: 2px solid var(--teal-light);
    display:flex; align-items:center; justify-content:center;
    font-family:'Baloo 2',sans-serif; font-weight:600; color: var(--teal-dark); text-align:center; padding:6px; font-size: 13px;
  }
  .pic-grid > div:nth-child(6n+2) { background: #FFF1E9; border-color: #FFC7A8; color: var(--coral); }
  .pic-grid > div:nth-child(6n+3) { background: #F1E9FA; border-color: #D8C2F0; color: var(--purple); }
  .pic-grid > div:nth-child(6n+4) { background: #E7F5EB; border-color: #B8E3C4; color: var(--grass); }
  .pic-grid > div:nth-child(6n+5) { background: #FFF8E1; border-color: #FFE49A; color: #C68A00; }

  .news-item { border-left: 3px solid var(--teal); padding-left: 14px; margin-bottom: 18px; }
  .news-item .date { font-weight: 600; color: var(--teal-dark); font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
  .news-item p { margin-top: 4px; }
  .news-page-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 22px; }
  .news-feed-intro { color: var(--text-muted, #5f6b73); margin: -4px 0 24px; }
  .news-refresh-btn { flex: 0 0 auto; border: 1px solid rgba(12, 117, 117, .2); border-radius: 999px; background: #eef9f8; color: var(--teal-dark); padding: 10px 16px; font: 800 12px 'Inter', sans-serif; cursor: pointer; }
  .news-refresh-btn:hover { background: #dff3f1; }
  .featured-announcement { margin-bottom: 24px; }
  .announcement-featured-card { padding: 25px 26px; border: 0; border-radius: 22px; background: linear-gradient(135deg, #e9f8f6 0%, #fff 62%); box-shadow: 0 14px 34px rgba(18, 58, 66, .1); }
  .announcement-latest-label { display: inline-block; margin-bottom: 13px; padding: 6px 10px; border-radius: 999px; background: var(--teal); color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
  .news-section-title { margin: 0 0 12px; color: var(--navy); font: 800 18px 'Inter', sans-serif; }
  .announcement-feed { display: grid; gap: 14px; }
  .announcement-item { margin: 0; padding: 18px 20px; border: 1px solid rgba(12, 117, 117, .14); border-left: 4px solid var(--teal); border-radius: 0 14px 14px 0; background: #fff; box-shadow: 0 8px 24px rgba(18, 58, 66, .06); }
  .announcement-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 8px; }
  .announcement-author { font-weight: 800; color: var(--teal-dark); }
  .announcement-meta time { color: #6d777d; font-size: 12px; }
  .announcement-item p { white-space: pre-wrap; margin: 0; line-height: 1.65; }
  .announcement-status { padding: 28px 18px; text-align: center; color: #66747b; border: 1px dashed rgba(12, 117, 117, .3); border-radius: 14px; background: rgba(12, 117, 117, .035); }
  .announcement-error { color: #8a3e30; border-color: rgba(151, 65, 46, .25); background: rgba(151, 65, 46, .04); }

  .admin-news-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 4px 0 24px; padding: 15px 17px; border-radius: 16px; background: #f2f8f7; }
  .admin-news-toolbar p { margin: 0; color: #52646c; font-size: 13px; }
  .admin-announcement-composer { margin: 4px 0 18px; padding: 20px; border: 1px solid #dcebea; border-radius: 17px; background: #f7fbfb; }
  .admin-announcement-composer label { display: block; margin-bottom: 9px; color: var(--navy); font-size: 14px; font-weight: 800; }
  .admin-announcement-composer textarea { width: 100%; min-height: 130px; resize: vertical; padding: 13px 14px; border: 1.5px solid #cfdddf; border-radius: 12px; background: #fff; color: var(--navy); font: 500 14px/1.55 'Inter', sans-serif; }
  .admin-announcement-composer textarea:focus { outline: 3px solid rgba(22, 184, 196, .16); border-color: var(--teal); }
  .admin-announcement-actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 12px; }
  .admin-announcement-actions span { color: #52646c; font-size: 12px; }
  .admin-announcement-actions .admin-add-btn { width: auto; }
  .admin-news-list-title { margin: 20px 0 8px; color: var(--navy); font-size: 16px; }
  .admin-hidden-news-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-top: 30px; border-top: 1px solid rgba(23, 52, 77, .1); padding-top: 6px; }
  .admin-hidden-news-heading span { color: #708087; font-size: 12px; }
  .admin-news-row { gap: 18px; }
  .admin-news-row-copy { min-width: 0; flex: 1; }
  .admin-news-row-meta { margin-bottom: 6px; color: var(--teal-dark); font-size: 11px; font-weight: 800; }
  .admin-news-row p { margin: 0; color: #33474f; white-space: pre-wrap; line-height: 1.5; }
  .admin-restore-btn { border: 0; border-radius: 999px; background: #e4f4e8; color: #226b38; padding: 9px 13px; font-weight: 800; cursor: pointer; }
  .admin-restore-btn:hover { background: #d4ecd9; }

  @media (max-width: 680px) {
    .news-page-heading, .admin-news-toolbar, .admin-hidden-news-heading { align-items: stretch; flex-direction: column; }
    .news-refresh-btn { align-self: flex-start; }
    .announcement-featured-card { padding: 21px 18px; }
    .admin-announcement-composer { padding: 16px; }
    .admin-announcement-actions { align-items: stretch; flex-direction: column; }
    .admin-announcement-actions .admin-add-btn { width: 100%; }
  }

  /* ---------- FOOTER ---------- */
  footer {
    position: relative; z-index: 1;
    text-align: center; padding: 26px 16px 60px;
    font-family: 'Baloo 2', sans-serif; font-weight: 500; color: var(--navy);
  }
  footer .goodbye {
    font-size: clamp(16px, 3vw, 20px); color: var(--navy); font-weight: 600;
  }
  footer .moshiach {
    margin-top: 6px; font-size: 14px; color: var(--gray); font-weight: 400;
  }
  .credit {
    position: fixed; right: 12px; bottom: 8px; z-index: 50;
    font-family: 'Inter', sans-serif; font-weight: 500; font-size: 12px;
    color: var(--gray); background: rgba(255,255,255,0.9);
    padding: 4px 10px; border-radius: 8px; border: 1px solid #E2E8EA;
  }

  /* ---------- ADMIN PANEL (full page, like the main site) ---------- */
  #admin-overlay {
    display: none; position: relative; z-index: 1;
    background: var(--bg); min-height: 100vh; padding-bottom: 80px;
  }
  #admin-overlay.open { display: block; }
  .admin-hero {
    text-align: center; padding: 56px 20px 24px;
  }
  .admin-hero h1 {
    font-family: 'Baloo 2', sans-serif; font-weight: 700; font-size: clamp(24px, 5vw, 36px);
    color: var(--navy); margin: 0;
  }
  .admin-hero p { color: var(--gray); margin: 6px 0 0; font-size: 14px; }
  #admin-panel {
    max-width: 800px; margin: 0 auto; padding: 0 24px;
  }
  .admin-header {
    display: none; /* replaced by admin-hero */
  }
  .admin-close {
    background: none; border: none; font-size: 26px; line-height: 1; cursor: pointer;
    color: var(--gray); padding: 0 4px;
  }
  .admin-close:hover { color: var(--navy); }

  .admin-tab-bar { display: flex; gap: 8px; margin: 16px 0 18px; }
  .admin-tab-btn {
    font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 13px;
    padding: 8px 16px; border-radius: 8px; border: 1.5px solid #DDE6E8;
    cursor: pointer; color: var(--navy); background: #F7FAFA;
  }
  .admin-tab-btn.active { background: var(--teal); color: #fff; border-color: var(--teal); }

  .admin-tab-panel { display: none; }
  .admin-tab-panel.active { display: block; }

  .admin-form { display: flex; gap: 8px; margin-bottom: 16px; }
  .admin-form-stacked { flex-direction: column; }
  .admin-form input[type="text"], .admin-form textarea, .admin-form input[type="file"] {
    flex: 1; padding: 10px 12px; border: 1.5px solid #D9E2E4; border-radius: 8px;
    font-family: 'Inter', sans-serif; font-size: 14px; color: var(--navy);
  }
  .admin-form textarea { resize: vertical; font-family: 'Inter', sans-serif; }
  .admin-add-btn {
    font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 14px;
    background: var(--teal); color: #fff; border: none; border-radius: 8px;
    padding: 10px 16px; cursor: pointer; white-space: nowrap;
  }
  .admin-add-btn:hover { background: var(--teal-dark); }

  .admin-list { display: flex; flex-direction: column; gap: 8px; }
  .admin-list-item {
    display: flex; align-items: center; gap: 10px;
    background: #F7FAFA; border: 1px solid #E2E8EA; border-radius: 8px;
    padding: 10px 12px; font-size: 14px;
  }
  .admin-list-item img { width: 40px; height: 40px; border-radius: 6px; object-fit: cover; }
  .admin-list-item .admin-item-text { flex: 1; }
  .admin-item-title { font-weight: 600; color: var(--navy); }
  .admin-item-sub { font-size: 12px; color: var(--gray); }
  .admin-delete-btn {
    background: none; border: none; color: var(--coral); font-size: 13px;
    cursor: pointer; font-weight: 600; font-family: 'Inter', sans-serif;
  }
  .admin-delete-btn:hover { text-decoration: underline; }

  .admin-note {
    margin: 18px 0 0; font-size: 12px; color: var(--gray); line-height: 1.5;
    border-top: 1px solid #E2E8EA; padding-top: 12px;
  }

/* =========================================================
   VIBRANT CAMP THEME
   ========================================================= */
:root {
  --teal: #00B9D8;
  --teal-dark: #007C9B;
  --teal-light: #7FE6F4;
  --navy: #163A5F;
  --coral: #FF5D3B;
  --bg: #FFF8D9;
  --white: #FFFFFF;
  --gray: #5F6F7B;
  --sun: #FFD43B;
  --grass: #39B86A;
  --purple: #7B61D1;
  --sky: #45C9F5;
  --camp-orange: #FF8A28;
}

body {
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 212, 59, .42) 0 80px, transparent 82px),
    linear-gradient(180deg, #E9FAFF 0 290px, #FFF8D9 290px 100%);
}

.bh-corner {
  top: 14px;
  left: 14px;
  color: var(--navy);
  border: 2px solid rgba(22, 58, 95, .1);
  box-shadow: 0 5px 0 rgba(22, 58, 95, .12);
}

#login-screen {
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(180deg, #43CEF5 0%, #99EDFF 54%, #BCEB79 54%, #55BE64 100%);
}

#login-screen::before {
  content: '';
  position: absolute;
  width: 190px;
  height: 190px;
  top: -42px;
  right: -30px;
  z-index: -1;
  border-radius: 50%;
  background: #FFD43B;
  box-shadow: 0 0 0 20px rgba(255, 212, 59, .22), 0 0 0 42px rgba(255, 212, 59, .12);
}

#login-screen::after {
  content: '';
  position: absolute;
  inset: auto -8% -140px;
  height: 330px;
  z-index: -1;
  border-radius: 50% 50% 0 0;
  background:
    linear-gradient(140deg, transparent 0 42%, rgba(255,255,255,.18) 43% 46%, transparent 47%),
    #1E9655;
  transform: rotate(-3deg);
}

#login-screen > * {
  position: relative;
  z-index: 1;
}

.camp-logo {
  filter: drop-shadow(0 10px 0 rgba(18, 78, 96, .12));
  animation: campFloat 3.6s ease-in-out infinite;
}

@keyframes campFloat {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-8px) rotate(1deg); }
}

.login-card {
  border: 4px solid #fff;
  border-radius: 28px;
  box-shadow: 0 12px 0 rgba(18, 83, 102, .18), 0 24px 50px rgba(18, 83, 102, .25);
}

.login-card h1,
.hero .welcome-banner,
.panel-card h2 {
  letter-spacing: -.025em;
}

.go-btn {
  background: linear-gradient(135deg, var(--coral), var(--camp-orange));
  border: 2px solid rgba(139, 52, 23, .12);
  border-radius: 16px;
  box-shadow: 0 6px 0 #C84729;
  text-transform: uppercase;
  letter-spacing: .04em;
}

#login-screen .login-hint-link {
  color: var(--teal-dark);
}

.go-btn:hover { background: linear-gradient(135deg, #FF7254, #FF9A3D); }

#main-site::before {
  opacity: .06;
}

.hero {
  position: relative;
  overflow: hidden;
  padding: 70px 20px 34px;
  background:
    radial-gradient(circle at 8% 20%, rgba(255,255,255,.9) 0 23px, transparent 24px),
    radial-gradient(circle at 92% 18%, rgba(255,212,59,.88) 0 56px, transparent 58px),
    linear-gradient(180deg, #44CDF4 0%, #B6EEFA 100%);
  border-bottom: 8px solid #FFD43B;
}

.hero::before,
.hero::after {
  content: '';
  position: absolute;
  bottom: -85px;
  width: 58%;
  height: 155px;
  border-radius: 50% 50% 0 0;
  z-index: 0;
}

.hero::before { left: -8%; background: #39B86A; transform: rotate(4deg); }
.hero::after { right: -8%; background: #239A58; transform: rotate(-4deg); }

.hero > * { position: relative; z-index: 1; }

.camp-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: var(--teal-dark);
  font-family: 'Baloo 2', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  box-shadow: 0 4px 0 rgba(22,58,95,.12);
}

.hero .welcome-banner {
  display: block;
  color: var(--navy);
  font-weight: 800;
  font-size: clamp(36px, 7vw, 58px);
  text-shadow: 0 3px 0 rgba(255,255,255,.5);
}

.hero .name-line {
  display: inline-block;
  margin-top: 4px;
  padding: 8px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,.82);
  color: var(--navy);
  box-shadow: 0 4px 0 rgba(22,58,95,.08);
}

.tab-bar {
  position: sticky;
  top: 0;
  z-index: 20;
  max-width: none;
  padding: 18px max(18px, calc((100vw - 980px) / 2));
  border: 0;
  background: rgba(255, 248, 217, .95);
  backdrop-filter: blur(14px);
  box-shadow: 0 5px 0 rgba(22, 58, 95, .08);
}

.tab-btn {
  min-height: 48px;
  padding: 10px 19px;
  border: 3px solid var(--navy);
  border-radius: 16px;
  font-size: 15px;
  box-shadow: 0 5px 0 var(--navy);
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
}

.tab-btn:hover {
  border-color: var(--navy);
  transform: translateY(-2px) rotate(-1deg);
  box-shadow: 0 7px 0 var(--navy);
}

.tab-btn:active {
  transform: translateY(4px);
  box-shadow: 0 1px 0 var(--navy);
}

.tab-btn.active { box-shadow: 0 5px 0 #12304F; }

.tab-panel {
  max-width: 920px;
  padding: 34px 24px 16px;
}

.panel-card {
  position: relative;
  overflow: hidden;
  padding: 34px 32px;
  border: 3px solid rgba(22, 58, 95, .18);
  border-radius: 20px;
  box-shadow: 0 9px 0 rgba(22, 58, 95, .12), 0 18px 36px rgba(22, 58, 95, .08);
}

.panel-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 9px;
  background: linear-gradient(90deg, var(--teal), var(--sun), var(--coral), var(--purple), var(--grass));
}

.panel-card h2 {
  color: var(--navy);
  font-size: clamp(28px, 4vw, 36px);
  font-weight: 800;
}

.badge {
  padding: 7px 15px;
  border: 2px solid currentColor;
  border-radius: 10px;
  transform: rotate(-2deg);
}

.sub-tab-btn,
.study-link,
.admin-tab-btn,
.admin-add-btn {
  border-radius: 12px;
}

.zmanim-row,
.derher-result-item,
.chat-message,
.news-item {
  border-width: 2px;
  box-shadow: 0 4px 0 rgba(22,58,95,.07);
}

.back-btn {
  border: 2px solid var(--navy);
  border-radius: 12px;
  color: var(--navy);
  box-shadow: 0 4px 0 var(--navy);
}

input,
textarea,
select {
  border-radius: 12px !important;
}

@media (max-width: 680px) {
  .hero { padding: 64px 16px 28px; }
  .camp-kicker { font-size: 10px; }
  .hero .welcome-banner { font-size: 40px; }
  .tab-bar {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 14px 16px 18px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .tab-bar::-webkit-scrollbar { display: none; }
  .tab-btn { flex: 0 0 auto; scroll-snap-align: start; }
  .tab-panel { padding: 25px 14px 12px; }
  .panel-card { padding: 28px 20px; border-radius: 22px; }
  .login-card { padding: 32px 24px 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .camp-logo { animation: none; }
  *, *::before, *::after { scroll-behavior: auto !important; }
}

/* =========================================================
   MODERN, SOFTER CAMP REFINEMENT
   ========================================================= */
:root {
  --teal: #12AFC1;
  --teal-dark: #087887;
  --teal-light: #A9EEF1;
  --navy: #17344D;
  --coral: #FF6B57;
  --bg: #FFF9EA;
  --gray: #637381;
  --sun: #FFD166;
  --grass: #72C96B;
  --purple: #7168D9;
  --sky: #43C1ED;
  --camp-orange: #FF9152;
}

body {
  background:
    radial-gradient(circle at 7% 36%, rgba(255, 209, 102, .22) 0 130px, transparent 132px),
    radial-gradient(circle at 94% 70%, rgba(113, 104, 217, .12) 0 170px, transparent 172px),
    linear-gradient(180deg, #EFFBFC 0 310px, #FFF9EA 310px 100%);
}

.bh-corner {
  border: 0;
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(23, 52, 77, .10);
}

#login-screen {
  background:
    radial-gradient(circle at 88% 9%, rgba(255, 209, 102, .95) 0 90px, transparent 92px),
    linear-gradient(155deg, #32B9E5 0%, #76D9E9 48%, #CFEA95 48.2%, #66C779 100%);
}

#login-screen::before {
  width: 300px;
  height: 300px;
  top: -145px;
  right: -110px;
  background: rgba(255,255,255,.11);
  box-shadow: none;
}

#login-screen::after {
  bottom: -170px;
  height: 360px;
  background: linear-gradient(150deg, #238E57, #43B867);
}

.camp-logo {
  filter: drop-shadow(0 18px 28px rgba(23, 52, 77, .18));
}

.login-card {
  border: 0;
  border-radius: 42px 30px 46px 26px;
  background: rgba(255,255,255,.93);
  box-shadow: 0 26px 70px rgba(23, 52, 77, .20);
}

.go-btn {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(120deg, #FF6854, #FF9B55);
  box-shadow: 0 12px 26px rgba(230, 89, 55, .26);
}

.go-btn:hover {
  background: linear-gradient(120deg, #FF765F, #FFA86A);
  transform: translateY(-1px);
}

.go-btn:active {
  transform: translateY(1px);
  box-shadow: 0 6px 16px rgba(230, 89, 55, .22);
}

.hero {
  padding: 72px 20px 44px;
  border: 0;
  background:
    radial-gradient(circle at 91% 18%, rgba(255, 209, 102, .96) 0 54px, transparent 56px),
    linear-gradient(135deg, #36BCE8 0%, #72D9E5 62%, #AEE7D0 100%);
}

.hero::before {
  left: -12%;
  bottom: -100px;
  width: 68%;
  height: 175px;
  background: linear-gradient(135deg, #5AC66C, #8AD477);
}

.hero::after {
  right: -14%;
  bottom: -106px;
  width: 70%;
  height: 182px;
  background: linear-gradient(135deg, #2FA65F, #60C977);
}

.camp-kicker {
  padding: 8px 15px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 10px 30px rgba(23, 52, 77, .09);
}

.hero .welcome-banner {
  font-weight: 800;
  text-shadow: none;
}

.hero .name-line {
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 10px 28px rgba(23, 52, 77, .08);
}

.tab-bar {
  gap: 9px;
  padding-top: 20px;
  padding-bottom: 22px;
  background: rgba(255, 249, 234, .87);
  box-shadow: none;
  border-bottom: 1px solid rgba(23, 52, 77, .06);
}

.tab-btn {
  min-height: 44px;
  padding: 10px 18px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 8px 20px rgba(23, 52, 77, .09);
  font-weight: 700;
}

.tab-btn:nth-child(1) { background: #DDF6F7; }
.tab-btn:nth-child(2) { background: #FFF0C8; }
.tab-btn:nth-child(3) { background: #EEEAFE; }
.tab-btn:nth-child(4) { background: #DFF4E4; }
.tab-btn:nth-child(5) { background: #FFE6DF; }
.tab-btn:nth-child(6) { background: #FFE8D7; }
.tab-btn:nth-child(7) { background: #E8F3FF; }
.tab-btn:nth-child(8) { background: #E9E8FA; }

.tab-btn:hover {
  border: 0;
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(23, 52, 77, .13);
}

.tab-btn:active {
  transform: translateY(0);
  box-shadow: 0 5px 14px rgba(23, 52, 77, .10);
}

.tab-btn.active,
.tab-btn:nth-child(n).active {
  color: #fff;
  background: linear-gradient(120deg, var(--teal), #2E83D5);
  border: 0;
  box-shadow: 0 12px 26px rgba(18, 137, 168, .24);
}

.tab-panel {
  --section-accent: var(--teal);
  max-width: 880px;
  padding-top: 38px;
}

#pictures { --section-accent: var(--purple); }
#news { --section-accent: var(--grass); }
#birthdays { --section-accent: var(--sun); }
#chat { --section-accent: var(--coral); }
#zmanim { --section-accent: var(--purple); }
#chassidishe { --section-accent: var(--teal-dark); }

.panel-card {
  padding: 40px 38px;
  border: 0;
  border-radius: 44px 28px 48px 30px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 24px 65px rgba(23, 52, 77, .11);
}

.panel-card::before {
  top: -52px;
  right: -42px;
  left: auto;
  width: 138px;
  height: 138px;
  border-radius: 50%;
  background: var(--section-accent);
  opacity: .13;
}

.panel-card::after {
  content: '';
  position: absolute;
  right: 48px;
  top: 30px;
  width: 30px;
  height: 8px;
  border-radius: 999px;
  background: var(--section-accent);
}

.panel-card h2 {
  font-size: clamp(30px, 4vw, 39px);
}

.badge {
  padding: 7px 14px;
  border: 0;
  border-radius: 999px;
  transform: none;
}

.sub-tab-bar {
  border-bottom: 0;
  gap: 10px;
}

.sub-tab-btn {
  border: 0;
  border-radius: 999px;
  background: #F0F5F4;
}

.sub-tab-btn:hover {
  border: 0;
  background: #E4F2F1;
}

.sub-tab-btn.active {
  background: linear-gradient(120deg, var(--teal-dark), var(--teal));
  border: 0;
  box-shadow: 0 8px 18px rgba(8, 120, 135, .18);
}

.study-link,
.admin-add-btn {
  border-radius: 999px;
  box-shadow: 0 9px 20px rgba(18, 175, 193, .18);
}

.zmanim-row,
.derher-result-item,
.chat-message,
.news-item,
.admin-list-item {
  border: 0;
  border-radius: 22px 16px 24px 18px;
  box-shadow: 0 8px 22px rgba(23, 52, 77, .07);
}

.back-btn {
  border: 0;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(23, 52, 77, .13);
}

input,
textarea,
select {
  border: 1px solid rgba(23,52,77,.12) !important;
  border-radius: 16px !important;
}

@media (max-width: 680px) {
  .hero { padding-bottom: 40px; }
  .tab-bar { padding-top: 16px; padding-bottom: 18px; }
  .tab-btn { box-shadow: 0 6px 16px rgba(23,52,77,.09); }
  .tab-panel { padding: 28px 14px 14px; }
  .panel-card {
    padding: 34px 22px;
    border-radius: 34px 22px 38px 24px;
  }
}

/* =========================================================
   DISTINCT MODERN CAMP DIRECTION
   ========================================================= */
:root {
  --teal: #08B8A9;
  --teal-dark: #087B78;
  --navy: #102C4C;
  --coral: #FF695C;
  --bg: #F7F5EE;
  --sun: #FFCF4D;
  --grass: #78CE68;
  --purple: #6F68D8;
  --sky: #2FB8EA;
}

body {
  background:
    radial-gradient(circle at 0 45%, rgba(255, 207, 77, .20) 0 210px, transparent 212px),
    radial-gradient(circle at 100% 84%, rgba(47, 184, 234, .13) 0 260px, transparent 262px),
    #F7F5EE;
}

h1, h2, h3,
.hero .welcome-banner,
.panel-card h2,
.login-card h1 {
  font-family: 'Inter', sans-serif;
}

#login-screen {
  background:
    radial-gradient(circle at 78% 14%, rgba(255,207,77,.95) 0 82px, transparent 84px),
    radial-gradient(circle at 18% 82%, rgba(120,206,104,.34) 0 220px, transparent 222px),
    linear-gradient(145deg, #1D67C7 0%, #27B9C5 54%, #DAF3D2 100%);
}

#login-screen::before {
  top: -27%;
  right: auto;
  left: -13%;
  width: 620px;
  height: 620px;
  border-radius: 42% 58% 62% 38%;
  background: rgba(255,255,255,.10);
  transform: rotate(22deg);
}

#login-screen::after {
  inset: auto -12% -34% auto;
  width: 560px;
  height: 560px;
  border-radius: 61% 39% 43% 57%;
  background: rgba(16,44,76,.12);
  transform: rotate(-18deg);
}

.camp-logo {
  filter: drop-shadow(0 22px 42px rgba(16,44,76,.26));
}

.login-card {
  max-width: 430px;
  padding: 42px 40px 38px;
  border-radius: 38px;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(20px);
  box-shadow: 0 30px 80px rgba(16,44,76,.22);
}

.login-card h1 {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -.04em;
}

.go-btn {
  min-height: 52px;
  background: linear-gradient(110deg, #FF655A, #FF9A53);
  box-shadow: 0 14px 32px rgba(255,105,92,.30);
}

.hero {
  min-height: 330px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 72px 20px 82px;
  background:
    radial-gradient(circle at 82% 20%, rgba(255,207,77,.98) 0 66px, transparent 68px),
    radial-gradient(circle at 13% 0%, rgba(255,255,255,.17) 0 180px, transparent 182px),
    linear-gradient(125deg, #2466C7 0%, #269FD1 42%, #18B7A7 100%);
}

.hero::before {
  left: -8%;
  bottom: -160px;
  width: 70%;
  height: 240px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  transform: rotate(5deg);
}

.hero::after {
  right: -12%;
  bottom: -178px;
  width: 72%;
  height: 250px;
  border-radius: 50%;
  background: rgba(120,206,104,.48);
  transform: rotate(-5deg);
}

.camp-kicker {
  align-self: center;
  color: #fff;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(12px);
  box-shadow: none;
}

.hero .welcome-banner {
  color: #fff;
  font-size: clamp(48px, 8vw, 78px);
  font-weight: 850;
  letter-spacing: -.055em;
}

.hero .name-line {
  align-self: center;
  color: #fff;
  background: rgba(255,255,255,.14);
  backdrop-filter: blur(12px);
  box-shadow: none;
}

.hero .name-line span,
.login-hint-link {
  color: #FFF1A6;
}

.tab-bar {
  position: relative;
  top: auto;
  z-index: 20;
  width: min(1080px, calc(100% - 32px));
  margin: -35px auto 0;
  padding: 14px;
  gap: 7px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(18px);
  box-shadow: 0 20px 55px rgba(16,44,76,.16);
}

.tab-btn {
  min-height: 45px;
  padding: 10px 16px;
  color: var(--navy);
  background: transparent !important;
  box-shadow: none;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
}

.tab-btn:hover {
  background: #F0F5F4 !important;
  box-shadow: none;
  transform: none;
}

.tab-btn.active,
.tab-btn:nth-child(n).active {
  color: #fff;
  background: var(--navy) !important;
  box-shadow: 0 8px 20px rgba(16,44,76,.20);
}

.tab-panel {
  max-width: 1040px;
  margin-top: 44px;
  padding: 0 24px 20px;
}

.panel-card {
  min-height: 480px;
  padding: 64px 7vw;
  border-radius: 70px 28px 70px 28px;
  background:
    radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--section-accent) 22%, transparent) 0 150px, transparent 152px),
    rgba(255,255,255,.76);
  backdrop-filter: blur(14px);
  box-shadow: 0 30px 90px rgba(16,44,76,.10);
}

.panel-card::before {
  top: auto;
  right: auto;
  left: 7vw;
  bottom: 34px;
  width: 74px;
  height: 12px;
  border-radius: 999px;
  opacity: 1;
}

.panel-card::after {
  right: 56px;
  top: 48px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: transparent;
  border: 12px solid color-mix(in srgb, var(--section-accent) 28%, transparent);
}

.panel-card h2 {
  max-width: 650px;
  font-size: clamp(38px, 6vw, 62px);
  font-weight: 850;
  letter-spacing: -.055em;
}

.panel-card p {
  max-width: 720px;
  font-size: 16px;
  line-height: 1.75;
}

.badge {
  color: var(--navy) !important;
  background: color-mix(in srgb, var(--section-accent) 18%, white) !important;
  font-family: 'Inter', sans-serif;
  letter-spacing: .08em;
}

.rambam-club-logo {
  max-width: 180px;
  margin-left: 0;
  margin-right: 0;
}

.sub-tab-bar {
  margin-top: 28px;
}

.sub-tab-btn {
  padding: 10px 18px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 8px 22px rgba(16,44,76,.06);
}

.sub-tab-btn.active {
  background: var(--navy);
  box-shadow: 0 10px 24px rgba(16,44,76,.16);
}

.zmanim-row,
.derher-result-item,
.chat-message,
.news-item {
  background: rgba(255,255,255,.68);
  box-shadow: 0 10px 30px rgba(16,44,76,.06);
}

.back-btn {
  color: #fff;
  background: rgba(16,44,76,.82);
  backdrop-filter: blur(10px);
}

@media (max-width: 860px) {
  .tab-bar {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    border-radius: 24px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .tab-bar::-webkit-scrollbar { display: none; }
  .tab-btn { flex: 0 0 auto; scroll-snap-align: start; }
}

@media (max-width: 680px) {
  .hero {
    min-height: 280px;
    padding: 68px 16px 70px;
  }
  .hero .welcome-banner { font-size: 50px; }
  .tab-bar {
    width: calc(100% - 20px);
    margin-top: -24px;
    padding: 10px;
  }
  .tab-panel {
    margin-top: 30px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .panel-card {
    min-height: 0;
    padding: 42px 24px 54px;
    border-radius: 38px 18px 42px 20px;
  }
  .panel-card h2 { font-size: 40px; }
  .panel-card::after { right: 20px; top: 24px; width: 42px; height: 42px; border-width: 8px; }
  .login-card { margin-top: -6px; border-radius: 30px; }
}

/* =========================================================
   MODERN EDITORIAL CAMP BRAND
   ========================================================= */
:root {
  --navy: #15324b;
  --ink: #17384b;
  --cream: #fff8ed;
  --paper: #ffffff;
  --lime: #d9f766;
  --orange: #ff7657;
  --blue: #6fb8f5;
  --pink: #ff91b5;
  --aqua: #59d8ce;
  --muted: #687b86;
}

html { scroll-behavior: smooth; }
body {
  font-family: 'Manrope', sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 4% 28%, rgba(255,145,181,.14), transparent 20%),
    radial-gradient(circle at 95% 75%, rgba(89,216,206,.14), transparent 23%),
    var(--cream);
}
h1, h2, h3, .display,
.hero .welcome-banner,
.panel-card h2,
.login-card h1 { font-family: 'Manrope', sans-serif; }

.bh-corner {
  top: 18px;
  left: 20px;
  padding: 7px 12px;
  color: var(--navy);
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(7,31,47,.10);
  border-radius: 9px;
  box-shadow: none;
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  font-weight: 700;
}

#login-screen {
  overflow: hidden;
  align-items: stretch;
  gap: 30px;
  padding: clamp(32px, 6vw, 80px);
  background:
    radial-gradient(circle at 14% 16%, rgba(255,255,255,.72), transparent 24%),
    linear-gradient(145deg, #c9edff 0%, #d9f6ee 52%, #fff6c9 100%);
}
#login-screen::before {
  top: -34vw;
  right: -12vw;
  left: auto;
  width: 74vw;
  height: 74vw;
  max-width: 900px;
  max-height: 900px;
  border: clamp(28px, 5vw, 70px) solid #a7dcff;
  border-radius: 50%;
  background: transparent;
  opacity: 1;
  transform: none;
}
#login-screen::after {
  right: auto;
  bottom: -18vw;
  left: -15vw;
  width: 48vw;
  height: 30vw;
  border-radius: 50% 50% 0 0;
  background: #79baf2;
  opacity: .88;
  transform: rotate(18deg);
}
.camp-logo {
  position: absolute;
  top: clamp(34px, 6vw, 74px);
  left: clamp(34px, 7vw, 100px);
  align-items: flex-start;
  filter: none;
}
.camp-logo img {
  width: min(46vw, 370px);
  max-height: 255px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 14px 28px rgba(0,0,0,.20));
}
.login-card {
  align-self: flex-end;
  width: min(92vw, 470px);
  max-width: 470px;
  margin-right: clamp(0px, 6vw, 70px);
  padding: 44px;
  text-align: left;
  background: var(--paper);
  border: 0;
  border-radius: 26px;
  box-shadow: 0 30px 80px rgba(0,0,0,.28);
  backdrop-filter: none;
}
.login-card::before {
  content: 'YOUR CAMP. EVERY DAY.';
  display: block;
  margin-bottom: 18px;
  color: var(--orange);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .15em;
}
.login-card h1 {
  color: var(--navy);
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.05;
}
.login-card p.sub { margin-top: 10px; color: var(--muted); line-height: 1.6; }
.entry-choice-grid {
  display: grid;
  gap: 12px;
  margin-top: 25px;
}
.entry-choice-btn {
  width: 100%;
  padding: 18px 20px;
  border: 1px solid #cfe6f7;
  border-radius: 15px;
  color: var(--navy);
  background: #eff8ff;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.entry-choice-btn:hover {
  transform: translateY(-2px);
  border-color: #8cc9f7;
  box-shadow: 0 12px 26px rgba(87, 155, 210, .16);
}
.entry-choice-btn strong,
.entry-choice-btn > span { display: block; }
.entry-choice-btn strong { margin: 4px 0; font: 800 20px/1.15 'Manrope', sans-serif; }
.entry-choice-btn > span:last-child { color: var(--muted); font-size: 12px; line-height: 1.4; }
.entry-choice-btn .entry-choice-kicker { color: #438bc4; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.entry-choice-btn.staff-entry { background: #f4fbff; }
.guest-entry-btn {
  display: block;
  width: 100%;
  margin-top: 15px;
  padding: 10px;
  border: 0;
  color: #557486;
  background: transparent;
  font: 700 13px/1.4 'Manrope', sans-serif;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
.guest-entry-btn:hover { color: #2f7faf; }

#camper-login-screen .login-card,
#staff-auth-screen .login-card {
  align-self: center;
  margin: 0;
  max-height: calc(100vh - 36px);
  overflow-y: auto;
}
.login-close-btn { position: absolute; top: 14px; right: 16px; }
.login-role-label {
  display: inline-block;
  margin-bottom: 10px;
  color: #438bc4;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}
.month-choice-fieldset { margin: 18px 0 12px; padding: 0; border: 0; }
.month-choice-fieldset legend { margin-bottom: 9px; color: var(--navy); font-size: 12px; font-weight: 800; }
.month-choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.month-choice { position: relative; cursor: pointer; }
.month-choice input { position: absolute; opacity: 0; pointer-events: none; }
.month-choice span {
  display: grid;
  min-height: 54px;
  padding: 8px;
  place-items: center;
  border: 1.5px solid #cfe4f4;
  border-radius: 11px;
  color: #466579;
  background: #f7fbfe;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  transition: .18s ease;
}
.month-choice input:checked + span {
  border-color: #69afe7;
  color: #174c73;
  background: #dff2ff;
  box-shadow: 0 0 0 3px rgba(111,184,245,.18);
}
.month-choice input:focus-visible + span { outline: 3px solid rgba(105,175,231,.35); outline-offset: 2px; }
.camper-login-btn { background: #69afe7; box-shadow: 0 12px 28px rgba(105,175,231,.25); }
.camper-login-btn:hover { background: #7ebcf0; }
.login-card input {
  padding: 14px 15px;
  border-color: rgba(7,31,47,.16) !important;
  border-radius: 10px !important;
  background: #fff;
}
.go-btn {
  min-height: 52px;
  border-radius: 11px;
  background: var(--orange);
  box-shadow: 0 12px 28px rgba(255,118,87,.28);
  font-family: 'Manrope', sans-serif;
  font-weight: 800;
}
.go-btn:hover { background: #ff896f; transform: translateY(-1px); }
.go-btn:active { transform: translateY(1px); box-shadow: 0 7px 18px rgba(255,118,87,.22); }

#main-site {
  padding-bottom: 72px;
  background:
    radial-gradient(circle at 4% 30%, rgba(255,145,181,.13), transparent 18%),
    radial-gradient(circle at 96% 72%, rgba(89,216,206,.14), transparent 20%),
    var(--cream);
}
#main-site::before { display: none; }
.hero {
  min-height: 330px;
  display: block;
  padding: 56px 36px 40px;
  background:
    radial-gradient(circle at 7% 12%, rgba(255,255,255,.82), transparent 22%),
    radial-gradient(circle at 94% 12%, rgba(255,242,168,.72), transparent 26%),
    linear-gradient(125deg, #d6f1ff 0%, #e2f8f2 52%, #fff7d1 100%);
}
.hero::before,
.hero::after { display: none; }
.hero-inner {
  width: min(1080px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr);
  gap: clamp(32px, 6vw, 76px);
  align-items: center;
}
.hero-copy { position: relative; z-index: 2; }
.camp-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  padding: 0;
  color: var(--navy);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
}
.camp-kicker::before {
  content: '';
  width: 34px;
  height: 3px;
  background: #2f80ed;
  border-radius: 99px;
}
.camp-kicker span { color: var(--blue); }
.hero .welcome-banner {
  margin: 0;
  color: var(--navy);
  font-size: clamp(48px, 6vw, 78px);
  font-weight: 800;
  letter-spacing: -.075em;
  line-height: .9;
  text-align: left;
}
.hero .name-line {
  display: block;
  width: fit-content;
  margin: 20px 0 0;
  padding: 0;
  color: #506c7b;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
  font-size: 15px;
  text-align: left;
}
.hero .name-line span,
.login-hint-link { color: #126f9d; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.hero-art {
  position: relative;
  width: min(100%, 340px);
  aspect-ratio: 1.28 / 1;
  justify-self: end;
  overflow: hidden;
  background: linear-gradient(145deg, #ff8fb2 0%, #ff7657 100%);
  border-radius: 28px;
  box-shadow: 18px 18px 0 rgba(89,216,206,.72);
}
.hero-art-sun {
  position: absolute;
  top: 11%;
  right: 12%;
  width: 24%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 0 0 0 12px rgba(217,247,102,.18);
}
.hero-art-arch {
  position: absolute;
  bottom: -22%;
  left: -10%;
  width: 76%;
  aspect-ratio: 1;
  border: clamp(28px, 5vw, 64px) solid #183f67;
  border-radius: 50%;
}
.hero-art-path {
  position: absolute;
  right: -12%;
  bottom: -15%;
  width: 65%;
  height: 56%;
  background: linear-gradient(145deg, #5f57d9, var(--blue));
  border-radius: 60% 0 0 0;
  transform: rotate(-8deg);
}
.hero-art-label {
  position: absolute;
  top: 12%;
  left: 10%;
  color: #fff;
  font-size: clamp(18px, 3vw, 37px);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: .95;
}

.tab-bar {
  position: sticky;
  top: 0;
  z-index: 30;
  width: 100%;
  margin: 0;
  padding: 0 max(24px, calc((100vw - 1180px) / 2));
  gap: 4px;
  justify-content: flex-start;
  flex-wrap: nowrap;
  overflow-x: auto;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(21,50,75,.10);
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: blur(16px);
  scrollbar-width: none;
}
.tab-bar::-webkit-scrollbar { display: none; }
.tab-btn {
  flex: 0 0 auto;
  min-height: 60px;
  padding: 0 20px;
  color: #637b88;
  background: transparent !important;
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  box-shadow: none;
  font-family: 'Manrope', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .01em;
}
.tab-btn:hover { color: var(--navy); background: rgba(74,140,255,.06) !important; transform: none; box-shadow: none; }
.tab-btn.active,
.tab-btn:nth-child(n).active {
  color: var(--navy);
  background: transparent !important;
  border-bottom-color: #2f80ed;
  box-shadow: none;
}

.tab-panel {
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px 36px 20px;
  scroll-margin-top: 60px;
}
.panel-card {
  min-height: 480px;
  padding: 0 0 72px;
  background: rgba(255,255,255,.72);
  border: 0;
  border-radius: 20px;
  box-shadow: none;
  backdrop-filter: blur(10px);
  padding: 54px clamp(24px, 5vw, 66px) 72px;
}
.panel-card::before {
  top: 0;
  right: auto;
  bottom: auto;
  left: clamp(24px, 5vw, 66px);
  width: 72px;
  height: 6px;
  border-radius: 0 0 99px 99px;
  background: linear-gradient(90deg, #56b9ff 0%, #3267e3 100%);
}
.panel-card::after { display: none; }
.panel-card h2 {
  max-width: 820px;
  margin-top: 34px;
  color: var(--navy);
  font-size: clamp(46px, 7vw, 82px);
  font-weight: 800;
  letter-spacing: -.065em;
  line-height: .98;
}
.panel-card p { max-width: 700px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.badge {
  padding: 7px 11px;
  color: var(--navy) !important;
  background: color-mix(in srgb, var(--section-accent, var(--lime)) 22%, white) !important;
  border-radius: 999px;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}
.rambam-club-logo { max-width: 140px; margin: 0 0 24px; }
.sub-tab-bar { gap: 8px; margin-top: 34px; }
.sub-tab-btn,
.auth-tab-btn {
  border: 1px solid rgba(7,31,47,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.68);
  box-shadow: none;
  font-family: 'Manrope', sans-serif;
}
.sub-tab-btn.active,
.auth-tab-btn.active { color: #fff; background: var(--navy); border-color: var(--navy); box-shadow: none; }
.zmanim-row,
.derher-result-item,
.chat-message,
.news-item,
.admin-list-item {
  background: var(--paper);
  border: 1px solid rgba(7,31,47,.09);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(21,50,75,.06);
  border-top: 3px solid color-mix(in srgb, var(--section-accent, var(--blue)) 72%, white);
}
.study-link,
.admin-add-btn,
.new-chat-btn,
.chat-send-btn {
  border-radius: 13px;
  box-shadow: 0 8px 20px rgba(74,140,255,.12);
}
.back-btn {
  color: #fff;
  background: var(--navy);
  border: 0;
  border-radius: 9px;
  box-shadow: none;
  font-family: 'Manrope', sans-serif;
}
input, textarea, select { border-radius: 9px !important; }

@media (max-width: 800px) {
  #login-screen { justify-content: flex-end; padding: 90px 20px 24px; }
  .camp-logo { top: 34px; left: 30px; }
  .camp-logo img { width: min(66vw, 290px); max-height: 190px; }
  .login-card { align-self: center; margin: 0; padding: 34px 28px; }
  .month-choice-grid { grid-template-columns: 1fr; }
  .month-choice span { min-height: 44px; }
  .hero { min-height: auto; padding: 76px 20px 24px; }
  .hero-inner { grid-template-columns: 1fr; gap: 0; }
  .hero .welcome-banner { font-size: clamp(45px, 13vw, 64px); }
  .hero .name-line { margin-top: 14px; font-size: 13px; }
  .camp-kicker { margin-bottom: 11px; font-size: 10px; }
  .hero-art { display: none; }
  .tab-bar { padding: 0 10px; }
  .tab-btn { min-height: 58px; padding: 0 16px; font-size: 13px; }
  .tab-panel { padding: 20px 16px 16px; scroll-margin-top: 58px; }
  .panel-card { min-height: 0; padding: 38px 22px 48px; border-radius: 16px; }
  .panel-card h2 { margin-top: 36px; font-size: 48px; }
}

/* =========================================================
   ADMIN CONTROL DASHBOARD
   ========================================================= */
#admin-overlay {
  background:
    radial-gradient(circle at 8% 10%, rgba(133, 219, 255, .23), transparent 24%),
    radial-gradient(circle at 92% 4%, rgba(164, 214, 107, .2), transparent 22%),
    #f5f9fc;
}
#admin-overlay > .back-btn {
  position: sticky;
  top: 14px;
  z-index: 5;
  margin: 14px 0 0 18px;
}
.admin-hero { padding: 36px 20px 22px; }
.admin-eyebrow,
.admin-section-kicker {
  display: block;
  color: #2972bc;
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .17em;
}
.admin-hero h1 {
  margin-top: 8px;
  font-family: 'Manrope', sans-serif;
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 800;
  letter-spacing: -.045em;
}
.admin-hero p { font-size: 15px; }
#admin-panel { max-width: 1180px; padding: 0 26px; }
#admin-panel > .panel-card {
  min-height: 0;
  padding: 24px 26px 32px;
  border: 1px solid rgba(7, 31, 47, .08);
  border-radius: 22px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 22px 60px rgba(21, 50, 75, .09);
  backdrop-filter: blur(16px);
}
#admin-panel > .panel-card::before,
#admin-panel > .panel-card::after { display: none; }
.admin-tab-bar {
  position: sticky;
  top: 12px;
  z-index: 4;
  display: flex;
  gap: 6px;
  margin: 0 0 28px;
  padding: 6px;
  overflow-x: auto;
  border: 1px solid rgba(7, 31, 47, .08);
  border-radius: 15px;
  background: rgba(244, 248, 251, .95);
}
.admin-tab-btn {
  flex: 1;
  min-width: max-content;
  padding: 11px 15px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 750;
}
.admin-tab-btn:hover { background: #e9f1f7; }
.admin-tab-btn.active {
  color: #fff;
  background: var(--navy);
  border: 0;
  box-shadow: 0 8px 18px rgba(7, 31, 47, .14);
}
.admin-dashboard-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
#admin-panel .admin-dashboard-head h2,
#admin-panel .admin-section-heading h2 {
  margin: 7px 0 4px;
  color: var(--navy);
  font-family: 'Manrope', sans-serif;
  font-size: clamp(25px, 3vw, 36px);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.08;
}
#admin-panel .admin-dashboard-head p,
#admin-panel .admin-section-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}
.admin-refresh-btn,
.admin-view-site-btn {
  padding: 10px 14px;
  border: 1px solid rgba(7, 31, 47, .12);
  border-radius: 10px;
  background: #fff;
  color: var(--navy);
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}
.admin-refresh-btn:hover,
.admin-view-site-btn:hover { background: #eef5fa; }
.admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.admin-stat-card {
  display: flex;
  min-height: 156px;
  padding: 18px;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  border: 1px solid rgba(7, 31, 47, .08);
  border-radius: 17px;
  color: var(--navy);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}
.admin-stat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(21, 50, 75, .1);
}
.stat-blue { background: #e8f4ff; }
.stat-purple { background: #f0ebff; }
.stat-green { background: #e8f8ee; }
.stat-yellow { background: #fff6cf; }
.stat-coral { background: #ffede7; }
.stat-camper { background: #e7f8f6; }
.admin-stat-number {
  font-family: 'Manrope', sans-serif;
  font-size: 35px;
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1;
}
.admin-stat-label { margin-top: 7px; font-size: 13px; font-weight: 750; }
.admin-stat-action {
  margin-top: auto;
  color: #3d607d;
  font-size: 11px;
  font-weight: 700;
}
.admin-control-grid {
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: 16px;
}
.admin-control-card {
  padding: 21px;
  border: 1px solid rgba(7, 31, 47, .08);
  border-radius: 17px;
  background: #fff;
}
#admin-panel .admin-control-card h3 {
  margin: 6px 0 15px;
  font-family: 'Manrope', sans-serif;
  font-size: 20px;
}
.admin-quick-list { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.admin-quick-list button {
  display: flex;
  padding: 12px 13px;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid #e2eaf0;
  border-radius: 11px;
  background: #f8fbfd;
  color: var(--navy);
  cursor: pointer;
}
.admin-quick-list button:hover { background: #eef6fb; border-color: #bdd7e9; }
.admin-quick-list span { font-size: 13px; font-weight: 800; }
.admin-quick-list small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.admin-system-card { background: var(--navy); color: #fff; }
.admin-system-card .admin-section-kicker { color: #9ed5ff; }
#admin-panel .admin-system-card h3 { color: #fff; }
.admin-system-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .13);
  font-size: 12px;
}
.admin-system-row strong { color: #9fe3b5; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.admin-view-site-btn { width: 100%; margin-top: 16px; }
.admin-last-updated { margin: 13px 2px 0 !important; color: var(--muted) !important; font-size: 10px !important; }
.admin-section-heading { margin: 4px 0 22px; }
#admin-panel .admin-form { padding: 17px; border-radius: 14px; background: #f4f8fb; }
#admin-panel .admin-list { max-height: 460px; overflow-y: auto; padding-right: 3px; }
#admin-panel .admin-list-item { border-top: 1px solid rgba(7,31,47,.09); }
#admin-panel .admin-note { margin-top: 26px; }

.admin-camper-tools {
  display: flex;
  gap: 10px;
  margin: 0 0 16px;
}
.admin-camper-tools input,
.admin-camper-tools select {
  flex: 1;
  min-width: 0;
  padding: 11px 13px;
  border: 1px solid #d9e4ec;
  background: #fff;
  color: var(--navy);
  font: 600 13px 'Manrope', sans-serif;
}
.admin-camper-tools select { min-width: 145px; }
.admin-camper-results {
  margin: -5px 2px 5px;
  color: var(--muted);
  font: 750 11px 'Manrope', sans-serif;
}
.admin-camper-help {
  margin: 0 2px 16px;
  color: #4c6477;
  font-size: 12px;
  line-height: 1.5;
}
#admin-panel .admin-camper-list {
  max-height: none;
  overflow: visible;
}
.admin-camper-card {
  overflow: hidden;
  border: 1px solid rgba(7,31,47,.09);
  border-radius: 15px;
  background: #fff;
}
.admin-camper-toggle {
  display: grid;
  width: 100%;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  padding: 14px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.admin-camper-toggle:hover,
.admin-camper-toggle[aria-expanded="true"] { background: #f4f9fd; }
.admin-camper-view-label {
  grid-column: 3;
  color: #2972bc;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.admin-camper-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  background: #e7f3ff;
  color: #276cb0;
  font: 800 14px 'Manrope', sans-serif;
}
.admin-camper-avatar.has-photo { background-size: cover; background-position: center; }
.admin-camper-summary {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.admin-camper-summary strong { color: var(--navy); font-size: 14px; }
.admin-status-badge {
  display: inline-block;
  margin-left: 5px;
  padding: 3px 7px;
  border-radius: 99px;
  font-size: 8px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
  vertical-align: 2px;
}
.status-active { background: #dcf5e7; color: #167448; }
.status-frozen { background: #fff0c9; color: #8b5b00; }
.status-deleted { background: #ffe2de; color: #a43a2b; }
.status-chat-approved { background: #e4f4ee; color: #167448; }
.status-chat-pending { background: #fff0c9; color: #8b5b00; }
.camper-status-frozen { border-color: #eacb73; }
.camper-status-deleted { border-color: #efb4aa; background: #fffafa; }
.admin-camper-summary small {
  overflow: hidden;
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-camper-detail {
  padding: 0 14px 15px 69px;
  border-top: 1px solid #edf1f4;
  background: #fbfdff;
}
.admin-camper-detail[hidden] { display: none; }
.admin-camper-settings-title {
  margin: 0;
  padding: 16px 0 4px;
  color: var(--navy);
  font: 800 15px 'Manrope', sans-serif;
}
.admin-camper-detail-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 13px 0;
}
.admin-camper-detail-stats span {
  display: flex;
  padding: 10px;
  flex-direction: column;
  border-radius: 10px;
  background: #f5f9fc;
}
.admin-camper-detail-stats strong { color: var(--navy); font-size: 17px; }
.admin-camper-detail-stats small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.admin-account-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 2px 0 14px;
}
.admin-account-btn {
  padding: 8px 10px;
  border: 1px solid #d8e3eb;
  border-radius: 9px;
  background: #f7fafc;
  color: var(--navy);
  font: 750 10px 'Manrope', sans-serif;
  cursor: pointer;
}
.admin-account-btn:hover { background: #edf5fa; }
.admin-account-btn.control-good { background: #e4f7eb; border-color: #b8e3c8; color: #17673e; }
.admin-account-btn.control-warning { background: #fff5d9; border-color: #efd892; color: #7b5700; }
.admin-account-btn.control-danger { background: #fff0ed; border-color: #efc2b9; color: #a13627; }
.admin-camper-activity h3 {
  margin: 5px 0 8px;
  color: var(--navy);
  font: 800 13px 'Manrope', sans-serif;
}
.admin-activity-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-top: 1px solid #edf1f4;
  color: var(--navy);
  font-size: 11px;
}
.admin-activity-row time { flex: none; color: var(--muted); font-size: 10px; }
.admin-empty-state { margin: 12px 2px; color: var(--muted); font-size: 12px; }
.admin-error-state { color: var(--coral); }

@media (max-width: 900px) {
  .admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-stat-card:last-child { grid-column: span 2; min-height: 125px; }
  .admin-control-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  #admin-overlay > .back-btn { position: relative; top: auto; }
  .admin-hero { padding: 28px 18px 18px; }
  #admin-panel { padding: 0 12px; }
  #admin-panel > .panel-card { padding: 14px 12px 24px; border-radius: 16px; }
  .admin-tab-bar { top: 6px; margin-bottom: 22px; }
  .admin-tab-btn { flex: 0 0 auto; padding: 10px 13px; }
  .admin-dashboard-head { align-items: flex-start; flex-direction: column; }
  .admin-stat-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .admin-stat-card { min-height: 142px; padding: 15px; }
  .admin-quick-list { grid-template-columns: 1fr; }
  .admin-camper-tools { flex-direction: column; }
  .admin-camper-toggle { grid-template-columns: auto minmax(0, 1fr); }
  .admin-camper-view-label { grid-column: 1 / -1; margin-left: 55px; }
  .admin-camper-detail { padding: 0 12px 13px; }
  .admin-camper-detail-stats { grid-template-columns: 1fr; }
  .admin-activity-row { flex-direction: column; gap: 2px; }
  #admin-panel .admin-form,
  #admin-panel .birthday-admin-form { flex-direction: column; }
  #admin-panel .admin-form input,
  #admin-panel .admin-form select,
  #admin-panel .admin-form button { width: 100%; min-width: 0; }
  #admin-panel .admin-list-item { align-items: flex-start; flex-wrap: wrap; }
}

/* Keep in Touch directory */
#keep-in-touch { --section-accent: var(--teal-dark); }
.keep-in-touch-badge { color: var(--teal-dark); background: #e3f3f4; }
.keep-in-touch-intro { max-width: 650px; margin: -4px 0 24px; color: #526577; font-size: 16px; line-height: 1.6; }
.directory-search-label { display: block; margin-bottom: 8px; color: var(--navy); font-size: 14px; font-weight: 800; }
.directory-search { width: 100%; max-width: 560px; min-height: 48px; padding: 12px 16px; border: 1px solid #cbdce7; border-radius: 13px; background: #fff; color: var(--navy); font: inherit; font-size: 16px; box-shadow: 0 5px 16px rgba(7, 48, 77, .06); }
.directory-search:focus { border-color: var(--teal-dark); outline: 3px solid rgba(30, 132, 139, .14); }
.contact-directory { margin-top: 30px; }
.directory-group + .directory-group { margin-top: 36px; padding-top: 28px; border-top: 1px solid #dce7ee; }
.directory-group h3 { margin: 0 0 15px; color: var(--navy); font-size: 22px; }
.directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.contact-card { min-width: 0; padding: 16px; border: 1px solid #dbe7ed; border-radius: 15px; background: linear-gradient(145deg, #fff, #f7fbfc); box-shadow: 0 6px 18px rgba(7, 48, 77, .06); }
.contact-name { color: var(--navy); font-size: 16px; font-weight: 850; line-height: 1.3; }
.contact-phone { display: inline-flex; margin-top: 10px; align-items: center; gap: 7px; color: var(--teal-dark); font-size: 15px; font-weight: 750; text-decoration: none; }
.contact-phone:hover { text-decoration: underline; }
.contact-phone-missing { display: block; margin-top: 10px; color: #7c8992; font-size: 13px; }
.directory-empty { padding: 30px 18px; border: 1px dashed #b9ccd8; border-radius: 15px; color: #647481; text-align: center; }
.directory-access-gate { max-width: 560px; margin: 22px auto 4px; padding: 34px 24px; border: 1px solid #d6e3ea; border-radius: 18px; background: linear-gradient(145deg, #f4f9fb, #fff); text-align: center; }
.directory-access-gate > span { font-size: 38px; }
.directory-access-gate h3 { margin: 10px 0 6px; color: var(--navy); font-size: 22px; }
.directory-access-gate p { margin: 0 auto 18px; color: #5c6d78; line-height: 1.55; }
.directory-access-gate button { min-height: 44px; padding: 10px 18px; border: 0; border-radius: 12px; background: var(--teal-dark); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }

@media (max-width: 900px) {
  .directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .directory-grid { grid-template-columns: 1fr; }
  .contact-card { padding: 15px; }
}

.profile-message-list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.profile-message-list > p { margin: 0; color: var(--muted); font-size: 12px; }
.profile-message-item { padding: 12px; border: 1px solid #e2eaf0; border-radius: 11px; background: #f8fbfd; }
.profile-message-item p { margin: 0; color: var(--navy); font-size: 12px; line-height: 1.55; }
.profile-message-item time { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; }
.account-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
  padding: 24px;
  place-items: center;
  background: rgba(7,31,47,.7);
  backdrop-filter: blur(8px);
}
.account-modal-overlay.open { display: grid; }
.account-modal-card {
  position: relative;
  width: min(100%, 440px);
  padding: 30px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(7,31,47,.28);
}
.account-modal-card h2 { margin: 8px 0; color: var(--navy); font: 800 28px 'Manrope', sans-serif; }
.account-modal-card > p { color: var(--muted); font-size: 13px; line-height: 1.5; }
.account-modal-card input { width: 100%; box-sizing: border-box; margin: 5px 0; padding: 12px; border: 1px solid #d8e3eb; }
.account-modal-card .go-btn { width: 100%; margin-top: 9px; }
.modal-close-btn { position: absolute; top: 14px; right: 16px; }
.profile-login-choice { padding-top: 36px; }
.profile-login-choice .entry-choice-grid { margin-top: 20px; }
.birthday-mazel-tov-overlay { background: rgba(7, 31, 47, .76); }
.birthday-mazel-tov-card {
  overflow: hidden;
  text-align: center;
  border: 3px solid #ffe49a;
  background: linear-gradient(145deg, #fff9e8 0%, #fff 55%, #eaf8f7 100%);
}
.birthday-mazel-tov-card::before,
.birthday-mazel-tov-card::after {
  content: '';
  position: absolute;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  opacity: .13;
}
.birthday-mazel-tov-card::before { top: -32px; left: -24px; background: var(--coral); }
.birthday-mazel-tov-card::after { right: -28px; bottom: -38px; background: var(--teal); }
.birthday-celebration-icon { display: block; margin-bottom: 10px; font-size: 52px; line-height: 1; }
.birthday-mazel-tov-card h2 { margin: 8px 0 10px; color: var(--coral); font-size: clamp(36px, 8vw, 50px); }
.birthday-mazel-tov-card #birthdayMazelTovNames { margin: 0; color: var(--navy); font-size: 19px; font-weight: 800; }
.birthday-mazel-tov-card .birthday-mazel-tov-wish { margin: 10px auto 18px; max-width: 330px; }
.feedback-fab {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 80;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  padding: 12px 17px;
  color: #fff;
  background: linear-gradient(135deg, var(--teal-dark), var(--teal));
  box-shadow: 0 12px 30px rgba(7, 82, 91, .25);
  font: 800 12px 'Inter', sans-serif;
  cursor: pointer;
}
.feedback-fab:hover { transform: translateY(-2px); box-shadow: 0 15px 34px rgba(7, 82, 91, .3); }
.feedback-fab span { font-size: 16px; }
.feedback-card { width: min(100%, 520px); }
.feedback-card form { display: grid; gap: 8px; }
.feedback-card label { margin-top: 5px; color: var(--navy); font-size: 12px; font-weight: 800; }
.feedback-card label small { color: var(--muted); font-weight: 600; }
.feedback-card select,
.feedback-card textarea,
.feedback-card input { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid #d8e3eb; background: #fff; font: 500 14px 'Inter', sans-serif; }
.feedback-card textarea { resize: vertical; min-height: 112px; }
.feedback-optional-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.feedback-optional-grid > div { display: grid; gap: 5px; }
.feedback-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.feedback-status { min-height: 18px; margin: 2px 0 0 !important; font-size: 12px !important; font-weight: 700; }
.feedback-status.success { color: #24733b !important; }
.feedback-status.error { color: #a03b2b !important; }
.feedback-submit-btn:disabled { opacity: .65; cursor: wait; }

@media (max-width: 600px) {
  .feedback-fab { right: 12px; bottom: 12px; padding: 11px 14px; }
  .feedback-optional-grid { grid-template-columns: 1fr; gap: 2px; }
  .feedback-card { padding: 26px 20px; }
}

/* =========================================================
   MODERN PUBLIC HOMEPAGE
   ========================================================= */
.site-header {
  position: sticky;
  top: 0;
  z-index: 45;
  display: flex;
  min-height: 74px;
  padding: 10px max(24px, calc((100vw - 1180px) / 2));
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid #e5eef5;
  backdrop-filter: blur(16px);
}
.site-brand {
  display: inline-flex;
  padding: 0;
  align-items: center;
  gap: 11px;
  border: 0;
  color: var(--navy);
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.site-brand-logo {
  display: block;
  width: clamp(154px, 16vw, 205px);
  height: 52px;
  object-fit: contain;
  object-position: left center;
}
.site-header .profile-dashboard-btn {
  position: static;
  z-index: auto;
  min-height: 48px;
  box-shadow: none;
  background: #f5faff;
  border-color: #dcebf6;
}
.tab-bar { top: 74px; z-index: 44; }
.hero {
  min-height: 530px;
  padding: clamp(58px, 7vw, 92px) 36px clamp(60px, 7vw, 88px);
  background:
    radial-gradient(circle at 9% 12%, rgba(255,255,255,.95), transparent 25%),
    linear-gradient(120deg, #e8f7ff 0%, #f5fbff 55%, #e7f5ff 100%);
}
.hero-inner { grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); gap: clamp(45px, 7vw, 90px); }
.hero .welcome-banner { max-width: 710px; font-size: clamp(55px, 6.6vw, 90px); line-height: .94; }
.hero .welcome-banner span { color: #2f80ed; }
.hero-subtitle {
  max-width: 570px;
  margin: 24px 0 0;
  color: #496a7e;
  font: 500 clamp(17px, 1.6vw, 21px)/1.55 'Inter', sans-serif;
}
.hero-actions { display: flex; gap: 12px; margin-top: 30px; flex-wrap: wrap; }
.hero-primary-btn,
.hero-secondary-btn {
  min-height: 50px;
  padding: 0 22px;
  border-radius: 12px;
  font: 800 13px 'Manrope', sans-serif;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}
.hero-primary-btn { border: 1px solid #2f80ed; color: #fff; background: #2f80ed; box-shadow: 0 10px 22px rgba(47,128,237,.22); }
.hero-secondary-btn { border: 1px solid #bcd9eb; color: var(--navy); background: rgba(255,255,255,.78); }
.hero-primary-btn:hover,
.hero-secondary-btn:hover { transform: translateY(-2px); }
.hero .name-line { margin-top: 22px; color: #688393; font-size: 12px; }
.hero-photo {
  position: relative;
  width: 100%;
  min-height: 365px;
  overflow: hidden;
  border: 8px solid #fff;
  border-radius: 28px;
  background-color: #bfe8ff;
  background-position: center;
  background-size: cover;
  box-shadow: 0 28px 65px rgba(35, 92, 128, .19), 18px 18px 0 #b8e7ff;
}
.hero-logo-card {
  min-height: 0;
  aspect-ratio: 1.78;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.hero-main-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.home-panel { max-width: 1180px; padding-top: 70px; padding-bottom: 74px; }
.home-section-heading > span { color: #3d8ac0; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.home-section-heading h2 { max-width: 750px; margin: 12px 0 30px; color: var(--navy); font: 800 clamp(34px, 5vw, 58px)/1.02 'Manrope', sans-serif; letter-spacing: -.055em; }
.home-quick-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.home-quick-card {
  position: relative;
  display: flex;
  min-height: 180px;
  padding: 24px;
  flex-direction: column;
  align-items: flex-start;
  overflow: hidden;
  border: 1px solid #dceaf3;
  border-radius: 18px;
  color: var(--navy);
  background: #fff;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(30, 88, 121, .07);
  transition: transform .18s ease, box-shadow .18s ease;
}
.home-quick-card:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(30,88,121,.12); }
.home-quick-card > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; color: #2f80ed; background: #e9f6ff; font: 800 10px 'Manrope', sans-serif; }
.home-quick-card strong { margin-top: auto; font: 800 20px 'Manrope', sans-serif; letter-spacing: -.025em; }
.home-quick-card small { margin-top: 6px; color: #6a8392; font: 500 12px/1.45 'Inter', sans-serif; }
.home-quick-card.songs > span { color: #bd6e11; background: #fff4d8; }
.home-quick-card.news > span { color: #8a60c2; background: #f3ebff; }
.home-quick-card.calendar > span { color: #c35173; background: #ffeaf1; }
.home-quick-card.photos > span { color: #287b9a; background: #e6f7fb; }
.home-quick-card.archive > span { color: #5c67b8; background: #eceeff; }
.home-bottom-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 15px; }
.home-feature-card { display: flex; min-height: 220px; padding: 30px; flex-direction: column; align-items: flex-start; border: 0; border-radius: 20px; color: var(--navy); background: linear-gradient(135deg, #dff5ff, #eefaff); text-align: left; cursor: pointer; }
.home-feature-card strong { margin-top: 30px; font: 800 28px 'Manrope', sans-serif; letter-spacing: -.04em; }
.home-feature-card small { max-width: 410px; margin-top: 8px; color: #587687; font: 500 13px/1.55 'Inter', sans-serif; }
.home-feature-card b { margin-top: auto; color: #2f80ed; font: 800 12px 'Manrope', sans-serif; }
.home-feature-kicker { font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.home-feature-dark { color: #fff; background: linear-gradient(135deg, #153a59, #1d5c88); }
.home-feature-dark small { color: #c6deed; }
.home-feature-dark b { color: #8edcff; }

@media (max-width: 800px) {
  .site-header { min-height: 66px; padding: 9px 14px; }
  .site-brand-logo { width: 145px; height: 44px; }
  .site-header .profile-dashboard-btn { position: static; min-height: 44px; }
  .tab-bar { top: 66px; }
  .hero { padding: 54px 20px 48px; }
  .hero-inner { grid-template-columns: 1fr; gap: 36px; }
  .hero .welcome-banner { font-size: clamp(48px, 13vw, 68px); }
  .hero-photo { display: block; min-height: 290px; box-shadow: 10px 10px 0 #b8e7ff; }
  .home-panel { padding: 46px 16px 58px; }
  .home-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-bottom-row { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .site-brand-logo { width: 132px; height: 40px; }
  .hero-actions { flex-direction: column; }
  .hero-primary-btn, .hero-secondary-btn { width: 100%; }
  .hero-photo { min-height: 235px; }
  .home-quick-grid { grid-template-columns: 1fr; }
  .home-quick-card { min-height: 155px; }
}
.hero-photo.hero-logo-card { min-height: 0; }

/* Camp archive */
#archive { --section-accent: #6873c8; }
.subpage-view .hero { display: none; }
.subpage-view .tab-panel.active { padding: 48px 36px 80px; }
.subpage-view .panel-card {
  min-height: 0;
  padding: 28px 0 64px;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
}
.subpage-view .panel-card::before { left: 0; }
@media (max-width: 800px) {
  .subpage-view .tab-panel.active { padding: 34px 20px 64px; }
  .subpage-view .panel-card { padding-top: 20px; }
}
#archive .badge { color: #4f59a7; background: #eceeff; }
.archive-panel-card { overflow: hidden; }
.archive-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; margin-bottom: 30px; }
.archive-heading h2 { margin-bottom: 10px; }
.archive-heading p { max-width: 620px; margin: 0; color: var(--muted); line-height: 1.65; }
.archive-mark { display: grid; width: 92px; height: 92px; flex: 0 0 92px; place-items: center; border-radius: 24px; color: #fff; background: linear-gradient(145deg, #7280da, #46539e); font: 800 18px 'Manrope', sans-serif; letter-spacing: .08em; box-shadow: 0 14px 30px rgba(76, 88, 167, .22); }
.archive-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.archive-collection { position: relative; display: flex; min-height: 330px; padding: 28px; flex-direction: column; overflow: hidden; border: 1px solid #dfe4f3; border-radius: 24px; background: linear-gradient(155deg, #fff, #f6f8ff); }
.archive-collection::after { position: absolute; right: -42px; bottom: -55px; width: 160px; height: 160px; border-radius: 50%; background: rgba(105, 117, 202, .08); content: ''; }
.archive-videos { background: linear-gradient(155deg, #fff, #f0f9fb); }
.archive-collection-icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 15px; color: #fff; background: #6873c8; font: 800 21px 'Manrope', sans-serif; box-shadow: 0 9px 20px rgba(76, 88, 167, .2); }
.archive-play { padding-left: 3px; background: #2495a7; font-size: 17px; }
.archive-collection-copy { margin-top: 24px; }
.archive-eyebrow { color: #6873c8; font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.archive-collection h3 { margin: 8px 0 9px; color: var(--navy); font: 800 25px 'Manrope', sans-serif; letter-spacing: -.035em; }
.archive-collection p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.archive-empty-state { position: relative; z-index: 1; margin-top: auto; padding: 17px 18px; border: 1px dashed #c7cfe7; border-radius: 15px; background: rgba(255,255,255,.78); }
.archive-empty-state strong { display: block; color: var(--navy); font: 800 13px 'Manrope', sans-serif; }
.archive-empty-state small { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.archive-library { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.archive-library-section { padding: 24px; border: 1px solid #dfe4f3; border-radius: 22px; background: linear-gradient(155deg, #fff, #f6f8ff); }
.archive-library-wide { grid-column: 1 / -1; }
.archive-library-heading { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; }
.archive-library-heading h3 { margin: 4px 0 0; color: var(--navy); font: 800 23px 'Manrope', sans-serif; letter-spacing: -.035em; }
.archive-library details { margin-top: 10px; border: 1px solid #dfe4f3; border-radius: 14px; background: rgba(255,255,255,.82); }
.archive-library summary { padding: 14px 16px; color: var(--navy); cursor: pointer; font: 800 13px 'Manrope', sans-serif; }
.archive-library summary small { margin-left: 6px; color: var(--muted); font-weight: 600; }
.archive-link-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0 12px 12px; }
.archive-link-grid > a { display: flex; min-height: 42px; padding: 10px 12px; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid #e2e6f2; border-radius: 11px; color: #4f59a7; background: #fff; font: 700 11px 'Manrope', sans-serif; text-decoration: none; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.archive-link-grid > a::after { content: '↗'; color: #8992c8; font-size: 13px; }
.archive-link-grid > a:hover { transform: translateY(-1px); border-color: #aeb7e5; box-shadow: 0 7px 16px rgba(76,88,167,.1); }
.archive-journal-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; }
.archive-library-section > .archive-link-grid { padding: 0; }
.archive-video-card { display: flex; padding: 24px; align-items: center; gap: 16px; border: 1px solid #cde6ea; border-radius: 22px; color: var(--navy); background: linear-gradient(155deg, #fff, #f0f9fb); text-decoration: none; }
.archive-video-button { width: 100%; text-align: left; cursor: pointer; font: inherit; }
.archive-video-card > span:last-child { display: flex; flex-direction: column; gap: 4px; }
.archive-video-card small { color: #238294; font: 800 9px 'Manrope', sans-serif; letter-spacing: .14em; }
.archive-video-card strong { font: 800 21px 'Manrope', sans-serif; }
.archive-video-card b { color: #238294; font: 700 11px 'Manrope', sans-serif; }
.archive-hosted-videos { background: linear-gradient(155deg, #fff, #eff8fa); }
.archive-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.archive-hosted-video-card { overflow: hidden; border: 1px solid #cde6ea; border-radius: 18px; background: #fff; box-shadow: 0 12px 30px rgba(18, 46, 77, .08); }
.archive-hosted-video-card video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #07192d; }
.archive-hosted-video-copy { padding: 16px 18px 18px; }
.archive-hosted-video-copy span { color: #238294; font: 800 9px 'Manrope', sans-serif; letter-spacing: .14em; }
.archive-hosted-video-copy h4 { margin: 5px 0 0; color: var(--navy); font: 800 19px 'Manrope', sans-serif; letter-spacing: -.025em; }

/* Dedicated video library */
.video-library-page { width: 100%; padding: 6px 2px 28px; }
.video-library-page-heading { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.video-library-page-heading h2 { margin: 0; color: var(--navy); }
.video-library-intro { margin: 8px 0 18px; color: var(--muted); }
.video-category-filters { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 26px; }
.video-category-filter { padding: 9px 15px; border: 1px solid #cbdde1; border-radius: 999px; background: #fff; color: #405664; font: 750 13px 'Inter', sans-serif; cursor: pointer; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.video-category-filter:hover { border-color: var(--teal); color: var(--teal-dark); }
.video-category-filter.active { border-color: var(--teal); background: var(--teal); color: #fff; }
.public-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.public-video-card { overflow: hidden; border: 1px solid #cde6ea; border-radius: 22px; background: #fff; box-shadow: 0 14px 34px rgba(18, 46, 77, .1); }
.public-video-card video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #07192d; }
.public-video-copy { padding: 18px 20px 21px; }
.public-video-copy > span { color: #238294; font: 800 9px 'Manrope', sans-serif; letter-spacing: .15em; }
.public-video-copy h3 { margin: 5px 0 4px; color: var(--navy); font: 800 21px 'Manrope', sans-serif; letter-spacing: -.03em; }
.public-video-copy small { color: var(--muted); font-size: 11px; }
.video-library-status { grid-column: 1 / -1; padding: 34px; border: 1px dashed #c7dce1; border-radius: 20px; color: var(--muted); background: #f6fbfc; text-align: center; }
.video-library-status strong, .video-library-status span { display: block; }
.video-library-status strong { margin-bottom: 5px; color: var(--navy); font: 800 17px 'Manrope', sans-serif; }
.video-library-error { color: #a33b3b; }

/* Video manager inside Admin */
.admin-video-upload-card { margin-bottom: 20px; padding: 18px; border-radius: 16px; background: #f4f8fb; }
.admin-video-fields { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(130px, .6fr); gap: 10px; }
.admin-video-fields select, .admin-video-fields input[type="file"] { grid-column: 1 / -1; }
.admin-video-fields input, .admin-video-fields select { min-width: 0; padding: 12px 13px; border: 1px solid rgba(7,31,47,.14); border-radius: 10px; background: #fff; color: var(--navy); font: 500 13px 'Inter', sans-serif; }
.admin-video-upload-card > p { margin: 10px 0 13px; color: var(--muted); font-size: 11px; }
.admin-video-upload-status { min-height: 18px; margin-top: 10px; color: #238294; font-size: 12px; font-weight: 700; }
.admin-video-row-icon { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; padding-left: 2px; border-radius: 10px; color: #fff; background: #2495a7; font-size: 13px; }
@media (max-width: 680px) {
  .archive-heading { flex-direction: column; }
  .archive-mark { width: 72px; height: 72px; flex-basis: 72px; border-radius: 19px; }
  .archive-sections { grid-template-columns: 1fr; }
  .archive-collection { min-height: 300px; padding: 23px; }
  .archive-library { grid-template-columns: 1fr; }
  .archive-library-wide { grid-column: auto; }
  .archive-library-section { padding: 19px; }
  .archive-video-grid { grid-template-columns: 1fr; }
  .public-video-grid { grid-template-columns: 1fr; }
  .admin-video-fields { grid-template-columns: 1fr; }
  .admin-video-fields input[type="file"] { grid-column: auto; }
  .archive-link-grid, .archive-journal-grid { grid-template-columns: 1fr; }
}

/* Homepage hero alignment */
.hero-copy,
.hero-subtitle { text-align: left; }
.hero-actions { justify-content: flex-start; }
.camp-kicker::before { display: none; }
.camp-kicker::after {
  content: '';
  width: 34px;
  height: 3px;
  flex: 0 0 34px;
  border-radius: 99px;
  background: #2f80ed;
}

/* =========================================================
   CAMPER PROFILE DASHBOARD
   ========================================================= */
.profile-dashboard-btn {
  position: absolute;
  top: 20px;
  right: 22px;
  z-index: 12;
  display: flex;
  min-height: 50px;
  padding: 7px 13px 7px 8px;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(7, 31, 47, .11);
  border-radius: 999px;
  background: rgba(255, 255, 255, .9);
  color: var(--navy);
  box-shadow: 0 10px 28px rgba(21, 50, 75, .11);
  backdrop-filter: blur(12px);
  cursor: pointer;
}
.profile-dashboard-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(21, 50, 75, .16); }
.profile-icon {
  position: relative;
  display: block;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  overflow: hidden;
  border-radius: 50%;
  background: linear-gradient(145deg, #8edcff, #5890ff);
}
.profile-icon::before {
  content: '';
  position: absolute;
  top: 7px;
  left: 13px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
}
.profile-icon::after {
  content: '';
  position: absolute;
  left: 8px;
  bottom: 5px;
  width: 20px;
  height: 11px;
  border-radius: 12px 12px 7px 7px;
  background: #fff;
}
.profile-dashboard-btn.signed-in .profile-icon { background: linear-gradient(145deg, #65d6b0, #28a98a); }
.profile-icon img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.profile-btn-copy { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
.profile-btn-copy small { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.profile-btn-copy strong {
  max-width: 110px;
  margin-top: 4px;
  overflow: hidden;
  font-family: 'Manrope', sans-serif;
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-embed { background: transparent !important; }
.profile-embed > .bh-corner,
.profile-embed > #main-site,
.profile-embed > .feedback-fab,
.profile-embed > #feedback-overlay { display: none !important; }

/* 2026 GYYR illustrated camp design */
body { background: #f7faff; color: #081b48; }
#main-site { position: relative; }
.site-header {
  min-height: 82px;
  padding: 9px max(24px, calc((100vw - 1320px) / 2));
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid #dce7f3;
  box-shadow: 0 4px 24px rgba(20,48,90,.06);
}
.site-brand-logo { width: clamp(175px, 16vw, 220px); height: 62px; transform: none; }
.site-header-branding { display: flex; align-items: center; gap: 11px; min-width: 0; }
.site-header .bh-corner {
  position: static;
  z-index: auto;
  flex: 0 0 auto;
  padding: 0;
  color: #081b48;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font: 800 13px/1 'Manrope', sans-serif;
  white-space: nowrap;
}
.site-header .profile-dashboard-btn {
  min-height: 48px;
  padding: 7px 15px 7px 8px;
  color: #fff;
  background: #064de8;
  border-color: #064de8;
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(6,77,232,.18);
}
.site-header .profile-btn-copy small { color: #dfe9ff; }
.site-header .profile-icon { background: rgba(255,255,255,.16); }
.tab-bar {
  position: sticky;
  top: 82px;
  left: auto;
  z-index: 44;
  width: 100%;
  min-height: 58px;
  padding: 0 max(20px, calc((100vw - 1320px) / 2));
  gap: 2px;
  justify-content: flex-start;
  overflow-x: auto;
  border: 0;
  border-bottom: 1px solid #e3ebf5;
  border-radius: 0;
  background: rgba(255,255,255,.98);
  box-shadow: 0 5px 18px rgba(22,55,97,.04);
  transform: none;
}
.tab-btn {
  position: relative;
  min-width: 80px;
  min-height: 58px;
  padding: 27px 12px 7px;
  color: #10244d;
  border-bottom-width: 4px;
  font-size: 10px;
  line-height: 1.1;
}
.tab-btn::before {
  position: absolute;
  top: 7px;
  left: 50%;
  content: attr(data-nav-icon);
  color: #52647f;
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  transform: translateX(-50%);
}
.tab-btn.active, .tab-btn:nth-child(n).active { color: #064de8; border-bottom-color: #064de8; }
.tab-btn.active::before { color: #064de8; }
.hero {
  min-height: 360px;
  padding: 20px;
  overflow: hidden;
  background: #eaf5ff;
  border-bottom: 1px solid #dce8f4;
}
.hero-inner { max-width: 1320px; min-height: 360px; margin: 0 auto; padding: 0; grid-template-columns: minmax(360px, 39%) minmax(0, 61%); gap: 0; overflow: hidden; border: 1px solid #dce8f4; border-radius: 20px; background: #fff; box-shadow: 0 12px 30px rgba(30,71,118,.07); }
.hero-copy { position: relative; z-index: 2; padding: 32px 32px 28px; background: #fff; }
.camp-kicker { color: #0c52e7; font-size: 11px; letter-spacing: .13em; }
.hero .welcome-banner { max-width: 540px; margin-top: 10px; color: #081b48; font-size: clamp(40px,3.6vw,56px); line-height: 1.02; letter-spacing: -.045em; text-transform: none; }
.hero .welcome-banner span { color: #1459ee; }
.hero-subtitle { max-width: 440px; margin-top: 14px; color: #425675; font-size: 14px; line-height: 1.5; }
.hero-actions { margin-top: 17px; }
.hero-primary-btn, .hero-secondary-btn { min-height: 44px; }
.hero-primary-btn { background: #064de8; border-color: #064de8; }
.hero .name-line { margin-top: 11px; }
.hero-photo.hero-logo-card { width: 100%; height: auto; min-height: 100%; align-self: stretch; aspect-ratio: auto; overflow: hidden; }
.hero-main-logo { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-panel { max-width: 1320px; padding: 22px 28px 50px; }
.home-section-heading { padding-top: 8px; }
.home-section-heading h2 { margin: 7px 0 16px; font-size: clamp(26px,2.6vw,36px); }
.home-quick-grid { grid-template-columns: repeat(8,minmax(0,1fr)); gap: 12px; }
.home-quick-card { min-height: 132px; padding: 16px; border-radius: 14px; box-shadow: none; }
.home-quick-card:nth-child(1) { background: linear-gradient(145deg,#f0fbf2,#eaf8ed); }
.home-quick-card:nth-child(2) { background: linear-gradient(145deg,#eef7ff,#e8f2ff); }
.home-quick-card:nth-child(3) { background: linear-gradient(145deg,#fff8e9,#fff2d9); }
.home-quick-card:nth-child(4) { background: linear-gradient(145deg,#fff2f7,#ffeaf2); }
.home-quick-card:nth-child(5) { background: linear-gradient(145deg,#f5f0ff,#eee8ff); }
.home-quick-card:nth-child(6) { background: linear-gradient(145deg,#eef7ff,#e8f1ff); }
.home-quick-card > span { width: 36px; height: 36px; color: #fff !important; background: #0c56ea !important; font-size: 17px; }
.home-quick-card.learning > span { background: #15a94b !important; }
.home-quick-card.songs > span { background: #0764e9 !important; }
.home-quick-card.news > span { background: #ef9300 !important; }
.home-quick-card.calendar > span { background: #eb3e78 !important; }
.home-quick-card.photos > span { background: #7349ec !important; }
.home-quick-card.farbrengen > span { background: #1295a5 !important; }
.home-quick-card strong { font-size: 15px; }
.home-bottom-row { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 12px; margin-top: 12px; }
.home-feature-stack { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.home-feature-card { min-height: 180px; padding: 24px; border: 1px solid #dce7f3; border-radius: 15px; }
.home-feature-card strong { margin-top: 14px; font-size: 24px; }
.home-upcoming-card { padding: 20px; border: 1px solid #dce7f3; border-radius: 15px; background: #fff; }
.home-leaderboard-card { padding: 20px; border: 1px solid #cde8df; border-radius: 15px; background: linear-gradient(135deg,#f4fbf8,#edf7ff); }
.home-sefer-leaderboard { margin-top: 4px; }
.home-sefer-leaderboard ol { max-height: 318px; overflow-y: auto; padding-right: 4px; scrollbar-width: thin; }
.home-upcoming-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 10px; }
.home-upcoming-heading h3 { margin: 4px 0 0; color: var(--navy); font: 800 20px 'Manrope',sans-serif; }
.home-upcoming-heading > button { padding: 4px 0; border: 0; color: #0c56ea; background: transparent; font: 800 10px 'Manrope',sans-serif; cursor: pointer; }
.home-upcoming-list { display: grid; }
.home-upcoming-list > p { margin: 20px 0; color: var(--muted); font-size: 12px; }
.home-upcoming-list > button { display: grid; min-height: 58px; padding: 8px 0; grid-template-columns: 46px minmax(0,1fr) 12px; align-items: center; gap: 11px; border: 0; border-top: 1px solid #edf1f5; color: var(--navy); background: transparent; text-align: left; cursor: pointer; }
.home-event-date { display: grid; width: 42px; height: 42px; place-items: center; align-content: center; border: 1px solid #dce7f3; border-radius: 10px; color: #0c56ea; background: #f5f9ff; font: 800 16px/1 'Manrope',sans-serif; }
.home-event-date small { margin-bottom: 3px; color: #647791; font-size: 8px; }
.home-upcoming-list strong { display: block; overflow: hidden; font: 800 12px/1.25 'Manrope',sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.home-upcoming-list button span:nth-child(2) small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
.home-upcoming-list b { color: #52647f; font-size: 20px; }
.subpage-view .tab-panel.active { max-width: 1460px; padding-top: 40px; }
.subpage-view .panel-card { padding: 30px; border: 1px solid #dfe8f2; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(24,54,91,.06); }

@media (max-width: 1180px) {
  .site-header { min-height: 76px; }
  .site-brand-logo { width: 175px; height: 58px; transform: none; }
  .site-header-branding { gap: 8px; }
  .tab-bar { top: 76px; }
  .tab-btn { min-height: 58px; padding-top: 27px; }
  .tab-btn::before { top: 7px; }
  .home-quick-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .home-bottom-row { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .site-header { min-height: 68px; }
  .site-brand-logo { width: 150px; height: 46px; }
  .site-header .bh-corner { font-size: 12px; }
  .tab-bar { top: 68px; justify-content: flex-start; }
  .tab-btn { min-width: 68px; }
  .hero-inner { min-height: 0; grid-template-columns: 1fr; }
  .hero-copy { padding: 40px 20px 34px; background: #fff; }
  .hero .welcome-banner { font-size: clamp(38px,10.5vw,58px); }
  .hero-photo.hero-logo-card { height: clamp(230px,55vw,390px); min-height: 0; box-shadow: none; }
  .home-quick-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-feature-stack { grid-template-columns: 1fr; }
  .subpage-view .panel-card { padding: 22px 18px; }
}
@media (max-width: 520px) {
  .home-quick-grid { grid-template-columns: 1fr; }
  .home-quick-card { min-height: 135px; }
}
#profile-dashboard-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 400;
  padding: 28px;
  align-items: center;
  justify-content: center;
  overflow-y: auto;
  background: rgba(7, 31, 47, .48);
  backdrop-filter: blur(10px);
}
#profile-dashboard-overlay.open { display: flex; }
#camper-message-notice {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 430;
  padding: 24px;
  align-items: center;
  justify-content: center;
  background: rgba(7, 31, 47, .62);
  backdrop-filter: blur(10px);
}
#camper-message-notice.open { display: flex; }
.camper-message-notice-card {
  width: min(520px, 100%);
  max-height: calc(100vh - 48px);
  padding: 30px;
  overflow-y: auto;
  border: 2px solid #9edcff;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(7, 31, 47, .36);
}
.camper-message-notice-card h2 { margin: 6px 0 18px; color: var(--navy); font-size: 28px; }
.camper-message-notice-list { display: grid; gap: 10px; }
.camper-message-notice-item { padding: 15px; border: 1px solid #dceaf3; border-radius: 14px; background: #f4faff; }
.camper-message-notice-item p { margin: 0; color: var(--navy); font-size: 16px; line-height: 1.55; }
.camper-message-notice-item time { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; }
.camper-message-notice-actions { display: flex; gap: 10px; margin-top: 20px; }
.camper-message-notice-actions .go-btn { flex: 1; }
.camper-message-profile-btn { padding: 12px 16px; border: 1px solid #c8dce9; border-radius: 12px; background: #fff; color: var(--navy); font-weight: 750; cursor: pointer; }
.profile-dashboard-card {
  position: relative;
  width: min(720px, 100%);
  max-height: calc(100vh - 56px);
  padding: 30px;
  overflow-y: auto;
  border: 1px solid rgba(255, 255, 255, .7);
  border-radius: 25px;
  background:
    radial-gradient(circle at 90% 4%, rgba(137, 218, 255, .28), transparent 25%),
    #f9fcff;
  box-shadow: 0 30px 80px rgba(7, 31, 47, .26);
}
.profile-dashboard-close {
  position: absolute;
  top: 17px;
  right: 18px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #e9f1f7;
  color: var(--navy);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.profile-dashboard-header { display: flex; align-items: center; gap: 17px; padding-right: 46px; }
.profile-dashboard-avatar {
  display: grid;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  place-items: center;
  border-radius: 22px;
  background: linear-gradient(145deg, #53c7f4, #587af4);
  color: #fff;
  font-family: 'Manrope', sans-serif;
  font-size: 25px;
  font-weight: 800;
  box-shadow: 0 14px 30px rgba(78, 132, 231, .2);
  border: 0;
  background-position: center;
  background-size: cover;
  cursor: pointer;
}
.profile-dashboard-avatar.has-photo { background-color: #e9f1f7; }
.profile-photo-link {
  display: inline-block;
  margin-top: 7px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #3776b5;
  font: 700 11px/1.35 'Manrope', sans-serif;
  cursor: pointer;
}
.profile-photo-link:hover { text-decoration: underline; }
.profile-photo-crop-overlay { position: fixed; z-index: 10050; inset: 0; display: none; padding: 18px; align-items: center; justify-content: center; background: rgba(4, 20, 34, .62); }
.profile-photo-crop-overlay.open { display: flex; }
.profile-photo-crop-card { width: min(100%, 420px); max-height: calc(100vh - 36px); overflow-y: auto; padding: 22px; border-radius: 20px; background: #fff; box-shadow: 0 22px 70px rgba(0,0,0,.28); }
.profile-photo-crop-card h2 { margin: 0; color: var(--navy); font-size: 23px; }
.profile-photo-crop-card p { margin: 5px 0 14px; font-size: 13px; }
#profilePhotoCropPreview { display: block; width: min(100%, 300px); aspect-ratio: 1; height: auto; margin: 0 auto 14px; border-radius: 50%; background: #e8f0f3; }
.profile-photo-crop-card label { display: grid; grid-template-columns: 92px 1fr; gap: 10px; align-items: center; margin: 10px 0; color: var(--navy); font-size: 13px; font-weight: 700; }
.profile-photo-crop-card input[type="range"] { width: 100%; accent-color: var(--teal); }
.profile-photo-crop-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 19px; }
.profile-photo-cancel { padding: 9px 12px; border: 0; background: transparent; color: var(--navy); font-weight: 700; cursor: pointer; }
.profile-dashboard-kicker { color: #3776b5; font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.profile-dashboard-header h2 {
  margin: 5px 0 2px;
  color: var(--navy);
  font-family: 'Manrope', sans-serif;
  font-size: clamp(27px, 5vw, 39px);
  letter-spacing: -.045em;
  line-height: 1;
}
.profile-dashboard-header p { margin: 0; color: var(--muted); font-size: 14px; font-weight: 650; }
.profile-detail-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 12px; margin: 24px 0; }
.profile-detail-card {
  min-height: 118px;
  padding: 18px;
  border: 1px solid rgba(7, 31, 47, .07);
  border-radius: 16px;
}
.profile-session-card { background: #fff1d2; }
.profile-detail-card > span { display: block; color: #5c7283; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.profile-detail-card > strong { display: block; margin-top: 12px; color: var(--navy); font-family: 'Manrope', sans-serif; font-size: 18px; }
.profile-detail-card b { font-size: 24px; }
.profile-dashboard-section {
  padding: 21px;
  border: 1px solid rgba(7, 31, 47, .08);
  border-radius: 17px;
  background: #fff;
}
.profile-dashboard-section h3 { margin: 6px 0 15px; color: var(--navy); font-family: 'Manrope', sans-serif; font-size: 20px; }
.profile-quick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.profile-quick-grid button {
  display: flex;
  min-height: 82px;
  padding: 14px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  border: 1px solid #dfeaf2;
  border-radius: 13px;
  background: #f5faff;
  color: var(--navy);
  cursor: pointer;
}
.profile-quick-grid button:hover { transform: translateY(-2px); border-color: #afd0e8; background: #eaf6ff; }
.profile-quick-grid strong { font-family: 'Manrope', sans-serif; font-size: 13px; }
.profile-quick-grid small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.profile-signout-btn {
  display: block;
  margin: 18px auto 0;
  padding: 9px 16px;
  border: 0;
  background: transparent;
  color: #d05245;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}
.profile-signout-btn:hover { text-decoration: underline; }

@media (max-width: 650px) {
  .profile-dashboard-btn { position: fixed; top: 14px; right: 12px; }
  .profile-btn-copy { display: none; }
  .profile-dashboard-btn { min-height: 46px; padding: 5px; }
  #profile-dashboard-overlay { padding: 12px; align-items: flex-end; }
  #camper-message-notice { padding: 12px; align-items: flex-end; }
  .camper-message-notice-card { max-height: calc(100vh - 24px); padding: 24px 18px; border-radius: 22px; }
  .camper-message-notice-actions { flex-direction: column; }
  .profile-dashboard-card { max-height: calc(100vh - 24px); padding: 23px 18px 20px; border-radius: 22px; }
  .profile-dashboard-avatar { width: 58px; height: 58px; flex-basis: 58px; border-radius: 18px; }
  .profile-detail-grid { grid-template-columns: 1fr; }
  .profile-detail-card { min-height: 100px; }
  .profile-quick-grid { grid-template-columns: 1fr; }
}

.groupme-bridge-note {
  display: flex;
  gap: 8px;
  margin: 16px 0 20px;
  padding: 13px 15px;
  flex-direction: column;
  border: 1px solid #c9e6d9;
  border-radius: 14px;
  background: #edf9f3;
  color: var(--navy);
}
.groupme-bridge-note strong { font-family: 'Manrope', sans-serif; font-size: 14px; }
.groupme-bridge-note span { color: var(--muted); font-size: 12px; line-height: 1.5; }
.chat-approval-note {
  display: flex;
  gap: 7px;
  margin: -6px 0 20px;
  padding: 14px 16px;
  flex-direction: column;
  border: 1px solid #e8c56d;
  border-radius: 14px;
  background: #fff8df;
  color: var(--navy);
}
.chat-approval-note[hidden] { display: none; }
.chat-approval-note strong { font-family: 'Manrope', sans-serif; font-size: 14px; }
.chat-approval-note span { color: #6d5a27; font-size: 12px; line-height: 1.5; }
.new-chat-btn:disabled { cursor: not-allowed; opacity: .5; }
.groupme-admin-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
}
.groupme-admin-card > div {
  min-height: 92px;
  padding: 17px;
  border: 1px solid #deebf2;
  border-radius: 15px;
  background: #f7fbfd;
}
.groupme-admin-label { display: block; margin-bottom: 10px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.groupme-admin-card strong { color: var(--navy); font-family: 'Manrope', sans-serif; font-size: 16px; }
.groupme-connected { color: #16845e !important; }
.groupme-pending { color: #c36a26 !important; }
.groupme-admin-actions { display: flex; gap: 10px; align-items: center; margin-bottom: 22px; }
.groupme-admin-actions .admin-view-site-btn { display: inline-flex; margin: 0; text-decoration: none; align-items: center; justify-content: center; }
.groupme-history-card { margin-bottom: 22px; padding: 19px; border: 1px solid #deebf2; border-radius: 16px; background: #fff; }
.groupme-history-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.groupme-history-head h3 { margin: 3px 0 0; color: var(--navy); font-family: 'Manrope', sans-serif; font-size: 17px; }
.groupme-history-head p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.groupme-history-list { display: flex; max-height: 430px; overflow-y: auto; flex-direction: column; gap: 9px; padding-right: 3px; }
.groupme-history-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 13px; border: 1px solid #e3eaee; border-radius: 13px; background: #fbfcfd; }
.groupme-history-row > div { min-width: 0; }
.groupme-history-row strong { display: inline; color: var(--navy); font-size: 13px; }
.groupme-history-row time { margin-left: 8px; color: var(--muted); font-size: 10px; }
.groupme-history-row p { margin: 7px 0 0; color: #344654; font-size: 12px; overflow-wrap: anywhere; }
.groupme-admin-help { padding: 19px; border-radius: 15px; background: #fff6df; color: var(--navy); }
.groupme-admin-help h3 { margin: 0 0 10px; font-family: 'Manrope', sans-serif; font-size: 16px; }
.groupme-admin-help ol { margin: 0; padding-left: 20px; color: var(--muted); font-size: 12px; line-height: 1.7; }

.chat-safety-rule-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
}
.chat-safety-rule-grid > div {
  min-height: 112px;
  padding: 17px;
  border: 1px solid #cce8da;
  border-radius: 15px;
  background: #f2fbf6;
}
.chat-safety-rule-grid span {
  display: block;
  margin-bottom: 9px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
}
.chat-safety-rule-grid strong { display: block; color: #16845e; font-family: 'Manrope', sans-serif; font-size: 18px; }
.chat-safety-rule-grid small { display: block; margin-top: 7px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.chat-safety-admin-grid { display: grid; gap: 16px; grid-template-columns: minmax(240px, .8fr) minmax(320px, 1.2fr); }
.chat-safety-admin-card { padding: 19px; border: 1px solid #deebf2; border-radius: 16px; background: #fff; }
.chat-safety-admin-card h3 { margin: 3px 0 0; color: var(--navy); font-family: 'Manrope', sans-serif; font-size: 17px; }
.chat-safety-admin-card > p { margin: 8px 0 16px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.chat-safety-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.chat-safety-word-form { margin-bottom: 12px; }
.chat-safety-word-form input { min-width: 0; }
.chat-safety-word-list, .chat-safety-event-list { display: flex; flex-direction: column; gap: 9px; }
.chat-safety-event-list { max-height: 500px; overflow-y: auto; padding-right: 3px; }
.chat-safety-word-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 11px;
  background: #f7fafb;
}
.chat-safety-word-row strong { color: var(--navy); font-size: 13px; }
.chat-safety-event { padding: 13px; border: 1px solid #e3eaee; border-radius: 13px; background: #fbfcfd; }
.chat-safety-event-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.chat-safety-event-head strong { color: var(--navy); font-size: 13px; }
.chat-safety-event-head span { color: var(--muted); font-size: 10px; text-align: right; }
.chat-safety-event p { margin: 9px 0; padding: 9px 10px; border-radius: 9px; background: #fff1ef; color: #7b332d; font-size: 12px; overflow-wrap: anywhere; }
.chat-safety-event-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--muted); font-size: 10px; }
.chat-freeze-badge { padding: 4px 7px; border-radius: 999px; background: #fff0d8; color: #9b5b13; font-weight: 750; }
.chat-safety-event-meta .admin-account-btn { margin-left: auto; padding: 6px 9px; font-size: 10px; }

@media (max-width: 650px) {
  .groupme-admin-card { grid-template-columns: 1fr; }
  .groupme-admin-actions { align-items: stretch; flex-direction: column; }
  .groupme-history-head { flex-direction: column; }
  .groupme-history-head .admin-account-btn { width: 100%; }
  .chat-safety-rule-grid, .chat-safety-admin-grid { grid-template-columns: 1fr; }
  .chat-safety-event-head { align-items: flex-start; flex-direction: column; }
  .chat-safety-event-head span { text-align: left; }
}
/* Camp Songs */
.camp-songs-card {
  overflow: hidden;
  background: linear-gradient(145deg, #fffdf3 0%, #fff6d7 55%, #e9f7ff 100%);
}

.camp-songs-integrated-card {
  padding: 0;
  border-color: #dce8f0;
  background: #f4faff;
}

.camp-songs-app-frame {
  display: block;
  width: 100%;
  height: min(920px, calc(100dvh - 190px));
  min-height: 700px;
  border: 0;
  border-radius: inherit;
  background: #f4faff;
}

.camp-songs-badge {
  color: #8a5a00;
  background: #fff0b8;
}

.camp-songs-hero {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 18px 0 26px;
}

.camp-songs-hero h2 {
  margin: 0 0 7px;
}

.camp-songs-hero p {
  margin: 0;
  color: var(--gray);
}

.camp-songs-icon {
  display: grid;
  place-items: center;
  flex: 0 0 76px;
  width: 76px;
  height: 76px;
  border-radius: 24px;
  color: white;
  font-size: 46px;
  font-weight: 800;
  background: linear-gradient(145deg, #ff9f43, #ff6b6b);
  box-shadow: 0 12px 26px rgba(255, 107, 107, 0.25);
  transform: rotate(-4deg);
}

.camp-songs-coming-soon {
  padding: 38px 24px;
  border: 2px dashed rgba(21, 48, 74, 0.18);
  border-radius: 24px;
  text-align: center;
  background: rgba(255, 255, 255, 0.72);
}

.camp-songs-coming-soon h3 {
  margin: 10px 0 8px;
  font-size: 24px;
}

.camp-songs-coming-soon p {
  max-width: 560px;
  margin: 0 auto;
  color: var(--gray);
  line-height: 1.6;
}

.camp-songs-note {
  color: #ff7d47;
  font-size: 42px;
  line-height: 1;
}

.camp-song-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.camp-song-preview-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 17px;
  border: 1px solid rgba(21, 48, 74, 0.1);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
}

.camp-song-preview-card strong,
.camp-song-preview-card small {
  display: block;
}

.camp-song-preview-card small {
  margin-top: 4px;
  color: var(--gray);
  line-height: 1.4;
}

.camp-song-preview-icon {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: #fff;
  font-weight: 800;
  background: #ff7d47;
}

.camp-song-preview-icon.lyrics {
  background: #6f63d9;
}

.camp-song-preview-icon.search {
  background: #279f83;
  font-size: 26px;
}

@media (max-width: 600px) {
  .camp-songs-app-frame {
    height: calc(100dvh - 150px);
    min-height: 620px;
  }

  .camp-songs-hero {
    align-items: flex-start;
  }

  .camp-songs-icon {
    flex-basis: 60px;
    width: 60px;
    height: 60px;
    border-radius: 18px;
    font-size: 36px;
  }

  .camp-songs-coming-soon {
    padding: 30px 18px;
  }

  .camp-song-preview-grid {
    grid-template-columns: 1fr;
  }
}

/* Keep the Hebrew month perfectly centered between the calendar arrows. */
#birthdays .birthday-calendar-toolbar {
  width: 100%;
  margin-top: 0;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
}

#birthdays .birthday-calendar-toolbar > div {
  min-width: 0;
  justify-self: stretch;
  text-align: center;
}

#birthdayMonthHeading {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  text-align: center;
}

#birthdayCalendarSub {
  width: 100%;
  text-align: center;
}

.photo-library-page { width: 100%; padding: 6px 2px 24px; }
.photo-library-page-heading { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.photo-library-page-heading h2 { margin: 0; color: var(--navy); }
.photo-library-page .photo-library-intro { margin: 8px 0 30px; }
.photo-library-page .pic-grid { display: block; }
.photo-month-section + .photo-month-section { margin-top: 42px; padding-top: 34px; border-top: 1px solid #e5edf4; }
.photo-month-heading { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; padding: 0 2px; }
.photo-month-heading > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #eaf7ff; font-size: 21px; }
.photo-month-heading small { display: block; color: #4386b5; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.photo-month-heading h3 { margin: 2px 0 0; color: var(--navy); font-size: 25px; }
.photo-album-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.photo-album-card { --album-cover: linear-gradient(145deg, #1773aa, #072b4c); position: relative; display: flex; width: 100%; height: 270px; min-height: 270px; padding: 18px; align-items: flex-end; overflow: hidden; border: 0; border-radius: 20px; color: #fff; background-image: linear-gradient(180deg, rgba(3, 20, 35, .04) 28%, rgba(3, 20, 35, .86) 100%), var(--album-cover); background-color: #0b4a71; background-position: center; background-size: cover; box-shadow: 0 10px 25px rgba(4, 37, 62, .14); text-decoration: none; isolation: isolate; transition: transform .2s ease, box-shadow .2s ease; }
.photo-album-card::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(135deg, rgba(255,255,255,.1), transparent 35%); pointer-events: none; }
.photo-album-card:hover { transform: translateY(-5px); box-shadow: 0 18px 36px rgba(4, 37, 62, .24); }
.photo-album-number { position: absolute; top: 15px; left: 15px; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 13px; color: #fff; background: rgba(3, 28, 47, .52); backdrop-filter: blur(9px); font-size: 12px; font-weight: 900; }
.photo-album-copy { display: block; width: 100%; text-shadow: 0 2px 12px rgba(0,0,0,.5); }
.photo-album-copy > small { display: block; margin-bottom: 3px; color: #caefff; font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.photo-album-copy strong { display: block; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.05; }
.photo-album-open { display: flex; margin-top: 12px; padding-top: 11px; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.32); color: #fff; font-size: 12px; font-weight: 800; text-shadow: none; }
.photo-album-title { max-width: calc(100% - 24px); line-height: 1.3; }
.photo-album-open b { font-size: 18px; }
.photo-login-gate { max-width: 560px; margin: 22px auto 6px; padding: 36px 24px; border: 1px solid #d9e8f2; border-radius: 18px; background: linear-gradient(145deg, #f0f9ff, #fffdf5); text-align: center; }
.photo-login-gate > span { font-size: 42px; }
.photo-login-gate h3 { margin: 10px 0 4px; color: var(--navy); font-size: 24px; }
.photo-login-gate p { margin: 0 auto 18px; }

@media (max-width: 900px) {
  .photo-album-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .photo-album-grid { grid-template-columns: 1fr; }
  .photo-album-card { height: 235px; min-height: 235px; }
  .photo-library-page { padding-left: 0; padding-right: 0; }
}
