@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}:root{--color-primary: #1261d5;--color-primary-hover: #0f54b8;--color-primary-active: #0c469a;--color-primary-soft: #eaf3ff;--color-accent-teal: #16b3a4;--color-accent-yellow: #f5c53d;--color-n900: #0f172a;--color-n700: #334155;--color-n500: #64748b;--color-n300: #cbd5e1;--color-n100: #f1f5f9;--color-n50: #f8fafc;--color-white: #ffffff;--color-success: #22a55e;--color-success-bg: #ecfdf3;--color-warning: #f59e0b;--color-warning-bg: #fff7e6;--color-error: #e5484d;--color-error-bg: #fef2f2;--color-info: #1261d5;--color-info-bg: #eaf3ff;--color-accent-teal-bg: #e6faf7;--overlay-backdrop: rgba(15, 23, 42, .4);--color-border: #dce4ee;--color-border-light: #edf2f7;--font-display: "Poppins", sans-serif;--font-body: "Inter", sans-serif;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--space-48: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-s1: 0 1px 2px rgba(15, 23, 42, .04);--shadow-s2: 0 4px 16px rgba(15, 23, 42, .05);--shadow-s3: 0 12px 32px rgba(15, 23, 42, .08);--transition-fast: .18s ease;--transition-default: .25s ease;--transition-slow: .32s ease;--focus-ring: 0 0 0 3px rgba(18, 97, 213, .18);--color-primary-dark: var(--color-primary-active);--color-text: var(--color-n900);--color-muted: var(--color-n500);--color-bg: var(--color-n50);--color-danger: var(--color-error);--radius: var(--radius-lg);--shadow: var(--shadow-s1)}html{scroll-padding-top:80px}html,body{margin:0;padding:0;font-family:var(--font-body);font-size:14px;line-height:22px;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-n900);line-height:1.25;margin:0 0 var(--space-8)}h1{font-size:40px;line-height:48px;font-weight:700}h2{font-size:32px;line-height:40px;font-weight:600}h3{font-size:24px;line-height:32px;font-weight:600}h4{font-size:20px;line-height:28px;font-weight:600}h5{font-size:16px;line-height:24px;font-weight:600}h6{font-size:14px;line-height:20px;font-weight:600}a{color:var(--color-primary)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-16);margin-bottom:var(--space-24);flex-wrap:wrap}.page-header h1{font-size:32px;line-height:40px}.card{display:block;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-24);box-shadow:var(--shadow-s1);margin-bottom:var(--space-24)}.card h2:first-child{margin-top:0}.auth-card{display:block;max-width:440px;margin:var(--space-32) auto;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-32);box-shadow:var(--shadow-s1)}.auth-card--wide{max-width:640px}.auth-card h1{margin-top:0;font-size:24px;line-height:32px}.subtitle{color:var(--color-muted);margin:0 0 var(--space-24)}.auth-links{margin-top:var(--space-24);text-align:center;font-size:14px;color:var(--color-muted)}.auth-links a{text-decoration:none;font-weight:600}.auth-links--stack{display:flex;flex-direction:column;align-items:center;gap:var(--space-8)}.form-group{display:block;margin-bottom:var(--space-16)}.form-group label{display:block;font-size:14px;font-weight:600;margin-bottom:var(--space-8);color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;color:var(--color-n900);background:var(--color-white);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--color-n500)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--color-n50);border-color:var(--color-border-light);color:#94a3b8;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea,.form-group input.ng-invalid.ng-touched,.form-group select.ng-invalid.ng-touched,.form-group textarea.ng-invalid.ng-touched{border-color:var(--color-error);background:var(--color-error-bg)}.password-field{margin-bottom:var(--space-16)}.password-field label{display:block;font-size:14px;font-weight:600;margin-bottom:var(--space-8);color:var(--color-text)}.password-field__wrap{position:relative}.password-field__wrap input{width:100%;padding:12px 44px 12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;color:var(--color-n900);background:var(--color-white);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.password-field__wrap input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.password-field__wrap input.ng-invalid.ng-touched{border-color:var(--color-error);background:var(--color-error-bg)}.password-field__toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-muted);cursor:pointer}.password-field__toggle:hover{color:var(--color-text);background:var(--color-n50)}.password-field__toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-16);align-items:start}.field-error{display:block;font-size:12px;line-height:16px;color:var(--color-error);margin-top:var(--space-4)}.field-hint{display:block;font-size:12px;line-height:16px;color:var(--color-muted);margin-top:var(--space-4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);min-height:44px;padding:12px 20px;border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-body);font-weight:600;font-size:14px;line-height:20px;cursor:pointer;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.btn:disabled{cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-primary-active)}.btn-primary:disabled{background:var(--color-n300);color:#94a3b8}.btn-navy{background:var(--color-n900);color:var(--color-white)}.btn-navy:hover:not(:disabled){background:#1e293b}.btn-navy:active:not(:disabled){background:#0b1220}.btn-navy:disabled{background:var(--color-n300);color:#94a3b8}.btn-secondary{background:var(--color-white);border-color:var(--color-border);color:var(--color-n900)}.btn-secondary:hover:not(:disabled){background:var(--color-n50);border-color:var(--color-n300)}.btn-secondary:disabled{border-color:var(--color-n300);color:#94a3b8;background:var(--color-white)}.btn-danger{background:var(--color-error);color:var(--color-white)}.btn-danger:hover:not(:disabled){background:#d23c41}.btn-ghost{background:transparent;color:var(--color-primary)}.btn-ghost:hover:not(:disabled){background:var(--color-n100)}.btn-block{width:100%}.btn-sm{min-height:36px;padding:8px 12px;font-size:13px}.alert{display:block;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:var(--space-16);font-size:14px;border:1px solid transparent}.alert-error{background:var(--color-error-bg);color:#b91c1c;border-color:#fecaca}.alert-success{background:var(--color-success-bg);color:#166534;border-color:#a7f3d0}.alert-warning{background:var(--color-warning-bg);color:#92400e;border-color:#fcd34d}.alert-info{background:var(--color-info-bg);color:#1d4ed8;border-color:#bfdbfe}.badge,.status{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:16px;border:1px solid transparent}.badge--pending_payment,.status--pending_payment,.badge--pending,.status--pending,.badge--rescheduled,.status--rescheduled{background:var(--color-warning-bg);border-color:#fcd34d;color:#92400e}.badge--confirmed,.status--confirmed{background:var(--color-primary-soft);border-color:#bfdbfe;color:var(--color-primary-active)}.badge--in_progress,.status--in_progress{background:var(--color-accent-teal-bg);border-color:#99e6dc;color:#0f766e}.badge--completed,.status--completed,.badge--approved,.badge--main{background:var(--color-success-bg);border-color:#a7f3d0;color:#166534}.badge--cancelled,.status--cancelled,.badge--rejected{background:var(--color-n100);border-color:var(--color-n300);color:var(--color-n500)}.badge--dispute,.status--dispute,.badge--suspended,.badge--no_show,.status--no_show,.badge--failed{background:var(--color-error-bg);border-color:#fecaca;color:#b91c1c}.badge-remote,.badge-free,.free-label{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:16px;background:var(--color-accent-teal-bg);border:1px solid #99e6dc;color:#0f766e}.overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-32) var(--space-16);overflow-y:auto;background:var(--overlay-backdrop)}.overlay-card,.payment-overlay.card{width:min(560px,100%);max-height:calc(100vh - 4rem);overflow:auto;margin:auto;box-shadow:0 16px 32px -4px #0f172a29}.card:has(>.data-table),.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;min-width:640px;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-border);min-height:56px}.data-table th{font-weight:600;color:var(--color-muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.data-table tbody tr:hover{background:var(--color-n50)}.data-table th:last-child,.data-table td:last-child{text-align:right}.data-table .actions{display:flex;flex-wrap:wrap;gap:var(--space-8);justify-content:flex-end}.muted{color:var(--color-muted);font-size:14px}.empty{text-align:center;color:var(--color-muted);padding:var(--space-48) var(--space-24);font-size:15px;line-height:24px}.empty a{font-weight:600;text-decoration:none}td.empty{text-align:center}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-active);font-family:var(--font-display);font-weight:600;line-height:1}.avatar img{width:100%;height:100%;object-fit:cover}.avatar--sm{width:32px;height:32px;font-size:12px}.avatar--md{width:48px;height:48px;font-size:16px}.avatar--lg{width:88px;height:88px;font-size:28px}.spinner-wrap{display:inline-flex;align-items:center;gap:var(--space-8)}.spinner{width:18px;height:18px;border:2px solid var(--color-n300);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.breadcrumb{display:block;margin-bottom:var(--space-16);font-size:13px;color:var(--color-muted)}.breadcrumb__list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8);list-style:none;margin:0;padding:0}.breadcrumb__item{display:inline-flex;align-items:center;gap:var(--space-8)}.breadcrumb__item a{color:var(--color-muted);text-decoration:none}.breadcrumb__item a:hover{color:var(--color-primary)}.breadcrumb__item:not(:last-child):after{content:"\203a";color:var(--color-n300)}.breadcrumb__item span[aria-current=page]{color:var(--color-n700);font-weight:600}.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}code{font-size:13px;background:var(--color-n100);padding:2px 6px;border-radius:var(--radius-sm)}@media(max-width:768px){h1{font-size:32px;line-height:40px}h2{font-size:24px;line-height:32px}}
