@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-bg: #f8f9fc;--color-surface: #ffffff;--color-surface-hover: #f1f3f9;--color-border: #e4e7f1;--color-border-light: #f0f2f8;--color-text-primary: #1a1d2e;--color-text-secondary: #6b7194;--color-text-muted: #9da3c2;--color-primary: #6c5ce7;--color-primary-light: #a29bfe;--color-primary-bg: #f0eeff;--color-primary-hover: #5a4bd6;--color-success: #00b894;--color-success-bg: #e6f9f4;--color-warning: #fdcb6e;--color-warning-bg: #fef9ec;--color-danger: #e17055;--color-danger-bg: #fdf0ec;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(26, 29, 46, .04);--shadow-sm: 0 1px 3px rgba(26, 29, 46, .06), 0 1px 2px rgba(26, 29, 46, .04);--shadow-md: 0 4px 6px -1px rgba(26, 29, 46, .06), 0 2px 4px -2px rgba(26, 29, 46, .04);--shadow-lg: 0 10px 15px -3px rgba(26, 29, 46, .06), 0 4px 6px -4px rgba(26, 29, 46, .04);--shadow-xl: 0 20px 25px -5px rgba(26, 29, 46, .08), 0 8px 10px -6px rgba(26, 29, 46, .04);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--sidebar-width: 260px;--sidebar-collapsed: 72px;--bottom-nav-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.6;min-height:100vh}#root{min-height:100vh}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.02em;white-space:nowrap}.badge--success{background:var(--color-success-bg);color:var(--color-success)}.badge--warning{background:var(--color-warning-bg);color:#d4a017}.badge--danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge--primary{background:var(--color-primary-bg);color:var(--color-primary)}.card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-fast);white-space:nowrap}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.btn--icon{width:36px;height:36px;padding:0;border-radius:var(--radius-md)}.input{width:100%;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-surface);transition:all var(--transition-fast);outline:none}.input:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px var(--color-primary-bg)}.input::placeholder{color:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-slide-in{animation:slideIn .3s ease forwards}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform var(--transition-slow)}.sidebar__brand{padding:var(--space-6) var(--space-6) var(--space-8);display:flex;align-items:center;gap:var(--space-3)}.sidebar__logo{width:40px;height:40px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.sidebar__title{font-size:var(--font-size-md);font-weight:700;color:var(--color-text-primary);line-height:1.2}.sidebar__subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:400}.sidebar__nav{flex:1;padding:0 var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.sidebar__link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-fast);position:relative}.sidebar__link:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.sidebar__link--active{background:var(--color-primary-bg);color:var(--color-primary)}.sidebar__link--active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--color-primary);border-radius:0 var(--radius-full) var(--radius-full) 0}.sidebar__link-icon{width:20px;height:20px;flex-shrink:0}.sidebar__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:var(--space-3)}.sidebar__logout{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);background:#e74c3c1a;color:#e74c3c;border:1px solid rgba(231,76,60,.2);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.sidebar__logout:hover{background:#e74c3c33;border-color:#e74c3c66}.sidebar__date{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}.main{flex:1;margin-left:var(--sidebar-width);min-height:100vh}.main__header{padding:var(--space-6) var(--space-8);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border-light);background:var(--color-surface);position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;box-shadow:var(--shadow-sm)}.main__header--compact{padding:var(--space-3) var(--space-8)}.main__header-left{display:flex;align-items:center;gap:var(--space-4)}.main__title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary)}.main__back-btn{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);transition:all var(--transition-fast);cursor:pointer;border:none;background:none;flex-shrink:0}.main__back-btn:hover{background:var(--color-surface-hover);color:var(--color-primary)}.main__content{padding:var(--space-8)}.sidebar__toggle{display:none;position:fixed;top:var(--space-3);left:var(--space-3);z-index:1001;width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-surface);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);align-items:center;justify-content:center;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.sidebar__toggle:active{transform:scale(.95)}.sidebar__overlay,.bottom-nav{display:none}@media(max-width:768px){.sidebar{transform:translate(-100%);z-index:1002;box-shadow:var(--shadow-xl)}.sidebar--open{transform:translate(0)}.sidebar__toggle{display:none}.sidebar__overlay{display:block;position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;opacity:0;pointer-events:none;transition:opacity var(--transition-slow)}.sidebar__overlay--visible{opacity:1;pointer-events:all}.main{margin-left:0;padding-bottom:var(--bottom-nav-height, 64px)}.main__header,.main__header--compact{padding:var(--space-3) var(--space-4)}.main__content{padding:var(--space-4)}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1001;background:var(--color-surface);border-top:1px solid var(--color-border-light);box-shadow:0 -2px 10px #1a1d2e0f;height:var(--bottom-nav-height, 64px);padding-bottom:env(safe-area-inset-bottom,0px);align-items:center;justify-content:space-around}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:1;padding:var(--space-2) 0;color:var(--color-text-muted);text-decoration:none;font-size:10px;font-weight:500;transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent;position:relative}.bottom-nav__item--active{color:var(--color-primary)}.bottom-nav__item--active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:3px;background:var(--color-primary);border-radius:0 0 var(--radius-full) var(--radius-full)}.bottom-nav__label{display:block;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}}.dashboard{display:flex;flex-direction:column;gap:var(--space-6)}.dashboard__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.stat-card{padding:var(--space-5);display:flex;align-items:center;gap:var(--space-4)}.stat-card__icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card__icon--purple{background:var(--color-primary-bg);color:var(--color-primary)}.stat-card__icon--green{background:var(--color-success-bg);color:var(--color-success)}.stat-card__icon--orange{background:var(--color-warning-bg);color:#d4a017}.stat-card__value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);line-height:1}.stat-card__label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.calendar__controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.calendar__nav{display:flex;align-items:center;gap:var(--space-2)}.calendar__period{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);min-width:200px;text-align:center}.calendar__view-toggle{display:flex;background:var(--color-surface-hover);border-radius:var(--radius-md);padding:3px}.calendar__view-btn{padding:var(--space-2) var(--space-4);border-radius:calc(var(--radius-md) - 2px);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast)}.calendar__view-btn--active{background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.calendar__today-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;color:var(--color-primary);background:var(--color-primary-bg);transition:all var(--transition-fast)}.calendar__today-btn:hover{background:var(--color-primary);color:#fff}.monthly-calendar{border-radius:var(--radius-lg);overflow:hidden}.monthly-calendar__header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-surface-hover);border-bottom:1px solid var(--color-border-light)}.monthly-calendar__day-name{padding:var(--space-3) var(--space-2);text-align:center;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.monthly-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr)}.monthly-calendar__cell{min-height:100px;padding:var(--space-2);border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background var(--transition-fast);position:relative}.monthly-calendar__cell:nth-child(7n){border-right:none}.monthly-calendar__cell:hover{background:var(--color-surface-hover)}.monthly-calendar__cell--other-month{opacity:.35}.monthly-calendar__cell--today{background:var(--color-primary-bg)}.monthly-calendar__cell--today:hover{background:#e4e0fd}.monthly-calendar__date{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.monthly-calendar__cell--today .monthly-calendar__date{color:var(--color-primary);font-weight:700}.monthly-calendar__events{display:flex;flex-direction:column;gap:2px}.monthly-calendar__event{padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;transition:transform var(--transition-fast)}.monthly-calendar__event:hover{transform:scale(1.02)}.monthly-calendar__event--planned{background:var(--color-primary-bg);color:var(--color-primary)}.monthly-calendar__event--completed{background:var(--color-success-bg);color:var(--color-success)}.monthly-calendar__event--cancelled{background:var(--color-danger-bg);color:var(--color-danger);text-decoration:line-through}.monthly-calendar__more{font-size:10px;color:var(--color-text-muted);padding:2px var(--space-2);font-weight:500;cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.monthly-calendar__more:hover{background:var(--color-primary-light);color:var(--color-primary)}.weekly-calendar{border-radius:var(--radius-lg);overflow:hidden;overflow-x:auto}.weekly-calendar__header-row{display:grid;grid-template-columns:64px repeat(7,1fr);min-width:700px;border-bottom:1px solid var(--color-border-light)}.weekly-calendar__corner{background:var(--color-surface-hover);border-right:1px solid var(--color-border-light)}.weekly-calendar__day-header{background:var(--color-surface-hover);padding:var(--space-3) var(--space-2);text-align:center;border-right:1px solid var(--color-border-light)}.weekly-calendar__day-header:last-child{border-right:none}.weekly-calendar__day-name{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.weekly-calendar__day-num{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);margin-top:2px}.weekly-calendar__day-header--today .weekly-calendar__day-num{color:var(--color-primary);background:var(--color-primary-bg);width:32px;height:32px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center}.weekly-calendar__body{display:grid;grid-template-columns:64px repeat(7,1fr);min-width:700px}.weekly-calendar__time-col{display:flex;flex-direction:column}.weekly-calendar__time-label{padding:var(--space-2) var(--space-3);text-align:right;font-size:var(--font-size-xs);color:var(--color-text-muted);border-right:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light);display:flex;align-items:flex-start;justify-content:flex-end;box-sizing:border-box}.weekly-calendar__day-col{position:relative;border-right:1px solid var(--color-border-light)}.weekly-calendar__day-col:last-child{border-right:none}.weekly-calendar__day-col--today{background:#6c5ce705}.weekly-calendar__hour-line{border-bottom:1px solid var(--color-border-light);box-sizing:border-box}.weekly-calendar__event{position:absolute;left:3px;right:3px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:11px;font-weight:500;line-height:1.3;z-index:1;cursor:pointer;transition:all var(--transition-fast);overflow:hidden}.weekly-calendar__event:hover{transform:scale(1.02);box-shadow:var(--shadow-sm);z-index:2}.weekly-calendar__event--planned{background:var(--color-primary-bg);color:var(--color-primary);border-left:3px solid var(--color-primary)}.weekly-calendar__event--completed{background:var(--color-success-bg);color:var(--color-success);border-left:3px solid var(--color-success)}.weekly-calendar__event--cancelled{background:var(--color-danger-bg);color:var(--color-danger);border-left:3px solid var(--color-danger);text-decoration:line-through}.weekly-calendar__event-time{font-size:10px;opacity:.8}.weekly-calendar__event-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-complete-quick{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:none;background:#27ae601f;color:#27ae60;cursor:pointer;transition:all var(--transition-fast);padding:0;flex-shrink:0}.weekly-calendar__complete-btn{position:absolute;top:2px;right:2px;width:30px;height:30px;z-index:3}.appointment-tooltip{position:fixed;z-index:1000;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);border:1px solid var(--color-border-light);padding:var(--space-4);min-width:240px;animation:fadeIn .15s ease}.appointment-tooltip__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.appointment-tooltip__name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.appointment-tooltip__close{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:all var(--transition-fast)}.appointment-tooltip__close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.appointment-tooltip__detail{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.appointment-tooltip__detail:last-child{margin-bottom:0}@media(max-width:768px){.dashboard{gap:var(--space-4)}.dashboard__stats{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.stat-card{padding:var(--space-3);flex-direction:column;align-items:center;text-align:center;gap:var(--space-1)}.stat-card__icon{width:32px;height:32px}.stat-card__icon svg{width:16px;height:16px}.stat-card__value{font-size:var(--font-size-xl)}.stat-card__label{font-size:10px;line-height:1.2}.calendar__controls{flex-direction:column;align-items:stretch;gap:var(--space-3)}.calendar__nav{justify-content:space-between;width:100%}.calendar__view-toggle{width:100%;justify-content:center}.calendar__view-btn{flex:1;text-align:center}.calendar__period{font-size:var(--font-size-sm);min-width:auto}.monthly-calendar__cell{min-height:60px;padding:var(--space-1)}.monthly-calendar__date{font-size:var(--font-size-xs)}.monthly-calendar__event{font-size:9px;padding:1px 3px;border-radius:3px}.weekly-calendar{margin:0 calc(-1 * var(--space-4));border-radius:0;border:none;background:transparent}.weekly-calendar__header-row{display:none}.weekly-calendar__body{display:flex;flex-direction:column;min-width:100%;gap:var(--space-2)}.weekly-calendar__time-col{display:none}.weekly-calendar__day-col{border-right:none;display:flex;flex-direction:column;min-height:auto;padding-bottom:var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-xs)}.weekly-calendar__day-col--today{background:var(--color-surface);border-left:4px solid var(--color-primary)}.weekly-calendar__mobile-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-surface-hover);font-weight:600;color:var(--color-text-primary);font-size:var(--font-size-sm)}.weekly-calendar__hour-line{display:none}.weekly-calendar__event{position:relative!important;top:auto!important;left:auto!important;right:auto!important;height:auto!important;width:auto!important;margin:var(--space-1) var(--space-3);padding:var(--space-3);box-shadow:var(--shadow-xs);display:flex;justify-content:space-between;align-items:center;border-radius:var(--radius-md)}.weekly-calendar__event-name{font-weight:600;font-size:var(--font-size-sm)}.weekly-calendar__event-time{font-size:var(--font-size-xs);background:#ffffff4d;padding:2px 8px;border-radius:var(--radius-full);flex-shrink:0}.weekly-calendar__complete-btn{position:relative;top:auto;right:auto;width:36px;height:36px;margin-left:var(--space-2)}.appointment-tooltip{position:fixed;top:50%!important;left:50%!important;transform:translate(-50%,-50%);width:90%;max-width:320px}}.weekly-calendar__mobile-header{display:none}@media(max-width:768px){.weekly-calendar__mobile-header{display:flex}}.clients{display:flex;flex-direction:column;gap:var(--space-6)}.clients__toolbar{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.clients__search{position:relative;flex:1;min-width:200px;max-width:400px}.clients__search-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.clients__search .input{padding-left:calc(var(--space-3) + 20px + var(--space-2))}.clients__count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.clients__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.client-card{padding:var(--space-5);display:flex;align-items:center;gap:var(--space-4);cursor:pointer;transition:all var(--transition-base);text-decoration:none}.client-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary-light)}.client-card__avatar{width:48px;height:48px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-size-md);font-weight:700;flex-shrink:0;letter-spacing:.02em}.client-card__info{flex:1;min-width:0}.client-card__name{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.client-card__meta{font-size:var(--font-size-xs);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-2)}.client-card__arrow{color:var(--color-text-muted);transition:all var(--transition-fast);flex-shrink:0}.client-card:hover .client-card__arrow{color:var(--color-primary);transform:translate(2px)}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}.modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:420px;padding:var(--space-8);animation:fadeIn .2s ease}.modal__title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-6)}.modal__field{margin-bottom:var(--space-5)}.modal__label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.modal__actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6)}.clients__empty{text-align:center;padding:var(--space-16);color:var(--color-text-muted)}.clients__empty-icon{margin-bottom:var(--space-4);color:var(--color-border)}.clients__empty-text{font-size:var(--font-size-md);font-weight:500}@media(max-width:768px){.clients__toolbar{flex-direction:column;align-items:stretch;gap:var(--space-3)}.clients__search{max-width:none;min-width:auto}.clients__toolbar>.btn{align-self:stretch;justify-content:center;padding:var(--space-3);font-size:var(--font-size-base)}.clients__grid{grid-template-columns:1fr}.client-card{padding:var(--space-4)}.modal{width:92%;max-width:none;padding:var(--space-5)}.modal__actions{flex-direction:column-reverse}.modal__actions button{width:100%;padding:var(--space-3);justify-content:center}}.client-detail{display:flex;flex-direction:column;gap:var(--space-6)}.client-detail__back{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);transition:color var(--transition-fast);margin-bottom:var(--space-2)}.client-detail__back:hover{color:var(--color-primary)}.client-detail__header-row{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:var(--space-4);align-items:stretch}.client-detail__header{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6)}.client-detail__header--name{min-width:0}.client-detail__avatar{width:56px;height:56px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--font-size-lg);font-weight:700;flex-shrink:0}.client-detail__name{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary)}.client-detail__info{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;flex:1;position:relative}.client-detail__meta-rows{display:flex;flex-wrap:wrap;gap:var(--space-2)}.client-detail__meta-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:var(--radius-full);background:var(--color-surface-hover);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.client-detail__meta-tag--fee{background:#6c5ce71a;color:var(--color-primary);font-weight:600}.client-detail__fee-edit{position:absolute;top:0;right:0;width:28px;height:28px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.client-detail__fee-edit:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:scale(1.1);box-shadow:var(--shadow-sm)}.modal-section{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-light)}.modal-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.modal-section__title-group{display:flex;align-items:center;gap:var(--space-2)}.modal-section__icon{color:var(--color-primary)}.modal-section__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.modal-form__row-triple{display:grid;grid-template-columns:1.2fr 1fr .6fr;gap:var(--space-3)}.modal-form__row-triple .modal-form__row{margin-bottom:0}.modal-form__row-inline{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.modal-toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);margin:var(--space-3) var(--space-6) 0;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;animation:toast-slide-in .25s ease-out}.modal-toast--error{background:#e74c3c14;color:var(--color-danger);border:1px solid rgba(231,76,60,.2)}.modal-toast__close{margin-left:auto;background:transparent;border:none;color:inherit;cursor:pointer;padding:2px;border-radius:var(--radius-sm);display:flex;align-items:center;opacity:.6;transition:opacity var(--transition-fast)}.modal-toast__close:hover{opacity:1}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.btn-clear-inline{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px 10px;border-radius:var(--radius-md);border:1px solid var(--color-danger);background:transparent;color:var(--color-danger);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-clear-inline:hover{background:var(--color-danger);color:#fff}.fee-history{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-light)}.fee-history__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-3)}.fee-history__empty{text-align:center;padding:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.fee-history__list{display:flex;flex-direction:column;gap:0;max-height:240px;overflow-y:auto;padding-right:var(--space-2)}.fee-history__item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;position:relative}.fee-history__item:not(:last-child):after{content:"";position:absolute;left:5px;top:calc(var(--space-3) + 12px);bottom:0;width:2px;background:var(--color-border-light)}.fee-history__dot{width:12px;height:12px;border-radius:var(--radius-full);background:var(--color-primary);flex-shrink:0;margin-top:3px;box-shadow:0 0 0 3px var(--color-primary-bg, rgba(108, 92, 231, .15))}.fee-history__content{flex:1;min-width:0}.fee-history__change{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:500}.fee-history__old{color:var(--color-text-muted);text-decoration:line-through}.fee-history__arrow{color:var(--color-text-muted);font-size:var(--font-size-xs)}.fee-history__new{color:var(--color-primary);font-weight:600}.fee-history__meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.mobile-actions{display:none}.client-detail-container{padding:var(--space-6);max-width:1200px;margin:0 auto}.detail-stat{padding:var(--space-5);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-1)}.detail-stat__icon{color:var(--color-primary);margin-bottom:var(--space-1)}.detail-stat__value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);line-height:1}.detail-stat__value--primary{color:var(--color-primary)}.detail-stat__label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.client-detail__tabs{display:flex;gap:var(--space-1);background:var(--color-surface-hover);padding:3px;border-radius:var(--radius-md);width:fit-content;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.client-detail__tabs::-webkit-scrollbar{display:none}.client-detail__tab{padding:var(--space-2) var(--space-5);border-radius:calc(var(--radius-md) - 2px);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-2)}.client-detail__tab:hover{color:var(--color-text-primary)}.client-detail__tab--active{background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.payment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.payment-summary__card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4)}.payment-summary__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.payment-summary__value{font-size:var(--font-size-xl);font-weight:700;font-variant-numeric:tabular-nums}.payment-summary__value--green{color:var(--color-success)}.payment-summary__value--red{color:var(--color-danger)}.payment-summary__value--orange{color:#e67e22}.payment-summary__hint{display:block;font-size:.7rem;color:var(--color-success);font-weight:500;margin-top:4px;line-height:1.3}.detail-table__toolbar{display:flex;justify-content:flex-end;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light)}.detail-table td{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.detail-table__id{font-weight:600;color:var(--color-primary);white-space:nowrap}.btn-complete-quick{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-full);border:none;background:#27ae601f;color:#27ae60;cursor:pointer;transition:all var(--transition-fast);padding:0;flex-shrink:0}.btn-complete-quick:hover{background:#27ae60;color:#fff;box-shadow:0 2px 6px #27ae6059;transform:scale(1.1)}.th--action{width:40px;text-align:center;padding:var(--space-2)!important}.btn-add-inline{width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast);cursor:pointer;border:none;flex-shrink:0}.btn-add-inline:hover{background:var(--color-primary-dark, #5a4bd1);transform:scale(1.1);box-shadow:var(--shadow-sm)}.fee-box{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.fee-box--green{background:#00b89414;color:var(--color-success);box-shadow:0 0 0 1.5px #00b8944d}.fee-box--red{background:#d6303114;color:var(--color-danger);box-shadow:0 0 0 1.5px #d630314d}.fee-box--yellow{background:#fdcb6e26;color:#d4a017;box-shadow:0 0 0 1.5px #d4a0174d}.detail-empty{text-align:center;padding:var(--space-12);color:var(--color-text-muted);font-size:var(--font-size-sm)}.client-not-found{text-align:center;padding:var(--space-16)}.client-not-found__icon{color:var(--color-border);margin-bottom:var(--space-4)}.client-not-found__title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-2)}.client-not-found__text{color:var(--color-text-muted);margin-bottom:var(--space-6)}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .15s ease}.modal-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}.modal-card__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border-light)}.modal-card__title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}.modal-card__close{color:var(--color-text-muted);transition:color var(--transition-fast);padding:var(--space-1);border-radius:var(--radius-sm)}.modal-card__close:hover{color:var(--color-text-primary);background:var(--color-surface-hover)}.modal-card__body{padding:var(--space-5) var(--space-6)}.modal-card__footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border-light);gap:var(--space-3)}.modal-card__footer-right{display:flex;gap:var(--space-2);margin-left:auto}.modal-form{display:flex;flex-direction:column;gap:var(--space-4)}.modal-form__row{display:flex;flex-direction:column;gap:var(--space-1)}.modal-form__row label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.modal-form__row input,.modal-form__row select,.modal-form__row textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;background:var(--color-surface);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.modal-form__row input:focus,.modal-form__row select:focus,.modal-form__row textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.modal-form__row input:disabled{background:var(--color-surface-hover);color:var(--color-text-muted);cursor:not-allowed}.modal-form__hint{font-size:11px;color:var(--color-text-muted);font-style:italic}.btn--sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.btn--danger{background:var(--color-danger);color:#fff;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-fast)}.btn--danger:hover{opacity:.9;transform:translateY(-1px)}.btn--danger-waiting{background:#ef9a9a;color:#fff;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;opacity:.8;cursor:not-allowed}.btn--danger-confirm{background:#b71c1c;color:#fff;display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;animation:pulse-danger .8s ease-in-out infinite alternate}@keyframes pulse-danger{0%{box-shadow:0 0 #b71c1c66}to{box-shadow:0 0 0 6px #b71c1c00}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.client-detail{gap:var(--space-4)}.client-detail__header-row{grid-template-columns:1fr;gap:var(--space-3)}.client-detail__header{padding:var(--space-4);gap:var(--space-3)}.client-detail__avatar{width:44px;height:44px;font-size:var(--font-size-base)}.client-detail__name{font-size:var(--font-size-lg)}.client-detail__meta-tag{font-size:var(--font-size-xs);padding:3px 8px}.payment-summary{grid-template-columns:1fr;gap:var(--space-2)}.payment-summary__card{padding:var(--space-3)}.payment-summary__value{font-size:var(--font-size-lg)}.client-detail__tabs{width:100%}.client-detail__tab{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);white-space:nowrap;flex-shrink:0}.mobile-actions{display:block;margin-bottom:var(--space-4)}.btn--full{width:100%;justify-content:center;padding:var(--space-3)}.detail-table{overflow:visible}.detail-table table{min-width:100%;display:block}.detail-table thead{display:none}.detail-table tbody{display:flex;flex-direction:column;gap:var(--space-2)}.detail-table tr{display:block;position:relative;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-4);padding-bottom:var(--space-3);box-shadow:var(--shadow-xs)}.detail-table td{display:block;padding:0;border:none;text-align:left;min-height:auto;color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-2)}.detail-table td:before{display:none}.detail-table td[data-label=Tarih]{font-weight:600;color:var(--color-text-primary);font-size:var(--font-size-md);margin-bottom:var(--space-3);padding-right:100px}.detail-table td[data-label=Durum],.detail-table td[data-label=Tutar]{position:absolute;top:var(--space-4);right:var(--space-4);margin:0;width:auto;justify-content:flex-end;display:flex;font-weight:600}.detail-table td[data-label=Tutar]{color:var(--color-text-primary);font-size:var(--font-size-md)}.detail-table td[data-label=Saat],.detail-table td[data-label=Süre],.detail-table td[data-label=Ücret],.detail-table td[data-label=Hesap]{display:inline-flex;align-items:center;gap:6px;background:var(--color-bg-subtle);padding:4px 8px;border-radius:var(--radius-sm);margin-right:var(--space-2);color:var(--color-text-primary);font-weight:500}.detail-table td[data-label=Hesap]{background:var(--color-primary-light);color:var(--color-primary)}.detail-table td[data-label=Not],.detail-table td[data-label=Açıklama],.detail-table td[data-label="Görüşme(ler)"]{width:100%;font-size:var(--font-size-sm);color:var(--color-text-muted);border-top:1px solid var(--color-border-light);padding-top:var(--space-2);margin-top:var(--space-2);font-style:italic}.detail-table td[data-label="#"],.detail-table__action{display:none!important}.modal-overlay{align-items:flex-end}.modal-card{width:100%!important;max-width:none!important;margin:0;max-height:92vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:slideUpModal .3s ease}.modal-card__header{padding:var(--space-4);position:sticky;top:0;background:var(--color-surface);z-index:1}.modal-card__body{padding:var(--space-4)}.modal-card__footer{flex-direction:column-reverse;align-items:stretch;gap:var(--space-2);padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));position:sticky;bottom:0;background:var(--color-surface);border-top:1px solid var(--color-border-light)}.modal-card__footer-right{width:100%;display:flex;gap:var(--space-2)}.modal-card__footer-right button{flex:1;min-height:44px;justify-content:center}.modal-card__footer>button{width:100%;justify-content:center;min-height:44px}.detail-pagination{padding:var(--space-2) var(--space-4)}}@keyframes slideUpModal{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-toast{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:1.4}.modal-toast--error{background:#e74c3c0f;color:var(--color-danger);border:1px solid rgba(231,76,60,.15)}.modal-toast svg{flex-shrink:0;margin-top:1px}.modal-alloc-section{margin-top:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.modal-alloc-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.modal-alloc-section__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.modal-alloc-section__total{font-size:var(--font-size-sm);font-weight:600;color:var(--color-danger);font-variant-numeric:tabular-nums}.modal-alloc-section__total--balanced{color:var(--color-success)}.modal-alloc-section__empty{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-4)}.modal-alloc-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:240px;overflow-y:auto}.modal-alloc-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all var(--transition-fast)}.modal-alloc-item--selected{border-color:var(--color-primary-light);background:#6c5ce70a}.modal-alloc-item__check{flex-shrink:0;cursor:pointer}.modal-alloc-item__check input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.modal-alloc-item__info{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:2px}.modal-alloc-item__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.modal-alloc-item__meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.modal-alloc-item__amount{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.modal-alloc-item__full-toggle{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.modal-alloc-item__full-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-primary)}.modal-alloc-item__input{width:80px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);text-align:right;font-variant-numeric:tabular-nums}.modal-alloc-item__input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #6c5ce726}.modal-form__payment-info{display:flex;flex-direction:column;gap:var(--space-2)}.modal-form__paid-amount{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.modal-form__paid-amount--full{color:var(--color-success)}.modal-form__allocation-list{display:flex;flex-wrap:wrap;gap:var(--space-1)}.modal-form__allocation-tag{font-size:var(--font-size-xs);padding:2px var(--space-2);background:#6c5ce714;color:var(--color-primary);border-radius:var(--radius-sm);white-space:nowrap}.modal-card__footer-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-right:auto;align-self:center;font-style:italic}.payment-alloc-tags{display:inline-flex;flex-wrap:wrap;gap:4px}.payment-alloc-tag{font-size:var(--font-size-xs);padding:1px 6px;background:#6c5ce714;color:var(--color-primary);border-radius:var(--radius-sm);font-weight:500;white-space:nowrap}.payment-status-cell{display:inline-flex;align-items:center;gap:var(--space-2)}.payment-badge{display:inline-block;font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:.02em}.payment-badge--green{background:#27ae601a;color:#27ae60;box-shadow:0 1px 3px #27ae602e}.payment-badge--red{background:#e74c3c14;color:#e74c3c;box-shadow:0 1px 3px #e74c3c2e}.payment-badge--yellow{background:#f39c121a;color:#e67e22;box-shadow:0 1px 3px #f39c122e}.payment-badge--muted{background:#0000000a;color:var(--color-text-muted);box-shadow:0 1px 3px #0000000f}.payment-status-cell__fee{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.detail-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-6);border-top:1px solid var(--color-border-light);background:var(--color-bg-base);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.detail-pagination__info{font-size:var(--font-size-sm);color:var(--color-text-muted)}.detail-pagination__controls{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface);padding:var(--space-1);border-radius:var(--radius-full);box-shadow:0 1px 3px #0000000d;border:1px solid var(--color-border-light)}.detail-pagination__page{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-main);padding:0 var(--space-2);min-width:48px;text-align:center;font-variant-numeric:tabular-nums}.detail-pagination__controls .btn-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:16px;transition:all var(--transition-fast)}.detail-pagination__controls .btn-icon:hover:not(:disabled){background:#6c5ce714;color:var(--color-primary)}.detail-pagination__controls .btn-icon:disabled{opacity:.3;cursor:not-allowed}.accounting-page{max-width:1400px;margin:0 auto}.accounting-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.date-filter-wrapper{display:flex;align-items:center;gap:var(--space-2)}.date-filter-group{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm)}.date-input-wrapper{display:flex;align-items:center;gap:var(--space-2);position:relative}.date-icon{color:var(--color-text-muted)}.date-input{border:none;background:transparent;font-size:var(--font-size-sm);color:var(--color-text-primary);outline:none;cursor:pointer;font-family:inherit}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0;position:absolute;right:0;top:0;bottom:0;width:100%;height:100%}.clear-dates-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:500;color:var(--color-danger);background:var(--color-danger-bg);border-radius:var(--radius-md);transition:all var(--transition-fast)}.clear-dates-btn:hover{opacity:.8}.date-quick-btns{display:flex;gap:var(--space-2)}.date-quick-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-full);color:var(--color-text-secondary);background:var(--color-surface-hover);border:1px solid var(--color-border-light);transition:all var(--transition-fast)}.date-quick-btn:hover{background:var(--color-primary-bg);color:var(--color-primary);border-color:var(--color-primary)}.date-quick-btn--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.date-quick-btn--active:hover{background:var(--color-primary);color:#fff}.total-assets-card{display:flex;align-items:center;gap:var(--space-4);background:linear-gradient(135deg,var(--color-success),#00b894);color:#fff;padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%}.total-assets-icon{width:48px;height:48px;background:#fff3;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.total-assets-label{font-size:var(--font-size-sm);opacity:.9;margin-bottom:2px}.total-assets-value{font-size:var(--font-size-2xl);font-weight:700;line-height:1}.accounting-content{display:flex;gap:var(--space-8);align-items:flex-start}.accounting-left{flex:0 0 32%;display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.accounting-right{flex:1;min-width:0;overflow-x:auto;position:sticky;top:var(--space-6)}.accounts-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.account-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-fast);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.account-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border)}.account-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.account-card__name{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.account-card__delete{padding:var(--space-2);color:var(--color-text-muted);border-radius:var(--radius-md);transition:all var(--transition-fast);opacity:0}.account-card:hover .account-card__delete{opacity:1}.account-card__delete:hover{background:var(--color-danger-bg);color:var(--color-danger)}.account-card__body{margin-top:auto}.account-card__amount{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-primary);margin-bottom:var(--space-2);font-variant-numeric:tabular-nums}.account-card__desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}@media(max-width:768px){.accounting-header{flex-direction:column;align-items:stretch}.date-filter-wrapper{flex-direction:column;align-items:stretch;gap:var(--space-3)}.date-filter-group{flex-direction:column;align-items:stretch;gap:var(--space-2)}.date-input-wrapper,.date-input{width:100%}.date-quick-btns{flex-wrap:wrap}.date-quick-btn{flex:1;text-align:center;min-width:0}.stats-row{flex-direction:column}.total-assets-card{width:100%;padding:var(--space-3) var(--space-4)}.total-assets-icon{width:40px;height:40px}.total-assets-value{font-size:var(--font-size-xl)}.total-assets-label{font-size:var(--font-size-xs)}.account-card__action-btn{opacity:1}.account-card{padding:var(--space-4)}.account-card__amount{font-size:var(--font-size-xl)}}.stats-row{display:flex;flex-direction:column;gap:var(--space-4)}.total-receivables-card{background:linear-gradient(135deg,#ff7675,#fab1a0)}.receivables-icon{background:#ffffff4d}.account-card__actions{display:flex;gap:var(--space-2)}.account-card__action-btn{padding:var(--space-2);color:var(--color-text-muted);border-radius:var(--radius-md);transition:all var(--transition-fast);opacity:0;cursor:pointer;background:transparent;border:none}.account-card:hover .account-card__action-btn{opacity:1}.account-card__action-btn:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.delete-btn:hover{background:var(--color-danger-bg);color:var(--color-danger)}.edit-btn:hover{background:var(--color-primary-bg);color:var(--color-primary)}.payments-panel{display:flex;flex-direction:column;height:calc(100vh - 200px);max-height:800px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.payments-panel__header{padding:var(--space-4);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.payments-panel__title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0}.payments-panel__body{flex:1;overflow-y:auto;padding:0}.payments-list{display:flex;flex-direction:column}.payment-item{padding:var(--space-4);border-bottom:1px solid var(--color-border-light);transition:background-color var(--transition-fast)}.payment-item:last-child{border-bottom:none}.payment-item:hover{background-color:var(--color-bg-secondary)}.payment-item__main{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.payment-item__client{font-weight:600;color:var(--color-text-primary)}.payment-item__amount{font-weight:700;color:var(--color-success);font-variant-numeric:tabular-nums}.payment-item__details{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.payment-item__account{background:var(--color-primary-bg);color:var(--color-primary);padding:2px 6px;border-radius:var(--radius-sm);font-weight:500}.payment-item__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic;background:var(--color-surface);padding:var(--space-2);border-radius:var(--radius-md);margin-top:var(--space-2);border:1px dashed var(--color-border)}.payments-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center;min-height:260px;animation:emptyFadeIn .5s ease-out}.payments-empty-state__icon{width:80px;height:80px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-bg),rgba(99,102,241,.12));display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);color:var(--color-primary);opacity:.7}.payments-empty-state__title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--space-2) 0}.payments-empty-state__desc{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;max-width:220px;line-height:1.5}@keyframes emptyFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.accounting-content{flex-direction:column}.accounting-right{width:100%;position:static;min-width:auto}.payments-panel{height:500px}}.detail-table{overflow:hidden}.detail-table table{width:100%;border-collapse:collapse}.detail-table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-hover)}.detail-table td{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.detail-table tr:last-child td{border-bottom:none}.detail-table__row--clickable{cursor:pointer;transition:background var(--transition-fast)}.detail-table__row--clickable:hover{background:var(--color-surface-hover)}.detail-table__date{color:var(--color-text-secondary);white-space:nowrap}.detail-table__amount{font-weight:600;font-variant-numeric:tabular-nums}.detail-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.detail-pagination__info{font-size:var(--font-size-xs);color:var(--color-text-muted)}.detail-pagination__controls{display:flex;align-items:center;gap:var(--space-2)}.detail-pagination__page{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary);min-width:40px;text-align:center}.audit-logs{max-width:800px;margin:0 auto}.audit-logs__list{display:flex;flex-direction:column;gap:var(--space-3)}.audit-logs__empty{text-align:center;padding:var(--space-8);color:var(--color-text-muted);font-size:.95rem}.audit-log{padding:var(--space-4) var(--space-5);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.audit-log:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.audit-log__header{display:flex;align-items:flex-start;gap:var(--space-4)}.audit-log__icon{flex-shrink:0;width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-top:2px}.audit-log__icon--create{background:#34c75926;color:#34c759}.audit-log__icon--update{background:#5a67d826;color:var(--color-primary)}.audit-log__icon--delete{background:#ff3b3026;color:#ff3b30}.audit-log__content{flex:1;min-width:0}.audit-log__message{margin:0;font-size:.9rem;line-height:1.5;color:var(--color-text);word-break:break-word}.audit-log__username{font-weight:600;color:var(--color-primary)}.audit-log__client-name{font-weight:600;color:#e07c24}.audit-log__details{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface-elevated, rgba(0, 0, 0, .02));border-radius:var(--radius-sm);border-left:3px solid var(--color-border)}.audit-log__detail-row{display:flex;align-items:baseline;gap:6px;font-size:.82rem;line-height:1.7;color:var(--color-text-muted)}.audit-log__field-label{font-weight:600;color:var(--color-text-secondary, #555);white-space:nowrap}.audit-log__field-value{color:var(--color-text)}.audit-log__old-value{color:#c0392b;text-decoration:line-through;opacity:.75}.audit-log__arrow{color:var(--color-text-muted);font-size:.75rem}.audit-log__new-value{color:#27ae60;font-weight:500}.audit-log__meta{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-2);font-size:.78rem;color:var(--color-text-muted)}.audit-log__model{display:flex;align-items:center;gap:4px;text-transform:capitalize}.audit-log__time{opacity:.8}.audit-logs__pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-6);padding:var(--space-4) 0}.audit-logs__page-info{font-size:.9rem;color:var(--color-text-muted);min-width:60px;text-align:center}@media(max-width:768px){.audit-logs{max-width:none}.audit-logs__list{gap:var(--space-2)}.audit-log{padding:var(--space-3) var(--space-4)}.audit-log__header{gap:var(--space-3)}.audit-log__icon{width:28px;height:28px}.audit-log__icon svg{width:14px;height:14px}.audit-log__message{font-size:.82rem}.audit-log__detail-row{flex-wrap:wrap;font-size:.78rem;gap:4px}.audit-log__meta{gap:var(--space-2);font-size:.72rem;flex-wrap:wrap}.audit-logs__pagination{gap:var(--space-2)}.audit-logs__pagination .btn{min-width:44px;min-height:44px;padding:var(--space-2)}.audit-logs__page-info{font-size:.82rem}}.recurring-sessions{display:flex;flex-direction:column;gap:var(--space-5)}.recurring-sessions__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;color:var(--color-text-muted)}.recurring-sessions__empty h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-secondary)}.recurring-sessions__empty p{font-size:var(--font-size-sm);max-width:320px}.recurring-toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:500;animation:toast-slide-in .3s ease-out}.recurring-toast--error{background:#e74c3c0f;color:var(--color-danger);border:1px solid rgba(231,76,60,.15)}.recurring-toast--success{background:#2ecc710f;color:var(--color-success, #27ae60);border:1px solid rgba(46,204,113,.2)}.recurring-toast__body{flex:1}.recurring-toast__details{margin:var(--space-2) 0 0;padding-left:var(--space-4);font-size:var(--font-size-xs);opacity:.85;list-style:disc}.recurring-toast__details li{margin-bottom:2px}.recurring-toast__close{margin-left:auto;background:transparent;border:none;color:inherit;cursor:pointer;padding:2px;border-radius:var(--radius-sm);display:flex;align-items:center;opacity:.5;transition:opacity var(--transition-fast);flex-shrink:0}.recurring-toast__close:hover{opacity:1}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.recurring-sessions__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);flex-wrap:wrap}.recurring-sessions__actions-left{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.recurring-sessions__week-select{display:flex;align-items:center;gap:var(--space-2)}.recurring-sessions__week-select label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.recurring-sessions__week-select select{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--font-size-sm);color:var(--color-text-primary);min-width:240px}.recurring-sessions__bulk-btns{display:flex;gap:var(--space-2)}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);gap:var(--space-1)}.recurring-sessions__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.recurring-client-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);cursor:pointer;transition:all var(--transition-base);border:2px solid transparent;-webkit-user-select:none;user-select:none}.recurring-client-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary-light)}.recurring-client-card--selected{border-color:var(--color-primary);background:#6c5ce70a}.recurring-client-card__check{flex-shrink:0;color:var(--color-text-muted);display:flex;align-items:center}.recurring-client-card__check-icon--active{color:var(--color-primary)}.recurring-client-card__info{flex:1;min-width:0}.recurring-client-card__name{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.recurring-client-card__details{display:flex;flex-wrap:wrap;gap:var(--space-2)}.recurring-client-card__tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);background:var(--color-surface-hover);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-secondary);white-space:nowrap}@media(max-width:768px){.recurring-sessions__list{grid-template-columns:1fr}.recurring-sessions__actions{flex-direction:column;align-items:stretch;padding:var(--space-3) var(--space-4)}.recurring-sessions__actions-left{flex-direction:column;align-items:stretch;gap:var(--space-3)}.recurring-sessions__week-select{flex-direction:column;align-items:stretch;gap:var(--space-2)}.recurring-sessions__week-select select{min-width:auto;width:100%}.recurring-sessions__bulk-btns{flex-direction:column}.recurring-sessions__bulk-btns .btn{width:100%;justify-content:center;padding:var(--space-3)}.recurring-client-card{padding:var(--space-3) var(--space-4)}.recurring-client-card__tag{font-size:10px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f8fafc;background-image:radial-gradient(#e2e8f0 1px,transparent 1px);background-size:24px 24px;padding:1rem}.login-card{width:100%;max-width:400px;background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:3rem 2.5rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;animation:loginFadeIn .8s cubic-bezier(.16,1,.3,1)}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-card__header{text-align:center;margin-bottom:2.5rem}.login-card__logo{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--color-primary-bg);color:var(--color-primary);margin-bottom:1.5rem}.login-card__title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin:0;letter-spacing:-.025em}.login-card__subtitle{font-size:.875rem;color:var(--color-text-secondary);margin:.5rem 0 0}.login-card__form{display:flex;flex-direction:column;gap:1.5rem}.login-card__error{display:flex;align-items:center;gap:.75rem;padding:.875rem;background:#fef2f2;border:1px solid #fee2e2;border-radius:12px;color:#ef4444;font-size:.875rem;font-weight:500}.login-card__field{display:flex;flex-direction:column;gap:.5rem}.login-card__label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.login-card__input{width:100%;padding:.875rem 1rem;background:#fff;border:1px solid #cbd5e1;border-radius:12px;color:var(--color-text-primary);font-size:.95rem;transition:all .2s ease;outline:none}.login-card__input::placeholder{color:var(--color-text-muted)}.login-card__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.login-card__submit{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;margin-top:.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.login-card__submit:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6c5ce733}.login-card__submit:active:not(:disabled){transform:translateY(0)}.login-card__submit:disabled{opacity:.7;cursor:not-allowed}.login-card__spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:480px){.login-card{padding:2rem;background:transparent;border:none;box-shadow:none}.login-page{background:#fff}}
