:root{--paper:#f6f7f5;--sheet:#fff;--ink:#1b1f24;--ink-2:#4d555f;--ink-3:#8a919b;--line:#dde1e5;--line-2:#eceef0;--accent:#0d6b61;--accent-ink:#fff;--accent-soft:#e3f1ee;--neg:#b2252e;--neg-soft:#fbe9ea;--pos:#1f7a3f;--pos-soft:#e6f3ea;--warn:#b8761a;--warn-soft:#fbf0df;--radius:6px;--font:"Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:var(--paper);font-feature-settings:"tnum" 1;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}h1{font-size:20px}h2{font-size:16px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{grid-template-columns:196px 1fr;min-height:100%;display:grid}.rail{background:var(--sheet);border-right:1px solid var(--line);flex-direction:column;gap:4px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}.rail .logo{color:var(--ink);padding:0 8px 18px;font-size:15px;font-weight:700}.rail .logo small{color:var(--ink-3);font-size:12px;font-weight:450;display:block}.rail a.nav{border-radius:var(--radius);color:var(--ink-2);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.rail a.nav:hover{background:var(--paper);text-decoration:none}.rail a.nav.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.rail .spacer{flex:1}.rail .me{color:var(--ink-2);border-top:1px solid var(--line-2);padding:8px 10px;font-size:13px}.rail .me b{color:var(--ink);display:block}.rail .me button{margin-top:6px}.main{min-width:0;padding:22px 28px 60px}.topbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.topbar h1{margin-right:auto}.client-switch{align-items:center;gap:8px;display:flex}.client-switch select{min-width:160px}input[type=text],input[type=password],input[type=email],input[type=date],input[type=number],select,textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--sheet);min-height:34px;padding:7px 10px}input:disabled,select:disabled{background:var(--paper);color:var(--ink-3)}textarea{resize:vertical;width:100%}.btn{border:1px solid var(--line);background:var(--sheet);border-radius:var(--radius);cursor:pointer;white-space:nowrap;min-height:34px;padding:7px 12px}.btn:hover{border-color:var(--ink-3)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.primary:hover{filter:brightness(.95)}.btn.danger{color:var(--neg)}.btn.small{min-height:26px;padding:3px 8px;font-size:13px}.btn.link{color:var(--accent);background:0 0;border:0;min-height:0;padding:0}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field>span{color:var(--ink-2);font-size:12.5px}.check{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.sheet{background:var(--sheet);border:1px solid var(--line);border-radius:8px}.sheet .head{border-bottom:1px solid var(--line-2);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.sheet .head h2{margin-right:auto}.sheet .body{padding:16px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line-2);vertical-align:top;padding:9px 12px}th{color:var(--ink-2);background:var(--paper);font-size:12.5px;font-weight:600;position:sticky;top:0}tr:hover td{background:#fafbfa}tr.selected td{background:var(--accent-soft)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.muted{color:var(--ink-3)}td.nowrap,th.nowrap{white-space:nowrap}.cell-title{font-weight:550}.cell-title a{color:var(--ink)}.cell-sub{color:var(--ink-3);margin-top:2px;font-size:12.5px}.empty{text-align:center;color:var(--ink-3);padding:40px 16px}.empty b{color:var(--ink-2);margin-bottom:4px;display:block}.dot{vertical-align:1px;background:var(--ink-3);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.dot.ok{background:var(--pos)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--neg)}.dot.run{background:var(--accent);animation:1.2s infinite pulse}@keyframes pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.dot.run{animation:none}}.tag{white-space:nowrap;background:var(--paper);color:var(--ink-2);border:1px solid var(--line-2);border-radius:4px;margin-right:4px;padding:1px 7px;font-size:12px;display:inline-block}.tag.cafe{color:#2f5b8f;background:#eef3f9;border-color:#dbe6f3}.tag.blog{color:#3f7a3a;background:#f0f6ee;border-color:#dcebd8}.tag.news{color:#8a3c3c;background:#f6f0f0;border-color:#edd9d9}.tag.kin{color:#8a6a2d;background:#f7f2e8;border-color:#eee2cc}.note{color:var(--ink-3);font-size:12.5px}.alert{border-radius:var(--radius);border:1px solid;margin-bottom:14px;padding:10px 14px}.alert.bad{background:var(--neg-soft);color:var(--neg);border-color:#f0c9cc}.alert.warn{background:var(--warn-soft);color:var(--warn);border-color:#f0dcbd}.alert.ok{background:var(--pos-soft);color:var(--pos);border-color:#cfe6d6}.sent{white-space:nowrap;border:1px solid #0000;border-radius:4px;padding:1px 7px;font-size:12px;font-weight:600;display:inline-block}.sent.pos{background:var(--pos-soft);color:var(--pos)}.sent.neg{background:var(--neg-soft);color:var(--neg)}.sent.mix{background:var(--warn-soft);color:var(--warn)}.sent.neu{background:var(--paper);color:var(--ink-2);border-color:var(--line-2)}.sent.none{color:var(--ink-3);font-weight:450}.urgent{color:var(--neg);font-weight:600}.ai-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:12px}.ai-card .labels{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.ai-card .summary{margin-bottom:6px;font-weight:550}.ai-card blockquote{border-left:3px solid var(--line);color:var(--ink-2);margin:6px 0 0;padding-left:10px;font-size:13px}.review-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.review-grid .field.wide{grid-column:1/-1}.scope{border:1px solid var(--line);border-radius:var(--radius);display:inline-flex;overflow:hidden}.scope button{background:var(--sheet);cursor:pointer;color:var(--ink-2);border:0;padding:6px 12px}.scope button.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.budget{background:var(--line-2);border-radius:4px;height:8px;margin:6px 0;overflow:hidden}.budget>div{background:var(--accent);height:100%}.budget.hot>div{background:var(--neg)}.guide-group{border-top:1px solid var(--line-2)}.guide-group .kind{color:var(--accent);padding:8px 16px 0;font-size:12.5px;font-weight:600}.guide-card{border-bottom:1px solid var(--line-2);padding:10px 16px}.guide-card:last-child{border-bottom:0}.guide-content{white-space:pre-wrap;color:var(--ink-2);margin:3px 0 4px;font-size:13.5px}.trend .legend{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:8px;font-size:12.5px;display:flex}.trend .legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;display:inline-block}.trend .legend .readout{color:var(--ink-3);margin-left:auto}.trend .axis{color:var(--ink-3);margin-top:4px;font-size:11px;display:grid}.trend .axis span{text-align:center;white-space:nowrap;overflow:hidden}.report-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;display:grid}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px;display:grid}.stat{background:var(--sheet);border:1px solid var(--line);border-radius:8px;padding:12px 14px}.stat .n{font-size:24px;font-weight:650;line-height:1.2}.stat .l{color:var(--ink-2);font-size:12.5px}.stat.neg .n{color:var(--neg)}.split{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:16px;display:grid}.detail{max-height:calc(100vh - 40px);position:sticky;top:20px;overflow:auto}.detail .body>*+*{margin-top:14px}.detail dl{grid-template-columns:80px 1fr;gap:6px 10px;margin:0;font-size:13px;display:grid}.detail dt{color:var(--ink-3)}.detail dd{margin:0}.prose{white-space:pre-wrap;background:var(--paper);border-radius:var(--radius);max-height:320px;padding:10px 12px;font-size:13.5px;line-height:1.6;overflow:auto}.pager{color:var(--ink-2);align-items:center;gap:10px;padding:10px 16px;font-size:13px;display:flex}.pager .n{margin-right:auto}.login-wrap{place-items:center;min-height:100%;padding:24px;display:grid}.login{background:var(--sheet);border:1px solid var(--line);border-radius:10px;width:360px;padding:28px}.login h1{margin-bottom:4px}.login .sub{color:var(--ink-3);margin-bottom:22px}.login form{flex-direction:column;gap:12px;display:flex}.login .btn.primary{margin-top:6px}@media (width<=900px){.shell{grid-template-columns:1fr}.rail{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;height:auto;padding:10px 12px;position:static}.rail .logo{width:100%;padding:4px 8px}.rail .spacer,.rail .me{display:none}.main{padding:16px}.split{grid-template-columns:1fr}.detail{max-height:none;position:static}}.draft-card .checklist{border:1px dashed var(--line);border-radius:var(--radius);background:var(--bg);flex-direction:column;gap:4px;margin-bottom:10px;padding:8px 10px;font-size:13px;display:flex}.draft-card .checklist .check{align-items:flex-start}.draft-card .checklist input{margin-top:3px}.draft-new{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.draft-new input,.draft-new textarea{width:100%}.draft{border-top:1px solid var(--line-2);flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;display:flex}.draft .draft-text{max-height:none}.draft.posted .draft-text{background:var(--pos-soft)}.draft .warnings{color:var(--warn);margin:0;padding-left:18px;font-size:13px}.draft .posted-row input{flex:1;min-width:160px}.draft details summary{cursor:pointer}.tag.status-final{color:var(--accent);background:var(--accent-soft)}.tag.status-posted{color:var(--pos);background:var(--pos-soft);border-color:#cfe6d6}.token-box{flex-direction:column;gap:8px;display:flex}.token-box code{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);word-break:break-all;-webkit-user-select:all;user-select:all;padding:8px 10px;font-size:13px;display:block}
