*{box-sizing:border-box}
.hidden{display:none!important}
body{margin:0;background:#f3f5f7;color:#253044;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Malgun Gothic",Arial,sans-serif}
.member-header{min-height:315px;display:flex;align-items:center;justify-content:center;background:#111c2f;color:#fff;text-align:center}
.member-header-inner{padding:25px}
.member-header h1{margin:17px 0 7px;font-size:27px}
.member-header p{margin:0;color:#cbd5e1;font-size:13px}
.member-page{width:min(900px,calc(100% - 28px));margin:auto;padding:25px 0 55px}
.member-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}
.member-tools h2{margin:0 0 5px;font-size:23px}
.member-tools p{margin:0;color:#64748b;font-size:12px}
.member-actions{display:flex;gap:8px}
.member-actions button,.member-search button{min-height:43px;border:0;border-radius:10px;padding:0 14px;background:#168a57;color:#fff;font-weight:800;cursor:pointer}
.member-actions .admin{background:#334155}
.member-actions .history-logout{background:#fff;color:#b91c1c;border:1px solid #fecaca}
.member-list-card{overflow:hidden;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 8px 25px #0f172a12}
.member-search{position:relative;display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:18px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#fff,#f8fbf9)}
.member-search .search-icon{position:absolute;z-index:1;left:32px;top:31px;color:#94a3b8;font-size:21px;line-height:1;pointer-events:none}
.member-search input{min-width:0;height:48px;border:1px solid #cbd5e1;border-radius:12px;padding:0 14px 0 42px;background:#fff;font-size:16px;outline:none;box-shadow:0 3px 10px #0f172a08}
.member-search input:focus{border-color:#168a57;box-shadow:0 0 0 3px #168a571c}
.member-search .light{border:1px solid #cbd5e1;background:#fff;color:#475569}
.member-filter-panel{margin:14px 18px;border:1px solid #cce8d9;border-radius:14px;background:#f5fbf7;overflow:hidden;box-shadow:0 5px 16px #168a570d}.filter-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #dcefe4;background:#eaf7ef}.filter-panel-head b,.filter-panel-head small{display:block}.filter-panel-head b{color:#166534;font-size:14px}.filter-panel-head small{margin-top:3px;color:#58806b;font-size:10px}.filter-panel-head>span{flex:none;padding:5px 9px;border-radius:999px;background:#168a57;color:#fff;font-size:10px;font-weight:800}.member-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px}.member-filters label{display:block;color:#475569;font-size:11px;font-weight:800}.member-filters label>span{display:block;margin:0 0 7px 2px}.member-filters select{width:100%;height:46px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px;background:#fff;color:#253044;font-size:13px;font-weight:700;outline:none}.member-filters select:focus{border-color:#168a57;box-shadow:0 0 0 3px #168a571c}
.member-list{min-height:170px}
.product-click-guide{margin:0;padding:10px 18px;border-bottom:1px solid #e2e8f0;background:#eef8f2;color:#167449;font-size:11px}
.member-row{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:12px;padding:15px 19px;border-bottom:1px solid #edf1f4}
.member-row:last-child{border-bottom:0}
.member-number{color:#94a3b8;font-size:12px;text-align:center}
.member-info b{display:block;font-size:15px}
.member-name-button{display:block;padding:0;border:0;background:none;color:#253044;font-size:15px;font-weight:800;text-align:left;text-decoration:underline;text-decoration-color:#9bd4b8;text-underline-offset:4px;cursor:pointer}
.member-info small{display:block;margin-top:5px;color:#64748b;font-size:11px}
.member-private{display:inline-flex;align-items:center;margin:5px 5px 0 0;padding:3px 7px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:10px;font-weight:800}
.member-private.paid.yes{background:#dcfce7;color:#15803d}.member-private.paid.no{background:#f1f5f9;color:#64748b}
.member-private.received{background:#fff7ed;color:#c2410c}
.member-manage-buttons{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.member-manage-buttons button{border:0;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer}.member-reset{background:#fef3c7;color:#92400e}.member-role{background:#dbeafe;color:#1d4ed8}.member-delete{background:#fee2e2;color:#b91c1c}
.member-empty{padding:55px 20px;color:#94a3b8;text-align:center}
.member-paging{display:flex;justify-content:center;gap:5px;padding:16px;border-top:1px solid #e2e8f0}
.member-paging button{min-width:36px;height:36px;border:1px solid #d8e0e8;border-radius:8px;background:#fff;color:#475569;font-weight:700;cursor:pointer}
.member-paging button.active{border-color:#168a57;background:#168a57;color:#fff}
.member-modal{position:fixed;z-index:150;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;background:#07101dcc}
.member-modal-box{width:min(430px,100%);max-height:92vh;overflow:auto;border-radius:18px;background:#fff;box-shadow:0 24px 70px #0007}
.member-modal-box header{display:flex;justify-content:space-between;gap:12px;padding:20px 21px 16px;border-bottom:1px solid #e2e8f0}
.member-modal-box header b,.member-modal-box header small{display:block}
.member-modal-box header b{font-size:20px}
.member-modal-box header small{margin-top:6px;color:#64748b;font-size:11px}
.member-modal-box header button{border:0;background:none;color:#64748b;font-size:28px;cursor:pointer}
.member-modal-body{padding:19px 21px 22px}
.member-modal-body label{display:block;margin:12px 0 7px;color:#374151;font-size:13px;font-weight:800}
.member-modal-body input{width:100%;height:50px;margin-top:7px;border:1px solid #cbd5e1;border-radius:10px;padding:0 13px;font-size:16px;outline:none}
.member-modal-body select{width:100%;height:50px;margin-top:7px;border:1px solid #cbd5e1;border-radius:10px;padding:0 13px;background:#fff;color:#253044;font-size:16px;outline:none}.role-guide{margin:10px 0 0;padding:10px;border-radius:9px;background:#eff6ff;color:#1d4ed8;font-size:11px;line-height:1.6}
.member-modal-body .paid-member-check{display:flex;align-items:center;gap:9px;margin:15px 0;padding:12px 13px;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;color:#166534}
.member-modal-body .paid-member-check input{width:18px;height:18px;margin:0;padding:0;box-shadow:none}
.member-modal-body input:focus{border-color:#168a57;box-shadow:0 0 0 3px #168a571c}
.form-error{min-height:20px;margin:10px 0;color:#dc2626;font-size:12px;font-weight:700;text-align:center}
.member-modal-body .submit{width:100%;min-height:51px;border:0;border-radius:10px;background:#168a57;color:#fff;font-weight:800;cursor:pointer}
.member-modal-body .guide{width:100%;margin-top:8px;padding:9px;border:0;background:transparent;color:#64748b;font-size:12px;text-decoration:underline;cursor:pointer}
.notice-box{max-width:370px;padding:27px;text-align:center}
.notice-box h3{margin:0 0 10px}
.notice-box p{margin:0;color:#64748b;font-size:13px;line-height:1.7;white-space:pre-line}
.notice-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}
.notice-actions button{min-height:45px;border:0;border-radius:9px;font-weight:800;cursor:pointer}
.notice-actions .cancel{background:#e2e8f0;color:#475569}
.notice-actions .ok{background:#168a57;color:#fff}
.notice-actions .cancel.hidden+.ok{grid-column:1/-1}
.product-history-box{width:min(650px,100%)}
.product-history-filter{padding:14px 21px 8px}.product-history-filter label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#374151;font-size:13px;font-weight:800}.product-history-filter input{height:43px;border:1px solid #cbd5e1;border-radius:9px;padding:0 11px;font:inherit;color:#253044;background:#fff}
.product-history-summary{margin:0 21px 5px;padding:12px 14px;border-radius:10px;background:#eef8f2;color:#167449;font-size:12px;font-weight:800;line-height:1.6}
.product-history-list{max-height:47vh;padding:5px 21px 10px;overflow:auto}
.product-history-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px 2px;border-bottom:1px solid #edf1f4}
.product-history-item b,.product-history-item small{display:block}
.product-history-item small{margin-top:5px;color:#64748b;font-size:11px}
.product-history-item strong{color:#168a57;text-align:right;font-size:13px;line-height:1.55}
.product-history-totals{display:grid;gap:8px;padding:14px 21px 21px;border-top:1px solid #e2e8f0}.history-total-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:10px;background:#f8fafc;font-size:13px;font-weight:800}.history-total-row.month{background:#168a57;color:#fff}.history-total-row strong{font-size:16px}
.sponsor-history-section{padding:0 21px 22px;border-top:1px solid #e2e8f0}.sponsor-history-section h3{margin:18px 0 4px;font-size:16px}.sponsor-history-section>p{margin:0 0 10px;color:#64748b;font-size:11px}.sponsor-history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sponsor-history-item{display:flex;align-items:center;gap:7px;min-height:43px;padding:9px 11px;border:1px solid #dcefe4;border-radius:10px;background:#f5fbf7;color:#166534;font-size:12px}.sponsor-history-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sponsor-history-empty{grid-column:1/-1;padding:18px;border-radius:10px;background:#f8fafc;color:#94a3b8;font-size:12px;text-align:center}
@media(max-width:650px){.member-header{min-height:285px}
.member-header h1{font-size:23px}
.member-page{width:min(100% - 20px,900px);padding-top:18px}
.member-tools{align-items:flex-start;flex-direction:column}
.member-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
.member-actions button{padding:0 8px;font-size:12px}
.member-search{grid-template-columns:1fr auto}
.member-search .light{grid-column:1/-1}
.member-search .search-icon{left:25px}.member-filter-panel{margin:10px}.filter-panel-head{align-items:flex-start}.filter-panel-head small{max-width:220px;line-height:1.45}.member-filters{grid-template-columns:1fr;padding:11px}.member-filters select{height:49px}
.member-row{grid-template-columns:42px 1fr auto;padding:14px 11px}
.member-manage-buttons{max-width:190px}.member-manage-buttons button{padding:7px;font-size:10px}
.member-modal{padding:7px}
.member-modal-body input{height:55px}
.sponsor-history-list{grid-template-columns:1fr}
}
