:root{--navy: #172b4d;--blue: #0052cc;--blue-soft: #deebff;--bg: #f4f5f7;--panel: #ffffff;--line: #dfe1e6;--text: #172b4d;--muted: #6b778c;--danger: #de350b;--ok: #00875a;--warn: #ff991f}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:Pretendard,Noto Sans KR,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.login{min-height:100%;display:grid;place-items:center;background:linear-gradient(180deg,#0747a6,#172b4d)}.loginCard{width:360px;background:#fff;padding:28px;border-radius:8px;box-shadow:0 8px 24px #0000002e}.loginCard h1{margin:0 0 6px;font-size:22px}.loginCard p{margin:0 0 18px;color:var(--muted);font-size:13px}.loginCard label{display:block;font-size:12px;margin:10px 0 4px}.loginCard input,.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:4px;padding:8px 10px}.btn{border:0;border-radius:4px;padding:8px 12px;background:var(--blue);color:#fff;cursor:pointer}.btn.secondary{background:#ebecf0;color:var(--navy)}.btn.danger{background:var(--danger)}.btn:disabled{opacity:.55;cursor:not-allowed}.err{color:var(--danger);font-size:13px;min-height:18px}.shell{display:grid;grid-template-columns:240px 1fr;height:100%}.side{background:#0747a6;color:#fff;padding:16px 12px;display:flex;flex-direction:column;gap:6px}.side .brand{font-weight:700;padding:8px 10px 16px}.side .brand small{display:block;font-weight:400;opacity:.8;font-size:12px}.side a{color:#deebff;padding:8px 10px;border-radius:4px}.side a.router-link-active{background:#0052cc;color:#fff}.side .grow{flex:1}.side .who{font-size:12px;opacity:.85;padding:8px 10px}.main{overflow:auto}.top{background:var(--panel);border-bottom:1px solid var(--line);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.page{padding:20px}.statGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:16px}.statCard{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px;min-width:0}.statCard span{display:block;color:var(--muted);font-size:12px;font-weight:600;overflow-wrap:anywhere}.statCard strong{display:block;margin-top:6px;font-size:22px;color:var(--navy)}.statCard-status-open{background:#deebff;border-color:#b3d4ff}.statCard-status-open span,.statCard-status-open strong{color:#0747a6}.statCard-status-in_progress{background:#fff0b3;border-color:#ffe380}.statCard-status-in_progress span,.statCard-status-in_progress strong{color:#ff8b00}.statCard-status-blocked{background:#ffebe6;border-color:#ffbdad}.statCard-status-blocked span,.statCard-status-blocked strong{color:#bf2600}.statCard-status-review{background:#eae6ff;border-color:#c0b6f2}.statCard-status-review span,.statCard-status-review strong{color:#403294}.statCard-status-done{background:#e3fcef;border-color:#abf5d1}.statCard-status-done span,.statCard-status-done strong{color:#064}.statCard-status-cancelled{background:#f4f5f7;border-color:#dfe1e6}.statCard-status-cancelled span,.statCard-status-cancelled strong{color:#6b778c}.board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;align-items:start}.col{background:#ebecf0;border-radius:8px;padding:8px;min-height:240px}.col h3{margin:4px 8px 8px;font-size:13px;color:var(--muted)}.card{background:#fff;border-radius:6px;padding:10px;margin-bottom:8px;box-shadow:0 1px 2px #091e4214;cursor:pointer}.card .key{color:var(--muted);font-size:12px;font-weight:700}.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--blue-soft);color:var(--blue);margin-right:4px}.chip{display:inline-flex;align-items:center;font-size:12px;font-weight:700;line-height:1.4;padding:3px 8px;border-radius:999px;background:#ebecf0;color:var(--navy);white-space:nowrap}.chip-status-open,.statusSelect[data-status=open]{background:#deebff;color:#0747a6}.chip-status-in_progress,.statusSelect[data-status=in_progress]{background:#fff0b3;color:#ff8b00}.chip-status-blocked,.statusSelect[data-status=blocked]{background:#ffebe6;color:#bf2600}.chip-status-review,.statusSelect[data-status=review]{background:#eae6ff;color:#403294}.chip-status-done,.statusSelect[data-status=done]{background:#e3fcef;color:#064}.chip-status-cancelled,.statusSelect[data-status=cancelled]{background:#f4f5f7;color:#6b778c}.chip-priority-highest{background:#ffebe6;color:#bf2600}.chip-priority-high{background:#fff0b3;color:#ff8b00}.chip-priority-medium{background:#deebff;color:#0747a6}.chip-priority-low{background:#f4f5f7;color:#6b778c}.chip-target-frontend{background:#e6fcff;color:#00a3bf}.chip-target-backend{background:#eae6ff;color:#403294}.chip-target-infra{background:#fff0b3;color:#974f0c}.chip-target-both,.chip-type-feat{background:#e3fcef;color:#064}.chip-type-fix{background:#ffebe6;color:#bf2600}.chip-type-chore{background:#f4f5f7;color:#42526e}.chip-type-refactor{background:#eae6ff;color:#403294}.chip-type-docs{background:#deebff;color:#0747a6}.chip-type-perf{background:#fff0b3;color:#ff8b00}.chip-person{color:#fff}.statusSelect{border:0;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer}.descCard{background:#f7f8fa;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:8px;padding:14px 16px;margin-bottom:12px}.descCard h3{margin:0 0 10px;font-size:14px;color:var(--navy)}.descRow{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:start;margin:6px 0;font-size:13px}.descRow dt{color:var(--muted);font-weight:600}.descRow dd{margin:0}.descBody{margin:0;white-space:pre-wrap;font-size:13px;line-height:1.6}.tag{margin:0 4px 4px 0}.detailSection{margin:20px 0}.detailSection>h3,.meta>h3{margin:0 0 10px;font-size:14px;color:var(--navy)}.detailList{margin:0;padding-left:20px}.detailList>li{margin:12px 0}.recordCard{border-top:1px solid var(--line);padding:12px 0}.recordCard p{margin:8px 0;white-space:pre-wrap}.recordMeta{margin:8px 0 0}.recordMeta>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;margin:4px 0;font-size:12px}.recordMeta dt{color:var(--muted)}.recordMeta dd{margin:0;min-width:0}.breakable{overflow-wrap:anywhere}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);font-size:13px}.issue{display:grid;grid-template-columns:1fr 320px;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px}.meta dt{color:var(--muted);font-size:12px;margin-top:10px}.meta dd{margin:2px 0 0}.meta>dd>.recordMeta{margin-bottom:12px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filters select,.filters input{padding:6px 8px;border:1px solid var(--line);border-radius:4px}.field{margin-bottom:12px}.field span{display:block;font-size:12px;margin-bottom:4px;color:var(--muted)}.history{font-size:13px;color:var(--muted)}.history li{margin:8px 0}.userRow{display:flex;justify-content:space-between;gap:12px;padding:10px 0;align-items:center}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{display:none}.issue,.board,.statGrid{grid-template-columns:1fr}}@media(max-width:480px){.descRow,.recordMeta>div{grid-template-columns:1fr;gap:2px}}
