/* Tokens (SPEC §Colors; values copied from the reference file). */
:root{--apps:#3B5998;--apps-soft:#EAF0FB;--apps-line:#A9B9DB;--now-soft:repeating-linear-gradient(135deg,#EAF0FB 0 6px,#DCE4F4 6px 7px);--now-bar:repeating-linear-gradient(135deg,#3B5998 0 5px,#5672AF 5px 6px);--run:#6E6D67;--run-soft:#F4F3EF;--run-line:#DCDAD3;--run-bar:#CFCDC6;--events:#138A7A;--today:#E03A3A;--rule:#DCDAD3;--card-line:#E3E1DA;--muted:#6E6D67;--ink:#1B1B19}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#F6F5F1;color:#1B1B19;font-family:'Geist',system-ui,sans-serif;font-size:14px;line-height:1.4;overflow-x:hidden}
a{color:#2445B8}a:hover{color:#182F80}
button{font:inherit;color:inherit}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Header */
.fb-bar{background:#3B5998;border-bottom:1px solid #29447E}
.fb-inner{max-width:1120px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:14px;height:62px}
.sfr-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#FFFFFF}
.sfr-logo:hover{color:#FFFFFF}
.sfr-name{font-size:20px;font-weight:700;letter-spacing:-0.01em;color:#FFFFFF}
.sfr-name b{font-weight:700;color:#FFD84D}
/* Page + two columns (SPEC §Layout) */
.page{max-width:1120px;margin:0 auto;padding:20px 20px 24px;display:flex;flex-direction:column;gap:18px}
.page-title{margin:0;font-size:20px;font-weight:700;letter-spacing:-0.01em}
.cols{display:flex;gap:24px;align-items:flex-start}
.left{width:340px;flex:none;position:sticky;top:16px;display:flex;flex-direction:column;gap:12px;order:-1}
.main{flex:1;min-width:0}
/* Left-column card shell shared by Timeline, Calendar and Newsletter */
.lc{background:#FFFFFF;border:1px solid #E3E1DA;border-radius:10px;padding:12px 14px}
.lc-h{font-size:15px;font-weight:650;color:#1C1B18;padding-bottom:8px}
@media (max-width:860px){
  .cols{flex-direction:column}
  .left{width:100%;position:static;order:0}
  .main{width:100%}
}
@media (max-width:520px){
  .page{padding:16px 16px 24px}
  .fb-inner{padding:0 16px}
}
