:root{background:#f6f7fb;color:#1c1d20;color-scheme:light;font-family:Inter,system-ui,-apple-system,sans-serif;--surface:#fff;--surface-muted:#f2f4f8;--text-primary:#1c1d20;--text-secondary:#5b6472;--primary:#3d64ff;--primary-strong:#2a4bff;--primary-soft:rgba(61,100,255,.12);--success:#16a34a;--warning:#b45309;--danger:#b42318;--border:rgba(15,23,42,.12);--shadow-soft:0 16px 40px rgba(15,23,42,.08);--shadow-card:0 12px 32px rgba(15,23,42,.12)}*{box-sizing:border-box}body{background:radial-gradient(circle at top,#f9faff,#eef1f9 45%,#e7ecf6);color:var(--text-primary);margin:0}a{color:inherit;text-decoration:none}.app{background:linear-gradient(135deg,#3d64ff14,#14142b05);display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:linear-gradient(160deg,#15192b,#252b44);box-shadow:inset -1px 0 #ffffff0f;color:#f8fafc;display:flex;flex-direction:column;gap:24px;padding:28px 20px}.sidebar h1{font-size:18px;line-height:1.4;margin:0}.nav{display:flex;flex-direction:column;gap:12px}.nav a{background:#ffffff14;border-radius:10px;font-weight:500;padding:10px 12px;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.nav a.router-link-active{background:linear-gradient(120deg,#3d64ff,#7c93ff);box-shadow:0 8px 16px #3d64ff59}.nav a:hover{background:#ffffff2e;transform:translate(4px)}.button{background:linear-gradient(120deg,#3d64ff,#7c93ff);border:none;border-radius:10px;box-shadow:0 10px 20px #3d64ff38;color:#fff;cursor:pointer;font-weight:600;padding:10px 14px;transition:transform .2s ease,box-shadow .2s ease}.button.icon-button{align-items:center;display:inline-flex;justify-content:center;line-height:1;min-height:36px;min-width:36px;padding:8px}.button.icon-button svg{fill:currentColor;height:18px;width:18px}.button.secondary{background:#edf1f9;box-shadow:none;color:#2c3a4b}.button.ghost{background:transparent;border:1px solid #d6dbe2;box-shadow:none;color:#2c3a4b}.button.secondary.button-edit{background:#eaf1ff;border:1px solid #c9d9ff;color:#2c5fe0}.button.ghost.button-delete{background:#ffecec;border:1px solid #f4bcbc;color:#d64545}.button.ghost.button-payments{background:#eefcf5;border:1px solid #bfead5;color:#1f8a5b}.button.ghost.button-details{background:#f1f5ff;border:1px solid #cdd8f3;color:#3556a8}.button:hover{box-shadow:0 12px 24px #3d64ff47;transform:translateY(-1px)}.button.ghost:hover,.button.secondary:hover{box-shadow:0 8px 16px #0f172a1f;transform:translateY(-1px)}.button-row{display:flex;flex-wrap:wrap;gap:8px}.content{gap:24px;padding:32px}.content,.header{display:flex;flex-direction:column}.header{gap:6px}.header h2{font-size:24px;margin:0}.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd9;border:1px solid hsla(0,0%,100%,.7);border-radius:16px;box-shadow:var(--shadow-card);padding:20px;transition:transform .2s ease,box-shadow .2s ease}.card h3{font-size:18px;margin-bottom:16px;margin-top:0}.card:hover{box-shadow:0 18px 40px #0f172a29;transform:translateY(-2px)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{color:#495057;font-size:13px;font-weight:600}.field input,.field select,.field textarea{background:#fff;border:1px solid #d6dbe2;border-radius:10px;font-size:14px;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:#3d64ff;box-shadow:0 0 0 3px #3d64ff2e;outline:none}.field-group{display:flex;flex-wrap:wrap;gap:12px}.badge{background:#eef1ff;border-radius:999px;color:#2a4bff;display:inline-flex;font-size:12px;font-weight:600;padding:4px 8px}.table{background:#fff;border:1px solid rgba(15,23,42,.08);border-collapse:collapse;border-radius:16px;box-shadow:0 12px 28px #0f172a14;font-size:14px;overflow:hidden;width:100%}.table td,.table th{border-bottom:1px solid rgba(15,23,42,.08);padding:12px 14px;text-align:left}.table th{background:linear-gradient(120deg,#3d64ff1f,#7c93ff14);border-bottom:1px solid rgba(61,100,255,.2);color:#4a5568;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.table tbody tr:nth-child(2n){background:#f9fbff}.table tbody tr:hover{background:#3d64ff14}.row-alert td{background:#ffe8e8}.notice{background:#fff4e6;border:1px solid rgba(178,83,0,.18);border-radius:12px;color:#b25300;font-size:13px;padding:12px 14px}.alert-banner{background:linear-gradient(120deg,#ffe0b28c,#fff9);border-color:#b2530038;box-shadow:0 12px 24px #b253001f;display:flex;flex-direction:column;gap:6px}.alert-banner__title{color:#8a3d00;font-size:14px;font-weight:700}.alert-banner__list{color:#8a3d00;font-weight:500}.calendar{background:linear-gradient(140deg,#3d64ff14,#63a4ff0d);border:1px solid rgba(61,100,255,.12);border-radius:18px;box-shadow:inset 0 1px #ffffffb3;padding:18px}.calendar-grid{display:grid;gap:12px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;box-shadow:0 8px 18px #0f172a0f;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:10px;min-height:110px;padding:12px;text-align:left;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;width:100%}.calendar-cell:focus-visible,.calendar-cell:hover{border-color:#3d64ff66;box-shadow:0 14px 26px #3d64ff2e;outline:none;transform:translateY(-3px)}.calendar-cell__header{align-items:center;display:flex;gap:8px;justify-content:space-between}.calendar-cell__date{color:#1f2937;font-size:12px;font-weight:600;text-transform:capitalize}.calendar-cell__count{background:#3d64ff1f;border-radius:999px;color:#2a4bff;font-size:11px;font-weight:600;min-width:20px;padding:2px 8px}.calendar-cell__slots{display:flex;flex-direction:column;gap:6px}.calendar-cell__empty{background:#f8fafc;border-radius:10px;color:#94a3b8;font-size:12px;padding:8px;text-align:center}.slot{align-items:center;border-radius:8px;display:flex;font-size:12px;justify-content:space-between;padding:6px 8px}.slot.free{background:#e6f7ee;color:#0b6b3a}.slot.busy{background:#ffe8e8;color:#b42318}.slot.partial{background:#eef1ff;color:#2a4bff}.inline-list{display:flex;flex-wrap:wrap;gap:8px}.inline-list span{background:#edf1f9;border-radius:999px;font-size:12px;padding:6px 10px}.footer{color:#b9c1d1;font-size:12px}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f122080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal{animation:modal-pop .2s ease;background:linear-gradient(180deg,#fff,#f8faff);border:1px solid rgba(61,100,255,.18);border-radius:20px;box-shadow:0 24px 48px #14142b3d;max-width:520px;padding:24px;width:100%}.modal-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.modal-header h3{font-size:18px;margin:0}.modal-header .button{box-shadow:none}@keyframes modal-pop{0%{opacity:.6;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tabs{display:flex;flex-wrap:wrap;gap:8px}.tab{background:#fff;border:1px solid #d6dbe2;border-radius:999px;color:#2c3a4b;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:all .2s ease}.tab.active{background:#3d64ff;border-color:transparent;color:#fff}.tab:hover{border-color:#3d64ff99;color:#2a4bff}.tab.active:hover{color:#fff}@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{border-bottom:1px solid hsla(0,0%,100%,.08);justify-content:space-between}.nav,.sidebar{flex-direction:row}.nav{flex-wrap:wrap}}
