@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--bg:#f5f3f0;--card:#fff;--text:#2d2b3d;--text-secondary:#6b6880;--border:#e8e5e0;--sidebar:#2d2b3d;--sidebar-text:#fff;--input-bg:#fff;--hover:#f0ede9;--accent-1:#d49a9a;--accent-2:#c4a47a}*{box-sizing:border-box;margin:0;padding:0;font-family:Plus Jakarta Sans,sans-serif}body{background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px}.btn{cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:600;transition:all .2s}.btn-primary{background:linear-gradient(135deg, var(--accent-1), var(--accent-2));color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #d49a9a4d}.btn-secondary{background:var(--border);color:var(--text)}.btn-secondary:hover{filter:brightness(.95)}.btn-danger{color:#ef4444;background:#ef44441a}.btn-danger:hover{background:#ef444433}.btn-sm{padding:6px 14px;font-size:13px}input,select,textarea{background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;margin-bottom:12px;padding:10px 12px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent-1);outline:none}label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--card);border:1px solid var(--border);border-radius:20px;max-width:90vw;max-height:85vh;padding:24px;overflow-y:auto}.layout{min-height:100vh;display:flex}.sidebar{background:var(--sidebar);border-right:1px solid #ffffff1a;flex-direction:column;width:260px;min-width:260px;height:100vh;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid #ffffff1a;padding:20px 20px 16px}.sidebar .logo{color:#fff;margin:0;font-size:20px}.sidebar .role-badge{color:#fff9;margin-top:4px;font-size:12px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 0;display:flex;overflow-y:auto}.nav-item{color:#fff9;border-left:3px solid #0000;align-items:center;padding:10px 20px;font-size:14px;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item--active{color:#fff;border-left-color:var(--accent-1);background:#ffffff1a;font-weight:600}.sidebar-footer{border-top:1px solid #ffffff1a;padding:16px 20px}.logout-btn{color:#fffc;cursor:pointer;background:#ef444426;border:none;border-radius:8px;align-items:center;width:100%;padding:10px 16px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;transition:all .2s;display:flex}.logout-btn:hover{color:#fff;background:#ef44444d}.main-area{flex-direction:column;flex:1;min-height:100vh;display:flex}.header{background:var(--card);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.header-left{color:var(--text);font-size:14px;font-weight:600}.avatar{background:linear-gradient(135deg, var(--accent-1), var(--accent-2));color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.content{background:var(--bg);flex:1;padding:24px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-header h2{color:var(--text);margin:0;font-size:20px;font-weight:700}.calendar-controls{align-items:center;gap:10px;display:flex}.week-label{color:var(--text);white-space:nowrap;font-weight:600}.calendar-scroll{border:1px solid var(--border);background:var(--card);border-radius:16px;overflow-x:auto}.calendar-grid{border-collapse:collapse;table-layout:fixed;width:100%;min-width:700px}.time-header{background:var(--hover);width:60px;color:var(--text-secondary);padding:12px 8px;font-size:12px;font-weight:600}.day-header{background:var(--hover);color:var(--text);text-align:center;min-width:100px;padding:12px 8px;font-size:14px;font-weight:600}.time-cell{text-align:center;color:var(--text-secondary);border-top:1px solid var(--border);vertical-align:top;width:60px;height:48px;padding:0;font-size:11px}.slot-cell{border-top:1px solid var(--border);border-left:1px solid var(--border);vertical-align:top;cursor:pointer;height:48px;padding:2px}.slot-cell:hover{background:#d49a9a0d}.booking-block{cursor:pointer;color:#2d2b3d;white-space:nowrap;text-overflow:ellipsis;border-left:5px solid;border-radius:6px;margin:2px 0;padding:6px 10px;font-size:12px;font-weight:500;transition:box-shadow .15s;overflow:hidden}.booking-block:hover{z-index:2;position:relative;box-shadow:0 2px 8px #00000026}.modal-actions{gap:8px;margin-top:16px;display:flex}.btn-delete{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:10px;padding:10px 20px;font-weight:600}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:24px;display:flex}.tab{background:var(--border);color:var(--text);cursor:pointer;border:none;border-radius:10px;padding:10px 18px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;transition:all .2s}.tab.active{background:linear-gradient(135deg, var(--accent-1), var(--accent-2));color:#fff;font-weight:600}.empty{text-align:center;color:var(--text-secondary);padding:60px}@media (width<=768px){.content{padding:12px}.calendar-header{flex-direction:column;align-items:flex-start;gap:10px}.calendar-controls{gap:6px}.calendar-grid{min-width:auto}.master-header{min-width:100px;font-size:12px}}.menu-btn[data-v-84ef4a3b]{cursor:pointer;color:var(--text);background:0 0;border:none;margin-right:10px;font-size:20px;display:none}.sidebar-overlay[data-v-84ef4a3b]{display:none}.logout-btn-header[data-v-84ef4a3b]{background:var(--accent-1);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:6px 14px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px}.footer-links[data-v-84ef4a3b]{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.footer-link[data-v-84ef4a3b]{color:#fff6;font-size:11px;text-decoration:none;transition:color .2s}.footer-link[data-v-84ef4a3b]:hover{color:#ffffffb3}.footer-copy[data-v-84ef4a3b]{color:#ffffff40;text-align:center;font-size:10px}@media (width<=768px){.menu-btn[data-v-84ef4a3b]{display:inline-block}.sidebar[data-v-84ef4a3b]{z-index:999;transition:left .3s;position:fixed;top:0;left:-260px}.sidebar.open[data-v-84ef4a3b]{left:0}.sidebar-overlay[data-v-84ef4a3b]{z-index:998;background:#0006;display:block;position:fixed;inset:0}}.calendar-header[data-v-6bf08c1d]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.calendar-header h2[data-v-6bf08c1d]{color:var(--text);margin:0;font-size:20px;font-weight:700}.calendar-controls[data-v-6bf08c1d]{align-items:center;gap:10px;display:flex}.week-label[data-v-6bf08c1d]{color:var(--text);white-space:nowrap;font-weight:600}.calendar-scroll[data-v-6bf08c1d]{border:1px solid var(--border);background:var(--card);border-radius:16px;overflow-x:auto}.calendar-grid[data-v-6bf08c1d]{border-collapse:collapse;table-layout:fixed;width:100%;min-width:700px}.time-header[data-v-6bf08c1d]{background:var(--hover);width:60px;color:var(--text-secondary);padding:12px 8px;font-size:12px;font-weight:600}.day-header[data-v-6bf08c1d]{background:var(--hover);color:var(--text);text-align:center;min-width:100px;padding:12px 8px;font-size:14px;font-weight:600}.time-cell[data-v-6bf08c1d]{text-align:center;color:var(--text-secondary);border-top:1px solid var(--border);vertical-align:top;width:60px;height:48px;padding:0;font-size:11px}.slot-cell[data-v-6bf08c1d]{border-top:1px solid var(--border);border-left:1px solid var(--border);vertical-align:top;cursor:pointer;height:48px;padding:2px}.slot-cell[data-v-6bf08c1d]:hover{background:#d49a9a0d}.slot-cell.inactive[data-v-6bf08c1d]{background:var(--hover);cursor:default;opacity:.5}.slot-cell.inactive[data-v-6bf08c1d]:hover{background:var(--hover)}.booking-block[data-v-6bf08c1d]{cursor:pointer;color:#2d2b3d;white-space:nowrap;text-overflow:ellipsis;border-left:5px solid;border-radius:6px;margin:2px 0;padding:6px 10px;font-size:12px;font-weight:500;transition:box-shadow .15s;overflow:hidden}.booking-block[data-v-6bf08c1d]:hover{z-index:2;position:relative;box-shadow:0 2px 8px #00000026}.empty[data-v-6bf08c1d]{text-align:center;color:var(--text-secondary);padding:60px}.login-bg[data-v-6229e0c8]{background:linear-gradient(135deg, var(--bg) 0%, var(--card) 50%, var(--sidebar) 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card[data-v-6229e0c8]{background:var(--card);border:1px solid var(--border);border-radius:20px;width:100%;max-width:420px;padding:48px;box-shadow:0 20px 60px #0000004d}.login-logo[data-v-6229e0c8]{text-align:center;margin-bottom:32px}.login-title[data-v-6229e0c8]{background:linear-gradient(135deg, var(--accent-1), var(--accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:28px;font-weight:700}.login-subtitle[data-v-6229e0c8]{color:var(--text-secondary);font-size:14px}.login-btn[data-v-6229e0c8]{width:100%;margin-top:8px;padding:14px;font-size:16px;font-weight:600}.login-invite[data-v-6229e0c8]{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:12px}.login-error[data-v-6229e0c8]{color:#ef4444;background:#ef44441a;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.header-row[data-v-93538275]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.header-row h2[data-v-93538275]{color:var(--text);margin:0}.msg[data-v-93538275]{color:#22c55e;font-size:13px}.month-selector[data-v-93538275]{align-items:center;gap:12px;margin-bottom:20px;display:flex}.month-label[data-v-93538275]{color:var(--text);font-size:16px;font-weight:600}.schedule-table[data-v-93538275]{border-collapse:collapse;width:100%}.schedule-table th[data-v-93538275]{text-align:left;background:var(--hover);padding:10px 12px;font-size:13px;font-weight:600}.schedule-table td[data-v-93538275]{border-top:1px solid var(--border);padding:10px 12px}.day-name[data-v-93538275]{font-weight:500}.time-input[data-v-93538275]{width:120px;margin-bottom:0}
