:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#233b33;background:#f5f6f2;font-size:14px;--green:#214e3e;--muted:#78847c;--line:#e4e8df;--tan:#d7b88c}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:transparent;color:inherit;border-radius:7px;padding:11px 15px}button:hover{background:#e8ede5}button:focus-visible,a:focus-visible{outline:3px solid #a8bb6c}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{display:block;width:100%;padding:10px 12px;border:1px solid #dce2d7;border-radius:6px;background:white;color:#233b33}label{font-size:12px;font-weight:600;display:block}label input,label select,label textarea{margin-top:6px}p{color:var(--muted);line-height:1.6;margin:6px 0 18px}h1{font-size:33px;letter-spacing:-1px;font-weight:550;margin:10px 0 5px}h2{font-size:17px;font-weight:600;margin:0 0 5px}h3{font-size:15px}#shell{display:flex}aside{width:222px;flex-shrink:0;background:#eff1e9;border-right:1px solid var(--line);padding:36px 22px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{font-size:29px;letter-spacing:-1.8px;font-weight:650;margin-bottom:55px}.brand span{font-size:15px;color:#879c61;margin-left:4px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#859078}nav{margin-top:20px;display:grid;gap:8px}nav button{text-align:left;font-size:14px;padding:14px 12px}nav button.active{background:#dfe7d5;color:#284c34;font-weight:600}.aside-bottom{margin-top:auto;font-size:12px}.aside-bottom p{font-size:11px;margin:10px 0;max-width:140px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#859c62;margin-right:6px}main{margin-left:222px;padding:0 38px;width:calc(100% - 222px);max-width:1800px}header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.2px;color:#859078}#access{letter-spacing:0;background:#e9eee3;padding:6px 10px;border-radius:4px}.title-row{display:flex;justify-content:space-between;align-items:center;margin:32px 0 20px}.title-row p{margin-bottom:0}.primary{background:var(--green);color:white;padding:12px 18px}.primary:hover{background:#346b51}.secondary{border:1px solid var(--line);background:white}.notice{padding:13px 16px;background:#eef0e5;border:1px solid #e0e6d3;border-radius:7px;font-size:12px;line-height:1.5;margin-bottom:22px}.notice.demo{background:#fbf0dc;border-color:#e9d2a8;color:#815d2d}.toolbar{display:flex;align-items:end;gap:18px;margin:0 0 25px;flex-wrap:wrap}.toolbar label{min-width:155px;color:#74806f}.toolbar #export{margin-left:auto}.segmented{display:flex;background:#e8ece2;border-radius:8px;padding:4px;height:43px}.segmented button{padding:7px 19px}.segmented .active{background:white;box-shadow:0 1px 4px #0000000d;font-weight:600}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:22px}.kpi{background:white;border:1px solid var(--line);border-radius:10px;padding:23px}.kpi.emphasis{background:#244b3d;color:white;border-color:#244b3d}.kpi .label{font-size:12px;color:#829080}.kpi.emphasis .label{color:#cbd5bc}.kpi strong{display:block;font-size:30px;letter-spacing:-1px;font-weight:550;margin:17px 0 10px;font-variant-numeric:tabular-nums}.kpi small{font-size:11px;color:#899481}.kpi.emphasis small{color:#d2dcc7}.charts{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(275px,1fr);gap:22px}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:22px;min-width:0}.panel-head{display:flex;align-items:start;justify-content:space-between;gap:14px}.panel-head p,.performance>p{font-size:12px;margin-bottom:16px}.legend{display:flex;gap:14px;font-size:10px;color:#778475}.legend span{white-space:nowrap}.legend i{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:5px}.green{background:#648771}.tan{background:var(--tan)}#chart{min-height:220px;display:flex;align-items:center;justify-content:center}svg{width:100%;height:220px;overflow:visible}svg text{fill:#8b9588;font-size:11px}.empty{text-align:center;color:#8a9585;padding:45px 16px;font-size:13px;width:100%}.empty strong{display:block;color:#53634d;font-size:17px;font-weight:500;margin-bottom:9px}.eff-item{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.eff-item span{font-size:12px;color:#87927d}.eff-item strong{font-size:21px;font-weight:550}.good{color:#397452}.bad{color:#a86d34}.pill{display:inline-block;background:#edf3e7;border-radius:4px;padding:4px 7px;font-size:11px}.pill.bad{background:#fcf1e3}#channel{font-size:12px;padding-top:18px}.bar{display:flex;height:9px;background:#f0f2ec;border-radius:3px;overflow:hidden;margin:12px 0}.bar span{height:100%}.channel-label{display:flex;justify-content:space-between;font-size:11px;color:#7c8875}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}th{font-weight:500;color:#8b9588;padding:14px 9px;text-align:right;background:#fafbf7}th:first-child,td:first-child{text-align:left}td{padding:16px 9px;border-bottom:1px solid #eef0e9;text-align:right}td.note{white-space:normal;min-width:140px;max-width:240px;text-align:left;font-size:11px}tfoot td{font-weight:650;background:#f5f7f0;border-bottom:0}.market-code{display:inline-block;padding:6px;border-radius:5px;background:#eef1e7;color:#5b704e;font-size:10px;margin-right:10px}.market-name{color:#56654e}.unit{font-size:10px;color:#9aa38f}.date-link{padding:0;color:#346b51;text-decoration:underline;text-underline-offset:4px}.prose{max-width:1000px;line-height:1.7}.formula-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formula-grid>div{background:#f3f5ef;border-radius:7px;padding:10px 20px}.formula-grid p{margin-bottom:10px}footer{display:flex;justify-content:space-between;font-size:10px;color:#8f9a85;padding:0 0 25px}footer span:first-child{letter-spacing:2px}dialog{border:1px solid var(--line);border-radius:13px;padding:26px;width:560px;max-width:95vw;color:#233b33}dialog::backdrop{background:#1e322b77}dialog p{font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}#entryForm>.primary{width:100%;margin-top:12px}#formError,#loginError{color:#aa432e}#toast{position:fixed;bottom:25px;right:25px;background:#254c3d;color:white;border-radius:7px;padding:14px 22px;display:none;z-index:9}#login{min-height:100vh;padding:12vh 20px}.login-card{max-width:390px;margin:auto;background:white;border:1px solid var(--line);padding:35px;border-radius:15px}.login-card .brand{margin-bottom:30px}.login-card h1{font-size:26px}.login-card button{width:100%;margin-top:20px}[hidden]{display:none!important}@media(min-width:1600px){main{padding:0 55px}}@media(max-width:1100px){aside{width:182px;padding:30px 14px}.brand{font-size:26px}main{margin-left:182px;width:calc(100% - 182px);padding:0 24px}.kpi{padding:18px}.kpi strong{font-size:24px}.toolbar{gap:12px}.charts{grid-template-columns:1fr}.performance{display:block}.legend{font-size:11px}}@media(max-width:700px){aside{position:static;width:100%;padding:18px;display:block}.brand{margin:0 0 18px}.aside-bottom,aside>.eyebrow{display:none}nav{display:flex;margin:0;gap:3px}nav button{font-size:12px;padding:10px}#shell{display:block}main{margin:0;width:100%;padding:0 16px}header{height:52px}.title-row{margin:24px 0;align-items:start;gap:12px;flex-direction:column}h1{font-size:29px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:15px}.kpi strong{font-size:24px}.toolbar label{min-width:130px;flex:1}.toolbar #export{margin-left:0}.panel{padding:17px}.legend{gap:8px}.form-grid,.formula-grid{grid-template-columns:1fr}footer{gap:20px;font-size:9px}}
