@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#20382f;background:#f6f7f4;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,label.import{cursor:pointer}button{border:1px solid #d9dfd8;background:white;border-radius:8px;padding:10px 15px;color:inherit}button:hover{border-color:#398269}button.primary{background:#245d48;color:white;border-color:#245d48}aside{position:fixed;width:238px;inset:0 auto 0 0;background:#193d31;color:#ebf4ed;padding:32px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;text-decoration:none;color:inherit;font:800 25px Manrope,sans-serif}.brand small{display:block;font:9px 'DM Sans';letter-spacing:1.7px;margin-top:6px;color:#a6beb1}.navlabel{font-size:10px;letter-spacing:2px;color:#9cb3a6;margin:53px 12px 17px}nav button{display:block;width:100%;text-align:left;background:transparent;color:#bcd0c3;border:0;margin-bottom:8px;padding:13px}nav button.active{background:#315746;color:white}.asidebottom{margin-top:auto;font-size:12px;color:#c6d6cc}.asidebottom p{font-size:11px;line-height:1.8;color:#9cb3a6}.asidebottom button,.import{display:block;margin-top:12px;background:transparent;color:#c6d6cc;border-color:#53705f}.dot{display:inline-block;background:#a9c993;border-radius:50%;width:7px;height:7px;margin-right:6px}main{margin-left:238px;padding:0 42px;max-width:1800px}header{height:82px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e5de;color:#758078;font-size:12px}header b{padding:0 14px;color:#bac1b9}.pill,.badge{border-radius:20px;background:#e7eee5;padding:7px 12px;font-size:11px;color:#4b6c58}.pagehead{display:flex;justify-content:space-between;align-items:center;margin:37px 0 28px}.eyebrow{font-size:10px;letter-spacing:2px;color:#738572;font-weight:700}h1{font:800 30px Manrope,sans-serif;letter-spacing:-1px;margin:10px 0}h2{font:800 19px Manrope;margin:0 0 9px}h3{font:700 15px Manrope;margin:0 0 15px}p{color:#79847c;line-height:1.6}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 24px;font-size:12px;color:#78877b}.toolbar label{display:flex;gap:12px;align-items:center}select,input,textarea{background:white;color:#20382f;border:1px solid #dbe1d8;border-radius:7px;padding:10px;width:100%;min-width:0}select{width:auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:25px}.card,.panel{background:white;border:1px solid #e0e5db;border-radius:12px;padding:24px}.card small{color:#748478}.metric{font:800 28px Manrope;letter-spacing:-1px;margin:13px 0 9px}.card em{font-size:11px;font-style:normal;color:#8b9489}.green{color:#247255}.red{color:#b44d45}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:23px;margin-bottom:23px}.panelhead{display:flex;justify-content:space-between;align-items:start;margin-bottom:19px}.panel p{font-size:12px;margin:0 0 18px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#8a948b;padding:12px 9px;background:#f7f8f5}td{padding:16px 9px;border-bottom:1px solid #edf0e9;white-space:nowrap}td strong{display:block}td small{display:block;color:#8a948b;margin-top:4px}.barrow{display:grid;grid-template-columns:105px 1fr 90px;gap:12px;align-items:center;margin:20px 0;font-size:12px}.track{background:#edf0e8;height:8px;border-radius:9px;overflow:hidden}.fill{background:#4f8567;height:100%;border-radius:9px}.fill.cost{background:#d5ae79}.callout{background:#edf2e8;border:1px solid #dee7d7;border-radius:9px;padding:19px;margin-top:18px;font-size:12px;line-height:1.7}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.fields label{font-size:11px;color:#78877b}.fields input,.fields select{display:block;margin-top:7px;width:100%}.section{margin-bottom:22px}.check{display:flex;align-items:start;gap:12px;padding:17px 0;border-bottom:1px solid #e8ede5}.check input{width:18px;margin:1px 0;accent-color:#2b6a4e}.check span{font-size:13px}.check small{display:block;color:#849080;font-size:11px;margin-top:5px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}footer{font-size:11px;line-height:1.7;color:#8c968c;padding:25px 0 32px}#notice:not(:empty){padding:12px;background:#fff1d4;margin-bottom:15px;border-radius:8px}.chart{display:flex;gap:9px;height:140px;align-items:end;padding:10px 0}.column{flex:1;background:#72977a;border-radius:5px 5px 0 0;min-height:2px}.chartlabels{display:flex;justify-content:space-between;color:#87917f;font-size:10px}a{color:#2c6d51}textarea{min-height:90px}details{font-size:12px;line-height:1.8}summary{cursor:pointer;font-weight:700}.empty{padding:40px;text-align:center;color:#7f8b7b}@media(max-width:1050px){aside{width:195px;padding:26px 16px}main{margin-left:195px;padding:0 24px}.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.fields{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){aside{position:static;width:100%;padding:18px}.navlabel,.asidebottom{display:none}nav{display:flex;flex-wrap:wrap;margin-top:17px}nav button{width:auto;font-size:11px;padding:8px;margin:0}main{margin:0;padding:0 17px}header{height:58px}.pill{font-size:9px}.pagehead{align-items:start;gap:10px}h1{font-size:25px}.pagehead button{font-size:11px}.cards{gap:9px}.card{padding:17px}.metric{font-size:24px}.fields{grid-template-columns:1fr 1fr}.toolbar{align-items:start;gap:10px}.toolbar label{display:block}.toolbar select{max-width:180px;margin-top:6px}.panel{padding:18px}}
@media(max-width:650px){.asidebottom{display:block;margin-top:15px}.asidebottom p{display:none}.asidebottom button,.asidebottom .import{display:inline-block;margin-right:12px}}

