*{margin:0;padding:0;box-sizing:border-box}:root{--primary-gradient: linear-gradient(135deg, #2E72F6 0%, #7B5CF5 100%);--secondary-gradient: linear-gradient(135deg, #5B4CF5 0%, #9B7AFF 100%);--accent-gradient: linear-gradient(135deg, #2E72F6 0%, #7B5CF5 100%);--dark-bg: #000000;--card-bg: rgba(46, 114, 246, .1);--card-border: rgba(46, 114, 246, .2);--text-primary: #ffffff;--text-secondary: #2E72F6;--text-accent: #7B5CF5;--shadow-glow: 0 8px 32px rgba(46, 114, 246, .4);--shadow-card: 0 4px 20px rgba(0, 0, 0, .3)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--dark-bg);color:var(--text-primary);overflow-x:hidden}#root{min-height:100vh;background:radial-gradient(ellipse at top,rgba(46,114,246,.15) 0%,transparent 50%),radial-gradient(ellipse at bottom,rgba(123,92,245,.1) 0%,transparent 50%)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:rgba(255,255,255,.1)}::-webkit-scrollbar-thumb{background:var(--accent-gradient);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#7B5CF5 0%,#5B4CF5 100%)}.glass{background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px}.glow{box-shadow:var(--shadow-glow)}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn-primary{background:var(--primary-gradient);border:none;color:#fff;padding:12px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:var(--text-primary);padding:12px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--card-border);border-radius:16px;padding:24px;transition:all .3s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow);border-color:#2e72f64d}.input-field{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 16px;color:var(--text-primary);font-size:14px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.input-field:focus{outline:none;border-color:var(--text-accent);box-shadow:0 0 0 3px #2e72f61a}.input-field::placeholder{color:var(--text-secondary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeInUp{animation:fadeInUp .6s ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}@media (max-width: 1200px){.card{padding:16px}.btn-primary,.btn-secondary{padding:10px 16px;font-size:14px}}@media (max-width: 768px){.card{padding:12px}.btn-primary,.btn-secondary{padding:8px 12px;font-size:12px}h1{font-size:1.5rem!important}h2{font-size:1.2rem!important}h3{font-size:1rem!important}}.app-shell{display:flex;min-height:100vh;background:var(--dark-bg);position:relative}.app-sidebar{width:280px;flex-shrink:0;padding:24px 0 110px;min-height:100vh;position:relative;overflow-x:hidden;overflow-y:auto}.app-main{flex:1;min-width:0;padding:0;background:transparent;position:relative;overflow:auto}.app-mobile-header,.app-sidebar-overlay{display:none}.app-menu-button{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer}.app-menu-button span{display:block;width:18px;height:2px;background:white;border-radius:2px;transition:transform .2s ease,opacity .2s ease}.app-menu-button span.is-open:nth-child(1){transform:translateY(7px) rotate(45deg)}.app-menu-button span.is-open:nth-child(2){opacity:0}.app-menu-button span.is-open:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.appointments-page{padding:24px;color:#fff;min-height:100%}.appointments-page__title{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#2E72F6 0%,#7B5CF5 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.appointments-page__subtitle{color:var(--text-secondary);margin:8px 0 0;font-size:1.05rem}.appointments-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.appointment-calendar{padding:20px;overflow:hidden}.appointment-calendar__header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.appointment-calendar__title{margin:0;font-size:1.4rem}.appointment-calendar__nav{display:flex;gap:8px}.appointment-calendar__nav .btn-secondary{padding:8px 14px;font-size:13px}.appointment-calendar__weekdays,.appointment-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.appointment-calendar__weekday{padding:8px 4px;text-align:center;color:var(--text-secondary);font-size:12px;font-weight:600}.appointment-calendar__weekday-short{display:none}.appointment-calendar__cell{min-height:118px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);color:var(--text-primary);text-align:left;padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:6px}.appointment-calendar__cell.is-outside{opacity:.4}.appointment-calendar__cell.is-today{border-color:#2e72f6b3}.appointment-calendar__cell.is-selected,.appointment-calendar__cell.has-events.is-selected{background:rgba(46,114,246,.16);border-color:#7b5cf5b3}.appointment-calendar__day{font-size:13px;font-weight:700}.appointment-calendar__dot{display:none}.appointment-calendar__events{display:flex;flex-direction:column;gap:4px;min-height:0}.appointment-event-chip{width:100%;border:none;border-radius:6px;background:linear-gradient(135deg,#2E72F6 0%,#7B5CF5 100%);color:#fff;display:flex;gap:6px;align-items:center;padding:4px 6px;cursor:pointer;font-size:11px;text-align:left}.appointment-event-chip__time{font-weight:700;white-space:nowrap}.appointment-event-chip__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-calendar__more{font-size:11px;color:#9b7aff}.appointments-day-panel{padding:20px;min-height:240px}.appointments-day-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;padding:12px;margin-bottom:10px;cursor:pointer;text-align:left}.appointments-day-item small{color:var(--text-secondary)}.associated-entity-card{width:100%;text-align:left;margin-top:8px;margin-bottom:20px;padding:16px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--text-primary)}.associated-entity-card.is-clickable{cursor:pointer;transition:all .2s ease}.associated-entity-card.is-clickable:hover:not(:disabled){background:rgba(255,255,255,.08);border-color:#7b5cf573}.associated-entity-card:disabled{cursor:default}.associated-entity-card__label{font-size:12px;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.associated-entity-card__title{font-size:15px;font-weight:700;margin-bottom:8px}.associated-entity-card__meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--text-secondary)}.associated-entity-card__status{text-transform:capitalize}.associated-entity-card__empty{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5}.cs-page{padding:24px;color:#fff;min-height:100%}.cs-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:24px}.cs-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.cs-actions .btn-primary,.cs-actions .btn-secondary{padding:10px 18px;font-size:14px}.cs-panel{padding:20px;margin-bottom:20px}.cs-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.cs-label{display:block;margin-bottom:6px;font-size:12px;color:var(--text-secondary);font-weight:600}.cs-input{width:100%;padding:9px 12px;border-radius:8px;font-size:14px}select.cs-input option{background:#0b0b14;color:#fff}.cs-input.has-error{border-color:#ef4444b3}.cs-hint{font-size:12px;color:#fff9;margin-top:4px}.cs-error-text{font-size:12px;color:#f87171;margin-top:4px}.cs-alert{border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:14px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.35);color:#fca5a5}.cs-alert.is-info{background:rgba(91,76,245,.1);border-color:#5b4cf559;color:#c4b5fd}.cs-alert.is-success{background:rgba(34,197,94,.1);border-color:#22c55e59;color:#86efac}.cs-table-wrap{overflow-x:auto}.cs-table{width:100%;border-collapse:collapse;font-size:13px}.cs-table th{text-align:left;padding:12px;color:var(--text-secondary);font-weight:600;font-size:12px;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.1)}.cs-table th button{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0}.cs-table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:middle;white-space:nowrap}.cs-table tbody tr:hover{background:rgba(255,255,255,.03)}.cs-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.cs-muted{color:#ffffff8c}.cs-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid currentColor;background:rgba(255,255,255,.04)}.cs-link-button{background:rgba(91,76,245,.15);border:1px solid rgba(123,92,245,.45);color:#c4b5fd;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.cs-link-button:hover{background:rgba(91,76,245,.3)}.cs-link-button:disabled{opacity:.5;cursor:not-allowed}.cs-link-button.is-danger{background:rgba(239,68,68,.12);border-color:#ef444466;color:#fca5a5}.cs-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;flex-wrap:wrap;font-size:13px;color:#ffffffb3}.cs-empty{padding:56px 20px;text-align:center;color:#ffffffb3}.cs-spinner{width:36px;height:36px;border:3px solid rgba(46,114,246,.3);border-top:3px solid #2E72F6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 12px}.cs-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.cs-modal{width:100%;max-width:560px;max-height:90vh;overflow-y:auto;padding:28px;position:relative;background:rgba(12,12,24,.96)}.cs-modal.is-wide{max-width:960px}.cs-modal h2{font-size:1.35rem;margin:0 0 4px}.cs-modal-close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer}.cs-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.cs-form-grid .is-full{grid-column:1 / -1}.cs-modal-footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.cs-modal-footer .btn-primary,.cs-modal-footer .btn-secondary{padding:10px 20px;font-size:14px}.cs-modal-footer button:disabled{opacity:.55;cursor:not-allowed;transform:none}.cs-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin:16px 0}.cs-stat{padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}.cs-stat strong{display:block;font-size:1.4rem}.cs-stat span{font-size:12px;color:#fff9}.cs-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 20px;margin:20px 0}.cs-detail-grid dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:600;margin-bottom:4px}.cs-detail-grid dd{margin:0;font-size:14px;word-break:break-word}.cs-section-title{font-size:14px;font-weight:700;margin:20px 0 10px}.cs-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:10px;background:rgba(255,255,255,.05);margin-bottom:16px}.cs-tabs button{background:none;border:none;color:#ffffffb3;padding:7px 14px;border-radius:8px;cursor:pointer;font-weight:600;font-size:13px}.cs-tabs button.is-active{background:var(--primary-gradient);color:#fff}.cs-row-invalid td{background:rgba(239,68,68,.06)}.cs-modal.cs-dialer{max-width:380px}.cs-dialer-display{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.15);color:#fff;font-size:1.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;padding:8px 4px;outline:none}.cs-dialer-display.has-error{border-bottom-color:#ef4444b3}.cs-dialer-pad{display:grid;grid-template-columns:repeat(3,72px);justify-content:center;gap:14px 22px;margin:20px 0}.cs-dialer-key{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.5rem;line-height:1}.cs-dialer-key small{font-size:9px;letter-spacing:.12em;color:#ffffff80;margin-top:4px}.cs-dialer-key:hover:not(:disabled){background:rgba(91,76,245,.25)}.cs-dialer-call{display:block;width:100%;padding:14px;border:none;border-radius:999px;background:#22C55E;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.cs-dialer-call:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 980px){.appointments-layout{grid-template-columns:1fr}}@media (max-width: 768px){.app-shell{flex-direction:column}.app-mobile-header{display:flex;align-items:center;gap:12px;padding:12px 16px;position:sticky;top:0;z-index:150;background:rgba(0,0,0,.92);border-bottom:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-sidebar{position:fixed;top:0;left:0;height:100vh;z-index:200;transform:translate(-110%);transition:transform .25s ease;box-shadow:none}.app-sidebar.is-open{transform:translate(0);box-shadow:16px 0 40px #00000073}.app-sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;background:rgba(0,0,0,.55);border:none;padding:0}.app-main{overflow:auto;width:100%}.appointments-page{padding:16px}.appointments-page__title{font-size:1.7rem}.appointments-page__subtitle{font-size:.95rem}.cs-page{padding:16px}.cs-modal{padding:20px 16px}.cs-modal-overlay{padding:12px}.cs-form-grid{grid-template-columns:1fr}.appointment-calendar{padding:12px}.appointment-calendar__title{font-size:1.15rem;width:100%}.appointment-calendar__nav{width:100%}.appointment-calendar__nav .btn-secondary{flex:1}.appointment-calendar__weekday-full{display:none}.appointment-calendar__weekday-short{display:inline}.appointment-calendar__cell{min-height:52px;padding:6px 2px;align-items:center;gap:4px}.appointment-calendar__events,.appointment-event-chip,.appointment-calendar__more{display:none}.appointment-calendar__dot{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:linear-gradient(135deg,#2E72F6 0%,#7B5CF5 100%);font-size:10px;font-weight:700}}
