:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#111827;background-color:#f4f5f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-color: #6366f1;--primary-hover: #4f46e5;--primary-light: #eef2ff;--page-bg: #f4f5f7;--bg-color: #f4f5f7;--card-bg: #ffffff;--sunken-bg: #f4f5f7;--text-color: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--error-color: #ef4444;--border-color: #e5e7eb;--radius-page: 20px;--radius-card: 16px;--radius-row: 10px;--radius-control: 10px;--radius-pill: 999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .03);--shadow-card: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 12px -2px rgb(0 0 0 / .06), 0 2px 4px -2px rgb(0 0 0 / .04);--shadow-lg: 0 12px 32px -8px rgb(15 23 42 / .12), 0 4px 8px -4px rgb(15 23 42 / .06);--shadow-raise: 0 2px 8px -2px rgb(15 23 42 / .08), 0 1px 2px rgb(15 23 42 / .04);--hairline: rgba(15, 23, 42, .07);--hairline-strong: rgba(15, 23, 42, .12);--ring: 0 0 0 2px var(--card-bg), 0 0 0 4px rgba(99, 102, 241, .45);--ease: cubic-bezier(.22, .61, .36, 1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-control)}body{margin:0;min-height:100vh;background-color:var(--page-bg);color:var(--text-color)}#app{min-height:100vh}*{box-sizing:border-box}h1,h2,h3{margin-top:0;color:var(--text-color)}a{font-weight:500;color:var(--primary-color);text-decoration:none}a:hover{text-decoration:underline}.card{background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:24px}.page-header{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap;padding:22px 24px;margin-bottom:20px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.page-header-text{flex:1;min-width:220px}.page-header h1{margin:0;font-size:1.375rem;font-weight:650;letter-spacing:-.02em;line-height:1.25}.page-header .page-subtitle{margin:4px 0 0;color:var(--text-secondary);font-size:.875rem}.page-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stat-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.stat-chip{display:inline-flex;align-items:baseline;gap:6px;padding:5px 11px;border-radius:var(--radius-pill);background:var(--sunken-bg);font-size:.8125rem;line-height:1.2;color:var(--text-secondary);white-space:nowrap}.stat-chip strong{color:var(--text-color);font-weight:650;font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border-radius:var(--radius-control);font-weight:600;cursor:pointer;transition:background .18s var(--ease),box-shadow .18s var(--ease),transform .12s var(--ease),color .18s var(--ease),opacity .18s var(--ease);border:1px solid transparent;font-size:.875rem;line-height:1.2;white-space:nowrap;text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary-color);color:#fff;box-shadow:var(--shadow-raise)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md)}a.btn:hover{text-decoration:none}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:var(--card-bg);border-color:var(--hairline-strong);color:var(--text-color)}.btn-outline:hover:not(:disabled){background:var(--sunken-bg);border-color:var(--hairline-strong)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--sunken-bg);color:var(--text-color)}.input{width:100%;padding:11px 14px;border-radius:var(--radius-control);border:1px solid transparent;background:var(--sunken-bg);color:var(--text-color);font-size:.875rem;transition:box-shadow .15s,background .15s}.input::placeholder{color:var(--text-muted)}.input:focus{outline:none;background:var(--card-bg);box-shadow:0 0 0 2px var(--primary-color)}.label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:6px;color:var(--text-secondary)}.form-group{margin-bottom:16px}.error-text{color:var(--error-color);font-size:.875rem;margin-top:4px}.table-container{overflow-x:auto;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:6px 12px 10px}.table{width:100%;border-collapse:separate;border-spacing:0 4px;text-align:left}.table th{padding:12px;font-weight:600;color:var(--text-secondary);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;position:sticky;top:0;z-index:1;background:var(--card-bg);box-shadow:inset 0 -1px 0 var(--hairline)}.table td{padding:13px 12px;font-size:.875rem;background:transparent;transition:background .15s var(--ease)}.table td.num,.table th.num{font-variant-numeric:tabular-nums;text-align:right}.table tbody tr:hover td{background:var(--sunken-bg)}.table tbody tr:focus-within td{background:var(--sunken-bg)}.table tbody tr td:first-child{border-top-left-radius:var(--radius-row);border-bottom-left-radius:var(--radius-row)}.table tbody tr td:last-child{border-top-right-radius:var(--radius-row);border-bottom-right-radius:var(--radius-row)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:var(--radius-pill);font-size:.75rem;font-weight:550;text-transform:capitalize;white-space:nowrap;line-height:1.45}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;opacity:.85}.badge-plain{padding-left:10px}.badge-plain:before{display:none}.badge-pending{background:#fef9c3;color:#854d0e}.badge-paid{background:#dcfce7;color:#166534}.badge-cancelled,.badge-overdue{background:#fee2e2;color:#991b1b}.badge-due{background:#fef9c3;color:#854d0e}.badge-upcoming,.badge-event{background:var(--primary-light);color:#4338ca}.badge-event-past{background:var(--sunken-bg);color:var(--text-secondary)}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.search-box{position:relative;flex:1;min-width:200px;max-width:320px}.search-box:before{content:"🔍";position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:.8rem;opacity:.6;pointer-events:none}.search-box .input{padding-left:34px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-control);border:1px solid transparent;background:transparent;cursor:pointer;transition:background .2s}.icon-btn:hover{background:var(--sunken-bg)}.segmented{display:inline-flex;gap:2px;padding:3px;background:var(--card-bg);border-radius:var(--radius-control);box-shadow:var(--shadow-card)}.segment{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:550;cursor:pointer;white-space:nowrap;transition:background .18s var(--ease),color .18s var(--ease)}.segment:hover{background:var(--sunken-bg);color:var(--text-color)}.segment.active{background:var(--primary-light);color:#4338ca}.segment-count{font-size:.6875rem;font-weight:650;padding:1px 6px;border-radius:999px;background:var(--sunken-bg);color:var(--text-secondary);font-variant-numeric:tabular-nums}.segment.active .segment-count{background:#ffffffbf;color:#4338ca}.panel{padding:20px 22px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-head h2{margin:0;font-size:1rem;font-weight:650}.panel-link{font-size:.8125rem;font-weight:550;white-space:nowrap}.entry-list{list-style:none;margin:0;padding:0}.entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--radius-row);color:inherit;font-weight:400;transition:background .18s var(--ease)}a.entry:hover{background:var(--sunken-bg);text-decoration:none}.entry-main{display:flex;flex-direction:column;gap:2px;min-width:0}.entry-title{font-weight:550;font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-meta{font-size:.8125rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-side{display:flex;align-items:center;gap:8px;flex-shrink:0}.entry-amount{font-weight:600;font-variant-numeric:tabular-nums}.entry-date{font-size:.875rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.panel-empty{margin:0;padding:20px 12px;color:var(--text-muted);font-size:.875rem}.state-panel{text-align:center;padding:64px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.state-icon{width:56px;height:56px;margin:0 auto 16px;display:grid;place-items:center;border-radius:18px;background:var(--primary-light);font-size:26px;line-height:1}.state-panel h3{margin:0 0 6px;font-size:1.0625rem;font-weight:650}.state-panel p{color:var(--text-secondary);margin:0 auto 22px;max-width:42ch;font-size:.875rem}.skeleton{background:linear-gradient(90deg,var(--sunken-bg) 25%,rgba(15,23,42,.055) 37%,var(--sunken-bg) 63%);background-size:400% 100%;animation:skeleton-sweep 1.4s ease-in-out infinite;border-radius:6px}@keyframes skeleton-sweep{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-row{height:46px;border-radius:var(--radius-row);margin-bottom:6px}.rise-in{animation:rise-in .32s var(--ease) both}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:720px){.toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:none}}.brand-mark[data-v-9f954c1f]{display:flex;align-items:center;gap:10px}.brand-icon[data-v-9f954c1f]{flex-shrink:0;display:block}.brand-text[data-v-9f954c1f]{display:flex;flex-direction:column;line-height:1.2}.brand-name[data-v-9f954c1f]{font-weight:700;font-size:1.05rem;color:var(--text-color)}.brand-tagline[data-v-9f954c1f]{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.login-container[data-v-2346ae9c]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-card[data-v-2346ae9c]{width:100%;max-width:400px;text-align:center}.brand-header[data-v-2346ae9c]{display:flex;justify-content:center;margin-bottom:20px}.brand-header[data-v-2346ae9c] .brand-mark{flex-direction:column;gap:6px}.brand-header[data-v-2346ae9c] .brand-text{align-items:center}.subtitle[data-v-2346ae9c]{color:var(--text-muted);margin-bottom:24px}.login-form[data-v-2346ae9c]{text-align:left}.w-full[data-v-2346ae9c]{width:100%}.mt-4[data-v-2346ae9c]{margin-top:1rem}.text-center[data-v-2346ae9c]{text-align:center}.link[data-v-2346ae9c]{color:var(--primary-color);text-decoration:none;font-weight:500}.link[data-v-2346ae9c]:hover{text-decoration:underline}.label-row[data-v-2346ae9c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.label-row .label[data-v-2346ae9c]{margin-bottom:0}.forgot-link[data-v-2346ae9c]{font-size:.8rem}@media(max-width:720px){.login-container[data-v-2346ae9c]{padding:12px}.login-card[data-v-2346ae9c]{padding:20px}}.register-container[data-v-490af40e]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.register-card[data-v-490af40e]{width:100%;max-width:420px;text-align:center}.brand-header[data-v-490af40e]{display:flex;justify-content:center;margin-bottom:20px}.brand-header[data-v-490af40e] .brand-mark{flex-direction:column;gap:6px}.brand-header[data-v-490af40e] .brand-text{align-items:center}.subtitle[data-v-490af40e]{color:var(--text-muted);margin-bottom:24px}.register-form[data-v-490af40e]{text-align:left}.w-full[data-v-490af40e]{width:100%}.mt-4[data-v-490af40e]{margin-top:1rem}.text-center[data-v-490af40e]{text-align:center}.link[data-v-490af40e]{color:var(--primary-color);text-decoration:none;font-weight:500}.link[data-v-490af40e]:hover{text-decoration:underline}.field-error[data-v-490af40e]{color:#b00020;font-size:.82rem;margin:4px 0 0}.help-text[data-v-490af40e]{color:var(--text-muted);font-size:.8rem}.mt-1[data-v-490af40e]{margin-top:4px}@media(max-width:720px){.register-container[data-v-490af40e]{padding:12px}.register-card[data-v-490af40e]{padding:20px}}.login-container[data-v-88fc4590]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-card[data-v-88fc4590]{width:100%;max-width:400px;text-align:center}.brand-header[data-v-88fc4590]{display:flex;justify-content:center;margin-bottom:20px}.brand-header[data-v-88fc4590] .brand-mark{flex-direction:column;gap:6px}.brand-header[data-v-88fc4590] .brand-text{align-items:center}.subtitle[data-v-88fc4590]{color:var(--text-muted);margin-bottom:24px}.login-form[data-v-88fc4590]{text-align:left}.w-full[data-v-88fc4590]{width:100%}.mt-4[data-v-88fc4590]{margin-top:1rem}.text-center[data-v-88fc4590]{text-align:center}.link[data-v-88fc4590]{color:var(--primary-color);text-decoration:none;font-weight:500}.link[data-v-88fc4590]:hover{text-decoration:underline}.help-text[data-v-88fc4590]{color:var(--text-muted);font-size:.85rem}@media(max-width:720px){.login-container[data-v-88fc4590]{padding:12px}.login-card[data-v-88fc4590]{padding:20px}}.login-container[data-v-90b04afb]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-card[data-v-90b04afb]{width:100%;max-width:400px;text-align:center}.brand-header[data-v-90b04afb]{display:flex;justify-content:center;margin-bottom:20px}.brand-header[data-v-90b04afb] .brand-mark{flex-direction:column;gap:6px}.brand-header[data-v-90b04afb] .brand-text{align-items:center}.subtitle[data-v-90b04afb]{color:var(--text-muted);margin-bottom:24px}.login-form[data-v-90b04afb]{text-align:left}.w-full[data-v-90b04afb]{width:100%}.mt-1[data-v-90b04afb]{margin-top:4px}.help-text[data-v-90b04afb]{color:var(--text-muted);font-size:.8rem}.field-error[data-v-90b04afb]{color:var(--error-color);font-size:.8rem;margin-top:4px}@media(max-width:720px){.login-container[data-v-90b04afb]{padding:12px}.login-card[data-v-90b04afb]{padding:20px}}.onboarding-container[data-v-6bad165f]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background-color:#f8fafc}.onboarding-card[data-v-6bad165f]{width:100%;max-width:480px;text-align:center;padding:40px}.icon-circle[data-v-6bad165f]{width:64px;height:64px;background-color:#eff6ff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.icon[data-v-6bad165f]{font-size:32px}.subtitle[data-v-6bad165f]{color:var(--text-muted);margin-bottom:32px;line-height:1.6}.actions[data-v-6bad165f]{display:flex;flex-direction:column;gap:12px}.w-full[data-v-6bad165f]{width:100%}.mt-6[data-v-6bad165f]{margin-top:24px}.help-text[data-v-6bad165f]{font-size:.875rem;color:var(--text-muted)}.shell[data-v-3057c45f]{display:flex;min-height:100vh}.sidebar[data-v-3057c45f]{width:240px;background:var(--card-bg);border-radius:0 var(--radius-page) var(--radius-page) 0;box-shadow:var(--shadow-card);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto}.backdrop[data-v-3057c45f]{display:none}.brand[data-v-3057c45f]{padding:18px 24px}.nav-links[data-v-3057c45f]{flex:1;padding:16px;display:flex;flex-direction:column;gap:4px}.nav-item[data-v-3057c45f]{position:relative;display:flex;align-items:center;padding:10px 12px;border-radius:var(--radius-row);color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.9rem;transition:background .18s var(--ease),color .18s var(--ease)}.nav-item[data-v-3057c45f]:hover{background:var(--sunken-bg);color:var(--text-color);text-decoration:none}.nav-item.active[data-v-3057c45f]{background:var(--primary-light);color:#4338ca;font-weight:600}.nav-item.active[data-v-3057c45f]:before{content:"";position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--primary-color)}.icon[data-v-3057c45f]{margin-right:12px;font-size:1.1rem;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.nav-item.active .icon[data-v-3057c45f]{background:#fff}.sidebar-footer[data-v-3057c45f]{padding:16px;flex-shrink:0}.main-container[data-v-3057c45f]{flex:1;display:flex;flex-direction:column;min-width:0}.topbar[data-v-3057c45f]{height:64px;display:flex;align-items:center;padding:0 32px;gap:12px;position:sticky;top:0;z-index:30;background:#f4f5f7d1;backdrop-filter:saturate(1.6) blur(12px);-webkit-backdrop-filter:saturate(1.6) blur(12px);box-shadow:inset 0 -1px 0 var(--hairline)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.topbar[data-v-3057c45f]{background:var(--page-bg)}}.menu-btn[data-v-3057c45f]{display:none;width:40px;height:40px;border-radius:var(--radius-control);border:1px solid var(--border-color);background:var(--card-bg);font-size:18px;line-height:1}.crumbs[data-v-3057c45f]{display:flex;align-items:center;gap:8px;font-size:.8125rem;min-width:0}.crumb-root[data-v-3057c45f]{color:var(--text-muted);white-space:nowrap}.crumb-sep[data-v-3057c45f]{color:var(--text-muted);opacity:.6}.crumb-current[data-v-3057c45f]{color:var(--text-color);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spacer[data-v-3057c45f]{flex:1}.content[data-v-3057c45f]{padding:24px 32px 48px;flex:1;width:100%;max-width:1440px;margin:0 auto}.user-info[data-v-3057c45f]{display:flex;align-items:center;gap:12px}.avatar[data-v-3057c45f]{width:32px;height:32px;background:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.notif-wrap[data-v-3057c45f]{position:relative;z-index:57}.notif-btn[data-v-3057c45f]{position:relative;z-index:57;font-size:1rem}.notif-count[data-v-3057c45f]{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 3px;border-radius:999px;background:#dc2626;color:#fff;font-size:.65rem;font-weight:700;line-height:16px;text-align:center}.notif-backdrop[data-v-3057c45f]{position:fixed;inset:0;z-index:55}.notif-dropdown[data-v-3057c45f]{position:absolute;right:0;top:calc(100% + 8px);width:320px;max-width:85vw;max-height:400px;overflow-y:auto;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-md);z-index:56;padding:8px}.notif-empty[data-v-3057c45f]{padding:20px;text-align:center;color:var(--text-muted);font-size:.875rem}.notif-group[data-v-3057c45f]{padding:4px 0}.notif-group-title[data-v-3057c45f]{padding:6px 10px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.notif-group-title.overdue[data-v-3057c45f]{color:#b91c1c}.notif-group-title.due[data-v-3057c45f]{color:#92400e}.notif-group-title.upcoming[data-v-3057c45f]{color:var(--primary-color)}.notif-item[data-v-3057c45f]{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border:none;background:none;border-radius:8px;cursor:pointer;font-size:.85rem}.notif-item[data-v-3057c45f]:hover{background:var(--sunken-bg)}.notif-item-title[data-v-3057c45f]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item-date[data-v-3057c45f]{flex-shrink:0;color:var(--text-muted);font-size:.75rem}.avatar-img[data-v-3057c45f]{object-fit:cover;border:1px solid var(--border-color)}.stripe-warning[data-v-3057c45f]{display:inline-flex;align-items:center;background:#fef3c7;padding:6px 14px;border-radius:var(--radius-pill);color:#92400e;text-decoration:none;font-size:.8125rem;font-weight:550;white-space:nowrap;transition:background .18s var(--ease)}.stripe-warning[data-v-3057c45f]:hover{background:#fde68a;text-decoration:none}.w-full[data-v-3057c45f]{width:100%}@media(max-width:720px){.menu-btn[data-v-3057c45f]{display:inline-flex;align-items:center;justify-content:center}.content[data-v-3057c45f]{padding:16px}.topbar[data-v-3057c45f]{padding:0 16px}.crumb-root[data-v-3057c45f],.crumb-sep[data-v-3057c45f]{display:none}.stripe-warning[data-v-3057c45f]{font-size:0;padding:8px}.stripe-warning[data-v-3057c45f]:before{content:"⚠️";font-size:.875rem}.backdrop[data-v-3057c45f]{display:block;position:fixed;inset:0;background:#0f172a73;z-index:40}.sidebar[data-v-3057c45f]{position:fixed;left:0;top:0;height:100vh;height:100dvh;z-index:50;transform:translate(-110%);transition:transform .2s ease;box-shadow:0 20px 50px #00000026}.sidebar.open[data-v-3057c45f]{transform:translate(0)}}.customise[data-v-67021fc2]{margin-bottom:20px}.customise-head[data-v-67021fc2]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.customise-head h2[data-v-67021fc2]{margin:0;font-size:1.0625rem;font-weight:650}.customise-sub[data-v-67021fc2]{margin:4px 0 0;max-width:56ch;font-size:.875rem;color:var(--text-secondary)}.widget-list[data-v-67021fc2]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.widget-row[data-v-67021fc2]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px;border-radius:var(--radius-row);background:var(--sunken-bg)}.widget-toggle[data-v-67021fc2]{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:220px;cursor:pointer}.widget-toggle input[data-v-67021fc2]{margin-top:3px;width:16px;height:16px;accent-color:var(--primary-color);flex-shrink:0}.widget-text[data-v-67021fc2]{display:flex;flex-direction:column;gap:2px}.widget-label[data-v-67021fc2]{font-weight:600;font-size:.9375rem}.widget-description[data-v-67021fc2]{font-size:.8125rem;color:var(--text-secondary)}.widget-controls[data-v-67021fc2]{display:flex;align-items:center;gap:8px}.widget-option .input[data-v-67021fc2]{padding:6px 10px;font-size:.8125rem;background:var(--card-bg)}.widget-controls .icon-btn[data-v-67021fc2]{background:var(--card-bg);color:var(--text-secondary)}.widget-controls .icon-btn[data-v-67021fc2]:disabled{opacity:.4;cursor:not-allowed}.saving-note[data-v-67021fc2]{margin:14px 0 0;font-size:.8125rem;color:var(--text-muted)}@media(max-width:720px){.widget-controls[data-v-67021fc2]{width:100%;justify-content:flex-end}}.filter-note[data-v-e255bc4b]{margin:-6px 0 8px;font-size:.8125rem;color:var(--text-muted)}.note-dot[data-v-e255bc4b]{font-size:.75rem;margin-left:4px}.pct-bar[data-v-e255bc4b]{display:block;width:56px;height:6px;border-radius:var(--radius-pill);background:var(--sunken-bg);overflow:hidden}.pct-fill[data-v-e255bc4b]{display:block;height:100%;background:var(--primary-color);border-radius:inherit}.pct-value[data-v-e255bc4b]{font-size:.8125rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:2.5rem;text-align:right}.activity-icon[data-v-0b1298af]{margin-right:6px;font-size:.875rem}.chart-note[data-v-0ceedcce]{margin:-6px 0 14px;font-size:.8125rem;color:var(--text-muted)}.chart[data-v-0ceedcce]{display:flex;align-items:flex-end;gap:10px;height:148px;border-bottom:1px solid var(--hairline);padding-bottom:0}.col[data-v-0ceedcce]{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;border-radius:var(--radius-control)}.col-value[data-v-0ceedcce]{height:1.1rem;line-height:1.1rem;font-size:.75rem;font-weight:600;color:var(--text-color);margin-bottom:4px;white-space:nowrap;flex-shrink:0}.col-value.empty[data-v-0ceedcce]{visibility:hidden}.col-track[data-v-0ceedcce]{display:flex;align-items:flex-end;justify-content:center;width:100%;flex:1;min-height:0}.col-bar[data-v-0ceedcce]{display:block;width:100%;max-width:24px;background:var(--primary-color);border-radius:4px 4px 0 0;transition:opacity .18s var(--ease)}.col-bar.zero[data-v-0ceedcce]{height:2px!important;background:var(--hairline-strong);border-radius:2px}.col-label[data-v-0ceedcce]{margin-top:8px;font-size:.75rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.col-tip[data-v-0ceedcce]{position:absolute;bottom:calc(100% - 18px);left:50%;transform:translate(-50%);padding:4px 8px;border-radius:var(--radius-control);background:var(--text-color);color:#fff;font-size:.75rem;font-weight:550;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s var(--ease);z-index:2}.col:hover .col-tip[data-v-0ceedcce],.col:focus-visible .col-tip[data-v-0ceedcce]{opacity:1}.col:hover .col-bar[data-v-0ceedcce],.col:focus-visible .col-bar[data-v-0ceedcce]{opacity:.85}.chart-note[data-v-09eac3cc]{margin:-6px 0 8px;font-size:.8125rem;color:var(--text-muted)}.client-row[data-v-09eac3cc]{display:flex;flex-direction:column;align-items:stretch;gap:6px}.client-head[data-v-09eac3cc]{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.meter[data-v-09eac3cc]{display:block;height:6px;border-radius:var(--radius-pill);background:var(--primary-light);overflow:hidden}.meter-fill[data-v-09eac3cc]{display:block;height:100%;background:var(--primary-color);border-radius:inherit}.month-stepper[data-v-f435d776]{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:var(--radius-control);background:var(--sunken-bg)}.month-label[data-v-f435d776]{min-width:8.5rem;text-align:center;font-weight:600;font-size:.875rem;font-variant-numeric:tabular-nums}.month-stepper .icon-btn[data-v-f435d776]{width:30px;height:30px;font-size:1.125rem;line-height:1;color:var(--text-secondary)}.month-stepper .icon-btn[data-v-f435d776]:hover{background:var(--card-bg);color:var(--text-color)}.metric-grid[data-v-f435d776]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px}.metric-skeleton[data-v-f435d776]{height:116px;border-radius:var(--radius-card)}.metric[data-v-f435d776]{padding:20px 22px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.metric-label[data-v-f435d776]{margin:0;font-size:.8125rem;font-weight:550;color:var(--text-secondary)}.metric-value[data-v-f435d776]{margin:8px 0 0;font-size:1.75rem;font-weight:650;letter-spacing:-.02em;line-height:1.15}.metric-sub[data-v-f435d776]{margin:6px 0 0;font-size:.8125rem;color:var(--text-muted)}.metric-alert .metric-value[data-v-f435d776]{color:#991b1b}.panel-grid[data-v-f435d776]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.widget-grid[data-v-f435d776]{margin-top:16px}.add-widgets[data-v-f435d776]{display:flex;align-items:center;gap:14px;width:100%;margin-top:16px;padding:20px 22px;text-align:left;border:1px dashed var(--hairline-strong);border-radius:var(--radius-card);background:transparent;cursor:pointer;color:var(--text-secondary);font:inherit;transition:background .18s var(--ease),border-color .18s var(--ease)}.add-widgets[data-v-f435d776]:hover{background:var(--card-bg);border-color:var(--primary-color)}.add-widgets strong[data-v-f435d776]{display:block;color:var(--text-color);font-size:.9375rem}.add-widgets-sub[data-v-f435d776]{display:block;margin-top:2px;font-size:.8125rem;color:var(--text-secondary)}.add-widgets-icon[data-v-f435d776]{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-control);background:var(--primary-light);color:var(--primary-color);font-size:1.125rem;font-weight:600}.panel-empty[data-v-f435d776]{margin:0;padding:20px 12px;color:var(--text-muted);font-size:.875rem}.stat-row .stat-chip[data-v-f435d776]{font-weight:400;color:var(--text-secondary)}.stat-row .stat-chip[data-v-f435d776]:hover{text-decoration:none;background:var(--primary-light)}@media(max-width:720px){.month-label[data-v-f435d776]{min-width:7rem}}.spacer[data-v-e3ba1b7b]{flex:1}.text-right[data-v-e3ba1b7b]{text-align:right}.client-name[data-v-e3ba1b7b]{font-weight:600;color:var(--primary-color)}.client-name[data-v-e3ba1b7b]:hover{text-decoration:underline}.client-cell[data-v-e3ba1b7b]{display:flex;align-items:center;gap:10px}.avatar-circle[data-v-e3ba1b7b]{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--primary-light);color:var(--primary-color);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}.pagination-actions[data-v-e3ba1b7b]{display:flex;gap:8px}.btn-sm[data-v-e3ba1b7b]{padding:6px 10px;font-size:.75rem}.loading-state[data-v-e3ba1b7b],.empty-state[data-v-e3ba1b7b]{text-align:center;padding:64px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.empty-icon[data-v-e3ba1b7b]{font-size:48px;margin-bottom:16px}.empty-state h3[data-v-e3ba1b7b]{margin-bottom:8px}.empty-state p[data-v-e3ba1b7b]{color:var(--text-muted);margin-bottom:24px}.error-card[data-v-e3ba1b7b]{padding:24px;background:#fef2f2;border-radius:var(--radius-card);text-align:center}.card-list[data-v-e3ba1b7b]{display:none}.mobile-card[data-v-e3ba1b7b]{background:var(--card-bg);box-shadow:var(--shadow-card);border-radius:var(--radius-card);padding:14px;margin-bottom:12px}.mobile-card-row[data-v-e3ba1b7b]{display:flex;justify-content:space-between;align-items:center;gap:12px}.mobile-card-title[data-v-e3ba1b7b]{font-weight:700}.mobile-card-meta[data-v-e3ba1b7b]{margin-top:10px;display:flex;flex-direction:column;gap:8px}.meta-item[data-v-e3ba1b7b]{display:flex;justify-content:space-between;gap:12px}.meta-k[data-v-e3ba1b7b]{color:var(--text-muted);font-size:.85rem}.meta-v[data-v-e3ba1b7b]{font-weight:500;text-align:right}@media(max-width:720px){.table-container[data-v-e3ba1b7b]{display:none}.card-list[data-v-e3ba1b7b]{display:block}}.form-container[data-v-12341500]{max-width:600px}.form-grid[data-v-12341500]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-grid .form-group[data-v-12341500]{margin-bottom:0}.form-actions[data-v-12341500]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.mb-4[data-v-12341500]{margin-bottom:16px}@media(max-width:720px){.form-actions[data-v-12341500]{flex-direction:column-reverse}.form-actions .btn[data-v-12341500]{width:100%}}.spacer[data-v-d16160ad]{flex:1}.text-right[data-v-d16160ad]{text-align:right}.product-name[data-v-d16160ad]{font-weight:600;color:var(--primary-color)}.product-name[data-v-d16160ad]:hover{text-decoration:underline}.type-badge[data-v-d16160ad]{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:700}.type-badge.is-service[data-v-d16160ad]{background:var(--primary-light);color:var(--primary-color)}.type-badge.is-product[data-v-d16160ad]{background:#ecfdf5;color:#047857}.pagination-actions[data-v-d16160ad]{display:flex;gap:8px}.btn-sm[data-v-d16160ad]{padding:6px 10px;font-size:.75rem}.loading-state[data-v-d16160ad],.empty-state[data-v-d16160ad]{text-align:center;padding:64px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.empty-icon[data-v-d16160ad]{font-size:48px;margin-bottom:16px}.empty-state h3[data-v-d16160ad]{margin-bottom:8px}.empty-state p[data-v-d16160ad]{color:var(--text-muted);margin-bottom:24px}.error-card[data-v-d16160ad]{padding:24px;background:#fef2f2;border-radius:var(--radius-card);text-align:center}.card-list[data-v-d16160ad]{display:none}.mobile-card[data-v-d16160ad]{background:var(--card-bg);box-shadow:var(--shadow-card);border-radius:var(--radius-card);padding:14px;margin-bottom:12px}.mobile-card-row[data-v-d16160ad]{display:flex;justify-content:space-between;align-items:center;gap:12px}.mobile-card-title[data-v-d16160ad]{font-weight:700}.mobile-card-meta[data-v-d16160ad]{margin-top:10px;display:flex;flex-direction:column;gap:8px}.meta-item[data-v-d16160ad]{display:flex;justify-content:space-between;gap:12px}.meta-k[data-v-d16160ad]{color:var(--text-muted);font-size:.85rem}.meta-v[data-v-d16160ad]{font-weight:500;text-align:right}@media(max-width:720px){.table-container[data-v-d16160ad]{display:none}.card-list[data-v-d16160ad]{display:block}}.form-container[data-v-ef00fe35]{max-width:600px}.form-grid[data-v-ef00fe35]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.form-grid .form-group[data-v-ef00fe35]{margin-bottom:0}.form-actions[data-v-ef00fe35]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.mb-4[data-v-ef00fe35]{margin-bottom:16px}@media(max-width:720px){.form-actions[data-v-ef00fe35]{flex-direction:column-reverse}.form-actions .btn[data-v-ef00fe35]{width:100%}}.calendar[data-v-f1d982d4]{padding:0;overflow:hidden;background:var(--card-bg);box-shadow:var(--shadow-card)}.weekday-row[data-v-f1d982d4]{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--sunken-bg);background:var(--sunken-bg)}.weekday[data-v-f1d982d4]{padding:10px 8px;font-size:.75rem;font-weight:600;color:var(--text-muted);text-align:center}.day-grid[data-v-f1d982d4]{display:grid;grid-template-columns:repeat(7,1fr)}.day-cell[data-v-f1d982d4]{min-height:100px;padding:8px;border-right:1px solid var(--sunken-bg);border-bottom:1px solid var(--sunken-bg);cursor:pointer;transition:background .15s}.day-cell[data-v-f1d982d4]:hover{background:var(--sunken-bg)}.day-cell[data-v-f1d982d4]:nth-child(7n){border-right:none}.day-cell.out-of-month[data-v-f1d982d4]{background:var(--sunken-bg);color:var(--text-muted)}.day-cell.out-of-month .day-number[data-v-f1d982d4]{color:var(--text-muted)}.day-number[data-v-f1d982d4]{font-size:.8rem;font-weight:600;margin-bottom:6px}.day-cell.today .day-number[data-v-f1d982d4]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--primary-color);color:#fff}.day-items[data-v-f1d982d4]{display:flex;flex-direction:column;gap:4px}.day-pill[data-v-f1d982d4]{display:block;width:100%;text-align:left;border:none;border-radius:var(--radius-control);padding:2px 6px;font-size:.7rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.day-more[data-v-f1d982d4]{display:block;width:100%;padding:2px 6px;border:none;background:transparent;border-radius:var(--radius-control);text-align:left;font-size:.7rem;font-weight:600;color:var(--text-secondary);cursor:pointer}.day-more[data-v-f1d982d4]:hover{background:var(--card-bg);color:var(--text-color)}@media(max-width:720px){.day-cell[data-v-f1d982d4]{min-height:72px}.day-pill[data-v-f1d982d4]{font-size:.62rem}}.week[data-v-451bf69c]{padding:0;overflow:hidden;background:var(--card-bg);box-shadow:var(--shadow-card)}.week-head[data-v-451bf69c],.allday-strip[data-v-451bf69c]{display:grid;grid-template-columns:var(--gutter-width, 56px) repeat(7,1fr)}.week-head[data-v-451bf69c]{background:var(--sunken-bg);border-bottom:1px solid var(--hairline)}.head-cell[data-v-451bf69c]{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px}.head-weekday[data-v-451bf69c]{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.head-day[data-v-451bf69c]{font-size:.9375rem;font-weight:650;font-variant-numeric:tabular-nums}.head-cell.today .head-day[data-v-451bf69c]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--primary-color);color:#fff}.allday-strip[data-v-451bf69c]{border-bottom:1px solid var(--hairline);background:var(--card-bg)}.allday-label[data-v-451bf69c]{display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:.6875rem;color:var(--text-muted)}.allday-cell[data-v-451bf69c]{display:flex;flex-direction:column;gap:3px;padding:5px 4px;min-height:30px;border-left:1px solid var(--hairline)}.allday-pill[data-v-451bf69c]{border:none;border-radius:var(--radius-control);padding:2px 6px;font-size:.6875rem;font-weight:500;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.time-scroll[data-v-451bf69c]{max-height:62vh;overflow-y:auto;touch-action:pan-y}.time-body[data-v-451bf69c]{display:flex}.hour-gutter[data-v-451bf69c]{width:var(--gutter-width, 56px);flex-shrink:0}.hour-label[data-v-451bf69c]{height:var(--hour-height);padding-right:8px;text-align:right;font-size:.6875rem;color:var(--text-muted);font-variant-numeric:tabular-nums;transform:translateY(-.55em)}.columns[data-v-451bf69c]{position:relative;flex:1;display:flex;height:calc(24 * var(--hour-height));background-image:repeating-linear-gradient(to bottom,var(--hairline) 0 1px,transparent 1px var(--hour-height))}.day-col[data-v-451bf69c]{position:relative;flex:1;border-left:1px solid var(--hairline);cursor:pointer;overflow:visible}.day-col.today[data-v-451bf69c]{background:color-mix(in srgb,var(--primary-light) 45%,transparent)}.event-block[data-v-451bf69c]{position:absolute;display:flex;flex-direction:column;gap:1px;overflow:hidden;padding:3px 6px;border:none;border-radius:var(--radius-control);background:var(--primary-light);box-shadow:inset 3px 0 0 var(--primary-color);color:#3730a3;text-align:left;cursor:pointer;transition:box-shadow .15s var(--ease)}.event-block[data-v-451bf69c]:hover{box-shadow:inset 3px 0 0 var(--primary-color),var(--shadow-raise)}@media(hover:hover)and (pointer:fine){.event-block[data-v-451bf69c]{cursor:grab;touch-action:none}.event-block.dragging[data-v-451bf69c]{cursor:grabbing}}.event-block.dragging[data-v-451bf69c]{box-shadow:inset 3px 0 0 var(--primary-color),var(--shadow-lg);opacity:.92}.event-block.dragging .event-time[data-v-451bf69c]{visibility:hidden}.event-block.saving[data-v-451bf69c]{opacity:.65}.drag-grip[data-v-451bf69c],.resize-handle[data-v-451bf69c]{position:absolute;touch-action:none}.drag-grip[data-v-451bf69c]{top:0;left:0;width:26px;height:20px;cursor:grab}.resize-handle[data-v-451bf69c]{left:0;right:0;bottom:0;height:10px;cursor:ns-resize}.resize-handle[data-v-451bf69c]:after{content:"";position:absolute;left:50%;bottom:3px;width:18px;height:2px;transform:translate(-50%);border-radius:2px;background:currentColor;opacity:0;transition:opacity .15s var(--ease)}.event-block:hover .resize-handle[data-v-451bf69c]:after{opacity:.45}.drag-label[data-v-451bf69c]{position:absolute;top:2px;right:4px;padding:1px 5px;border-radius:var(--radius-pill);background:var(--text-color);color:#fff;font-size:.625rem;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none}.day-col.drop-target[data-v-451bf69c]{background:color-mix(in srgb,var(--primary-light) 70%,transparent)}.event-time[data-v-451bf69c]{font-size:.625rem;font-weight:600;opacity:.85;white-space:nowrap}.event-title[data-v-451bf69c]{font-size:.75rem;font-weight:550;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-block.compact[data-v-451bf69c]{justify-content:center;padding-top:0;padding-bottom:0}.event-block.compact .event-title[data-v-451bf69c]{font-size:.6875rem}.event-block.narrow[data-v-451bf69c]{padding-left:5px;padding-right:3px}.event-block.narrow .event-title[data-v-451bf69c]{font-size:.6875rem}@media(max-width:720px){.week-head[data-v-451bf69c],.allday-strip[data-v-451bf69c]{grid-template-columns:40px repeat(7,1fr)}.hour-gutter[data-v-451bf69c]{width:40px}.head-weekday[data-v-451bf69c]{font-size:.6rem}.event-title[data-v-451bf69c]{font-size:.6875rem}}.move-error[data-v-a07dfd5d]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:10px 10px 10px 16px;border-radius:var(--radius-control);background:#fef2f2;color:#991b1b;font-size:.875rem}.time-row[data-v-a07dfd5d]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.time-hint[data-v-a07dfd5d]{margin:-6px 0 14px;font-size:.8125rem;color:var(--text-muted)}.toolbar[data-v-a07dfd5d]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.nav-group[data-v-a07dfd5d]{display:flex;align-items:center;gap:8px}.month-label[data-v-a07dfd5d]{font-weight:600;min-width:160px;text-align:center}.spacer[data-v-a07dfd5d]{flex:1}.btn-sm[data-v-a07dfd5d]{padding:6px 10px;font-size:.75rem}.loading-state[data-v-a07dfd5d],.error-card[data-v-a07dfd5d]{text-align:center;padding:48px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.error-card[data-v-a07dfd5d]{background:#fef2f2}.modal-backdrop[data-v-a07dfd5d]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:60;padding:16px}.modal[data-v-a07dfd5d]{width:100%;max-width:420px}.modal-title[data-v-a07dfd5d]{margin:0 0 16px;font-size:1.1rem}.modal-actions[data-v-a07dfd5d]{display:flex;align-items:center;gap:8px;margin-top:8px}.danger[data-v-a07dfd5d]{color:#b91c1c;border-color:#fecaca}.mb-2[data-v-a07dfd5d]{margin-bottom:8px}@media(max-width:720px){.day-cell[data-v-a07dfd5d]{min-height:72px}.day-pill[data-v-a07dfd5d]{font-size:.62rem}.month-label[data-v-a07dfd5d]{min-width:auto}}.view-header[data-v-ab002d68]{display:flex;margin-bottom:24px}.spacer[data-v-ab002d68]{flex:1}.text-right[data-v-ab002d68]{text-align:right}.invoice-id[data-v-ab002d68]{font-weight:600;color:var(--text-color)}.filter-bar[data-v-ab002d68]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--sunken-bg);font-size:.875rem;color:var(--text-muted)}.client-link[data-v-ab002d68]{color:var(--primary-color);font-weight:600}.client-link[data-v-ab002d68]:hover{text-decoration:underline}.notes-cell[data-v-ab002d68]{max-width:260px;white-space:normal;color:var(--text-muted)}.actions[data-v-ab002d68]{display:flex;gap:8px;justify-content:flex-end}.btn-sm[data-v-ab002d68]{padding:6px 10px;font-size:.75rem}.badge-draft[data-v-ab002d68]{background:#e2e8f0;color:#334155}.badge-sent[data-v-ab002d68]{background:#dbeafe;color:#1e40af}.badge-overdue[data-v-ab002d68]{background:#fee2e2;color:#991b1b}.badge-paid[data-v-ab002d68]{background:#dcfce7;color:#166534}.badge-processing[data-v-ab002d68]{background:#ede9fe;color:#5b21b6}.loading-state[data-v-ab002d68],.empty-state[data-v-ab002d68]{text-align:center;padding:64px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.empty-icon[data-v-ab002d68]{font-size:48px;margin-bottom:16px}.empty-state h3[data-v-ab002d68]{margin-bottom:8px}.empty-state p[data-v-ab002d68]{color:var(--text-muted);margin-bottom:24px}.error-card[data-v-ab002d68]{padding:24px;background:#fef2f2;border-radius:var(--radius-card);text-align:center}.warning-card[data-v-ab002d68]{padding:24px;background:#fef3c7;border-radius:var(--radius-card);text-align:center}.warning-text[data-v-ab002d68]{color:#92400e;margin-bottom:12px}.card-list[data-v-ab002d68]{display:none}.mobile-card[data-v-ab002d68]{background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:14px;margin-bottom:12px}.mobile-card-row[data-v-ab002d68]{display:flex;justify-content:space-between;align-items:center;gap:12px}.mobile-card-title[data-v-ab002d68]{font-weight:700}.mobile-card-meta[data-v-ab002d68]{margin-top:10px;display:flex;flex-direction:column;gap:8px}.meta-item[data-v-ab002d68]{display:flex;justify-content:space-between;gap:12px}.meta-k[data-v-ab002d68]{color:var(--text-muted);font-size:.85rem}.meta-v[data-v-ab002d68]{font-weight:500;text-align:right}.mobile-actions[data-v-ab002d68]{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}@media(max-width:720px){.table-container[data-v-ab002d68]{display:none}.card-list[data-v-ab002d68]{display:block}.filter-bar[data-v-ab002d68]{flex-direction:column;align-items:flex-start;gap:10px}}.modal-backdrop[data-v-e115ed88]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal-card[data-v-e115ed88]{background:#fff;border-radius:12px;padding:24px;width:100%;max-width:420px;box-shadow:0 20px 50px #0003}.modal-title[data-v-e115ed88]{margin:0 0 16px;font-size:1.125rem;font-weight:600}.modal-actions[data-v-e115ed88]{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.mb-4[data-v-e115ed88]{margin-bottom:16px}.form-container[data-v-a96f9f4e]{max-width:900px}.banner[data-v-a96f9f4e]{padding:12px 14px;border-radius:var(--radius-card);margin-bottom:14px}.banner.success[data-v-a96f9f4e]{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.banner.warning[data-v-a96f9f4e]{background:#fffbeb;border-color:#fef3c7;color:#92400e}.client-select-row[data-v-a96f9f4e]{display:flex;gap:12px;align-items:center}.client-select-row .input[data-v-a96f9f4e]{flex:1}.client-select-row .btn[data-v-a96f9f4e]{white-space:nowrap}.form-grid[data-v-a96f9f4e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-grid .form-group[data-v-a96f9f4e]{margin-bottom:0}.section-title[data-v-a96f9f4e]{font-size:1.125rem;font-weight:600;margin:24px 0 16px;padding-top:24px}.portal-row[data-v-a96f9f4e]{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.help-text[data-v-a96f9f4e]{margin:0;color:var(--text-muted);font-size:.9rem}.hint-text[data-v-a96f9f4e]{margin:8px 0 0;color:var(--text-muted);font-size:.9rem}.portal-link-box[data-v-a96f9f4e]{display:flex;gap:8px;align-items:center}.portal-link-box .input[data-v-a96f9f4e]{flex:1}.line-item-row[data-v-a96f9f4e]{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start}.col-product[data-v-a96f9f4e]{width:150px}.col-desc[data-v-a96f9f4e]{flex:1}.col-qty[data-v-a96f9f4e]{width:100px}.col-price[data-v-a96f9f4e]{width:150px}.col-actions[data-v-a96f9f4e]{width:40px}.btn-icon[data-v-a96f9f4e]{padding:8px;color:var(--text-muted)}.btn-icon[data-v-a96f9f4e]:hover{color:var(--error-color);background:#fef2f2}.form-actions[data-v-a96f9f4e]{display:flex;gap:12px;justify-content:flex-end;padding-top:24px}.mt-2[data-v-a96f9f4e]{margin-top:8px}.mt-4[data-v-a96f9f4e]{margin-top:16px}.mt-6[data-v-a96f9f4e]{margin-top:24px}.btn-sm[data-v-a96f9f4e]{padding:6px 12px;font-size:.875rem}@media(max-width:720px){.client-select-row[data-v-a96f9f4e],.line-item-row[data-v-a96f9f4e]{flex-wrap:wrap}.col-product[data-v-a96f9f4e],.col-desc[data-v-a96f9f4e]{flex:1 1 100%}.col-qty[data-v-a96f9f4e],.col-price[data-v-a96f9f4e]{flex:1;width:auto}.col-actions[data-v-a96f9f4e]{width:auto}.form-actions[data-v-a96f9f4e]{flex-direction:column-reverse}.form-actions .btn[data-v-a96f9f4e]{width:100%}}.invoice-preview[data-v-4072f0b9]{background:var(--card-bg);border-radius:var(--radius-card);padding:32px;box-shadow:var(--shadow-card)}.topbar[data-v-4072f0b9]{height:5px;background:#9ca3af;border-radius:3px;margin-bottom:24px}.header-row[data-v-4072f0b9]{display:flex;justify-content:space-between;gap:24px}.company-block[data-v-4072f0b9]{max-width:60%}.logo[data-v-4072f0b9]{max-height:60px;max-width:200px;margin-bottom:10px;display:block}.company-name[data-v-4072f0b9]{font-size:1.15rem;font-weight:700}.company-tagline[data-v-4072f0b9]{color:var(--text-muted);margin-top:2px}.company-detail[data-v-4072f0b9]{font-size:.85rem;color:var(--text-color);line-height:1.6;margin-top:8px}.pre-line[data-v-4072f0b9]{white-space:pre-line}.meta-block[data-v-4072f0b9]{text-align:right;min-width:180px}.meta-label[data-v-4072f0b9]{font-size:.7rem;color:var(--text-muted);margin-top:10px}.meta-label[data-v-4072f0b9]:first-child{margin-top:0}.meta-value[data-v-4072f0b9]{font-weight:600}.meta-value.large[data-v-4072f0b9]{font-size:1.2rem}.divider[data-v-4072f0b9]{border-top:1px solid var(--sunken-bg);margin:18px 0}.section-label[data-v-4072f0b9]{font-size:.7rem;color:var(--text-muted);margin-bottom:4px}.bill-to-name[data-v-4072f0b9]{font-weight:700;font-size:1rem;margin-bottom:4px}.bill-to-detail[data-v-4072f0b9]{font-size:.85rem;color:var(--text-color);line-height:1.6}.mt-8[data-v-4072f0b9]{margin-top:8px}.table-container[data-v-4072f0b9]{margin-top:18px;overflow-x:auto}.items-table[data-v-4072f0b9]{width:100%;border-collapse:collapse}.items-table th[data-v-4072f0b9]{background:var(--sunken-bg);font-size:.7rem;color:var(--text-muted);text-align:left;padding:8px;border-bottom:1px solid var(--sunken-bg)}.items-table td[data-v-4072f0b9]{padding:8px;border-bottom:1px solid var(--sunken-bg)}.right[data-v-4072f0b9]{text-align:right}.notes-block[data-v-4072f0b9]{margin-top:20px}.footer-row[data-v-4072f0b9]{display:flex;justify-content:space-between;gap:24px;margin-top:24px}.payment-info-col[data-v-4072f0b9]{flex:1 1 55%}.totals-col[data-v-4072f0b9]{flex:1 1 40%;max-width:320px}.totals-table[data-v-4072f0b9]{width:100%;border-collapse:collapse;font-size:.9rem}.totals-table td[data-v-4072f0b9]{padding:4px 0}.total-row td[data-v-4072f0b9]{border-top:1px solid var(--sunken-bg);padding-top:8px}.balance-row td[data-v-4072f0b9]{border-top:1px solid var(--sunken-bg);padding-top:10px}.balance-label[data-v-4072f0b9]{font-size:.7rem;color:var(--text-muted)}.balance-value[data-v-4072f0b9]{font-size:1.2rem;font-weight:700}.signature-block[data-v-4072f0b9]{margin-top:24px}.signature-block img[data-v-4072f0b9]{max-height:55px;display:block}.signed-label[data-v-4072f0b9]{font-size:.7rem;color:var(--text-muted);margin-top:6px}@media(max-width:720px){.header-row[data-v-4072f0b9]{flex-direction:column}.company-block[data-v-4072f0b9]{max-width:100%}.meta-block[data-v-4072f0b9]{text-align:left}.meta-label[data-v-4072f0b9]{margin-top:8px}.footer-row[data-v-4072f0b9]{flex-direction:column}.totals-col[data-v-4072f0b9]{max-width:100%}.invoice-preview[data-v-4072f0b9]{padding:20px}}.preview-shell[data-v-459d7cf9]{max-width:900px;margin:0 auto}.preview-header[data-v-459d7cf9]{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.loading-state[data-v-459d7cf9],.error-card[data-v-459d7cf9]{text-align:center;padding:48px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.error-card[data-v-459d7cf9]{background:#fef2f2}.view-header[data-v-cdffefea]{display:flex;margin-bottom:24px}.spacer[data-v-cdffefea]{flex:1}.text-right[data-v-cdffefea]{text-align:right}.proposal-id[data-v-cdffefea]{font-weight:600;color:var(--text-color)}.actions[data-v-cdffefea]{display:flex;gap:8px;justify-content:flex-end}.btn-sm[data-v-cdffefea]{padding:6px 10px;font-size:.75rem}.loading-state[data-v-cdffefea],.empty-state[data-v-cdffefea]{text-align:center;padding:64px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.empty-icon[data-v-cdffefea]{font-size:48px;margin-bottom:16px}.empty-state h3[data-v-cdffefea]{margin-bottom:8px}.empty-state p[data-v-cdffefea]{color:var(--text-muted);margin-bottom:24px}.error-card[data-v-cdffefea]{padding:24px;background:#fef2f2;border-radius:var(--radius-card);text-align:center}.card-list[data-v-cdffefea]{display:none}.mobile-card[data-v-cdffefea]{background:var(--card-bg);box-shadow:var(--shadow-card);border-radius:var(--radius-card);padding:14px;margin-bottom:12px}.mobile-card-row[data-v-cdffefea]{display:flex;justify-content:space-between;align-items:center;gap:12px}.mobile-card-title[data-v-cdffefea]{font-weight:700}.mobile-card-meta[data-v-cdffefea]{margin-top:10px;display:flex;flex-direction:column;gap:8px}.meta-item[data-v-cdffefea]{display:flex;justify-content:space-between;gap:12px}.meta-k[data-v-cdffefea]{color:var(--text-muted);font-size:.85rem}.meta-v[data-v-cdffefea]{font-weight:500;text-align:right}.mobile-actions[data-v-cdffefea]{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}@media(max-width:720px){.table-container[data-v-cdffefea]{display:none}.card-list[data-v-cdffefea]{display:block}}.form-container[data-v-9e87aa5b]{max-width:900px}.form-row[data-v-9e87aa5b]{display:flex;gap:12px}.form-row .form-group[data-v-9e87aa5b]{flex:1}.section-title[data-v-9e87aa5b]{font-size:1.125rem;font-weight:600;margin:24px 0 16px;padding-top:24px}.portal-row[data-v-9e87aa5b]{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.help-text[data-v-9e87aa5b]{margin:0;color:var(--text-muted);font-size:.9rem}.hint-text[data-v-9e87aa5b]{margin:8px 0 0;color:var(--text-muted);font-size:.9rem}.portal-link-box[data-v-9e87aa5b]{display:flex;gap:8px;align-items:center}.portal-link-box .input[data-v-9e87aa5b]{flex:1}.line-item-row[data-v-9e87aa5b]{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start}.col-product[data-v-9e87aa5b]{width:150px}.col-desc[data-v-9e87aa5b]{flex:1}.col-qty[data-v-9e87aa5b]{width:100px}.col-price[data-v-9e87aa5b]{width:150px}.col-actions[data-v-9e87aa5b]{width:40px}.btn-icon[data-v-9e87aa5b]{padding:8px;color:var(--text-muted)}.btn-icon[data-v-9e87aa5b]:hover{color:var(--error-color);background:#fef2f2}.form-actions[data-v-9e87aa5b]{display:flex;gap:12px;justify-content:flex-end;padding-top:24px}.mt-2[data-v-9e87aa5b]{margin-top:8px}.mt-4[data-v-9e87aa5b]{margin-top:16px}.mt-6[data-v-9e87aa5b]{margin-top:24px}.btn-sm[data-v-9e87aa5b]{padding:6px 12px;font-size:.875rem}.portal-shell[data-v-ae3f6f1f]{max-width:900px;margin:0 auto;padding:24px}.portal-header[data-v-ae3f6f1f]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.portal-title[data-v-ae3f6f1f]{margin:0;font-size:1.5rem}.portal-subtitle[data-v-ae3f6f1f]{margin:6px 0 0;color:var(--text-muted)}.portal-actions[data-v-ae3f6f1f]{display:flex;gap:8px}.status-row[data-v-ae3f6f1f]{margin-bottom:12px}.loading-state[data-v-ae3f6f1f]{text-align:center;padding:64px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.error-card[data-v-ae3f6f1f]{padding:24px;background:#fef2f2;border-radius:var(--radius-card);text-align:center}.info-banner[data-v-ae3f6f1f]{background:#eff6ff;color:#1d4ed8;padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:.95rem}.info-banner-success[data-v-ae3f6f1f]{background:#ecfdf5;color:#065f46}@media(max-width:720px){.portal-header[data-v-ae3f6f1f]{flex-direction:column}}.portal-shell[data-v-ca14160c]{max-width:900px;margin:0 auto;padding:24px}.portal-header[data-v-ca14160c]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.portal-brand[data-v-ca14160c]{color:var(--text-muted);font-size:.85rem;margin-bottom:16px}.portal-title[data-v-ca14160c]{margin:0;font-size:1.5rem}.portal-subtitle[data-v-ca14160c]{margin:6px 0 0;color:var(--text-muted)}.meta-grid[data-v-ca14160c]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.meta-label[data-v-ca14160c]{font-size:.75rem;color:var(--text-muted);margin-bottom:6px}.meta-value[data-v-ca14160c]{font-weight:600}.section-title[data-v-ca14160c]{font-size:1.125rem;font-weight:600;margin:24px 0 12px;padding-top:24px}.text-right[data-v-ca14160c]{text-align:right}.loading-state[data-v-ca14160c]{text-align:center;padding:64px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.error-card[data-v-ca14160c]{padding:24px;background:#fef2f2;border-radius:var(--radius-card);text-align:center}.notes[data-v-ca14160c]{margin-top:16px}.accept-box[data-v-ca14160c]{margin-top:12px}.form-row[data-v-ca14160c]{display:flex;gap:12px}.form-row .form-group[data-v-ca14160c]{flex:1}.checkbox-row[data-v-ca14160c]{display:flex;gap:10px;align-items:flex-start;margin-top:10px;color:var(--text-color)}.checkbox-row input[data-v-ca14160c]{margin-top:3px}.actions[data-v-ca14160c]{display:flex;justify-content:flex-end}.mt-2[data-v-ca14160c]{margin-top:8px}.mt-4[data-v-ca14160c]{margin-top:16px}.success-banner[data-v-ca14160c]{background:#ecfdf5;color:#065f46;padding:12px 14px;border-radius:10px;margin-top:12px}.success-text[data-v-ca14160c]{color:#065f46;font-weight:600}@media(max-width:720px){.meta-grid[data-v-ca14160c]{grid-template-columns:1fr}}.signature-pad[data-v-c71aa388]{display:inline-block}.signature-canvas[data-v-c71aa388]{border:1px dashed var(--border-color);border-radius:8px;background:#fff;touch-action:none;cursor:crosshair;display:block;max-width:100%}.signature-actions[data-v-c71aa388]{display:flex;gap:8px;margin-top:10px}.btn-sm[data-v-c71aa388]{padding:6px 12px;font-size:.875rem}.portal-shell[data-v-785d9030]{max-width:900px;margin:0 auto;padding:24px}.portal-header[data-v-785d9030]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.portal-actions[data-v-785d9030]{display:flex;gap:8px}.portal-brand[data-v-785d9030]{color:var(--text-muted);font-size:.85rem;margin-bottom:16px}.portal-title[data-v-785d9030]{margin:0;font-size:1.5rem}.portal-subtitle[data-v-785d9030]{margin:6px 0 0;color:var(--text-muted)}.meta-grid[data-v-785d9030]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.meta-label[data-v-785d9030]{font-size:.75rem;color:var(--text-muted);margin-bottom:6px}.section-title[data-v-785d9030]{font-size:1.125rem;font-weight:600;margin:24px 0 12px;padding-top:24px}.terms[data-v-785d9030]{white-space:pre-wrap;color:var(--text-color);line-height:1.6}.loading-state[data-v-785d9030]{text-align:center;padding:64px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.error-card[data-v-785d9030]{padding:24px;background:#fef2f2;border-radius:var(--radius-card);text-align:center}.success-banner[data-v-785d9030]{background:#ecfdf5;color:#065f46;padding:12px 14px;border-radius:10px;margin-bottom:16px}.help-text[data-v-785d9030]{color:var(--text-muted);margin:0}.method-toggle[data-v-785d9030]{display:flex;gap:8px;margin-top:12px}.btn-sm[data-v-785d9030]{padding:6px 12px;font-size:.875rem}.signature-image[data-v-785d9030]{max-height:60px;margin-top:8px;display:block}.form-row[data-v-785d9030]{display:flex;flex-direction:column;gap:12px;margin-top:10px}.form-row .form-group[data-v-785d9030]{flex:1}.checkbox-row[data-v-785d9030]{display:flex;gap:10px;align-items:flex-start;margin-top:10px;color:var(--text-color)}.checkbox-row input[data-v-785d9030]{margin-top:3px}.actions[data-v-785d9030]{display:flex;justify-content:flex-end}.mt-2[data-v-785d9030]{margin-top:8px}.mt-4[data-v-785d9030]{margin-top:16px}.success-text[data-v-785d9030]{color:#065f46;font-weight:600}@media(max-width:720px){.meta-grid[data-v-785d9030]{grid-template-columns:1fr}.portal-header[data-v-785d9030]{flex-direction:column}}.portal-shell[data-v-2936c226]{max-width:1000px;margin:0 auto;padding:24px}.portal-header[data-v-2936c226]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.portal-brand[data-v-2936c226]{color:var(--text-muted);font-size:.85rem;margin-bottom:16px}.portal-title[data-v-2936c226]{margin:0;font-size:1.5rem}.portal-subtitle[data-v-2936c226]{margin:6px 0 0;color:var(--text-muted)}.help-text[data-v-2936c226]{color:var(--text-muted);margin:0}.loading-state[data-v-2936c226]{text-align:center;padding:64px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.error-card[data-v-2936c226]{padding:24px;background:#fef2f2;border-radius:var(--radius-card);text-align:center}.success-banner[data-v-2936c226]{background:#ecfdf5;color:#065f46;padding:12px 14px;border-radius:10px}.progress-banner[data-v-2936c226]{display:inline-block;background:#fef3c7;color:#92400e;padding:6px 12px;border-radius:999px;font-size:.85rem;font-weight:600}.progress-banner.complete[data-v-2936c226]{background:#dcfce7;color:#166534}.image-grid[data-v-2936c226]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.image-cell[data-v-2936c226]{position:relative;aspect-ratio:1;border-radius:var(--radius-control);overflow:hidden;border:3px solid var(--border-color);padding:0;cursor:pointer;background:none}.image-cell.selected[data-v-2936c226]{border-color:#16a34a}.image-cell.locked[data-v-2936c226]{cursor:default}.image-cell img[data-v-2936c226]{width:100%;height:100%;object-fit:cover;display:block}.selected-badge[data-v-2936c226]{position:absolute;top:6px;right:6px;background:#16a34a;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.submit-bar[data-v-2936c226]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px}.mt-2[data-v-2936c226]{margin-top:8px}.note-block[data-v-2936c226]{padding-top:16px}.note-label[data-v-2936c226]{display:block;font-size:.875rem;font-weight:600;margin-bottom:8px}.note-optional[data-v-2936c226]{font-weight:400;color:var(--text-muted)}.note-input[data-v-2936c226]{resize:vertical;min-height:76px;font-family:inherit;line-height:1.5}.note-foot[data-v-2936c226]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}.note-count[data-v-2936c226]{font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.note-readback[data-v-2936c226]{padding:14px 16px;background:var(--sunken-bg);border-radius:var(--radius-card)}.note-readback-label[data-v-2936c226]{font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.note-readback-text[data-v-2936c226]{margin:0;font-size:.875rem;line-height:1.55;white-space:pre-wrap}.mt-4[data-v-2936c226]{margin-top:16px}.mb-2[data-v-2936c226]{margin-bottom:8px}@media(max-width:720px){.image-grid[data-v-2936c226]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.submit-bar[data-v-2936c226]{flex-direction:column;align-items:stretch}}.portal-shell[data-v-b20652a9]{max-width:620px;margin:0 auto;padding:24px}.portal-header[data-v-b20652a9]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.portal-brand[data-v-b20652a9]{color:var(--text-muted);font-size:.85rem;margin-bottom:16px}.portal-title[data-v-b20652a9]{margin:0;font-size:1.5rem}.portal-subtitle[data-v-b20652a9]{margin:6px 0 0;color:var(--text-muted)}.help-text[data-v-b20652a9]{color:var(--text-muted);margin:0}.loading-state[data-v-b20652a9]{text-align:center;padding:64px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.error-card[data-v-b20652a9]{padding:24px;background:#fef2f2;border-radius:var(--radius-card);text-align:center}.success-banner[data-v-b20652a9]{background:#ecfdf5;color:#065f46;padding:12px 14px;border-radius:10px;line-height:1.5}.notice-banner[data-v-b20652a9]{background:var(--sunken-bg);color:var(--text-secondary);padding:12px 14px;border-radius:10px}.booking-note[data-v-b20652a9]{margin:12px 0 0;padding:12px 14px;border-radius:10px;background:var(--sunken-bg);color:var(--text-secondary);font-size:.9375rem;white-space:pre-wrap}.slot-list[data-v-b20652a9]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.slot[data-v-b20652a9]{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:2px solid var(--border-color);border-radius:var(--radius-control);background:var(--card-bg);text-align:left;cursor:pointer;transition:border-color .18s var(--ease),background .18s var(--ease)}.slot[data-v-b20652a9]:hover:not(:disabled){border-color:var(--primary-color)}.slot.selected[data-v-b20652a9]{border-color:var(--primary-color);background:var(--primary-light)}.slot.unavailable[data-v-b20652a9]{opacity:.55;cursor:not-allowed;text-decoration:line-through}.slot.locked[data-v-b20652a9]{cursor:default}.slot-radio[data-v-b20652a9]{width:18px;height:18px;flex-shrink:0;border-radius:50%;border:2px solid var(--border-color)}.slot.selected .slot-radio[data-v-b20652a9]{border-color:var(--primary-color);box-shadow:inset 0 0 0 3px var(--card-bg),inset 0 0 0 9px var(--primary-color)}.slot-text[data-v-b20652a9]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.slot-date[data-v-b20652a9]{font-weight:600}.slot-time[data-v-b20652a9]{font-size:.875rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.slot-flag[data-v-b20652a9]{font-size:.75rem;font-weight:600;color:#991b1b;text-decoration:none;white-space:nowrap}.optional[data-v-b20652a9]{font-weight:400;color:var(--text-muted)}.mt-4[data-v-b20652a9]{margin-top:16px}.mb-2[data-v-b20652a9]{margin-bottom:8px}.w-full[data-v-b20652a9]{width:100%}.request-title[data-v-4ac0dcb4]{font-weight:550}.status-badge[data-v-4ac0dcb4]{text-transform:none}.slot-summary[data-v-4ac0dcb4]{display:block;font-size:.875rem}.confirmed-by[data-v-4ac0dcb4]{display:block;font-size:.8125rem;color:var(--text-secondary)}.btn-sm[data-v-4ac0dcb4]{padding:6px 11px;font-size:.8125rem}.btn-outline.danger[data-v-4ac0dcb4]{color:var(--error-color);margin-left:6px}.section-title[data-v-928aee16]{margin:0 0 6px;font-size:1rem;font-weight:650}.help-text[data-v-928aee16]{color:var(--text-secondary);font-size:.875rem;margin:0}.hint-text[data-v-928aee16]{margin:8px 0 0;font-size:.8125rem;color:var(--text-muted)}.warn-text[data-v-928aee16]{margin:8px 0 0;padding:8px 12px;border-radius:var(--radius-control);background:#fef9c3;color:#854d0e;font-size:.8125rem}.optional[data-v-928aee16]{font-weight:400;color:var(--text-muted)}.notice[data-v-928aee16]{padding:10px 14px;border-radius:var(--radius-control);background:var(--sunken-bg);color:var(--text-secondary);font-size:.875rem}.confirmed-card[data-v-928aee16]{margin-bottom:16px;background:#ecfdf5}.confirmed-line[data-v-928aee16]{margin:0 0 4px;color:#065f46}.slot-row[data-v-928aee16]{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:8px;align-items:center;margin-bottom:8px}.portal-link-box[data-v-928aee16]{display:flex;gap:8px}.portal-link-box .input[data-v-928aee16]{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}.actions[data-v-928aee16]{display:flex;gap:10px}.btn-outline.danger[data-v-928aee16]{color:var(--error-color)}.mt-2[data-v-928aee16]{margin-top:8px}.mt-4[data-v-928aee16]{margin-top:16px}.mb-2[data-v-928aee16]{margin-bottom:8px}@media(max-width:720px){.slot-row[data-v-928aee16]{grid-template-columns:1fr 1fr auto}.slot-row .input[data-v-928aee16]:first-child{grid-column:1 / -1}}.view-header[data-v-45bb5678]{display:flex;margin-bottom:24px}.spacer[data-v-45bb5678]{flex:1}.text-right[data-v-45bb5678]{text-align:right}.contract-id[data-v-45bb5678]{font-weight:600;color:var(--text-color)}.actions[data-v-45bb5678]{display:flex;gap:8px;justify-content:flex-end}.btn-sm[data-v-45bb5678]{padding:6px 10px;font-size:.75rem}.loading-state[data-v-45bb5678],.empty-state[data-v-45bb5678]{text-align:center;padding:64px 24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.empty-icon[data-v-45bb5678]{font-size:48px;margin-bottom:16px}.empty-state h3[data-v-45bb5678]{margin-bottom:8px}.empty-state p[data-v-45bb5678]{color:var(--text-muted);margin-bottom:24px}.error-card[data-v-45bb5678]{padding:24px;background:#fef2f2;border-radius:var(--radius-card);text-align:center}.card-list[data-v-45bb5678]{display:none}.mobile-card[data-v-45bb5678]{background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:14px;margin-bottom:12px}.mobile-card-row[data-v-45bb5678]{display:flex;justify-content:space-between;align-items:center;gap:12px}.mobile-card-title[data-v-45bb5678]{font-weight:700}.mobile-card-meta[data-v-45bb5678]{margin-top:10px;display:flex;flex-direction:column;gap:8px}.meta-item[data-v-45bb5678]{display:flex;justify-content:space-between;gap:12px}.meta-k[data-v-45bb5678]{color:var(--text-muted);font-size:.85rem}.meta-v[data-v-45bb5678]{font-weight:500;text-align:right}.mobile-actions[data-v-45bb5678]{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}@media(max-width:720px){.table-container[data-v-45bb5678]{display:none}.card-list[data-v-45bb5678]{display:block}}.form-container[data-v-98929345]{max-width:980px}.form-row[data-v-98929345]{display:flex;gap:12px}.form-row .form-group[data-v-98929345]{flex:1}.section-title[data-v-98929345]{font-size:1.125rem;font-weight:600;margin:24px 0 12px;padding-top:24px}.help-text[data-v-98929345]{margin:6px 0 0;color:var(--text-muted);font-size:.9rem}.hint-text[data-v-98929345]{margin:8px 0 0;color:var(--text-muted);font-size:.9rem}.send-row[data-v-98929345]{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.send-actions[data-v-98929345]{display:flex;gap:8px}.portal-link-box[data-v-98929345]{display:flex;gap:8px;align-items:center}.portal-link-box .input[data-v-98929345]{flex:1}.mt-4[data-v-98929345]{margin-top:16px}.mt-6[data-v-98929345]{margin-top:24px}.form-actions[data-v-98929345]{display:flex;gap:12px;justify-content:flex-end;padding-top:24px}@media(max-width:720px){.form-row[data-v-98929345],.send-row[data-v-98929345]{flex-direction:column}}.text-right[data-v-8de8cd59]{text-align:right}.gallery-name[data-v-8de8cd59]{font-weight:600;color:var(--text-color);text-decoration:none}.gallery-name[data-v-8de8cd59]:hover{color:var(--primary-color);text-decoration:none}.row-sub[data-v-8de8cd59]{margin-top:2px;font-size:.75rem;color:var(--text-muted)}.note-flag[data-v-8de8cd59]{margin-left:6px;font-size:.8rem;cursor:default;vertical-align:middle}.cell-muted[data-v-8de8cd59]{color:var(--text-secondary)}.actions[data-v-8de8cd59]{display:flex;gap:6px;justify-content:flex-end}@media(hover:hover){.table tbody .actions .btn-danger[data-v-8de8cd59]{opacity:0;transition:opacity .15s var(--ease)}.table tbody tr:hover .actions .btn-danger[data-v-8de8cd59],.table tbody tr:focus-within .actions .btn-danger[data-v-8de8cd59]{opacity:1}}.btn-sm[data-v-8de8cd59]{padding:6px 12px;font-size:.75rem}.btn-danger[data-v-8de8cd59]:hover:not(:disabled){color:var(--error-color);background:#fef2f2}.badge-draft[data-v-8de8cd59]{background:#e2e8f0;color:#334155}.badge-sent[data-v-8de8cd59]{background:#dbeafe;color:#1e40af}.badge-submitted[data-v-8de8cd59]{background:#dcfce7;color:#166534}.progress-cell[data-v-8de8cd59]{display:flex;align-items:center;gap:10px;min-width:130px}.progress-track[data-v-8de8cd59]{flex:1;height:6px;border-radius:999px;background:var(--sunken-bg);overflow:hidden;min-width:56px}.progress-fill[data-v-8de8cd59]{height:100%;border-radius:999px;background:#16a34a;transition:width .4s var(--ease)}.progress-label[data-v-8de8cd59]{font-size:.75rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.error-panel h3[data-v-8de8cd59]{color:var(--text-color)}.error-icon[data-v-8de8cd59]{background:#fee2e2;color:#b91c1c;font-weight:700;font-size:24px}.card-list[data-v-8de8cd59]{display:none}.mobile-card[data-v-8de8cd59]{background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:16px;margin-bottom:12px}.mobile-card-row[data-v-8de8cd59]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.mobile-card-title[data-v-8de8cd59]{font-weight:650;color:var(--text-color);text-decoration:none;line-height:1.35}.mobile-card-title[data-v-8de8cd59]:hover{color:var(--primary-color);text-decoration:none}.mobile-card-meta[data-v-8de8cd59]{margin-top:10px;display:flex;flex-direction:column;gap:8px}.meta-item[data-v-8de8cd59]{display:flex;justify-content:space-between;gap:12px}.meta-k[data-v-8de8cd59]{color:var(--text-muted);font-size:.85rem}.meta-v[data-v-8de8cd59]{font-weight:500;text-align:right}.mobile-actions[data-v-8de8cd59]{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}@media(max-width:900px){.table-container[data-v-8de8cd59]{display:none}.card-list[data-v-8de8cd59]{display:block}.segmented[data-v-8de8cd59]{width:100%;overflow-x:auto;scrollbar-width:none}.segmented[data-v-8de8cd59]::-webkit-scrollbar{display:none}}.form-container[data-v-b6c445f9]{max-width:1000px}.page-title[data-v-b6c445f9]{margin:0;font-size:1.25rem}.help-text[data-v-b6c445f9]{margin:6px 0 0;color:var(--text-muted)}.header-row[data-v-b6c445f9]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.loading-state[data-v-b6c445f9]{text-align:center;padding:24px}.section[data-v-b6c445f9]{margin-top:24px;padding-top:24px}.section-header[data-v-b6c445f9]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.section-title[data-v-b6c445f9]{font-size:1.125rem;font-weight:600;margin:0}.upload-row[data-v-b6c445f9],.selection-limit-row[data-v-b6c445f9]{display:flex;align-items:center;gap:12px}.selection-limit-input[data-v-b6c445f9]{max-width:120px}.warning-text[data-v-b6c445f9]{color:#b45309}.image-grid[data-v-b6c445f9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.image-cell[data-v-b6c445f9]{display:flex;flex-direction:column;gap:4px}.image-thumb[data-v-b6c445f9]{position:relative;aspect-ratio:1;border-radius:var(--radius-control);overflow:hidden;border:2px solid transparent}.image-cell.selected .image-thumb[data-v-b6c445f9]{border-color:#16a34a}.image-thumb img[data-v-b6c445f9]{width:100%;height:100%;object-fit:cover;display:block}.image-filename[data-v-b6c445f9]{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}.selected-badge[data-v-b6c445f9]{position:absolute;bottom:6px;left:6px;background:#16a34a;color:#fff;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:999px}.remove-btn[data-v-b6c445f9]{position:absolute;top:6px;right:6px;padding:4px 8px;background:var(--card-bg)}.success-banner[data-v-b6c445f9]{background:#ecfdf5;color:#065f46;padding:12px 14px;border-radius:var(--radius-card)}.client-note[data-v-b6c445f9]{background:var(--primary-light);border-radius:var(--radius-card);padding:14px 16px}.client-note-head[data-v-b6c445f9]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.client-note-icon[data-v-b6c445f9]{font-size:.9rem;line-height:1}.client-note-label[data-v-b6c445f9]{font-size:.75rem;font-weight:650;color:#4338ca;text-transform:uppercase;letter-spacing:.04em}.client-note-text[data-v-b6c445f9]{margin:0;font-size:.9375rem;line-height:1.6;color:var(--text-color);white-space:pre-wrap}.portal-link-box[data-v-b6c445f9]{display:flex;gap:8px;align-items:center}.portal-link-box .input[data-v-b6c445f9]{flex:1}.hint-text[data-v-b6c445f9]{margin:8px 0 0;color:var(--text-muted);font-size:.9rem}.badge-draft[data-v-b6c445f9]{background:#e2e8f0;color:#334155}.badge-sent[data-v-b6c445f9]{background:#dbeafe;color:#1e40af}.badge-submitted[data-v-b6c445f9]{background:#dcfce7;color:#166534}.form-actions[data-v-b6c445f9]{display:flex;gap:12px;justify-content:flex-end}.mt-2[data-v-b6c445f9]{margin-top:8px}.mt-4[data-v-b6c445f9]{margin-top:16px}.mt-6[data-v-b6c445f9]{margin-top:24px;padding-top:24px}.mb-4[data-v-b6c445f9]{margin-bottom:16px}@media(max-width:720px){.image-grid[data-v-b6c445f9]{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.header-row[data-v-b6c445f9]{flex-direction:column}}.form-container[data-v-6f938813]{max-width:900px}.notice[data-v-6f938813]{position:relative;display:flex;align-items:flex-start;gap:12px;margin-top:16px;padding:14px 16px;border-radius:var(--radius-card);line-height:1.45}.notice p[data-v-6f938813]{margin:0;padding-right:12px}.notice-ok[data-v-6f938813]{background:#ecfdf5;color:#065f46}.notice-warn[data-v-6f938813]{background:#fffbeb;color:#92400e}.notice-info[data-v-6f938813]{background:#f1f5f9;color:#334155}.toggle-row[data-v-6f938813]{display:flex;align-items:flex-start;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid rgba(0,0,0,.06)}.toggle-copy[data-v-6f938813]{flex:1;min-width:0}.toggle-title[data-v-6f938813]{font-weight:600}.lock-note[data-v-6f938813]{color:#92400e}.error-text[data-v-6f938813]{color:#b91c1c;margin:6px 0 0}.switch[data-v-6f938813]{flex-shrink:0;cursor:pointer}.switch input[data-v-6f938813]{position:absolute;opacity:0;width:0;height:0}.switch-track[data-v-6f938813]{display:block;width:48px;height:28px;border-radius:999px;background:#cbd5e1;transition:background .15s ease;padding:3px}.switch-knob[data-v-6f938813]{display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s ease}.switch input:checked+.switch-track[data-v-6f938813]{background:#16a34a}.switch input:checked+.switch-track .switch-knob[data-v-6f938813]{transform:translate(20px)}.switch input:focus-visible+.switch-track[data-v-6f938813]{outline:2px solid #2563eb;outline-offset:2px}.switch-disabled[data-v-6f938813]{cursor:not-allowed;opacity:.55}.notice-close[data-v-6f938813]{margin-left:auto;background:none;border:0;font-size:1.25rem;line-height:1;cursor:pointer;color:inherit;opacity:.6}.notice-close[data-v-6f938813]:hover{opacity:1}.header-row[data-v-6f938813]{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.page-title[data-v-6f938813]{margin:0;font-size:1.25rem}.help-text[data-v-6f938813]{margin:6px 0 0;color:var(--text-muted)}.status-grid[data-v-6f938813]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}.meta-label[data-v-6f938813]{font-size:.75rem;color:var(--text-muted);margin-bottom:6px}.meta-value[data-v-6f938813]{font-weight:600}.section-title[data-v-6f938813]{font-size:1.125rem;font-weight:600;margin:24px 0 12px;padding-top:24px}.req-list[data-v-6f938813]{margin:0;padding-left:18px;color:var(--text-color)}.loading-state[data-v-6f938813]{text-align:center;padding:24px;background:var(--card-bg);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-top:16px}.error-card[data-v-6f938813]{padding:24px;background:#fef2f2;border-radius:var(--radius-card);text-align:center;margin-top:16px}@media(max-width:720px){.header-row[data-v-6f938813]{flex-direction:column}.status-grid[data-v-6f938813]{grid-template-columns:1fr}}.form-container[data-v-3d96d763]{max-width:700px}.page-title[data-v-3d96d763]{margin:0;font-size:1.25rem}.help-text[data-v-3d96d763]{margin:6px 0 0;color:var(--text-muted)}.section[data-v-3d96d763]{margin-top:24px;padding-top:24px}.section-title[data-v-3d96d763]{font-size:1.125rem;font-weight:600;margin:0 0 12px}.preview-row[data-v-3d96d763]{display:flex;align-items:center;gap:16px;margin-bottom:12px}.logo-preview[data-v-3d96d763]{max-height:60px;max-width:220px;border-radius:var(--radius-control);padding:8px;background:var(--card-bg);box-shadow:var(--shadow-card)}.signature-preview[data-v-3d96d763]{max-height:80px;border-radius:var(--radius-control);padding:8px;background:var(--card-bg);box-shadow:var(--shadow-card)}.avatar-preview[data-v-3d96d763]{width:56px;height:56px;border-radius:50%;object-fit:cover}.avatar-initials[data-v-3d96d763]{display:flex;align-items:center;justify-content:center;background:var(--primary-color);color:#fff;font-weight:600;font-size:1.1rem}.initials-input[data-v-3d96d763]{max-width:120px;text-transform:uppercase}.upload-row[data-v-3d96d763]{display:flex;align-items:center;gap:12px}.form-grid[data-v-3d96d763]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-grid .form-group[data-v-3d96d763]{margin-bottom:0}.form-actions[data-v-3d96d763]{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:24px}.saved-text[data-v-3d96d763]{color:#059669;font-size:.875rem;font-weight:500}.btn-sm[data-v-3d96d763]{padding:6px 12px;font-size:.875rem}.loading-state[data-v-3d96d763]{text-align:center;padding:24px}.mb-4[data-v-3d96d763]{margin-bottom:16px}.mt-2[data-v-3d96d763]{margin-top:8px}.mt-4[data-v-3d96d763]{margin-top:16px}@media(max-width:720px){.preview-row[data-v-3d96d763],.upload-row[data-v-3d96d763]{flex-wrap:wrap}}input[data-v-002a9501]{width:100%;padding:11px 14px;border-radius:var(--radius-control);border:1px solid transparent;background:var(--sunken-bg);margin-top:6px}input[data-v-002a9501]:focus{outline:none;background:var(--card-bg);box-shadow:0 0 0 2px var(--primary-color)}button[data-v-002a9501]{padding:12px;border-radius:var(--radius-control);border:0;background:var(--primary-color);color:#fff;cursor:pointer;font-weight:600}button[data-v-002a9501]:hover:not(:disabled){background:var(--primary-hover)}button[data-v-002a9501]:disabled{opacity:.6;cursor:not-allowed}button[data-v-96a51737]{padding:12px;border-radius:8px;border:0;background:#111827;color:#fff;cursor:pointer}button[data-v-5c07bc1e]{padding:12px;border-radius:var(--radius-control);border:0;background:var(--primary-color);color:#fff;cursor:pointer;font-weight:600}button[data-v-5c07bc1e]:hover:not(:disabled){background:var(--primary-hover)}button[data-v-5c07bc1e]:disabled{opacity:.6;cursor:not-allowed}
