@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap";.sidebar{width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:1.5rem;display:flex;flex-direction:column;height:calc(100vh - 64px);position:fixed;left:0;top:64px;z-index:50;transition:transform .3s ease-in-out,background-color .2s;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar-logo{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:2rem;padding:0 .5rem}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;flex:1}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:var(--border-radius-md);color:var(--text-secondary);text-decoration:none;font-family:var(--font-sans);font-size:.95rem;transition:all .2s ease}.sidebar-link:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-link.active{background:var(--color-primary-light);color:var(--color-primary)}.nav-section{margin-bottom:0}.nav-section:not(:first-child){padding-top:24px;position:relative}.nav-section-logout{margin-top:auto;margin-bottom:var(--spacing-md);padding-top:24px;position:relative}.nav-item{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-lg);color:var(--text-secondary);text-decoration:none;transition:background-color .15s ease,color .15s ease;border:none;min-height:44px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);cursor:pointer;background:none;width:100%;text-align:left;font-family:var(--font-sans);border-radius:var(--border-radius-md)}.nav-icon{margin-right:var(--spacing-md);width:20px;height:20px;flex-shrink:0;color:inherit;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.nav-label{flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--border-radius-md);font-weight:var(--font-weight-medium)}.nav-item.active .nav-icon{color:inherit}.nav-item-logout{color:var(--text-secondary)}.nav-item-logout:hover{background:var(--bg-hover);color:var(--text-secondary)}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;height:100dvh;z-index:999;transform:translate(-100%);box-shadow:var(--shadow-xl);transition:transform .3s ease-in-out;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg-secondary);padding-top:calc(1.5rem + var(--safe-area-top, 0px));padding-bottom:calc(1.5rem + var(--safe-area-bottom, 0px))}.sidebar.open{transform:translate(0)}.nav-item{padding:var(--spacing-md) var(--spacing-lg);min-height:48px;touch-action:manipulation}.nav-icon{width:20px;height:20px}.nav-label{font-size:var(--font-size-sm)}}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.notification-bell-container{position:relative}.notification-bell-button{position:relative;width:40px;height:40px;border-radius:var(--border-radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.notification-bell-button:hover{background:var(--bg-hover);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.notification-bell-button:active{transform:translateY(0)}.bell-icon{transition:transform .3s ease}.notification-bell-button:hover .bell-icon{transform:rotate(15deg)}.notification-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--color-error);color:#fff;font-family:var(--font-sans);font-size:.7rem;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--bg-card)}.notification-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:999}.notification-dropdown{position:absolute;top:calc(100% + var(--spacing-sm));right:0;width:380px;max-height:500px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-2xl);z-index:1000;display:flex;flex-direction:column;overflow:hidden}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.notification-dropdown-header h3{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.unread-indicator{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary-light, rgba(37, 99, 235, .1));border-radius:var(--border-radius-full)}.notification-list{flex:1;overflow-y:auto;max-height:400px}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:var(--bg-secondary)}.notification-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius-sm)}.notification-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.notification-item{position:relative;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background .2s ease;display:flex;align-items:flex-start;gap:var(--spacing-sm)}.notification-item:hover{background:var(--bg-hover)}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:var(--color-primary-light, rgba(37, 99, 235, .05))}.notification-item.unread:hover{background:var(--color-primary-light, rgba(37, 99, 235, .1))}.notification-type-icon{width:32px;height:32px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.notification-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.notification-title-row{display:flex;align-items:center;gap:var(--spacing-sm)}.notification-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.4;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-type-badge{font-size:.65rem;font-weight:var(--font-weight-semibold);padding:1px 6px;border-radius:var(--border-radius-full);white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.03em}.notification-message{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-time{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--spacing-xs)}.notification-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);flex-shrink:0;margin-top:var(--spacing-xs)}.notification-loading,.notification-empty{padding:var(--spacing-2xl);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}.notification-dropdown-footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-secondary)}.view-all-button{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-md);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.view-all-button:hover{background:var(--color-primary-dark, #1d4ed8);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.view-all-button:active{transform:translateY(0)}[data-theme=dark] .notification-dropdown{background:var(--bg-card);box-shadow:0 25px 50px -12px #00000080}[data-theme=dark] .notification-dropdown-header,[data-theme=dark] .notification-dropdown-footer{background:var(--bg-tertiary)}[data-theme=dark] .notification-item.unread{background:#3b82f61a}[data-theme=dark] .notification-item.unread:hover{background:#3b82f626}@media (max-width: 768px){.notification-dropdown{width:calc(100vw - var(--spacing-xl));max-width:380px;right:calc(-1 * var(--spacing-md))}}@media (max-width: 480px){.notification-dropdown{width:calc(100vw - var(--spacing-md));right:calc(-1 * var(--spacing-sm))}.notification-dropdown-header,.notification-dropdown-footer,.notification-item{padding:var(--spacing-sm) var(--spacing-md)}}.top-bar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;height:64px;min-height:64px;flex-shrink:0}.top-bar-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.top-bar-actions{display:flex;gap:1rem;align-items:center}.top-bar-left{display:flex;align-items:center;gap:var(--spacing-md);flex:0 0 auto}.menu-toggle{display:none;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-sm);min-width:40px;min-height:40px;align-items:center;justify-content:center;border-radius:4px;transition:background-color .15s ease,color .15s ease}.menu-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.top-bar-brand{display:flex;align-items:center;gap:var(--spacing-sm)}.top-bar-logo{height:28px;width:auto}.top-bar-brand-text{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:400;color:var(--text-primary);line-height:1.2}.top-bar-center{flex:1;display:flex;justify-content:center;align-items:center;padding:0 var(--spacing-lg)}.entity-context{display:flex;align-items:center;gap:var(--spacing-md)}.entity-selector-wrapper{position:relative}.entity-selector-pill{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:20px;font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;min-height:40px;white-space:nowrap}.entity-selector-pill:hover{background:var(--bg-hover);border-color:var(--border-color-hover);color:var(--text-primary)}.entity-selector-text{display:flex;align-items:center;gap:var(--spacing-xs)}.entity-name{font-weight:var(--font-weight-medium);color:var(--text-primary)}.entity-pan{color:var(--text-tertiary);font-size:var(--font-size-xs)}.entity-placeholder{color:var(--text-tertiary);font-style:italic}.entity-chevron{color:var(--text-tertiary);transition:transform .15s ease;flex-shrink:0}.entity-selector-pill[aria-expanded=true] .entity-chevron{transform:rotate(180deg)}.entity-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));left:50%;transform:translate(-50%);min-width:280px;max-width:400px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);z-index:1001;display:flex;flex-direction:column;margin-top:var(--spacing-xs)}.entity-dropdown-search{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);flex-shrink:0}.entity-search-icon{color:var(--text-tertiary);flex-shrink:0}.entity-search-input{width:100%;border:none;outline:none;background:transparent;font-size:var(--font-size-sm);color:var(--text-primary);font-family:var(--font-family)}.entity-search-input::placeholder{color:var(--text-tertiary)}.entity-dropdown-list{max-height:350px;overflow-y:auto}.entity-dropdown-empty{padding:var(--spacing-md);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}.entity-dropdown-item{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);width:100%;padding:var(--spacing-md);background:none;border:none;text-align:left;cursor:pointer;transition:background-color .15s ease;font-size:var(--font-size-sm)}.entity-dropdown-item:hover{background:var(--bg-hover)}.entity-dropdown-item.active{background:var(--color-primary-light)}.entity-dropdown-item.active .entity-dropdown-name{color:var(--color-primary);font-weight:var(--font-weight-medium)}.entity-dropdown-name{color:var(--text-primary);font-weight:var(--font-weight-medium)}.entity-dropdown-pan{color:var(--text-tertiary);font-size:var(--font-size-xs)}.storage-summary{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:200px}.storage-summary-header{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--text-secondary)}.storage-summary-track{height:6px;background:var(--bg-tertiary);border-radius:999px;overflow:hidden}.storage-summary-fill{height:100%;background:var(--color-accent);transition:width .2s ease}.storage-summary-remaining{font-size:var(--font-size-xs);color:var(--text-tertiary);text-align:right}.top-bar-right{display:flex;align-items:center;gap:var(--spacing-md);flex:0 0 auto}.top-bar-icon-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:background-color .15s ease,color .15s ease;padding:0}.top-bar-icon-button:hover{background:var(--bg-hover);color:var(--text-primary)}.user-menu-wrapper{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:none;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease;min-height:40px;font-size:var(--font-size-sm)}.user-menu-trigger:hover{background:var(--bg-hover);border-color:var(--border-color)}.user-icon{color:var(--text-secondary);flex-shrink:0}.user-email{color:var(--text-primary);font-weight:var(--font-weight-normal);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.user-role-badge{padding:.125rem .5rem;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;white-space:nowrap}.user-chevron{color:var(--text-tertiary);transition:transform .15s ease;flex-shrink:0}.user-menu-trigger[aria-expanded=true] .user-chevron{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));right:0;min-width:240px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);z-index:1001;margin-top:var(--spacing-xs)}.user-menu-header{padding:var(--spacing-md)}.user-menu-email{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.user-menu-role{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase}.user-menu-divider{height:1px;background:var(--border-color);margin:var(--spacing-xs) 0}.user-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:none;border:none;text-align:left;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary);transition:background-color .15s ease}.user-menu-item:hover{background:var(--bg-hover)}.user-menu-item svg{color:var(--text-secondary)}.entity-menu-toggle-mobile{display:none}@media (max-width: 768px){.top-bar{padding:0 var(--spacing-md);padding-top:var(--safe-area-top, 0px);height:calc(56px + var(--safe-area-top, 0px));min-height:calc(56px + var(--safe-area-top, 0px))}.menu-toggle{display:flex}.top-bar-brand{font-size:var(--font-size-md);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-bar-brand-text,.top-bar-center{display:none}.entity-menu-toggle-mobile{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:background-color .15s ease,color .15s ease}.entity-menu-toggle-mobile:hover{background:var(--bg-hover);color:var(--text-primary)}.user-email,.user-role-badge{display:none}.user-menu-trigger{padding:var(--spacing-xs)}.top-bar-right{gap:var(--spacing-sm)}.entity-dropdown{position:fixed;top:calc(56px + var(--safe-area-top, 0px));left:var(--spacing-md);right:var(--spacing-md);transform:none;max-width:none;min-width:auto}.user-menu-dropdown{position:fixed;top:calc(56px + var(--safe-area-top, 0px));right:var(--spacing-md);left:auto;min-width:200px}}.entity-selector{position:relative}.entity-selector-input{width:100%;padding:.75rem 1rem;border-radius:var(--border-radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;transition:all .2s ease}.entity-selector-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.entity-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xl);z-index:1000;max-height:300px;overflow-y:auto}.entity-option{padding:.75rem 1rem;font-family:var(--font-sans);font-size:.95rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.entity-option:hover{background:var(--bg-hover)}.entity-option.selected{background:var(--color-primary-light);color:var(--color-primary)}.main-layout{height:100vh;height:100dvh;background:var(--bg-primary);position:relative;transition:background-color .2s;display:flex;flex-direction:column}.main-layout-content{display:flex;flex:1;overflow:hidden;position:relative;min-height:0}.main-content{padding:2rem;max-width:1400px;position:relative;z-index:1;flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;margin:0 auto 0 280px;min-height:0;display:flex;flex-direction:column}.entity-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:997}.entity-panel{position:fixed;top:64px;right:0;width:320px;max-width:100%;height:calc(100vh - 64px);background:var(--bg-secondary);border-left:1px solid var(--border-color, #e5e7eb);box-shadow:-2px 0 8px #00000026;transform:translate(100%);transition:transform .2s ease-out,background-color .2s ease-out;z-index:998;display:flex;flex-direction:column}.entity-panel-open{transform:translate(0)}.entity-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md, 16px) var(--spacing-lg, 24px);border-bottom:1px solid var(--border-color, #e5e7eb)}.entity-panel-title{font-size:.9375rem;font-weight:600;color:var(--text-primary, #111827)}.entity-panel-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-secondary, #4b5563);padding:.25rem}.entity-panel-close:hover{color:var(--text-primary, #111827)}.entity-panel-body{padding:var(--spacing-md, 16px) var(--spacing-lg, 24px);overflow-y:auto}.sidebar-overlay{display:none}@media (max-width: 768px){.main-layout{height:100vh;height:100dvh}.main-layout-content{position:relative}.main-content{padding:var(--spacing-md, 16px);padding-bottom:calc(var(--spacing-md, 16px) + var(--safe-area-bottom, 0px));width:100%;max-width:100vw;overflow-x:hidden;-webkit-overflow-scrolling:touch;margin-left:0}.entity-panel{top:56px;height:calc(100dvh - 56px);width:100%;max-width:100%}.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:998;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);padding:var(--spacing-md)}.login-box{background:var(--bg-primary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);padding:2.5rem;width:100%;max-width:440px;border:1px solid var(--border-color);transition:all .3s ease}.login-title{text-align:center;margin-bottom:var(--spacing-xs);font-family:var(--font-display);color:var(--text-primary)}.login-subtitle{text-align:center;margin-bottom:var(--spacing-xl);font-weight:400;color:var(--text-secondary);font-size:var(--font-size-lg)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--font-size-base);transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1b49651a;outline:none}.login-box input:-webkit-autofill,.login-box input:-webkit-autofill:hover,.login-box input:-webkit-autofill:focus,.login-box input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-primary)!important;-webkit-box-shadow:0 0 0 9999px var(--bg-tertiary) inset!important;box-shadow:0 0 0 9999px var(--bg-tertiary) inset!important;background-color:var(--bg-tertiary)!important;border-color:var(--border-color)!important;transition:background-color 9999s ease-in-out 0s;caret-color:var(--text-primary)}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.caps-lock-warning{margin-top:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-warning-light);color:var(--color-warning-dark);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);display:flex;align-items:center;gap:var(--spacing-xs)}.remember-me{display:flex;align-items:center;gap:.75rem;font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;width:fit-content}.remember-me span{line-height:1}.login-container .checkbox-custom{width:22px;height:22px;min-width:22px;min-height:22px;border-radius:6px}.btn-login{width:100%;margin-top:1.5rem;padding:.875rem;background:var(--color-primary);color:#fff;font-weight:600;border-radius:var(--border-radius-md);border:none;font-size:1rem;transition:background .2s,transform .1s}.btn-login:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.btn-login:disabled{opacity:.7;cursor:not-allowed;transform:none}.forgot-password-link{display:block;text-align:center;margin-top:1.5rem;color:var(--color-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:500}.forgot-password-link:hover{text-decoration:underline}.error-message{background:var(--color-error-light);color:var(--color-error-dark);padding:.75rem;border-radius:var(--border-radius-md);margin-bottom:1.5rem;font-size:var(--font-size-sm);display:flex;align-items:center;gap:.5rem}.login-mode-toggle{display:flex;background:var(--bg-tertiary);border-radius:var(--border-radius-md);padding:3px;margin-bottom:var(--spacing-lg);border:1px solid var(--border-color)}.login-mode-btn{flex:1;padding:.5rem 1rem;border:none;background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;border-radius:calc(var(--border-radius-md) - 2px);cursor:pointer;transition:all .2s ease}.login-mode-btn:hover{color:var(--text-primary)}.login-mode-btn.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.phone-input-group{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-tertiary);transition:border-color .2s,box-shadow .2s}.phone-input-group:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #1b49651a}.phone-prefix{padding:.75rem 0 .75rem 1rem;color:var(--text-secondary);font-size:var(--font-size-base);font-weight:500;-webkit-user-select:none;user-select:none;white-space:nowrap}.phone-input{flex:1;min-width:0;width:auto;border:none!important;background:transparent!important;box-shadow:none!important;padding-left:.5rem;letter-spacing:.05em}.dashboard-page{width:100%}.page-header{margin-bottom:2rem}.dashboard-welcome{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:space-between}.dashboard-welcome p{margin:0;font-size:1.1rem;color:var(--text-primary);font-weight:500}.dashboard-subtext{font-size:.9rem!important;color:var(--text-secondary)!important;margin-top:.25rem!important}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:var(--shadow-sm)}.dashboard-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.dashboard-card-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.dashboard-card-value{font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--color-primary)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.dashboard-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);overflow:hidden;height:100%;display:flex;flex-direction:column}.dashboard-panel-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.dashboard-panel-header h2{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary)}.dashboard-empty{padding:2rem;text-align:center;color:var(--text-tertiary);font-style:italic;font-size:.9rem}.dashboard-loading{padding:3rem;text-align:center;color:var(--text-secondary);font-size:1.1rem}.dashboard-list{list-style:none;padding:0;margin:0;overflow-y:auto;max-height:400px}.dashboard-list li{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);transition:background .2s}.dashboard-list li:last-child{border-bottom:none}.dashboard-list li:hover{background:var(--bg-hover)}.dashboard-list-title{font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.dashboard-list-subtext{font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr;gap:1rem}.page-header h1{font-size:1.5rem}.dashboard-welcome{flex-direction:column;padding:1.25rem;gap:.5rem}.dashboard-cards{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.25rem}.dashboard-card{padding:1rem}.dashboard-card-value{font-size:1.5rem}.dashboard-card-label{font-size:.75rem}.dashboard-panel-header,.dashboard-list li{padding:.75rem 1rem}}@media (max-width: 480px){.dashboard-cards{grid-template-columns:1fr}}.dashboard-card-clickable,.dashboard-panel-header-clickable{cursor:pointer}.dashboard-panel-header-clickable:hover{background:var(--bg-hover)}.dashboard-list-item-clickable{cursor:pointer}.unauthorized-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b);position:relative;overflow:hidden}.unauthorized-page:before{content:"";position:fixed;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(239,68,68,.15) 0%,transparent 70%);border-radius:50%;filter:blur(80px)}.unauthorized-container{text-align:center;position:relative;z-index:1}.unauthorized-icon{width:120px;height:120px;margin:0 auto 2rem;border-radius:50%;background:#ef444426;display:flex;align-items:center;justify-content:center;font-size:4rem}.unauthorized-title{font-family:var(--font-display);font-size:3rem;font-weight:700;color:#f8fafc;margin-bottom:1rem}.unauthorized-message{font-family:var(--font-sans);font-size:1.125rem;color:#94a3b8;margin-bottom:2rem}.unauthorized-btn{padding:1rem 2rem;border-radius:var(--border-radius-md);background:var(--primary);color:#fff;border:none;font-family:var(--font-sans);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 1px 2px #0000001a}.unauthorized-btn:hover{transform:translateY(-2px);box-shadow:0 2px 4px #00000026}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-sm{padding:.5rem 1rem;font-size:var(--font-size-sm);line-height:1.25}.btn-md{padding:.75rem 1.5rem;font-size:var(--font-size-sm);line-height:1.5}.btn-lg{padding:1rem 2rem;font-size:var(--font-size-base);line-height:1.5}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 1px 2px #0000001a}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #0D2E42);box-shadow:0 2px 4px #00000026}.btn-primary:active:not(:disabled){box-shadow:0 1px 2px #0000001a}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-color-hover);box-shadow:var(--shadow-sm)}.btn-success{background:var(--color-success);color:#fff;box-shadow:var(--shadow-sm)}.btn-success:hover:not(:disabled){background:var(--color-success-dark);box-shadow:var(--shadow-md)}.btn-success:active:not(:disabled){box-shadow:var(--shadow-sm)}.btn-warning{background:var(--color-warning);color:#fff;box-shadow:var(--shadow-sm)}.btn-warning:hover:not(:disabled){background:var(--color-warning-dark);box-shadow:var(--shadow-md)}.btn-warning:active:not(:disabled){box-shadow:var(--shadow-sm)}.btn-danger{background:var(--color-error);color:#fff;box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background:var(--color-error-dark);box-shadow:var(--shadow-md)}.btn-danger:active:not(:disabled){box-shadow:var(--shadow-sm)}.btn-link{background:transparent;color:var(--color-primary);padding:.5rem 1rem;box-shadow:none}.btn-link:hover:not(:disabled){color:var(--color-primary-dark, #0D2E42);text-decoration:underline;background:transparent}.btn-with-icon{gap:.5rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center}.btn-icon-left{margin-right:.25rem}.btn-icon-right{margin-left:.25rem}.btn-loading{position:relative;color:transparent;pointer-events:none}.btn-spinner{position:absolute;left:50%;top:50%;margin-left:-.5rem;margin-top:-.5rem;width:1rem;height:1rem;border:2px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}.btn-primary .btn-spinner,.btn-success .btn-spinner,.btn-warning .btn-spinner,.btn-danger .btn-spinner{border-color:#ffffff4d;border-top-color:#fff}.btn-text{display:inline-flex;align-items:center}@media (max-width: 768px){.btn-lg{padding:.875rem 1.75rem;font-size:var(--font-size-sm);min-height:44px}.btn-md{padding:.625rem 1.25rem;min-height:44px}.btn-sm{padding:.5rem .875rem;font-size:var(--font-size-xs)}}.form-field{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);display:block;margin-bottom:var(--spacing-xs)}.form-label.required:after{content:" *";color:var(--color-error);font-weight:var(--font-weight-semibold)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-primary);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;outline:none}.form-input::placeholder{color:var(--text-tertiary);opacity:.7}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);background:var(--bg-primary)}.form-input:hover:not(:disabled):not(:focus){border-color:var(--border-color-hover)}.form-input.error{border-color:var(--color-error);background:var(--color-error-light)}.form-input.error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.form-input:disabled,.form-input.disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.form-input[type=textarea],textarea.form-input{resize:vertical;min-height:80px;line-height:1.5}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23706B5F' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;padding-right:calc(var(--spacing-md) + 1.5rem);cursor:pointer}select.form-input:disabled{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239C9789' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}.form-error{font-size:var(--font-size-xs);color:var(--color-error);margin:var(--spacing-xs) 0 0 0;display:flex;align-items:flex-start;gap:.25rem;line-height:1.4}.form-error:before{content:"⚠";flex-shrink:0;font-size:var(--font-size-sm)}.form-help{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:var(--spacing-xs) 0 0 0;line-height:1.4}[data-theme=dark] .form-input{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .form-input:focus{background:var(--bg-primary);box-shadow:0 0 0 3px var(--color-primary-light)}[data-theme=dark] .form-input:disabled{background:var(--bg-tertiary);opacity:.5}[data-theme=dark] select.form-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23B5B0A5' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}.date-input-wrapper{position:relative;display:flex;align-items:center}.date-input-wrapper .form-input{padding-right:2.5rem;font-variant-numeric:tabular-nums;letter-spacing:.02em}.date-hidden-picker{position:absolute;right:0;bottom:0;width:0;height:0;opacity:0;pointer-events:none;border:none;padding:0}.date-icon{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--border-radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color .15s ease,background-color .15s ease}.date-icon:hover{color:var(--color-primary);background:var(--bg-hover)}.date-input-wrapper:focus-within .date-icon{color:var(--color-primary)}[data-theme=dark] .date-icon{color:var(--text-secondary)}[data-theme=dark] .date-icon:hover{color:var(--color-primary);background:var(--bg-hover)}[data-theme=dark] .date-input-wrapper:focus-within .date-icon{color:var(--color-primary)}.phone-input-group{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);transition:border-color .2s ease,box-shadow .2s ease}.phone-input-group:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.phone-input-group:hover:not(.disabled):not(:focus-within){border-color:var(--border-color-hover)}.phone-input-group.error{border-color:var(--color-error);background:var(--color-error-light)}.phone-input-group.error:focus-within{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.phone-input-group.disabled{background:var(--bg-tertiary);opacity:.6;cursor:not-allowed}.phone-prefix{padding:var(--spacing-sm) 0 var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;-webkit-user-select:none;user-select:none;white-space:nowrap;line-height:1}.phone-input{flex:1;min-width:0;width:auto;border:none!important;background:transparent!important;box-shadow:none!important;padding-left:.5rem!important;letter-spacing:.05em}.phone-input:focus{border:none!important;box-shadow:none!important;outline:none}.phone-input:hover{border:none!important}[data-theme=dark] .phone-input-group{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .phone-input-group:focus-within{background:var(--bg-primary);box-shadow:0 0 0 3px var(--color-primary-light)}[data-theme=dark] .phone-input-group.disabled{background:var(--bg-tertiary);opacity:.5}@media (max-width: 768px){.form-input{font-size:var(--font-size-base);padding:var(--spacing-sm)}.form-label{font-size:var(--font-size-xs)}}.groups-page{width:100%}.groups-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;height:auto;min-height:calc(100dvh - 140px);display:flex;flex-direction:column}.groups-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:2rem;overflow-y:auto}.group-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:1.5rem;transition:all .2s ease;cursor:pointer;display:flex;flex-direction:column;height:100%}.group-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.group-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.group-icon{width:48px;height:48px;border-radius:12px;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.group-actions{opacity:0;transition:opacity .2s}.group-card:hover .group-actions{opacity:1}.group-name{font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.group-description{font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.group-footer{border-top:1px solid var(--border-color);padding-top:1rem;display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text-tertiary)}.group-count{display:flex;align-items:center;gap:.5rem}.members-avatars{display:flex;margin-left:.5rem}.member-avatar-mini{width:24px;height:24px;border-radius:50%;border:2px solid var(--bg-primary);background:var(--bg-tertiary);margin-left:-8px}.form-row{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);margin-top:var(--spacing-md)}@media (min-width: 640px){.form-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.groups-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.groups-grid{grid-template-columns:1fr;gap:1rem;padding:1rem}.group-card{padding:1rem}.group-actions{opacity:1}.group-footer{font-size:.8rem}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg)}.modal-container{background:var(--bg-card);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xl);width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;position:relative;box-sizing:border-box;animation:modalSlideUp .2s cubic-bezier(.4,0,.2,1)}.modal-container.size-sm{max-width:400px}.modal-container.size-md{max-width:600px}.modal-container.size-lg{max-width:800px}.modal-container.size-xl{max-width:1200px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-title{margin:0;font-size:var(--font-size-xl);font-weight:400;font-family:var(--font-display);color:var(--text-primary)}.modal-content{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--spacing-lg);width:100%;box-sizing:border-box;scrollbar-gutter:stable both-edges}.modal-content>*,.modal-content .modal-form{width:100%;box-sizing:border-box}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:8px}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);flex-shrink:0}[data-theme=dark] .modal-container{border:1px solid var(--border-color);box-shadow:0 25px 50px -12px #0009}@media (max-width: 768px){.modal-overlay{padding:0;align-items:flex-end}.modal-container{max-height:100dvh;min-height:50dvh;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;animation:modalSlideUp .2s cubic-bezier(.4,0,.2,1)}.modal-container.size-sm,.modal-container.size-md,.modal-container.size-lg,.modal-container.size-xl{max-width:100%}.modal-header,.modal-footer{padding:var(--spacing-sm) var(--spacing-md)}.modal-content{padding:var(--spacing-md)}.modal-footer{padding-bottom:calc(var(--spacing-md) + var(--safe-area-bottom, 0px))}.modal-title{font-size:var(--font-size-lg)}}@keyframes modalSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close-btn{all:unset;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius-sm);cursor:pointer;color:var(--text-secondary);transition:background-color .15s ease,color .15s ease}.modal-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-close-btn:active{background:var(--bg-hover)}.modal-close-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.delete-modal-content{padding:var(--spacing-lg)}.delete-firm-warning{background:var(--color-error-light);border:none;border-left:4px solid var(--color-error);border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.delete-firm-warning h3{margin:0 0 var(--spacing-sm) 0;color:var(--color-error);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.delete-firm-warning p{margin:var(--spacing-sm) 0;color:var(--color-error);line-height:1.5}.delete-firm-warning ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg);color:var(--color-error)}.delete-firm-warning li{margin:var(--spacing-xs) 0;line-height:1.5}.delete-warning-details{margin:var(--spacing-sm) 0}.delete-warning-details summary{cursor:pointer;color:var(--color-primary);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) 0;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:var(--spacing-xs)}.delete-warning-details summary::-webkit-details-marker{display:none}.delete-warning-details summary:before{content:"▶";display:inline-block;transition:transform .2s ease;font-size:.75em}.delete-warning-details[open] summary:before{transform:rotate(90deg)}.delete-warning-details summary:hover{color:var(--color-primary-dark);text-decoration:underline}.delete-warning-details ul{margin-top:var(--spacing-sm);animation:slideDown .2s ease}.delete-firm-confirmation{margin-top:var(--spacing-lg)}.delete-firm-confirmation p{margin-bottom:var(--spacing-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.delete-firm-confirmation strong{color:var(--color-danger)}.delete-firm-input{width:100%;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-family:var(--font-sans);transition:border-color .2s ease,box-shadow .2s ease}.delete-firm-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.delete-firm-input:disabled{background:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.modal-footer .btn-danger{background:var(--color-danger);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.modal-footer .btn-danger:hover:not(:disabled){background:#c82333}.modal-footer .btn-danger:disabled{opacity:.5;cursor:not-allowed}.modal-footer .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .2s ease}.modal-footer .btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.modal-footer .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.system-permission-categories{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg)}.system-permission-category{display:flex;flex-direction:column;gap:var(--spacing-sm)}.system-permission-category h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-color)}.system-permission-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);transition:background-color .15s ease}.system-permission-item:hover{background:var(--bg-hover)}.system-permission-label{font-size:var(--font-size-sm);color:var(--text-primary)}.client-perm-tabs{display:flex;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.client-perm-tab{background:transparent;border:1px solid var(--border-color);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;transition:all .15s ease;font-family:var(--font-sans)}.client-perm-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.client-perm-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.client-perm-content{padding:var(--spacing-lg);overflow-y:auto;flex:1}.assessee-search{margin-bottom:var(--spacing-md)}.assessee-search .form-field{margin-bottom:0}.assessee-select-list{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.client-perm-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;transition:all .15s ease;font-size:var(--font-size-sm);color:var(--text-primary);text-align:left;width:100%;font-family:var(--font-sans)}.client-perm-option:hover{border-color:var(--color-primary);background:var(--bg-hover)}.client-perm-option.selected{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.client-perm-option.select-all{font-weight:var(--font-weight-semibold);background:var(--bg-secondary)}.client-perm-option.select-all.selected{background:var(--color-primary);color:#fff}.client-perm-tick{width:18px;height:18px;min-width:18px;min-height:18px;border:2px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;flex-shrink:0;transition:all .15s ease}.client-perm-option.selected .client-perm-tick{background:var(--color-primary);border-color:var(--color-primary)}.client-perm-option:hover .client-perm-tick{border-color:var(--color-primary)}.client-perm-option.select-all.selected .client-perm-tick{background:#fff;border-color:#fff;color:var(--color-primary)}.permission-grid-wrapper{overflow-x:auto}.permission-grid{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.permission-grid th{padding:var(--spacing-sm) var(--spacing-md);text-align:center;font-weight:var(--font-weight-semibold);color:var(--text-secondary);border-bottom:2px solid var(--border-color);background:var(--bg-secondary);white-space:nowrap}.permission-grid th:first-child{text-align:left;min-width:200px}.permission-grid td{padding:var(--spacing-sm) var(--spacing-md);text-align:center;border-bottom:1px solid var(--border-color)}.permission-grid td:first-child{text-align:left;font-weight:var(--font-weight-medium);color:var(--text-primary)}.permission-grid tbody tr:hover{background:var(--bg-hover)}.permission-grid tbody tr:last-child td{border-bottom:none}.column-toggle-header{display:flex;flex-direction:column;align-items:center;gap:4px}.column-toggle-label{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-normal)}.client-perm-empty{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);color:var(--text-secondary);font-size:var(--font-size-sm)}.selected-count{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-bottom:var(--spacing-sm)}.assessee-name-cell{display:flex;flex-direction:column;gap:2px}.assessee-pan{font-size:var(--font-size-xs);color:var(--text-tertiary);font-weight:var(--font-weight-normal)}.staff-page{width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s}.btn-close:hover{background:var(--bg-hover);color:var(--text-primary)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.9rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.form-group input:not([type=checkbox]):not([type=radio]){width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.95rem;transition:border-color .2s}.form-group input:not([type=checkbox]):not([type=radio]):focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1b49651a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.table-toolbar{margin-bottom:1.5rem;display:flex;gap:1rem}.table-search{max-width:300px}.table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{padding:1rem 1.5rem;text-align:left;background:var(--bg-tertiary);color:var(--text-secondary);font-weight:600;font-size:.85rem;text-transform:uppercase;border-bottom:1px solid var(--border-color)}.data-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.data-table tr:hover{background:var(--bg-hover)}.table-sort-button{background:none;border:none;color:inherit;font-weight:inherit;cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:0}.status-cell{display:flex;flex-direction:column;gap:.25rem}.status-badge{display:inline-flex;align-items:center;padding:.375rem .875rem;border-radius:var(--border-radius-full, 9999px);font-size:.8125rem;font-weight:600;letter-spacing:.01em;width:fit-content}.status-badge.active{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}.status-badge.inactive{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.status-subtext{font-size:.75rem;color:var(--text-tertiary);margin-top:.125rem}.cell-with-actions{display:flex;align-items:center;gap:1rem}.permission-links{display:flex;flex-direction:column;gap:.25rem}.action-icons{display:flex;gap:.5rem}.edit-icon-btn,.delete-icon-btn{background:none;border:none;padding:.5rem;border-radius:var(--border-radius-sm);cursor:pointer;color:var(--text-secondary);transition:all .2s;display:flex;align-items:center;justify-content:center}.edit-icon-btn:hover{background:var(--color-primary-light);color:var(--color-primary)}.delete-icon-btn:hover{background:var(--color-error-light);color:var(--color-error)}.btn-link{background:none;border:none;color:var(--color-primary);font-weight:500;cursor:pointer;padding:0}.btn-link:hover{text-decoration:underline}.assignments-list{display:flex;flex-direction:column;gap:.5rem}.assignment-item{display:flex;align-items:center;justify-content:space-between;background:var(--bg-tertiary);padding:.5rem;border-radius:var(--border-radius-sm);font-size:.9rem}.permissions-badge{font-size:.75rem;background:var(--bg-primary);padding:2px 6px;border-radius:4px;color:var(--text-secondary);margin-left:.5rem}.btn-link-small{background:none;border:none;color:var(--text-secondary);font-size:1.2rem;line-height:1;padding:0 .25rem;cursor:pointer;margin-left:.5rem}.btn-link-small:hover{color:var(--color-error)}.table-pagination{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);font-size:.9rem}.table-pagination-controls{display:flex;align-items:center;gap:1rem}.table-pagination-button{padding:.5rem 1rem;border:1px solid var(--border-color);background:var(--bg-primary);border-radius:var(--border-radius-md);cursor:pointer;color:var(--text-primary);transition:all .2s}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:.75rem}.page-header h1{font-size:1.5rem}.table-toolbar{flex-direction:column;align-items:stretch}.table-search{max-width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table th,.data-table td{padding:.75rem 1rem;font-size:.8125rem;white-space:nowrap}.form-row{grid-template-columns:1fr}.table-pagination{flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8rem}.table-pagination-controls{gap:.5rem}}.super-admin-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;height:auto;min-height:calc(100dvh - 140px);display:flex;flex-direction:column}.super-admin-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);display:flex;justify-content:space-between;align-items:center}.super-admin-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.super-admin-table-container{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}.super-admin-actions{display:flex;gap:1rem}.form-section-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.prod-key-row{display:flex;align-items:flex-end;gap:.75rem}.prod-key-input{flex:1}.prod-key-button{white-space:nowrap;height:40px}@media (max-width: 640px){.prod-key-row{flex-direction:column;align-items:stretch}.prod-key-button{width:100%}}@media (max-width: 768px){.super-admin-header{padding:1rem;flex-direction:column;align-items:flex-start;gap:.75rem}.super-admin-title{font-size:1.25rem}.super-admin-actions{width:100%;flex-wrap:wrap}.super-admin-table-container{overflow-x:auto}}.assessee-page{width:100%}.assessee-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;height:auto;min-height:calc(100dvh - 220px);display:flex;flex-direction:column}.assessee-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.assessee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:2rem;overflow-y:auto}.assessee-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:1.5rem;transition:all .2s ease;cursor:pointer;display:flex;flex-direction:column;gap:1rem}.assessee-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.assessee-info{display:flex;gap:1rem;align-items:flex-start}.assessee-avatar{width:48px;height:48px;border-radius:12px;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.25rem}.assessee-details{flex:1}.assessee-name{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.assessee-pan{font-family:var(--font-mono);font-size:.85rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.15rem .5rem;border-radius:4px;display:inline-block}.assessee-meta{border-top:1px solid var(--border-color);padding-top:1rem;display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary)}.assessee-status{padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600}.status-active{background:var(--color-success-light);color:var(--color-success-dark)}.status-inactive{background:var(--bg-tertiary);color:var(--text-tertiary)}.assessee-form-body{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%;max-width:820px;margin:0 auto;box-sizing:border-box}.assessee-form-header{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%}.assessee-field-help{margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-tertiary)}.assessee-tabs{display:flex;gap:var(--spacing-lg);border-bottom:1px solid var(--border-color);padding-bottom:0}.assessee-tab{background:transparent;border:none;border-bottom:2px solid transparent;padding:.5rem 0;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .2s ease,border-color .2s ease}.assessee-tab:hover{color:var(--text-primary)}.assessee-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.form-section{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px;padding:var(--spacing-lg);margin:0;min-width:0;width:100%;box-sizing:border-box}.form-section>h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-md);color:var(--text-primary)}.password-field{position:relative}.password-input{padding-right:2.5rem}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem}.password-toggle:hover{color:var(--text-secondary)}.assessee-page .checkbox-group{margin:var(--spacing-md) 0}.assessee-page .checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary);-webkit-user-select:none;user-select:none}.assessee-page .checkbox-label input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px}.page-header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.import-step{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.5}.import-sample-format{border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-sm);background:var(--bg-tertiary)}.import-sample-format summary{cursor:pointer;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.import-sample-json{font-family:var(--font-mono);font-size:var(--font-size-xs);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin:var(--spacing-sm) 0 0 0;overflow-x:auto;white-space:pre}.import-json-input{width:100%;font-family:var(--font-mono);font-size:var(--font-size-sm);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-primary);color:var(--text-primary);resize:vertical;min-height:200px;box-sizing:border-box}.import-json-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.import-error{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-error);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-error-light, #fef2f2);border-radius:var(--border-radius-sm)}.import-preview-table-wrapper{max-height:400px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--border-radius-md)}.import-preview-table{font-size:var(--font-size-sm)}.import-summary{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.import-summary-item{flex:1;min-width:100px;padding:var(--spacing-md);border-radius:var(--border-radius-md);text-align:center;display:flex;flex-direction:column;gap:var(--spacing-xs)}.import-summary-count{font-size:1.5rem;font-weight:700;font-family:var(--font-display)}.import-summary-label{font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.import-summary-total{background:var(--bg-tertiary);color:var(--text-primary)}.import-summary-created{background:var(--color-success-light, #f0fdf4);color:var(--color-success-dark, #166534)}.import-summary-updated{background:var(--color-primary-light, #eff6ff);color:var(--color-primary, #1B4965)}.import-summary-failed{background:var(--color-error-light, #fef2f2);color:var(--color-error, #dc2626)}.import-status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:var(--font-size-xs);font-weight:600;text-transform:capitalize}.import-status-created{background:var(--color-success-light, #f0fdf4);color:var(--color-success-dark, #166534)}.import-status-updated{background:var(--color-primary-light, #eff6ff);color:var(--color-primary, #1B4965)}.import-status-failed{background:var(--color-error-light, #fef2f2);color:var(--color-error, #dc2626)}@media (max-width: 768px){.assessee-form-body{max-width:100%}.form-section{padding:var(--spacing-md)}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem}.page-header h1{font-size:1.5rem}.assessee-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.assessee-grid{grid-template-columns:1fr;gap:1rem;padding:1rem}.assessee-card{padding:1rem}.assessee-card:hover{transform:none}.assessee-tabs{gap:var(--spacing-md);overflow-x:auto;-webkit-overflow-scrolling:touch}.page-header-actions{width:100%}.page-header-actions .btn{flex:1}}.file-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:3000;padding:var(--spacing-md)}.file-viewer-container{background:var(--bg-card);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:1200px;height:90vh;display:flex;flex-direction:column;overflow:hidden}.file-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;min-height:48px}.file-viewer-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);min-width:0;overflow:hidden}.file-viewer-title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-viewer-version{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--border-radius-sm);flex-shrink:0}.file-viewer-controls{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.file-viewer-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--border-radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.file-viewer-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.file-viewer-close:hover{background:var(--color-error);color:#fff}.file-viewer-zoom-label{font-size:var(--font-size-xs);color:var(--text-secondary);min-width:36px;text-align:center;-webkit-user-select:none;user-select:none}.file-viewer-divider{width:1px;height:20px;background:var(--border-color);margin:0 var(--spacing-xs)}.file-viewer-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);position:relative}.file-viewer-pdf{width:100%;height:100%;border:none;background:#fff}.file-viewer-image-container{width:100%;height:100%;overflow:auto;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.file-viewer-image{transition:transform .2s ease;object-fit:contain;border-radius:var(--border-radius-sm);box-shadow:0 2px 8px #00000026}.file-viewer-text-container{width:100%;height:100%;overflow:auto;padding:var(--spacing-lg)}.file-viewer-text{margin:0;padding:var(--spacing-lg);background:var(--bg-card);border-radius:var(--border-radius-md);border:1px solid var(--border-color);font-family:var(--font-mono, "Courier New", monospace);font-size:var(--font-size-sm);color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;line-height:1.6;min-height:100%}.file-viewer-loading{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--text-secondary)}.file-viewer-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:file-viewer-spin .8s linear infinite}@keyframes file-viewer-spin{to{transform:rotate(360deg)}}.file-viewer-loading p{font-size:var(--font-size-sm);margin:0}.file-viewer-error{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--color-error);text-align:center;padding:var(--spacing-xl)}.file-viewer-error h3{margin:0;font-size:var(--font-size-lg);color:var(--text-primary)}.file-viewer-error p{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.file-viewer-unsupported{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--text-secondary);text-align:center;padding:var(--spacing-xl)}.file-viewer-unsupported h3{margin:0;font-size:var(--font-size-lg);color:var(--text-primary)}.file-viewer-unsupported p{margin:0;font-size:var(--font-size-sm)}.file-viewer-unsupported-type{font-family:var(--font-mono, "Courier New", monospace);font-size:var(--font-size-xs)!important;background:var(--bg-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm)}@media (max-width: 768px){.file-viewer-overlay{padding:0}.file-viewer-container{border-radius:0;height:100vh;max-width:100%}.file-viewer-header{padding:var(--spacing-sm) var(--spacing-md)}.file-viewer-zoom-label{display:none}}.documents-page{width:100%;display:flex;flex-direction:column;min-height:0}.page-header,.documents-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-shrink:0}.page-header h1,.documents-header h1{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.header-actions,.documents-actions{display:flex;gap:var(--spacing-md);align-items:center}.documents-error{padding:var(--spacing-md);background:var(--color-error-light);color:var(--color-error-dark);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);border:1px solid var(--color-error);flex-shrink:0}.documents-layout{display:grid;grid-template-columns:250px 1fr;gap:0;flex:1;min-height:0;background:var(--bg-primary);border-radius:var(--border-radius-lg)}.documents-layout.resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.folders-sidebar{background:var(--bg-card);border-right:1px solid var(--border-color);border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg);display:flex;flex-direction:column;overflow:hidden;position:relative;min-width:200px;max-width:400px;height:100%}.sidebar-resize-handle{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize;background:transparent;z-index:10;transition:background-color .2s ease}.sidebar-resize-handle:hover,.sidebar-resize-handle:active{background:var(--color-primary);opacity:.5}.sidebar-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);flex-shrink:0}.sidebar-header h3{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.folder-tree{flex:1;overflow-y:auto;min-height:0;overflow-x:hidden;padding:var(--spacing-sm)}.folder-tree::-webkit-scrollbar{width:8px}.folder-tree::-webkit-scrollbar-track{background:transparent}.folder-tree::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius-sm)}.folder-tree::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.folder-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);transition:background-color .15s ease;width:100%;background:transparent;border:none;color:var(--text-primary);font-size:var(--font-size-sm);text-align:left;position:relative;min-height:32px}.folder-item:hover{background:var(--bg-hover)}.folder-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-weight-medium)}.folder-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:background-color .15s ease,transform .2s ease;flex-shrink:0}.folder-toggle:hover{background:var(--bg-tertiary)}.folder-name{display:flex;align-items:center;gap:var(--spacing-xs);flex:1;background:none;border:none;color:inherit;cursor:pointer;text-align:left;font-size:inherit;padding:var(--spacing-xs);min-width:0;border-radius:var(--border-radius-sm);transition:background-color .15s ease}.folder-name:hover{background:var(--bg-tertiary)}.folder-name>span:first-of-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.folder-count{color:var(--text-tertiary);font-size:var(--font-size-xs);flex-shrink:0;margin-left:auto}.folder-actions{display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity .15s ease;flex-shrink:0}.folder-item:hover .folder-actions,.folder-item:focus-within .folder-actions{opacity:1}.folder-actions button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.folder-actions button:hover{background:var(--bg-secondary);color:var(--text-primary)}.folder-children{margin-left:var(--spacing-lg)}.storage-summary{margin-top:auto;padding:var(--spacing-md);background:var(--bg-tertiary);border-top:1px solid var(--border-color);font-size:var(--font-size-sm);flex-shrink:0}.storage-summary-header{display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs);color:var(--text-primary);font-weight:var(--font-weight-medium)}.storage-summary-track{height:8px;background:var(--bg-secondary);border-radius:var(--border-radius-full);overflow:hidden;margin-bottom:var(--spacing-xs)}.storage-summary-fill{height:100%;background:var(--color-primary);transition:width .3s ease;border-radius:var(--border-radius-full)}.storage-summary-remaining{font-size:var(--font-size-xs);color:var(--text-tertiary)}.documents-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-height:0;min-width:0}.breadcrumb,.breadcrumbs{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-primary);font-size:var(--font-size-sm);flex-shrink:0;overflow-x:auto}.breadcrumb::-webkit-scrollbar{height:4px}.breadcrumb::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius-sm)}.breadcrumb button,.breadcrumb-item{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);transition:background-color .15s ease,color .15s ease;white-space:nowrap;font-size:var(--font-size-sm)}.breadcrumb button:hover,.breadcrumb-item:hover{background:var(--bg-hover);color:var(--text-primary)}.breadcrumb .separator,.breadcrumb-separator{color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.table-toolbar{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);background:var(--bg-tertiary);flex-shrink:0;flex-wrap:wrap}.table-search{flex:1 1 auto;max-width:400px;min-width:200px}.table-filter{min-width:150px}.table-filter-button{display:flex;align-items:center;gap:var(--spacing-xs)}.documents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-lg);padding:var(--spacing-lg);overflow-y:auto;flex:1}.file-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);transition:all .2s ease;cursor:pointer;position:relative}.file-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.file-card:active{transform:translateY(0)}.file-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-md);background:var(--bg-tertiary);color:var(--color-primary);font-size:var(--font-size-xl);flex-shrink:0}.file-info{flex:1;overflow:hidden;display:flex;flex-direction:column;gap:var(--spacing-xs)}.file-name{font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-size-sm)}.file-meta{font-size:var(--font-size-xs);color:var(--text-secondary)}.documents-content .table-container{flex:1;min-height:0}.documents-content .data-table thead{position:sticky;top:0;z-index:10;box-shadow:0 1px 0 var(--border-color)}.documents-content .data-table th{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.data-table .col-checkbox{width:40px;padding-right:0}.table-sort-button{background:none;border:none;color:inherit;cursor:pointer;font-weight:inherit;font-size:inherit;text-transform:inherit;letter-spacing:inherit;display:flex;align-items:center;gap:var(--spacing-xs);padding:0;width:100%;text-align:left;transition:color .15s ease}.table-sort-button:hover{color:var(--text-primary)}.table-sort-indicator{font-size:var(--font-size-xs);color:var(--color-primary);flex-shrink:0}.folder-row{background:var(--bg-tertiary);font-weight:var(--font-weight-medium)}.folder-row:hover{background:var(--bg-hover)}.folder-row-button{display:flex;align-items:center;gap:var(--spacing-sm);background:none;border:none;color:var(--text-primary);cursor:pointer;padding:0;font-size:inherit;font-weight:inherit}.folder-row-name{font-weight:var(--font-weight-medium)}.folder-row-count{color:var(--text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal)}.action-buttons{display:flex;align-items:center;gap:var(--spacing-xs)}.btn-icon{padding:var(--spacing-sm);border-radius:var(--border-radius-sm);color:var(--text-secondary);transition:all .15s ease;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-icon:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.document-name-button{display:inline-flex;align-items:center;background:none;border:none;padding:0;margin:0;font:inherit;color:var(--text-primary);cursor:pointer;text-align:left;max-width:100%;overflow:hidden}.document-name-button:hover{color:var(--color-primary)}.document-name-button:hover span:first-of-type{text-decoration:underline}.document-version-tag{font-size:var(--font-size-xs);color:var(--text-secondary);flex-shrink:0}.btn-danger{background:var(--color-error);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);cursor:pointer;font-weight:var(--font-weight-medium);transition:background-color .15s ease}.btn-danger:hover:not(:disabled){background:var(--color-error-dark)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.version-arrows{display:flex;flex-direction:column;gap:2px}.data-table input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;min-width:18px;min-height:18px;border:2px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);cursor:pointer;position:relative;transition:all .2s ease;flex-shrink:0}.data-table input[type=checkbox]:hover{border-color:var(--color-primary)}.data-table input[type=checkbox]:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.data-table input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.data-table input[type=checkbox]:indeterminate{background-color:var(--color-primary);border-color:var(--color-primary)}.data-table input[type=checkbox]:indeterminate:after{content:"−";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700;line-height:1}.upload-dropzone{border:2px dashed var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-2xl);text-align:center;color:var(--text-secondary);margin:var(--spacing-lg);transition:all .2s ease;cursor:pointer;background:var(--bg-primary)}.upload-dropzone:hover,.upload-dropzone.drag-over{border-color:var(--color-primary);background:var(--bg-hover);color:var(--text-primary)}.upload-dropzone:active{transform:scale(.99)}.uploading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);z-index:100;color:#fff}.uploading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.upload-progress-container{background:var(--bg-primary);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);min-width:340px;max-width:480px;width:90%;max-height:400px;overflow-y:auto;box-shadow:0 8px 32px #0000004d;color:var(--text-primary)}.upload-progress-title{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-base);font-weight:600}.upload-progress-item{margin-bottom:var(--spacing-sm)}.upload-progress-item:last-child{margin-bottom:0}.upload-progress-file-info{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:4px;font-size:var(--font-size-sm)}.upload-progress-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.upload-progress-status{font-weight:600;font-size:var(--font-size-xs);min-width:36px;text-align:right}.upload-progress-status.uploading{color:var(--primary)}.upload-progress-status.success{color:var(--success, #22c55e)}.upload-progress-status.error{color:var(--danger, #ef4444)}.upload-progress-bar-bg{width:100%;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.upload-progress-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.upload-progress-bar-fill.uploading{background:var(--primary)}.upload-progress-bar-fill.success{background:var(--success, #22c55e)}.upload-progress-bar-fill.error{background:var(--danger, #ef4444)}.upload-progress-error{display:block;margin-top:2px;font-size:var(--font-size-xs);color:var(--danger, #ef4444)}.delete-meta{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);border:1px solid var(--border-color)}.delete-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.delete-option{padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--border-radius-md);cursor:pointer;transition:all .15s ease;background:var(--bg-primary)}.delete-option:hover{border-color:var(--color-red);background:var(--bg-hover)}.delete-option.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.delete-option h4{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.delete-option p{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.table-pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-tertiary);font-size:var(--font-size-sm);color:var(--text-secondary);flex-shrink:0;gap:var(--spacing-md);flex-wrap:wrap}.table-pagination-button{padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-sm);transition:all .15s ease;display:flex;align-items:center;gap:var(--spacing-xs)}.table-pagination-button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--color-primary)}.toast-container{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:2000;display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none}.toast{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);min-width:300px;max-width:500px;animation:toastSlideIn .3s ease-out;pointer-events:auto}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast.success{border-left:4px solid var(--color-success)}.toast.error{border-left:4px solid var(--color-error)}.toast.warning{border-left:4px solid var(--color-warning)}.toast.info{border-left:4px solid var(--color-info)}.toast-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease;flex-shrink:0}.toast-close:hover{background:var(--bg-hover);color:var(--text-primary)}@media (max-width: 1024px){.documents-layout{grid-template-columns:200px 1fr}.folders-sidebar{min-width:180px}}@media (max-width: 768px){.page-header h1,.documents-header h1{font-size:var(--font-size-xl)}.header-actions,.documents-actions{flex-wrap:wrap}.documents-layout{grid-template-columns:1fr}.folders-sidebar{display:none}.documents-content{border-radius:var(--border-radius-md)}.table-toolbar{flex-direction:column;align-items:stretch}.table-search{max-width:100%}.documents-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md);padding:var(--spacing-md)}.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md)}.table-pagination{flex-direction:column;align-items:stretch}.table-pagination-controls{justify-content:center}.toast-container{top:var(--spacing-sm);right:var(--spacing-sm);left:var(--spacing-sm)}.toast{min-width:auto;width:100%}}@media (max-width: 480px){.page-header,.documents-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.header-actions,.documents-actions{width:100%;justify-content:stretch}.header-actions>*,.documents-actions>*{flex:1}.documents-grid{grid-template-columns:1fr}.breadcrumb,.breadcrumbs{padding:var(--spacing-sm) var(--spacing-md)}.file-card{padding:var(--spacing-sm)}}[data-theme=dark] .documents-content,[data-theme=dark] .folders-sidebar{box-shadow:0 1px 3px #0000004d}[data-theme=dark] .file-card:hover{box-shadow:0 4px 12px #0006}[data-theme=dark] .upload-dropzone{background:var(--bg-secondary)}[data-theme=dark] .uploading-overlay{background:#000c}@media print{.folders-sidebar,.table-toolbar,.table-pagination,.action-buttons,.folder-actions,.breadcrumb,.page-header,.documents-header{display:none!important}.documents-layout{grid-template-columns:1fr;height:auto}.documents-content{border:none;box-shadow:none}.data-table{page-break-inside:auto}.data-table tr{page-break-inside:avoid;page-break-after:auto}}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .15s ease;border:none;font-family:var(--font-sans);white-space:nowrap}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled):not([style*=not-allowed]){background:var(--color-primary-dark, #1d4ed8);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-sm)}.btn-primary:disabled,label.btn-primary[style*=not-allowed]{opacity:.6;cursor:not-allowed!important}label.btn-primary[style*=not-allowed]:hover{background:var(--color-primary);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-color-hover, var(--border-color));box-shadow:var(--shadow-sm)}.btn-secondary:active:not(:disabled){background:var(--bg-hover)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.form-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-sans);transition:border-color .15s ease,box-shadow .15s ease}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-input::placeholder{color:var(--text-tertiary)}.folder-item:focus-visible,.breadcrumb button:focus-visible,.btn-icon:focus-visible,.table-pagination-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){.file-card,.folder-item,.btn-icon,.data-table th,.data-table td{border-width:2px}}.tasks-page{width:100%}.tasks-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;height:calc(100vh - 120px);display:flex;flex-direction:column}.tasks-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.tasks-header h1{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.task-list{overflow-y:auto;flex:1}.task-item{display:flex;align-items:center;gap:1rem;padding:1rem 2rem;border-bottom:1px solid var(--border-color);transition:background .2s}.task-item:last-child{border-bottom:none}.task-item:hover{background:var(--bg-hover)}.task-checkbox{width:20px;height:20px;border-radius:6px;border:2px solid var(--border-color);background:var(--bg-primary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.task-checkbox:checked{background:var(--color-primary);border-color:var(--color-primary)}.task-checkbox:checked:after{content:"✓";color:#fff;font-size:12px;font-weight:700}.task-content{flex:1}.task-title{font-family:var(--font-sans);font-size:1rem;color:var(--text-primary);margin-bottom:.25rem;font-weight:500}.task-completed .task-title{text-decoration:line-through;color:var(--text-tertiary)}.task-due{font-family:var(--font-sans);font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:.25rem}.task-priority{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.priority-high{background:var(--color-error-light);color:var(--color-error-dark)}.priority-medium{background:var(--color-warning-light);color:var(--color-warning-dark)}.priority-low{background:var(--color-success-light);color:var(--color-success-dark)}.task-actions{display:flex;gap:.5rem;opacity:0;transition:opacity .2s}.task-item:hover .task-actions{opacity:1}.btn-icon-task{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s}.btn-icon-task:hover{color:var(--color-primary);background:var(--bg-hover)}.empty-tasks{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);gap:1rem}.status-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.35rem 2rem .35rem .75rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-family:var(--font-sans);border:1px solid var(--border-color);border-radius:9999px;cursor:pointer;color:var(--text-primary);background-color:var(--bg-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;white-space:nowrap}.status-select:hover{border-color:var(--color-primary-light, #60a5fa)}.status-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1b49651a}[data-theme=dark] .status-select{background-color:var(--bg-secondary);border-color:var(--border-color);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23aaa' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:var(--border-radius-sm, 6px);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.icon-button:hover{background:var(--bg-hover);color:var(--color-primary);border-color:var(--border-color)}.icon-button:active{transform:scale(.95)}.icon-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.task-assessee{font-size:.78rem;color:var(--text-secondary);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.tasks-container{height:auto;min-height:calc(100dvh - 140px)}.tasks-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.tasks-header h1{font-size:1.25rem}.task-item{padding:.75rem 1rem;gap:.75rem}.task-actions{opacity:1}.task-priority{font-size:.65rem;padding:.2rem .4rem}}.event-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.event-modal{width:100%;max-width:500px;max-height:90vh;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xl);overflow:hidden;display:flex;flex-direction:column;animation:modalScale .2s ease-out}@keyframes modalScale{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.event-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color)}.event-modal-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.event-modal-close{width:32px;height:32px;border-radius:8px;border:none;background:var(--bg-hover);color:var(--text-secondary);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .2s ease}.event-modal-close:hover{background:var(--color-error-light);color:var(--color-error)}.event-modal-body{padding:var(--spacing-lg)}.event-form-group{margin-bottom:1.25rem}.event-form-label{display:block;font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.event-form-input{width:100%;padding:.75rem 1rem;border-radius:var(--border-radius-md);border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;transition:all .2s ease}.event-form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.event-modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color)}.event-modal-form{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;padding:var(--spacing-lg)}.event-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.event-tab{background:transparent;border:1px solid var(--border-color);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;font-family:var(--font-family)}.event-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.event-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.event-modal-form .form-group{margin-bottom:var(--spacing-md)}.event-modal-form .form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.event-modal-form .form-group input:not([type=checkbox]):not([type=radio]),.event-modal-form .form-group textarea,.event-modal-form .form-group select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-family);transition:border-color .15s ease,box-shadow .15s ease}.event-modal-form .form-group input:not([type=checkbox]):not([type=radio]):focus,.event-modal-form .form-group textarea:focus,.event-modal-form .form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.event-modal-form .form-group input[type=date]::-webkit-calendar-picker-indicator,.event-modal-form .form-group input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px;border-radius:4px;opacity:.7;transition:opacity .15s ease,background-color .15s ease}.event-modal-form .form-group input[type=date]::-webkit-calendar-picker-indicator:hover,.event-modal-form .form-group input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1;background-color:var(--bg-hover)}[data-theme=dark] .event-modal-form .form-group input[type=date]::-webkit-calendar-picker-indicator,[data-theme=dark] .event-modal-form .form-group input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1)}.event-modal-form .form-group textarea{resize:vertical;min-height:80px}.event-modal-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.event-modal-form .required{color:var(--color-error)}.event-modal-form .checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary);-webkit-user-select:none;user-select:none}.all-day-checkbox{margin-bottom:var(--spacing-md)}.participants-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.participants-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin:0 0 var(--spacing-xs) 0}.participants-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.participant-checkbox,.reminder-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary)}.reminders-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.event-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding-top:var(--spacing-lg);margin-top:auto;border-top:1px solid var(--border-color)}.action-buttons-right{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:auto}.event-modal-header .btn-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.event-modal-header .btn-close:hover{background:var(--bg-hover);color:var(--text-primary)}.event-modal-header h2{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.event-modal-form .btn-primary,.event-modal-form .btn-secondary,.event-modal-form .btn-danger{padding:var(--spacing-sm) var(--spacing-md);border-radius:6px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border:none;display:inline-flex;align-items:center;gap:var(--spacing-xs);transition:background-color .15s ease}.event-modal-form .btn-primary{background:var(--color-primary);color:#fff}.event-modal-form .btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.event-modal-form .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.event-modal-form .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.event-modal-form .btn-danger{background:var(--color-error);color:#fff}.event-modal-form .btn-danger:hover:not(:disabled){background:var(--color-error-dark)}@media (max-width: 480px){.event-modal-form .form-row{grid-template-columns:1fr}.event-tabs{flex-wrap:wrap}.event-modal-actions{flex-direction:column;align-items:stretch}.action-buttons-right{margin-left:0;justify-content:flex-end}}.event-overview-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.event-overview-modal{width:100%;max-width:560px;max-height:90vh;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;display:flex;flex-direction:column;animation:overviewModalScale .2s ease-out}@keyframes overviewModalScale{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.event-overview-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.event-overview-title-block{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.event-overview-title-block h2{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);line-height:1.3;word-break:break-word}.event-overview-type-pill{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px 10px;border-radius:var(--border-radius-full);background:var(--bg-tertiary);width:fit-content}.event-type-pill-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.event-type-pill-dot.event-type-pill-meeting{background:#3b82f6}.event-type-pill-dot.event-type-pill-deadline{background:#ef4444}.event-type-pill-dot.event-type-pill-reminder{background:#f59e0b}.event-type-pill-dot.event-type-pill-custom{background:var(--color-accent, #B8860B)}.event-type-pill-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.event-overview-modal-header .btn-close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .15s ease,color .15s ease}.event-overview-modal-header .btn-close:hover{background:var(--bg-hover);color:var(--text-primary)}.event-overview-modal-content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.event-overview-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.event-overview-field{display:flex;align-items:flex-start;gap:var(--spacing-md)}.event-overview-icon{color:var(--text-tertiary);flex-shrink:0;margin-top:2px}.event-overview-field-content{display:flex;flex-direction:column;gap:2px;min-width:0}.event-overview-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.event-overview-value{font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.5}.event-overview-all-day{color:var(--text-secondary);font-style:italic}.event-overview-description{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.7;margin:0;white-space:pre-wrap;word-break:break-word}.event-overview-meeting-link{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.event-overview-link{font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none;word-break:break-all}.event-overview-link:hover{text-decoration:underline}.btn-small{padding:var(--spacing-xs) var(--spacing-sm)!important;font-size:var(--font-size-xs)!important}.event-overview-modal-actions{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);flex-shrink:0}.event-overview-actions-spacer{flex:1}.btn-text-danger{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:transparent;border:none;color:var(--color-error);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color .15s ease,color .15s ease}.btn-text-danger:hover{background:var(--color-error-light);color:var(--color-error-dark)}.event-overview-modal-content::-webkit-scrollbar{width:6px}.event-overview-modal-content::-webkit-scrollbar-track{background:transparent}.event-overview-modal-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--border-radius-sm)}.event-overview-modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media (max-width: 480px){.event-overview-modal{max-width:calc(100vw - var(--spacing-lg));max-height:95vh}.event-overview-modal-header,.event-overview-modal-content,.event-overview-modal-actions{padding:var(--spacing-md)}.event-overview-modal-actions{flex-wrap:wrap}}.calendar-page{width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.calendar-header-left{display:flex;align-items:center;gap:var(--spacing-lg)}.calendar-header h1{margin:0;font-size:var(--font-size-xl);color:var(--text-primary)}.view-switcher{display:inline-flex;gap:var(--spacing-xs);background:var(--bg-tertiary);border:1px solid var(--border-color);padding:.25rem;border-radius:8px}.view-button{background:transparent;border:none;padding:.4rem .75rem;border-radius:6px;color:var(--text-secondary);cursor:pointer}.view-button.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.calendar-header-right{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.btn-nav,.btn-today{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);padding:.4rem .6rem;border-radius:8px;cursor:pointer}.btn-today{padding:.4rem .8rem}.current-date-display{font-size:var(--font-size-sm);color:var(--text-secondary);padding:0 .5rem}.calendar-page .btn-primary{background:var(--color-primary);color:#fff;border:none;padding:.5rem .9rem;border-radius:var(--border-radius-md);display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.calendar-page .btn-primary.btn-small{padding:.35rem .7rem;font-size:var(--font-size-xs)}.calendar-container-with-panel{display:flex;gap:var(--spacing-md);position:relative}.calendar-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);flex:1;min-height:calc(100vh - 180px)}.calendar-loading{text-align:center;color:var(--text-secondary);padding:var(--spacing-2xl)}.calendar-grid-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-color);border-radius:var(--border-radius-md) var(--border-radius-md) 0 0}.calendar-day-header{background:var(--bg-tertiary);padding:.5rem;text-align:center;font-size:var(--font-size-xs);color:var(--text-secondary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-color);border-radius:0 0 var(--border-radius-md) var(--border-radius-md)}.calendar-day{background:var(--bg-primary);min-height:110px;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;cursor:pointer}.calendar-day.other-month{background:var(--bg-secondary);color:var(--text-tertiary)}.calendar-day.today{border:2px solid var(--color-primary)}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--color-primary-light)}.calendar-day-number{font-weight:600;font-size:var(--font-size-sm)}.calendar-day-events{display:flex;flex-direction:column;gap:.25rem}.calendar-event{font-size:var(--font-size-xs);padding:.2rem .4rem;border-radius:6px;background:var(--color-primary);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-all-day{opacity:.9}.calendar-event-timed{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.calendar-event-more{font-size:var(--font-size-xs);color:var(--text-secondary);cursor:pointer}.calendar-day-timed-row{display:flex;flex-direction:column;gap:.25rem}.calendar-day-single-event{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:.25rem .4rem;border-radius:6px}.calendar-day-single-event-time{font-size:var(--font-size-xs);color:var(--text-secondary)}.calendar-day-single-event-title{font-size:var(--font-size-xs)}.calendar-day-event-count{background:var(--color-primary-light);color:var(--color-primary);font-size:var(--font-size-xs);text-align:center;border-radius:999px;padding:.1rem .4rem}.week-view{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:var(--border-radius-md);overflow:hidden}.week-view-header{display:grid;grid-template-columns:60px repeat(7,1fr);background:var(--bg-tertiary)}.week-time-column{background:var(--bg-tertiary)}.week-day-header{padding:.5rem;border-left:1px solid var(--border-color);text-align:center}.week-day-name{font-size:var(--font-size-xs);color:var(--text-secondary)}.week-day-number{font-weight:600;color:var(--text-primary)}.week-day-all-day-events{margin-top:.25rem;display:flex;flex-direction:column;gap:.25rem}.week-view-body{display:grid;grid-template-columns:60px repeat(7,1fr)}.week-hour{padding:.35rem;font-size:var(--font-size-xs);color:var(--text-tertiary);border-top:1px solid var(--border-color)}.week-day-column{border-left:1px solid var(--border-color)}.week-hour-cell{min-height:48px;border-top:1px solid var(--border-color);padding:.25rem}.day-view{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:var(--border-radius-md);overflow:hidden}.day-view-all-day{display:grid;grid-template-columns:80px 1fr;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.day-all-day-label{padding:.5rem;font-size:var(--font-size-xs);color:var(--text-secondary)}.day-all-day-events{padding:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.day-view-body{display:grid;grid-template-columns:80px 1fr}.day-time-column{background:var(--bg-tertiary)}.day-hour{padding:.4rem;font-size:var(--font-size-xs);color:var(--text-tertiary);border-top:1px solid var(--border-color)}.day-events-column{border-left:1px solid var(--border-color)}.day-hour-cell{min-height:50px;border-top:1px solid var(--border-color);padding:.25rem}.day-detail-panel{width:320px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-md);position:relative;box-shadow:var(--shadow-md);transform:translate(110%);transition:transform .2s ease}.day-detail-panel-open{transform:translate(0)}.day-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0003;z-index:5}.day-detail-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;margin-bottom:.5rem}.day-detail-header-right{display:flex;align-items:center;gap:.5rem}.day-detail-close-button{background:transparent;border:none;font-size:1.25rem;cursor:pointer}.day-detail-today-badge{background:var(--color-primary-light);color:var(--color-primary);padding:.15rem .5rem;border-radius:999px;font-size:var(--font-size-xs)}.day-detail-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.day-detail-empty{text-align:center;color:var(--text-secondary)}.day-detail-section-title{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:.25rem}.day-detail-event{padding:.5rem;border-radius:8px;background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer}.day-detail-event-time{font-size:var(--font-size-xs);color:var(--text-tertiary)}.day-detail-event-meta{font-size:var(--font-size-xs);color:var(--text-secondary)}.btn-add-event,.day-detail-join-meeting{margin-top:.5rem}@media (max-width: 900px){.calendar-container-with-panel{flex-direction:column}.day-detail-panel{width:100%}}@media (max-width: 768px){.calendar-header{flex-direction:column;align-items:flex-start}.calendar-header-left{gap:var(--spacing-sm);flex-wrap:wrap}.calendar-header h1{font-size:var(--font-size-lg)}.calendar-header-right{width:100%;justify-content:space-between}.calendar-container{padding:var(--spacing-sm);min-height:auto}.calendar-day{min-height:60px;padding:.25rem}.calendar-day-number{font-size:var(--font-size-xs)}.calendar-event{font-size:.625rem;padding:.1rem .25rem}.calendar-day-header{padding:.35rem .25rem;font-size:.65rem}.view-button{padding:.3rem .5rem;font-size:var(--font-size-xs)}.week-view-header,.week-view-body{grid-template-columns:40px repeat(7,1fr)}.week-hour{font-size:.625rem;padding:.2rem}.day-view-all-day,.day-view-body{grid-template-columns:50px 1fr}.day-detail-panel{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100dvh;border-radius:0;z-index:100;transform:translateY(100%)}.day-detail-panel-open{transform:translateY(0)}}.messages-page{width:100%;position:relative}.messages-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:320px 1fr;overflow:hidden;height:calc(100dvh - 140px);position:relative}.conversations-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:5}.conversations-sidebar{border-right:1px solid var(--border-color);background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden;min-height:0;z-index:6}.conversations-sidebar-open{transform:translate(0)}.conversations-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.conversations-header h2{margin:0;font-size:var(--font-size-lg);color:var(--text-primary)}.conversations-close-button{border:none;background:transparent;color:var(--text-secondary);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem .5rem;border-radius:6px}.conversations-close-button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.search-container{display:flex;align-items:center;gap:.5rem;padding:0 var(--spacing-lg) var(--spacing-md)}.search-icon{color:var(--text-tertiary)}.search-input{flex:1;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:.5rem .75rem;color:var(--text-primary)}.search-input:focus{outline:none;border-color:var(--color-primary)}.search-clear-button{border:none;background:transparent;color:var(--text-secondary);cursor:pointer}.conversations-list{overflow-y:auto;flex:1;padding:var(--spacing-md);display:flex;flex-direction:column;gap:.5rem}.conversation-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem;border-radius:var(--border-radius-md);cursor:pointer;border:1px solid transparent;background:var(--bg-primary);transition:all .2s ease}.conversation-item:hover{border-color:var(--border-color-hover);background:var(--bg-hover)}.conversation-item.active{border-color:var(--color-primary);background:var(--color-primary-light)}.conversation-info{flex:1;min-width:0}.conversation-name{font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:.25rem}.conversation-pan,.conversation-email{font-size:var(--font-size-xs);color:var(--text-tertiary)}.conversation-preview{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-start-hint{color:var(--text-tertiary);font-style:italic}.unread-badge{background:var(--color-primary);color:#fff;font-size:var(--font-size-xs);padding:0 8px;border-radius:999px;align-self:center}.messages-main{display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden;min-height:0}.messages-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);display:flex;align-items:center;gap:var(--spacing-md)}.messages-back-button{border:none;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:.35rem .6rem;border-radius:8px;cursor:pointer}.messages-header h3{margin:0;font-size:var(--font-size-md);color:var(--text-primary)}.messages-header-entity{font-size:var(--font-size-xs);color:var(--text-tertiary)}.btn-delete-conversation{border:none;background:transparent;color:var(--color-error);padding:.35rem;border-radius:6px;cursor:pointer}.btn-delete-conversation:hover{background:var(--color-error-light)}.messages-list{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.no-messages,.no-selection{text-align:center;color:var(--text-tertiary);padding:var(--spacing-2xl)}.no-messages-hint{font-size:var(--font-size-sm)}.message-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.date-separator{display:flex;justify-content:center}.date-separator-text{background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-size-xs);padding:.25rem .75rem;border-radius:999px}.message{max-width:70%;padding:.75rem 1rem;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);line-height:1.5;position:relative}.message.sent{align-self:flex-end;background:var(--color-primary);color:#fff;border-bottom-right-radius:2px}.message.received{align-self:flex-start;background:var(--bg-tertiary);color:var(--text-primary);border-bottom-left-radius:2px}.message-content{display:flex;flex-direction:column;gap:.5rem}.document-attachment{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#0000000d;border-radius:8px}.document-icon{font-size:1.1rem}.document-name{flex:1;font-size:var(--font-size-sm)}.btn-download{border:none;background:var(--bg-primary);color:var(--color-primary);padding:.35rem .6rem;border-radius:6px;cursor:pointer;font-size:var(--font-size-xs)}.btn-download:hover{background:var(--bg-hover)}.message-text{font-size:var(--font-size-sm)}.message-time{font-size:var(--font-size-xs);opacity:.7;display:flex;align-items:center;justify-content:flex-end;gap:3px}.message-ticks{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:4px;vertical-align:middle;transition:color .2s ease-in-out}.message-ticks svg{width:16px;height:16px;display:block}.message-ticks.ticks-pending{color:#fff6}.message-ticks.ticks-delivered{color:#ffffffb3}.message-ticks.ticks-read{color:var(--color-accent, #34b7f1);filter:drop-shadow(0 0 1px rgba(0,0,0,.1))}.message-input-form{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-secondary);display:flex;gap:var(--spacing-sm)}.message-input{flex:1;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:.75rem;color:var(--text-primary)}.message-input:focus{outline:none;border-color:var(--color-primary)}.btn-send{background:var(--color-primary);color:#fff;border:none;padding:0 1.25rem;border-radius:var(--border-radius-md);cursor:pointer}.btn-send:disabled{opacity:.6;cursor:not-allowed}.delete-warning-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:20}.delete-warning-modal{background:var(--bg-primary);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);width:100%;max-width:420px;border:1px solid var(--border-color)}.delete-warning-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.btn-open-conversations{background:var(--color-primary);color:#fff;border:none;padding:.6rem 1rem;border-radius:var(--border-radius-md);cursor:pointer;margin-bottom:var(--spacing-sm)}@media (max-width: 900px){.messages-container{grid-template-columns:1fr}.conversations-sidebar{position:fixed;top:0;bottom:0;left:0;width:85%;max-width:360px;transform:translate(-100%);transition:transform .2s ease}.conversations-sidebar-open{transform:translate(0)}}.notifications-page{width:100%}.notification-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-md)}.notification-tab{background:transparent;border:none;padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary);cursor:pointer;border-radius:6px 6px 0 0}.notification-tab.active{color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-bottom:1px solid transparent}.notification-form-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.notifications-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.notifications-list-header{display:flex;justify-content:flex-end;min-height:1.5rem}.btn-clear-notifications{background:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--font-size-sm);padding:.25rem .75rem;transition:background .15s,color .15s,border-color .15s}.btn-clear-notifications:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-secondary);color:var(--text-primary)}.btn-clear-notifications:disabled{opacity:.5;cursor:not-allowed}.notifications-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.notifications-items .notification-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);cursor:pointer;position:relative;display:flex;align-items:flex-start;gap:var(--spacing-md)}.notifications-items .notification-item.unread{border-color:var(--color-primary);background:var(--color-primary-light)}.notifications-items .notification-type-icon{width:36px;height:36px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.notification-type-icon.type-system{background:#6366f11f;color:#6366f1}.notification-type-icon.type-task{background:#1b49651f;color:#1b4965}.notification-type-icon.type-document{background:#10b9811f;color:#10b981}.notification-type-icon.type-deadline{background:#f59e0b1f;color:#f59e0b}.notification-type-icon.type-overdue{background:#ef44441f;color:#ef4444}.notification-type-icon.type-message{background:#0ea5e91f;color:#0ea5e9}.notification-item-body{flex:1;min-width:0}.notification-item-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);flex-wrap:wrap}.notification-title{font-weight:var(--font-weight-semibold);color:var(--text-primary);flex:1;min-width:0}.notification-type-badge{font-size:.65rem;font-weight:var(--font-weight-semibold);padding:2px 8px;border-radius:var(--border-radius-full);white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.03em}.notification-type-badge.type-system{background:#6366f11f;color:#6366f1}.notification-type-badge.type-task{background:#1b49651f;color:#1b4965}.notification-type-badge.type-document{background:#10b9811f;color:#10b981}.notification-type-badge.type-deadline{background:#f59e0b1f;color:#f59e0b}.notification-type-badge.type-overdue{background:#ef44441f;color:#ef4444}.notification-type-badge.type-message{background:#0ea5e91f;color:#0ea5e9}.notification-date{font-size:var(--font-size-xs);color:var(--text-tertiary);flex-shrink:0;margin-left:auto}.notification-message{color:var(--text-secondary);margin:0;font-size:var(--font-size-sm);line-height:1.5}.notification-new-badge{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:var(--color-primary);color:#fff;font-size:var(--font-size-xs);padding:.1rem .5rem;border-radius:999px}.notifications-empty{text-align:center;color:var(--text-tertiary)}.group-selector{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-sm)}.groups-list{display:flex;flex-direction:column;gap:.25rem}.recipient-toggle,.recipient-item{display:flex;align-items:center;gap:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);padding:.6rem .75rem;border-radius:var(--border-radius-sm);width:100%;cursor:pointer;color:var(--text-primary);transition:all .2s}.recipient-item{background:transparent;border:1px solid transparent}.recipient-item:hover,.recipient-toggle:hover{border-color:var(--color-primary)}.recipient-toggle-active,.recipient-item-selected{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.recipient-tick{width:18px;height:18px;border:2px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff}.recipient-toggle-active .recipient-tick,.recipient-item-selected .recipient-tick{background:var(--color-primary);border-color:var(--color-primary)}.assessee-group-label{color:var(--text-primary)}.form-actions{margin-top:var(--spacing-md)}.notification-form-container .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-md);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.notification-form-container .btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #1d4ed8);box-shadow:var(--shadow-md)}.notification-form-container .btn-primary:disabled{opacity:.6;cursor:not-allowed}.send-status-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.send-status-banner.success{background:var(--color-success-light, #dcfce7);color:var(--color-success-dark, #166534);border:1px solid var(--color-success, #22c55e)}.send-status-banner.error{background:var(--color-error-light, #fef2f2);color:var(--color-error-dark, #991b1b);border:1px solid var(--color-error, #ef4444)}.send-status-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit;opacity:.7;padding:0 var(--spacing-xs);line-height:1;transition:opacity .15s}.send-status-close:hover{opacity:1}.unauthorized-message{padding:var(--spacing-2xl);text-align:center;color:var(--text-tertiary)}.notification-form-container label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary);-webkit-user-select:none;user-select:none;width:fit-content}@media (max-width: 768px){.notification-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:0}.notification-tab{white-space:nowrap;padding:var(--spacing-sm) var(--spacing-md)}.notification-form-container{padding:var(--spacing-md)}.notifications-items .notification-item{gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.notification-item-header{gap:var(--spacing-xs)}.notification-date{margin-left:0;width:100%}.notifications-items .notification-type-icon{width:28px;height:28px}.group-selector{padding:var(--spacing-xs)}.recipient-toggle,.recipient-item{padding:.5rem;gap:.5rem;font-size:var(--font-size-sm)}}.audit-logs-page{width:100%}.audit-logs-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;height:auto;min-height:calc(100dvh - 140px);display:flex;flex-direction:column}.audit-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);display:flex;justify-content:space-between;align-items:center}.audit-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.logs-list{overflow-y:auto;flex:1}.log-entry{display:flex;gap:1rem;padding:1.25rem 2rem;border-bottom:1px solid var(--border-color);transition:background .2s}.log-entry:last-child{border-bottom:none}.log-entry:hover{background:var(--bg-hover)}.log-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.25rem}.log-icon.create{background:var(--color-success-light);color:var(--color-success-dark)}.log-icon.update{background:var(--color-primary-light);color:var(--color-primary)}.log-icon.delete{background:var(--color-error-light);color:var(--color-error)}.log-content{flex:1}.log-message{font-family:var(--font-sans);font-size:.95rem;color:var(--text-primary);margin-bottom:.25rem}.log-highlight{font-weight:600;color:var(--text-primary)}.log-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--text-tertiary)}.log-user{color:var(--text-secondary);font-weight:500}.log-time{color:var(--text-tertiary)}@media (max-width: 768px){.audit-header{padding:1rem;flex-direction:column;align-items:flex-start;gap:.5rem}.audit-header h2{font-size:1.1rem}.log-entry{padding:.875rem 1rem;gap:.75rem}.log-icon{width:32px;height:32px;font-size:1rem}.log-meta{flex-direction:column;gap:.25rem}.log-message{font-size:.875rem}}.settings-page{width:100%}.settings-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;max-width:800px;margin:0 auto}.settings-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.settings-header h1{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.settings-section{padding:2rem;border-bottom:1px solid var(--border-color)}.settings-section:last-child{border-bottom:none}.settings-section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.settings-section-header-row h2{margin:0}.settings-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;display:flex;align-items:center;gap:.75rem}.settings-option{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px dashed var(--border-color)}.settings-option:last-child{border-bottom:none}.settings-label{display:flex;flex-direction:column;gap:.25rem}.settings-label-text{font-size:1rem;color:var(--text-primary);font-weight:500}.settings-label-subtext{font-size:.85rem;color:var(--text-secondary)}.settings-toggle{width:50px;height:26px;border-radius:13px;background:var(--bg-input);border:1px solid var(--border-color);position:relative;cursor:pointer;transition:all .3s ease;flex-shrink:0}.settings-toggle.active{background:var(--color-primary);border-color:var(--color-primary)}.settings-toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0003}.settings-toggle.active:after{transform:translate(24px)}.settings-actions{padding:2rem;display:flex;justify-content:flex-end;gap:1rem;background:var(--bg-tertiary)}.btn-danger-outline{padding:.75rem 1.5rem;border:1px solid var(--color-error);color:var(--color-error);background:transparent;border-radius:var(--border-radius-md);font-weight:500;cursor:pointer;transition:all .2s}.btn-danger-outline:hover{background:var(--color-error-light)}.settings-parent-tabs{display:flex;gap:0;max-width:800px;margin:0 auto 1.5rem;border-bottom:2px solid var(--border-color)}.settings-parent-tab{padding:.875rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:-2px;white-space:nowrap}.settings-parent-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.settings-parent-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.settings-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color);flex-wrap:wrap}.settings-tab{padding:.75rem 1.25rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:-2px;white-space:nowrap}.settings-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.settings-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.settings-tab.has-error{color:var(--color-error)}.settings-tab.has-error.active{border-bottom-color:var(--color-error)}.settings-tab .tab-error-icon{margin-left:6px;color:var(--color-error);vertical-align:middle;flex-shrink:0}.settings-tab{display:inline-flex;align-items:center;gap:4px}.assessee-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-color);flex-wrap:wrap}.assessee-tab{padding:.75rem 1.25rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:-2px;white-space:nowrap}.assessee-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.assessee-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.assessee-tab.has-error{color:var(--color-error)}.assessee-tab.has-error.active{border-bottom-color:var(--color-error)}.assessee-tab .tab-error-icon{margin-left:6px;color:var(--color-error);vertical-align:middle;flex-shrink:0}.assessee-tab{display:inline-flex;align-items:center;gap:4px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.settings-subheading{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem}.form-section{border:none;padding:0;margin:0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}.settings-form{padding:0}.settings-form .form-field{margin-bottom:1.5rem}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:2rem}.toggle-text{flex:1}.toggle-title{font-size:1rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.toggle-desc{font-size:.875rem;color:var(--text-secondary)}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--bg-input);border:1px solid var(--border-color);transition:.3s;border-radius:13px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 2px #0003}.toggle-switch input:checked+.slider{background-color:var(--color-primary);border-color:var(--color-primary)}.toggle-switch input:checked+.slider:before{transform:translate(24px)}.toggle-switch input:disabled+.slider{opacity:.5;cursor:not-allowed}.sessions-section{margin-top:0}.sessions-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.sessions-desc{font-size:.875rem;color:var(--text-secondary);margin:0;max-width:400px}.sessions-loading,.sessions-empty{text-align:center;padding:2rem;color:var(--text-secondary);font-size:.9rem}.sessions-list{display:flex;flex-direction:column;gap:.75rem}.session-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-secondary);transition:border-color .2s ease}.session-card:hover{border-color:var(--color-primary)}.session-card.session-current{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 5%,var(--bg-secondary))}.session-info{display:flex;flex-direction:column;gap:.5rem;min-width:0}.session-device{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.session-browser{font-weight:600;color:var(--text-primary);font-size:.95rem}.session-os{color:var(--text-secondary);font-size:.875rem}.session-badge-current{display:inline-block;padding:.125rem .5rem;font-size:.75rem;font-weight:600;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);border-radius:var(--border-radius-sm)}.session-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.8rem;color:var(--text-tertiary)}.session-meta span{white-space:nowrap}.session-ip{font-family:var(--font-mono);font-size:.8rem}@media (max-width: 768px){.settings-parent-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.settings-parent-tab{padding:.75rem 1rem;font-size:.875rem}.settings-section-header-row{flex-direction:column;align-items:flex-start;gap:1rem}.sessions-header{flex-direction:column;align-items:stretch}.sessions-desc{max-width:100%}.session-card{flex-direction:column;align-items:flex-start;gap:1rem}.session-card .btn{align-self:flex-end}.session-meta{flex-direction:column;align-items:flex-start;gap:.25rem}}.super-admin-page{width:100%}.page-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.page-header h1{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--text-primary);margin:0}.form-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:2rem;box-shadow:var(--shadow-sm);max-width:800px;margin:0 auto}.form-loading{text-align:center;color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.form-group input:not([type=checkbox]):not([type=radio]),.form-group textarea,.form-group select{width:100%;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;transition:border-color .2s}.form-group input:not([type=checkbox]):not([type=radio]):focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.user-selection-group{margin-bottom:2rem}.section-label{display:block;font-weight:600;margin-bottom:1rem;color:var(--text-primary);font-size:1.1rem}.multi-select-container{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:1rem}.recipient-toggle{display:flex;align-items:center;gap:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);padding:.75rem 1rem;border-radius:var(--border-radius-sm);width:100%;cursor:pointer;color:var(--text-primary);font-weight:500;transition:all .2s;margin-bottom:1rem}.recipient-toggle:hover{border-color:var(--color-primary)}.recipient-toggle-active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.recipient-tick{width:20px;height:20px;border:2px solid var(--border-color);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;background:var(--bg-primary)}.recipient-toggle-active .recipient-tick,.recipient-item-selected .recipient-tick,.user-column-header-selected .recipient-tick{background:var(--color-primary);border-color:var(--color-primary)}.users-columns-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.user-column{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);overflow:hidden;display:flex;flex-direction:column}.user-column-header{background:var(--bg-secondary);padding:.75rem 1rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;cursor:pointer;border:none;width:100%;color:var(--text-primary);transition:background .2s}.user-column-header:hover{background:var(--bg-hover)}.user-column-header-selected{background:var(--color-primary-light);color:var(--color-primary)}.user-column-header h3{margin:0;font-size:.95rem;font-weight:600}.user-count{font-size:.85rem;color:var(--text-secondary)}.users-list{max-height:250px;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.recipient-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:none;border:1px solid transparent;width:100%;text-align:left;cursor:pointer;border-radius:var(--border-radius-sm);color:var(--text-secondary);font-size:.9rem;transition:all .2s}.recipient-item:hover{background:var(--bg-hover)}.recipient-item-selected{background:var(--color-primary-light);color:var(--color-primary);font-weight:500}.no-users-in-column,.no-items-message{padding:1rem;text-align:center;color:var(--text-tertiary);font-size:.9rem;font-style:italic}.super-admin-notifications .btn-primary{width:100%;padding:1rem;font-size:1rem;font-weight:600}.dealers-page{width:100%}.dealer-name{font-weight:var(--font-weight-medium);color:var(--text-primary)}.dealer-name.empty{color:var(--text-tertiary);font-style:italic}.dealers-date{font-size:var(--font-size-sm);color:var(--text-secondary)}.dealers-date.never{color:var(--text-tertiary);font-style:italic}.details-section{margin-top:var(--spacing-lg)}.section-heading{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md) 0}.info-grid{display:grid;gap:var(--spacing-sm)}.info-row{display:flex;justify-content:space-between;gap:var(--spacing-md)}.info-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.info-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md)}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:var(--spacing-md);text-align:center}.stat-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary)}.stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-xs)}.dealers-consultants-table{margin-top:var(--spacing-sm)}.no-consultants{padding:var(--spacing-md);background:var(--bg-tertiary);border:1px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.landing-container{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);overflow-x:hidden}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:.875rem 2rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.nav-content{max-width:1120px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo-link{display:flex;align-items:center;gap:.75rem;text-decoration:none}.logo-img{height:32px;width:auto}.logo-text{font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--text-primary)}.nav-actions{display:flex;align-items:center;gap:.75rem}.theme-toggle{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease,color .15s ease}.theme-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-btn{font-family:var(--font-sans);font-weight:500;font-size:.9rem;color:var(--text-primary);text-decoration:none;padding:.5rem 1rem;border-radius:var(--border-radius-sm);transition:background-color .15s ease}.nav-btn:hover{background:var(--bg-tertiary)}.hero-section{padding:7.5rem 2rem 4rem;max-width:1120px;margin:0 auto;display:grid;grid-template-columns:3fr 2fr;gap:3rem;align-items:center}.hero-text{animation:fadeInUp .4s ease-out}.hero-title{font-family:var(--font-display);font-size:2.75rem;line-height:1.2;font-weight:400;color:var(--text-primary);margin:0 0 1.25rem;letter-spacing:-.01em}.hero-subtitle{font-family:var(--font-sans);font-size:1.1rem;line-height:1.7;color:var(--text-secondary);margin:0 0 2rem;max-width:540px}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.landing-btn-login{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-primary);color:#fff;padding:.75rem 1.5rem;border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-weight:600;font-size:.95rem;text-decoration:none;transition:background-color .15s ease,box-shadow .15s ease;box-shadow:0 1px 2px #0000001a}.landing-btn-login:hover{background:var(--color-primary-hover);box-shadow:0 2px 4px #00000026}.landing-btn-demo{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--color-accent);padding:.75rem 1.5rem;border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-weight:600;font-size:.95rem;text-decoration:none;border:1.5px solid var(--color-accent);transition:background-color .15s ease,color .15s ease}.landing-btn-demo:hover{background:var(--color-accent);color:#fff}.hero-image-wrapper{animation:fadeInUp .4s ease-out .1s both}.hero-screenshot{width:100%;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border-color);display:block}.trust-strip{padding:2.5rem 2rem;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.trust-strip-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.trust-item{display:flex;align-items:center;gap:.75rem;animation:fadeInUp .4s ease-out both}.trust-item:nth-child(1){animation-delay:.05s}.trust-item:nth-child(2){animation-delay:.1s}.trust-item:nth-child(3){animation-delay:.15s}.trust-item:nth-child(4){animation-delay:.2s}.trust-icon{width:40px;height:40px;border-radius:10px;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.trust-label{font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--text-primary);line-height:1.3}.features-section{padding:5rem 2rem;max-width:1120px;margin:0 auto}.features-header{text-align:center;margin-bottom:3rem;animation:fadeInUp .4s ease-out}.features-header h2{font-family:var(--font-display);font-size:2rem;font-weight:400;color:var(--text-primary);margin:0 0 .75rem}.features-header p{font-family:var(--font-sans);font-size:1.05rem;color:var(--text-secondary);max-width:520px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.feature-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:2rem 1.5rem;transition:border-color .15s ease,box-shadow .15s ease;animation:fadeInUp .4s ease-out both}.feature-card:nth-child(1){animation-delay:.05s}.feature-card:nth-child(2){animation-delay:.1s}.feature-card:nth-child(3){animation-delay:.15s}.feature-card:nth-child(4){animation-delay:.2s}.feature-card:hover{border-color:var(--border-color-hover);box-shadow:var(--shadow-md)}.feature-icon{width:48px;height:48px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.feature-card h3{font-family:var(--font-display);font-size:1.125rem;font-weight:400;color:var(--text-primary);margin:0 0 .5rem}.feature-card p{font-family:var(--font-sans);font-size:.875rem;line-height:1.6;color:var(--text-secondary);margin:0}.cta-section{padding:5rem 2rem}.cta-content{max-width:800px;margin:0 auto;background:var(--color-primary-dark);border-radius:var(--border-radius-lg);padding:3.5rem 2rem;text-align:center;color:#fff;animation:fadeInUp .4s ease-out}[data-theme=dark] .cta-content{background:var(--bg-tertiary);border:1px solid var(--border-color)}.cta-content h2{font-family:var(--font-display);font-size:2rem;font-weight:400;margin:0 0 .75rem}.cta-content p{font-family:var(--font-sans);font-size:1.05rem;opacity:.85;margin:0 0 2rem}.btn-cta{display:inline-flex;align-items:center;gap:.5rem;background:var(--color-accent);color:#fff;padding:.85rem 2rem;border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-weight:600;font-size:1rem;text-decoration:none;transition:opacity .15s ease,box-shadow .15s ease;box-shadow:0 2px 8px #0003}.btn-cta:hover{opacity:.9;box-shadow:0 4px 12px #0000004d}.landing-footer{padding:2.5rem 2rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.footer-content{max-width:1120px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.footer-brand{display:flex;flex-direction:column;gap:.2rem}.footer-brand-name{font-family:var(--font-display);font-size:1.1rem;font-weight:400;color:var(--text-primary)}.footer-brand-sub{font-family:var(--font-sans);font-size:.8rem;color:var(--text-tertiary)}.footer-links{display:flex;align-items:center;gap:1.5rem}.footer-links a{font-family:var(--font-sans);font-size:.85rem;color:var(--text-secondary);text-decoration:none;transition:color .15s ease}.footer-links a:hover{color:var(--color-primary)}.footer-india{font-family:var(--font-sans);font-size:.8rem;color:var(--text-tertiary)}@media (max-width: 968px){.hero-section{grid-template-columns:1fr;text-align:center;padding-top:6rem;gap:2.5rem}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-image-wrapper{max-width:480px;margin:0 auto}.trust-strip-inner{grid-template-columns:repeat(2,1fr);gap:1.25rem}.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.navbar{padding:.75rem 1rem}.logo-text{display:none}.hero-section{padding:5.5rem 1rem 2.5rem}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.trust-strip{padding:2rem 1rem}.trust-strip-inner{grid-template-columns:1fr 1fr;gap:1rem}.features-section{padding:3rem 1rem}.features-header h2{font-size:1.6rem}.features-grid{grid-template-columns:1fr;gap:1rem}.feature-card{padding:1.5rem 1.25rem}.cta-section{padding:3rem 1rem}.cta-content{padding:2.5rem 1.5rem;border-radius:var(--border-radius-md)}.cta-content h2{font-size:1.5rem}.landing-footer{padding:2rem 1rem}.footer-content{flex-direction:column;align-items:center;text-align:center;gap:1rem}.footer-brand{align-items:center}}@media (max-width: 480px){.hero-title{font-size:1.75rem}.hero-actions{flex-direction:column;align-items:center}.landing-btn-login,.landing-btn-demo{width:100%;justify-content:center}.trust-strip-inner{grid-template-columns:1fr}}.renew-license-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b);position:relative;overflow:hidden;padding:2rem}.renew-license-page:before{content:"";position:fixed;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(251,191,36,.15) 0%,transparent 70%);border-radius:50%;filter:blur(80px)}.renew-license-container{text-align:center;position:relative;z-index:1;max-width:500px;width:100%}.renew-license-icon{width:120px;height:120px;margin:0 auto 2rem;border-radius:50%;background:#fbbf2426;display:flex;align-items:center;justify-content:center;color:#fbbf24}.renew-license-title{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:#f8fafc;margin-bottom:1rem}.renew-license-message{font-family:var(--font-sans);font-size:1.125rem;color:#94a3b8;margin-bottom:2rem;line-height:1.6}.renew-license-loading{color:#94a3b8;margin-bottom:2rem;font-size:.95rem}.renew-license-error{color:#ef4444;margin-bottom:2rem;font-size:.95rem}.renew-license-no-dealers{color:#94a3b8;margin-bottom:2rem;font-size:.95rem}.renew-license-no-dealers p{margin:.5rem 0}.dealer-contacts{margin-bottom:2rem}.dealers-heading{color:#f8fafc;font-size:1.25rem;margin-bottom:1rem;font-weight:600}.dealer-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-md, 12px);padding:1.5rem;text-align:left;transition:border-color .2s ease}.dealer-card:hover{border-color:#fff3}.dealer-card.primary{background:#fbbf241a;border-color:#fbbf244d}.dealer-card.primary:hover{border-color:#fbbf2480}.dealer-card-header{display:flex;align-items:center;gap:.5rem;color:#94a3b8;font-size:.875rem;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.dealer-location{color:#94a3b8;font-size:.9rem;margin:0 0 .75rem;font-style:italic}.dealer-email{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary, #1B4965);text-decoration:none;font-size:1rem;transition:color .2s ease}.dealer-email:hover{text-decoration:underline;color:var(--color-primary-hover, #1d6fc7)}.renew-license-btn{display:inline-block;padding:1rem 2rem;border-radius:var(--border-radius-md, 12px);background:var(--color-primary, #1B4965);color:#fff;border:none;font-family:var(--font-sans);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;box-shadow:0 1px 2px #0000001a}.renew-license-btn:hover{box-shadow:0 2px 4px #00000026;background:var(--color-primary-hover, #1d6fc7)}@media (max-width: 480px){.renew-license-page{padding:1rem}.renew-license-title{font-size:2rem}.renew-license-message{font-size:1rem}.renew-license-icon{width:100px;height:100px}.renew-license-icon svg{width:48px;height:48px}.dealer-card{padding:1rem}}.get-demo-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e293b);position:relative;overflow:hidden;padding:2rem}.get-demo-page:before{content:"";position:fixed;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(27,73,101,.15) 0%,transparent 70%);border-radius:50%;filter:blur(80px)}.get-demo-page:after{content:"";position:fixed;bottom:-150px;left:-150px;width:400px;height:400px;background:radial-gradient(circle,rgba(99,102,241,.1) 0%,transparent 70%);border-radius:50%;filter:blur(60px)}.get-demo-container{text-align:center;position:relative;z-index:1;max-width:600px;width:100%}.get-demo-icon{width:120px;height:120px;margin:0 auto 2rem;border-radius:50%;background:#1b496526;display:flex;align-items:center;justify-content:center;color:#1b4965}.get-demo-title{font-family:var(--font-display, "DM Serif Display", serif);font-size:2.5rem;font-weight:700;color:#f8fafc;margin-bottom:1rem}.get-demo-message{font-family:var(--font-sans, "DM Sans", sans-serif);font-size:1.125rem;color:#94a3b8;margin-bottom:2.5rem;line-height:1.7}.get-demo-loading{color:#94a3b8;margin-bottom:2rem;font-size:.95rem}.get-demo-error{color:#ef4444;margin-bottom:2rem;font-size:.95rem}.get-demo-no-dealers{color:#94a3b8;margin-bottom:2rem;font-size:.95rem}.get-demo-no-dealers p{margin:.5rem 0}.dealer-contacts{margin-bottom:2.5rem}.dealers-heading{color:#f8fafc;font-size:1.25rem;margin-bottom:1.5rem;font-weight:600}.dealers-list{display:flex;flex-direction:column;gap:1rem}.dealer-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-md, 12px);padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem;text-align:left;transition:all .2s ease}.dealer-card:hover{border-color:#1b496566;background:#1b49650d;transform:translateY(-2px)}.dealer-card-icon{width:48px;height:48px;border-radius:50%;background:#1b49651a;display:flex;align-items:center;justify-content:center;color:#1b4965;flex-shrink:0}.dealer-card-content{flex:1;min-width:0}.dealer-name{color:#f8fafc;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.dealer-location{display:flex;align-items:center;gap:.375rem;color:#94a3b8;font-size:.875rem;margin:0 0 .5rem}.dealer-email{display:inline-flex;align-items:center;gap:.5rem;color:#1b4965;text-decoration:none;font-size:.95rem;transition:color .2s ease}.dealer-email:hover{text-decoration:underline;color:#1d6fc7}.get-demo-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:var(--border-radius-md, 12px);background:transparent;color:#94a3b8;border:1px solid rgba(255,255,255,.2);font-family:var(--font-sans, "DM Sans", sans-serif);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none}.get-demo-btn:hover{background:#ffffff0d;border-color:#ffffff4d;color:#f8fafc}@media (max-width: 480px){.get-demo-page{padding:1rem}.get-demo-title{font-size:2rem}.get-demo-message{font-size:1rem}.get-demo-icon{width:100px;height:100px}.get-demo-icon svg{width:48px;height:48px}.dealer-card{padding:1rem;flex-direction:column;text-align:center}.dealer-card-content{text-align:center}}.legal-page{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e293b);padding:2rem;position:relative;overflow:hidden}.legal-page:before{content:"";position:fixed;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(27,73,101,.1) 0%,transparent 70%);border-radius:50%;filter:blur(80px);pointer-events:none}.legal-container{max-width:720px;margin:0 auto;position:relative;z-index:1}.legal-back-link{display:inline-flex;align-items:center;gap:.5rem;color:#94a3b8;text-decoration:none;font-size:.9rem;font-weight:500;margin-bottom:2rem;transition:color .2s ease}.legal-back-link:hover{color:#f8fafc}.legal-header{text-align:center;margin-bottom:3rem}.legal-icon{width:72px;height:72px;margin:0 auto 1.25rem;border-radius:50%;background:#1b496526;display:flex;align-items:center;justify-content:center;color:#1b4965}.legal-header h1{font-family:var(--font-display, "DM Serif Display", serif);font-size:2.25rem;font-weight:700;color:#f8fafc;margin:0 0 .5rem}.legal-updated{color:#64748b;font-size:.875rem;margin:0}.legal-content{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--border-radius-lg, 16px);padding:2.5rem}.legal-content section{margin-bottom:2rem}.legal-content section:last-child{margin-bottom:0}.legal-content h2{font-family:var(--font-display, "DM Serif Display", serif);font-size:1.15rem;font-weight:600;color:#f8fafc;margin:0 0 .75rem}.legal-content p{font-family:var(--font-sans, "DM Sans", sans-serif);font-size:.95rem;color:#94a3b8;line-height:1.75;margin:0}.legal-content a{color:#1b4965;text-decoration:none;transition:color .2s ease}.legal-content a:hover{text-decoration:underline;color:#1d6fc7}@media (max-width: 640px){.legal-page{padding:1rem}.legal-header h1{font-size:1.75rem}.legal-content{padding:1.5rem}.legal-icon{width:56px;height:56px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-display: "DM Serif Display", Georgia, "Times New Roman", serif;--font-mono: "IBM Plex Mono", "Consolas", "Monaco", monospace;--font-sans: "DM Sans", -apple-system, sans-serif;--color-primary: #1B4965;--color-primary-hover: #143A52;--color-accent: #B8860B;--color-red: #C53030;--border-radius-lg: 16px;--border-radius-md: 10px;--border-radius-sm: 6px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px -2px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 16px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 16px 32px -8px rgba(0, 0, 0, .15);--bg-dark: #141210;--bg-card: var(--bg-secondary, #F7F6F3);--text-primary: #1A1815;--text-secondary: #706B5F}[data-theme=dark]{--bg-primary: #141210;--bg-secondary: #1C1917;--text-primary: #F5F3EF;--text-secondary: #B5B0A5;--border-color: #3D3832;--bg-card: var(--bg-secondary, #1C1917)}html{font-size:15px;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-primary, #FDFCFA);color:var(--text-primary);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .15s ease,color .15s ease}a{color:var(--color-primary);text-decoration:none;transition:color .15s ease}a:hover{color:var(--color-primary-hover, #143A52)}button{font-family:var(--font-sans);cursor:pointer}input,textarea,select{font-family:var(--font-sans)}::-webkit-scrollbar-thumb{background:var(--border-color, #E5E2DB);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary, #9C9789)}:root{--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}@media (max-width: 768px){*{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overscroll-behavior-y:contain}::-webkit-scrollbar{display:none}*{scrollbar-width:none}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#root{width:100%;min-height:100vh}:root{--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px}:root{--font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "DM Serif Display", Georgia, "Times New Roman", serif;--font-mono: "IBM Plex Mono", "Consolas", "Monaco", monospace;--font-sans: "DM Sans", -apple-system, sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75}.text-xs{font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal)}.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal)}.text-base{font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal)}.text-md{font-size:var(--font-size-md);line-height:var(--line-height-normal);font-weight:var(--font-weight-medium)}.text-lg{font-size:var(--font-size-lg);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold)}.text-xl{font-size:var(--font-size-xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold);font-family:var(--font-display)}.text-2xl{font-size:var(--font-size-2xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-normal);font-family:var(--font-display)}.page-title{font-size:var(--font-size-xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-normal);font-family:var(--font-display);color:var(--text-primary);margin:0 0 var(--spacing-lg) 0}.section-header{font-size:var(--font-size-lg);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md) 0}.helper-text{font-size:var(--font-size-xs);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:var(--text-tertiary);margin-top:var(--spacing-xs)}:root[data-theme=light]{--color-primary: #1B4965;--color-primary-hover: #143A52;--color-primary-light: #E8F0F5;--color-primary-dark: #0D2E42;--color-accent: #B8860B;--color-accent-light: #F5E6C8;--color-accent-gradient: linear-gradient(135deg, #1B4965 0%, #2D6A8A 50%, #B8860B 100%);--border-radius-sm: 6px;--border-radius-md: 10px;--border-radius-lg: 16px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px -2px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 16px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 16px 32px -8px rgba(0, 0, 0, .15);--ease: cubic-bezier(.4, 0, .2, 1);--color-neutral-50: #FAFAF8;--color-neutral-100: #F3F2EF;--color-neutral-200: #E5E2DB;--color-neutral-300: #CCC8BE;--color-neutral-400: #9C9789;--color-neutral-500: #706B5F;--color-neutral-600: #565145;--color-neutral-700: #3D3A32;--color-neutral-800: #2A2722;--color-neutral-900: #1A1815;--bg-primary: #FDFCFA;--bg-secondary: #F7F6F3;--bg-tertiary: #EFEDE8;--bg-hover: #F0EDE7;--text-primary: #1A1815;--text-secondary: #706B5F;--text-tertiary: #9C9789;--text-disabled: #CCC8BE;--border-color: #E5E2DB;--border-color-hover: #CCC8BE;--border-color-focus: #1B4965;--color-success: #0F7B5F;--color-success-light: #E6F4ED;--color-success-dark: #0A5C47;--color-warning: #C27803;--color-warning-light: #FDF3E3;--color-warning-dark: #8B5A02;--color-error: #C53030;--color-error-light: #FDE8E8;--color-error-dark: #9B2C2C;--color-info: var(--color-primary);--color-info-light: var(--color-primary-light);--color-info-dark: var(--color-primary-dark)}:root[data-theme=dark]{--color-primary: #5B9BD5;--color-primary-hover: #7CB3E0;--color-primary-light: #1B3040;--color-primary-dark: #7CB3E0;--color-accent: #D4A847;--color-accent-light: #3D3420;--color-accent-gradient: linear-gradient(135deg, #5B9BD5 0%, #7CB3E0 50%, #D4A847 100%);--border-radius-sm: 6px;--border-radius-md: 10px;--border-radius-lg: 16px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-md: 0 2px 8px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 16px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 16px 32px -8px rgba(0, 0, 0, .5);--ease: cubic-bezier(.4, 0, .2, 1);--color-neutral-50: #141210;--color-neutral-100: #1C1917;--color-neutral-200: #282420;--color-neutral-300: #3D3832;--color-neutral-400: #706B5F;--color-neutral-500: #9C9789;--color-neutral-600: #B5B0A5;--color-neutral-700: #CCC8BE;--color-neutral-800: #E5E2DB;--color-neutral-900: #F5F3EF;--bg-primary: #141210;--bg-secondary: #1C1917;--bg-tertiary: #282420;--bg-hover: #302C27;--text-primary: #F5F3EF;--text-secondary: #B5B0A5;--text-tertiary: #9C9789;--text-disabled: #706B5F;--border-color: #3D3832;--border-color-hover: #4D4840;--border-color-focus: #5B9BD5;--color-success: #0F7B5F;--color-success-light: #0A3D2F;--color-success-dark: #34D399;--color-warning: #C27803;--color-warning-light: #4D3001;--color-warning-dark: #FBBF24;--color-error: #C53030;--color-error-light: #4D1515;--color-error-dark: #F87171;--color-info: var(--color-primary);--color-info-light: var(--color-primary-light);--color-info-dark: var(--color-primary-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);border:1px solid transparent;border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease;-webkit-user-select:none;user-select:none;min-height:40px;white-space:nowrap;font-family:var(--font-sans)}.btn:focus{outline:2px solid var(--border-color-focus);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:#fff;border:none;box-shadow:0 1px 2px #0000001a}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 2px 4px #00000026}.btn-primary:active:not(:disabled){background:var(--color-primary-dark);box-shadow:0 1px 1px #0000001a}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--border-color-hover)}.btn-secondary:active:not(:disabled){background-color:var(--bg-tertiary)}.btn-success{background:var(--color-success);color:#fff;border:none;box-shadow:0 1px 2px #0000001a}.btn-success:hover:not(:disabled){background:var(--color-success-dark);box-shadow:0 2px 4px #00000026}.btn-success:active:not(:disabled){background:var(--color-success-dark);box-shadow:0 1px 1px #0000001a}.btn-warning{background:var(--color-warning);color:#fff;border:none;box-shadow:0 1px 2px #0000001a}.btn-warning:hover:not(:disabled){background:var(--color-warning-dark);box-shadow:0 2px 4px #00000026}.btn-warning:active:not(:disabled){background:var(--color-warning-dark);box-shadow:0 1px 1px #0000001a}.btn-with-icon{display:inline-flex;align-items:center;gap:.5rem}.btn-destructive,.btn-danger{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-destructive:hover:not(:disabled),.btn-danger:hover:not(:disabled){background-color:var(--color-error-dark);border-color:var(--color-error-dark)}.btn-destructive:active:not(:disabled),.btn-danger:active:not(:disabled){background-color:var(--color-error-dark);opacity:.9}.edit-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:background-color .15s ease,color .15s ease;min-width:32px;min-height:32px}.edit-icon-btn:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.edit-icon-btn:active{background-color:var(--color-primary-light);opacity:.8}.edit-icon-btn svg{width:16px;height:16px;display:block}.delete-icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;border-radius:4px;color:var(--text-tertiary);cursor:pointer;transition:background-color .15s ease,color .15s ease;min-width:32px;min-height:32px}.delete-icon-btn:hover{background-color:var(--color-error-light);color:var(--color-error)}.delete-icon-btn:active{background-color:var(--color-error-light);opacity:.8}.delete-icon-btn svg{width:16px;height:16px;display:block}.actions-cell{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;position:relative}.cell-with-actions{display:flex;align-items:center;justify-content:flex-start;width:100%;gap:var(--spacing-md, 16px)}.cell-with-actions>span{flex:0 1 auto}.action-icons{display:flex;align-items:center;gap:var(--spacing-xs, 4px);margin-left:auto;flex-shrink:0}.btn-link{background-color:transparent;color:var(--color-primary);border-color:transparent;padding:var(--spacing-xs) var(--spacing-sm);text-decoration:none}.btn-link:hover:not(:disabled){color:var(--color-primary-hover);text-decoration:underline;background-color:transparent}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);min-height:28px}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);min-height:44px}.form-field,.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--spacing-xs);line-height:var(--line-height-normal)}.form-label.required:after{content:" *";color:var(--color-error)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;transition:border-color .15s ease,box-shadow .15s ease;font-family:var(--font-family)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--border-color-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--bg-tertiary);color:var(--text-disabled);cursor:not-allowed}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus,.form-input:-webkit-autofill:active,input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-primary)!important;-webkit-box-shadow:0 0 0 9999px var(--bg-tertiary) inset!important;box-shadow:0 0 0 9999px var(--bg-tertiary) inset!important;background-color:var(--bg-tertiary)!important;border-color:var(--border-color)!important;transition:background-color 9999s ease-in-out 0s;caret-color:var(--text-primary)}.form-error{border-color:var(--color-error)}.form-error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.form-error-message{color:var(--color-error);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.form-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px;margin-right:-4px;border-radius:4px;background-color:transparent;opacity:.7;transition:opacity .15s ease,background-color .15s ease;filter:var(--calendar-icon-filter, none)}.form-input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1;background-color:var(--bg-hover)}.form-input[type=number]::-webkit-inner-spin-button,.form-input[type=number]::-webkit-outer-spin-button{cursor:pointer;opacity:.7;transition:opacity .15s ease}.form-input[type=number]::-webkit-inner-spin-button:hover,.form-input[type=number]::-webkit-outer-spin-button:hover{opacity:1}[data-theme=dark] .form-input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1)}input[type=checkbox],input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;min-height:18px;margin:0 10px 0 0;vertical-align:middle;border:2px solid var(--border-color-hover);background:var(--bg-primary);cursor:pointer;position:relative;transition:background-color .15s ease,border-color .15s ease;flex-shrink:0;top:-2px}input[type=checkbox]{border-radius:3px}input[type=radio]{border-radius:50%}input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--color-primary)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}input[type=checkbox]:checked,input[type=radio]:checked{background-color:var(--color-primary);border-color:var(--color-primary)}input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700;line-height:1}input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#fff}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.table-container{background:var(--bg-secondary);border-radius:var(--border-radius-sm);overflow:auto;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.table-container::-webkit-scrollbar{width:8px;height:8px}.table-container::-webkit-scrollbar-track{background:transparent}.table-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:8px}.table-container::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.data-table{width:max-content;min-width:100%;border-collapse:collapse;font-family:var(--font-family)}.data-table thead{background:var(--bg-tertiary)}.data-table th{padding:var(--spacing-sm) var(--spacing-lg);text-align:left;font-weight:var(--font-weight-semibold);color:var(--text-secondary);border-bottom:2px solid var(--border-color);font-size:var(--font-size-xs);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.data-table td{padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:var(--font-size-sm);vertical-align:middle}.data-table tbody tr{transition:background-color .1s ease}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.table-toolbar{padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);background:var(--bg-tertiary)}.table-search{flex:1;max-width:400px}.table-sort-button{background:none;border:none;color:inherit;font-weight:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;padding:0}.table-sort-indicator{font-size:var(--font-size-xs);color:var(--text-tertiary);line-height:1}.table-pagination{padding:var(--spacing-sm) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-size-sm)}.table-pagination-controls{display:flex;align-items:center;gap:var(--spacing-md)}.table-pagination-button{padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--border-color);background:var(--bg-primary);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--text-primary);transition:border-color .15s ease,color .15s ease}.table-pagination-button:disabled{opacity:.5;cursor:not-allowed}.table-pagination-button:not(:disabled):hover{border-color:var(--color-primary);color:var(--color-primary)}.table-row-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.status-badge{display:inline-flex;align-items:center;padding:.2rem .625rem;border-radius:9999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.priority-badge{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.priority-low{background:#e8f0f5;color:#1b4965}.priority-medium{background:#fdf3e3;color:#8b5a02}.priority-high{background:#fce8e8;color:#9b2c2c}.priority-urgent{background:#fde8e8;color:#c53030}:root[data-theme=dark] .priority-low{background:#1b3040;color:#7cb3e0}:root[data-theme=dark] .priority-medium{background:#3d2e08;color:#d4a847}:root[data-theme=dark] .priority-high{background:#3d1515;color:#e87c7c}:root[data-theme=dark] .priority-urgent{background:#4d1a1a;color:#f09090}.card{background:var(--bg-secondary);border-radius:var(--border-radius-sm);box-shadow:0 1px 3px #0000000a;border:1px solid var(--border-color);transition:border-color .15s ease,box-shadow .15s ease}.card:hover{border-color:var(--border-color-hover);box-shadow:0 2px 8px #0000000f}.card-header{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.card-body{padding:var(--spacing-lg)}.card-footer{padding:var(--spacing-lg);border-top:1px solid var(--border-color)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog-container{background:var(--bg-primary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-xl);max-width:600px;width:90%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .2s cubic-bezier(.4,0,.2,1);font-family:var(--font-family)}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dialog-container.dialog-large{max-width:900px}.dialog-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color)}.dialog-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);font-family:var(--font-display);color:var(--text-primary);margin:0}.dialog-content{padding:var(--spacing-lg);overflow-y:auto;flex:1}.dialog-actions{padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);border-top:1px solid var(--border-color)}.dialog-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;border:none;transition:background-color .15s ease,color .15s ease;font-family:var(--font-family)}.dialog-btn.btn-cancel{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.dialog-btn.btn-cancel:hover{background:var(--bg-tertiary);color:var(--text-primary)}.dialog-btn.btn-primary{background:var(--color-primary);color:#fff}.dialog-btn.btn-primary:hover{background:var(--color-primary-hover)}.dialog-btn.btn-primary:active{background:var(--color-primary-dark)}.dialog-btn.btn-danger{background:var(--color-error);color:#fff}.dialog-btn.btn-danger:hover{background:var(--color-error-dark)}.page-header h1{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);font-family:var(--font-display);color:var(--text-primary)}.page-content{max-width:1200px}.form-container{background:var(--bg-secondary);padding:var(--spacing-xl);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.form-container h2{margin-top:0;margin-bottom:var(--spacing-lg);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.kanban-board{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-md);margin-top:var(--spacing-lg)}@media (max-width: 1024px){.kanban-board{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.kanban-board{grid-template-columns:1fr}}.kanban-column{background:var(--bg-tertiary);border-radius:var(--border-radius-sm);padding:var(--spacing-md);min-height:400px;border:1px solid var(--border-color)}.kanban-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--border-color)}.kanban-header h3{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.task-count{background:var(--color-primary);color:#fff;padding:.2rem .5rem;border-radius:9999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.kanban-tasks{display:flex;flex-direction:column;gap:var(--spacing-sm)}.kanban-task{background:var(--bg-secondary);padding:var(--spacing-md);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.kanban-task:hover{box-shadow:var(--shadow-md);border-color:var(--border-color-hover)}.task-title{font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs);color:var(--text-primary);font-size:var(--font-size-sm)}.task-description{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--spacing-sm)}.task-footer{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs)}.task-due{color:var(--text-tertiary)}.tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-xs)}.tab{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background .15s ease,color .15s ease;font-family:var(--font-family)}.tab:hover{background:var(--bg-hover);color:var(--text-primary)}.tab.active{background:var(--color-primary);color:#fff}.alert-message{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);background:var(--color-error-light);color:var(--color-error-dark);border:1px solid var(--color-error);font-size:var(--font-size-sm)}.alert-close-btn{background:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border-radius:4px}.alert-close-btn:hover{background:#0000000d}.loading-container{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl)}.view-toggle{display:flex;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);padding:.25rem;border:1px solid var(--border-color)}.view-toggle button{padding:var(--spacing-xs) var(--spacing-md);border:none;background:transparent;cursor:pointer;border-radius:4px;font-size:var(--font-size-sm);color:var(--text-secondary);transition:background-color .15s ease,color .15s ease;font-family:var(--font-family)}.view-toggle button.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-sm)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.page-header h1{font-size:var(--font-size-lg)}.btn-primary.full-width{width:100%;padding:var(--spacing-md);min-height:44px}.form-container{padding:var(--spacing-md)}.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md)}}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.w-full{width:100%}.hidden{display:none}.font-data{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.table-scroll-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (hover: none) and (pointer: coarse){.group-actions,.task-actions,.folder-actions{opacity:1!important}}@media (max-width: 768px){.page-title{font-size:var(--font-size-lg)}.section-header{font-size:var(--font-size-md)}.text-2xl{font-size:var(--font-size-xl)}.btn{min-height:44px;padding:.625rem 1.25rem}.btn-lg{min-height:48px}.form-input,.form-select,.form-textarea{min-height:44px;font-size:16px}.data-table th,.data-table td{padding:.75rem 1rem;font-size:var(--font-size-sm)}.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.table-toolbar{flex-direction:column;align-items:stretch}.table-search{max-width:100%}.table-pagination{flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:.75rem 1rem}}:root{--theme-transition-duration: .15s;--theme-transition-ease: ease}*,*:before,*:after{transition:background-color var(--theme-transition-duration) var(--theme-transition-ease),border-color var(--theme-transition-duration) var(--theme-transition-ease),color var(--theme-transition-duration) var(--theme-transition-ease)}.form-container{background:var(--bg-secondary);padding:var(--spacing-lg);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.status-badge{display:inline-flex;align-items:center;padding:.2rem .625rem;border-radius:9999px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-badge.active{background:var(--color-success-light);color:var(--color-success-dark)}.status-badge.inactive{background:var(--color-error-light);color:var(--color-error-dark)}.status-badge.pending{background:var(--color-warning-light);color:var(--color-warning-dark)}.status-badge.completed{background:var(--color-success-light);color:var(--color-success-dark)}:root[data-theme=dark] .form-container,:root[data-theme=dark] .table-container{background:var(--bg-secondary);border-color:var(--border-color)}:root[data-theme=dark] .kanban-column{background:var(--bg-tertiary);border-color:var(--border-color)}:root[data-theme=dark] .kanban-task,:root[data-theme=dark] .form-input,:root[data-theme=dark] .form-select,:root[data-theme=dark] .form-textarea{background:var(--bg-secondary);border-color:var(--border-color)}:root[data-theme=dark] .password-toggle{color:var(--text-secondary)}:root[data-theme=dark] .password-toggle:hover{color:var(--text-primary)}:root[data-theme=dark] .entity-panel{background:var(--bg-secondary);border-color:var(--border-color)}:root[data-theme=dark] .entity-panel-header{border-color:var(--border-color)}:root[data-theme=dark] .dialog-container{background:var(--bg-primary)}:root[data-theme=dark] .dialog-header,:root[data-theme=dark] .dialog-actions{border-color:var(--border-color)}:root[data-theme=dark] .landing-hero-panel,:root[data-theme=dark] .landing-stat,:root[data-theme=dark] .landing-feature-card{background:var(--bg-secondary);border-color:var(--border-color)}*:focus{outline:2px solid var(--color-primary);outline-offset:2px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary-light);color:var(--text-primary)}.loading-spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#fdfcfacc;display:flex;align-items:center;justify-content:center;z-index:10}:root[data-theme=dark] .loading-overlay{background:#141210b3}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);text-align:center}.empty-state-icon{width:64px;height:64px;color:var(--text-tertiary);margin-bottom:var(--spacing-lg)}.empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.empty-state-description{font-size:var(--font-size-sm);color:var(--text-secondary);max-width:400px}
