:root{--bg:#f5f7fb;--card:#fff;--line:#dfe4ea;--text:#1f2937;--muted:#6b7280;--accent:#2563eb;--danger:#dc2626;--ok:#059669;--warn:#d97706;--purple:#7c3aed}
*{box-sizing:border-box}body{margin:0;font-family:Arial,'Noto Sans KR',sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.wrap{max-width:1450px;margin:auto;padding:20px}.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.top h1{margin:0;font-size:24px}.sub{font-size:13px;color:var(--muted)}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px;box-shadow:0 2px 8px rgba(0,0,0,.03)}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn{border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}.primary{background:var(--accent);color:#fff}.secondary{background:#eef2ff;color:#1e40af}.ghost{background:#f3f4f6;color:#374151}.danger{background:#fee2e2;color:#991b1b}.ok{background:#d1fae5;color:#065f46}.warn{background:#fef3c7;color:#92400e}.purple{background:#ede9fe;color:#5b21b6}input,select,textarea{border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-size:14px;background:#fff}.search{min-width:300px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafafa}.stat b{font-size:22px;display:block}.stat span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto;max-height:560px;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;min-width:1100px}th,td{border-bottom:1px solid var(--line);padding:9px 8px;text-align:left;font-size:13px;white-space:nowrap}th{position:sticky;top:0;background:#f8fafc;z-index:1}.status{font-size:12px;font-weight:700;padding:4px 8px;border-radius:999px;display:inline-block}.gray{background:#f3f4f6}.blue{background:#dbeafe;color:#1d4ed8}.green{background:#d1fae5;color:#065f46}.yellow{background:#fef3c7;color:#92400e}.red{background:#fee2e2;color:#991b1b}.violet{background:#ede9fe;color:#5b21b6}.notice{padding:12px;border-radius:10px;margin-bottom:12px;font-weight:700}.notice.warn{background:#fff7ed;border:1px solid #fdba74}.notice.info{background:#eff6ff;border:1px solid #93c5fd}.notice.ok{background:#ecfdf5;border:1px solid #6ee7b7}.grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.grid .full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700}.empty{text-align:center;color:var(--muted);padding:30px}.badge{font-size:11px;font-weight:700;padding:3px 7px;border-radius:999px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.role-card{padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.05)}.role-card h2{margin-top:0}.role-card p{color:var(--muted);min-height:48px}dialog{border:0;border-radius:14px;padding:0;width:min(900px,95vw);box-shadow:0 20px 60px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(0,0,0,.35)}.modal-head{padding:16px;border-bottom:1px solid var(--line);font-weight:800}.modal-body{padding:16px}.modal-foot{padding:14px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.action-card{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafafa}.action-title{font-size:16px;font-weight:800;margin-bottom:5px}.hidden{display:none!important}@media(max-width:900px){.grid,.stats,.role-grid{grid-template-columns:1fr 1fr}.search{min-width:100%}}@media(max-width:600px){.grid,.stats,.role-grid{grid-template-columns:1fr}}

.reply-detail{border:1px solid var(--line);border-radius:10px;background:#fafafa;overflow:hidden}.reply-detail summary{list-style:none;cursor:pointer;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.reply-detail summary::-webkit-details-marker{display:none}.reply-detail summary:hover{background:#f3f6fb}.reply-summary-main{min-width:0}.reply-open-text{font-size:12px;font-weight:800;color:#2563eb;white-space:nowrap}.reply-detail[open] .reply-open-text::after{content:' 닫기'}.reply-detail[open] .reply-open-text{font-size:0}.reply-detail[open] .reply-open-text::after{font-size:12px}.reply-content{padding:14px;border-top:1px solid var(--line);background:#fff}.reply-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px}.reply-grid>div{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fafafa}.reply-grid b,.reply-grid span{display:block}.reply-grid b{font-size:12px;color:var(--muted);margin-bottom:5px}.reply-message{margin-top:12px;border-left:4px solid #93c5fd;background:#eff6ff;border-radius:6px;padding:10px}.reply-message b{display:block;margin-bottom:5px}.reply-items{margin-top:14px}.reply-items>.table-wrap{margin-top:7px;max-height:260px}.reply-items table{min-width:800px}@media(max-width:800px){.reply-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.reply-grid{grid-template-columns:1fr}.reply-detail summary{align-items:flex-start}}

.wide-dialog{width:min(1100px,95vw)}
.btn.small{padding:6px 10px;font-size:12px}
.material-group-list{display:grid;gap:14px;margin-top:16px}
.material-card{border:1px solid #dfe4ea;border-radius:12px;padding:14px;background:#fff}
.material-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:16px}
.material-seq{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eef2ff;margin-right:7px;font-size:12px;font-weight:700}
.reply-grid.compact{margin-bottom:12px}

.schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.schedule-box{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fafafa}.schedule-box h3{margin:0 0 10px}.schedule-table{max-height:280px}.schedule-table table{min-width:720px}.compact-empty{padding:18px}.muted-number{color:var(--muted)}@media(max-width:900px){.schedule-grid{grid-template-columns:1fr}}

.import-result-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.import-result-stat{border:1px solid var(--line);border-radius:10px;background:#fafafa;padding:12px}.import-result-stat b{display:block;font-size:22px}.import-result-stat span{font-size:12px;color:var(--muted)}.import-ready-table{max-height:380px}.import-ready-table table{min-width:1000px}.btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:700px){.import-result-grid{grid-template-columns:1fr 1fr}}

.schedule-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.schedule-title-row h2{margin:0 0 4px}.schedule-summary{white-space:nowrap}.schedule-done-row{opacity:.68;background:#f8fafc}.schedule-check-time{font-size:10px;color:var(--muted);margin-top:4px}.overdue-box{border:1px solid #fca5a5;background:#fff7f7;border-radius:10px;padding:12px;margin-top:12px}.overdue-head{display:flex;align-items:center;gap:8px;margin-bottom:3px}.overdue-box .schedule-table{margin-top:10px;max-height:260px}@media(max-width:700px){.schedule-title-row{display:block}.schedule-summary{margin-top:10px}}
