@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Instrument+Sans:ital,wght@0,400..700;1,400..700&family=JetBrains+Mono:wght@400;500;600&display=swap";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";.toast-container{position:fixed;top:72px;right:var(--spacing-lg);z-index:9999;display:flex;flex-direction:column;gap:var(--spacing-sm);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-sm);background:var(--bg-primary);border:1px solid var(--border-color);min-width:280px;max-width:420px;pointer-events:all}.toast-icon{flex-shrink:0}.toast-success .toast-icon{color:var(--color-success)}.toast-error .toast-icon{color:var(--color-error)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info .toast-icon{color:var(--color-accent)}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-error)}.toast-warning{border-left:3px solid var(--color-warning)}.toast-info{border-left:3px solid var(--color-accent)}.toast-message{flex:1;font-size:var(--font-size-sm);color:var(--text-primary);line-height:var(--line-height-normal)}.toast-close{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:color .15s ease,background .15s ease;flex-shrink:0}.toast-close:hover{color:var(--text-primary);background:var(--bg-hover)}@media (max-width: 768px){.toast-container{left:var(--spacing-md);right:var(--spacing-md)}.toast{min-width:0;max-width:100%}}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);padding:var(--spacing-lg) 0;display:flex;flex-direction:column;height:calc(100vh - var(--topbar-height));position:fixed;left:0;top:var(--topbar-height);z-index:50;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:background-color .15s ease}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.nav-section{margin-bottom:0}.nav-section:not(:first-child){padding-top:var(--spacing-md);margin-top:0;position:relative}.nav-section:not(:first-child):before{content:"";position:absolute;top:0;left:var(--spacing-lg);right:var(--spacing-lg);height:1px;background:var(--border-color)}.nav-section-label{font-size:11px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-xs);-webkit-user-select:none;user-select:none;font-family:var(--font-sans)}.nav-section-logout{margin-top:auto;margin-bottom:var(--spacing-md);padding-top:var(--spacing-lg);position:relative}.nav-section-logout:before{content:"";position:absolute;top:0;left:var(--spacing-lg);right:var(--spacing-lg);height:1px;background:var(--border-color)}.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-left:2px solid transparent;min-height:40px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);cursor:pointer;background:none;border-top:none;border-right:none;border-bottom:none;width:100%;text-align:left;font-family:var(--font-sans);border-radius:0}.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);line-height:var(--line-height-normal)}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:var(--bg-tertiary);color:var(--text-primary);border-left-color:var(--color-accent);border-left-width:2px;font-weight:var(--font-weight-medium)}.nav-item.active .nav-icon{color:var(--color-accent)}.nav-item-logout{color:var(--text-secondary)}.nav-item-logout:hover{background:var(--color-error-light);color:var(--color-error)}@media (max-width: 1024px) and (min-width: 769px){.sidebar{position:fixed;top:var(--topbar-height);left:0;width:var(--sidebar-width);height:calc(100vh - var(--topbar-height));z-index:999;transform:translate(-100%);transition:transform .3s ease-in-out,background-color .15s ease}.sidebar.open{transform:translate(0)}}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;height:100dvh;z-index:999;transform:translate(-100%);transition:transform .3s ease-in-out,background-color .15s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg-secondary);padding-top:calc(var(--spacing-lg) + var(--safe-area-top, 0px));padding-bottom:calc(var(--spacing-lg) + 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:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.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);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)}.notification-item.unread:hover{background:var(--bg-hover)}.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-hover);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:var(--color-primary-light)}[data-theme=dark] .notification-item.unread:hover{background:var(--bg-hover)}@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)}}.command-bar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:#0006;display:flex;justify-content:center;padding-top:15vh}.command-bar{width:100%;max-width:520px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;max-height:420px;display:flex;flex-direction:column}.command-bar-input-wrapper{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);gap:var(--spacing-sm)}.command-bar-search-icon{color:var(--text-tertiary);flex-shrink:0}.command-bar-input{flex:1;border:none;background:none;font-size:var(--font-size-base);color:var(--text-primary);outline:none;font-family:var(--font-sans)}.command-bar-input::placeholder{color:var(--text-tertiary)}.command-bar-kbd{font-size:11px;padding:2px 6px;border:1px solid var(--border-color);border-radius:4px;color:var(--text-tertiary);background:var(--bg-tertiary);font-family:var(--font-sans)}.command-bar-results{overflow-y:auto;padding:var(--spacing-xs)}.command-bar-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);width:100%;border:none;background:none;cursor:pointer;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);color:var(--text-secondary);font-family:var(--font-sans);text-align:left;transition:background .1s ease,color .1s ease}.command-bar-item:hover,.command-bar-item.selected{background:var(--bg-hover);color:var(--text-primary)}.command-bar-item-icon{color:var(--text-tertiary);flex-shrink:0}.command-bar-item.selected .command-bar-item-icon{color:var(--color-primary)}.command-bar-empty{padding:var(--spacing-xl);text-align:center;font-size:var(--font-size-sm);color:var(--text-tertiary)}@media (max-width: 768px){.command-bar-overlay{padding:var(--spacing-md);padding-top:10vh}.command-bar{max-height:60vh}}.top-bar{background:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:0 var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;height:var(--topbar-height);min-height:var(--topbar-height);flex-shrink:0}.top-bar-title{font-family:var(--font-family);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.top-bar-actions{display:flex;gap:var(--spacing-sm);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:var(--border-radius-sm);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:24px;width:auto}.top-bar-brand-text{font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.2;letter-spacing:-.01em}.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:var(--border-radius-sm);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:36px;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-status-badge{padding:1px 6px;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;border:1px solid var(--border-color)}.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-sm);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-accent-light)}.entity-dropdown-item.active .entity-dropdown-name{color:var(--color-accent);font-weight:var(--font-weight-medium)}.entity-dropdown-name{color:var(--text-primary);font-weight:var(--font-weight-medium)}.entity-dropdown-status{color:var(--text-tertiary);font-size:var(--font-size-xs);text-transform:uppercase}.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:4px;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);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-sm);flex:0 0 auto}.top-bar-icon-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);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:var(--border-radius-sm);cursor:pointer;transition:background-color .15s ease,border-color .15s ease;min-height:36px;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:1px 6px;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase;white-space:nowrap;border:1px solid var(--border-color)}.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-sm);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: 1024px) and (min-width: 769px){.menu-toggle{display:flex}}@media (max-width: 768px){.top-bar{padding:0 var(--spacing-md);padding-top:var(--safe-area-top, 0px);height:calc(var(--topbar-height) + var(--safe-area-top, 0px));min-height:calc(var(--topbar-height) + 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:36px;height:36px;min-width:36px;min-height:36px;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);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-xs)}.entity-dropdown{position:fixed;top:calc(var(--topbar-height) + 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(var(--topbar-height) + var(--safe-area-top, 0px));right:var(--spacing-md);left:auto;min-width:200px}}.project-selector{position:relative}.project-selector-loading{padding:var(--spacing-md);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}.project-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}.project-selector-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.project-select{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:var(--font-size-sm);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.project-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.project-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}.project-option{padding:.75rem 1rem;font-family:var(--font-sans);font-size:.95rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.project-option:hover{background:var(--bg-hover)}.project-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 .15s ease;display:flex;flex-direction:column}.main-layout-content{display:flex;flex:1;overflow:hidden;position:relative;min-height:0}.main-content{padding:var(--spacing-xl);max-width:var(--content-max-width);margin:0 auto;position:relative;z-index:1;flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;margin-left:var(--sidebar-width);min-height:0;display:flex;flex-direction:column}.entity-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay, rgba(0, 0, 0, .35));z-index:997}.entity-panel{position:fixed;top:var(--topbar-height);right:0;width:320px;max-width:100%;height:calc(100vh - var(--topbar-height));background:var(--bg-secondary);border-left:1px solid var(--border-color);transform:translate(100%);transition:transform .2s ease-out,background-color .15s ease;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) var(--spacing-lg);border-bottom:1px solid var(--border-color)}.entity-panel-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.entity-panel-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-secondary);padding:.25rem}.entity-panel-close:hover{color:var(--text-primary)}.entity-panel-body{padding:var(--spacing-md) var(--spacing-lg);overflow-y:auto}.sidebar-overlay{display:none}@media (max-width: 1024px) and (min-width: 769px){.main-content{margin-left:0;padding:var(--spacing-lg)}.sidebar-overlay{display:none}.sidebar-overlay.visible{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay, rgba(0, 0, 0, .35));z-index:998}}@media (max-width: 768px){.main-layout{height:100vh;height:100dvh}.main-layout-content{position:relative}.main-content{padding:var(--spacing-md);padding-bottom:calc(var(--spacing-md) + var(--safe-area-bottom, 0px));width:100%;max-width:100vw;overflow-x:hidden;-webkit-overflow-scrolling:touch;margin-left:0}.entity-panel{top:var(--topbar-height);height:calc(100dvh - var(--topbar-height));width:100%;max-width:100%}.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay, rgba(0, 0, 0, .5));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-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 10%,transparent);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-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;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--text-secondary)}.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:var(--border-radius-sm)}.btn-login{width:100%;margin-top:1.5rem;padding:.875rem;background:var(--color-primary);color:var(--color-primary-text);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-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 10%,transparent)}.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}.auth-links{text-align:center;margin-top:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.auth-link{color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-sm)}.auth-link:hover{color:var(--color-primary);text-decoration:underline}.auth-link-primary{color:var(--color-primary);font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;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,color .15s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn:focus-visible{outline:2px solid var(--color-accent);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:var(--color-primary-text);border-color:var(--color-primary)}.btn-primary:active:not(:disabled){opacity:.9}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-color-hover)}.btn-secondary:active:not(:disabled){background:var(--bg-hover)}.btn-success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-success:active:not(:disabled){opacity:.9}.btn-warning{background:var(--color-warning);color:#fff;border-color:var(--color-warning)}.btn-warning:active:not(:disabled){opacity:.9}.btn-danger{background:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-danger:hover:not(:disabled){background:var(--color-error-dark);border-color:var(--color-error-dark)}.btn-danger:active:not(:disabled){opacity:.9}.btn-link{background:transparent;color:var(--color-accent);padding:.5rem 1rem;border-color:transparent}.btn-link:hover:not(:disabled){color:var(--color-accent-hover);text-decoration:underline;background:transparent;transform:none}.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 rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.btn-text{display:inline-flex;align-items:center}@media (max-width: 768px){.btn-lg{padding:.875rem 1.75rem;font-size:var(--font-size-sm)}.btn-md{padding:.625rem 1.25rem}.btn-sm{padding:.5rem .875rem;font-size:var(--font-size-xs)}}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--border-radius-sm)}.skeleton-text{height:16px;width:100%;border-radius:var(--border-radius-sm)}.skeleton-circular{border-radius:50%;width:40px;height:40px;flex-shrink:0}.skeleton-rectangular{width:100%;height:120px}.skeleton-card{width:100%;height:100px;border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.skeleton-group{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.empty-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;gap:var(--spacing-sm)}.empty-state-icon-wrapper{width:64px;height:64px;border-radius:var(--border-radius-sm);background:var(--color-accent-light);display:flex;align-items:center;justify-content:center;color:var(--color-accent);margin-bottom:var(--spacing-xs)}.empty-state-title{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.empty-state-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;max-width:320px;line-height:var(--line-height-normal)}.empty-state-container .btn{margin-top:var(--spacing-sm)}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:0;overflow:hidden;transition:border-color .15s ease;display:flex;flex-direction:column}.card--clickable{cursor:pointer}.card--selected{border-color:var(--color-accent);border-width:2px}.card__image{width:100%;aspect-ratio:16 / 10;overflow:hidden;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:center}.card__image img{width:100%;height:100%;object-fit:cover}.card__content{padding:var(--spacing-lg);flex:1}.card__title{font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-xs) 0;letter-spacing:-.01em;line-height:var(--line-height-tight)}.card__subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-sm) 0;line-height:var(--line-height-normal)}.card__badges{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.card__metadata{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-md);font-size:var(--font-size-xs);color:var(--text-tertiary)}.card__meta-item{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.card__meta-item svg{width:14px;height:14px;flex-shrink:0}.card__actions{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);display:flex;align-items:center;gap:var(--spacing-sm)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-family:var(--font-family);letter-spacing:.02em;text-transform:uppercase;border:1px solid;line-height:var(--line-height-normal);white-space:nowrap}.badge--sm{padding:1px 6px;font-size:10px}.badge--md{padding:2px 8px;font-size:var(--font-size-xs)}.badge--default{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}.badge--concept{background:var(--color-accent-light);color:var(--color-accent);border-color:currentColor}.badge--active{background:var(--color-success-light);color:var(--color-success);border-color:currentColor}.badge--completed{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}.badge--warning{background:var(--color-warning-light);color:var(--color-warning);border-color:currentColor}.badge--info{background:var(--color-info-light);color:var(--color-info);border-color:currentColor}.badge--error{background:var(--color-error-light);color:var(--color-error);border-color:currentColor}.metric-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-lg);transition:border-color .15s ease}.metric-card:hover{border-color:var(--border-color-hover)}.metric-card--clickable{cursor:pointer}.metric-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.metric-card__label{font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em}.metric-card__icon{display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.metric-card__icon svg{width:18px;height:18px}.metric-card__value{font-family:var(--font-family);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:var(--line-height-tight);letter-spacing:-.02em}.metric-card__trend{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.metric-card__trend--up{color:var(--color-success)}.metric-card__trend--down{color:var(--color-error)}.metric-card__trend--flat{color:var(--text-tertiary)}.dashboard{width:100%}.dashboard__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl)}.dashboard__header-text{min-width:0}.dashboard__greeting{font-family:var(--font-family);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;line-height:var(--line-height-tight);letter-spacing:-.01em}.dashboard__summary{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--spacing-xs) 0 0;display:flex;align-items:center;gap:var(--spacing-xs)}.dashboard__summary-dot{width:3px;height:3px;border-radius:50%;background:var(--text-tertiary)}.dashboard__quick-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.dashboard__hero-zone{display:grid;grid-template-columns:1fr 320px;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.dashboard__hero-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden;cursor:pointer;transition:border-color .15s ease;display:flex;flex-direction:column}.dashboard__hero-card:hover{border-color:var(--border-color-hover)}.dashboard__hero-card--empty{cursor:default;display:flex;align-items:center;justify-content:center;min-height:320px}.dashboard__hero-card--empty:hover{border-color:var(--border-color)}.dashboard__hero-image{width:100%;aspect-ratio:16 / 8;display:flex;align-items:center;justify-content:center;position:relative;border-bottom:1px solid var(--border-color)}.dashboard__hero-initials{font-family:var(--font-family);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:#ffffff59;letter-spacing:.08em;-webkit-user-select:none;user-select:none}.dashboard__hero-image .badge{position:absolute;top:var(--spacing-md);right:var(--spacing-md)}.dashboard__hero-info{padding:var(--spacing-lg);flex:1}.dashboard__hero-name{font-family:var(--font-family);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-xs) 0;letter-spacing:-.01em;line-height:var(--line-height-tight)}.dashboard__hero-client{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-md) 0}.dashboard__hero-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--text-tertiary)}.dashboard__hero-meta-item{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.dashboard__hero-meta-item svg{flex-shrink:0}.dashboard__metrics{display:flex;flex-direction:column;gap:var(--spacing-md)}.dashboard__action-zone{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.dashboard__action-cards{display:flex;flex-direction:column;gap:var(--spacing-sm)}.dashboard__action-card{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;transition:border-color .15s ease,background-color .15s ease;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap}.dashboard__action-card:hover{border-color:var(--color-accent);background:var(--bg-hover)}.dashboard__action-card svg{color:var(--text-secondary);flex-shrink:0}.dashboard__attention{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden}.dashboard__attention-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color)}.dashboard__attention-header h2{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;color:var(--text-primary)}.dashboard__attention-count{font-size:var(--font-size-xs);color:var(--text-tertiary)}.dashboard__attention-empty{padding:var(--spacing-xl);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--text-tertiary);font-size:var(--font-size-sm)}.dashboard__attention-list{list-style:none;padding:0;margin:0}.dashboard__attention-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color .15s ease;border-left:3px solid transparent}.dashboard__attention-item:last-child{border-bottom:none}.dashboard__attention-item:hover{background:var(--bg-hover)}.dashboard__attention-item--high{border-left-color:var(--color-error)}.dashboard__attention-item--medium{border-left-color:var(--color-warning)}.dashboard__attention-item--low{border-left-color:var(--color-info)}.dashboard__attention-icon{color:var(--text-tertiary);flex-shrink:0}.dashboard__attention-item--high .dashboard__attention-icon{color:var(--color-error)}.dashboard__attention-item--medium .dashboard__attention-icon{color:var(--color-warning)}.dashboard__attention-content{flex:1;min-width:0}.dashboard__attention-text{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard__attention-subtext{display:block;font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:1px}.dashboard__attention-arrow{color:var(--text-tertiary);flex-shrink:0}.dashboard__pipeline{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.dashboard__pipeline-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.dashboard__pipeline-header h2{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;color:var(--text-primary)}.dashboard__pipeline-total{font-size:var(--font-size-xs);color:var(--text-tertiary)}.dashboard__pipeline-bar{display:flex;height:24px;border-radius:var(--border-radius-sm);overflow:hidden;gap:1px}.dashboard__pipeline-segment{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:var(--font-weight-semibold);color:#fff;transition:width .3s ease;min-width:0}.dashboard__pipeline-segment--concept{background:#6b7280}.dashboard__pipeline-segment--schematic{background:#3b82f6}.dashboard__pipeline-segment--design-dev{background:#6366f1}.dashboard__pipeline-segment--construction-docs{background:var(--color-accent)}.dashboard__pipeline-segment--permitting{background:#eab308}.dashboard__pipeline-segment--bidding{background:#f97316}.dashboard__pipeline-segment--construction{background:#16a34a}.dashboard__pipeline-segment--closeout{background:#10b981}.dashboard__pipeline-segment--completed{background:#22c55e}.dashboard__pipeline-legend{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.dashboard__pipeline-legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:11px;color:var(--text-secondary)}.dashboard__pipeline-dot{width:8px;height:8px;border-radius:var(--border-radius-sm);display:inline-block;flex-shrink:0}.dashboard__pipeline-dot--concept{background:#6b7280}.dashboard__pipeline-dot--schematic{background:#3b82f6}.dashboard__pipeline-dot--design-dev{background:#6366f1}.dashboard__pipeline-dot--construction-docs{background:var(--color-accent)}.dashboard__pipeline-dot--permitting{background:#eab308}.dashboard__pipeline-dot--bidding{background:#f97316}.dashboard__pipeline-dot--construction{background:#16a34a}.dashboard__pipeline-dot--closeout{background:#10b981}.dashboard__pipeline-dot--completed{background:#22c55e}.dashboard__pipeline-dot--on-hold{background:#f59e0b}.dashboard__pipeline-dot--cancelled{background:#ef4444}.dashboard__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.dashboard__section-header h2{font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0;color:var(--text-primary)}.dashboard__view-all{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:none;border:none;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-accent);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);transition:color .15s ease}.dashboard__view-all:hover{color:var(--color-accent-hover)}.dashboard__projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.dashboard__project-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.dashboard__project-placeholder-initials{font-family:var(--font-family);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:#ffffff4d;letter-spacing:.06em;-webkit-user-select:none;user-select:none}.dashboard__empty-projects{margin-top:var(--spacing-xl)}@media (max-width: 1280px){.dashboard__hero-zone{grid-template-columns:1fr}.dashboard__metrics{flex-direction:row;flex-wrap:wrap}.dashboard__metrics .metric-card{flex:1;min-width:140px}.dashboard__action-zone{grid-template-columns:1fr}.dashboard__action-cards{flex-direction:row;flex-wrap:wrap}.dashboard__action-card{flex:1;min-width:130px;justify-content:center}.dashboard__projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 768px){.dashboard__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.dashboard__greeting{font-size:var(--font-size-lg)}.dashboard__quick-actions{width:100%}.dashboard__quick-actions .btn{flex:1;min-width:0}.dashboard__metrics{flex-direction:column}.dashboard__metrics .metric-card{min-width:unset}.dashboard__action-cards{flex-direction:column}.dashboard__action-card{min-width:unset}.dashboard__projects-grid{grid-template-columns:1fr}.dashboard__pipeline-legend{gap:var(--spacing-sm)}}.error-state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;gap:var(--spacing-sm)}.error-state-icon-wrapper{width:56px;height:56px;border-radius:var(--border-radius-sm);background:var(--color-error-light);display:flex;align-items:center;justify-content:center;color:var(--color-error);margin-bottom:var(--spacing-xs)}.error-state-title{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.error-state-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;max-width:320px;line-height:var(--line-height-normal)}.error-state-container .btn{margin-top:var(--spacing-sm)}.date-range-filter{display:inline-flex;align-items:center}.date-range-filter__select{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-md) var(--spacing-xs) var(--spacing-sm);cursor:pointer;outline:none;transition:border-color .15s ease;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;min-width:140px}.date-range-filter__select:hover{border-color:var(--border-color-hover)}.date-range-filter__select:focus{border-color:var(--border-color-focus)}.analytics-page{width:100%}.analytics-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl)}.analytics-header h1{font-family:var(--font-family);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;letter-spacing:-.01em;line-height:var(--line-height-tight)}.analytics-kpi-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.analytics-kpi-row .metric-card{flex:1;min-width:160px}.analytics-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.analytics-chart-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-lg);min-height:320px;display:flex;flex-direction:column}.analytics-chart-card__title{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md) 0;letter-spacing:0}.analytics-chart-card__content{flex:1;display:flex;align-items:center;justify-content:center;min-height:0}.analytics-gauge-section{display:flex;justify-content:center;margin-bottom:var(--spacing-xl)}.analytics-gauge-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-lg);width:100%;max-width:400px}.analytics-gauge-card__title{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0;text-align:center}.analytics-skeleton-kpi{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.analytics-skeleton-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}@media (max-width: 1024px){.analytics-kpi-row{flex-wrap:wrap}.analytics-kpi-row .metric-card{min-width:140px}.analytics-chart-grid{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.analytics-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.analytics-kpi-row{flex-direction:column}.analytics-kpi-row .metric-card{min-width:unset}.analytics-chart-grid{grid-template-columns:1fr}.analytics-skeleton-kpi{flex-direction:column}.analytics-skeleton-grid{grid-template-columns:1fr}}.unauthorized-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.unauthorized-container{text-align:center}.unauthorized-icon{width:120px;height:120px;margin:0 auto 2rem;border-radius:50%;background:var(--color-error-light);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:var(--text-primary);margin-bottom:1rem}.unauthorized-message{font-family:var(--font-sans);font-size:1.125rem;color:var(--text-secondary);margin-bottom:2rem}.unauthorized-btn{padding:1rem 2rem;border-radius:var(--border-radius-md);background:var(--color-primary);color:#fff;border:none;font-family:var(--font-sans);font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm)}.unauthorized-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.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 .15s ease;outline:none}.form-input::placeholder{color:var(--text-tertiary);opacity:.7}.form-input:focus{border-color:var(--border-color-focus);outline:2px solid var(--color-accent);outline-offset:1px;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);outline:2px solid var(--color-error);outline-offset:1px}.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='%23666' 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='%23999' 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);outline:2px solid var(--color-accent);outline-offset:1px}[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='%23aaa' 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-family:var(--font-mono);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-accent);background:var(--bg-hover)}.date-input-wrapper:focus-within .date-icon{color:var(--color-accent)}[data-theme=dark] .date-icon{color:var(--text-secondary)}[data-theme=dark] .date-icon:hover{color:var(--color-accent);background:var(--bg-hover)}[data-theme=dark] .date-input-wrapper:focus-within .date-icon{color:var(--color-accent)}.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 .15s ease}.phone-input-group:focus-within{border-color:var(--border-color-focus);outline:2px solid var(--color-accent);outline-offset:1px}.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);outline:2px solid var(--color-error);outline-offset:1px}.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-family:var(--font-mono);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);outline:2px solid var(--color-accent);outline-offset:1px}[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)}}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);overflow:hidden;flex-shrink:0;border:1px solid var(--border-color)}.avatar--sm{font-size:11px}.avatar--md{font-size:13px}.avatar--lg{font-size:16px}.avatar__image{width:100%;height:100%;object-fit:cover}.avatar__initial{font-family:var(--font-family);font-weight:var(--font-weight-semibold);color:#fff;line-height:1;letter-spacing:.01em;-webkit-user-select:none;user-select:none}.avatar--overflow{background:var(--bg-tertiary);border-color:var(--border-color)}.avatar--overflow .avatar__initial{color:var(--text-secondary);font-size:10px;font-weight:var(--font-weight-medium)}.avatar-stack{display:flex;align-items:center}.avatar-stack .avatar{margin-left:-8px;border:2px solid var(--bg-secondary)}.avatar-stack .avatar:first-child{margin-left:0}.master-detail{display:flex;height:100%;gap:0}.master-detail__master{overflow-y:auto;flex-shrink:0;border-right:1px solid var(--border-color);background:var(--bg-primary)}.master-detail__detail{flex:1;overflow-y:auto;background:var(--bg-primary);min-width:0}.master-detail__detail-content{padding:var(--spacing-xl)}.master-detail__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;color:var(--text-tertiary);gap:var(--spacing-md)}.master-detail__empty p{margin:0;font-size:var(--font-size-sm);font-family:var(--font-family)}@media (max-width: 1024px){.master-detail{flex-direction:column}.master-detail__master{width:100%!important;min-width:100%!important;max-height:40vh;border-right:none;border-bottom:1px solid var(--border-color)}.master-detail__detail-content{padding:var(--spacing-lg)}}.email-detail{padding:var(--spacing-md)}.email-detail-skeleton{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.email-detail-error{text-align:center;padding:var(--spacing-lg);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm)}.email-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.email-detail-header-left{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0;flex-wrap:wrap}.email-detail-subject{margin:0;font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:var(--line-height-tight)}.email-detail-direction-badge{display:inline-flex;align-items:center;gap:3px;padding:2px var(--spacing-sm);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-sm);white-space:nowrap;flex-shrink:0}.email-detail-direction-badge.sent{background:var(--color-accent-light);color:var(--color-accent)}.email-detail-direction-badge.received{background:var(--bg-tertiary);color:var(--text-secondary)}.email-detail-close-btn{all:unset;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background-color .12s ease,color .12s ease}.email-detail-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.email-detail-meta{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md) 0;border-bottom:1px solid var(--border-color)}.email-detail-meta-row{display:flex;align-items:baseline;gap:var(--spacing-sm)}.email-detail-meta-label{flex-shrink:0;width:36px;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.email-detail-meta-value{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);word-break:break-all}.email-detail-body{padding:var(--spacing-md) 0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);overflow-x:auto;max-width:100%;word-break:break-word}.email-detail-body img{max-width:100%;height:auto}.email-detail-body a{color:var(--color-accent);text-decoration:underline}.email-detail-body table{max-width:100%;border-collapse:collapse}.email-detail-body blockquote{margin:var(--spacing-sm) 0;padding-left:var(--spacing-md);border-left:2px solid var(--border-color);color:var(--text-secondary)}.email-detail-body pre{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-sm);overflow-x:auto;font-family:var(--font-mono);font-size:var(--font-size-sm)}.email-detail-body p{margin:0 0 var(--spacing-sm) 0}.email-detail-attachments{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-sm)}@media (max-width: 768px){.email-detail{padding:var(--spacing-sm)}.email-detail-subject{font-size:var(--font-size-base)}.email-detail-meta-label{width:28px}}.email-timeline{display:flex;flex-direction:column;width:100%}.email-timeline-header{display:flex;justify-content:flex-end;padding-bottom:var(--spacing-md)}.email-timeline-compose-btn{all:unset;display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color .12s ease,color .12s ease}.email-timeline-compose-btn:hover{background:var(--color-accent);color:var(--color-primary-text)}.email-timeline-skeleton{display:flex;flex-direction:column;gap:var(--spacing-sm)}.email-timeline-list{display:flex;flex-direction:column}.email-timeline-item{position:relative;border-bottom:1px solid var(--border-color)}.email-timeline-item:last-child{border-bottom:none}.email-timeline-item.direction-sent{border-left:3px solid var(--color-accent)}.email-timeline-item.direction-received{border-left:3px solid var(--color-neutral-300)}.email-timeline-item.threaded{margin-left:var(--spacing-sm);border-left-width:2px}.email-timeline-item.threaded.direction-sent{border-left-color:var(--color-accent)}.email-timeline-item.threaded.direction-received{border-left-color:var(--color-neutral-300)}.email-timeline-item.thread-start{margin-top:var(--spacing-xs)}.email-timeline-item.expanded .email-timeline-card{background:var(--bg-tertiary)}.email-timeline-card{all:unset;display:flex;align-items:flex-start;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);cursor:pointer;box-sizing:border-box;transition:background-color .12s ease}.email-timeline-card:hover{background:var(--bg-hover)}.email-timeline-direction{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--border-radius-sm);margin-top:1px}.email-timeline-direction.sent{background:var(--color-accent-light);color:var(--color-accent)}.email-timeline-direction.received{background:var(--bg-tertiary);color:var(--text-tertiary)}.email-timeline-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.email-timeline-meta-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.email-timeline-from{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-timeline-date{flex-shrink:0;font-family:var(--font-family);font-size:var(--font-size-xs);color:var(--text-tertiary)}.email-timeline-subject{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-timeline-snippet{font-family:var(--font-family);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.email-timeline-indicators{flex-shrink:0;display:flex;align-items:center;gap:var(--spacing-xs);margin-top:2px}.email-timeline-attachment-icon{color:var(--text-tertiary)}.email-timeline-detail-wrapper{overflow:hidden;border-top:1px solid var(--border-color)}.email-timeline-load-more{display:flex;justify-content:center;padding:var(--spacing-md) 0}.email-timeline-load-more-btn{all:unset;display:inline-flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);transition:color .12s ease,border-color .12s ease}.email-timeline-load-more-btn:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent)}.email-timeline-load-more-btn:disabled{opacity:.5;cursor:default}[data-theme=dark] .email-timeline-item.direction-received{border-left-color:var(--color-neutral-600)}[data-theme=dark] .email-timeline-direction.received{background:var(--color-neutral-100);color:var(--color-neutral-500)}@media (max-width: 768px){.email-timeline-card{padding:var(--spacing-sm)}.email-timeline-direction{width:24px;height:24px}.email-timeline-item.threaded{margin-left:var(--spacing-xs)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg)}.modal-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;position:relative;box-sizing:border-box}.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-family:var(--font-family);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);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:var(--border-radius-sm)}.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)}@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-md) var(--border-radius-md) 0 0;animation:modalSlideUp .3s ease-out}.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,transform .1s ease}.modal-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-close-btn:active{transform:scale(.97)}.modal-close-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.delete-modal-content{padding:var(--spacing-lg)}.delete-firm-warning{background:var(--color-warning-light);border:1px solid var(--color-warning);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-warning-dark);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.delete-firm-warning p{margin:var(--spacing-sm) 0;color:var(--color-warning-dark);line-height:1.5}.delete-firm-warning ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg);color:var(--color-warning-dark)}.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-accent);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-accent-hover);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-error)}.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-family);transition:border-color .2s ease}.delete-firm-input:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--border-color-focus)}.delete-firm-input:disabled{background:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.modal-footer .btn-danger{background:var(--color-error);color:#fff;border:1px solid var(--color-error);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:var(--color-error-dark);border-color:var(--color-error-dark)}.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}.email-compose-modal.size-lg{max-width:640px}.email-compose-form{display:flex;flex-direction:column;gap:0}.email-compose-field{display:flex;align-items:center;border-bottom:1px solid var(--border-color);padding:var(--spacing-sm) 0}.email-compose-label{flex-shrink:0;width:52px;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.email-compose-input{flex:1;border:none;outline:none;background:transparent;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);padding:var(--spacing-xs) 0}.email-compose-input::placeholder{color:var(--text-tertiary)}.email-compose-account-selector{flex:1;position:relative}.email-compose-account-trigger{all:unset;display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);padding:var(--spacing-xs) 0}.email-compose-account-trigger:disabled{cursor:default}.email-compose-account-value{display:flex;align-items:center;gap:var(--spacing-sm)}.email-compose-account-placeholder{color:var(--text-tertiary)}.email-compose-provider-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.email-compose-provider-dot.provider-gmail{background:#ea4335}.email-compose-provider-dot.provider-outlook{background:#0078d4}.email-compose-account-dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);margin-top:var(--spacing-xs);overflow:hidden}.email-compose-account-option{all:unset;display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;box-sizing:border-box;transition:background-color .12s ease}.email-compose-account-option:hover{background:var(--bg-hover)}.email-compose-account-option.selected{background:var(--color-accent-light);color:var(--color-accent)}.email-compose-editor-wrapper{border:1px solid var(--border-color);border-radius:var(--border-radius-md);margin-top:var(--spacing-md);overflow:hidden;transition:border-color .15s ease}.email-compose-editor-wrapper:focus-within{border-color:var(--border-color-focus)}.email-compose-toolbar{display:flex;align-items:center;gap:2px;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.email-compose-toolbar-btn{all:unset;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;transition:background-color .12s ease,color .12s ease}.email-compose-toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.email-compose-toolbar-btn.active{background:var(--color-accent-light);color:var(--color-accent)}.email-compose-toolbar-separator{width:1px;height:18px;background:var(--border-color);margin:0 var(--spacing-xs)}.email-compose-editor{min-height:200px;max-height:320px;overflow-y:auto}.email-compose-editor .ProseMirror{min-height:200px;padding:var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);outline:none}.email-compose-editor .ProseMirror p{margin:0 0 var(--spacing-sm) 0}.email-compose-editor .ProseMirror p:last-child{margin-bottom:0}.email-compose-editor .ProseMirror ul,.email-compose-editor .ProseMirror ol{margin:0 0 var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.email-compose-editor .ProseMirror a{color:var(--color-accent);text-decoration:underline}.email-compose-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-tertiary);pointer-events:none;height:0}.email-compose-attachments{margin-top:var(--spacing-md)}.email-compose-attach-btn{all:unset;display:inline-flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);transition:color .12s ease,background-color .12s ease}.email-compose-attach-btn:hover{color:var(--color-accent);background:var(--color-accent-light)}.email-compose-file-input{display:none}.email-compose-attachment-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.email-compose-attachment-chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-family);font-size:var(--font-size-xs);color:var(--text-secondary)}.email-compose-attachment-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.email-compose-attachment-size{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-tertiary)}.email-compose-attachment-remove{all:unset;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--border-radius-sm);color:var(--text-tertiary);cursor:pointer;transition:color .12s ease,background-color .12s ease}.email-compose-attachment-remove:hover{color:var(--color-error);background:var(--color-error-light)}.email-compose-attach-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.email-compose-crm-picker{margin-top:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-card);overflow:hidden}.email-compose-crm-picker__header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.email-compose-crm-picker__search{flex:1;display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-tertiary)}.email-compose-crm-picker__search input{flex:1;background:none;border:none;color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);outline:none}.email-compose-crm-picker__search input::placeholder{color:var(--text-tertiary)}.email-compose-crm-picker__close{all:unset;display:flex;align-items:center;padding:var(--spacing-xs);cursor:pointer;color:var(--text-tertiary);transition:color .12s ease}.email-compose-crm-picker__close:hover{color:var(--text-primary)}.email-compose-crm-picker__loading,.email-compose-crm-picker__empty{padding:var(--spacing-md);text-align:center;font-size:var(--font-size-sm);color:var(--text-tertiary)}.email-compose-crm-picker__list{max-height:180px;overflow-y:auto}.email-compose-crm-picker__item{all:unset;display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);box-sizing:border-box;border-bottom:1px solid var(--border-color);transition:background-color .1s ease}.email-compose-crm-picker__item:last-child{border-bottom:none}.email-compose-crm-picker__item:hover:not(:disabled){background:var(--bg-hover)}.email-compose-crm-picker__item:disabled{opacity:.5;cursor:not-allowed}.email-compose-crm-picker__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-compose-crm-picker__size{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-tertiary);flex-shrink:0}.email-compose-crm-picker__loading-text{font-size:var(--font-size-xs);color:var(--color-accent);flex-shrink:0}.email-compose-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);width:100%}@media (max-width: 768px){.email-compose-modal.size-lg{max-width:100%}.email-compose-editor{min-height:160px;max-height:240px}.email-compose-editor .ProseMirror{min-height:160px}}.clients-page{width:100%;height:100%}.clients-master{display:flex;flex-direction:column;height:100%}.clients-master__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--border-color);flex-shrink:0}.clients-master__title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.clients-master__search{padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-shrink:0}.clients-master__search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);transition:border-color .15s ease}.clients-master__search-input:focus{outline:none;border-color:var(--color-accent)}.clients-master__search-input::placeholder{color:var(--text-tertiary)}.clients-master__sort{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-shrink:0}.clients-master__sort-label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-weight-medium)}.clients-master__sort-select{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-xs)}.clients-master__sort-dir{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-sm);transition:border-color .15s ease}.clients-master__sort-dir:hover{border-color:var(--color-accent);color:var(--color-accent)}.clients-master__list{flex:1;overflow-y:auto;padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.clients-master__empty{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}.clients-card{flex-direction:row;align-items:center}.clients-card .card__content{padding:var(--spacing-sm) var(--spacing-md)}.clients-card .card__title{font-size:var(--font-size-sm);margin-bottom:2px}.clients-card .card__subtitle{font-size:var(--font-size-xs);margin-bottom:var(--spacing-xs)}.clients-card .card__metadata{margin-top:var(--spacing-xs);gap:var(--spacing-sm)}.clients-detail{display:flex;flex-direction:column;gap:var(--spacing-lg)}.clients-detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.clients-detail__header-left{display:flex;align-items:center;gap:var(--spacing-md)}.clients-detail__name{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.clients-detail__actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.clients-detail__section{border-top:1px solid var(--border-color);padding-top:var(--spacing-lg)}.clients-detail__section-title{font-family:var(--font-display);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin:0 0 var(--spacing-md) 0}.clients-detail__field-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.clients-detail__field{display:flex;align-items:flex-start;gap:var(--spacing-md)}.clients-detail__field-icon{color:var(--text-tertiary);flex-shrink:0;margin-top:2px}.clients-detail__field-label{display:block;font-size:var(--font-size-xs);color:var(--text-tertiary);margin-bottom:2px}.clients-detail__field-value{display:block;font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.clients-detail__stats{display:flex;gap:var(--spacing-xl)}.clients-detail__stat{display:flex;flex-direction:column;gap:2px}.clients-detail__stat-value{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.clients-detail__stat-label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.clients-detail__notes{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin:0;white-space:pre-wrap}.clients-detail__tabs{display:flex;gap:0;border-bottom:2px solid var(--border-color)}.clients-detail__tab{padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .15s ease;margin-bottom:-2px;font-family:var(--font-family)}.clients-detail__tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.clients-detail__tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:var(--font-weight-semibold)}.clients-detail__emails{margin-top:var(--spacing-md)}.client-form-body{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%;max-width:820px;margin:0 auto;box-sizing:border-box}@media (max-width: 1024px){.clients-detail__header{flex-direction:column}.clients-detail__actions{width:100%;flex-wrap:wrap}}@media (max-width: 768px){.client-form-body{max-width:100%}.form-section{padding:var(--spacing-md)}.form-row{grid-template-columns:1fr}.clients-detail__stats{gap:var(--spacing-lg)}}.projects-page{width:100%;height:100%}.projects-master{display:flex;flex-direction:column;height:100%}.projects-master__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--border-color);flex-shrink:0}.projects-master__title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.projects-master__filters{padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--spacing-xs);flex-shrink:0}.projects-master__search{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);transition:border-color .15s ease}.projects-master__search:focus{outline:none;border-color:var(--color-accent)}.projects-master__search::placeholder{color:var(--text-tertiary)}.projects-master__filter-row{display:flex;gap:var(--spacing-xs)}.projects-master__filter-select{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-xs)}.projects-master__sort{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-shrink:0}.projects-master__sort-label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-weight-medium)}.projects-master__sort-select{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-xs)}.projects-master__sort-dir{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-sm);transition:border-color .15s ease}.projects-master__sort-dir:hover{border-color:var(--color-accent);color:var(--color-accent)}.projects-master__list{flex:1;overflow-y:auto;padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.projects-master__empty{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}.projects-card .card__image{aspect-ratio:3 / 1}.projects-card__gradient{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.projects-card__initials{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:#fff9;letter-spacing:.08em;text-transform:uppercase}.projects-detail{display:flex;flex-direction:column}.projects-detail__hero{width:100%;height:140px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.projects-detail__hero-initials{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:#ffffff80;letter-spacing:.1em;text-transform:uppercase}.projects-detail__body{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.projects-detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.projects-detail__name{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.projects-detail__header-meta{display:flex;align-items:center;gap:var(--spacing-sm)}.projects-detail__type{font-size:var(--font-size-sm);color:var(--text-secondary)}.projects-detail__description{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-relaxed);margin:0}.projects-detail__section{border-top:1px solid var(--border-color);padding-top:var(--spacing-lg)}.projects-detail__section-title{font-family:var(--font-display);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin:0 0 var(--spacing-md) 0}.projects-detail__info-grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.projects-detail__info-item{display:flex;align-items:flex-start;gap:var(--spacing-md)}.projects-detail__info-icon{color:var(--text-tertiary);flex-shrink:0;margin-top:2px}.projects-detail__info-label{display:block;font-size:var(--font-size-xs);color:var(--text-tertiary);margin-bottom:2px}.projects-detail__info-value{display:block;font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.projects-detail__info-value--mono{font-family:var(--font-mono)}.projects-detail__stats{display:flex;gap:var(--spacing-xl)}.projects-detail__stat{display:flex;flex-direction:column;gap:2px}.projects-detail__stat-value{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.projects-detail__stat-label{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.form-section{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:var(--border-radius-sm);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)}.form-row-3{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);margin-top:var(--spacing-md)}@media (min-width: 640px){.form-row-3{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1024px){.projects-detail__header{flex-direction:column}.projects-detail__stats{flex-wrap:wrap;gap:var(--spacing-lg)}}@media (max-width: 768px){.form-row,.form-row-3{grid-template-columns:1fr}.projects-master__filter-row{flex-direction:column}}.breadcrumbs{font-family:var(--font-family)}.breadcrumbs__list{display:flex;align-items:center;gap:var(--spacing-xs);list-style:none;padding:0;margin:0}.breadcrumbs__item{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.breadcrumbs__link{font-size:var(--font-size-sm);color:var(--text-secondary);text-decoration:none;transition:color .15s ease}.breadcrumbs__link:hover{color:var(--text-primary)}.breadcrumbs__text{font-size:var(--font-size-sm);color:var(--text-secondary)}.breadcrumbs__text--current{color:var(--text-primary);font-weight:var(--font-weight-medium)}.breadcrumbs__separator{color:var(--text-tertiary);flex-shrink:0}.model-upload{width:100%}.model-upload__zone{border:2px dashed var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-xl) var(--spacing-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);cursor:pointer;transition:border-color .2s,background-color .2s;text-align:center;min-height:160px}.model-upload__zone:hover{border-color:var(--color-accent);background:var(--bg-tertiary)}.model-upload__zone--active{border-color:var(--color-accent);background:var(--color-accent-light)}.model-upload__zone--disabled{opacity:.5;pointer-events:none}.model-upload__zone-icon{color:var(--text-tertiary)}.model-upload__zone-text{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:var(--line-height-normal)}.model-upload__zone-text strong{color:var(--color-accent);font-weight:var(--font-weight-semibold)}.model-upload__zone-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.model-upload__browse-btn{padding:6px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:border-color .15s,color .15s}.model-upload__browse-btn:hover{border-color:var(--color-accent);color:var(--text-primary)}.model-upload__progress{margin-top:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-secondary)}.model-upload__progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.model-upload__progress-file{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.model-upload__progress-pct{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent)}.model-upload__progress-bar{width:100%;height:4px;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);overflow:hidden}.model-upload__progress-fill{height:100%;background:var(--color-accent);transition:width .3s ease;border-radius:var(--border-radius-sm)}.model-upload__progress-actions{display:flex;justify-content:flex-end;margin-top:var(--spacing-sm)}.model-upload__cancel-btn{padding:4px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-xs);cursor:pointer;transition:color .15s}.model-upload__cancel-btn:hover{color:var(--color-error, #EF4444)}.model-upload__success{margin-top:var(--spacing-md);padding:var(--spacing-md);border:1px solid #22C55E;border-radius:var(--border-radius-md);background:#22c55e10;color:#22c55e;font-size:var(--font-size-sm);text-align:center}.model-upload__error{margin-top:var(--spacing-md);padding:var(--spacing-md);border:1px solid #EF4444;border-radius:var(--border-radius-md);background:#ef444410;color:#ef4444;font-size:var(--font-size-sm);display:flex;justify-content:space-between;align-items:center}.model-upload__retry-btn{padding:4px 12px;border:1px solid currentColor;border-radius:var(--border-radius-sm);background:transparent;color:inherit;font-family:var(--font-family);font-size:var(--font-size-xs);cursor:pointer}.pin-drop{position:absolute;transform:translate(-50%,-100%);width:28px;height:36px;padding:0;background:none;border:none;cursor:pointer;z-index:2;transition:transform .15s ease,filter .15s ease}.pin-drop:hover{transform:translate(-50%,-100%) scale(1.15);z-index:3}.pin-drop__shape{width:28px;height:36px;display:block;filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}.pin-drop--open .pin-drop__fill{fill:var(--color-accent, #C4704B)}.pin-drop--resolved .pin-drop__fill{fill:var(--color-success, #3D8C5C)}.pin-drop__number{position:absolute;top:5px;left:50%;transform:translate(-50%);font-family:var(--font-sans);font-size:11px;font-weight:700;color:#fff;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.pin-drop--selected{z-index:4}.pin-drop--selected .pin-drop__shape{animation:pin-pulse 1.5s ease-in-out infinite}@keyframes pin-pulse{0%,to{filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}50%{filter:drop-shadow(0 2px 8px rgba(196,112,75,.55))}}.pin-drop--selected.pin-drop--resolved .pin-drop__shape{animation-name:pin-pulse-resolved}@keyframes pin-pulse-resolved{0%,to{filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}50%{filter:drop-shadow(0 2px 8px rgba(61,140,92,.55))}}.at{display:flex;flex-direction:column;width:320px;max-height:520px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden}.at__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.at__header-left{display:flex;align-items:center;gap:var(--spacing-sm)}.at__pin-label{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.at__status{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:2px}.at__status--open{background:var(--color-accent-light, #F5E6DD);color:var(--color-accent, #C4704B)}.at__status--resolved{background:#3d8c5c1f;color:var(--color-success, #3D8C5C)}.at__header-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.at__action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:11px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.at__action-btn--resolve{color:var(--color-success, #3D8C5C)}.at__action-btn--resolve:hover:not(:disabled){background:#3d8c5c14;border-color:var(--color-success, #3D8C5C)}.at__action-btn--reopen{color:var(--color-accent, #C4704B)}.at__action-btn--reopen:hover:not(:disabled){background:#c4704b14;border-color:var(--color-accent, #C4704B)}.at__action-btn:disabled{opacity:.5;cursor:default}.at__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:none;border-radius:var(--border-radius-sm);color:var(--text-tertiary);cursor:pointer;transition:background .15s,color .15s}.at__close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.at__comments{flex:1;overflow-y:auto;padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.at__empty{padding:var(--spacing-lg) var(--spacing-md);text-align:center;font-size:var(--font-size-xs);color:var(--text-tertiary)}.at__comment{padding:var(--spacing-sm);border-radius:var(--border-radius-sm);border-left:3px solid transparent}.at__comment--architect{border-left-color:var(--color-accent, #C4704B);background:#c4704b0a}.at__comment--client{border-left-color:var(--text-tertiary, #999);background:var(--bg-tertiary, rgba(0, 0, 0, .02))}.at__comment-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:4px;flex-wrap:wrap}.at__author{font-size:var(--font-size-xs);font-weight:600;color:var(--text-primary)}.at__role-badge{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:2px}.at__role-badge--architect{background:var(--color-accent-light, #F5E6DD);color:var(--color-accent, #C4704B)}.at__role-badge--client{background:var(--bg-tertiary, rgba(0, 0, 0, .04));color:var(--text-secondary)}.at__timestamp{font-size:10px;color:var(--text-tertiary);margin-left:auto}.at__comment-body{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.5;white-space:pre-wrap;word-break:break-word}.at__reply{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.at__reply-input{width:100%;resize:none;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-primary, #fff);line-height:1.5;transition:border-color .15s}.at__reply-input:focus{outline:none;border-color:var(--color-accent, #C4704B)}.at__reply-input::placeholder{color:var(--text-tertiary)}.at__reply-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;align-self:flex-end;padding:6px 14px;background:var(--color-primary, #2D2D2D);color:var(--color-primary-text, #fff);border:none;border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:background .15s}.at__reply-btn:hover:not(:disabled){background:var(--color-primary-hover, #1A1A1A)}.at__reply-btn:disabled{opacity:.4;cursor:default}@media (max-width: 768px){.at{width:100%;max-height:400px}}.ia{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden}.ia__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.ia__image-name{font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ia__toolbar-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.ia__toggle-resolved{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none}.ia__toggle-resolved input{display:none}.ia__toggle-resolved:hover{color:var(--text-secondary)}.ia__annotate-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--color-primary, #2D2D2D);color:var(--color-primary-text, #fff);border:none;border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:11px;font-weight:600;cursor:pointer;transition:background .15s}.ia__annotate-btn:hover{background:var(--color-primary-hover, #1A1A1A)}.ia__annotate-btn--active{background:var(--color-accent, #C4704B)}.ia__annotate-btn--active:hover{background:var(--color-accent-hover, #A85D3D)}.ia__body{display:flex;gap:0}.ia__canvas{position:relative;flex:1;min-width:0;overflow:hidden;max-height:60vh;display:flex;align-items:flex-start}.ia__canvas--annotate{cursor:crosshair}.ia__image{width:100%;display:block;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.ia__new-pin-popover{position:absolute;transform:translate(-50%,8px);z-index:10}.ia__new-pin-marker{width:12px;height:12px;border-radius:50%;background:var(--color-accent, #C4704B);border:2px solid #fff;box-shadow:0 2px 6px #0000004d;margin:0 auto 6px}.ia__new-pin-form{background:var(--bg-secondary, #fff);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-sm);width:220px;box-shadow:var(--shadow-lg)}.ia__new-pin-input{width:100%;resize:none;padding:var(--spacing-xs);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-primary);background:var(--bg-primary, #fff);line-height:1.5;transition:border-color .15s}.ia__new-pin-input:focus{outline:none;border-color:var(--color-accent, #C4704B)}.ia__new-pin-input::placeholder{color:var(--text-tertiary)}.ia__new-pin-actions{display:flex;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.ia__new-pin-cancel{padding:4px 10px;background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:11px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .15s}.ia__new-pin-cancel:hover{background:var(--bg-tertiary)}.ia__new-pin-submit{padding:4px 12px;background:var(--color-primary, #2D2D2D);color:var(--color-primary-text, #fff);border:none;border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:11px;font-weight:600;cursor:pointer;transition:background .15s}.ia__new-pin-submit:hover:not(:disabled){background:var(--color-primary-hover, #1A1A1A)}.ia__new-pin-submit:disabled{opacity:.4;cursor:default}@media (max-width: 768px){.ia__body{flex-direction:column}.ia__canvas{max-height:50vh}.ia__toolbar{flex-wrap:wrap;gap:var(--spacing-xs)}.ia__new-pin-form{width:180px}}.project-detail-page{width:100%}.pd-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);margin-top:var(--spacing-md);gap:var(--spacing-md)}.pd-header__left{display:flex;flex-direction:column;gap:var(--spacing-sm)}.pd-header__title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;letter-spacing:-.02em}.pd-header__meta{display:flex;align-items:center;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary)}.pd-header__client-link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium)}.pd-header__client-link:hover{text-decoration:underline}.pd-header__budget{font-family:var(--font-mono);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.pd-header__right{display:flex;align-items:center;gap:var(--spacing-sm)}.pd-status-select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer}.pd-status-select:focus{outline:none;border-color:var(--color-accent)}.pd-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-xl)}.pd-tab{background:none;border:none;border-bottom:2px solid transparent;padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;transition:color .2s,border-color .2s;margin-bottom:-1px}.pd-tab:hover{color:var(--text-primary)}.pd-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.pd-content{min-height:300px}.pd-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.pd-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-lg)}.pd-card__title{font-family:var(--font-display);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin:0 0 var(--spacing-md) 0;display:flex;align-items:center;gap:var(--spacing-sm)}.pd-card__title svg{color:var(--color-primary)}.pd-card__field{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color)}.pd-card__field:last-child{border-bottom:none}.pd-card__label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.pd-card__value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);text-align:right;max-width:60%}.pd-card__value--mono{font-family:var(--font-mono)}.pd-progress{margin-top:var(--spacing-md)}.pd-progress__bar{height:8px;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);overflow:hidden;margin-bottom:var(--spacing-sm)}.pd-progress__fill{height:100%;border-radius:var(--border-radius-sm);background:var(--color-primary);transition:width .5s ease}.pd-progress__labels{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--text-tertiary)}.pd-tab-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden}.pd-tab-section__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.pd-tab-section__title{font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.pd-tab-list{list-style:none;padding:0;margin:0}.pd-tab-list__item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);transition:background .15s}.pd-tab-list__item:last-child{border-bottom:none}.pd-tab-list__item:hover{background:var(--bg-hover)}.pd-tab-list__info{display:flex;align-items:center;gap:var(--spacing-md)}.pd-tab-list__icon{color:var(--text-tertiary);flex-shrink:0}.pd-tab-list__title{display:block;font-weight:var(--font-weight-medium);color:var(--text-primary);font-size:var(--font-size-sm)}.pd-tab-list__subtitle{display:block;font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:2px}.pd-tab-empty{padding:var(--spacing-2xl);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}.pd-messages{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);max-height:500px;overflow-y:auto}.pd-message{background:var(--bg-tertiary);border-radius:var(--border-radius-sm);padding:var(--spacing-md);max-width:80%}.pd-message__sender{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-primary);margin-bottom:var(--spacing-xs)}.pd-message__content{font-size:var(--font-size-sm);color:var(--text-primary);line-height:var(--line-height-normal)}.pd-message__time{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--spacing-xs)}.project-detail-loading{display:flex;justify-content:center;align-items:center;min-height:400px;color:var(--text-secondary);font-size:var(--font-size-base)}.pd-hero-card{grid-column:1 / -1}.pd-hero-preview{display:flex;flex-direction:column;gap:var(--spacing-md)}.pd-hero-preview__img{width:100%;max-height:200px;object-fit:cover;border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.pd-hero-preview__actions{display:flex;gap:var(--spacing-sm)}.pd-hero-upload{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.pd-hero-upload__hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.pd-models-tab{width:100%}.pd-models-upload{margin-bottom:0}.pd-model-item{flex-wrap:wrap;gap:var(--spacing-sm)}.pd-model-actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.pd-model-share-url{display:flex;align-items:center;gap:4px;margin-top:4px}.pd-model-share-url__input{font-family:var(--font-mono);font-size:var(--font-size-xs);padding:2px 6px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);width:280px;max-width:100%}.pd-model-share-url__copy{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:2px 4px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center}.pd-model-share-url__copy:hover{color:var(--color-accent);border-color:var(--color-accent)}.pd-feedback-list{display:flex;flex-direction:column;gap:var(--spacing-xl)}.pd-feedback-image{display:flex;flex-direction:column;gap:var(--spacing-md)}.pd-feedback-image__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.pd-feedback-image__title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:0}.pd-feedback-image__stats{display:flex;gap:var(--spacing-sm)}.pd-feedback-stat{font-size:var(--font-size-xs);font-weight:500;padding:1px 6px;border-radius:2px}.pd-feedback-stat--open{background:color-mix(in srgb,var(--color-accent) 15%,transparent);color:var(--color-accent)}.pd-feedback-stat--resolved{background:color-mix(in srgb,var(--color-success, #22c55e) 15%,transparent);color:var(--color-success, #22c55e)}.pd-analytics-tab{display:flex;flex-direction:column;gap:var(--spacing-lg)}.pd-analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.pd-analytics-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-lg)}.pd-analytics-summary{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.pd-analytics-loading{display:flex;flex-direction:column;gap:var(--spacing-lg)}@media (max-width: 768px){.pd-header{flex-direction:column}.pd-header__title{font-size:var(--font-size-xl)}.pd-header__meta{flex-wrap:wrap;gap:var(--spacing-sm)}.pd-overview{grid-template-columns:1fr;gap:var(--spacing-md)}.pd-analytics-grid{grid-template-columns:1fr}.pd-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.pd-tab{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);white-space:nowrap}.pd-tab-list__item{padding:var(--spacing-sm) var(--spacing-md)}.pd-messages{padding:var(--spacing-md)}.pd-message{max-width:95%}}.portfolio-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);overflow:hidden;cursor:pointer;transition:transform .2s ease,border-color .2s ease;display:flex;flex-direction:column}.portfolio-card:hover{transform:scale(1.015);border-color:var(--color-accent)}.portfolio-card__hero{position:relative;width:100%;aspect-ratio:16 / 10;overflow:hidden}.portfolio-card__hero-img{width:100%;height:100%;object-fit:cover;display:block}.portfolio-card__hero-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.portfolio-card__hero-placeholder--concept{background:linear-gradient(135deg,#6366f1,#8b5cf6,#a78bfa)}.portfolio-card__hero-placeholder--design{background:linear-gradient(135deg,#14b8a6,#06b6d4,#22d3ee)}.portfolio-card__hero-placeholder--construction{background:linear-gradient(135deg,#22c55e,#16a34a,#4ade80)}.portfolio-card__hero-placeholder--completed{background:linear-gradient(135deg,#64748b,#475569,#94a3b8)}.portfolio-card__hero-placeholder--default{background:var(--color-accent-gradient)}.portfolio-card__hero-placeholder-icon{color:#ffffff4d}.portfolio-card__phase-overlay{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm)}.portfolio-card__content{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1}.portfolio-card__name{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;line-height:var(--line-height-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portfolio-card__client{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portfolio-card__meta{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);margin-top:auto}.portfolio-card__budget{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-primary)}.portfolio-card__time{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap}.portfolio-card__footer{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--border-color)}.portfolio-card__footer-label{font-size:var(--font-size-xs);color:var(--text-tertiary)}.portfolio-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md)}.portfolio-filters__group{display:flex;flex-direction:column;gap:2px;min-width:0}.portfolio-filters__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.portfolio-filters__input,.portfolio-filters__select{padding:6px 10px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);min-width:120px;transition:border-color .15s}.portfolio-filters__input:focus,.portfolio-filters__select:focus{outline:none;border-color:var(--color-accent)}.portfolio-filters__input--date{min-width:130px}.portfolio-filters__input--budget{min-width:100px;font-family:var(--font-mono);font-size:var(--font-size-xs)}.portfolio-filters__input--search{min-width:160px;flex:1}.portfolio-filters__range{display:flex;align-items:center;gap:4px}.portfolio-filters__range-sep{color:var(--text-tertiary);font-size:var(--font-size-xs)}.portfolio-filters__actions{display:flex;align-items:flex-end;margin-left:auto}.portfolio-filters__clear{padding:6px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.portfolio-filters__clear:hover{color:var(--text-primary);border-color:var(--border-color-hover)}@media (max-width: 768px){.portfolio-filters{flex-direction:column;align-items:stretch}.portfolio-filters__group{width:100%}.portfolio-filters__input,.portfolio-filters__select{width:100%;min-width:unset}.portfolio-filters__actions{margin-left:0}.portfolio-filters--collapsed{display:none}}.portfolio-filters__mobile-toggle{display:none;padding:8px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;width:100%;text-align:center}@media (max-width: 768px){.portfolio-filters__mobile-toggle{display:block}}.portfolio-page{width:100%}.portfolio-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.portfolio-page__title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;letter-spacing:-.01em}.portfolio-page__count{font-size:var(--font-size-sm);color:var(--text-tertiary);font-weight:var(--font-weight-normal);margin-left:var(--spacing-sm)}.portfolio-page__filters{margin-bottom:var(--spacing-lg)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}@media (max-width: 1200px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.portfolio-grid{grid-template-columns:1fr;gap:var(--spacing-md)}}.lead-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:40}.lead-detail-panel{position:fixed;top:0;right:0;bottom:0;width:450px;background:var(--bg-card);border-left:1px solid var(--border-color);z-index:50;overflow-y:auto;display:flex;flex-direction:column}.lead-panel__header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);gap:var(--spacing-sm);flex-shrink:0}.lead-panel__header-info{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:0;flex:1}.lead-panel__name{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;line-height:var(--line-height-tight);word-break:break-word}.lead-panel__header-badges{display:flex;align-items:center;gap:var(--spacing-sm)}.lead-panel__close{background:none;border:1px solid transparent;border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .15s ease,color .15s ease}.lead-panel__close:hover{background:var(--bg-hover);color:var(--text-primary)}.lead-panel__section{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color)}.lead-panel__section--notes{flex:1;display:flex;flex-direction:column;border-bottom:none}.lead-panel__section-title{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--spacing-sm)}.lead-panel__fields{display:flex;flex-direction:column;gap:2px}.editable-field{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-xs) 0}.editable-field__label{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.editable-field__value{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;padding:2px 4px;border-radius:var(--border-radius-sm);transition:background-color .15s ease;line-height:var(--line-height-normal);word-break:break-word}.editable-field__value:hover{background:var(--bg-hover)}.editable-field__empty{color:var(--text-tertiary);font-style:italic}.editable-field__editing{position:relative}.editable-field__editing input,.editable-field__editing select,.editable-field__editing textarea{width:100%;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--color-accent);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);line-height:var(--line-height-normal);outline:none;transition:border-color .15s ease}.editable-field__editing textarea{resize:vertical;min-height:60px}.editable-field__saving{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:2px}.lead-panel__meta{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.lead-panel__meta-item{display:flex;flex-direction:column;gap:1px}.lead-panel__meta-label{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.lead-panel__meta-value{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text-secondary)}.lead-panel__add-note{display:flex;gap:var(--spacing-sm);align-items:flex-end;margin-bottom:var(--spacing-md)}.lead-panel__note-input{flex:1;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);padding:var(--spacing-sm);border-radius:var(--border-radius-sm);resize:vertical;min-height:48px;line-height:var(--line-height-normal);outline:none;transition:border-color .15s ease}.lead-panel__note-input:focus{border-color:var(--color-accent)}.lead-panel__note-input::placeholder{color:var(--text-tertiary)}.lead-panel__note-submit{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--border-radius-sm);cursor:pointer;flex-shrink:0;transition:background-color .15s ease,opacity .15s ease}.lead-panel__note-submit:hover:not(:disabled){background:var(--color-primary-hover)}.lead-panel__note-submit:disabled{opacity:.4;cursor:not-allowed}.lead-panel__notes-list{flex:1;overflow-y:auto}.lead-panel__notes-loading,.lead-panel__notes-empty{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text-tertiary);padding:var(--spacing-md) 0;text-align:center}.lead-panel__note{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color)}.lead-panel__note:last-child{border-bottom:none}.lead-panel__note-content{font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text-primary);line-height:var(--line-height-normal);white-space:pre-wrap;word-break:break-word}.lead-panel__note--stage-change .lead-panel__note-content{font-style:italic;color:var(--text-secondary)}.lead-panel__note--system .lead-panel__note-content{color:var(--text-tertiary);font-size:var(--font-size-xs)}.lead-panel__note-meta{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:2px;font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-tertiary)}.lead-panel__note-type{font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent)}.lead-panel__footer{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);flex-shrink:0}.lead-panel__delete{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:none;border:none;color:var(--color-error);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);transition:background-color .15s ease}.lead-panel__delete:hover{background:var(--color-error-light)}@media (max-width: 640px){.lead-detail-panel{width:100%}}.leads-page{width:100%;display:flex;flex-direction:column;min-height:0;flex:1}.leads-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);flex-shrink:0}.leads-page__title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;line-height:var(--line-height-tight)}.leads-page__empty{flex:1;display:flex;align-items:center;justify-content:center;min-height:400px}.leads-page__skeleton-board{display:flex;gap:var(--spacing-sm);overflow-x:auto;flex:1}.leads-page__skeleton-col{flex:0 0 calc((100% - 4 * var(--spacing-sm)) / 5);min-width:240px;display:flex;flex-direction:column;gap:var(--spacing-sm)}.lead-board{display:flex;gap:var(--spacing-sm);overflow-x:auto;flex:1;padding-bottom:var(--spacing-sm);min-height:0}.lead-column{flex:0 0 calc((100% - 4 * var(--spacing-sm)) / 5);min-width:240px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);display:flex;flex-direction:column;max-height:calc(100vh - 200px);transition:border-color .15s ease}.lead-column--over{border-color:var(--color-accent)}.lead-column__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);flex-shrink:0}.lead-column__title{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.lead-column__count{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:0 6px;line-height:1.6;min-width:22px;text-align:center}.lead-column__cards{padding:var(--spacing-sm);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs);min-height:60px}.lead-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:grab;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease;-webkit-user-select:none;user-select:none;touch-action:none}.lead-card:hover{background:var(--bg-hover)}.lead-card--dragging{opacity:.4}.lead-card--overlay{border-color:var(--color-accent);cursor:grabbing;opacity:1;background:var(--bg-card)}.lead-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.lead-card__name{font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.lead-card__score{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-weight-semibold);padding:1px 6px;border-radius:var(--border-radius-sm);border:1px solid;line-height:1.5;white-space:nowrap;flex-shrink:0}.score--hot{color:var(--color-success);background:var(--color-success-light);border-color:var(--color-success)}.score--warm{color:var(--color-warning);background:var(--color-warning-light);border-color:var(--color-warning)}.score--cold{color:var(--color-error);background:var(--color-error-light);border-color:var(--color-error)}.lead-card__tags{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;margin-bottom:var(--spacing-xs)}.lead-card__source{font-family:var(--font-sans);font-size:10px;font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.lead-card__footer{display:flex;align-items:center;justify-content:flex-end}.lead-card__date{font-family:var(--font-sans);font-size:var(--font-size-xs);color:var(--text-tertiary)}.leads-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.leads-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.leads-form__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}@media (max-width: 768px){.lead-board{gap:var(--spacing-sm);padding-bottom:var(--spacing-md)}.lead-column{min-width:260px;max-height:calc(100dvh - 220px)}.leads-page__header{flex-wrap:wrap;gap:var(--spacing-sm)}.leads-form__row{grid-template-columns:1fr}}.categories-page{width:100%}.cell-with-actions{display:flex;align-items:center;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)}.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)}}.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}.table-pagination-button:not(:disabled):hover{border-color:var(--color-primary);color:var(--color-primary)}.delete-firm-warning{margin-bottom:1rem}.delete-firm-confirmation{margin-top:1rem}.delete-firm-input{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}.delete-firm-input:focus{outline:none;border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}@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}}.team-page{width:100%}.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}.role-badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:9999px;font-size:.75rem;font-weight:600;background:var(--color-primary-light);color:var(--color-primary)}.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}.projects-count-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);font-size:.85rem;color:var(--text-secondary)}.cell-with-actions{display:flex;align-items:center;gap:1rem}.action-icons{display:flex;gap:.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-form{display:flex;flex-direction:column;gap:1rem}.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}.delete-modal-content{display:flex;flex-direction:column;gap:1rem}.delete-firm-warning{margin-bottom:.5rem}.delete-firm-warning h3{color:var(--color-error);margin:0 0 .5rem}.delete-warning-details{margin:.5rem 0;padding:.5rem;border:1px solid var(--border-color);border-radius:var(--border-radius-sm)}.delete-warning-details summary{cursor:pointer;font-size:.9rem;color:var(--text-secondary)}.delete-warning-details ul{margin:.5rem 0 0 1rem;font-size:.85rem;color:var(--text-secondary)}.delete-firm-confirmation{margin-top:.5rem}.delete-firm-confirmation p{margin:0 0 .5rem;font-size:.9rem}@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}}.file-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg)}.file-viewer-modal{width:100%;max-width:1200px;height:90vh;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl)}.file-viewer-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);flex-shrink:0;gap:var(--spacing-md)}.file-viewer-header-info{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.file-viewer-header-icon{color:var(--color-primary);flex-shrink:0}.file-viewer-header-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-viewer-header-size{font-size:var(--font-size-xs);color:var(--text-tertiary);flex-shrink:0}.file-viewer-header-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.file-viewer-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius-sm);transition:background .15s ease,color .15s ease}.file-viewer-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.file-viewer-zoom-controls{display:flex;align-items:center;gap:2px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:2px}.file-viewer-zoom-controls button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:background .15s ease}.file-viewer-zoom-controls button:hover{background:var(--bg-hover);color:var(--text-primary)}.file-viewer-zoom-level{font-size:11px;color:var(--text-tertiary);min-width:36px;text-align:center;-webkit-user-select:none;user-select:none}.file-viewer-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary)}.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{max-width:100%;max-height:100%;object-fit:contain;transition:transform .2s ease;border-radius:4px;-webkit-user-select:none;user-select:none}.file-viewer-text-container{width:100%;height:100%;overflow:auto;padding:var(--spacing-lg)}.file-viewer-text{font-family:var(--font-mono, "Consolas", monospace);font-size:13px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;margin:0;background:var(--bg-primary);padding:var(--spacing-lg);border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.file-viewer-csv-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);background:var(--bg-primary);border-radius:var(--border-radius-sm);overflow:hidden}.file-viewer-csv-table th,.file-viewer-csv-table td{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);text-align:left;color:var(--text-primary)}.csv-header-row th{background:var(--bg-tertiary);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.file-viewer-unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-2xl);text-align:center;color:var(--text-secondary)}.file-viewer-unsupported h3{font-size:var(--font-size-lg);color:var(--text-primary);margin:0;word-break:break-all}.file-viewer-unsupported-size,.file-viewer-unsupported-msg{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:0}.file-viewer-download-btn{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background .15s ease;font-family:var(--font-sans)}.file-viewer-download-btn:hover{background:var(--color-primary-hover)}.file-viewer-loading{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--text-secondary)}.file-viewer-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.file-viewer-error{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);color:var(--color-error);padding:var(--spacing-2xl)}.file-viewer-error p{color:var(--text-secondary)}.file-viewer-retry-btn{padding:var(--spacing-sm) var(--spacing-lg);background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);font-size:var(--font-size-sm);transition:background .15s ease}.file-viewer-retry-btn:hover{background:var(--bg-hover)}.file-viewer-footer{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-secondary);font-size:var(--font-size-xs);color:var(--text-tertiary);flex-shrink:0}.file-viewer-footer-dot{width:3px;height:3px;border-radius:50%;background:var(--text-tertiary)}@media (max-width: 768px){.file-viewer-overlay{padding:0}.file-viewer-modal{border-radius:0;height:100vh;max-width:100%}.file-viewer-zoom-controls{display:none}}.documents-page{width:100%;height:100%;position:relative}.documents-error{padding:var(--spacing-md);background:var(--color-error-light);color:var(--color-error);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-md);border:1px solid var(--color-error);font-size:var(--font-size-sm)}.docs-master{display:flex;flex-direction:column;height:100%}.docs-master__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--border-color);flex-shrink:0}.docs-master__title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.docs-master__header-actions{display:flex;gap:var(--spacing-xs);align-items:center}.docs-master__upload-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-primary);color:var(--color-primary-text);border-radius:var(--border-radius-sm);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background .15s ease;border:none}.docs-master__upload-btn:hover{opacity:.9}.docs-master__breadcrumb{display:flex;align-items:center;padding:var(--spacing-xs) var(--spacing-lg);border-bottom:1px solid var(--border-color);font-size:var(--font-size-xs);flex-shrink:0;overflow-x:auto;gap:2px}.docs-master__breadcrumb-item{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px var(--spacing-xs);border-radius:var(--border-radius-sm);font-family:var(--font-family);font-size:var(--font-size-xs);transition:background .15s ease,color .15s ease;white-space:nowrap}.docs-master__breadcrumb-item:hover{background:var(--bg-hover);color:var(--text-primary)}.docs-master__breadcrumb-item--active{color:var(--text-primary);font-weight:var(--font-weight-medium)}.docs-master__breadcrumb-sep{color:var(--text-tertiary);margin:0 2px}.docs-master__toolbar{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-shrink:0}.docs-master__search{flex:1;padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-xs);transition:border-color .15s ease}.docs-master__search:focus{outline:none;border-color:var(--color-accent)}.docs-master__search::placeholder{color:var(--text-tertiary)}.docs-master__sort-select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-xs);flex-shrink:0}.docs-master__filter-toggle{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-xs);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:border-color .15s ease}.docs-master__filter-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.docs-master__filters{display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-shrink:0}.docs-master__filter-select{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-xs)}.docs-master__bulk-actions{display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);flex-shrink:0}.docs-master__list{flex:1;overflow-y:auto;padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.docs-master__empty{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm)}.docs-folder-card{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-left:3px solid var(--color-accent);border-radius:var(--border-radius-sm);background:var(--bg-secondary);cursor:pointer;transition:border-color .15s ease,background .15s ease}.docs-folder-card:hover{border-color:var(--border-color-hover);background:var(--bg-hover)}.docs-folder-card--active{border-color:var(--color-accent)}.docs-folder-card__icon{color:var(--color-accent);flex-shrink:0}.docs-folder-card__info{flex:1;min-width:0}.docs-folder-card__name{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docs-folder-card__count{display:block;font-size:var(--font-size-xs);color:var(--text-tertiary)}.docs-folder-card__actions{display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity .15s ease}.docs-folder-card:hover .docs-folder-card__actions{opacity:1}.docs-folder-card__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;transition:background .15s ease,color .15s ease}.docs-folder-card__actions button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.docs-folder-card__chevron{color:var(--text-tertiary);flex-shrink:0}.docs-file-card{flex-direction:row;align-items:center}.docs-file-card .card__content{padding:var(--spacing-sm) var(--spacing-md)}.docs-file-card .card__title{font-size:var(--font-size-sm);margin-bottom:2px}.docs-file-card .card__subtitle{font-size:var(--font-size-xs);margin-bottom:var(--spacing-xs)}.docs-file-card .card__metadata{margin-top:var(--spacing-xs);gap:var(--spacing-sm)}.docs-master__pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-lg);border-top:1px solid var(--border-color);background:var(--bg-tertiary);font-size:var(--font-size-xs);color:var(--text-secondary);flex-shrink:0}.docs-master__pagination-info{font-size:var(--font-size-xs)}.docs-master__pagination-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.docs-master__pagination-controls button{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-xs);transition:border-color .15s ease}.docs-master__pagination-controls button:disabled{opacity:.5;cursor:not-allowed}.docs-master__pagination-controls button:not(:disabled):hover{border-color:var(--color-accent)}.docs-detail{display:flex;flex-direction:column;gap:var(--spacing-lg)}.docs-detail__header{display:flex;align-items:center;gap:var(--spacing-md)}.docs-detail__file-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);background:var(--bg-tertiary);color:var(--color-primary);flex-shrink:0}.docs-detail__name{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-xs) 0;word-break:break-word}.docs-detail__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.docs-detail__replace-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background .15s ease}.docs-detail__replace-btn:hover{background:var(--bg-tertiary)}.docs-detail__section{border-top:1px solid var(--border-color);padding-top:var(--spacing-lg)}.docs-detail__section-title{font-family:var(--font-display);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin:0 0 var(--spacing-md) 0}.docs-detail__field{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-color)}.docs-detail__field:last-child{border-bottom:none}.docs-detail__field-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.docs-detail__field-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);text-align:right}.docs-detail__version{display:flex;align-items:center;justify-content:space-between}.docs-detail__version-current{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium)}.docs-detail__version-controls{display:flex;gap:var(--spacing-xs)}.docs-detail__version-btn{background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-xs);cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;transition:border-color .15s ease}.docs-detail__version-btn:disabled{opacity:.4;cursor:not-allowed}.docs-detail__version-btn:not(:disabled):hover{border-color:var(--color-accent);color:var(--color-accent)}.docs-upload-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.docs-upload-progress{background:var(--bg-primary);border-radius:var(--border-radius-sm);padding:var(--spacing-lg);min-width:340px;max-width:480px;width:90%;max-height:400px;overflow-y:auto;color:var(--text-primary);border:1px solid var(--border-color)}.docs-upload-progress__title{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.docs-upload-progress__item{margin-bottom:var(--spacing-sm)}.docs-upload-progress__item:last-child{margin-bottom:0}.docs-upload-progress__file-info{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:4px;font-size:var(--font-size-sm)}.docs-upload-progress__file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.docs-upload-progress__status{font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);min-width:36px;text-align:right}.docs-upload-progress__status--uploading{color:var(--color-primary)}.docs-upload-progress__status--success{color:var(--color-success)}.docs-upload-progress__status--error{color:var(--color-error)}.docs-upload-progress__bar{width:100%;height:6px;background:var(--bg-tertiary);border-radius:var(--border-radius-sm);overflow:hidden}.docs-upload-progress__fill{height:100%;border-radius:var(--border-radius-sm);transition:width .3s ease}.docs-upload-progress__fill--uploading{background:var(--color-primary)}.docs-upload-progress__fill--success{background:var(--color-success)}.docs-upload-progress__fill--error{background:var(--color-error)}.docs-upload-progress__error{display:block;margin-top:2px;font-size:var(--font-size-xs);color:var(--color-error)}.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-sm);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:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;transition:border-color .15s ease,background .15s ease;background:var(--bg-primary)}.delete-option:hover{border-color:var(--color-accent);background:var(--bg-hover)}.delete-option h4{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.delete-option p{margin:0;font-size:var(--font-size-xs);color:var(--text-secondary);line-height:var(--line-height-normal)}@media (max-width: 768px){.docs-master__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.docs-master__header-actions{width:100%}.docs-master__filters,.docs-detail__actions{flex-direction:column}}[data-theme=dark] .docs-upload-overlay{background:#000c}@media print{.docs-master__header,.docs-master__toolbar,.docs-master__filters,.docs-master__bulk-actions,.docs-master__pagination,.docs-detail__actions{display:none!important}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.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:var(--border-radius-sm);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-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 10%,transparent)}[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-accent);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:6px;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-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.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-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.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{background:var(--bg-card, #fff);border-radius:var(--radius-lg, 10px);box-shadow:var(--shadow-xl);width:480px;max-width:90vw;max-height:80vh;overflow-y:auto}.event-overview-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color, #e5e7eb)}.event-type-indicator{display:inline-flex;padding:4px 12px;border-radius:999px;color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.event-overview-content{padding:var(--spacing-lg)}.event-overview-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.event-overview-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 var(--spacing-md) 0}.event-overview-details{display:flex;flex-direction:column;gap:var(--spacing-sm)}.event-detail-row{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:.875rem}.event-detail-row svg{color:var(--text-tertiary, #9ca3af);flex-shrink:0}.event-overview-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color, #e5e7eb)}.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{font-family:var(--font-display);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:6px}.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:6px;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-accent);background:var(--color-accent-light)}.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.today .calendar-day-number{color:var(--color-accent);font-weight:700}.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-accent-light);color:var(--color-accent);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:6px;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{font-family:var(--font-display);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:var(--border-radius-sm)}.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:6px;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:var(--border-radius-sm);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:6px}.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:var(--border-radius-sm);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:#2563eb1f;color:#2563eb}.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:#2563eb1f;color:#2563eb}.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-accent);border-bottom-color:var(--color-accent);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-accent);border-bottom-color:var(--color-accent);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-accent);border-bottom-color:var(--color-accent);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}}.email-section-desc{font-size:.875rem;color:var(--text-secondary);margin:.5rem 0 0}.email-accounts-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.email-account-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}.email-account-card:hover{border-color:var(--color-primary)}.email-account-info{display:flex;flex-direction:column;gap:.375rem;min-width:0}.email-account-provider{display:flex;align-items:center;gap:.5rem}.email-account-provider-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.email-account-provider-dot.provider-gmail{background:#ea4335}.email-account-provider-dot.provider-outlook{background:#0078d4}.email-account-provider-name{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.email-account-address{font-size:.95rem;font-weight:500;color:var(--text-primary)}.email-account-status-row{display:flex;align-items:center;gap:1rem;font-size:.8rem}.email-account-status{display:flex;align-items:center;gap:.375rem}.email-account-status--active{color:var(--color-success, #22c55e)}.email-account-status--error{color:var(--color-error)}.email-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.email-status-dot.active{background:var(--color-success, #22c55e)}.email-status-dot.error{background:var(--color-error)}.email-account-sync{color:var(--text-tertiary)}.email-connect-actions{display:flex;gap:.75rem;flex-wrap:wrap}.email-all-connected{font-size:.875rem;color:var(--text-secondary);margin:0}@media (max-width: 768px){.email-account-card{flex-direction:column;align-items:flex-start;gap:1rem}.email-account-card .btn{align-self:flex-end}.email-account-status-row{flex-direction:column;align-items:flex-start;gap:.25rem}}.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}}.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 rgba(var(--color-accent-rgb, 198, 109, 82),.15)}.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}.marketing-layout{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column}.marketing-main{flex:1;padding-top:64px}.marketing-navbar{position:fixed;top:0;left:0;right:0;z-index:100;height:64px;padding:0 2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;transition:background .3s ease}.marketing-nav-content{max-width:1280px;width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.marketing-logo-link{display:flex;align-items:center;gap:.6rem;text-decoration:none}.marketing-logo-text{font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--text-primary)}.marketing-nav-links{display:flex;align-items:center;gap:.25rem}.marketing-nav-link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-decoration:none;padding:.5rem .875rem;border-radius:var(--border-radius-sm);transition:color .15s ease,background .15s ease}.marketing-nav-link:hover{color:var(--text-primary);background:var(--bg-hover)}.marketing-nav-link.active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.marketing-nav-actions{display:flex;align-items:center;gap:.75rem}.marketing-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 .15s ease,color .15s ease}.marketing-theme-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.marketing-nav-btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);text-decoration:none;padding:.5rem 1rem}.marketing-nav-btn:hover{opacity:.8}.marketing-nav-btn-primary{background:var(--color-primary);color:var(--color-primary-text);padding:.5rem 1.1rem;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none;transition:background .15s ease}.marketing-nav-btn-primary:hover{background:var(--color-primary-hover);color:var(--color-primary-text)}.marketing-footer{border-top:1px solid var(--border-color);background:var(--bg-secondary);padding:3rem 2rem 1.5rem}.marketing-footer-content{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;gap:3rem}.marketing-footer-brand{max-width:280px}.marketing-footer-tagline{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-top:.5rem}.marketing-footer-columns{display:flex;gap:3rem}.marketing-footer-col{display:flex;flex-direction:column;gap:.5rem}.marketing-footer-col h4{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:0 0 var(--spacing-xs)}.marketing-footer-col a{font-size:var(--font-size-sm);color:var(--text-secondary);text-decoration:none;transition:color .15s ease}.marketing-footer-col a:hover{color:var(--color-primary)}.marketing-footer-bottom{max-width:1280px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid var(--border-color)}.marketing-footer-bottom p{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:0}@media (max-width: 768px){.marketing-navbar{padding:0 1rem}.marketing-nav-links{display:none}.marketing-footer-content{flex-direction:column;gap:2rem}.marketing-footer-columns{gap:2rem;flex-wrap:wrap}}.landing-container{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);overflow-x:hidden;position:relative}.trust-badges-section{padding:2rem 2rem 4rem;max-width:1280px;margin:0 auto}.trust-badges-container{text-align:center}.trust-badges-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:1rem}.trust-badges-row{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap}.trust-badge-item{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.trust-badge-item svg{color:var(--color-primary)}.how-it-works-section{padding:6rem 2rem;max-width:1280px;margin:0 auto}.how-it-works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}.how-it-works-card{text-align:center;padding:2rem}.how-it-works-step{width:48px;height:48px;border-radius:50%;background:var(--color-primary);color:var(--color-primary-text);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:var(--font-weight-bold);margin:0 auto 1.25rem}.how-it-works-title{font-family:var(--font-display);font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:.75rem}.how-it-works-desc{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6}@media (max-width: 768px){.how-it-works-grid{grid-template-columns:1fr;gap:1rem}.trust-badges-row{gap:1.5rem}}.landing-container,.navbar,.badge,.hero-title,.hero-subtitle,.gradient-text,.stat-item,.stat-value,.stat-label,.stat-icon-wrapper,.section-title,.section-subtitle,.feature-text-side,.feature-title-l,.feature-desc-l,.feature-bullets li,.cta-content,.cta-title,.cta-subtitle,.cta-note,.btn-hero,.btn-hero-secondary,.btn-cta,.nav-btn,.landing-footer,.footer-brand,.footer-links a,.pricing-preview-section,.pricing-card{transition:background .4s ease,background-color .4s ease,color .4s ease,border-color .4s ease,box-shadow .4s ease}@media (max-width: 768px){.logo-text{display:none}}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:1rem 2rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.nav-content{max-width:1280px;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.25rem;color:var(--text-primary)}.nav-actions{display:flex;align-items:center;gap:1rem}.theme-toggle{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s}.theme-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-btn{font-weight:500;color:var(--text-primary);text-decoration:none;padding:.5rem 1rem}.nav-btn:hover{opacity:.8}.nav-btn-primary{background:var(--color-primary);color:var(--color-primary-text);padding:.6rem 1.2rem;border-radius:var(--border-radius-sm);font-weight:600;text-decoration:none;display:flex;align-items:center;gap:.5rem;transition:background .2s}.nav-btn-primary:hover{background:var(--color-primary-hover)}.hero-section{padding:8rem 2rem 4rem;max-width:1280px;margin:0 auto;text-align:center}.hero-header{margin-bottom:3rem}@media (max-width: 968px){.hero-section{padding-top:6rem}.hero-actions{justify-content:center}.stats-bar{flex-wrap:wrap;gap:1.5rem;justify-content:center}.hero-subtitle{margin-left:auto;margin-right:auto}}.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border-radius:100px;font-size:.875rem;font-weight:500;color:var(--text-secondary);border:1px solid var(--border-color);margin-bottom:2rem}.hero-title{font-family:var(--font-display);font-size:3.5rem;line-height:1.15;font-weight:700;margin-bottom:2rem;color:var(--text-primary);letter-spacing:-.02em}.gradient-text{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2.5rem;max-width:640px;margin-left:auto;margin-right:auto;line-height:1.7}.hero-actions{display:flex;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap;justify-content:center}.btn-hero{background:var(--color-primary);color:var(--color-primary-text);padding:.8rem 1.5rem;border-radius:var(--border-radius-md);font-weight:600;text-decoration:none;font-size:1.1rem;display:flex;align-items:center;gap:.5rem;transition:transform .2s,box-shadow .2s;box-shadow:var(--shadow-sm)}.btn-hero:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-hero-secondary{background:transparent;color:var(--text-primary);padding:.8rem 1.5rem;border-radius:var(--border-radius-md);font-weight:600;text-decoration:none;font-size:1.1rem;display:flex;align-items:center;gap:.5rem;border:1px solid var(--border-color);transition:all .2s}.btn-hero-secondary:hover{background:var(--bg-tertiary)}.stats-bar{display:flex;flex-direction:row;gap:3rem;justify-content:center;align-items:center;flex-wrap:nowrap}.stat-item{display:flex;align-items:center;gap:1rem}.stat-icon-wrapper{width:48px;height:48px;border-radius:10px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.stat-value{font-weight:700;font-family:var(--font-mono);font-size:1.25rem;line-height:1;color:var(--text-primary)}.stat-label{font-size:.875rem;color:var(--text-secondary)}.features-section{padding:6rem 2rem;max-width:1280px;margin:0 auto}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-family:var(--font-display);font-size:2.5rem;margin-bottom:1rem;color:var(--text-primary)}.section-subtitle{color:var(--text-secondary);font-size:1.1rem;max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}@media (max-width: 968px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.features-grid{grid-template-columns:1fr}}.feature-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:2rem;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.feature-icon-box{width:56px;height:56px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;box-shadow:var(--shadow-md)}.feature-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.feature-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.pricing-preview-section{padding:6rem 2rem;max-width:1280px;margin:0 auto}.pricing-preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}@media (max-width: 968px){.pricing-preview-cards{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}}.pricing-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:2rem;text-align:center;position:relative;transition:transform .3s ease,box-shadow .3s ease}.pricing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.pricing-card.highlighted{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-primary);color:var(--color-primary-text);padding:.25rem 1rem;border-radius:100px;font-size:.75rem;font-weight:600;white-space:nowrap}.pricing-plan-name{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.pricing-price{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.pricing-price span{font-size:1rem;font-weight:400;color:var(--text-secondary)}.pricing-features-list{list-style:none;padding:0;margin:1.5rem 0;text-align:left}.pricing-features-list li{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.9rem;color:var(--text-secondary)}.pricing-features-list li svg{color:var(--color-primary);flex-shrink:0}.cta-section{padding:6rem 2rem;display:flex;justify-content:center}.cta-content{background:var(--color-primary);border-radius:24px;padding:4rem 2rem;text-align:center;color:#fff;width:100%;max-width:1000px;position:relative;overflow:hidden}.cta-title{font-family:var(--font-display);font-size:2.5rem;margin-bottom:1rem;position:relative}.cta-subtitle{font-size:1.25rem;opacity:.9;margin-bottom:2.5rem;position:relative}.cta-actions{display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative}.btn-cta{background:#fff;color:var(--color-primary);padding:1rem 2.5rem;border-radius:50px;font-weight:700;text-decoration:none;font-size:1.1rem;display:flex;align-items:center;gap:.5rem;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 25px #0003}.btn-cta:hover{transform:translateY(-3px);box-shadow:0 15px 35px #0000004d}.cta-note{font-size:.875rem;opacity:.7}.landing-footer{padding:3rem 2rem;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.footer-content{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem}.footer-brand .logo-text{display:block;margin-bottom:.25rem}.footer-links{display:flex;gap:2rem}.footer-links a{color:var(--text-secondary);text-decoration:none;font-size:.9rem}.footer-links a:hover{color:var(--color-primary)}@media (max-width: 480px){.nav-content{padding:0 1rem}.logo-text{font-size:1rem}.hero-section{padding:5rem 1rem 2rem;gap:2rem;overflow:hidden}.hero-section>*{min-width:0}.hero-header{margin-bottom:1.5rem}.badge{font-size:.75rem;padding:.4rem .75rem;margin-bottom:1.25rem}.hero-title{font-size:2rem;margin-bottom:1rem}.hero-subtitle{font-size:1rem;margin-bottom:1.5rem;line-height:1.6}.hero-actions{margin-bottom:1.5rem}.btn-hero,.btn-hero-secondary{font-size:.95rem;padding:.7rem 1.2rem}.stats-bar{flex-wrap:wrap;justify-content:center;gap:1rem}.stat-icon-wrapper{width:40px;height:40px}.stat-value{font-size:1rem}.stat-label{font-size:.75rem}.features-section{padding:3rem 1rem}.section-title{font-size:1.75rem}.section-subtitle{font-size:.95rem}.cta-section{padding:3rem 1rem}.cta-content{padding:2.5rem 1.5rem;border-radius:16px}.cta-title{font-size:1.5rem}.cta-subtitle{font-size:.95rem;margin-bottom:1.5rem}.btn-cta{padding:.8rem 1.5rem;font-size:1rem}.cta-note{font-size:.8rem}.landing-footer{padding:2rem 1rem}.footer-content{flex-direction:column;align-items:center;text-align:center;gap:1rem}.footer-links{gap:1.5rem}}.legal-page{min-height:100vh;background:var(--bg-primary);padding:2rem}.legal-container{max-width:720px;margin:0 auto}.legal-back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;margin-bottom:2rem;transition:color .2s ease}.legal-back-link:hover{color:var(--text-primary)}.legal-header{text-align:center;margin-bottom:3rem}.legal-icon{width:72px;height:72px;margin:0 auto 1.25rem;border-radius:50%;background:var(--color-primary-light);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.legal-header h1{font-family:var(--font-display);font-size:2.25rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.legal-updated{color:var(--text-tertiary);font-size:.875rem;margin:0}.legal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);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);font-size:1.15rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.legal-content p{font-family:var(--font-sans);font-size:.95rem;color:var(--text-secondary);line-height:1.75;margin:0}.legal-content a{color:var(--color-accent);text-decoration:none;transition:color .2s ease}.legal-content a:hover{text-decoration:underline;opacity:.85}@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}}.get-demo-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:2rem}.get-demo-container{text-align:center;max-width:600px;width:100%}.get-demo-icon{width:120px;height:120px;margin:0 auto 2rem;border-radius:50%;background:var(--color-primary-light);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.get-demo-title{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.get-demo-message{font-family:var(--font-sans);font-size:1.125rem;color:var(--text-secondary);margin-bottom:2.5rem;line-height:1.7}.get-demo-loading{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem}.get-demo-error{color:var(--color-error);margin-bottom:2rem;font-size:.95rem}.contact-form{text-align:left;margin-bottom:2rem}.contact-form .form-group{margin-bottom:1.25rem}.contact-form .form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.contact-form .form-input,.contact-form .form-textarea{width:100%;padding:.75rem 1rem;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,box-shadow .2s}.contact-form .form-input:focus,.contact-form .form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(var(--color-accent-rgb, 198, 109, 82),.15);outline:none}.contact-form .form-textarea{min-height:120px;resize:vertical;font-family:inherit}.contact-submit-btn{width:100%;padding:.875rem;background:var(--color-primary);color:#fff;font-weight:600;border-radius:var(--border-radius-md);border:none;font-size:1rem;cursor:pointer;transition:background .2s,transform .1s}.contact-submit-btn:hover{opacity:.9;transform:translateY(-1px)}.contact-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.contact-success{background:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--border-radius-md);padding:1.5rem;margin-bottom:2rem;color:var(--color-success-dark)}.get-demo-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:var(--border-radius-md);background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);font-family:var(--font-sans);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none}.get-demo-btn:hover{background:var(--bg-hover);border-color:var(--color-primary);color:var(--text-primary)}@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}}.features-page-hero{padding:5rem 2rem 3rem;max-width:800px;margin:0 auto;text-align:center}.features-page-title{font-family:var(--font-display);font-size:2.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;line-height:1.15}.features-page-subtitle{font-size:1.15rem;color:var(--text-secondary);line-height:1.6}.features-page-group{max-width:1100px;margin:0 auto;padding:3rem 2rem}.features-group-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.features-page-list{display:flex;flex-direction:column;gap:2.5rem}.feature-detail-card{display:flex;gap:3rem;align-items:flex-start;padding:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);transition:box-shadow .3s ease}.feature-detail-card:hover{box-shadow:var(--shadow-md)}.feature-detail-card.reverse{flex-direction:row-reverse}.feature-detail-visual{flex-shrink:0;display:flex;align-items:flex-start;justify-content:center;padding-top:.5rem}.feature-detail-icon{width:72px;height:72px;border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}.feature-detail-content{flex:1;min-width:0}.feature-detail-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.feature-detail-block{margin-bottom:.75rem}.feature-detail-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);display:block;margin-bottom:.25rem}.feature-detail-block p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6;margin:0}.feature-detail-outcome{display:flex;align-items:flex-start;gap:.5rem;background:var(--color-primary-light);padding:.75rem 1rem;border-radius:var(--border-radius-sm);margin-top:1rem}.feature-detail-outcome svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.feature-detail-outcome p{color:var(--text-primary);font-weight:var(--font-weight-medium)}.features-page-cta{text-align:center;padding:5rem 2rem;max-width:600px;margin:0 auto}.features-page-cta h2{font-family:var(--font-display);font-size:2rem;color:var(--text-primary);margin-bottom:.75rem}.features-page-cta p{color:var(--text-secondary);margin-bottom:1.5rem}@media (max-width: 768px){.features-page-title{font-size:2rem}.feature-detail-card,.feature-detail-card.reverse{flex-direction:column;gap:1.5rem;padding:1.5rem}.feature-detail-icon{width:56px;height:56px}}.use-cases-hero{padding:5rem 2rem 3rem;max-width:800px;margin:0 auto;text-align:center}.use-cases-title{font-family:var(--font-display);font-size:2.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;line-height:1.15}.use-cases-subtitle{font-size:1.15rem;color:var(--text-secondary);line-height:1.6}.use-cases-list{max-width:900px;margin:0 auto;padding:2rem 2rem 4rem;display:flex;flex-direction:column;gap:2.5rem}.use-case-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:2.5rem;transition:box-shadow .3s ease}.use-case-card:hover{box-shadow:var(--shadow-md)}.use-case-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.25rem}.use-case-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-md)}.use-case-name{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.use-case-audience{font-size:var(--font-size-sm);color:var(--text-tertiary);margin:.25rem 0 0}.use-case-description{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.use-case-challenges{margin-bottom:1.5rem}.use-case-challenges h3,.use-case-solution h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:0 0 .75rem}.use-case-challenges ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.use-case-challenges li{display:flex;align-items:flex-start;gap:.5rem;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.use-case-challenges li svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.use-case-solution{background:var(--color-primary-light);padding:1.25rem;border-radius:var(--border-radius-md)}.use-case-solution p{font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.6;margin:0}.use-cases-cta{text-align:center;padding:5rem 2rem;max-width:600px;margin:0 auto}.use-cases-cta h2{font-family:var(--font-display);font-size:2rem;color:var(--text-primary);margin-bottom:.75rem}.use-cases-cta p{color:var(--text-secondary);margin-bottom:1.5rem}@media (max-width: 768px){.use-cases-title{font-size:2rem}.use-case-card{padding:1.5rem}.use-case-header{flex-direction:column;align-items:flex-start;gap:.75rem}}.about-hero{padding:5rem 2rem 3rem;max-width:800px;margin:0 auto;text-align:center}.about-title{font-family:var(--font-display);font-size:2.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;line-height:1.15}.about-subtitle{font-size:1.15rem;color:var(--text-secondary);line-height:1.6}.about-mission{padding:3rem 2rem;max-width:700px;margin:0 auto}.about-mission-content{text-align:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:3rem 2.5rem}.about-mission-icon{width:64px;height:64px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.about-mission-content h2{font-family:var(--font-display);font-size:1.75rem;color:var(--text-primary);margin-bottom:1rem}.about-mission-content p{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.7}.about-stats{padding:3rem 2rem;max-width:900px;margin:0 auto}.about-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.about-stat-card{text-align:center;padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md)}.about-stat-value{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-primary);margin-bottom:.25rem}.about-stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.about-values{padding:4rem 2rem;max-width:1100px;margin:0 auto}.about-values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:2rem}.about-value-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:2rem;transition:box-shadow .3s ease}.about-value-card:hover{box-shadow:var(--shadow-md)}.about-value-icon{width:48px;height:48px;border-radius:var(--border-radius-sm);background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.about-value-card h3{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.about-value-card p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6}.about-cta{text-align:center;padding:5rem 2rem;max-width:600px;margin:0 auto}.about-cta h2{font-family:var(--font-display);font-size:1.75rem;color:var(--text-primary);margin-bottom:1.5rem}@media (max-width: 768px){.about-title{font-size:2rem}.about-stats-grid{grid-template-columns:repeat(2,1fr)}.about-values-grid{grid-template-columns:1fr}}.email-inbox-page{width:100%;max-width:900px;margin:0 auto}.email-inbox-header{margin-bottom:var(--spacing-lg)}.email-inbox-header__title{display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.email-inbox-header__desc{font-size:var(--font-size-sm);color:var(--text-secondary);margin:var(--spacing-xs) 0 0 0}.email-inbox-skeleton,.email-inbox-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.email-inbox-item{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-card);overflow:hidden;transition:border-color .15s ease}.email-inbox-item:hover{border-color:color-mix(in srgb,var(--border-color) 70%,var(--color-accent))}.email-inbox-item.selected{border-color:var(--color-accent)}.email-inbox-card{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.email-inbox-card__content{flex:1;display:flex;align-items:flex-start;gap:var(--spacing-md);background:none;border:none;padding:var(--spacing-sm) 0;cursor:pointer;text-align:left;font-family:var(--font-family);min-width:0;color:inherit}.email-inbox-direction{width:28px;height:28px;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.email-inbox-direction.sent{background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent)}.email-inbox-direction.received{background:color-mix(in srgb,var(--text-tertiary) 12%,transparent);color:var(--text-secondary)}.email-inbox-body{flex:1;min-width:0}.email-inbox-meta{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);margin-bottom:2px}.email-inbox-from{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-inbox-date{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap;flex-shrink:0}.email-inbox-subject{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:var(--font-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-inbox-snippet{font-size:var(--font-size-xs);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;line-height:1.4}.email-inbox-actions{flex-shrink:0}.active-link-btn{border-color:var(--color-accent)!important;color:var(--color-accent)!important}.email-inbox-link-dropdown{border-top:1px solid var(--border-color);background:var(--bg-secondary)}.email-inbox-link-dropdown__header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color)}.email-inbox-link-dropdown__search{flex:1;display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-tertiary)}.email-inbox-link-dropdown__search input{flex:1;background:none;border:none;color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);outline:none}.email-inbox-link-dropdown__search input::placeholder{color:var(--text-tertiary)}.email-inbox-link-dropdown__close{background:none;border:none;padding:var(--spacing-xs);cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;transition:color .15s ease}.email-inbox-link-dropdown__close:hover{color:var(--text-primary)}.email-inbox-link-dropdown__loading,.email-inbox-link-dropdown__empty{padding:var(--spacing-md);text-align:center;font-size:var(--font-size-sm);color:var(--text-tertiary)}.email-inbox-link-dropdown__list{max-height:200px;overflow-y:auto}.email-inbox-link-dropdown__item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;border-bottom:1px solid var(--border-color);cursor:pointer;font-family:var(--font-family);text-align:left;transition:background-color .1s ease;color:inherit}.email-inbox-link-dropdown__item:last-child{border-bottom:none}.email-inbox-link-dropdown__item:hover:not(:disabled){background:var(--bg-tertiary)}.email-inbox-link-dropdown__item:disabled{opacity:.5;cursor:not-allowed}.email-inbox-link-dropdown__client-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.email-inbox-link-dropdown__client-email{font-size:var(--font-size-xs);color:var(--text-tertiary)}.email-inbox-detail-wrapper{border-top:1px solid var(--border-color);padding:var(--spacing-md);background:var(--bg-secondary)}.email-inbox-load-more{display:flex;justify-content:center;padding:var(--spacing-lg) 0}.email-inbox-load-more-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all .15s ease}.email-inbox-load-more-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.email-inbox-load-more-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.email-inbox-card{flex-direction:column;align-items:stretch}.email-inbox-actions{display:flex;justify-content:flex-end;padding-top:var(--spacing-xs);border-top:1px dashed var(--border-color)}.email-inbox-link-dropdown__item{flex-direction:column;align-items:flex-start;gap:2px}}.portal-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);padding:var(--spacing-md)}.portal-login-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);padding:2.5rem;width:100%;max-width:420px}.portal-login-brand{text-align:center;margin-bottom:var(--spacing-xl)}.portal-login-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--border-radius-md);background:var(--bg-tertiary);color:var(--color-accent);margin-bottom:var(--spacing-md)}.portal-login-title{font-family:var(--font-display);font-size:1.5rem;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.portal-login-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.portal-login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.portal-login-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.portal-login-label{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.portal-login-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);font-family:var(--font-sans);transition:border-color .2s,box-shadow .2s}.portal-login-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 10%,transparent);outline:none}.portal-login-input::placeholder{color:var(--text-tertiary)}.portal-login-btn{width:100%;padding:.875rem;background:var(--color-primary);color:var(--color-primary-text);font-weight:600;font-size:1rem;font-family:var(--font-sans);border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:background .2s,transform .1s}.portal-login-btn:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px)}.portal-login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.portal-login-error{background:var(--color-error-light);color:var(--color-error-dark);padding:.75rem 1rem;border-radius:var(--border-radius-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.portal-login-success{text-align:center;padding:var(--spacing-lg) 0}.portal-login-success-icon{color:var(--color-success, #16a34a);margin-bottom:var(--spacing-md)}.portal-login-success-heading{font-family:var(--font-display);font-size:1.25rem;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.portal-login-success-text{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}.portal-login-success-text strong{color:var(--text-primary)}.portal-login-resend{background:none;border:none;color:var(--color-accent);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;font-family:var(--font-sans);text-decoration:underline;text-underline-offset:2px}.portal-login-resend:hover{color:var(--color-accent-hover)}.portal-login-footer{text-align:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.portal-login-architect-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--text-secondary);font-size:var(--font-size-sm);text-decoration:none;transition:color .15s}.portal-login-architect-link:hover{color:var(--color-primary)}.portal-verify-spinner{color:var(--color-accent);margin-bottom:var(--spacing-md)}.portal-verify-spin{animation:portal-spin 1s linear infinite}@keyframes portal-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.portal-verify-error-icon{color:var(--color-red);margin-bottom:var(--spacing-md)}.portal-login-card input:-webkit-autofill,.portal-login-card input:-webkit-autofill:hover,.portal-login-card input:-webkit-autofill:focus{-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;transition:background-color 9999s ease-in-out 0s}.portal-dash{width:100%}.portal-dash__header{margin-bottom:var(--spacing-xl)}.portal-dash__title{font-family:var(--font-display);font-size:1.75rem;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.portal-dash__subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-xs)}.portal-dash__count{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.portal-dash__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.portal-card{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-md);overflow:hidden;cursor:pointer;text-align:left;font-family:var(--font-sans);padding:0;transition:border-color .2s,box-shadow .2s,transform .15s}.portal-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.portal-card__image{position:relative;height:160px;display:flex;align-items:center;justify-content:center;overflow:hidden}.portal-card__img{width:100%;height:100%;object-fit:cover}.portal-card__initials{font-family:var(--font-display);font-size:2rem;color:#ffffff4d;-webkit-user-select:none;user-select:none}.portal-card__badge{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm)}.portal-card__body{padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.portal-card__name{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0;line-height:1.3}.portal-card__type{font-size:var(--font-size-xs);color:var(--text-tertiary);text-transform:capitalize}.portal-card__stats{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-xs)}.portal-card__stat{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--text-secondary)}.portal-card__footer{margin-top:auto;padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.portal-card__date{font-size:var(--font-size-xs);color:var(--text-tertiary)}.portal-dash__empty{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);color:var(--text-tertiary)}.portal-dash__empty h2{font-family:var(--font-display);font-size:1.25rem;color:var(--text-secondary);margin:var(--spacing-md) 0 var(--spacing-sm)}.portal-dash__empty p{font-size:var(--font-size-sm);color:var(--text-tertiary);max-width:360px;margin:0 auto}.portal-dash__error{background:var(--color-error-light);color:var(--color-error-dark);padding:var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);text-align:center}@media (max-width: 1024px){.portal-dash__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.portal-dash__grid{grid-template-columns:1fr}.portal-dash__title{font-size:1.375rem}.portal-card__image{height:140px}}.sp{display:flex;flex-direction:column;gap:var(--spacing-sm)}.sp__canvas-wrapper{position:relative;width:100%;max-width:500px;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden;background:var(--bg-secondary, #FAFAF8)}.sp__canvas{display:block;width:100%;height:200px}.sp__canvas-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#80808026;cursor:not-allowed}.sp__hint{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-tertiary);margin:0}.sp__actions{display:flex;align-items:center;gap:var(--spacing-sm)}.sp__btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.sp__btn--clear{background:none;border:1px solid var(--border-color);color:var(--text-secondary)}.sp__btn--clear:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-tertiary)}.sp__btn--sign{background:var(--color-primary, #2D2D2D);color:var(--color-primary-text, #fff);border:none}.sp__btn--sign:hover:not(:disabled){background:var(--color-primary-hover, #1A1A1A)}.sp__btn:disabled{opacity:.4;cursor:default}.sp--disabled .sp__canvas-wrapper{opacity:.6}@media (max-width: 768px){.sp__canvas-wrapper{max-width:100%}.sp__canvas{height:160px}}.cv{display:flex;flex-direction:column;gap:var(--spacing-lg)}.cv__document{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden;background:var(--bg-secondary)}.cv__pdf{width:100%;height:60vh;border:none;display:block}.cv__doc-image{width:100%;max-height:60vh;object-fit:contain;display:block}.cv__doc-fallback{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-2xl);color:var(--text-tertiary)}.cv__doc-fallback-title{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.cv__doc-download{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-primary, #2D2D2D);color:var(--color-primary-text, #fff);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:600;text-decoration:none;transition:background .15s}.cv__doc-download:hover{background:var(--color-primary-hover, #1A1A1A);color:var(--color-primary-text, #fff)}.cv__status-section{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm)}.cv__status-section p{margin:0}.cv__status-section--draft{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.cv__status-section--pending{background:#c4a64b14;color:var(--text-secondary);border:1px solid rgba(196,166,75,.25)}.cv__status-section--cancelled{background:#c43d3d0f;color:var(--color-red, #C43D3D);border:1px solid rgba(196,61,61,.2)}.cv__status-section--expired{background:#c4a64b0f;color:var(--text-secondary);border:1px solid rgba(196,166,75,.2)}.cv__sign-section{padding:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm)}.cv__legal-text{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--spacing-md);line-height:1.6}.cv__signing-status{font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:var(--spacing-sm)}.cv__sign-error{font-size:var(--font-size-xs);color:var(--color-red, #C43D3D);margin-top:var(--spacing-sm)}.cv__signed-section{padding:var(--spacing-lg);background:#3d8c5c0a;border:1px solid rgba(61,140,92,.2);border-radius:var(--border-radius-sm);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.cv__signed-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-success, #3D8C5C);font-size:var(--font-size-sm);font-weight:700}.cv__signature-image{max-width:300px;max-height:120px;object-fit:contain;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);background:#fff;padding:var(--spacing-xs)}.cv__signed-meta{font-size:var(--font-size-xs);color:var(--text-secondary);text-align:center}.cv__signed-meta strong{color:var(--text-primary)}@media (max-width: 768px){.cv__pdf{height:45vh}.cv__signature-image{max-width:100%}}.mbi{position:relative;break-inside:avoid;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden;margin-bottom:var(--spacing-md);transition:border-color .2s}.mbi:hover{border-color:color-mix(in srgb,var(--border-color) 60%,var(--color-accent))}.mbi__delete{position:absolute;top:6px;right:6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#0009;border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;opacity:0;transition:opacity .15s,background .15s;z-index:2}.mbi:hover .mbi__delete{opacity:1}.mbi__delete:hover{background:var(--color-error)}.mbi__delete--confirm{opacity:1;background:var(--color-error);animation:mbi-pulse 1s infinite}@keyframes mbi-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.mbi__image{width:100%;display:block;object-fit:cover}.mbi__note{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.5;white-space:pre-wrap;word-break:break-word}.mbi__footer{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-top:1px solid var(--border-color);font-size:var(--font-size-xs);color:var(--text-tertiary);flex-wrap:wrap}.mbi__author{font-weight:500;color:var(--text-secondary)}.mbi__role{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:1px 5px;border-radius:2px}.mbi__role--client{background:color-mix(in srgb,var(--color-accent) 15%,transparent);color:var(--color-accent)}.mbi__role--architect{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary)}.mbi__time{margin-left:auto}.mbg{display:flex;flex-direction:column;gap:var(--spacing-lg)}.mbg__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.mbg__header-info{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.mbg__title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0}.mbg__description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.5}.mbg__count{font-size:var(--font-size-xs);color:var(--text-tertiary)}.mbg__add-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,transform .1s}.mbg__add-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.mbg__add-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.mbg__add-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.mbg__add-label{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary)}.mbg__add-input,.mbg__add-textarea{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--text-primary);transition:border-color .15s}.mbg__add-input:focus,.mbg__add-textarea:focus{outline:none;border-color:var(--color-primary)}.mbg__add-textarea{resize:vertical;min-height:60px}.mbg__add-actions{display:flex;justify-content:flex-end}.mbg__add-submit{padding:8px 20px;background:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .15s}.mbg__add-submit:hover:not(:disabled){background:var(--color-primary-hover)}.mbg__add-submit:disabled{opacity:.5;cursor:not-allowed}.mbg__masonry{column-count:3;column-gap:var(--spacing-md)}.mbg__empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-2xl);color:var(--text-tertiary);text-align:center}.mbg__empty p{font-size:var(--font-size-sm);max-width:300px}@media (max-width: 1024px){.mbg__masonry{column-count:2}}@media (max-width: 640px){.mbg__masonry{column-count:1}.mbg__header{flex-direction:column}.mbg__add-btn{width:100%;justify-content:center}}.pp{width:100%}.pp__hero{position:relative;height:240px;border-radius:var(--border-radius-md);overflow:hidden;margin-bottom:var(--spacing-lg)}.pp__hero-img{width:100%;height:100%;object-fit:cover}.pp__hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.65) 0%,rgba(0,0,0,.1) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:space-between;padding:var(--spacing-lg)}.pp__hero-info{display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:flex-start}.pp__title{font-family:var(--font-display);font-size:1.75rem;color:#fff;margin:0;text-shadow:0 1px 4px rgba(0,0,0,.3)}.pp__back{display:inline-flex;align-items:center;gap:4px;background:#ffffff1f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);border-radius:var(--border-radius-sm);padding:6px 12px;color:#fff;font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:background .15s;width:fit-content;font-family:var(--font-sans);text-decoration:none}.pp__back:hover{background:#fff3}.pp__tabs{display:flex;gap:0;border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-xl);overflow-x:auto;-webkit-overflow-scrolling:touch}.pp__tab{display:flex;align-items:center;gap:6px;background:none;border:none;border-bottom:2px solid transparent;padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .2s,border-color .2s;white-space:nowrap}.pp__tab:hover{color:var(--text-primary)}.pp__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.pp__content{min-height:300px}.pp__error{background:var(--color-error-light);color:var(--color-error-dark);padding:var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.pp__lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);cursor:pointer}.pp__lightbox-close{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:#ffffff1a;border:none;border-radius:var(--border-radius-sm);color:#fff;padding:8px;cursor:pointer;transition:background .15s}.pp__lightbox-close:hover{background:#fff3}.pp__lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:var(--border-radius-sm);cursor:auto}.pp-overview__description{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.7;margin-bottom:var(--spacing-lg)}.pp-overview__notes{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-lg)}.pp-overview__notes h4{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.pp-overview__notes p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6}.pp-overview__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.pp-overview__card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden}.pp-overview__card-title{display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);margin:0}.pp-overview__dl{padding:var(--spacing-md) var(--spacing-lg);display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm)}.pp-overview__dl dt{display:flex;align-items:center;gap:4px;color:var(--text-tertiary);font-weight:500;white-space:nowrap}.pp-overview__dl dd{color:var(--text-primary);margin:0}.pp-overview__progress{padding:var(--spacing-lg)}.pp-overview__progress-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:var(--spacing-md)}.pp-overview__progress-fill{height:100%;background:var(--color-accent);border-radius:4px;transition:width .6s ease;min-width:0}.pp-overview__progress-stats{display:flex;align-items:baseline;gap:var(--spacing-sm)}.pp-overview__progress-pct{font-size:1.5rem;font-weight:700;color:var(--text-primary);font-family:var(--font-sans)}.pp-overview__progress-detail{font-size:var(--font-size-xs);color:var(--text-tertiary)}.pp-docs{display:flex;flex-direction:column;gap:var(--spacing-xl)}.pp-docs__section{display:flex;flex-direction:column;gap:var(--spacing-md)}.pp-docs__section-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:0}.pp-docs__image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--spacing-md)}.pp-docs__image-card{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden;cursor:pointer;padding:0;font-family:var(--font-sans);text-align:left;transition:border-color .2s,box-shadow .2s}.pp-docs__image-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.pp-docs__image-thumb{width:100%;height:120px;object-fit:cover}.pp-docs__image-name{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-docs__list{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden}.pp-docs__file{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);text-decoration:none;color:var(--text-primary);transition:background .15s}.pp-docs__file:last-child{border-bottom:none}.pp-docs__file:hover{background:var(--bg-hover, var(--bg-tertiary))}.pp-docs__file-icon{color:var(--text-tertiary);flex-shrink:0}.pp-docs__file-info{display:flex;flex-direction:column;min-width:0;flex:1}.pp-docs__file-name{font-size:var(--font-size-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-docs__file-meta{font-size:var(--font-size-xs);color:var(--text-tertiary)}.pp-docs__file-dl{color:var(--text-tertiary);flex-shrink:0}.pp-docs__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md)}.pp-docs__empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-2xl);color:var(--text-tertiary);text-align:center}.pp-docs__empty p{font-size:var(--font-size-sm)}.pp-models{display:flex;flex-direction:column;gap:var(--spacing-md)}.pp-model-card{display:flex;align-items:center;gap:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-lg);transition:border-color .15s}.pp-model-card:hover{border-color:color-mix(in srgb,var(--border-color) 70%,var(--color-accent))}.pp-model-card__icon{width:48px;height:48px;border-radius:var(--border-radius-sm);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--color-accent);flex-shrink:0}.pp-model-card__info{flex:1;min-width:0}.pp-model-card__name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-model-card__meta{font-size:var(--font-size-xs);color:var(--text-tertiary);margin:0}.pp-model-card__desc{font-size:var(--font-size-xs);color:var(--text-secondary);margin:4px 0 0}.pp-model-card__view{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-primary);color:var(--color-primary-text);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s,transform .1s;flex-shrink:0}.pp-model-card__view:hover{background:var(--color-primary-hover);transform:translateY(-1px);color:var(--color-primary-text)}.pp-annotations{display:flex;flex-direction:column;gap:var(--spacing-xl)}.pp-contracts,.pp-annotations__image-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.pp-annotations__image-title{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:0}.pp-annotations__count{font-weight:400;font-size:var(--font-size-xs);color:var(--text-tertiary)}.pp-contract-card{display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden}.pp-contract-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;cursor:pointer;font-family:var(--font-sans);text-align:left;width:100%;transition:background .15s}.pp-contract-card__header:hover{background:var(--bg-tertiary)}.pp-contract-card__desc{font-size:var(--font-size-xs);color:var(--text-secondary);margin:2px 0 0}.pp-contract-card__body{padding:var(--spacing-lg);border-top:1px solid var(--border-color)}.pp-contract-status{font-size:var(--font-size-xs);font-weight:600;padding:2px 8px;border-radius:2px;white-space:nowrap;flex-shrink:0}.pp-contract-status--signed{background:color-mix(in srgb,var(--color-success, #22c55e) 15%,transparent);color:var(--color-success, #22c55e)}.pp-contract-status--pending{background:color-mix(in srgb,var(--color-warning, #eab308) 15%,transparent);color:var(--color-warning, #eab308)}.pp-contract-status--cancelled{background:color-mix(in srgb,var(--color-error) 15%,transparent);color:var(--color-error)}.pp-contract-status--draft{background:var(--bg-tertiary);color:var(--text-tertiary)}.pp-mood-boards{display:flex;flex-direction:column;gap:var(--spacing-lg)}.pp-mood-boards__selector{display:flex;gap:var(--spacing-xs);overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--spacing-xs)}.pp-mood-boards__selector-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.pp-mood-boards__selector-btn:hover{border-color:var(--color-accent);color:var(--text-primary)}.pp-mood-boards__selector-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-text)}.pp-mood-boards__selector-count{font-size:10px;opacity:.7}@media (max-width: 768px){.pp__hero{height:180px;border-radius:0;margin:calc(-1 * var(--spacing-md));margin-bottom:var(--spacing-md)}.pp__title{font-size:1.25rem}.pp__tabs{margin-left:calc(-1 * var(--spacing-md));margin-right:calc(-1 * var(--spacing-md));padding-left:var(--spacing-md)}.pp__tab{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs)}.pp-overview__grid{grid-template-columns:1fr}.pp-model-card{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.pp-model-card__view{width:100%;justify-content:center}.pp-docs__image-grid{grid-template-columns:repeat(2,1fr)}.pp-contract-card{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.pp-contract-viewer{padding:var(--spacing-md)}}.portal-layout{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-primary);transition:background-color .15s ease}.portal-topbar{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 var(--spacing-xl);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;z-index:100}.portal-topbar__left{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.portal-topbar__brand{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;color:var(--text-primary);font-weight:600;font-size:var(--font-size-sm);flex-shrink:0}.portal-topbar__brand:hover{color:var(--color-accent)}.portal-topbar__brand-text{font-family:var(--font-display);font-size:var(--font-size-base);letter-spacing:-.01em}.portal-topbar__breadcrumb{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.portal-topbar__breadcrumb-sep{color:var(--text-tertiary);font-size:var(--font-size-sm)}.portal-topbar__breadcrumb-page{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-topbar__right{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.portal-topbar__user{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.portal-topbar__logout{display:flex;align-items:center;gap:var(--spacing-xs);background:none;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:6px 12px;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.portal-topbar__logout:hover{color:var(--color-red);border-color:var(--color-red);background:color-mix(in srgb,var(--color-red) 5%,transparent)}.portal-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-xl);-webkit-overflow-scrolling:touch}.portal-content>*{max-width:1200px;margin:0 auto}@media (max-width: 768px){.portal-topbar{padding:0 var(--spacing-md);height:50px}.portal-topbar__brand-text{display:none}.portal-topbar__breadcrumb-page{max-width:140px}.portal-topbar__user,.portal-topbar__logout-label{display:none}.portal-content{padding:var(--spacing-md)}}@media (min-width: 769px) and (max-width: 1024px){.portal-topbar{padding:0 var(--spacing-lg)}.portal-content{padding:var(--spacing-lg)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-display: "Instrument Serif", Georgia, serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-sans: "Instrument Sans", -apple-system, sans-serif;--color-primary: #2D2D2D;--color-primary-hover: #1A1A1A;--color-accent: #C4704B;--color-accent-light: #F5E6DD;--color-accent-hover: #A85D3D;--color-red: #C43D3D;--border-radius-lg: 16px;--border-radius-md: 10px;--border-radius-sm: 6px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--bg-dark: #151413;--text-primary: #1A1816;--text-secondary: #575249}[data-theme=dark]{--bg-primary: #151413;--bg-secondary: #1E1C1A;--text-primary: #F0EEEA;--text-secondary: #A8A29A;--border-color: #3A3630}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-dark);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-accent)}button{font-family:var(--font-sans);cursor:pointer}input,textarea,select{font-family:var(--font-sans)}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000040}: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: 32px;--spacing-xl: 48px;--spacing-2xl: 64px;--spacing-3xl: 96px;--spacing-4xl: 128px;--sidebar-width: 260px;--topbar-height: 56px;--master-list-width: 380px;--content-max-width: 1440px}:root{--font-family: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Outfit", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--font-sans: "Outfit", -apple-system, sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 14.5px;--font-size-md: 17px;--font-size-lg: 20px;--font-size-xl: 26px;--font-size-2xl: 36px;--font-weight-light: 300;--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-family:var(--font-family);font-size:var(--font-size-lg);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold)}.text-xl{font-family:var(--font-family);font-size:var(--font-size-xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold)}.text-2xl{font-family:var(--font-family);font-size:var(--font-size-2xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold)}.page-title{font-family:var(--font-family);font-size:var(--font-size-xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-lg) 0;letter-spacing:-.01em}.section-header{font-family:var(--font-family);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;letter-spacing:-.01em}.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: #1C1C1E;--color-primary-hover: #000000;--color-primary-light: #F0F0F0;--color-primary-dark: #000000;--color-primary-text: #FFFFFF;--color-accent: #2563EB;--color-accent-light: #EFF6FF;--color-accent-hover: #1D4ED8;--color-accent-gradient: linear-gradient(135deg, #1C1C1E 0%, #3F3F46 50%, #2563EB 100%);--border-radius-sm: 1px;--border-radius-md: 2px;--border-radius-lg: 2px;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: none;--ease: cubic-bezier(.4, 0, .2, 1);--color-neutral-50: #FAFAFA;--color-neutral-100: #F4F4F5;--color-neutral-200: #E4E4E7;--color-neutral-300: #D4D4D8;--color-neutral-400: #A1A1AA;--color-neutral-500: #71717A;--color-neutral-600: #52525B;--color-neutral-700: #3F3F46;--color-neutral-800: #27272A;--color-neutral-900: #18181B;--bg-primary: #FAFAFA;--bg-secondary: #FFFFFF;--bg-tertiary: #F5F5F5;--bg-hover: #F0F0F0;--bg-card: #FFFFFF;--text-primary: #0A0A0A;--text-secondary: #525252;--text-tertiary: #A3A3A3;--text-disabled: #D4D4D8;--border-color: #E5E5E5;--border-color-hover: #D4D4D4;--border-color-focus: #2563EB;--color-success: #16A34A;--color-success-light: #F0FDF4;--color-success-dark: #15803D;--color-warning: #CA8A04;--color-warning-light: #FEFCE8;--color-warning-dark: #A16207;--color-error: #DC2626;--color-error-light: #FEF2F2;--color-error-dark: #B91C1C;--color-info: #2563EB;--color-info-light: #EFF6FF;--color-info-dark: #1D4ED8}:root[data-theme=dark]{--color-primary: #E5E5E5;--color-primary-hover: #FFFFFF;--color-primary-light: #262626;--color-primary-dark: #FAFAFA;--color-primary-text: #0A0A0A;--color-accent: #3B82F6;--color-accent-light: #1E293B;--color-accent-hover: #60A5FA;--color-accent-gradient: linear-gradient(135deg, #18181B 0%, #27272A 50%, #3B82F6 100%);--border-radius-sm: 1px;--border-radius-md: 2px;--border-radius-lg: 2px;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: none;--ease: cubic-bezier(.4, 0, .2, 1);--color-neutral-50: #18181B;--color-neutral-100: #27272A;--color-neutral-200: #3F3F46;--color-neutral-300: #52525B;--color-neutral-400: #71717A;--color-neutral-500: #A1A1AA;--color-neutral-600: #D4D4D8;--color-neutral-700: #E4E4E7;--color-neutral-800: #F4F4F5;--color-neutral-900: #FAFAFA;--bg-primary: #0A0A0A;--bg-secondary: #141414;--bg-tertiary: #1C1C1E;--bg-hover: #262626;--bg-card: #141414;--text-primary: #FAFAFA;--text-secondary: #A3A3A3;--text-tertiary: #525252;--text-disabled: #3F3F46;--border-color: #262626;--border-color-hover: #3F3F46;--border-color-focus: #3B82F6;--color-success: #22C55E;--color-success-light: #052E16;--color-success-dark: #4ADE80;--color-warning: #EAB308;--color-warning-light: #422006;--color-warning-dark: #FACC15;--color-error: #EF4444;--color-error-light: #450A0A;--color-error-dark: #F87171;--color-info: #3B82F6;--color-info-light: #172554;--color-info-dark: #60A5FA}.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,color .15s ease;-webkit-user-select:none;user-select:none;min-height:40px;white-space:nowrap;font-family:var(--font-sans);letter-spacing:.01em}.btn:focus{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:var(--color-primary-text);border:1px solid var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.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:1px solid var(--color-success)}.btn-success:hover:not(:disabled){background:var(--color-success-dark);border-color:var(--color-success-dark)}.btn-success:active:not(:disabled){background:var(--color-success-dark)}.btn-warning{background:var(--color-warning);color:#fff;border:1px solid var(--color-warning)}.btn-warning:hover:not(:disabled){background:var(--color-warning-dark);border-color:var(--color-warning-dark)}.btn-warning:active:not(:disabled){background:var(--color-warning-dark)}.btn-with-icon{display:inline-flex;align-items:center;gap:.5rem}.card{background:var(--bg-secondary);border-radius:var(--border-radius-sm);border:1px solid var(--border-color);transition:border-color .15s ease}.card:hover{border-color:var(--border-color-hover)}.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:var(--border-radius-sm);color:var(--text-tertiary);cursor:pointer;transition:background-color .2s ease,color .2s ease;min-width:32px;min-height:32px}.edit-icon-btn:hover{background-color:var(--bg-hover);color:var(--text-secondary)}.edit-icon-btn:active{background-color:var(--bg-tertiary);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:var(--border-radius-sm);color:var(--text-tertiary);cursor:pointer;transition:background-color .2s ease,color .2s 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-accent);border-color:transparent;padding:var(--spacing-xs) var(--spacing-sm);text-decoration:none}.btn-link:hover:not(:disabled){color:var(--color-accent-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);letter-spacing:.01em}.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:var(--border-radius-sm);transition:border-color .15s ease;font-family:var(--font-family)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--border-color-focus)}.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-primary) inset!important;box-shadow:0 0 0 9999px var(--bg-primary) inset!important;background-color:var(--bg-primary)!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);outline:2px solid var(--color-error);outline-offset:1px}.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:var(--border-radius-sm);background-color:transparent;opacity:.6;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:.6;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 .2s ease,border-color .2s ease;flex-shrink:0;top:-2px}input[type=checkbox]{border-radius:var(--border-radius-sm)}input[type=radio]{border-radius:50%}input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--color-accent)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--color-accent);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:var(--color-primary-text);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;border:1px solid var(--border-color)}.table-container::-webkit-scrollbar{width:6px;height:6px}.table-container::-webkit-scrollbar-track{background:transparent}.table-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.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:1px solid var(--border-color);font-size:var(--font-size-xs);white-space:nowrap;text-transform:uppercase;letter-spacing:.06em}.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 .15s 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:all .2s}.table-pagination-button:disabled{opacity:.5;cursor:not-allowed}.table-pagination-button:not(:disabled):hover{border-color:var(--color-accent);color:var(--color-accent)}.table-row-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;border:1px solid}.priority-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid}.priority-low{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}.priority-medium{background:var(--color-warning-light);color:var(--color-warning-dark);border-color:var(--color-warning)}.priority-high{background:var(--color-error-light);color:var(--color-error-dark);border-color:var(--color-error)}.priority-urgent{background:var(--color-error-light);color:var(--color-error);border-color:var(--color-error)}:root[data-theme=dark] .priority-low{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-color)}:root[data-theme=dark] .priority-medium{background:var(--color-warning-light);color:var(--color-warning-dark);border-color:var(--color-warning)}:root[data-theme=dark] .priority-high{background:var(--color-error-light);color:var(--color-error-dark);border-color:var(--color-error)}:root[data-theme=dark] .priority-urgent{background:var(--color-error-light);color:var(--color-error);border-color:var(--color-error)}.card{background:var(--bg-secondary);border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.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:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog-container{background:var(--bg-primary);border-radius:var(--border-radius-md);max-width:600px;width:90%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .2s var(--ease);font-family:var(--font-family);border:1px solid var(--border-color)}@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-family:var(--font-family);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;letter-spacing:-.01em}.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:var(--color-primary-text)}.dialog-btn.btn-primary:hover{background:var(--color-primary-hover)}.dialog-btn.btn-primary:active{opacity:.9}.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-family:var(--font-family);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:-.01em}.page-content{max-width:var(--content-max-width)}.form-container{background:var(--bg-secondary);padding:var(--spacing-xl);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-lg);border:1px solid var(--border-color)}.form-container h2{margin-top:0;margin-bottom:var(--spacing-lg);font-family:var(--font-family);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:1px solid var(--border-color)}.kanban-header h3{margin:0;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.task-count{background:var(--bg-hover);color:var(--text-secondary);padding:.125rem .5rem;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-family:var(--font-mono)}.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);border:1px solid var(--border-color);border-left:3px solid var(--border-color);cursor:pointer;transition:border-color .2s}.kanban-task:hover{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);font-family:var(--font-mono);font-size:var(--font-size-xs)}.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 .2s,color .2s,border-color .2s;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:var(--border-radius-sm)}.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:var(--border-radius-sm);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);border:1px solid var(--border-color)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-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-mono{font-family:var(--font-mono)}.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}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}: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);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:2px 8px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-family:var(--font-sans);letter-spacing:.01em;border:1px solid}.status-badge.active{background:var(--color-success-light);color:var(--color-success-dark);border-color:var(--color-success)}.status-badge.inactive{background:var(--bg-tertiary);color:var(--color-neutral-400);border-color:var(--border-color)}.status-badge.pending{background:var(--color-warning-light);color:var(--color-warning-dark);border-color:var(--color-warning)}.status-badge.completed{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--border-color)}:root[data-theme=dark] .status-badge.active{background:var(--color-success-light);color:var(--color-success-dark);border-color:var(--color-success)}:root[data-theme=dark] .status-badge.inactive{background:var(--bg-tertiary);color:var(--text-tertiary);border-color:var(--border-color)}:root[data-theme=dark] .status-badge.pending{background:var(--color-warning-light);color:var(--color-warning-dark);border-color:var(--color-warning)}:root[data-theme=dark] .status-badge.completed{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--border-color)}: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] .project-panel{background:var(--bg-secondary);border-color:var(--border-color)}:root[data-theme=dark] .project-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-accent);outline-offset:2px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background-color:var(--color-accent-light);color:var(--text-primary)}.loading-spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--color-accent);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:#fafafad9;display:flex;align-items:center;justify-content:center;z-index:10}:root[data-theme=dark] .loading-overlay{background:#0a0a0ab3}.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-family:var(--font-family);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}