nav .academy-nav{display:block;padding:13px;color:#bcd0c3;border-radius:8px;text-decoration:none;margin-bottom:8px}nav .academy-nav:hover{background:#315746;color:white}@media(max-width:650px){nav .academy-nav{font-size:11px;padding:8px;margin:0}}

.button{display:inline-block;background:white;border:1px solid #d9dfd8;border-radius:8px;padding:10px 15px;text-decoration:none;color:#245d48}.research-notes{display:block;margin-top:18px;font-size:12px;color:#78877b}.research-notes textarea{margin-top:8px}.fields input[type=url]{font-size:12px}

/* Phone layouts keep navigation compact and form controls comfortably tappable. */
#menuToggle{display:none}
.card,.panel,.grid>*,.fields>*{min-width:0}
@media(max-width:650px){
 aside{position:relative;padding:16px;padding-top:max(16px,env(safe-area-inset-top))}
 .brand{font-size:23px;max-width:calc(100% - 100px)}
 .brand small{font-size:8px;letter-spacing:1.2px}
 #menuToggle{display:block;position:absolute;right:16px;top:max(16px,env(safe-area-inset-top));min-height:44px;background:#315746;color:#fff;border-color:#53705f}
 aside nav,aside .asidebottom{display:none}
 aside.menu-open nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:20px}
 aside.menu-open .asidebottom{display:block;padding-top:8px}
 aside nav button,aside nav .academy-nav,aside nav a{display:flex;align-items:center;min-height:48px;width:100%;font-size:13px;padding:10px;text-align:left;margin:0}
 main{padding:0 16px;padding-bottom:env(safe-area-inset-bottom)}
 header{min-height:58px;height:auto;gap:8px;padding:12px 0;flex-wrap:wrap}
 header b{padding:0 7px}
 .pagehead{display:block;margin:24px 0}
 h1{font-size:26px;line-height:1.25;letter-spacing:-.7px}
 .pagehead>button{margin-top:10px;width:100%;font-size:15px}
 .eyebrow{line-height:1.6;letter-spacing:1.4px}
 button,.button,input,select{min-height:44px}
 input,select,textarea,.fields input[type=url]{font-size:16px}
 input[type=checkbox]{min-height:22px;min-width:22px;width:22px}
 .fields{grid-template-columns:minmax(0,1fr);gap:18px}
 .fields label{font-size:13px}
 .toolbar{display:block}.toolbar label{display:block;font-size:13px}
 .toolbar select{width:100%;max-width:none;margin:7px 0 9px}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .card{padding:15px}.metric{font-size:23px;overflow-wrap:anywhere}
 .card small,.card em{font-size:12px;line-height:1.5}
 .panel{padding:17px}.panel p,.callout{font-size:13px}
 .panelhead{gap:10px;flex-wrap:wrap}.panelhead .badge{white-space:normal}
 .grid{gap:16px}.callout{padding:15px;overflow-wrap:anywhere}
 .barrow{grid-template-columns:90px minmax(20px,1fr) 75px;gap:8px;font-size:11px}
 .actions{display:grid;grid-template-columns:minmax(0,1fr)}
 .actions button,.actions .button{width:100%;text-align:center;font-size:14px}
 .panel>table td:first-child{white-space:normal}.panel>table td{font-size:12px;padding:14px 6px}
 .tablewrap{max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
 .tablewrap table{min-width:520px}
 .check{min-height:52px;gap:12px}.check span{font-size:14px}.check small{font-size:12px;line-height:1.5}
 footer{font-size:12px;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.season-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.season-month{border:1px solid #dfe7d9;border-radius:10px;padding:18px;background:#fafbf8;min-width:0}
.season-month .fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.season-month .panelhead{margin-bottom:14px}
.season-month h3{margin:0}.month-profit{font:800 21px Manrope;margin:17px 0 8px}.month-profit small{font:400 11px 'DM Sans';color:#84917f}.season-month p{margin:0;font-size:11px}
.compare-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.compare-picker input{flex-shrink:0}
.compare-table th,.compare-table td{min-width:160px;white-space:normal;vertical-align:top}.compare-table table{min-width:600px}
.launch-task{border-bottom:1px solid #e8ede5;padding-bottom:18px}.launch-task .check{border:0;padding-bottom:12px}
.task-resources{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-left:30px;font-size:12px}.task-resources>span{font-size:10px;color:#84917f;text-transform:uppercase;letter-spacing:1px}.task-resources a{line-height:1.6}
@media(max-width:1250px){.season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.season-grid{grid-template-columns:minmax(0,1fr)}.season-month .fields{grid-template-columns:minmax(0,1fr)}.compare-picker{grid-template-columns:minmax(0,1fr)}.task-resources{font-size:13px}.task-resources a{display:flex;align-items:center;min-height:44px}.compare-table th,.compare-table td{min-width:150px}.season-month p{font-size:12px}}
aside{overflow-y:auto}

.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}.event-card{min-width:0}.event-card .panelhead{gap:8px;flex-wrap:wrap}.event-card p{line-height:1.8}.event-card .actions{margin-top:auto}
#content .filters{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}#content .filters label{font-size:12px;color:#78877b}#content .filters select{display:block;margin-top:6px;min-width:180px}
@media(max-width:650px){.event-grid{grid-template-columns:minmax(0,1fr)}#content .filters{display:block}#content .filters label{display:block;margin:15px 0;font-size:13px}#content .filters select{width:100%;min-width:0}.event-card .badge{white-space:normal}}
