:root{color:#1c2740;background:#eef3f0;font-family:Pretendard,Apple SD Gothic Neo,sans-serif;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:48px 8vw;background:#eef3f0}.kicker{display:inline-block;margin-bottom:22px;padding:6px 12px;border-radius:999px;background:#e3f3ea;color:#147a55;font-size:12px;font-weight:700;letter-spacing:.04em}.login h1{font-size:44px;line-height:1.25;letter-spacing:-.04em;font-weight:800}.login .sub{margin-top:18px;color:#667085}.login .points{margin-top:36px;display:grid;gap:16px;color:#3d4a5c}.card{background:#fff;border-radius:22px;padding:42px 40px 28px;box-shadow:0 12px 40px #1827200f}.brand{display:grid;justify-items:center;gap:8px;margin-bottom:28px}.brand strong{font-size:20px;letter-spacing:-.03em}.brand span{color:#8b95a5;font-size:11px;letter-spacing:.08em}.card h2{font-size:22px;letter-spacing:-.03em}.hint{margin:8px 0 18px;color:#667085;font-size:14px}.field{display:grid;gap:7px;margin-bottom:14px;font-size:13px;font-weight:650;color:#243044}.field input,.field textarea,.cell,.replybox textarea,.note textarea{width:100%;border:1px solid #d3e2da;border-radius:12px;padding:12px 14px;background:#f7fbf8;font-weight:500;transition:border-color .15s,box-shadow .15s,background .15s}.field textarea,.replybox textarea{min-height:96px;resize:vertical;line-height:1.55}.field input:focus,.field textarea:focus,.cell:focus,.replybox textarea:focus,.note textarea:focus{outline:none;border-color:#0f6b52;background:#fff;box-shadow:0 0 0 4px #0f6b521f}input.num{min-width:96px;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.replybox{display:grid;grid-template-columns:1fr 132px;gap:10px;align-items:stretch;margin-top:10px}.replybox .primary{height:100%;margin:0;width:100%}.note textarea{margin-top:8px;color:#243044;background:#fff}.entry{border:1px solid #e4eee8;border-radius:16px;padding:14px 16px 6px;margin-top:12px;background:#fcfefd}.actions{display:flex;gap:8px;align-items:center;margin:8px 0 14px}.pass{display:grid;grid-template-columns:1fr auto;gap:8px}.ghost,.primary,.texty{border:0;border-radius:10px}.ghost{background:#fff;border:1px solid #d7e0db;padding:0 14px}.primary{width:100%;margin-top:6px;padding:14px 16px;background:#0f6b52;color:#fff;font-weight:750}.primary.slim{width:auto;margin:0}.texty{background:transparent;color:#0f6b52;font-weight:700;padding:0}.fine{margin-top:12px;color:#8b95a5;font-size:12px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:end}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.shell{min-height:100vh;display:grid;grid-template-columns:232px 1fr;background:#f4f7f5}.side{background:#fff;border-right:1px solid #e6eeea;padding:22px 14px;display:flex;flex-direction:column;gap:4px}.side .logo{padding:6px 10px 16px}.side .logo small{display:block;margin-top:8px;color:#8b95a5;font-size:11px;letter-spacing:.12em}.navbtn{text-align:left;border:0;background:transparent;border-radius:10px;padding:11px 12px;color:#3d4a5c}.navbtn.on{background:#e7f4ee;color:#0f6b52;font-weight:750}.side .logout{margin-top:auto}.main{padding:28px 32px 48px}.top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.top h1{font-size:30px;letter-spacing:-.04em}.top p{margin-top:6px;color:#667085}.badge{color:#3d8f6e;font-size:13px}.switch{min-width:280px;background:#fff;border-radius:16px;padding:16px 18px;display:flex;justify-content:space-between;gap:12px;align-items:center;margin:16px 0}.switch .picker{width:248px;flex:0 0 248px}.picker{position:relative;width:100%;min-width:0}.picker-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;border:1px solid #d3e2da;border-radius:12px;padding:12px 16px;background:#f7fbf8;font-weight:560;color:#1c2740}.picker-btn>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-caret{flex:0 0 18px;width:18px;height:18px;margin-right:2px;display:grid;place-items:center;color:#5c6b78}.picker.open .picker-caret{transform:rotate(180deg);color:#0f6b52}.picker.open .picker-btn,.picker-btn:focus-visible{outline:none;border-color:#0f6b52;background:#fff;box-shadow:0 0 0 4px #0f6b521f}.picker-btn:disabled{opacity:.55;cursor:default}.picker-menu{position:fixed;z-index:40;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid #d7e6de;border-radius:14px;box-shadow:0 16px 36px #18272024;max-height:280px;overflow:auto;animation:picker-drop .14s ease}.picker-menu button{width:100%;text-align:left;border:0;border-radius:10px;padding:10px 12px;background:transparent;font-weight:550;color:#1c2740}.picker-menu button:hover{background:#eef7f2}.picker-menu button.on{background:#e7f4ee;color:#0f6b52;font-weight:700}@keyframes picker-drop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.filters>.picker{flex:0 1 240px;min-width:200px}.panel{overflow-x:auto;background:#fff;border-radius:16px;padding:18px;margin-top:12px}.kpi{background:#fff;border-radius:16px;padding:18px 18px 16px}.kpi b{display:block;margin:8px 0 2px;font-size:28px;letter-spacing:-.04em}.kpi span,.muted{color:#8b95a5;font-size:13px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid #eef2f0}th{color:#8b95a5;font-weight:600}tr.pick{background:#f3faf6}.filters{display:flex;gap:10px;margin:14px 0;align-items:end;flex-wrap:wrap}.filters .field{margin:0;min-width:180px}.pill{display:inline-block;background:#f4ecda;color:#8a6420;border-radius:999px;padding:4px 10px;font-size:12px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}.note{background:#f7f3ea;border-radius:12px;padding:12px 14px;color:#6d5a32;font-size:13px}.save{color:#0f6b52;font-size:13px}@media(max-width:960px){.login,.shell,.split,.grid3,.grid2{grid-template-columns:1fr}.login h1{font-size:34px}.side{border-right:0;border-bottom:1px solid #e6eeea}}
