:root{font-family:Inter,"Noto Sans KR",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0f172a;background:#f1f5f9;font-size:14px;line-height:1.45}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f1f5f9}.wrap{width:min(100% - 32px,1440px);margin:0 auto}.site-header{background:#fff;border-bottom:1px solid #cbd5e1;color:#334155}.site-header .wrap{display:flex;align-items:stretch;min-height:52px;gap:0}.brand{display:flex;align-items:center;min-width:196px;padding:0 16px;border-right:1px solid #cbd5e1;color:#0f172a;font-size:15px;font-weight:750;letter-spacing:-.02em;text-decoration:none}.site-header nav{display:flex;align-items:stretch;flex:1}.site-header nav a{display:flex;align-items:center;padding:0 14px;border-right:1px solid #e2e8f0;color:#475569;font-size:13px;font-weight:650;text-decoration:none}.site-header nav a:hover,.site-header nav a:focus{background:#f8fafc;color:#0f172a}.site-header nav a[aria-current="page"]{background:#475569;color:#fff}.user,.logout{display:flex;align-items:center;padding:0 12px;font-size:12px}.user{border-left:1px solid #e2e8f0;color:#64748b}.logout{color:#334155;text-decoration:none}.logout:hover,.logout:focus{background:#f8fafc}.page-shell{padding:20px 0 28px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid #475569}.page-heading h1{margin:0;color:#0f172a;font-size:20px;line-height:1.2;letter-spacing:-.025em}.page-heading small{color:#64748b;font-size:12px}.footer{padding:14px 0 24px;border-top:1px solid #cbd5e1;color:#64748b;font-size:12px}.notice{margin:0 0 16px;padding:12px 14px;background:#fff;border:1px solid #cbd5e1;border-left:3px solid #475569}.notice p{margin:7px 0 0;color:#475569;font-size:13px}.notice h2{margin:10px 0 2px;font-size:16px}.badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid #86efac;border-radius:2px;background:#f0fdf4;color:#166534;font-size:11px;font-weight:750;letter-spacing:.02em}.login-shell{min-height:100vh;display:grid;place-items:center;padding:16px;background:#f1f5f9}.login-card{width:min(100%,390px);padding:24px;background:#fff;border:1px solid #cbd5e1;border-top:3px solid #475569}.login-card h1{margin:0;color:#0f172a;font-size:21px}.login-card>p{margin:4px 0 20px;color:#64748b;font-size:13px}.login-card form{display:grid;gap:7px}.login-card label{margin-top:5px;color:#334155;font-size:12px;font-weight:700}.login-card input,.filters select,.filters input{height:32px;padding:5px 8px;border:1px solid #94a3b8;border-radius:2px;background:#fff;color:#0f172a;font:inherit}.login-card input:focus,.filters select:focus,.filters input:focus{outline:2px solid #93c5fd;outline-offset:1px;border-color:#3b82f6}.login-card button{height:34px;margin-top:12px;border:1px solid #334155;border-radius:2px;background:#475569;color:#fff;font:inherit;font-weight:700;cursor:pointer}.login-card button:hover{background:#334155}.alert{margin:12px 0;padding:9px 10px;border:1px solid #fca5a5;border-left:3px solid #ef4444;background:#fef2f2;color:#991b1b;font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px}.metric{min-width:0;padding:12px;background:#fff;border:1px solid #cbd5e1}.metric h2{overflow:hidden;margin:0 0 10px;color:#475569;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.metric strong{display:block;overflow:hidden;color:#0f172a;font-size:23px;line-height:1.1;letter-spacing:-.03em;text-overflow:ellipsis}.metric small{display:block;margin-top:7px;color:#64748b;font-size:11px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 10px;border:1px solid #475569;border-radius:2px;background:#475569;color:#fff;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer}.button:hover,.button:focus{background:#334155;border-color:#334155}.button+.button{margin-left:5px}.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:10px}.filters label{display:grid;gap:3px;color:#475569;font-size:11px;font-weight:700}.filters .button{margin:0}.table-wrap{overflow:auto;margin-top:16px;background:#fff;border:1px solid #cbd5e1}table{width:100%;border-collapse:collapse;font-size:13px}caption{padding:10px 12px;border-bottom:1px solid #cbd5e1;background:#f8fafc;color:#334155;text-align:left;font-weight:700}th,td{padding:9px 10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:middle;white-space:nowrap}th{background:#f8fafc;border-bottom:1px solid #94a3b8;color:#334155;font-size:11px;font-weight:750;letter-spacing:.02em;text-transform:uppercase}tbody tr:hover{background:#f8fafc}tbody tr:last-child td{border-bottom:0}td a{color:#2563eb;font-weight:650;text-decoration:none}td a:hover,td a:focus{text-decoration:underline}.table-wrap:focus-within{outline:2px solid #93c5fd;outline-offset:2px}.inspection-image{display:block;width:min(100%,640px);margin-top:14px;border:1px solid #94a3b8;border-radius:0}.detail-grid{display:grid;grid-template-columns:170px minmax(0,1fr);gap:0;margin:16px 0;border:1px solid #cbd5e1}.detail-grid dt,.detail-grid dd{margin:0;padding:9px 10px;border-bottom:1px solid #e2e8f0}.detail-grid dt{background:#f8fafc;color:#334155;font-size:12px;font-weight:700}.detail-grid dd{color:#475569}.detail-grid dt:nth-last-of-type(1),.detail-grid dd:last-child{border-bottom:0}.status-error{color:#b91c1c}.status-warn{color:#92400e}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){:root{font-size:13px}.wrap{width:min(100% - 24px,1440px)}.site-header .wrap{flex-wrap:wrap}.brand{min-height:48px;flex:1;border-right:0}.user{border-left:1px solid #e2e8f0}.site-header nav{order:3;width:100%;overflow:auto;border-top:1px solid #e2e8f0}.site-header nav a{min-height:39px;padding:0 12px;white-space:nowrap}.page-shell{padding-top:16px}.page-heading{margin-bottom:12px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric{padding:10px}.filters{gap:8px}.filters label{min-width:calc(50% - 4px)}.filters .button{width:100%}.detail-grid{grid-template-columns:1fr}.detail-grid dt{border-bottom:0}.detail-grid dd{padding-top:0}.detail-grid dt:nth-last-of-type(1){border-bottom:0}}
