:root{font-family:Pretendard,"Noto Sans KR",Arial,sans-serif;color:#14213d;background:#f4f7fb;font-size:16px}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.loading{min-height:100vh;display:grid;place-items:center;color:#64748b}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#e9f1ff,#f7f9fc 50%,#eef2ff)}.auth-card{width:min(440px,100%);background:#fff;border:1px solid #dbe2ec;border-radius:24px;padding:30px;box-shadow:0 24px 70px #1e3a8a18}.brand{display:flex;align-items:center;gap:12px}.logo{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#1d4ed8;color:#fff;font-size:23px}.brand h1{margin:0;font-size:22px}.muted{color:#64748b;font-size:13px}.auth-tabs,.nav{display:flex;gap:4px;border-bottom:1px solid #e2e8f0;margin:24px 0 20px;overflow:auto}.auth-tabs button,.nav button{border:0;background:transparent;padding:12px 16px;color:#64748b;white-space:nowrap}.auth-tabs button.active,.nav button.active{color:#1d4ed8;font-weight:700;border-bottom:2px solid #1d4ed8}.field{display:block;margin:14px 0}.field span{display:block;margin-bottom:7px;font-size:14px;font-weight:700}.input{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:11px 12px;background:#fff}.input:focus{outline:3px solid #dbeafe;border-color:#2563eb}.btn{border:0;border-radius:10px;padding:10px 15px;font-weight:700;background:#1d4ed8;color:#fff}.btn:hover{background:#1e40af}.btn.light{background:#fff;color:#334155;border:1px solid #cbd5e1}.btn.green{background:#059669}.btn.red{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.btn.small{padding:7px 10px;font-size:13px}.btn.full{width:100%;margin-top:8px}.error{margin:12px 0;border:1px solid #fecaca;background:#fff1f2;color:#be123c;padding:11px 13px;border-radius:10px;font-size:14px}.notice{border:1px solid #fde68a;background:#fffbeb;color:#92400e;padding:16px;border-radius:14px;margin-bottom:18px}.top{background:#fff;border-bottom:1px solid #e2e8f0}.top-inner,.container{max-width:1440px;margin:auto;padding-left:28px;padding-right:28px}.top-inner{height:72px;display:flex;align-items:center;justify-content:space-between}.user{text-align:right;font-size:14px}.container{padding-top:25px;padding-bottom:50px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat,.panel{background:#fff;border:1px solid #dbe2ec;border-radius:18px;box-shadow:0 3px 12px #0f172a08}.stat{padding:19px}.stat .icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#dbeafe;color:#1d4ed8;margin-bottom:15px}.stat label{display:block;color:#64748b;font-size:14px}.stat strong{display:block;font-size:29px;margin-top:5px}.nav{margin-top:20px;margin-bottom:18px}.panel-head{padding:17px 20px;border-bottom:1px solid #eef2f7}.panel-head h2{font-size:17px;margin:0}.panel-head p{margin:4px 0 0;color:#64748b;font-size:13px}.panel-body{padding:20px}.grid2{display:grid;grid-template-columns:360px 1fr;gap:18px}.table-wrap{overflow:auto}table{width:100%;min-width:720px;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #eef2f7;vertical-align:middle}th{color:#64748b;font-size:12px}td small{display:block;color:#94a3b8;margin-top:3px}.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;border:1px solid}.pending{background:#fffbeb;color:#b45309;border-color:#fde68a}.approved,.active{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.rejected,.retired{background:#fff1f2;color:#be123c;border-color:#fecdd3}.actions{display:flex;justify-content:flex-end;gap:5px;white-space:nowrap}.empty{text-align:center;color:#94a3b8;padding:40px}.history{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #eef2f7}.history p{margin:2px 0}.hide{display:none!important}@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}}@media(max-width:560px){.top-inner,.container{padding-left:14px;padding-right:14px}.user .muted{display:none}.stats{grid-template-columns:1fr 1fr;gap:9px}.stat{padding:15px}.stat strong{font-size:24px}.panel-body{padding:15px}.auth-card{padding:22px}.nav button{padding:11px 12px}}
