:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#17372f;background:#f4f7f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid #d7e3db;background:white;color:#275345;border-radius:9px;padding:10px 17px;font-weight:600}button:hover{background:#e8f2ec}button:disabled{opacity:.6;cursor:wait}button.primary{background:#166c50;color:white;border-color:#166c50}input,select{border:1px solid #d5e0d8;background:white;border-radius:8px;padding:10px;color:#244a3b;min-width:0}label{display:grid;gap:7px;font-size:13px;color:#536e60}a{color:#166c50}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:8px}h2{font-size:18px;letter-spacing:-.3px}h3{font-size:14px}p,small{color:#708175;line-height:1.6}.brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:24px;letter-spacing:-1px}.brand img{width:34px}.brand i{font-weight:450}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:750;color:#7a9283}.login{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.hero{padding:50px 7%;color:white;background:linear-gradient(0deg,#123b32e8,#123b3255),url('/images/green-java-login.webp') center/cover}.hero .brand{margin-bottom:90px}.hero h1{font-size:52px;line-height:1.15;max-width:510px}.hero p{color:#d2e3d5;max-width:420px}.signin{padding:80px 12%;align-self:center}.signin h1{font-size:36px;margin:22px 0 12px}.signin form{display:grid;gap:20px;margin-top:34px}.signin button{padding:14px}.signin footer{margin-top:60px;font-size:12px;color:#809084}.layout{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#fff;border-right:1px solid #e1e8e0;padding:30px 24px;display:flex;flex-direction:column;gap:35px}aside .brand{font-size:23px}nav{display:grid;gap:10px}nav button{text-align:left;border:0;color:#78867e;background:transparent;font-size:13px;padding:13px}nav button.active{background:#eaf3ec;color:#17694c}aside .aside-note{margin-top:auto;border-radius:12px;padding:18px;background:#f0f5ed;font-size:12px;line-height:1.7;color:#68806a}.workspace{min-width:0}header{height:80px;background:#fff;border-bottom:1px solid #e1e8e0;display:flex;justify-content:space-between;align-items:center;padding:0 36px;font-size:12px;color:#637d6c}header strong{color:#244e3d;font-size:14px}header button{font-size:12px;margin-left:18px}main{padding:34px 36px;max-width:1600px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.heading p{font-size:13px;margin:0}.tag{background:#e7f2e8;color:#2c7656;border-radius:20px;padding:7px 12px;font-size:11px}.controls{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:22px 0}.controls label{font-size:11px;flex:1}.controls .date{max-width:180px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.card,.panel{border:1px solid #e0e8de;background:#fff;border-radius:14px;padding:24px;box-shadow:0 3px 8px #17372f02}.card:first-child{background:#195940;color:white;border:0}.card:first-child p,.card:first-child small{color:#c0d9c6}.card p{font-size:12px;margin-bottom:20px}.value{font-size:28px;letter-spacing:-1px;font-weight:650;margin-bottom:12px}.card small{font-size:10px}.grid{display:grid;grid-template-columns:1.8fr 1fr;gap:20px}.panel{margin-bottom:20px}.panel .sub{font-size:11px}.chart{height:240px;width:100%;display:block}.chart text{font-size:11px;fill:#819086}.chart line{stroke:#e5ece5}.chart polyline{fill:none;stroke:#228660;stroke-width:3}.chart .area{fill:#edf6ed}.chart-empty{display:grid;place-items:center;min-height:220px;text-align:center;padding:20px;color:#819086;font-size:13px;background:#f8faf6;border-radius:9px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{text-align:left;color:#8b998e;font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:600}td,th{padding:14px 12px;border-bottom:1px solid #eef1ec}td:first-child,th:first-child{padding-left:0}.alert{padding:12px 14px;background:#fff8eb;border-left:3px solid #d2a65f;font-size:12px;line-height:1.7;margin-top:10px}.note{background:#f1f6ee;border-radius:9px;padding:14px;font-size:12px;line-height:1.8;color:#6a806a}.muted{color:#819086}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.stack{display:grid;gap:15px}.panel summary{cursor:pointer;font-weight:650}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.section-title h2{margin:0}.hidden{display:none!important}#toast:empty{display:none}#toast{position:fixed;z-index:20;bottom:24px;left:50%;transform:translateX(-50%);background:#153f31;color:white;padding:14px 22px;border-radius:12px;box-shadow:0 6px 30px #0002;max-width:90vw}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f1f6ee;padding:15px;line-height:1.7}footer{font-size:10px;color:#8b998e;padding-top:20px}.error{color:#a5523e;font-size:13px}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:190px 1fr}aside{padding:25px 15px}.grid{grid-template-columns:1fr}.hero h1{font-size:40px}}@media(max-width:740px){.login{grid-template-columns:1fr}.hero{padding:30px;min-height:250px}.hero .brand{margin-bottom:30px}.hero h1{font-size:30px}.hero p{display:none}.signin{padding:35px}.layout{display:block}aside{padding:18px;gap:16px}nav{display:flex;overflow:auto}nav button{white-space:nowrap}aside .aside-note{display:none}header{padding:0 18px;height:65px}main{padding:24px 18px}.heading{align-items:start}.tag{display:none}.cards{gap:10px}.card{padding:18px}.value{font-size:23px}.panel{padding:18px}.admin-grid{grid-template-columns:1fr}.controls .date{max-width:100%}.heading h1{font-size:26px}}

.history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.history-grid .panel{min-width:0;margin-bottom:0}.history-grid+.panel{margin-top:20px}.chart circle{fill:#228660}@media(max-width:740px){.history-grid{grid-template-columns:1fr}}
