:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Noto Sans KR",sans-serif;color:#20343b;background:#f4f6f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:0 32px 40px}header{display:flex;align-items:center;justify-content:space-between;padding:26px 0;border-bottom:1px solid #d9e1dd;margin-bottom:52px}a{color:inherit;text-decoration:none}.brand{font-size:22px;font-weight:850;letter-spacing:-1px}.brand span{margin-left:10px;font-size:17px}nav{display:flex;gap:24px;font-size:13px;color:#687b80}.eyebrow{font-size:11px;letter-spacing:2px;color:#647a70;font-weight:700}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:15px 0 30px}h1{font-size:38px;letter-spacing:-1.5px;line-height:1.25;margin:0}p{line-height:1.7}.heading p,.muted{color:#76868a;font-size:13px}.controls{display:flex;align-items:flex-end;gap:8px}label{font-size:11px;color:#75857e}select,button,input{font:inherit;border:1px solid #d8e1dd;border-radius:8px;background:white;color:#203c36;padding:11px 14px}select{display:block;margin-top:7px}button{cursor:pointer;font-weight:600;font-size:13px}button:hover{background:#e7eeeb}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #42a184;outline-offset:3px}#status{min-height:20px;font-size:12px;color:#7a8b87}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:15px 0 22px}.metric{background:white;border:1px solid #e0e7e3;border-radius:12px;padding:24px}.metric:first-child{background:#203e36;color:white;border-color:#203e36}.metric small{font-size:12px;opacity:.7}.metric strong{display:block;font-size:36px;margin-top:12px;font-variant-numeric:tabular-nums;font-weight:650}.panel{background:#fff;border:1px solid #e0e7e3;border-radius:12px;padding:26px;margin-bottom:20px}h2{font-size:17px;font-weight:650;margin:0 0 18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head span{color:#8a9691;font-size:11px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.columns .panel{min-width:0}.chart{height:190px;display:flex;gap:8px;align-items:stretch;padding-top:22px;border-bottom:1px solid #edf0ee}.bar-group{flex:1;display:flex;flex-direction:column;min-width:0;justify-content:flex-end;align-items:center;position:relative;padding-bottom:26px}.bars{display:flex;gap:3px;align-items:flex-end;width:65%;height:130px}.bar{display:block;flex:1;background:#2b6351;border-radius:3px 3px 0 0;min-height:2px}.bar.views{background:#c5dbd0}.tick{font-size:10px;color:#9aa69f;position:absolute;bottom:4px;white-space:nowrap}.legend{display:flex;align-items:center;justify-content:flex-end;gap:7px;font-size:11px;color:#829089;padding-top:15px}.legend i{width:8px;height:8px;background:#2b6351;border-radius:2px}.legend .light{background:#c5dbd0;margin-left:10px}.row{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #eff2f0;font-size:13px}.row span{overflow-wrap:anywhere}.row b{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.empty{color:#99a59f;font-size:13px;padding:30px 0}.note,footer{font-size:11px;color:#94a09a;line-height:1.8;margin-top:22px}.link-tools{display:flex;gap:8px}.link-tools select{margin:0}.link-tools input{flex:1;min-width:0;color:#6b7f73;font-size:12px;background:#f7faf8}footer{margin-top:30px}#updated{display:block;margin-top:8px}@media(max-width:700px){main{padding:0 18px 30px}header{margin-bottom:34px}nav{gap:12px;font-size:11px}h1{font-size:30px}.heading{display:block}.controls{margin-top:24px}.metrics{grid-template-columns:repeat(2,1fr);gap:10px}.metric{padding:18px}.metric strong{font-size:30px}.columns{display:block}.panel{padding:20px}.panel-head{align-items:flex-start;flex-direction:column}.link-tools{flex-wrap:wrap}.link-tools input{flex-basis:65%}.chart{gap:3px}.tick{font-size:9px}}

