:root{font-family:"Malgun Gothic",system-ui,sans-serif;color:#193a36;background:#f3f6f5;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid #cad8d4;border-radius:9px;padding:10px 12px;color:#24534b;background:#fff;min-height:44px}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible{outline:3px solid #76bea7;outline-offset:2px}header{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;background:#fff;border-bottom:1px solid #dde6e2}.brand{display:flex;gap:10px;align-items:center}.brand img{width:38px;height:38px}.brand strong{font-size:21px}.brand small{display:block;font-size:11px;letter-spacing:2px;color:#6b827a;margin-top:2px}main{max-width:1000px;margin:auto;padding:18px 16px 105px}h1{font-size:24px;margin:0}h2{font-size:19px}p{line-height:1.6}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.badge{font-size:11px;border-radius:20px;background:#e0eee7;color:#236a50;padding:6px 10px}.panel{background:#fff;border:1px solid #dfe7e3;border-radius:15px;padding:18px;margin-bottom:14px}#login{max-width:420px;margin:8vh auto}#login h1{margin:12px 0}#login label{display:block;margin:25px 0 8px}#login input,#login button{width:100%;margin-bottom:12px}.eyebrow{font-size:11px;letter-spacing:2px;color:#33765f}input{border:1px solid #c8d7d0;border-radius:8px;background:#fff;padding:11px;min-width:0;min-height:44px;color:#193a36}.dates{display:flex;align-items:end;gap:8px}.dates label{flex:1;min-width:0;font-size:12px;color:#607970}.dates input{display:block;width:100%;margin-top:6px}.dates span{padding-bottom:13px;color:#90a399}.presets{display:flex;gap:6px;margin:12px 0}.presets button{flex:1;padding:8px 4px;font-size:13px}.primary{background:#075e56;color:#fff;border-color:#075e56;font-weight:700}.filters>.primary{width:100%}.muted{color:#70817a;font-size:12px}#search{width:100%;margin-bottom:15px}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:16px}.metric{padding:16px 12px;background:#fff;border:1px solid #e0e7e2;border-radius:11px}.metric span{display:block;color:#70817a;font-size:12px;margin-bottom:8px}.metric strong{font-size:21px;font-variant-numeric:tabular-nums}.metric:first-child{background:#075e56;color:#fff}.metric:first-child span{color:#b5d5ca}.card{display:block;width:100%;text-align:left;background:#fff;border:1px solid #e0e7e2;border-radius:11px;padding:15px;margin-bottom:9px}.card strong{display:block;font-size:15px;line-height:1.5}.card .sub{font-size:12px;color:#71847a;margin-top:6px}.card .values{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px}.card b{font-variant-numeric:tabular-nums}.warning{border-left:4px solid #d5573c;background:#fff4ef}.warning .sub{color:#ad402b}.empty{padding:40px 15px;text-align:center;color:#71847a}#status{font-size:13px;color:#245e50;overflow-wrap:anywhere}#status.error{color:#ad342d}footer{text-align:center;font-size:11px;color:#8a9b92;margin-top:24px}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#fff;border-top:1px solid #dbe5df;padding:8px 8px max(8px,env(safe-area-inset-bottom));z-index:5}nav button{flex:1;max-width:190px;border:0;font-size:12px;color:#75877f;padding:10px 3px}nav button.active{background:#e4f0e9;color:#075e56;font-weight:700}dialog{width:min(94vw,700px);max-height:87vh;border:0;border-radius:16px;padding:20px;color:#193a36}dialog::backdrop{background:#102b2370}.dialog-head{display:flex;gap:12px;align-items:start;justify-content:space-between}.dialog-head h2{line-height:1.5;margin:5px 0 20px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:10px 6px;border-bottom:1px solid #e1e8e4}th{color:#70817a;font-weight:400}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.scroll{overflow:auto}.note{background:#edf4ed;padding:12px;font-size:12px;line-height:1.6}.danger{color:#b34830}[hidden]{display:none!important}@media(min-width:700px){.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.filters{display:grid;grid-template-columns:2fr 2fr 1fr;gap:16px;align-items:end}.presets{margin:0}.card{padding:20px}.card .values{justify-content:start;gap:40px}}
:root .wordmark{display:block;width:136px;height:33px;background-image:url(mobile-brand.jpg);background-size:154px auto;background-position:-9px -61px;background-repeat:no-repeat}
