.bill-page,.invoice-wrap{max-width:900px;margin:60px auto;padding:0 20px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Noto Sans KR",sans-serif;color:#20242b}.bill-search-card,.bill-admin-card{max-width:520px;margin:0 auto 24px;padding:34px 30px;background:#fff;border:1px solid #e2e6ec;border-radius:10px;box-shadow:0 5px 18px rgba(20,30,50,.08)}.bill-search-card h2{text-align:center;font-size:24px;margin:0 0 28px}.bill-field{margin-bottom:18px}.bill-field label{display:block;margin-bottom:8px;font-size:15px;font-weight:600}.bill-field input,.bill-field select{width:100%;height:48px;padding:0 13px;border:1px solid #d8dce3;border-radius:5px;background:#fff;font-size:15px;box-sizing:border-box}.bill-period-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bill-search-btn,.bill-upload-form button{width:100%;height:50px;border:0;border-radius:5px;background:#4d77ee;color:#fff;font-size:17px;font-weight:600;cursor:pointer}.bill-admin-card{max-width:700px}.bill-admin-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.bill-admin-head h3{margin:0 0 6px;font-size:20px}.bill-admin-head p,.bill-key-note{margin:0;color:#6c7280;font-size:14px}.bill-template-btn{padding:10px 14px;border:1px solid #ccd3df;border-radius:5px;color:#333;text-decoration:none;white-space:nowrap}.bill-upload-form{display:flex;gap:10px}.bill-upload-form input[type=file]{flex:1;padding:12px;border:1px solid #d8dce3;border-radius:5px}.bill-upload-form button{width:130px}.bill-key-note{margin-top:10px}.invoice-sheet{padding:35px 0;background:#fff}.invoice-sheet h1{text-align:center;font-size:26px;letter-spacing:2px;margin:0 0 16px}.invoice-line{height:2px;background:#252b34;margin-bottom:26px}.invoice-person{margin-bottom:20px}.invoice-person p{margin:6px 0;font-size:15px}.invoice-table{width:100%;border-collapse:collapse;table-layout:fixed}.invoice-table th,.invoice-table td{border:1px solid #c7ccd5;padding:12px 8px;text-align:center;font-size:14px;word-break:keep-all}.invoice-table th{background:#f5f7fa;font-weight:600}.invoice-table .num{text-align:right}.invoice-table .strong,.invoice-total-row{font-weight:700}.invoice-total-row td{background:#fafbfc}.invoice-final{text-align:center;font-size:18px;font-weight:700;margin:25px 0}.invoice-request{text-align:center;margin:30px 0}.invoice-notice{text-align:center;line-height:1.7;margin:55px 0 40px}.invoice-notice p{margin:0}.invoice-school{text-align:center;font-size:18px;font-weight:600}.invoice-actions{display:flex;gap:10px;margin-top:20px}.invoice-actions button{height:54px;border:0;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer}.invoice-print-btn{flex:1;background:#11182a;color:#fff}.invoice-back-btn{width:140px;background:#e9edf3;color:#333}@media(max-width:700px){.bill-page,.invoice-wrap{margin:30px auto;padding:0 14px}.bill-search-card,.bill-admin-card{padding:28px 20px}.bill-search-card h2{font-size:23px}.bill-field label,.bill-field input,.bill-field select{font-size:16px}.bill-upload-form{display:block}.bill-upload-form input[type=file]{width:100%;box-sizing:border-box;margin-bottom:10px}.bill-upload-form button{width:100%}.invoice-table-scroll{overflow-x:auto}.invoice-table{min-width:720px}.invoice-sheet h1{font-size:22px}.invoice-actions{flex-direction:column}.invoice-back-btn{width:100%}}@media print{body *{visibility:hidden!important}.invoice-sheet,.invoice-sheet *{visibility:visible!important}.invoice-sheet{position:absolute;left:0;top:0;width:100%;padding:15mm;box-sizing:border-box}.invoice-actions{display:none!important}.invoice-wrap{max-width:none;margin:0;padding:0}.invoice-table th,.invoice-table td{font-size:11pt}.invoice-sheet h1{font-size:20pt}@page{size:A4 portrait;margin:8mm}}

/* 관리자 청구서 목록 */
.bill-admin-list-card{max-width:1200px;margin:28px auto 0}
.bill-admin-btns{display:flex;gap:8px;flex:none}
.bill-delete-btn{background:#dc3545!important}
.bill-list-scroll{margin-top:20px;overflow-x:auto;border:1px solid #e2e6ec;border-radius:10px}
.bill-admin-table{width:100%;min-width:1050px;border-collapse:collapse;background:#fff;font-size:14px}
.bill-admin-table th,.bill-admin-table td{padding:12px 10px;border-bottom:1px solid #edf0f4;text-align:center;white-space:nowrap}
.bill-admin-table th{background:#f7f8fb;color:#333;font-weight:600}
.bill-admin-table td.subject{text-align:left;white-space:normal;min-width:180px}
.bill-admin-table td.num{text-align:right}
.bill-admin-table td.strong{font-weight:600}
.bill-admin-table .check{width:44px}
.bill-admin-table .empty{padding:50px 15px;color:#777;text-align:center}
.bill-pagination{display:flex;justify-content:center;gap:6px;margin-top:22px}
.bill-pagination a{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 9px;border:1px solid #dfe3e8;border-radius:6px;background:#fff;color:#555;text-decoration:none}
.bill-pagination a.on{border-color:#4f7cf3;background:#4f7cf3;color:#fff}
@media (max-width:768px){
  .bill-admin-head{align-items:flex-start}
  .bill-upload-form{align-items:stretch}
  .bill-admin-btns{width:100%}
  .bill-admin-btns button{flex:1}
}

/* 관리자 청구서 자료 관리 - 합불 명단형 전체폭 */
.bill-page{max-width:1340px;width:100%}
.bill-admin-list-card{width:100%;max-width:none;margin:70px auto 0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.bill-list-headline{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.bill-list-headline h3{margin:0 0 3px;font-size:25px;line-height:1.35;font-weight:700;color:#151515}
.bill-list-headline p{margin:0;color:#667085;font-size:15px}
.bill-head-buttons{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.bill-head-btn{display:inline-flex;min-width:100px;height:46px;padding:0 18px;align-items:center;justify-content:center;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#344054;font-size:15px;font-weight:600;cursor:pointer}
.bill-head-btn-sub:hover{background:#f2f4f7;color:#111}
.bill-head-btn-point{border-color:#10294b;background:#10294b;color:#fff}
.bill-head-btn-point:hover{border-color:#174fc9;background:#174fc9}
.bill-hidden-upload{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.bill-list-guide{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 12px;color:#667085;font-size:14px}
.bill-list-guide a{color:#344054;text-decoration:underline;text-underline-offset:3px}
.bill-list-scroll{margin-top:0;overflow-x:auto;border:1px solid #e4e7ec;border-radius:12px;background:#fff}
.bill-admin-table{width:100%;min-width:1180px;border-collapse:collapse;table-layout:fixed;background:#fff;font-size:15px}
.bill-admin-table th,.bill-admin-table td{height:62px;padding:14px 12px;border-bottom:1px solid #edf0f4;text-align:center;white-space:nowrap}
.bill-admin-table th{height:52px;background:#f8f9fb;color:#344054;font-weight:700}
.bill-admin-table tbody tr:last-child td{border-bottom:0}
.bill-admin-table tbody tr:hover{background:#fcfcfd}
.bill-admin-table td.subject{text-align:left;white-space:normal;min-width:190px}
.bill-admin-table .check{width:55px}
.bill-admin-table input[type=checkbox]{width:18px;height:18px}
.bill-status{display:inline-flex;min-width:68px;height:30px;padding:0 11px;align-items:center;justify-content:center;border-radius:999px;font-size:13px;font-weight:700}
.bill-status.current{background:#e1f2e2;color:#2d7132}
.bill-status.unpaid{background:#fbe6e6;color:#a13b3b}
.bill-pagination a.on{border-color:#10294b;background:#10294b}
@media(max-width:700px){
 .bill-page{padding-left:16px;padding-right:16px}
 .bill-admin-list-card{margin-top:50px}
 .bill-list-headline{align-items:center}
 .bill-list-headline h3{font-size:22px}
 .bill-list-guide{align-items:flex-start;flex-direction:column;gap:6px}
 .bill-head-btn{min-width:auto;height:44px;padding:0 14px}
}

/* 관리자 목록: 엑셀 A~M 항목 전체 표시 */
.bill-page{max-width:none;width:100%;box-sizing:border-box}
.bill-admin-list-card{width:100%;max-width:1300px !important}
.bill-admin-table{min-width:1900px;table-layout:auto}
.bill-admin-table th,.bill-admin-table td{padding-left:14px;padding-right:14px}
.bill-admin-table td.subject{min-width:250px}
.bill-admin-table th:nth-child(2),.bill-admin-table td:nth-child(2){min-width:90px}
.bill-admin-table th:nth-child(3),.bill-admin-table td:nth-child(3){min-width:100px}
.bill-admin-table th:nth-child(4),.bill-admin-table td:nth-child(4){min-width:110px}
.bill-admin-table th:nth-child(5),.bill-admin-table td:nth-child(5),
.bill-admin-table th:nth-child(6),.bill-admin-table td:nth-child(6){min-width:85px}
.bill-admin-table th:nth-child(7),.bill-admin-table td:nth-child(7){min-width:105px}
.bill-admin-table th:nth-child(9),.bill-admin-table td:nth-child(9),
.bill-admin-table th:nth-child(10),.bill-admin-table td:nth-child(10),
.bill-admin-table th:nth-child(11),.bill-admin-table td:nth-child(11){min-width:120px}
.bill-admin-table th:nth-child(12),.bill-admin-table td:nth-child(12),
.bill-admin-table th:nth-child(13),.bill-admin-table td:nth-child(13){min-width:110px}
.bill-admin-table th:nth-child(14),.bill-admin-table td:nth-child(14){min-width:180px}


/* 청구서 학교장 직인 영역 */
.invoice-school-sign{
    position:relative;
    width:290px;
    min-height:82px;
    margin:38px auto 0;
    text-align:center;
}
.invoice-school-name{
    position:relative;
    z-index:1;
    display:inline-block;
    padding-top:25px;
    font-size:20px;
    font-weight:600;
    line-height:1.4;
    letter-spacing:-.4px;
    white-space:nowrap;
}
.invoice-school-seal{
    position:absolute;
    z-index:2;
    top:0;
    right:8px;
    width:76px;
    height:76px;
    object-fit:contain;
    opacity:.95;
    pointer-events:none;
    user-select:none;
}
@media(max-width:700px){
    .invoice-school-sign{width:270px;min-height:76px;margin-top:34px}
    .invoice-school-name{padding-top:23px;font-size:18px}
    .invoice-school-seal{right:10px;width:70px;height:70px}
}
@media print{
    .invoice-school-sign{width:290px;min-height:82px;margin-top:38px}
    .invoice-school-name{padding-top:25px;font-size:15pt}
    .invoice-school-seal{top:0;right:8px;width:76px;height:76px}
}
