.app-layout[data-v-47524a60]{display:flex;flex-direction:column;min-height:100vh}.main-area[data-v-47524a60]{flex:1;display:flex;flex-direction:column;background-color:#f4f7f6}.top-header[data-v-47524a60]{background-color:#1e2a38;color:#fff;padding:6px 40px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 5px #0000001a}.header-left[data-v-47524a60]{display:flex;align-items:center;gap:15px}.logo[data-v-47524a60]{margin:0;font-size:18px;font-weight:800;cursor:pointer;letter-spacing:.5px;color:#3498db}.logo[data-v-47524a60]:hover{color:#5dade2}.page-divider[data-v-47524a60]{color:#555;font-size:18px;font-weight:300}.breadcrumb[data-v-47524a60]{display:flex;align-items:center;gap:8px;font-size:14px}.breadcrumb-separator[data-v-47524a60]{color:#556c82;font-weight:300;-webkit-user-select:none;user-select:none}.breadcrumb-link[data-v-47524a60]{color:#3498db;text-decoration:none;font-weight:500;transition:color .2s}.breadcrumb-link[data-v-47524a60]:hover{color:#5dade2;text-decoration:underline}.breadcrumb-current[data-v-47524a60]{color:#ecf0f1;font-weight:600}.header-right[data-v-47524a60]{display:flex;align-items:center;gap:20px}.header-user[data-v-47524a60]{display:flex;align-items:center;gap:15px}.user-info[data-v-47524a60]{display:flex;flex-direction:column;align-items:flex-end}.user-name[data-v-47524a60]{font-weight:600;font-size:14px}.user-role-display[data-v-47524a60]{font-size:11px;color:#b0bec5;margin-top:2px}.logout-btn[data-v-47524a60]{padding:6px 15px;background-color:#c0392b;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:13px;transition:background-color .2s}.logout-btn[data-v-47524a60]:hover{background-color:#a93226}.main-content[data-v-47524a60]{flex:1;padding:30px 40px;overflow-y:auto;margin:0 auto;width:100%;max-width:1400px}.loading[data-v-47524a60]{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:#555}@media(max-width:768px){.top-header[data-v-47524a60]{padding:12px 20px;flex-direction:column;gap:10px}.header-right[data-v-47524a60]{width:100%;justify-content:space-between}}.scroll-top-btn[data-v-47524a60]{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background-color:#3498db;color:#fff;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 12px #00000026;z-index:9999;transition:all .2s ease-in-out;outline:none}.scroll-top-btn[data-v-47524a60]:hover{background-color:#2980b9;transform:translateY(-3px);box-shadow:0 6px 16px #0003}.scroll-top-btn[data-v-47524a60]:active{transform:translateY(-1px)}.arrow-up-icon[data-v-47524a60]{width:20px;height:20px}.fade-enter-active[data-v-47524a60],.fade-leave-active[data-v-47524a60]{transition:opacity .3s,transform .3s}.fade-enter-from[data-v-47524a60],.fade-leave-to[data-v-47524a60]{opacity:0;transform:scale(.8) translateY(10px)}.login-container[data-v-365852f0]{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f4f7f6}.login-card[data-v-365852f0]{background:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:450px}.login-title[data-v-365852f0]{text-align:center;color:#2c3e50;margin-bottom:5px;font-size:24px}.login-subtitle[data-v-365852f0]{text-align:center;color:#7f8c8d;margin-bottom:30px;font-size:14px}.input-group[data-v-365852f0]{margin-bottom:20px}.input-group label[data-v-365852f0]{display:block;margin-bottom:8px;color:#34495e;font-size:14px;font-weight:500}.input-group input[data-v-365852f0]{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:14px}.input-group input[data-v-365852f0]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.login-button[data-v-365852f0]{width:100%;padding:12px;background-color:#3498db;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s}.login-button[data-v-365852f0]:hover{background-color:#2980b9}.error-message[data-v-365852f0]{color:#e74c3c;background-color:#fadbd8;padding:10px;border-radius:4px;margin-bottom:20px;font-size:14px;text-align:center}.menu-content[data-v-75833d42]{max-width:1000px;margin:0 auto}.welcome-section[data-v-75833d42]{margin-bottom:40px;padding:20px 0;border-bottom:2px solid #e9ecef}.welcome-section h2[data-v-75833d42]{font-size:28px;color:#2c3e50;margin-bottom:5px}.welcome-section p[data-v-75833d42]{color:#666;font-size:16px}.nav-grid[data-v-75833d42]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px;margin-bottom:50px}.nav-card[data-v-75833d42]{background:#fff;padding:30px;border-radius:12px;box-shadow:0 4px 15px #0000000d;display:flex;align-items:center;gap:20px;cursor:pointer;transition:all .3s cubic-bezier(.165,.84,.44,1);border:1px solid #f1f3f5}.nav-card[data-v-75833d42]:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001a;border-color:#3498db}.nav-card--primary[data-v-75833d42]{border-left:5px solid #3498db}.nav-card--qr[data-v-75833d42]{border-left:5px solid #06c755;background:linear-gradient(135deg,#fff,#f0fff4)}.nav-card--qr[data-v-75833d42]:hover{border-color:#04a544}.nav-card--csv[data-v-75833d42]{border-left:5px solid #27ae60;background:linear-gradient(135deg,#fff,#f0fff4)}.nav-card--csv[data-v-75833d42]:hover{border-color:#1e8449}.nav-card--template[data-v-75833d42]{border-left:5px solid #9b59b6;background:linear-gradient(135deg,#fff,#fdf4ff)}.nav-card--template[data-v-75833d42]:hover{border-color:#7d3c98}.nav-icon[data-v-75833d42],.nav-icon-wrapper[data-v-75833d42]{font-size:48px;min-width:60px;text-align:center;display:flex;justify-content:center;align-items:center}.nav-info h3[data-v-75833d42]{margin:0 0 8px;font-size:18px;color:#2c3e50}.nav-info p[data-v-75833d42]{margin:0;font-size:14px;color:#7f8c8d;line-height:1.5}.info-section[data-v-75833d42]{background-color:#e9ecef;padding:25px;border-radius:8px;border-left:4px solid #adb5bd}.info-section h3[data-v-75833d42]{margin:0 0 15px;font-size:16px;color:#495057}.info-list[data-v-75833d42]{margin:0;padding-left:20px;color:#6c757d;font-size:14px}.info-list li[data-v-75833d42]{margin-bottom:8px}@media(max-width:600px){.nav-grid[data-v-75833d42]{grid-template-columns:1fr}}.dashboard-section[data-v-75833d42]{background:#fff;padding:30px;border-radius:16px;box-shadow:0 10px 30px #0000000a;border:1px solid #eef2f5;margin-bottom:40px}.section-title[data-v-75833d42]{font-size:20px;color:#2c3e50;margin-bottom:25px;font-weight:700;letter-spacing:-.3px;display:flex;align-items:center;gap:10px}.dashboard-grid[data-v-75833d42]{display:grid;grid-template-columns:1fr;max-width:450px;margin:0 auto;gap:25px}.dashboard-grid.grid-two-cols[data-v-75833d42]{grid-template-columns:repeat(2,1fr);max-width:900px}.dashboard-category[data-v-75833d42]{display:flex;flex-direction:column}.category-title[data-v-75833d42]{font-size:15px;color:#5d6d7e;margin-bottom:15px;font-weight:600;display:flex;align-items:center;gap:8px}.category-icon[data-v-75833d42]{font-size:16px}.card-stack[data-v-75833d42]{display:flex;flex-direction:column;flex-grow:1}.db-card[data-v-75833d42]{padding:20px;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;flex-direction:column;box-shadow:0 4px 12px #00000008;margin-bottom:12px;border:1px solid rgba(0,0,0,.03)}.db-card[data-v-75833d42]:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000014}.db-card-pair[data-v-75833d42]{display:flex;gap:12px}.db-card-small[data-v-75833d42]{flex:1;padding:16px 20px;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 4px 12px #00000008;border:1px solid rgba(0,0,0,.03)}.db-card-small[data-v-75833d42]:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000014}.card-label[data-v-75833d42]{font-size:12px;font-weight:600;color:#7f8c8d;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.card-value[data-v-75833d42]{font-size:24px;font-weight:800;color:#2c3e50;line-height:1.2}.card-unit[data-v-75833d42]{font-size:14px;font-weight:600;color:#7f8c8d;margin-left:2px}.card-meta[data-v-75833d42]{font-size:11px;margin-top:8px;font-weight:600;color:#7f8c8d}.meta-up[data-v-75833d42]{color:#27ae60!important}.meta-down[data-v-75833d42]{color:#c0392b!important}.card-blue[data-v-75833d42]{background:linear-gradient(135deg,#ebf5fb,#d4e6f1);border-left:4px solid #3498db}.card-blue[data-v-75833d42]:hover{border-color:#2980b9}.card-green[data-v-75833d42]{background:linear-gradient(135deg,#e8f8f0,#d1f2eb);border-left:4px solid #2ecc71}.card-green[data-v-75833d42]:hover{border-color:#27ae60}.card-amber[data-v-75833d42]{background:linear-gradient(135deg,#fef9e7,#fdebd0);border-left:4px solid #f1c40f}.card-amber[data-v-75833d42]:hover{border-color:#f39c12}.card-rose[data-v-75833d42]{background:linear-gradient(135deg,#fdedec,#fadbd8);border-left:4px solid #e74c3c}.card-rose[data-v-75833d42]:hover{border-color:#c0392b}.card-orange[data-v-75833d42]{background:linear-gradient(135deg,#fdf2e9,#fae5d3);border-left:4px solid #e67e22}.card-orange[data-v-75833d42]:hover{border-color:#d35400}.card-red[data-v-75833d42]{background:linear-gradient(135deg,#fadbd8,#f5b7b1);border-left:4px solid #c0392b}.card-red[data-v-75833d42]:hover{border-color:#900c3f}.card-teal[data-v-75833d42]{background:linear-gradient(135deg,#e0f2f1,#b2dfdb);border-left:4px solid #009688}.card-teal[data-v-75833d42]:hover{border-color:#00796b}.card-indigo[data-v-75833d42]{background:linear-gradient(135deg,#e8eaf6,#c5cae9);border-left:4px solid #3f51b5}.card-indigo[data-v-75833d42]:hover{border-color:#303f9f}.card-light-gray[data-v-75833d42]{background:linear-gradient(135deg,#f8f9f9,#ebedef);border-left:4px solid #95a5a6}.card-light-gray[data-v-75833d42]:hover{border-color:#7f8c8d}@media(max-width:900px){.dashboard-grid[data-v-75833d42]{grid-template-columns:1fr}}.card-disabled[data-v-75833d42]{cursor:default!important}.card-disabled[data-v-75833d42]:hover{transform:none!important;box-shadow:0 4px 12px #00000008!important;border-color:#00000008!important}.modal-overlay[data-v-1e3fdf82]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000008c;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn-1e3fdf82 .2s ease}@keyframes fadeIn-1e3fdf82{0%{opacity:0}to{opacity:1}}.modal-content[data-v-1e3fdf82]{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:92vh;overflow-y:auto;box-shadow:0 10px 30px #00000026;animation:slideUp-1e3fdf82 .25s cubic-bezier(.175,.885,.32,1.15);position:relative}.modal-content--readonly[data-v-1e3fdf82]{border-top:4px solid #f39c12}@keyframes slideUp-1e3fdf82{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-1e3fdf82]{display:flex;justify-content:space-between;align-items:center;padding:20px 26px 14px;border-bottom:1px solid #eef2f6}.modal-title[data-v-1e3fdf82]{margin:0;color:#2c3e50;font-size:18px;font-weight:800}.close-btn[data-v-1e3fdf82]{background:none;border:none;color:#aaa;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;transition:all .15s}.close-btn[data-v-1e3fdf82]:hover{background:#f0f3f6;color:#333}.loading-block[data-v-1e3fdf82]{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px;color:#7f8c8d;font-size:14px}.spinner[data-v-1e3fdf82]{width:24px;height:24px;border:3px solid #f0f3f5;border-top-color:#3498db;border-radius:50%;animation:spin-1e3fdf82 1s linear infinite}@keyframes spin-1e3fdf82{to{transform:rotate(360deg)}}.info-alert[data-v-1e3fdf82]{background:#fffcf0;border-left:4px solid #f39c12;color:#a05a00;padding:10px 20px;font-size:12px;display:flex;align-items:center;gap:8px;line-height:1.5}.type-select-panel[data-v-1e3fdf82]{padding:20px 26px 26px}.type-select-label[data-v-1e3fdf82]{font-size:13px;color:#546e7a;margin:0 0 16px;font-weight:600}.type-grid[data-v-1e3fdf82]{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.type-option[data-v-1e3fdf82]{display:flex;align-items:center;gap:14px;padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .2s;background:#fafbfc;position:relative}.type-option[data-v-1e3fdf82]:hover{border-color:#3498db;background:#f0f7ff}.type-option--active[data-v-1e3fdf82]{border-color:#3498db;background:#f0f7ff;box-shadow:0 0 0 3px #3498db1f}.type-icon[data-v-1e3fdf82]{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.type-icon--resident[data-v-1e3fdf82]{background:#e8f5e9;color:#2e7d32}.type-icon--guardian[data-v-1e3fdf82]{background:#e3f2fd;color:#1565c0}.type-icon--related[data-v-1e3fdf82]{background:#fce4ec;color:#c62828}.type-desc[data-v-1e3fdf82]{display:flex;flex-direction:column;gap:2px;flex:1}.type-name[data-v-1e3fdf82]{font-size:15px;font-weight:800;color:#2c3e50}.type-sub[data-v-1e3fdf82]{font-size:12px;color:#7f8c8d}.type-check[data-v-1e3fdf82]{color:#3498db}.hidden-radio[data-v-1e3fdf82]{display:none}.back-btn[data-v-1e3fdf82]{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:#3498db;font-size:12px;font-weight:600;cursor:pointer;padding:0;margin-bottom:14px;transition:color .15s}.back-btn[data-v-1e3fdf82]:hover{color:#1a6fa8;text-decoration:underline}.role-banner[data-v-1e3fdf82]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:700;margin-bottom:16px}.role-banner--guardian[data-v-1e3fdf82]{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}.role-banner--related[data-v-1e3fdf82]{background:#fce4ec;color:#c62828;border:1px solid #f48fb1}.role-note[data-v-1e3fdf82]{font-size:11px;font-weight:500;opacity:.8;margin-left:4px}.form[data-v-1e3fdf82]{padding:16px 26px 26px}.form-group[data-v-1e3fdf82]{margin-bottom:14px;display:flex;flex-direction:column}.form-row[data-v-1e3fdf82]{display:flex;gap:15px}.flex-1[data-v-1e3fdf82]{flex:1}label[data-v-1e3fdf82]{display:block;margin-bottom:5px;font-weight:700;color:#34495e;font-size:12px}.required[data-v-1e3fdf82]{color:#e74c3c;margin-left:2px}.hint[data-v-1e3fdf82]{color:#7f8c8d;font-size:11px;margin-top:3px}.text-warn[data-v-1e3fdf82]{color:#d35400!important}input[type=text][data-v-1e3fdf82],input[type=email][data-v-1e3fdf82],input[type=date][data-v-1e3fdf82],input[type=password][data-v-1e3fdf82],select[data-v-1e3fdf82]{width:100%;padding:9px 12px;border:1.5px solid #ccd1d9;border-radius:6px;font-size:13.5px;color:#333;transition:all .2s;box-sizing:border-box;background-color:#fafbfc}input[data-v-1e3fdf82]:focus,select[data-v-1e3fdf82]:focus{outline:none;border-color:#3498db;background-color:#fff;box-shadow:0 0 0 3px #3498db1f}input[data-v-1e3fdf82]:disabled,select[data-v-1e3fdf82]:disabled{background-color:#f1f3f5;color:#7f8c8d;border-color:#e2e6ea;cursor:not-allowed}.input-with-icon[data-v-1e3fdf82]{position:relative;display:flex;align-items:center}.input-with-icon input[data-v-1e3fdf82]{padding-left:36px}.field-icon[data-v-1e3fdf82]{position:absolute;left:12px;color:#888}.status-display[data-v-1e3fdf82]{padding:4px 0}.badge[data-v-1e3fdf82]{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700}.badge-success[data-v-1e3fdf82]{background-color:#e8f8f0;color:#1e8449;border:1px solid #a9dfbf}.badge-secondary[data-v-1e3fdf82]{background-color:#f5f5f5;color:#888;border:1px solid #ddd}.relation-section[data-v-1e3fdf82]{background:#fdfefe;border:1.5px solid #ebf5fb;border-radius:8px;padding:14px;margin-top:18px;margin-bottom:14px;animation:slideDown-1e3fdf82 .25s ease-out}@keyframes slideDown-1e3fdf82{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.section-title[data-v-1e3fdf82]{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:#2980b9;margin-bottom:12px}.readonly-text-box[data-v-1e3fdf82]{background-color:#f1f3f5;color:#495057;padding:8px 12px;border-radius:6px;font-size:13.5px;border:1.5px solid #e2e6ea;display:flex;align-items:center;justify-content:space-between}.role-badge[data-v-1e3fdf82]{background:#f4ecf7;color:#6c3483;font-size:10px;font-weight:800;padding:1px 6px;border-radius:4px}.alert[data-v-1e3fdf82]{padding:10px 14px;border-radius:6px;margin:16px 26px 0;font-size:13px;display:flex;align-items:center;gap:6px}.error-alert[data-v-1e3fdf82]{color:#c0392b;background-color:#fadbd8;border:1px solid #f5b7b1}.modal-actions[data-v-1e3fdf82]{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid #eef2f6}.right-buttons[data-v-1e3fdf82]{display:flex;gap:10px;margin-left:auto}.btn-with-icon[data-v-1e3fdf82]{display:inline-flex;align-items:center;gap:6px}.confirm-overlay[data-v-1e3fdf82]{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn-1e3fdf82 .15s ease}.confirm-dialog[data-v-1e3fdf82]{background:#fff;border-radius:14px;padding:32px 36px;max-width:420px;width:90%;box-shadow:0 20px 60px #0003;animation:slideUp-1e3fdf82 .2s ease;text-align:center}.confirm-icon[data-v-1e3fdf82]{width:60px;height:60px;background:#e8f5e9;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#2e7d32;margin:0 auto 16px}.confirm-title[data-v-1e3fdf82]{margin:0 0 14px;font-size:17px;font-weight:800;color:#2c3e50}.confirm-body[data-v-1e3fdf82]{font-size:15px;color:#34495e;line-height:1.7;margin:0 0 6px}.confirm-sub[data-v-1e3fdf82]{font-size:12px;color:#7f8c8d;margin:0 0 20px}.role-highlight[data-v-1e3fdf82]{font-weight:800}.role-highlight--guardian[data-v-1e3fdf82]{color:#1565c0}.role-highlight--related[data-v-1e3fdf82]{color:#c62828}.confirm-actions[data-v-1e3fdf82]{display:flex;gap:10px;justify-content:center;margin-top:20px}.fade-enter-active[data-v-1e3fdf82],.fade-leave-active[data-v-1e3fdf82]{transition:opacity .2s ease}.fade-enter-from[data-v-1e3fdf82],.fade-leave-to[data-v-1e3fdf82]{opacity:0}.auto-set-note[data-v-1e3fdf82]{margin:0;font-size:12px;color:#7f8c8d;background:#f8f9fa;border:1px solid #e9ecef;border-radius:5px;padding:8px 12px}.modal-overlay[data-v-f2d46b53]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content[data-v-f2d46b53]{background:#fff;border-radius:12px;width:100%;max-width:550px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;max-height:90vh}.modal-header[data-v-f2d46b53]{padding:20px 24px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-f2d46b53]{font-size:20px;color:#2c3e50;margin:0}.btn-close[data-v-f2d46b53]{background:transparent;border:none;cursor:pointer;color:#95a5a6;padding:4px;display:flex;transition:color .2s}.btn-close[data-v-f2d46b53]:hover{color:#34495e}.modal-body[data-v-f2d46b53]{padding:24px;overflow-y:auto}.customer-name[data-v-f2d46b53]{font-size:18px;margin-bottom:20px;padding-bottom:15px;border-bottom:2px dashed #ecf0f1}.loading-state[data-v-f2d46b53],.error-state[data-v-f2d46b53]{text-align:center;padding:40px 0;color:#7f8c8d}.spin-icon[data-v-f2d46b53]{animation:spin-f2d46b53 1s linear infinite;margin-bottom:10px}@keyframes spin-f2d46b53{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state[data-v-f2d46b53]{color:#e74c3c}.token-display[data-v-f2d46b53]{display:flex;flex-direction:column;gap:24px}.instruction-step[data-v-f2d46b53]{display:flex;gap:16px}.step-num[data-v-f2d46b53]{background-color:#3498db;color:#fff;min-width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.step-text[data-v-f2d46b53]{margin:0 0 12px;font-size:15px;line-height:1.5;color:#34495e}.qr-container[data-v-f2d46b53]{display:inline-block;padding:12px;background:#fff;border:1px solid #e0e6ed;border-radius:8px}.token-box[data-v-f2d46b53]{background-color:#f8f9fa;border:2px solid #3498db;border-radius:8px;padding:16px;text-align:center;margin-bottom:8px}.token-code[data-v-f2d46b53]{font-size:32px;font-family:monospace;font-weight:700;letter-spacing:4px;color:#2c3e50}.expiry-text[data-v-f2d46b53]{font-size:13px;color:#e67e22;margin:0;font-weight:600}.info-alert[data-v-f2d46b53]{background-color:#e8f4fd;color:#2c3e50;padding:12px 16px;border-radius:6px;font-size:13.5px;line-height:1.5;border-left:4px solid #3498db}.modal-footer[data-v-f2d46b53]{padding:16px 24px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;background-color:#f8f9fa}.btn-outline[data-v-f2d46b53]{background-color:transparent;border:1px solid #ced4da;color:#495057;padding:8px 16px}.mt-3[data-v-f2d46b53]{margin-top:12px}.customers-page[data-v-342d4901]{max-width:1400px;margin:0 auto;animation:fadeIn-342d4901 .3s ease}@keyframes fadeIn-342d4901{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-header[data-v-342d4901]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:16px}.page-title[data-v-342d4901]{margin:0;font-size:22px;font-weight:800;color:#2c3e50}.page-desc[data-v-342d4901]{margin:4px 0 0;color:#7f8c8d;font-size:13px}.toolbar[data-v-342d4901]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #eef2f6}.search-form[data-v-342d4901]{display:flex;gap:8px}.search-form input[data-v-342d4901]{padding:8px 12px;border:1.5px solid #ccd1d9;border-radius:6px;width:280px;font-size:13px;color:#333;transition:all .2s;background-color:#fafbfc}.search-form input[data-v-342d4901]:focus{outline:none;border-color:#3498db;background-color:#fff;box-shadow:0 0 0 3px #3498db1f}.message-banner[data-v-342d4901]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:13px;font-weight:500}.message--success[data-v-342d4901]{background:#e8f8f0;color:#1e8449;border:1px solid #a9dfbf}.message--error[data-v-342d4901]{background:#fdedec;color:#c0392b;border:1px solid #f5b7b1}.loading-state[data-v-342d4901]{text-align:center;padding:50px 0;color:#7f8c8d}.spinner[data-v-342d4901]{width:32px;height:32px;border:3px solid #f0f3f5;border-top-color:#3498db;border-radius:50%;margin:0 auto 12px;animation:spin-342d4901 1s linear infinite}@keyframes spin-342d4901{to{transform:rotate(360deg)}}.table-wrapper[data-v-342d4901]{background:#fff;border-radius:12px;box-shadow:0 2px 16px #00000012;overflow:hidden;margin-bottom:20px}.customers-table[data-v-342d4901]{width:100%;border-collapse:collapse}.customers-table th[data-v-342d4901]{background:#f0f4f8;padding:11px 14px;text-align:left;font-size:11px;font-weight:700;color:#546e7a;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.customers-table td[data-v-342d4901]{padding:12px 14px;border-bottom:1px solid #f0f4f8;font-size:13px;color:#2c3e50;vertical-align:middle}.customers-table tbody tr[data-v-342d4901]:hover{background:#f8fbfe}.col-name[data-v-342d4901]{min-width:130px}.col-tel[data-v-342d4901]{width:120px}.col-date[data-v-342d4901],.col-line[data-v-342d4901]{width:100px}.col-invoice[data-v-342d4901]{width:120px}.col-relation[data-v-342d4901]{min-width:180px}.col-actions[data-v-342d4901]{width:200px}.customer-name[data-v-342d4901]{font-weight:700;color:#2c3e50}.customer-name.clickable[data-v-342d4901]{cursor:pointer}.customer-name.clickable[data-v-342d4901]:hover{color:#3498db;text-decoration:underline}.room-tag[data-v-342d4901]{display:inline-block;background:#f1f3f5;color:#495057;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;margin-left:6px}.id-tag[data-v-342d4901]{display:inline-block;background:#eaf2fb;color:#2874a6;font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;margin-left:6px;letter-spacing:.3px}.td-empty[data-v-342d4901]{color:#ccc}.text-muted[data-v-342d4901]{color:#888}.icon-text[data-v-342d4901]{display:flex;align-items:center;gap:5px;font-size:12px}.status-badge[data-v-342d4901]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}.status--linked[data-v-342d4901]{background-color:#e8f8f0;color:#1e8449}.status--unlinked[data-v-342d4901]{background-color:#fdedec;color:#c0392b}.invoice-badge[data-v-342d4901]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}.invoice--uploaded[data-v-342d4901]{background-color:#eaf2fb;color:#2874a6}.invoice--pending[data-v-342d4901]{background-color:#fef9e7;color:#b7950b}.send-method-badge[data-v-342d4901]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}.method--unselected[data-v-342d4901]{background-color:#f1f3f5;color:#495057}.method--email[data-v-342d4901]{background-color:#e8f4fd;color:#1d8cf8}.method--line[data-v-342d4901]{background-color:#eafaf1;color:#2ecc71}.relation-block[data-v-342d4901]{display:flex;align-items:center;gap:8px}.relation-tag[data-v-342d4901]{background:#f4ecf7;color:#6c3483;font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px}.user-name[data-v-342d4901]{display:flex;align-items:center;gap:4px;font-weight:600;color:#34495e}.form-actions-wrapper[data-v-342d4901]{display:flex;align-items:center;gap:6px}.btn-action[data-v-342d4901]{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;cursor:pointer;font-size:11px;font-weight:700;transition:all .2s}.btn-icon[data-v-342d4901]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;cursor:pointer;transition:all .15s}.btn-icon--edit[data-v-342d4901]{background:#ebf5fb;color:#2980b9}.btn-icon--edit[data-v-342d4901]:hover{background:#2980b9;color:#fff}.btn-icon--delete[data-v-342d4901]{background:#fdedec;color:#c0392b}.btn-icon--delete[data-v-342d4901]:hover{background:#c0392b;color:#fff}.table-footer[data-v-342d4901]{padding:10px 14px;border-top:1px solid #f0f4f8;text-align:right}.record-count[data-v-342d4901]{font-size:12px;color:#95a5a6}.empty-state[data-v-342d4901]{text-align:center;color:#666;padding:40px!important;font-size:14px}.filter-alert[data-v-342d4901]{display:flex;justify-content:space-between;align-items:center;background-color:#ebf5fb;border:1px solid #aed6f1;color:#2e86c1;padding:10px 16px;border-radius:6px;margin-bottom:16px;font-size:13px}.filter-alert strong[data-v-342d4901]{color:#1b4f72}.btn-outline[data-v-342d4901]{background-color:transparent;border:1px solid #2e86c1;color:#2e86c1;padding:4px 10px;border-radius:4px;cursor:pointer;font-weight:600;font-size:12px;transition:all .2s}.btn-outline[data-v-342d4901]:hover{background-color:#2e86c1;color:#fff}.btn-icon--restore[data-v-342d4901]{background:#e8f8f5;color:#1abc9c}.btn-icon--restore[data-v-342d4901]:hover{background:#1abc9c;color:#fff}.is-deleted-row[data-v-342d4901]{opacity:.6;background-color:#fcfcfc}.is-deleted-row[data-v-342d4901]:hover{background-color:#fcfcfc!important}.status-badge.status--inactive[data-v-342d4901]{background-color:#fdedec;color:#c0392b;border:1px solid #fadbd8;font-size:10px;padding:2px 6px;border-radius:4px;display:inline-block;margin-left:6px}.status-filter-wrapper[data-v-342d4901]{display:flex;align-items:center;gap:8px;font-size:13px;color:#7f8c8d}.status-select[data-v-342d4901]{padding:6px 12px;border:1px solid #dcdde1;border-radius:6px;background-color:#fff;color:#2c3e50;outline:none;font-size:13px;cursor:pointer;transition:border-color .2s}.status-select[data-v-342d4901]:focus{border-color:#3498db}.header-control-group[data-v-342d4901]{display:flex;align-items:center;gap:16px}.csv-actions-group[data-v-342d4901]{display:flex;align-items:center;gap:8px}.hidden-file-input[data-v-342d4901]{display:none}.cursor-pointer[data-v-342d4901]{cursor:pointer}.upload-page[data-v-ea1f1e41]{max-width:600px;margin:0 auto}.header[data-v-ea1f1e41]{margin-bottom:24px}.header h2[data-v-ea1f1e41]{font-size:24px;color:#2c3e50;margin-bottom:8px}.upload-card[data-v-ea1f1e41]{background:#fff;border-radius:12px;padding:32px;box-shadow:0 4px 6px #0000000d}.upload-area[data-v-ea1f1e41]{border:2px dashed #e0e6ed;border-radius:8px;padding:40px 20px;text-align:center;margin-bottom:24px;transition:all .3s ease}.upload-area[data-v-ea1f1e41]:hover{border-color:#3498db;background-color:#f8fbfe}.upload-area.is-dragging[data-v-ea1f1e41]{border-color:#2ecc71;background-color:#eafaf1;transform:scale(1.02)}.upload-area h3[data-v-ea1f1e41]{margin:16px 0 8px;color:#2c3e50}.text-muted[data-v-ea1f1e41]{color:#7f8c8d;font-size:14px;margin-bottom:24px}input[type=file][data-v-ea1f1e41]{display:none}.custom-file-upload[data-v-ea1f1e41]{display:inline-flex;align-items:center;justify-content:center;padding:12px 32px;background-color:#fff;color:#3498db;border:2px solid #3498db;border-radius:8px;font-weight:700;font-size:15px;cursor:pointer;transition:all .3s ease;margin-top:8px;box-shadow:0 4px 6px #3498db1a}.custom-file-upload[data-v-ea1f1e41]:hover{background-color:#3498db;color:#fff;transform:translateY(-2px);box-shadow:0 6px 12px #3498db33}.custom-file-upload[data-v-ea1f1e41]:active{transform:translateY(1px);box-shadow:0 2px 4px #3498db1a}.selected-files[data-v-ea1f1e41]{margin-top:24px;text-align:left;background:#f8f9fa;padding:16px;border-radius:8px}.selected-files .file-count[data-v-ea1f1e41]{font-weight:600;margin-bottom:8px;color:#2c3e50}.selected-files ul[data-v-ea1f1e41]{list-style:none;padding:0;margin:0;max-height:150px;overflow-y:auto}.selected-files li[data-v-ea1f1e41]{font-size:14px;color:#34495e;margin-bottom:4px;display:flex;align-items:center;gap:6px}.btn-block[data-v-ea1f1e41]{width:100%;padding:14px;font-size:16px;font-weight:600}.facility-select-group[data-v-ea1f1e41]{margin-bottom:20px;text-align:left}.facility-select-group label[data-v-ea1f1e41]{display:block;margin-bottom:6px;font-weight:700;color:#34495e;font-size:13px}.facility-select-group select[data-v-ea1f1e41]{width:100%;padding:10px 12px;border:1.5px solid #ccd1d9;border-radius:6px;font-size:14px;color:#333;background-color:#fafbfc;transition:all .2s;box-sizing:border-box}.facility-select-group select[data-v-ea1f1e41]:focus{outline:none;border-color:#3498db;background-color:#fff;box-shadow:0 0 0 3px #3498db1f}.required[data-v-ea1f1e41]{color:#e74c3c;margin-left:2px}.message[data-v-ea1f1e41]{margin-top:20px;padding:16px;border-radius:8px;font-weight:600}.error-message[data-v-ea1f1e41]{background-color:#fdedec;color:#e74c3c;border:1px solid #fadbd8}.success-message[data-v-ea1f1e41]{background-color:#e8f8f5;color:#1abc9c;border:1px solid #d1f2eb}.upload-confirm-page[data-v-893eabb3]{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;padding:25px 30px}.page-header[data-v-893eabb3]{margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #dee2e6}h2[data-v-893eabb3]{margin:0 0 8px;color:#2c3e50;font-size:20px}.page-description[data-v-893eabb3]{color:#666;font-size:14px;margin:0}.error-message[data-v-893eabb3]{color:#922b21;background-color:#f9e0dc;padding:15px;border-radius:4px;border-left:4px solid #c0392b;margin-bottom:20px;font-size:14px}.success-message[data-v-893eabb3]{color:#1b5e20;background-color:#e8f5e9;padding:15px;border-radius:4px;border-left:4px solid #4caf50;margin-bottom:20px;font-size:14px}.table-container[data-v-893eabb3]{overflow-x:auto;margin-bottom:30px}.confirm-table[data-v-893eabb3]{width:100%;border-collapse:collapse}.confirm-table th[data-v-893eabb3],.confirm-table td[data-v-893eabb3]{padding:13px 15px;text-align:left;border-bottom:1px solid #dee2e6;color:#333;font-size:14px}.confirm-table th[data-v-893eabb3]{background-color:#e9ecef;color:#2c3e50;font-weight:700}.row-error[data-v-893eabb3]{background-color:#fff9f9}.row-not-resident[data-v-893eabb3]{background-color:#f8f9fa;opacity:.75}.text-center[data-v-893eabb3]{text-align:center}.text-right[data-v-893eabb3]{text-align:right}.text-error[data-v-893eabb3]{color:#e74c3c}.error-msg[data-v-893eabb3],.success-msg[data-v-893eabb3]{display:flex;align-items:center;gap:6px;font-weight:600}.success-msg[data-v-893eabb3]{color:#27ae60}.badge-auto[data-v-893eabb3]{background-color:#e3f2fd;color:#0d47a1;border:1px solid #bbdefb;font-size:11px;font-weight:700;padding:2px 6px;border-radius:4px;display:inline-block;cursor:help}.auto-selected-container[data-v-893eabb3]{margin-top:4px}.not-resident-msg[data-v-893eabb3]{color:#7f8c8d;font-size:12px;font-weight:600}.badge[data-v-893eabb3]{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700}.badge-req[data-v-893eabb3]{background-color:#ebf5fb;color:#2980b9}.badge-rec[data-v-893eabb3]{background-color:#eafaf1;color:#27ae60}.actions[data-v-893eabb3]{display:flex;justify-content:center;padding-top:20px;border-top:1px solid #dee2e6}.btn-finalize[data-v-893eabb3]{min-width:220px;padding:12px 30px}.spinner[data-v-893eabb3]{animation:rotate-893eabb3 1s linear infinite}@keyframes rotate-893eabb3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.select-badge-container[data-v-893eabb3]{margin-top:6px}.btn-select-candidate[data-v-893eabb3]{background-color:#3498db;color:#fff;border:none;padding:4px 8px;font-size:11px;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .2s}.btn-select-candidate[data-v-893eabb3]:hover{background-color:#2980b9}.error-msg-wrapper[data-v-893eabb3]{display:flex;flex-direction:column;gap:6px}.btn-select-candidate-error[data-v-893eabb3]{background-color:#f39c12;color:#fff;border:none;padding:4px 8px;font-size:11px;border-radius:4px;cursor:pointer;font-weight:600;width:fit-content;transition:background-color .2s}.btn-select-candidate-error[data-v-893eabb3]:hover{background-color:#d35400}.custom-modal-overlay[data-v-893eabb3]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000}.custom-modal-content[data-v-893eabb3]{background:#fff;border-radius:12px;width:90%;max-width:600px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:80vh;animation:modal-enter-893eabb3 .2s cubic-bezier(.165,.84,.44,1)}@keyframes modal-enter-893eabb3{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.custom-modal-header[data-v-893eabb3]{padding:16px 24px;border-bottom:1px solid #eef2f5;display:flex;justify-content:space-between;align-items:center}.custom-modal-header h3[data-v-893eabb3]{margin:0;font-size:18px;color:#2c3e50}.btn-close-custom[data-v-893eabb3]{background:none;border:none;font-size:24px;color:#95a5a6;cursor:pointer;transition:color .2s}.btn-close-custom[data-v-893eabb3]:hover{color:#2c3e50}.custom-modal-body[data-v-893eabb3]{padding:24px;overflow-y:auto}.modal-intro[data-v-893eabb3]{font-size:14px;line-height:1.6;color:#5d6d7e;margin-bottom:20px}.candidate-list[data-v-893eabb3]{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.candidate-card[data-v-893eabb3]{border:1px solid #e2e8f0;border-radius:8px;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;background-color:#f8fafc;transition:border-color .2s,background-color .2s}.candidate-card[data-v-893eabb3]:hover{border-color:#cbd5e1;background-color:#f1f5f9}.candidate-info[data-v-893eabb3]{display:flex;flex-direction:column;gap:6px;flex-grow:1}.cand-facility-name[data-v-893eabb3]{font-size:15px;font-weight:700;color:#1e293b}.cand-details[data-v-893eabb3]{display:flex;flex-wrap:wrap;gap:6px}.info-pill[data-v-893eabb3]{background-color:#e2e8f0;color:#475569;font-size:11px;padding:2px 8px;border-radius:9999px;font-weight:500}.btn-select-action[data-v-893eabb3]{background-color:#2ecc71;color:#fff;border:none;padding:8px 16px;font-size:13px;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s;flex-shrink:0;margin-left:12px}.btn-select-action[data-v-893eabb3]:hover{background-color:#27ae60}.modal-footer-action[data-v-893eabb3]{border-top:1px solid #eef2f5;padding-top:20px;display:flex;justify-content:center}.btn-cannot-identify[data-v-893eabb3]{background:none;border:1px dashed #e74c3c;color:#e74c3c;padding:10px 20px;font-size:13px;border-radius:6px;cursor:pointer;font-weight:600;width:100%;transition:background-color .2s,color .2s}.btn-cannot-identify[data-v-893eabb3]:hover{background-color:#fadbd8}.ocr-name-note[data-v-893eabb3]{font-size:12px;cursor:help;margin-left:4px;display:inline-block;vertical-align:middle}.preview-image-section[data-v-893eabb3]{margin-bottom:18px;border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#f8fafc}.preview-header[data-v-893eabb3]{background:#f1f5f9;padding:8px 12px;border-bottom:1px solid #ddd;font-size:12px;font-weight:700;color:#475569}.preview-image-wrapper[data-v-893eabb3]{display:flex;justify-content:center;align-items:center;padding:10px}.preview-image[data-v-893eabb3]{max-width:100%;max-height:250px;border:1px solid #e2e8f0;border-radius:4px;box-shadow:0 2px 4px #0000000d}.modal-search-box[data-v-893eabb3]{margin-bottom:15px}.modal-search-input[data-v-893eabb3]{width:100%;padding:8px 12px;border:1.5px solid #cbd5e1;border-radius:6px;font-size:13px;box-sizing:border-box}.modal-search-input[data-v-893eabb3]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1f}.cand-name[data-v-893eabb3]{font-size:15px;font-weight:700;color:#1e293b;margin:4px 0}.cand-room[data-v-893eabb3]{font-size:13px;font-weight:400;color:#64748b}.modal-overlay[data-v-bc989fd8]{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content[data-v-bc989fd8]{background:#fff;border-radius:12px;width:100%;max-width:650px;box-shadow:0 10px 25px #00000026;display:flex;flex-direction:column;max-height:90vh}.modal-header[data-v-bc989fd8]{padding:20px 24px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-bc989fd8]{margin:0;font-size:18px;color:#2c3e50;font-weight:700}.btn-close[data-v-bc989fd8]{background:none;border:none;color:#6c757d;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:color .2s}.btn-close[data-v-bc989fd8]:hover{color:#343a40}.modal-body[data-v-bc989fd8]{padding:24px;overflow-y:auto;flex-grow:1;background-color:#f8f9fa}.modal-footer[data-v-bc989fd8]{padding:16px 24px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;background:#fff;border-radius:0 0 12px 12px}.loading-state[data-v-bc989fd8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;color:#6c757d}.spin-icon[data-v-bc989fd8]{animation:spin-bc989fd8 1s linear infinite;margin-bottom:12px}@keyframes spin-bc989fd8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state[data-v-bc989fd8]{text-align:center;padding:30px 0;color:#dc3545}.section-card[data-v-bc989fd8]{background:#fff;border-radius:8px;border:1px solid #e9ecef;padding:20px}.mt-4[data-v-bc989fd8]{margin-top:16px}.section-title[data-v-bc989fd8]{margin:0 0 16px;font-size:14px;font-weight:700;color:#495057;display:flex;align-items:center;gap:8px;border-bottom:2px solid #dee2e6;padding-bottom:8px}.title-icon[data-v-bc989fd8]{color:#6c757d}.text-primary[data-v-bc989fd8]{color:#3498db!important}.text-secondary[data-v-bc989fd8]{color:#e67e22!important}.info-grid[data-v-bc989fd8]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-item[data-v-bc989fd8]{display:flex;flex-direction:column;gap:4px}.col-span-2[data-v-bc989fd8]{grid-column:span 2}.info-label[data-v-bc989fd8]{font-size:11px;color:#868e96;font-weight:600;display:flex;align-items:center;gap:4px}.info-value[data-v-bc989fd8]{font-size:14px;color:#212529}.font-bold[data-v-bc989fd8]{font-weight:700}.text-lg[data-v-bc989fd8]{font-size:16px}.text-muted[data-v-bc989fd8]{color:#6c757d}.code-font[data-v-bc989fd8]{font-family:monospace,monospace;font-size:13px;background-color:#f1f3f5;padding:2px 6px;border-radius:4px;width:fit-content}.send-method-badge[data-v-bc989fd8]{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700}.method--unselected[data-v-bc989fd8]{background-color:#f1f3f5;color:#495057}.method--email[data-v-bc989fd8]{background-color:#e8f4fd;color:#1d8cf8}.method--line[data-v-bc989fd8]{background-color:#eafaf1;color:#2ecc71}.empty-section[data-v-bc989fd8]{text-align:center;padding:20px 0;color:#adb5bd;font-size:13px;background-color:#fcfcfc;border:1px dashed #dee2e6;border-radius:6px}.payer-list[data-v-bc989fd8],.relations-grid[data-v-bc989fd8]{display:flex;flex-direction:column;gap:12px}.relation-card[data-v-bc989fd8]{border:1px solid #e9ecef;border-radius:6px;padding:12px 16px;background-color:#fcfcfc;transition:transform .15s,border-color .15s}.relation-card[data-v-bc989fd8]:hover{border-color:#ced4da}.relation-header[data-v-bc989fd8]{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.relation-name[data-v-bc989fd8]{font-size:14px;font-weight:700;color:#212529}.relation-role-tag[data-v-bc989fd8]{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px}.relation-role-tag.payer[data-v-bc989fd8]{background-color:#ebf5fb;color:#2980b9;border:1px solid #a9dfbf}.relation-role-tag.related[data-v-bc989fd8]{background-color:#fef5e7;color:#d35400;border:1px solid #f5cba7}.relation-type-tag[data-v-bc989fd8]{background-color:#e2e8f0;color:#475569;font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px}.relation-body-grid[data-v-bc989fd8]{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.relation-item[data-v-bc989fd8]{display:flex;flex-direction:column;gap:2px}.r-label[data-v-bc989fd8]{font-size:10px;color:#adb5bd;font-weight:600;display:flex;align-items:center;gap:4px}.r-value[data-v-bc989fd8]{font-size:13px;color:#495057}.line-status-badge[data-v-bc989fd8]{font-size:11px;font-weight:700;width:fit-content}.line-status-badge.linked[data-v-bc989fd8]{color:#2ecc71}.line-status-badge.unlinked[data-v-bc989fd8]{color:#95a5a6}.btn[data-v-bc989fd8]{padding:8px 16px;font-size:13px;border-radius:6px;font-weight:600;cursor:pointer}.btn-outline[data-v-bc989fd8]{border:1px solid #ced4da;background:#fff;color:#495057}.btn-outline[data-v-bc989fd8]:hover{background:#f1f3f5;color:#212529}.invoices-page[data-v-c9a5fc6c]{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;padding:25px 30px;position:relative}.page-description[data-v-c9a5fc6c]{margin:0 0 20px;color:#333;font-size:15px;font-weight:500}.toolbar[data-v-c9a5fc6c]{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #dee2e6}.search-form[data-v-c9a5fc6c]{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}.search-actions[data-v-c9a5fc6c]{display:flex;gap:10px}.btn-reset[data-v-c9a5fc6c]{padding:8px 16px;font-size:14px}.btn-outline[data-v-c9a5fc6c]{background-color:transparent;border:1px solid #ced4da;color:#6c757d}.btn-outline[data-v-c9a5fc6c]:hover{background-color:#f8f9fa;border-color:#adb5bd;color:#495057}.form-group[data-v-c9a5fc6c]{display:flex;flex-direction:column;gap:5px}.form-group label[data-v-c9a5fc6c]{font-size:12px;font-weight:700;color:#666}.form-group input[data-v-c9a5fc6c],.form-group select[data-v-c9a5fc6c]{padding:9px 12px;border:1px solid #adb5bd;border-radius:4px;font-size:14px;color:#333;background-color:#fff}.range-inputs[data-v-c9a5fc6c]{display:flex;align-items:center;gap:8px}.amount-input[data-v-c9a5fc6c]{width:100px}.range-sep[data-v-c9a5fc6c]{color:#666;font-size:14px}.batch-bar[data-v-c9a5fc6c]{display:flex;justify-content:space-between;align-items:center;background-color:#f8f9fa;border:1px solid #dee2e6;color:#495057;padding:10px 20px;border-radius:6px;margin-bottom:20px;transition:all .3s ease}.batch-info[data-v-c9a5fc6c]{font-size:14px}.batch-count strong[data-v-c9a5fc6c]{color:#3498db;font-size:16px}.batch-actions[data-v-c9a5fc6c]{display:flex;gap:10px}.error-message[data-v-c9a5fc6c]{color:#922b21;background-color:#f9e0dc;padding:15px;border-radius:4px;border-left:4px solid #c0392b;margin-bottom:20px}.table-container[data-v-c9a5fc6c]{overflow-x:auto}.invoices-table[data-v-c9a5fc6c]{width:100%;border-collapse:collapse}.row--selected[data-v-c9a5fc6c]{background-color:#f7f9fb}.invoices-table th[data-v-c9a5fc6c],.invoices-table td[data-v-c9a5fc6c]{padding:12px 15px;text-align:left;border-bottom:1px solid #dee2e6;font-size:14px;color:#333;vertical-align:middle}.invoices-table th[data-v-c9a5fc6c]{background-color:#e9ecef;font-weight:700;color:#2c3e50}.check-cell[data-v-c9a5fc6c]{width:40px;text-align:center}.name-cell[data-v-c9a5fc6c]{font-weight:600}.amount-cell[data-v-c9a5fc6c]{font-family:inherit;font-weight:700;text-align:right}.status-badge[data-v-c9a5fc6c]{display:inline-block;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:700}.status--paid[data-v-c9a5fc6c]{background-color:#e8f8f5;color:#1abc9c}.status--unpaid[data-v-c9a5fc6c]{background-color:#fcf3cf;color:#f39c12}.status--danger[data-v-c9a5fc6c]{background-color:#fdecea;color:#e74c3c}.status--unuploaded[data-v-c9a5fc6c]{background-color:#f4f6f7;color:#7f8c8d}.file-links[data-v-c9a5fc6c]{display:flex;gap:8px;flex-wrap:wrap}.pdf-link[data-v-c9a5fc6c]{display:flex;align-items:center;justify-content:center;text-decoration:none;background-color:#fdf2f0;padding:4px;border-radius:4px;border:1px solid #fadbd8;transition:background-color .2s}.pdf-link[data-v-c9a5fc6c]:hover{background-color:#fadbd8}.text-muted[data-v-c9a5fc6c]{color:#bdc3c7}.actions-wrapper[data-v-c9a5fc6c]{display:flex;align-items:center;gap:6px}.paid-spacer[data-v-c9a5fc6c]{width:32px;height:32px;display:inline-block}.payment-action-container[data-v-c9a5fc6c]{display:flex;flex-direction:column;gap:4px;align-items:center}.unlinked-warning[data-v-c9a5fc6c]{font-size:10px;color:#e67e22;line-height:1.2;font-weight:500;max-width:200px;white-space:normal;text-align:center}.btn-warning[data-v-c9a5fc6c]:disabled{background-color:#f39c12;opacity:.5;cursor:not-allowed}.btn-with-icon[data-v-c9a5fc6c]{display:flex;align-items:center;justify-content:center}.empty-state[data-v-c9a5fc6c]{text-align:center;padding:40px!important;color:#999}.pagination-container[data-v-c9a5fc6c]{margin-top:30px;padding:20px 0;border-top:1px solid #dee2e6;display:flex;flex-direction:column;align-items:center;gap:15px}.pagination-info[data-v-c9a5fc6c]{font-size:13px;color:#666}.pagination-controls[data-v-c9a5fc6c]{display:flex;align-items:center;gap:20px}.page-numbers[data-v-c9a5fc6c]{display:flex;gap:5px}.page-btn[data-v-c9a5fc6c]{padding:6px 12px;font-size:13px;border:1px solid #ced4da;background-color:#fff;border-radius:4px;cursor:pointer;color:#495057;transition:all .2s}.page-btn[data-v-c9a5fc6c]:disabled{background-color:#f8f9fa;color:#adb5bd;cursor:not-allowed}.page-btn[data-v-c9a5fc6c]:not(:disabled):hover{background-color:#e9ecef;border-color:#adb5bd}.page-num[data-v-c9a5fc6c]{width:32px;height:32px;display:flex;justify-content:center;align-items:center;font-size:13px;border:1px solid #ced4da;background-color:#fff;border-radius:4px;cursor:pointer;color:#495057;transition:all .2s}.page-num--active[data-v-c9a5fc6c]{background-color:#3498db;color:#fff;border-color:#3498db;font-weight:700}.page-num[data-v-c9a5fc6c]:not(.page-num--active):hover{background-color:#e9ecef}.page-header[data-v-c9a5fc6c]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:16px}.page-title[data-v-c9a5fc6c]{margin:0;font-size:22px;font-weight:800;color:#2c3e50}.page-desc[data-v-c9a5fc6c]{margin:4px 0 0;color:#7f8c8d;font-size:13px}.btn-danger[data-v-c9a5fc6c]{background-color:#e74c3c;color:#fff;border:none}.btn-danger[data-v-c9a5fc6c]:hover{background-color:#c0392b}.btn-with-icon[data-v-c9a5fc6c]{display:inline-flex;align-items:center;gap:6px}.privacy-container[data-v-8a90e9eb]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px;font-family:Inter,Noto Sans JP,sans-serif}.privacy-card[data-v-8a90e9eb]{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 10px 30px #0000001a;padding:35px;width:100%;max-width:650px;box-sizing:border-box;display:flex;flex-direction:column}.header-section[data-v-8a90e9eb]{text-align:center;margin-bottom:25px}.icon-wrapper[data-v-8a90e9eb]{background:#ebf5ff;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 15px}.shield-icon[data-v-8a90e9eb]{color:#3182ce}h2[data-v-8a90e9eb]{color:#2d3748;font-size:22px;margin:0 0 10px;font-weight:700}.subtitle[data-v-8a90e9eb]{color:#718096;font-size:14px;line-height:1.5;margin:0}.policy-body[data-v-8a90e9eb]{border:1px solid #e2e8f0;background:#f7fafc;border-radius:8px;padding:20px;height:280px;overflow-y:scroll;margin-bottom:25px;font-size:13px;line-height:1.6;color:#4a5568}.policy-body h3[data-v-8a90e9eb]{margin-top:0;color:#1a202c;font-size:15px}.policy-body h4[data-v-8a90e9eb]{color:#2d3748;margin:15px 0 5px;font-size:14px}.policy-body p[data-v-8a90e9eb]{margin:0 0 10px}.policy-body ul[data-v-8a90e9eb]{margin:0 0 10px;padding-left:20px}.policy-body li[data-v-8a90e9eb]{margin-bottom:5px}.scroll-badge[data-v-8a90e9eb]{text-align:center;padding:8px;background:#fffaf0;border:1px dashed #dd6b20;color:#dd6b20;border-radius:4px;font-weight:600;margin-top:15px}.scroll-badge--active[data-v-8a90e9eb]{background:#f0fff4;border-color:#38a169;color:#38a169}.action-section[data-v-8a90e9eb]{display:flex;flex-direction:column;gap:15px}.checkbox-container[data-v-8a90e9eb]{display:flex;align-items:flex-start;position:relative;padding-left:30px;cursor:pointer;font-size:14px;color:#2d3748;-webkit-user-select:none;user-select:none}.checkbox-container input[data-v-8a90e9eb]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark[data-v-8a90e9eb]{position:absolute;top:2px;left:0;height:20px;width:20px;background-color:#edf2f7;border:2px solid #cbd5e0;border-radius:4px;transition:all .2s ease}.checkbox-container:hover input:not(:disabled)~.checkmark[data-v-8a90e9eb]{background-color:#e2e8f0}.checkbox-container input:checked~.checkmark[data-v-8a90e9eb]{background-color:#3182ce;border-color:#3182ce}.checkmark[data-v-8a90e9eb]:after{content:"";position:absolute;display:none}.checkbox-container input:checked~.checkmark[data-v-8a90e9eb]:after{display:block}.checkbox-container .checkmark[data-v-8a90e9eb]:after{left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-container--disabled[data-v-8a90e9eb]{cursor:not-allowed;opacity:.5}.checkbox-label[data-v-8a90e9eb]{line-height:1.4}.error-msg[data-v-8a90e9eb]{color:#e53e3e;background:#fff5f5;padding:10px;border-radius:6px;font-size:13px;text-align:center;border:1px solid #fed7d7}.submit-button[data-v-8a90e9eb]{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:linear-gradient(90deg,#3182ce,#2b6cb0);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-button[data-v-8a90e9eb]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3182ce4d}.submit-button[data-v-8a90e9eb]:disabled{background:#cbd5e0;color:#718096;cursor:not-allowed}.arrow-icon[data-v-8a90e9eb]{transition:transform .2s ease}.submit-button:hover:not(:disabled) .arrow-icon[data-v-8a90e9eb]{transform:translate(3px)}.spinner[data-v-8a90e9eb]{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin-8a90e9eb 1s ease-in-out infinite}@keyframes spin-8a90e9eb{to{transform:rotate(360deg)}}@media(max-width:480px){.privacy-card[data-v-8a90e9eb]{padding:20px}.policy-body[data-v-8a90e9eb]{height:320px}h2[data-v-8a90e9eb]{font-size:18px}}:root{--color-background: #f4f7f6;--color-text: #2c3e50;--color-primary: #2980b9;--color-danger: #c0392b;--color-success: #27ae60}*,*:before,*:after{box-sizing:border-box;margin:0}body{min-height:100vh;color:var(--color-text);background:var(--color-background);line-height:1.6;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn{padding:8px 18px;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:14px;transition:background-color .2s,transform .1s;display:inline-flex;align-items:center;justify-content:center}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-small{padding:6px 12px;font-size:13px}.btn-primary{background-color:#2980b9;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1f6da0}.btn-secondary{background-color:#95a5a6;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#7f8c8d}.btn-edit{background-color:#e67e22;color:#fff}.btn-edit:hover:not(:disabled){background-color:#d35400}.btn-danger{background-color:#e74c3c;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c0392b}.btn-success{background-color:#27ae60;color:#fff}.btn-success:hover:not(:disabled){background-color:#219150}.btn-pdf{background-color:#e74c3c;color:#fff}.btn-pdf:hover:not(:disabled){background-color:#c0392b}.btn-pdf-light{background-color:#fadbd8;color:#e74c3c;border:1px solid #f5b7b1}.btn-pdf-light:hover:not(:disabled){background-color:#f5b7b1}.btn-warning{background-color:#f1c40f;color:#2c3e50}.btn-warning:hover:not(:disabled){background-color:#f39c12}.btn-security{background-color:#8e44ad;color:#fff}.btn-security:hover:not(:disabled){background-color:#7d3c98}.btn-icon-only{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:6px;transition:all .2s;cursor:pointer;border:none;flex-shrink:0;padding:0}.btn-icon-only.btn-edit,.btn-icon-only.btn-secondary,.btn-icon-only.btn-danger,.btn-icon-only.btn-success{color:#fff}.btn-with-icon{display:inline-flex;align-items:center;justify-content:center;gap:6px}#app{width:100%;min-height:100vh}
