.portal-tabs button{display:inline-flex;align-items:center;gap:8px}.portal-tabs svg{width:17px;height:17px}.portal-statline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #dce4e1;margin:24px 0;background:#fff}.portal-statline>div{padding:20px 24px;border-right:1px solid #dce4e1}.portal-statline span{display:block;font-size:13px;color:#667773}.portal-statline strong{display:block;font-size:28px;margin-top:8px;font-variant-numeric:tabular-nums}.portal-statline small{font-size:13px;font-weight:400}.portal-controls{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0}.portal-date{display:flex;gap:8px;align-items:center}.portal-date input{width:160px}.portal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #dce4e1;background:white}.portal-day{min-width:0;border-right:1px solid #dce4e1}.portal-day>header{padding:16px 12px;display:grid;gap:6px;background:#eef3f1;font-size:13px}.portal-day.is-today>header{background:#d9ece5;color:#155e4c}.portal-day>div{padding:8px;display:grid;gap:10px;align-content:start;min-height:220px}.portal-shift{border:1px solid #dce4e1;border-left:3px solid var(--shift-accent);background:var(--shift-bg);padding:12px 8px;display:grid;gap:8px;overflow-wrap:anywhere;border-radius:4px;font-size:12px}.portal-shift time,.portal-shift>strong{font-size:14px;font-weight:600}.portal-shift small{color:#176956}.portal-shift button{font-size:12px;padding:7px;white-space:normal}.portal-shift svg{width:14px;height:14px}.portal-no-shift{color:#84928d;font-size:13px;text-align:center}.race-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.race-filters label{display:grid;gap:8px;color:#667773;font-size:13px}.race-filters input,.race-filters select{width:100%;box-sizing:border-box;min-width:0}.race-modes{display:flex;border-bottom:1px solid #dce4e1;gap:6px;flex-wrap:wrap}.race-modes button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:12px 16px;color:#65746f}.race-modes .selected{color:#165e4b;border-color:#165e4b;font-weight:600}.race-heading{display:flex;justify-content:space-between;align-items:center;margin:24px 0 12px}.race-heading h2,.race-waiting h2{font-size:18px}.race-heading>span,.race-footnote{font-size:12px;color:#70827b}.race-table table{min-width:900px}.race-table td{padding-block:18px}.race-table small{display:block;color:#71817a;margin-top:6px}.race-rank{font-size:20px;color:#85958e;font-variant-numeric:tabular-nums}.race-rank.top-rank{color:#995536;font-weight:700}.race-me{background:#edf6f2}.race-bar{width:120px;height:4px;background:#edf0ee;margin-top:8px}.race-bar span{display:block;height:4px;background:#3c8f7a}.race-spark{height:40px;width:110px;display:flex;gap:3px;align-items:flex-end}.race-spark span{flex:1;max-width:12px;min-width:2px;background:#6298af}.race-waiting{margin-top:28px;border-top:1px solid #dce4e1;padding-top:12px}.race-waiting>div{display:flex;gap:24px;border-bottom:1px solid #e5ebe8;padding:14px 0;font-size:13px}.race-waiting>div span:last-child{margin-left:auto;color:#7b837e}.race-footnote{line-height:1.8;margin-top:24px}.journal-list>article{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid #dce4e1;align-items:flex-start}.journal-date{flex:0 0 72px;text-align:center;color:#75857e}.journal-date strong{display:block;font-size:28px;font-variant-numeric:tabular-nums}.journal-date span{font-size:12px}.journal-excerpt{flex:1;min-width:0}.journal-excerpt>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.journal-excerpt .text-link{font-size:18px;font-weight:600;text-align:left;white-space:normal;overflow-wrap:anywhere}.journal-excerpt p{color:#526960;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.journal-excerpt small{font-size:12px;color:#7a8982}#journal-dialog{width:min(900px,calc(100vw - 32px));max-height:90vh;box-sizing:border-box}#journal-dialog form{min-width:0}#journal-dialog .fields{grid-template-columns:repeat(2,minmax(0,1fr))}#journal-dialog input,#journal-dialog select,#journal-dialog textarea{min-width:0;box-sizing:border-box;width:100%}.journal-files{border-block:1px solid #dce4e1;padding:16px 0}.journal-files header{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.attachment-picker{min-width:0;max-width:100%}#journal-attachments>div{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #e5ebe8}#journal-attachments a{flex:1;min-width:0;overflow-wrap:anywhere;color:#216a83;text-decoration:none}#journal-attachments svg{width:16px;height:16px;margin-right:6px}.journal-feedback{border-left:3px solid #3b7b68;padding:12px;background:#edf6f2}.journal-feedback p{white-space:pre-wrap;overflow-wrap:anywhere}.anchor-account-panel{margin-top:32px;padding-top:24px;border-top:1px solid #dce4e1}.portal-password{width:min(440px,calc(100vw - 32px));box-sizing:border-box}.portal-password label{display:grid;gap:8px;margin:16px 0}.portal-password input{box-sizing:border-box;width:100%}
@media(max-width:1100px){.portal-week{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-day{border-bottom:1px solid #dce4e1}.portal-day>div{min-height:100px}.race-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.portal-week{grid-template-columns:1fr}.portal-day>header{display:flex;justify-content:space-between}.portal-statline>div{padding:14px 8px}.portal-statline strong{font-size:22px}.portal-statline span{font-size:11px}.portal-date{width:100%;gap:5px}.portal-date input{width:140px;min-width:0}.portal-date button{padding:9px}.race-modes button{padding:12px 8px;font-size:13px}.race-heading{gap:12px;align-items:flex-start}.race-waiting>div{gap:10px;flex-wrap:wrap}.journal-list>article{gap:12px}.journal-date{flex-basis:48px}.journal-excerpt .text-link{font-size:16px}#journal-dialog .fields{grid-template-columns:1fr}.journal-files header{display:grid}.topbar>div{flex-wrap:wrap}#journal-attachments>div{flex-wrap:wrap}}
.anchor-password-field{min-width:0;display:grid;gap:8px;align-content:start}
.anchor-password-control{position:relative;min-width:0}
.anchor-password-control input{width:100%;padding-right:52px;box-sizing:border-box}
.anchor-password-control #anchor-password-toggle{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:44px;height:40px;min-height:0;padding:0;display:grid;place-items:center;border:0;background:transparent;color:#526b62}
.anchor-password-control #anchor-password-toggle:hover{background:#e7efec}
