@font-face{font-family:"Source Sans 3";src:url("fonts/source-sans-3-latin-var.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Merriweather";src:url("fonts/merriweather-700-latin.woff2") format("woff2");font-weight:700;font-display:swap}
/* TRAC palette from trac-alaska-site/styles.css */
:root{--navy:#062d66;--navy-dark:#041f47;--accent:#5b8090;--teal-dark:#3e6271;--teal-light:#d9e3e7;--gold:#c9a227;--beige:#faf7f0;--beige-dark:#f1ebdf;--ink:#1b2433;--mute:#5f6b78;--line:#e6e2d8;--bg:#faf7f0;--red:#b3261e}
*{box-sizing:border-box}
body{margin:0;font:15.5px/1.5 "Source Sans 3","Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}
.banner{background:#fff4e0;color:#7a4a00;border-bottom:1px solid #f1dcb5;text-align:center;padding:5px 8px;font-size:13px;font-weight:600}
.shell{display:flex;min-height:calc(100vh - 30px)}
aside{width:236px;flex:none;background:#fff;border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:12px}
.logo{display:flex;gap:10px;align-items:center;padding:2px 6px}
.logo .mark{width:30px;height:30px;border-radius:8px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700}
.logo strong{display:block;font-size:15px;color:var(--navy)}.logo small{color:var(--mute);font-size:11.5px}
.posw{display:flex;flex-direction:column;font-size:11.5px;color:var(--mute);gap:4px;padding:0 6px}
.posw select{border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fff;color:var(--ink);font:inherit;font-size:14px}
.grp{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#8a98a3;margin:12px 10px 4px}
nav button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;text-align:left;padding:7px 10px;border-radius:8px;color:#34495a;font:inherit;font-size:14px;cursor:pointer}
nav button svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;opacity:.75}
nav button:hover{background:#f1f5f7}
nav button.on{background:#e8f2f5;color:var(--navy);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}
nav button:focus-visible,select:focus-visible,.menuBtn:focus-visible,input:focus-visible{outline:3px solid #9fd8cf;outline-offset:1px}
.sync{margin-top:auto;font-size:11.5px;color:var(--mute);padding:0 8px}
.mainwrap{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:12px;padding:14px 28px 0;color:var(--mute);font-size:13px}
.menuBtn{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 12px;font:inherit;font-weight:600;color:var(--navy);cursor:pointer}
main{padding:10px 28px 24px;max-width:1120px;width:100%}
h1{font-size:21px;font-weight:650;margin:4px 0 16px;color:var(--ink)}
h2{font-size:15px;margin:0 0 8px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:0 0 14px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.kpi .lab{font-size:12.5px;color:var(--mute);font-weight:600}
.kpi .big{font-size:28px;font-weight:650;color:var(--navy);line-height:1.2;margin-top:4px}
.kpi .sub{font-size:12.5px;color:var(--mute)}.kpi .due{color:var(--red);font-weight:600;font-size:13px}
.donut{display:flex;align-items:center;gap:12px;margin-top:4px}.legend{font-size:12px;line-height:1.7}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
.tools{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.tools input{border:1px solid var(--line);border-radius:8px;padding:7px 10px;font:inherit;min-width:220px;background:#fff}
.tools .cnt{color:var(--mute);font-size:13px}
.tbl{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:auto}
table{width:100%;border-collapse:collapse;min-width:760px}
th{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:#7b8a95;font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);background:#fbfcfd;cursor:pointer;white-space:nowrap}
th .ar{opacity:.5;margin-left:4px}
td{padding:12px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}
tr:last-child td{border-bottom:0}
td .t{font-weight:600;color:var(--ink)}td .s{font-size:12px;color:var(--mute)}
a{color:var(--navy)}
.badge{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:11px;font-weight:700;background:#e8f2f5;color:var(--navy)}
.badge.FI{background:#fdf0dc;color:#8a5a00}.badge.AD{background:#ece8fb;color:#4b3a8f}
.prog{width:130px;height:6px;background:#edf1f4;border-radius:4px;overflow:hidden;margin-top:6px}.prog i{display:block;height:100%;background:var(--accent)}
.gap{display:inline-block;min-width:22px;text-align:center;border-radius:10px;font-size:12px;font-weight:600;padding:1px 7px;background:#eef2f4}
.gap.hi{background:#fde4e1;color:var(--red)}
.tag{display:inline-block;font-size:12px;padding:1px 8px;border-radius:10px;background:#eef2f4;margin-left:6px}
.red{background:#fde4e1;color:#9b2c1f}.amb{background:#fff1cc;color:#7a5600}.grn{background:#dcf2ec;color:#1d6b5c}
.btn{background:var(--navy);color:#fff;border:0;border-radius:8px;padding:7px 13px;cursor:pointer;margin:4px 4px 0 0;font:inherit;font-size:14px}
.btn.sec{background:#fff;color:var(--navy);border:1px solid #c9d4db}
.opts label{display:inline-block;margin:4px 12px 4px 0}
textarea,input[type=text],input[type=date]{width:100%;padding:7px;border:1px solid #cfd8de;border-radius:8px;font:inherit}
.bar{height:8px;background:#edf1f4;border-radius:5px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);width:0}
.note{font-size:13px;color:var(--mute)}.hide{display:none}
footer{text-align:center;font-size:12.5px;color:var(--mute);padding:20px 12px;font-style:italic;margin-top:auto}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
 .shell{display:block}
 aside{display:none;width:auto;border-right:0;border-bottom:1px solid var(--line)}
 aside.open{display:flex}
 .menuBtn{display:inline-block}
 .topbar{padding:12px 14px 0}main{padding:8px 14px 18px}
}
@media(max-width:480px){.cards{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:12px}.kpi .big{font-size:22px}.tools input{min-width:0;flex:1}}
@media(max-width:600px){.tools input{flex:1 1 100%;width:100%}.tools .cnt{flex:1}.tools .btn{margin-left:0!important}.tbl::after{content:"Swipe the table sideways to see more columns";display:block;font-size:12px;color:var(--mute);padding:8px 12px}}
td a.t{text-decoration:none}td a.t:hover{text-decoration:underline}
.closeBtn{display:none}
@media(max-width:860px){aside.open{position:fixed;inset:0;z-index:20;overflow:auto;box-shadow:0 0 0 100vmax rgba(20,57,79,.25)}
.closeBtn{display:block;align-self:flex-end;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 12px;font:inherit;font-weight:600;color:var(--navy);cursor:pointer}}
.steps{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 14px}.step{font-size:13px;padding:5px 12px;border-radius:999px;background:#eef2f4;color:var(--mute)}
.step.on{background:var(--navy);color:#fff;font-weight:600}.step.done{background:#dcf2ec;color:#1d6b5c}
.prog.sp i{background:#5b7fa6}.kpi.wide{grid-column:span 2}
th select{display:block;margin-top:4px;font:inherit;font-size:12px;text-transform:none;letter-spacing:0;border:1px solid var(--line);border-radius:6px;padding:3px}
@media(max-width:480px){.kpi.wide{grid-column:span 2}}
.report .rhead{border-bottom:2px solid var(--navy);padding-bottom:8px;margin-bottom:12px}
.rtitle{font-size:20px;font-weight:700;color:var(--navy)}.rmeta{font-size:12.5px;color:var(--mute)}
.report h3{font-size:15px;margin:16px 0 6px}.rs{font-size:12.5px;color:var(--mute);margin:2px 0 6px}
table.rt{min-width:0;width:100%;border:1px solid var(--line);border-radius:6px}table.rt th{cursor:default}
.rg{break-inside:avoid;margin-bottom:10px}
button.step{border:0;cursor:pointer;font:inherit;font-size:13px}
.pfoot{display:none}
@page{size:letter;margin:0.7in 0.7in 0.9in;@bottom-left{content:"1 Corinthians 4:2 \2014  \201CMoreover, it is required of stewards that they be found faithful.\201D  \00B7  Not a CPA audit or legal advice  \00B7  EXAMPLE \2014  fictional";font-size:8pt;font-style:italic;font-family:sans-serif;width:80%}@bottom-right{content:"Page " counter(page) " of " counter(pages);font-size:9pt;font-family:sans-serif}}
@media print{
 *{color:#000!important;background:#fff!important;box-shadow:none!important}
 .banner,aside,.topbar,.noprint,footer,.btn,.menuBtn,.closeBtn{display:none!important}
 .shell,.mainwrap{display:block!important}main{padding:0!important;max-width:none!important}
 body{font-size:11pt}
 .card.report{border:0!important;padding:0!important;margin:0!important}
 .rtitle{font-size:18pt}.report h3{font-size:12.5pt;border-bottom:1px solid #000;padding-bottom:2px}
 table.rt,table.rt th,table.rt td{border:1px solid #000!important}th{text-transform:none!important;letter-spacing:0!important;font-size:10pt!important}
 td{font-size:10pt!important;padding:5px 7px!important}
 .pfoot{display:none!important}.report h3{break-after:avoid}.rg{break-inside:avoid}
}

/* TRAC color overrides */
h1,.logo strong,.kpi .big,.rtitle{font-family:"Merriweather",Georgia,serif;color:var(--navy)}
h1{font-weight:700;font-size:20px}.kpi .big{font-weight:700;font-size:26px}
.logo .mark{background:var(--navy);color:var(--gold)}
nav button{color:#2a3a4d}nav button:hover{background:var(--beige)}
nav button.on{background:var(--teal-light);color:var(--navy);box-shadow:inset 3px 0 0 var(--gold)}
.btn{background:var(--navy)}.btn:hover{background:var(--navy-dark)}
.btn.sec{color:var(--navy);border-color:#b9c6ce}
.step.on{background:var(--navy)}.step.done{background:var(--teal-light);color:var(--teal-dark)}
.prog i,.bar i{background:var(--accent)}.prog.sp i{background:var(--navy)}
.badge{background:var(--teal-light);color:var(--navy)}.badge.FI{background:var(--beige-dark);color:#5c4700}.badge.AD{background:#e3e8f1;color:var(--navy)}
.grn{background:var(--teal-light);color:var(--teal-dark)}.amb{background:#fbf3d9;color:#6e5600}.red{background:#fbe3e1;color:#8f1f18}
.gap.hi{background:#fbe3e1;color:#8f1f18}
th{background:var(--beige)}
.banner{background:#fbf3d9;color:#5c4700;border-bottom-color:#eadfb8}
a{color:var(--navy)}
nav button:focus-visible,select:focus-visible,.menuBtn:focus-visible,input:focus-visible{outline:3px solid var(--gold)}
@media print{h1,.rtitle,.kpi .big{color:#000!important}}
.cards.seasons{grid-template-columns:repeat(2,minmax(0,1fr))}
.kpi .big.sm{font-size:19px}
tr.harv td{background:#fbf6e6}
.tag.season{background:#f3e7bf;color:#5c4700;margin:4px 0 0}
.due{color:var(--red);font-weight:600;font-size:13px}
@media(max-width:480px){.cards.seasons{grid-template-columns:1fr}}
@media print{tr.harv td{background:#fff!important}.tag.season{border:1px solid #000}}
details.recipe{margin-top:8px;font-size:13px;border-top:1px solid #e5e1d6;padding-top:6px}
details.recipe summary{cursor:pointer;color:var(--navy,#14325c)}
details.recipe ul,details.recipe ol{margin:4px 0 6px 18px;padding:0}
@media print{.no-print,details.recipe{display:none!important}}
.harvest{margin-top:8px;border-top:1px solid #e5e1d6;padding-top:6px;font-size:13px}
.harvest p{margin:2px 0}
details.why{margin:10px 0 4px;border:1px solid #e5d9b6;border-left:4px solid var(--gold,#c9a227);border-radius:6px;padding:8px 12px;background:#fffdf6;font-size:14px}
details.why summary{cursor:pointer;font-weight:600;color:var(--navy,#14325c)}
details.why .wl{font-weight:700;margin:10px 0 2px;font-size:13px;text-transform:none}
details.why ul,details.why ol{margin:2px 0 4px 20px;padding:0}
ul.rw{margin:0;padding-left:16px}
@media print{details.why{display:none}}
.timer{font:600 18px ui-monospace,monospace;margin:0 8px;color:var(--navy,#14325c)}
.btn.rec{background:#a3262a}
.mins{border:1px solid #e5e1d6;border-radius:6px;padding:10px 12px;background:#fff;margin-bottom:10px}
.mins .wl{font-weight:700;margin:10px 0 4px}
/* "Where we are" chooser — same style as the website's needs list */
.sample-requests{margin:0 0 16px;padding:14px 18px 12px;background:#fff;border:1px solid var(--teal-light);border-top:3px solid var(--accent);border-radius:12px}
.needs-summary{cursor:pointer;list-style:none;position:relative;display:flex;flex-direction:column;gap:2px;padding:4px 48px 4px 2px;border-radius:8px}
.needs-summary::-webkit-details-marker{display:none}.needs-summary::marker{content:""}
.needs-title{font-family:Merriweather,Georgia,serif;font-weight:700;color:var(--navy);font-size:17px;line-height:1.3}
.needs-sub{font-size:14px;color:var(--teal-dark);line-height:1.35}
.needs-chevron{position:absolute;right:6px;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;background:var(--beige);border:1px solid var(--teal-light)}
.needs-chevron::before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-right:2.5px solid var(--navy);border-bottom:2.5px solid var(--navy);transform:translate(-50%,-70%) rotate(45deg);transition:transform .2s}
.needs[open] .needs-chevron::before{transform:translate(-50%,-30%) rotate(-135deg)}
.needs-summary:hover .needs-chevron{background:var(--teal-light)}
.needs-body{margin-top:12px;border-top:1px solid #e8e1d3;padding-top:10px}
.needs-head{display:grid;grid-template-columns:1fr 15rem;gap:12px;margin:0 0 6px;padding:0 14px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-dark)}
.needs-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.needs-list li{display:grid;grid-template-columns:1fr auto 15rem;align-items:center;gap:8px 12px;background:var(--beige);border:1px solid var(--beige-dark);border-radius:8px;padding:8px 14px;font-size:15px;line-height:1.4;color:var(--ink)}
.need-arrow{color:var(--teal-dark);font-weight:700}
.need-svc{font-weight:700;color:var(--navy);text-underline-offset:3px}
.need-custom{color:var(--teal-dark)}
.need-help{margin:10px 2px 0;font-size:14px}
.hl{outline:3px solid var(--gold)!important;outline-offset:2px;background-color:#fff8e1}
.hlnote{background:#fff8e1;border-left:4px solid var(--gold);padding:8px 12px;border-radius:6px;font-size:14px}
@media(max-width:560px){.needs-head{display:none}.needs-list li{grid-template-columns:auto 1fr;gap:2px 8px}.needs-list .need-text{grid-column:1/-1}}
@media print{.sample-requests,.hlnote{display:none}.hl{outline:none!important;background:none}}
.wbox{border:2px solid var(--navy);border-radius:8px;padding:10px 14px;margin:10px 0 14px;background:#fff}
.wbox p{margin:3px 0}.wbt{font-weight:700;font-size:15px;color:var(--navy)}
@media print{.wbox{border:1.5px solid #000;background:#fff!important;color:#000;break-inside:avoid}.wbt{color:#000}}
/* Timing guide (from website readiness calendar) */
.fy-sw{display:inline-flex;border:1px solid var(--teal-light);border-radius:10px;overflow:hidden;margin:6px 0 10px;flex-wrap:wrap}
.fy-sw button{border:0;background:#fff;padding:8px 14px;font:inherit;font-weight:600;color:var(--navy);cursor:pointer;text-align:left}
.fy-sw button small{display:block;font-weight:400;color:var(--mute);font-size:12px}
.fy-sw button.on{background:var(--navy);color:#fff}.fy-sw button.on small{color:#d9e3e7}
.tg-legend{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px}
.tg-legend li{display:flex;align-items:center;gap:6px}
.sw{display:inline-block;width:18px;height:12px;border-radius:3px}
.sw.early,.tgb.early{background:var(--navy);color:#fff}
.sw.ontrack,.tgb.ontrack{background:var(--accent);color:#fff}
.sw.late,.tgb.late{background:var(--beige-dark);color:var(--ink);border:1px solid #d9cfb8}
.sw.activity,.tgb.activity{background:#e9ecef;color:var(--ink);border:1px dashed #b8c0c8}
.sw.today{background:none;border-left:3px solid #a3262a;border-radius:0;width:4px}
.dia{display:inline-block;width:10px;height:10px;background:var(--gold);transform:rotate(45deg);border:1px solid #8a6d10}
.tg-sub{font-size:14px;margin:4px 0 8px}
.tg-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:8px;background:#fff}
.tg{min-width:920px;padding:6px 8px}
.tg-row{display:grid;grid-template-columns:150px 1fr;align-items:center;min-height:34px;border-bottom:1px solid #f0ece2}
.tg-row:last-child{border-bottom:0}
.tg-lab{font-weight:600;font-size:13px;color:var(--navy);position:sticky;left:0;background:#fff;z-index:2;padding-right:6px}
.tg-track{display:grid;grid-template-columns:repeat(21,1fr);position:relative;align-items:center;height:100%}
.tg-track>*{grid-row:1}
.tg-head .tg-track{grid-template-rows:auto auto}
.tg-head .yb{grid-row:1;font-size:11px;font-weight:700;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--navy);padding-bottom:2px}
.tg-head .yb.y2{border-color:var(--gold)}
.tg-head .mo{grid-row:2;font-size:11.5px;text-align:center;color:var(--mute);padding:3px 0}
.tg-head .mo.now{color:#fff;background:#a3262a;border-radius:4px;font-weight:700}
.tgb{font-size:11.5px;border-radius:5px;padding:4px 6px;margin:3px 1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}
.tgb.due{background:none;color:var(--ink);font-weight:600;text-align:right;border:0}
.tline{border-left:2px solid #a3262a;height:100%;justify-self:center;z-index:3;align-self:stretch}
.fye{border-right:2px dashed var(--gold);height:100%;justify-self:end;align-self:stretch}
.need-tip{display:block;color:var(--teal-dark);font-size:12.5px;margin-top:2px}
@media(max-width:560px){.tg-row{grid-template-columns:110px 1fr}.fy-sw{display:flex}.fy-sw button{flex:1}}
@media print{.fy-sw button.on{background:#fff;color:#000;border:1px solid #000}.tgb.early,.tgb.ontrack{background:#fff!important;color:#000!important;border:1px solid #000}}
.tgb{display:block;line-height:1.3;min-height:22px}
.tg-hint{display:none;font-size:12px;color:var(--mute);margin:0 0 4px}
@media(max-width:700px){.tg-hint{display:block}}
.tgb{white-space:normal;text-overflow:clip;font-size:11px;line-height:1.25;padding:3px 5px}
.tg{min-width:1040px}
.tgb.due{white-space:nowrap;overflow:visible}
.tg{min-width:900px}
.tg-row{grid-template-columns:132px 1fr}
.tline{z-index:0;opacity:.7}
.tgb{position:relative;z-index:2}
