:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#243730;background:#f7f8f5;font-synthesis:none;--green:#1c473b;--deep:#173a31;--mint:#d7e8dd;--line:#e4e9e3;--muted:#7d8983;--radius:17px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;scroll-behavior:smooth}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #91bb9f;outline-offset:2px}input,textarea,select{color:#23372e}a{color:inherit}[hidden]{display:none!important}
.eyebrow,.tiny-label,.pane-label,.sidebar-group-label{font-size:10px;font-weight:800;letter-spacing:2.1px;color:#769485}.eyebrow.light{color:#a8c7b6}.tiny-label{font-size:9px;letter-spacing:1.8px}.button{border:1px solid transparent;border-radius:11px;min-height:41px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:15px;font-size:12px;font-weight:750;transition:background .15s,transform .15s,box-shadow .15s;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button.primary{color:white;background:#254f3e;box-shadow:0 5px 14px #1e48371a}.button.primary:hover{background:#1a3c30}.button.full{width:100%;justify-content:space-between}.button.outline{border-color:#dde5dd;background:white;color:#345244}.button.outline:hover{background:#f5faf6}.button.ghost{background:transparent;color:#718078}.button.ghost:hover{color:#254f3e;background:#edf4ef}.button.large{padding:15px 22px;min-height:49px}
.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(390px,48%) 1fr;background:#fcfcfa}.login-image{position:relative;min-height:760px;background:radial-gradient(ellipse at 80% 10%,#365e4e,transparent 45%),linear-gradient(135deg,#123a31,#092b25 80%);color:#f1f4ed;overflow:hidden;padding:60px 10%}.login-image:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-22deg,transparent 0 99px,#ffffff04 100px 101px);pointer-events:none}.graphic-orbit{position:absolute;border:1px solid #ffffff18;border-radius:50%;width:620px;height:620px;top:3%;left:15%;transform:rotate(-30deg)}.orbit-b{width:470px;height:470px;top:18%;left:33%;border-color:#ffffff14}.graphic-leaf{position:absolute;width:330px;height:430px;right:8%;top:13%;color:#9abd9a9e;transform:rotate(6deg)}.graphic-leaf svg{width:100%;height:100%}.login-illustration-copy{position:absolute;bottom:135px;left:10%;z-index:1}.login-illustration-copy h2{font-size:clamp(52px,6vw,92px);font-weight:550;line-height:.97;letter-spacing:-5px;margin:20px 0}.login-illustration-copy h2 em{font-family:Georgia,serif;font-weight:400;color:#b8d1b6}.login-illustration-copy p{font-size:13px;line-height:1.8;color:#c1d0c8;max-width:335px}.image-bottom{position:absolute;bottom:45px;left:10%;font-weight:700;font-size:10px;letter-spacing:2px;color:#9eb5a9}.image-bottom span{margin:0 14px;color:#608776}.login-pane{padding:55px min(9vw,128px) 34px;display:flex;flex-direction:column;min-height:100vh}.login-top{display:flex;align-items:center;gap:21px}.logo-mark,.brand-icon{font-family:Georgia,serif;font-size:36px;font-style:italic;letter-spacing:-4px;color:#204b3b}.logo-mark span,.brand-icon span{color:#b7c99b}.pane-label{color:#95a29b;letter-spacing:1.6px}.login-content{margin:auto 0;max-width:435px;width:100%}.login-pill{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:750;padding:9px 12px;border:1px solid #e4eae2;border-radius:100px;background:#f8faf5;color:#5c7966}.dot,.sync-dot{height:6px;width:6px;background:#75ac82;border-radius:50%;display:inline-block}.login-content h1{font-size:clamp(40px,4.8vw,67px);line-height:1.08;letter-spacing:-2.9px;font-weight:600;margin:25px 0 17px;color:#1c3b30}.lead{color:#87968d;font-size:13px;line-height:1.85;max-width:380px;margin-bottom:38px}.login-form{display:flex;flex-direction:column;gap:10px}.login-form label{font-size:11px;font-weight:800;margin-top:9px;color:#3d5347}.login-form input{width:100%;height:52px;border:1px solid #e3e9e2;background:#fff;border-radius:10px;padding:0 16px;outline:0;font-size:13px}.login-form input:focus{border-color:#80ad90;box-shadow:0 0 0 3px #a9cbb030}.login-form>.button{height:52px;margin-top:17px}.password-wrap{position:relative}.password-wrap input{padding-right:88px}.password-wrap button{position:absolute;right:10px;top:10px;border:0;background:#f3f7f2;border-radius:7px;padding:8px 10px;font-size:10px;color:#4c6955}.form-error{border-radius:8px;padding:11px 12px;background:#fff1ee;color:#b9463d;font-size:12px}.login-disclaimer{color:#9ea8a1;font-size:10px;line-height:1.7;margin-top:25px}.login-footer{display:flex;justify-content:space-between;font-size:9px;color:#98a49b;letter-spacing:.7px}
.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;display:flex;flex-direction:column;background:var(--deep);padding:31px 18px 18px;color:#edf3ed;z-index:20}.side-top{display:flex;align-items:center;gap:12px;padding:8px 11px 48px}.brand-icon{font-size:39px;color:#fff}.brand-text{display:flex;flex-direction:column;gap:5px}.brand-text strong{font-size:12px;font-weight:900;letter-spacing:1.5px}.brand-text span{color:#8faea0;font-size:9px;letter-spacing:2px}.sidebar-group-label{padding:0 16px;margin-bottom:18px;color:#77a08b;letter-spacing:1.5px}.side-nav{display:flex;flex-direction:column;gap:6px}.nav-btn{width:100%;text-align:left;background:transparent;border:0;color:#aac6b6;border-radius:10px;padding:14px 15px;font-size:12px;display:flex;gap:14px;align-items:center}.nav-btn:hover{background:#ffffff0e;color:#fff}.nav-btn.active{background:#e7f0e8;color:#204736;font-weight:800;box-shadow:0 4px 18px #071e181a}.nav-icon{font-size:20px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:18px;font-family:Georgia,serif}.sidebar-spacer{flex:1}.sidebar-note{margin:0 5px 21px;background:#ffffff0a;border:1px solid #ffffff13;border-radius:12px;padding:17px 14px;display:flex;flex-direction:column;gap:8px}.sidebar-note strong{font-weight:650;font-size:12px}.sidebar-note small{font-size:10px;color:#a1baaa}.side-profile{border-top:1px solid #ffffff1e;padding:20px 6px 0;display:flex;align-items:center;gap:10px}.avatar{display:grid;place-items:center;background:#b5d1ac;color:#214630;border-radius:10px;width:38px;height:38px;font-weight:800;font-size:11px}.side-profile>div:nth-child(2){display:flex;flex-direction:column;gap:5px;min-width:0}.side-profile strong{font-size:11px}.side-profile span{font-size:9px;color:#9eb8ab}.icon-btn{margin-left:auto;background:transparent;border:0;color:#c6dacf;font-size:23px}.main-area{margin-left:242px;width:calc(100% - 242px);min-width:0}.topbar{height:73px;border-bottom:1px solid #e6eae5;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4.2vw,69px);gap:12px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:15px;font-size:11px}.crumb{letter-spacing:1.8px;color:#90a198;font-size:9px;font-weight:900}.crumb-slash{color:#c8d2c9}.topbar-left strong{font-size:11px;color:#3c5348}.topbar-right{color:#74847c}.sync{display:flex;align-items:center;gap:9px}.top-separator{width:1px;height:20px;background:#e6ebe7}.mobile-logout{display:none}.page{max-width:1700px;padding:49px clamp(24px,4.2vw,69px) 80px;margin:0 auto;display:none}.page.active-page{display:block}.page-heading{margin-bottom:32px}.page-heading h1{font-size:clamp(30px,3.1vw,43px);font-weight:650;letter-spacing:-1.6px;line-height:1.12;color:#1e3d31;margin:11px 0 9px}.page-heading p{font-size:12px;color:#839087;line-height:1.6;margin:0}.heading-spread{display:flex;justify-content:space-between;align-items:center;gap:20px}.wave{color:#a9cbb1;font-size:28px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric-card{border:1px solid var(--line);border-radius:15px;background:#fff;padding:23px 23px 20px;min-width:0;position:relative;overflow:hidden;min-height:169px;box-shadow:0 4px 18px #0a2c1307}.metric-card.accent{background:#224a3c;color:#fff;border-color:#224a3c}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:9px;letter-spacing:1px;font-weight:850;color:#8f9d94}.metric-card.accent .metric-top{color:#bfd3c6}.metric-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;font-size:18px;color:#8fa99b;background:#f4f7f1;flex-shrink:0}.metric-icon.positive{color:#528c69;background:#eaf5eb}.accent .metric-icon{color:#dde9da;background:#ffffff1b}.metric-number{font-size:clamp(26px,2.65vw,39px);letter-spacing:-1.5px;font-weight:700;white-space:nowrap;margin:19px 0 7px;font-variant-numeric:tabular-nums}.metric-number small{font-size:12px;font-weight:500;letter-spacing:0;color:#9baa9e}.accent .metric-number small{color:#c0d7c8}.metric-card p{font-size:10px;color:#89978e;margin:0;line-height:1.5}.metric-card.accent p{color:#c5d9c9}.metric-stripe{position:absolute;background:#b7d2ae;height:3px;left:22px;right:22px;bottom:0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,1fr);gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 3px 12px #152d1d05}.chart-panel,.schedule-panel{padding:25px 26px 22px;min-height:320px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.panel-heading h2{font-size:18px;font-weight:700;letter-spacing:-.5px;margin:7px 0 0;color:#234234}.subtle{font-size:10px;color:#a0aba2;white-space:nowrap}.chart-legend{display:flex;gap:20px}.legend-item{display:inline-flex;gap:7px;align-items:center;font-size:10px;color:#89988f}.legend-item i{width:9px;height:9px;border-radius:2px}.legend-green{background:#5c9370}.legend-sand{background:#d3bda1}.chart{display:flex;align-items:stretch;justify-content:space-around;gap:20px;margin-top:25px;height:162px;padding:0 7px 0;border-bottom:1px solid #e8ece8}.chart-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;position:relative;padding-bottom:23px}.chart-bar-box{width:min(38px,70%);height:118px;display:flex;align-items:end;justify-content:center;position:relative}.chart-bar{width:100%;border-radius:7px 7px 0 0;min-height:3px;transition:height .2s}.chart-bar.positive{background:linear-gradient(#5c9c76,#a8d0b0)}.chart-bar.negative{background:linear-gradient(#cab293,#e5d6c3)}.chart-col .bar-month{position:absolute;bottom:5px;font-size:10px;color:#919c94;white-space:nowrap}.chart-col .bar-value{font-size:9px;position:absolute;bottom:calc(100% - 16px);color:#667f6d;white-space:nowrap}.chart-col .bar-value.negative{color:#b99d7e}.schedule-tag,.mini-pill,.optional-badge{font-size:9px;letter-spacing:1px;font-weight:800;padding:7px 10px;border-radius:100px;background:#eff5f0;color:#6a9774;white-space:nowrap}.schedule-list{display:flex;flex-direction:column;margin-top:5px}.schedule-row{display:grid;grid-template-columns:39px 1fr auto;align-items:center;gap:12px;border-bottom:1px solid #eef2ee;padding:10px 0;font-size:11px}.schedule-row:last-child{border-bottom:0}.day-chip{background:#f3f6f1;color:#50715a;border-radius:6px;padding:6px 4px;text-align:center;font-size:10px;font-weight:800}.schedule-times{font-weight:750;color:#395447}.schedule-break{color:#94a197;font-size:10px}.micro-note{font-size:10px;color:#a4afa6;line-height:1.55;margin:17px 0 0}.recent-panel{margin-top:20px;padding:24px 27px}.recent-panel .panel-heading{margin-bottom:10px}.text-button{border:0;background:transparent;color:#3e7856;font-weight:800;font-size:11px}.recent-list{display:flex;flex-direction:column}.recent-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto auto;align-items:center;gap:19px;border-top:1px solid #eef2ee;padding:15px 0}.recent-date{font-size:11px;font-weight:750;color:#274737}.recent-detail strong{display:block;font-size:11px;max-width:480px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-detail span{display:block;color:#9baa9e;font-size:10px;margin-top:6px}.recent-hours{font-size:13px;font-weight:850;font-variant-numeric:tabular-nums}.recent-open{border:0;background:#f2f6f2;color:#44634c;border-radius:8px;padding:8px 11px;font-size:12px}.integrity-note{display:flex;align-items:flex-start;gap:12px;padding:23px 0}.note-symbol{border:1px solid #9ab09d;color:#71917b;display:grid;place-items:center;flex:0 0 19px;height:19px;border-radius:50%;font-family:Georgia,serif;font-size:12px}.integrity-note p{max-width:900px;color:#89978d;font-size:10px;line-height:1.65;margin:1px 0}
.entry-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.form-main{display:flex;flex-direction:column;gap:18px;min-width:0}.form-panel,.correction-panel{padding:26px 28px}.form-panel .panel-heading,.correction-panel .panel-heading{justify-content:space-between;margin-bottom:26px}.form-panel .panel-heading>div,.correction-panel .panel-heading>div{display:flex;align-items:center;gap:12px}.form-panel .panel-heading h2,.correction-panel .panel-heading h2{margin:0;font-size:17px}.step-num{width:28px;height:28px;border-radius:8px;background:#e7f0e9;color:#3d6c4f;display:grid;place-items:center;font-size:10px;font-weight:900}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field label{font-size:11px;font-weight:800;color:#3b5545}.field input,.field textarea,.field select{width:100%;border:1px solid #dde7df;border-radius:10px;background:#fcfdfa;padding:11px 12px;outline:0;font-size:12px}.field input,.field select{height:43px}.field textarea{resize:vertical;line-height:1.6}.field input:focus,.field textarea:focus,.field select:focus{border-color:#75a78d;box-shadow:0 0 0 3px #a7d3b320}.field small,.plan-editor small{color:#98a59b;font-size:10px;line-height:1.5}.field+.field{margin-top:19px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:19px}.single-date{max-width:405px;grid-template-columns:1fr;margin-top:0}.date-combo{display:flex;gap:9px}.date-combo input{flex:1}.date-combo .button{min-height:43px}.time-header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:30px 0 13px}.time-header strong{font-size:12px}.time-header span{font-size:10px;color:#99a59d}.period{display:grid;grid-template-columns:1fr 1fr .8fr 28px;gap:12px;background:#f7faf6;border:1px solid #e8eee7;border-radius:12px;padding:15px;margin-bottom:10px;align-items:end}.period .field label{font-size:10px}.period-remove{border:0;border-radius:8px;background:#faefec;color:#a76c61;height:39px;width:28px;font-size:19px}.add-period{background:#fff;border:1px dashed #9bbca5;border-radius:9px;color:#487b5e;font-size:11px;font-weight:800;padding:12px;width:100%;margin-top:3px}.required{color:#a35a4d}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px;margin-bottom:30px}.form-actions #saveMessage{font-size:11px;color:#538361}.form-side{position:sticky;top:22px;display:flex;flex-direction:column;gap:18px}.summary-card{padding:27px;border-radius:16px;background:linear-gradient(145deg,#1e493b,#14362d);color:#fff;min-height:306px;box-shadow:0 12px 26px #102e1d1c}.summary-card h3{font-size:25px;line-height:1.15;font-weight:560;letter-spacing:-.8px;margin:17px 0 27px}.summary-line{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#b8d4c0;padding:10px 0;gap:12px}.summary-line strong{font-size:16px;color:#fff;font-weight:800;font-variant-numeric:tabular-nums}.summary-divider{height:1px;background:#ffffff26;margin:8px 0}.summary-line.total{font-weight:800;color:#fff}.summary-line.total strong{font-size:25px;color:#cde7c5}.summary-card small{display:block;font-size:9px;line-height:1.7;color:#98b6a3;margin-top:19px}.plan-editor{padding:24px}.plan-editor h3{font-size:17px;letter-spacing:-.3px;margin:11px 0}.plan-editor p{font-size:11px;line-height:1.7;color:#92a097}.plan-editor .form-grid{gap:10px;margin:20px 0 14px}.plan-editor .field+.field{margin:0}.plan-editor .field input{padding:8px}.correction-panel{background:#fffcf6;border-color:#ece1ca}.correction-panel p{font-size:11px;color:#8a806f}.mini-pill.warning{background:#f7e6cc;color:#b88648}
.list-panel{padding:22px 24px}.journal-toolbar{display:flex;align-items:end;gap:11px;flex-wrap:wrap;margin-bottom:24px}.journal-toolbar .search-field{min-width:260px;flex:1}.month-field{width:165px}.toolbar-spacer{flex:.5}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}.data-table thead th{color:#97a79d;font-size:9px;letter-spacing:1.25px;font-weight:850;border-bottom:1px solid #e8eee8;padding:15px 13px}.data-table td{padding:20px 13px;border-bottom:1px solid #eef2ee;font-size:11px;color:#54665a}.data-table td:first-child{font-weight:800;color:#2b4c3b}.data-table .document-cell{max-width:300px;min-width:150px;overflow:hidden;text-overflow:ellipsis}.status-up{color:#387b52!important;font-weight:850}.status-down{color:#ae8660!important;font-weight:850}.status-flat{color:#839088!important}.table-action{font-size:10px;background:#eef5ed;color:#40744e;padding:9px 11px;border:0;border-radius:7px;font-weight:800}.table-footer{padding:17px 0 0;color:#94a297;font-size:10px}.empty-state{padding:31px 16px;text-align:center;color:#9ca99f;font-size:12px}.history-banner{display:flex;gap:18px;align-items:flex-start;padding:21px 24px;border:1px solid #d3e4d8;border-radius:13px;background:#eaf3eb;margin-bottom:20px}.history-banner>span{font-size:27px;color:#4f8661}.history-banner strong{font-size:12px;color:#376347}.history-banner p{font-size:11px;line-height:1.7;color:#6e8a78;margin:8px 0 0}.history-panel{padding:0 24px}.history-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid #eef2ee}.history-item:last-child{border-bottom:0}.history-axis{display:flex;flex-direction:column;align-items:center;gap:4px}.history-bullet{width:11px;height:11px;border:3px solid #7da689;background:#fff;border-radius:50%;margin-top:4px}.history-line{width:1px;flex:1;background:#dce9dc}.history-body{flex:1;min-width:0}.history-top{display:flex;justify-content:space-between;gap:12px}.history-body h3{font-size:12px;font-weight:800;margin:0;color:#344b3b}.history-body p{color:#87968d;font-size:10px;line-height:1.5;margin:7px 0}.history-tag{font-size:9px;border-radius:99px;padding:6px 9px;background:#eff5ee;color:#638369;font-weight:850;white-space:nowrap;height:fit-content}.history-tag.edited{background:#fff2df;color:#bb8b4c}.history-body details{margin-top:11px;background:#f7f9f5;border-radius:9px;padding:12px}.history-body summary{font-size:10px;color:#568168;font-weight:800;cursor:pointer}.history-data{font-size:10px;color:#617469;line-height:1.7;white-space:pre-wrap;padding-top:9px;overflow-wrap:anywhere}.toast{position:fixed;right:26px;bottom:25px;background:#244a3b;color:#fff;padding:15px 19px;border-radius:12px;box-shadow:0 10px 30px #203a2244;z-index:99;max-width:min(420px,calc(100vw - 30px));font-size:12px;line-height:1.6}.toast.error{background:#a54f49}.preview-banner{background:#f6dfa4;color:#654c13;text-align:center;padding:11px 20px;font-size:11px;font-weight:800}.mobile-nav{display:none}#printZone{display:none}
@media(max-width:1350px){.sidebar{width:220px}.main-area{margin-left:220px;width:calc(100% - 220px)}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-number{font-size:34px}.dashboard-grid{grid-template-columns:1.2fr 1fr}.chart-panel,.schedule-panel{padding:21px}.entry-layout{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:1000px){.sidebar{width:75px;padding:25px 11px}.side-top{justify-content:center;padding:8px 0 50px}.brand-text,.sidebar-group-label,.nav-btn:not(.active){}.brand-text,.sidebar-group-label,.nav-btn{font-size:0}.nav-btn{justify-content:center;padding:15px 0}.nav-icon{font-size:23px}.sidebar-note,.side-profile>div:nth-child(2),.side-profile .icon-btn{display:none}.side-profile{justify-content:center}.main-area{width:calc(100% - 75px);margin-left:75px}.dashboard-grid{grid-template-columns:1fr}.entry-layout{grid-template-columns:1fr}.form-side{position:static;display:grid;grid-template-columns:1fr 1fr}.summary-card{min-height:280px}}
@media(max-width:650px){.login-screen{grid-template-columns:1fr}.login-image{display:none}.login-pane{min-height:100dvh;padding:31px 25px 24px}.login-content{margin:auto 0}.login-content h1{font-size:44px}.lead{margin-bottom:24px}.login-footer{font-size:8px}.sidebar{display:none}.main-area{margin-left:0;width:100%}.topbar{height:62px;padding:0 18px}.topbar-right{font-size:10px;gap:7px}.top-separator,.sync{display:none}.mobile-logout{display:inline-flex;border:0;background:transparent;color:#688373;font-size:10px;font-weight:800}.page{padding:32px 17px 94px}.page-heading{margin-bottom:24px}.page-heading h1{font-size:33px}.page-heading p{max-width:320px}.heading-spread{align-items:flex-start;flex-direction:column;gap:17px}.metric-grid{gap:10px}.metric-card{padding:16px 13px;min-height:150px}.metric-top{font-size:8px;letter-spacing:.5px}.metric-icon{width:22px;height:22px}.metric-number{font-size:27px;letter-spacing:-1px}.metric-card p{font-size:9px}.chart-panel,.schedule-panel{padding:20px 16px}.panel-heading h2{font-size:17px}.subtle{font-size:9px}.recent-panel{padding:19px 16px}.recent-row{grid-template-columns:57px 1fr auto;gap:9px}.recent-open{display:none}.recent-hours{font-size:11px}.integrity-note{padding:20px 0}.form-panel,.correction-panel{padding:19px 16px}.form-panel .panel-heading h2{font-size:16px}.mini-pill,.optional-badge{font-size:7px;letter-spacing:.5px}.time-header{flex-direction:column;align-items:flex-start}.period{grid-template-columns:1fr 1fr;gap:12px}.period .field:nth-child(3){grid-column:1}.period-remove{grid-column:2;justify-self:end}.form-grid{grid-template-columns:1fr}.form-side{grid-template-columns:1fr}.summary-card{min-height:0}.journal-toolbar .search-field{min-width:100%;flex:none}.month-field{width:calc(100% - 110px)}.journal-toolbar{gap:8px}.journal-toolbar>.button{flex:1}.list-panel{padding:16px 13px}.data-table th,.data-table td{padding-left:10px;padding-right:10px}.history-panel{padding:0 16px}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;padding:7px 5px calc(7px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e1e9e2;z-index:30;box-shadow:0 -4px 18px #1738240d}.mobile-nav button{border:0;background:transparent;color:#8c9b90;padding:7px 0 3px;font-size:9px;display:flex;flex-direction:column;align-items:center;gap:4px}.mobile-nav button span{font-size:23px;line-height:25px}.mobile-nav button.active{color:#286547;font-weight:850}.toast{bottom:83px;left:12px;right:12px}.page-heading .button{width:100%}}
@media print{body{background:white!important;color:#111!important;font-family:Arial,sans-serif!important}#loginScreen,#appShell{display:none!important}#printZone{display:block!important}#printZone h1{font-size:24px;margin-bottom:5px}#printZone h2{font-size:15px;margin:25px 0 8px}#printZone p{font-size:10px;line-height:1.5}#printZone .print-meta{font-size:10px;margin-bottom:20px}#printZone table{width:100%;border-collapse:collapse;font-size:9px;table-layout:fixed}#printZone td,#printZone th{border:1px solid #ccc;padding:7px;vertical-align:top;overflow-wrap:anywhere;text-align:left}#printZone th{background:#efefef}#printZone .print-record{page-break-inside:avoid;border-top:1px solid #aaa;padding:9px 0 13px}#printZone .print-record strong{font-size:11px}#printZone .print-record p{margin:5px 0}#printZone .print-foot{border-top:1px solid #999;padding-top:10px;margin-top:20px}}

/* Installierbare App und vertragliches Monatsziel */
.install-link{display:flex;align-items:center;justify-content:center;gap:8px;margin:17px auto 0;padding:9px;border:0;background:transparent;color:#447b58;font-size:11px;font-weight:800}
.install-link:hover{text-decoration:underline}.install-link span{font-size:19px}
.top-install{border:1px solid #dce8dc;background:#eff6ee;color:#39764e;padding:8px 12px;border-radius:8px;font-size:10px;font-weight:800;white-space:nowrap}
.top-install:hover{background:#e1f0e2}
.offline-banner{padding:13px 23px;background:#fff1d5;color:#8a642b;font-size:11px;text-align:center;line-height:1.5}
.monthly-panel{padding:24px 28px;margin-bottom:20px;background:linear-gradient(117deg,#ffffff 62%,#f5f9f3)}
.monthly-head{display:flex;justify-content:space-between;align-items:center;gap:24px}
.monthly-head h2{font-size:21px;color:#234635;letter-spacing:-.5px;margin:9px 0 6px}
.monthly-head h2 span{color:#40825c}
.monthly-head p{font-size:10px;color:#8c9b90;line-height:1.6;margin:0}
.monthly-picker{width:185px;flex:none}.monthly-picker input{background:#fff}
.monthly-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding:24px 0 15px}
.monthly-stats>div{display:flex;flex-direction:column;gap:7px;border-left:1px solid #e6ece5;padding-left:22px}
.monthly-stats>div:first-child{border-left:0;padding-left:0}
.monthly-stats span{font-size:9px;color:#91a095;font-weight:850;letter-spacing:.9px}
.monthly-stats strong{font-size:clamp(22px,2.1vw,30px);color:#254d3a;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.monthly-stats small{font-size:11px;font-weight:500;color:#92a397;letter-spacing:0}
.monthly-excess strong{color:#86a18e}
.monthly-excess strong.has-excess{color:#168448}
.monthly-progress{height:9px;overflow:hidden;background:#e5efe5;border-radius:100px;margin:5px 0 10px}
.monthly-progress>div{height:100%;width:0;background:linear-gradient(90deg,#76a482,#2d7850);border-radius:100px;transition:width .22s}
.monthly-progress>div.over-goal{background:linear-gradient(90deg,#348a53,#b5c971)}
.monthly-hint{font-size:10px;color:#8b9a8d;line-height:1.6;margin:0}
.install-dialog{width:min(470px,calc(100vw - 30px));max-height:min(90vh,680px);border:1px solid #dce7df;border-radius:20px;background:#fff;padding:27px 29px;box-shadow:0 22px 85px #102d1f44;color:#244535}
.install-dialog::backdrop{background:#0e251dd1;backdrop-filter:blur(5px)}
.install-dialog-header{display:flex;align-items:center;gap:15px}
.install-dialog-header img{border-radius:14px;box-shadow:0 8px 17px #14392c25}
.install-dialog-header h2{font-size:21px;letter-spacing:-.5px;margin:5px 0 0}
.dialog-close{margin-left:auto;align-self:flex-start;border:0;background:#f2f6f1;color:#6d8576;font-size:21px;border-radius:50%;width:33px;height:33px}
.install-dialog>p{font-size:12px;color:#71877a;line-height:1.7;margin:24px 0 14px}
.install-dialog ol{counter-reset:install;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.install-dialog li{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.6;background:#f5f8f3;border:1px solid #e7eee5;border-radius:10px;padding:12px}
.install-dialog li::before{counter-increment:install;content:counter(install);width:23px;height:23px;display:grid;place-items:center;flex:none;background:#dbeadd;color:#306746;border-radius:7px;font-size:10px;font-weight:900}
.install-dialog .install-dialog-note{font-size:10px;margin:16px 0;color:#9ba99d}
@media(max-width:900px){.monthly-stats{gap:10px}.monthly-stats>div{padding-left:12px}}
@media(max-width:650px){.top-install{font-size:0;padding:7px 9px}.top-install::first-letter{font-size:12px}.monthly-panel{padding:20px 17px}.monthly-head{display:flex;flex-direction:column;align-items:stretch;gap:18px}.monthly-head h2{font-size:19px}.monthly-picker{width:100%}.monthly-stats{grid-template-columns:1fr 1fr;row-gap:20px}.monthly-stats>div:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid #e6ece5;padding:15px 0 0}.monthly-stats strong{font-size:25px}.install-dialog{padding:21px 19px}.install-dialog-header h2{font-size:18px}}
@media print{#installDialog{display:none!important}}
