:root{--brand:#1f4e5f;--brand2:#2e6e80;--bg:#f5f8fa;--line:#dee7ec;--text:#22333b;--muted:#6b7b84}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Malgun Gothic,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:15px;line-height:1.55}main{max-width:1080px;margin:0 auto;padding:24px 16px 60px}.topbar{background:var(--brand);color:#fff;z-index:10;justify-content:space-between;align-items:center;padding:10px 20px;display:flex;position:sticky;top:0}.topbar .brand{color:#fff;letter-spacing:1px;font-size:18px;font-weight:700;text-decoration:none}.topbar .brand span{opacity:.85;letter-spacing:0;margin-left:8px;font-size:14px;font-weight:400}.topbar nav{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.topbar nav a{color:#dce9ee;padding:6px 4px;font-size:14px;text-decoration:none}.topbar nav a.on{color:#fff;border-bottom:2px solid #fff}.topbar .who{color:#dce9ee;font-size:13px}.topbar button.linklike{color:#dce9ee;cursor:pointer;background:0 0;border:0;padding:6px 4px;font-size:13px}h1{color:var(--brand);margin:8px 0 16px;font-size:22px}h2{color:var(--brand2);margin:22px 0 10px;font-size:17px}.card{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:14px;padding:16px 18px}table.grid{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;overflow:hidden}table.grid th{background:var(--brand);color:#fff;text-align:left;padding:8px 10px;font-size:13px}table.grid td{border-top:1px solid var(--line);padding:8px 10px;font-size:14px}table.grid tr:nth-child(2n) td{background:#fafcfd}table.grid a{color:var(--brand2)}.badge{color:var(--brand);background:#e8f1f4;border-radius:10px;margin-right:4px;padding:1px 8px;font-size:12px;display:inline-block}.badge.lv1{color:#256d3b;background:#e7f4ea}.badge.lv2{color:#8a6100;background:#fff3dc}.badge.lv3{color:#a03030;background:#fbe4e4}.badge.st-초안{color:#55666f;background:#eef1f3}.badge.st-승인대기{color:#8a6100;background:#fff3dc}.badge.st-승인{color:#256d3b;background:#e7f4ea}.badge.st-반려{color:#a03030;background:#fbe4e4}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.filters select,.filters input[type=text],.filters input[type=number]{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 10px;font-size:14px}.btn{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:7px;padding:8px 16px;font-size:14px;text-decoration:none;display:inline-block}.btn.sub{color:var(--brand);border:1px solid var(--brand);background:#fff}.btn.small{padding:4px 10px;font-size:13px}.btn.danger{background:#a03030}.problem-card{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:12px;padding:14px 16px}.problem-card .meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;font-size:12.5px;display:flex}.qbody{overflow-x:auto}.qbody img{max-width:100%;height:auto}.answer-line{border-top:1px dashed var(--line);margin-top:10px;padding-top:8px;font-size:14px}.answer-line b{color:var(--brand2)}details.ans>summary{cursor:pointer;color:var(--brand2);-webkit-user-select:none;user-select:none;font-size:13.5px}.pagination{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.pagination a,.pagination span{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:6px;padding:5px 11px;font-size:13.5px;text-decoration:none}.pagination .cur{background:var(--brand);color:#fff;border-color:var(--brand)}.stat-row{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.stat{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:130px;padding:12px 18px}.stat .num{color:var(--brand);font-size:24px;font-weight:700}.stat .lab{color:var(--muted);font-size:12.5px}.err{color:#a03030;background:#fbe4e4;border-radius:8px;margin-bottom:12px;padding:10px 14px}.note{background:#fff8e8;border:1px solid #f0e2b6;border-radius:8px;margin-bottom:12px;padding:8px 12px;font-size:13.5px}.foot{text-align:center;color:var(--muted);padding:18px;font-size:12px}form.inline{display:inline}.field-row{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.field-row label{color:var(--muted);margin-bottom:3px;font-size:13.5px;display:block}.field-row input,.field-row select{border:1px solid var(--line);border-radius:7px;padding:8px 10px;font-size:14px}.unit-checks{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin:8px 0 14px;display:grid}.unit-checks label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;padding:8px 10px;font-size:13.5px}.unit-checks input{margin-right:6px}.mq-math-mode{font-size:105%}.qbody p{margin:.35em 0}.login-wrap{flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:20px;display:flex}.login-card{border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;max-width:360px;padding:28px 26px}.login-card h1{text-align:center;margin:0 0 4px;font-size:20px}.login-card .sub{text-align:center;color:var(--muted);margin-bottom:18px;font-size:13px}.login-card label{color:var(--muted);margin:10px 0 4px;font-size:13px;display:block}.login-card input{border:1px solid var(--line);border-radius:8px;width:100%;padding:10px 12px;font-size:15px}.login-card button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;margin-top:16px;padding:11px;font-size:15px;font-weight:700}.s-main{max-width:560px;margin:0 auto;padding:16px 14px 80px}.qno{color:var(--brand);font-weight:700}.meta{color:var(--muted);font-size:12.5px}.mcrow{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.mcrow label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;display:flex}.mcrow input{accent-color:var(--brand)}.partrow{align-items:center;gap:8px;margin-top:8px;display:flex}.partrow .lab{color:var(--muted);min-width:34px;font-size:13.5px}.partrow input{border:1px solid var(--line);border-radius:8px;flex:1;padding:9px 11px;font-size:15px}.tagopt{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;margin-top:6px;padding:9px 12px;font-size:14px;display:block}.tagopt input{accent-color:var(--brand);margin-right:6px}.codebox{letter-spacing:8px;text-align:center;border:1.5px solid var(--brand);border-radius:10px;width:100%;padding:12px;font-size:28px}
