:root{--ink:#193a40;--muted:#5c7376;--paper:#f6f5ef;--line:#d7e0dc;--accent:#285e51;--rust:#a34e25}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.mast{display:flex;justify-content:space-between;align-items:center;padding:25px 3%;background:#fff;border-bottom:1px solid var(--line)}.brand{font-weight:800;letter-spacing:.15em;font-size:25px;color:var(--rust);text-decoration:none}.brand span{display:block;font-size:10px;letter-spacing:.18em;color:var(--muted);margin-top:3px}.mast nav{display:flex;align-items:center;gap:20px}.mast nav a{color:var(--ink);font-weight:600;text-decoration:none}main{max-width:1700px;margin:auto;padding:28px 2.5%}.title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--accent);margin:0 0 6px}h1{font-family:Georgia,serif;font-size:34px;line-height:1.15;font-weight:500;letter-spacing:-.02em;margin:0}.freshness{text-align:right;font-size:12px}.freshness span{display:block;color:var(--muted);margin-top:4px}.controls{padding:16px 18px 8px;background:#fff;border:1px solid var(--line);border-radius:9px}.controlLine,.fundLine,.toolbar,.yearToolbar{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.controlLine{padding-bottom:12px}.controlLine label{min-width:155px}.controlLine label:first-child{min-width:195px}label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600}input,select,button{font:inherit;color:var(--ink)}input,select{background:white;border:1px solid #bfcfca;border-radius:5px;padding:7px 8px;min-height:33px}input[type=checkbox]{width:15px;min-height:15px;margin:0;accent-color:var(--accent)}button{background:#fff;border:1px solid #bfcfca;border-radius:5px;padding:7px 10px;font-size:11px;font-weight:600;min-height:33px;cursor:pointer;white-space:nowrap}button:hover:enabled{border-color:var(--accent);background:#edf3ee}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bbd7cc;outline-offset:2px}#apply,#pdf{background:var(--accent);border-color:var(--accent);color:#fff}.fundLine{align-items:center;border-top:1px solid var(--line);padding-top:11px}.fundLine strong{font-size:11px}.funds{display:flex;gap:6px;flex-wrap:wrap}.funds label{display:flex;flex-direction:row;align-items:center;font-size:11px;border-left:3px solid var(--fund,#a0b3b0);padding:4px 6px;gap:5px;background:#f6f8f5}.fund-SPY{--fund:#198754}.fund-VXF{--fund:#2477bd}.fund-QQQ{--fund:#c9aa00}.fund-IXUS{--fund:#8a51b1}.fund-BND,.fund-AGG{--fund:#c65844}.fund-SPAXX{--fund:#e38919}.fund-VIG{--fund:#0097a7}.fund-SCHD{--fund:#d81b60}details{margin-top:11px;border-top:1px solid var(--line);padding-top:9px}summary{cursor:pointer;font-size:11px;font-weight:600}.yearToolbar{margin:8px 0}.years{display:flex;flex-wrap:wrap;gap:8px}.years label{display:flex;flex-direction:row;align-items:center;font-size:11px;padding:3px}.caption{font-size:11px;color:var(--muted);margin:10px 0 3px}.toolbar{margin-top:16px;align-items:center;gap:7px}.pager{margin-left:auto;display:flex;gap:7px;align-items:center;font-size:11px}.pager label{flex-direction:row;align-items:center;margin-left:4px}.pager button{min-height:29px;padding:5px 9px}.pager select{min-height:29px;padding:4px}#status{font-size:12px;margin:10px 0;color:var(--muted)}#alert{border:1px solid #e9b5a3;background:#fff0e9;color:#a52c15;padding:12px;margin:10px 0;border-radius:5px}.tableScroll{overflow-x:auto;overflow-y:visible;border:1px solid var(--line);border-radius:7px;background:white}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;font-size:11px}thead{background:#e9f0eb}th{text-align:right;font-weight:600;padding:9px 5px;vertical-align:top;border-bottom:1px solid var(--line)}th:first-child,th:nth-child(2){text-align:left}th .sort{border:0;background:transparent;padding:0;min-height:30px;font-size:10px;white-space:normal;line-height:1.3;width:100%;text-align:inherit}th .range{display:flex;gap:3px;margin-top:6px}th .range input{width:100%;min-width:36px;max-width:60px;padding:4px;font-size:10px;min-height:26px}td{padding:10px 6px;border-bottom:1px solid #e7ece8;text-align:right;white-space:nowrap}tbody tr:nth-child(even){background:#f4f7f3}tbody tr:hover{background:#eef4ed}td:first-child,td:nth-child(2){text-align:left}td:nth-child(2){font-weight:700}.actions{display:flex;gap:4px;justify-content:flex-end}.actions button{padding:5px 7px;font-size:10px;min-height:29px}.negative{color:#b42318!important;font-weight:600}.footerNote{margin-top:13px;max-width:1000px}footer{display:flex;justify-content:space-between;padding:20px 3%;font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin-top:20px}dialog{border:1px solid var(--line);border-radius:10px;padding:24px;max-width:1120px;width:95%;max-height:92vh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#152c2d99}.dialogTop{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:15px}.dialogTop h2{margin:0;font-family:Georgia,serif;font-weight:500;font-size:27px}.metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:15px 0}.metric{border:1px solid var(--line);padding:11px;background:#fff;border-radius:5px}.metric small{display:block;font-size:10px;color:var(--muted)}.metric strong{display:block;font-size:18px;margin-top:5px}.annualGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.annualGrid td,.annualGrid th{padding:5px 8px}.pdfControls{display:flex;gap:9px;align-items:end;margin:18px 0}#calendar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.month{background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden}.month h4{margin:0;padding:8px 10px;background:#e9f0eb}.month table{table-layout:fixed;font-size:9px}.month td{height:42px;padding:2px;border:1px solid #edf0ed;text-align:center;vertical-align:top;white-space:normal}.month .day{display:block;font-size:9px;color:var(--muted)}.month .holding{display:block;font-size:9px;border-bottom:3px solid var(--fund,#d9e1dd);padding-bottom:1px}.month .move{font-size:8px;color:#1f5a48}.month .future{background:#faf7e9}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#aboutDialog{max-width:720px}#aboutDialog h3{font-size:15px;margin-top:20px}#aboutDialog p{font-size:13px;line-height:1.65}@media(max-width:800px){.mast{padding:18px 4%;gap:12px}.brand{font-size:19px}.brand span{font-size:8px}.mast nav{gap:10px}.mast nav a{font-size:11px}.title{align-items:start}h1{font-size:27px}.freshness{font-size:10px}.controlLine label{min-width:130px;flex:1}.controlLine label:first-child{min-width:100%}.pager{margin-left:0;width:100%;justify-content:end}.metrics{grid-template-columns:repeat(3,1fr)}#calendar{grid-template-columns:repeat(2,1fr)}.annualGrid{grid-template-columns:1fr}dialog{padding:16px}.dialogTop h2{font-size:22px}.fundLine select{max-width:100%}main{padding:22px 3%}}@media(max-width:450px){h1{font-size:23px}.title{flex-direction:column;gap:10px}.freshness{text-align:left}#calendar{grid-template-columns:1fr}.mast nav a{display:none}.metric strong{font-size:15px}}
.topAdvertisement{margin:14px auto 0;max-width:calc(100% - 32px);text-align:center}.topAdvertisement[hidden]{display:none}.adLabel{display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.bannerCreative{width:728px;height:90px;max-width:100%;margin:auto;overflow:hidden}.bannerCreative img{width:100%;height:100%;object-fit:contain}@media(max-width:799px){.bannerCreative{width:320px;height:50px}}@media print{.topAdvertisement{display:none!important}}

.range input[type=number]{appearance:textfield;-moz-appearance:textfield}.range input::-webkit-inner-spin-button,.range input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
/* Compact, centered sheet filters. */
#strategies th.metricHeading{text-align:center}
#strategies th.metricHeading .sort{display:flex;align-items:center;justify-content:center;text-align:center;height:34px;min-height:34px}
#strategies th .range{justify-content:center;min-height:26px}
#strategies th .range input{width:88px;min-width:54px;max-width:100%}
#strategies th:nth-child(n+2):not(:last-child),#strategies td:nth-child(n+2):not(:last-child){text-align:center}
footer{justify-content:center;text-align:center}

/* Same side-by-side comparison structure as the local administrator. */
[hidden]{display:none!important}
#strategyComparison .sectionTop{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}
#strategyComparison .comparisonPanel{border:1px solid var(--line);border-radius:9px;background:#fff;padding:22px;margin:18px 0}
#strategyComparison h2{font:500 27px Georgia,serif;margin:0}
#strategyComparison h3{font-size:19px;margin:22px 0 10px}
#strategyComparison .comparisonTable{overflow-x:auto;border:1px solid var(--line);border-radius:7px}
#strategyComparison .comparisonTable th,#strategyComparison .comparisonTable td{padding:9px 14px;text-align:center;min-width:155px;font-size:12px}
#strategyComparison .comparisonTable th:first-child{min-width:215px;text-align:left}
#strategyComparison .comparisonTable tbody th{font-weight:500;vertical-align:middle}
#strategyComparison .comparisonTable td{white-space:normal}
#strategyComparison .comparisonMonth{margin:20px 0 28px}
#strategyComparison .comparisonMonthScroll{overflow-x:auto;border:1px solid var(--line);border-radius:7px}
#strategyComparison .comparisonMonthTable{table-layout:fixed;width:100%;min-width:1000px;border-collapse:separate;border-spacing:0}
#strategyComparison .comparisonMonthTable th,#strategyComparison .comparisonMonthTable td{padding:4px 1px;text-align:center;border-bottom:1px solid white;border-right:1px solid white;font-size:9px;overflow-wrap:anywhere;white-space:normal}
#strategyComparison .comparisonMonthTable th:first-child{width:112px;position:sticky;left:0;background:#f2f6f8;z-index:1;font-size:11px;text-align:left;padding:8px}
#strategyComparison .comparisonMonthTable thead th{background:#edf3f7;font-size:11px}
#strategyComparison .comparisonMonthTable small{display:block;font-size:9px;line-height:13px;min-height:13px;margin-top:2px}
#strategyComparison .comparisonDay{height:43px;font-weight:600;vertical-align:top;line-height:15px;cursor:pointer}
#strategyComparison .comparisonDay.trade{box-shadow:inset 0 0 0 1px #18364c}
#strategyComparison .comparisonDay:focus-visible{outline:3px solid #193a40;outline-offset:-3px}
#strategyComparison .fund-SPY{background:#198754;color:white}
#strategyComparison .fund-VXF{background:#2477bd;color:white}
#strategyComparison .fund-QQQ{background:#ffeb3b;color:#26313b}
#strategyComparison .fund-IXUS{background:#8a51b1;color:white}
#strategyComparison .fund-BND{background:#c65844;color:white}
#strategyComparison .fund-AGG{background:#64748b;color:white}
#strategyComparison .fund-VIG{background:#0097a7;color:white}
#strategyComparison .fund-SCHD{background:#d81b60;color:white}
#strategyComparison .fund-SPAXX{background:#e38919;color:#26313b}
#strategyComparison .fund-SETTLEMENT_CASH{background:#b8c2cc;color:#26313b}
#strategyComparison .closed{background:#e6e9ed;color:#26313b}
.comparisonLegend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin:10px 0}
.comparisonLegend span{display:flex;align-items:center;gap:5px}
.comparisonLegend i{display:inline-block;width:15px;height:15px;border:1px solid #d7e0dc;border-radius:2px}
.comparisonDayDetails{background:#f6f8fa;border-radius:6px;padding:12px 15px;font-size:12px;min-height:42px}
@media(max-width:680px){#strategyComparison .comparisonPanel{padding:12px}#strategyComparison .sectionTop{align-items:start;flex-wrap:wrap}}

/* Compact year-only range controls. */
.controlLine label.yearControl{min-width:100px;width:120px}
.years label.yearOutsideRange{display:none}

/* Match the local admin allocation calendar. */
/* Shared allocation-calendar presentation for administrator and members. */
#details .allocation-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
#details .allocation-calendar .month{border:1px solid #dce2e5;border-radius:7px;overflow:hidden;padding:0;background:white}
#details .allocation-calendar .month h3,#details .allocation-calendar .month h4{font:600 17px/1.4 'Segoe UI',Arial,sans-serif;margin:0;padding:9px 10px;background:#eef3f6;color:#18364c}
#details .allocation-calendar .days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;padding:4px;container-type:inline-size}
#details .allocation-calendar .dow,#details .allocation-calendar .weekday{font:600 12px/1.5 'Segoe UI',Arial,sans-serif;text-align:center;color:#657480;padding:5px 0}
#details .allocation-calendar .cell,#details .allocation-calendar .day{aspect-ratio:1;min-height:50px;min-width:0;padding:2px 1px;border:1px solid white;border-radius:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;margin:0;overflow:hidden;text-align:left;font:400 13px/1.1 'Segoe UI',Arial,sans-serif;white-space:nowrap;color:white;cursor:pointer}
#details .allocation-calendar .cell strong,#details .allocation-calendar .day strong{font-size:17px;line-height:1.1;display:block}
#details .allocation-calendar .cell small,#details .allocation-calendar .day small{font-size:clamp(9px,3cqi,11px);font-weight:400;line-height:1.1;display:block}
#details .allocation-calendar .cell.closed,#details .allocation-calendar .day.closed{color:#88959e;background:#e6e9ed}
#details .allocation-calendar .cell.trade,#details .allocation-calendar .day.rotate{outline:none}
#details .allocation-calendar button:hover{filter:brightness(1.07)}
#details .allocation-calendar button:focus-visible{outline:3px solid #9c612e;outline-offset:-3px}
#details .allocation-calendar .calendar-blank{background:#fff;aspect-ratio:1}

#details .fund-SPY{background:#198754;color:white}
#details .fund-VXF{background:#2477bd;color:white}
#details .fund-QQQ{background:#ffeb3b;color:#26313b}
#details .fund-IXUS{background:#8a51b1;color:white}
#details .fund-BND{background:#c65844;color:white}
#details .fund-AGG{background:#64748b;color:white}
#details .fund-VIG{background:#0097a7;color:white}
#details .fund-SCHD{background:#d81b60;color:white}
#details .fund-SPAXX{background:#e38919;color:#26313b}
#details .fund-SETTLEMENT_CASH{background:#b8c2cc;color:#26313b}
#details .allocation-calendar { gap:12px; }
#details .calendarLegend { display:flex; flex-wrap:wrap; gap:12px; margin:12px 0; }
#details .calendarLegend span { display:flex; align-items:center; gap:5px; }
#details .calendarLegend i { display:inline-block; width:15px; height:15px; border-radius:3px; }
#details .calendarLegend .closed { background:#e6e9ed; }
#details .calendar-day-details { background:#eef3f6; padding:12px; border-radius:6px; font-size:15px; }
@media(max-width:1050px) { #details .allocation-calendar { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { #details .allocation-calendar { grid-template-columns:1fr; } }
#details .allocation-calendar .cell.fund-QQQ,#details .allocation-calendar .cell.fund-SPAXX,#details .allocation-calendar .cell.fund-SETTLEMENT_CASH{color:#26313b}
