.header-kpi-cards{display:flex;align-items:center;gap:var(--spacing-md);margin-right:var(--spacing-lg)}.header-kpi-card{background:var(--color-background-card);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);min-width:80px;text-align:center;transition:all var(--transition-base)}.header-kpi-card:hover{background:var(--color-secondary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.header-kpi-card.loading{opacity:.6;cursor:wait}.header-kpi-label{font-size:.7rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs);line-height:1.2}.header-kpi-value{font-size:1rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.2}@media (max-width: 768px){.header-kpi-cards{display:none}}@media (max-width: 1200px){.header-kpi-cards{gap:var(--spacing-sm)}.header-kpi-card{min-width:70px;padding:var(--spacing-xs)}.header-kpi-label{font-size:.65rem}.header-kpi-value{font-size:.9rem}}.header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--header-height);background:var(--gradient-elevated);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:var(--stroke-width-normal) solid var(--color-border);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);box-shadow:var(--shadow-sm);z-index:1000;padding:0 var(--spacing-lg)}.header-content{display:flex;align-items:center;justify-content:flex-end;height:100%;width:100%}.header-actions{display:flex;align-items:center;gap:var(--spacing-lg);margin-left:auto}.header-logo-img{height:64px;width:auto;object-fit:contain;display:block;transition:transform var(--transition-base),filter var(--transition-base);cursor:pointer}.header-logo-img:hover{transform:scale(1.05);filter:brightness(1.1)}.header-actions{display:flex;align-items:center;gap:var(--spacing-lg)}.header-farm-selector{position:relative}.header-farm-button{padding:var(--spacing-sm) var(--spacing-md);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background-card);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--spacing-xs);min-height:44px}.header-farm-button-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.header-farm-button:hover:not(:disabled){background:var(--color-secondary-hover)}.header-farm-button:disabled{opacity:.6;cursor:not-allowed}.header-farm-button-placeholder{color:var(--color-text-secondary);font-style:italic}.dropdown-arrow{font-size:.7rem;transition:transform var(--transition-base)}.header-farm-button:hover .dropdown-arrow{transform:translateY(1px)}.farm-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));right:0;background:var(--gradient-card);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:200px;z-index:1003;overflow:hidden}.farm-dropdown-item{display:block;width:100%;padding:var(--spacing-md);border:none;background:transparent;color:var(--color-text-primary);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:all var(--transition-base)}.farm-dropdown-item:hover{background:var(--color-secondary-hover)}.farm-dropdown-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.dropdown-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1002}.header-profile-link{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.header-profile-link:hover{background:var(--color-secondary-hover);color:var(--color-text-primary)}.header-feedback-button{padding:var(--spacing-sm) var(--spacing-md);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background-card);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--spacing-xs)}.header-feedback-button:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover);transform:translateY(-1px)}.header-feedback-button:active{transform:translateY(0)}.header-feedback-button svg{flex-shrink:0}.header-logo-link{text-decoration:none;color:inherit}.header-user{display:flex;align-items:center}.header-user-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.header-logout-button{padding:var(--spacing-sm) var(--spacing-lg);border:var(--stroke-width-normal) solid var(--color-error-border);border-radius:var(--radius-md);background:var(--color-error-bg);color:var(--color-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.header-logout-button:hover{background:var(--color-error-bg);border-color:var(--color-error-border);transform:translateY(-1px)}.header-logout-button:active{transform:translateY(0)}.header-action-label{white-space:nowrap}.header-action-desktop{display:flex}.header-mobile-menu-button{display:none;padding:var(--spacing-sm);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background-card);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-base);align-items:center;justify-content:center;min-width:44px;min-height:44px}.header-mobile-menu-button:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.header-mobile-menu-button:active{transform:scale(.95)}.mobile-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1001;animation:fadeIn var(--transition-base)}.mobile-menu{position:fixed;top:var(--header-height);right:0;bottom:0;width:280px;max-width:85vw;background:var(--gradient-card);border-left:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-lg);z-index:1002;display:flex;flex-direction:column;animation:slideInRight var(--transition-slow);overflow-y:auto}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:var(--stroke-width-normal) solid var(--color-border)}.mobile-menu-user{flex:1;min-width:0}.mobile-menu-user-email{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-close{padding:var(--spacing-xs);border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--radius-sm);margin-left:var(--spacing-sm)}.mobile-menu-close:hover{background:var(--color-secondary-hover);color:var(--color-text-primary)}.mobile-menu-items{display:flex;flex-direction:column;padding:var(--spacing-sm)}.mobile-menu-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:none;background:transparent;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-align:left;text-decoration:none;cursor:pointer;transition:all var(--transition-base);border-radius:var(--radius-md);min-height:44px}.mobile-menu-item:hover{background:var(--color-secondary-hover)}.mobile-menu-item:active{transform:scale(.98)}.mobile-menu-item svg{flex-shrink:0;color:var(--color-text-secondary)}.mobile-menu-item:hover svg{color:var(--color-text-primary)}.mobile-menu-item-logout{color:var(--color-error);margin-top:var(--spacing-sm);border-top:var(--stroke-width-normal) solid var(--color-border);padding-top:var(--spacing-md)}.mobile-menu-item-logout svg{color:var(--color-error)}.mobile-menu-item-logout:hover{background:var(--color-error-bg)}@media (max-width: 768px){.header{left:0;padding:0 var(--spacing-sm)}.header-content{justify-content:space-between}.header-actions{gap:var(--spacing-sm);flex-wrap:nowrap;overflow:hidden}.header-action-desktop{display:none}.header-mobile-menu-button{display:flex}.header-farm-button{padding:var(--spacing-xs) var(--spacing-sm);min-height:44px;max-width:180px}.header-farm-button-text{max-width:140px}.header-feedback-button,.header-profile-link,.header-logout-button{min-height:44px;min-width:44px}.header-user-email{display:none}.header-logo-img{height:64px}}@media (max-width: 480px){.header{padding:0 var(--spacing-xs)}.header-actions{gap:var(--spacing-xs)}.header-farm-button{max-width:120px;padding:var(--spacing-xs);font-size:.75rem}.header-farm-button-text{max-width:90px}.mobile-menu{width:100%;max-width:100%}}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm);z-index:997;overflow-y:auto;transition:transform var(--transition-base)}.sidebar-logo-container{display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);border-bottom:var(--stroke-width-thin) solid var(--color-border)}.sidebar-logo-link{display:block;text-decoration:none;color:inherit}.sidebar-logo-img{height:60px;width:auto;object-fit:contain;display:block;transition:transform var(--transition-base),filter var(--transition-base);cursor:pointer;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3)) drop-shadow(0 2px 4px rgba(0,0,0,.2))}.sidebar-logo-img:hover{transform:scale(1.05);filter:drop-shadow(0 6px 12px rgba(0,0,0,.4)) drop-shadow(0 4px 8px rgba(0,0,0,.3)) brightness(1.1)}.sidebar-context{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-background-elevated);border-bottom:var(--stroke-width-thin) solid var(--color-border);display:flex;align-items:center;gap:var(--spacing-xs);min-height:36px}.sidebar-context-icon{font-size:var(--font-size-sm);flex-shrink:0;opacity:.7}.sidebar-context-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.sidebar-context-loading{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-style:italic}.sidebar-nav{padding:var(--spacing-sm)}.sidebar-nav-list{list-style:none;display:flex;flex-direction:column;gap:2px}.sidebar-divider{height:1px;background:var(--color-border);margin:var(--spacing-xs) 0;opacity:.5}.sidebar-nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base);cursor:pointer;border:var(--stroke-width-thin) solid transparent}.sidebar-nav-link:hover{background:var(--color-secondary-hover);color:var(--color-text-primary);border-color:var(--color-border)}.sidebar-nav-link.active{background:var(--color-primary);color:var(--color-text-on-primary);font-weight:var(--font-weight-semibold);border-left:3px solid var(--color-primary);box-shadow:var(--shadow-sm)}.sidebar-nav-icon{font-size:var(--font-size-base);width:20px;text-align:center;flex-shrink:0}.sidebar-nav-label{flex:1}.sidebar-mobile-toggle{display:none;position:fixed;top:var(--spacing-md);left:var(--spacing-md);z-index:1003;padding:var(--spacing-sm);background:var(--gradient-card);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-xl);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.sidebar-mobile-toggle:hover{background:var(--color-secondary-hover)}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#33333380;z-index:1001}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0);z-index:1002}.sidebar-mobile-toggle,.sidebar-overlay{display:block}}@media (min-width: 769px){.sidebar-mobile-toggle{display:none}.sidebar-overlay{display:none!important}}.breadcrumb{background:var(--gradient-elevated);border-bottom:var(--stroke-width-normal) solid var(--color-border);padding:var(--spacing-sm) var(--spacing-lg);position:fixed;top:var(--header-height);left:var(--sidebar-width);right:0;z-index:999;min-height:var(--breadcrumb-height);display:flex;align-items:center;box-shadow:var(--shadow-sm);border-radius:var(--radius-md);margin-top:3px}.breadcrumb-list{display:flex;align-items:center;flex-wrap:wrap;list-style:none;padding:0;max-width:1200px;margin:0 auto;gap:var(--spacing-xs)}.breadcrumb-item{display:flex;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.breadcrumb-link{color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-base);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);border:var(--stroke-width-thin) solid transparent}.breadcrumb-link:hover{color:var(--color-primary);text-decoration:underline;background:var(--color-background-hover);border-color:var(--color-border)}.breadcrumb-current{color:var(--color-text-primary);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);border:var(--stroke-width-thin) solid transparent}.breadcrumb-loading{color:var(--color-text-tertiary);font-style:italic;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);border:var(--stroke-width-thin) solid transparent}.breadcrumb-separator{color:var(--color-text-tertiary);margin:0 var(--spacing-xs);-webkit-user-select:none;user-select:none}@media (max-width: 768px){.breadcrumb{left:0;padding:var(--spacing-xs) var(--spacing-md)}.breadcrumb-list{font-size:var(--font-size-xs)}.breadcrumb-separator{margin:0 var(--spacing-xs)}}.navigation-options{background:var(--gradient-elevated);border-bottom:var(--stroke-width-normal) solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);position:fixed;top:var(--header-height);left:var(--sidebar-width);right:0;z-index:998;overflow-x:auto;min-height:var(--navigation-options-height);display:flex;align-items:center;box-shadow:var(--shadow-sm);border-radius:var(--radius-md);margin-top:14px;transition:top var(--transition-base)}.layout.has-breadcrumb .navigation-options{top:calc(var(--header-height) + var(--breadcrumb-height) + 3px)}.navigation-options-container{display:flex;align-items:center;gap:var(--spacing-sm);max-width:1200px;margin:0 auto;flex-wrap:wrap}.navigation-option-link,.navigation-option-button{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;color:var(--color-text-secondary);background:transparent;border:var(--stroke-width-thin) solid transparent;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.navigation-option-link:hover,.navigation-option-button:hover{color:var(--color-text-primary);background:var(--color-background-hover);border-color:var(--color-border)}.navigation-option-link.active{color:var(--color-primary);background:var(--color-primary-light);border-color:var(--color-primary);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.navigation-option-button{border-color:var(--color-border)}.navigation-option-button:hover{border-color:var(--color-primary);color:var(--color-primary)}@media (max-width: 768px){.navigation-options{left:0;padding:var(--spacing-sm) var(--spacing-md)}.navigation-options-container{gap:var(--spacing-xs);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.navigation-option-link,.navigation-option-button{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}}.feedback-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;overflow-y:auto}.feedback-dialog-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:calc(100vh - 2rem);margin:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;position:relative}.feedback-dialog-header{padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.feedback-dialog-header h2{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.feedback-dialog-close{background:none;border:none;font-size:2rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.feedback-dialog-close:hover:not(:disabled){background:var(--color-secondary);color:var(--color-text-primary)}.feedback-dialog-close:disabled{opacity:.5;cursor:not-allowed}.feedback-dialog-form{display:flex;flex-direction:column;flex:1;overflow:hidden}.feedback-dialog-content{padding:1.5rem;overflow-y:auto;flex:1}.feedback-dialog-field{margin-bottom:1.5rem}.feedback-dialog-field:last-of-type{margin-bottom:0}.feedback-dialog-field label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-base)}.feedback-dialog-field .required{color:var(--color-error)}.feedback-dialog-field input,.feedback-dialog-field select,.feedback-dialog-field textarea{width:100%;padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-background);color:var(--color-text-primary);transition:all var(--transition-base);font-family:inherit}.feedback-dialog-field textarea{resize:vertical;min-height:120px}.feedback-dialog-field input:focus,.feedback-dialog-field select:focus,.feedback-dialog-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.feedback-dialog-field input:disabled,.feedback-dialog-field select:disabled,.feedback-dialog-field textarea:disabled{opacity:.6;cursor:not-allowed}.feedback-dialog-upload-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-secondary);color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.feedback-dialog-upload-button:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.feedback-dialog-upload-button:disabled{opacity:.6;cursor:not-allowed}.feedback-dialog-image-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;margin-top:1rem}.feedback-dialog-image-preview{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;border:var(--stroke-width-normal) solid var(--color-border)}.feedback-dialog-image-preview img{width:100%;height:100%;object-fit:cover}.feedback-dialog-remove-image{position:absolute;top:.25rem;right:.25rem;width:1.5rem;height:1.5rem;border-radius:50%;background:#000000b3;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;transition:all var(--transition-base)}.feedback-dialog-remove-image:hover:not(:disabled){background:#000000e6;transform:scale(1.1)}.feedback-dialog-remove-image:disabled{opacity:.5;cursor:not-allowed}.feedback-dialog-error{margin-top:1rem;padding:.75rem;background:rgba(var(--color-error-rgb),.1);border:var(--stroke-width-normal) solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.feedback-dialog-success{margin-top:1rem;padding:.75rem;background:rgba(var(--color-success-rgb),.1);border:var(--stroke-width-normal) solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);font-size:var(--font-size-sm)}.feedback-dialog-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:var(--stroke-width-normal) solid var(--color-border);flex-shrink:0}.feedback-dialog-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.feedback-dialog-button:disabled{opacity:.6;cursor:not-allowed}.feedback-dialog-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.feedback-dialog-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.feedback-dialog-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.feedback-dialog-button-submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.feedback-dialog-modal{max-width:100%;margin:1rem;max-height:95vh}.feedback-dialog-actions{flex-direction:column-reverse}.feedback-dialog-button{width:100%}.feedback-dialog-image-previews{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.layout{display:flex;flex-direction:column;min-height:100vh;background:var(--color-background)}.layout-main{margin-top:var(--header-height);margin-left:var(--sidebar-width);min-height:calc(100vh - var(--header-height));padding:var(--spacing-xl);transition:margin-left var(--transition-base),margin-top var(--transition-base)}.layout.has-navigation-options .layout-main{margin-top:calc(var(--header-height) + var(--navigation-options-height));min-height:calc(100vh - var(--header-height) - var(--navigation-options-height))}.layout.has-breadcrumb .layout-main{margin-top:calc(var(--header-height) + var(--breadcrumb-height));min-height:calc(100vh - var(--header-height) - var(--breadcrumb-height))}.layout.has-breadcrumb.has-navigation-options .layout-main{margin-top:calc(var(--header-height) + var(--breadcrumb-height) + var(--navigation-options-height));min-height:calc(100vh - var(--header-height) - var(--breadcrumb-height) - var(--navigation-options-height))}.layout-content{max-width:1200px;margin:0 auto;width:100%}@media (max-width: 768px){.layout-main{margin-left:0;padding:var(--spacing-lg)}}.markdown-message{line-height:var(--line-height-normal)}.markdown-message p{margin:0 0 var(--spacing-sm) 0}.markdown-message p:last-child{margin-bottom:0}.markdown-message h1,.markdown-message h2,.markdown-message h3,.markdown-message h4,.markdown-message h5,.markdown-message h6{margin:var(--spacing-md) 0 var(--spacing-sm) 0;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.markdown-message h1:first-child,.markdown-message h2:first-child,.markdown-message h3:first-child,.markdown-message h4:first-child,.markdown-message h5:first-child,.markdown-message h6:first-child{margin-top:0}.markdown-message h1{font-size:var(--font-size-2xl)}.markdown-message h2{font-size:var(--font-size-xl)}.markdown-message h3{font-size:var(--font-size-lg)}.markdown-message h4,.markdown-message h5,.markdown-message h6{font-size:var(--font-size-base)}.markdown-message strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.markdown-message em{font-style:italic}.markdown-message ul,.markdown-message ol{margin:var(--spacing-sm) 0;padding-left:var(--spacing-xl)}.markdown-message li{margin:var(--spacing-xs) 0;line-height:var(--line-height-normal)}.markdown-message ul{list-style-type:disc}.markdown-message ol{list-style-type:decimal}.markdown-message code{background:var(--color-background-hover);border:var(--stroke-width-thin) solid var(--color-border);border-radius:var(--radius-sm);padding:.125rem .375rem;font-family:var(--font-family-mono);font-size:.875em;color:var(--color-text-primary)}.markdown-message pre{background:var(--color-background-hover);border:var(--stroke-width-thin) solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-sm) 0;overflow-x:auto;line-height:var(--line-height-normal)}.markdown-message pre code{background:transparent;border:none;padding:0;font-size:var(--font-size-sm);color:var(--color-text-primary)}.markdown-message blockquote{border-left:3px solid var(--color-primary);padding-left:var(--spacing-md);margin:var(--spacing-sm) 0;color:var(--color-text-secondary);font-style:italic}.markdown-message a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}.markdown-message a:hover{color:var(--color-primary-hover);text-decoration:underline}.markdown-message hr{border:none;border-top:var(--stroke-width-thin) solid var(--color-border);margin:var(--spacing-md) 0}.markdown-message table{width:100%;border-collapse:collapse;margin:var(--spacing-sm) 0}.markdown-message th,.markdown-message td{border:var(--stroke-width-thin) solid var(--color-border);padding:var(--spacing-xs) var(--spacing-sm);text-align:left}.markdown-message th{background:var(--color-background-hover);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.markdown-message td{color:var(--color-text-secondary)}.chatbot-toggle-button{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--color-primary);border:none;color:var(--color-text-on-primary);font-size:24px;cursor:pointer;box-shadow:var(--shadow-lg);z-index:1000;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.chatbot-toggle-button:hover{background:var(--color-primary-hover);transform:scale(1.1);box-shadow:var(--shadow-xl)}.chatbot-toggle-button:active{transform:scale(.95)}.chatbot-widget{position:fixed;bottom:96px;right:24px;width:400px;max-width:calc(100vw - 48px);height:600px;max-height:calc(100vh - 120px);background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;z-index:1001;overflow:hidden;border:var(--stroke-width-normal) solid var(--color-border)}.chatbot-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-primary);color:var(--color-text-on-primary);border-bottom:var(--stroke-width-thin) solid rgba(255,255,255,.1)}.chatbot-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.chatbot-close-button{background:none;border:none;color:var(--color-text-on-primary);font-size:var(--font-size-xl);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:background var(--transition-base)}.chatbot-close-button:hover{background:#fff3}.chatbot-messages{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);background:var(--color-background)}.chatbot-empty-state{display:flex;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--color-text-secondary);padding:var(--spacing-xl)}.chatbot-message{display:flex;flex-direction:column;max-width:80%;animation:fadeIn .3s ease-in}.chatbot-message-user{align-self:flex-end}.chatbot-message-assistant{align-self:flex-start}.chatbot-message-content{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);word-wrap:break-word;line-height:var(--line-height-normal);white-space:pre-wrap}.chatbot-message-user .chatbot-message-content{background:var(--color-primary);color:var(--color-text-on-primary);border-bottom-right-radius:var(--radius-sm)}.chatbot-message-assistant .chatbot-message-content{background:var(--color-background-hover);color:var(--color-text-primary);border:var(--stroke-width-thin) solid var(--color-border);border-bottom-left-radius:var(--radius-sm)}.chatbot-message-timestamp{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--spacing-xs);padding:0 var(--spacing-xs)}.chatbot-typing-indicator{display:flex;gap:4px;padding:8px 0}.chatbot-typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--color-text-tertiary);animation:typing 1.4s infinite}.chatbot-typing-indicator span:nth-child(2){animation-delay:.2s}.chatbot-typing-indicator span:nth-child(3){animation-delay:.4s}.chatbot-error{background:var(--color-error-bg);border:var(--stroke-width-normal) solid var(--color-error-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-sm) 0;color:var(--color-error);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.chatbot-error p{margin:0;flex:1}.chatbot-error-dismiss{background:var(--color-error);color:var(--color-text-on-primary);border:none;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);transition:opacity var(--transition-base)}.chatbot-error-dismiss:hover{opacity:.9}.chatbot-input-form{display:flex;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:var(--stroke-width-normal) solid var(--color-border);background:var(--color-background-elevated)}.chatbot-input{flex:1;padding:var(--spacing-md) var(--spacing-lg);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-background-hover);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-base)}.chatbot-input:focus{border-color:var(--color-primary)}.chatbot-input:disabled{background:var(--color-secondary);cursor:not-allowed;opacity:.6}.chatbot-input::placeholder{color:var(--color-text-tertiary)}.chatbot-send-button{padding:var(--spacing-md) var(--spacing-xl);background:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.chatbot-send-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.chatbot-send-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.chatbot-widget{width:calc(100vw - 24px);height:calc(100vh - 120px);bottom:96px;right:12px}.chatbot-toggle-button{bottom:16px;right:16px}}.legal-footer{margin-top:2rem;padding-top:1.5rem;border-top:var(--stroke-width-normal) solid var(--color-border);text-align:center}.legal-footer-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.legal-footer-link{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);transition:color var(--transition-base)}.legal-footer-link:hover{color:var(--color-primary)}.legal-footer-separator{color:var(--color-text-tertiary);margin:0 .25rem;font-size:var(--font-size-sm)}.legal-footer-info{display:flex;flex-direction:column;gap:.25rem}.legal-footer-text{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-xs);line-height:1.4}.legal-footer-external-link{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}.legal-footer-external-link:hover{color:var(--color-primary-hover);text-decoration:underline}.legal-footer-company{margin:0;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}@media (max-width: 480px){.legal-footer-links{flex-direction:column;gap:.75rem}.legal-footer-separator{display:none}}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;position:relative;overflow:hidden}.auth-background-animation{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;pointer-events:none}.shape-circle.shape-1{width:120px;height:120px;top:10%;left:5%;animation:float-1 20s ease-in-out infinite}.shape-circle.shape-2{width:80px;height:80px;top:60%;right:10%;animation:float-2 25s ease-in-out infinite;background:#ea6f181a}.shape-circle.shape-7{width:100px;height:100px;bottom:15%;left:15%;animation:float-3 22s ease-in-out infinite;background:#ea6f181f}.shape-square.shape-3{width:90px;height:90px;top:25%;right:15%;animation:float-4 18s ease-in-out infinite}.shape-square.shape-4{width:70px;height:70px;bottom:30%;right:25%;animation:float-5 24s ease-in-out infinite;background:#ea6f181f}.shape-square.shape-8{width:60px;height:60px;top:70%;left:8%;animation:float-6 21s ease-in-out infinite;background:#ea6f181a}.shape-triangle{width:0;height:0;background:transparent;border-left:40px solid transparent;border-right:40px solid transparent;border-bottom:70px solid rgba(234,111,24,.2)}.auth-card{position:relative;z-index:1;background:var(--gradient-card);border-radius:var(--radius-lg);padding:2.5rem;width:100%;max-width:400px;box-shadow:var(--shadow-lg);border:var(--stroke-width-normal) solid var(--color-border)}.auth-card h1{margin:0 0 2rem;font-size:2rem;font-weight:600;color:var(--color-text-primary);text-align:center}.form-group label{font-size:.9rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:2.5rem;width:100%}.password-toggle-button{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:1.2rem;transition:color var(--transition-base);z-index:1}.password-toggle-button:hover{color:var(--color-text-primary)}.password-toggle-button:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.remember-me-group{display:flex;align-items:center;margin-top:-.5rem}.remember-me-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.remember-me-checkbox{width:1rem;height:1rem;cursor:pointer;accent-color:var(--color-primary)}.remember-me-label:hover{color:var(--color-text-primary)}.error-message{padding:.75rem;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:1rem}.auth-link{margin-top:1.5rem;text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.auth-link a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-base)}.auth-link a:hover{color:var(--color-primary-hover)}.auth-logo{width:100px;height:auto;margin:0 auto 1.5rem;display:block;object-fit:contain;cursor:pointer;filter:drop-shadow(0 4px 12px rgba(234,111,24,.4));transition:all var(--transition-base)}.auth-logo:hover{filter:drop-shadow(0 6px 20px rgba(234,111,24,.6));transform:scale(1.05)}.auth-card h1{margin:0 0 2rem;font-size:2rem;font-weight:600;text-align:center}.error-message{padding:.75rem;background:#ff00001a;border:1px solid rgba(255,0,0,.3);border-radius:8px;color:#ff6b6b;font-size:.9rem;margin-bottom:1rem}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.auth-card{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:2.5rem;width:100%;max-width:400px;box-shadow:var(--shadow-lg);border:var(--stroke-width-normal) solid var(--color-border)}.auth-card h1{margin:0 0 .5rem;font-size:2rem;font-weight:600}.auth-subtitle{margin:0 0 2rem;color:var(--color-text-secondary);font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input{padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-navy-deep);color:var(--color-text-primary);font-size:var(--font-size-base);transition:all var(--transition-base)}.form-group input:focus{outline:none;border-color:var(--color-border-focus);background:var(--color-navy-deep);box-shadow:0 0 0 3px var(--color-primary-light)}.form-group input::placeholder{color:var(--color-text-tertiary)}.auth-button{padding:.75rem;border:var(--stroke-width-normal) solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-on-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);margin-top:.5rem;box-shadow:var(--shadow-sm)}.auth-button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.error-message{padding:.75rem;background:var(--color-error-bg);border:var(--stroke-width-normal) solid var(--color-error-border);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:1rem}.success-message{padding:.75rem;background:var(--color-success-bg);border:var(--stroke-width-normal) solid var(--color-success-border);border-radius:var(--radius-md);color:var(--color-success);font-size:var(--font-size-sm);margin-bottom:1rem}.auth-link{margin-top:1.5rem;text-align:center;color:var(--color-text-secondary);font-size:.9rem}.auth-link a{color:var(--color-text-primary);text-decoration:none;font-weight:500;transition:color .2s ease}.auth-link a:hover{color:var(--color-text-primary)}.invite-accept-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--color-background)}.invite-accept-container{width:100%;max-width:500px}.invite-accept-card{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border)}.invite-accept-card h1{margin:0 0 1.5rem;font-size:1.75rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center}.invite-accept-info{margin-bottom:2rem;text-align:center}.invite-accept-farm-name{font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 .5rem}.invite-accept-email{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 .5rem}.invite-accept-role{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0;font-style:italic}.invite-accept-not-logged-in,.invite-accept-email-mismatch{margin-bottom:2rem;text-align:left}.invite-accept-not-logged-in p,.invite-accept-email-mismatch p{margin:0 0 1rem;color:var(--color-text-primary)}.invite-accept-instructions-title{font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 1.5rem;text-align:center}.invite-accept-instructions{margin-bottom:2rem}.invite-accept-instruction-step{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start}.invite-accept-instruction-step:last-child{margin-bottom:0}.invite-accept-step-number{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;background:var(--color-primary);color:var(--color-text-on-primary);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}.invite-accept-step-content{flex:1}.invite-accept-step-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 .5rem}.invite-accept-step-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.invite-accept-email-warning{background:var(--color-warning-background, rgba(255, 193, 7, .1));border:var(--stroke-width-normal) solid var(--color-warning, rgba(255, 193, 7, .3));border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem;text-align:center}.invite-accept-email-must-match{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-warning, var(--color-text-primary));margin:0 0 .5rem}.invite-accept-invited-email{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0}.invite-accept-invited-email strong{color:var(--color-primary)}.invite-accept-error{text-align:center}.invite-accept-error h1{color:var(--color-error);margin-bottom:1rem}.invite-accept-error p{color:var(--color-text-primary);margin-bottom:2rem}.invite-accept-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.invite-accept-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);text-decoration:none;display:inline-block;text-align:center}.invite-accept-button:disabled{opacity:.6;cursor:not-allowed}.invite-accept-button-primary{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.invite-accept-button-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.invite-accept-button-secondary{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.invite-accept-button-secondary:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}@media (max-width: 768px){.invite-accept-page{padding:1rem}.invite-accept-card{padding:1.5rem}.invite-accept-actions{flex-direction:column}.invite-accept-button{width:100%}}.legal-page{min-height:100vh;background:var(--color-background);padding:var(--spacing-lg);display:flex;align-items:flex-start;justify-content:center}.legal-page-container{max-width:800px;width:100%;background:var(--gradient-card);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg);border:var(--stroke-width-normal) solid var(--color-border)}.legal-page-container h1{margin:0 0 var(--spacing-xl) 0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center}.legal-content{color:var(--color-text-primary);line-height:1.6}.legal-content section{margin-bottom:var(--spacing-xl)}.legal-content section:last-of-type{margin-bottom:0}.legal-content h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0;padding-bottom:var(--spacing-sm);border-bottom:var(--stroke-width-normal) solid var(--color-border)}.legal-content h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin:var(--spacing-lg) 0 var(--spacing-sm) 0}.legal-content p{margin:0 0 var(--spacing-md) 0;color:var(--color-text-secondary);font-size:var(--font-size-base)}.legal-content ul{margin:var(--spacing-md) 0;padding-left:var(--spacing-xl);color:var(--color-text-secondary)}.legal-content li{margin-bottom:var(--spacing-sm)}.legal-content strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.legal-external-link{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}.legal-external-link:hover{color:var(--color-primary-hover);text-decoration:underline}.legal-page-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:var(--stroke-width-normal) solid var(--color-border);text-align:center}.legal-back-link{display:inline-block;color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-base)}.legal-back-link:hover{color:var(--color-primary-hover);text-decoration:underline}@media (max-width: 768px){.legal-page{padding:var(--spacing-md)}.legal-page-container{padding:var(--spacing-lg)}.legal-page-container h1{font-size:var(--font-size-2xl)}.legal-content h2{font-size:var(--font-size-lg)}.legal-content h3{font-size:var(--font-size-base)}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:10000;background:var(--gradient-card);border-top:var(--stroke-width-normal) solid var(--color-border);box-shadow:0 -4px 20px #0000004d;padding:var(--spacing-lg);animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-banner-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-md)}.cookie-banner-text{flex:1}.cookie-banner-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cookie-banner-description{margin:0;font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.5}.cookie-banner-link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-base)}.cookie-banner-link:hover{color:var(--color-primary-hover);text-decoration:underline}.cookie-banner-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center}.cookie-banner-button{padding:var(--spacing-sm) var(--spacing-lg);border:var(--stroke-width-normal) solid;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;flex:1;min-width:120px}.cookie-banner-button-reject{background:transparent;border-color:var(--color-border);color:var(--color-text-primary)}.cookie-banner-button-reject:hover{background:var(--color-background-hover);border-color:var(--color-border-hover)}.cookie-banner-button-settings{background:transparent;border-color:var(--color-primary);color:var(--color-primary)}.cookie-banner-button-settings:hover{background:var(--color-primary-light);border-color:var(--color-primary-hover);color:var(--color-primary-hover)}.cookie-banner-button-accept{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.cookie-banner-button-accept:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.cookie-banner-button:active{transform:translateY(0)}.cookie-banner-button:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}@media (max-width: 768px){.cookie-banner{padding:var(--spacing-md)}.cookie-banner-content{gap:var(--spacing-md)}.cookie-banner-actions{flex-direction:column}.cookie-banner-button{width:100%;flex:none}.cookie-banner-title{font-size:var(--font-size-base)}.cookie-banner-description{font-size:var(--font-size-sm)}}.cookie-settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001;padding:var(--spacing-lg);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cookie-settings-modal{background:var(--gradient-card);border-radius:var(--radius-lg);border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-xl);max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-settings-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:var(--stroke-width-normal) solid var(--color-border)}.cookie-settings-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cookie-settings-close{background:none;border:none;color:var(--color-text-secondary);font-size:2rem;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.cookie-settings-close:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.cookie-settings-content{padding:var(--spacing-lg);overflow-y:auto;flex:1}.cookie-settings-intro{margin:0 0 var(--spacing-xl) 0;color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.6}.cookie-settings-categories{display:flex;flex-direction:column;gap:var(--spacing-lg)}.cookie-category{padding:var(--spacing-md);background:var(--color-background-elevated);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border)}.cookie-category-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.cookie-category-info{flex:1}.cookie-category-title{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cookie-category-description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.cookie-category-toggle{flex-shrink:0}.cookie-toggle-input{display:none}.cookie-toggle-label{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.cookie-toggle-label.cookie-toggle-disabled{cursor:not-allowed;opacity:.6}.cookie-toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--color-border);border-radius:24px;transition:background-color var(--transition-base)}.cookie-toggle-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:transform var(--transition-base)}.cookie-toggle-input:checked+.cookie-toggle-label .cookie-toggle-slider{background-color:var(--color-primary)}.cookie-toggle-input:checked+.cookie-toggle-label .cookie-toggle-slider:before{transform:translate(20px)}.cookie-toggle-input:focus+.cookie-toggle-label .cookie-toggle-slider{box-shadow:0 0 0 3px var(--color-primary-light)}.cookie-settings-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:var(--stroke-width-normal) solid var(--color-border)}.cookie-settings-button{padding:var(--spacing-sm) var(--spacing-lg);border:var(--stroke-width-normal) solid;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);min-width:100px}.cookie-settings-button-cancel{background:transparent;border-color:var(--color-border);color:var(--color-text-primary)}.cookie-settings-button-cancel:hover{background:var(--color-background-hover);border-color:var(--color-border-hover)}.cookie-settings-button-save{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.cookie-settings-button-save:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.cookie-settings-button:active{transform:translateY(0)}.cookie-settings-button:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}@media (max-width: 768px){.cookie-settings-overlay{padding:var(--spacing-md)}.cookie-settings-modal{max-height:95vh}.cookie-settings-header,.cookie-settings-content,.cookie-settings-actions{padding:var(--spacing-md)}.cookie-category-header{flex-direction:column;gap:var(--spacing-sm)}.cookie-category-toggle{align-self:flex-start}.cookie-settings-actions{flex-direction:column-reverse}.cookie-settings-button{width:100%}}.farm-tree-container{width:100%;padding:var(--spacing-lg)}.farm-tree{background:var(--color-background-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.tree-node{margin:0}.tree-node-content{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-xs) 0;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-base);-webkit-user-select:none;user-select:none}.tree-node-content:hover{background:var(--color-background-elevated)}.tree-node-content.has-children{font-weight:var(--font-weight-semibold)}.tree-node-main{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.tree-node-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-xs);padding:0;transition:transform var(--transition-base),color var(--transition-base);flex-shrink:0}.tree-node-toggle:hover{color:var(--color-text-primary)}.tree-node-toggle.expanded{transform:rotate(0)}.tree-node-spacer{width:20px;flex-shrink:0}.tree-node-icon{font-size:var(--font-size-lg);flex-shrink:0;width:24px;text-align:center}.tree-node-label{flex:1;color:var(--color-text-primary);font-size:var(--font-size-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tree-node-type{color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);margin-left:var(--spacing-sm);flex-shrink:0}.tree-node-children{margin-left:var(--spacing-md);border-left:1px solid var(--color-border);padding-left:var(--spacing-sm)}.farm-tree-loading,.farm-tree-error,.farm-tree-empty{background:var(--color-background-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:var(--spacing-3xl);text-align:center;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.farm-tree-loading p,.farm-tree-empty p{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin:0}.farm-tree-error{border-color:var(--color-error-border);background:var(--color-error-bg)}.farm-tree-error p{color:var(--color-error);font-size:var(--font-size-lg);margin:0 0 var(--spacing-sm) 0}.farm-tree-error-detail{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.farm-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.farm-form-modal{background:var(--gradient-card);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border)}.farm-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.farm-form-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.farm-form-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.farm-form-close:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.farm-form{padding:1.5rem}.farm-form-error{background:var(--color-error-bg);color:var(--color-error);padding:.75rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:var(--font-size-sm);border:1px solid var(--color-error-border)}.farm-form-group{margin-bottom:1.5rem}.farm-form-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.farm-form-group .required{color:var(--color-error)}.farm-form-group input,.farm-form-group select{width:100%;padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-navy-deep);color:var(--color-text-primary);transition:all var(--transition-base)}.farm-form-group input:focus,.farm-form-group select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.farm-form-group input:disabled,.farm-form-group select:disabled{background:var(--color-background-hover);cursor:not-allowed;opacity:.6}.farm-form-group input::placeholder{color:var(--color-text-tertiary)}.farm-form-field-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:.25rem;padding-left:.25rem}.farm-form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.farm-form-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.farm-form-button:disabled{opacity:.6;cursor:not-allowed}.farm-form-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.farm-form-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.farm-form-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.farm-form-button-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.farm-form-modal{max-width:100%;margin:1rem}.farm-form-actions{flex-direction:column-reverse}.farm-form-button{width:100%}}.kpi-details-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.kpi-details-dialog-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border);display:flex;flex-direction:column}.kpi-details-dialog-header{padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0}.kpi-details-dialog-title{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1}.kpi-details-dialog-close{background:transparent;border:none;font-size:2rem;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.kpi-details-dialog-close:hover{background:var(--color-secondary);color:var(--color-text-primary)}.kpi-details-dialog-content{padding:1.5rem;flex:1;overflow-y:auto}.kpi-details-loading,.kpi-details-error,.kpi-details-empty{text-align:center;padding:2rem;color:var(--color-text-secondary)}.kpi-details-error{color:var(--color-error)}.kpi-details-list{display:flex;flex-direction:column;gap:1rem}.kpi-details-item{background:var(--color-secondary);border-radius:var(--radius-md);padding:1rem;border:var(--stroke-width-normal) solid var(--color-border);transition:all var(--transition-base)}.kpi-details-item-clickable{cursor:pointer}.kpi-details-item-clickable:hover{background:var(--color-secondary-hover);border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-details-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.kpi-details-item-title{margin:0;font-size:1.1rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.kpi-details-item-subtitle{font-size:.9rem;color:var(--color-text-secondary)}.kpi-details-item-content{display:flex;flex-direction:column;gap:.5rem}.kpi-details-item-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.kpi-details-item-label{font-size:.9rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.kpi-details-item-value{font-size:.9rem;color:var(--color-text-primary);text-align:right}.kpi-details-item-stats{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem;padding-top:.75rem;border-top:var(--stroke-width-normal) solid var(--color-border)}.kpi-details-stat{font-size:.85rem;color:var(--color-text-secondary);padding:.25rem .5rem;background:var(--color-tertiary);border-radius:var(--radius-sm)}.kpi-details-status{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:var(--font-weight-medium)}.kpi-details-status-active{background:var(--color-success-bg);color:var(--color-success)}.kpi-details-status-inactive{background:var(--color-error-bg);color:var(--color-error)}.kpi-details-alert-severity{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.kpi-details-alert-severity-high{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.kpi-details-alert-severity-medium{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.kpi-details-alert-severity-low{background:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info-border)}.kpi-details-birds-breakdown{display:flex;flex-direction:column;gap:2rem}.kpi-details-birds-summary{display:flex;gap:1.5rem;padding:1rem;background:var(--color-secondary);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border)}.kpi-details-birds-summary-item{display:flex;flex-direction:column;gap:.5rem;flex:1}.kpi-details-birds-summary-label{font-size:.9rem;color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.kpi-details-birds-summary-value{font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.kpi-details-birds-section{display:flex;flex-direction:column;gap:1rem}.kpi-details-birds-section-title{margin:0;font-size:1.1rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.kpi-details-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:var(--stroke-width-normal) solid var(--color-border);flex-shrink:0}.kpi-details-dialog-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.kpi-details-dialog-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.kpi-details-dialog-modal{max-width:100%;margin:1rem;max-height:85vh}.kpi-details-dialog-header{flex-direction:row}.kpi-details-dialog-title{font-size:1.25rem}.kpi-details-birds-summary{flex-direction:column}.kpi-details-item-stats{flex-direction:column;gap:.5rem}.kpi-details-dialog-actions{flex-direction:column-reverse}.kpi-details-dialog-button{width:100%}}@media (prefers-color-scheme: light){.kpi-details-dialog-modal{background:#fffffff2;border:1px solid rgba(0,0,0,.1)}.kpi-details-dialog-title{color:#000000de}.kpi-details-item-label{color:#000000b3}.kpi-details-item-value{color:#000000de}}.home-page{width:100%;padding:var(--spacing-lg)}.home-header{margin-bottom:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;text-align:center}.home-logo-container{margin-bottom:var(--spacing-lg);display:flex;justify-content:center;align-items:center}.home-logo{max-width:150px;height:auto;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(255,152,0,.4))}.home-welcome{margin-bottom:var(--spacing-xl)}.home-welcome h1{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.home-subtitle{margin:0;font-size:var(--font-size-lg);color:var(--color-text-secondary)}.home-ai-search-section{width:100%;max-width:800px;margin:0 auto var(--spacing-xl) auto}.home-ai-search-form{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-base)}.home-ai-search-form:focus-within{box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.home-ai-search-input{flex:1;padding:var(--spacing-md) var(--spacing-lg);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-lg);background:var(--color-background-hover);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-base)}.home-ai-search-input:focus{border-color:var(--color-primary)}.home-ai-search-input::placeholder{color:var(--color-text-tertiary)}.home-ai-search-button{padding:var(--spacing-md) var(--spacing-xl);background:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.home-ai-search-button:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.home-ai-search-button:active{transform:translateY(0)}.home-content{width:100%;max-width:1400px;margin:0 auto}.home-kpi-section{margin-bottom:var(--spacing-xl)}.home-kpi-section h2{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.kpi-card{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base)}.kpi-card-clickable{cursor:pointer}.kpi-card-clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.kpi-card h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.kpi-value{margin:0;font-size:2.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.home-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.home-dashboard-section{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.section-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.view-all-link{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-base)}.view-all-link:hover{color:var(--color-text-primary)}.alerts-list,.placements-list{list-style:none;padding:0;margin:0;max-height:400px;overflow-y:auto}.alert-item,.placement-item{padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--color-background-hover);border-radius:var(--radius-sm);border:var(--stroke-width-thin) solid transparent;display:flex;align-items:center;gap:var(--spacing-md);transition:all var(--transition-base)}.alert-severity{padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;flex-shrink:0}.alert-message{flex:1;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.alert-type{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-left:auto;flex-shrink:0}.placement-item a{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-base);display:block;width:100%}.placement-link-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.placement-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.placement-flock,.placement-date{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.empty-state{margin:0;color:var(--color-text-tertiary);font-style:italic;text-align:center;padding:var(--spacing-xl)}.home-quick-actions{margin-bottom:var(--spacing-xl)}.home-quick-actions h2{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.quick-actions-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.quick-action-button{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-secondary);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center}.quick-action-button:hover{background:var(--color-secondary-hover);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.home-farm-structure{margin-bottom:var(--spacing-xl)}.farm-structure-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--gradient-card);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--spacing-md)}.farm-structure-toggle:hover{background:var(--color-background-hover);border-color:var(--color-border-hover)}.farm-structure-toggle h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.toggle-icon{font-size:var(--font-size-lg);color:var(--color-text-secondary);transition:transform var(--transition-base)}.farm-tree-wrapper{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm)}.home-empty-state{text-align:center;padding:var(--spacing-3xl);background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm)}.home-empty-state h2{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.home-empty-state p{margin:0 0 var(--spacing-xl) 0;color:var(--color-text-secondary);font-size:var(--font-size-lg)}.create-farm-button{padding:var(--spacing-md) var(--spacing-xl);background:var(--color-primary-light);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base)}.create-farm-button:hover{background:var(--color-primary);border-color:var(--color-border-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.home-page{padding:var(--spacing-md)}.home-welcome h1{font-size:var(--font-size-3xl)}.home-ai-search-section{max-width:100%}.home-ai-search-form{flex-direction:column;gap:var(--spacing-sm)}.home-ai-search-button{width:100%}.kpi-grid,.home-dashboard-grid{grid-template-columns:1fr}.quick-actions-grid{flex-direction:column}.quick-action-button{width:100%;text-align:center}.section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}.farm-switcher-page{width:100%;padding:2rem}.farm-switcher-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.create-farm-button{padding:.75rem 1.5rem;background:var(--color-primary-light);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.create-farm-button:hover{background:var(--color-primary);border-color:var(--color-border-hover);transform:translateY(-1px)}.farm-switcher-container{max-width:1200px;margin:0 auto}.farm-switcher-container h1{margin:0 0 .5rem;font-size:2rem;font-weight:600;color:var(--color-text-primary)}.farm-switcher-subtitle{margin:0 0 2rem;color:var(--color-text-secondary);font-size:1rem}.no-farms-message{padding:2rem;background:#ffffff0d;border-radius:8px;color:var(--color-text-secondary);text-align:center}.farms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}.farm-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s ease}.farm-card:hover{background:#ffffff14;border-color:var(--color-border);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.farm-name{margin:0 0 .75rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.farm-timezone,.farm-location{margin:.5rem 0 0;font-size:.9rem;color:var(--color-text-secondary)}.kpi-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1)}.kpi-card-clickable{cursor:pointer;transition:all .2s ease}.kpi-card-clickable:hover{background:#ffffff14;border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}@media (max-width: 768px){.farm-switcher-header{flex-direction:column}.create-farm-button{width:100%}.farms-grid,.kpi-grid{grid-template-columns:1fr}}.delete-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.delete-dialog-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border)}.delete-dialog-header{padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.delete-dialog-header h2{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.delete-dialog-content{padding:1.5rem}.delete-dialog-content p{margin:0 0 .75rem;color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.delete-dialog-content p:last-of-type{margin-bottom:0}.delete-dialog-content strong{font-weight:var(--font-weight-semibold)}.delete-dialog-warning{color:var(--color-error)!important;font-weight:var(--font-weight-medium)}.delete-dialog-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:var(--stroke-width-normal) solid var(--color-border)}.delete-dialog-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.delete-dialog-button:disabled{opacity:.6;cursor:not-allowed}.delete-dialog-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.delete-dialog-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.delete-dialog-button-confirm{background:var(--color-error);color:var(--color-text-on-primary);border-color:var(--color-error);box-shadow:var(--shadow-sm)}.delete-dialog-button-confirm:hover:not(:disabled){background:var(--color-error);box-shadow:var(--shadow-md)}@media (max-width: 768px){.delete-dialog-modal{max-width:100%;margin:1rem}.delete-dialog-actions{flex-direction:column-reverse}.delete-dialog-button{width:100%}}.chat-history-sidebar{width:300px;height:100%;display:flex;flex-direction:column;background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm)}.chat-history-header{padding:var(--spacing-lg);border-bottom:var(--stroke-width-normal) solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.chat-history-header h3{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.chat-history-new-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.chat-history-new-button:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.chat-history-list{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.chat-history-loading,.chat-history-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.chat-history-item{padding:var(--spacing-md);margin-bottom:var(--spacing-xs);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);background:transparent;border:var(--stroke-width-thin) solid transparent}.chat-history-item:hover{background:var(--color-background-hover);border-color:var(--color-border)}.chat-history-item.active{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.chat-history-item.active .chat-history-item-preview,.chat-history-item.active .chat-history-item-date{color:var(--color-text-on-primary)}.chat-history-item-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.chat-history-item-preview{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chat-history-item-meta{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.chat-history-item-date{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.chat-history-item-delete{background:transparent;border:none;color:var(--color-text-tertiary);font-size:var(--font-size-xl);line-height:1;cursor:pointer;padding:var(--spacing-xs);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base);opacity:0}.chat-history-item:hover .chat-history-item-delete{opacity:1}.chat-history-item-delete:hover{background:var(--color-error-bg);color:var(--color-error)}.chat-history-item.active .chat-history-item-delete{color:var(--color-text-on-primary);opacity:1}.chat-history-item.active .chat-history-item-delete:hover{background:#fff3;color:var(--color-text-on-primary)}@media (max-width: 768px){.chat-history-sidebar{width:100%;border-right:none;border-bottom:var(--stroke-width-normal) solid var(--color-border)}}.chat-page{width:100%;height:calc(100vh - var(--header-height, 64px));display:flex;flex-direction:column;background:var(--color-background)}.chat-container{width:100%;margin:0 auto;height:100%;display:flex;flex-direction:row;padding:0;gap:0}.chat-main-content{flex:1;display:flex;flex-direction:column;padding:var(--spacing-xl);gap:var(--spacing-lg);overflow:hidden}.chat-messages-container{flex:1;overflow:hidden;display:flex;flex-direction:column;background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm)}.chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.chat-empty-state{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.chat-welcome{max-width:600px}.chat-welcome h2{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.chat-welcome p{margin:0 0 var(--spacing-xl) 0;color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.chat-examples{margin-top:var(--spacing-xl)}.chat-examples-title{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.chat-examples-list{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:center}.chat-example-button{padding:var(--spacing-md) var(--spacing-lg);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-secondary);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base);text-align:left;width:100%;max-width:400px}.chat-example-button:hover{background:var(--color-secondary-hover);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.chat-message{display:flex;flex-direction:column;max-width:80%;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message-user{align-self:flex-end}.chat-message-assistant{align-self:flex-start}.chat-message-content{padding:1rem 1.25rem;border-radius:12px;word-wrap:break-word;line-height:1.6;white-space:pre-wrap}.chat-message-user .chat-message-content{background:var(--color-primary);color:var(--color-text-on-primary);border-bottom-right-radius:var(--radius-sm)}.chat-message-assistant .chat-message-content{background:var(--color-background-hover);color:var(--color-text-primary);border:var(--stroke-width-thin) solid var(--color-border);border-bottom-left-radius:var(--radius-sm)}.chat-message-timestamp{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--spacing-xs);padding:0 var(--spacing-sm)}.chat-typing-indicator{display:flex;gap:.5rem;padding:.5rem 0}.chat-typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--color-text-tertiary);animation:typing 1.4s infinite}.chat-typing-indicator span:nth-child(2){animation-delay:.2s}.chat-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.chat-error{background:var(--color-error-bg);border:var(--stroke-width-normal) solid var(--color-error-border);border-radius:var(--radius-md);padding:var(--spacing-lg);margin:var(--spacing-sm) 0;color:var(--color-error);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.chat-error p{margin:0;flex:1}.chat-error-dismiss{background:var(--color-error);color:var(--color-text-on-primary);border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);transition:background var(--transition-base)}.chat-error-dismiss:hover{background:var(--color-error);opacity:.9}.chat-input-form{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm)}.chat-input{flex:1;padding:var(--spacing-md) var(--spacing-lg);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-background-hover);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-base)}.chat-input:focus{border-color:var(--color-primary)}.chat-input:disabled{background:var(--color-secondary);cursor:not-allowed;opacity:.6}.chat-input::placeholder{color:var(--color-text-tertiary)}.chat-send-button{padding:var(--spacing-md) var(--spacing-xl);background:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.chat-send-button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.chat-send-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.chat-container{flex-direction:column}.chat-main-content,.chat-messages{padding:var(--spacing-lg)}.chat-message{max-width:90%}.chat-example-button{max-width:100%}}.received-invitation-list{width:100%}.received-invitation-list-empty{padding:2rem;text-align:center;color:var(--color-text-secondary)}.received-invitation-list-table{width:100%;border-collapse:collapse;background:var(--color-background-card);border-radius:var(--radius-md);overflow:hidden}.received-invitation-list-table thead{background:var(--color-secondary)}.received-invitation-list-table th{padding:1rem;text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.received-invitation-list-table td{padding:1rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);color:var(--color-text-primary)}.received-invitation-list-table tbody tr:last-child td{border-bottom:none}.received-invitation-list-table tbody tr:hover{background:var(--color-secondary)}.received-invitation-list-role{display:inline-block;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.received-invitation-list-role-owner{background:#8b451333;color:#8b4513}.received-invitation-list-role-admin{background:#dc143c33;color:#dc143c}.received-invitation-list-role-editor{background:#1e90ff33;color:#1e90ff}.received-invitation-list-role-viewer{background:#80808033;color:gray}.received-invitation-list-status{display:inline-block;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.received-invitation-list-actions{display:flex;gap:.5rem;align-items:center}.received-invitation-list-action-button{padding:.375rem .75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);background:var(--color-background);color:var(--color-text-primary);text-decoration:none;display:inline-block}.received-invitation-list-action-button:hover{background:var(--color-secondary);border-color:var(--color-border-hover)}.received-invitation-list-action-accept{color:var(--color-primary);border-color:var(--color-primary)}.received-invitation-list-action-accept:hover{background:rgba(var(--color-primary-rgb),.1)}.received-invitation-list-no-actions{color:var(--color-text-tertiary);font-style:italic;font-size:var(--font-size-sm)}.received-invitation-list-row-expiring{background:#ffc1070d}.received-invitation-list-expiration-warning{color:#ffc107;font-weight:var(--font-weight-medium)}.received-invitation-list-days-remaining{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic}@media (max-width: 768px){.received-invitation-list-table{font-size:var(--font-size-sm)}.received-invitation-list-table th,.received-invitation-list-table td{padding:.75rem .5rem}.received-invitation-list-actions{flex-direction:column;align-items:flex-start}.received-invitation-list-action-button{width:100%}}.profile-page{width:100%;padding:2rem}.profile-container{max-width:800px;margin:0 auto}.profile-container h1{margin:0 0 2rem;font-size:2rem;font-weight:600;color:var(--color-text-primary)}.profile-section{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm)}.profile-section h2{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.profile-info{display:flex;flex-direction:column;gap:1rem}.user-id{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.profile-form{display:flex;flex-direction:column}.form-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.locale-select{padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-navy-deep);color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base)}.locale-select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.notification-options{display:flex;flex-direction:column;gap:1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:1rem;color:var(--color-text-primary)}.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.save-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-on-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);align-self:flex-start;box-shadow:var(--shadow-sm)}.save-button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.save-button:disabled{opacity:.6;cursor:not-allowed}.message{padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.message.success{background:var(--color-success-bg);border:var(--stroke-width-normal) solid var(--color-success-border);color:var(--color-success)}.message.error{background:var(--color-error-bg);border:var(--stroke-width-normal) solid var(--color-error-border);color:var(--color-error)}.landing-roadmap{padding:6rem 0;position:relative;z-index:1;background:linear-gradient(180deg,var(--color-navy-deep) 0%,rgba(234,111,24,.03) 50%,var(--color-navy-deep) 100%)}.roadmap-timeline-wrapper{position:relative;max-width:1000px;margin:4rem auto 0;padding:2rem 0}.roadmap-timeline-line{position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(180deg,transparent 0%,rgba(234,111,24,.3) 10%,rgba(234,111,24,.6) 50%,rgba(234,111,24,.3) 90%,transparent 100%);transform:translate(-50%);animation:timelineDraw 2s ease-out forwards;z-index:1}@keyframes timelineDraw{0%{height:0;opacity:0}to{height:100%;opacity:1}}.roadmap-milestone{position:relative;display:flex;align-items:center;margin-bottom:4rem;opacity:0;animation:milestoneReveal .8s ease-out forwards;will-change:opacity,transform}.roadmap-milestone:last-child{margin-bottom:0}.roadmap-milestone-left{flex-direction:row}.roadmap-milestone-right{flex-direction:row-reverse}.roadmap-milestone-marker{position:absolute;left:50%;transform:translate(-50%);width:50px;height:50px;border-radius:50%;background:var(--gradient-card);border:3px solid var(--color-primary);display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 4px 12px #ea6f184d;transition:all var(--transition-base)}.roadmap-milestone:hover .roadmap-milestone-marker{transform:translate(-50%) scale(1.15);box-shadow:0 6px 20px #ea6f1880;border-color:var(--color-primary-hover)}.roadmap-milestone-number{font-size:1.25rem;font-weight:var(--font-weight-bold);color:var(--color-primary)}.roadmap-milestone-card{width:calc(50% - 60px);background:var(--gradient-card);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;transition:all var(--transition-base);position:relative;overflow:hidden}.roadmap-milestone-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);transform:translate(-100%);transition:transform .6s ease}.roadmap-milestone-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(234,111,24,.1) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.roadmap-milestone-card-left{margin-right:auto;margin-left:0}.roadmap-milestone-card-right{margin-left:auto;margin-right:0}.roadmap-milestone:hover .roadmap-milestone-card{transform:translateY(-4px);border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.roadmap-milestone:hover .roadmap-milestone-card:before{transform:translate(100%)}.roadmap-milestone:hover .roadmap-milestone-card:after{opacity:1}.roadmap-milestone-title{font-size:1.5rem;font-weight:var(--font-weight-semibold);margin:0 0 .75rem;color:var(--color-text-primary);line-height:1.3}.roadmap-milestone-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}@keyframes milestoneReveal{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.roadmap-milestone-right,.roadmap-milestone-right .roadmap-milestone-card{animation-name:milestoneRevealRight}@keyframes milestoneRevealRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media (max-width: 1024px){.roadmap-timeline-line{left:30px}.roadmap-milestone{flex-direction:row!important;padding-left:60px;animation-name:milestoneReveal!important}.roadmap-milestone-marker{left:30px;transform:translate(-50%)}.roadmap-milestone-card{width:100%;margin-left:0!important;margin-right:0!important}}@media (max-width: 768px){.landing-roadmap{padding:4rem 0}.roadmap-timeline-wrapper{margin-top:2rem;padding:1rem 0}.roadmap-timeline-line{left:20px;width:2px}.roadmap-milestone{margin-bottom:3rem;padding-left:50px}.roadmap-milestone-marker{left:20px;width:40px;height:40px}.roadmap-milestone-number{font-size:1rem}.roadmap-milestone-card{padding:1.5rem}.roadmap-milestone-title{font-size:1.25rem}.roadmap-milestone-description{font-size:var(--font-size-sm)}}@media (max-width: 480px){.roadmap-milestone{margin-bottom:2rem;padding-left:40px}.roadmap-milestone-marker{width:35px;height:35px}.roadmap-milestone-card{padding:1.25rem}.roadmap-milestone-title{font-size:1.1rem}}.landing-page{min-height:100vh;position:relative;overflow-x:hidden;background:var(--color-navy-deep);color:var(--color-text-primary)}.landing-background-animation{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;pointer-events:none}.animated-shape{position:absolute;will-change:transform,opacity}.shape-circle{border-radius:50%;background:#ea6f1826}.shape-circle.shape-1{width:150px;height:150px;top:10%;left:5%;animation:float-1 20s ease-in-out infinite}.shape-circle.shape-2{width:100px;height:100px;top:60%;right:10%;animation:float-2 25s ease-in-out infinite;background:#ea6f181a}.shape-circle.shape-7{width:120px;height:120px;bottom:15%;left:15%;animation:float-3 22s ease-in-out infinite;background:#ea6f181f}.shape-square{background:#ea6f182e;transform:rotate(45deg)}.shape-square.shape-3{width:110px;height:110px;top:25%;right:15%;animation:float-4 18s ease-in-out infinite}.shape-square.shape-4{width:80px;height:80px;bottom:30%;right:25%;animation:float-5 24s ease-in-out infinite;background:#ea6f181f}.shape-square.shape-8{width:70px;height:70px;top:70%;left:8%;animation:float-6 21s ease-in-out infinite;background:#ea6f181a}.shape-triangle{width:0;height:0;background:transparent;border-left:50px solid transparent;border-right:50px solid transparent;border-bottom:85px solid rgba(234,111,24,.2)}.shape-triangle.shape-5{top:40%;left:8%;animation:float-7 23s ease-in-out infinite;border-bottom-color:#ea6f1826}.shape-triangle.shape-6{top:15%;right:8%;animation:float-8 19s ease-in-out infinite;border-bottom-color:#ea6f181f;transform:rotate(180deg)}@keyframes float-1{0%,to{transform:translate(0) rotate(0) scale(1);opacity:.15}25%{transform:translate(30px,-40px) rotate(90deg) scale(1.1);opacity:.2}50%{transform:translate(-20px,-60px) rotate(180deg) scale(.9);opacity:.12}75%{transform:translate(-40px,-20px) rotate(270deg) scale(1.05);opacity:.18}}@keyframes float-2{0%,to{transform:translate(0) rotate(0) scale(1);opacity:.1}33%{transform:translate(-50px,30px) rotate(120deg) scale(1.15);opacity:.15}66%{transform:translate(40px,50px) rotate(240deg) scale(.85);opacity:.08}}@keyframes float-3{0%,to{transform:translate(0) rotate(0) scale(1);opacity:.12}30%{transform:translate(50px,-30px) rotate(108deg) scale(1.2);opacity:.18}60%{transform:translate(-30px,40px) rotate(216deg) scale(.8);opacity:.1}}@keyframes float-4{0%,to{transform:translate(0) rotate(45deg) scale(1);opacity:.18}25%{transform:translate(-40px,30px) rotate(135deg) scale(1.1);opacity:.22}50%{transform:translate(30px,50px) rotate(225deg) scale(.9);opacity:.15}75%{transform:translate(50px,-20px) rotate(315deg) scale(1.05);opacity:.2}}@keyframes float-5{0%,to{transform:translate(0) rotate(45deg) scale(1);opacity:.12}40%{transform:translate(35px,-45px) rotate(165deg) scale(1.25);opacity:.18}80%{transform:translate(-45px,25px) rotate(285deg) scale(.75);opacity:.1}}@keyframes float-6{0%,to{transform:translate(0) rotate(45deg) scale(1);opacity:.1}35%{transform:translate(-30px,40px) rotate(125deg) scale(1.15);opacity:.15}70%{transform:translate(40px,-25px) rotate(245deg) scale(.85);opacity:.08}}@keyframes float-7{0%,to{transform:translate(0) rotate(0) scale(1);opacity:.15}28%{transform:translate(45px,-35px) rotate(100deg) scale(1.2);opacity:.2}56%{transform:translate(-35px,45px) rotate(200deg) scale(.8);opacity:.12}84%{transform:translate(25px,30px) rotate(300deg) scale(1.1);opacity:.18}}@keyframes float-8{0%,to{transform:translate(0) rotate(180deg) scale(1);opacity:.12}32%{transform:translate(-50px,35px) rotate(280deg) scale(1.3);opacity:.18}64%{transform:translate(35px,-40px) rotate(380deg) scale(.7);opacity:.1}}.landing-container{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:1}.landing-hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;z-index:1}.landing-hero-content{text-align:center;max-width:800px;animation:fadeInUp .8s ease-out}.landing-logo{width:150px;height:auto;margin:0 auto 2rem;display:block;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(234,111,24,.3))}.landing-hero-title{font-size:3.5rem;font-weight:var(--font-weight-bold);margin:0 0 1.5rem;background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.landing-hero-subtitle{font-size:1.5rem;color:var(--color-text-secondary);margin:0 0 3rem;line-height:1.6}.landing-hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.landing-button{padding:1rem 2.5rem;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-base);display:inline-block;border:var(--stroke-width-normal) solid transparent;cursor:pointer}.landing-button-primary{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-md)}.landing-button-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.landing-button-secondary{background:transparent;color:var(--color-text-primary);border-color:var(--color-border)}.landing-button-secondary:hover{background:var(--color-background-hover);border-color:var(--color-border-hover);transform:translateY(-2px)}.landing-button-link{background:transparent;color:var(--color-text-secondary);border:none;text-decoration:underline;text-underline-offset:4px;padding:1rem 1.5rem}.landing-button-link:hover{color:var(--color-primary);background:transparent;transform:translateY(-2px);text-decoration-color:var(--color-primary)}.landing-button-large{padding:1.25rem 3rem;font-size:var(--font-size-lg)}.landing-features{padding:6rem 0;position:relative;z-index:1;background:linear-gradient(180deg,var(--color-navy-deep) 0%,rgba(234,111,24,.03) 50%,var(--color-navy-deep) 100%)}.landing-section-title{font-size:2.5rem;font-weight:var(--font-weight-bold);text-align:center;margin:0 0 1rem;color:var(--color-text-primary)}.landing-section-subtitle{font-size:1.25rem;text-align:center;color:var(--color-text-secondary);margin:0 0 4rem;max-width:700px;margin-left:auto;margin-right:auto}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.landing-feature-card{background:var(--gradient-card);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-lg);padding:2.5rem;text-align:center;transition:all var(--transition-base);position:relative;overflow:hidden;opacity:0;transform:translateY(30px)}.landing-feature-card-animate{animation:fadeInUpStagger .8s ease-out forwards}.landing-feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);transform:translate(-100%);transition:transform .6s ease}.landing-feature-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(234,111,24,.1) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.landing-feature-card:hover{transform:translateY(-8px);border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.landing-feature-card:hover:before{transform:translate(100%)}.landing-feature-card:hover:after{opacity:1}.landing-feature-icon-wrapper{width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ea6f181a,#ea6f180d);border-radius:var(--radius-md);border:1px solid rgba(234,111,24,.2);transition:all var(--transition-base);position:relative}.landing-feature-card:hover .landing-feature-icon-wrapper{transform:scale(1.1) rotate(5deg);background:linear-gradient(135deg,#ea6f1833,#ea6f181a);border-color:var(--color-primary);box-shadow:0 4px 12px #ea6f184d}.landing-feature-icon{width:40px;height:40px;color:var(--color-primary);transition:all var(--transition-base)}.landing-feature-card:hover .landing-feature-icon{transform:scale(1.1);filter:drop-shadow(0 2px 8px rgba(234,111,24,.4))}.landing-feature-title{font-size:1.5rem;font-weight:var(--font-weight-semibold);margin:0 0 1rem;color:var(--color-text-primary)}.landing-feature-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.landing-devices{padding:6rem 0;background:var(--color-navy-medium);position:relative;z-index:1;overflow:hidden}.landing-devices:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(234,111,24,.05) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(234,111,24,.05) 0%,transparent 50%);pointer-events:none}.landing-devices-list{display:flex;flex-direction:column;gap:4rem;margin-top:3rem}.landing-device-item{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;opacity:0;transform:translateY(50px);animation:fadeInUpDevice .8s ease-out forwards}.landing-device-item-left{animation-delay:.1s}.landing-device-item-right{animation-delay:.2s}.landing-device-item:nth-child(3){animation-delay:.3s}.landing-device-image-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:var(--gradient-card);border-radius:var(--radius-lg);border:var(--stroke-width-normal) solid var(--color-border);transition:all var(--transition-base);overflow:hidden}.landing-device-image-wrapper:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(234,111,24,.1) 0%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.landing-device-item:hover .landing-device-image-wrapper{transform:scale(1.02);border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.landing-device-item:hover .landing-device-image-wrapper:before{opacity:1}.landing-device-badge{position:absolute;top:1rem;right:1rem;background:var(--color-primary);color:var(--color-text-on-primary);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);z-index:2;box-shadow:var(--shadow-md);transform:translateY(-10px);opacity:0;transition:all var(--transition-base)}.landing-device-item:hover .landing-device-badge{transform:translateY(0);opacity:1}.landing-device-image{width:100%;max-width:300px;height:auto;object-fit:contain;transition:all var(--transition-base);filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}.landing-device-item:hover .landing-device-image{transform:scale(1.05);filter:drop-shadow(0 8px 20px rgba(234,111,24,.3))}.landing-device-content{display:flex;flex-direction:column;gap:1.5rem}.landing-device-title{font-size:2rem;font-weight:var(--font-weight-semibold);margin:0;color:var(--color-text-primary);line-height:1.2}.landing-device-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.landing-device-details{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.landing-device-subtitle{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;color:var(--color-primary);border-bottom:2px solid var(--color-border);padding-bottom:.75rem;position:relative}.landing-device-subtitle:after{content:"";position:absolute;bottom:-2px;left:0;width:50px;height:2px;background:var(--color-primary);transition:width .3s ease}.landing-device-item:hover .landing-device-subtitle:after{width:100px}.landing-device-text{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.landing-device-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.landing-device-list li{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);padding-left:1.75rem;position:relative;transition:all var(--transition-base)}.landing-device-list li:before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:var(--font-weight-bold);font-size:1.1em}.landing-device-item:hover .landing-device-list li{transform:translate(5px);color:var(--color-text-primary)}.landing-benefits{padding:6rem 0;background:var(--color-navy-medium);position:relative;z-index:1}.landing-benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;margin-top:3rem}.landing-benefit-item{text-align:center}.landing-benefit-item h3{font-size:1.75rem;font-weight:var(--font-weight-semibold);margin:0 0 1rem;color:var(--color-primary)}.landing-benefit-item p{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.landing-cta{padding:6rem 0;position:relative;z-index:1;text-align:center}.landing-cta-title{font-size:2.5rem;font-weight:var(--font-weight-bold);margin:0 0 1rem;color:var(--color-text-primary)}.landing-cta-subtitle{font-size:1.25rem;color:var(--color-text-secondary);margin:0 0 3rem}.landing-cta-buttons{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.landing-footer{padding:3rem 0;border-top:var(--stroke-width-normal) solid var(--color-border);position:relative;z-index:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUpStagger{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUpDevice{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.landing-device-item{grid-template-columns:1fr;gap:2rem}.landing-device-item-right{display:flex;flex-direction:column-reverse}.landing-device-item-right .landing-device-content{order:1}.landing-device-item-right .landing-device-image-wrapper{order:2}}@media (max-width: 768px){.landing-hero-title{font-size:2.5rem}.landing-hero-subtitle{font-size:1.25rem}.landing-section-title{font-size:2rem}.landing-features-grid{grid-template-columns:1fr}.landing-devices-list{gap:3rem}.landing-device-item{grid-template-columns:1fr;gap:2rem}.landing-device-image-wrapper{padding:1.5rem}.landing-device-image{max-width:200px}.landing-device-title{font-size:1.75rem}.landing-device-badge{position:relative;top:auto;right:auto;margin-bottom:1rem;transform:translateY(0);opacity:1;align-self:flex-start}.landing-benefits-grid{grid-template-columns:1fr}.landing-hero-cta{flex-direction:column;align-items:stretch}.landing-button{width:100%;text-align:center}.landing-cta-buttons{flex-direction:column;align-items:stretch}.landing-container{padding:0 1rem}.landing-feature-icon-wrapper{width:70px;height:70px}.landing-feature-icon{width:35px;height:35px}}@media (max-width: 480px){.landing-hero-title{font-size:2rem}.landing-hero-subtitle{font-size:1rem}.landing-section-title{font-size:1.75rem}.landing-feature-card{padding:2rem}.landing-device-image{max-width:150px}.landing-device-title{font-size:1.5rem}.landing-devices-list{gap:2rem}.landing-feature-icon-wrapper{width:60px;height:60px}.landing-feature-icon{width:30px;height:30px}}.dev-lock-minimal{padding:2rem;min-width:320px;max-width:400px}.dev-lock-minimal .auth-form{display:flex;flex-direction:column;gap:1rem}.dev-lock-minimal .password-input-wrapper{width:100%}.dev-lock-minimal .error-message{margin-bottom:1rem}.dev-lock-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;pointer-events:none;display:flex;align-items:center;justify-content:center}.dev-lock-mesh-chick{width:100%;max-width:800px;height:auto;object-fit:contain;opacity:.4;filter:drop-shadow(0 0 30px rgba(234,111,24,.3));animation:floatMeshChick 8s ease-in-out infinite;transform-style:preserve-3d;will-change:transform}.dev-lock-background-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(234,111,24,.15) 0%,transparent 70%);border-radius:50%;animation:pulseGlow 4s ease-in-out infinite;pointer-events:none}@keyframes floatMeshChick{0%,to{transform:translateY(0) rotateY(0) rotateX(0) scale(1)}25%{transform:translateY(-20px) rotateY(5deg) rotateX(2deg) scale(1.02)}50%{transform:translateY(-10px) rotateY(0) rotateX(-2deg) scale(1)}75%{transform:translateY(-25px) rotateY(-5deg) rotateX(2deg) scale(1.01)}}@keyframes pulseGlow{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.1)}}@media (max-width: 768px){.dev-lock-mesh-chick{max-width:600px;opacity:.3}.dev-lock-background-glow{width:400px;height:400px}}@media (max-width: 480px){.dev-lock-mesh-chick{max-width:400px;opacity:.25}.dev-lock-background-glow{width:300px;height:300px}}.device-details-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.device-details-dialog-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border);display:flex;flex-direction:column}.device-details-dialog-modal.device-details-dialog-receiver{border-left:4px solid var(--color-primary)}.device-details-dialog-modal.device-details-dialog-litterGuard{border-left:4px solid #10b981}.device-details-dialog-header{padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0}.device-details-dialog-title{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1}.device-details-dialog-status{flex-shrink:0}.device-details-dialog-content{padding:1.5rem;flex:1;overflow-y:auto}.device-details-dialog-section{margin-top:1.5rem;padding-top:1.5rem;border-top:var(--stroke-width-normal) solid var(--color-border)}.device-details-dialog-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.device-details-dialog-section-title{margin:0 0 1rem;font-size:1.1rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.device-details-dialog-info-row{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.device-details-dialog-info-row:last-child{margin-bottom:0}.device-details-dialog-label{font-size:.9rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.device-details-dialog-value{font-size:1rem;color:var(--color-text-primary);word-break:break-word}.device-details-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:var(--stroke-width-normal) solid var(--color-border);flex-shrink:0}.device-details-dialog-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.device-details-dialog-button:disabled{opacity:.6;cursor:not-allowed}.device-details-dialog-button-close{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.device-details-dialog-button-close:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.device-details-dialog-button-primary{background:var(--color-success);color:var(--color-text-on-primary);border-color:var(--color-success);box-shadow:var(--shadow-sm)}.device-details-dialog-button-primary:hover:not(:disabled){background:var(--color-success-hover, var(--color-success));box-shadow:var(--shadow-md)}@media (max-width: 768px){.device-details-dialog-modal{max-width:100%;margin:1rem;max-height:85vh}.device-details-dialog-header{flex-direction:column;align-items:flex-start}.device-details-dialog-title{font-size:1.25rem}.device-details-dialog-actions{flex-direction:column-reverse}.device-details-dialog-button{width:100%}.device-details-dialog-button-primary{order:-1}}@media (prefers-color-scheme: light){.device-details-dialog-modal{background:#fffffff2;border:1px solid rgba(0,0,0,.1)}.device-details-dialog-title{color:#000000de}.device-details-dialog-label{color:#000000b3}.device-details-dialog-value{color:#000000de}}.farm-layout-3d{width:100%;height:600px;position:relative;background:#0000004d;border-radius:12px;overflow:hidden;margin:2rem 0 3rem}.farm-layout-canvas{width:100%;height:100%;margin-bottom:2rem}.farm-layout-loading,.farm-layout-error,.farm-layout-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-primary);font-size:var(--font-size-base)}.farm-layout-legend{position:absolute;bottom:1rem;left:1rem;display:flex;gap:1.5rem;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.legend-item{display:flex;align-items:center;gap:.5rem;color:var(--color-text-primary);font-size:.9rem}.legend-color{width:16px;height:16px;border-radius:50%;display:inline-block}.legend-color.receiver{background:#ff6b35;box-shadow:0 0 8px #ff6b3599}.legend-color.litterguard{background:#10b981;box-shadow:0 0 8px #10b98199}.legend-color.online{background:#0f0;box-shadow:0 0 8px #0f0c;position:relative}.legend-color.online:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:50%;background:#00ff004d;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@media (max-width: 768px){.farm-layout-3d{height:400px}.farm-layout-legend{flex-direction:column;gap:.5rem;padding:.5rem;font-size:.8rem}}.farm-dashboard-page{width:100%;padding:2rem}.dashboard-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.dashboard-header-content{flex:1}.dashboard-header h1{margin:0 0 .5rem;font-size:2rem;font-weight:600;color:var(--color-text-primary)}.edit-farm-button{padding:.75rem 1.5rem;background:var(--color-primary-light);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.edit-farm-button:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.farm-timezone{margin:0;color:var(--color-text-secondary);font-size:.9rem}.kpi-section{margin-bottom:2rem}.kpi-section h2{margin:0 0 1rem;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.kpi-card{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:1.5rem;border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm)}.kpi-card h3{margin:0 0 .75rem;font-size:.9rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.kpi-value{margin:0;font-size:2.5rem;font-weight:600;color:var(--color-text-primary)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-section{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);padding:1.5rem;border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm)}.alerts-list,.placements-list{list-style:none;padding:0;margin:0}.alert-item,.placement-item{padding:.75rem;margin-bottom:.5rem;background:var(--color-background-hover);border-radius:var(--radius-sm);border:var(--stroke-width-thin) solid transparent;display:flex;align-items:center;gap:.75rem;transition:all var(--transition-base)}.alert-item:hover,.placement-item:hover{background:var(--color-secondary-hover);border-color:var(--color-border)}.alert-severity{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.alert-severity-high{background:#f003;color:#ff6b6b}.alert-severity-medium{background:#ffa50033;color:orange}.alert-severity-low{background:#007bff33;color:#64b5f6}.alert-type{font-size:.75rem;color:var(--color-text-tertiary);margin-left:auto}.alert-message{flex:1;color:var(--color-text-secondary)}.placement-item a{color:var(--color-text-primary);text-decoration:none;transition:color .2s ease;display:block;width:100%}.placement-item a:hover{color:var(--color-text-primary)}.placement-link-content{display:flex;flex-direction:column;gap:.25rem}.placement-name{font-weight:500}.placement-flock,.placement-date{font-size:.85rem;color:var(--color-text-secondary)}.empty-state{margin:0;color:var(--color-text-tertiary);font-style:italic;text-align:center;padding:2rem}.quick-links{display:flex;flex-wrap:wrap;gap:1rem}.quick-link{padding:.75rem 1.5rem;background:var(--color-secondary);border-radius:var(--radius-md);color:var(--color-text-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:all var(--transition-base);border:var(--stroke-width-normal) solid var(--color-border)}.quick-link:hover{background:var(--color-secondary-hover);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.kpi-grid,.dashboard-grid{grid-template-columns:1fr}.quick-links{flex-direction:column}.quick-link{width:100%;text-align:center}}.house-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.house-form-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border)}.house-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.house-form-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.house-form-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.house-form-close:hover{background:var(--color-secondary-hover);color:var(--color-text-primary)}.house-form{padding:1.5rem}.house-form-error{background:var(--color-error-bg);color:var(--color-error);padding:.75rem;border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-error-border);margin-bottom:1rem;font-size:var(--font-size-sm)}.house-form-group{margin-bottom:1.5rem}.house-form-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.house-form-group .required{color:var(--color-error)}.house-form-group input,.house-form-group select{width:100%;padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-navy-deep);color:var(--color-text-primary);transition:all var(--transition-base)}.house-form-group input:focus,.house-form-group select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.house-form-group input:disabled,.house-form-group select:disabled{background:var(--color-background-hover);cursor:not-allowed;opacity:.6}.house-form-group input::placeholder{color:var(--color-text-tertiary)}.house-form-section-divider{margin-top:2rem;margin-bottom:1rem;padding-top:1.5rem;border-top:var(--stroke-width-normal) solid var(--color-border)}.house-form-section-divider h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.house-form-section-description{margin:0 0 1rem;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.house-form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.house-form-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.house-form-button:disabled{opacity:.6;cursor:not-allowed}.house-form-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.house-form-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.house-form-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.house-form-button-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.house-form-modal{max-width:100%;margin:1rem}.house-form-actions{flex-direction:column-reverse}.house-form-button{width:100%}}.houses-list-page{width:100%;padding:2rem}.houses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.house-card-wrapper{position:relative;display:flex;flex-direction:column}.house-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);text-decoration:none;color:inherit;transition:all .2s ease;flex:1}.house-card:hover{background:#ffffff14;border-color:var(--color-border);transform:translateY(-2px)}.house-card-actions{display:flex;gap:.5rem;margin-top:.5rem;padding:0 1.5rem}.edit-button{background:#1976d233;color:#64b5f6}.edit-button:hover{background:#1976d24d}.delete-button{background:#d32f2f33;color:#ef5350}.delete-button:hover{background:#d32f2f4d}.house-card h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.house-capacity,.house-location{margin:.25rem 0 0;font-size:.9rem;color:var(--color-text-secondary)}.house-devices{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.25rem}.house-device-count{margin:0;font-size:.85rem;color:var(--color-text-secondary)}@media (prefers-color-scheme: light){.page-header h1{color:#000000de}.back-link{background:#0000000d;color:#000000de}.back-link:hover{background:#0000001a}.house-card{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.house-card:hover{background:#fff;border-color:#0003}.house-card h2{color:#000000de}.house-capacity,.house-location{color:#0009}.house-devices{border-top:1px solid rgba(0,0,0,.1)}.house-device-count{color:#0009}.empty-state{color:#00000080}.edit-button{background:#1976d21a;color:#1976d2}.edit-button:hover{background:#1976d233}.delete-button{background:#d32f2f1a;color:#d32f2f}.delete-button:hover{background:#d32f2f33}}.scale-weight-history-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.scale-weight-history-dialog-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border);display:flex;flex-direction:column}.scale-weight-history-dialog-header{padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0}.scale-weight-history-dialog-title{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1}.scale-weight-history-dialog-close{background:transparent;border:none;font-size:2rem;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.scale-weight-history-dialog-close:hover{background:var(--color-secondary);color:var(--color-text-primary)}.scale-weight-history-dialog-content{padding:1.5rem;flex:1;overflow-y:auto}.scale-weight-history-dialog-loading,.scale-weight-history-dialog-error,.scale-weight-history-dialog-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary)}.scale-weight-history-dialog-error{color:var(--color-error)}.scale-weight-history-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.scale-weight-history-stat-item{display:flex;flex-direction:column;gap:.5rem}.scale-weight-history-stat-label{font-size:.9rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.scale-weight-history-stat-value{font-size:1.1rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.scale-weight-history-chart{margin-top:1.5rem;width:100%}@media (max-width: 768px){.scale-weight-history-dialog-modal{max-width:100%;margin:1rem;max-height:85vh}.scale-weight-history-dialog-header{flex-direction:column;align-items:flex-start}.scale-weight-history-dialog-title{font-size:1.25rem}.scale-weight-history-stats{grid-template-columns:1fr}.scale-weight-history-chart{overflow-x:auto}}@media (prefers-color-scheme: light){.scale-weight-history-dialog-modal{background:#fffffff2;border:1px solid rgba(0,0,0,.1)}.scale-weight-history-dialog-title{color:#000000de}.scale-weight-history-stat-label{color:#000000b3}.scale-weight-history-stat-value{color:#000000de}}.house-layout-3d{display:flex;flex-direction:column;gap:1rem;width:100%}.house-layout-3d.fullscreen{height:100%;gap:.5rem}.house-layout-controls{display:flex;gap:1rem;align-items:center;padding:1rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.1)}.layout-control-button{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:#ffffff1a;color:var(--color-text-primary)}.layout-control-button:hover:not(:disabled){background:#ffffff26}.layout-control-button.active{background:var(--color-primary);color:var(--color-text-on-primary)}.layout-control-button.save-button{background:var(--color-success);color:var(--color-text-on-primary)}.layout-control-button.save-button:hover:not(:disabled){background:var(--color-success-hover, #059669)}.layout-control-button.cancel-button,.layout-control-button.fullscreen-button{background:#ffffff1a;color:var(--color-text-primary)}.layout-control-button.fullscreen-button:hover:not(:disabled){background:#ffffff26}.layout-control-button:disabled{opacity:.5;cursor:not-allowed}.layout-control-separator{width:1px;height:24px;background:#fff3;margin:0 .5rem}.layout-control-button.delete-button{background:var(--color-error, #dc2626);color:var(--color-text-on-primary)}.layout-control-button.delete-button:hover:not(:disabled){background:var(--color-error-hover, #b91c1c)}.house-layout-canvas{width:100%;height:600px;background:#0000004d;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.house-layout-3d.fullscreen .house-layout-canvas{flex:1;height:auto;min-height:0}.house-layout-help{padding:1rem;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.1)}.house-layout-help p{margin:0;color:var(--color-text-secondary);font-size:.9rem}@media (max-width: 768px){.house-layout-canvas{height:400px}.house-layout-controls{flex-wrap:wrap}}@media (prefers-color-scheme: light){.house-layout-controls{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.layout-control-button{background:#0000000d;color:#000000de}.layout-control-button:hover:not(:disabled){background:#0000001a}.layout-control-button.cancel-button{background:#0000000d;color:#000000de}.house-layout-canvas{background:#0000000d;border:1px solid rgba(0,0,0,.1)}.layout-control-button.fullscreen-button{background:#0000000d;color:#000000de}.layout-control-button.fullscreen-button:hover:not(:disabled){background:#0000001a}.house-layout-help{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.house-layout-help p{color:#000000b3}}.fullscreen-layout-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:stretch;justify-content:center;z-index:10000;padding:1rem}.fullscreen-layout-dialog-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:98vw;height:calc(100vh - 2rem);max-height:98vh;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.fullscreen-layout-dialog-header{padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0}.fullscreen-layout-dialog-title{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1}.fullscreen-layout-dialog-close{background:transparent;border:none;font-size:2rem;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.fullscreen-layout-dialog-close:hover{background:var(--color-secondary);color:var(--color-text-primary)}.fullscreen-layout-dialog-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.fullscreen-layout-dialog-content .house-layout-3d{flex:1;display:flex;flex-direction:column;min-height:0}.fullscreen-layout-dialog-content .house-layout-canvas{flex:1;min-height:0;height:auto}@media (max-width: 768px){.fullscreen-layout-dialog-modal{max-width:100vw;height:100vh;max-height:100vh;border-radius:0}.fullscreen-layout-dialog-overlay{padding:0}}.device-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);transition:all .2s ease;display:flex;flex-direction:column;gap:1rem}.device-card:hover{background:#ffffff14;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.device-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.device-card-name{margin:0;font-size:1.1rem;font-weight:600;color:var(--color-text-primary);flex:1}.device-card-status{flex-shrink:0}.device-card-body{display:flex;flex-direction:column;gap:.75rem}.device-card-info{display:flex;flex-direction:column;gap:.25rem}.device-card-info label{font-size:.85rem;font-weight:500;color:var(--color-text-secondary)}.device-card-value{font-size:.95rem;color:var(--color-text-primary);word-break:break-word}.device-card-actions{display:flex;gap:.5rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.device-card-button{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;text-align:center;flex:1}.device-card-button.edit-button{background:var(--color-primary);color:var(--color-text-on-primary)}.device-card-button.edit-button:hover{background:var(--color-primary-hover)}.device-card-button.view-button{background:#ffffff1a;color:var(--color-text-primary)}.device-card-button.view-button:hover{background:#ffffff26}.device-card-receiver{border-left:3px solid var(--color-primary)}.device-card-litterGuard{border-left:3px solid #10b981}.device-card-legband{border-left:3px solid #8b5cf6}.status-badge.status-unknown{background:var(--color-secondary);color:var(--color-text-tertiary);border:1px solid var(--color-border)}@media (prefers-color-scheme: light){.device-card{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.device-card:hover{background:#fff;box-shadow:0 4px 12px #0000001a}.device-card-name{color:#000000de}.device-card-info label{color:#000000b3}.device-card-value{color:#000000de}.device-card-actions{border-top:1px solid rgba(0,0,0,.1)}.device-card-button.view-button{background:#0000000d;color:#000000de}.device-card-button.view-button:hover{background:#0000001a}}.device-cards-grid{display:flex;flex-direction:column;gap:2rem}.device-cards-section{display:flex;flex-direction:column;gap:1rem}.device-cards-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.device-cards-section-title{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.view-toggle{display:flex;gap:.25rem;background:#ffffff0d;border-radius:8px;padding:.25rem;border:1px solid rgba(255,255,255,.1)}.view-toggle-button{padding:.5rem;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.view-toggle-button:hover{background:#ffffff1a;color:var(--color-text-primary)}.view-toggle-button.active{background:var(--color-primary);color:var(--color-text-on-primary)}.view-toggle-button svg{display:block}.device-cards-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.device-cards-empty{padding:2rem;text-align:center;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.1)}.device-cards-empty p{margin:0;color:var(--color-text-secondary);font-style:italic}@media (max-width: 768px){.device-cards-container{grid-template-columns:1fr}}@media (min-width: 769px) and (max-width: 1024px){.device-cards-container{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1025px){.device-cards-container{grid-template-columns:repeat(3,1fr)}}.legbands-list-container{overflow-x:auto;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;border:1px solid rgba(255,255,255,.1);padding:1rem}.legbands-list-table{width:100%;border-collapse:collapse;font-size:.9rem}.legbands-list-table thead{background:#ffffff0d}.legbands-list-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--color-text-primary);border-bottom:2px solid rgba(255,255,255,.1)}.legbands-list-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.05);color:var(--color-text-secondary)}.legbands-list-table tbody tr{transition:background .2s ease}.legbands-list-table tbody tr:hover{background:#ffffff0d}.legbands-list-table .ring-id{font-family:var(--font-family-mono, monospace);font-size:.85rem}.status-badge.status-active{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.status-badge.status-inactive{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}@media (prefers-color-scheme: light){.device-cards-section-title{color:#000000de}.device-cards-empty{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.device-cards-empty p{color:#000000b3}.view-toggle{background:#0000000d;border:1px solid rgba(0,0,0,.1)}.view-toggle-button{color:#000000b3}.view-toggle-button:hover{background:#0000001a;color:#000000de}.legbands-list-container{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.legbands-list-table thead{background:#0000000d}.legbands-list-table th{color:#000000de;border-bottom-color:#0000001a}.legbands-list-table td{color:#000000b3;border-bottom-color:#0000000d}.legbands-list-table tbody tr:hover{background:#0000000d}}.house-detail-page{width:100%;padding:2rem}.action-button{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.action-button svg{flex-shrink:0}.action-button span{white-space:nowrap}.equipment-button{background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary)}.equipment-button:hover{background:var(--color-primary);color:var(--color-text-on-primary)}.recipients-button{background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary)}.recipients-button:hover{background:var(--color-primary);color:var(--color-text-on-primary)}.back-link{padding:.5rem 1rem;background:#ffffff1a;border-radius:8px;color:var(--color-text-primary);text-decoration:none;font-size:.9rem;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem}.back-link svg{flex-shrink:0}.back-link span{white-space:nowrap}.house-detail-tabs{margin-top:1.5rem}.house-detail-tab-buttons{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:2px solid rgba(255,255,255,.1)}.house-detail-tab-button{padding:.75rem 1.5rem;border:none;background:transparent;color:var(--color-text-secondary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent;margin-bottom:-2px}.house-detail-tab-button:hover{color:var(--color-text-primary);background:#ffffff0d}.house-detail-tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.house-detail-tab-content{width:100%}@media (prefers-color-scheme: light){.page-header h1{color:#000000de}.back-link{background:#0000000d;color:#000000de}.back-link:hover{background:#0000001a}.detail-section{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.detail-section h2{color:#000000de}.info-item label{color:#000000b3}.info-item p{color:#000000de}.placeholder-text{color:#00000080}.house-detail-tab-buttons{border-bottom-color:#0000001a}.house-detail-tab-button{color:#000000b3}.house-detail-tab-button:hover{color:#000000de;background:#0000000d}.house-detail-tab-button.active{color:var(--color-primary)}}.receiver-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.receiver-form-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border)}.receiver-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.receiver-form-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.receiver-form-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.receiver-form-close:hover{background:var(--color-secondary-hover);color:var(--color-text-primary)}.receiver-form{padding:1.5rem}.receiver-form-error{background:var(--color-error-bg);color:var(--color-error);padding:.75rem;border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-error-border);margin-bottom:1rem;font-size:var(--font-size-sm)}.receiver-form-group{margin-bottom:1.5rem}.receiver-form-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.receiver-form-group .required{color:var(--color-error)}.receiver-form-group input,.receiver-form-group select{width:100%;padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-navy-deep);color:var(--color-text-primary);transition:all var(--transition-base)}.receiver-form-group input:focus,.receiver-form-group select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.receiver-form-group input:disabled,.receiver-form-group select:disabled{background:var(--color-background-hover);cursor:not-allowed;opacity:.6}.receiver-form-group input::placeholder{color:var(--color-text-tertiary)}.receiver-form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.receiver-form-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.receiver-form-button:disabled{opacity:.6;cursor:not-allowed}.receiver-form-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.receiver-form-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.receiver-form-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.receiver-form-button-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.receiver-form-modal{max-width:100%;margin:1rem}.receiver-form-actions{flex-direction:column-reverse}.receiver-form-button{width:100%}}.receivers-list{width:100%}.receivers-list-empty{padding:2rem;text-align:center;color:var(--color-text-tertiary);font-style:italic}.receivers-table{width:100%;border-collapse:collapse;background:var(--color-background-card);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border)}.receivers-table-header{display:grid;grid-template-columns:2fr 2fr 1fr 1.5fr;gap:1rem;padding:1rem 1.5rem;background:var(--color-background-hover);border-bottom:1px solid var(--color-border);font-weight:600;font-size:.9rem;color:var(--color-text-primary)}.receivers-table-row{display:grid;grid-template-columns:2fr 2fr 1fr 1.5fr;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);transition:background var(--transition-base)}.receivers-table-row:hover{background:var(--color-background-hover)}.receivers-table-row:last-child{border-bottom:none}.receivers-table-cell{display:flex;align-items:center;color:var(--color-text-primary);font-size:.9rem}.receiver-node-id{font-family:var(--font-family-mono);font-size:.85rem;color:var(--color-text-secondary)}.status-active{background:var(--color-success-bg);color:var(--color-success)}.status-inactive{background:var(--color-secondary);color:var(--color-text-secondary)}.status-unknown{background:var(--color-warning-bg);color:var(--color-warning)}.receivers-summary{margin-bottom:1rem;padding:1rem;background:var(--color-background-hover);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.receivers-summary-stat{display:flex;align-items:center;gap:.5rem}.receivers-summary-label{font-size:.9rem;color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.receivers-summary-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.receivers-collapsible{margin-top:1rem}.receivers-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:var(--color-background-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);transition:all var(--transition-base)}.receivers-toggle:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.receivers-toggle .toggle-icon{transition:transform var(--transition-base);font-size:.75rem;margin-left:.5rem;color:var(--color-text-secondary)}.receivers-toggle .toggle-icon.expanded{transform:rotate(180deg)}.receivers-expanded-content{margin-top:1rem;animation:fadeIn var(--transition-base)}@media (max-width: 768px){.receivers-table-header,.receivers-table-row{grid-template-columns:1fr;gap:.5rem}.receivers-table-cell{padding:.25rem 0}.receivers-table-cell:before{content:attr(data-label);font-weight:600;margin-right:.5rem;color:var(--color-text-secondary)}.actions-cell{justify-content:flex-start;margin-top:.5rem}}.receivers-management-page{width:100%;padding:2rem}@media (prefers-color-scheme: light){.page-header h1{color:#000000de}.back-link{background:#0000000d;color:#000000de}.back-link:hover{background:#0000001a}}.litterguard-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.litterguard-form-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border)}.litterguard-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.litterguard-form-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.litterguard-form-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.litterguard-form-close:hover{background:var(--color-secondary-hover);color:var(--color-text-primary)}.litterguard-form{padding:1.5rem}.litterguard-form-error{background:var(--color-error-bg);color:var(--color-error);padding:.75rem;border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-error-border);margin-bottom:1rem;font-size:var(--font-size-sm)}.litterguard-form-group{margin-bottom:1.5rem}.litterguard-form-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.litterguard-form-group .required{color:var(--color-error)}.litterguard-form-group input,.litterguard-form-group select{width:100%;padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-navy-deep);color:var(--color-text-primary);transition:all var(--transition-base)}.litterguard-form-group input:focus,.litterguard-form-group select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.litterguard-form-group input:disabled,.litterguard-form-group select:disabled{background:var(--color-background-hover);cursor:not-allowed;opacity:.6}.litterguard-form-group input::placeholder{color:var(--color-text-tertiary)}.litterguard-form-lookup-status{margin-top:.5rem;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.litterguard-form-lookup-error{margin-top:.5rem;font-size:var(--font-size-sm);color:var(--color-error)}.litterguard-form-preregistered-info{margin-top:1rem;padding:1rem;background:var(--color-background-hover);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border)}.litterguard-form-sensor-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.litterguard-form-sensor-info:last-child{margin-bottom:0}.litterguard-form-sensor-info label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:0}.litterguard-form-mac-address{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-navy-light);padding:.25rem .5rem;border-radius:var(--radius-sm);border:var(--stroke-width-thin) solid var(--color-border)}.litterguard-form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.litterguard-form-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.litterguard-form-button:disabled{opacity:.6;cursor:not-allowed}.litterguard-form-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.litterguard-form-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.litterguard-form-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.litterguard-form-button-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.litterguard-form-modal{max-width:100%;margin:1rem}.litterguard-form-actions{flex-direction:column-reverse}.litterguard-form-button{width:100%}}.litterguards-list-empty{padding:1rem;text-align:center;color:var(--color-text-secondary)}.litterguards-list{width:100%}.litterguards-summary{display:flex;gap:1.5rem;margin-bottom:1rem;padding:1rem;background:var(--color-background-hover);border-radius:var(--radius-md);border:var(--stroke-width-thin) solid var(--color-border)}.litterguards-summary-stat{display:flex;align-items:center;gap:.5rem}.litterguards-summary-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.litterguards-summary-value{font-weight:var(--font-weight-semibold);font-size:1.1rem;color:var(--color-text-primary)}.litterguards-collapsible{width:100%}.litterguards-toggle{width:100%;padding:.75rem 1rem;background:var(--color-background-hover);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);transition:all var(--transition-base)}.litterguards-toggle:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.litterguards-expanded-content{margin-top:1rem;padding:1rem;background:var(--gradient-card);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm)}.litterguards-table{display:flex;flex-direction:column;gap:.5rem}.litterguards-table-header{display:grid;grid-template-columns:1.5fr 1.5fr 2fr 1.5fr 1.5fr;gap:1rem;padding:.75rem;background:var(--color-background-hover);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.litterguards-table-row{display:grid;grid-template-columns:1.5fr 1.5fr 2fr 1.5fr 1.5fr;gap:1rem;padding:.75rem;background:var(--color-background-card);border-radius:var(--radius-sm);border:var(--stroke-width-thin) solid var(--color-border);align-items:center;transition:all var(--transition-base)}.litterguards-table-row:hover{background:var(--color-background-card-hover);border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.litterguards-table-cell{font-size:var(--font-size-sm);color:var(--color-text-primary);word-break:break-word}.litterguard-serial-number{font-weight:500;font-family:monospace}.litterguard-mac-address{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-navy-light);padding:.25rem .5rem;border-radius:var(--radius-sm);border:var(--stroke-width-thin) solid var(--color-border)}@media (max-width: 768px){.litterguards-table-header,.litterguards-table-row{grid-template-columns:1fr;gap:.5rem}.litterguards-table-header{display:none}.litterguards-table-row{padding:1rem}.litterguards-table-cell:before{content:attr(data-label);font-weight:var(--font-weight-semibold);display:block;margin-bottom:.25rem;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.actions-cell{justify-content:flex-start;margin-top:.5rem}}.litterguards-management-page{min-height:100vh;background:var(--color-background)}.toy-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.toy-form-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border)}.toy-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.toy-form-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.toy-form-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.toy-form-close:hover{background:var(--color-secondary-hover);color:var(--color-text-primary)}.toy-form{padding:1.5rem}.toy-form-error{background:var(--color-error-bg);color:var(--color-error);padding:.75rem;border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-error-border);margin-bottom:1rem;font-size:var(--font-size-sm)}.toy-form-group{margin-bottom:1.5rem}.toy-form-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.toy-form-group .required{color:var(--color-error)}.toy-form-group input,.toy-form-group select{width:100%;padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-navy-deep);color:var(--color-text-primary);transition:all var(--transition-base)}.toy-form-group input:focus,.toy-form-group select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.toy-form-group input:disabled,.toy-form-group select:disabled{background:var(--color-background-hover);cursor:not-allowed;opacity:.6}.toy-form-group input::placeholder{color:var(--color-text-tertiary)}.toy-form-hint{margin-top:.5rem;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.toy-form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.toy-form-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.toy-form-button:disabled{opacity:.6;cursor:not-allowed}.toy-form-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.toy-form-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.toy-form-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.toy-form-button-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.toy-form-modal{max-width:100%;margin:1rem}.toy-form-actions{flex-direction:column-reverse}.toy-form-button{width:100%}}.toys-list-empty{padding:1rem;text-align:center;color:var(--color-text-secondary)}.toys-list{width:100%}.toys-summary{display:flex;gap:1.5rem;margin-bottom:1rem;padding:1rem;background:var(--color-background-hover);border-radius:var(--radius-md);border:var(--stroke-width-thin) solid var(--color-border)}.toys-summary-stat{display:flex;align-items:center;gap:.5rem}.toys-summary-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.toys-summary-value{font-weight:var(--font-weight-semibold);font-size:1.1rem;color:var(--color-text-primary)}.toys-collapsible{width:100%}.toys-toggle{width:100%;padding:.75rem 1rem;background:var(--color-background-hover);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);transition:all var(--transition-base)}.toys-toggle:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.toys-expanded-content{margin-top:1rem;padding:1rem;background:var(--gradient-card);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm)}.toys-table{display:flex;flex-direction:column;gap:.5rem}.toys-table-header{display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1.5fr;gap:1rem;padding:.75rem;background:var(--color-background-hover);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.toys-table-row{display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1.5fr;gap:1rem;padding:.75rem;background:var(--color-background-card);border-radius:var(--radius-sm);border:var(--stroke-width-thin) solid var(--color-border);align-items:center;transition:all var(--transition-base)}.toys-table-row:hover{background:var(--color-background-card-hover);border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.toys-table-cell{font-size:var(--font-size-sm);color:var(--color-text-primary);word-break:break-word}.toy-mac-address{font-weight:500;font-family:var(--font-family-mono)}@media (max-width: 768px){.toys-table-header,.toys-table-row{grid-template-columns:1fr;gap:.5rem}.toys-table-header{display:none}.toys-table-row{padding:1rem}.toys-table-cell:before{content:attr(data-label);font-weight:var(--font-weight-semibold);display:block;margin-bottom:.25rem;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.actions-cell{justify-content:flex-start;margin-top:.5rem}}.toys-management-page{min-height:100vh;background:var(--color-background)}.page-container{max-width:1200px;margin:0 auto;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.add-button{padding:.75rem 1.5rem;background:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.back-link{padding:.75rem 1.5rem;background:var(--color-background-hover);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:6px;text-decoration:none;font-size:1rem;font-weight:500;transition:all .2s ease}@media (max-width: 768px){.page-container{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.page-header-actions{width:100%;flex-direction:column}.add-button,.back-link{width:100%;text-align:center}}.bio-waterflow-meter-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.bio-waterflow-meter-form-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border)}.bio-waterflow-meter-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.bio-waterflow-meter-form-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.bio-waterflow-meter-form-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.bio-waterflow-meter-form-close:hover{background:var(--color-secondary-hover);color:var(--color-text-primary)}.bio-waterflow-meter-form{padding:1.5rem}.bio-waterflow-meter-form-error{background:var(--color-error-bg);color:var(--color-error);padding:.75rem;border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-error-border);margin-bottom:1rem;font-size:var(--font-size-sm)}.bio-waterflow-meter-form-group{margin-bottom:1.5rem}.bio-waterflow-meter-form-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.bio-waterflow-meter-form-group .required{color:var(--color-error)}.bio-waterflow-meter-form-group input,.bio-waterflow-meter-form-group select{width:100%;padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-navy-deep);color:var(--color-text-primary);transition:all var(--transition-base)}.bio-waterflow-meter-form-group input:focus,.bio-waterflow-meter-form-group select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.bio-waterflow-meter-form-group input:disabled,.bio-waterflow-meter-form-group select:disabled{background:var(--color-background-hover);cursor:not-allowed;opacity:.6}.bio-waterflow-meter-form-group input::placeholder{color:var(--color-text-tertiary)}.bio-waterflow-meter-form-hint{margin-top:.5rem;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.bio-waterflow-meter-form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.bio-waterflow-meter-form-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.bio-waterflow-meter-form-button:disabled{opacity:.6;cursor:not-allowed}.bio-waterflow-meter-form-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.bio-waterflow-meter-form-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.bio-waterflow-meter-form-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.bio-waterflow-meter-form-button-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.bio-waterflow-meter-form-modal{max-width:100%;margin:1rem}.bio-waterflow-meter-form-actions{flex-direction:column-reverse}.bio-waterflow-meter-form-button{width:100%}}.bio-waterflow-meters-list-empty{padding:1rem;text-align:center;color:var(--color-text-secondary)}.bio-waterflow-meters-list{width:100%}.bio-waterflow-meters-summary{display:flex;gap:1.5rem;margin-bottom:1rem;padding:1rem;background:var(--color-background-hover);border-radius:var(--radius-md);border:var(--stroke-width-thin) solid var(--color-border)}.bio-waterflow-meters-summary-stat{display:flex;align-items:center;gap:.5rem}.bio-waterflow-meters-summary-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.bio-waterflow-meters-summary-value{font-weight:var(--font-weight-semibold);font-size:1.1rem;color:var(--color-text-primary)}.bio-waterflow-meters-collapsible{width:100%}.bio-waterflow-meters-toggle{width:100%;padding:.75rem 1rem;background:var(--color-background-hover);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);transition:all var(--transition-base)}.bio-waterflow-meters-toggle:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.toggle-icon{transition:transform .2s ease;font-size:.8rem}.toggle-icon.expanded{transform:rotate(180deg)}.bio-waterflow-meters-expanded-content{margin-top:1rem;padding:1rem;background:var(--gradient-card);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm)}.bio-waterflow-meters-table{display:flex;flex-direction:column;gap:.5rem}.bio-waterflow-meters-table-header{display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1.5fr;gap:1rem;padding:.75rem;background:var(--color-background-hover);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.bio-waterflow-meters-table-row{display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1.5fr;gap:1rem;padding:.75rem;background:var(--color-background-card);border-radius:var(--radius-sm);border:var(--stroke-width-thin) solid var(--color-border);align-items:center;transition:all var(--transition-base)}.bio-waterflow-meters-table-row:hover{background:var(--color-background-card-hover);border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.bio-waterflow-meters-table-cell{font-size:var(--font-size-sm);color:var(--color-text-primary);word-break:break-word}.bio-waterflow-meter-device-id{font-weight:500;font-family:var(--font-family-mono)}.action-button{padding:.4rem .8rem;border:var(--stroke-width-thin) solid transparent;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.edit-button{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.delete-button{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error-border)}@media (max-width: 768px){.bio-waterflow-meters-table-header,.bio-waterflow-meters-table-row{grid-template-columns:1fr;gap:.5rem}.bio-waterflow-meters-table-header{display:none}.bio-waterflow-meters-table-row{padding:1rem}.bio-waterflow-meters-table-cell:before{content:attr(data-label);font-weight:var(--font-weight-semibold);display:block;margin-bottom:.25rem;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.actions-cell{justify-content:flex-start;margin-top:.5rem}}.bio-waterflow-meters-management-page{min-height:100vh;background:var(--gradient-background);padding:2rem 0}.bio-waterflow-meters-management-page .page-container{max-width:1200px;margin:0 auto;padding:0 1rem}.bio-waterflow-meters-management-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.bio-waterflow-meters-management-page .page-header h1{margin:0;font-size:2rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.bio-waterflow-meters-management-page .page-header-actions{display:flex;gap:1rem;align-items:center}.bio-waterflow-meters-management-page .add-button{padding:.75rem 1.5rem;background:var(--color-primary);color:var(--color-text-on-primary);border:var(--stroke-width-normal) solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.bio-waterflow-meters-management-page .add-button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}.bio-waterflow-meters-management-page .back-link{padding:.75rem 1.5rem;background:var(--color-secondary);color:var(--color-text-primary);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-base)}.bio-waterflow-meters-management-page .back-link:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}@media (max-width: 768px){.bio-waterflow-meters-management-page .page-header{flex-direction:column;align-items:flex-start}.bio-waterflow-meters-management-page .page-header-actions{width:100%;flex-direction:column}.bio-waterflow-meters-management-page .add-button,.bio-waterflow-meters-management-page .back-link{width:100%}}.equipment-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.equipment-form-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border)}.equipment-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.equipment-form-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.equipment-form-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.equipment-form-close:hover{background:var(--color-secondary-hover);color:var(--color-text-primary)}.equipment-form{padding:1.5rem}.equipment-form-error{background:var(--color-error-bg);color:var(--color-error);padding:.75rem;border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-error-border);margin-bottom:1rem;font-size:var(--font-size-sm)}.equipment-form-group{margin-bottom:1.5rem}.equipment-form-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.equipment-form-group .required{color:var(--color-error)}.equipment-form-group input,.equipment-form-group select{width:100%;padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-navy-deep);color:var(--color-text-primary);transition:all var(--transition-base)}.equipment-form-group input:focus,.equipment-form-group select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.equipment-form-group input:disabled,.equipment-form-group select:disabled{background:var(--color-background-hover);cursor:not-allowed;opacity:.6}.equipment-form-group input::placeholder{color:var(--color-text-tertiary)}.equipment-form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.equipment-form-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.equipment-form-button:disabled{opacity:.6;cursor:not-allowed}.equipment-form-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.equipment-form-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.equipment-form-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.equipment-form-button-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.equipment-form-modal{max-width:100%;margin:1rem}.equipment-form-actions{flex-direction:column-reverse}.equipment-form-button{width:100%}}.equipment-list{width:100%}.equipment-list-empty{padding:2rem;text-align:center;color:var(--color-text-tertiary);font-style:italic}.equipment-table{width:100%;border-collapse:collapse;background:var(--color-background-card);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border)}.equipment-table-header{display:grid;grid-template-columns:1.5fr 1.5fr 2fr 1.5fr 1.5fr 1.5fr;gap:1rem;padding:1rem 1.5rem;background:var(--color-background-hover);border-bottom:1px solid var(--color-border);font-weight:600;font-size:.9rem;color:var(--color-text-primary)}.equipment-table-row{display:grid;grid-template-columns:1.5fr 1.5fr 2fr 1.5fr 1.5fr 1.5fr;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);transition:background var(--transition-base)}.equipment-table-row:hover{background:var(--color-background-hover)}.equipment-table-row:last-child{border-bottom:none}.equipment-table-cell{display:flex;align-items:center;color:var(--color-text-primary);font-size:.9rem}.equipment-specification{display:flex;flex-direction:column;gap:.25rem}.equipment-spec-label{font-size:.85rem;color:var(--color-text-secondary)}.equipment-spec-value{font-weight:600;color:var(--color-text-primary)}.equipment-silo-links{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.silo-link{color:var(--color-text-secondary)}.actions-cell{display:flex;gap:.5rem;justify-content:flex-end}.edit-button{background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary)}.edit-button:hover:not(:disabled){background:var(--color-primary);color:var(--color-text-on-primary)}.delete-button{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.delete-button:hover:not(:disabled){background:var(--color-error);color:var(--color-text-on-primary)}.equipment-summary{margin-bottom:1rem;padding:1rem;background:var(--color-background-hover);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.equipment-summary-stat{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.equipment-summary-stats{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.equipment-summary-stat-item{display:flex;align-items:center;gap:.25rem;font-size:.85rem}.equipment-summary-label{font-size:.9rem;color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.equipment-summary-value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.equipment-summary-stat-label{color:var(--color-text-secondary)}.equipment-summary-stat-value{font-weight:600;color:var(--color-text-primary)}.equipment-collapsible{margin-top:1rem}.equipment-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:var(--color-background-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);transition:all var(--transition-base)}.equipment-toggle:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.equipment-toggle .toggle-icon{transition:transform var(--transition-base);font-size:.75rem;margin-left:.5rem;color:var(--color-text-secondary)}.equipment-toggle .toggle-icon.expanded{transform:rotate(180deg)}.equipment-expanded-content{margin-top:1rem;animation:fadeIn var(--transition-base)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1200px){.equipment-table-header,.equipment-table-row{grid-template-columns:1fr;gap:.5rem}.equipment-table-cell{padding:.25rem 0}.equipment-table-cell:before{content:attr(data-label);font-weight:600;margin-right:.5rem;color:var(--color-text-secondary)}.actions-cell{justify-content:flex-start;margin-top:.5rem}}.house-equipment-page{min-height:100vh;background:var(--color-background)}.page-container{max-width:1400px;margin:0 auto;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.page-header-title h1{margin:0 0 .5rem;font-size:2rem;font-weight:600;color:var(--color-text-primary)}.page-header-subtitle{margin:0;font-size:1rem;color:var(--color-text-secondary)}.action-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.add-button{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.add-button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}.back-link{padding:.75rem 1.5rem;color:var(--color-text-primary);text-decoration:none;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-secondary);transition:all var(--transition-base);display:inline-block}.back-link:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.detail-section{background:var(--color-background-card);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;border:var(--stroke-width-normal) solid var(--color-border)}.detail-section h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.placeholder-text{color:var(--color-text-tertiary);font-style:italic;padding:2rem;text-align:center}@media (max-width: 768px){.page-container{padding:1rem}.page-header{flex-direction:column}.page-header-actions{width:100%;flex-direction:column}.action-button,.back-link{width:100%;text-align:center}}.flock-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.flock-form-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border)}.flock-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.flock-form-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.flock-form-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.flock-form-close:hover{background:var(--color-secondary-hover);color:var(--color-text-primary)}.flock-form{padding:1.5rem}.flock-form-error{background:var(--color-error-bg);color:var(--color-error);padding:.75rem;border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-error-border);margin-bottom:1rem;font-size:var(--font-size-sm)}.flock-form-group{margin-bottom:1.5rem}.flock-form-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.flock-form-group .required{color:var(--color-error)}.flock-form-group input,.flock-form-group select{width:100%;padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-navy-deep);color:var(--color-text-primary);transition:all var(--transition-base)}.flock-form-group input:focus,.flock-form-group select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.flock-form-group input:disabled,.flock-form-group select:disabled{background:var(--color-background-hover);cursor:not-allowed;opacity:.6}.flock-form-group input::placeholder{color:var(--color-text-tertiary)}.flock-form-hint{margin-top:.25rem;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:0}.flock-form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.flock-form-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.flock-form-button:disabled{opacity:.6;cursor:not-allowed}.flock-form-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.flock-form-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.flock-form-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.flock-form-button-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.flock-form-modal{max-width:100%;margin:1rem}.flock-form-actions{flex-direction:column-reverse}.flock-form-button{width:100%}}.flocks-list-page{width:100%;padding:2rem}.add-button:hover{background:var(--color-primary-hover)}.flocks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.flock-card-wrapper{position:relative;display:flex;flex-direction:column}.flock-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);text-decoration:none;color:inherit;transition:all .2s ease;flex:1}.flock-card:hover{background:#ffffff14;border-color:var(--color-border);transform:translateY(-2px)}.flock-card-actions{display:flex;gap:.5rem;margin-top:.5rem;padding:0 1.5rem}.flock-card h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.flock-breed,.flock-status{margin:.25rem 0 0;font-size:.9rem;color:var(--color-text-secondary)}.traceability-view{padding:var(--spacing-lg);background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.traceability-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:var(--stroke-width-thick) solid var(--color-border)}.traceability-header h2{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}.traceability-flock-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.traceability-info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.traceability-info-item label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.traceability-info-item span{color:var(--color-text-primary);font-size:var(--font-size-base)}.traceability-chain{display:flex;flex-direction:column;gap:var(--spacing-xl)}.traceability-section{background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--spacing-lg);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border);transition:all var(--transition-base)}.traceability-section h3{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);padding-bottom:var(--spacing-sm);border-bottom:var(--stroke-width-thin) solid var(--color-border)}.traceability-items{display:flex;flex-direction:column;gap:var(--spacing-md)}.traceability-item{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--spacing-md);border-radius:var(--radius-sm);border:var(--stroke-width-normal) solid var(--color-border);transition:all var(--transition-base)}.traceability-item:hover{background:#ffffff14;transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-hover)}.traceability-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:var(--spacing-sm)}.traceability-item-link{font-weight:var(--font-weight-semibold);color:var(--color-primary);text-decoration:none;font-size:var(--font-size-base);transition:color var(--transition-base)}.traceability-item-link:hover{color:var(--color-primary-hover);text-decoration:underline}.traceability-item-placement-link{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;padding:var(--spacing-xs) var(--spacing-sm);background:#ffffff0d;border-radius:var(--radius-sm);border:var(--stroke-width-thin) solid var(--color-border);transition:all var(--transition-base)}.traceability-item-placement-link:hover{background:#ffffff1a;color:var(--color-primary);border-color:var(--color-primary)}.traceability-item-status{padding:var(--spacing-xs) .75rem;background:var(--color-success-bg);color:var(--color-success);border:var(--stroke-width-thin) solid var(--color-success-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.traceability-item-detail{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);font-size:var(--font-size-sm)}.traceability-item-detail label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);min-width:120px}.traceability-item-detail span{color:var(--color-text-primary)}.traceability-empty{color:var(--color-text-tertiary);font-style:italic;padding:var(--spacing-md);text-align:center}.traceability-loading,.traceability-error{padding:var(--spacing-xl);text-align:center}.traceability-error{color:var(--color-error)}.traceability-loading p{color:var(--color-text-secondary)}.placement-item{border-left:4px solid var(--color-primary)}.egg-collection-item{border-left:4px solid var(--color-success)}.hatch-feedback-item{border-left:4px solid var(--color-warning)}@media (max-width: 768px){.traceability-view{padding:var(--spacing-md)}.traceability-flock-info{grid-template-columns:1fr}.traceability-item-header{flex-direction:column;align-items:flex-start}.traceability-item-detail{flex-direction:column;gap:var(--spacing-xs)}.traceability-item-detail label{min-width:auto}}@media (prefers-color-scheme: light){.traceability-view{background:#ffffffe6;border:var(--stroke-width-normal) solid rgba(0,0,0,.1);box-shadow:0 4px 12px #0000001a}.traceability-header{border-bottom-color:#0000001a}.traceability-header h2{color:#000000de}.traceability-info-item label{color:#000000b3}.traceability-info-item span{color:#000000de}.traceability-section{background:#ffffffb3;border:var(--stroke-width-normal) solid rgba(0,0,0,.1)}.traceability-section h3{color:#000000de;border-bottom-color:#0000001a}.traceability-item{background:#ffffffe6;border:var(--stroke-width-normal) solid rgba(0,0,0,.1)}.traceability-item:hover{background:#fff;box-shadow:0 4px 12px #0000001a;border-color:#0003}.traceability-item-link{color:var(--color-primary)}.traceability-item-link:hover{color:var(--color-primary-hover)}.traceability-item-placement-link{color:#000000b3;background:#0000000d;border-color:#0000001a}.traceability-item-placement-link:hover{background:#0000001a;color:var(--color-primary);border-color:var(--color-primary)}.traceability-item-detail label{color:#000000b3}.traceability-item-detail span{color:#000000de}.traceability-empty{color:#00000080}.traceability-loading p{color:#000000b3}}.flock-detail-page{width:100%;padding:2rem}.edit-button:hover{background:var(--color-primary-hover)}.delete-button:hover{background:var(--color-error)}.placements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem}.placement-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);text-decoration:none;color:inherit;transition:all .2s ease;display:block}.placement-card h3{margin:0 0 .75rem;font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.placement-status,.placement-date{margin:.5rem 0 0;font-size:.9rem;color:var(--color-text-secondary)}.placement-date{margin-top:.25rem}@media (prefers-color-scheme: light){.page-header h1{color:#000000de}.back-link{background:#0000000d;color:#000000de}.back-link:hover{background:#0000001a}.detail-section{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.detail-section h2{color:#000000de}.info-item label{color:#000000b3}.info-item p{color:#000000de}.placeholder-text{color:#00000080}.placement-card{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.placement-card:hover{background:#fff;border-color:#0003}.placement-card h3{color:#000000de}.placement-status,.placement-date{color:#0009}}.placement-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.placement-form-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border)}.placement-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.placement-form-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.placement-form-close{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--color-text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.placement-form-close:hover{background:var(--color-secondary-hover);color:var(--color-text-primary)}.placement-form{padding:1.5rem}.placement-form-error{background:var(--color-error-bg);color:var(--color-error);padding:.75rem;border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-error-border);margin-bottom:1rem;font-size:var(--font-size-sm)}.placement-form-warning{background:var(--color-warning-bg, rgba(255, 193, 7, .1));color:var(--color-warning, #ffc107);padding:.75rem;border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-warning-border, rgba(255, 193, 7, .3));margin-bottom:1rem;font-size:var(--font-size-sm)}.placement-form-warning strong{display:block;margin-bottom:.5rem}.placement-form-warning ul{margin:0;padding-left:1.5rem}.placement-form-warning li{margin-bottom:.25rem}.placement-form-group{margin-bottom:1.5rem}.placement-form-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm)}.placement-form-group .required{color:var(--color-error)}.placement-form-group input,.placement-form-group select{width:100%;padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-navy-deep);color:var(--color-text-primary);transition:all var(--transition-base)}.placement-form-group input:focus,.placement-form-group select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.placement-form-group input:disabled,.placement-form-group select:disabled{background:var(--color-background-hover);cursor:not-allowed;opacity:.6}.placement-form-group input::placeholder{color:var(--color-text-tertiary)}.placement-form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.placement-form-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.placement-form-button:disabled{opacity:.6;cursor:not-allowed}.placement-form-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.placement-form-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.placement-form-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.placement-form-button-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.placement-form-modal{max-width:100%;margin:1rem}.placement-form-actions{flex-direction:column-reverse}.placement-form-button{width:100%}}.placements-list-page{width:100%;padding:2rem}.add-button{padding:.5rem 1rem;background:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.add-button:hover:not(:disabled){background:var(--color-primary-hover)}.placements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.placement-card-wrapper{position:relative;display:flex;flex-direction:column}.placement-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);text-decoration:none;color:inherit;transition:all .2s ease;flex:1}.placement-card:hover{background:#ffffff14;border-color:var(--color-border);transform:translateY(-2px)}.placement-card-actions{display:flex;gap:.5rem;margin-top:.5rem;padding:0 1.5rem}.action-button{flex:1;padding:.5rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-button{background:var(--color-primary-light);color:var(--color-primary)}.edit-button:hover{background:var(--color-primary);color:var(--color-text-on-primary)}.delete-button{background:var(--color-error-bg);color:var(--color-error)}.delete-button:hover{background:var(--color-error);color:var(--color-text-on-primary)}.placement-card h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.placement-flock,.placement-status,.placement-date{margin:.25rem 0 0;font-size:.9rem;color:var(--color-text-secondary)}.empty-state-container{padding:3rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.empty-state{color:var(--color-text-tertiary);font-style:italic;margin:0}.empty-state-hint{color:var(--color-text-tertiary);font-size:.9rem;margin:0}.placement-detail-page{width:100%;padding:2rem}.page-header-actions{display:flex;gap:1rem;align-items:center}.action-button{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-button{background:var(--color-primary);color:var(--color-text-on-primary)}.edit-button:hover:not(:disabled){background:var(--color-primary-hover)}.edit-button:disabled{opacity:.5;cursor:not-allowed}.delete-button{background:var(--color-error);color:var(--color-text-on-primary)}.delete-button:hover:not(:disabled){background:var(--color-error)}.delete-button:disabled{opacity:.5;cursor:not-allowed}.action-link{padding:.5rem 1rem;background:#ffffff1a;border-radius:8px;color:var(--color-text-primary);text-decoration:none;font-size:.9rem;transition:all .2s ease}.action-link:hover{background:#ffffff26}.detail-section{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.1)}.detail-section h2{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item label{font-size:.9rem;font-weight:500;color:var(--color-text-secondary)}.info-item p{margin:0;font-size:1rem;color:var(--color-text-primary)}.quick-actions{display:flex;flex-wrap:wrap;gap:1rem}.quick-action-link{padding:.75rem 1.5rem;background:#ffffff1a;border-radius:8px;color:var(--color-text-primary);text-decoration:none;font-weight:500;transition:all .2s ease;border:1px solid rgba(255,255,255,.1)}.quick-action-link:hover{background:#ffffff26;border-color:var(--color-border);transform:translateY(-1px)}@media (prefers-color-scheme: light){.page-header h1{color:#000000de}.action-link{background:#0000000d;color:#000000de}.action-link:hover{background:#0000001a}.detail-section{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.detail-section h2{color:#000000de}.info-item label{color:#000000b3}.info-item p{color:#000000de}.back-link{background:#0000000d;color:#000000de}.back-link:hover{background:#0000001a}.placeholder-text{color:#00000080}.quick-action-link{background:#0000000d;border:1px solid rgba(0,0,0,.1);color:#000000de}.quick-action-link:hover{background:#0000001a;border-color:#0003}}.placement-dashboard-page{width:100%;padding:2rem}.dashboard-container{max-width:1400px;margin:0 auto}.dashboard-header{margin-bottom:2rem}.header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.dashboard-header h1{margin:0;font-size:2rem;font-weight:600;color:var(--color-text-primary)}.back-link{padding:.5rem 1rem;background:var(--color-primary-light);border-radius:8px;color:var(--color-text-primary);text-decoration:none;font-size:.9rem;transition:all .2s ease}.back-link:hover{background:var(--color-primary)}.placement-info{margin:0;color:var(--color-text-secondary);font-size:.9rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.metric-card{background:var(--color-background-hover);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;border:1px solid var(--color-border);display:flex;flex-direction:column}.metric-card h3{margin:0 0 .75rem;font-size:.9rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-value{margin:0 0 1rem;font-size:2rem;font-weight:600;color:var(--color-text-primary)}.spark-line{margin-top:auto;height:60px;background:var(--color-background-hover);border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.dashboard-section{background:var(--color-background-hover);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;border:1px solid var(--color-border)}.dashboard-section h2{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.placeholder-text{margin:0;color:var(--color-text-tertiary);font-style:italic}@media (max-width: 768px){.metrics-grid{grid-template-columns:1fr}}.capture-form-page{width:100%;padding:2rem}.capture-form{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:2rem;border:1px solid rgba(255,255,255,.1)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.capture-form-message{padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem;font-weight:500}.capture-form-message.success{background:#00ff001a;border:1px solid rgba(0,255,0,.3);color:#51cf66}.capture-form-message.error{background:#ff00001a;border:1px solid rgba(255,0,0,.3);color:#ff6b6b}@media (prefers-color-scheme: light){.page-header h1{color:#000000de}.back-link{background:#0000000d;color:#000000de}.back-link:hover{background:#0000001a}.capture-form{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.form-group label{color:#000c}.form-group input,.form-group textarea,.form-group select{border:1px solid rgba(0,0,0,.2);background:#fffc;color:#000000de}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#0000004d;background:#fff}.submit-button{background:#000c;color:var(--color-text-primary)}.submit-button:hover{background:#000000e6}.cancel-button{background:#0000000d;color:#000000de}.cancel-button:hover{background:#0000001a}.capture-form-message.success{background:#00c8001a;border:1px solid rgba(0,200,0,.3);color:#2b8a3e}.capture-form-message.error{background:#ff00001a;border:1px solid rgba(255,0,0,.3);color:#c92a2a}}.weight-sample-upload{display:flex;flex-direction:column;gap:1rem}.weight-sample-upload-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:2rem;text-align:center;background:var(--color-background);transition:all var(--transition-base);cursor:pointer}.weight-sample-upload-dropzone:hover{border-color:var(--color-primary);background:var(--color-background-hover)}.weight-sample-upload-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.weight-sample-upload-icon{font-size:2.5rem}.weight-sample-upload-text{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}.weight-sample-upload-hint{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin:0}.weight-sample-upload-button{padding:.75rem 1.5rem;background:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.weight-sample-upload-button:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.weight-sample-upload-button:disabled{opacity:.6;cursor:not-allowed}.weight-sample-upload-error{padding:1rem;background:rgba(var(--color-error-rgb),.1);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.weight-sample-upload-preview{padding:1rem;background:var(--color-background-hover);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.weight-sample-upload-file-info{display:flex;flex-direction:column;gap:.75rem}.weight-sample-upload-file-header{display:flex;justify-content:space-between;align-items:center;color:var(--color-text-secondary)}.weight-sample-upload-remove{padding:.25rem .75rem;background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base)}.weight-sample-upload-remove:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.weight-sample-upload-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.weight-sample-upload-stat{display:flex;flex-direction:column;gap:.25rem}.weight-sample-upload-stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.weight-sample-upload-stat-value{font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.weight-sample-upload-validation-errors{margin-top:1rem;padding:1rem;background:rgba(var(--color-error-rgb),.05);border:1px solid rgba(var(--color-error-rgb),.2);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.weight-sample-upload-validation-errors ul{margin:.5rem 0 0 1.5rem;padding:0}.weight-sample-upload-validation-errors li{margin:.25rem 0}.event-form-page{width:100%;padding:2rem}.page-container{max-width:800px;margin:0 auto}.event-form{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:2rem;border:1px solid rgba(255,255,255,.1)}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.form-group input,.form-group textarea,.form-group select{padding:.75rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff0d;color:var(--color-text-primary);font-size:1rem;transition:all .2s ease;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-border-focus);background:#ffffff14}.form-group textarea{resize:vertical}.form-actions{display:flex;gap:1rem;margin-top:2rem}.submit-button{padding:.75rem 1.5rem;border:none;border-radius:8px;background:#ffffff1a;color:var(--color-text-primary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.submit-button:hover{background:#ffffff26;transform:translateY(-1px)}.cancel-button{padding:.75rem 1.5rem;border-radius:8px;background:#ffffff0d;color:var(--color-text-primary);text-decoration:none;font-size:1rem;font-weight:500;transition:all .2s ease;text-align:center}.cancel-button:hover{background:#ffffff1a}@media (prefers-color-scheme: light){.page-header h1{color:#000000de}.back-link{background:#0000000d;color:#000000de}.back-link:hover{background:#0000001a}.event-form{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.form-group label{color:#000c}.form-group input,.form-group textarea,.form-group select{border:1px solid rgba(0,0,0,.2);background:#fffc;color:#000000de}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#0000004d;background:#fff}.submit-button{background:#000c;color:var(--color-text-primary)}.submit-button:hover{background:#000000e6}.cancel-button{background:#0000000d;color:#000000de}.cancel-button:hover{background:#0000001a}}.planning-page{width:100%;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.back-link{padding:.5rem 1rem;background:#ffffff1a;border-radius:8px;color:var(--color-text-primary);text-decoration:none;font-size:.9rem;transition:all .2s ease}.back-link:hover{background:#ffffff26}.content-section{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:2rem;border:1px solid rgba(255,255,255,.1)}@media (prefers-color-scheme: light){.page-header h1{color:#000000de}.back-link{background:#0000000d;color:#000000de}.back-link:hover{background:#0000001a}.content-section{background:#ffffffe6;border:1px solid rgba(0,0,0,.1)}.placeholder-text{color:#00000080}}.analytics-kpi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.kpi-card{background:var(--color-background-card);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--color-border);text-align:center;position:relative}.kpi-label{font-size:.9rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.kpi-value{font-size:2rem;font-weight:600;color:var(--color-text-primary);margin:.5rem 0}.kpi-comparison{font-size:.85rem;margin-top:.5rem;padding:.25rem .5rem;border-radius:var(--radius-md);display:inline-block}.kpi-comparison.positive{color:#22c55e;background-color:#22c55e1a}.kpi-comparison.negative{color:#ef4444;background-color:#ef44441a}@media (max-width: 768px){.analytics-kpi-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.kpi-card{padding:1rem}.kpi-value{font-size:1.5rem}}.analytics-insights{background:var(--color-background-card);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--color-border);margin-bottom:2rem}.analytics-insights h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.insights-list{display:flex;flex-direction:column;gap:1rem}.insight-item{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--radius-md);border-left:4px solid}.insight-icon{font-size:1.25rem;flex-shrink:0}.insight-message{flex:1;color:var(--color-text-primary);font-size:.95rem}.insight-value{font-weight:600;font-size:.95rem;flex-shrink:0}.insight-high{background-color:#ef44441a;border-left-color:#ef4444;color:#ef4444}.insight-medium{background-color:#fb923c1a;border-left-color:#fb923c;color:#fb923c}.insight-low{background-color:#3b82f61a;border-left-color:#3b82f6;color:#3b82f6}.insight-positive{background-color:#22c55e1a;border-left-color:#22c55e;color:#22c55e}.insight-info{background-color:#6b72801a;border-left-color:#6b7280;color:#6b7280}@media (max-width: 768px){.analytics-insights{padding:1rem}.insight-item{flex-direction:column;align-items:flex-start}.insight-value{align-self:flex-end}}.analytics-page{width:100%;padding:2rem}.page-container h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.content-section{background:var(--color-background-card);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--color-border);margin-bottom:2rem}.analytics-filters{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding:1.5rem;background:var(--color-background-card);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.filter-group label{font-weight:500;color:var(--color-text-primary);font-size:.9rem}.filter-group select,.filter-group input{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:.9rem}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--color-primary, #007bff)}.chart-section{background:var(--color-background-card);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--color-border);margin-bottom:2rem}.chart-section h2{margin-bottom:1.5rem}.chart-section>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.export-button{padding:.5rem 1rem;background:var(--color-primary, #007bff);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.export-button:hover{background:var(--color-primary-dark, #0056b3)}.export-button:active{transform:scale(.98)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:1rem}.metric-card{background:var(--color-background);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--color-border);text-align:center}.metric-card h3{margin:0 0 .5rem;font-size:.9rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.metric-card .metric-value{margin:.5rem 0;font-size:2rem;font-weight:600;color:var(--color-text-primary)}.metric-card .metric-label{margin:.5rem 0 0;font-size:.85rem;color:var(--color-text-tertiary)}.funnel-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1rem}.cost-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:1rem}.config-item{display:flex;flex-direction:column;gap:.5rem}.config-item label{font-weight:500;color:var(--color-text-primary);font-size:.9rem}.config-item input{padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:.9rem}.config-item input:focus{outline:none;border-color:var(--color-primary, #007bff)}.metrics-table-container{overflow-x:auto;margin-top:1rem}.metrics-table{width:100%;border-collapse:collapse;background:var(--color-background);border-radius:var(--radius-md);overflow:hidden}.metrics-table thead{background:var(--color-background-card)}.metrics-table th{padding:1rem;text-align:left;font-weight:600;color:var(--color-text-primary);border-bottom:2px solid var(--color-border);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.metrics-table td{padding:1rem;border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.metrics-table tbody tr:hover{background:var(--color-background-card)}.metrics-table tbody tr:last-child td{border-bottom:none}@media (max-width: 768px){.analytics-page{padding:1rem}.analytics-filters{flex-direction:column;gap:1rem}.filter-group{min-width:100%}.metrics-grid,.funnel-metrics-grid,.cost-config-grid{grid-template-columns:1fr}.chart-section{padding:1rem}.metrics-table-container{overflow-x:scroll}}.chart-section .recharts-wrapper{margin:0 auto}.analytics-page .page-container>p{text-align:center;padding:2rem;color:var(--color-text-secondary)}.alerts-page{width:100%;padding:2rem}.alerts-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-value.open{color:#ff9800}.summary-value.resolved{color:#4caf50}.alerts-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#ffffff08;border-radius:8px}.alerts-table-container{overflow-x:auto;background:#ffffff08;border-radius:8px;padding:1rem}.alerts-table{width:100%;border-collapse:collapse;font-size:.9rem}.alerts-table thead{background:#ffffff0d}.alerts-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--color-text-primary);border-bottom:2px solid rgba(255,255,255,.1)}.alerts-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.05);color:var(--color-text-secondary)}.alerts-table tbody tr{transition:background .2s ease}.alerts-table tbody tr:hover{background:#ffffff0d}.status-badge.status-open{background:#ff980033;color:#ff9800}.status-badge.status-resolved{background:#4caf5033;color:#4caf50}.status-badge.status-unknown{background:#9e9e9e33;color:#9e9e9e}.action-button{padding:.4rem .8rem;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.action-button.resolve-button{background:#4caf5033;color:#4caf50}.action-button.resolve-button:hover{background:#4caf504d}.action-button.delete-button{background:#f4433633;color:#f44336}.action-button.delete-button:hover{background:#f443364d}.alerts-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary)}.alerts-empty p{margin-bottom:1rem;font-size:1.1rem}@media (max-width: 768px){.alerts-page{padding:1rem}.alerts-summary{grid-template-columns:repeat(2,1fr);gap:1rem}.alerts-filters{flex-direction:column}.filter-group{min-width:100%}.alerts-table-container{padding:.5rem}.alerts-table{font-size:.8rem}.alerts-table th,.alerts-table td{padding:.5rem}.action-buttons{flex-direction:column}}@media (prefers-color-scheme: light){.page-header h1{color:#000000de}.summary-card{background:#00000008}.summary-card:hover{background:#0000000d}.summary-value{color:#000000de}.alerts-filters{background:#00000005}.filter-group label{color:#0009}.filter-group select,.filter-group input{border-color:#0000001a;background:#fffc;color:#000000de}.filter-group select:focus,.filter-group input:focus{background:#fff}.alerts-table-container{background:#00000005}.alerts-table thead{background:#00000008}.alerts-table th{color:#000000de;border-bottom-color:#0000001a}.alerts-table td{border-bottom-color:#0000000d;color:#0009}.alerts-table tbody tr:hover{background:#00000008}}.data-quality-page{width:100%;padding:2rem}.data-quality-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#ffffff0d;border-radius:12px;padding:1.5rem;text-align:center;transition:all .2s ease}.summary-card:hover{background:#ffffff14;transform:translateY(-2px)}.summary-value.severity-high{color:#f44336}.summary-value.severity-medium{color:#ff9800}.summary-value.severity-low{color:#ffc107}.data-quality-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:#ffffff08;border-radius:8px}.filter-group select,.filter-group input{padding:.5rem;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0d;color:var(--color-text-primary);font-size:.9rem}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--color-primary);background:#ffffff14}.data-quality-table-container{overflow-x:auto;background:#ffffff08;border-radius:8px;padding:1rem}.data-quality-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-quality-table thead{background:#ffffff0d}.data-quality-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--color-text-primary);border-bottom:2px solid rgba(255,255,255,.1)}.data-quality-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.05);color:var(--color-text-secondary)}.data-quality-table tbody tr{transition:background .2s ease}.data-quality-table tbody tr:hover{background:#ffffff0d}.severity-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.severity-badge.severity-high{background:#f4433633;color:#f44336}.severity-badge.severity-medium{background:#ff980033;color:#ff9800}.severity-badge.severity-low{background:#ffc10733;color:#ffc107}.severity-badge.severity-unknown{background:#9e9e9e33;color:#9e9e9e}.type-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.type-badge.type-completeness{background:#2196f333;color:#2196f3}.type-badge.type-validity{background:#9c27b033;color:#9c27b0}.type-badge.type-consistency{background:#ff980033;color:#ff9800}.type-badge.type-timeliness{background:#4caf5033;color:#4caf50}.type-badge.type-referential_integrity{background:#f4433633;color:#f44336}.action-link{color:var(--color-primary);text-decoration:none;font-weight:500;transition:opacity .2s ease}.action-link:hover{opacity:.8;text-decoration:underline}.data-quality-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary)}.data-quality-empty p{margin-bottom:1rem;font-size:1.1rem}@media (max-width: 768px){.data-quality-page{padding:1rem}.data-quality-summary{grid-template-columns:repeat(2,1fr);gap:1rem}.data-quality-filters{flex-direction:column}.filter-group{min-width:100%}.data-quality-table-container{padding:.5rem}.data-quality-table{font-size:.8rem}.data-quality-table th,.data-quality-table td{padding:.5rem}}@media (prefers-color-scheme: light){.page-header h1{color:#000000de}.summary-card{background:#00000008}.summary-card:hover{background:#0000000d}.summary-value{color:#000000de}.data-quality-filters{background:#00000005}.filter-group label{color:#0009}.filter-group select,.filter-group input{border-color:#0000001a;background:#fffc;color:#000000de}.filter-group select:focus,.filter-group input:focus{background:#fff}.data-quality-table-container{background:#00000005}.data-quality-table thead{background:#00000008}.data-quality-table th{color:#000000de;border-bottom-color:#0000001a}.data-quality-table td{border-bottom-color:#0000000d;color:#0009}.data-quality-table tbody tr:hover{background:#00000008}}.system-page{width:100%;padding:2rem}.invite-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.invite-dialog-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border)}.invite-dialog-header{padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.invite-dialog-header h2{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.invite-dialog-close{background:none;border:none;font-size:2rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.invite-dialog-close:hover{background:var(--color-secondary);color:var(--color-text-primary)}.invite-dialog-form{display:flex;flex-direction:column}.invite-dialog-content{padding:1.5rem}.invite-dialog-field{margin-bottom:1.5rem}.invite-dialog-field:last-of-type{margin-bottom:0}.invite-dialog-field label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-base)}.invite-dialog-field .required{color:var(--color-error)}.invite-dialog-field input,.invite-dialog-field select{width:100%;padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-background);color:var(--color-text-primary);transition:all var(--transition-base)}.invite-dialog-field input:focus,.invite-dialog-field select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.invite-dialog-field input:disabled,.invite-dialog-field select:disabled{opacity:.6;cursor:not-allowed}.invite-dialog-role-description{margin:.5rem 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic}.invite-dialog-error{margin-top:1rem;padding:.75rem;background:rgba(var(--color-error-rgb),.1);border:var(--stroke-width-normal) solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.invite-dialog-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:var(--stroke-width-normal) solid var(--color-border)}.invite-dialog-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.invite-dialog-button:disabled{opacity:.6;cursor:not-allowed}.invite-dialog-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.invite-dialog-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.invite-dialog-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.invite-dialog-button-submit:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.invite-dialog-modal{max-width:100%;margin:1rem}.invite-dialog-actions{flex-direction:column-reverse}.invite-dialog-button{width:100%}}.member-list{width:100%}.member-list-empty{padding:2rem;text-align:center;color:var(--color-text-secondary)}.member-list-table{width:100%;border-collapse:collapse;background:var(--color-background-card);border-radius:var(--radius-md);overflow:hidden}.member-list-table thead{background:var(--color-secondary)}.member-list-table th{padding:1rem;text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.member-list-table td{padding:1rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);color:var(--color-text-primary)}.member-list-table tbody tr:last-child td{border-bottom:none}.member-list-table tbody tr:hover{background:var(--color-secondary)}.member-list-email{display:flex;align-items:center;gap:.5rem}.member-list-badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.member-list-badge-current{background:var(--color-primary);color:var(--color-text-on-primary)}.member-list-role{display:inline-block;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.member-list-role-owner{background:#8b451333;color:#8b4513}.member-list-role-admin{background:#dc143c33;color:#dc143c}.member-list-role-editor{background:#1e90ff33;color:#1e90ff}.member-list-role-viewer{background:#80808033;color:gray}.member-list-actions{display:flex;gap:.5rem;align-items:center}.member-list-action-button{padding:.375rem .75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);background:var(--color-background);color:var(--color-text-primary)}.member-list-action-button:hover{background:var(--color-secondary);border-color:var(--color-border-hover)}.member-list-action-remove{color:var(--color-error);border-color:var(--color-error)}.member-list-action-remove:hover{background:rgba(var(--color-error-rgb),.1)}.member-list-no-actions{color:var(--color-text-tertiary);font-style:italic;font-size:var(--font-size-sm)}@media (max-width: 768px){.member-list-table{font-size:var(--font-size-sm)}.member-list-table th,.member-list-table td{padding:.75rem .5rem}.member-list-actions{flex-direction:column;align-items:flex-start}.member-list-action-button{width:100%}}.invitation-list{width:100%}.invitation-list-empty{padding:2rem;text-align:center;color:var(--color-text-secondary)}.invitation-list-table{width:100%;border-collapse:collapse;background:var(--color-background-card);border-radius:var(--radius-md);overflow:hidden}.invitation-list-table thead{background:var(--color-secondary)}.invitation-list-table th{padding:1rem;text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;border-bottom:var(--stroke-width-normal) solid var(--color-border)}.invitation-list-table td{padding:1rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);color:var(--color-text-primary)}.invitation-list-table tbody tr:last-child td{border-bottom:none}.invitation-list-table tbody tr:hover{background:var(--color-secondary)}.invitation-list-role{display:inline-block;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.invitation-list-role-owner{background:#8b451333;color:#8b4513}.invitation-list-role-admin{background:#dc143c33;color:#dc143c}.invitation-list-role-editor{background:#1e90ff33;color:#1e90ff}.invitation-list-role-viewer{background:#80808033;color:gray}.invitation-list-status{display:inline-block;padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.invitation-status-pending{background:#ffc10733;color:#ffc107}.invitation-status-accepted{background:#28a74533;color:#28a745}.invitation-status-expired{background:#6c757d33;color:#6c757d}.invitation-status-revoked{background:#dc354533;color:#dc3545}.invitation-list-actions{display:flex;gap:.5rem;align-items:center}.invitation-list-action-button{padding:.375rem .75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);background:var(--color-background);color:var(--color-text-primary)}.invitation-list-action-button:hover{background:var(--color-secondary);border-color:var(--color-border-hover)}.invitation-list-action-revoke{color:var(--color-error);border-color:var(--color-error)}.invitation-list-action-revoke:hover{background:rgba(var(--color-error-rgb),.1)}.invitation-list-no-actions{color:var(--color-text-tertiary);font-style:italic;font-size:var(--font-size-sm)}.invitation-list-row-expiring{background:#ffc1070d}.invitation-list-expiration-warning{color:#ffc107;font-weight:var(--font-weight-medium)}.invitation-list-days-remaining{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic}.invitation-list-action-copy{color:var(--color-primary);border-color:var(--color-primary)}.invitation-list-action-copy:hover{background:rgba(var(--color-primary-rgb),.1)}@media (max-width: 768px){.invitation-list-table{font-size:var(--font-size-sm)}.invitation-list-table th,.invitation-list-table td{padding:.75rem .5rem}.invitation-list-actions{flex-direction:column;align-items:flex-start}.invitation-list-action-button{width:100%}}.settings-page{width:100%;padding:2rem}.page-container{max-width:1200px;margin:0 auto}.page-container h1{margin:0 0 2rem;font-size:2rem;font-weight:600;color:var(--color-text-primary)}.content-section{background:var(--color-background-card);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--color-border)}.placeholder-text{margin:.5rem 0;color:var(--color-text-tertiary);font-style:italic}.settings-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.settings-page-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.settings-page-button-primary{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.settings-page-button-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.settings-page-error{margin-bottom:1rem;padding:1rem;background:rgba(var(--color-error-rgb),.1);border:var(--stroke-width-normal) solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error)}.settings-page-success{margin-bottom:1rem;padding:1rem;background:#22c55e1a;border:var(--stroke-width-normal) solid #22c55e;border-radius:var(--radius-md);color:#16a34a}.settings-page-success-content{display:flex;align-items:flex-start;gap:.75rem}.settings-page-success-icon{font-size:1.25rem;font-weight:700;flex-shrink:0;margin-top:.125rem}.settings-page-success-text{flex:1;display:flex;flex-direction:column;gap:.75rem}.settings-page-success-text p{margin:0;font-weight:var(--font-weight-medium)}.settings-page-success-link{display:flex;flex-direction:column;gap:.5rem}.settings-page-success-link label{font-size:.875rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.settings-page-success-link-container{display:flex;gap:.5rem;align-items:center}.settings-page-success-link-input{flex:1;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);color:var(--color-text-primary);font-size:.875rem;font-family:var(--font-family-mono);cursor:text}.settings-page-success-link-input:focus{outline:none;border-color:var(--color-primary)}.settings-page-success-copy-button{padding:.5rem 1rem;background:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.settings-page-success-copy-button:hover{background:var(--color-primary-hover)}.settings-page-success-close{background:none;border:none;color:inherit;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.7;transition:opacity var(--transition-base)}.settings-page-success-close:hover{opacity:1}.content-section h2{margin:0 0 1.5rem;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.content-section+.content-section{margin-top:2rem}.api-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.api-icon-container{display:flex;align-items:center;flex-shrink:0}.api-icon{width:48px;height:48px;flex-shrink:0;transition:transform var(--transition-base)}.api-icon:hover{transform:scale(1.05)}.api-icon-nodejs{filter:drop-shadow(0 2px 4px rgba(51,153,51,.3))}.api-header h2{margin:0;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.api-description{margin:0 0 1.5rem;color:var(--color-text-secondary);line-height:1.6}.api-collapsible{margin-top:1rem}.api-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:var(--color-background-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);transition:all var(--transition-base)}.api-toggle:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.api-toggle .toggle-icon{transition:transform var(--transition-base);font-size:.75rem;margin-left:.5rem;color:var(--color-text-secondary)}.api-toggle .toggle-icon.expanded{transform:rotate(180deg)}.api-expanded-content{margin-top:1rem;padding-top:1rem}.api-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.api-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.api-section h3{margin:0 0 1rem;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.api-section p{margin:0 0 1rem;color:var(--color-text-secondary);line-height:1.6}.api-features{margin:1rem 0;padding-left:1.5rem;color:var(--color-text-secondary)}.api-features li{margin-bottom:.5rem;line-height:1.6}.api-code-block{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;margin:1rem 0;overflow-x:auto}.api-code-block code{font-family:var(--font-family-mono);font-size:.875rem;color:var(--color-text-primary);white-space:pre-wrap;word-break:break-all}.api-code-block pre{margin:0;font-family:var(--font-family-mono);font-size:.875rem;color:var(--color-text-primary);white-space:pre-wrap;word-wrap:break-word}.api-code-block pre code{white-space:pre;word-break:normal}.api-note{margin-top:.75rem;font-size:.875rem;color:var(--color-text-tertiary);font-style:italic}.api-base-url{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;margin:1rem 0}.api-url-code{font-family:var(--font-family-mono);font-size:.875rem;color:var(--color-primary);word-break:break-all}.api-endpoints-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.api-endpoint-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.api-endpoint-item strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);font-size:.9375rem}.api-endpoint-item span{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.api-docs-list{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.75rem}.api-docs-list li{margin:0}.api-doc-link{display:inline-flex;align-items:center;color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-base);padding:.5rem 0}.api-doc-link:hover{color:var(--color-primary-hover);text-decoration:underline}.api-doc-link:after{content:" ↗";margin-left:.25rem;font-size:.875rem;opacity:.7}.csv-import-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.csv-import-section-header>div:first-child{flex:1}.csv-import-help-button{padding:.5rem 1rem;background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.csv-import-help-button:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.csv-import-card{margin-top:1.5rem;padding:1.5rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.csv-import-card-content{display:flex;flex-direction:column;gap:1rem}.csv-import-card-content h3{margin:0;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-import-card-content p{margin:0;color:var(--color-text-secondary);line-height:1.6}.csv-import-features{margin:.5rem 0;padding-left:1.5rem;color:var(--color-text-secondary)}.csv-import-features li{margin-bottom:.5rem;line-height:1.6}@media (max-width: 768px){.settings-page-header{flex-direction:column;align-items:flex-start;gap:1rem}.settings-page-button{width:100%}.api-code-block{padding:.75rem}.api-code-block code,.api-code-block pre{font-size:.8125rem}.api-base-url{padding:.75rem}.api-url-code{font-size:.8125rem}}.farm-selector{display:flex;flex-direction:column;gap:1rem}.farm-selector-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:.5rem}.farm-selector-select{padding:.75rem 1rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:var(--font-family-base);cursor:pointer;transition:all var(--transition-base);width:100%;max-width:400px}.farm-selector-select:hover{border-color:var(--color-border-hover);background:var(--color-background-hover)}.farm-selector-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.farm-selector-description{margin:0;color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.farm-selector-empty{display:flex;flex-direction:column;gap:.5rem}.farm-selector-empty .placeholder-text{margin:0}@media (max-width: 768px){.farm-selector-select{max-width:100%}}.csv-column-mapper{width:100%}.csv-column-mapper-header{margin-bottom:1rem}.csv-column-mapper-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0;line-height:1.5}.csv-column-mapper-table-container{max-height:400px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:1rem}.csv-column-mapper-table{width:100%;border-collapse:collapse;background:var(--color-background)}.csv-column-mapper-table thead{position:sticky;top:0;background:var(--color-background-card);z-index:1}.csv-column-mapper-table th{padding:.75rem;text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-bottom:2px solid var(--color-border);font-size:var(--font-size-sm)}.csv-column-mapper-table td{padding:.75rem;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.csv-column-mapper-table tbody tr:hover{background:var(--color-background-hover)}.csv-column-mapper-table tbody tr.csv-column-mapper-row-mapped{background:rgba(var(--color-primary-rgb),.05)}.csv-column-mapper-csv-column{font-weight:var(--font-weight-medium);color:var(--color-text-primary);min-width:150px}.csv-column-mapper-field-select{min-width:200px}.csv-column-mapper-select{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-background);color:var(--color-text-primary);transition:all var(--transition-base)}.csv-column-mapper-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.csv-column-mapper-field-description{margin:.25rem 0 0;font-size:.75rem;color:var(--color-text-tertiary);font-style:italic;line-height:1.4}.csv-column-mapper-type{min-width:100px}.csv-column-mapper-type-badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:var(--font-weight-medium);text-transform:uppercase}.csv-column-mapper-type-string{background:#3b82f61a;color:#3b82f6}.csv-column-mapper-type-number{background:#10b9811a;color:#10b981}.csv-column-mapper-type-timestamp,.csv-column-mapper-type-date{background:#8b5cf61a;color:#8b5cf6}.csv-column-mapper-type-enum{background:#f59e0b1a;color:#f59e0b}.csv-column-mapper-type-boolean{background:#ec48991a;color:#ec4899}.csv-column-mapper-type-empty{background:var(--color-background-hover);color:var(--color-text-tertiary)}.csv-column-mapper-required{min-width:80px}.csv-column-mapper-required-badge,.csv-column-mapper-optional-badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:var(--font-weight-medium)}.csv-column-mapper-required-badge{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.csv-column-mapper-optional-badge{background:var(--color-background-hover);color:var(--color-text-secondary)}.csv-column-mapper-empty{text-align:center;color:var(--color-text-tertiary);padding:2rem!important;font-style:italic}.csv-column-mapper-summary{padding:.75rem;background:var(--color-background-hover);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.csv-column-mapper-summary p{margin:0}.csv-help-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1001;padding:1rem}.csv-help-dialog-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:1000px;max-height:90vh;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border);display:flex;flex-direction:column}.csv-help-dialog-header{padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.csv-help-dialog-header h2{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-help-dialog-close{background:none;border:none;font-size:2rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.csv-help-dialog-close:hover{background:var(--color-secondary);color:var(--color-text-primary)}.csv-help-dialog-content{padding:1.5rem;overflow-y:auto;flex:1}.csv-help-intro{margin-bottom:2rem;padding:1rem;background:var(--color-background-hover);border-radius:var(--radius-md)}.csv-help-intro p{margin:0;color:var(--color-text-secondary);line-height:1.6}.csv-help-toc{margin-bottom:2rem;padding:1.5rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.csv-help-toc h3{margin:0 0 1rem;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-help-toc-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.csv-help-toc-list li{margin:0}.csv-help-toc-link{width:100%;padding:.75rem 1rem;background:var(--color-background-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);text-align:left;cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-sm)}.csv-help-toc-link:hover{background:var(--color-secondary-hover);border-color:var(--color-primary)}.csv-help-toc-link.active{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.csv-help-main-content{margin-bottom:2rem;min-height:300px}.csv-help-select-prompt{padding:3rem;text-align:center;color:var(--color-text-secondary);font-style:italic}.csv-help-data-type-section{display:flex;flex-direction:column;gap:1.5rem}.csv-help-data-type-section h3{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.csv-help-description{margin:0;color:var(--color-text-secondary);line-height:1.6}.csv-help-fields-section{display:flex;flex-direction:column;gap:1rem}.csv-help-fields-section h4{margin:0;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-help-fields-table{width:100%;border-collapse:collapse;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.csv-help-fields-table thead{background:var(--color-background-hover)}.csv-help-fields-table th{padding:.75rem;text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-sm);border-bottom:2px solid var(--color-border)}.csv-help-fields-table td{padding:.75rem;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.csv-help-fields-table tbody tr:last-child td{border-bottom:none}.csv-help-fields-table tbody tr:hover{background:var(--color-background-hover)}.csv-help-fields-table code{background:var(--color-background-hover);padding:.25rem .5rem;border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:.875rem;color:var(--color-primary)}.csv-help-type-badge{display:inline-block;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:var(--font-weight-medium);text-transform:uppercase}.csv-help-type-string{background:#3b82f61a;color:#3b82f6}.csv-help-type-number{background:#10b9811a;color:#10b981}.csv-help-type-timestamp,.csv-help-type-date{background:#8b5cf61a;color:#8b5cf6}.csv-help-type-enum{background:#f59e0b1a;color:#f59e0b}.csv-help-type-boolean{background:#ec48991a;color:#ec4899}.csv-help-example{font-family:var(--font-family-mono);font-size:.875rem;color:var(--color-text-tertiary)}.csv-help-no-fields{padding:1rem;background:var(--color-background-hover);border-radius:var(--radius-md);color:var(--color-text-secondary);font-style:italic;margin:0}.csv-help-example-section{margin-top:1rem}.csv-help-example-section h4{margin:0 0 .75rem;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-help-csv-example{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;overflow-x:auto;margin:0}.csv-help-csv-example code{font-family:var(--font-family-mono);font-size:.875rem;color:var(--color-text-primary);white-space:pre;display:block}.csv-help-notes-section{margin-top:1rem;padding:1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md)}.csv-help-notes-section h4{margin:0 0 .75rem;font-size:1rem;font-weight:var(--font-weight-semibold);color:#f59e0b}.csv-help-notes-section ul{margin:0;padding-left:1.5rem;color:var(--color-text-secondary)}.csv-help-notes-section li{margin-bottom:.5rem;line-height:1.6}.csv-help-general-info{margin-top:2rem;padding:1.5rem;background:var(--color-background-hover);border-radius:var(--radius-md);border:1px solid var(--color-border)}.csv-help-general-info h3{margin:0 0 1rem;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-help-general-info ul{margin:0;padding-left:1.5rem;color:var(--color-text-secondary)}.csv-help-general-info li{margin-bottom:.75rem;line-height:1.6}.csv-help-dialog-actions{display:flex;justify-content:flex-end;padding:1.5rem;border-top:var(--stroke-width-normal) solid var(--color-border)}.csv-help-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.csv-help-button-primary{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.csv-help-button-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.csv-help-dialog-modal{max-width:100%;max-height:100vh;margin:0;border-radius:0}.csv-help-dialog-content{padding:1rem}.csv-help-toc-list{grid-template-columns:1fr}.csv-help-fields-table{font-size:.8125rem}.csv-help-fields-table th,.csv-help-fields-table td{padding:.5rem}.csv-help-csv-example{font-size:.75rem}}.csv-import-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.csv-import-dialog-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:900px;max-height:90vh;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border);display:flex;flex-direction:column}.csv-import-dialog-header{padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.csv-import-dialog-header-actions{display:flex;align-items:center;gap:.5rem}.csv-import-help-button-small{padding:.5rem 1rem;background:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.csv-import-help-button-small:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.csv-import-help-button-small:disabled{opacity:.5;cursor:not-allowed}.csv-import-dialog-header h2{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-import-dialog-close{background:none;border:none;font-size:2rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.csv-import-dialog-close:hover:not(:disabled){background:var(--color-secondary);color:var(--color-text-primary)}.csv-import-dialog-close:disabled{opacity:.5;cursor:not-allowed}.csv-import-dialog-content{padding:1.5rem;overflow-y:auto;flex:1}.csv-import-steps-indicator{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;position:relative}.csv-import-steps-indicator:before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:var(--color-border);z-index:0}.csv-import-step-indicator{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-background);border:2px solid var(--color-border);transition:all var(--transition-base)}.csv-import-step-indicator.csv-import-step-completed{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.csv-import-step-indicator.csv-import-step-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.2)}.csv-import-step-indicator.csv-import-step-pending{background:var(--color-background);border-color:var(--color-border);color:var(--color-text-tertiary)}.csv-import-step-number{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.csv-import-step-title{margin-bottom:1.5rem}.csv-import-step-title h3{margin:0;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-import-step-content{min-height:300px}.csv-import-loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--color-text-secondary)}.csv-import-step-upload{display:flex;flex-direction:column;gap:1.5rem}.csv-import-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:3rem;text-align:center;background:var(--color-background);transition:all var(--transition-base);cursor:pointer}.csv-import-dropzone:hover{border-color:var(--color-primary);background:var(--color-background-hover)}.csv-import-dropzone-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.csv-import-dropzone-icon{font-size:3rem}.csv-import-dropzone-text{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}.csv-import-dropzone-hint{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin:0}.csv-import-file-info{padding:1rem;background:var(--color-background-hover);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.csv-import-file-info p{margin:.5rem 0;color:var(--color-text-secondary)}.csv-import-step-data-type{display:flex;flex-direction:column;gap:1.5rem}.csv-import-step-description{color:var(--color-text-secondary);margin:0;line-height:1.6}.csv-import-field{display:flex;flex-direction:column;gap:.5rem}.csv-import-field label{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.csv-import-field .required{color:var(--color-error)}.csv-import-select{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-background);color:var(--color-text-primary);transition:all var(--transition-base)}.csv-import-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.csv-import-step-mapping{width:100%}.csv-import-step-preview{display:flex;flex-direction:column;gap:1.5rem}.csv-import-preview-summary{padding:1.5rem;background:var(--color-background-hover);border-radius:var(--radius-md)}.csv-import-preview-summary h3{margin:0 0 1rem;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-import-summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.csv-import-summary-stat{display:flex;flex-direction:column;gap:.25rem}.csv-import-summary-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.csv-import-summary-value{font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-import-summary-valid{color:#10b981}.csv-import-summary-invalid,.csv-import-summary-error{color:var(--color-error)}.csv-import-preview-errors{padding:1.5rem;background:rgba(var(--color-error-rgb),.05);border:1px solid rgba(var(--color-error-rgb),.2);border-radius:var(--radius-md)}.csv-import-preview-errors h3{margin:0 0 1rem;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-error)}.csv-import-errors-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.csv-import-error-item{padding:.75rem;background:var(--color-background);border-radius:var(--radius-sm);font-size:var(--font-size-sm);display:flex;gap:.5rem;flex-wrap:wrap}.csv-import-error-row{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-import-error-field{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.csv-import-error-message{color:var(--color-error)}.csv-import-errors-more{margin:.5rem 0 0;font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic}.csv-import-preview-no-valid{padding:2rem;text-align:center;color:var(--color-text-secondary)}.csv-import-step-import{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.csv-import-progress{width:100%;max-width:500px}.csv-import-progress h3{margin:0 0 1.5rem;text-align:center;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-import-progress-bar-container{width:100%;height:1.5rem;background:var(--color-background-hover);border-radius:var(--radius-md);overflow:hidden;margin-bottom:1rem}.csv-import-progress-bar{height:100%;background:var(--color-primary);transition:width .3s ease}.csv-import-progress-text{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.csv-import-step-complete{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.csv-import-complete-icon{width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin-bottom:1.5rem}.csv-import-complete-icon.csv-import-complete-success{background:#10b9811a;color:#10b981}.csv-import-complete-icon.csv-import-complete-partial{background:#f59e0b1a;color:#f59e0b}.csv-import-step-complete h3{margin:0 0 1.5rem;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.csv-import-complete-stats{display:flex;gap:2rem;margin-bottom:1.5rem}.csv-import-complete-errors{width:100%;max-width:600px;margin-top:1.5rem;padding:1.5rem;background:rgba(var(--color-error-rgb),.05);border:1px solid rgba(var(--color-error-rgb),.2);border-radius:var(--radius-md);text-align:left}.csv-import-complete-errors h4{margin:0 0 1rem;font-size:1rem;font-weight:var(--font-weight-semibold);color:var(--color-error)}.csv-import-error{padding:1rem;background:rgba(var(--color-error-rgb),.1);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:1rem}.csv-import-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.csv-import-button:disabled{opacity:.6;cursor:not-allowed}.csv-import-button-primary{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.csv-import-button-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.csv-import-button-secondary{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.csv-import-button-secondary:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.csv-import-dialog-actions{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-top:var(--stroke-width-normal) solid var(--color-border)}.csv-import-dialog-actions-right{display:flex;gap:1rem}@media (max-width: 768px){.csv-import-dialog-modal{max-width:100%;max-height:100vh;margin:0;border-radius:0}.csv-import-dialog-content{padding:1rem}.csv-import-steps-indicator{margin-bottom:1rem}.csv-import-step-indicator{width:2rem;height:2rem}.csv-import-step-number{font-size:.75rem}.csv-import-dialog-actions{flex-direction:column-reverse;gap:1rem}.csv-import-dialog-actions-right{width:100%;flex-direction:column}.csv-import-button{width:100%}.csv-import-summary-stats{grid-template-columns:1fr}.csv-import-complete-stats{flex-direction:column;gap:1rem}}.alert-settings-master-toggle{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--color-border)}.toggle-label{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;margin-bottom:.5rem}.toggle-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.help-text{font-size:.9rem;color:var(--color-text-secondary);margin-top:.5rem;font-style:italic}.alert-settings-error{background:#f443361a;border:1px solid rgba(244,67,54,.3);color:#f44336;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.alert-settings-success{background:#4caf501a;border:1px solid rgba(76,175,80,.3);color:#4caf50;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.alert-settings-sections{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.alert-type-section{background:#ffffff08;border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;transition:all .2s ease}.alert-type-section:hover{background:#ffffff0d}.alert-type-header{margin-bottom:1rem}.alert-type-title{font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.alert-type-content{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.alert-type-description{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.5}.alert-type-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:var(--color-text-primary)}.form-group input[type=number],.form-group select{padding:.75rem;border:1px solid var(--color-border);border-radius:8px;background:#ffffff0d;color:var(--color-text-primary);font-size:1rem;transition:all .2s ease}.form-group input[type=number]:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);background:#ffffff14}.form-group input[type=number]:disabled,.form-group select:disabled{opacity:.5;cursor:not-allowed}.form-group .help-text{font-size:.85rem;color:var(--color-text-tertiary);margin-top:.25rem}.alert-settings-actions{display:flex;gap:1rem;padding-top:1.5rem;border-top:2px solid var(--color-border)}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--color-primary);color:var(--color-text-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#ffffff1a;color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:#ffffff26}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.page-subtitle{font-size:.9rem;color:var(--color-text-secondary);margin-top:.5rem}.error-text{color:#f44336;font-weight:500}@media (max-width: 768px){.alert-type-fields{grid-template-columns:1fr}.alert-settings-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}@media (prefers-color-scheme: light){.alert-type-section{background:#00000005;border-color:#0000001a}.alert-type-section:hover{background:#00000008}.form-group input[type=number],.form-group select{background:#fffc;border-color:#0000001a;color:#000000de}.form-group input[type=number]:focus,.form-group select:focus{background:#fff}.btn-secondary{background:#0000000d;border-color:#0000001a;color:#000000de}.btn-secondary:hover:not(:disabled){background:#00000014}}.task-list-container{width:100%}.task-list-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.filter-group select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background-card);color:var(--color-text-primary);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-base)}.filter-group select:hover{border-color:var(--color-border-hover)}.filter-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.task-list-bulk-actions{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;margin-bottom:1rem;background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-md)}.task-list-bulk-delete{padding:.5rem 1rem;background:var(--color-error);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.task-list-bulk-delete:hover{background:var(--color-error-hover)}.task-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--color-text-secondary)}.task-list-table-container{overflow-x:auto}.task-list-table{width:100%;border-collapse:collapse;background:var(--color-background-card);border-radius:var(--radius-md);overflow:hidden}.task-list-table thead{background:var(--color-background-hover)}.task-list-table th{padding:1rem;text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.task-list-table td{padding:1rem;border-top:1px solid var(--color-border)}.task-row{transition:background-color var(--transition-base)}.task-row:hover{background:var(--color-background-hover)}.task-row-completed{opacity:.7}.task-row-cancelled{opacity:.5}.task-name-cell{display:flex;flex-direction:column;gap:.25rem}.task-name-cell strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.task-description{font-size:.875rem;color:var(--color-text-secondary);font-style:italic}.task-category,.task-status,.task-priority{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:var(--font-weight-medium)}.task-category-egg_collection{background:#3b82f61a;color:#3b82f6}.task-category-feeding{background:#22c55e1a;color:#22c55e}.task-category-health_check{background:#ef44441a;color:#ef4444}.task-category-vaccination{background:#a855f71a;color:#a855f7}.task-category-maintenance{background:#f59e0b1a;color:#f59e0b}.task-category-environmental{background:#0ea5e91a;color:#0ea5e9}.task-category-biosecurity{background:#ec48991a;color:#ec4899}.task-category-culling{background:#6b72801a;color:#6b7280}.task-category-training{background:#14b8a61a;color:#14b8a6}.task-category-other,.task-status-pending{background:#9ca3af1a;color:#9ca3af}.task-status-in_progress{background:#3b82f61a;color:#3b82f6}.task-status-completed{background:#22c55e1a;color:#22c55e}.task-status-cancelled{background:#6b72801a;color:#6b7280}.task-priority-low{background:#22c55e1a;color:#22c55e}.task-priority-medium{background:#f59e0b1a;color:#f59e0b}.task-priority-high{background:#ef44441a;color:#ef4444}.task-priority-urgent{background:#dc26261a;color:#dc2626;font-weight:var(--font-weight-semibold)}.task-assignees{display:flex;flex-direction:column;gap:.25rem}.task-assignee{font-size:.875rem;color:var(--color-text-secondary)}.task-unassigned{font-size:.875rem;color:var(--color-text-tertiary);font-style:italic}.task-actions{display:flex;gap:.5rem}.task-action-button{padding:.375rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);color:var(--color-text-primary);font-size:.875rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.task-action-button:hover{background:var(--color-background-hover);border-color:var(--color-border-hover)}.task-action-delete:hover{background:var(--color-error);color:var(--color-text-on-primary);border-color:var(--color-error)}@media (max-width: 768px){.task-list-filters{grid-template-columns:1fr}.task-list-table-container{overflow-x:scroll}.task-list-table{min-width:800px}}.task-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.task-form-modal{background:var(--color-background-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.task-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border)}.task-form-header h2{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.task-form-close{background:none;border:none;font-size:2rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:color var(--transition-base)}.task-form-close:hover{color:var(--color-text-primary)}.task-form-form{display:flex;flex-direction:column;flex:1;overflow:hidden}.task-form-content{padding:1.5rem;overflow-y:auto;flex:1}.task-form-error{padding:.75rem 1rem;margin-bottom:1rem;background:rgba(var(--color-error-rgb),.1);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:.875rem}.task-form-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.task-form-field label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.task-form-field .required{color:var(--color-error)}.task-form-field input,.task-form-field select,.task-form-field textarea{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:var(--font-family-base);transition:all var(--transition-base)}.task-form-field input:focus,.task-form-field select:focus,.task-form-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.task-form-field input:disabled,.task-form-field select:disabled,.task-form-field textarea:disabled{opacity:.6;cursor:not-allowed}.task-form-field textarea{resize:vertical;min-height:80px}.task-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.task-form-assignees{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:200px;overflow-y:auto}.task-form-assignee-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:background-color var(--transition-base)}.task-form-assignee-checkbox:hover{background:var(--color-background-hover)}.task-form-assignee-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.task-form-assignee-checkbox span{font-size:var(--font-size-base);color:var(--color-text-primary)}.task-form-no-members{margin:0;padding:1rem;text-align:center;color:var(--color-text-tertiary);font-style:italic}.task-form-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--color-border)}.task-form-button{padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.task-form-button:disabled{opacity:.6;cursor:not-allowed}.task-form-button-cancel{background:var(--color-background);color:var(--color-text-primary);border-color:var(--color-border)}.task-form-button-cancel:hover:not(:disabled){background:var(--color-background-hover);border-color:var(--color-border-hover)}.task-form-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.task-form-button-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}@media (max-width: 768px){.task-form-modal{max-width:100%;max-height:100vh;border-radius:0}.task-form-row{grid-template-columns:1fr}.task-form-footer{flex-direction:column-reverse}.task-form-button{width:100%}}.shift-calendar{width:100%}.shift-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.shift-calendar-navigation{display:flex;align-items:center;gap:1rem}.shift-calendar-nav-button{padding:.5rem 1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:1.25rem;cursor:pointer;transition:all var(--transition-base)}.shift-calendar-nav-button:hover{background:var(--color-background-hover);border-color:var(--color-border-hover)}.shift-calendar-month{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);min-width:200px;text-align:center}.shift-calendar-today-button{padding:.5rem 1rem;background:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.shift-calendar-today-button:hover{background:var(--color-primary-hover)}.shift-calendar-grid{background:var(--color-background-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.shift-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-background-hover);border-bottom:2px solid var(--color-border)}.shift-calendar-weekday{padding:.75rem;text-align:center;font-weight:var(--font-weight-semibold);font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase}.shift-calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.shift-calendar-day{min-height:120px;border:1px solid var(--color-border);padding:.5rem;background:var(--color-background-card);transition:background-color var(--transition-base)}.shift-calendar-day:hover{background:var(--color-background-hover)}.shift-calendar-day.empty{background:var(--color-background);cursor:default}.shift-calendar-day.today{background:rgba(var(--color-primary-rgb),.05);border-color:var(--color-primary)}.shift-calendar-day-number{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:.5rem;font-size:.875rem}.shift-calendar-day.today .shift-calendar-day-number{color:var(--color-primary);font-weight:var(--font-weight-bold)}.shift-calendar-day-content{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem}.shift-calendar-shift{padding:.25rem .5rem;background:#3b82f61a;border-left:3px solid #3b82f6;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-calendar-shift:hover{background:#3b82f633}.shift-calendar-shift-time{font-weight:var(--font-weight-medium);color:#3b82f6}.shift-calendar-shift-employee{font-size:.7rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis}.shift-calendar-task{padding:.25rem .5rem;background:#9ca3af1a;border-left:3px solid #9ca3af;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.shift-calendar-task:hover{background:#9ca3af33}.shift-calendar-more{padding:.25rem .5rem;color:var(--color-text-tertiary);font-size:.7rem;font-style:italic;text-align:center}.shift-calendar-list{width:100%}.shift-calendar-empty{padding:2rem;text-align:center;color:var(--color-text-tertiary);font-style:italic}.shift-list{display:flex;flex-direction:column;gap:1rem}.shift-list-item{padding:1rem;background:var(--color-background-card);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base)}.shift-list-item:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.shift-list-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.shift-list-item-date{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.shift-list-item-time{color:var(--color-text-secondary);font-size:.875rem}.shift-list-item-status{padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:var(--font-weight-medium)}.shift-status-scheduled{background:#9ca3af1a;color:#9ca3af}.shift-status-in_progress{background:#3b82f61a;color:#3b82f6}.shift-status-completed{background:#22c55e1a;color:#22c55e}.shift-status-cancelled{background:#6b72801a;color:#6b7280}.shift-list-item-body{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;color:var(--color-text-secondary);font-size:.875rem}.shift-list-item-actions{display:flex;gap:.5rem}.shift-action-button{padding:.5rem 1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.shift-action-button:hover{background:var(--color-background-hover);border-color:var(--color-border-hover)}@media (max-width: 768px){.shift-calendar-header{flex-direction:column;gap:1rem;align-items:stretch}.shift-calendar-navigation{justify-content:space-between}.shift-calendar-month{font-size:1.25rem;min-width:auto}.shift-calendar-day{min-height:80px;padding:.25rem}.shift-calendar-day-content{font-size:.65rem}.shift-list-item-header{flex-direction:column;align-items:flex-start}}.shift-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.shift-form-modal{background:var(--color-background-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.shift-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border)}.shift-form-header h2{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.shift-form-close{background:none;border:none;font-size:2rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:color var(--transition-base)}.shift-form-close:hover{color:var(--color-text-primary)}.shift-form-form{display:flex;flex-direction:column;flex:1;overflow:hidden}.shift-form-content{padding:1.5rem;overflow-y:auto;flex:1}.shift-form-error{padding:.75rem 1rem;margin-bottom:1rem;background:rgba(var(--color-error-rgb),.1);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:.875rem}.shift-form-error-conflict{background:#f59e0b1a;border-color:#f59e0b;color:#f59e0b}.shift-form-conflicts{padding:.75rem 1rem;margin-bottom:1rem;background:#f59e0b1a;border:1px solid #f59e0b;border-radius:var(--radius-md);color:#f59e0b;font-size:.875rem}.shift-form-conflicts ul{margin:.5rem 0 0;padding-left:1.5rem}.shift-form-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.shift-form-field label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.shift-form-field .required{color:var(--color-error)}.shift-form-field input,.shift-form-field select,.shift-form-field textarea{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:var(--font-family-base);transition:all var(--transition-base)}.shift-form-field input:focus,.shift-form-field select:focus,.shift-form-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.shift-form-field input:disabled,.shift-form-field select:disabled,.shift-form-field textarea:disabled{opacity:.6;cursor:not-allowed}.shift-form-field textarea{resize:vertical;min-height:80px}.shift-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.shift-form-tasks{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:200px;overflow-y:auto}.shift-form-task-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:background-color var(--transition-base)}.shift-form-task-checkbox:hover{background:var(--color-background-hover)}.shift-form-task-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer}.shift-form-task-checkbox span{font-size:var(--font-size-base);color:var(--color-text-primary)}.shift-form-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--color-border)}.shift-form-button{padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.shift-form-button:disabled{opacity:.6;cursor:not-allowed}.shift-form-button-cancel{background:var(--color-background);color:var(--color-text-primary);border-color:var(--color-border)}.shift-form-button-cancel:hover:not(:disabled){background:var(--color-background-hover);border-color:var(--color-border-hover)}.shift-form-button-submit{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.shift-form-button-submit:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}@media (max-width: 768px){.shift-form-modal{max-width:100%;max-height:100vh;border-radius:0}.shift-form-row{grid-template-columns:1fr}.shift-form-footer{flex-direction:column-reverse}.shift-form-button{width:100%}}.template-manager{width:100%}.template-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.template-manager-header h3{margin:0;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.template-manager-empty{padding:2rem;text-align:center;color:var(--color-text-tertiary);font-style:italic}.template-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.template-item{padding:1rem;background:var(--color-background-card);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base)}.template-item:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.template-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.template-item-header h4{margin:0;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.template-item-actions{display:flex;gap:.5rem}.template-item-actions button{padding:.375rem .75rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:all var(--transition-base)}.template-item-actions button:hover{background:var(--color-background-hover);border-color:var(--color-border-hover)}.template-item-body{color:var(--color-text-secondary);font-size:.875rem}.template-item-body p{margin:0 0 .5rem}.template-item-meta{display:flex;gap:1rem;flex-wrap:wrap}.template-item-meta span{padding:.25rem .75rem;background:var(--color-background);border-radius:var(--radius-sm);font-size:.75rem}.template-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.template-form-modal{background:var(--color-background-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.template-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border)}.template-form-header h4{margin:0;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.template-form-close{background:none;border:none;font-size:2rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.template-form{padding:1.5rem;overflow-y:auto;flex:1}.template-form-error{padding:.75rem 1rem;margin-bottom:1rem;background:rgba(var(--color-error-rgb),.1);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:.875rem}.template-form-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.template-form-field label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.template-form-field input,.template-form-field select,.template-form-field textarea{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-base)}.template-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.template-form-assignees{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:200px;overflow-y:auto}.template-form-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer}.template-form-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem}.template-form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.template-form-actions button{padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.template-form-actions button[type=button]{background:var(--color-background);color:var(--color-text-primary);border-color:var(--color-border)}.template-form-actions button[type=submit]{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.template-form-actions button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.template-list,.template-form-row{grid-template-columns:1fr}}.template-form-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;padding:1rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.work-planner-analytics{width:100%}.work-planner-analytics h3{margin:0 0 1.5rem;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.analytics-card{padding:1.5rem;background:var(--color-background-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.analytics-card h4{margin:0 0 1rem;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.analytics-stat{text-align:center;margin-bottom:1rem}.analytics-stat-value{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--color-primary);margin-bottom:.25rem}.analytics-stat-label{font-size:.875rem;color:var(--color-text-secondary)}.analytics-breakdown{display:flex;flex-direction:column;gap:.5rem}.analytics-breakdown-item{display:flex;justify-content:space-between;padding:.5rem;background:var(--color-background);border-radius:var(--radius-sm)}.analytics-breakdown-label{font-size:.875rem;color:var(--color-text-secondary)}.analytics-breakdown-value{font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.analytics-list{display:flex;flex-direction:column;gap:.75rem}.analytics-list-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--color-background);border-radius:var(--radius-sm)}.analytics-list-label{font-size:.875rem;color:var(--color-text-primary)}.analytics-list-value{font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.analytics-employee-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.analytics-employee-details{font-size:.75rem;color:var(--color-text-secondary)}.analytics-employee-completion{font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--color-primary)}.analytics-empty{margin:0;padding:1rem;text-align:center;color:var(--color-text-tertiary);font-style:italic}@media (max-width: 768px){.analytics-grid{grid-template-columns:1fr}}.work-planner-tabs{display:flex;gap:.5rem;border-bottom:2px solid var(--color-border);margin-bottom:2rem}.work-planner-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);margin-bottom:-2px}.work-planner-tab:hover{color:var(--color-text-primary);background:var(--color-background-hover)}.work-planner-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--font-weight-semibold)}.work-planner-content{min-height:400px}.work-planner-actions{display:flex;gap:1rem}.templates-container{display:flex;flex-direction:column;gap:2rem}.shifts-list-container{width:100%}@media (max-width: 768px){.work-planner-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.work-planner-tab{white-space:nowrap;padding:.75rem 1rem;font-size:.875rem}.work-planner-actions{flex-direction:column;width:100%}.work-planner-actions .settings-page-button{width:100%}}.breed-list-container{width:100%}.breed-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.breed-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.breed-card{background:var(--color-background-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition-base)}.breed-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.breed-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.breed-card-info{flex:1}.breed-card-info h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.breed-card-description{margin:0;color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.breed-card-actions{display:flex;gap:.5rem;flex-shrink:0}.breed-card-button{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.breed-card-button-edit{background:var(--color-secondary);color:var(--color-text-primary)}.breed-card-button-edit:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.breed-card-button-delete{background:var(--color-error);color:var(--color-text-on-error);border-color:var(--color-error)}.breed-card-button-delete:hover{background:var(--color-error-hover);border-color:var(--color-error-hover)}.breed-card-button:disabled{opacity:.5;cursor:not-allowed}.breed-card-footer{padding-top:1rem;border-top:1px solid var(--color-border)}.breed-card-meta{font-size:.875rem;color:var(--color-text-tertiary)}@media (max-width: 768px){.breed-list{grid-template-columns:1fr}.breed-card-header{flex-direction:column;align-items:stretch}.breed-card-actions{width:100%}.breed-card-button{flex:1}}.breed-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.breed-form-modal{background:var(--color-background-card);border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.breed-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border)}.breed-form-header h2{margin:0;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.breed-form-close{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.breed-form-close:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.breed-form{padding:1.5rem}.breed-form-error{margin-bottom:1rem;padding:.75rem 1rem;background:rgba(var(--color-error-rgb),.1);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:.875rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:var(--font-family-base);transition:all var(--transition-base)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.form-group input:disabled,.form-group textarea:disabled{opacity:.6;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}@media (max-width: 768px){.breed-form-modal{max-width:100%}.form-actions{flex-direction:column-reverse}.form-button{width:100%}}.curve-list-container{width:100%}.curve-list-breed-selector{margin-bottom:2rem;padding:1.5rem;background:var(--color-background-card);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.curve-list-breed-selector label{display:block;margin-bottom:.75rem;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.curve-list-select{width:100%;max-width:400px;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:var(--font-family-base);cursor:pointer;transition:all var(--transition-base)}.curve-list-select:hover{border-color:var(--color-border-hover);background:var(--color-background-hover)}.curve-list-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.curve-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1.5rem}.curve-list-content{margin-top:2rem}.curve-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.curve-list-header h3{margin:0;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.curve-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.curve-card{background:var(--color-background-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition-base)}.curve-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.curve-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.curve-card-info{flex:1}.curve-card-title{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.curve-card-title h4{margin:0;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.curve-card-badge{padding:.25rem .75rem;background:var(--color-primary);color:var(--color-text-on-primary);border-radius:var(--radius-sm);font-size:.75rem;font-weight:var(--font-weight-medium)}.curve-card-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:var(--color-text-secondary)}.curve-card-actions{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap}.curve-card-button{padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.curve-card-button-default{background:var(--color-secondary);color:var(--color-text-primary)}.curve-card-button-default:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.curve-card-button-edit{background:var(--color-secondary);color:var(--color-text-primary)}.curve-card-button-edit:hover{background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.curve-card-button-delete{background:var(--color-error);color:var(--color-text-on-error);border-color:var(--color-error)}.curve-card-button-delete:hover{background:var(--color-error-hover);border-color:var(--color-error-hover)}.curve-card-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.curve-list{grid-template-columns:1fr}.curve-list-header{flex-direction:column;align-items:stretch;gap:1rem}.curve-card-header{flex-direction:column;align-items:stretch}.curve-card-actions{width:100%}.curve-card-button{flex:1}}.curve-data-point-editor{width:100%}.curve-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.curve-editor-header h4{margin:0;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.curve-editor-add-button{padding:.5rem 1rem;background:var(--color-primary);color:var(--color-text-on-primary);border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:.875rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.curve-editor-add-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.curve-editor-table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.curve-editor-table{width:100%;border-collapse:collapse;background:var(--color-background)}.curve-editor-table thead{background:var(--color-background-hover)}.curve-editor-table th{padding:.75rem;text-align:left;font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-bottom:2px solid var(--color-border);white-space:nowrap}.curve-editor-table td{padding:.5rem;border-bottom:1px solid var(--color-border)}.curve-editor-table tbody tr:hover{background:var(--color-background-hover)}.curve-editor-input{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);color:var(--color-text-primary);font-size:.875rem;font-family:var(--font-family-base);transition:all var(--transition-base)}.curve-editor-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.1)}.curve-editor-remove-button{padding:.25rem .75rem;background:var(--color-error);color:var(--color-text-on-error);border:1px solid var(--color-error);border-radius:var(--radius-sm);font-size:.75rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.curve-editor-remove-button:hover{background:var(--color-error-hover);border-color:var(--color-error-hover)}.curve-editor-hint{margin:1rem 0 0;padding:1rem;background:var(--color-background-hover);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-tertiary);font-size:.875rem;text-align:center;font-style:italic}@media (max-width: 768px){.curve-editor-table-container{font-size:.8125rem}.curve-editor-table th,.curve-editor-table td{padding:.375rem}.curve-editor-input{font-size:.8125rem;padding:.375rem}}.curve-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto}.curve-form-modal{background:var(--color-background-card);border-radius:var(--radius-lg);width:100%;max-width:1200px;margin:2rem auto;box-shadow:var(--shadow-xl)}.curve-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-background-card);z-index:10}.curve-form-header h2{margin:0;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.curve-form-close{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.curve-form-close:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.curve-form{padding:1.5rem;max-height:calc(90vh - 80px);overflow-y:auto}.curve-form-error{margin-bottom:1rem;padding:.75rem 1rem;background:rgba(var(--color-error-rgb),.1);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:.875rem}.form-group{margin-bottom:2rem}.form-group label{display:block;margin-bottom:.5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:var(--font-family-base);transition:all var(--transition-base)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.form-group input:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.form-select{cursor:pointer}.form-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.form-checkbox{width:auto;margin:0;cursor:pointer}.form-hint{margin:.5rem 0 0;font-size:.875rem;color:var(--color-text-tertiary);font-style:italic}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border);position:sticky;bottom:0;background:var(--color-background-card);z-index:10}.form-button{padding:.75rem 1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.form-button-primary{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.form-button-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.form-button-secondary{background:var(--color-secondary);color:var(--color-text-primary)}.form-button-secondary:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.form-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.curve-form-modal{max-width:100%;margin:0;border-radius:0}.curve-form{padding:1rem}.form-actions{flex-direction:column-reverse}.form-button{width:100%}}.genetic-standards-actions{display:flex;gap:1rem}.genetic-standards-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid var(--color-border)}.genetic-standards-tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);margin-bottom:-1px}.genetic-standards-tab:hover{color:var(--color-text-primary);background:var(--color-background-hover)}.genetic-standards-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.genetic-standards-content{min-height:400px}@media (max-width: 768px){.genetic-standards-tabs{flex-wrap:wrap}.genetic-standards-tab{padding:.5rem 1rem;font-size:.875rem}}.device-selection-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.device-selection-dialog-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border);max-height:90vh;overflow-y:auto}.device-selection-dialog-header{padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.device-selection-dialog-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.device-selection-dialog-close{background:none;border:none;font-size:2rem;line-height:1;cursor:pointer;color:var(--color-text-secondary);padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all var(--transition-base)}.device-selection-dialog-close:hover{background:var(--color-secondary-hover);color:var(--color-text-primary)}.device-selection-dialog-content{padding:1.5rem}.step-indicator{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;position:relative}.step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.step-number{width:2.5rem;height:2.5rem;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);background:var(--color-secondary);color:var(--color-text-tertiary);border:var(--stroke-width-thick) solid var(--color-border);transition:all var(--transition-base)}.step.active .step-number{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.step.completed .step-number{background:var(--color-success);color:var(--color-text-on-primary);border-color:var(--color-success)}.step-label{margin-top:.5rem;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}.step.active .step-label{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.step-connector{flex:1;height:var(--stroke-width-thick);background:var(--color-border);margin:-1.25rem .5rem 0;transition:all var(--transition-base)}.step-connector.active{background:var(--color-primary)}.step-content{min-height:200px}.step-content h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.step-description{margin:0 0 1.5rem;color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-group .required{color:var(--color-error)}.form-select{width:100%;padding:.75rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-navy-deep);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-base)}.form-select:hover:not(:disabled){border-color:var(--color-border-hover)}.form-select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.form-select:disabled{background:var(--color-background-hover);cursor:not-allowed;opacity:.6}.selected-info{background:var(--color-background-hover);border-radius:var(--radius-md);padding:1rem;margin-top:1rem;border:var(--stroke-width-thin) solid var(--color-border)}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:var(--stroke-width-thin) solid var(--color-border)}.info-item:last-child{border-bottom:none}.info-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.info-value{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.device-selection-dialog-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:var(--stroke-width-normal) solid var(--color-border)}.device-selection-dialog-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.device-selection-dialog-button:disabled{opacity:.6;cursor:not-allowed}.device-selection-dialog-button-cancel{background:var(--color-secondary);color:var(--color-text-primary);border-color:var(--color-border)}.device-selection-dialog-button-cancel:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.device-selection-dialog-button-continue,.device-selection-dialog-button-proceed{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.device-selection-dialog-button-continue:hover:not(:disabled),.device-selection-dialog-button-proceed:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.device-selection-dialog-modal{max-width:100%;margin:1rem}.step-indicator{flex-wrap:wrap;gap:.5rem}.step-connector{display:none}.step-label{font-size:.75rem}.device-selection-dialog-actions{flex-direction:column-reverse}.device-selection-dialog-button{width:100%}}.video-config{padding:0;background:transparent;border-radius:0;border:none;margin-bottom:0}.video-config-loading{padding:1.5rem;text-align:center;color:var(--color-text-secondary)}.video-config-section{margin-bottom:1.5rem}.video-config-checkbox{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary)}.video-config-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--color-primary)}.video-config-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.video-config-label{display:flex;flex-direction:column;gap:.5rem;font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.video-config-label select,.video-config-label input[type=number]{padding:.5rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-navy-deep);color:var(--color-text-primary);font-size:var(--font-size-sm);transition:all var(--transition-base);max-width:200px}.video-config-label select:focus,.video-config-label input[type=number]:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.video-config-label select:disabled,.video-config-label input[type=number]:disabled{opacity:.5;cursor:not-allowed}.video-config-quality{display:flex;align-items:center;gap:1rem}.video-config-quality input[type=range]{flex:1;max-width:300px}.video-config-quality span{min-width:3rem;text-align:right;color:var(--color-text-secondary);font-weight:600}.video-config-button{padding:.5rem 1rem;background:var(--color-primary);color:var(--color-text-on-primary);border:var(--stroke-width-normal) solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.video-config-button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}.video-config-button:disabled{opacity:.5;cursor:not-allowed}.video-config-status{margin-top:.75rem;padding:.5rem;background:var(--color-background-hover);border-radius:var(--radius-md);font-size:var(--font-size-sm);display:flex;flex-direction:column;gap:.25rem}.video-config-status-label{color:var(--color-text-secondary);font-weight:500}.video-config-status-value{color:var(--color-text-primary);font-weight:600}.video-config-recording-indicator{margin-top:.75rem;display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--color-primary-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.recording-dot{width:.75rem;height:.75rem;background:var(--color-error);border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.video-config-warning{margin-top:.75rem;padding:.5rem;background:var(--color-warning-bg, rgba(255, 193, 7, .1));color:var(--color-warning, #ffc107);border:var(--stroke-width-thin) solid var(--color-warning-border, rgba(255, 193, 7, .3));border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500}.video-config-help-text{margin-top:.25rem;font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.video-stream{padding:1.5rem;background:var(--gradient-card);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border);margin-bottom:1.5rem}.video-stream-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.video-stream-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.video-stream-status{display:flex;align-items:center}.status-connected{padding:.25rem .75rem;background:var(--color-success-bg);color:var(--color-success);border:var(--stroke-width-thin) solid var(--color-success-border);border-radius:12px;font-size:.8rem;font-weight:500}.status-disconnected{padding:.25rem .75rem;background:var(--color-error-bg);color:var(--color-error);border:var(--stroke-width-thin) solid var(--color-error-border);border-radius:12px;font-size:.8rem;font-weight:500}.video-stream-loading,.video-stream-error{padding:1.5rem;text-align:center;color:var(--color-text-secondary)}.video-stream-error{color:var(--color-error);background:var(--color-error-bg);border:var(--stroke-width-thin) solid var(--color-error-border);border-radius:var(--radius-md)}.video-stream-container{position:relative;width:100%;max-width:100%;background:var(--color-navy-deep);border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16 / 9}.video-stream-image{width:100%;height:100%;object-fit:contain;display:block}.video-stream-info{padding:1.5rem;background:var(--gradient-card);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border);margin-bottom:1.5rem}.video-stream-info-content{text-align:center}.video-stream-info-content h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.video-stream-info-content p{margin:.5rem 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.video-stream-info-note{margin-top:1rem;font-style:italic;color:var(--color-text-secondary);font-size:.9rem}.video-gallery{padding:1.5rem;background:var(--gradient-card);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border);margin-bottom:1.5rem}.video-gallery h3{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.video-gallery h4{margin:1.5rem 0 1rem;font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.video-gallery h4:first-of-type{margin-top:0}.video-gallery-loading{padding:1.5rem;text-align:center;color:var(--color-text-secondary)}.video-gallery-empty{padding:2rem;text-align:center;color:var(--color-text-secondary)}.video-gallery-note{margin-top:.5rem;font-size:.9rem;font-style:italic;color:var(--color-text-secondary)}.video-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.video-gallery-item{display:flex;flex-direction:column;background:var(--color-navy-deep);border-radius:var(--radius-md);overflow:hidden;border:var(--stroke-width-thin) solid var(--color-border);transition:all var(--transition-base)}.video-gallery-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-focus)}.video-gallery-media{width:100%;height:auto;display:block;aspect-ratio:16 / 9;object-fit:cover}.video-gallery-timestamp{padding:.5rem;font-size:.85rem;color:var(--color-text-secondary);text-align:center;background:var(--color-background-hover)}.video-gallery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.video-gallery-header h3{margin:0}.video-gallery-refresh-button{padding:.5rem 1rem;background:var(--color-primary);color:var(--color-text-on-primary);border:var(--stroke-width-normal) solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.video-gallery-refresh-button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}.video-gallery-refresh-button:disabled{opacity:.5;cursor:not-allowed}.video-gallery-video-wrapper{position:relative;width:100%;aspect-ratio:16 / 9;background:var(--color-navy-deep);overflow:hidden}.video-gallery-duration{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;background:#000000b3;color:var(--color-text-on-primary);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;z-index:1}.video-gallery-type-badge{position:absolute;top:.5rem;left:.5rem;padding:.25rem .5rem;background:#000000b3;color:var(--color-text-on-primary);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;z-index:1;display:flex;flex-direction:column;gap:.25rem}.video-gallery-segment-index{font-size:.7rem;opacity:.9}.video-gallery-api-note{margin-top:.5rem;font-size:.9rem;font-style:italic;color:var(--color-text-secondary)}.video-config-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.video-config-dialog-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:1000px;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border);display:flex;flex-direction:column}.video-config-dialog-header{padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0}.video-config-dialog-title{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1}.video-config-dialog-close{background:transparent;border:none;font-size:2rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base);flex-shrink:0}.video-config-dialog-close:hover{background:var(--color-background-hover);color:var(--color-text-primary)}.video-config-dialog-close:focus{outline:2px solid var(--color-primary);outline-offset:2px}.video-config-dialog-tabs{display:flex;gap:0;border-bottom:var(--stroke-width-thick) solid var(--color-border);padding:0 1.5rem;flex-shrink:0}.video-config-dialog-tab{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:-2px;position:relative}.video-config-dialog-tab:hover{color:var(--color-text-primary);background:#ffffff0d}.video-config-dialog-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.video-config-dialog-content{padding:1.5rem;flex:1;overflow-y:auto;min-height:0}@media (max-width: 768px){.video-config-dialog-modal{max-width:100%;margin:1rem;max-height:85vh}.video-config-dialog-header{padding:1rem}.video-config-dialog-title{font-size:1.25rem}.video-config-dialog-content{padding:1rem}}@media (prefers-color-scheme: light){.video-config-dialog-modal{background:#fffffff2;border:1px solid rgba(0,0,0,.1)}.video-config-dialog-title{color:#000000de}}.devices-dashboard-page{width:100%;padding:2rem}.page-header{margin-bottom:2rem}.devices-type-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-bottom:2rem}.devices-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:var(--gradient-card);border-radius:var(--radius-lg);border:var(--stroke-width-normal) solid var(--color-border);padding:1.5rem;text-align:center;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.summary-card:hover{background:var(--color-background-card-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.summary-label{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:.5rem}.summary-value{font-size:2rem;font-weight:600;color:var(--color-text-primary)}.summary-value.active{color:var(--color-success)}.devices-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--color-background-hover);border-radius:var(--radius-md);border:var(--stroke-width-thin) solid var(--color-border)}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.filter-group label{font-size:.85rem;color:var(--color-text-secondary);font-weight:500}.filter-group select,.filter-group input{padding:.5rem;border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-navy-deep);color:var(--color-text-primary);font-size:var(--font-size-sm);transition:all var(--transition-base)}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.devices-tabs-container{position:relative;margin-bottom:1.5rem}.devices-tabs{display:flex;gap:.5rem;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;border-bottom:var(--stroke-width-thick) solid var(--color-border);padding-bottom:2px;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.devices-tabs::-webkit-scrollbar{height:6px}.devices-tabs::-webkit-scrollbar-track{background:transparent}.devices-tabs::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}.devices-tabs::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-focus)}.devices-tabs-container:before,.devices-tabs-container:after{content:"";position:absolute;top:0;bottom:2px;width:20px;pointer-events:none;z-index:1;transition:opacity .3s ease}.devices-tabs-container:before{left:0;background:linear-gradient(to right,var(--color-background),transparent);opacity:0}.devices-tabs-container:after{right:0;background:linear-gradient(to left,var(--color-background),transparent);opacity:0}.devices-tabs-container.scrollable-left:before,.devices-tabs-container.scrollable-right:after{opacity:1}.tab-button{padding:.875rem 1.5rem;min-height:44px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--color-text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}.tab-button:hover{color:var(--color-text-primary);background:#ffffff0d;border-bottom-color:#ffffff1a}.tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:rgba(var(--color-primary-rgb, 255, 152, 0),.1);font-weight:600}.tab-button:focus{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:var(--radius-sm)}.devices-content{margin-top:1rem}.devices-section{width:100%}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.add-button{padding:.5rem 1rem;background:var(--color-primary);color:var(--color-text-on-primary);border:var(--stroke-width-normal) solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.add-button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}.add-button:disabled{opacity:.5;cursor:not-allowed}.devices-table-container{overflow-x:auto;background:var(--gradient-card);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border);padding:1rem;box-shadow:var(--shadow-sm)}.devices-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.devices-table thead{background:var(--color-background-hover)}.devices-table th{padding:.75rem 1rem;text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border-bottom:var(--stroke-width-thick) solid var(--color-border)}.devices-table td{padding:.75rem 1rem;border-bottom:var(--stroke-width-thin) solid var(--color-border);color:var(--color-text-secondary)}.devices-table tbody tr{transition:background var(--transition-base)}.devices-table tbody tr:hover{background:var(--color-background-hover)}.devices-table tbody tr.devices-table-row-clickable{cursor:pointer}.devices-table .node-id,.devices-table .ring-id,.devices-table .litterguard-serial-number,.devices-table .litterguard-id,.devices-table .toy-mac-address,.devices-table .toy-id{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.litterguard-mac-addresses{display:flex;flex-direction:column;gap:.25rem}.litterguard-mac-address{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-navy-light);padding:.2rem .4rem;border-radius:var(--radius-sm);border:var(--stroke-width-thin) solid var(--color-border)}.status-badges{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.status-badge.status-active{background:var(--color-success-bg);color:var(--color-success);border:var(--stroke-width-thin) solid var(--color-success-border)}.status-badge.status-inactive{background:var(--color-error-bg);color:var(--color-error);border:var(--stroke-width-thin) solid var(--color-error-border)}.status-badge.status-unknown{background:var(--color-secondary);color:var(--color-text-tertiary);border:var(--stroke-width-thin) solid var(--color-border)}.status-badge.status-registered{background:var(--color-success-bg);color:var(--color-success);border:var(--stroke-width-thin) solid var(--color-success-border)}.status-badge.status-detected-only{background:var(--color-secondary);color:var(--color-text-secondary);border:var(--stroke-width-thin) solid var(--color-border)}.action-buttons{display:flex;gap:.5rem}.action-button{padding:.4rem .8rem;border:var(--stroke-width-thin) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.action-button.edit-button{background:var(--color-primary-light);color:var(--color-primary);border:var(--stroke-width-thin) solid var(--color-primary)}.action-button.edit-button:hover{background:var(--color-primary);color:var(--color-text-on-primary)}.action-button.delete-button{background:var(--color-error-bg);color:var(--color-error);border:var(--stroke-width-thin) solid var(--color-error-border)}.action-button.delete-button:hover{background:var(--color-error);color:var(--color-text-on-primary)}.action-button.view-history-button{background:var(--color-primary-light);color:var(--color-primary);border:var(--stroke-width-thin) solid var(--color-primary)}.action-button.view-history-button:hover{background:var(--color-primary);color:var(--color-text-on-primary)}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-button.icon-button{padding:.4rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1}.link-text{color:var(--color-primary);text-decoration:none;transition:color .2s ease}.link-text:hover{color:var(--color-primary-hover);text-decoration:underline}.devices-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary)}.devices-empty p{margin-bottom:1rem;font-size:1.1rem}@media (max-width: 768px){.devices-dashboard-page{padding:1rem}.devices-type-cards,.devices-summary{grid-template-columns:repeat(2,1fr);gap:1rem}.devices-filters{flex-direction:column}.filter-group{min-width:100%}.devices-tabs-container{margin-bottom:1rem}.devices-tabs{gap:.25rem;padding-bottom:0;scrollbar-width:none;-ms-overflow-style:none}.devices-tabs::-webkit-scrollbar{display:none}.tab-button{padding:.75rem 1rem;font-size:.875rem;min-height:44px}.devices-table-container{padding:.5rem}.devices-table{font-size:.8rem}.devices-table th,.devices-table td{padding:.5rem}.action-buttons{flex-direction:column}}.device-type-card{background:var(--gradient-card);border-radius:var(--radius-lg);border:var(--stroke-width-normal) solid var(--color-border);padding:1.5rem;text-align:center;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;gap:.75rem;min-height:120px;justify-content:center}.device-type-card:hover{background:var(--color-background-card-hover);transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.device-type-card:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.device-type-card-image{width:100%;height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.device-type-card-image img{max-width:100%;max-height:100%;object-fit:contain}.device-type-card-name{font-size:1rem;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}@media (max-width: 768px){.device-type-card{padding:1rem;min-height:100px}.device-type-card-image{height:80px}.device-type-card-name{font-size:.9rem}}.device-info-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.device-info-dialog-modal{background:var(--gradient-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);border:var(--stroke-width-normal) solid var(--color-border);display:flex;flex-direction:column}.device-info-dialog-header{padding:1.5rem;border-bottom:var(--stroke-width-normal) solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-shrink:0}.device-info-dialog-title{margin:0;font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);flex:1}.device-info-dialog-close{background:transparent;border:none;font-size:2rem;color:var(--color-text-secondary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base)}.device-info-dialog-close:hover{background:var(--color-secondary);color:var(--color-text-primary)}.device-info-dialog-content{padding:1.5rem;flex:1;overflow-y:auto}.device-info-section{margin-bottom:2rem}.device-info-section:last-child{margin-bottom:0}.device-info-description{font-size:1rem;line-height:1.6;color:var(--color-text-primary);margin:0}.device-info-section-title{margin:0 0 1rem;font-size:1.2rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.device-info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.device-info-list li{padding-left:1.5rem;position:relative;color:var(--color-text-primary);line-height:1.6}.device-info-list li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:700;font-size:1.2rem}.device-info-specifications{display:flex;flex-direction:column;gap:.75rem}.device-info-spec-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem;background:var(--color-secondary);border-radius:var(--radius-md);border:var(--stroke-width-thin) solid var(--color-border)}.device-info-spec-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);flex-shrink:0}.device-info-spec-value{color:var(--color-text-primary);text-align:right;flex:1}.device-info-dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:var(--stroke-width-normal) solid var(--color-border);flex-shrink:0}.device-info-dialog-button{padding:.75rem 1.5rem;border:var(--stroke-width-normal) solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.device-info-dialog-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}@media (max-width: 768px){.device-info-dialog-modal{max-width:100%;margin:1rem;max-height:85vh}.device-info-dialog-header{flex-direction:row}.device-info-dialog-title{font-size:1.25rem}.device-info-spec-item{flex-direction:column;gap:.5rem}.device-info-spec-value{text-align:left}.device-info-dialog-actions{flex-direction:column-reverse}.device-info-dialog-button{width:100%}}@media (prefers-color-scheme: light){.device-info-dialog-modal{background:#fffffff2;border:1px solid rgba(0,0,0,.1)}.device-info-dialog-title,.device-info-description,.device-info-list li{color:#000000de}.device-info-spec-label{color:#000000b3}.device-info-spec-value{color:#000000de}}.node-video-page{width:100%;padding:2rem}.page-container{max-width:1400px;margin:0 auto}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.page-header h1{margin:0;font-size:2rem;font-weight:600;color:var(--color-text-primary)}.back-button{padding:.5rem 1rem;background:var(--color-background-hover);color:var(--color-text-primary);border:var(--stroke-width-normal) solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}.back-button:hover{background:var(--color-navy-light);border-color:var(--color-border-focus)}.node-video-placeholder{padding:3rem;text-align:center;color:var(--color-text-secondary);background:var(--gradient-card);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border);margin-top:2rem}.node-video-placeholder p{margin:0;font-size:1rem}.error-message{padding:.75rem;background:var(--color-error-bg);color:var(--color-error);border:var(--stroke-width-thin) solid var(--color-error-border);border-radius:var(--radius-md);margin-bottom:1rem;font-size:var(--font-size-sm)}.video-stream-error{padding:1.5rem;text-align:center;color:var(--color-error);background:var(--color-error-bg);border:var(--stroke-width-thin) solid var(--color-error-border);border-radius:var(--radius-md)}.node-video-open-button{margin-left:auto;padding:.75rem 1.5rem;background:var(--color-primary);color:var(--color-text-on-primary);border:var(--stroke-width-normal) solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.node-video-open-button:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}.wiki-sidebar{width:300px;background:var(--color-background-elevated, #1A2332);border-right:1px solid var(--color-border, rgba(255, 255, 255, .12));height:100vh;overflow-y:auto;overflow-x:hidden;position:sticky;top:0;padding:var(--spacing-xl, 2rem) var(--spacing-lg, 1.5rem);scroll-behavior:smooth}.wiki-sidebar::-webkit-scrollbar{width:6px}.wiki-sidebar::-webkit-scrollbar-track{background:transparent}.wiki-sidebar::-webkit-scrollbar-thumb{background:var(--color-border, rgba(255, 255, 255, .2));border-radius:3px}.wiki-sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover, rgba(255, 255, 255, .3))}.wiki-sidebar-header{margin-bottom:var(--spacing-xl, 2rem);padding-bottom:var(--spacing-lg, 1.5rem);border-bottom:2px solid var(--color-border, rgba(255, 255, 255, .12))}.wiki-sidebar-header h2{margin:0;font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #F5F5F5)}.wiki-sidebar-nav{display:flex;flex-direction:column;gap:var(--spacing-xl, 2rem)}.wiki-sidebar-category{display:flex;flex-direction:column;gap:var(--spacing-md, 1rem);padding-bottom:var(--spacing-md, 1rem);border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .08))}.wiki-sidebar-category:last-child{border-bottom:none;padding-bottom:0}.wiki-sidebar-category-title{margin:0;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-secondary, #B0B0B0);text-transform:uppercase;letter-spacing:.05em}.wiki-sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs, .25rem)}.wiki-sidebar-item{margin:0}.wiki-sidebar-link{display:flex;align-items:center;padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);min-height:44px;color:var(--color-text-primary, #F5F5F5);text-decoration:none;border-radius:var(--radius-md, .5rem);transition:all .2s ease;font-size:var(--font-size-base, 1rem);line-height:var(--line-height-normal, 1.5);position:relative}.wiki-sidebar-link:hover{background:var(--color-background-hover, rgba(255, 255, 255, .05));color:var(--color-primary, #EA6F18)}.wiki-sidebar-link.active{background:var(--color-primary, #EA6F18);color:var(--color-text-on-primary, #FFFFFF);font-weight:var(--font-weight-semibold, 600);box-shadow:0 2px 8px #ea6f184d}.wiki-sidebar-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--color-text-on-primary, #FFFFFF);border-radius:0 2px 2px 0}.wiki-sidebar-link.active:hover{background:var(--color-primary-hover, #f57c2a);color:var(--color-text-on-primary, #FFFFFF);transform:translate(2px)}@media (max-width: 1024px){.wiki-sidebar{width:100%;height:auto;position:relative;border-right:none;border-bottom:2px solid var(--color-border, rgba(255, 255, 255, .12));max-height:500px;overflow-y:auto;padding:var(--spacing-lg, 1.5rem) var(--spacing-md, 1rem)}.wiki-sidebar-link{min-height:48px;padding:var(--spacing-md, 1rem)}}.wiki-page{min-height:100vh;background:var(--color-background, #0A1628);color:var(--color-text-primary, #F5F5F5);display:flex;flex-direction:column}.wiki-header{background:var(--color-background-elevated, #1A2332);border-bottom:1px solid var(--color-border, rgba(255, 255, 255, .12));padding:var(--spacing-md, 1rem) 0;position:sticky;top:0;z-index:100}.wiki-header-content{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg, 1.5rem);display:flex;justify-content:space-between;align-items:center}.wiki-logo-link{display:flex;align-items:center;text-decoration:none}.wiki-logo{height:40px;width:auto}.wiki-header-links{display:flex;gap:var(--spacing-md, 1rem)}.wiki-header-link{color:var(--color-text-primary, #F5F5F5);text-decoration:none;padding:var(--spacing-xs, .25rem) var(--spacing-sm, .5rem);border-radius:var(--radius-sm, .25rem);transition:background-color .2s,color .2s;font-size:var(--font-size-base, 1rem)}.wiki-header-link:hover{background:var(--color-background-hover, rgba(255, 255, 255, .05));color:var(--color-primary, #EA6F18)}.wiki-container{display:flex;flex:1;max-width:1600px;margin:0 auto;width:100%;padding:0;gap:0}.wiki-main{flex:1;padding:var(--spacing-xl, 2rem) var(--spacing-xl, 2rem);overflow-y:auto;min-height:calc(100vh - 80px);background:var(--color-background, #0A1628)}.wiki-content{max-width:1000px;margin:0 auto;line-height:var(--line-height-relaxed, 1.8);padding-top:var(--spacing-sm, .5rem)}.wiki-content h1{font-size:var(--font-size-3xl, 2rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #F5F5F5);margin:0 0 var(--spacing-xl, 2rem) 0;padding-top:var(--spacing-md, 1rem);padding-bottom:var(--spacing-md, 1rem);border-bottom:2px solid var(--color-border, rgba(255, 255, 255, .12));line-height:var(--line-height-tight, 1.3)}.wiki-content h2{font-size:var(--font-size-2xl, 1.5rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #F5F5F5);margin:var(--spacing-2xl, 2.5rem) 0 var(--spacing-md, 1rem) 0;padding-top:var(--spacing-lg, 1.5rem);border-top:1px solid var(--color-border, rgba(255, 255, 255, .08));line-height:var(--line-height-tight, 1.3)}.wiki-content h2:first-of-type{margin-top:0;padding-top:0;border-top:none}.wiki-content h3{font-size:var(--font-size-xl, 1.25rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #F5F5F5);margin:var(--spacing-xl, 2rem) 0 var(--spacing-sm, .5rem) 0;line-height:var(--line-height-tight, 1.3)}.wiki-content h4,.wiki-content h5,.wiki-content h6{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #F5F5F5);margin:var(--spacing-lg, 1.5rem) 0 var(--spacing-sm, .5rem) 0;line-height:var(--line-height-tight, 1.3)}.wiki-content p{margin:0 0 var(--spacing-lg, 1.5rem) 0;color:var(--color-text-secondary, #B0B0B0);line-height:var(--line-height-relaxed, 1.8);font-size:var(--font-size-base, 1rem)}.wiki-content p:last-child{margin-bottom:0}.wiki-content strong{font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #F5F5F5)}.wiki-content em{font-style:italic}.wiki-content ul,.wiki-content ol{margin:var(--spacing-lg, 1.5rem) 0;padding-left:var(--spacing-2xl, 2.5rem);color:var(--color-text-secondary, #B0B0B0)}.wiki-content li{margin:var(--spacing-sm, .5rem) 0;line-height:var(--line-height-relaxed, 1.8);padding-left:var(--spacing-xs, .25rem)}.wiki-content li>p{margin:0}.wiki-content li>ul,.wiki-content li>ol{margin-top:var(--spacing-sm, .5rem);margin-bottom:var(--spacing-sm, .5rem)}.wiki-content ul{list-style-type:disc}.wiki-content ol{list-style-type:decimal}.wiki-content code{background:var(--color-background-elevated, #1A2332);border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--radius-sm, .25rem);padding:.125rem .5rem;font-family:var(--font-family-mono, "SF Mono", monospace);font-size:.9em;color:var(--color-primary, #EA6F18);font-weight:var(--font-weight-medium, 500)}.wiki-content pre{background:var(--color-background-elevated, #1A2332);border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:var(--radius-md, .5rem);padding:var(--spacing-lg, 1.5rem);margin:var(--spacing-lg, 1.5rem) 0;overflow-x:auto;line-height:var(--line-height-normal, 1.6);box-shadow:0 2px 8px #0003}.wiki-content pre code{background:transparent;border:none;padding:0;font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary, #F5F5F5)}.wiki-content blockquote{border-left:4px solid var(--color-primary, #EA6F18);padding-left:var(--spacing-lg, 1.5rem);padding-right:var(--spacing-md, 1rem);padding-top:var(--spacing-sm, .5rem);padding-bottom:var(--spacing-sm, .5rem);margin:var(--spacing-lg, 1.5rem) 0;color:var(--color-text-secondary, #B0B0B0);font-style:italic;background:#ea6f180d;border-radius:0 var(--radius-md, .5rem) var(--radius-md, .5rem) 0}.wiki-content a{color:var(--color-primary, #EA6F18);text-decoration:none;transition:all .2s ease;border-bottom:1px solid transparent;font-weight:var(--font-weight-medium, 500)}.wiki-content a:hover{color:var(--color-primary-hover, #f57c2a);border-bottom-color:var(--color-primary-hover, #f57c2a);text-decoration:none}.wiki-content a:focus{outline:2px solid var(--color-primary, #EA6F18);outline-offset:2px;border-radius:var(--radius-sm, .25rem)}.wiki-content hr{border:none;border-top:1px solid var(--color-border, rgba(255, 255, 255, .12));margin:var(--spacing-2xl, 2.5rem) 0}.wiki-content img{max-width:100%;height:auto;border-radius:var(--radius-md, .5rem);margin:var(--spacing-lg, 1.5rem) 0;box-shadow:0 4px 12px #0003}.wiki-content img+p{margin-top:var(--spacing-md, 1rem)}.wiki-content table{width:100%;border-collapse:collapse;margin:var(--spacing-lg, 1.5rem) 0;background:var(--color-background-elevated, #1A2332);border-radius:var(--radius-md, .5rem);overflow:hidden;box-shadow:0 2px 8px #00000026}.wiki-content th,.wiki-content td{border:1px solid var(--color-border, rgba(255, 255, 255, .12));padding:var(--spacing-md, 1rem) var(--spacing-lg, 1.5rem);text-align:left}.wiki-content th{background:var(--color-background-card, #1A2332);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #F5F5F5);text-transform:uppercase;font-size:var(--font-size-sm, .875rem);letter-spacing:.05em}.wiki-content td{color:var(--color-text-secondary, #B0B0B0)}.wiki-content tr:nth-child(2n) td{background:#ffffff05}.wiki-loading,.wiki-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:var(--spacing-xl, 2rem)}.wiki-loading p,.wiki-error p{color:var(--color-text-secondary, #B0B0B0);font-size:var(--font-size-lg, 1.125rem)}.wiki-error h1{color:var(--color-error, #ff6b6b);margin-bottom:var(--spacing-md, 1rem)}.wiki-back-link{display:inline-block;margin-top:var(--spacing-lg, 1.5rem);padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem);background:var(--color-primary, #EA6F18);color:var(--color-text-on-primary, #FFFFFF);text-decoration:none;border-radius:var(--radius-md, .5rem);transition:background-color .2s}.wiki-back-link:hover{background:var(--color-primary-hover, #f57c2a)}@media (max-width: 1200px){.wiki-content{max-width:100%;padding-left:var(--spacing-md, 1rem);padding-right:var(--spacing-md, 1rem)}}@media (max-width: 1024px){.wiki-container{flex-direction:column}.wiki-main{padding:var(--spacing-lg, 1.5rem) var(--spacing-md, 1rem)}.wiki-content{max-width:100%;padding-left:0;padding-right:0}}@media (max-width: 768px){.wiki-header-content{padding:0 var(--spacing-md, 1rem)}.wiki-logo{height:32px}.wiki-header-link{font-size:var(--font-size-sm, .875rem);padding:var(--spacing-sm, .5rem);min-height:44px;display:flex;align-items:center}.wiki-main{padding:var(--spacing-md, 1rem)}.wiki-content{padding-top:0}.wiki-content h1{font-size:var(--font-size-2xl, 1.5rem);margin-bottom:var(--spacing-lg, 1.5rem);padding-top:0}.wiki-content h2{font-size:var(--font-size-xl, 1.25rem);margin-top:var(--spacing-xl, 2rem);padding-top:var(--spacing-md, 1rem)}.wiki-content h3{font-size:var(--font-size-lg, 1.125rem);margin-top:var(--spacing-lg, 1.5rem)}.wiki-content h4,.wiki-content h5,.wiki-content h6{font-size:var(--font-size-base, 1rem)}.wiki-content p{font-size:var(--font-size-base, 1rem);margin-bottom:var(--spacing-md, 1rem)}.wiki-content ul,.wiki-content ol{padding-left:var(--spacing-xl, 2rem)}.wiki-content pre{padding:var(--spacing-md, 1rem);font-size:var(--font-size-sm, .875rem)}.wiki-content table{font-size:var(--font-size-sm, .875rem)}.wiki-content th,.wiki-content td{padding:var(--spacing-sm, .5rem) var(--spacing-md, 1rem)}}@media print{.wiki-header,.wiki-sidebar{display:none}.wiki-container{max-width:100%}.wiki-main{padding:0}.wiki-content{max-width:100%}.wiki-content a{color:#000;text-decoration:underline}.wiki-content a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;color:#666}}.app{padding:2rem}.app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.app-header h1{font-size:3.2em;line-height:1.1}.app-header p{font-size:1.2em}code{background-color:var(--color-background-hover);padding:.2em .4em;border-radius:var(--radius-sm);font-family:var(--font-family-mono);color:var(--color-text-primary)}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#f5f5f5;background-color:#0a1628;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-navy-deep: #0A1628;--color-navy-medium: #1A2332;--color-navy-light: #243447;--color-primary: #EA6F18;--color-primary-hover: #f57c2a;--color-primary-light: rgba(234, 111, 24, .15);--color-primary-lighter: rgba(234, 111, 24, .08);--color-background: #0A1628;--color-background-elevated: #1A2332;--color-background-card: #1A2332;--color-background-hover: rgba(255, 255, 255, .05);--color-background-card-hover: #243447;--color-secondary: rgba(255, 255, 255, .05);--color-secondary-hover: rgba(255, 255, 255, .08);--color-text-primary: #F5F5F5;--color-text-secondary: #B0B0B0;--color-text-tertiary: rgba(176, 176, 176, .6);--color-text-on-primary: #FFFFFF;--color-border: rgba(255, 255, 255, .12);--color-border-hover: rgba(255, 255, 255, .2);--color-border-focus: #EA6F18;--color-error: #ff6b6b;--color-error-bg: rgba(255, 107, 107, .15);--color-error-border: rgba(255, 107, 107, .3);--color-success: #51cf66;--color-success-bg: rgba(81, 207, 102, .15);--color-success-border: rgba(81, 207, 102, .3);--color-warning: #ffd43b;--color-warning-bg: rgba(255, 212, 59, .15);--color-warning-border: rgba(255, 212, 59, .3);--color-accent: #EA6F18;--color-accent-hover: #f57c2a;--font-family-base: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Code", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.3;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--letter-spacing-tight: -.01em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 4px 8px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .3);--shadow-xl: 0 12px 24px rgba(0, 0, 0, .35);--shadow-inner: inset 0 1px 2px rgba(0, 0, 0, .2);--gradient-card: linear-gradient(135deg, rgba(26, 35, 50, .8) 0%, rgba(10, 22, 40, .9) 100%);--gradient-elevated: linear-gradient(135deg, rgba(36, 52, 71, .6) 0%, rgba(26, 35, 50, .8) 100%);--gradient-overlay: linear-gradient(180deg, rgba(10, 22, 40, .95) 0%, rgba(10, 22, 40, .98) 100%);--stroke-width-thin: 1px;--stroke-width-normal: 1.5px;--stroke-width-thick: 2px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--header-height: 64px;--breadcrumb-height: 40px;--navigation-options-height: 48px;--sidebar-width: 240px;--sidebar-width-collapsed: 64px}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-background);color:var(--color-text-primary)}#root{width:100%;min-height:100vh}select{background-color:var(--color-background-card);color:var(--color-text-primary);border-radius:var(--radius-md);border:var(--stroke-width-normal) solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base)}select option{background-color:var(--color-background-card);color:var(--color-text-primary);border-radius:var(--radius-md)}select option:hover,select option:focus,select option:checked{background-color:var(--color-background-hover);color:var(--color-text-primary)}select:focus option:checked{background-color:var(--color-primary-light);color:var(--color-text-primary)}
