@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;900&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{
  --paper:#F0ECE3; --paper-2:#E4DDCE; --kraft:#8B6F47; --kraft-2:#6E5738; --kraft-deep:#4A3B26;
  --ink:#22262B; --ink-soft:#585047; --seal:#9B2226; --seal-light:#C1373B; --line:#D6CDB8; --white:#FFFFFF;
  --sans:'Noto Sans KR', sans-serif; --mono:'IBM Plex Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:var(--sans); background:var(--paper); color:var(--ink); line-height:1.65;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:900px; margin:0 auto; padding:0 24px;}
.b-header{background:var(--kraft-deep); color:var(--white); padding:22px 0; border-bottom:1px solid var(--line);}
.b-header .wrap{display:flex; justify-content:space-between; align-items:center;}
.b-header .logo{font-weight:800; font-size:18px;}
.b-header a.back{font-size:13px; color:rgba(240,236,227,0.75);}
.b-main{padding:48px 0 80px;}
.b-title{font-size:24px; font-weight:800; color:var(--kraft-deep); margin-bottom:8px;}
.b-sub{font-size:14px; color:var(--ink-soft); margin-bottom:32px;}
.b-toolbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:14px;}
.b-count{font-family:var(--mono); font-size:13px; color:var(--ink-soft);}
.btn{display:inline-flex; align-items:center; gap:8px; padding:11px 22px; font-size:14px; font-weight:600; border:1px solid var(--seal); background:var(--seal); color:var(--white); cursor:pointer; transition:.2s;}
.btn:hover{background:transparent; color:var(--seal);}
.btn-ghost{background:transparent; color:var(--kraft-deep); border:1px solid var(--line);}
.btn-ghost:hover{border-color:var(--kraft-deep);}

table.b-list{width:100%; border-collapse:collapse; background:var(--white); border:1px solid var(--line);}
table.b-list th{background:var(--paper-2); font-size:12.5px; color:var(--ink-soft); text-align:left; padding:12px 14px; border-bottom:1px solid var(--line); font-weight:600;}
table.b-list td{padding:14px; font-size:14px; border-bottom:1px solid var(--line); color:var(--ink);}
table.b-list tr:last-child td{border-bottom:none;}
table.b-list tr:hover td{background:var(--paper-2);}
.b-list .num{font-family:var(--mono); color:var(--ink-soft); width:50px;}
.b-list .date{font-family:var(--mono); font-size:12.5px; color:var(--ink-soft); width:100px;}
.b-list .status{font-size:11.5px; font-family:var(--mono); padding:3px 8px; display:inline-block;}
.status-wait{background:#EFE7D6; color:var(--kraft-2);}
.status-done{background:#E3EEDC; color:#3F5A2E;}
.lock-icon{color:var(--seal); margin-right:4px; font-size:12px;}

.b-empty{padding:60px 0; text-align:center; color:var(--ink-soft); font-size:14px; border:1px dashed var(--line);}

.b-form{background:var(--white); border:1px solid var(--line); padding:32px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.field{display:flex; flex-direction:column; gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-size:12.5px; color:var(--ink-soft); font-weight:600;}
.field input, .field select, .field textarea{border:1px solid var(--line); background:var(--paper); padding:12px 14px; font-size:14px; font-family:var(--sans); color:var(--ink); width:100%; max-width:100%; box-sizing:border-box;}
.field input[type="file"]{padding:10px 8px;}
.field textarea{min-height:120px; resize:vertical;}
.field-check{display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--ink-soft);}
.hint{font-size:12px; color:var(--kraft-2); margin-top:6px;}

.b-detail{background:var(--white); border:1px solid var(--line); padding:32px;}
.b-detail .meta{display:flex; justify-content:space-between; border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:20px; font-size:13px; color:var(--ink-soft);}
.b-detail .msg{white-space:pre-wrap; font-size:15px; line-height:1.8; margin-bottom:24px;}
.reply-box{background:var(--paper-2); border-left:3px solid var(--seal); padding:18px 20px; margin-top:20px;}
.reply-box .r-label{font-family:var(--mono); font-size:12px; color:var(--seal); margin-bottom:8px;}

.alert{padding:14px 18px; background:#EFE7D6; border:1px solid var(--line); font-size:13.5px; color:var(--kraft-deep); margin-bottom:20px;}
.alert-error{background:#F5E2E2; border-color:var(--seal-light); color:var(--seal);}
.action-row{display:flex; gap:10px; margin-top:24px;}

@media (max-width:640px){
  .form-row{grid-template-columns:1fr;}
  table.b-list th:nth-child(1), table.b-list td:nth-child(1){display:none;}
}
