@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap";
:root{color:#212823;font-synthesis:none;background:#f6f7f4;font-family:DM Sans,Noto Sans KR,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.app-shell{min-height:100vh;display:flex}.side{color:#e9f1e8;background:#172720;flex-direction:column;flex:none;width:244px;height:100vh;padding:27px 17px;display:flex;position:sticky;top:0}.side-brand{letter-spacing:.01em;align-items:center;gap:11px;padding:0 9px 52px;font-size:15px;font-weight:800;display:flex}.side-brand span:not(.logo-square){color:#9cb3a4;letter-spacing:.17em;margin-top:3px;font-size:9px;display:block}.logo-square{color:#18341f;background:#cafa8e;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;font-size:24px;font-weight:800;display:grid}.side-label{color:#829c89;letter-spacing:.16em;margin:0 15px 14px;font-size:10px;font-weight:800}.side-link{color:#b4c8bb;border-radius:11px;align-items:center;gap:12px;margin-bottom:4px;padding:14px 15px;font-size:13px;font-weight:600;display:flex}.side-link:hover{color:#fff;background:#284234}.side-link.active{color:#18351f;background:#d9f6ae}.link-tail{margin-left:auto}.side-bottom{border-top:1px solid #355044;margin-top:auto;padding:23px 12px 0}.private-mark,.signout{color:#a9c4af;align-items:center;gap:9px;font-size:11px;display:flex}.signout{color:#e7f2e6;margin-top:18px}.main{flex:1;min-width:0}.topbar{color:#657267;background:#fff;border-bottom:1px solid #e4e9e2;justify-content:space-between;align-items:center;height:70px;padding:0 42px;font-size:12px;display:flex}.breadcrumb span{color:#b8c3b7;margin:0 10px}.top-right{align-items:center;gap:9px;display:flex}.live-dot{background:#71b62e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #e7f3db}.avatar{color:#28452b;background:#deecdd;border-radius:50%;place-items:center;width:31px;height:31px;margin-left:9px;font-weight:800;display:grid}.page-content{max-width:1440px;margin:auto;padding:37px 42px 25px}.intro{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:37px;display:flex}.eyebrow{color:#76904f;letter-spacing:.18em;margin-bottom:11px;font-size:10px;font-weight:800}.intro h1{letter-spacing:-.065em;margin-bottom:9px;font-size:34px}.intro p:not(.eyebrow){color:#7b887d;margin-bottom:0;font-size:13px}.intro-actions{gap:9px;display:flex}.button{white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:12px;font-weight:800;display:inline-flex}.button-primary{color:#fff;background:#243e2c}.button-primary:hover{background:#355d3d}.button-light{color:#304336;background:#fff;border-color:#dfe6dc}.button-light:hover{background:#f0f5ec}.button:disabled{opacity:.5;cursor:not-allowed}.message{color:#31592f;background:#eaf4df;border:1px solid #d5eabc;border-radius:9px;justify-content:space-between;margin-bottom:18px;padding:12px 15px;font-size:12px;display:flex}.message button{color:inherit;background:0 0;border:0}.period-row{justify-content:space-between;align-items:end;margin-bottom:20px;display:flex}.period-label{color:#89958b;font-size:11px;font-weight:700}.period-row h2{letter-spacing:-.04em;margin:5px 0 0;font-size:22px}.period-row h2 span{color:#7d8a80;margin-left:6px;font-size:13px;font-weight:500}.week-select{color:#4c5f4f;background:#fff;border:1px solid #e2e9df;border-radius:9px;align-items:center;gap:9px;padding:10px 13px;font-size:11px;font-weight:700;display:flex}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px;display:grid}.stat-card{background:#fff;border:1px solid #e7ebe5;border-radius:15px;min-height:139px;padding:19px 20px;box-shadow:0 5px 17px #20321c05}.stat-featured{background:#c9ed8e;border-color:#c9ed8e}.stat-head{color:#667469;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}.stat-featured .stat-head{color:#3d6134}.stat-value{letter-spacing:-.055em;margin:21px 0 12px;font-size:29px;font-weight:800;line-height:1}.stat-value small{letter-spacing:0;margin-left:4px;font-size:12px}.stat-foot{color:#929d93;min-height:16px;font-size:10px}.stat-featured .stat-foot{color:#4a693a}.delta-up,.delta-down{align-items:center;gap:2px;font-weight:700;display:flex}.delta-up{color:#31805a}.delta-down{color:#bd685e}.analysis-grid{grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:16px;margin-bottom:16px;display:grid}.panel{background:#fff;border:1px solid #e7ebe5;border-radius:15px;padding:23px 24px;box-shadow:0 5px 17px #20321c05}.panel-header{color:#5e7661;justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.panel-header .eyebrow{margin-bottom:6px}.panel h3{color:#243127;letter-spacing:-.04em;margin:0;font-size:16px}.metric-select{position:relative}.metric-select select{appearance:none;color:#4c5e4f;background:#f9fbf8;border:1px solid #e1e8df;border-radius:7px;padding:8px 30px 8px 11px;font-size:10px}.metric-select svg{pointer-events:none;position:absolute;top:9px;right:10px}.chart-wrap{height:236px}.chart-topline{color:#89958b;justify-content:space-between;align-items:center;font-size:10px;display:flex}.chart-topline strong{color:#2d4631;font-size:19px}.trend-chart{width:100%;height:190px;overflow:visible}.gridline{stroke:#edf1eb;stroke-dasharray:4 5}.trend-line{fill:none;stroke:#64a738;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:#c7ec8d;stroke:#507f2f;stroke-width:2px}.chart-labels{color:#9ba69d;justify-content:space-between;padding:0 0 0 12px;font-size:10px;display:flex}.chart-empty{color:#849184;place-items:center;height:230px;font-size:12px;display:grid}.conversion-value{letter-spacing:-.06em;color:#253c2a;margin:17px 0;font-size:36px;font-weight:800}.conversion-value span{color:#8b978c;letter-spacing:0;margin-top:4px;font-size:11px;font-weight:500;display:block}.conversion-track{background:#edf1e9;border-radius:20px;height:8px;margin-bottom:18px;overflow:hidden}.conversion-track div{background:#a8d86b;border-radius:20px;height:100%}.conversion-rows{border-top:1px solid #edf1eb}.conversion-rows div{color:#7b887d;border-bottom:1px solid #edf1eb;justify-content:space-between;gap:10px;padding:9px 0;font-size:11px;display:flex}.conversion-rows b{color:#334b38}.fine-print{color:#a0aaa1;margin:14px 0 0;font-size:10px;line-height:1.6}.two-column{grid-template-columns:1.3fr 1fr;gap:16px;margin-bottom:31px;display:grid}.route-row{color:#697a6c;grid-template-columns:minmax(130px,1fr) minmax(50px,1.1fr) 40px;align-items:center;gap:12px;margin:17px 0;font-size:11px;display:grid}.route-row b{text-align:right;color:#283b2b}.route-bar{background:#f0f3ed;border-radius:10px;height:6px;overflow:hidden}.route-bar i{background:#8cc25e;border-radius:10px;height:100%;display:block}.social-metrics{gap:18px;display:flex}.social-metrics>div{background:#f5f8f1;border-radius:10px;flex:1;min-width:0;padding:15px}.social-metrics span{color:#829084;margin-bottom:10px;font-size:10px;display:block}.social-metrics strong{color:#2e4433;letter-spacing:-.04em;font-size:22px}.social-metrics small{color:#8c9a8e;margin-left:3px;font-size:9px}.social-caption{color:#9ca79d;margin-top:19px;font-size:10px}.history-heading{justify-content:space-between;align-items:end;margin-bottom:15px;display:flex}.history h2{letter-spacing:-.04em;margin:0;font-size:20px}.history h2 span{color:#8c9a8d;margin-left:6px;font-size:11px;font-weight:500}.text-button{color:#537b3f;background:0 0;border:0;align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.table-wrap{background:#fff;border:1px solid #e4eae3;border-radius:15px;overflow:auto}.table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:820px}.table-wrap th{color:#9aa69b;white-space:nowrap;background:#fafbf9;padding:16px 17px;font-size:10px;font-weight:700}.table-wrap td{color:#526254;white-space:nowrap;border-top:1px solid #edf0ec;padding:16px 17px;font-size:11px}.table-wrap tbody tr{cursor:pointer}.table-wrap tbody tr:hover,.table-wrap tbody tr.selected-row{background:#f5faee}.table-wrap td:first-child strong{color:#263a2a;font-size:12px;display:block}.table-wrap td:first-child span{color:#9ba79d;margin-top:4px;font-size:10px;display:block}.table-wrap td.revenue-cell{color:#314e2e;font-weight:800}.detail-panel{background:#fff;border:1px solid #e4eae3;border-radius:15px;margin-top:16px;padding:23px 24px}.detail-heading{justify-content:space-between;align-items:center;display:flex}.detail-heading h2{margin:0;font-size:17px}.detail-grid{grid-template-columns:1fr 1fr;gap:45px;margin-top:27px;display:grid}.detail-grid h3{margin-bottom:13px;font-size:12px}.detail-line{color:#68776b;border-top:1px solid #edf1eb;justify-content:space-between;gap:15px;padding:10px 0;font-size:11px;display:flex}.detail-line b{color:#2e4532}.muted{color:#9aa69b;font-size:11px}.note{color:#647568;background:#f5f8f1;border-radius:9px;margin:18px 0 0;padding:12px 14px;font-size:11px;line-height:1.7}.note b{color:#3c543f;display:block}.page-content footer{color:#a5aea6;text-align:center;margin-top:26px;font-size:10px}.empty-state{text-align:center;color:#829284;background:#fff;border:1px solid #e5ebe3;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:35px;display:flex}.empty-state h2{color:#344638;margin:16px 0 8px}.empty-state p{font-size:12px}.import-details{text-align:left;width:min(500px,100%);margin-top:27px;font-size:11px}.import-details summary{cursor:pointer;color:#688753}.import-details textarea{border:1px solid #dce6d9;border-radius:8px;width:100%;height:100px;margin:9px 0;padding:10px;display:block}.modal-backdrop{z-index:20;background:#15271d99;justify-content:center;align-items:center;padding:15px;display:flex;position:fixed;inset:0}.editor-modal{background:#fff;border-radius:16px;flex-direction:column;width:min(800px,100%);max-height:min(92vh,1000px);display:flex;overflow:hidden;box-shadow:0 15px 60px #0004}.editor-head{border-bottom:1px solid #e8eee6;justify-content:space-between;align-items:center;padding:22px 28px;display:flex}.editor-head h2{margin:0;font-size:20px}.close-button{color:#617163;background:0 0;border:0}.editor-modal form{overflow:auto}.editor-body{padding:23px 28px}.form-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.period-fields{grid-template-columns:repeat(3,1fr)}.editor-body label{color:#536856;font-size:11px;font-weight:700;display:block}.editor-body input,.editor-body textarea{color:#233a2b;background:#fff;border:1px solid #dce6d9;border-radius:8px;width:100%;margin-top:6px;padding:10px;font-size:12px;display:block}.editor-body input:focus,.editor-body textarea:focus{outline:2px solid #b7df90}.form-section{border-top:1px solid #eef2ec;margin-top:22px;padding-top:18px}.form-section h3{margin-bottom:14px;font-size:13px}.form-help{color:#89988a;margin:18px 0 0;font-size:11px}.editor-actions{background:#fff;border-top:1px solid #e8eee6;justify-content:flex-end;gap:9px;padding:16px 28px;display:flex}.login-page{background:#f8faf5;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-panel{flex-direction:column;justify-content:center;align-items:flex-start;padding:max(50px,8vw);display:flex}.login-panel .logo-square{margin-bottom:55px}.login-panel h1{letter-spacing:-.075em;margin-bottom:22px;font-size:clamp(46px,6vw,84px);line-height:1.15}.login-copy{color:#6f8072;max-width:380px;margin-bottom:30px;font-size:14px;line-height:1.8}.login-panel small{color:#9ca99d;margin-top:25px;font-size:11px}.setup-note{color:#9b6b52;background:#fff3e9;border-radius:8px;padding:12px;font-size:12px}.login-art{background:#213d2a;place-items:center;display:grid;position:relative;overflow:hidden}.art-ring{aspect-ratio:1;border:1px solid #b8e48b55;border-radius:50%;width:70%;position:absolute}.ring-two{width:110%}.art-number{color:#d1f799;letter-spacing:-.12em;font-size:min(15vw,260px);font-weight:800}.art-number span{letter-spacing:0;font-size:.2em}.art-caption{color:#a6c89d;letter-spacing:.22em;font-size:11px;position:absolute;bottom:50px}@media (max-width:1100px){.side{width:205px}.page-content{padding:30px 25px}.topbar{padding:0 25px}.stats-grid{grid-template-columns:repeat(2,1fr)}.analysis-grid{grid-template-columns:1fr}.chart-wrap{height:220px}}@media (max-width:720px){.side{display:none}.topbar{height:58px;padding:0 17px}.page-content{padding:25px 16px}.intro{flex-direction:column;align-items:flex-start;margin-bottom:26px}.intro h1{font-size:28px}.intro-actions{width:100%}.intro-actions .button{flex:1}.stats-grid{gap:8px}.stat-card{min-height:120px;padding:15px}.stat-value{font-size:24px}.two-column,.detail-grid{grid-template-columns:1fr}.period-row{align-items:flex-start;gap:8px}.period-row h2{font-size:19px}.period-row h2 span{margin-top:5px;margin-left:0;display:block}.week-select{font-size:0}.week-select svg{width:16px}.panel{padding:19px}.route-row{grid-template-columns:minmax(120px,1fr) 60px 30px;gap:6px;font-size:10px}.login-page{grid-template-columns:1fr}.login-panel{min-height:100vh;padding:35px}.login-art{display:none}.form-grid,.period-fields{grid-template-columns:1fr}.editor-body{padding:17px}.editor-head,.editor-actions{padding:16px}.social-metrics strong{font-size:18px}}
