@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{font-family:Space Grotesk,Segoe UI,sans-serif;color:#0f172a;background-color:#0b1224;--bg: #0b1224;--panel: rgba(255, 255, 255, .04);--card: #ffffff;--muted: #93a4c1;--border: #e3e8f4;--primary: #22d3ee;--primary-strong: #0ea5e9;--accent: #5eead4}body{margin:0;background:radial-gradient(circle at 20% 20%,rgba(34,211,238,.15),transparent 25%),radial-gradient(circle at 80% 0%,rgba(94,234,212,.14),transparent 30%),linear-gradient(135deg,#0b1224,#0c1a34 45%,#0b1224);min-height:100vh}a{color:inherit;text-decoration:none}.app-container{display:flex;min-height:100vh;height:100vh;color:#0f172a}.sidebar{width:287px;background:linear-gradient(180deg,#101828f2,#0c1424f2);color:#e5e7eb;padding:28px 18px;box-shadow:0 20px 60px #00000059;border-right:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;height:100vh;max-height:100vh;overflow-y:auto;flex-shrink:0;box-sizing:border-box}.sidebar::-webkit-scrollbar{width:10px}.sidebar::-webkit-scrollbar-track{background:#0c1424bf;border-radius:8px}.sidebar::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#0ea5e9,#0b6cb8);border-radius:8px;border:2px solid rgba(12,20,36,.75)}.sidebar::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#22d3ee,#0ea5e9)}.sidebar{scrollbar-width:thin;scrollbar-color:#0ea5e9 rgba(12,20,36,.75)}.sidebar h1{font-size:3.3em;margin:8px 0 12px;letter-spacing:.4px;color:#60716c85;text-align:left;padding-left:15px}.sidebar-title{margin-top:6px}.sidebar-title__colon{color:#e11d48}.sidebar-user{background:linear-gradient(135deg,#ffffff14,#ffffff05);border-radius:14px;padding:14px;margin-bottom:18px;border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 30px #0000002e}.sidebar-user__name{font-weight:700;color:#fff}.sidebar-user__email{color:#cbd5e1;font-size:.9rem}.sidebar .sidebar-user button{width:100%;margin-top:10px}.sidebar-user button.secondary{background:linear-gradient(135deg,#222433,#4c4d4f);color:#e2e8f0;box-shadow:0 10px 28px #11182759}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;margin-bottom:8px;font-weight:600;font-size:1rem;color:#dce4f4;transition:all .15s ease;border:1px solid transparent}.sidebar nav a i{width:18px;color:var(--primary);font-size:.95rem}.sidebar nav a.active,.sidebar nav a:hover{background:#ffffff0f;border-color:#ffffff1f;color:#fff;box-shadow:inset 0 0 0 1px #ffffff0d}.sidebar-section{border:1px solid rgba(255,255,255,.08);border-radius:12px;margin-bottom:12px;background:#ffffff08;box-shadow:0 10px 28px #0000002e;overflow:hidden;transition:box-shadow .2s ease-in,transform .2s ease-in,background .2s ease-in}.sidebar-section.expanded{background:#ffffff01;box-shadow:0 12px 28px #0000003d;transform:translateY(-1px)}.sidebar-section__header{width:100%;background:transparent;border:none;color:#dce4f4;font-size:1rem;padding:12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:700;letter-spacing:.1px}.sidebar-section__header i{color:#313f3f}.sidebar-section__title{display:inline-flex;align-items:center;gap:10px}.sidebar-section__links{padding:0 8px;display:flex;flex-direction:column;gap:6px;max-height:0;opacity:0;overflow:hidden;transform:translateY(-6px);transition:max-height .2s ease-in,opacity .2s ease-in,transform .2s ease-in,padding .2s ease-in}.sidebar-section__links.open{max-height:600px;opacity:1;transform:translateY(0);padding:6px 8px 10px}.content{flex:1;padding:32px;background:linear-gradient(135deg,#f8fafc,#eef2f7,#e8edf5);overflow-y:auto;height:100vh;min-height:100vh;box-sizing:border-box}table{width:100%;border-collapse:collapse;margin-top:16px;background-color:var(--card);border-radius:14px;overflow:hidden;box-shadow:0 18px 40px #0f172a14;border:1px solid var(--border)}th,td{padding:14px 16px;border-bottom:1px solid #e8ecf5;text-align:left}th{background-color:#f3f6fb;color:#0f172a;letter-spacing:.2px}tr:hover td{background:#f8fbff}td.actions{text-align:right;white-space:nowrap;padding-right:12px;display:flex;justify-content:flex-end;align-items:center;gap:10px}form{background-color:var(--card);padding:26px;border-radius:16px;box-shadow:0 18px 40px #0f172a14;margin-top:24px;border:1px solid var(--border)}form h3{margin:0 0 14px}label{display:block;margin-bottom:12px;font-weight:600;color:#0f172a}label span{display:block;margin-bottom:6px;font-weight:700;color:#1f2937}input{width:96%;padding:11px 12px;border:1px solid #cdd5e4;border-radius:10px;font-size:.98rem;background:#f8fafc;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}select,textarea{width:98%;padding:11px 12px;border:1px solid #cdd5e4;border-radius:10px;font-size:.98rem;background:#f8fafc;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}select{width:100%}textarea{width:98%}input[type=checkbox]{width:auto}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #22d3ee2e;transform:translateY(-1px)}.form-grid.two-col{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:14px 16px}.form-grid.two-col .full-row{grid-column:1 / -1}.description-row textarea,.description-wide{width:98%}button{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-strong) 100%);color:#0b1224;border:none;padding:11px 18px;border-radius:12px;cursor:pointer;font-weight:700;margin-right:12px;box-shadow:0 10px 28px #22d3ee59;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;letter-spacing:.1px}button i{margin-right:8px}button:hover{transform:translateY(-1px);box-shadow:0 14px 32px #22d3ee66;filter:brightness(1.02)}.sidebar-section__header{background:none!important;box-shadow:none!important;padding:12px;margin:0;color:#dce4f4;border-radius:0}.sidebar-section__header:hover{filter:none;transform:none;box-shadow:none}button.secondary{background:linear-gradient(135deg,#8f8f8f,#363637);color:#e2e8f0;box-shadow:0 10px 28px #11182759}button.danger{background:linear-gradient(135deg,#f43f5e,#e11d48);color:#e7c0c0;box-shadow:0 10px 28px #f43f5e59;font-size:0}button.danger i{color:#e7c0c0;font-size:15px;margin-right:0}.add-client-btn{transition:opacity .15s ease,transform .15s ease}.add-client-btn.just-added{opacity:.3}.add-client-btn:not(.is-disabled):hover{transform:translateY(-1px)}.add-client-btn.is-disabled,.add-client-btn:disabled{opacity:.55;cursor:default;pointer-events:none}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.role-chip{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #d1d5db;border-radius:12px;background:linear-gradient(135deg,#f7f9fc,#eef2f7);box-shadow:0 6px 14px #0f172a14}.service-chip{min-width:240px;font-weight:500;font-size:16px}.service-chip span{font-weight:400}.service-grid{grid-template-columns:repeat(auto-fit,minmax(30%,1fr))}.autocomplete-list{position:absolute;z-index:5;background:#fff;border:1px solid #d1d5db;border-radius:10px;margin-top:4px;width:100%;max-height:240px;overflow-y:auto;box-shadow:0 14px 40px #0f172a2e}.autocomplete-item{padding:10px 12px;cursor:pointer;transition:background .12s ease}.autocomplete-item:hover{background:#f0f4f8}.role-chip input[type=number]{width:80px}.muted{color:var(--muted);font-size:.9rem}.form-actions{margin-top:16px;display:flex;gap:12px;justify-content:flex-start;align-items:center;flex-wrap:wrap}.form-actions .danger{margin-left:auto}.status{margin-top:12px;font-size:.9rem}.status.error{color:#dc2626}.status.success{color:#047857}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#060c18b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.modal-card{background:linear-gradient(145deg,#fff,#f7f9fd);border-radius:16px;box-shadow:0 24px 60px #0c142447;padding:22px 24px;width:90vw;max-width:1280px;max-height:90vh;overflow-y:auto;border:1px solid var(--border);position:relative}.modal-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:27%;border:none;background:#4e4e4f;color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 20px #0b132340;cursor:pointer;padding:1px 0 0 8px}.logout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:999}.logout-overlay__card{background:linear-gradient(135deg,#fff,#f4f7fb);border:1px solid var(--border);border-radius:14px;padding:26px 28px;box-shadow:0 18px 42px #0f172a33;max-width:360px;text-align:center}.logout-overlay__card h2{margin:0 0 10px}.logout-overlay__card p{margin:0 0 16px;color:var(--muted)}.calendar-overlay{background:#0000008c;padding:0;z-index:1000}.calendar-card{background:#fff;width:98%;height:90%;display:flex;flex-direction:column;position:relative}.calendar-header{display:flex;gap:12px;align-items:center;padding:16px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.calendar-title{flex:1;text-align:center;font-weight:700}.calendar-grid{flex:1;display:grid;grid-template-columns:80px 1fr;overflow:hidden}.calendar-times{border-right:1px solid #e5e7eb;background:#f9fafb}.calendar-time-row{height:calc((100% - 0px) / 15);border-bottom:1px solid #e5e7eb;padding:4px 6px;font-size:12px;color:#4b5563}.calendar-columns{display:grid;grid-template-columns:repeat(7,1fr);overflow:auto}.calendar-day{border-right:1px solid #e5e7eb;display:flex;flex-direction:column;position:relative}.calendar-day:last-child{border-right:none}.calendar-day-header{padding:8px 10px;border-bottom:1px solid #e5e7eb;background:#f9fafb;font-weight:700;font-size:13px}.calendar-day-body{flex:1;position:relative;background:repeating-linear-gradient(to bottom,#f8fafc 0,#f8fafc 29px,#e5e7eb 30px,#f8fafc 30px,#f8fafc 59px,#e5e7eb 60px)}.calendar-event{position:absolute;left:4px;right:4px;border-radius:10px;padding:8px 10px;font-size:12px;color:#0f172a;border:1px solid rgba(15,23,42,.08);background:linear-gradient(135deg,#e0f2fe,#e0f7fa);box-shadow:0 10px 20px #0f172a1f;overflow:hidden}.calendar-resize-handle{position:absolute;left:0;right:0;height:6px;cursor:ns-resize}.calendar-resize-handle.top{top:0}.calendar-resize-handle.bottom{bottom:0}.calendar-event-title{font-weight:700;margin-bottom:2px}.calendar-event-client{font-weight:600}.chat-layout{display:flex;flex-direction:column;gap:8px;height:calc(100vh - 120px)}.chat-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-window{flex:1;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px;overflow-y:auto;box-shadow:0 14px 34px #0f172a14}.chat-row{display:flex;margin-bottom:12px}.chat-row .chat-recommendations{width:100%}.chat-row--assistant{justify-content:flex-start}.chat-row--user{justify-content:flex-end}.chat-bubble{max-width:75%;background:linear-gradient(135deg,#e9f4ff,#e8f6f9);border:1px solid #d4e6f7;color:#0f172a;padding:12px 14px;border-radius:14px;box-shadow:0 12px 28px #0f172a1f;white-space:pre-wrap}.chat-row--assistant .chat-bubble{background:linear-gradient(135deg,#f7f9fb,#eef2f7);border-color:#e2e8f0}.chat-row--user .chat-bubble{background:linear-gradient(135deg,var(--primary),var(--primary-strong));color:#0b1224;border-color:#0ea5e966}.chat-input-bar{background:transparent;border:none;box-shadow:none;padding:0;display:flex;justify-content:stretch;width:100%}.chat-input-shell{width:100%;position:relative;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px;box-shadow:0 10px 26px #0f172a14}.chat-input-shell textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:12px 64px 12px 12px;resize:none;min-height:68px;font-size:.98rem;background:#f8fafc;box-sizing:border-box}.chat-send{position:absolute;right:18px;bottom:14px;height:44px;min-width:44px;padding:0 14px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 12px 28px #22d3ee59;margin-right:0;margin-bottom:10px}.chat-send i{margin:0}.chat-recommendations{margin-top:10px;display:flex;flex-direction:column;gap:8px}.pill-group{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;box-shadow:0 8px 20px #0f172a0f}.pill-heading{font-weight:700;margin-bottom:6px}.pill-list{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:7px 12px;border-radius:999px;background:linear-gradient(135deg,#e0f2fe,#ecfeff);color:#0f172a;border:1px solid rgba(14,165,233,.35);font-size:.9rem;box-shadow:0 6px 14px #0f172a14}.pill-card{min-width:220px;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,#eef2ff,#e0f2fe);border:1px solid #c7d2fe;box-shadow:0 8px 18px #0f172a14}.pill-title{font-weight:700;margin-bottom:4px}.pill-meta{font-size:.9rem;color:#4b5563}.pill-bar{margin-top:8px;width:100%;height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.pill-bar-fill{height:100%;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--primary-strong))}.timing-row{margin-top:8px;display:flex;gap:12px;font-size:.9rem;color:#475569}
