:root{font-family:system-ui,-apple-system,'맑은 고딕',sans-serif;color:#263832;background:#f6f7f3;font-synthesis:none;--accent:#28644e;--line:#dce3db;--soft:#edf2eb}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a.button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:9px;padding:.65rem .9rem;color:inherit;text-decoration:none}button.primary{background:var(--accent);color:white;border-color:var(--accent)}button:disabled{opacity:.45;cursor:wait}input,select,textarea{border:1px solid #c5d0c6;border-radius:7px;padding:.7rem;background:white;max-width:100%}textarea{resize:vertical;min-height:80px}label{display:grid;gap:.45rem;margin:.7rem 0}label:has(input[type=checkbox]){display:flex;align-items:center;gap:.6rem}fieldset{border:1px solid var(--line);border-radius:8px;margin:1rem 0}fieldset label{display:inline-flex;align-items:center;margin:.7rem}h1{font-size:1.45rem}h2{font-size:1.15rem}small,.muted{color:#6b776f}header{position:sticky;top:0;z-index:3;background:#ffffffed;border-bottom:1px solid var(--line);padding:1rem;display:flex;align-items:center;gap:.65rem}header strong{margin-right:auto}main{padding:1.25rem}footer{padding:1rem;color:#6b776f}dialog{border:1px solid var(--line);border-radius:14px;width:min(540px,95vw);max-height:90vh;padding:1.4rem}dialog::backdrop{background:#193b304a}.close{float:right}.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.error{color:#9b3328;white-space:pre-wrap}#notice{margin:0;padding:.75rem 1rem;min-height:40px}#chat{max-width:760px;margin:auto;min-height:70dvh;padding-bottom:150px}.message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;margin:1rem 0;padding:1rem 1.2rem;border-radius:14px;background:white;border:1px solid var(--line)}.message.user{margin-left:12%;background:#e7efe5}.message.assistant{margin-right:4%}.composer{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,100%);background:#f6f7f3f5;padding:1rem;display:flex;gap:.6rem;border-top:1px solid var(--line)}.composer textarea{flex:1;min-height:55px;max-height:140px}.profilebar{flex-wrap:wrap}.profilebar select{max-width:160px}.menu{display:grid;gap:.5rem}.menu button{text-align:left}.welcome{display:flex;min-height:65vh;align-items:center;justify-content:center}.kakao{background:#fee500!important;color:#191919!important;border:0!important}.empty{padding:4rem 1rem;color:#68786d;text-align:center}.admin{min-width:1000px}.admin header{padding:1rem 2rem;flex-wrap:wrap}.admin nav{display:flex;gap:.35rem}.admin nav button{border:0;background:none}.admin nav button.active{background:var(--soft);color:var(--accent)}.admin main{max-width:1600px;margin:auto;padding:2rem}.panel{background:white;padding:1.5rem;border:1px solid var(--line);border-radius:12px;margin:1rem 0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.metric{border-bottom:3px solid #91ae96;padding:1.2rem;background:white}.metric b{display:block;font-size:1.8rem;margin-top:.6rem}.gridform{display:grid;grid-template-columns:repeat(3,1fr);gap:0 1.5rem}.gridform .wide{grid-column:1/-1}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;padding:.85rem;border-bottom:1px solid var(--line);white-space:nowrap}th{background:var(--soft);font-weight:600}.badge{padding:.25rem .6rem;background:var(--soft);border-radius:6px}.login{max-width:400px;margin:12vh auto;padding:2rem;background:white;border:1px solid var(--line);border-radius:14px}.login input{width:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:600px){header{padding:.7rem;gap:.35rem}.profilebar select{max-width:125px}button{padding:.55rem}.composer{padding:.7rem}.message{font-size:.95rem}dialog{padding:1rem}}

.waiting-dots{display:inline-flex;gap:5px;margin-left:12px}.waiting-dots i{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:waiting-wave 1s ease-in-out infinite}.waiting-dots i:nth-child(2){animation-delay:.15s}.waiting-dots i:nth-child(3){animation-delay:.3s}@keyframes waiting-wave{0%,80%,100%{transform:translateY(0);opacity:.35}40%{transform:translateY(-4px);opacity:1}}@media(prefers-reduced-motion:reduce){.waiting-dots i{animation:none}}
.stats-filter{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}.stats-filter label{margin:0}.stats-metrics{grid-template-columns:repeat(3,1fr)}.hour-bars{display:grid;grid-template-columns:repeat(24,minmax(20px,1fr));gap:4px;margin:1rem 0}.hour-bars label{font-size:.75rem;text-align:center}.hour-bars meter{width:100%;height:40px}

.credit-validity{font-size:13px;line-height:1.5;color:#53655d;margin:6px 0;overflow-wrap:anywhere}.purchase-expiry-note{font-size:12px;line-height:1.6;color:#59675f;margin:12px 0}.owned-credits{margin:18px 0;min-width:0}.owned-credits>h2{font-size:17px}.owned-credit-row{padding:12px 0;border-bottom:1px solid #dce4de;overflow-wrap:anywhere}.owned-credit-row h3{font-size:14px;margin:0 0 5px}.owned-credit-row strong{font-size:19px}.purchase-product .credit-validity{font-size:13px;color:#53655d}

.user-app .purchase-legal p.purchase-expiry-note{color:#53655d;line-height:1.6;margin-bottom:12px}

.current-user-avatar{display:inline-flex;width:48px;height:48px;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:#e9ded0;color:#493f33}.current-user-avatar img{width:100%;height:100%;object-fit:cover}.current-user-avatar [hidden]{display:none}.current-user-identity{display:flex;align-items:center;gap:10px;margin:12px 0}
