.modal-backdrop[data-v-a8f2b52e]{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#111a29a8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card[data-v-a8f2b52e]{border-radius:var(--radius-large);width:min(680px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-modal);background:#fff;padding:26px;overflow:auto}.modal-header[data-v-a8f2b52e]{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.modal-header h2[data-v-a8f2b52e]{margin:5px 0 0}.modal-header small[data-v-a8f2b52e]{color:#7c8795;letter-spacing:1px;font-weight:700}.modal-close[data-v-a8f2b52e]{color:#536071;background:#f0f2f4;border:0;border-radius:50%;width:38px;height:38px;font-size:24px}.appointment-status[data-v-a8f2b52e]{color:#266e66;background:#ddf2ee;border-radius:99px;padding:7px 11px;font-size:13px;font-weight:700;display:inline-block}.appointment-status.cancelled[data-v-a8f2b52e]{color:#a3473c;background:#fbe8e5}.appointment-status.completed[data-v-a8f2b52e]{color:#4f6088;background:#e9edf7}.appointment-details[data-v-a8f2b52e]{grid-template-columns:1fr 1fr;gap:18px;margin:25px 0;display:grid}.appointment-details div[data-v-a8f2b52e]{border-bottom:1px solid #e8ebee;padding-bottom:12px}.appointment-details dt[data-v-a8f2b52e]{color:#7b8796;margin-bottom:5px;font-size:12px}.appointment-details dd[data-v-a8f2b52e]{margin:0;font-weight:650}.appointment-notes[data-v-a8f2b52e],.appointment-comments[data-v-a8f2b52e]{margin-top:24px}.appointment-notes h3[data-v-a8f2b52e],.appointment-comments h3[data-v-a8f2b52e]{margin-bottom:10px}.appointment-notes p[data-v-a8f2b52e],.appointment-comment p[data-v-a8f2b52e]{color:#536071;line-height:1.5}.appointment-comment[data-v-a8f2b52e]{border-bottom:1px solid #edf0f2;padding:12px 0}.appointment-comment p[data-v-a8f2b52e]{margin:4px 0}.modal-actions[data-v-a8f2b52e]{justify-content:flex-end;gap:10px;margin-top:28px;display:flex}.appointment-edit-form[data-v-a8f2b52e]{margin-top:8px}.edit-error[data-v-a8f2b52e]{margin-bottom:18px}.form-grid[data-v-a8f2b52e]{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-grid label[data-v-a8f2b52e]{color:#596677;gap:7px;font-size:13px;font-weight:700;display:grid}.form-grid input[data-v-a8f2b52e],.form-grid select[data-v-a8f2b52e],.form-grid textarea[data-v-a8f2b52e]{border-radius:var(--radius-small);background:#fff;border:1px solid #d8dee5;width:100%;padding:10px 12px}.form-grid textarea[data-v-a8f2b52e]{resize:vertical}.full-width[data-v-a8f2b52e]{grid-column:1/-1}@media (width<=600px){.modal-backdrop[data-v-a8f2b52e]{padding:10px}.modal-card[data-v-a8f2b52e]{max-height:calc(100vh - 20px);padding:20px}.appointment-details[data-v-a8f2b52e],.form-grid[data-v-a8f2b52e]{grid-template-columns:1fr}.full-width[data-v-a8f2b52e]{grid-column:auto}}.modal-backdrop[data-v-3f322bad]{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#111a29a8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card[data-v-3f322bad]{border-radius:var(--radius-large);width:min(700px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-modal);background:#fff;padding:26px;overflow:auto}.modal-header[data-v-3f322bad]{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modal-header h2[data-v-3f322bad]{margin:5px 0 0}.modal-header small[data-v-3f322bad]{color:#7c8795;letter-spacing:1px;font-weight:700}.modal-close[data-v-3f322bad]{color:#536071;background:#f0f2f4;border:0;border-radius:50%;width:38px;height:38px;font-size:24px}.client-details[data-v-3f322bad]{grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0;display:grid}.client-details div[data-v-3f322bad]{border-radius:var(--radius-small);background:#f7f9fa;padding:14px}.client-details dt[data-v-3f322bad]{color:#7b8796;margin-bottom:5px;font-size:12px}.client-details dd[data-v-3f322bad]{margin:0;font-weight:650}section[data-v-3f322bad]{margin-top:24px}section h3[data-v-3f322bad]{margin-bottom:10px}.notes[data-v-3f322bad],.comment p[data-v-3f322bad]{color:#536071;line-height:1.5}.appointment-row[data-v-3f322bad]{color:#425063;text-align:left;background:0 0;border:0;border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;width:100%;padding:12px 0;display:flex}.appointment-row small[data-v-3f322bad]{color:#7c8795;margin-top:4px;display:block}.appointment-row>span[data-v-3f322bad]:last-child{color:var(--color-primary);font-size:12px;font-weight:700}.comment[data-v-3f322bad]{border-bottom:1px solid #edf0f2;padding:10px 0}.comment p[data-v-3f322bad]{margin:4px 0}.modal-actions[data-v-3f322bad]{justify-content:flex-end;gap:10px;margin-top:28px;display:flex}.edit-form[data-v-3f322bad]{gap:14px;display:grid}.form-field[data-v-3f322bad]{color:#536071;gap:7px;font-size:13px;font-weight:700;display:grid}.form-control[data-v-3f322bad]{width:100%;color:var(--color-text);border-radius:var(--radius-small);background:#fff;border:1px solid #d8dee5;outline:none;padding:11px 12px;transition:border-color .15s,box-shadow .15s}.form-control[data-v-3f322bad]:hover{border-color:#b9c3ce}.form-control[data-v-3f322bad]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2672691f}.form-textarea[data-v-3f322bad]{resize:vertical;min-height:120px}.form-row[data-v-3f322bad]{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=650px){.modal-backdrop[data-v-3f322bad]{padding:10px}.modal-card[data-v-3f322bad]{max-height:calc(100vh - 20px);padding:20px}.client-details[data-v-3f322bad],.form-row[data-v-3f322bad]{grid-template-columns:1fr}}aside[data-v-e457ddf2]{color:#dbe3ef;background:var(--color-sidebar);flex-direction:column;height:100vh;padding:28px 18px;display:flex;position:sticky;top:0}.logo[data-v-e457ddf2]{align-items:center;gap:12px;padding:0 10px 35px;display:flex}.logo span[data-v-e457ddf2]{color:#102136;background:#63c6b4;border-radius:13px;place-items:center;width:40px;height:40px;font-size:23px;font-weight:800;display:grid}.logo b[data-v-e457ddf2]{color:#fff;line-height:1.05}nav[data-v-e457ddf2]{gap:6px;display:grid}nav button[data-v-e457ddf2]{color:#aeb9ca;text-align:left;background:0 0;border:0;border-radius:9px;padding:13px;font-weight:600}nav button.active[data-v-e457ddf2],nav button[data-v-e457ddf2]:hover{color:#fff;background:var(--color-sidebar-active)}nav i[data-v-e457ddf2]{float:right;color:var(--color-sidebar);background:#63c6b4;border-radius:99px;padding:1px 7px;font-style:normal}.profile[data-v-e457ddf2]{border-top:1px solid #334156;gap:3px;margin-top:auto;padding:20px 10px 0;display:grid}.profile small[data-v-e457ddf2]{color:#8997aa}.profile button[data-v-e457ddf2]{color:#e8998d;text-align:left;background:0 0;border:0;padding:8px 0}@media (width<=900px){aside[data-v-e457ddf2]{height:auto;position:static}nav[data-v-e457ddf2]{grid-template-columns:repeat(3,1fr)}.profile[data-v-e457ddf2]{display:none}}.layout[data-v-fa7ef8be]{grid-template-columns:240px 1fr;min-height:100vh;display:grid}main[data-v-fa7ef8be]{width:100%;max-width:1500px;margin:auto;padding:35px 44px}header[data-v-fa7ef8be]{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}header h2[data-v-fa7ef8be]{margin:5px 0;font-size:28px}header small[data-v-fa7ef8be]{color:#8894a5;letter-spacing:1.5px;font-weight:700}@media (width<=900px){.layout[data-v-fa7ef8be]{grid-template-columns:1fr}main[data-v-fa7ef8be]{padding:24px 15px}}.appointment[data-v-f5fa0b30]{max-width:720px}.appointment-list[data-v-4675937f]{padding:0;overflow:hidden}.filters[data-v-4675937f]{border-bottom:1px solid var(--color-border);grid-template-columns:210px minmax(280px,1fr) auto;align-items:end;gap:14px;padding:20px 24px;display:grid}.filters label[data-v-4675937f]{color:#596677;gap:7px;font-size:13px;font-weight:700;display:grid}.filters input[data-v-4675937f]{border-radius:var(--radius-small);background:#fff;border:1px solid #d8dee5;width:100%;padding:10px 12px}.clear-button[data-v-4675937f]{margin-bottom:1px}.table-wrapper[data-v-4675937f]{overflow-x:auto}table[data-v-4675937f]{border-collapse:collapse;width:100%}th[data-v-4675937f],td[data-v-4675937f]{text-align:left;border-bottom:1px solid #edf0f2;padding:14px 16px}th[data-v-4675937f]{color:#738091;letter-spacing:.3px;background:#f8f9fa;font-size:12px;font-weight:700}td[data-v-4675937f]{color:#3f4c5d;font-size:14px}tbody tr[data-v-4675937f]:hover{background:#f8fbfb}.status-cancelled[data-v-4675937f],.status-completed[data-v-4675937f]{opacity:.75}.link-button[data-v-4675937f]{color:var(--color-primary);text-align:left;background:0 0;border:0;padding:0;font-weight:700}.link-button[data-v-4675937f]:hover{text-decoration:underline}.status-badge[data-v-4675937f]{color:#266e66;white-space:nowrap;background:#ddf2ee;border-radius:99px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-block}.status-badge.completed[data-v-4675937f]{color:#4f6088;background:#e9edf7}.status-badge.cancelled[data-v-4675937f],.status-badge.no_show[data-v-4675937f]{color:#a3473c;background:#fbe8e5}.actions-cell[data-v-4675937f]{white-space:nowrap;width:1%}.details-button[data-v-4675937f]{padding:7px 11px;font-size:12px}.state-cell[data-v-4675937f]{color:#8792a1;text-align:center;padding:45px}.pagination[data-v-4675937f]{justify-content:flex-end;align-items:center;gap:14px;padding:16px 24px;display:flex}.pagination span[data-v-4675937f]{color:#738091;font-size:13px}.pagination button[data-v-4675937f]:disabled{cursor:not-allowed;opacity:.45}.visually-hidden[data-v-4675937f]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=800px){.filters[data-v-4675937f]{grid-template-columns:1fr}.clear-button[data-v-4675937f]{justify-self:start}}.auth-shell[data-v-a99b44fa]{background:radial-gradient(circle at 100% 0,#d8f1eb,#0000 38%),#f3f6f7;place-items:center;min-height:100vh;display:grid}.auth-card[data-v-a99b44fa]{border-radius:var(--radius-large);background:#fff;gap:14px;width:min(420px,92vw);padding:35px;display:grid;box-shadow:0 20px 60px #1b3e4b1c}.auth-card h1[data-v-a99b44fa]{margin:5px 0 0}.auth-card p[data-v-a99b44fa]{color:var(--color-text-muted);margin:0 0 12px}.auth-card input[data-v-a99b44fa]{border-radius:var(--radius-small);background:#fff;border:1px solid #d8dee5;width:100%;padding:11px 12px}.remember[data-v-a99b44fa]{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:9px;display:flex}.remember input[data-v-a99b44fa]{width:auto;margin:0}.auth-card button[data-v-a99b44fa]{color:#fff;background:var(--color-primary);border:0;border-radius:9px;padding:12px 18px;font-weight:700}.auth-card a[data-v-a99b44fa]{color:var(--color-primary);text-align:center}.brand[data-v-a99b44fa]{color:var(--color-primary);letter-spacing:1px;font-weight:800}.stats[data-v-f8893c42]{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px;display:grid}.stats article[data-v-f8893c42]{border:1px solid var(--color-border);border-radius:var(--radius-medium);box-shadow:var(--shadow-card);background:#fff;padding:20px}.stats span[data-v-f8893c42]{color:var(--color-text-muted)}.stats b[data-v-f8893c42]{margin-top:7px;font-size:30px;display:block}.calendar[data-v-f8893c42]{padding:0;overflow:hidden}.calendar-head[data-v-f8893c42]{justify-content:center;align-items:center;gap:25px;padding:18px;display:flex}.calendar-head h3[data-v-f8893c42]{text-align:center;text-transform:capitalize;min-width:180px}.calendar-head button[data-v-f8893c42]{border-radius:var(--radius-small);background:#fff;border:1px solid #dfe4e9;padding:7px 12px}.calendar-legend[data-v-f8893c42]{color:#6f7b8b;flex-wrap:wrap;align-items:center;gap:16px;padding:0 18px 16px;font-size:12px;display:flex}.calendar-legend span[data-v-f8893c42]{align-items:center;gap:6px;display:inline-flex}.calendar-legend i[data-v-f8893c42]{border-radius:50%;width:10px;height:10px}.today-marker[data-v-f8893c42]{background:#ff9000}.scheduled-marker[data-v-f8893c42]{background:var(--color-primary)}.past-marker[data-v-f8893c42]{background:#9aa4b1}.cancelled-marker[data-v-f8893c42]{background:var(--color-danger)}.week[data-v-f8893c42],.grid[data-v-f8893c42]{grid-template-columns:repeat(7,1fr);display:grid}.week b[data-v-f8893c42]{color:#7a8595;text-align:center;border-top:1px solid #e5e9ed;border-bottom:1px solid #e5e9ed;padding:12px;font-size:12px}.day[data-v-f8893c42]{border-bottom:1px solid #e8ebee;border-right:1px solid #e8ebee;min-height:120px;padding:8px}.day.empty[data-v-f8893c42]{background:#f8f9fa}.day.past-day[data-v-f8893c42]{background:#f4f5f7}.day.today[data-v-f8893c42]{z-index:1;background:#fffaf1;position:relative;box-shadow:inset 0 0 0 2px #ff9000}.day-number[data-v-f8893c42]{color:#667285;text-align:center;border-radius:50%;width:26px;height:26px;margin-bottom:6px;font-size:13px;line-height:26px;display:block}.past-day .day-number[data-v-f8893c42]{color:#a3abb5}.today .day-number[data-v-f8893c42]{color:#fff;background:#ff9000;font-weight:800}.day button[data-v-f8893c42]{text-align:left;text-overflow:ellipsis;white-space:nowrap;background:var(--color-primary-light);border:0;border-left:3px solid var(--color-primary);border-radius:4px;width:100%;margin:4px 0;padding:6px;font-size:11px;display:block;overflow:hidden}.day button.cancelled[data-v-f8893c42]{color:#93534c;border-left-color:var(--color-danger);opacity:.7;background:#f8e9e7;text-decoration:line-through}.day button.completed[data-v-f8893c42]{color:#4f6088;background:#e9edf7;border-left-color:#7384ad}.day button.past-appointment[data-v-f8893c42]:not(.cancelled):not(.completed){color:#707a87;opacity:.82;background:#e8eaed;border-left-color:#9aa4b1}.day time[data-v-f8893c42]{font-weight:800;display:block}@media (width<=900px){.stats[data-v-f8893c42]{grid-template-columns:1fr}.day[data-v-f8893c42]{min-height:90px}.day button[data-v-f8893c42]{font-size:0}.day time[data-v-f8893c42]{font-size:10px}}.split[data-v-1c59721c]{grid-template-columns:1.4fr 1fr;gap:18px;display:grid}.client[data-v-1c59721c]{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #edf0f2;align-items:center;gap:14px;padding:14px 0;display:flex}.client[data-v-1c59721c]:hover{background:#f7f9fa}.client small[data-v-1c59721c]{color:#7c8795;margin-top:4px;display:block}.avatar[data-v-1c59721c]{color:#267269;background:#dff2ee;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}@media (width<=900px){.split[data-v-1c59721c]{grid-template-columns:1fr}}.notice[data-v-44787913]{border-bottom:1px solid #edf0f2;align-items:center;gap:14px;padding:14px 0;display:flex}.notice>span[data-v-44787913]{background:#e4f3f0;border-radius:50%;padding:12px}.notice p[data-v-44787913]{color:#4f5d6d;margin:5px 0}.notice small[data-v-44787913]{color:#8792a1}.notice.unread[data-v-44787913]{border-radius:var(--radius-small);background:#f4fbfa;margin:0 -12px;padding:14px 12px}.users-grid[data-v-ba471d46]{grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:18px;display:grid}.section-heading[data-v-ba471d46],.user-row[data-v-ba471d46],.row-actions[data-v-ba471d46],.form-actions[data-v-ba471d46]{align-items:center;display:flex}.section-heading[data-v-ba471d46]{justify-content:space-between;margin-bottom:10px}.section-heading h3[data-v-ba471d46],.section-heading p[data-v-ba471d46]{margin:0}.section-heading p[data-v-ba471d46]{margin-top:4px}.user-row[data-v-ba471d46]{border-bottom:1px solid #edf0f2;gap:13px;padding:14px 0}.user-avatar[data-v-ba471d46]{color:#267269;background:#dff2ee;border-radius:12px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.user-info[data-v-ba471d46]{flex:1;min-width:0}.user-info small[data-v-ba471d46]{color:#7c8795;text-overflow:ellipsis;margin-top:4px;display:block;overflow:hidden}.role-badge[data-v-ba471d46]{border-radius:99px;padding:5px 9px;font-size:12px;font-weight:700}.role-badge.admin[data-v-ba471d46]{color:#805717;background:#fff0cc}.role-badge.employee[data-v-ba471d46]{color:#267269;background:#dff2ee}.row-actions[data-v-ba471d46],.form-actions[data-v-ba471d46]{gap:8px}.row-actions button[data-v-ba471d46]{padding:8px 10px}button[data-v-ba471d46]:disabled{cursor:not-allowed;opacity:.45}@media (width<=1100px){.users-grid[data-v-ba471d46]{grid-template-columns:1fr}}@media (width<=650px){.user-row[data-v-ba471d46]{flex-wrap:wrap;align-items:flex-start}.row-actions[data-v-ba471d46]{width:100%;padding-left:55px}}
