:root{--bg-main: #0a0e17;--bg-surface: #111827;--bg-surface-elevated: #1a2234;--bg-surface-translucent: rgba(17, 24, 39, .75);--bg-overlay: rgba(5, 8, 15, .85);--border-subtle: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .14);--border-glow: rgba(99, 102, 241, .35);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--text-on-accent: #ffffff;--primary: #6366f1;--primary-hover: #4f46e5;--primary-glow: rgba(99, 102, 241, .25);--accent-personal: #06b6d4;--accent-personal-glow: rgba(6, 182, 212, .25);--accent-pro: #8b5cf6;--accent-pro-glow: rgba(139, 92, 246, .25);--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #3b82f6;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .55);--shadow-glow: 0 0 24px var(--primary-glow);--header-height: 64px;--sidebar-width: 280px;--sidebar-collapsed-width: 72px;--bottom-nav-height: 68px;--font-main: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-main: #f8fafc;--bg-surface: #ffffff;--bg-surface-elevated: #f1f5f9;--bg-surface-translucent: rgba(255, 255, 255, .85);--bg-overlay: rgba(15, 23, 42, .4);--border-subtle: rgba(0, 0, 0, .07);--border-medium: rgba(0, 0, 0, .14);--border-glow: rgba(99, 102, 241, .25);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 8px 20px rgba(0, 0, 0, .08);--shadow-lg: 0 16px 36px rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-main);background-color:var(--bg-main);color:var(--text-primary);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{display:flex;flex-direction:column}#root{min-height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.app-shell{display:flex;height:100vh;width:100vw;overflow:hidden;background-color:var(--bg-main);position:relative}.app-sidebar{width:var(--sidebar-width);height:100%;background:var(--bg-surface-translucent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;transition:width var(--transition-normal),transform var(--transition-normal);z-index:40;flex-shrink:0}.sidebar-header{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;border-bottom:1px solid var(--border-subtle)}.brand-logo{display:flex;align-items:center;gap:.75rem;font-weight:800;font-size:1.25rem;color:var(--text-primary);text-decoration:none;letter-spacing:-.02em}.brand-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--primary) 0%,#a855f7 100%);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px var(--primary-glow)}.sidebar-content{flex:1;overflow-y:auto;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.sidebar-footer{padding:1rem;border-top:1px solid var(--border-subtle);background:var(--bg-surface)}.btn-quick-create{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,var(--primary) 0%,#4f46e5 100%);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;cursor:pointer;box-shadow:0 4px 16px var(--primary-glow);transition:all var(--transition-fast)}.btn-quick-create:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.btn-quick-create:active{transform:translateY(0)}.workspace-selector{display:flex;padding:4px;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);gap:2px}.workspace-pill{flex:1;padding:.45rem .6rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;text-align:center;cursor:pointer;border:none;background:transparent;color:var(--text-secondary);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:.4rem}.workspace-pill.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.workspace-pill.active.scope-personal{color:var(--accent-personal);border-left:2px solid var(--accent-personal)}.workspace-pill.active.scope-pro{color:var(--accent-pro);border-left:2px solid var(--accent-pro)}.sidebar-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.6rem;display:flex;align-items:center;justify-content:space-between}.sidebar-list{list-style:none;display:flex;flex-direction:column;gap:.25rem}.sidebar-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .65rem;border-radius:var(--radius-sm);font-size:.88rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.sidebar-item:hover{background:var(--bg-surface-elevated);color:var(--text-primary)}.sidebar-item.active{background:var(--primary-glow);color:var(--primary);font-weight:600}.app-main{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.app-topbar{height:var(--header-height);background:var(--bg-surface-translucent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;gap:1rem;z-index:30}.topbar-left{display:flex;align-items:center;gap:1rem}.topbar-right{display:flex;align-items:center;gap:.75rem}.date-navigator{display:flex;align-items:center;gap:.5rem}.btn-today{padding:.45rem .9rem;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-today:hover{border-color:var(--primary);color:var(--primary)}.nav-arrow-btn{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.nav-arrow-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.current-date-title{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;color:var(--text-primary);margin-left:.5rem;min-width:170px}.view-switcher{display:flex;background:var(--bg-surface-elevated);padding:3px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.view-btn{padding:.4rem .85rem;font-size:.82rem;font-weight:600;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.view-btn:hover{color:var(--text-primary)}.view-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px var(--primary-glow)}.search-box{display:flex;align-items:center;gap:.5rem;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);padding:.4rem .8rem;border-radius:var(--radius-md);color:var(--text-secondary);width:220px;transition:all var(--transition-fast)}.search-box:focus-within{border-color:var(--primary);width:280px;box-shadow:0 0 0 3px var(--primary-glow)}.search-input{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.85rem;width:100%}.search-input::placeholder{color:var(--text-muted)}.calendar-view-container{flex:1;overflow-y:auto;padding:1rem 1.5rem;display:flex;flex-direction:column;position:relative}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(6,minmax(100px,1fr));gap:1px;background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;flex:1;min-height:600px}.month-weekday-header{background:var(--bg-surface-elevated);padding:.75rem .5rem;text-align:center;font-size:.8rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.month-day-cell{background:var(--bg-surface);padding:.5rem;display:flex;flex-direction:column;transition:background var(--transition-fast);cursor:pointer;min-height:105px;position:relative}.month-day-cell:hover{background:var(--bg-surface-elevated)}.month-day-cell.other-month{background:#11182766;opacity:.45}.month-day-cell.is-today{background:#6366f10f}.day-cell-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.day-number{font-size:.85rem;font-weight:600;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full)}.month-day-cell.is-today .day-number{background:var(--primary);color:#fff;box-shadow:0 0 10px var(--primary-glow)}.day-events-list{display:flex;flex-direction:column;gap:3px;overflow:hidden}.event-chip{display:flex;align-items:center;gap:5px;padding:2px 6px;border-radius:var(--radius-xs);font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid transparent;transition:transform var(--transition-fast)}.event-chip:hover{transform:scale(1.02)}.week-container{display:flex;flex-direction:column;flex:1;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.week-header{display:grid;grid-template-columns:60px repeat(7,1fr);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface-elevated)}.week-day-col-header{padding:.75rem .5rem;text-align:center;border-left:1px solid var(--border-subtle)}.week-day-col-header.is-today{color:var(--primary);font-weight:700}.week-grid-body{display:grid;grid-template-columns:60px repeat(7,1fr);overflow-y:auto;position:relative;flex:1;min-height:650px}.time-slot-label{padding:.5rem;font-size:.72rem;font-weight:600;color:var(--text-muted);text-align:right;border-bottom:1px solid var(--border-subtle);height:60px}.day-column{border-left:1px solid var(--border-subtle);position:relative;height:1440px}.hour-slot{height:60px;border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--transition-fast)}.hour-slot:hover{background:#ffffff05}.current-time-line{position:absolute;left:0;right:0;height:2px;background:#ef4444;z-index:20;pointer-events:none}.current-time-line:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;background:#ef4444;border-radius:50%}.time-block-card{position:absolute;left:4px;right:4px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--bg-surface-elevated);border:1px solid var(--border-medium);border-left-width:4px;overflow:hidden;z-index:10;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.time-block-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);z-index:15}.time-block-title{font-size:.82rem;font-weight:700;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-block-time{font-size:.72rem;color:var(--text-secondary);font-weight:500}.agenda-container{display:flex;flex-direction:column;gap:1.25rem;max-width:900px;margin:0 auto;width:100%}.agenda-group{display:flex;flex-direction:column;gap:.6rem}.agenda-date-header{font-size:.95rem;font-weight:700;color:var(--text-secondary);display:flex;align-items:center;gap:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-subtle)}.agenda-date-header.is-today{color:var(--primary)}.agenda-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);border-left-width:5px;transition:all var(--transition-fast);cursor:pointer}.agenda-card:hover{background:var(--bg-surface-elevated);transform:translate(4px);border-color:var(--border-medium)}.agenda-time{font-size:.85rem;font-weight:700;color:var(--text-secondary);min-width:90px}.agenda-info{flex:1}.agenda-title{font-size:.98rem;font-weight:600;color:var(--text-primary);margin-bottom:3px}.agenda-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--text-muted)}.modal-backdrop{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;animation:modalBackdropFadeIn .2s ease-out}.modal-card{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);width:100%;max-width:560px;box-shadow:var(--shadow-lg);overflow:hidden;animation:modalSlideUp .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;max-height:90vh}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.modal-close-btn{width:32px;height:32px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.modal-close-btn:hover{background:var(--bg-surface-elevated);color:var(--text-primary)}.modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:flex-end;gap:.75rem;background:var(--bg-surface-elevated)}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.form-input,.form-select,.form-textarea{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.65rem .9rem;color:var(--text-primary);font-family:var(--font-main);font-size:.9rem;outline:none;transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.btn-secondary{padding:.6rem 1.1rem;background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-weight:600;font-size:.88rem;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--bg-surface);border-color:var(--border-medium)}.btn-primary{padding:.6rem 1.25rem;background:linear-gradient(135deg,var(--primary) 0%,#4f46e5 100%);border:none;border-radius:var(--radius-md);color:#fff;font-weight:600;font-size:.88rem;cursor:pointer;box-shadow:0 4px 12px var(--primary-glow);transition:all var(--transition-fast)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px #6366f166}.btn-danger{padding:.6rem 1.1rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#ef4444;font-weight:600;font-size:.88rem;cursor:pointer;transition:all var(--transition-fast)}.btn-danger:hover{background:#ef444440}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--bg-surface-translucent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-subtle);z-index:50;align-items:center;justify-content:space-around;padding:0 .5rem;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;border:none;color:var(--text-muted);font-size:.72rem;font-weight:600;cursor:pointer;padding:6px 12px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-fab{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,#4f46e5 100%);color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px var(--primary-glow);transform:translateY(-12px);cursor:pointer}.login-screen{min-height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top right,rgba(99,102,241,.15),transparent 40%),radial-gradient(circle at bottom left,rgba(6,182,212,.12),transparent 40%),var(--bg-main);padding:1.5rem}.login-card{width:100%;max-width:440px;background:var(--bg-surface-translucent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border-medium);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1.75rem}.login-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem}.login-badge-info{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;background:#6366f11a;border:1px solid rgba(99,102,241,.25);border-radius:var(--radius-full);font-size:.75rem;color:var(--primary);font-weight:600}.toast-container{position:fixed;bottom:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;border-radius:var(--radius-md);background:var(--bg-surface-elevated);border:1px solid var(--border-medium);box-shadow:var(--shadow-md);color:var(--text-primary);font-size:.88rem;font-weight:500;animation:toastSlideIn .25s ease-out}.toast.success{border-left:4px solid var(--color-success)}.toast.error{border-left:4px solid var(--color-danger)}.toast.info{border-left:4px solid var(--color-info)}@keyframes modalBackdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media(max-width:1024px){:root{--sidebar-width: 240px}}@media(max-width:768px){.app-sidebar{display:none}.mobile-bottom-nav{display:flex}.calendar-view-container{padding:.75rem;padding-bottom:calc(var(--bottom-nav-height) + 1rem)}.app-topbar{padding:0 1rem}.current-date-title{font-size:1.05rem;min-width:120px}.search-box{display:none}.month-grid{min-height:480px}.month-day-cell{min-height:70px;padding:.25rem}.event-chip{font-size:.65rem;padding:1px 3px}}
