:root{--color-primary: #1a1a2e;--color-primary-hover: #0f0f1a;--color-primary-light: #f0f0f5;--color-accent: #00d4aa;--color-accent-hover: #00b894;--color-accent-light: #e6fcf5;--color-secondary: #6b7280;--color-secondary-hover: #4b5563;--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--color-background: #ffffff;--color-surface: #fafafa;--color-surface-elevated: #ffffff;--color-border: #e5e7eb;--color-border-strong: #d1d5db;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-text-inverse: #ffffff;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .06), 0 1px 2px -1px rgb(0 0 0 / .06);--shadow-md: 0 4px 8px -2px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .04);--shadow-lg: 0 12px 24px -8px rgb(0 0 0 / .1), 0 4px 8px -4px rgb(0 0 0 / .06);--shadow-xl: 0 24px 48px -12px rgb(0 0 0 / .12), 0 8px 16px -8px rgb(0 0 0 / .08);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--transition-fast: .12s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--container-max: 1200px;--container-padding: 24px;--header-height: 72px}@media (max-width: 640px){:root{--container-padding: 16px;--header-height: 64px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0 0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;font-size:15px;font-weight:600;line-height:1;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-accent{background-color:var(--color-accent);color:var(--color-primary);box-shadow:var(--shadow-sm)}.btn-accent:hover:not(:disabled){background-color:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-background);border-color:var(--color-border-strong)}.btn-ghost{color:var(--color-text-secondary);background-color:transparent}.btn-ghost:hover:not(:disabled){color:var(--color-text-primary);background-color:var(--color-surface)}.btn-lg{padding:18px 36px;font-size:16px}.btn-sm{padding:10px 20px;font-size:14px}.btn-icon{padding:12px}.btn-full{width:100%}.input-group{display:flex;flex-direction:column;gap:6px}.input-label{font-size:13px;font-weight:500;color:var(--color-text-primary)}.input-field{width:100%;padding:14px 16px;font-size:15px;background-color:var(--color-background);border:1.5px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input-field::placeholder{color:var(--color-text-muted)}.input-field:hover:not(:disabled):not(:focus){border-color:var(--color-border-strong)}.input-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input-field:disabled{background-color:var(--color-surface);color:var(--color-text-muted);cursor:not-allowed}.input-field.error{border-color:var(--color-error)}.input-field.error:focus{box-shadow:0 0 0 3px #ef44441a}.input-error{font-size:12px;color:var(--color-error);display:flex;align-items:center;gap:4px}.input-hint{font-size:12px;color:var(--color-text-muted)}.card{background-color:var(--color-surface-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);overflow:hidden}.card-elevated{box-shadow:var(--shadow-lg)}.card-header{padding:24px;border-bottom:1px solid var(--color-border)}.card-body{padding:24px}.card-footer{padding:16px 24px;border-top:1px solid var(--color-border);background-color:var(--color-surface)}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:11px;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}.badge-pending{background-color:#fef3c7;color:#92400e}.badge-confirmed{background-color:#ecfdf5;color:#065f46}.badge-cancelled{background-color:#fef2f2;color:#991b1b}.badge-new{background-color:var(--color-primary-light);color:var(--color-primary)}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--color-border)}.table th{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);background-color:var(--color-surface)}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:var(--color-surface)}.table tbody tr:last-child td{border-bottom:none}.toast{position:fixed;bottom:24px;right:24px;padding:16px 20px;border-radius:var(--radius-md);box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:12px;z-index:1000;animation:slideIn .3s cubic-bezier(.16,1,.3,1);max-width:400px}.toast-success{background-color:var(--color-success);color:#fff}.toast-error{background-color:var(--color-error);color:#fff}.toast-info{background-color:var(--color-primary);color:#fff}@keyframes slideIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#11182780;display:flex;align-items:center;justify-content:center;padding:24px;z-index:100;animation:fadeIn .2s ease}.modal{background-color:var(--color-surface-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:scaleIn .2s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.spinner{width:20px;height:20px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-enter{animation:pageEnter .4s cubic-bezier(.16,1,.3,1)}@keyframes pageEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.section{padding:100px 0}@media (max-width: 768px){.section{padding:72px 0}}.section-sm{padding:64px 0}.text-balance{text-wrap:balance}.gradient-text{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-border{position:relative}.gradient-border:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));z-index:-1}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--color-border),transparent);margin:32px 0}.tag{display:inline-flex;align-items:center;padding:6px 14px;font-size:12px;font-weight:600;border-radius:9999px;background-color:var(--color-primary-light);color:var(--color-primary)}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);padding:12px 24px;background:var(--color-primary);color:#fff;border-radius:var(--radius-md);z-index:10000;transition:top var(--transition-fast)}.skip-link:focus{top:16px}.admin-login-page,.admin-auth-loading{display:grid;min-height:100vh;place-items:center;padding:24px;background:#f5f7fb}.admin-auth-loading{color:var(--color-text-secondary);font-size:14px}.admin-login-card{width:min(100%,420px);padding:34px;border:1px solid var(--color-border);border-radius:18px;background:#fff;box-shadow:0 24px 70px #14213817}.admin-login-brand{display:flex;align-items:center;gap:11px}.admin-login-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--color-primary);color:#fff;font-weight:800}.admin-login-brand>span:last-child{display:grid;gap:2px}.admin-login-brand strong{font-size:17px}.admin-login-brand small{color:var(--color-text-muted);font-size:9px;font-weight:700;letter-spacing:1.5px}.admin-login-icon{display:grid;width:42px;height:42px;margin-top:38px;place-items:center;border-radius:12px;background:var(--color-primary-light);color:var(--color-primary)}.admin-login-card h1{margin:16px 0 5px;font-size:27px;letter-spacing:-.8px}.admin-login-subtitle,.admin-login-note{color:var(--color-text-secondary);font-size:13px;line-height:1.6}.admin-login-subtitle{margin:0 0 24px}.admin-login-form{display:grid;gap:16px}.admin-login-form label{display:grid;gap:7px}.admin-login-form label span{font-size:12px;font-weight:600}.admin-login-form input{height:45px;padding:0 12px;border:1px solid var(--color-border);border-radius:8px;background:#fcfcfd}.admin-login-form input:focus{border-color:#819ac1;outline:3px solid #1a1a2e14}.admin-login-form button{display:inline-flex;min-height:47px;align-items:center;justify-content:center;gap:9px;margin-top:3px;border-radius:8px;background:var(--color-primary);color:#fff;font-size:14px;font-weight:700}.admin-login-form button:disabled{cursor:wait;opacity:.7}.admin-login-error{margin:0;color:#b42318;font-size:12px;line-height:1.5}.admin-login-note{margin:20px 0 0;font-size:11px}@media (max-width: 480px){.admin-login-page{padding:16px}.admin-login-card{padding:26px 22px}}
