@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap";:root{--font-family: "Inter", system-ui, -apple-system, sans-serif;--bg-primary: #09090b;--bg-secondary: rgba(15, 15, 20, .4);--bg-card: rgba(15, 15, 20, .6);--bg-card-hover: rgba(25, 25, 30, .8);--bg-glass: rgba(9, 9, 11, .7);--bg-input: rgba(255, 255, 255, .03);--bg-input-focus: rgba(255, 255, 255, .05);--border-color: #2A2C30;--border-color-hover: #3A3C40;--border-color-focus: #00A3FF;--text-primary: #FAFAFA;--text-secondary: #d1d5db;--text-muted: #9ca3af;--accent: #FAFAFA;--accent-hover: #d1d5db;--accent-glow: rgba(0, 163, 255, .15);--success: #10B981;--warning: #F59E0B;--danger: #EF4444;--space-xs: 6px;--space-sm: 12px;--space-md: 24px;--space-lg: 36px;--space-xl: 48px;--space-2xl: 64px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 9999px;--shadow-sm: 0 4px 12px rgba(0, 0, 0, .5);--shadow-md: 0 8px 32px rgba(0, 0, 0, .6);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .8), 0 0 40px var(--accent-glow);--shadow-glow: 0 0 24px var(--accent-glow);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 280px;--sidebar-collapsed: 88px}*,*: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:var(--bg-primary);background-image:radial-gradient(circle at 50% 0%,rgba(0,163,255,.06) 0%,transparent 60%);background-attachment:fixed;color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}#root{display:flex;min-height:100vh}::-webkit-scrollbar{width:8px;height:10px}::-webkit-scrollbar-track{background:var(--bg-card);border-radius:var(--radius-full);margin:var(--space-xs)}::-webkit-scrollbar-thumb{background:var(--border-color-hover);border-radius:var(--radius-full);border:2px solid var(--bg-card)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-layout{display:flex;width:100%;position:relative;z-index:1}.main-content{flex:1;margin-left:var(--sidebar-width);padding:var(--space-md) var(--space-xl);min-height:100vh;transition:margin-left var(--transition-base);max-width:calc(100vw - var(--sidebar-width))}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:var(--space-xl) var(--space-lg);z-index:100;transition:width var(--transition-base)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);padding:0 var(--space-sm)}.sidebar-logo-icon{width:32px;height:32px;background:var(--text-primary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--bg-primary)}.sidebar-logo h1{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--text-primary)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-sm);flex:1}.sidebar-link{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);color:var(--text-secondary);text-decoration:none;font-size:1rem;font-weight:500;transition:all var(--transition-fast)}.sidebar-link:hover{color:var(--text-primary);background:#fff6}.sidebar-link.active{color:var(--text-primary);background:var(--bg-card-hover);box-shadow:inset 0 0 0 1px var(--border-color-focus)}.sidebar-link-icon{font-size:1.1rem;width:24px;text-align:center;flex-shrink:0;filter:grayscale(1) opacity(.7);transition:all var(--transition-fast)}.sidebar-link.active .sidebar-link-icon,.sidebar-link:hover .sidebar-link-icon{filter:none}.sidebar-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);padding:var(--space-lg) var(--space-md) var(--space-sm);margin-top:var(--space-md)}.page-header{margin-bottom:var(--space-xl)}.page-header h2{font-size:1.8rem;font-weight:500;letter-spacing:-.04em;margin-bottom:var(--space-xs);color:var(--text-primary)}.page-header p{color:var(--text-secondary);font-size:1.05rem;font-weight:300}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:0 0 24px #00a3ff0d;border-color:var(--border-color-hover);transform:translateY(-2px)}.card-glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.stat-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg);position:relative;overflow:hidden;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.stat-card:before{content:"";position:absolute;top:-20px;right:-20px;width:80px;height:80px;border-radius:var(--radius-full);background:var(--stat-accent, var(--accent));opacity:.08;transition:transform var(--transition-base)}.stat-card:hover:before{transform:scale(1.5);opacity:.12}.stat-card-label{font-size:.85rem;color:var(--text-secondary);font-weight:500;letter-spacing:.02em;margin-bottom:var(--space-sm)}.stat-card-value{font-size:2.5rem;font-weight:400;letter-spacing:-.04em;line-height:1.1;color:var(--text-primary)}.stat-card-sub{font-size:.85rem;color:var(--text-muted);margin-top:var(--space-sm)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-full);font-family:var(--font-family);font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap}.btn-primary{background:var(--accent);color:#09090b;box-shadow:0 0 16px #fafafa1a}.btn-primary:hover{background:#fff;transform:translateY(-1px);box-shadow:0 0 24px #fafafa33}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-color);box-shadow:none}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-color-hover)}.btn-danger{background:#fff5f4;color:var(--danger);border:1px solid rgba(181,101,92,.2)}.btn-danger:hover{background:#ece8e6}.btn-sm{padding:4px 12px;font-size:.85rem}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-xs);letter-spacing:.02em}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:1rem;transition:all var(--transition-fast);outline:none;box-shadow:inset 0 1px 2px #00000005}.custom-datepicker{position:relative}.datepicker-trigger{border:1px solid var(--border-color);background:var(--bg-input);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:all var(--transition-fast)}.datepicker-trigger:hover,.datepicker-trigger.active{border-color:var(--border-color-focus)}.datepicker-trigger.active{box-shadow:0 0 0 1px var(--border-color-focus),0 0 12px var(--accent-glow)}.datepicker-popup{animation:fadeIn .15s ease-out}.datepicker-day{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);font-size:.85rem;cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary);margin:0 auto}.datepicker-day:hover{background:var(--bg-hover);color:var(--text-primary)}.datepicker-day.other-month{color:var(--text-muted);opacity:.5}.datepicker-day.today{color:var(--accent);font-weight:700;border:1px solid var(--accent)}.datepicker-day.selected{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-color-focus);background:#ffffff0d;box-shadow:0 0 0 1px var(--border-color-focus),0 0 12px var(--accent-glow)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%238C998F' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-right:48px}.form-textarea{min-height:100px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.modal-overlay{position:fixed;inset:0;background:#2c2c2a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-fast) ease}.modal{background:var(--bg-primary);border:none;border-radius:var(--radius-xl);padding:var(--space-2xl);width:90%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:modalSpring var(--transition-slow)}@keyframes modalSpring{0%{opacity:0;transform:scale(.95) translateY(10px)}50%{transform:scale(1.02) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.modal-header h3{font-size:1.5rem;font-weight:500;letter-spacing:-.02em}.modal-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-card);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-size:1.1rem;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary);transform:rotate(90deg)}.modal-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid rgba(0,0,0,.05)}.activity-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--radius-full);font-size:.85rem;font-weight:500;background:var(--badge-bg);color:var(--text-primary);border:1px solid var(--badge-border)}.activity-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.table-container{overflow-x:auto;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:var(--space-lg);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color);background:#ffffff05}.table td{padding:var(--space-md) var(--space-lg);font-size:.95rem;border-bottom:1px solid var(--border-color);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#ffffff08}.table-actions{display:flex;gap:var(--space-sm)}.matrix-container{overflow-x:auto;overflow-y:hidden;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);max-width:100%}.matrix-table{width:max-content;border-collapse:separate;border-spacing:0;min-width:100%}.matrix-table th,.matrix-table td{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);padding:0;text-align:center;min-width:32px;height:40px;position:relative}.matrix-table thead tr th{border-top:1px solid var(--border-color)}.matrix-table th:first-child,.matrix-table td:first-child{border-left:1px solid var(--border-color)}.matrix-table th{background:var(--bg-secondary);font-size:.75rem;font-weight:500;color:var(--text-secondary);padding:4px 2px}.matrix-table th.matrix-col-sticky,.matrix-table td.matrix-col-sticky{position:sticky;left:0;background:var(--bg-primary);z-index:2;text-align:left!important;padding:0 12px!important;min-width:150px;max-width:250px;font-size:.85rem;font-weight:500;box-shadow:2px 0 8px #0006}.matrix-table th.matrix-col-sticky{background:#151518;z-index:3}.matrix-input{width:100%;height:100%;border:none;background:transparent;text-align:center;font-family:var(--font-family);font-size:.8rem;color:var(--text-primary);outline:none;transition:background var(--transition-fast)}.matrix-input:hover{background:#00000005}.matrix-input:focus{background:var(--bg-primary);box-shadow:inset 0 0 0 2px var(--accent)}.matrix-input:disabled{color:var(--text-muted);cursor:not-allowed}.matrix-input::-webkit-outer-spin-button,.matrix-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.matrix-input[type=number]{appearance:textfield;-moz-appearance:textfield}.matrix-total-cell{background:#ffffff0a;font-weight:600;color:var(--text-primary)}.matrix-table tr:hover td:not(.matrix-col-sticky){background:#ffffff05}.matrix-cell-selected{background:var(--bg-primary)!important;box-shadow:inset 0 0 0 1px var(--border-color-focus)!important}.matrix-cell-selected input{background:transparent!important}.calendar{-webkit-user-select:none;user-select:none;background:var(--bg-card);padding:var(--space-md);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.calendar-header h3{font-size:1.5rem;font-weight:400;letter-spacing:-.02em;min-width:240px;text-align:center}.calendar-nav{display:flex;gap:var(--space-sm)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day-name{padding:var(--space-sm);text-align:center;font-size:.8rem;font-weight:500;color:var(--text-muted);margin-bottom:var(--space-sm)}.calendar-day{min-height:80px;padding:var(--space-sm);background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid transparent;position:relative;cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column}.calendar-day:hover{background:var(--bg-card-hover);border-color:var(--border-color);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.calendar-day.other-month{opacity:.4;background:transparent}.calendar-day.today{background:var(--bg-card-hover);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.calendar-day.today .calendar-day-number{color:var(--text-primary);font-weight:700}.calendar-day-number{font-size:1rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-sm)}.calendar-day-entries{display:flex;flex-direction:column;gap:4px}.calendar-entry{font-size:.75rem;padding:4px 8px;border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;display:flex;align-items:center;gap:6px}.calendar-day-total{position:absolute;top:var(--space-md);right:var(--space-md);font-size:.8rem;font-weight:600;color:var(--text-muted)}.recharts-text{fill:var(--text-secondary)!important;font-family:var(--font-family)}.toolbar{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap}.toolbar-spacer{flex:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-md);filter:grayscale(1) opacity(.3)}.empty-state h3{color:var(--text-primary);font-size:1.25rem;font-weight:500;margin-bottom:var(--space-sm)}.empty-state p{color:var(--text-secondary);font-size:1rem;max-width:300px}.toast-container{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:var(--space-sm)}.toast{padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-full);font-size:.95rem;font-weight:500;animation:slideUpFade var(--transition-base) ease;box-shadow:var(--shadow-md);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm)}.toast-success:before{content:"";display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);background:var(--success)}.toast-error:before{content:"";display:inline-block;width:8px;height:8px;border-radius:var(--radius-full);background:var(--danger)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:slideUpFade var(--transition-base) both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:50ms}.stagger>*:nth-child(3){animation-delay:.1s}.stagger>*:nth-child(4){animation-delay:.15s}.color-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--space-sm)}.color-swatch{width:36px;height:36px;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--transition-fast);box-shadow:inset 0 2px 4px #0000001a}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{transform:scale(1.1);box-shadow:0 0 0 3px var(--bg-primary),0 0 0 5px var(--border-color-focus)}@media(max-width:768px){.sidebar{width:var(--sidebar-collapsed);padding:var(--space-md) var(--space-sm);align-items:center}.sidebar-logo h1,.sidebar-link span,.sidebar-section-title,.sidebar>div>div:first-child{display:none}.sidebar-link{justify-content:center;padding:var(--space-sm);width:48px;height:48px}.main-content{margin-left:var(--sidebar-collapsed);max-width:calc(100vw - var(--sidebar-collapsed));padding:var(--space-lg)}.form-row{grid-template-columns:1fr}.calendar-day{min-height:80px;padding:var(--space-sm)}.calendar-grid{gap:4px}.calendar-entry{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}}
