:root{--green:#173e33;--green-light:#e5eddf;--paper:#f5f6f2;--ink:#233b33;--muted:#7b837b;--line:#e5e8df;--lime:#d5ec9b;--red:#b95243}*{box-sizing:border-box}body{margin:0;font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid #dce1d6;border-radius:8px;padding:10px 17px;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-weight:600;white-space:nowrap}button:hover,.button:hover{border-color:#7c9d86;background:#f0f4e9}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#275444;color:#fff}.full{width:100%}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1.1px;margin-bottom:6px;line-height:1.2;font-weight:650}h2{font-size:16px;font-weight:650;letter-spacing:-.3px;margin-bottom:0}h3{font-size:15px}.muted{color:var(--muted);margin-bottom:0}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#7b887b;margin-bottom:12px}small{font-size:11px;color:var(--muted)}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:var(--green);color:#ced7ce;display:flex;flex-direction:column;padding:36px 22px 22px}.brand{display:flex;gap:12px;align-items:center;padding:0 12px;color:#fff;font-size:17px;line-height:1.25;letter-spacing:-.3px}.brand b{font-weight:700}.brandmark{display:inline-grid;place-items:center;font-size:30px;color:var(--lime);width:41px;height:45px;border:1px solid #719071;border-radius:11px}.nav-label{font-size:9px;letter-spacing:1.8px;color:#93a99b;margin:47px 12px 13px}nav{display:flex;flex-direction:column;gap:6px}nav a{padding:12px 13px;border-radius:7px;display:flex;align-items:center;gap:12px;font-size:12px;font-weight:500}nav a span{font-size:18px;width:20px;text-align:center;color:#9bb69e}nav a:hover{background:#254e40}nav a.active{background:var(--lime);color:var(--green);font-weight:650}nav a.active span{color:var(--green)}nav em{font-size:10px;font-style:normal;margin-left:auto}.sidebar-foot{margin-top:auto;padding:30px 12px 0;font-size:11px;color:#b3c5b6}.sidebar-foot small{display:block;margin:7px 0 14px;color:#89a28e}.dot{width:6px;height:6px;display:inline-block;background:var(--lime);border-radius:50%;margin-right:6px}.logout{padding:0;border:0;background:transparent;color:#c7d6c7;font-size:11px}.workspace{margin-left:238px}.topbar{height:78px;border-bottom:1px solid var(--line);background:#fafbf8;display:flex;justify-content:space-between;align-items:center;padding:0 42px}.top-caption{font-size:12px;font-weight:600;color:#647669}.version{font-size:9px;padding:3px 6px;border:1px solid var(--line);border-radius:4px;margin-left:8px}.top-right{display:flex;align-items:center;gap:18px}.secure{font-size:10px;color:#7a8979}.avatar{height:32px;width:32px;display:grid;place-items:center;background:#e6eadc;border-radius:50%;font-weight:600;font-size:11px}.content{max-width:1550px;margin:auto;padding:40px 42px 22px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px;gap:20px}.heading .muted{font-size:12px}.area-switch{display:flex;border:1px solid #e0e4da;background:#e9ece4;border-radius:8px;padding:4px;flex-shrink:0}.area-switch a{padding:7px 18px;font-size:11px;font-weight:650;border-radius:5px;color:#7a8276}.area-switch .selected{background:#fff;box-shadow:0 1px 4px #273d3112;color:var(--green)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:25px}.stat{padding:22px;background:#fff;border:1px solid var(--line);border-radius:12px;min-height:148px}.stat>span{display:flex;justify-content:space-between;color:#758073;font-size:11px}.stat b{font-size:15px}.stat h2{font-size:25px;letter-spacing:-1px;margin:17px 0 8px;font-weight:600}.stat small{display:block;font-size:10px}.featured{background:var(--green);color:#fff;border-color:var(--green);position:relative;overflow:hidden}.featured:after{content:"";position:absolute;width:110px;height:110px;border:1px solid #ffffff0d;border-radius:50%;right:-25px;bottom:-45px;box-shadow:0 0 0 20px #ffffff04,0 0 0 40px #ffffff03}.featured>span,.featured small{color:#b3c6b3}.positive{color:#39795b}.amber{color:#b39248}.danger{color:var(--red)!important}.two-col{display:grid;grid-template-columns:1.45fr 1fr;gap:24px;margin-bottom:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:24px;min-width:0}.two-col .panel{margin-bottom:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.panel-head a{font-size:10px;color:#6e8166}.panel-head p{font-size:10px;margin-top:5px}.badge{display:inline-flex;background:#f0f2ea;color:#6f7e69;border:1px solid #e8ebdf;border-radius:5px;padding:4px 8px;font-size:10px;white-space:nowrap}.badge.warn{background:#fff1e4;color:#b4743b}.badge.good{background:#e8f1e4;color:#41713f}.account-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #f0f1eb;font-size:11px}.account-row:last-child{border-bottom:0}.account-row>strong:last-child{margin-left:auto;white-space:nowrap}.account-row small{display:block;font-size:10px}.account-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#f0f3e9;font-size:20px;color:#7d9274}.subtle-row{display:flex;justify-content:space-between;font-size:11px;margin-top:16px;color:#7b8675}.subtle-row:last-child{border-top:1px solid var(--line);padding-top:14px;color:var(--ink)}.chart-legend{display:flex;align-items:center;gap:7px;font-size:10px;color:#74816e}.chart-legend .dot{margin-left:10px;margin-right:0;width:7px;height:7px}.dot.green{background:#245c49}.dot.pale{background:#c4cfac}.chart{height:187px;display:flex;align-items:end;gap:3px;padding:25px 0 0;background:repeating-linear-gradient(to top,transparent 0,transparent 49px,#f0f2ec 50px,#f0f2ec 51px)}.chart-day{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:end;text-align:center}.bars{height:140px;width:100%}.bars svg{width:100%;height:100%}.chart-day small{font-size:9px;height:20px;margin-top:8px}.chart-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:18px;font-size:11px}.forecast-strip{display:flex;align-items:center;gap:18px;border:1px solid #e0e5d5;background:#edf1e5;border-radius:10px;padding:21px 24px;margin-bottom:26px}.forecast-strip h3{margin-bottom:4px;font-size:13px}.forecast-strip p{font-size:10px;color:#7b8772;margin:0}.forecast-strip .button{margin-left:auto;font-size:10px;background:transparent;border-color:#cbd5bd}.forecast-icon{font-size:26px;color:#70825f}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{text-align:left;padding:11px 10px;color:#8b9284;font-size:9px;font-weight:500;background:#fafbf7;border-bottom:1px solid var(--line)}td{padding:16px 10px;border-bottom:1px solid #f0f2eb;vertical-align:middle}td small{display:block;font-size:9px;margin-top:4px}td strong{font-weight:550}.right{text-align:right;white-space:nowrap}.empty{text-align:center!important;padding:35px 18px!important;color:#8a9382;font-size:12px}.empty h3{color:var(--ink);margin:12px 0 6px}.empty p{font-size:11px}.empty .button{font-size:11px;margin-top:8px}.empty-icon{font-size:30px;color:#8a9e77}.footer{display:flex;justify-content:space-between;color:#9ba28f;font-size:9px;padding:20px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end}.form-grid>button{justify-self:start}.span-all{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#66715f;margin-bottom:14px}.form-grid label{margin:0}input,select,textarea{width:100%;border:1px solid #dce2d5;border-radius:7px;padding:11px 12px;background:#fff;color:var(--ink);min-height:42px}input:focus,select:focus,textarea:focus{outline:2px solid #afc890;outline-offset:1px}.check{display:flex;flex-direction:row;align-items:center}.check input{width:17px;min-height:17px;height:17px;flex-shrink:0}.hint{font-size:11px;color:#8a927d;margin:16px 0}.notice{padding:12px 18px;border:1px solid #cdddba;border-radius:8px;background:#edf4e6;color:#526e3a;margin:0 0 20px;font-size:12px}.notice.error{background:#fff1eb;border-color:#f1cdbd;color:#a05a41}.filter{display:flex;align-items:end;flex-wrap:wrap;gap:14px;padding-bottom:20px}.filter label{margin:0;flex:1;min-width:150px}.actionbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.actionbar p{font-size:11px;color:#808c74;margin:0}.upload-box{display:flex;align-items:center;padding:25px 14px;border:1px dashed #bac9a9;background:#f8faf4;border-radius:9px;cursor:pointer;text-align:center}.upload-box>span{font-size:32px;color:#698453}.upload-box input{margin-top:15px;background:#fff;font-size:11px;max-width:100%}.job{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:11px;padding:12px 0;border-bottom:1px solid var(--line)}.job small{width:100%;word-break:break-word}.job .badge{margin-left:auto}.invoice{border-top:1px solid var(--line)}.invoice summary{padding:20px 4px;display:flex;align-items:center;gap:20px;cursor:pointer;font-size:12px;list-style:none}.invoice summary>span:first-child{flex:1}.invoice summary small{display:block}.invoice-body{padding:16px;background:#fafbf8;border-radius:8px;margin-bottom:15px}.invoice-body .button{margin-bottom:20px;font-size:11px}.invoice-edit{margin-top:20px}.invoice-meta p{font-size:12px;margin-bottom:8px}textarea{font:11px/1.6 monospace;resize:vertical}.reserve{border-bottom:1px solid var(--line);padding:18px 0}.reserve h3{margin-bottom:3px}.reserve h2{margin:15px 0}.reserve small{display:block;margin:5px 0 18px}progress{width:100%;accent-color:#436b40;height:9px}.login{max-width:435px;margin:9vh auto;padding:34px;background:#fff;border:1px solid var(--line);border-radius:18px}.login .brandmark{background:var(--green);margin-bottom:30px}.login .muted{margin-bottom:28px;font-size:12px}.login form{margin:25px 0}.login>small{display:block;text-align:center;font-size:10px}code{font-size:10px;word-break:break-all}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #8aaf53;outline-offset:3px}@media(min-width:1500px){.content{padding-top:48px}.stat h2{font-size:30px}}@media(max-width:1200px){.sidebar{width:205px;padding:30px 14px}.workspace{margin-left:205px}.content{padding:30px 25px}.topbar{padding:0 25px}.stats{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr 1fr}.stat h2{font-size:25px}.forecast-strip .button{white-space:normal;text-align:center}.panel{padding:20px}}@media(max-width:800px){.sidebar{position:static;width:auto;padding:18px 20px}.brand{font-size:15px;padding:0}.brandmark{height:35px;width:35px;font-size:24px}.nav-label,.sidebar-foot{display:none}nav{flex-direction:row;overflow:auto;gap:6px;margin-top:18px;padding-bottom:3px}nav a{padding:8px 12px;font-size:11px;white-space:nowrap}nav a span{font-size:15px;width:auto}.workspace{margin-left:0}.topbar{height:53px;padding:0 20px}.secure{display:none}.content{padding:27px 20px}.heading{align-items:start;flex-direction:column;gap:18px;margin-bottom:24px}h1{font-size:29px}.heading .eyebrow{font-size:9px}.area-switch{align-self:stretch}.area-switch a{width:50%;text-align:center}.two-col{grid-template-columns:1fr;gap:18px}.stats{gap:12px;margin-bottom:18px}.stat{padding:16px;min-height:133px}.stat h2{font-size:22px;margin:15px 0 8px}.stat>span{font-size:10px}.stat small{font-size:9px}.forecast-strip{flex-wrap:wrap;padding:20px;gap:12px}.forecast-strip>div{flex:1}.forecast-strip .button{margin-left:0;width:100%}.panel{padding:18px;margin-bottom:18px}.panel-head{margin-bottom:20px}.panel-head h2{font-size:15px}.panel-head a{font-size:10px}.form-grid{grid-template-columns:1fr;gap:15px}.filter{gap:10px}.filter label{min-width:120px}.actionbar{align-items:start;flex-direction:column}.invoice summary{gap:8px;font-size:11px;flex-wrap:wrap}.invoice summary>span:first-child{min-width:100px}.invoice-body{padding:12px}.footer{font-size:8px;gap:20px}.footer span:last-child{text-align:right}.login{margin:35px 18px;padding:28px}.table-wrap{margin:0 -5px}.badge{font-size:9px;padding:3px 6px}.top-caption{font-size:10px}}
.line-editor table{min-width:760px}.line-editor td{padding:7px 4px}.line-editor td:first-child{width:30%}.line-editor td input{padding:9px 6px;font-size:11px}.line-editor>button{font-size:11px;margin-top:10px}

.mobile-logout{display:none}@media(max-width:800px){.mobile-logout{display:block}.mobile-logout button{padding:5px 10px;font-size:10px}}
