: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}.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-block;font-size:11px;padding:2px 6px;border-radius:3px;background:var(--blue-soft);color:var(--blue);margin-right:4px}.badge.high{background:#ffebe6;color:var(--danger)}.badge.low{background:#e3fcef;color:var(--ok)}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}.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;border-bottom:1px solid var(--line)}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{display:none}.issue,.board{grid-template-columns:1fr}}