.recipient-panel{border-top:3px solid #416c59}.recipient-form{display:flex;gap:10px;align-items:flex-end;margin-top:22px}.recipient-form label:first-child{flex:1}.recipient-form input{display:block;width:100%;margin-top:7px}.recipient-form button{min-height:43px}.recipient-created{background:#f0f6f2;border-radius:9px;padding:17px;margin:14px 0}.recipient-created strong{display:block;font-size:13px;margin-bottom:12px}.recipient-list-head{display:flex;align-items:center;justify-content:space-between;margin-top:28px}.recipient-list-head h3{font-size:15px}.recipient-entry{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-top:1px solid #edf1ee}.recipient-entry h4{font-size:14px;margin:0 0 8px;overflow-wrap:anywhere}.recipient-entry p{margin:3px 0;color:#7b8d84;font-size:11px}.recipient-badge{display:inline-block;background:#edf2ef;color:#7b8d84;font-size:10px;padding:4px 8px;border-radius:5px;margin-left:8px;vertical-align:middle;font-weight:500}.recipient-badge.open{background:#e0f0e7;color:#276448}.recipient-entry .entry-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.entry-actions button{font-size:11px;padding:8px 10px}.entry-actions .delete{color:#929b96;border-color:transparent}.recipient-meta{font-variant-numeric:tabular-nums}#recipient-status{font-size:12px;color:#547360;min-height:20px}.recipient-created[hidden],#recipient-more[hidden]{display:none}@media(max-width:700px){.recipient-form{flex-wrap:wrap}.recipient-form label:first-child{flex-basis:100%}.recipient-form label:nth-child(2){flex:1}.recipient-form select{width:100%}.recipient-entry{align-items:flex-start;flex-direction:column;gap:10px}.recipient-entry .entry-actions{justify-content:flex-start}.recipient-list-head{gap:10px}.recipient-list-head button{font-size:10px}.recipient-created .link-tools input{flex-basis:100%}}

.detail-button{background:#e7f2eb!important;color:#28583f!important;border-color:#cddfd1!important}.activity-open{overflow:hidden}#recipient-detail{width:min(760px,calc(100% - 24px));max-height:90dvh;border:1px solid #d6e2d9;border-radius:16px;padding:0;color:#20343b;box-shadow:0 20px 70px #102b3140}#recipient-detail::backdrop{background:#14262099;backdrop-filter:blur(3px)}.activity-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 26px;border-bottom:1px solid #e1e8e3;position:sticky;top:0;background:white;z-index:1}.activity-head h2{margin:8px 0 0;overflow-wrap:anywhere}.activity-head button{white-space:nowrap}.activity-body{padding:4px 26px 26px}.activity-body h3{font-size:15px;margin-top:28px}.activity-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.activity-summary>div{background:#eff5f1;border-radius:10px;padding:19px}.activity-summary small{color:#708779;font-size:12px}.activity-summary strong{display:block;font-size:28px;margin-top:10px}.activity-event{padding:16px 10px 16px 18px;border-left:2px solid #b5d0bf;margin-left:3px;position:relative}.activity-event:before{content:'';position:absolute;width:8px;height:8px;border:2px solid white;background:#4b8161;border-radius:50%;left:-7px;top:20px}.activity-event strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.activity-event p{font-size:11px;color:#87978b;margin:6px 0 0}.activity-event.visit strong{color:#82968b}.activity-event.visit:before{background:#b7c9bd}#activity-status{font-size:12px;color:#66806c;min-height:21px}#activity-more[hidden]{display:none}@media(max-width:700px){.activity-head{padding:18px}.activity-body{padding:4px 18px 22px}.activity-head h2{font-size:15px}.activity-summary strong{font-size:24px}.activity-summary>div{padding:16px}}
.login-panel{max-width:440px;margin:65px auto;padding:32px}.login-panel h1{font-size:30px;margin:20px 0 16px}.login-panel form{margin:26px 0 22px}.login-panel label{display:block;margin-bottom:8px}.login-panel input{width:100%;font-size:16px;margin-bottom:14px}.login-panel button{display:block;width:100%;background:#203e36;color:white;border-color:#203e36}.login-panel button:hover{background:#305749}#login-status{min-height:24px;color:#a33535;font-size:13px}.logout-button{border:0;background:none;padding:0;font:inherit;color:inherit}.logout-button:hover{background:none;text-decoration:underline}@media(max-width:550px){.login-panel{margin:36px auto;padding:24px}}
