:root{font-family:Inter,Noto Sans TC,system-ui,sans-serif;color:#203e42;background:#f5f7f5;font-synthesis:none;font-weight:400;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:8px;background:#157e75;color:#fff;padding:9px 15px;font-size:14px;font-weight:600;transition:background .15s}button:hover{background:#10645e}button:disabled{opacity:.5;cursor:wait}input,select,textarea{background:#fff;color:#203e42;border:1px solid #cfded8;border-radius:7px;padding:9px 10px;width:100%;min-width:0}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #8cd6c5;outline-offset:2px}label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:#57716e;margin-bottom:13px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;font-weight:650;line-height:1.35;margin-bottom:12px}h2{font-size:21px;margin-bottom:12px}h3{font-size:17px;margin-bottom:8px}small{display:block;color:#738985;font-size:12px}.shell{display:flex;min-height:100vh}aside{width:230px;position:fixed;inset:0 auto 0 0;border-right:1px solid #e2e9e4;background:#fff;padding:36px 22px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#135d59;font-size:38px;font-weight:700}.brand span{font-size:23px;letter-spacing:3px}.brand small{font-size:8px;letter-spacing:2px}.nav-label{font-size:11px;color:#98a6a0;margin-top:48px;padding-left:12px;letter-spacing:2px}nav{display:grid;gap:7px}nav button{background:transparent;color:#6b807c;text-align:left;display:flex;gap:14px;padding:13px 14px;border-radius:7px;font-weight:500}nav button span{font-size:20px;line-height:1}nav button:hover{background:#f0f6f2}nav button.selected{background:#e4f3ed;color:#126e61}.aside-bottom{margin-top:auto;padding:24px 12px 0;border-top:1px solid #edf0eb}.aside-bottom small{margin:5px 0 14px}main{margin-left:230px;width:calc(100% - 230px);padding:42px 48px 20px;max-width:1700px}header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:32px}.eyebrow{color:#728e84;font-size:10px;letter-spacing:3px;font-weight:700;margin-bottom:12px}.muted{color:#7a8d87;font-size:13px}.tank-select{display:flex;align-items:center;gap:12px}.tank-select label{margin:0;min-width:160px}.tank-select button{margin-top:20px;white-space:nowrap}.hero{background:#124f51;border-radius:15px;padding:34px 36px;display:flex;align-items:center;justify-content:space-between;color:#fff;position:relative;overflow:hidden;margin-bottom:25px}.hero h2{font-size:30px;margin:15px 0 10px}.hero p{color:#b8d2cc;font-size:14px}.hero .badge{background:#ffffff15;color:#d2ece3;border:1px solid #ffffff22}.hero button{background:#e9f6ec;color:#275d52}.water-art{font-size:100px;display:flex;flex-direction:column;line-height:.45;color:#8ecfba55;transform:rotate(-15deg);padding:30px 50px}.water-art span:nth-child(2){margin-left:40px;color:#a4d9c977}.badge{display:inline-block;background:#eaf3ee;color:#337b68;border-radius:5px;padding:4px 9px;font-size:11px;letter-spacing:.6px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:25px 0 32px}.stats article,.panel{border:1px solid #e3e9e3;background:#fff;border-radius:11px;padding:23px}.stats p{color:#6f847d;font-size:13px;margin-bottom:12px}.stats strong{display:block;font-size:28px;line-height:1.3;font-weight:600;margin-bottom:12px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:22px 0 16px}.section-head h2,.section-head h3{margin:0}.section-head select{max-width:130px}.panel>.section-head:first-child{margin-top:0}.trend{margin-bottom:28px}.trend svg{width:100%;max-height:290px;display:block;margin-top:20px}.trend text{font-size:11px;fill:#83978d}.trend .empty{padding:32px}.tank-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:17px;margin-bottom:22px}.tank-grid h3{margin-top:14px}.tank-grid p{font-size:13px;color:#72867b}.ghost{background:transparent;color:#38766c;border-color:#d9e8df}.ghost:hover{background:#edf7f1}.light{color:#fff!important;border-color:#fff5}.danger{color:#a94343}.actions{display:flex;gap:8px;flex-wrap:wrap}.filters{display:flex;gap:15px;flex-wrap:wrap;align-items:center;margin:25px 0 18px;padding:18px;background:#ecf1ec;border-radius:9px}.filters label{margin:0;flex:1;min-width:140px}.filters .checkbox{display:flex;flex-direction:row;align-items:center;padding-top:20px;gap:8px}.checkbox input{width:16px}.table-wrap{background:#fff;border:1px solid #e1e9e1;border-radius:10px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:17px 18px;border-bottom:1px solid #eef1ec;vertical-align:top}th{background:#fafbf8;color:#7b8c82;font-weight:500}td:first-child,td:nth-child(3){min-width:150px}.datum{display:inline-block;margin:0 12px 4px 0;color:#546b60}.empty{text-align:center;padding:55px 20px;color:#809288}.empty>span{font-size:44px;color:#7aaea0}.empty h3{font-size:15px;margin:8px 0}.empty p{font-size:12px}.count{display:block;font-size:34px;color:#23776d}.timeline{display:grid;gap:14px}.timeline p{font-size:13px;color:#6b8176}.timeline .section-head{margin:0 0 10px}.snapshots{display:grid;grid-template-columns:1fr 1fr;gap:18px}pre{background:#f4f6f1;border-radius:6px;font-size:12px;padding:14px;max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-all}details{margin:14px 0;font-size:13px}summary{cursor:pointer;color:#36766a}.error{padding:12px 17px;color:#9e3d39;background:#fff0eb;border:1px solid #f1cfc3;border-radius:8px;margin-bottom:18px}.error button{float:right;padding:0 6px}.overlay{position:fixed;inset:0;background:#0b292b88;z-index:10;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:#fff;border-radius:14px;width:580px;max-height:92vh;overflow:auto;padding:26px}.modal .section-head{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.modal form>button{width:100%;margin-top:12px}.login{max-width:460px;margin:9vh auto;padding:32px}.login h1{font-size:32px}.login>p{color:#6e857d}.login form{margin:28px 0}.login button{width:100%;margin-top:10px}.brand-icon{font-size:65px;color:#137c70}.proposal{border-top:1px solid #e2e9df;margin-top:25px;padding-top:22px}hr{border:0;border-top:1px solid #e3e8df;margin:28px 0}footer{font-size:11px;color:#8c9b91;text-align:center;margin-top:45px;padding:20px;border-top:1px solid #e5ebe2}@media(min-width:1500px){main{padding-left:70px;padding-right:70px}}@media(max-width:1100px){main{padding:30px 25px}.stats{grid-template-columns:repeat(2,1fr)}header{align-items:flex-start;flex-direction:column}.tank-select{width:100%}.water-art{padding-right:0}.hero{padding:25px}}@media(max-width:720px){aside{position:static;width:100%;padding:17px 18px;border-right:0;border-bottom:1px solid #e0e8e0}.shell{display:block}.brand{font-size:26px}.brand span{font-size:20px}.nav-label{display:none}nav{display:flex;overflow-x:auto;gap:5px;margin-top:16px}nav button{white-space:nowrap;gap:5px;padding:10px;font-size:12px}.aside-bottom{display:flex;align-items:center;gap:12px;padding:10px 0 0;margin:10px 0 0}.aside-bottom small{margin:0}.aside-bottom button{margin-left:auto;padding:4px 10px}main{width:100%;margin:0;padding:26px 16px}h1{font-size:25px}.tank-select{flex-wrap:wrap}.tank-select label{flex:1}.hero h2{font-size:25px}.water-art{font-size:65px}.stats{gap:10px}.stats article{padding:16px}.stats strong{font-size:24px}.section-head{align-items:flex-start;flex-wrap:wrap}.form-grid,.snapshots{grid-template-columns:1fr}.panel{padding:18px}.modal{padding:20px}.login{margin:4vh auto}.filters label{min-width:120px}.filters .checkbox{padding-top:6px}}.hero .ghost.light{background:transparent;color:#e5f4ee!important}
