:root{--forest:#173f33;--green:#1b7356;--ink:#1b302a;--muted:#6e8175;--line:#e1e9e3;--paper:#fff;--wash:#f4f7f4;--soft:#edf6ef;--amber:#946315;--shadow:0 5px 24px #153d2904;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--wash);font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,select,summary{cursor:pointer}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:not-allowed}input,select,textarea{min-width:0;max-width:100%;width:100%;padding:12px;border:1px solid #cfdfd4;border-radius:9px;color:var(--ink);background:#fff;min-height:44px}input[type=checkbox]{width:19px;height:19px;min-height:19px;accent-color:var(--green);flex-shrink:0}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible,.chart-scroll:focus-visible{outline:3px solid #63ad8d;outline-offset:3px}label{display:grid;gap:8px;font-size:12px;color:#496758;line-height:1.5}label small{color:var(--muted);font-size:11px}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:34px;line-height:1.16;letter-spacing:-1.25px;margin:10px 0 13px;font-weight:760}h2{font-size:16px;line-height:1.45;letter-spacing:-.35px;margin:0 0 10px}h3{font-size:14px;line-height:1.5;margin:10px 0}p{line-height:1.75;margin:10px 0 16px}small{font-size:12px}.app{min-height:100vh}.sidebar{width:238px;position:fixed;inset:0 auto 0 0;height:100vh;height:100dvh;background:var(--forest);color:#d4e5d7;padding:27px 17px 22px;display:flex;flex-direction:column;overflow-y:auto;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:5px 9px 26px;text-decoration:none;color:white}.brand-logo{display:grid;place-items:center;width:41px;height:41px;background:#e4efd9;border-radius:12px;color:var(--forest);font-size:26px}.brand-name{font-size:17px;font-weight:750;letter-spacing:-.3px}.brand-name small{display:block;letter-spacing:2.5px;font-size:9px;font-weight:600;margin-top:4px;color:#aecbb8}.nav{display:grid;gap:5px}.nav-btn{min-height:44px;padding:11px 11px;display:flex;align-items:center;gap:10px;border-radius:9px;color:#bed2c4;text-decoration:none;line-height:1.3;font-size:12px;font-weight:600;transition:background .15s}.nav-btn:hover,.nav-btn.active{background:#2d5947;color:#f8fff6}.nav-btn.active{box-shadow:inset 3px 0 #a4d2b7}.nav-icon{width:20px;font-size:18px;text-align:center;font-weight:400;flex-shrink:0}.nav-count{margin-left:auto;background:#64744d;color:#fff5d9;padding:3px 6px;font-size:10px;border-radius:6px}.sidebar-bottom{margin-top:auto;padding:25px 10px 0}.sidebar-bottom p{font-size:10px;line-height:1.6;color:#a8c4b2;margin:0 0 11px;overflow-wrap:anywhere}.sidebar-bottom strong{font-weight:500;color:#e4efe7}.main{margin-left:238px;padding:25px 34px 36px;max-width:1950px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px;color:var(--muted);font-size:11px}.datepill{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--line);border-radius:30px;padding:8px 12px;color:#718276;font-size:10px;line-height:1.4}.page-header{margin-bottom:27px;max-width:900px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2.6px;text-transform:uppercase;color:#4d8a6a;margin:0 0 10px}.subtitle{font-size:13px;color:var(--muted);line-height:1.75;margin:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:0 0 22px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;box-shadow:var(--shadow);min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:18px}.k-top{font-size:11px;font-weight:650;color:#748478;line-height:1.6;min-height:19px}.value{font-size:32px;letter-spacing:-1.3px;font-weight:770;line-height:1.2;overflow-wrap:anywhere}.value small{font-size:13px;color:#738677;letter-spacing:0;font-weight:650}.k-foot{font-size:10px;color:#79887d;line-height:1.6}.date-card .value{font-size:25px;letter-spacing:-.8px}.panel{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:25px;margin:0 0 21px;min-width:0}.panel-description{color:var(--muted);font-size:11px;line-height:1.7;margin:0 0 18px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px;flex-wrap:wrap}.section-head h2{margin-bottom:5px}.section-head .text-link{font-size:11px;white-space:nowrap}.text-link{font-weight:650;font-size:12px;text-decoration:none;display:inline-block;line-height:1.8}.text-link:hover{text-decoration:underline}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.overview-grid{grid-template-columns:minmax(0,1.38fr) minmax(335px,.92fr)}.split>.panel{height:100%}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 22px}.module-grid>article{min-width:0}.module-card{padding:23px;border-radius:16px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);min-width:0;box-shadow:var(--shadow)}.module-card:hover{border-color:#b2cbb9}.module-card h2{margin:12px 0 7px}.module-card p{font-size:12px;color:var(--muted);margin:0 0 12px}.module-card span.muted{font-size:10px;line-height:1.6;display:block}.module-symbol{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--green);font-size:21px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:43px;padding:11px 15px;border-radius:9px;border:1px solid #d1e1d5;background:#f7faf7;font-weight:650;font-size:12px;line-height:1.4;text-decoration:none;color:#315c46;gap:7px;max-width:100%;white-space:normal;text-align:center}.btn:hover{background:#edf5ed}.btn-primary{background:var(--green);border-color:var(--green);color:white}.btn-primary:hover{background:#145c45}.btn.small{min-height:36px;padding:8px 11px;font-size:11px}.btn-sidebar{background:#315846;color:#e4efe5;border-color:#426954;width:100%}.form-stack,.planning-form{display:grid;gap:17px}.form-stack>.btn,.planning-form>.btn{justify-self:start}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.comparison-controls{margin:18px 0 12px;display:grid;gap:14px}.comparison-controls>.btn{justify-self:start}.year-choices{border:0;padding:0;margin:0;display:flex;gap:10px 20px;flex-wrap:wrap}.year-choices legend{font-size:10px;color:var(--muted);margin-bottom:10px}.year-choices label,.check-line{display:flex;align-items:center;gap:8px;min-height:34px}.year-choices label{font-size:12px}.inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-form label{min-width:150px}.notice,.insight{background:#edf7f0;color:#3f6850;border:1px solid #dceadf;border-radius:11px;padding:16px 18px;font-size:12px;line-height:1.8;margin:16px 0 20px;overflow-wrap:anywhere}.notice p,.insight p{margin:8px 0 0}.notice.warning{background:#fff8eb;border-color:#eddfbd;color:#805e24}.notice.compact{display:flex;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;margin:0 0 22px}.notice.compact span{font-size:11px}.feedback{background:#fff5df;border:1px solid #ead8a9;border-radius:10px;padding:15px 18px;font-size:13px}.empty-state{background:#f7faf7;border:1px dashed #d4e2d8;padding:22px;border-radius:12px;color:var(--muted);font-size:12px;line-height:1.8}.subtle{background:#f9fcf9}.footnote{color:#7a897e;font-size:10px;line-height:1.8;margin:15px 0 0}.muted{color:var(--muted)}.pill,.mail-badge{display:inline-flex;align-items:center;border-radius:20px;padding:6px 10px;line-height:1.5;font-size:10px;font-weight:650;background:#edf5ef;color:#487359;max-width:100%}.pill.amber{background:#fff4df;color:#966217}.stock-label{color:var(--muted);font-size:11px;line-height:1.7;margin-top:15px}.stock-number{font-size:34px;font-weight:780;letter-spacing:-1.4px;margin:14px 0 3px}.stock-number small{font-size:18px;letter-spacing:0}.stock-summary .muted{font-size:11px;margin:5px 0 18px}.facts{margin:12px 0 20px}.facts>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #edf1ed;font-size:11px;line-height:1.7}.facts dt{color:var(--muted);min-width:0}.facts dd{font-weight:700;margin:0;text-align:right;max-width:58%;overflow-wrap:anywhere}.stock-summary .facts dd{font-size:13px}.scenario-details{padding-top:5px}.scenario-details .planning-form{margin:18px 0}.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:10px;overscroll-behavior-inline:contain}.table{border-collapse:collapse;width:100%;min-width:450px;text-align:left;font-size:12px}.table th{font-weight:650;letter-spacing:.45px;text-transform:uppercase;font-size:9px;color:#829286;background:#f7faf7;line-height:1.7}.table th,.table td{padding:13px 14px;border-bottom:1px solid #e7eee8;vertical-align:top;white-space:normal}.table tbody th{font-size:11px;text-transform:none;letter-spacing:0;color:#3d6550;background:transparent}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom:0}.table tr.selected-row{background:#edf7ef}.chart-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-inline:contain;margin-top:20px;scrollbar-width:thin}.chart-scroll svg{display:block;width:100%;min-width:620px;height:auto;min-height:210px}.chart-line{stroke:#e7eee8;stroke-width:1}.bar-current{fill:#1b7657;background:#1b7657}.bar-reference,.bar-history-0{fill:#b4d8c5;background:#b4d8c5}.bar-history-1{fill:#8bb7a5;background:#8bb7a5}.bar-history-2{fill:#c5d5ad;background:#c5d5ad}.bar-history-3{fill:#739b8b;background:#739b8b}.bar-partial{fill-opacity:.38;stroke:#80ad92;stroke-dasharray:3 3;stroke-width:1}.chart-highlight{fill:#eef7ef;stroke:#dcebe0;stroke-width:1}.chart-label{font:11px -apple-system,BlinkMacSystemFont,Arial;fill:#658372}.chart-value{font:600 11px -apple-system,BlinkMacSystemFont,Arial;fill:#236243}.chart-legend{display:flex;gap:12px 17px;flex-wrap:wrap;font-size:10px;color:#708677;margin:16px 0}.chart-legend span{display:inline-flex;align-items:center;gap:7px}.chart-legend i{display:inline-block;width:9px;height:9px;border-radius:3px}.swipe-hint{display:none;font-size:10px;color:#788f7e;margin-top:5px}.year-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}.year-summary article{padding:18px;border:1px solid var(--line);border-radius:12px;background:#f8fbf8}.year-summary strong{font-size:23px}.year-summary p{font-size:11px;color:var(--muted)}.process{padding:0;list-style:none;counter-reset:step;display:grid;gap:18px}.process li{display:grid;grid-template-columns:28px 1fr;gap:3px 12px;font-size:12px;line-height:1.7}.process li:before{counter-increment:step;content:counter(step);grid-row:span 2;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#edf6ef;color:#477b5d;font-size:10px}.process strong,.process span{grid-column:2}.process span{color:var(--muted)}.sensor-grid,.invoice-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.sensor-grid article,.invoice-facts>div{border:1px solid var(--line);border-radius:12px;background:#f7faf7;padding:17px;min-width:0}.sensor-grid span,.invoice-facts span{display:block;color:var(--muted);font-size:10px;line-height:1.6}.sensor-grid strong,.invoice-facts strong{display:block;margin-top:10px;font-size:16px;overflow-wrap:anywhere;line-height:1.4}.invoice-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.pdf-viewer{width:100%;height:760px;border:1px solid var(--line);border-radius:10px;background:#f6f7f6}.plain-list{padding-left:20px;line-height:2;color:#506b5b;font-size:12px}.journal{border-top:1px solid var(--line);padding:19px 0;overflow-wrap:anywhere}.journal:first-of-type{margin-top:15px}.journal p{font-size:12px;color:#62796b;margin:10px 0;line-height:1.8}.journal .section-head{margin:0}.journal h3{margin:9px 0}.journal:last-child{padding-bottom:0}.source-row{display:flex;gap:15px 25px;flex-wrap:wrap;color:#748777;font-size:11px;line-height:1.7}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px;background:#83b99a}.status-dot.amber-dot{background:#d0ac62}.mail-heading{display:flex;align-items:start;justify-content:space-between;gap:15px;flex-wrap:wrap}.mail-heading h2{font-size:20px;margin:5px 0 14px}.mail-heading .eyebrow{font-size:9px}.mail-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.mail-cards>div{background:#f7faf7;border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0;overflow-wrap:anywhere}.mail-label{font-size:9px;color:#78907f;letter-spacing:1px;text-transform:uppercase}.mail-cards strong{display:block;color:#2b6848;font-size:15px;margin:11px 0}.mail-cards p{font-size:11px;color:var(--muted);margin:9px 0 0}.mail-empty{border:1px dashed #cdddd0;padding:21px;border-radius:10px;color:var(--muted);font-size:12px}.mail-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mail-badge{margin-left:8px}.mail-panel .journal>strong{font-size:13px}.upload{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.upload>label{flex:1;min-width:200px}.upload>label input{padding:10px}.result-table{margin-top:25px}.app-footer{padding-top:5px}.login{max-width:460px;margin:10vh auto;padding:32px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.login .brand-logo{margin-bottom:25px}.login h1{font-size:29px}.login form{display:grid;gap:18px;margin-top:26px}.login .btn{justify-self:stretch}.login .footnote{margin-top:22px}details{margin:18px 0}summary{font-size:12px;font-weight:650;color:#386b4d;min-height:40px;line-height:1.7;padding:10px 0}details[open]>summary{margin-bottom:14px}.mobile-header,.mobile-shortcuts,.nav-backdrop{display:none}[hidden]{display:none!important}
@media(min-width:1001px) and (max-height:850px){.sidebar{padding-top:17px}.brand{padding-bottom:17px}.nav{gap:2px}.nav-btn{min-height:39px;padding-top:8px;padding-bottom:8px}.sidebar-bottom{padding-top:18px}}
@media(min-width:1001px) and (max-width:1350px){.main{padding:24px}.overview-grid{grid-template-columns:1fr}.overview-grid .stock-summary{height:auto}.overview-grid>.panel{height:auto}.overview-grid .stock-summary .facts{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.split:not(.overview-grid){grid-template-columns:1fr 1fr}.value{font-size:28px}.date-card .value{font-size:21px}}
@media(max-width:1000px){.sidebar{transform:translateX(-100%);width:280px;max-width:85vw;transition:transform .2s;visibility:hidden}.menu-open .sidebar{transform:translateX(0);visibility:visible}.menu-open{overflow:hidden}.nav-backdrop{display:block;position:fixed;inset:0;width:100%;height:100dvh;border:0;background:#102e2380;z-index:25}.main{margin-left:0;padding:23px 23px 95px}.mobile-header{height:64px;padding:12px 22px;display:flex;justify-content:space-between;align-items:center;background:#f8fbf8;border-bottom:1px solid var(--line);gap:14px}.mobile-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--forest);font-size:26px}.mobile-brand>span{font-size:14px;font-weight:750;line-height:1.1}.mobile-brand small{font-size:9px;display:block;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;margin-top:4px}.mobile-header .btn{min-height:39px;padding:8px 13px;font-size:12px}.topbar{margin-bottom:25px;font-size:10px;gap:8px}.datepill{font-size:9px;padding:6px 9px}.cards{gap:12px}.kpi{padding:19px 17px}.split{gap:17px}.overview-grid{grid-template-columns:1fr}.overview-grid .stock-summary{order:-1;height:auto}.overview-grid>.panel{height:auto}.overview-grid .stock-summary .facts{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.mobile-shortcuts{position:fixed;inset:auto 0 0;height:calc(66px + env(safe-area-inset-bottom));padding:7px 5px calc(7px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fbfdfbf5;backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:20}.mobile-shortcuts a,.mobile-shortcuts button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;background:transparent;border:0;color:#78917f;font-size:10px;text-decoration:none;border-radius:9px;font-weight:600}.mobile-shortcuts span{font-size:20px;line-height:1.2;font-weight:400}.mobile-shortcuts [aria-current=page]{background:#e6f2e9;color:#236b46}.swipe-hint{display:block}.mail-cards{grid-template-columns:1fr}.sensor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-card{padding:19px}.pdf-viewer{height:650px}}
@media(max-width:700px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.three{grid-template-columns:1fr}.cards.three .kpi{gap:12px}.split{grid-template-columns:1fr}.split>.panel{height:auto}.module-grid{grid-template-columns:1fr}.module-card{padding:21px}.module-card h2{margin-top:9px}.value{font-size:29px}.date-card .value{font-size:23px}.main{padding:21px 17px 93px}h1{font-size:29px;letter-spacing:-1px}.page-header{margin-bottom:23px}.panel{padding:21px 19px;margin-bottom:17px;border-radius:15px}.overview-grid .stock-summary .facts{display:block}.form-grid,.form-grid.three{grid-template-columns:1fr}.facts{margin:13px 0}.facts dd{max-width:55%}.facts>div{font-size:11px}.facts dd{font-size:12px}.mail-heading .datepill{max-width:100%;font-size:10px}.mail-cards strong{font-size:16px}.section-head .text-link{white-space:normal}.invoice-facts{grid-template-columns:1fr 1fr}.invoice-facts>div{padding:13px}.invoice-facts strong{font-size:13px}.notice.compact{align-items:flex-start;font-size:11px}.notice.compact span{font-size:10px;text-align:right}.pdf-viewer{height:530px}.sensor-grid strong{font-size:15px}.inline-form{width:100%}.inline-form label{flex:1}.chart-scroll svg{min-width:660px}.year-summary{grid-template-columns:1fr 1fr}.year-summary strong{font-size:20px}.topbar .datepill{display:none}.topbar{margin-bottom:22px}.login{margin:6vh 17px;padding:26px}.mail-actions{align-items:stretch}.mail-actions .btn{width:100%}.mail-actions form{width:100%}.table th,.table td{padding:11px 12px}.planning-form>.btn{width:100%}.scenario-details .form-grid.three{grid-template-columns:1fr}.sidebar-bottom{padding-bottom:25px}.eyebrow{letter-spacing:2.1px;font-size:9px}.k-foot{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 0;font-size:11px;color:var(--muted)}
@media(min-width:1001px) and (max-width:1350px){.overview-grid .stock-summary{order:-1}}
.drawer-close{display:none}@media(max-width:1000px){.drawer-close{display:grid;place-items:center;position:absolute;right:10px;top:21px;width:38px;height:38px;border:1px solid #557361;border-radius:9px;background:#315846;color:#eff8ef;font-size:24px}.sidebar .brand{padding-right:36px}.sidebar .brand-name{font-size:15px}.sidebar .brand-logo{width:35px;height:35px;flex-shrink:0}}
.value .number{white-space:nowrap;overflow-wrap:normal}@media(max-width:360px){.kpi{padding:17px 13px}.value{font-size:24px;letter-spacing:-.7px}.date-card .value{font-size:18px;letter-spacing:-.45px}.k-top{font-size:10px}.cards{gap:10px}.year-summary{grid-template-columns:1fr}}

.nav-group{font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:#89b39b;margin:15px 11px 3px;font-weight:700}.page-tabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px}.weather-banner{display:flex;align-items:center;gap:15px;padding:17px 22px;margin:0 0 25px;border:1px solid #d1e5d7;border-radius:15px;background:#eef6ef;text-decoration:none;color:var(--ink)}.weather-banner>span:nth-child(2){flex:1;min-width:0}.weather-banner small{display:block;color:var(--muted);line-height:1.7;margin-top:4px}.weather-banner>span:last-child{font-size:11px;font-weight:650}.section-label{margin:27px 0 15px}.cistern-tanks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:26px 0}.cistern-tank{min-height:170px;border:4px solid #b1bdbe;border-radius:10px;background:#edf4f6;display:flex;flex-direction:column;justify-content:space-between;padding:14px 8px;color:#426a7a;text-align:center;min-width:0}.cistern-tank.unknown{background:repeating-linear-gradient(135deg,#f2f6f7,#f2f6f7 10px,#e9eff1 10px,#e9eff1 20px)}.cistern-tank span{font-size:11px}.cistern-tank strong{font-size:30px;font-weight:650}.table td small{display:block;margin-top:6px;line-height:1.6;color:var(--muted);font-size:10px}.form-stack{gap:15px}.farm-overview .module-card{border-top:3px solid #bad1c1}.farm-overview .module-card:nth-child(2){border-top-color:#9cc9dc}.farm-overview .module-card:nth-child(3){border-top-color:#b4c6d7}
@media(max-width:700px){.weather-banner{padding:16px 14px;gap:10px}.weather-banner>span:last-child{display:none}.page-tabs{display:grid;grid-template-columns:1fr}.page-tabs .btn{justify-content:flex-start}.cistern-tank{min-height:145px;padding:10px 3px}.cistern-tank strong{font-size:24px}.cistern-tank span{font-size:10px}}

@media(max-width:480px){.value .text-value{font-size:22px;letter-spacing:-.5px;overflow-wrap:normal;hyphens:auto}}
@media(max-width:350px){.value .text-value{font-size:19px}}

/* Luftiges Hofcockpit: Abstände gehören zum Layout, nicht zu den Kartenrändern. */
:root {
    --wash: #f6f7f6;
    --shadow: 0 5px 28px rgba(24, 51, 39, .035);
    --card-gap: 28px;
    --section-gap: 40px;
    --card-inset: 32px;
    --kpi-inset: 26px;
    --card-radius: 22px;
}
.main {
    display: flex;
    flex-direction: column;
    gap: var(--section-gap);
    padding: 36px clamp(28px, 3.4vw, 60px) 64px;
    max-width: 1840px;
}
.main > :is(.topbar, .page-header, .cards, .panel, .split, .module-grid,
             .notice, .feedback, .weather-banner, .page-tabs, .section-label, .app-footer) {
    margin-block: 0;
}
.main > .notice.compact { margin: 0; }
.page-header { max-width: 960px; }
h1 {
    font-size: clamp(34px, 2.8vw, 44px);
    font-weight: 730;
    line-height: 1.13;
    letter-spacing: -.04em;
    margin: 12px 0 16px;
}
h2 { font-size: 18px; line-height: 1.4; letter-spacing: -.4px; }
.subtitle { font-size: 14px; line-height: 1.8; }
.cards, .module-grid { gap: var(--card-gap); }
.split { gap: var(--card-gap); align-items: stretch; }
.split > .panel { height: auto; margin: 0; }
.panel, .module-card {
    padding: var(--card-inset);
    border-radius: var(--card-radius);
    border-color: #e5ebe6;
}
.module-card { display: block; }
.kpi { padding: var(--kpi-inset); border-radius: var(--card-radius); gap: 22px; }
.value { font-size: 36px; font-weight: 730; }
.section-head { margin-bottom: 24px; gap: 18px; }
.panel-description { font-size: 12px; line-height: 1.8; margin-bottom: 22px; }
.module-card h2 { margin: 22px 0 12px; }
.module-card p { font-size: 13px; line-height: 1.8; margin-bottom: 18px; }
.module-card span.muted { font-size: 11px; line-height: 1.75; }
.module-symbol { width: 40px; height: 40px; font-size: 23px; }
.weather-banner { padding: 24px 28px; border-radius: var(--card-radius); gap: 18px; }
.form-stack, .planning-form { gap: 22px; }
.form-grid { gap: 22px; }
.year-summary, .sensor-grid, .invoice-facts, .mail-cards { gap: 22px; }
.year-summary article, .mail-cards > div, .sensor-grid article, .invoice-facts > div {
    border-radius: 16px;
    padding: 22px;
}
.panel > :last-child { margin-bottom: 0; }
.app-footer { padding-top: 8px; }

@media (min-width: 1001px) and (max-width: 1350px) {
    :root { --card-gap: 24px; --card-inset: 28px; --kpi-inset: 22px; }
    .value { font-size: 29px; }
}
@media (max-width: 1000px) {
    :root {
        --card-gap: 24px;
        --section-gap: 32px;
        --card-inset: 28px;
        --kpi-inset: 22px;
    }
    .main { padding: 30px 24px 112px; }
    .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    h1 { font-size: 36px; }
    .value { font-size: 30px; }
}
@media (max-width: 700px) {
    :root {
        --card-gap: 20px;
        --section-gap: 28px;
        --card-inset: 24px;
        --kpi-inset: 20px;
        --card-radius: 20px;
    }
    .main { padding: 28px 18px 112px; }
    .cards { gap: 16px; }
    h1 { font-size: 30px; line-height: 1.15; }
    h2 { font-size: 18px; }
    .subtitle { font-size: 13px; }
    .kpi { gap: 18px; }
    .value { font-size: 28px; }
    .section-head { margin-bottom: 20px; gap: 14px; }
    .form-grid { gap: 20px; }
    .module-card h2 { margin-top: 18px; }
    .weather-banner { padding: 20px; gap: 14px; }
    .year-summary, .sensor-grid, .invoice-facts, .mail-cards { gap: 16px; }
    .year-summary article, .mail-cards > div, .sensor-grid article, .invoice-facts > div {
        padding: 18px;
    }
}
@media (max-width: 360px) {
    :root { --card-inset: 20px; --kpi-inset: 16px; }
    .main { padding-inline: 16px; }
    .cards { gap: 14px; }
    .value { font-size: 23px; }
    .value .text-value { font-size: 19px; }
}

/* Fachbereiche entsprechend dem freigegebenen Navigationsentwurf. */
@media (min-width: 1001px) {
    .sidebar { width: 260px; }
    .main { margin-left: 260px; }
}
.sidebar .nav { display: block; }
.sidebar .brand { padding-bottom: 28px; }
.nav .nav-top-link { margin: 0; min-height: 46px; }
.nav .nav-top-link + .nav-section,
.nav .nav-section + .nav-section,
.nav .nav-section + .nav-top-link {
    border-top: 1px solid #ffffff18;
    margin-top: 15px;
    padding-top: 10px;
}
.nav .nav-section { margin-bottom: 0; }
.nav-section > .nav-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 46px;
    margin: 0;
    padding: 11px 11px;
    color: #a6c8b3;
    font-size: 11px;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    list-style: none;
    border-radius: 8px;
}
.nav-section > summary::-webkit-details-marker { display: none; }
.nav-section > summary::marker { content: ''; }
.nav-section > summary:hover { background: #ffffff08; color: #e1eee4; }
.nav-section.current-section > summary { color: #e1eee4; }
.nav-chevron {
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(-45deg);
    margin-right: 3px;
    flex-shrink: 0;
}
.nav-section[open] > summary .nav-chevron { transform: rotate(45deg); }
.nav-section-links { padding: 2px 0 7px; }
.nav .nav-child {
    min-height: 43px;
    margin: 3px 0;
    padding: 10px 11px 10px 19px;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 500;
}
.nav .nav-child.active { font-weight: 650; }
.nav-subgroup {
    display: block;
    margin: 18px 0 7px;
    padding: 0 19px;
    color: #91b49d;
    font-size: 10px;
    line-height: 1.7;
    text-transform: uppercase;
    letter-spacing: .65px;
    font-weight: 700;
    text-decoration: none;
}
.nav-subgroup:first-child { margin-top: 8px; }
a.nav-subgroup:hover, a.nav-subgroup[aria-current] { color: #e1eee4; }
.nav-subgroup ~ .nav-child { padding-left: 27px; }
.nav-plan-note { margin: 3px 19px 4px; font-size: 10px; line-height: 1.7; color: #9bbca6; }
.mobile-shortcuts [aria-current=location] { background: #e6f2e9; color: #236b46; }
@media (max-width: 1000px) {
    .sidebar .brand { padding-bottom: 24px; }
    .nav .nav-child { min-height: 44px; font-size: 13px; }
    .nav-section > .nav-section-title { min-height: 48px; }
}

/* Wetterzentrale: derselbe ruhige Rhythmus wie die übrigen Hofbereiche. */
.weather-summary .value{font-size:28px}.weather-answer{margin-top:26px;padding:24px;border-radius:14px;background:var(--wash)}.weather-answer p:last-child{margin-bottom:0}.weather-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:20px;margin:24px 0 32px}.weather-day{background:var(--wash);border-radius:13px;padding:21px;min-width:0}.weather-day>strong{font-size:23px;letter-spacing:-.7px}.weather-day p:not(.eyebrow){font-size:12px;color:var(--muted)}.weather-day small{font-size:10px;color:var(--muted)}.weather-chart{margin:28px 0 34px}.weather-chart figcaption{font-size:12px;font-weight:650;margin-bottom:12px}.weather-chart svg{width:100%;height:auto;display:block;min-height:90px}.weather-chart-labels{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:var(--muted)}.weather-detail>summary{font-weight:650;line-height:1.6;min-height:44px;display:list-item;padding:10px 0}.weather-detail .table-wrap{margin-top:22px}.weather-detail>p{font-size:12px}.weather-warning{padding:20px;background:#fff5e5;border-radius:12px;margin-top:20px}.weather-warning p{font-size:12px}.weather-detail .facts{margin-top:20px}.facts dt small,.facts dd small{display:block;font-size:10px;font-weight:400;color:var(--muted);line-height:1.6}.weather-query .inline-form label{flex:1 1 250px}.weather-query .inline-form .btn{flex:0 0 auto}@media(max-width:600px){.weather-answer{padding:18px}.weather-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.weather-day{padding:16px}.weather-day>strong{font-size:19px}.weather-chart-labels{font-size:9px}.weather-query .inline-form .btn{width:100%}.weather-summary .value{font-size:26px}}@media(max-width:350px){.weather-days{grid-template-columns:1fr}}
