@font-face{font-family:Pretendard;src:url(/fonts/Pretendard/Pretendard-Thin.ttf) format("truetype");font-weight:100;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard/Pretendard-ExtraLight.ttf) format("truetype");font-weight:200;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard/Pretendard-Light.ttf) format("truetype");font-weight:300;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard/Pretendard-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard/Pretendard-Medium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard/Pretendard-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard/Pretendard-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard/Pretendard-ExtraBold.ttf) format("truetype");font-weight:800;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard/Pretendard-Black.ttf) format("truetype");font-weight:900;font-display:swap}@font-face{font-family:MalgunGothic;src:url(/fonts/MalgunGothic/malgun.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:MalgunGothic;src:url(/fonts/MalgunGothic/malgunbd.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:InterparkGothic;src:url(/fonts/InterparkGothic/InterparkGothicLight.ttf) format("truetype");font-weight:300;font-display:swap}@font-face{font-family:InterparkGothic;src:url(/fonts/InterparkGothic/InterparkGothicMedium.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:InterparkGothic;src:url(/fonts/InterparkGothic/InterparkGothicMedium.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:InterparkGothic;src:url(/fonts/InterparkGothic/InterparkGothicBold.ttf) format("truetype");font-weight:700;font-display:swap}:root{--c-primary: #2563EB;--c-primary-hover: #1D4ED8;--c-primary-light: #EFF6FF;--c-success: #059669;--c-success-light: #ECFDF5;--c-danger: #DC2626;--c-danger-light: #FEF2F2;--c-warning: #D97706;--c-warning-light: #FFFBEB;--c-bg: #F1F5F9;--c-surface: #FFFFFF;--c-border: #E2E8F0;--c-text: #0F172A;--c-text-2: #475569;--c-text-3: #94A3B8;--c-sidebar: #0F172A;--c-sidebar-border: rgba(255,255,255,.08);--sidebar-w: 248px;--header-h: 56px;--r-sm: 6px;--r: 8px;--r-lg: 12px;--r-xl: 16px;--sh-sm: 0 1px 2px rgba(0,0,0,.05);--sh: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06);--sh-md: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.06);--sh-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.05)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif;font-size:14px;line-height:1.6;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased}.layout{display:flex;min-height:100vh}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;background:var(--c-sidebar);display:flex;flex-direction:column;z-index:200}.sidebar-brand{padding:20px 20px 16px;border-bottom:1px solid var(--c-sidebar-border)}.sidebar-brand-name{font-size:14px;font-weight:700;color:#fff;line-height:1.4}.sidebar-brand-sub{font-size:11px;color:#ffffff61;margin-top:2px}.sidebar-nav{flex:1;padding:8px 0;overflow-y:auto}.nav-group-label{padding:12px 20px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#ffffff47}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 20px;color:#ffffff9e;text-decoration:none;font-size:13.5px;font-weight:500;border-left:3px solid transparent;transition:background .12s,color .12s,border-color .12s}.nav-link:hover{background:#ffffff12;color:#ffffffe6}.nav-link.active{background:#2563eb2e;color:#93c5fd;border-left-color:#3b82f6}.nav-link-icon{transition:transform .2s}.nav-link:hover .nav-link-icon{transform:scale(1.15)}.nav-link-icon{width:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}.nav-link-parent{cursor:default;pointer-events:none}.nav-link-parent.active{background:#2563eb1a;color:#ffffffbf;border-left-color:transparent}.nav-sub{padding-left:20px;margin-bottom:2px}.nav-sub-link{display:flex;align-items:center;padding:7px 20px 7px 28px;color:#ffffff80;text-decoration:none;font-size:12.5px;border-left:2px solid transparent;transition:background .12s,color .12s,border-color .12s;position:relative}.nav-sub-link:before{content:"";position:absolute;left:14px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:#ffffff40}.nav-sub-link:hover{background:#ffffff12;color:#ffffffd9}.nav-sub-link.active{color:#93c5fd;border-left-color:#3b82f6;background:#2563eb2e}.nav-sub-link.active:before{background:#3b82f6}.offering-mode-toggle{display:flex;border:1px solid var(--c-border);border-radius:var(--r);overflow:hidden}.offering-btn-full{display:inline}.offering-btn-short{display:none}.offering-mode-btn{flex:1;padding:10px 16px;font-size:14px;font-weight:500;background:var(--c-surface);border:none;cursor:pointer;color:var(--c-text-2);transition:background .12s,color .12s;text-align:center}.offering-mode-btn+.offering-mode-btn{border-left:1px solid var(--c-border)}.offering-mode-btn.active{background:var(--c-primary);color:#fff;cursor:default}.offering-mode-btn:not(.active):hover{background:var(--c-primary-light);color:var(--c-primary)}.dept-offering-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.dept-offering-row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--r)}.dept-offering-label{font-size:13.5px;font-weight:600;color:var(--c-text-1);min-width:90px;flex-shrink:0}.dept-offering-input{flex:1;margin:0;text-align:right}.dept-offering-preview{font-size:12px;color:var(--c-primary);font-weight:600;min-width:70px;text-align:right;flex-shrink:0}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--c-sidebar-border)}.sidebar-logout{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:var(--r);color:#ffffff73;font-size:12.5px;cursor:pointer;transition:all .12s;font-family:inherit}.sidebar-logout:hover{background:#dc262626;border-color:#dc262666;color:#fca5a5}.sidebar-pw-change:hover{background:#eab30826;border-color:#eab30866;color:#fde68a}.main{margin-left:var(--sidebar-w);flex:1;min-height:100vh;display:flex;flex-direction:column}.main.main-fixed{height:100vh;min-height:unset;overflow:hidden}.page-header{position:sticky;top:0;z-index:100;height:var(--header-h);background:var(--c-surface);border-bottom:1px solid var(--c-border);padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.page-title{font-size:15px;font-weight:700;color:var(--c-text)}.page-actions{display:flex;align-items:center;gap:8px}.page-body{padding:24px;flex:1;animation:pageEnter .3s ease-out}@keyframes pageEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--c-surface);border-radius:var(--r-lg);border:1px solid var(--c-border);box-shadow:var(--sh-sm);animation:cardIn .25s ease-out}@keyframes cardIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.card+.card{margin-top:16px}.card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--c-border)}.card-title{font-size:13.5px;font-weight:600;color:var(--c-text)}.card-body{padding:20px}.card-footer{padding:14px 20px;border-top:1px solid var(--c-border);display:flex;justify-content:flex-end;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 16px;height:32px;border-radius:var(--r);font-size:13px;font-weight:500;border:1px solid transparent;cursor:pointer;box-sizing:border-box;transition:all .12s;text-decoration:none;line-height:1;white-space:nowrap;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--c-primary);color:#fff;border-color:transparent}.btn-primary:hover:not(:disabled){background:var(--c-primary-hover)}.btn-ghost{background:transparent;color:var(--c-text-2);border-color:var(--c-border)}.btn-ghost:hover:not(:disabled){background:var(--c-bg);color:var(--c-text)}.btn-danger{background:var(--c-danger-light);color:var(--c-danger);border-color:#fecaca}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-success{background:var(--c-success-light);color:var(--c-success);border-color:#a7f3d0}.btn-success:hover:not(:disabled){background:#d1fae5}.btn-warning{background:var(--c-warning-light);color:var(--c-warning);border-color:#fde68a}.btn-warning:hover:not(:disabled){background:#fef3c7}.btn-sm{padding:0 10px;height:26px;font-size:12px}.btn-lg{padding:0 24px;height:38px;font-size:14px}.btn-block{width:100%}.form-group{margin-bottom:16px}.form-label{display:block;font-size:11.5px;font-weight:600;color:var(--c-text-2);margin-bottom:5px;text-transform:uppercase;letter-spacing:.05em}.form-control{width:100%;padding:9px 12px;font-size:13.5px;color:var(--c-text);background:#fff;border:1.5px solid var(--c-border);border-radius:var(--r);transition:border-color .12s,box-shadow .12s;font-family:inherit;line-height:1.5}.form-control:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px #2563eb1a;transition:border-color .2s,box-shadow .25s cubic-bezier(.22,1,.36,1)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.form-control::placeholder{color:var(--c-text-3)}.form-control.text-right{text-align:right}.form-control.input-error{border-color:var(--c-danger)}.form-control.input-error:focus{box-shadow:0 0 0 3px #dc26261a}.field-error{margin-top:4px;font-size:11.5px;color:var(--c-danger)}.custom-select-wrap{position:relative;width:100%}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 12px;font-size:13.5px;font-family:inherit;line-height:1.5;color:var(--c-text);background:#fff;border:1.5px solid var(--c-border);border-radius:var(--r);cursor:pointer;text-align:left;transition:border-color .12s,box-shadow .12s}.custom-select-trigger:hover{border-color:var(--c-text-3)}.custom-select-trigger.is-open{border-color:var(--c-primary);box-shadow:0 0 0 3px #2563eb1a}.custom-select-trigger.is-placeholder .custom-select-label{color:var(--c-text-3)}.custom-select-arrow{flex-shrink:0;color:var(--c-text-3);transition:transform .2s cubic-bezier(.22,1,.36,1)}.custom-select-arrow.is-open{transform:rotate(180deg)}.custom-select-list{position:absolute;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px 0;list-style:none;background:#fff;border:1.5px solid var(--c-border);border-radius:var(--r);box-shadow:var(--sh-md);z-index:300;max-height:220px;overflow-y:auto;animation:dropIn .15s ease-out}.custom-select-item{padding:9px 12px;font-size:13.5px;cursor:pointer;transition:background .1s,color .1s}.custom-select-item.is-focused{background:var(--c-primary-light);color:var(--c-primary)}.custom-select-item.is-selected{font-weight:600;color:var(--c-primary)}.form-control-pw:focus,.form-control-pw:focus:invalid{outline:none;border-color:var(--c-warning);box-shadow:0 0 0 3px #d977061f;background:#fffbeb}.form-grid{display:grid;gap:16px}.fg-2{grid-template-columns:1fr 1fr}.fg-3{grid-template-columns:1fr 1fr 1fr}.fg-4{grid-template-columns:1fr 1fr 1fr 1fr}.table-wrap{overflow-x:auto}.table-wrap-scroll{overflow:auto;flex:1;min-height:0}.table-wrap-scroll thead th{position:sticky;top:0;z-index:2;background:var(--c-surface)}.page-body-fill{display:flex;flex-direction:column;height:calc(100vh - var(--header-h));max-height:calc(100vh - var(--header-h));overflow:hidden}.page-body-fill>.card:last-of-type{flex:1;min-height:0;display:flex;flex-direction:column}.page-body-fill>.card:last-of-type>.table-wrap-scroll{flex:1;min-height:0}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table thead th{padding:10px 14px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-2);background:#f8fafc;border-bottom:1px solid var(--c-border);white-space:nowrap}.table tbody td{padding:11px 14px;border-bottom:1px solid #F8FAFC;vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .15s}.table tbody tr:hover td{background:#fafcff}.table tfoot td{padding:11px 14px;border-top:1.5px solid var(--c-border);vertical-align:middle}.col-right{text-align:right}.col-center{text-align:center}.table .col-right{text-align:right}.table .col-center,.table.table-center th,.table.table-center td{text-align:center}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;white-space:nowrap;transition:transform .15s,box-shadow .15s}.badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.badge-blue{background:#eff6ff;color:#2563eb}.badge-green{background:#f0fdf4;color:#16a34a}.badge-red{background:#fef2f2;color:#dc2626}.badge-gray{background:#f1f5f9;color:#64748b}.badge-yellow{background:#fffbeb;color:#d97706}.badge-purple{background:#f5f3ff;color:#7c3aed}.badge-info{background:#eff6ff;color:#2563eb}.badge-warn,.badge-warning{background:#fffbeb;color:#d97706}.badge-danger{background:#fef2f2;color:#dc2626}.badge-success{background:#f0fdf4;color:#16a34a}.alert{padding:10px 14px;border-radius:8px;font-size:14px;margin-top:8px}.alert-error{background:#fef2f2;color:#dc2626;border:1px solid #FECACA}.alert-success{background:#f0fdf4;color:#16a34a;border:1px solid #A7F3D0}.position-tag{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:1px 7px;border-radius:4px;white-space:nowrap;color:var(--tag-color, #6B7280);background:color-mix(in srgb,var(--tag-color, #6B7280) 12%,transparent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:var(--r-xl);box-shadow:var(--sh-lg);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;animation:slideUp .15s ease}.modal-sm{max-width:360px}.modal-lg{max-width:680px}@keyframes slideUp{0%{transform:translateY(14px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--c-border);gap:8px}.modal-header h3{flex:1;min-width:0;font-size:15px;font-weight:700;color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}.modal-title{font-size:15px;font-weight:700;color:var(--c-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--c-bg);border:none;border-radius:var(--r);cursor:pointer;color:var(--c-text-2);font-size:18px;transition:all .12s;line-height:1}.modal-close:hover{background:var(--c-border);color:var(--c-text)}.modal-body{padding:20px 24px}.modal-footer{padding:14px 24px;border-top:1px solid var(--c-border);display:flex;justify-content:flex-end;gap:8px}.toast-stack{position:fixed;top:16px;right:16px;z-index:2000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{position:relative;pointer-events:all;min-width:280px;max-width:380px;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--r);font-size:13.5px;box-shadow:0 4px 16px #00000021;animation:toastIn .25s ease forwards;transition:transform .25s ease,opacity .25s ease}.toast-leaving{animation:toastOut .28s ease forwards}@keyframes toastIn{0%{transform:translate(calc(100% + 24px));opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastOut{0%{transform:translate(0);opacity:1}to{transform:translate(calc(100% + 24px));opacity:0}}.toast-success{background:var(--c-success-light);color:#065f46;border:1px solid #6EE7B7}.toast-error{background:var(--c-danger-light);color:#991b1b;border:1px solid #FCA5A5}.toast-info{background:var(--c-primary-light);color:#1e40af;border:1px solid #BFDBFE}.toast-warn{background:#fffbeb;color:#92400e;border:1px solid #FDE68A}.toast-msg{flex:1}.toast-x{background:none;border:none;cursor:pointer;color:currentColor;opacity:.6;font-size:16px;line-height:1;padding:0}.toast-x:hover{opacity:1}@media (max-width: 768px){.toast-stack{top:64px;right:12px;left:12px}.toast{min-width:unset;max-width:unset;width:100%}}.search-wrap{position:relative}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--c-text-3);pointer-events:none;font-size:15px}.search-wrap .form-control{padding-left:33px}.autocomplete{position:absolute;top:calc(100% + 2px);left:0;right:0;background:#fff;border:1.5px solid var(--c-border);border-radius:var(--r);box-shadow:var(--sh-md);z-index:300;max-height:70vh;overflow-y:auto;list-style:none;animation:dropIn .12s ease-out}.autocomplete.closing{animation:dropOut .12s ease-in forwards;pointer-events:none}@keyframes dropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes dropOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.98)}}.autocomplete-item{padding:9px 12px;font-size:13.5px;cursor:pointer;transition:background .1s}.autocomplete-item:hover{background:var(--c-primary-light);color:var(--c-primary)}.autocomplete-item.is-active{background:#fef2f2;cursor:not-allowed;opacity:.65}.autocomplete-item.is-active:hover{background:#fee2e2;color:inherit}.loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px;color:var(--c-text-3);font-size:13.5px}.spin{display:inline-block;width:18px;height:18px;border:2.5px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;animation:spinning .65s linear infinite;flex-shrink:0}@keyframes spinning{to{transform:rotate(360deg)}}.empty{text-align:center;padding:48px 24px;color:var(--c-text-3)}.empty-icon{font-size:32px;margin-bottom:10px}.empty p{font-size:13.5px}.login-bg{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e3a5f);display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:#fff;border-radius:var(--r-xl);padding:36px 32px 32px;width:100%;max-width:360px;box-shadow:var(--sh-lg)}.login-header{text-align:center;margin-bottom:28px}.login-logo{width:48px;height:48px;background:var(--c-primary);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 14px}.login-title{font-size:20px;font-weight:800;color:var(--c-text)}.login-subtitle{font-size:13px;color:var(--c-text-2);margin-top:4px}.input-row{display:grid;align-items:center;gap:10px;padding:10px 14px;background:#f8fafc;border-radius:var(--r);border:1.5px solid transparent;transition:all .12s;margin-bottom:6px}.input-row:focus-within{background:#eff6ff;border-color:#bfdbfe}.input-row-2col{grid-template-columns:140px 1fr}.input-row-label{font-size:13px;font-weight:600;color:var(--c-text)}.expense-row{background:#f8fafc;border-radius:var(--r);border:1.5px solid transparent;padding:12px 14px;margin-bottom:8px;transition:all .12s}.expense-row:focus-within{background:#eff6ff;border-color:#bfdbfe}.expense-row-title{font-size:13px;font-weight:700;color:var(--c-text);margin-bottom:8px;display:flex;align-items:center;gap:6px}.expense-row-fields{display:grid;grid-template-columns:140px 1fr 1fr;gap:8px}.member-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--c-primary-light);border:1px solid #BFDBFE;border-radius:var(--r);margin-bottom:16px}.member-banner-name{font-size:15px;font-weight:700;color:var(--c-primary)}.member-banner-sub{font-size:12px;color:#3b82f6}.offering-tabs-wrap{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;overflow:visible;position:relative}.offering-tabs{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;flex:1;min-width:0}.offering-tabs-actions{display:flex;gap:4px;flex-shrink:0;padding-bottom:4px;overflow:visible}.offering-tab-action-btn{position:relative;overflow:visible;display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r);cursor:pointer;font-size:16px;color:var(--c-text-2);transition:background .15s,border-color .15s,color .15s;flex-shrink:0}.offering-tab-action-btn:hover{background:var(--c-primary-light);border-color:#bfdbfe;color:var(--c-primary)}.offering-tab-action-btn.danger:hover{background:#fef2f2;border-color:#fecaca;color:var(--c-danger)}.offering-tab-action-btn.btn-add{background:#f0fdf4;border-color:#16a34a;color:#15803d}.offering-tab-action-btn.btn-add:hover{background:#dcfce7;border-color:#15803d;color:#166534}.offering-tab-action-btn.btn-snap{background:#fff7ed;border-color:#f97316;color:#ea580c}.offering-tab-action-btn.btn-snap:hover{background:#ffedd5;border-color:#ea580c}.offering-tab-action-btn.btn-snap:disabled{opacity:.5;cursor:not-allowed}.offering-tab-action-btn.btn-manage{background:#eff6ff;border-color:#3b82f6;color:#2563eb}.offering-tab-action-btn.btn-manage:hover{background:#dbeafe;border-color:#2563eb;color:#1d4ed8}.offering-tab-input{padding:8px 12px;border:1.5px solid var(--c-primary);border-radius:var(--r);font-size:13px;font-weight:600;outline:none;width:130px;background:var(--c-surface);color:var(--c-text-1);min-height:34px;box-sizing:border-box}@keyframes tab-pop-in{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.offering-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r);cursor:pointer;font-size:13px;font-weight:500;color:var(--c-text-2);white-space:nowrap;position:relative;transition:background .15s,border-color .15s,color .15s;animation:tab-pop-in .25s ease-out}.offering-tab:hover{background:var(--c-primary-light);border-color:#bfdbfe;color:var(--c-primary)}.offering-tab.active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.offering-tab.inactive{opacity:.45}.offering-tab[draggable]{cursor:grab}.offering-tab.is-dragging{opacity:0;pointer-events:none}.offering-tab:not(.is-dragging){transition:transform .25s cubic-bezier(.2,0,0,1),background .15s,border-color .15s,color .15s}.offering-tab.pending-deactivate{background:#fff1f2;border-color:#fda4af;color:#be123c}.tab-deactivate-badge{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;background:#ef4444;color:#fff;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:10;transition:background .15s,box-shadow .15s}.tab-deactivate-badge.disabled{background:#d1d5db}.tab-deactivate-badge.selected{background:#dc2626;box-shadow:0 0 0 2px #fca5a5}.offering-tab-action-btn.btn-eyeoff{background:#fff7ed;border-color:#fdba74;color:#ea580c}.offering-tab-action-btn.btn-eyeoff:hover{background:#ffedd5;border-color:#f97316}.offering-tab-action-btn.btn-confirm{background:#f0fdf4;border-color:#86efac;color:#16a34a}.offering-tab-action-btn.btn-confirm:hover{background:#dcfce7;border-color:#4ade80}.action-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(6px);background:var(--c-text-1);color:#fff;font-size:11px;font-weight:500;padding:5px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;z-index:999;transition:opacity .18s ease,transform .18s ease}.action-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--c-text-1)}.offering-tab-action-btn:hover>.action-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.draft-row-enter{animation:draftSlideIn .2s ease-out}@keyframes draftSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.offering-tab-name{font-weight:600}.offering-tab-total{font-size:11px;font-weight:500;opacity:.85}.offering-tab.active .offering-tab-total{color:#dbeafe}.offering-tab-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;background:#f59e0b;border-radius:50%}.offering-tab.active .offering-tab-dot{background:#fde68a}.kbd-hint{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:10px 14px;background:#fffbeb;border:1px solid #FDE68A;border-radius:var(--r);font-size:12px;color:#92400e;margin-top:12px}.kbd{display:inline-flex;align-items:center;padding:1px 6px;background:#fff;border:1px solid #D97706;border-radius:4px;font-family:monospace;font-size:11px}.toggle{position:relative;display:inline-block;width:38px;height:20px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:#cbd5e1;border-radius:99px;transition:.2s;cursor:pointer}.toggle-track:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 2px #0003}.toggle input:checked+.toggle-track{background:var(--c-success)}.toggle input:checked+.toggle-track:before{transform:translate(18px)}.member-select-list{max-height:400px;overflow-y:auto;border:1px solid var(--c-border);border-radius:var(--r)}.divider{height:1px;background:var(--c-border);margin:16px 0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-2{gap:6px}.gap-4{gap:8px}.gap-6{gap:12px}.gap-8{gap:16px}.w-full{width:100%}.text-right{text-align:right}.text-center{text-align:center}.text-muted{color:var(--c-text-3)}.text-danger{color:var(--c-danger)}.text-success{color:var(--c-success)}.text-primary{color:var(--c-primary)}.font-bold{font-weight:700}.mt-2{margin-top:4px}.mt-4{margin-top:8px}.mt-6{margin-top:12px}.mt-8{margin-top:16px}.mt-12{margin-top:24px}.mb-4{margin-bottom:8px}.mb-6{margin-bottom:12px}.mb-8{margin-bottom:16px}.mobile-header{display:none}.mobile-menu-btn{display:flex;background:transparent;border:none;border-radius:8px;width:40px;height:40px;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:0;flex-shrink:0}.mobile-menu-btn span{display:block;width:20px;height:2px;background:#ffffffd9;border-radius:2px;transition:all .2s}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1050}@media (max-width: 768px){.mobile-header{display:flex;align-items:center;position:fixed;top:0;left:0;right:0;height:52px;background:var(--c-sidebar);z-index:1040;padding:0 8px;gap:8px;box-shadow:0 1px 6px #00000059}.mobile-header-title{font-size:14px;font-weight:600;color:#ffffffe0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-overlay{display:block}.sidebar{transform:translate(-100%);transition:transform .25s ease;z-index:1100}.sidebar.sidebar-open{transform:translate(0)}.layout{display:block}.main{margin-left:0;padding-top:52px}body{overflow-x:hidden}.page-header{position:relative;top:auto;height:auto;min-height:var(--header-h);padding:10px 16px;flex-wrap:wrap;gap:8px}.page-title{font-size:14px}.page-body{padding:16px}.card-header{flex-wrap:wrap;gap:8px;padding:12px 16px}.card-body{padding:16px}.offering-btn-full{display:none}.offering-btn-short{display:inline}.offering-mode-btn{white-space:nowrap}.autocomplete-item{display:flex;flex-wrap:wrap;align-items:center}.autocomplete-legal-name{flex-basis:100%;margin-left:0!important;margin-top:2px;color:var(--c-text-3);font-size:12px}.assembly-sections-grid{grid-template-columns:1fr!important}.yearend-selected-title{display:flex;flex-direction:column;gap:2px}.table{font-size:12.5px}.table thead th{padding:8px 10px}.table tbody td{padding:9px 10px}.modal-backdrop{padding:16px}.modal{border-radius:var(--r-xl);max-width:100%;max-height:88vh;width:100%}.modal-header{padding:16px 18px 12px}.modal-body{padding:16px 18px}.modal-footer{padding:12px 18px}.login-card{padding:28px 20px 24px}.fg-2,.fg-3,.fg-4,.expense-row-fields,.input-row-2col,.ledger-summary-grid,.ledger-layout{grid-template-columns:1fr}.ledger-sidebar{position:static;max-height:240px}.ledger-content{overflow-x:auto}}.ledger-layout{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:start}.ledger-sidebar{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;position:sticky;top:16px;max-height:calc(100vh - 120px);overflow-y:auto}.ledger-content{min-width:0}.ledger-year-btn,.ledger-month-btn,.ledger-date-btn{display:flex;align-items:center;gap:6px;width:100%;border:none;background:none;cursor:pointer;font-family:inherit;text-align:left;white-space:nowrap}.ledger-year-btn{padding:10px 12px;font-size:14px;font-weight:700;color:var(--c-text);background:var(--c-bg);border-bottom:1px solid var(--c-border)}.ledger-year-btn:hover{background:#e2e8f0}.ledger-year-btn span:first-child{font-size:10px;color:var(--c-text-3);width:12px}.ledger-month-btn{padding:8px 12px 8px 20px;font-size:13px;font-weight:600;color:var(--c-text-2);border-bottom:1px solid var(--c-border)}.ledger-month-btn:hover{background:var(--c-bg)}.ledger-month-btn span:first-child{font-size:9px;color:var(--c-text-3);width:12px}.ledger-date-btn{padding:7px 12px 7px 36px;font-size:13px;color:var(--c-text-2);border-bottom:1px solid var(--c-border)}.ledger-date-btn:hover{background:var(--c-bg);color:var(--c-text)}.ledger-date-btn.active{background:var(--c-primary);color:#fff;font-weight:600}.ledger-count{margin-left:auto;font-size:11px;font-weight:400;color:var(--c-text-3)}.ledger{background:#fff;padding:20px 16px;font-size:12px;color:#000;font-family:MalgunGothic,Malgun Gothic,맑은 고딕,sans-serif;max-width:920px;margin:0 auto}.l-header{display:flex;align-items:stretch;margin-bottom:6px}.l-title-area{flex:3;display:flex;align-items:center;justify-content:center}.l-title{font-size:28pt;font-weight:700;letter-spacing:.12em;padding-left:.12em;font-family:InterparkGothic,Malgun Gothic,맑은 고딕,sans-serif!important}.l-approval-area{flex:2;display:flex;justify-content:flex-end}.l-approval{border-collapse:collapse;width:100%;border:2px solid #000}.l-appr-label{border:1px solid #000;border-right:2px solid #000;font-size:11px;font-weight:700;text-align:center;width:24px;padding:2px;line-height:1.4;letter-spacing:.1em;vertical-align:middle}.l-appr-role{border:1px solid #000;border-bottom:2px solid #000;padding:3px 10px;font-size:10px;font-weight:700;text-align:center}.l-appr-sign{border:1px solid #000;height:46px}.l-info-row{display:flex;align-items:baseline;gap:12px;padding:4px 0 6px;border-bottom:2px solid #000;margin-bottom:4px;font-size:13px;font-weight:700}.l-info-date{white-space:nowrap}.l-info-memo{flex:1;border:none;border-bottom:1px dashed #999;outline:none;font-size:12px;font-family:inherit;padding:2px 4px;color:#000}.l-summary-tbl{width:100%;border-collapse:collapse;margin-bottom:6px}.l-summary-tbl td{padding:1px 5px;border:1px solid #000;font-size:12px}.ls-value{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:11px}.l-main-tbl{width:100%;border-collapse:collapse;margin-bottom:12px;border:2px solid #000}.l-main-tbl th,.l-main-tbl td{border:1px solid #000;padding:1px 5px}.lm-section-header{text-align:center;font-size:15px;font-weight:700;letter-spacing:.5em;padding:2px;border-bottom:2px solid #000!important}.lm-border-r{border-right:2px solid #000!important}.lm-th{text-align:center;letter-spacing:.3em;font-size:11px;padding:2px 4px;border-bottom:2px solid #000!important;white-space:nowrap}.lm-td{font-size:12px}.lm-td-name{overflow:hidden}.lm-td-amt{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;letter-spacing:-.02em}.l-inline-input{border:none;outline:none;text-align:center;font-size:11px;letter-spacing:-.02em;font-family:inherit;font-variant-numeric:tabular-nums;width:100%;padding:0;color:#000;background:transparent;-moz-appearance:textfield}.l-inline-input::-webkit-inner-spin-button,.l-inline-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.lm-td-note{padding:0 2px}.l-note-input{display:block;width:100%;border:none;outline:none;font-size:10px;font-family:Malgun Gothic,맑은 고딕,sans-serif;line-height:1.4;resize:none;overflow:hidden;background:transparent;color:#000;padding:1px 2px;min-height:18px;box-sizing:border-box;text-align:center}.l-note-input:focus{background:#fffde7}.l-info-cash-wrap{display:flex;align-items:baseline;gap:2px;font-size:13px;font-weight:700}.l-info-num-wrap{display:inline-grid;min-width:40px;font-size:13px;font-weight:700}.l-info-num-wrap:after{content:attr(data-value) " ";white-space:pre;visibility:hidden;font-size:13px;font-weight:700;font-family:inherit;font-variant-numeric:tabular-nums;grid-area:1 / 1;padding:0 2px}.l-info-cash-input{grid-area:1 / 1;border:none;outline:none;font-size:13px;font-family:inherit;font-variant-numeric:tabular-nums;font-weight:700;width:100%;padding:0 2px;color:#000;background:transparent;text-align:center}.l-info-note-wrap{display:inline-grid;min-width:4px;font-size:13px;font-weight:700}.l-info-note-wrap:after{content:attr(data-value) " ";white-space:pre;visibility:hidden;font-size:13px;font-weight:700;font-family:inherit;grid-area:1 / 1;padding:0}.l-info-note-input{grid-area:1 / 1;border:none;outline:none;font-size:13px;font-weight:700;font-family:inherit;color:#000;background:transparent;padding:0;width:100%;min-width:4px}.print-only{display:none}.lm-td-note .print-only{font-size:10px;line-height:1.4;word-break:break-all;font-family:Malgun Gothic,맑은 고딕,sans-serif;text-align:center;width:100%}.l-detail-header{text-align:center;font-size:15px;font-weight:700;letter-spacing:.5em;border:2px solid #000;border-bottom:none;padding:2px;margin-top:12px}.l-detail-tbl{width:100%;border-collapse:collapse;table-layout:fixed;border:2px solid #000;border-top:none}.l-detail-tbl th,.l-detail-tbl td{border:1px solid #000;padding:1px 4px}.ld-th{text-align:justify;text-align-last:justify;font-size:12px;padding:2px 4px;border-bottom:2px solid #000!important}.ld-td-name{font-size:11.5px;white-space:nowrap;overflow:hidden;text-align:center}.ld-td-amt{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;letter-spacing:-.02em}.ld-subtotal-row td{border-top:2px solid #000!important}@media print{.mobile-header{display:none!important}@page{margin:12mm 14mm}body *{visibility:hidden}#ledger-print,#ledger-print *{visibility:visible}#ledger-print{position:absolute;left:0;top:0;width:100%;padding:0;border:none;box-sizing:border-box}.no-print,.no-print-input{display:none!important}.print-only{display:inline!important}.page-header,.sidebar,.ledger-sidebar{display:none!important}.l-info-memo{border-bottom:none}.l-header,.l-info-row,.l-summary-tbl,.l-main-tbl{break-inside:avoid}.l-detail-header{break-after:avoid}.l-detail-tbl,.l-main-tbl tr,.l-detail-tbl tr{break-inside:avoid}.l-detail-tbl thead{display:table-header-group}}.dp-wrap{position:relative;display:block}.dp-trigger{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;background:transparent;border:none;border-radius:var(--r);cursor:pointer;color:var(--c-text);font-size:14px;font-family:inherit;transition:background .12s;white-space:nowrap;width:100%}.dp-trigger:hover{background:var(--c-bg)}.dp-trigger-icon{color:var(--c-text-2);flex-shrink:0}.dp-trigger-text{font-weight:500;flex:1;text-align:left}.dp-trigger-chevron{color:var(--c-text-3);flex-shrink:0;transition:transform .15s}.dp-trigger-chevron.dp-chevron-open{transform:rotate(180deg)}.dp-popup{z-index:1200;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:0 8px 28px #00000026;overflow:hidden;width:272px}.dp-head{display:flex;align-items:center;justify-content:space-between;background:var(--c-sidebar);padding:10px 8px}.dp-head-label{color:#fff;font-size:14px;font-weight:600}.dp-nav{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:#ffffffa6;padding:4px 6px;border-radius:var(--r-sm);transition:color .12s,background .12s}.dp-nav:hover{color:#fff;background:#ffffff1f}.dp-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#1e293b;padding:5px 8px 4px}.dp-wd{text-align:center;font-size:11px;font-weight:600;color:#ffffff73;letter-spacing:.02em}.dp-wd-sun{color:#dc2626bf}.dp-wd-sat{color:#2563ebbf}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:8px;gap:1px}.dp-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--r);font-size:12.5px;cursor:pointer;color:var(--c-text);font-family:inherit;transition:background .1s;position:relative}.dp-day:hover:not(.dp-day-sel){background:var(--c-bg)}.dp-day-other{color:var(--c-text-3)}.dp-day-today{font-weight:700}.dp-day-today:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:3px;height:3px;border-radius:50%;background:var(--c-sidebar)}.dp-day-sel{background:var(--c-sidebar)!important;color:#fff!important;font-weight:600}.dp-day-sun{color:var(--c-danger)}.dp-day-sat{color:var(--c-primary)}.dp-head-btns{display:flex;align-items:center;gap:4px}.dp-head-btn{background:transparent;border:none;cursor:pointer;color:#fff;font-size:14px;font-weight:600;font-family:inherit;padding:3px 8px;border-radius:var(--r-sm);transition:background .12s}.dp-head-btn:hover{background:#ffffff24}.dp-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:12px}.dp-mo{padding:10px 0;border:none;background:transparent;border-radius:var(--r);font-size:13px;font-family:inherit;cursor:pointer;color:var(--c-text);transition:background .1s;font-weight:500}.dp-mo:hover:not(.dp-mo-sel){background:var(--c-bg)}.dp-mo-today{font-weight:700;color:var(--c-sidebar)}.dp-mo-sel{background:var(--c-sidebar)!important;color:#fff!important;font-weight:600}.dp-year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:12px}.dp-yr{padding:10px 0;border:none;background:transparent;border-radius:var(--r);font-size:13px;font-family:inherit;cursor:pointer;color:var(--c-text);transition:background .1s;font-weight:500}.dp-yr:hover:not(.dp-yr-sel){background:var(--c-bg)}.dp-yr-today{font-weight:700;color:var(--c-sidebar)}.dp-yr-sel{background:var(--c-sidebar)!important;color:#fff!important;font-weight:600}.back-btn{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:12.5px;color:var(--c-text-2);font-family:inherit;padding:4px 6px;border-radius:var(--r-sm);transition:background .12s,color .12s}.back-btn:hover{background:var(--c-bg);color:var(--c-text)}.sms-phone-row{display:flex;gap:8px;align-items:stretch}.sms-phone-row .form-control{flex:1;min-width:0}.sms-send-btn{white-space:nowrap;padding:0 16px;min-height:38px;font-size:13px;font-weight:600;border-radius:var(--r);background:var(--c-primary);color:#fff;border:none;cursor:pointer;transition:background .12s,opacity .12s;display:flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0}.sms-send-btn:hover:not(:disabled){background:var(--c-primary-hover, #1d4ed8)}.sms-send-btn:disabled{opacity:.45;cursor:not-allowed}.sms-send-btn--countdown{background:var(--c-danger, #dc2626)!important;opacity:1!important;font-variant-numeric:tabular-nums}.sms-code-section{animation:sms-fade-in .25s ease}@keyframes sms-fade-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.sms-code-input{letter-spacing:6px;font-size:18px!important;font-weight:600;text-align:center}.sms-expiry{margin-left:8px;font-size:12px;font-weight:500;color:var(--c-text-3);font-variant-numeric:tabular-nums}.sms-expiry--warn{color:var(--c-danger, #dc2626)}.sms-fallback-notice{background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--r);padding:10px 14px;font-size:13px;color:#92400e;line-height:1.5;margin-bottom:16px;text-align:center}.sms-fallback-back{display:block;width:100%;margin-top:12px;padding:8px;background:none;border:none;color:var(--c-text-3);font-size:12.5px;cursor:pointer;text-decoration:underline;text-align:center;font-family:inherit}.sms-fallback-back:hover{color:var(--c-text-2)}@media (max-width: 640px){.hide-mobile{display:none!important}}
