.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner__circle{display:block;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.spinner--small .spinner__circle{width:14px;height:14px}.spinner--medium .spinner__circle{width:20px;height:20px}.spinner--large .spinner__circle{width:32px;height:32px}.user-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--primary-color);color:#fff;font-weight:600;-webkit-user-select:none;user-select:none;flex-shrink:0}.user-avatar--small{width:28px;height:28px;font-size:.6875rem}.user-avatar--medium{width:36px;height:36px;font-size:.8125rem}.user-avatar--large{width:48px;height:48px;font-size:1rem}.user-avatar--clickable{cursor:pointer;border:none;padding:0;transition:opacity .2s ease,transform .2s ease}.user-avatar--clickable:hover{opacity:.9}.user-avatar--clickable:focus{outline:2px solid var(--primary-light);outline-offset:2px}.user-avatar--clickable:active{transform:scale(.95)}.user-avatar__initials{line-height:1;text-transform:uppercase}@media (prefers-color-scheme: dark){.user-avatar{background-color:var(--primary-light)}.user-avatar--clickable:focus{outline-color:var(--primary-color)}}.multi-select-combobox{position:relative;width:100%}.multi-select-combobox--disabled{opacity:.6;cursor:not-allowed}.multi-select-combobox__control{display:flex;align-items:center;gap:.5rem;min-height:3rem;padding:.5rem .75rem .5rem .5rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:text;transition:border-color .2s ease,box-shadow .2s ease}.multi-select-combobox__control:hover:not(.multi-select-combobox--disabled .multi-select-combobox__control){border-color:var(--primary-color)}.multi-select-combobox__control--open{border-color:var(--primary-color);box-shadow:0 0 0 3px #2c5f2d1a}.multi-select-combobox__tags{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;flex:1;min-width:0}.multi-select-combobox__tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background-color:var(--primary-color);color:#fff;font-size:.8125rem;border-radius:calc(var(--border-radius) - 2px);max-width:100%}.multi-select-combobox__tag-remove{display:flex;align-items:center;justify-content:center;padding:.125rem;background:transparent;border:none;cursor:pointer;color:#fffc;border-radius:2px;flex-shrink:0}.multi-select-combobox__tag-remove:hover{color:#fff;background-color:#fff3}.multi-select-combobox__tag-remove:disabled{opacity:.5;cursor:not-allowed}.multi-select-combobox__placeholder{color:var(--text-muted);font-size:.9375rem;padding:.25rem .5rem;pointer-events:none}.multi-select-combobox__input{flex:1;min-width:60px;padding:.25rem .5rem;border:none;background:transparent;color:var(--text-color);font-size:.9375rem;font-family:inherit;outline:none}.multi-select-combobox__input:disabled{cursor:not-allowed}.multi-select-combobox__input::placeholder{color:var(--text-muted)}.multi-select-combobox__chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s ease}.multi-select-combobox__chevron--open{transform:rotate(180deg)}.multi-select-combobox__listbox{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:250px;overflow-y:auto;margin:0;padding:.25rem;list-style:none;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;z-index:100}.multi-select-combobox__option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem .75rem;border-radius:calc(var(--border-radius) - 2px);cursor:pointer;transition:background-color .15s ease}.multi-select-combobox__option:hover,.multi-select-combobox__option--highlighted{background-color:var(--nav-link-hover-bg, rgba(0, 0, 0, .05))}.multi-select-combobox__option--selected{background-color:#2c5f2d1a}.multi-select-combobox__option--selected:hover,.multi-select-combobox__option--selected.multi-select-combobox__option--highlighted{background-color:#2c5f2d26}.multi-select-combobox__option-label{flex:1;font-size:.875rem;color:var(--text-color)}.multi-select-combobox__option-check{color:var(--primary-color);flex-shrink:0}.multi-select-combobox__empty{padding:.75rem 1rem;text-align:center;color:var(--text-muted);font-size:.875rem;cursor:default}@media (prefers-color-scheme: dark){.multi-select-combobox__control--open{box-shadow:0 0 0 3px #4caf5026}.multi-select-combobox__listbox{box-shadow:0 4px 12px #0000004d}.multi-select-combobox__option:hover,.multi-select-combobox__option--highlighted{background-color:#ffffff0d}.multi-select-combobox__option--selected{background-color:#4caf5026}.multi-select-combobox__option--selected:hover,.multi-select-combobox__option--selected.multi-select-combobox__option--highlighted{background-color:#4caf5033}}.range-slider{display:flex;flex-direction:column;gap:.5rem;width:100%;-webkit-user-select:none;user-select:none}.range-slider--disabled{opacity:.6;pointer-events:none}.range-slider__values{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1rem;font-weight:500;color:var(--text-color);font-variant-numeric:tabular-nums}.range-slider__value{min-width:2.5rem;text-align:center}.range-slider__value--min{text-align:right}.range-slider__value--max{text-align:left}.range-slider__separator{color:var(--text-muted)}.range-slider__unit{color:var(--text-muted);font-size:.875rem;font-weight:400}.range-slider__track-container{position:relative;height:2.5rem;padding:1rem .75rem;cursor:pointer;touch-action:none}.range-slider__track{position:absolute;top:50%;left:.75rem;right:.75rem;height:6px;background-color:var(--border-color);border-radius:3px;transform:translateY(-50%)}.range-slider__range{position:absolute;top:0;height:100%;background-color:var(--primary-color);border-radius:3px}.range-slider__thumb{position:absolute;top:50%;width:1.25rem;height:1.25rem;background-color:#fff;border:2px solid var(--primary-color);border-radius:50%;transform:translate(-50%,-50%);cursor:grab;transition:box-shadow .15s ease,transform .15s ease;z-index:1}.range-slider__thumb:hover{box-shadow:0 0 0 4px #4caf5033}.range-slider__thumb:focus{outline:none;box-shadow:0 0 0 4px #4caf504d}.range-slider__thumb--active{cursor:grabbing;box-shadow:0 0 0 6px #4caf5040;transform:translate(-50%,-50%) scale(1.1);z-index:2}.range-slider__thumb--max{z-index:2}.range-slider__thumb--max.range-slider__thumb--active{z-index:3}.range-slider__bounds{display:flex;justify-content:space-between;padding:0 .25rem}.range-slider__bound{font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}@media (prefers-color-scheme: dark){.range-slider__thumb{background-color:var(--card-bg);border-color:var(--primary-light)}.range-slider__thumb:hover{box-shadow:0 0 0 4px #4caf5040}.range-slider__thumb:focus{box-shadow:0 0 0 4px #4caf5059}.range-slider__thumb--active{box-shadow:0 0 0 6px #4caf504d}}@media (max-width: 768px){.range-slider__track-container{height:3rem;padding:1.25rem 1rem}.range-slider__thumb{width:1.5rem;height:1.5rem}.range-slider__track{height:8px;left:1rem;right:1rem;border-radius:4px}.range-slider__range{border-radius:4px}}:root{--sidebar-width-expanded: 240px;--sidebar-width-collapsed: 64px;--mobile-header-height: 56px;--sidebar-bg: var(--card-bg);--sidebar-border-color: var(--border-color);--nav-link-hover-bg: rgba(44, 95, 45, .1);--nav-link-active-bg: rgba(44, 95, 45, .15);--nav-link-active-color: var(--primary-color)}@media (prefers-color-scheme: dark){:root{--nav-link-hover-bg: rgba(76, 175, 80, .1);--nav-link-active-bg: rgba(76, 175, 80, .15);--nav-link-active-color: var(--primary-light)}}.authenticated-layout{min-height:100vh;display:flex;background-color:var(--background)}.authenticated-layout__sidebar{display:block}.authenticated-layout__mobile-nav{display:none}.authenticated-layout__main{flex:1;margin-left:var(--sidebar-width-expanded);min-height:100vh;transition:margin-left .3s ease}.authenticated-layout--sidebar-collapsed .authenticated-layout__main{margin-left:var(--sidebar-width-collapsed)}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width-expanded);background-color:var(--sidebar-bg);border-right:1px solid var(--sidebar-border-color);display:flex;flex-direction:column;transition:width .3s ease;z-index:100}.sidebar--collapsed{width:var(--sidebar-width-collapsed)}.sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--sidebar-border-color);min-height:64px}.sidebar--collapsed .sidebar__header{justify-content:center}.sidebar__brand{display:flex;align-items:center;gap:.75rem}.sidebar__logo{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.sidebar__toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background-color:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.sidebar__toggle:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.sidebar__nav{flex:1;padding:1rem 0;overflow-y:auto}.sidebar__nav-list{list-style:none;padding:0;margin:0}.sidebar__footer{padding:1rem;border-top:1px solid var(--sidebar-border-color)}.sidebar__user{margin-bottom:.75rem;padding:0 .5rem}.sidebar__user-name{font-size:.875rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.sidebar__logout{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;border:none;background-color:transparent;color:var(--text-muted);font-size:.875rem;cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.sidebar__logout:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.sidebar--collapsed .sidebar__logout{justify-content:center}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin:0 .5rem;text-decoration:none;color:var(--text-color);font-size:.9375rem;font-weight:500;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.nav-link:hover{background-color:var(--nav-link-hover-bg)}.nav-link--active{background-color:var(--nav-link-active-bg);color:var(--nav-link-active-color)}.nav-link--collapsed{justify-content:center;padding:.75rem}.nav-link__icon{flex-shrink:0}.nav-link__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-header{position:fixed;top:0;left:0;right:0;height:var(--mobile-header-height);background-color:var(--sidebar-bg);border-bottom:1px solid var(--sidebar-border-color);display:flex;align-items:center;padding:0 1rem;gap:1rem;z-index:100}.mobile-header__menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background-color:transparent;color:var(--text-color);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.mobile-header__menu-btn:hover{background-color:var(--nav-link-hover-bg)}.mobile-header__brand{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.mobile-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:200}.mobile-drawer-overlay--visible{opacity:1;visibility:visible}.mobile-drawer{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:calc(100vw - 56px);background-color:var(--sidebar-bg);display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s ease;z-index:300}.mobile-drawer--open{transform:translate(0)}.mobile-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--sidebar-border-color);min-height:var(--mobile-header-height)}.mobile-drawer__brand{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.mobile-drawer__close-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background-color:transparent;color:var(--text-color);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.mobile-drawer__close-btn:hover{background-color:var(--nav-link-hover-bg)}.mobile-drawer__nav{flex:1;padding:1rem 0;overflow-y:auto}.mobile-drawer__nav-list{list-style:none;padding:0;margin:0}.mobile-drawer__footer{padding:1rem;border-top:1px solid var(--sidebar-border-color)}.mobile-drawer__user-info{display:flex;align-items:center;gap:.75rem;padding:.5rem;margin-bottom:.75rem}.mobile-drawer__user-details{display:flex;flex-direction:column;min-width:0}.mobile-drawer__user-name{font-size:.9375rem;font-weight:600;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-drawer__user-handle{font-size:.8125rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-drawer__actions{display:flex;flex-direction:column;gap:.25rem}.mobile-drawer__logout{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;margin:.25rem .5rem 0;border:none;background-color:transparent;color:var(--text-color);font-size:.9375rem;font-weight:500;cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.mobile-drawer__logout:hover{background-color:var(--nav-link-hover-bg)}@media (max-width: 768px){.authenticated-layout__sidebar{display:none}.authenticated-layout__mobile-nav{display:block}.authenticated-layout__main{margin-left:0;padding-top:var(--mobile-header-height)}.authenticated-layout--sidebar-collapsed .authenticated-layout__main{margin-left:0}}.user-avatar-menu-trigger{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;width:100%;cursor:pointer;padding:.5rem;margin:-.5rem;border-radius:var(--border-radius);transition:background-color .15s ease}.user-avatar-menu-trigger:hover{background-color:var(--nav-link-hover-bg)}.user-avatar-menu-trigger:active{background-color:var(--nav-link-active-bg)}.user-avatar-menu-trigger__info{display:flex;flex-direction:column;gap:.125rem;min-width:0;flex:1}.user-avatar-menu-trigger__handle{font-size:.875rem;font-weight:500;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar-menu-trigger__email{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar-menu{position:fixed;z-index:1000;min-width:200px;max-width:280px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 16px #0000001f;overflow:hidden;animation:userAvatarMenuFadeIn .15s ease-out}@keyframes userAvatarMenuFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.user-avatar-menu__header{padding:.875rem 1rem;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:.125rem}.user-avatar-menu__name{font-weight:600;font-size:.9375rem;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar-menu__handle{font-size:.8125rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar-menu__email{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar-menu__items{padding:.5rem 0}.user-avatar-menu__item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem 1rem;border:none;background-color:transparent;color:var(--text-color);font-size:.875rem;font-family:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease}.user-avatar-menu__item:hover,.user-avatar-menu__item--focused{background-color:var(--nav-link-hover-bg)}.user-avatar-menu__item:focus{outline:none;background-color:var(--nav-link-hover-bg)}.user-avatar-menu__item:active{background-color:var(--nav-link-active-bg)}@media (prefers-color-scheme: dark){.user-avatar-menu{box-shadow:0 4px 16px #0000004d}}.two-factor-verification{width:100%}.back-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 0;font-size:.875rem;font-family:inherit;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:color .2s ease;margin-bottom:1rem}.back-button:hover:not(:disabled){color:var(--text-color)}.back-button:disabled{opacity:.6;cursor:not-allowed}.two-factor-title{color:var(--primary-color);font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.two-factor-subtitle{color:var(--text-muted);font-size:.875rem;margin:0 0 1.5rem}.two-factor-form{display:flex;flex-direction:column;gap:1rem}.recovery-code-input{text-align:center;font-size:1.25rem;font-family:SF Mono,Monaco,Courier New,monospace;letter-spacing:.25rem}.error-message{padding:.75rem;background-color:var(--error-bg);border:1px solid var(--error-color);border-radius:var(--border-radius);color:var(--error-color);font-size:.875rem}.warning-message{padding:.75rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:var(--border-radius);color:#856404;font-size:.875rem}@media (prefers-color-scheme: dark){.warning-message{background-color:#ffc10726;color:#ffc107;border-color:#ffc10780}}.submit-button{flex:1;padding:.75rem 1rem;font-size:1rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.toggle-mode-button{display:block;width:100%;padding:.75rem;font-size:.875rem;font-family:inherit;color:var(--primary-color);background:transparent;border:none;cursor:pointer;margin-top:1rem;transition:color .2s ease}.toggle-mode-button:hover:not(:disabled){color:var(--primary-light);text-decoration:underline}.toggle-mode-button:disabled{opacity:.6;cursor:not-allowed}@media (prefers-color-scheme: dark){.form-input:focus{box-shadow:0 0 0 3px #4caf5026}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:var(--background)}.login-card{width:100%;max-width:400px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);padding:2rem}.login-title{color:var(--primary-color);font-size:1.75rem;font-weight:600;text-align:center;margin-bottom:1.5rem}.login-form{display:flex;flex-direction:column;gap:1rem}.remember-me-group{display:flex;align-items:center}.remember-me-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-color);cursor:pointer;-webkit-user-select:none;user-select:none}.remember-me-checkbox{width:1rem;height:1rem;cursor:pointer;accent-color:var(--primary-color)}.login-links{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;font-size:.875rem;color:var(--text-secondary)}.login-link{color:var(--primary-color);text-decoration:none;font-weight:500}.login-link:hover{text-decoration:underline}.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:var(--background)}.register-card{width:100%;max-width:440px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);padding:2rem}.register-title{color:var(--primary-color);font-size:1.75rem;font-weight:600;text-align:center;margin-bottom:.5rem}.register-subtitle{color:var(--text-secondary);font-size:.9375rem;text-align:center;margin-bottom:1.5rem}.register-form{display:flex;flex-direction:column;gap:1rem}.form-input{padding:.75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);background-color:var(--card-bg);color:var(--text-color);transition:border-color .2s ease}.form-input:focus{outline:none;border-color:var(--primary-color)}.form-input:disabled{opacity:.7;cursor:not-allowed}.form-input--error{border-color:var(--error-color, #d32f2f)}.form-input--readonly{background-color:var(--background);cursor:not-allowed}.field-error{font-size:.8125rem;color:var(--error-color, #d32f2f);margin:0}.field-hint{font-size:.8125rem;color:var(--text-secondary);margin:0}.error-message{padding:.75rem;background-color:var(--error-bg, #fdecea);border:1px solid var(--error-color, #d32f2f);border-radius:var(--border-radius, 8px);color:var(--error-color, #d32f2f);font-size:.875rem}.success-message{padding:1rem;background-color:var(--success-bg, #e8f5e9);border:1px solid var(--success-border, #4caf50);border-radius:var(--border-radius, 8px);color:var(--success-text, var(--text-color));font-size:.9375rem;margin-bottom:1.5rem}.success-message p{margin:0 0 .5rem}.success-message p:last-child{margin-bottom:0}.success-hint{color:var(--text-secondary);font-size:.8125rem}.submit-button{flex:1;padding:.75rem 1rem;font-size:1rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius, 8px);cursor:pointer;transition:background-color .2s ease}.register-links{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;font-size:.875rem;color:var(--text-secondary)}.register-link{color:var(--primary-color);text-decoration:none;font-weight:500}.register-link:hover{text-decoration:underline}.register-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.register-loading-text{color:var(--text-secondary);font-size:.9375rem}.email-display{padding:.75rem;font-size:1rem;background-color:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);color:var(--text-color)}.password-requirements{font-size:.8125rem;color:var(--text-secondary);margin:0}.register-unavailable-message{color:var(--text-muted);font-size:.9375rem;text-align:center;line-height:1.6;margin-bottom:1.5rem}.recovery-codes-display{padding:0}.recovery-codes-title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 1rem;padding-right:2rem}.recovery-codes-description{font-size:.875rem;color:var(--text-muted);margin:0 0 .5rem}.recovery-codes-warning{font-size:.875rem;color:var(--error-color);font-weight:500;margin:0 0 1.5rem}.recovery-codes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1.5rem;background-color:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem}.recovery-code{display:flex;align-items:center;gap:.5rem;padding:.375rem}.recovery-code-number{font-size:.75rem;color:var(--text-muted);min-width:1.25rem}.recovery-code-value{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.875rem;font-weight:500;color:var(--text-color);letter-spacing:.05rem}.recovery-codes-actions{display:flex;gap:.75rem;margin-bottom:1.5rem}.recovery-codes-action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;color:var(--text-color);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.recovery-codes-action:hover{background-color:var(--nav-link-hover-bg)}.recovery-codes-acknowledgment{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background-color:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1.5rem;cursor:pointer}.recovery-codes-acknowledgment input[type=checkbox]{width:1.125rem;height:1.125rem;margin:0;margin-top:.125rem;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0}.recovery-codes-acknowledgment span{font-size:.875rem;color:var(--text-color)}.recovery-codes-complete{display:flex;justify-content:flex-end}@media (max-width: 480px){.recovery-codes-grid{grid-template-columns:1fr}.recovery-codes-actions{flex-direction:column}.recovery-codes-action{width:100%}}.mandatory-2fa-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:var(--background)}.mandatory-2fa-card{width:100%;max-width:480px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem}.mandatory-2fa-title{color:var(--primary-color);font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.mandatory-2fa-subtitle{font-size:.9375rem;font-weight:500;color:var(--text-color);margin:0 0 .5rem}.mandatory-2fa-description{font-size:.875rem;color:var(--text-muted);margin:0 0 2rem;line-height:1.5}.mandatory-2fa-loading,.mandatory-2fa-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem;text-align:center}.mandatory-2fa-error{color:var(--error-color)}.setup-step{margin-bottom:2rem}.setup-step-title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.qr-code-image{width:180px;height:180px;image-rendering:pixelated}.secret-key{flex:1;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8125rem;color:var(--text-color);word-break:break-all}.form-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.5rem}.submit-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-family:inherit;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.secondary-button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:1rem;font-family:inherit;font-weight:500;color:var(--text-color);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.secondary-button:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.secondary-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 480px){.mandatory-2fa-card{padding:1.5rem}.mandatory-2fa-title{font-size:1.25rem}.qr-code-image{width:160px;height:160px}.form-actions{flex-direction:column-reverse}.submit-button,.secondary-button{width:100%}}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;background-color:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.theme-toggle:hover{background-color:var(--admin-nav-link-hover-bg);color:var(--text-color)}.theme-toggle:focus{outline:2px solid var(--primary-color);outline-offset:2px}.theme-toggle:focus:not(:focus-visible){outline:none}.theme-toggle:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.theme-toggle__icon{flex-shrink:0;transition:transform .2s ease}.theme-toggle:hover .theme-toggle__icon{transform:rotate(15deg)}[data-theme=dark] .theme-toggle{color:var(--text-muted)}[data-theme=dark] .theme-toggle:hover{background-color:var(--admin-nav-link-hover-bg);color:var(--text-color)}.breadcrumbs{padding:.75rem 0;margin-bottom:1rem}.breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0;font-size:.875rem}.breadcrumbs__item{display:flex;align-items:center;gap:.25rem}.breadcrumbs__home-icon{color:var(--text-muted);margin-right:.25rem}.breadcrumbs__link{color:var(--primary-color);text-decoration:none;transition:color .2s ease}.breadcrumbs__link:hover{color:var(--primary-dark);text-decoration:underline}.breadcrumbs__link:focus{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:2px}.breadcrumbs__link:focus:not(:focus-visible){outline:none}.breadcrumbs__link:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:2px}.breadcrumbs__text{color:var(--text-muted)}.breadcrumbs__text--current{color:var(--text-color);font-weight:500}.breadcrumbs__separator{color:var(--text-muted);flex-shrink:0}[data-theme=dark] .breadcrumbs__link{color:var(--primary-light)}[data-theme=dark] .breadcrumbs__link:hover{color:var(--primary-color)}@media (max-width: 640px){.breadcrumbs__list{font-size:.8125rem}.breadcrumbs__item:not(:first-child):not(:last-child):not(:nth-child(2)){display:none}.breadcrumbs:has(.breadcrumbs__item:nth-child(4)) .breadcrumbs__item:nth-child(2):before{content:"...";margin-right:.25rem;color:var(--text-muted)}}.quick-actions{position:relative}.quick-actions__trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;background-color:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.quick-actions__trigger:hover,.quick-actions__trigger--active{background-color:var(--admin-nav-link-hover-bg);color:var(--text-color)}.quick-actions__trigger:focus{outline:2px solid var(--primary-color);outline-offset:2px}.quick-actions__trigger:focus:not(:focus-visible){outline:none}.quick-actions__trigger:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.quick-actions__dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;z-index:1000;overflow:hidden}.quick-actions__header{padding:.75rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.quick-actions__menu{list-style:none;margin:0;padding:.5rem 0}.quick-actions__item-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem 1rem;border:none;background-color:transparent;color:var(--text-color);font-size:.875rem;text-align:left;cursor:pointer;transition:background-color .15s ease}.quick-actions__item-btn:hover,.quick-actions__item-btn--focused{background-color:var(--admin-nav-link-hover-bg)}.quick-actions__item-btn:focus{outline:none;background-color:var(--admin-nav-link-hover-bg)}.quick-actions__item-icon{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.quick-actions__item-btn:hover .quick-actions__item-icon,.quick-actions__item-btn--focused .quick-actions__item-icon{color:var(--primary-color)}.quick-actions__item-label{flex:1}[data-theme=dark] .quick-actions__dropdown{box-shadow:0 4px 12px #0000004d}[data-theme=dark] .quick-actions__item-btn:hover .quick-actions__item-icon,[data-theme=dark] .quick-actions__item-btn--focused .quick-actions__item-icon{color:var(--primary-light)}.notifications{position:relative}.notifications__trigger{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;background-color:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.notifications__trigger:hover,.notifications__trigger--active{background-color:var(--admin-nav-link-hover-bg);color:var(--text-color)}.notifications__trigger:focus{outline:2px solid var(--primary-color);outline-offset:2px}.notifications__trigger:focus:not(:focus-visible){outline:none}.notifications__trigger:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.notifications__badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 4px;font-size:.6875rem;font-weight:600;line-height:18px;text-align:center;color:#fff;background-color:var(--error-color, #dc2626);border-radius:9px}.notifications__dropdown{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:calc(100vw - 32px);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;z-index:1000;overflow:hidden}.notifications__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.notifications__title{font-size:.9375rem;font-weight:600;color:var(--text-color)}.notifications__mark-all-btn{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border:none;background-color:transparent;color:var(--primary-color);font-size:.75rem;cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.notifications__mark-all-btn:hover:not(:disabled){background-color:var(--admin-nav-link-hover-bg)}.notifications__mark-all-btn:disabled{opacity:.5;cursor:not-allowed}.notifications__content{max-height:400px;overflow-y:auto}.notifications__loading,.notifications__error,.notifications__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;color:var(--text-muted);text-align:center}.notifications__error{color:var(--error-color, #dc2626)}.notifications__retry-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;margin-top:.5rem;border:1px solid var(--border-color);background-color:transparent;color:var(--text-color);font-size:.8125rem;cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.notifications__retry-btn:hover{background-color:var(--admin-nav-link-hover-bg)}.notifications__spinner{animation:spin 1s linear infinite}.notifications__list{list-style:none;margin:0;padding:0}.notifications__item{display:flex;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid var(--border-color)}.notifications__item:last-child{border-bottom:none}.notifications__item:hover{background-color:var(--admin-nav-link-hover-bg)}.notifications__item:focus{outline:none;background-color:var(--admin-nav-link-hover-bg)}.notifications__item--unread{background-color:#2c5f2d0d}.notifications__item--read{opacity:.7}.notifications__item-icon{flex-shrink:0;padding-top:.125rem}.notifications__type-icon{display:block}.notifications__type-icon--alert{color:var(--error-color, #dc2626)}.notifications__type-icon--action{color:var(--primary-color)}.notifications__type-icon--warning{color:var(--warning-color, #f59e0b)}.notifications__type-icon--info{color:var(--info-color, #3b82f6)}.notifications__item-content{flex:1;min-width:0}.notifications__item-title{font-size:.875rem;font-weight:500;color:var(--text-color);line-height:1.4}.notifications__item-message{margin-top:.25rem;font-size:.8125rem;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notifications__item-time{margin-top:.25rem;font-size:.75rem;color:var(--text-muted)}.notifications__item-unread-dot{flex-shrink:0;width:8px;height:8px;margin-top:.375rem;background-color:var(--primary-color);border-radius:50%}[data-theme=dark] .notifications__dropdown{box-shadow:0 4px 12px #0000004d}[data-theme=dark] .notifications__item--unread{background-color:#4caf5014}@media (max-width: 400px){.notifications__dropdown{width:calc(100vw - 16px);right:-8px}}:root{--admin-sidebar-width-expanded: 240px;--admin-sidebar-width-collapsed: 64px;--admin-mobile-header-height: 56px;--admin-sidebar-bg: var(--card-bg);--admin-sidebar-border-color: var(--border-color);--admin-nav-link-hover-bg: rgba(44, 95, 45, .1);--admin-nav-link-active-bg: rgba(44, 95, 45, .15);--admin-nav-link-active-color: var(--primary-color)}@media (prefers-color-scheme: dark){:root{--admin-nav-link-hover-bg: rgba(76, 175, 80, .1);--admin-nav-link-active-bg: rgba(76, 175, 80, .15);--admin-nav-link-active-color: var(--primary-light)}}.admin-layout{min-height:100vh;display:flex;background-color:var(--background)}.admin-layout__main{flex:1;margin-left:var(--admin-sidebar-width-expanded);min-height:100vh;transition:margin-left .3s ease;overflow-y:auto;padding:2rem;max-width:calc(var(--content-max-width) + var(--admin-sidebar-width-expanded) + 4rem)}.admin-layout--sidebar-collapsed .admin-layout__main{margin-left:var(--admin-sidebar-width-collapsed)}.admin-sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--admin-sidebar-width-expanded);background-color:var(--admin-sidebar-bg);border-right:1px solid var(--admin-sidebar-border-color);display:flex;flex-direction:column;transition:width .3s ease;z-index:100}.admin-sidebar--collapsed{width:var(--admin-sidebar-width-collapsed)}.admin-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--admin-sidebar-border-color);min-height:64px}.admin-sidebar--collapsed .admin-sidebar__header{justify-content:center}.admin-sidebar__brand{display:flex;align-items:center;gap:.75rem}.admin-sidebar__logo{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.admin-sidebar__toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background-color:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.admin-sidebar__toggle:hover{background-color:var(--admin-nav-link-hover-bg);color:var(--text-color)}.admin-sidebar__nav{flex:1;padding:1rem 0;overflow-y:auto}.admin-sidebar__nav-list{list-style:none;padding:0;margin:0}.admin-sidebar__footer{padding:1rem;border-top:1px solid var(--admin-sidebar-border-color)}.admin-sidebar__user{margin-bottom:.75rem;padding:0 .5rem}.admin-sidebar__user-name{font-size:.875rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.admin-sidebar__logout{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;border:none;background-color:transparent;color:var(--text-muted);font-size:.875rem;cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.admin-sidebar__logout:hover{background-color:var(--admin-nav-link-hover-bg);color:var(--text-color)}.admin-sidebar--collapsed .admin-sidebar__logout{justify-content:center}.admin-nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin:0 .5rem;text-decoration:none;color:var(--text-color);font-size:.9375rem;font-weight:500;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.admin-nav-link:hover{background-color:var(--admin-nav-link-hover-bg)}.admin-nav-link--active{background-color:var(--admin-nav-link-active-bg);color:var(--admin-nav-link-active-color)}.admin-nav-link--collapsed{justify-content:center;padding:.75rem}.admin-nav-link__icon{flex-shrink:0}.admin-nav-link__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-mobile-header{position:fixed;top:0;left:0;right:0;height:var(--admin-mobile-header-height);background-color:var(--admin-sidebar-bg);border-bottom:1px solid var(--admin-sidebar-border-color);display:none;align-items:center;padding:0 1rem;gap:1rem;z-index:100}.admin-mobile-header__menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background-color:transparent;color:var(--text-color);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.admin-mobile-header__menu-btn:hover{background-color:var(--admin-nav-link-hover-bg)}.admin-mobile-header__brand{flex:1;font-size:1.25rem;font-weight:700;color:var(--primary-color)}.admin-mobile-header__actions{display:flex;align-items:center;gap:.25rem}.admin-mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:200}.admin-mobile-overlay--visible{opacity:1;visibility:visible}.admin-mobile-drawer{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:calc(100vw - 56px);background-color:var(--admin-sidebar-bg);display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s ease;z-index:300}.admin-mobile-drawer--open{transform:translate(0)}.admin-mobile-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--admin-sidebar-border-color);min-height:var(--admin-mobile-header-height)}.admin-mobile-drawer__brand{font-size:1.25rem;font-weight:700;color:var(--primary-color)}.admin-mobile-drawer__close-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background-color:transparent;color:var(--text-color);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.admin-mobile-drawer__close-btn:hover{background-color:var(--admin-nav-link-hover-bg)}.admin-mobile-drawer__nav{flex:1;padding:1rem 0;overflow-y:auto}.admin-mobile-drawer__nav-list{list-style:none;padding:0;margin:0}.admin-mobile-drawer__footer{padding:1rem;border-top:1px solid var(--admin-sidebar-border-color)}.admin-mobile-drawer__user{padding:.5rem;margin-bottom:.75rem}.admin-mobile-drawer__user-name{font-size:.9375rem;font-weight:600;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-mobile-drawer__logout{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;margin:0 .5rem;border:none;background-color:transparent;color:var(--text-color);font-size:.9375rem;font-weight:500;cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.admin-mobile-drawer__logout:hover{background-color:var(--admin-nav-link-hover-bg)}.admin-desktop-header{position:fixed;top:0;right:0;height:64px;display:flex;align-items:center;padding:0 1.5rem;z-index:99}.admin-desktop-header__actions{display:flex;align-items:center;gap:.5rem}@media (max-width: 768px){.admin-sidebar,.admin-desktop-header{display:none}.admin-mobile-header{display:flex}.admin-layout__main{margin-left:0;padding-top:calc(var(--admin-mobile-header-height) + 1rem)}.admin-layout--sidebar-collapsed .admin-layout__main{margin-left:0}}[data-theme=dark]{--admin-nav-link-hover-bg: rgba(76, 175, 80, .1);--admin-nav-link-active-bg: rgba(76, 175, 80, .15);--admin-nav-link-active-color: var(--primary-light)}.data-table{display:flex;flex-direction:column;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.data-table__container{overflow-x:auto}.data-table__table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table__thead{background-color:var(--background);border-bottom:1px solid var(--border-color)}.data-table__header-row{height:48px}.data-table__th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-muted);white-space:nowrap;vertical-align:middle}.data-table__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table__th--sortable:hover{color:var(--text-color)}.data-table__th--sorted{color:var(--primary-color)}.data-table__th-content{display:inline-flex;align-items:center;gap:.5rem}.data-table__sort-icon{flex-shrink:0}.data-table__sort-icon--unsorted{opacity:.4}.data-table__tbody{background-color:var(--card-bg)}.data-table__row{border-bottom:1px solid var(--border-color);transition:background-color .15s ease}.data-table__row:last-child{border-bottom:none}.data-table__row:hover{background-color:var(--background)}.data-table__row--selected{background-color:#2c5f2d14}.data-table__row--selected:hover{background-color:#2c5f2d1f}.data-table__row--clickable{cursor:pointer}.data-table__td{padding:.875rem 1rem;vertical-align:middle;color:var(--text-color)}.data-table__loading-row,.data-table__empty-row{border-bottom:none}.data-table__loading-cell,.data-table__empty-cell{padding:3rem 1rem;text-align:center}.data-table__loading{display:flex;flex-direction:column;align-items:center;gap:1rem}.data-table__loading-text{color:var(--text-muted);font-size:.875rem}.data-table__empty{color:var(--text-muted);font-size:.9375rem}.data-table__footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--background);border-top:1px solid var(--border-color);flex-wrap:wrap;gap:1rem}.data-table__info{display:flex;align-items:center;gap:1rem;color:var(--text-muted);font-size:.875rem}.data-table__selected-count{font-weight:500;color:var(--primary-color)}.data-table__pagination{display:flex;align-items:center;gap:1.5rem}.data-table__page-size{display:flex;align-items:center;gap:.5rem}.data-table__page-size-label{color:var(--text-muted);font-size:.875rem;white-space:nowrap}.data-table__page-size-select{padding:.375rem .5rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--card-bg);color:var(--text-color);font-size:.875rem;cursor:pointer}.data-table__page-size-select:hover{border-color:var(--primary-color)}.data-table__page-size-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #2c5f2d33}.data-table__page-controls{display:flex;align-items:center;gap:.5rem}.data-table__page-btn{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--card-bg);color:var(--text-color);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.data-table__page-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.data-table__page-btn:disabled{opacity:.5;cursor:not-allowed}.data-table__page-info{padding:0 .75rem;color:var(--text-muted);font-size:.875rem;white-space:nowrap}.data-table__checkbox{width:1rem;height:1rem;margin:0;cursor:pointer;accent-color:var(--primary-color)}.data-table__status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.data-table__status-badge--active{background-color:#22c55e1a;color:#16a34a}.data-table__status-badge--inactive{background-color:#ef44441a;color:#dc2626}@media (prefers-color-scheme: dark){.data-table__row--selected{background-color:#4caf501a}.data-table__row--selected:hover{background-color:#4caf5026}.data-table__page-size-select:focus{box-shadow:0 0 0 2px #4caf504d}.data-table__status-badge--active{background-color:#22c55e26;color:#4ade80}.data-table__status-badge--inactive{background-color:#ef444426;color:#f87171}}@media (max-width: 768px){.data-table__footer{flex-direction:column;align-items:stretch}.data-table__info{justify-content:center}.data-table__pagination{justify-content:space-between;flex-wrap:wrap}.data-table__page-size{flex:1;min-width:150px}.data-table__page-controls{flex:1;justify-content:flex-end}}.search-input{position:relative;display:flex;align-items:center;width:100%;max-width:320px}.search-input__icon{position:absolute;left:.75rem;color:var(--text-muted);pointer-events:none}.search-input__field{width:100%;padding:.625rem 2.5rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--card-bg);color:var(--text-color);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.search-input__field::placeholder{color:var(--text-muted)}.search-input__field:hover:not(:disabled){border-color:var(--primary-color)}.search-input__field:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #2c5f2d33}.search-input__field:disabled{opacity:.6;cursor:not-allowed}.search-input__clear{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;background-color:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:color .15s ease,background-color .15s ease}.search-input__clear:hover:not(:disabled){color:var(--text-color);background-color:var(--background)}.search-input__clear:disabled{opacity:.5;cursor:not-allowed}@media (prefers-color-scheme: dark){.search-input__field:focus{box-shadow:0 0 0 2px #4caf504d}}@media (max-width: 768px){.search-input{max-width:none}}.confirm-dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#00000080;z-index:1000;animation:fadeIn .15s ease}.confirm-dialog{position:relative;width:100%;max-width:400px;padding:1.5rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg, .75rem);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-dialog:focus{outline:none}.confirm-dialog__close{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;background-color:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:color .15s ease,background-color .15s ease}.confirm-dialog__close:hover:not(:disabled){color:var(--text-color);background-color:var(--background)}.confirm-dialog__close:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog__icon{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin:0 auto 1rem;border-radius:50%}.confirm-dialog--danger .confirm-dialog__icon{background-color:#ef44441a;color:#dc2626}.confirm-dialog--warning .confirm-dialog__icon{background-color:#f59e0b1a;color:#d97706}.confirm-dialog--default .confirm-dialog__icon{background-color:#2c5f2d1a;color:var(--primary-color)}.confirm-dialog__title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;text-align:center;color:var(--text-color)}.confirm-dialog__message{margin:0 0 1.5rem;font-size:.9375rem;text-align:center;color:var(--text-muted);line-height:1.5}.confirm-dialog__actions{display:flex;gap:.75rem}.confirm-dialog__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border:1px solid transparent;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.confirm-dialog__btn:disabled{opacity:.7;cursor:not-allowed}.confirm-dialog__btn--cancel{background-color:var(--background);border-color:var(--border-color);color:var(--text-color)}.confirm-dialog__btn--cancel:hover:not(:disabled){background-color:var(--card-bg);border-color:var(--text-muted)}.confirm-dialog__btn--confirm{color:#fff}.confirm-dialog__btn--danger{background-color:#dc2626;border-color:#dc2626}.confirm-dialog__btn--danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}.confirm-dialog__btn--warning{background-color:#d97706;border-color:#d97706}.confirm-dialog__btn--warning:hover:not(:disabled){background-color:#b45309;border-color:#b45309}.confirm-dialog__btn--default{background-color:var(--primary-color);border-color:var(--primary-color)}.confirm-dialog__btn--default:hover:not(:disabled){background-color:var(--primary-dark, #1e5f1f);border-color:var(--primary-dark, #1e5f1f)}@media (prefers-color-scheme: dark){.confirm-dialog--danger .confirm-dialog__icon{background-color:#ef444426;color:#f87171}.confirm-dialog--warning .confirm-dialog__icon{background-color:#f59e0b26;color:#fbbf24}.confirm-dialog--default .confirm-dialog__icon{background-color:#4caf5026;color:var(--primary-light, #4caf50)}}@media (max-width: 480px){.confirm-dialog{padding:1.25rem}.confirm-dialog__actions{flex-direction:column-reverse}}.bulk-actions-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background-color:#2c5f2d14;border:1px solid rgba(44,95,45,.2);border-radius:var(--border-radius);margin-bottom:1rem;animation:slideDown .2s ease}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.bulk-actions-bar__info{display:flex;align-items:center;gap:1rem}.bulk-actions-bar__count{font-size:.875rem;font-weight:500;color:var(--primary-color)}.bulk-actions-bar__clear{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:none;background-color:transparent;color:var(--text-muted);font-size:.8125rem;cursor:pointer;border-radius:var(--border-radius);transition:color .15s ease,background-color .15s ease}.bulk-actions-bar__clear:hover:not(:disabled){color:var(--text-color);background-color:#0000000d}.bulk-actions-bar__clear:disabled{opacity:.5;cursor:not-allowed}.bulk-actions-bar__actions{display:flex;align-items:center;gap:.5rem}.bulk-actions-bar__btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.bulk-actions-bar__btn:disabled{opacity:.7;cursor:not-allowed}.bulk-actions-bar__btn--danger{background-color:#dc2626;border-color:#dc2626;color:#fff}.bulk-actions-bar__btn--danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}@media (prefers-color-scheme: dark){.bulk-actions-bar{background-color:#4caf501a;border-color:#4caf5040}.bulk-actions-bar__count{color:var(--primary-light, #4caf50)}.bulk-actions-bar__clear:hover:not(:disabled){background-color:#ffffff0d}}@media (max-width: 480px){.bulk-actions-bar{flex-direction:column;gap:.75rem;align-items:stretch}.bulk-actions-bar__info{justify-content:space-between}.bulk-actions-bar__actions{justify-content:flex-end}}.activity-feed{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.activity-feed__header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-color)}.activity-feed__title{margin:0;font-size:1rem;font-weight:600;color:var(--text-color)}.activity-feed__count{font-size:.8125rem;color:var(--text-muted)}.activity-feed__content{min-height:120px}.activity-feed__loading,.activity-feed__error,.activity-feed__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1rem;color:var(--text-muted);text-align:center}.activity-feed__error{color:var(--error-color, #dc2626)}.activity-feed__retry-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;margin-top:.5rem;border:1px solid var(--border-color);background-color:transparent;color:var(--text-color);font-size:.8125rem;cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.activity-feed__retry-btn:hover{background-color:var(--admin-nav-link-hover-bg)}.activity-feed__spinner{animation:activity-spin 1s linear infinite}@keyframes activity-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.activity-feed__list{list-style:none;margin:0;padding:0}.activity-feed__item{display:flex;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);transition:background-color .15s ease}.activity-feed__item:last-child{border-bottom:none}.activity-feed__item:hover{background-color:var(--admin-nav-link-hover-bg)}.activity-feed__item-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--admin-nav-link-hover-bg);border-radius:50%}.activity-feed__icon{display:block}.activity-feed__icon--login{color:var(--primary-color)}.activity-feed__icon--created{color:var(--success-color, #22c55e)}.activity-feed__icon--updated{color:var(--info-color, #3b82f6)}.activity-feed__icon--deleted{color:var(--error-color, #dc2626)}.activity-feed__icon--settings{color:var(--warning-color, #f59e0b)}.activity-feed__icon--system{color:var(--text-muted)}.activity-feed__item-content{flex:1;min-width:0}.activity-feed__item-description{font-size:.875rem;color:var(--text-color);line-height:1.4}.activity-feed__actor{font-weight:500}.activity-feed__action{color:var(--text-muted)}.activity-feed__target{color:var(--text-color)}.activity-feed__item-time{margin-top:.25rem;font-size:.75rem;color:var(--text-muted)}.activity-feed__load-more{padding:.75rem 1rem;text-align:center;border-top:1px solid var(--border-color)}.activity-feed__load-more-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-color);background-color:transparent;color:var(--text-color);font-size:.875rem;cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,border-color .2s ease}.activity-feed__load-more-btn:hover:not(:disabled){background-color:var(--admin-nav-link-hover-bg);border-color:var(--primary-color)}.activity-feed__load-more-btn:disabled{opacity:.6;cursor:not-allowed}.activity-feed__end{padding:.75rem 1rem;text-align:center;font-size:.8125rem;color:var(--text-muted);border-top:1px solid var(--border-color)}[data-theme=dark] .activity-feed__item-icon{background-color:#ffffff14}[data-theme=dark] .activity-feed__icon--login{color:var(--primary-light)}.admin-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:var(--background)}.admin-login-card{width:100%;max-width:400px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem}.admin-login-title{color:var(--primary-color);font-size:1.75rem;font-weight:600;text-align:center;margin-bottom:1.5rem}.admin-login-form{display:flex;flex-direction:column;gap:1rem}.admin-form-group{display:flex;flex-direction:column;gap:.375rem}.admin-form-label{font-size:.875rem;font-weight:500;color:var(--text-color)}.admin-form-label .required{color:var(--error-color);margin-left:.25rem}.admin-form-input{padding:.75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--card-bg);color:var(--text-color);transition:border-color .2s ease}.admin-form-input:focus{outline:none;border-color:var(--primary-color)}.admin-form-input:disabled{opacity:.7;cursor:not-allowed}.admin-form-input--error{border-color:var(--error-color)}.admin-field-error{font-size:.8125rem;color:var(--error-color);margin:0}.admin-error-message{padding:.75rem;background-color:var(--error-bg);border:1px solid var(--error-color);border-radius:var(--border-radius);color:var(--error-color);font-size:.875rem}.admin-remember-me-group{display:flex;align-items:center}.admin-remember-me-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-color);cursor:pointer;-webkit-user-select:none;user-select:none}.admin-remember-me-checkbox{width:1rem;height:1rem;cursor:pointer;accent-color:var(--primary-color)}.admin-form-actions{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.admin-submit-button{flex:1;padding:.75rem 1rem;font-size:1rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.admin-submit-button:hover:not(:disabled){background-color:var(--primary-light)}.admin-submit-button:disabled{opacity:.7;cursor:not-allowed}.admin-dashboard__title{font-size:1.75rem;font-weight:600;color:var(--primary-color);margin-bottom:1rem}.admin-dashboard__welcome{font-size:1rem;color:var(--text-color)}.admin-dashboard{max-width:var(--content-max-width)}.admin-dashboard__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.admin-dashboard__header-content{flex:1;min-width:200px}.admin-dashboard__title{margin:0 0 .5rem;font-size:1.75rem;font-weight:600;color:var(--text-color)}.admin-dashboard__welcome{margin:0;font-size:1rem;color:var(--text-muted)}.admin-dashboard__refresh-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-color);background-color:transparent;color:var(--text-color);font-size:.875rem;cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,border-color .2s ease}.admin-dashboard__refresh-btn:hover:not(:disabled){background-color:var(--admin-nav-link-hover-bg);border-color:var(--primary-color)}.admin-dashboard__refresh-btn:disabled{opacity:.6;cursor:not-allowed}.admin-dashboard__spinner{animation:dashboard-spin 1s linear infinite}@keyframes dashboard-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-dashboard__error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;margin-bottom:2rem;color:var(--error-color, #dc2626);text-align:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}.admin-dashboard__retry-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;margin-top:.5rem;border:1px solid var(--border-color);background-color:transparent;color:var(--text-color);font-size:.8125rem;cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.admin-dashboard__retry-btn:hover{background-color:var(--admin-nav-link-hover-bg)}.admin-dashboard__section-title{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--text-color)}.admin-dashboard__stats{margin-bottom:2rem}.admin-dashboard__stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.admin-dashboard__stat-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .2s ease}.admin-dashboard__stat-card:hover{border-color:var(--primary-color)}.admin-dashboard__stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:var(--admin-nav-link-hover-bg);border-radius:var(--border-radius);color:var(--primary-color)}.admin-dashboard__stat-content{flex:1}.admin-dashboard__stat-value{font-size:1.5rem;font-weight:700;color:var(--text-color);line-height:1.2}.admin-dashboard__stat-title{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.admin-dashboard__quick-access{margin-bottom:2rem}.admin-dashboard__quick-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.admin-dashboard__quick-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);text-align:left;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.admin-dashboard__quick-card:hover{border-color:var(--primary-color);background-color:var(--admin-nav-link-hover-bg)}.admin-dashboard__quick-card:focus{outline:2px solid var(--primary-color);outline-offset:2px}.admin-dashboard__quick-card:focus:not(:focus-visible){outline:none}.admin-dashboard__quick-card:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.admin-dashboard__quick-card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background-color:var(--admin-nav-link-hover-bg);border-radius:var(--border-radius);color:var(--primary-color);flex-shrink:0}.admin-dashboard__quick-card:hover .admin-dashboard__quick-card-icon{background-color:var(--admin-nav-link-active-bg)}.admin-dashboard__quick-card-content{flex:1;min-width:0}.admin-dashboard__quick-card-title{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:.25rem}.admin-dashboard__quick-card-description{font-size:.8125rem;color:var(--text-muted);line-height:1.4}.admin-dashboard__activity{margin-bottom:2rem}@media (min-width: 1024px){.admin-dashboard__stats-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px) and (max-width: 1023px){.admin-dashboard__stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767px){.admin-dashboard__stats-grid,.admin-dashboard__quick-access-grid{grid-template-columns:1fr}.admin-dashboard__title{font-size:1.5rem}.admin-dashboard__stat-card{padding:1rem}.admin-dashboard__stat-icon{width:40px;height:40px}.admin-dashboard__stat-value{font-size:1.25rem}}[data-theme=dark] .admin-dashboard__stat-icon,[data-theme=dark] .admin-dashboard__quick-card-icon{background-color:#4caf5026}[data-theme=dark] .admin-dashboard__quick-card:hover .admin-dashboard__quick-card-icon{background-color:#4caf5040}.user-list-page{max-width:1200px}.user-list-page__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.user-list-page__title-section{flex:1}.user-list-page__title{margin:0 0 .25rem;font-size:1.5rem;font-weight:600;color:var(--text-color)}.user-list-page__subtitle{margin:0;font-size:.9375rem;color:var(--text-muted)}.user-list-page__add-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color .15s ease}.user-list-page__add-btn:hover{background-color:var(--primary-dark, #1e5f1f)}.user-list-page__error{padding:1rem;margin-bottom:1rem;background-color:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--border-radius);text-align:center}.user-list-page__error p{margin:0 0 .75rem;color:#dc2626;font-size:.9375rem}.user-list-page__retry-btn{padding:.5rem 1rem;background-color:transparent;border:1px solid #dc2626;border-radius:var(--border-radius);color:#dc2626;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.user-list-page__retry-btn:hover{background-color:#dc2626;color:#fff}.user-list-page__toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.user-list-page__count{font-size:.875rem;color:var(--text-muted);white-space:nowrap}.user-list__name-cell{display:flex;flex-direction:column;gap:.125rem}.user-list__name{font-weight:500;color:var(--text-color)}.user-list__handle{font-size:.8125rem;color:var(--text-muted)}.data-table__status-badge{display:inline-flex;align-items:center;gap:.375rem}.user-list__empty{text-align:center}.user-list__empty p{margin:0 0 .5rem;color:var(--text-muted);font-size:.9375rem}.user-list__empty-hint{font-size:.8125rem}.user-list__empty-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem;color:var(--primary-color);font-weight:500;text-decoration:none}.user-list__empty-link:hover{text-decoration:underline}@media (prefers-color-scheme: dark){.user-list-page__error{background-color:#ef444426;border-color:#ef44444d}.user-list-page__error p{color:#f87171}.user-list-page__retry-btn{border-color:#f87171;color:#f87171}.user-list-page__retry-btn:hover{background-color:#f87171;color:#fff}}@media (max-width: 768px){.user-list-page__header{flex-direction:column}.user-list-page__add-btn{width:100%;justify-content:center}.user-list-page__toolbar{flex-direction:column;align-items:stretch}.user-list-page__count{text-align:center}}.user-detail-page{max-width:var(--content-max-width)}.user-detail-page--loading,.user-detail-page--not-found,.user-detail-page--error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.user-detail-page--loading p{margin-top:1rem;color:var(--text-muted)}.user-detail-page__not-found-content h1{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-color)}.user-detail-page__not-found-content p{margin:0 0 1.5rem;color:var(--text-muted)}.user-detail-page__error-message{margin:0 0 1rem;color:#dc2626;font-size:.9375rem}.user-detail-page__retry-btn{padding:.5rem 1rem;background-color:transparent;border:1px solid #dc2626;border-radius:var(--border-radius);color:#dc2626;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.user-detail-page__retry-btn:hover{background-color:#dc2626;color:#fff}.user-detail-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.user-detail-page__back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.875rem;text-decoration:none;transition:color .15s ease}.user-detail-page__back-link:hover{color:var(--text-color)}.user-detail-page__actions{display:flex;gap:.75rem}.user-detail-page__edit-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color .15s ease}.user-detail-page__edit-btn:hover{background-color:var(--primary-dark, #1e5f1f)}.user-detail-page__delete-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:transparent;border:1px solid #dc2626;border-radius:var(--border-radius);color:#dc2626;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.user-detail-page__delete-btn:hover{background-color:#dc2626;color:#fff}.user-detail-page__content{display:flex;flex-direction:column;gap:1.5rem}.user-detail-page__profile{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}.user-detail-page__avatar{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background-color:var(--background);border-radius:50%;color:var(--text-muted)}.user-detail-page__identity{flex:1}.user-detail-page__name{margin:0 0 .25rem;font-size:1.5rem;font-weight:600;color:var(--text-color)}.user-detail-page__handle{font-size:1rem;color:var(--text-muted)}.user-detail-page__status{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:500}.user-detail-page__status--active{background-color:#22c55e1a;color:#16a34a}.user-detail-page__status--inactive{background-color:#ef44441a;color:#dc2626}.user-detail-page__info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.user-detail-page__info-card{padding:1.25rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}.user-detail-page__info-title{margin:0 0 1rem;font-size:.9375rem;font-weight:600;color:var(--text-color);padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.user-detail-page__info-item{display:flex;gap:.75rem;padding:.75rem 0}.user-detail-page__info-item:not(:last-child){border-bottom:1px solid var(--border-color)}.user-detail-page__info-icon{flex-shrink:0;color:var(--text-muted);margin-top:.125rem}.user-detail-page__info-label{display:block;font-size:.8125rem;color:var(--text-muted);margin-bottom:.125rem}.user-detail-page__info-value{display:block;font-size:.9375rem;color:var(--text-color);word-break:break-word}@media (prefers-color-scheme: dark){.user-detail-page__status--active{background-color:#22c55e26;color:#4ade80}.user-detail-page__status--inactive{background-color:#ef444426;color:#f87171}.user-detail-page__error-message{color:#f87171}.user-detail-page__retry-btn,.user-detail-page__delete-btn{border-color:#f87171;color:#f87171}.user-detail-page__retry-btn:hover,.user-detail-page__delete-btn:hover{background-color:#f87171;color:#fff}}@media (max-width: 768px){.user-detail-page__header{flex-direction:column;align-items:stretch}.user-detail-page__actions{justify-content:flex-end}.user-detail-page__profile{flex-direction:column;text-align:center}.user-detail-page__info-grid{grid-template-columns:1fr}}.user-form{display:flex;flex-direction:column;gap:1.5rem}.user-form__error-banner{padding:.75rem 1rem;background-color:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--border-radius);color:#dc2626;font-size:.875rem}.user-form__section{display:flex;flex-direction:column;gap:1rem}.user-form__section-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-color);padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.user-form__field{display:flex;flex-direction:column;gap:.375rem}.user-form__label{font-size:.875rem;font-weight:500;color:var(--text-color)}.user-form__required{color:#dc2626;margin-left:.25rem}.user-form__input-wrapper{position:relative;display:flex;align-items:stretch}.user-form__input-prefix{display:flex;align-items:center;padding:0 .75rem;background-color:var(--background);border:1px solid var(--border-color);border-right:none;border-radius:var(--border-radius) 0 0 var(--border-radius);color:var(--text-muted);font-size:.875rem}.user-form__input{width:100%;padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--card-bg);color:var(--text-color);font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.user-form__input--prefixed{border-radius:0 var(--border-radius) var(--border-radius) 0}.user-form__input::placeholder{color:var(--text-muted)}.user-form__input:hover:not(:disabled){border-color:var(--primary-color)}.user-form__input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #2c5f2d33}.user-form__input--error{border-color:#dc2626}.user-form__input--error:focus{border-color:#dc2626;box-shadow:0 0 0 2px #ef444433}.user-form__input:disabled{opacity:.6;cursor:not-allowed}.user-form__hint{font-size:.8125rem;color:var(--text-muted)}.user-form__field-error{font-size:.8125rem;color:#dc2626}.user-form__checkbox-field{display:flex;flex-direction:column;gap:.25rem}.user-form__checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.user-form__checkbox{width:1rem;height:1rem;margin:0;cursor:pointer;accent-color:var(--primary-color)}.user-form__checkbox:disabled{cursor:not-allowed}.user-form__checkbox-text{font-size:.875rem;font-weight:500;color:var(--text-color)}.user-form__actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color)}.user-form__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:1px solid transparent;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.user-form__btn:disabled{opacity:.7;cursor:not-allowed}.user-form__btn--cancel{background-color:transparent;border-color:var(--border-color);color:var(--text-color)}.user-form__btn--cancel:hover:not(:disabled){background-color:var(--background);border-color:var(--text-muted)}.user-form__btn--submit{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff;min-width:120px}.user-form__btn--submit:hover:not(:disabled){background-color:var(--primary-dark, #1e5f1f);border-color:var(--primary-dark, #1e5f1f)}@media (prefers-color-scheme: dark){.user-form__error-banner{background-color:#ef444426;border-color:#ef44444d;color:#f87171}.user-form__field-error,.user-form__required{color:#f87171}.user-form__input:focus{box-shadow:0 0 0 2px #4caf504d}.user-form__input--error:focus{box-shadow:0 0 0 2px #ef44444d}}@media (max-width: 480px){.user-form__actions{flex-direction:column-reverse}.user-form__btn{width:100%}}.user-edit-page{max-width:var(--content-max-width)}.user-edit-page--loading,.user-edit-page--not-found,.user-edit-page--error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.user-edit-page--loading p{margin-top:1rem;color:var(--text-muted)}.user-edit-page__not-found-content h1{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-color)}.user-edit-page__not-found-content p{margin:0 0 1.5rem;color:var(--text-muted)}.user-edit-page__error-message{margin:0 0 1rem;color:#dc2626;font-size:.9375rem}.user-edit-page__retry-btn{padding:.5rem 1rem;background-color:transparent;border:1px solid #dc2626;border-radius:var(--border-radius);color:#dc2626;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.user-edit-page__retry-btn:hover{background-color:#dc2626;color:#fff}.user-edit-page__header{margin-bottom:1.5rem}.user-edit-page__back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.875rem;text-decoration:none;transition:color .15s ease}.user-edit-page__back-link:hover{color:var(--text-color)}.user-edit-page__content{padding:1.5rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}.user-edit-page__title{margin:0 0 .25rem;font-size:1.25rem;font-weight:600;color:var(--text-color)}.user-edit-page__subtitle{margin:0 0 1.5rem;font-size:.9375rem;color:var(--text-muted)}@media (prefers-color-scheme: dark){.user-edit-page__error-message{color:#f87171}.user-edit-page__retry-btn{border-color:#f87171;color:#f87171}.user-edit-page__retry-btn:hover{background-color:#f87171;color:#fff}}.user-create-page{max-width:var(--content-max-width)}.user-create-page__header{margin-bottom:1.5rem}.user-create-page__back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.875rem;text-decoration:none;transition:color .15s ease}.user-create-page__back-link:hover{color:var(--text-color)}.user-create-page__content{padding:1.5rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}.user-create-page__title{margin:0 0 .25rem;font-size:1.25rem;font-weight:600;color:var(--text-color)}.user-create-page__subtitle{margin:0 0 1.5rem;font-size:.9375rem;color:var(--text-muted)}.ai-connections-admin-page{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.ai-connections-admin-page__loading,.ai-connections-admin-page__error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--spacing-md)}.ai-connections-admin-page__error p{color:var(--text-secondary)}.ai-connections-admin-page__retry-btn{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-sm)}.ai-connections-admin-page__retry-btn:hover{background-color:var(--primary-hover)}.ai-connections-admin-page__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);gap:var(--spacing-md);flex-wrap:wrap}.ai-connections-admin-page__header-text{flex:1;min-width:200px}.ai-connections-admin-page__title{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.ai-connections-admin-page__description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.ai-connections-admin-page__header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.ai-connections-admin-page__refresh-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-sm);transition:all .15s ease}.ai-connections-admin-page__refresh-btn:hover:not(:disabled){background-color:var(--hover-bg)}.ai-connections-admin-page__refresh-btn:disabled{opacity:.6;cursor:not-allowed}.ai-connections-admin-page__add-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;transition:background-color .15s ease}.ai-connections-admin-page__add-btn:hover{background-color:var(--primary-hover)}.ai-connections-admin-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl) var(--spacing-lg);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);text-align:center}.ai-connections-admin-page__empty-icon{color:var(--text-tertiary);margin-bottom:var(--spacing-md)}.ai-connections-admin-page__empty-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.ai-connections-admin-page__empty-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-lg) 0;max-width:400px}.ai-connections-admin-page__table-container{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden}.ai-connections-admin-page__table{width:100%;border-collapse:collapse}.ai-connections-admin-page__table th,.ai-connections-admin-page__table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}.ai-connections-admin-page__table th{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background-color:var(--bg-secondary)}.ai-connections-admin-page__table tbody tr:last-child td{border-bottom:none}.ai-connections-admin-page__table tbody tr:hover{background-color:var(--hover-bg)}.ai-connections-admin-page__connection-name{font-weight:500;color:var(--primary-color);text-decoration:none}.ai-connections-admin-page__connection-name:hover{text-decoration:underline}.ai-connections-admin-page__connection-description{font-size:var(--font-size-xs);color:var(--text-secondary);margin:var(--spacing-xs) 0 0 0;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-connections-admin-page__url{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-secondary);max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-connections-admin-page__models-count{font-weight:500;text-align:center}.format-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--border-radius-sm);text-transform:capitalize}.format-badge--anthropic{background-color:#fef3c7;color:#92400e}.format-badge--openai{background-color:#dcfce7;color:#166534}.format-badge--ollama{background-color:#e0e7ff;color:#3730a3}.format-badge--custom{background-color:var(--bg-tertiary);color:var(--text-secondary)}.ai-connections-admin-page__actions{display:flex;gap:var(--spacing-xs)}.ai-connections-admin-page__action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.ai-connections-admin-page__action-btn:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-primary)}.ai-connections-admin-page__action-btn:disabled{opacity:.5;cursor:not-allowed}.ai-connections-admin-page__action-btn--test:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.ai-connections-admin-page__action-btn--delete:hover:not(:disabled){border-color:var(--danger-color);color:var(--danger-color)}@media (max-width: 768px){.ai-connections-admin-page{padding:var(--spacing-md)}.ai-connections-admin-page__header{flex-direction:column}.ai-connections-admin-page__header-actions{width:100%;justify-content:flex-end}.ai-connections-admin-page__table-container{overflow-x:auto}.ai-connections-admin-page__table{min-width:700px}}.ai-connection-detail-admin{padding:var(--spacing-lg);max-width:var(--content-max-width);margin:0 auto}.ai-connection-detail-admin__loading,.ai-connection-detail-admin__error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--spacing-md)}.ai-connection-detail-admin__header{margin-bottom:var(--spacing-xl)}.ai-connection-detail-admin__back{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) 0;background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;margin-bottom:var(--spacing-md)}.ai-connection-detail-admin__back:hover{color:var(--primary-color)}.ai-connection-detail-admin__header-content{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.ai-connection-detail-admin__title{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin:0}.ai-connection-detail-admin__header-actions{display:flex;gap:var(--spacing-sm)}.ai-connection-detail-admin__action-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-sm);cursor:pointer;transition:all .15s ease}.ai-connection-detail-admin__action-btn--test{background-color:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color)}.ai-connection-detail-admin__action-btn--test:hover:not(:disabled){background-color:var(--hover-bg)}.ai-connection-detail-admin__action-btn--delete{background-color:transparent;color:var(--danger-color);border:1px solid var(--danger-color)}.ai-connection-detail-admin__action-btn--delete:hover{background-color:var(--danger-color);color:#fff}.ai-connection-detail-admin__action-btn:disabled{opacity:.6;cursor:not-allowed}.ai-connection-detail-admin__test-result{padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.ai-connection-detail-admin__test-result--success{background-color:var(--success-bg);color:var(--success-color);border:1px solid var(--success-border)}.ai-connection-detail-admin__test-result--error{background-color:var(--danger-bg);color:var(--danger-color);border:1px solid var(--danger-border)}.ai-connection-detail-admin__section{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.ai-connection-detail-admin__section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.ai-connection-detail-admin__section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.ai-connection-detail-admin__section-header .ai-connection-detail-admin__section-title{margin:0;padding:0;border:none}.ai-connection-detail-admin__extended-toggle{display:flex;align-items:center;gap:var(--spacing-xs);background:none;border:none;color:var(--primary-color);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;padding:0}.ai-connection-detail-admin__extended-toggle:hover{text-decoration:underline}.ai-connection-detail-admin__extended-options{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.ai-connection-detail-admin__tls-warning{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border);border-radius:var(--border-radius);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.ai-connection-detail-admin__form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.ai-connection-detail-admin__models-section{margin-top:var(--spacing-xl)}.ai-connection-detail-admin__models-loading,.ai-connection-detail-admin__models-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center}.ai-connection-detail-admin__models-empty p{margin:var(--spacing-xs) 0}.ai-connection-detail-admin__models-table{width:100%;border-collapse:collapse}.ai-connection-detail-admin__models-table th,.ai-connection-detail-admin__models-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}.ai-connection-detail-admin__models-table th{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;color:var(--text-secondary);background-color:var(--bg-secondary)}.ai-connection-detail-admin__models-table tbody tr:last-child td{border-bottom:none}.ai-connection-detail-admin__model-delete{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--spacing-xs)}.ai-connection-detail-admin__model-delete:hover{color:var(--danger-color)}.ai-connection-detail-admin__modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.ai-connection-detail-admin__modal{background-color:var(--card-bg);border-radius:var(--border-radius-lg);max-width:700px;width:100%;max-height:80vh;display:flex;flex-direction:column}.ai-connection-detail-admin__modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.ai-connection-detail-admin__modal-header h3{margin:0;font-size:var(--font-size-lg);font-weight:600}.ai-connection-detail-admin__modal-close{background:none;border:none;font-size:var(--font-size-2xl);color:var(--text-secondary);cursor:pointer;line-height:1}.ai-connection-detail-admin__modal-close:hover{color:var(--text-primary)}.ai-connection-detail-admin__modal-body{padding:var(--spacing-lg);overflow-y:auto}.ai-connection-detail-admin__discovery-loading,.ai-connection-detail-admin__discovery-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center}.ai-connection-detail-admin__discovery-actions{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-md)}.ai-connection-detail-admin__discovery-table{width:100%;border-collapse:collapse}.ai-connection-detail-admin__discovery-table th,.ai-connection-detail-admin__discovery-table td{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--border-color)}.ai-connection-detail-admin__discovery-table th{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;color:var(--text-secondary)}@media (max-width: 768px){.ai-connection-detail-admin{padding:var(--spacing-md)}.ai-connection-detail-admin__header-content{flex-direction:column;align-items:flex-start}.ai-connection-detail-admin__header-actions{width:100%}}.ai-connection-create-admin{padding:var(--spacing-lg);max-width:var(--content-max-width);margin:0 auto}.ai-connection-create-admin__header{margin-bottom:var(--spacing-xl)}.ai-connection-create-admin__back{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) 0;background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;margin-bottom:var(--spacing-md)}.ai-connection-create-admin__back:hover{color:var(--primary-color)}.ai-connection-create-admin__title{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.ai-connection-create-admin__description{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0}.ai-connection-create-admin__section{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.ai-connection-create-admin__section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.ai-connection-create-admin__extended-toggle{display:flex;align-items:center;gap:var(--spacing-xs);background:none;border:none;color:var(--primary-color);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;padding:0}.ai-connection-create-admin__extended-toggle:hover{text-decoration:underline}.ai-connection-create-admin__extended-options{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.ai-connection-create-admin__tls-warning{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--warning-bg);color:var(--warning-color);border:1px solid var(--warning-border);border-radius:var(--border-radius);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.ai-connection-create-admin__form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}@media (max-width: 768px){.ai-connection-create-admin{padding:var(--spacing-md)}}.prompt-library-admin-page{padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.prompt-library-admin-page__loading,.prompt-library-admin-page__error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--spacing-md)}.prompt-library-admin-page__error p{color:var(--text-secondary)}.prompt-library-admin-page__retry-btn{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-sm)}.prompt-library-admin-page__retry-btn:hover{background-color:var(--primary-hover)}.prompt-library-admin-page__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);gap:var(--spacing-md);flex-wrap:wrap}.prompt-library-admin-page__header-text{flex:1;min-width:200px}.prompt-library-admin-page__title{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.prompt-library-admin-page__description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.prompt-library-admin-page__header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.prompt-library-admin-page__refresh-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-sm);transition:all .15s ease}.prompt-library-admin-page__refresh-btn:hover:not(:disabled){background-color:var(--hover-bg)}.prompt-library-admin-page__refresh-btn:disabled{opacity:.6;cursor:not-allowed}.prompt-library-admin-page__add-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;transition:background-color .15s ease}.prompt-library-admin-page__add-btn:hover{background-color:var(--primary-hover)}.prompt-library-admin-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl) var(--spacing-lg);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);text-align:center}.prompt-library-admin-page__empty-icon{color:var(--text-tertiary);margin-bottom:var(--spacing-md)}.prompt-library-admin-page__empty-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.prompt-library-admin-page__empty-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-lg) 0;max-width:400px}.prompt-library-admin-page__table-container{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden}.prompt-library-admin-page__table{width:100%;border-collapse:collapse}.prompt-library-admin-page__table th,.prompt-library-admin-page__table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}.prompt-library-admin-page__table th{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background-color:var(--bg-secondary)}.prompt-library-admin-page__table tbody tr:last-child td{border-bottom:none}.prompt-library-admin-page__table tbody tr:hover{background-color:var(--hover-bg)}.prompt-library-admin-page__prompt-name{font-weight:500;color:var(--primary-color);text-decoration:none}.prompt-library-admin-page__prompt-name:hover{text-decoration:underline}.prompt-library-admin-page__prompt-description{font-size:var(--font-size-xs);color:var(--text-secondary);margin:var(--spacing-xs) 0 0 0;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-library-admin-page__phase code{font-family:var(--font-mono);font-size:var(--font-size-sm);background-color:var(--bg-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm)}.prompt-library-admin-page__actions{display:flex;gap:var(--spacing-xs)}.prompt-library-admin-page__action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.prompt-library-admin-page__action-btn:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-primary)}.prompt-library-admin-page__action-btn:disabled{opacity:.5;cursor:not-allowed}.prompt-library-admin-page__action-btn--delete:hover:not(:disabled){border-color:var(--danger-color);color:var(--danger-color)}.font-mono{font-family:var(--font-mono);font-size:var(--font-size-sm)}.text-secondary{color:var(--text-secondary)}.status-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);font-weight:500;border-radius:var(--border-radius-sm)}.status-badge--active{background-color:var(--success-bg);color:var(--success-color)}.status-badge--inactive{background-color:var(--bg-tertiary);color:var(--text-tertiary)}@media (max-width: 768px){.prompt-library-admin-page{padding:var(--spacing-md)}.prompt-library-admin-page__header{flex-direction:column}.prompt-library-admin-page__header-actions{width:100%;justify-content:flex-end}.prompt-library-admin-page__table-container{overflow-x:auto}.prompt-library-admin-page__table{min-width:700px}}.prompt-editor-admin{padding:var(--spacing-lg);max-width:1600px;margin:0 auto}.prompt-editor-admin__loading,.prompt-editor-admin__error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--spacing-md)}.prompt-editor-admin__header{margin-bottom:var(--spacing-xl)}.prompt-editor-admin__back{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) 0;background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;margin-bottom:var(--spacing-md)}.prompt-editor-admin__back:hover{color:var(--primary-color)}.prompt-editor-admin__header-content{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.prompt-editor-admin__title{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin:0}.prompt-editor-admin__header-actions{display:flex;gap:var(--spacing-sm)}.prompt-editor-admin__content{display:grid;grid-template-columns:1fr 400px;gap:var(--spacing-xl)}.prompt-editor-admin__main{min-width:0}.prompt-editor-admin__sidebar{position:sticky;top:var(--spacing-lg);align-self:start}.prompt-editor-admin__section{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.prompt-editor-admin__section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-lg) 0}.prompt-editor-admin__section--collapsible .prompt-editor-admin__section-title{margin:0}.prompt-editor-admin__section-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:0;cursor:pointer;color:var(--text-primary)}.prompt-editor-admin__section-toggle:hover .prompt-editor-admin__section-title{color:var(--primary-color)}.prompt-editor-admin__section-content{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.form-row{display:grid;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-row--2{grid-template-columns:repeat(2,1fr)}.form-row--3{grid-template-columns:repeat(3,1fr)}.form-input-row{display:flex;gap:var(--spacing-sm);align-items:flex-start}.form-input-row .form-input{flex:1}.form-group--with-toggle .form-group__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.form-group__actions{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-sm)}.form-group__header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.form-toggle{position:relative;display:inline-block;width:40px;height:22px}.form-toggle input{opacity:0;width:0;height:0}.form-toggle__slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--border-color);transition:.2s;border-radius:22px}.form-toggle__slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.2s;border-radius:50%}.form-toggle input:checked+.form-toggle__slider{background-color:var(--primary-color)}.form-toggle input:checked+.form-toggle__slider:before{transform:translate(18px)}.form-help{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:var(--spacing-xs);background:none;border:none;color:var(--text-tertiary);cursor:help;padding:0}.form-help:hover{color:var(--text-secondary)}.form-textarea--code{font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.5}.prompt-editor-admin__test-section{max-height:calc(100vh - 200px);overflow-y:auto}.prompt-editor-admin__test-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.prompt-editor-admin__test-result{border-radius:var(--border-radius);margin-bottom:var(--spacing-md);overflow:hidden}.prompt-editor-admin__test-result--success{border:1px solid var(--success-border)}.prompt-editor-admin__test-result--error{border:1px solid var(--danger-border)}.prompt-editor-admin__test-result-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:500}.prompt-editor-admin__test-result--success .prompt-editor-admin__test-result-header{background-color:var(--success-bg);color:var(--success-color)}.prompt-editor-admin__test-result--error .prompt-editor-admin__test-result-header{background-color:var(--danger-bg);color:var(--danger-color)}.prompt-editor-admin__test-time{font-weight:400;opacity:.8}.prompt-editor-admin__test-output{padding:var(--spacing-md);margin:0;font-family:var(--font-mono);font-size:var(--font-size-sm);white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;background-color:var(--bg-secondary)}.prompt-editor-admin__test-cases{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.prompt-editor-admin__test-cases-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--spacing-md) 0}.prompt-editor-admin__test-cases-loading,.prompt-editor-admin__test-cases-empty{text-align:center;padding:var(--spacing-md);color:var(--text-secondary);font-size:var(--font-size-sm)}.prompt-editor-admin__test-cases-list{list-style:none;margin:0;padding:0}.prompt-editor-admin__test-case{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:var(--spacing-sm)}.prompt-editor-admin__test-case:hover{background-color:var(--hover-bg)}.prompt-editor-admin__test-case-info{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.prompt-editor-admin__test-case-name{font-size:var(--font-size-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-editor-admin__test-case-badge{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;flex-shrink:0}.prompt-editor-admin__test-case-badge--pass{background-color:var(--success-bg);color:var(--success-color)}.prompt-editor-admin__test-case-badge--fail{background-color:var(--danger-bg);color:var(--danger-color)}.prompt-editor-admin__test-case-badge--neutral{background-color:var(--bg-tertiary);color:var(--text-tertiary)}.prompt-editor-admin__test-case-actions{display:flex;gap:var(--spacing-xs)}.prompt-editor-admin__test-case-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;color:var(--text-secondary);transition:all .15s ease}.prompt-editor-admin__test-case-btn:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-primary)}.prompt-editor-admin__test-case-btn:disabled{opacity:.5;cursor:not-allowed}.prompt-editor-admin__test-case-btn--delete:hover:not(:disabled){border-color:var(--danger-color);color:var(--danger-color)}.prompt-editor-admin__test-case-editor{margin-top:var(--spacing-lg)}.prompt-editor-admin__test-case-editor-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.prompt-editor-admin__test-case-editor-header .prompt-editor-admin__section-title{margin:0;flex:1}.prompt-editor-admin__test-case-editor-status{flex-shrink:0}.prompt-editor-admin__save-status{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius)}.prompt-editor-admin__save-status--saving{color:var(--text-secondary);background-color:var(--bg-tertiary)}.prompt-editor-admin__save-status--saved{color:var(--success-color);background-color:var(--success-bg)}.prompt-editor-admin__test-case-editor-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;color:var(--text-secondary);flex-shrink:0;transition:all .15s ease}.prompt-editor-admin__test-case-editor-close:hover{background-color:var(--hover-bg);color:var(--text-primary)}.prompt-editor-admin__test-case-editor-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.form-label-hint{display:block;font-size:var(--font-size-xs);font-weight:400;color:var(--text-tertiary);margin-top:var(--spacing-xs)}.prompt-editor-admin__modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.prompt-editor-admin__modal{background-color:var(--card-bg);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);max-width:400px;width:100%}.prompt-editor-admin__modal h3{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-lg);font-weight:600}.prompt-editor-admin__modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}@media (max-width: 1200px){.prompt-editor-admin__content{grid-template-columns:1fr}.prompt-editor-admin__sidebar{position:static}}@media (max-width: 768px){.prompt-editor-admin{padding:var(--spacing-md)}.prompt-editor-admin__header-content{flex-direction:column;align-items:flex-start}.prompt-editor-admin__header-actions{width:100%;justify-content:flex-end}.form-row--2,.form-row--3{grid-template-columns:1fr}}.prompt-editor-admin__upload-zone{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1.5px dashed var(--border-color);border-radius:var(--border-radius);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:border-color .15s,background-color .15s;-webkit-user-select:none;user-select:none}.prompt-editor-admin__upload-zone:hover,.prompt-editor-admin__upload-zone--active{border-color:var(--primary-color);background-color:rgba(var(--primary-color-rgb, 44, 120, 46),.05);color:var(--primary-color)}.prompt-editor-admin__attachments-list{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.prompt-editor-admin__attachment-preview{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--bg-secondary)}.prompt-editor-admin__attachment-image{width:48px;height:48px;object-fit:cover;border-radius:4px;flex-shrink:0}.prompt-editor-admin__attachment-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.prompt-editor-admin__attachment-name{flex:1;font-size:var(--font-size-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-editor-admin__attachment-remove{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer;padding:0;transition:background-color .15s,color .15s}.prompt-editor-admin__attachment-remove:hover{background:var(--danger-bg);color:var(--danger-color)}.dashboard-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.dashboard-page__header{margin-bottom:2rem}.dashboard-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.dashboard-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.dashboard-page__content{display:flex;flex-direction:column;gap:1.5rem}@media (max-width: 768px){.dashboard-page{padding:1rem}.dashboard-page__title{font-size:1.5rem}}.producer-form{display:flex;flex-direction:column;gap:1.5rem;max-width:var(--content-max-width)}.country-select{position:relative}.country-select__selected{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem;min-height:3rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);align-items:center}.country-select__placeholder{color:var(--text-muted);font-size:.9375rem;padding:.25rem .5rem}.country-select__toggle{margin-left:auto;padding:.25rem;background:transparent;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius)}.country-select__toggle:hover{color:var(--text-color);background-color:var(--nav-link-hover-bg)}.country-select__toggle:disabled{opacity:.5;cursor:not-allowed}.country-select__icon{transition:transform .2s ease}.country-select__icon--open{transform:rotate(180deg)}.country-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background-color:var(--primary-color);color:#fff;font-size:.8125rem;border-radius:calc(var(--border-radius) - 2px)}.country-tag__remove{display:flex;align-items:center;justify-content:center;padding:.125rem;background:transparent;border:none;cursor:pointer;color:#fffc;border-radius:2px}.country-tag__remove:hover{color:#fff;background-color:#fff3}.country-tag__remove:disabled{opacity:.5;cursor:not-allowed}.country-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;z-index:100;max-height:300px;display:flex;flex-direction:column}.country-dropdown__search{padding:.75rem 1rem;border:none;border-bottom:1px solid var(--border-color);font-size:.9375rem;font-family:inherit;color:var(--text-color);background-color:transparent}.country-dropdown__search:focus{outline:none}.country-dropdown__search::placeholder{color:var(--text-muted)}.country-dropdown__list{list-style:none;margin:0;padding:.5rem 0;overflow-y:auto;flex:1}.country-dropdown__item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:.625rem 1rem;background:transparent;border:none;cursor:pointer;font-size:.9375rem;font-family:inherit;color:var(--text-color);text-align:left}.country-dropdown__item:hover{background-color:var(--nav-link-hover-bg)}.country-dropdown__item--selected{background-color:#2c5f2d1a}.country-dropdown__item--selected:hover{background-color:#2c5f2d26}.country-dropdown__name{flex:1}.country-dropdown__code{font-size:.8125rem;color:var(--text-muted);margin-left:.5rem}.country-dropdown__empty{padding:1rem;text-align:center;color:var(--text-muted);font-size:.9375rem}@media (prefers-color-scheme: dark){.form-input:focus{box-shadow:0 0 0 3px #4caf5026}.form-input--error:focus{box-shadow:0 0 0 3px #d32f2f26}.country-dropdown{box-shadow:0 4px 12px #0000004d}}@media (max-width: 768px){.form-actions{flex-direction:column}.submit-button,.cancel-button{width:100%}}.producer-card{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:box-shadow .2s ease}.producer-card:hover{box-shadow:0 2px 8px #00000014}.producer-card--unapproved{border-left:3px solid var(--warning-color, #ff9800)}.producer-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.producer-card__title-link{text-decoration:none;color:inherit}.producer-card__title-link:hover .producer-card__title{color:var(--primary-color)}.producer-card__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0;transition:color .2s ease}.producer-card__badges{display:flex;gap:.5rem;flex-shrink:0}.producer-card__badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:calc(var(--border-radius) - 2px);text-transform:uppercase;letter-spacing:.025em}.producer-card__badge--approved{background-color:#4caf5026;color:var(--primary-color)}.producer-card__badge--pending{background-color:#ff980026;color:var(--warning-color, #ff9800)}.producer-card__description{font-size:.9375rem;color:var(--text-muted);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.producer-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.producer-card__countries{display:flex;flex-wrap:wrap;gap:.375rem}.producer-card__country{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8125rem;background-color:var(--nav-link-hover-bg);color:var(--text-color);border-radius:calc(var(--border-radius) - 2px)}.producer-card__country--global{background-color:#4caf501a;color:var(--primary-color)}.producer-card__website{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--primary-color);text-decoration:none;margin-left:auto}.producer-card__website:hover{text-decoration:underline}.producer-card__footer{padding-top:.5rem;border-top:1px solid var(--border-color)}.producer-card__author{font-size:.8125rem;color:var(--text-muted)}@media (prefers-color-scheme: dark){.producer-card:hover{box-shadow:0 2px 8px #0003}}@media (max-width: 768px){.producer-card{padding:1rem}.producer-card__header{flex-direction:column;gap:.5rem}.producer-card__meta{flex-direction:column;align-items:flex-start}.producer-card__website{margin-left:0}}.producer-list{display:flex;flex-direction:column;gap:1rem}.producer-list__empty{display:flex;justify-content:center;align-items:center;padding:3rem 1rem;text-align:center}.producer-list__empty p{font-size:1rem;color:var(--text-muted);margin:0}.producers-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.producers-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.producers-page__header-text{flex:1}.producers-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.producers-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.producers-page__add-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border-radius:var(--border-radius);text-decoration:none;transition:background-color .2s ease;flex-shrink:0}.producers-page__add-button:hover{background-color:var(--primary-light)}.producers-page__content{margin-top:1.5rem}.producers-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.producers-page__error{text-align:center;padding:2rem;color:var(--error-color)}@media (max-width: 768px){.producers-page{padding:1rem}.producers-page__header{flex-direction:column;align-items:stretch}.producers-page__title{font-size:1.5rem}.producers-page__add-button{justify-content:center}}.producer-create-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.producer-create-page__header{margin-bottom:2rem}.producer-create-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.producer-create-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.producer-create-page__content{margin-top:1.5rem}@media (max-width: 768px){.producer-create-page{padding:1rem}.producer-create-page__title{font-size:1.5rem}}.producer-detail-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.producer-detail-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.producer-detail-page__error{text-align:center;padding:2rem;color:var(--error-color)}.producer-detail-page__error .producer-detail-page__back-link{margin-top:1rem;display:inline-flex}.producer-detail-page__breadcrumb{margin-bottom:1.5rem}.producer-detail-page__back-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.9375rem;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.producer-detail-page__back-link:hover{color:var(--primary-color)}.producer-detail{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}.producer-detail__header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.producer-detail__title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.producer-detail__title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0}.producer-detail__badges{display:flex;gap:.5rem;flex-shrink:0}.producer-detail__badge{display:inline-flex;align-items:center;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;border-radius:calc(var(--border-radius) - 2px);text-transform:uppercase;letter-spacing:.025em}.producer-detail__badge--approved{background-color:#4caf5026;color:var(--primary-color)}.producer-detail__badge--pending{background-color:#ff980026;color:var(--warning-color, #ff9800)}.producer-detail__actions{display:flex;gap:.75rem}.producer-detail__action{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;text-decoration:none;transition:background-color .2s ease,opacity .2s ease}.producer-detail__action--edit{background-color:var(--primary-color);color:#fff;border:none}.producer-detail__action--edit:hover{background-color:var(--primary-light)}.producer-detail__action--delete{background-color:transparent;color:var(--error-color);border:1px solid var(--error-color)}.producer-detail__action--delete:hover{background-color:#d32f2f1a}.producer-detail__section{margin-bottom:1.5rem}.producer-detail__section:last-of-type{margin-bottom:0}.producer-detail__section-title{font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.producer-detail__description{font-size:1rem;color:var(--text-color);line-height:1.6;margin:0;white-space:pre-line}.producer-detail__countries{display:flex;flex-wrap:wrap;gap:.5rem}.producer-detail__country{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.875rem;background-color:var(--nav-link-hover-bg);color:var(--text-color);border-radius:calc(var(--border-radius) - 2px)}.producer-detail__country--global{background-color:#4caf501a;color:var(--primary-color)}.producer-detail__website{display:inline-flex;align-items:center;gap:.375rem;font-size:1rem;color:var(--primary-color);text-decoration:none;word-break:break-all}.producer-detail__website:hover{text-decoration:underline}.producer-detail__footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.producer-detail__meta{font-size:.875rem;color:var(--text-muted);margin:0 0 .25rem}.producer-detail__meta:last-child{margin-bottom:0}@media (max-width: 768px){.producer-detail-page,.producer-detail{padding:1rem}.producer-detail__title-row{flex-direction:column;align-items:flex-start}.producer-detail__title{font-size:1.25rem}.producer-detail__actions{flex-direction:column;width:100%}.producer-detail__action{justify-content:center}.delete-confirm__actions{flex-direction:column}.delete-confirm__action{width:100%}}.producer-edit-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.producer-edit-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.producer-edit-page__error{text-align:center;padding:2rem;color:var(--error-color)}.producer-edit-page__error .producer-edit-page__back-link{margin-top:1rem;display:inline-flex}.producer-edit-page__breadcrumb{margin-bottom:1.5rem}.producer-edit-page__back-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.9375rem;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.producer-edit-page__back-link:hover{color:var(--primary-color)}.producer-edit-page__header{margin-bottom:2rem}.producer-edit-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.producer-edit-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.producer-edit-page__content{margin-top:1.5rem}@media (max-width: 768px){.producer-edit-page{padding:1rem}.producer-edit-page__title{font-size:1.5rem}}.tfbe{display:flex;flex-direction:column;gap:.25rem;width:100%}.tfbe-header{display:flex;align-items:center;gap:.5rem}.tfbe-header__icon{flex-shrink:0}.tfbe-header__label{font-size:.875rem;font-weight:500;color:var(--text-color)}.tfbe-months{display:grid;grid-template-columns:repeat(12,1fr);width:100%}.tfbe-month-label{text-align:center;font-size:.75rem;color:var(--text-muted);padding-bottom:.125rem}.tfbe-bar{display:grid;grid-template-columns:repeat(48,1fr);width:100%;border:1px solid var(--border-color);border-radius:4px;overflow:hidden;-webkit-user-select:none;user-select:none;background-color:var(--card-bg)}.tfbe-bar--editable{height:32px;cursor:pointer}.tfbe-bar--editable:hover{border-color:var(--primary-color)}.tfbe-bar--readonly{height:16px;cursor:default}.tfbe-bar--disabled{opacity:.6;cursor:not-allowed}.tfbe-bar--dragging{cursor:crosshair}.tfbe-cell{position:relative;display:flex;align-items:center;justify-content:center;height:100%;background-color:transparent;transition:background-color .1s ease}.tfbe-cell:not(:last-child){border-right:1px dotted var(--border-color)}.tfbe-cell:nth-child(4n):not(:last-child){border-right:1px solid var(--border-color)}.tfbe-cell__icon{color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.tfbe-bar--editable:not(.tfbe-bar--disabled) .tfbe-cell:hover{opacity:.85}.tfbe-editor-row{display:flex;flex-direction:column;gap:.5rem}.tfbe-tips-textarea{width:100%;min-height:60px;padding:.5rem .75rem;font-size:.875rem;font-family:inherit;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.tfbe-tips-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2c5f2d1a}.tfbe-tips-textarea:disabled{opacity:.6;cursor:not-allowed}.tfbe-tips-textarea::placeholder{color:var(--text-muted)}.growing-calendar-section{display:flex;flex-direction:column;gap:1.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.growing-calendar-section__header{display:flex;flex-direction:column;gap:.25rem}.growing-calendar-section__title{font-size:1rem;font-weight:600;color:var(--text-color);margin:0}.growing-calendar-section__hint{font-size:.8125rem;color:var(--text-muted);margin:0}.growing-calendar-section__bars{display:flex;flex-direction:column;gap:1rem}@media (prefers-color-scheme: dark){.tfbe-tips-textarea:focus{box-shadow:0 0 0 3px #4caf5026}.tfbe-cell__icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}}@media (max-width: 768px){.tfbe-month-label{font-size:.625rem}.tfbe-bar--editable{height:28px}.tfbe-bar--readonly{height:14px}.tfbe-cell__icon{width:10px;height:10px}}.seed-form{display:flex;flex-direction:column;gap:1.5rem;max-width:var(--content-max-width)}.form-textarea{resize:vertical;min-height:100px}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form-actions{display:flex;gap:1rem;margin-top:.5rem}.cancel-button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:1rem;font-family:inherit;font-weight:500;color:var(--text-color);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.cancel-button:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.growing-info-section{margin-top:.5rem;padding:1.5rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}.growing-info-section__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 1.25rem}.input-with-unit{display:flex;align-items:center;gap:.5rem}.input-with-unit .form-input{flex:1;max-width:150px}.input-unit{font-size:.875rem;color:var(--text-muted);white-space:nowrap}.form-input--numeric{text-align:right;font-variant-numeric:tabular-nums}.range-field-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.range-field{flex:0 1 100px;min-width:80px}.range-field .form-input{width:100%}.range-separator{font-size:1rem;color:var(--text-muted);padding:0 .25rem}.reference-zone-selector{margin-bottom:1rem}.reference-zone-selector .form-select{max-width:300px}.file-upload__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-upload__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border:2px dashed var(--border-color);border-radius:var(--border-radius);background-color:var(--card-bg);cursor:pointer;transition:border-color .2s ease,background-color .2s ease;min-height:120px}.file-upload__dropzone:hover:not(.file-upload__dropzone--disabled){border-color:var(--primary-color);background-color:#4caf500d}.file-upload__dropzone:focus{outline:2px solid var(--primary-color);outline-offset:2px}.file-upload__dropzone--dragging{border-color:var(--primary-color);background-color:#4caf501a}.file-upload__dropzone--disabled{opacity:.6;cursor:not-allowed}.file-upload__icon{color:var(--text-muted)}.file-upload__dropzone:hover:not(.file-upload__dropzone--disabled) .file-upload__icon{color:var(--primary-color)}.file-upload__text{font-size:.9375rem;font-weight:500;color:var(--text-color);margin:0;text-align:center}.file-upload__hint{font-size:.8125rem;color:var(--text-muted);margin:0;text-align:center}.file-upload__error{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem;padding:.75rem 1rem;background-color:#d32f2f1a;border:1px solid var(--error-color);border-radius:var(--border-radius);color:var(--error-color);font-size:.875rem}.file-upload__error-dismiss{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--border-radius);background-color:transparent;color:var(--error-color);cursor:pointer;flex-shrink:0;transition:background-color .2s ease}.file-upload__error-dismiss:hover{background-color:#d32f2f26}.staged-files{margin-top:1rem}.staged-files__title{font-size:.875rem;font-weight:500;color:var(--text-color);margin:0 0 .5rem}.staged-files__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.staged-file{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}.staged-file--uploading{border-color:var(--primary-color)}.staged-file--success{border-color:var(--primary-color);background-color:#4caf500d}.staged-file--error{border-color:var(--error-color);background-color:#d32f2f0d}.staged-file__info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.staged-file__icon{color:var(--text-muted);flex-shrink:0}.staged-file__details{display:flex;flex-direction:column;gap:.125rem;min-width:0}.staged-file__name{font-size:.875rem;font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staged-file__size{font-size:.75rem;color:var(--text-muted)}.staged-file__progress{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.staged-file__progress-bar{width:80px;height:4px;background-color:var(--border-color);border-radius:2px;overflow:hidden}.staged-file__progress-fill{height:100%;background-color:var(--primary-color);transition:width .2s ease}.staged-file__progress-text{font-size:.75rem;color:var(--text-muted);min-width:2.5rem;text-align:right}.staged-file__success{font-size:.75rem;color:var(--primary-color);font-weight:500}.staged-file__error-info{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.staged-file__error-text{font-size:.75rem;color:var(--error-color);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staged-file__retry{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--border-radius);background-color:transparent;color:var(--error-color);cursor:pointer;flex-shrink:0;transition:background-color .2s ease}.staged-file__retry:hover{background-color:#d32f2f1a}.staged-file__remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--border-radius);background-color:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background-color .2s ease,color .2s ease}.staged-file__remove:hover{background-color:#d32f2f1a;color:var(--error-color)}.staged-file__remove:disabled{opacity:.5;cursor:not-allowed}@media (prefers-color-scheme: dark){.form-input:focus{box-shadow:0 0 0 3px #4caf5026}.form-input--error:focus{box-shadow:0 0 0 3px #d32f2f26}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")}.growing-info-section{background-color:var(--card-bg);border-color:var(--border-color)}}@media (max-width: 768px){.form-actions{flex-direction:column}.submit-button,.cancel-button{width:100%}.file-upload__dropzone{padding:1rem;min-height:100px}.file-upload__text{font-size:.875rem}.file-upload__hint{font-size:.75rem}.staged-file{flex-wrap:wrap}.staged-file__progress-bar{width:60px}}.zone-mismatch-warning{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;font-size:.6875rem;font-weight:500;border-radius:4px;background-color:var(--warning-bg, rgba(255, 179, 0, .15));color:var(--warning-color, #f57c00);white-space:nowrap}.zone-mismatch-warning__icon{flex-shrink:0}.zone-mismatch-warning__code{text-transform:uppercase;letter-spacing:.025em;font-weight:600}@media (prefers-color-scheme: dark){.zone-mismatch-warning{background-color:var(--warning-bg, rgba(255, 179, 0, .2));color:var(--warning-color, #ffb74d)}}.seed-card{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:box-shadow .2s ease}.seed-card:hover{box-shadow:0 2px 8px #00000014}.seed-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.seed-card__badges{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.seed-card__title-link{text-decoration:none;color:inherit}.seed-card__title-link:hover .seed-card__title{color:var(--primary-color)}.seed-card__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0;transition:color .2s ease}.seed-card__title--untitled{font-style:italic;color:var(--text-muted)}.seed-card__type{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:calc(var(--border-radius) - 2px);text-transform:uppercase;letter-spacing:.025em;flex-shrink:0}.seed-card__type--vegetable{background-color:#4caf5026;color:var(--primary-color)}.seed-card__type--herb{background-color:#8bc34a26;color:#689f38}.seed-card__type--flower{background-color:#e91e6326;color:#c2185b}.seed-card__variety{font-size:1rem;font-weight:500;color:var(--text-color);margin:0}.seed-card__botanical-name{font-size:.875rem;font-style:italic;color:var(--text-muted);margin:0}.seed-card__description{font-size:.9375rem;color:var(--text-muted);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.seed-card__conditions{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.seed-card__condition{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:.75rem;background-color:var(--nav-link-hover-bg);color:var(--text-color);border-radius:calc(var(--border-radius) - 2px)}@media (prefers-color-scheme: dark){.seed-card:hover{box-shadow:0 2px 8px #0003}.seed-card__type--herb{color:#8bc34a}.seed-card__type--flower{color:#f06292}}@media (max-width: 768px){.seed-card{padding:1rem}.seed-card__header{flex-direction:column;gap:.5rem}}.seed-list{display:flex;flex-direction:column;gap:1rem}.seed-list__empty{display:flex;justify-content:center;align-items:center;padding:3rem 1rem;text-align:center}.seed-list__empty p{font-size:1rem;color:var(--text-muted);margin:0}.attachment-thumbnail{width:80px;height:80px;border-radius:var(--border-radius);overflow:hidden;background-color:var(--nav-link-hover-bg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s ease,transform .2s ease;flex-shrink:0}.attachment-thumbnail:hover{opacity:.9;transform:scale(1.02)}.attachment-thumbnail:focus{outline:2px solid var(--primary-color);outline-offset:2px}.attachment-thumbnail--error{cursor:default;color:var(--text-muted)}.attachment-thumbnail--error:hover{opacity:1;transform:none}.attachment-thumbnail__image{width:100%;height:100%;object-fit:cover}.attachment-thumbnail--large{width:120px;height:120px}@media (max-width: 768px){.attachment-thumbnail{width:64px;height:64px}.attachment-thumbnail--large{width:80px;height:80px}}.attachment-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:var(--nav-link-hover-bg);border-radius:var(--border-radius);transition:background-color .2s ease}.attachment-item:hover{background-color:var(--border-color)}.attachment-item__preview{flex-shrink:0}.attachment-item__icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background-color:var(--card-bg);border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:color .2s ease,background-color .2s ease}.attachment-item__icon:hover{color:var(--primary-color);background-color:#4caf501a}.attachment-item__icon:focus{outline:2px solid var(--primary-color);outline-offset:2px}.attachment-item__info{flex:1;min-width:0}.attachment-item__filename{font-size:.875rem;font-weight:500;color:var(--text-color);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-item__meta{font-size:.75rem;color:var(--text-muted);margin:0}.attachment-item__actions{display:flex;gap:.5rem;flex-shrink:0}.attachment-item__action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,color .2s ease;background-color:transparent}.attachment-item__action:disabled{opacity:.5;cursor:not-allowed}.attachment-item__action--download{color:var(--text-muted)}.attachment-item__action--download:hover:not(:disabled){background-color:#4caf5026;color:var(--primary-color)}.attachment-item__action--delete{color:var(--text-muted)}.attachment-item__action--delete:hover:not(:disabled){background-color:#d32f2f26;color:var(--error-color)}.attachment-item__action--analyze{color:var(--text-muted)}.attachment-item__action--analyze:hover:not(:disabled){background-color:#9c27b026;color:#9c27b0}.attachment-item__spinner{animation:spin 1s linear infinite}@media (max-width: 768px){.attachment-item{padding:.5rem;gap:.5rem}.attachment-item__icon{width:64px;height:64px}.attachment-item__filename{font-size:.8125rem}}.attachment-upload{width:100%}.attachment-upload__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attachment-upload__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;border:2px dashed var(--border-color);border-radius:var(--border-radius);background-color:var(--card-bg);cursor:pointer;transition:border-color .2s ease,background-color .2s ease;min-height:120px}.attachment-upload__dropzone:hover:not(.attachment-upload__dropzone--disabled){border-color:var(--primary-color);background-color:#4caf500d}.attachment-upload__dropzone:focus{outline:2px solid var(--primary-color);outline-offset:2px}.attachment-upload__dropzone--dragging{border-color:var(--primary-color);background-color:#4caf501a}.attachment-upload__dropzone--disabled{opacity:.6;cursor:not-allowed}.attachment-upload__icon{color:var(--text-muted)}.attachment-upload__dropzone:hover:not(.attachment-upload__dropzone--disabled) .attachment-upload__icon{color:var(--primary-color)}.attachment-upload__text{font-size:.9375rem;font-weight:500;color:var(--text-color);margin:0;text-align:center}.attachment-upload__hint{font-size:.8125rem;color:var(--text-muted);margin:0;text-align:center}.attachment-upload__progress{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:200px}.attachment-upload__progress-bar{width:100%;height:6px;background-color:var(--border-color);border-radius:3px;overflow:hidden}.attachment-upload__progress-fill{height:100%;background-color:var(--primary-color);transition:width .2s ease}.attachment-upload__progress-text{font-size:.875rem;color:var(--text-muted);margin:0}.attachment-upload__error{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem;padding:.75rem 1rem;background-color:#d32f2f1a;border:1px solid var(--error-color);border-radius:var(--border-radius);color:var(--error-color);font-size:.875rem}.attachment-upload__error-dismiss{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--border-radius);background-color:transparent;color:var(--error-color);cursor:pointer;flex-shrink:0;transition:background-color .2s ease}.attachment-upload__error-dismiss:hover{background-color:#d32f2f26}@media (max-width: 768px){.attachment-upload__dropzone{padding:1rem;min-height:100px}.attachment-upload__text{font-size:.875rem}.attachment-upload__hint{font-size:.75rem}}.image-lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000e6;display:flex;flex-direction:column;z-index:1100}.image-lightbox__header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#00000080}.image-lightbox__filename{font-size:.9375rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 120px)}.image-lightbox__header-actions{display:flex;gap:.5rem}.image-lightbox__action{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:var(--border-radius);background-color:#ffffff1a;color:#fff;cursor:pointer;transition:background-color .2s ease}.image-lightbox__action:hover{background-color:#fff3}.image-lightbox__action--close:hover{background-color:#d32f2f99}.image-lightbox__content{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:1rem;overflow:hidden}.image-lightbox__image{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--border-radius)}.image-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:none;border-radius:50%;background-color:#ffffff26;color:#fff;cursor:pointer;transition:background-color .2s ease,transform .2s ease;z-index:10}.image-lightbox__nav:hover{background-color:#ffffff40;transform:translateY(-50%) scale(1.05)}.image-lightbox__nav--previous{left:1rem}.image-lightbox__nav--next{right:1rem}@media (max-width: 768px){.image-lightbox__header{padding:.75rem}.image-lightbox__filename{font-size:.875rem;max-width:calc(100% - 100px)}.image-lightbox__action{width:36px;height:36px}.image-lightbox__content{padding:.5rem}.image-lightbox__nav{width:40px;height:40px}.image-lightbox__nav--previous{left:.5rem}.image-lightbox__nav--next{right:.5rem}}.diff-field-row{display:grid;grid-template-columns:32px 140px 1fr 1fr;gap:.75rem;align-items:center;padding:.625rem .75rem;border-radius:var(--border-radius);background-color:transparent;transition:background-color .15s ease}.diff-field-row:hover,.diff-field-row--different{background-color:var(--nav-link-hover-bg)}.diff-field-row--selected{background-color:#4caf5014}.diff-field-row__checkbox-col{display:flex;align-items:center;justify-content:center}.diff-field-row__checkbox-label{display:flex;align-items:center;cursor:pointer}.diff-field-row__checkbox{position:absolute;opacity:0;width:0;height:0}.diff-field-row__checkbox-custom{width:18px;height:18px;border:2px solid var(--border-color);border-radius:3px;background-color:var(--card-bg);display:flex;align-items:center;justify-content:center;transition:border-color .15s ease,background-color .15s ease}.diff-field-row__checkbox:checked+.diff-field-row__checkbox-custom{background-color:var(--primary-color);border-color:var(--primary-color)}.diff-field-row__checkbox:checked+.diff-field-row__checkbox-custom:after{content:"";width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}.diff-field-row__checkbox:focus+.diff-field-row__checkbox-custom{outline:2px solid var(--primary-color);outline-offset:2px}.diff-field-row__checkbox:disabled+.diff-field-row__checkbox-custom{opacity:.5;cursor:not-allowed}.diff-field-row__label-col{min-width:0}.diff-field-row__label{font-size:.875rem;font-weight:500;color:var(--text-color)}.diff-field-row__current-col,.diff-field-row__suggested-col{min-width:0}.diff-field-row__value{font-size:.875rem;color:var(--text-color);word-break:break-word}.diff-field-row__value--empty{color:var(--text-muted);font-style:italic}.diff-field-row__value--clickable{cursor:pointer;padding:.25rem .5rem;margin:-.25rem -.5rem;border-radius:var(--border-radius);transition:background-color .15s ease}.diff-field-row__value--clickable:hover{background-color:#9c27b01a}.diff-field-row__value--clickable:focus{outline:2px solid var(--primary-color);outline-offset:2px}.diff-field-row__edit{display:flex;align-items:center;gap:.375rem}.diff-field-row__edit-input{flex:1;padding:.375rem .5rem;font-size:.875rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--input-bg);color:var(--text-color)}.diff-field-row__edit-input:focus{outline:none;border-color:var(--primary-color)}.diff-field-row__edit-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .15s ease}.diff-field-row__edit-btn--confirm{background-color:var(--primary-color);color:#fff}.diff-field-row__edit-btn--confirm:hover{background-color:var(--primary-color-dark)}.diff-field-row__edit-btn--cancel{background-color:var(--border-color);color:var(--text-color)}.diff-field-row__edit-btn--cancel:hover{background-color:var(--text-muted)}@media (max-width: 768px){.diff-field-row{grid-template-columns:32px 1fr;grid-template-rows:auto auto auto;gap:.5rem}.diff-field-row__checkbox-col{grid-row:1 / 4;align-self:start;padding-top:.25rem}.diff-field-row__label-col{grid-column:2;grid-row:1}.diff-field-row__current-col{grid-column:2;grid-row:2}.diff-field-row__current-col:before{content:"Current: ";font-size:.75rem;color:var(--text-muted);margin-right:.5rem}.diff-field-row__suggested-col{grid-column:2;grid-row:3}.diff-field-row__suggested-col:before{content:"AI: ";font-size:.75rem;color:var(--text-muted);margin-right:.5rem}}.seed-analysis-diff-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.seed-analysis-diff-modal{background-color:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:0 4px 24px #0003;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.seed-analysis-diff-modal:focus{outline:none}.seed-analysis-diff-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.seed-analysis-diff-modal__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0}.seed-analysis-diff-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--border-radius);background-color:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.seed-analysis-diff-modal__close:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.seed-analysis-diff-modal__close:focus{outline:2px solid var(--primary-color);outline-offset:2px}.seed-analysis-diff-modal__toolbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background-color:var(--nav-link-hover-bg);border-bottom:1px solid var(--border-color);flex-shrink:0}.seed-analysis-diff-modal__selection-info{font-size:.875rem;color:var(--text-muted)}.seed-analysis-diff-modal__selection-actions{display:flex;gap:.5rem}.seed-analysis-diff-modal__action-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.seed-analysis-diff-modal__action-btn:hover:not(:disabled){background-color:var(--nav-link-hover-bg);border-color:var(--primary-color)}.seed-analysis-diff-modal__action-btn:disabled{opacity:.5;cursor:not-allowed}.seed-analysis-diff-modal__content{flex:1;overflow-y:auto;padding:0 1.25rem}.seed-analysis-diff-modal__table-header{display:grid;grid-template-columns:32px 140px 1fr 1fr;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--border-color);position:sticky;top:0;background-color:var(--card-bg);z-index:1}.seed-analysis-diff-modal__col-label,.seed-analysis-diff-modal__col-current,.seed-analysis-diff-modal__col-suggested{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.seed-analysis-diff-modal__fields{padding:.5rem 0}.seed-analysis-diff-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border-color);flex-shrink:0}.seed-analysis-diff-modal__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.seed-analysis-diff-modal__btn:disabled{opacity:.5;cursor:not-allowed}.seed-analysis-diff-modal__btn--secondary{color:var(--text-color);background-color:transparent;border:1px solid var(--border-color)}.seed-analysis-diff-modal__btn--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.seed-analysis-diff-modal__btn--primary{color:#fff;background-color:var(--primary-color);border:1px solid var(--primary-color)}.seed-analysis-diff-modal__btn--primary:hover:not(:disabled){background-color:var(--primary-color-dark);border-color:var(--primary-color-dark)}.seed-analysis-diff-modal__spinner{animation:spin 1s linear infinite}@media (max-width: 768px){.seed-analysis-diff-modal__overlay{padding:0;align-items:flex-end}.seed-analysis-diff-modal{max-height:85vh;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0}.seed-analysis-diff-modal__header{padding:.875rem 1rem}.seed-analysis-diff-modal__toolbar{flex-direction:column;align-items:stretch;gap:.5rem;padding:.75rem 1rem}.seed-analysis-diff-modal__selection-actions{justify-content:flex-end}.seed-analysis-diff-modal__table-header{display:none}.seed-analysis-diff-modal__content{padding:0 1rem}.seed-analysis-diff-modal__footer{padding:.875rem 1rem}.seed-analysis-diff-modal__btn{flex:1}}.seed-attachments{margin-top:1.5rem}.seed-attachments__header{margin-bottom:1rem}.seed-attachments__title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.seed-attachments__count{font-weight:500;text-transform:none;letter-spacing:normal}.seed-attachments__loading{display:flex;justify-content:center;padding:2rem}.seed-attachments__error{text-align:center;padding:1.5rem;background-color:#d32f2f1a;border-radius:var(--border-radius)}.seed-attachments__error p{color:var(--error-color);margin:0 0 1rem}.seed-attachments__retry{padding:.5rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.seed-attachments__retry:hover{background-color:var(--primary-light)}.seed-attachments__list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.seed-attachments__empty{text-align:center;color:var(--text-muted);font-size:.875rem;margin:1rem 0 0;padding:1rem}.seed-attachments__delete-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.seed-attachments__delete-modal{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;max-width:400px;width:100%;box-shadow:0 4px 20px #0003}.seed-attachments__delete-title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .75rem}.seed-attachments__delete-message{font-size:.9375rem;color:var(--text-muted);margin:0 0 1.25rem;line-height:1.5}.seed-attachments__delete-actions{display:flex;justify-content:flex-end;gap:.75rem}.seed-attachments__delete-action{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.seed-attachments__delete-action--cancel{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.seed-attachments__delete-action--cancel:hover{background-color:var(--nav-link-hover-bg)}.seed-attachments__delete-action--confirm{background-color:var(--error-color);color:#fff;border:none}.seed-attachments__delete-action--confirm:hover{background-color:#b71c1c}@media (max-width: 768px){.seed-attachments__delete-actions{flex-direction:column}.seed-attachments__delete-action{width:100%}}.add-species-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.add-species-modal{background:var(--card-bg);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);width:100%;max-width:480px;position:relative;box-shadow:0 8px 32px #00000038}.add-species-modal__close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;cursor:pointer;color:var(--text-muted);padding:var(--spacing-xs);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.add-species-modal__close:hover{color:var(--text-color);background:var(--border-color)}.add-species-modal__title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-color);margin:0 0 var(--spacing-xs);padding-right:var(--spacing-xl)}.add-species-modal__subtitle{font-size:var(--font-size-sm);color:var(--text-muted);margin:0 0 var(--spacing-xl)}.add-species-modal__options{display:flex;flex-direction:column;gap:var(--spacing-md)}.add-species-modal__option{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl);border-radius:var(--border-radius-lg);border:2px solid var(--border-color);background:var(--card-bg);cursor:pointer;transition:border-color .15s,background .15s,transform .1s;text-align:center}.add-species-modal__option:hover{border-color:var(--primary-color);background:#2c5f2d0d;transform:translateY(-1px)}.add-species-modal__option:hover .add-species-modal__option-icon{color:var(--primary-color)}.add-species-modal__option-icon{color:var(--text-muted);transition:color .15s}.add-species-modal__option-label{font-size:var(--font-size-lg);font-weight:600;color:var(--text-color)}.add-species-modal__option-desc{font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.4}@media (min-width: 480px){.add-species-modal__options{flex-direction:row}.add-species-modal__option{flex:1}}.photo-import-dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.photo-import-dialog{background:var(--card-bg);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);width:100%;max-width:520px;display:flex;flex-direction:column;gap:var(--spacing-md);box-shadow:0 8px 32px #00000038}.photo-import-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.photo-import-dialog__title-row{display:flex;align-items:center;gap:var(--spacing-sm)}.photo-import-dialog__title-icon{color:var(--primary-color)}.photo-import-dialog__title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-color);margin:0}.photo-import-dialog__close{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:var(--spacing-xs);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.photo-import-dialog__close:hover{color:var(--text-color);background:var(--border-color)}.photo-import-dialog__hint{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.photo-import-dialog__dropzone{border:2px dashed var(--border-color);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);cursor:pointer;transition:border-color .15s,background .15s;text-align:center;position:relative}.photo-import-dialog__dropzone:hover,.photo-import-dialog__dropzone--active{border-color:var(--primary-color);background:#2c5f2d0a}.photo-import-dialog__dropzone-icon{color:var(--text-muted);transition:color .15s}.photo-import-dialog__dropzone:hover .photo-import-dialog__dropzone-icon,.photo-import-dialog__dropzone--active .photo-import-dialog__dropzone-icon{color:var(--primary-color)}.photo-import-dialog__dropzone-text{font-size:var(--font-size-base);font-weight:500;color:var(--text-color)}.photo-import-dialog__dropzone-sub{font-size:var(--font-size-sm);color:var(--text-muted)}.photo-import-dialog__file-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none}.photo-import-dialog__previews{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.photo-import-dialog__preview{position:relative;width:120px;height:120px;border-radius:var(--border-radius);overflow:hidden;border:2px solid var(--border-color)}.photo-import-dialog__preview-img{width:100%;height:100%;object-fit:cover}.photo-import-dialog__preview-file{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-xs);color:var(--text-muted);background:var(--border-color)}.photo-import-dialog__preview-filename{font-size:10px;word-break:break-all;text-align:center;line-height:1.2;color:var(--text-color)}.photo-import-dialog__preview-remove{position:absolute;top:4px;right:4px;background:#000000a6;border:none;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .15s}.photo-import-dialog__preview-remove:hover{background:#000000d9}.photo-import-dialog__add-more{width:120px;height:120px;border-radius:var(--border-radius);border:2px dashed var(--border-color);background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);cursor:pointer;color:var(--text-muted);font-size:var(--font-size-xs);transition:border-color .15s,color .15s}.photo-import-dialog__add-more:hover{border-color:var(--primary-color);color:var(--primary-color)}.photo-import-dialog__error{font-size:var(--font-size-sm);color:var(--error-color, #dc2626);margin:0}.photo-import-dialog__footer{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.photo-import-dialog__btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius);font-size:var(--font-size-base);font-weight:500;cursor:pointer;border:none;transition:background .15s,opacity .15s;display:flex;align-items:center;gap:var(--spacing-xs)}.photo-import-dialog__btn:disabled{opacity:.5;cursor:not-allowed}.photo-import-dialog__btn--secondary{background:var(--border-color);color:var(--text-color)}.photo-import-dialog__btn--secondary:hover:not(:disabled){background:#c8c8c8}.photo-import-dialog__btn--primary{background:var(--primary-color);color:#fff}.photo-import-dialog__btn--primary:hover:not(:disabled){background:var(--primary-dark)}.photo-import-dialog__spinner{animation:spin .8s linear infinite}.seeds-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.seeds-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.seeds-page__header-text{flex:1}.seeds-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.seeds-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.seeds-page__add-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border-radius:var(--border-radius);text-decoration:none;border:none;cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.seeds-page__add-button:hover{background-color:var(--primary-light)}.seeds-page__drafts{margin-bottom:2rem}.seeds-page__drafts-title{font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.seeds-page__drafts-list{display:flex;flex-direction:column;gap:.5rem}.draft-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--border-radius);border:1px solid var(--border-color);background:var(--card-bg, var(--surface-color))}.draft-item--pending{border-color:var(--warning-color, #f59e0b);background:color-mix(in srgb,var(--warning-color, #f59e0b) 6%,var(--card-bg, var(--surface-color)))}.draft-item--ready{border-color:var(--success-color, #16a34a);background:color-mix(in srgb,var(--success-color, #16a34a) 6%,var(--card-bg, var(--surface-color)))}.draft-item--failed{border-color:var(--error-color, #dc2626);background:color-mix(in srgb,var(--error-color, #dc2626) 6%,var(--card-bg, var(--surface-color)))}.draft-item__status-icon{flex-shrink:0}.draft-item--pending .draft-item__status-icon{color:var(--warning-color, #f59e0b)}.draft-item--ready .draft-item__status-icon{color:var(--success-color, #16a34a)}.draft-item--failed .draft-item__status-icon{color:var(--error-color, #dc2626)}.draft-item__spinner{animation:spin 1s linear infinite}.draft-item__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.draft-item__name{font-size:.9375rem;font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draft-item__status-label{font-size:.75rem;color:var(--text-muted)}.draft-item__review-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;border-radius:var(--border-radius);border:none;cursor:pointer;background:var(--primary-color);color:#fff;flex-shrink:0;transition:filter .15s}.draft-item__review-btn:hover{filter:brightness(.9)}.draft-item__review-btn--secondary{background:transparent;color:var(--text-muted);border:1px solid var(--border-color)}.draft-item__dismiss-btn{display:inline-flex;align-items:center;justify-content:center;padding:.375rem;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:var(--border-radius);flex-shrink:0;transition:color .15s,background .15s;margin-left:auto}.draft-item__dismiss-btn:hover{color:var(--error-color, #dc2626);background:#dc262614}.seeds-page__content{margin-top:1.5rem}.seeds-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.seeds-page__error{text-align:center;padding:2rem;color:var(--error-color)}@media (max-width: 768px){.seeds-page{padding:1rem}.seeds-page__header{flex-direction:column;align-items:stretch}.seeds-page__title{font-size:1.5rem}.seeds-page__add-button{justify-content:center}}.seed-create-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.seed-create-page__header{margin-bottom:2rem}.seed-create-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.seed-create-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.seed-create-page__content{margin-top:1.5rem}@media (max-width: 768px){.seed-create-page{padding:1rem}.seed-create-page__title{font-size:1.5rem}}.seed-detail-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.seed-draft-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:300px;text-align:center;padding:3rem 1rem}.seed-draft-state--pending{color:var(--warning-color, #f59e0b)}.seed-draft-state--failed{color:var(--error-color, #dc2626)}@keyframes spin{to{transform:rotate(360deg)}}.seed-draft-state__spinner{animation:spin 1s linear infinite}.seed-draft-state__title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0}.seed-draft-state__desc{font-size:.9375rem;color:var(--text-muted);margin:0;max-width:360px}.seed-draft-state__action{display:inline-flex;align-items:center;padding:.625rem 1.25rem;border-radius:var(--border-radius);background:var(--primary-color);color:#fff;font-size:.9375rem;font-weight:500;text-decoration:none;transition:filter .15s}.seed-draft-state__action:hover{filter:brightness(.9)}.seed-detail-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.seed-detail-page__error{text-align:center;padding:2rem;color:var(--error-color)}.seed-detail-page__error .seed-detail-page__back-link{margin-top:1rem;display:inline-flex}.seed-detail-page__breadcrumb{margin-bottom:1.5rem}.seed-detail-page__back-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.9375rem;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.seed-detail-page__back-link:hover{color:var(--primary-color)}.seed-detail{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}.seed-detail__header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.seed-detail__title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.seed-detail__title-group{flex:1}.seed-detail__title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0}.seed-detail__title--untitled{font-style:italic;color:var(--text-muted)}.seed-detail__variety{font-size:1.125rem;font-weight:500;color:var(--text-color);margin:.25rem 0 0}.seed-detail__type{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;border-radius:calc(var(--border-radius) - 2px);text-transform:uppercase;letter-spacing:.025em;flex-shrink:0}.seed-detail__type--vegetable{background-color:#4caf5026;color:var(--primary-color)}.seed-detail__type--herb{background-color:#8bc34a26;color:#689f38}.seed-detail__type--flower{background-color:#e91e6326;color:#c2185b}.seed-detail__actions{display:flex;gap:.75rem}.seed-detail__action{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;text-decoration:none;transition:background-color .2s ease,opacity .2s ease}.seed-detail__action--edit{background-color:var(--primary-color);color:#fff;border:none}.seed-detail__action--edit:hover{background-color:var(--primary-light)}.seed-detail__action--delete{background-color:transparent;color:var(--error-color);border:1px solid var(--error-color)}.seed-detail__action--delete:hover{background-color:#d32f2f1a}.seed-detail__section{margin-bottom:1.5rem}.seed-detail__section:last-of-type{margin-bottom:0}.seed-detail__section-title{font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.seed-detail__botanical-name{font-size:1rem;font-style:italic;color:var(--text-muted);margin:0}.seed-detail__description{font-size:1rem;color:var(--text-color);line-height:1.6;margin:0;white-space:pre-line}.seed-detail__conditions{display:flex;flex-wrap:wrap;gap:.5rem}.seed-detail__condition{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.875rem;background-color:var(--nav-link-hover-bg);color:var(--text-color);border-radius:calc(var(--border-radius) - 2px)}.seed-detail__seed-data-list{display:flex;flex-direction:column;gap:1rem}.seed-data-card{background-color:var(--nav-link-hover-bg);border-radius:var(--border-radius);padding:1rem;position:relative}.seed-data-card__row{display:flex;justify-content:space-between;padding:.375rem 0;border-bottom:1px solid var(--border-color)}.seed-data-card__row:last-of-type{border-bottom:none}.seed-data-card__label{font-size:.875rem;color:var(--text-muted)}.seed-data-card__value{font-size:.875rem;font-weight:500;color:var(--text-color)}.seed-data-card__badge{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background-color:#4caf5026;color:var(--primary-color);border-radius:calc(var(--border-radius) - 2px)}.seed-detail__footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.seed-detail__meta{font-size:.875rem;color:var(--text-muted);margin:0 0 .25rem}.seed-detail__meta:last-child{margin-bottom:0}.delete-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.delete-confirm-modal{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;max-width:400px;width:100%;box-shadow:0 4px 20px #0003}.delete-confirm__title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 1rem}.delete-confirm__message{font-size:1rem;color:var(--text-muted);margin:0 0 1.5rem;line-height:1.5}.delete-confirm__action{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;min-width:100px}.delete-confirm__action:disabled{opacity:.6;cursor:not-allowed}.delete-confirm__action--cancel{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.delete-confirm__action--cancel:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.delete-confirm__action--confirm{background-color:var(--error-color);color:#fff;border:none}.delete-confirm__action--confirm:hover:not(:disabled){background-color:#b71c1c}@media (prefers-color-scheme: dark){.seed-detail__type--herb{color:#8bc34a}.seed-detail__type--flower{color:#f06292}}@media (max-width: 768px){.seed-detail-page,.seed-detail{padding:1rem}.seed-detail__title-row{flex-direction:column;align-items:flex-start}.seed-detail__title{font-size:1.25rem}.seed-detail__actions{flex-direction:column;width:100%}.seed-detail__action{justify-content:center}.delete-confirm__actions{flex-direction:column}.delete-confirm__action{width:100%}}.seed-edit-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.seed-edit-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.seed-edit-page__error{text-align:center;padding:2rem;color:var(--error-color)}.seed-edit-page__error .seed-edit-page__back-link{margin-top:1rem;display:inline-flex}.seed-edit-page__breadcrumb{margin-bottom:1.5rem}.seed-edit-page__back-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.9375rem;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.seed-edit-page__back-link:hover{color:var(--primary-color)}.seed-edit-page__header{margin-bottom:2rem}.seed-edit-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.seed-edit-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.seed-edit-page__content{margin-top:1.5rem}@media (max-width: 768px){.seed-edit-page{padding:1rem}.seed-edit-page__title{font-size:1.5rem}}.seed-packets-page{max-width:var(--content-max-width);margin:0 auto;padding:var(--spacing-lg)}.seed-packets-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.seed-packets-page__title{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-xs)}.seed-packets-page__subtitle{color:var(--text-secondary);margin:0}.seed-packets-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md);text-align:center;color:var(--text-secondary);border:2px dashed var(--border-color);border-radius:var(--border-radius-lg);margin-top:var(--spacing-xl)}.seed-packets-page__empty-icon{opacity:.4}.seed-packets-page__empty-text{font-size:var(--font-size-lg);font-weight:500;margin:0}.seed-packets-page__empty-hint{font-size:var(--font-size-sm);margin:0}.plant-card{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:box-shadow .2s ease}.plant-card:hover{box-shadow:0 2px 8px #00000014}.plant-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.plant-card__badges{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.plant-card__title-link{text-decoration:none;color:inherit}.plant-card__title-link:hover .plant-card__title{color:var(--primary-color)}.plant-card__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0;transition:color .2s ease}.plant-card__year{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background-color:var(--nav-link-hover-bg);color:var(--text-color);border-radius:calc(var(--border-radius) - 2px)}.plant-card__type{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:calc(var(--border-radius) - 2px);text-transform:uppercase;letter-spacing:.025em;flex-shrink:0}.plant-card__type--vegetable{background-color:#4caf5026;color:var(--primary-color)}.plant-card__type--herb{background-color:#8bc34a26;color:#689f38}.plant-card__type--flower{background-color:#e91e6326;color:#c2185b}.plant-card__seed-info{display:flex;align-items:baseline;gap:.5rem}.plant-card__seed-name{font-size:1rem;font-weight:500;color:var(--text-color)}.plant-card__seed-variety{font-size:.875rem;color:var(--text-muted)}.plant-card__botanical-name{font-size:.875rem;font-style:italic;color:var(--text-muted);margin:0}.plant-card__notes{font-size:.9375rem;color:var(--text-muted);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.plant-card__journal-count{font-size:.75rem;color:var(--text-muted);padding-top:.5rem;border-top:1px solid var(--border-color);margin-top:.5rem}@media (prefers-color-scheme: dark){.plant-card:hover{box-shadow:0 2px 8px #0003}.plant-card__type--herb{color:#8bc34a}.plant-card__type--flower{color:#f06292}}@media (max-width: 768px){.plant-card{padding:1rem}.plant-card__header{flex-direction:column;gap:.5rem}}.plant-list{display:flex;flex-direction:column;gap:1rem}.plant-list__empty{display:flex;justify-content:center;align-items:center;padding:3rem 1rem;text-align:center}.plant-list__empty p{font-size:1rem;color:var(--text-muted);margin:0}.plant-form{display:flex;flex-direction:column;gap:1.5rem}.plant-form__field{display:flex;flex-direction:column;gap:.5rem}.plant-form__label{font-size:.875rem;font-weight:500;color:var(--text-color)}.plant-form__required{color:var(--error-color)}.plant-form__input,.plant-form__select,.plant-form__textarea{padding:.75rem;font-size:.9375rem;font-family:inherit;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .2s ease,box-shadow .2s ease;width:100%;box-sizing:border-box}.plant-form__input:focus,.plant-form__select:focus,.plant-form__textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #4caf501a}.plant-form__input--error,.plant-form__select--error{border-color:var(--error-color)}.plant-form__input--error:focus,.plant-form__select--error:focus{box-shadow:0 0 0 2px #f443361a}.plant-form__select{cursor:pointer}.plant-form__textarea{resize:vertical;min-height:100px}.plant-form__hint{font-size:.8125rem;color:var(--text-muted);margin:0}.plant-form__error-text{font-size:.8125rem;color:var(--error-color);margin:0}.plant-form__loading{display:flex;align-items:center;gap:.5rem;padding:.75rem;font-size:.9375rem;color:var(--text-muted);background-color:var(--bg-color);border-radius:var(--border-radius)}.plant-form__actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color)}.plant-form__action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;min-width:120px}.plant-form__action--cancel{background-color:transparent;color:var(--text-muted);border:1px solid var(--border-color)}.plant-form__action--cancel:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.plant-form__action--submit{background-color:var(--primary-color);color:#fff}.plant-form__action--submit:hover{background-color:var(--primary-light)}.plant-form__action--submit:disabled{opacity:.6;cursor:not-allowed}.plant-form__combobox{position:relative;width:100%}.plant-form__combobox-icon{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.plant-form__combobox .plant-form__input{padding-right:2.25rem}.plant-form__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 16px #0000001f;max-height:240px;overflow-y:auto;z-index:200;list-style:none;margin:0;padding:.25rem 0}.plant-form__dropdown-item{display:flex;align-items:baseline;gap:.5rem;width:100%;padding:.5rem .75rem;background:none;border:none;cursor:pointer;text-align:left;color:var(--text-color);font-size:.9375rem;transition:background .1s}.plant-form__dropdown-item:hover{background:var(--hover-bg, rgba(0, 0, 0, .05))}.plant-form__dropdown-name{font-weight:500}.plant-form__dropdown-variety{font-size:.8125rem;color:var(--text-muted)}@media (max-width: 768px){.plant-form__actions{flex-direction:column-reverse}.plant-form__action{width:100%}}.quick-actions{margin-top:1.5rem}.quick-actions__title{font-size:1rem;font-weight:600;color:var(--text-color);margin:0 0 1rem}.quick-actions__buttons{display:flex;flex-wrap:wrap;gap:.75rem}.quick-actions__button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.quick-actions__button--watering{background-color:#2196f326;color:#1976d2}.quick-actions__button--watering:hover{background-color:#2196f340}.quick-actions__button--fertilizing{background-color:#8bc34a26;color:#689f38}.quick-actions__button--fertilizing:hover{background-color:#8bc34a40}.quick-actions__button--harvest{background-color:#ff980026;color:#f57c00}.quick-actions__button--harvest:hover{background-color:#ff980040}.quick-actions__button--observation{background-color:#9c27b026;color:#7b1fa2}.quick-actions__button--observation:hover{background-color:#9c27b040}.notes-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.notes-modal{background-color:var(--card-bg);border-radius:var(--border-radius);width:100%;max-width:480px;overflow:hidden}.notes-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.notes-modal__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0}.notes-modal__close{display:flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.notes-modal__close:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.notes-modal__content{padding:1.25rem}.notes-modal__label{display:block;font-size:.875rem;font-weight:500;color:var(--text-color);margin-bottom:.5rem}.notes-modal__textarea{width:100%;padding:.75rem;font-size:.9375rem;font-family:inherit;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);resize:vertical;min-height:80px}.notes-modal__textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #4caf501a}.notes-modal__hint{font-size:.8125rem;color:var(--text-muted);margin:.5rem 0 0}.notes-modal__actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border-color);background-color:var(--bg-color)}.notes-modal__action{padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.notes-modal__action--cancel{background-color:transparent;color:var(--text-muted)}.notes-modal__action--cancel:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.notes-modal__action--submit{background-color:var(--primary-color);color:#fff}.notes-modal__action--submit:hover{background-color:var(--primary-light)}.notes-modal__action--submit:disabled{opacity:.6;cursor:not-allowed}.notes-modal__file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.notes-modal__photos{margin-top:.875rem}.notes-modal__photo-actions{display:flex;gap:.5rem}.notes-modal__photo-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.4375rem .875rem;font-size:.8125rem;font-weight:500;color:var(--text-color);background-color:var(--nav-link-hover-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.notes-modal__photo-btn:hover:not(:disabled){background-color:var(--border-color)}.notes-modal__photo-btn:disabled{opacity:.5;cursor:not-allowed}.notes-modal__photo-previews{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.notes-modal__photo-preview{position:relative;width:72px;height:72px;border-radius:var(--border-radius);overflow:visible;flex-shrink:0}.notes-modal__photo-preview img{width:72px;height:72px;object-fit:cover;border-radius:var(--border-radius);border:1px solid var(--border-color);display:block}.notes-modal__photo-remove{position:absolute;top:-6px;right:-6px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background-color:var(--text-color);color:var(--card-bg);border:none;border-radius:50%;cursor:pointer;padding:0;transition:opacity .15s ease;z-index:1}.notes-modal__photo-remove:hover:not(:disabled){opacity:.75}.notes-modal__photo-remove:disabled{opacity:.4;cursor:not-allowed}@media (prefers-color-scheme: dark){.quick-actions__button--watering{color:#64b5f6}.quick-actions__button--fertilizing{color:#8bc34a}.quick-actions__button--harvest{color:#ffb74d}.quick-actions__button--observation{color:#ba68c8}}@media (max-width: 768px){.quick-actions__buttons{flex-direction:column}.quick-actions__button{justify-content:center}}.plant-actions-menu{position:relative}.plant-actions-menu__trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:none;border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-color);cursor:pointer;transition:all .2s ease}.plant-actions-menu__trigger:hover{background-color:var(--nav-link-hover-bg)}.plant-actions-menu__dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;min-width:200px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;z-index:100;overflow:hidden}.plant-actions-menu__item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.9375rem;color:var(--text-color);background:none;border:none;cursor:pointer;text-align:left;transition:background-color .2s ease}.plant-actions-menu__item:hover{background-color:var(--nav-link-hover-bg)}.plant-actions-menu__divider{height:1px;background-color:var(--border-color);margin:.25rem 0}.plant-actions-menu__info{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8125rem;color:var(--text-muted)}.plant-actions-menu__url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (prefers-color-scheme: dark){.plant-actions-menu__dropdown{box-shadow:0 4px 12px #0000004d}}@media (max-width: 768px){.plant-actions-menu__dropdown{min-width:180px}}.qr-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.qr-modal{background-color:var(--card-bg);border-radius:var(--border-radius);width:100%;max-width:360px;overflow:hidden}.qr-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.qr-modal__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0}.qr-modal__close{display:flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.qr-modal__close:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.qr-modal__content{display:flex;flex-direction:column;align-items:center;padding:1.5rem}.qr-modal__plant-name{font-size:1rem;font-weight:500;color:var(--text-color);margin-bottom:1rem;text-align:center}.qr-modal__code{display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#fff;border-radius:var(--border-radius);margin-bottom:1rem}.qr-modal__url{font-size:.8125rem;color:var(--text-muted);word-break:break-all;text-align:center;max-width:100%;margin-bottom:.5rem}.qr-modal__hint{font-size:.8125rem;color:var(--text-muted);text-align:center;margin:0}.qr-modal__actions{display:flex;justify-content:center;padding:1rem 1.25rem;border-top:1px solid var(--border-color);background-color:var(--bg-color)}.qr-modal__action{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.qr-modal__action--download{background-color:var(--primary-color);color:#fff}.qr-modal__action--download:hover{background-color:var(--primary-light)}@media (prefers-color-scheme: dark){.qr-modal__code{background-color:#fff}}.nfc-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.nfc-modal{background-color:var(--card-bg);border-radius:var(--border-radius);width:100%;max-width:360px;overflow:hidden}.nfc-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.nfc-modal__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0}.nfc-modal__close{display:flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.nfc-modal__close:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.nfc-modal__close:disabled{opacity:.5;cursor:not-allowed}.nfc-modal__content{display:flex;flex-direction:column;align-items:center;padding:2rem 1.5rem;text-align:center}.nfc-modal__plant-name{font-size:1rem;font-weight:500;color:var(--text-color);margin-bottom:1.5rem}.nfc-modal__icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;margin-bottom:1.5rem}.nfc-modal__icon--idle,.nfc-modal__icon--writing{background-color:#2196f326;color:#1976d2}.nfc-modal__icon--success{background-color:#4caf5026;color:var(--primary-color)}.nfc-modal__icon--error{background-color:#f4433626;color:var(--error-color)}.nfc-modal__spinner{animation:nfc-spin 1.5s linear infinite}@keyframes nfc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nfc-modal__instructions{font-size:.9375rem;color:var(--text-muted);margin:0 0 1.5rem;line-height:1.5}.nfc-modal__error{font-size:.9375rem;color:var(--error-color);margin:0 0 1.5rem;line-height:1.5}.nfc-modal__actions{display:flex;gap:.75rem}.nfc-modal__action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;min-width:100px}.nfc-modal__action--start,.nfc-modal__action--retry{background-color:var(--primary-color);color:#fff}.nfc-modal__action--start:hover,.nfc-modal__action--retry:hover{background-color:var(--primary-light)}.nfc-modal__action--cancel{background-color:transparent;color:var(--text-muted);border:1px solid var(--border-color)}.nfc-modal__action--cancel:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.nfc-modal__action--done{background-color:var(--primary-color);color:#fff}.nfc-modal__action--done:hover{background-color:var(--primary-light)}@media (prefers-color-scheme: dark){.nfc-modal__icon--idle,.nfc-modal__icon--writing{color:#64b5f6}}.plants-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.plants-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.plants-page__header-text{flex:1}.plants-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.plants-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.plants-page__add-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border-radius:var(--border-radius);text-decoration:none;transition:background-color .2s ease;flex-shrink:0}.plants-page__add-button:hover{background-color:var(--primary-light)}.plants-page__content{margin-top:1.5rem}.plants-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.plants-page__error{text-align:center;padding:2rem;color:var(--error-color)}@media (max-width: 768px){.plants-page{padding:1rem}.plants-page__header{flex-direction:column;align-items:stretch}.plants-page__title{font-size:1.5rem}.plants-page__add-button{justify-content:center}}.generate-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.generate-dialog{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);width:100%;max-width:580px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.generate-dialog__header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.generate-dialog__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0}.generate-dialog__close{background:transparent;border:none;cursor:pointer;color:var(--text-muted);font-size:1.25rem;line-height:1;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .15s,background-color .15s}.generate-dialog__close:hover{color:var(--text-color);background-color:var(--hover-bg, rgba(0, 0, 0, .05))}.generate-dialog__body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;flex:1}.generate-dialog__field{display:flex;flex-direction:column;gap:.5rem}.generate-dialog__label{font-size:.875rem;font-weight:500;color:var(--text-color)}.generate-dialog__select,.generate-dialog__date-input{padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 6px);background:var(--input-bg, var(--card-bg));color:var(--text-color);font-size:.9375rem;width:100%;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.generate-dialog__select:focus,.generate-dialog__date-input:focus{outline:none;border-color:var(--primary-color)}.generate-dialog__timeline-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.generate-dialog__date-input--compact{width:auto;font-size:.875rem;padding:.375rem .625rem}.generate-dialog__timeline{background:var(--hover-bg, rgba(0, 0, 0, .02));border:1px solid var(--border-color);border-radius:var(--border-radius, 6px);padding:.875rem 1rem .5rem;-webkit-user-select:none;user-select:none}.generate-dialog__tl-months{display:flex;margin-bottom:.375rem}.generate-dialog__tl-month{flex:1;font-size:.6875rem;color:var(--text-muted);text-align:center;letter-spacing:.01em}.generate-dialog__tl-track{position:relative;height:36px;background:var(--border-color);border-radius:4px;overflow:visible}.generate-dialog__tl-track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to right,transparent,transparent calc(100% / 12 - 1px),var(--border-color) calc(100% / 12 - 1px),var(--border-color) calc(100% / 12));border-radius:4px;opacity:.5;pointer-events:none}.generate-dialog__tl-band{position:absolute;top:4px;bottom:4px;border-radius:3px;border-top:2px solid;pointer-events:none}.generate-dialog__tl-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;border:2px solid transparent;cursor:ew-resize;box-shadow:0 1px 4px #0000004d;transition:transform .05s,box-shadow .05s;z-index:2}.generate-dialog__tl-marker:hover,.generate-dialog__tl-marker:active{transform:translate(-50%,-50%) scale(1.3);box-shadow:0 2px 8px #0006}.generate-dialog__tl-marker--anchor{width:18px;height:18px;border-color:#fff;z-index:3}.generate-dialog__tl-labels{height:52px;margin-top:6px}.generate-dialog__tl-label{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);pointer-events:none;text-align:center}.generate-dialog__tl-label-phase{font-size:.6875rem;font-weight:600;white-space:nowrap;line-height:1.2}.generate-dialog__tl-label-date{font-size:.6875rem;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.generate-dialog__tl-hint{font-size:.75rem;color:var(--text-muted);margin:.5rem 0 0;text-align:center}.generate-dialog__method-cards{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.generate-dialog__method-card{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:1rem .75rem;border:2px solid var(--border-color);border-radius:var(--border-radius, 8px);background:none;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.generate-dialog__method-card:hover{border-color:var(--primary-color);background:#2c5f2d0a}.generate-dialog__method-card--active{border-color:var(--primary-color);background:#2c5f2d0f}.generate-dialog__method-icon{color:var(--primary-color)}.generate-dialog__method-name{font-size:.9375rem;font-weight:600;color:var(--text-color)}.generate-dialog__method-desc{font-size:.75rem;color:var(--text-muted);line-height:1.3}.generate-dialog__footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.generate-dialog__btn{padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;border-radius:var(--border-radius, 6px);cursor:pointer;transition:background-color .15s,border-color .15s;border:1px solid transparent}.generate-dialog__btn--cancel{background:transparent;border-color:var(--border-color);color:var(--text-color)}.generate-dialog__btn--cancel:hover{background:var(--hover-bg, rgba(0, 0, 0, .05))}.generate-dialog__btn--confirm{background:var(--primary-color);color:#fff}.generate-dialog__btn--confirm:hover:not(:disabled){background:var(--primary-light, var(--primary-color));opacity:.9}.generate-dialog__btn--confirm:disabled{opacity:.5;cursor:not-allowed}.plant-detail-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.plant-detail-page__breadcrumb{margin-bottom:1.5rem}.plant-detail-page__back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.plant-detail-page__back-link:hover{color:var(--primary-color)}.plant-detail-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.plant-detail-page__error{text-align:center;padding:2rem}.plant-detail-page__error p{color:var(--error-color);margin:0 0 1rem}.plant-detail{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.plant-detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;border-bottom:1px solid var(--border-color)}.plant-detail__title-row{flex:1}.plant-detail__title-group{display:flex;flex-direction:column;gap:.75rem}.plant-detail__title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0}.plant-detail__badges{display:flex;align-items:center;gap:.5rem}.plant-detail__year{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background-color:var(--nav-link-hover-bg);color:var(--text-color);border-radius:calc(var(--border-radius) - 2px)}.plant-detail__type{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:calc(var(--border-radius) - 2px);text-transform:uppercase;letter-spacing:.025em}.plant-detail__type--vegetable{background-color:#4caf5026;color:var(--primary-color)}.plant-detail__type--herb{background-color:#8bc34a26;color:#689f38}.plant-detail__type--flower{background-color:#e91e6326;color:#c2185b}.plant-detail__actions{display:flex;align-items:center;gap:.5rem}.plant-detail__action{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border:1px solid var(--border-color);border-radius:var(--border-radius);text-decoration:none;cursor:pointer;transition:all .2s ease;background:none}.plant-detail__action--edit{color:var(--text-color)}.plant-detail__action--edit:hover{background-color:var(--nav-link-hover-bg)}.plant-detail__action--delete{color:var(--error-color);border-color:transparent}.plant-detail__action--delete:hover{background-color:#f443361a}.plant-detail__section{padding:1.5rem;border-bottom:1px solid var(--border-color)}.plant-detail__section:last-of-type{border-bottom:none}.plant-detail__section-title{font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem}.plant-detail__seed-info{display:flex;flex-direction:column;gap:.25rem}.plant-detail__seed-name{font-size:1.125rem;font-weight:500;color:var(--text-color)}.plant-detail__seed-variety{font-size:1rem;color:var(--text-color)}.plant-detail__seed-botanical{font-size:.875rem;font-style:italic;color:var(--text-muted)}.plant-detail__notes{font-size:1rem;color:var(--text-color);margin:0;line-height:1.6;white-space:pre-wrap}.plant-detail__journal-list{display:flex;flex-direction:column;gap:1rem}.journal-entry{padding:1rem;background-color:var(--bg-color);border-radius:var(--border-radius)}.journal-entry__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.journal-entry__type{font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:calc(var(--border-radius) - 2px);text-transform:uppercase}.journal-entry__type--watering{background-color:#2196f326;color:#1976d2}.journal-entry__type--fertilizing{background-color:#8bc34a26;color:#689f38}.journal-entry__type--harvest{background-color:#ff980026;color:#f57c00}.journal-entry__type--observation{background-color:#9c27b026;color:#7b1fa2}.journal-entry__time{font-size:.8125rem;color:var(--text-muted)}.journal-entry__notes{font-size:.9375rem;color:var(--text-color);margin:0;line-height:1.5}.plant-detail__footer{padding:1rem 1.5rem;background-color:var(--bg-color)}.plant-detail__meta{font-size:.8125rem;color:var(--text-muted);margin:0}.delete-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.delete-confirm-modal{background-color:var(--card-bg);border-radius:var(--border-radius);padding:1.5rem;width:100%;max-width:400px}.delete-confirm__title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 .75rem}.delete-confirm__message{font-size:.9375rem;color:var(--text-muted);margin:0 0 1.5rem;line-height:1.5}.delete-confirm__actions{display:flex;justify-content:flex-end;gap:.75rem}.delete-confirm__action{padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.delete-confirm__action--cancel{background-color:transparent;color:var(--text-muted)}.delete-confirm__action--cancel:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.delete-confirm__action--confirm{background-color:var(--error-color);color:#fff}.delete-confirm__action--confirm:hover{opacity:.9}.delete-confirm__action--confirm:disabled{opacity:.6;cursor:not-allowed}@media (prefers-color-scheme: dark){.plant-detail__type--herb{color:#8bc34a}.plant-detail__type--flower{color:#f06292}.journal-entry__type--watering{color:#64b5f6}.journal-entry__type--fertilizing{color:#8bc34a}.journal-entry__type--harvest{color:#ffb74d}.journal-entry__type--observation{color:#ba68c8}}@media (max-width: 768px){.plant-detail-page{padding:1rem}.plant-detail__header{flex-direction:column;gap:1rem;padding:1rem}.plant-detail__title{font-size:1.25rem}.plant-detail__actions{width:100%;flex-wrap:wrap}.plant-detail__action{flex:1;justify-content:center}.plant-detail__section,.plant-detail__footer{padding:1rem}}.plant-detail__journal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.plant-detail__journal-header .plant-detail__section-title{display:flex;align-items:center;gap:.5rem;margin-bottom:0}.plant-detail__journal-add{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .875rem;background:var(--primary-color);color:#fff;border-radius:6px;font-size:.8rem;font-weight:500;text-decoration:none;transition:opacity .15s}.plant-detail__journal-add:hover{opacity:.85}.plant-detail__journal-loading,.plant-detail__journal-empty{color:var(--text-secondary);font-size:.875rem}.plant-journal-entry{display:block;padding:.875rem 1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;text-decoration:none;color:inherit;margin-bottom:.5rem;transition:border-color .15s}.plant-journal-entry:hover{border-color:var(--primary-color)}.plant-journal-entry__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.plant-journal-entry__type{padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:capitalize;background:var(--border-color);color:var(--text-secondary)}.plant-journal-entry__type--watering{background:#e3f2fd;color:#1565c0}.plant-journal-entry__type--harvest{background:#fff8e1;color:#f57f17}.plant-journal-entry__type--check_in{background:#e8f5e9;color:#2e7d32}.plant-journal-entry__type--seedstarting{background:#fce4ec;color:#880e4f}.plant-journal-entry__type--direct_sow{background:#e8f5e9;color:#1b5e20}.plant-journal-entry__type--transplant{background:#fff3e0;color:#e65100}.plant-journal-entry__type--thinning{background:#f3e5f5;color:#4a148c}.plant-journal-entry__date{font-size:.75rem;color:var(--text-secondary)}.plant-journal-entry__title{font-weight:500;font-size:.9rem;color:var(--text-color);margin:0}.plant-journal-entry__description{font-size:.8rem;color:var(--text-secondary);margin:.25rem 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plant-journal-entry__thumbnails{display:flex;gap:.375rem;margin-top:.5rem;align-items:center}.plant-journal-entry__thumbnail{width:48px;height:48px;object-fit:cover;border-radius:4px;border:1px solid var(--border-color);flex-shrink:0}.plant-journal-entry__thumbnail-more{font-size:.75rem;font-weight:600;color:var(--text-muted)}.plant-detail__bed{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:#e8f5e9;color:#2e7d32;border-radius:4px;font-size:.75rem;font-weight:500}.plant-create-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.plant-create-page__header{margin-bottom:2rem}.plant-create-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.plant-create-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.plant-create-page__content{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}@media (max-width: 768px){.plant-create-page{padding:1rem}.plant-create-page__title{font-size:1.5rem}.plant-create-page__content{padding:1rem}}.plant-edit-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.plant-edit-page__breadcrumb{margin-bottom:1.5rem}.plant-edit-page__back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.plant-edit-page__back-link:hover{color:var(--primary-color)}.plant-edit-page__header{margin-bottom:2rem}.plant-edit-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.plant-edit-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.plant-edit-page__content{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}.plant-edit-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.plant-edit-page__error{text-align:center;padding:2rem}.plant-edit-page__error p{color:var(--error-color);margin:0 0 1rem}@media (max-width: 768px){.plant-edit-page{padding:1rem}.plant-edit-page__title{font-size:1.5rem}.plant-edit-page__content{padding:1rem}}.public-plant-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.public-plant-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.public-plant-page__error{text-align:center;padding:2rem}.public-plant-page__error p{color:var(--error-color);margin:0}.public-plant-detail{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.public-plant-detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;border-bottom:1px solid var(--border-color)}.public-plant-detail__title-row{flex:1}.public-plant-detail__title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0 0 .75rem}.public-plant-detail__badges{display:flex;align-items:center;gap:.5rem}.public-plant-detail__year{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background-color:var(--nav-link-hover-bg);color:var(--text-color);border-radius:calc(var(--border-radius) - 2px)}.public-plant-detail__type{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:calc(var(--border-radius) - 2px);text-transform:uppercase;letter-spacing:.025em}.public-plant-detail__type--vegetable{background-color:#4caf5026;color:var(--primary-color)}.public-plant-detail__type--herb{background-color:#8bc34a26;color:#689f38}.public-plant-detail__type--flower{background-color:#e91e6326;color:#c2185b}.public-plant-detail__actions{display:flex;align-items:center;gap:.5rem}.public-plant-detail__action{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--border-radius);text-decoration:none;cursor:pointer;transition:all .2s ease;background:none}.public-plant-detail__action:hover{background-color:var(--nav-link-hover-bg)}.public-plant-detail__section{padding:1.5rem;border-bottom:1px solid var(--border-color)}.public-plant-detail__section:last-child{border-bottom:none}.public-plant-detail__section--info{background-color:var(--bg-color)}.public-plant-detail__section-title{font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem}.public-plant-detail__seed-info{display:flex;gap:1.5rem}.public-plant-detail__seed-image{width:120px;height:120px;object-fit:cover;border-radius:var(--border-radius);flex-shrink:0}.public-plant-detail__seed-text{display:flex;flex-direction:column;gap:.25rem}.public-plant-detail__seed-name{font-size:1.125rem;font-weight:500;color:var(--text-color)}.public-plant-detail__seed-variety{font-size:1rem;color:var(--text-color)}.public-plant-detail__seed-botanical{font-size:.875rem;font-style:italic;color:var(--text-muted)}.public-plant-detail__notes{font-size:1rem;color:var(--text-color);margin:0;line-height:1.6;white-space:pre-wrap}.public-plant-detail__journal-list{display:flex;flex-direction:column;gap:1rem}.public-plant-detail__info-message{font-size:.9375rem;color:var(--text-muted);margin:0;text-align:center}@media (prefers-color-scheme: dark){.public-plant-detail__type--herb{color:#8bc34a}.public-plant-detail__type--flower{color:#f06292}}@media (max-width: 768px){.public-plant-page{padding:1rem}.public-plant-detail__header{flex-direction:column;gap:1rem;padding:1rem}.public-plant-detail__title{font-size:1.25rem}.public-plant-detail__actions{width:100%;flex-wrap:wrap}.public-plant-detail__action{flex:1;justify-content:center}.public-plant-detail__section{padding:1rem}.public-plant-detail__seed-info{flex-direction:column}.public-plant-detail__seed-image{width:100%;height:200px}}.tag-card{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:box-shadow .2s ease}.tag-card:hover{box-shadow:0 2px 8px #00000014}.tag-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.tag-card__info{display:flex;align-items:baseline;gap:.5rem;flex:1;min-width:0}.tag-card__title-link{text-decoration:none;color:inherit;min-width:0}.tag-card__title-link:hover .tag-card__title{color:var(--primary-color)}.tag-card__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0;transition:color .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-card__id{font-size:.75rem;color:var(--text-muted);flex-shrink:0}.tag-card__actions{position:relative;flex-shrink:0}.tag-card__menu-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.tag-card__menu-button:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.tag-card__menu{position:absolute;top:100%;right:0;min-width:150px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;z-index:10;overflow:hidden}.tag-card__menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem 1rem;font-size:.875rem;font-family:inherit;color:var(--text-color);background-color:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .2s ease}.tag-card__menu-item:hover{background-color:var(--nav-link-hover-bg)}.tag-card__menu-item--destructive{color:var(--error-color)}.tag-card__menu-item--destructive:hover{background-color:#d32f2f1a}.tag-card__badges{display:flex;align-items:center;gap:.5rem}.tag-card__nfc-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:calc(var(--border-radius) - 2px);background-color:#4caf5026;color:var(--primary-color)}.tag-card__nfc-badge--empty{background-color:var(--nav-link-hover-bg);color:var(--text-muted)}.tag-card__plant-section{padding-top:.5rem;border-top:1px solid var(--border-color)}.tag-card__plant{display:flex;align-items:flex-start;gap:.5rem}.tag-card__link-icon{color:var(--text-muted);flex-shrink:0;margin-top:.125rem}.tag-card__link-icon--linked{color:var(--primary-color)}.tag-card__plant-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.tag-card__plant-name{font-size:.9375rem;font-weight:500;color:var(--text-color);text-decoration:none;transition:color .2s ease}.tag-card__plant-name:hover{color:var(--primary-color)}.tag-card__plant-seed{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--text-muted)}.tag-card__plant--unlinked{align-items:center}.tag-card__unlinked-text{font-size:.875rem;color:var(--text-muted);font-style:italic}@media (prefers-color-scheme: dark){.tag-card:hover{box-shadow:0 2px 8px #0003}.tag-card__menu{box-shadow:0 4px 12px #0000004d}}@media (max-width: 768px){.tag-card{padding:1rem}}.tag-table-wrapper{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--card-bg)}.tag-table{width:100%;border-collapse:collapse;font-size:.9375rem}.tag-table__th{text-align:left;padding:.875rem 1rem;font-weight:600;color:var(--text-color);background-color:var(--nav-link-hover-bg);border-bottom:1px solid var(--border-color);white-space:nowrap}.tag-table__th--actions{width:60px;text-align:center}.tag-table__row{transition:background-color .2s ease}.tag-table__row:hover{background-color:var(--nav-link-hover-bg)}.tag-table__td{padding:.875rem 1rem;border-bottom:1px solid var(--border-color);vertical-align:middle}.tag-table__row:last-child .tag-table__td{border-bottom:none}.tag-table__td--actions{text-align:center}.tag-table__id{font-size:.8125rem;color:var(--text-muted);font-family:monospace}.tag-table__name-link{font-weight:500;color:var(--text-color);text-decoration:none;transition:color .2s ease}.tag-table__name-link:hover{color:var(--primary-color)}.tag-table__nfc-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:calc(var(--border-radius) - 2px);background-color:#4caf5026;color:var(--primary-color)}.tag-table__nfc-badge--empty{background-color:var(--nav-link-hover-bg);color:var(--text-muted)}.tag-table__plant{display:flex;align-items:flex-start;gap:.5rem}.tag-table__link-icon{color:var(--text-muted);flex-shrink:0;margin-top:.125rem}.tag-table__link-icon--linked{color:var(--primary-color)}.tag-table__plant-info{display:flex;flex-direction:column;gap:.125rem}.tag-table__plant-name{font-size:.875rem;font-weight:500;color:var(--text-color);text-decoration:none;transition:color .2s ease}.tag-table__plant-name:hover{color:var(--primary-color)}.tag-table__plant-seed{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-muted)}.tag-table__plant--unlinked{align-items:center}.tag-table__unlinked-text{font-size:.8125rem;color:var(--text-muted);font-style:italic}.tag-table__actions{position:relative;display:inline-block}.tag-table__menu-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.tag-table__menu-button:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.tag-table__menu{min-width:150px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden}.tag-table__menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem 1rem;font-size:.875rem;font-family:inherit;color:var(--text-color);background-color:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .2s ease}.tag-table__menu-item:hover{background-color:var(--nav-link-hover-bg)}.tag-table__menu-item--destructive{color:var(--error-color)}.tag-table__menu-item--destructive:hover{background-color:#d32f2f1a}@media (prefers-color-scheme: dark){.tag-table__menu{box-shadow:0 4px 12px #0000004d}}.tag-list__empty{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;text-align:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}.tag-list__empty p{font-size:1rem;color:var(--text-muted);margin:0}.tag-list__empty-hint{font-size:.875rem;color:var(--text-muted);margin-top:.5rem}.tag-list__desktop{display:block}.tag-list__mobile{display:none;flex-direction:column;gap:1rem}@media (max-width: 768px){.tag-list__desktop{display:none}.tag-list__mobile{display:flex}}.tag-create-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:tagModalFadeIn .2s ease}@keyframes tagModalFadeIn{0%{opacity:0}to{opacity:1}}.tag-create-modal{position:relative;width:100%;max-width:450px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;animation:tagModalSlideIn .2s ease}@keyframes tagModalSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tag-create-modal__close{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.tag-create-modal__close:hover:not(:disabled){background-color:var(--nav-link-hover-bg);color:var(--text-color)}.tag-create-modal__close:disabled{opacity:.5;cursor:not-allowed}.tag-create-modal__title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem;padding-right:2rem}.tag-create-modal__description{font-size:.9375rem;color:var(--text-muted);margin:0 0 1.5rem;line-height:1.5}.tag-create-modal__form{display:flex;flex-direction:column;gap:1.25rem}.tag-create-modal__field{display:flex;flex-direction:column;gap:.375rem}.tag-create-modal__label{font-size:.875rem;font-weight:500;color:var(--text-color)}.tag-create-modal__input{width:100%;padding:.625rem .875rem;font-size:.9375rem;font-family:inherit;color:var(--text-color);background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .2s ease,box-shadow .2s ease}.tag-create-modal__input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4caf5026}.tag-create-modal__input:disabled{opacity:.6;cursor:not-allowed}.tag-create-modal__input::placeholder{color:var(--text-muted)}.tag-create-modal__hint{font-size:.8125rem;color:var(--text-muted);line-height:1.4}.tag-create-modal__actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.tag-create-modal__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;min-width:100px}.tag-create-modal__button:disabled{opacity:.6;cursor:not-allowed}.tag-create-modal__button--primary{background-color:var(--primary-color);color:#fff;border:none}.tag-create-modal__button--primary:hover:not(:disabled){background-color:var(--primary-light)}.tag-create-modal__button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.tag-create-modal__button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}@media (max-width: 480px){.tag-create-modal{padding:1.25rem;margin:.5rem}.tag-create-modal__actions{flex-direction:column-reverse}.tag-create-modal__button{width:100%}}.tag-delete-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:tagDeleteFadeIn .2s ease}@keyframes tagDeleteFadeIn{0%{opacity:0}to{opacity:1}}.tag-delete-dialog{position:relative;width:100%;max-width:400px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;animation:tagDeleteSlideIn .2s ease}@keyframes tagDeleteSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tag-delete-dialog__close{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.tag-delete-dialog__close:hover:not(:disabled){background-color:var(--nav-link-hover-bg);color:var(--text-color)}.tag-delete-dialog__close:disabled{opacity:.5;cursor:not-allowed}.tag-delete-dialog__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 1rem;border-radius:50%;background-color:#d32f2f1a;color:var(--error-color)}.tag-delete-dialog__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .75rem;text-align:center;padding-right:1.5rem}.tag-delete-dialog__message{font-size:.9375rem;color:var(--text-muted);text-align:center;margin-bottom:1.5rem;line-height:1.5}.tag-delete-dialog__message p{margin:0}.tag-delete-dialog__warning{margin-top:.75rem;font-size:.875rem;color:var(--warning-color, #f57c00)}.tag-delete-dialog__actions{display:flex;gap:.75rem;justify-content:center}.tag-delete-dialog__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;min-width:100px}.tag-delete-dialog__button:disabled{opacity:.6;cursor:not-allowed}.tag-delete-dialog__button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.tag-delete-dialog__button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.tag-delete-dialog__button--destructive{background-color:var(--error-color);color:#fff;border:none}.tag-delete-dialog__button--destructive:hover:not(:disabled){background-color:#c62828}@media (prefers-color-scheme: dark){.tag-delete-dialog__icon{background-color:#d32f2f26}}@media (max-width: 480px){.tag-delete-dialog{padding:1.25rem;margin:.5rem}.tag-delete-dialog__actions{flex-direction:column-reverse}.tag-delete-dialog__button{width:100%}}.tag-link-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:tagLinkFadeIn .2s ease}@keyframes tagLinkFadeIn{0%{opacity:0}to{opacity:1}}.tag-link-modal{position:relative;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;animation:tagLinkSlideIn .2s ease}@keyframes tagLinkSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tag-link-modal__close{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.tag-link-modal__close:hover:not(:disabled){background-color:var(--nav-link-hover-bg);color:var(--text-color)}.tag-link-modal__close:disabled{opacity:.5;cursor:not-allowed}.tag-link-modal__title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem;padding-right:2rem}.tag-link-modal__description{font-size:.9375rem;color:var(--text-muted);margin:0 0 1rem;line-height:1.5}.tag-link-modal__search{position:relative;margin-bottom:1rem}.tag-link-modal__search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.tag-link-modal__search-input{width:100%;padding:.625rem .875rem .625rem 2.5rem;font-size:.9375rem;font-family:inherit;color:var(--text-color);background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .2s ease,box-shadow .2s ease}.tag-link-modal__search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4caf5026}.tag-link-modal__search-input:disabled{opacity:.6;cursor:not-allowed}.tag-link-modal__search-input::placeholder{color:var(--text-muted)}.tag-link-modal__plants{flex:1;min-height:200px;max-height:300px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1rem}.tag-link-modal__loading,.tag-link-modal__error,.tag-link-modal__empty{display:flex;justify-content:center;align-items:center;height:100%;min-height:200px;padding:1rem;text-align:center}.tag-link-modal__error p,.tag-link-modal__empty p{font-size:.9375rem;color:var(--text-muted);margin:0}.tag-link-modal__error p{color:var(--error-color)}.tag-link-modal__plant-list{list-style:none;margin:0;padding:0}.tag-link-modal__plant-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.875rem 1rem;font-family:inherit;color:var(--text-color);background-color:transparent;border:none;border-bottom:1px solid var(--border-color);cursor:pointer;text-align:left;transition:background-color .2s ease}.tag-link-modal__plant-item:last-child{border-bottom:none}.tag-link-modal__plant-item:hover{background-color:var(--nav-link-hover-bg)}.tag-link-modal__plant-item--selected{background-color:#4caf501a}.tag-link-modal__plant-item--selected:hover{background-color:#4caf5026}.tag-link-modal__plant-item:disabled{opacity:.6;cursor:not-allowed}.tag-link-modal__plant-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.tag-link-modal__plant-name{font-size:.9375rem;font-weight:500;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-link-modal__plant-seed{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;color:var(--text-muted)}.tag-link-modal__plant-year{font-size:.75rem;font-weight:500;padding:.25rem .5rem;background-color:var(--nav-link-hover-bg);color:var(--text-color);border-radius:calc(var(--border-radius) - 2px);flex-shrink:0}.tag-link-modal__actions{display:flex;gap:.75rem;justify-content:flex-end}.tag-link-modal__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;min-width:100px}.tag-link-modal__button:disabled{opacity:.6;cursor:not-allowed}.tag-link-modal__button--primary{background-color:var(--primary-color);color:#fff;border:none}.tag-link-modal__button--primary:hover:not(:disabled){background-color:var(--primary-light)}.tag-link-modal__button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.tag-link-modal__button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}@media (max-width: 480px){.tag-link-modal{padding:1.25rem;margin:.5rem;max-height:90vh}.tag-link-modal__plants{max-height:250px}.tag-link-modal__actions{flex-direction:column-reverse}.tag-link-modal__button{width:100%}}.tags-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.tags-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.tags-page__header-text{flex:1}.tags-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.tags-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.tags-page__add-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.tags-page__add-button:hover{background-color:var(--primary-light)}.tags-page__content{margin-top:1.5rem}.tags-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.tags-page__error{text-align:center;padding:2rem;color:var(--error-color)}.tags-page__pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.tags-page__pagination-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-color);cursor:pointer;transition:background-color .2s ease,color .2s ease}.tags-page__pagination-button:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.tags-page__pagination-button:disabled{opacity:.5;cursor:not-allowed}.tags-page__pagination-info{font-size:.875rem;color:var(--text-muted)}.tag-unlink-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:tagUnlinkFadeIn .2s ease}@keyframes tagUnlinkFadeIn{0%{opacity:0}to{opacity:1}}.tag-unlink-dialog{width:100%;max-width:400px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;animation:tagUnlinkSlideIn .2s ease}@keyframes tagUnlinkSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.tag-unlink-dialog__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .75rem;text-align:center}.tag-unlink-dialog__message{font-size:.9375rem;color:var(--text-muted);text-align:center;margin:0 0 1.5rem;line-height:1.5}.tag-unlink-dialog__actions{display:flex;gap:.75rem;justify-content:center}.tag-unlink-dialog__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;min-width:100px}.tag-unlink-dialog__button:disabled{opacity:.6;cursor:not-allowed}.tag-unlink-dialog__button--primary{background-color:var(--primary-color);color:#fff;border:none}.tag-unlink-dialog__button--primary:hover:not(:disabled){background-color:var(--primary-light)}.tag-unlink-dialog__button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.tag-unlink-dialog__button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}@media (max-width: 768px){.tags-page{padding:1rem}.tags-page__header{flex-direction:column;align-items:stretch}.tags-page__title{font-size:1.5rem}.tags-page__add-button{justify-content:center}}@media (max-width: 480px){.tag-unlink-dialog{padding:1.25rem;margin:.5rem}.tag-unlink-dialog__actions{flex-direction:column-reverse}.tag-unlink-dialog__button{width:100%}}:root{--settings-sidebar-width: 260px;--settings-mobile-header-height: 56px}.settings-layout{display:flex;min-height:100vh;background-color:var(--background)}.settings-layout__mobile-header{display:none}.settings-layout__sidebar{position:fixed;top:0;left:0;width:var(--settings-sidebar-width);height:100vh;background-color:var(--card-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100}.settings-layout__sidebar-header{padding:1.5rem;border-bottom:1px solid var(--border-color)}.settings-layout__title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0}.settings-layout__nav{flex:1;padding:1rem 0;overflow-y:auto}.settings-layout__back-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;margin-bottom:.5rem;color:var(--text-muted);text-decoration:none;font-size:.875rem;transition:color .2s ease}.settings-layout__back-link:hover{color:var(--text-color)}.settings-layout__nav-section{margin-bottom:.5rem}.settings-layout__nav-section:first-child{margin-bottom:1rem}.settings-layout__nav-section-header{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.75rem 1.5rem .5rem;margin:0}.settings-layout__nav-list{list-style:none;padding:0;margin:0}.settings-layout__nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;color:var(--text-color);text-decoration:none;font-size:.9375rem;font-weight:500;border-radius:0;transition:background-color .2s ease,color .2s ease}.settings-layout__nav-link:hover{background-color:var(--nav-link-hover-bg)}.settings-layout__nav-link--active{background-color:var(--nav-link-active-bg);color:var(--nav-link-active-color);border-right:3px solid var(--primary-color)}.settings-layout__overlay{display:none}.settings-layout__main{flex:1;margin-left:var(--settings-sidebar-width);padding:2rem;max-width:var(--content-max-width)}@media (max-width: 768px){.settings-layout__mobile-header{display:flex;position:fixed;top:0;left:0;right:0;height:var(--settings-mobile-header-height);background-color:var(--card-bg);border-bottom:1px solid var(--border-color);align-items:center;padding:0 1rem;gap:1rem;z-index:50}.settings-layout__mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background-color:transparent;color:var(--text-color);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.settings-layout__mobile-menu-btn:hover{background-color:var(--nav-link-hover-bg)}.settings-layout__mobile-title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0}.settings-layout__sidebar{transform:translate(-100%);transition:transform .3s ease;z-index:200}.settings-layout__sidebar--open{transform:translate(0)}.settings-layout__overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:150;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.settings-layout__main{margin-left:0;padding:1rem;padding-top:calc(var(--settings-mobile-header-height) + 1rem);width:100%}}@media (prefers-color-scheme: dark){.settings-layout__nav-link--active{border-right-color:var(--primary-light)}}.region-settings-page{max-width:var(--content-max-width);padding:2rem}.region-settings-loading{display:flex;align-items:center;justify-content:center;min-height:400px}.region-settings-title{color:var(--primary-color);font-size:1.75rem;font-weight:600;margin-bottom:.5rem}.region-settings-description{color:var(--text-muted);font-size:.9375rem;margin-bottom:2rem}.region-settings-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-select{padding:.75rem 2.5rem .75rem .75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);background-color:var(--card-bg);color:var(--text-color);cursor:pointer;transition:border-color .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem}.form-select:focus{outline:none;border-color:var(--primary-color)}.form-select:disabled{opacity:.7;cursor:not-allowed}.form-actions{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.submit-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius, 8px);cursor:pointer;transition:background-color .2s ease}.submit-button:disabled{opacity:.7;cursor:not-allowed}.settings-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.settings-section__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.settings-section__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .25rem}.settings-section__description{font-size:.8125rem;color:var(--text-muted);margin:0 0 1rem}.reset-colors-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;color:var(--text-muted);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);cursor:pointer;transition:all .2s ease;white-space:nowrap}.reset-colors-button:hover:not(:disabled){color:var(--text-color);border-color:var(--text-muted)}.reset-colors-button:disabled{opacity:.6;cursor:not-allowed}.form-group--color{flex-direction:row;align-items:center;justify-content:space-between}.color-picker-wrapper{display:flex;align-items:center;gap:.75rem}.form-color{width:40px;height:40px;padding:0;border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);cursor:pointer;background-color:transparent}.form-color::-webkit-color-swatch-wrapper{padding:2px}.form-color::-webkit-color-swatch{border:none;border-radius:4px}.form-color::-moz-color-swatch{border:none;border-radius:4px}.form-color:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #2c5f2d33}.form-color:disabled{opacity:.6;cursor:not-allowed}.color-preview{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;font-size:.75rem;font-family:monospace;color:#fff;border-radius:4px;min-width:70px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.toast{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;border-radius:var(--border-radius, 8px);font-size:.9375rem;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:1000;animation:toast-slide-in .3s ease}.toast--success{background-color:var(--primary-color);color:#fff}.toast--error{background-color:var(--error-color, #d32f2f);color:#fff}@keyframes toast-slide-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-color-scheme: dark){.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23a0a0a0' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e")}}@media (max-width: 768px){.region-settings-page{padding:1rem}.toast{left:1rem;right:1rem;bottom:1rem}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:fadeIn .2s ease}.dialog-content{position:relative;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.two-factor-setup-dialog{max-width:520px}.dialog-close{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.dialog-close:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.dialog-title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 1.5rem;padding-right:2rem}.dialog-loading,.dialog-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem;text-align:center}.dialog-error{color:var(--error-color)}.setup-step{margin-bottom:1.5rem}.setup-step:last-child{margin-bottom:0}.setup-step-title{font-size:1rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.setup-step-description{font-size:.875rem;color:var(--text-muted);margin:0 0 1rem}.qr-code-container{display:flex;justify-content:center;padding:1rem;background-color:#fff;border-radius:var(--border-radius);margin-bottom:1rem}.qr-code-image{width:200px;height:200px;image-rendering:pixelated}.manual-entry-toggle{display:block;width:100%;padding:.5rem;font-size:.875rem;font-family:inherit;color:var(--primary-color);background-color:transparent;border:none;cursor:pointer;text-align:center;transition:color .2s ease}.manual-entry-toggle:hover{color:var(--primary-light);text-decoration:underline}.manual-entry-section{margin-top:1rem;padding:1rem;background-color:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius)}.manual-entry-title{font-size:.875rem;font-weight:600;color:var(--text-color);margin:0 0 .25rem}.manual-entry-description{font-size:.8125rem;color:var(--text-muted);margin:0 0 .75rem}.secret-key-container{display:flex;align-items:center;gap:.5rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:.75rem}.secret-key{flex:1;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.875rem;color:var(--text-color);word-break:break-all}.copy-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease;flex-shrink:0}.copy-button:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-color);margin-bottom:.375rem}.code-input{text-align:center;font-size:1.5rem;font-family:SF Mono,Monaco,Courier New,monospace;letter-spacing:.5rem;padding:.75rem .5rem}.field-error{font-size:.8125rem;color:var(--error-color);margin:.25rem 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.dialog-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.dialog-button:disabled{opacity:.6;cursor:not-allowed}.dialog-button--primary{background-color:var(--primary-color);color:#fff;border:none}.dialog-button--primary:hover:not(:disabled){background-color:var(--primary-light)}.dialog-button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.dialog-button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}@media (prefers-color-scheme: dark){.form-input:focus{box-shadow:0 0 0 3px #4caf5026}.qr-code-container{background-color:#fff}}@media (max-width: 480px){.dialog-content{padding:1.25rem;margin:.5rem}.dialog-title{font-size:1.125rem}.qr-code-image{width:180px;height:180px}.dialog-actions{flex-direction:column-reverse}.dialog-button{width:100%}}.two-factor-disable-dialog{max-width:420px}.disable-warning{display:flex;gap:.75rem;padding:1rem;background-color:var(--error-bg);border:1px solid var(--error-color);border-radius:var(--border-radius);margin-bottom:1.5rem}.disable-warning-icon{color:var(--error-color);flex-shrink:0;margin-top:.125rem}.disable-warning-text{font-size:.875rem;color:var(--error-color);margin:0;line-height:1.5}.two-factor-disable-dialog .form-input{padding-right:2.75rem}.dialog-button--danger{background-color:var(--error-color);color:#fff;border:none}.dialog-button--danger:hover:not(:disabled){background-color:#c62828}.recovery-codes-dialog{max-width:420px}.recovery-codes-dialog-description{font-size:.875rem;color:var(--text-muted);margin:0 0 1.5rem}.codes-remaining-box{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem;background-color:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1rem}.codes-remaining-box--warning{background-color:var(--error-bg);border-color:var(--error-color)}.codes-remaining-icon{color:var(--error-color);flex-shrink:0}.codes-remaining-text{font-size:1.125rem;font-weight:600;color:var(--text-color)}.codes-remaining-box--warning .codes-remaining-text{color:var(--error-color)}.codes-warning-message{font-size:.875rem;color:var(--error-color);text-align:center;margin:0 0 1.5rem}.recovery-codes-dialog .dialog-actions{margin-top:1.5rem}.regenerate-codes-dialog{max-width:480px}.regenerate-warning{display:flex;gap:.75rem;padding:1rem;background-color:var(--error-bg);border:1px solid var(--error-color);border-radius:var(--border-radius);margin-bottom:1.5rem}.regenerate-warning-icon{color:var(--error-color);flex-shrink:0;margin-top:.125rem}.regenerate-warning-text{font-size:.875rem;color:var(--error-color);margin:0;line-height:1.5}.regenerate-codes-dialog .error-message{margin-bottom:1.5rem}.connection-status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.8125rem;font-weight:500;border-radius:9999px;white-space:nowrap}.connection-status-badge--compact{padding:.125rem .5rem;font-size:.75rem}.connection-status-badge--active{background-color:#4caf501a;color:var(--success-color, #4caf50)}.connection-status-badge--inactive{background-color:#9e9e9e1a;color:var(--text-muted)}.connection-test-badge{display:flex;flex-direction:column;gap:.25rem}.connection-test-badge--compact{flex-direction:row;align-items:center}.connection-test-badge__status{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:500}.connection-test-badge--compact .connection-test-badge__status{font-size:.75rem}.connection-test-badge--success .connection-test-badge__status{color:var(--success-color, #4caf50)}.connection-test-badge--failure .connection-test-badge__status{color:var(--error-color)}.connection-test-badge--pending .connection-test-badge__status,.connection-test-badge--never .connection-test-badge__status{color:var(--text-muted)}.connection-test-badge__time{font-size:.75rem;color:var(--text-muted)}.connection-test-badge__message{font-size:.75rem;color:var(--error-color);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (prefers-color-scheme: dark){.connection-status-badge--active{background-color:#4caf5026}.connection-status-badge--inactive{background-color:#9e9e9e26}}.confirmation-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:confirmationFadeIn .2s ease}@keyframes confirmationFadeIn{0%{opacity:0}to{opacity:1}}.confirmation-dialog{position:relative;width:100%;max-width:400px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;animation:confirmationSlideIn .2s ease}@keyframes confirmationSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.confirmation-dialog__close{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.confirmation-dialog__close:hover:not(:disabled){background-color:var(--nav-link-hover-bg);color:var(--text-color)}.confirmation-dialog__close:disabled{opacity:.5;cursor:not-allowed}.confirmation-dialog__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 1rem;border-radius:50%}.confirmation-dialog__icon--destructive{background-color:#d32f2f1a;color:var(--error-color)}.confirmation-dialog__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .75rem;text-align:center;padding-right:1.5rem}.confirmation-dialog__message{font-size:.9375rem;color:var(--text-muted);text-align:center;margin-bottom:1.5rem;line-height:1.5}.confirmation-dialog__message p{margin:0}.confirmation-dialog__actions{display:flex;gap:.75rem;justify-content:center}.confirmation-dialog__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;min-width:100px}.confirmation-dialog__button:disabled{opacity:.6;cursor:not-allowed}.confirmation-dialog__button--primary{background-color:var(--primary-color);color:#fff;border:none}.confirmation-dialog__button--primary:hover:not(:disabled){background-color:var(--primary-light)}.confirmation-dialog__button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.confirmation-dialog__button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.confirmation-dialog__button--destructive{background-color:var(--error-color);color:#fff;border:none}.confirmation-dialog__button--destructive:hover:not(:disabled){background-color:#c62828}@media (prefers-color-scheme: dark){.confirmation-dialog__icon--destructive{background-color:#d32f2f26}}@media (max-width: 480px){.confirmation-dialog{padding:1.25rem;margin:.5rem}.confirmation-dialog__actions{flex-direction:column-reverse}.confirmation-dialog__button{width:100%}}.model-status-toggle{display:inline-flex;align-items:center;gap:.5rem}.model-status-toggle--small{gap:.25rem}.model-status-toggle__switch{position:relative;width:44px;height:24px;padding:0;border:none;border-radius:9999px;background-color:var(--border-color);cursor:pointer;transition:background-color .2s ease}.model-status-toggle--small .model-status-toggle__switch{width:36px;height:20px}.model-status-toggle__switch:hover:not(:disabled){background-color:var(--text-muted)}.model-status-toggle__switch--active{background-color:var(--success-color, #4caf50)}.model-status-toggle__switch--active:hover:not(:disabled){background-color:#43a047}.model-status-toggle__switch:disabled{opacity:.5;cursor:not-allowed}.model-status-toggle__switch:focus-visible{outline:none;box-shadow:0 0 0 3px #4caf5033}.model-status-toggle__thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background-color:#fff;transition:transform .2s ease;display:flex;align-items:center;justify-content:center}.model-status-toggle--small .model-status-toggle__thumb{width:16px;height:16px}.model-status-toggle__switch--active .model-status-toggle__thumb{transform:translate(20px)}.model-status-toggle--small .model-status-toggle__switch--active .model-status-toggle__thumb{transform:translate(16px)}.model-status-toggle__switch--loading .model-status-toggle__thumb{background-color:transparent}.model-status-toggle__label{font-size:.8125rem;color:var(--text-muted);min-width:50px}.model-status-toggle__label--active{color:var(--success-color, #4caf50)}@media (prefers-color-scheme: dark){.model-status-toggle__switch{background-color:#fff3}.model-status-toggle__switch:hover:not(:disabled){background-color:#ffffff4d}.model-status-toggle__thumb{background-color:#fff}}.ai-connection-form{display:flex;flex-direction:column;gap:1.5rem;max-width:var(--content-max-width)}.form-group--checkbox{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.5rem}.form-group--checkbox .form-hint{flex-basis:100%;margin-left:1.75rem}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;padding-right:2.5rem;cursor:pointer}.form-input-wrapper{position:relative;display:flex}.form-input--with-action{padding-right:3rem}.form-input-action{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:color .2s ease}.form-input-action:hover{color:var(--text-color)}.form-checkbox{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.form-checkbox input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--primary-color);cursor:pointer}.form-checkbox__label{font-size:.9375rem;color:var(--text-color)}.form-actions{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.form-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.form-button:disabled{opacity:.6;cursor:not-allowed}.form-button--primary{background-color:var(--primary-color);color:#fff;border:none}.form-button--primary:hover:not(:disabled){background-color:var(--primary-light)}.form-button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.form-button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}@media (prefers-color-scheme: dark){.form-input:focus{box-shadow:0 0 0 3px #4caf5026}.form-input--error:focus{box-shadow:0 0 0 3px #d32f2f26}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}}@media (max-width: 768px){.form-actions{flex-direction:column-reverse}.form-button{width:100%}}.ai-connections-table-wrapper{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--border-radius)}.ai-connections-table{width:100%;border-collapse:collapse;background-color:var(--card-bg)}.ai-connections-table th,.ai-connections-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.ai-connections-table th{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background-color:var(--background)}.ai-connections-table tbody tr:last-child td{border-bottom:none}.ai-connections-table__row{cursor:pointer;transition:background-color .15s ease}.ai-connections-table__row:hover{background-color:var(--nav-link-hover-bg)}.ai-connections-table__row:focus{outline:none;background-color:var(--nav-link-hover-bg)}.ai-connections-table__row:focus-visible{box-shadow:inset 0 0 0 2px var(--primary-color)}.ai-connections-table__name{font-weight:500}.ai-connections-table__name-text{color:var(--text-color)}.ai-connections-table__provider{font-size:.875rem;color:var(--text-muted)}.ai-connections-table__models-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 .5rem;font-size:.8125rem;font-weight:500;color:var(--text-color);background-color:var(--background);border-radius:9999px}.ai-connections-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background-color:var(--card-bg);border:1px dashed var(--border-color);border-radius:var(--border-radius)}.ai-connections-empty__title{font-size:1rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.ai-connections-empty__description{font-size:.875rem;color:var(--text-muted);margin:0 0 1.5rem;max-width:400px}.ai-connections-empty__action{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.ai-connections-empty__action:hover{background-color:var(--primary-light)}@media (max-width: 768px){.ai-connections-table th,.ai-connections-table td{padding:.75rem;font-size:.875rem}.ai-connections-table th:nth-child(4),.ai-connections-table td:nth-child(4),.ai-connections-table th:nth-child(5),.ai-connections-table td:nth-child(5){display:none}}.ai-models-table-container{display:flex;flex-direction:column;gap:1rem}.ai-models-table-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ai-models-search{position:relative;flex:1;max-width:300px}.ai-models-search__icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.ai-models-search__input{width:100%;padding:.625rem .75rem .625rem 2.5rem;font-size:.875rem;font-family:inherit;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .2s ease}.ai-models-search__input:focus{outline:none;border-color:var(--primary-color)}.ai-models-search__input::placeholder{color:var(--text-muted)}.ai-models-table-actions{display:flex;gap:.5rem}.ai-models-action-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;white-space:nowrap}.ai-models-action-btn:disabled{opacity:.5;cursor:not-allowed}.ai-models-action-btn--primary{background-color:var(--primary-color);color:#fff;border:none}.ai-models-action-btn--primary:hover:not(:disabled){background-color:var(--primary-light)}.ai-models-action-btn--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.ai-models-action-btn--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.ai-models-table-wrapper{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--border-radius)}.ai-models-table{width:100%;border-collapse:collapse;background-color:var(--card-bg)}.ai-models-table th,.ai-models-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.ai-models-table th{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background-color:var(--background);white-space:nowrap}.ai-models-table__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s ease}.ai-models-table__th--sortable:hover{color:var(--text-color)}.ai-models-table__th--sortable span{display:inline-flex;align-items:center;gap:.25rem}.ai-models-table__th--center,.ai-models-table__td--center{text-align:center}.ai-models-table__th--actions,.ai-models-table__td--actions{text-align:right;width:100px}.ai-models-table tbody tr:last-child td{border-bottom:none}.ai-models-table tbody tr:hover{background-color:var(--nav-link-hover-bg)}.ai-models-table__model-key code{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8125rem;color:var(--text-color);background-color:var(--background);padding:.125rem .375rem;border-radius:4px}.ai-models-table__action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.ai-models-table__action-btn:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.ai-models-table__action-btn--danger:hover{color:var(--error-color)}.ai-models-pagination{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;gap:1rem;flex-wrap:wrap}.ai-models-pagination__info{font-size:.8125rem;color:var(--text-muted)}.ai-models-pagination__controls{display:flex;align-items:center;gap:.5rem}.ai-models-pagination__btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.ai-models-pagination__btn:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.ai-models-pagination__btn:disabled{opacity:.5;cursor:not-allowed}.ai-models-pagination__page{font-size:.875rem;color:var(--text-color);min-width:60px;text-align:center}.ai-models-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 2rem;text-align:center;background-color:var(--card-bg);border:1px dashed var(--border-color);border-radius:var(--border-radius)}.ai-models-empty__title{font-size:1rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.ai-models-empty__description{font-size:.875rem;color:var(--text-muted);margin:0 0 1.5rem;max-width:400px}.ai-models-empty__actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.ai-models-empty__action{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.ai-models-empty__action:disabled{opacity:.5;cursor:not-allowed}.ai-models-empty__action--primary{background-color:var(--primary-color);color:#fff;border:none}.ai-models-empty__action--primary:hover:not(:disabled){background-color:var(--primary-light)}.ai-models-empty__action--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.ai-models-empty__action--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}@media (max-width: 768px){.ai-models-table-header{flex-direction:column;align-items:stretch}.ai-models-search{max-width:none}.ai-models-table-actions{justify-content:flex-end}.ai-models-table th:nth-child(3),.ai-models-table td:nth-child(3){display:none}.ai-models-pagination{flex-direction:column;align-items:center}}.ai-model-form-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:modelFormFadeIn .2s ease}@keyframes modelFormFadeIn{0%{opacity:0}to{opacity:1}}.ai-model-form-modal{position:relative;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;animation:modelFormSlideIn .2s ease}@keyframes modelFormSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ai-model-form__close{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.ai-model-form__close:hover:not(:disabled){background-color:var(--nav-link-hover-bg);color:var(--text-color)}.ai-model-form__close:disabled{opacity:.5;cursor:not-allowed}.ai-model-form__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 1.5rem;padding-right:2rem}.ai-model-form{display:flex;flex-direction:column;gap:1.25rem}.ai-model-form .form-group{display:flex;flex-direction:column;gap:.375rem}.ai-model-form .form-group--checkbox{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.5rem}.ai-model-form .form-group--checkbox .form-hint{flex-basis:100%;margin-left:1.75rem}.ai-model-form .form-label{font-size:.875rem;font-weight:500;color:var(--text-color)}.ai-model-form .form-label .required{color:var(--error-color);margin-left:.25rem}.ai-model-form .form-input{width:100%;padding:.75rem 1rem;font-size:1rem;font-family:inherit;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .2s ease,box-shadow .2s ease}.ai-model-form .form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2c5f2d1a}.ai-model-form .form-input:disabled{opacity:.6;cursor:not-allowed}.ai-model-form .form-input--error{border-color:var(--error-color)}.ai-model-form .form-hint{font-size:.8125rem;color:var(--text-muted);margin:0}.ai-model-form .field-error{font-size:.8125rem;color:var(--error-color);margin:0}.ai-model-form .form-checkbox{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.ai-model-form .form-checkbox input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--primary-color);cursor:pointer}.ai-model-form .form-checkbox__label{font-size:.9375rem;color:var(--text-color)}.ai-model-form__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.ai-model-form__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.ai-model-form__button:disabled{opacity:.6;cursor:not-allowed}.ai-model-form__button--primary{background-color:var(--primary-color);color:#fff;border:none}.ai-model-form__button--primary:hover:not(:disabled){background-color:var(--primary-light)}.ai-model-form__button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.ai-model-form__button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}@media (prefers-color-scheme: dark){.ai-model-form .form-input:focus{box-shadow:0 0 0 3px #4caf5026}}@media (max-width: 480px){.ai-model-form-modal{padding:1.25rem;margin:.5rem}.ai-model-form__actions{flex-direction:column-reverse}.ai-model-form__button{width:100%}}.model-discovery-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:discoveryFadeIn .2s ease}@keyframes discoveryFadeIn{0%{opacity:0}to{opacity:1}}.model-discovery-modal{position:relative;width:100%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);animation:discoverySlideIn .2s ease}@keyframes discoverySlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.model-discovery__close{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease;z-index:1}.model-discovery__close:hover:not(:disabled){background-color:var(--nav-link-hover-bg);color:var(--text-color)}.model-discovery__close:disabled{opacity:.5;cursor:not-allowed}.model-discovery__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0;padding:1.25rem 3rem 1.25rem 1.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.model-discovery__description{font-size:.875rem;color:var(--text-muted);margin:0;padding:1rem 1.5rem 0}.model-discovery__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;gap:1rem}.model-discovery__loading p{margin:0;color:var(--text-color)}.model-discovery__loading-hint{font-size:.875rem;color:var(--text-muted)}.model-discovery__error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1rem;color:var(--error-color)}.model-discovery__error p{margin:0;font-size:.9375rem}.model-discovery__retry-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;color:var(--text-color);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.model-discovery__retry-btn:hover{background-color:var(--nav-link-hover-bg)}.model-discovery__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.model-discovery__empty-title{font-size:1rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.model-discovery__empty-description{font-size:.875rem;color:var(--text-muted);margin:0}.model-discovery__actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;flex-shrink:0}.model-discovery__table-wrapper{overflow-y:auto;flex:1;min-height:0;padding:0 1.5rem}.model-discovery__table{width:100%;border-collapse:collapse}.model-discovery__table th,.model-discovery__table td{padding:.625rem .75rem;text-align:left;border-bottom:1px solid var(--border-color)}.model-discovery__table th{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background-color:var(--background);position:sticky;top:0;z-index:1}.model-discovery__table tbody tr:last-child td{border-bottom:none}.model-discovery__th--center,.model-discovery__td--center{text-align:center}.model-discovery__th--actions,.model-discovery__td--actions{text-align:right;width:120px}.model-discovery__model-key code{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8125rem;color:var(--text-color);background-color:var(--background);padding:.125rem .375rem;border-radius:4px}.model-discovery__imported{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--success-color, #4caf50)}.model-discovery__import-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-family:inherit;font-weight:500;color:var(--primary-color);background-color:transparent;border:1px solid var(--primary-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,color .2s ease}.model-discovery__import-btn:hover:not(:disabled){background-color:var(--primary-color);color:#fff}.model-discovery__import-btn:disabled{opacity:.6;cursor:not-allowed}.model-discovery__bulk-options{padding:1rem 1.5rem;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background-color:var(--background)}.model-discovery__bulk-options h3{font-size:.9375rem;font-weight:600;color:var(--text-color);margin:0 0 1rem}.model-discovery__bulk-modes{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.model-discovery__bulk-mode{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:border-color .2s ease}.model-discovery__bulk-mode:hover{border-color:var(--primary-color)}.model-discovery__bulk-mode input[type=radio]{margin:.125rem 0 0;accent-color:var(--primary-color)}.model-discovery__bulk-mode-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-color)}.model-discovery__bulk-mode-description{display:block;font-size:.8125rem;color:var(--text-muted);margin-top:.125rem}.model-discovery__bulk-actions{display:flex;justify-content:flex-end;gap:.75rem}.model-discovery__progress{font-size:.875rem;color:var(--text-muted);text-align:center;margin:1rem 0 0}.model-discovery__btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.model-discovery__btn:disabled{opacity:.6;cursor:not-allowed}.model-discovery__btn--primary{background-color:var(--primary-color);color:#fff;border:none}.model-discovery__btn--primary:hover:not(:disabled){background-color:var(--primary-light)}.model-discovery__btn--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.model-discovery__btn--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.model-discovery__footer{display:flex;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid var(--border-color);flex-shrink:0}@media (max-width: 600px){.model-discovery-modal{max-height:95vh;margin:.5rem}.model-discovery__table th:nth-child(3),.model-discovery__table td:nth-child(3){display:none}.model-discovery__bulk-actions{flex-direction:column-reverse}.model-discovery__btn{width:100%}}.settings-form-field{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1.25rem}.settings-form-field__label{font-size:.875rem;font-weight:500;color:var(--text-color)}.settings-form-field__required{color:var(--error-color, #d32f2f);margin-left:.25rem}.settings-form-field__input-wrapper{position:relative}.settings-form-field__input{width:100%;padding:.75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);background-color:var(--card-bg);color:var(--text-color);transition:border-color .2s ease,box-shadow .2s ease}.settings-form-field__input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb, 99, 102, 241),.1)}.settings-form-field__input:disabled{opacity:.7;cursor:not-allowed;background-color:var(--background)}.settings-form-field__input--error{border-color:var(--error-color, #d32f2f)}.settings-form-field__input--error:focus{box-shadow:0 0 0 2px #d32f2f1a}.settings-form-field__select{width:100%;padding:.75rem 2.5rem .75rem .75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);background-color:var(--card-bg);color:var(--text-color);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.settings-form-field__select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb, 99, 102, 241),.1)}.settings-form-field__select:disabled{opacity:.7;cursor:not-allowed;background-color:var(--background)}.settings-form-field__select--error{border-color:var(--error-color, #d32f2f)}.settings-form-field__hint{font-size:.8125rem;color:var(--text-muted);margin:.25rem 0 0}.settings-form-field__error{font-size:.8125rem;color:var(--error-color, #d32f2f);margin:.25rem 0 0}.settings-toggle{margin-bottom:1.25rem}.settings-toggle__label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.settings-toggle__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.settings-toggle__switch{position:relative;flex-shrink:0;width:44px;height:24px;background-color:var(--border-color);border-radius:12px;transition:background-color .2s ease}.settings-toggle__switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0000001a}.settings-toggle__input:checked+.settings-toggle__switch{background-color:var(--primary-color)}.settings-toggle__input:checked+.settings-toggle__switch:after{transform:translate(20px)}.settings-toggle__input:focus-visible+.settings-toggle__switch{outline:2px solid var(--primary-color);outline-offset:2px}.settings-toggle__input:disabled+.settings-toggle__switch{opacity:.5;cursor:not-allowed}.settings-toggle__input:disabled~.settings-toggle__text{opacity:.5;cursor:not-allowed}.settings-toggle__text{font-size:.9375rem;font-weight:500;color:var(--text-color)}.settings-toggle__hint{font-size:.8125rem;color:var(--text-muted);margin:.5rem 0 0;padding-left:calc(44px + .75rem)}.password-field{position:relative;display:flex;align-items:center}.password-field__input{width:100%;padding:.75rem 2.75rem .75rem .75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);background-color:var(--card-bg);color:var(--text-color);transition:border-color .2s ease,box-shadow .2s ease}.password-field__input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb, 99, 102, 241),.1)}.password-field__input:disabled{opacity:.7;cursor:not-allowed;background-color:var(--background)}.password-field__input--error{border-color:var(--error-color, #d32f2f)}.password-field__input--error:focus{box-shadow:0 0 0 2px #d32f2f1a}.password-field__input::placeholder{color:var(--text-muted)}.password-field__toggle{position:absolute;right:.75rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background-color:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius, 4px);transition:color .2s ease,background-color .2s ease}.password-field__toggle:hover:not(:disabled){color:var(--text-color);background-color:var(--nav-link-hover-bg)}.password-field__toggle:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.password-field__toggle:disabled{opacity:.5;cursor:not-allowed}.password-field__toggle[aria-pressed=true]{color:var(--primary-color)}.unsaved-changes-dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.unsaved-changes-dialog{background-color:var(--card-bg);border-radius:var(--border-radius, 8px);box-shadow:0 10px 25px #0003;padding:1.5rem;max-width:400px;width:100%;text-align:center;animation:slideIn .15s ease-out}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.unsaved-changes-dialog__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background-color:#f59e0b1a;color:#f59e0b;margin-bottom:1rem}.unsaved-changes-dialog__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.unsaved-changes-dialog__message{font-size:.9375rem;color:var(--text-muted);margin:0 0 1.5rem;line-height:1.5}.unsaved-changes-dialog__actions{display:flex;gap:.75rem;justify-content:center}.unsaved-changes-dialog__button{padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;border-radius:var(--border-radius, 8px);cursor:pointer;transition:background-color .2s ease,transform .1s ease;min-width:100px}.unsaved-changes-dialog__button:active{transform:scale(.98)}.unsaved-changes-dialog__button--leave{background-color:transparent;color:var(--text-muted);border:1px solid var(--border-color)}.unsaved-changes-dialog__button--leave:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.unsaved-changes-dialog__button--stay{background-color:var(--primary-color);color:#fff;border:none}.unsaved-changes-dialog__button--stay:hover{background-color:var(--primary-light)}.unsaved-changes-dialog__button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width: 480px){.unsaved-changes-dialog__actions{flex-direction:column-reverse}.unsaved-changes-dialog__button{width:100%}}.profile-settings-title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.profile-settings-description{font-size:.9375rem;color:var(--text-muted);margin:0 0 2rem}.profile-settings-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.profile-settings-error{text-align:center;padding:2rem;color:var(--error-color)}.profile-settings-form{display:flex;flex-direction:column;gap:1.5rem}.form-input{width:100%;padding:.75rem 1rem;font-size:1rem;font-family:inherit;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .2s ease,box-shadow .2s ease}.pending-email-notice{background-color:var(--error-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem}.pending-email-info{margin-bottom:.75rem}.pending-email-text{font-size:.875rem;color:var(--text-color);margin:0 0 .25rem}.pending-email-expires{font-size:.8125rem;color:var(--text-muted);margin:0}.pending-email-actions{display:flex;gap:.75rem;flex-wrap:wrap}.pending-email-action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;min-width:100px}.pending-email-action:disabled{opacity:.6;cursor:not-allowed}.pending-email-action--resend{background-color:var(--primary-color);color:#fff;border:none}.pending-email-action--resend:hover:not(:disabled){background-color:var(--primary-light)}.pending-email-action--cancel{background-color:transparent;color:var(--text-muted);border:1px solid var(--border-color)}.pending-email-action--cancel:hover:not(:disabled){background-color:var(--nav-link-hover-bg);color:var(--text-color)}@media (prefers-color-scheme: dark){.form-input:focus{box-shadow:0 0 0 3px #4caf5026}.form-input--error:focus{box-shadow:0 0 0 3px #d32f2f26}}@media (max-width: 768px){.profile-settings-title{font-size:1.25rem}.profile-settings-description{margin-bottom:1.5rem}.pending-email-actions{flex-direction:column}.pending-email-action{width:100%}}.security-settings-title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.security-settings-description{font-size:.9375rem;color:var(--text-muted);margin:0 0 2rem}.security-settings-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.security-settings-error{text-align:center;padding:2rem;color:var(--error-color)}.security-section{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1.5rem}.security-section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.security-section-description{font-size:.875rem;color:var(--text-muted);margin:0 0 1.5rem}.password-form{display:flex;flex-direction:column;gap:1.25rem}.form-label .required{color:var(--error-color);margin-left:.25rem}.password-input-wrapper{position:relative;display:flex;align-items:center}.form-input{width:100%;padding:.75rem 2.75rem .75rem 1rem;font-size:1rem;font-family:inherit;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2c5f2d1a}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-input--error{border-color:var(--error-color)}.form-input--error:focus{border-color:var(--error-color);box-shadow:0 0 0 3px #d32f2f1a}.password-toggle{position:absolute;right:.75rem;display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:color .2s ease}.password-toggle:hover{color:var(--text-color)}.form-hint{font-size:.8125rem;color:var(--text-muted);margin:0}.field-error{font-size:.8125rem;color:var(--error-color);margin:0}.error-message{padding:.75rem 1rem;background-color:var(--error-bg);border:1px solid var(--error-color);border-radius:var(--border-radius);color:var(--error-color);font-size:.875rem}.form-actions{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.submit-button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:1rem;font-family:inherit;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.two-factor-status{display:flex;flex-direction:column;gap:1rem}.two-factor-status-badge{display:inline-flex;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--border-radius);width:fit-content}.two-factor-status-badge--enabled{background-color:#4caf5026;color:var(--primary-color)}.two-factor-status-badge--disabled{background-color:var(--error-bg);color:var(--text-muted)}.two-factor-required-notice{font-size:.875rem;color:var(--text-muted);margin:0;font-style:italic}.two-factor-codes-remaining{font-size:.875rem;color:var(--text-muted);margin:0}.two-factor-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.two-factor-action{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:.875rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.two-factor-action:disabled{opacity:.6;cursor:not-allowed}.two-factor-action--primary{background-color:var(--primary-color);color:#fff;border:none}.two-factor-action--primary:hover:not(:disabled){background-color:var(--primary-light)}.two-factor-action--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.two-factor-action--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.two-factor-action--danger{background-color:transparent;color:var(--error-color);border:1px solid var(--error-color)}.two-factor-action--danger:hover:not(:disabled){background-color:var(--error-bg)}@media (prefers-color-scheme: dark){.form-input:focus{box-shadow:0 0 0 3px #4caf5026}.form-input--error:focus{box-shadow:0 0 0 3px #d32f2f26}.two-factor-status-badge--enabled{background-color:#4caf5033}}@media (max-width: 768px){.security-settings-title{font-size:1.25rem}.security-settings-description{margin-bottom:1.5rem}.security-section{padding:1.25rem}.two-factor-actions{flex-direction:column}.two-factor-action{width:100%}}.verify-email-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:var(--background)}.verify-email-card{width:100%;max-width:420px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem;text-align:center}.verify-email-title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0 0 1.5rem}.verify-email-status{display:flex;flex-direction:column;align-items:center;gap:1rem}.verify-email-status p{font-size:1rem;color:var(--text-color);margin:0}.verify-email-status--loading{padding:1rem 0}.verify-email-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center}.verify-email-icon svg{width:32px;height:32px}.verify-email-icon--success{background-color:#2c5f2d1a;color:var(--primary-color)}.verify-email-icon--error{background-color:var(--error-bg);color:var(--error-color)}.verify-email-redirect,.verify-email-hint{font-size:.875rem;color:var(--text-muted)}.verify-email-link{display:inline-block;margin-top:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border-radius:var(--border-radius);text-decoration:none;transition:background-color .2s ease}.verify-email-link:hover{background-color:var(--primary-light)}@media (prefers-color-scheme: dark){.verify-email-icon--success{background-color:#4caf5026;color:var(--primary-light)}}@media (max-width: 480px){.verify-email-card{padding:1.5rem}.verify-email-title{font-size:1.25rem}.verify-email-icon{width:56px;height:56px}.verify-email-icon svg{width:28px;height:28px}}.email-settings-page{max-width:var(--content-max-width)}.email-settings-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.email-settings-title{color:var(--primary-color);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.email-settings-description{color:var(--text-muted);font-size:.9375rem;margin-bottom:1.5rem}.email-settings-status{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--border-radius, 8px);font-size:.875rem;font-weight:500;margin-bottom:1.5rem}.email-settings-status--configured{background-color:#22c55e1a;color:#15803d;border:1px solid rgba(34,197,94,.3)}.email-settings-status--not-configured{background-color:#f59e0b1a;color:#b45309;border:1px solid rgba(245,158,11,.3)}@media (prefers-color-scheme: dark){.email-settings-status--configured{color:#4ade80}.email-settings-status--not-configured{color:#fbbf24}}.email-settings-section{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);padding:1.5rem;margin-bottom:1.5rem}.email-settings-section-title{color:var(--text-color);font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.email-settings-section-description{color:var(--text-muted);font-size:.875rem;margin-bottom:1.5rem}.smtp-config-form{display:flex;flex-direction:column}.smtp-security-section{padding:1rem;background-color:var(--background);border-radius:var(--border-radius, 8px);margin-bottom:1.25rem}.smtp-security-section .settings-toggle{margin-bottom:1rem}.smtp-security-section .settings-toggle:last-of-type{margin-bottom:0}.smtp-security-error{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background-color:#d32f2f1a;border:1px solid var(--error-color, #d32f2f);border-radius:var(--border-radius, 6px);color:var(--error-color, #d32f2f);font-size:.8125rem;margin-top:.75rem}.test-email-form{display:flex;flex-direction:column}.test-email-input-row{display:flex;gap:.75rem;align-items:flex-start}.test-email-input-row .form-input{flex:1;padding:.75rem;font-size:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);background-color:var(--card-bg);color:var(--text-color);transition:border-color .2s ease}.test-email-input-row .form-input:focus{outline:none;border-color:var(--primary-color)}.test-email-input-row .form-input:disabled{opacity:.7;cursor:not-allowed;background-color:var(--background)}.test-email-input-row .form-input--error{border-color:var(--error-color, #d32f2f)}.test-email-button-wrapper{position:relative}.test-email-button{padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius, 8px);cursor:pointer;transition:background-color .2s ease;white-space:nowrap;min-width:130px;display:flex;align-items:center;justify-content:center}.test-email-button:hover:not(:disabled){background-color:var(--primary-light)}.test-email-button:disabled{opacity:.6;cursor:not-allowed}.test-email-tooltip{position:absolute;top:100%;right:0;margin-top:.5rem;padding:.5rem .75rem;background-color:var(--text-color);color:var(--background);font-size:.75rem;border-radius:var(--border-radius, 6px);white-space:nowrap;z-index:10;box-shadow:0 2px 8px #00000026}.test-email-tooltip:before{content:"";position:absolute;top:-4px;right:1rem;width:8px;height:8px;background-color:var(--text-color);transform:rotate(45deg)}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-label{font-size:.875rem;font-weight:500;color:var(--text-color)}.required{color:var(--error-color, #d32f2f);margin-left:.25rem}.field-error{font-size:.8125rem;color:var(--error-color, #d32f2f);margin:.25rem 0 0}@media (max-width: 480px){.test-email-input-row{flex-direction:column}.test-email-button{width:100%}.test-email-tooltip{left:0;right:auto}.test-email-tooltip:before{left:1rem;right:auto}}.core-settings-page{max-width:var(--content-max-width)}.core-settings-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.core-settings-title{color:var(--primary-color);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.core-settings-description{color:var(--text-muted);font-size:.9375rem;margin-bottom:2rem}.core-settings-form{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);padding:1.5rem}.error-message{background-color:#d32f2f1a;border:1px solid var(--error-color, #d32f2f);border-radius:var(--border-radius, 8px);color:var(--error-color, #d32f2f);font-size:.875rem;padding:.75rem 1rem;margin-bottom:1rem}.auth-settings-page{max-width:var(--content-max-width)}.auth-settings-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.auth-settings-title{color:var(--primary-color);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.auth-settings-description{color:var(--text-muted);font-size:.9375rem;margin-bottom:2rem}.auth-settings-form{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);padding:1.5rem}.auth-settings-section{padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.auth-settings-section:last-of-type{padding-bottom:0;margin-bottom:0;border-bottom:none}.auth-settings-info{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;border-radius:var(--border-radius, 8px);font-size:.875rem;line-height:1.5;margin-top:.75rem}.auth-settings-info svg{flex-shrink:0;margin-top:.125rem}.auth-settings-info--warning{background-color:#f59e0b1a;color:#b45309;border:1px solid rgba(245,158,11,.3)}.auth-settings-info--info{background-color:#3b82f61a;color:#1d4ed8;border:1px solid rgba(59,130,246,.3)}@media (prefers-color-scheme: dark){.auth-settings-info--warning{color:#fbbf24}.auth-settings-info--info{color:#60a5fa}}.error-message{background-color:#d32f2f1a;border:1px solid var(--error-color, #d32f2f);border-radius:var(--border-radius, 8px);color:var(--error-color, #d32f2f);font-size:.875rem;padding:.75rem 1rem;margin-top:1rem}.form-actions{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.submit-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius, 8px);cursor:pointer;transition:background-color .2s ease;min-width:140px}.submit-button:hover:not(:disabled){background-color:var(--primary-light)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.reset-button{padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:var(--text-muted);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius, 8px);cursor:pointer;transition:background-color .2s ease,color .2s ease}.reset-button:hover:not(:disabled){background-color:var(--nav-link-hover-bg);color:var(--text-color)}.reset-button:disabled{opacity:.6;cursor:not-allowed}.ai-connections-page{max-width:var(--content-max-width)}.ai-connections-page__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.ai-connections-page__header-text{flex:1}.ai-connections-page__title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.ai-connections-page__description{font-size:.9375rem;color:var(--text-muted);margin:0}.ai-connections-page__add-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease;white-space:nowrap;flex-shrink:0}.ai-connections-page__add-btn:hover{background-color:var(--primary-light)}.ai-connections-page-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.ai-connections-page-error{text-align:center;padding:2rem;color:var(--error-color)}@media (max-width: 768px){.ai-connections-page__header{flex-direction:column;align-items:stretch}.ai-connections-page__title{font-size:1.25rem}.ai-connections-page__add-btn{width:100%;justify-content:center}}.ai-connection-detail-page{max-width:var(--content-max-width)}.ai-connection-detail__header{margin-bottom:2rem}.ai-connection-detail__back{display:inline-flex;align-items:center;gap:.5rem;padding:0;font-size:.875rem;font-family:inherit;color:var(--text-muted);background-color:transparent;border:none;cursor:pointer;transition:color .2s ease;margin-bottom:1rem}.ai-connection-detail__back:hover{color:var(--text-color)}.ai-connection-detail__header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.ai-connection-detail__header-info{flex:1}.ai-connection-detail__title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0 0 .75rem}.ai-connection-detail__badges{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.ai-connection-detail__header-actions{display:flex;gap:.75rem;flex-shrink:0}.ai-connection-detail__action-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;white-space:nowrap}.ai-connection-detail__action-btn:disabled{opacity:.5;cursor:not-allowed}.ai-connection-detail__action-btn--test{background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.ai-connection-detail__action-btn--test:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.ai-connection-detail__action-btn--delete{background-color:transparent;color:var(--error-color);border:1px solid var(--error-color)}.ai-connection-detail__action-btn--delete:hover:not(:disabled){background-color:var(--error-color);color:#fff}.ai-connection-detail__section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.ai-connection-detail__section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.ai-connection-detail__section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.ai-connection-detail__section-title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.ai-connection-detail__section-description{font-size:.875rem;color:var(--text-muted);margin:0}.ai-connection-detail__section--models{margin-top:2rem}.ai-connection-detail-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.ai-connection-detail-error{text-align:center;padding:2rem;color:var(--error-color)}@media (max-width: 768px){.ai-connection-detail__header-content{flex-direction:column;align-items:stretch}.ai-connection-detail__header-actions{flex-direction:column}.ai-connection-detail__action-btn{width:100%;justify-content:center}.ai-connection-detail__title{font-size:1.25rem}}.ai-connection-create-page{max-width:var(--content-max-width)}.ai-connection-create__header{margin-bottom:2rem}.ai-connection-create__back{display:inline-flex;align-items:center;gap:.5rem;padding:0;font-size:.875rem;font-family:inherit;color:var(--text-muted);background-color:transparent;border:none;cursor:pointer;transition:color .2s ease;margin-bottom:1rem}.ai-connection-create__back:hover{color:var(--text-color)}.ai-connection-create__title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0}@media (max-width: 768px){.ai-connection-create__title{font-size:1.25rem}}.plans-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.plan-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.plan-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--primary-color)}.plan-card:focus{outline:2px solid var(--primary-color);outline-offset:2px}.plan-card__content{padding:1.25rem}.plan-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.plan-card__year{display:inline-block;font-size:.875rem;font-weight:500;color:var(--primary-color);background-color:#2c5f2d1a;padding:.25rem .75rem;border-radius:100px}.plan-card__menu{position:relative}.plan-card__menu-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:background-color .2s ease,color .2s ease}.plan-card__menu-button:hover{background-color:var(--hover-bg);color:var(--text-color)}.plan-card__dropdown{position:absolute;top:100%;right:0;min-width:140px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;z-index:10;overflow:hidden}.plan-card__dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:.875rem;color:var(--text-color);background:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .2s ease}.plan-card__dropdown-item:hover{background-color:var(--hover-bg)}.plan-card__dropdown-item--danger{color:var(--error-color)}.plan-card__dropdown-item--danger:hover{background-color:var(--error-bg)}.plan-card__name{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 1rem;line-height:1.3}.plan-card__footer{display:flex;align-items:center;justify-content:space-between}.plan-card__map-badge{display:flex;align-items:center;color:var(--text-muted);opacity:.7}.plan-card__seed-count{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-muted)}@media (prefers-color-scheme: dark){.plan-card:hover{box-shadow:0 4px 12px #0000004d}.plan-card__year{background-color:#4caf5033;color:var(--primary-light)}}@media (max-width: 480px){.plans-list{grid-template-columns:1fr}}.plan-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:planDialogFadeIn .2s ease}@keyframes planDialogFadeIn{0%{opacity:0}to{opacity:1}}.plan-dialog{position:relative;width:100%;max-width:420px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;animation:planDialogSlideIn .2s ease}@keyframes planDialogSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.plan-dialog__close{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.plan-dialog__close:hover:not(:disabled){background-color:var(--nav-link-hover-bg);color:var(--text-color)}.plan-dialog__close:disabled{opacity:.5;cursor:not-allowed}.plan-dialog__title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 1.5rem;padding-right:2rem}.plan-dialog__form{display:flex;flex-direction:column;gap:1.25rem}.plan-dialog__field{display:flex;flex-direction:column;gap:.5rem}.plan-dialog__label{font-size:.9375rem;font-weight:500;color:var(--text-color)}.plan-dialog__input{width:100%;padding:.75rem 1rem;font-size:.9375rem;font-family:inherit;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .2s ease,box-shadow .2s ease}.plan-dialog__input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2c5f2d26}.plan-dialog__input--error{border-color:var(--error-color)}.plan-dialog__input--error:focus{box-shadow:0 0 0 3px #d32f2f26}.plan-dialog__input:disabled{opacity:.6;cursor:not-allowed}.plan-dialog__optional{font-size:.8125rem;font-weight:400;color:var(--text-muted)}.plan-dialog__error{font-size:.8125rem;color:var(--error-color)}.plan-dialog__actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.plan-dialog__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;min-width:100px}.plan-dialog__button:disabled{opacity:.6;cursor:not-allowed}.plan-dialog__button--primary{background-color:var(--primary-color);color:#fff;border:none}.plan-dialog__button--primary:hover:not(:disabled){background-color:var(--primary-light)}.plan-dialog__button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.plan-dialog__button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}@media (max-width: 480px){.plan-dialog{padding:1.25rem;margin:.5rem}.plan-dialog__actions{flex-direction:column-reverse}.plan-dialog__button{width:100%}}.delete-plan-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:deletePlanDialogFadeIn .2s ease}@keyframes deletePlanDialogFadeIn{0%{opacity:0}to{opacity:1}}.delete-plan-dialog{position:relative;width:100%;max-width:400px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;animation:deletePlanDialogSlideIn .2s ease}@keyframes deletePlanDialogSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.delete-plan-dialog__close{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.delete-plan-dialog__close:hover:not(:disabled){background-color:var(--nav-link-hover-bg);color:var(--text-color)}.delete-plan-dialog__close:disabled{opacity:.5;cursor:not-allowed}.delete-plan-dialog__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 1rem;border-radius:50%;background-color:#d32f2f1a;color:var(--error-color)}.delete-plan-dialog__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .75rem;text-align:center;padding-right:1.5rem}.delete-plan-dialog__message{font-size:.9375rem;color:var(--text-muted);text-align:center;margin:0 0 1.5rem;line-height:1.5}.delete-plan-dialog__actions{display:flex;gap:.75rem;justify-content:center}.delete-plan-dialog__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;min-width:100px}.delete-plan-dialog__button:disabled{opacity:.6;cursor:not-allowed}.delete-plan-dialog__button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.delete-plan-dialog__button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}.delete-plan-dialog__button--destructive{background-color:var(--error-color);color:#fff;border:none}.delete-plan-dialog__button--destructive:hover:not(:disabled){background-color:#c62828}@media (prefers-color-scheme: dark){.delete-plan-dialog__icon{background-color:#d32f2f26}}@media (max-width: 480px){.delete-plan-dialog{padding:1.25rem;margin:.5rem}.delete-plan-dialog__actions{flex-direction:column-reverse}.delete-plan-dialog__button{width:100%}}.planner-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.planner-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.planner-page__header-text{flex:1}.planner-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.planner-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.planner-page__add-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.planner-page__add-button:hover{background-color:var(--primary-light)}.planner-page__content{margin-top:1.5rem}.planner-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.planner-page__error{text-align:center;padding:2rem;color:var(--error-color)}.planner-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.planner-page__empty-icon{color:var(--text-muted);margin-bottom:1.5rem;opacity:.5}.planner-page__empty-title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.planner-page__empty-description{font-size:1rem;color:var(--text-muted);margin:0 0 1.5rem;max-width:400px}.planner-page__create-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.planner-page__create-button:hover{background-color:var(--primary-light)}@media (max-width: 768px){.planner-page{padding:1rem}.planner-page__header{flex-direction:column;align-items:stretch}.planner-page__title{font-size:1.5rem}.planner-page__add-button{justify-content:center}.planner-page__empty{padding:2rem 1rem}}.plants-in-plan-list{display:flex;flex-direction:column;gap:.5rem}.plants-in-plan-list__item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}.plants-in-plan-list__item:hover{border-color:var(--primary-color);background:var(--hover-bg, rgba(0,0,0,.02))}.plants-in-plan-list__icon{color:var(--text-secondary);flex-shrink:0}.plants-in-plan-list__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.plants-in-plan-list__name{font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plants-in-plan-list__bed{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary)}.plants-in-plan-list__badge{flex-shrink:0;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:500;text-transform:capitalize;background:var(--badge-bg, #e8f5e9);color:var(--badge-color, #2e7d32)}.plants-in-plan-list__badge--vegetable{background:#e8f5e9;color:#2e7d32}.plants-in-plan-list__badge--herb{background:#f3e5f5;color:#6a1b9a}.plants-in-plan-list__badge--flower{background:#fce4ec;color:#880e4f}.plants-in-plan-list__remove{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:color .15s,background .15s}.plants-in-plan-list__remove:hover{color:var(--danger-color, #dc2626);background:var(--danger-bg, #fee2e2)}.plants-in-plan-list__no-schedule-warn{color:#ffb300;display:flex;align-items:center;flex-shrink:0}.remove-seed-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:removeSeedDialogFadeIn .2s ease}@keyframes removeSeedDialogFadeIn{0%{opacity:0}to{opacity:1}}.remove-seed-dialog{position:relative;width:100%;max-width:400px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;animation:removeSeedDialogSlideIn .2s ease}@keyframes removeSeedDialogSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.remove-seed-dialog__close{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease}.remove-seed-dialog__close:hover:not(:disabled){background-color:var(--nav-link-hover-bg);color:var(--text-color)}.remove-seed-dialog__close:disabled{opacity:.5;cursor:not-allowed}.remove-seed-dialog__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .75rem;padding-right:2rem}.remove-seed-dialog__message{font-size:.9375rem;color:var(--text-muted);margin:0 0 1.5rem;line-height:1.5}.remove-seed-dialog__actions{display:flex;gap:.75rem;justify-content:flex-end}.remove-seed-dialog__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;min-width:100px}.remove-seed-dialog__button:disabled{opacity:.6;cursor:not-allowed}.remove-seed-dialog__button--primary{background-color:var(--primary-color);color:#fff;border:none}.remove-seed-dialog__button--primary:hover:not(:disabled){background-color:var(--primary-light)}.remove-seed-dialog__button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.remove-seed-dialog__button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}@media (max-width: 480px){.remove-seed-dialog{padding:1.25rem;margin:.5rem}.remove-seed-dialog__actions{flex-direction:column-reverse}.remove-seed-dialog__button{width:100%}}.plan-detail-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.plan-detail-page__back-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.9375rem;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:color .2s ease;margin-bottom:1rem}.plan-detail-page__back-link:hover{color:var(--text-color)}.plan-detail-page__header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.plan-detail-page__header-text{flex:1}.plan-detail-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .25rem}.plan-detail-page__year{font-size:1rem;color:var(--text-muted);margin:0}.plan-detail-page__canvas-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:var(--text-color);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,border-color .2s ease;flex-shrink:0}.plan-detail-page__canvas-button:hover{background-color:var(--hover-bg, rgba(0,0,0,.05));border-color:var(--text-muted)}.plan-detail-page__add-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.plan-detail-page__add-button:hover{background-color:var(--primary-light)}.plan-detail-page__seeds{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}.plan-detail-page__seeds-title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 1.5rem}.plan-detail-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.plan-detail-page__empty-icon{color:var(--text-muted);margin-bottom:1rem;opacity:.5}.plan-detail-page__empty-title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.plan-detail-page__empty-description{font-size:.9375rem;color:var(--text-muted);margin:0 0 1.5rem;max-width:300px}.plan-detail-page__create-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.plan-detail-page__create-button:hover{background-color:var(--primary-light)}.plan-detail-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.plan-detail-page__error{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;padding:2rem;color:var(--error-color)}@media (max-width: 768px){.plan-detail-page{padding:1rem}.plan-detail-page__header{flex-direction:column;align-items:stretch}.plan-detail-page__title{font-size:1.5rem}.plan-detail-page__add-button{justify-content:center}.plan-detail-page__seeds{padding:1rem}.plan-detail-page__empty{padding:2rem 1rem}}.task-complete-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.task-complete-dialog{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);width:100%;max-width:480px;display:flex;flex-direction:column}.task-complete-dialog__header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);gap:1rem}.task-complete-dialog__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0}.task-complete-dialog__subtitle{font-size:.875rem;color:var(--text-muted);margin:.25rem 0 0}.task-complete-dialog__close{background:transparent;border:none;cursor:pointer;color:var(--text-muted);padding:.25rem;display:flex;align-items:center;border-radius:4px;transition:color .15s,background-color .15s;flex-shrink:0}.task-complete-dialog__close:hover:not(:disabled){color:var(--text-color);background-color:var(--hover-bg, rgba(0, 0, 0, .05))}.task-complete-dialog__body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.task-complete-dialog__field{display:flex;flex-direction:column;gap:.5rem}.task-complete-dialog__label{font-size:.875rem;font-weight:500;color:var(--text-color)}.task-complete-dialog__optional{font-weight:400;color:var(--text-muted)}.task-complete-dialog__textarea{padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 6px);background:var(--input-bg, var(--card-bg));color:var(--text-color);font-size:.9375rem;font-family:inherit;resize:vertical;width:100%;box-sizing:border-box}.task-complete-dialog__textarea:focus{outline:none;border-color:var(--primary-color)}.task-complete-dialog__previews{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.task-complete-dialog__preview{position:relative;width:80px;height:80px;border-radius:var(--border-radius, 6px);overflow:hidden;border:1px solid var(--border-color)}.task-complete-dialog__preview img{width:100%;height:100%;object-fit:cover}.task-complete-dialog__preview-remove{position:absolute;top:3px;right:3px;background:#0009;border:none;border-radius:3px;cursor:pointer;color:#fff;padding:3px;display:flex;align-items:center;justify-content:center;transition:background .15s}.task-complete-dialog__preview-remove:hover{background:#ef4444d9}.task-complete-dialog__upload-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px dashed var(--border-color);border-radius:var(--border-radius, 6px);background:none;color:var(--text-muted);font-size:.875rem;cursor:pointer;transition:border-color .15s,color .15s;width:fit-content}.task-complete-dialog__upload-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.task-complete-dialog__footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.task-complete-dialog__btn{padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;border-radius:var(--border-radius, 6px);cursor:pointer;border:1px solid transparent;transition:background-color .15s,border-color .15s;display:inline-flex;align-items:center;gap:.5rem;min-width:100px;justify-content:center}.task-complete-dialog__btn--cancel{background:transparent;border-color:var(--border-color);color:var(--text-color)}.task-complete-dialog__btn--cancel:hover:not(:disabled){background:var(--hover-bg, rgba(0, 0, 0, .05))}.task-complete-dialog__btn--confirm{background:var(--primary-color);color:#fff}.task-complete-dialog__btn--confirm:hover:not(:disabled){opacity:.9}.task-complete-dialog__btn:disabled{opacity:.5;cursor:not-allowed}.task-card{display:grid;grid-template-columns:2rem 1fr auto;align-items:start;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);transition:background-color .15s ease}.task-card:last-child{border-bottom:none}.task-card:hover{background-color:var(--hover-bg, rgba(0, 0, 0, .03))}.task-card--done{opacity:.6}.task-card--done .task-card__seed-name,.task-card--done .task-card__phase-label{text-decoration:line-through;color:var(--text-muted)}.task-card__checkbox{width:1.25rem;height:1.25rem;margin-top:.1rem;cursor:pointer;accent-color:var(--primary-color);flex-shrink:0}.task-card__content{display:flex;flex-direction:column;gap:.25rem;min-width:0}.task-card__top-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.task-card__phase-dot{width:.625rem;height:.625rem;border-radius:50%;flex-shrink:0}.task-card__seed-name{font-size:.9375rem;font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-card__phase-label{font-size:.875rem;color:var(--text-muted)}.task-card__date-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.task-card__date-input{font-size:.875rem;color:var(--text-color);background:transparent;border:1px solid transparent;border-radius:4px;padding:.125rem .25rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}.task-card__date-input:hover{border-color:var(--border-color);background:var(--card-bg)}.task-card__date-input:focus{outline:none;border-color:var(--primary-color);background:var(--card-bg)}.task-card__status-chip{display:inline-flex;align-items:center;font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:999px;border:1px solid currentColor}.task-card__status-chip--pending{color:var(--text-muted);border-color:var(--border-color)}.task-card__status-chip--done{color:#10b981;border-color:#10b981;background-color:#10b98114}.task-card__status-chip--skipped{color:#f59e0b;border-color:#f59e0b;background-color:#f59e0b14}.task-card__notes{font-size:.8125rem;color:var(--text-muted);font-style:italic;max-width:400px}.task-card__notes-input{width:100%;max-width:400px;font-size:.8125rem;color:var(--text-color);background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;padding:.25rem .5rem;resize:vertical;min-height:3rem;font-family:inherit}.task-card__notes-input:focus{outline:none;border-color:var(--primary-color)}.task-card__actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.task-card__action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-muted);transition:background-color .15s ease,color .15s ease}.task-card__action-btn:hover{background-color:var(--hover-bg, rgba(0, 0, 0, .06));color:var(--text-color)}.task-card__action-btn--danger:hover{background-color:#ef44441a;color:#ef4444}.task-card__action-btn--skip:hover{background-color:#f59e0b1a;color:#f59e0b}@media (max-width: 640px){.task-card{grid-template-columns:1.75rem 1fr}.task-card__actions{grid-column:2;justify-content:flex-end}}.manual-task-dialog__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.manual-task-dialog{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg, 12px);padding:1.5rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.manual-task-dialog__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.manual-task-dialog__title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.manual-task-dialog__close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.25rem;border-radius:var(--border-radius, 6px);display:flex;align-items:center}.manual-task-dialog__close:hover{background:var(--bg-hover);color:var(--text-primary)}.manual-task-dialog__form{display:flex;flex-direction:column;gap:1rem}.manual-task-dialog__field{display:flex;flex-direction:column;gap:.375rem}.manual-task-dialog__row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.manual-task-dialog__label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.manual-task-dialog__optional{color:var(--text-secondary);font-weight:400}.manual-task-dialog__select,.manual-task-dialog__input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 6px);background:var(--bg-input, var(--bg-primary));color:var(--text-primary);font-size:.9rem}.manual-task-dialog__select:focus,.manual-task-dialog__input:focus{outline:none;border-color:var(--color-primary, #42a5f5);box-shadow:0 0 0 2px #42a5f533}.manual-task-dialog__textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 6px);background:var(--bg-input, var(--bg-primary));color:var(--text-primary);font-size:.9rem;resize:vertical;font-family:inherit}.manual-task-dialog__textarea:focus{outline:none;border-color:var(--color-primary, #42a5f5)}.manual-task-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.manual-task-dialog__cancel{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 6px);background:none;color:var(--text-secondary);cursor:pointer;font-size:.9rem}.manual-task-dialog__cancel:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.manual-task-dialog__submit{padding:.5rem 1.25rem;border:none;border-radius:var(--border-radius, 6px);background:var(--color-primary, #42a5f5);color:#fff;cursor:pointer;font-size:.9rem;font-weight:500}.manual-task-dialog__submit:hover:not(:disabled){opacity:.9}.manual-task-dialog__submit:disabled,.manual-task-dialog__cancel:disabled{opacity:.6;cursor:not-allowed}.gantt-view{display:flex;flex-direction:column;gap:1rem}.gantt-view__controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.gantt-view__scale-tabs{display:flex;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.gantt-view__scale-tab{padding:.375rem .875rem;background:none;border:none;border-right:1px solid var(--border-color);cursor:pointer;font-size:.875rem;color:var(--text-muted);text-transform:capitalize;transition:background .1s,color .1s}.gantt-view__scale-tab:last-child{border-right:none}.gantt-view__scale-tab:hover{background:var(--hover-bg);color:var(--text-color)}.gantt-view__scale-tab--active{background:var(--primary-color);color:#fff}.gantt-view__nav{display:flex;align-items:center;gap:.5rem}.gantt-view__nav-btn{display:flex;align-items:center;justify-content:center;padding:.375rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background:none;cursor:pointer;color:var(--text-color);transition:background .1s}.gantt-view__nav-btn:hover{background:var(--hover-bg)}.gantt-view__view-label{font-size:.9375rem;font-weight:500;color:var(--text-color);min-width:9rem;text-align:center}.gantt-view__today-btn{padding:.375rem .875rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background:none;cursor:pointer;font-size:.875rem;color:var(--text-color);transition:background .1s}.gantt-view__today-btn:hover{background:var(--hover-bg)}.gantt-view__grid{display:flex;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;background:var(--card-bg)}.gantt-view__labels{flex-shrink:0;border-right:2px solid var(--border-color);background:var(--card-bg);z-index:2}.gantt-view__label-spacer{border-bottom:1px solid var(--border-color)}.gantt-view__bed-label{display:flex;align-items:center;padding:0 .625rem;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-secondary, #f0f0f0);border-bottom:1px solid var(--border-color)}.gantt-view__row-label{display:flex;align-items:center;padding:0 .625rem;font-size:.8125rem;color:var(--text-color);border-bottom:1px solid var(--border-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-view__timeline-wrapper{flex:1;overflow-x:auto;min-width:0}.gantt-view__timeline{min-width:100%;position:relative}.gantt-view__time-header{position:relative;border-bottom:2px solid var(--border-color);background:var(--card-bg);overflow:hidden}.gantt-view__time-tick{position:absolute;top:50%;transform:translateY(-50%);font-size:.6875rem;color:var(--text-muted);white-space:nowrap;padding-left:.25rem;pointer-events:none}.gantt-view__rows{position:relative}.gantt-view__today-line{position:absolute;top:0;bottom:0;width:2px;background:#ef4444;z-index:10;pointer-events:none}.gantt-view__today-line:before{content:"";position:absolute;top:-1px;left:-4px;width:10px;height:10px;background:#ef4444;border-radius:50%}.gantt-view__bed-row{background:var(--bg-secondary, #f0f0f0);border-bottom:1px solid var(--border-color)}.gantt-view__plant-row{position:relative;border-bottom:1px solid var(--border-color);background:var(--card-bg)}.gantt-view__plant-row:nth-child(2n){background:#00000003}.gantt-view__task-pill{position:absolute;top:50%;transform:translateY(-50%);height:20px;min-width:10px;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0 4px;opacity:.88;-webkit-user-select:none;user-select:none;z-index:5;transition:opacity .1s,transform .1s,box-shadow .1s}.gantt-view__task-pill--lifecycle{cursor:grab}.gantt-view__task-pill--lifecycle:hover{opacity:1;transform:translateY(-50%) scaleY(1.15);z-index:20}.gantt-view__task-pill--dragging{cursor:grabbing!important;opacity:1;z-index:50;box-shadow:0 4px 16px #0000004d;transform:translateY(-50%) scaleY(1.2)}.gantt-view__task-pill--done{opacity:.35}.gantt-view__task-abbrev{font-size:.5625rem;font-weight:800;color:#fff;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3);pointer-events:none}.gantt-view__legend{display:flex;flex-wrap:wrap;gap:.875rem;font-size:.8125rem;color:var(--text-muted)}.gantt-view__legend-item{display:flex;align-items:center;gap:.375rem}.gantt-view__legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;flex-shrink:0}.gantt-view__legend-today-line{display:inline-block;width:3px;height:14px;background:#ef4444;border-radius:2px;flex-shrink:0}.plan-tasks-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.plan-tasks-page__back-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.9375rem;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:color .2s ease;margin-bottom:1rem}.plan-tasks-page__back-link:hover{color:var(--text-color)}.plan-tasks-page__header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.plan-tasks-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0}.plan-tasks-page__subtitle{font-size:1rem;color:var(--text-muted);margin:.25rem 0 0}.plan-tasks-page__view-toggle{display:flex;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.plan-tasks-page__view-btn{display:flex;align-items:center;justify-content:center;padding:.5rem .625rem;background:none;border:none;border-right:1px solid var(--border-color);cursor:pointer;color:var(--text-muted);transition:background .1s,color .1s}.plan-tasks-page__view-btn:last-child{border-right:none}.plan-tasks-page__view-btn:hover{background:var(--hover-bg);color:var(--text-color)}.plan-tasks-page__view-btn--active{background:var(--primary-color);color:#fff}.plan-tasks-page__generate-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.plan-tasks-page__generate-btn:hover{background-color:var(--primary-light, var(--primary-color));opacity:.9}.plan-tasks-page__filters{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.plan-tasks-page__filter-label{font-size:.875rem;color:var(--text-muted);flex-shrink:0}.plan-tasks-page__filter-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.8125rem;font-weight:500;border-radius:999px;cursor:pointer;border:1px solid var(--border-color);background:transparent;color:var(--text-color);transition:background-color .15s,border-color .15s}.plan-tasks-page__filter-chip--active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.plan-tasks-page__filter-chip:hover:not(.plan-tasks-page__filter-chip--active){background-color:var(--hover-bg, rgba(0, 0, 0, .05))}.plan-tasks-page__month-group{margin-bottom:1.5rem}.plan-tasks-page__month-header{font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:.5rem 0;margin-bottom:.25rem;border-bottom:1px solid var(--border-color)}.plan-tasks-page__task-list{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.plan-tasks-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}.plan-tasks-page__empty-icon{color:var(--text-muted);margin-bottom:1rem;opacity:.4}.plan-tasks-page__empty-title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.plan-tasks-page__empty-description{font-size:.9375rem;color:var(--text-muted);margin:0 0 1.5rem;max-width:320px}.plan-tasks-page__empty-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.plan-tasks-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}@media (max-width: 768px){.plan-tasks-page{padding:1rem}.plan-tasks-page__header{flex-direction:column;align-items:stretch}.plan-tasks-page__generate-btn{justify-content:center}}.plan-tasks-page__header-btns{display:flex;gap:.5rem;align-items:center}.plan-tasks-page__add-task-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius, 6px);background:none;color:var(--text-primary);cursor:pointer;font-size:.9rem;font-weight:500}.plan-tasks-page__add-task-btn:hover{background:var(--bg-hover)}.plan-tasks-page__care-section{margin-bottom:1.5rem}.plan-tasks-page__care-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.plan-tasks-page__care-list{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:var(--border-radius-lg, 12px);overflow:hidden}.plan-tasks-page__care-item{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border-bottom:1px solid var(--border-color);background:var(--bg-primary);transition:background .15s}.plan-tasks-page__care-item:last-child{border-bottom:none}.plan-tasks-page__care-item:hover{background:var(--bg-hover)}.plan-tasks-page__care-item--done .plan-tasks-page__care-title-text{text-decoration:line-through;opacity:.5}.plan-tasks-page__care-checkbox{width:20px;height:20px;border:2px solid var(--border-color);border-radius:4px;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,background .15s}.plan-tasks-page__care-checkbox:hover{border-color:var(--color-primary, #42a5f5)}.plan-tasks-page__care-checkbox--checked{background:var(--color-primary, #42a5f5);border-color:var(--color-primary, #42a5f5);color:#fff}.plan-tasks-page__care-info{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.plan-tasks-page__care-title-text{font-size:.9rem;color:var(--text-primary)}.plan-tasks-page__care-plant{font-size:.78rem;color:var(--text-secondary)}.plan-tasks-page__care-date{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.plan-tasks-page__care-delete{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.25rem;border-radius:4px;display:flex;align-items:center;opacity:0;transition:opacity .15s}.plan-tasks-page__care-item:hover .plan-tasks-page__care-delete{opacity:1}.plan-tasks-page__care-delete:hover{color:var(--color-error, #ef5350)}.seeds-list{display:flex;flex-direction:column;gap:.5rem}.seeds-list__item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background-color:var(--background);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:background-color .2s ease}.seeds-list__item:hover{background-color:var(--hover-bg)}.seeds-list__info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.seeds-list__name{font-size:.9375rem;font-weight:500;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seeds-list__badge{flex-shrink:0;padding:.125rem .5rem;font-size:.75rem;font-weight:500;border-radius:100px;text-transform:capitalize}.seeds-list__badge--vegetable{background-color:#4caf5026;color:#2e7d32}.seeds-list__badge--herb{background-color:#673ab726;color:#5e35b1}.seeds-list__badge--flower{background-color:#e91e6326;color:#c2185b}.seeds-list__remove{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:background-color .2s ease,color .2s ease}.seeds-list__remove:hover{background-color:var(--error-bg);color:var(--error-color)}@media (prefers-color-scheme: dark){.seeds-list__badge--vegetable{background-color:#4caf5033;color:#81c784}.seeds-list__badge--herb{background-color:#673ab733;color:#b39ddb}.seeds-list__badge--flower{background-color:#e91e6333;color:#f48fb1}}@media (max-width: 480px){.seeds-list__item{padding:.625rem .75rem}.seeds-list__info{flex-wrap:wrap;gap:.25rem .5rem}}.add-seeds-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:addSeedsDialogFadeIn .2s ease}@keyframes addSeedsDialogFadeIn{0%{opacity:0}to{opacity:1}}.add-seeds-dialog{position:relative;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);animation:addSeedsDialogSlideIn .2s ease}@keyframes addSeedsDialogSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.add-seeds-dialog__close{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease,color .2s ease;z-index:1}.add-seeds-dialog__close:hover:not(:disabled){background-color:var(--nav-link-hover-bg);color:var(--text-color)}.add-seeds-dialog__close:disabled{opacity:.5;cursor:not-allowed}.add-seeds-dialog__title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0;padding:1.5rem 3rem 1rem 1.5rem}.add-seeds-dialog__search{position:relative;padding:0 1.5rem;margin-bottom:1rem}.add-seeds-dialog__search-icon{position:absolute;left:2.25rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.add-seeds-dialog__search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;font-size:.9375rem;font-family:inherit;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .2s ease,box-shadow .2s ease}.add-seeds-dialog__search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2c5f2d26}.add-seeds-dialog__search-input:disabled{opacity:.6;cursor:not-allowed}.add-seeds-dialog__list{flex:1;overflow-y:auto;padding:0 .5rem;margin:0 1rem 1rem;min-height:200px;max-height:300px}.add-seeds-dialog__loading{display:flex;align-items:center;justify-content:center;padding:3rem}.add-seeds-dialog__empty{display:flex;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--text-muted)}.add-seeds-dialog__item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;background:transparent;border:none;border-radius:var(--border-radius);cursor:pointer;text-align:left;transition:background-color .2s ease}.add-seeds-dialog__item:hover:not(:disabled){background-color:var(--hover-bg)}.add-seeds-dialog__item:disabled{opacity:.6;cursor:not-allowed}.add-seeds-dialog__item--selected{background-color:#2c5f2d1a}.add-seeds-dialog__item--selected:hover:not(:disabled){background-color:#2c5f2d26}.add-seeds-dialog__checkbox{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:2px solid var(--border-color);border-radius:4px;color:#fff;transition:background-color .2s ease,border-color .2s ease}.add-seeds-dialog__item--selected .add-seeds-dialog__checkbox{background-color:var(--primary-color);border-color:var(--primary-color)}.add-seeds-dialog__seed-name{flex:1;font-size:.9375rem;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-seeds-dialog__badge{flex-shrink:0;padding:.125rem .5rem;font-size:.75rem;font-weight:500;border-radius:100px;text-transform:capitalize}.add-seeds-dialog__badge--vegetable{background-color:#4caf5026;color:#2e7d32}.add-seeds-dialog__badge--herb{background-color:#673ab726;color:#5e35b1}.add-seeds-dialog__badge--flower{background-color:#e91e6326;color:#c2185b}.add-seeds-dialog__actions{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border-color)}.add-seeds-dialog__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease;min-width:100px}.add-seeds-dialog__button:disabled{opacity:.6;cursor:not-allowed}.add-seeds-dialog__button--primary{background-color:var(--primary-color);color:#fff;border:none}.add-seeds-dialog__button--primary:hover:not(:disabled){background-color:var(--primary-light)}.add-seeds-dialog__button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.add-seeds-dialog__button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}@media (prefers-color-scheme: dark){.add-seeds-dialog__item--selected{background-color:#4caf5026}.add-seeds-dialog__item--selected:hover:not(:disabled){background-color:#4caf5033}.add-seeds-dialog__badge--vegetable{background-color:#4caf5033;color:#81c784}.add-seeds-dialog__badge--herb{background-color:#673ab733;color:#b39ddb}.add-seeds-dialog__badge--flower{background-color:#e91e6333;color:#f48fb1}}@media (max-width: 480px){.add-seeds-dialog{max-height:90vh;margin:.5rem}.add-seeds-dialog__title{padding:1.25rem 3rem .75rem 1.25rem}.add-seeds-dialog__search{padding:0 1.25rem}.add-seeds-dialog__list{margin:0 .75rem 1rem}.add-seeds-dialog__actions{flex-direction:column-reverse;padding:1rem 1.25rem 1.25rem}.add-seeds-dialog__button{width:100%}}.garden-canvas-container{position:relative;width:100%;height:100%;overflow:hidden;background-color:var(--background)}.garden-canvas-container canvas{display:block}.canvas-toolbar{display:flex;flex-direction:column;gap:4px;padding:8px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);position:absolute;top:16px;left:16px;z-index:100}.canvas-toolbar__button{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid transparent;border-radius:var(--border-radius);background-color:transparent;color:var(--text-color);cursor:pointer;font-size:14px;font-family:inherit;transition:background-color .15s,border-color .15s;white-space:nowrap}.canvas-toolbar__button:hover{background-color:var(--hover-bg, rgba(0, 0, 0, .05))}.canvas-toolbar__button--active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.canvas-toolbar__button--active:hover{background-color:var(--primary-color)}.canvas-toolbar__label{font-size:13px}.canvas-toolbar__separator{height:1px;background-color:var(--border-color);margin:4px 0}.canvas-toolbar__button--image-active{color:var(--primary-color);border-color:var(--primary-color);background-color:color-mix(in srgb,var(--primary-color) 10%,transparent)}.canvas-toolbar__button--image-active:hover{background-color:color-mix(in srgb,var(--primary-color) 15%,transparent)}@media (max-width: 768px){.canvas-toolbar__label{display:none}.canvas-toolbar__button{padding:10px}}.properties-panel{position:absolute;top:16px;right:16px;width:240px;padding:16px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);z-index:100}.properties-panel__title{font-size:14px;font-weight:600;color:var(--text-color);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.properties-panel__field{margin-bottom:12px}.properties-panel__label{display:block;font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:4px}.properties-panel__input{width:100%;padding:8px 10px;font-size:14px;font-family:inherit;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--card-bg);color:var(--text-color);transition:border-color .15s}.properties-panel__input:focus{outline:none;border-color:var(--primary-color)}.properties-panel__input[type=number]{-moz-appearance:textfield}.properties-panel__input[type=number]::-webkit-outer-spin-button,.properties-panel__input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.properties-panel__color-input{width:100%;height:36px;padding:2px;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;background-color:transparent}.properties-panel__color-input:focus{outline:none;border-color:var(--primary-color)}.properties-panel__actions{display:flex;flex-direction:column;gap:6px;margin-top:16px}.properties-panel__duplicate-button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:9px;font-size:13px;font-family:inherit;font-weight:500;color:var(--primary-color);background-color:color-mix(in srgb,var(--primary-color) 8%,transparent);border:1px solid var(--primary-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .15s}.properties-panel__duplicate-button:hover{background-color:color-mix(in srgb,var(--primary-color) 15%,transparent)}.properties-panel__delete-button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;margin-top:0;font-size:14px;font-family:inherit;font-weight:500;color:var(--error-color);background-color:var(--error-bg);border:1px solid var(--error-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .15s,opacity .15s}.properties-panel__delete-button:hover{opacity:.9}@media (max-width: 768px){.properties-panel{width:200px;padding:12px;right:8px;top:auto;bottom:16px}}.garden-planner-map-page{position:relative;width:100%;height:calc(100vh - 64px);overflow:hidden}.garden-planner-map-page>.garden-canvas-container{position:absolute;top:0;left:0;right:0;bottom:0}@media (max-width: 768px){.garden-planner-map-page{height:calc(100vh - 56px)}}.seed-palette{width:200px;min-width:180px;background:var(--card-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.seed-palette__title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:12px 12px 4px;margin:0}.seed-palette__hint{font-size:.7rem;color:var(--text-muted);padding:0 12px 10px;margin:0;line-height:1.4;border-bottom:1px solid var(--border-color)}.seed-palette__empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 12px;color:var(--text-muted);font-size:.8rem;text-align:center}.seed-palette__list{list-style:none;margin:0;padding:6px 0;overflow-y:auto;flex:1}.seed-palette__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;text-align:left;color:var(--text-color);transition:background .15s;border-left:3px solid transparent}.seed-palette__item:hover{background:var(--hover-bg, rgba(0,0,0,.05))}.seed-palette__item--active{background:color-mix(in srgb,var(--seed-color) 12%,transparent);border-left-color:var(--seed-color)}.seed-palette__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.seed-palette__names{display:flex;flex-direction:column;flex:1;min-width:0}.seed-palette__name{font-size:.82rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seed-palette__variety{font-size:.72rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seed-palette__active-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;color:var(--seed-color);flex-shrink:0}.zone-properties-panel{position:absolute;right:0;top:0;bottom:0;width:200px;background:var(--card-bg);border-left:1px solid var(--border-color);padding:14px 12px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;z-index:10}.zone-properties-panel__title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 6px}.zone-properties-panel__seed{display:flex;align-items:center;gap:8px;padding:8px;background:var(--hover-bg, rgba(0,0,0,.04));border-radius:6px;margin-bottom:4px}.zone-properties-panel__seed-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.zone-properties-panel__seed-name{font-size:.82rem;font-weight:500}.zone-properties-panel__section-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:6px}.zone-properties-panel__row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem}.zone-properties-panel__label{color:var(--text-muted);font-size:.78rem}.zone-properties-panel__value{font-weight:500;font-size:.82rem}.zone-properties-panel__field{display:flex;flex-direction:column;gap:3px}.zone-properties-panel__input{width:100%;padding:5px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--input-bg, var(--card-bg));color:var(--text-color);font-size:.82rem}.zone-properties-panel__input:focus{outline:none;border-color:var(--primary-color, #3b82f6)}.zone-properties-panel__result{display:flex;align-items:center;gap:6px;padding:8px;background:color-mix(in srgb,var(--primary-color, #3b82f6) 10%,transparent);border-radius:6px;margin-top:4px;color:var(--text-color);font-size:.82rem;flex-wrap:wrap}.zone-properties-panel__result-label{flex:1}.zone-properties-panel__result-orientation{font-size:.7rem;color:var(--text-muted);width:100%;padding-left:20px}.zone-properties-panel__delete-button{display:flex;align-items:center;gap:6px;width:100%;padding:7px 10px;margin-top:auto;background:none;border:1px solid var(--error-color, #ef4444);border-radius:6px;color:var(--error-color, #ef4444);cursor:pointer;font-size:.82rem;transition:background .15s}.zone-properties-panel__delete-button:hover{background:color-mix(in srgb,var(--error-color, #ef4444) 10%,transparent)}.plan-canvas-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--background)}.plan-canvas-page--loading,.plan-canvas-page--error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100vh;color:var(--text-muted)}.plan-canvas-page__header{display:flex;align-items:center;gap:16px;padding:8px 16px;background:var(--card-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;min-height:48px}.plan-canvas-page__back{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:.82rem;padding:4px 8px;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0}.plan-canvas-page__back:hover{color:var(--text-color);background:var(--hover-bg, rgba(0,0,0,.05))}.plan-canvas-page__title-group{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0}.plan-canvas-page__title{font-size:1rem;font-weight:600;margin:0}.plan-canvas-page__year{font-size:.82rem;color:var(--text-muted)}.plan-canvas-page__map-selector{display:flex;align-items:center;gap:6px;color:var(--text-muted);flex-shrink:0}.plan-canvas-page__map-select-wrap{position:relative;display:flex;align-items:center}.plan-canvas-page__map-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:5px 28px 5px 10px;font-size:.82rem;font-family:inherit;border:1px solid var(--border-color);border-radius:var(--border-radius);background:var(--card-bg);color:var(--text-color);cursor:pointer;transition:border-color .15s}.plan-canvas-page__map-select:focus{outline:none;border-color:var(--primary-color)}.plan-canvas-page__map-select-icon{position:absolute;right:8px;pointer-events:none;color:var(--text-muted)}.plan-canvas-page__map-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgba(var(--background-rgb, 255,255,255),.7);z-index:10}.plan-canvas-page__bg-toggle{display:flex;align-items:center;gap:5px;font-size:.82rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.plan-canvas-page__bg-toggle input[type=checkbox]{cursor:pointer;accent-color:var(--primary-color)}.plan-canvas-page__draw-hint{font-size:.78rem;color:var(--text-muted);padding:4px 10px;background:color-mix(in srgb,var(--primary-color, #3b82f6) 10%,transparent);border-radius:20px;flex-shrink:0}.plan-canvas-page__draw-hint kbd{display:inline-block;padding:1px 4px;background:var(--border-color);border-radius:3px;font-size:.72rem;font-family:monospace}.plan-canvas-page__body{display:flex;flex:1;overflow:hidden;position:relative}.plan-canvas-page__canvas-area{flex:1;position:relative;overflow:hidden}.zone-canvas-container{width:100%;height:100%;overflow:hidden;position:relative}.zone-canvas-container canvas{display:block}.zone-canvas-snap-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:500;pointer-events:none;background:#0000008c;color:#fff}.plan-canvas-page__no-map{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;color:var(--text-muted);font-size:.9rem;z-index:5;pointer-events:none}.plan-canvas-page__no-map p{margin:0;pointer-events:auto}.plan-canvas-page__map-link{background:none;border:none;cursor:pointer;color:var(--primary-color, #3b82f6);text-decoration:underline;font-size:inherit;padding:0}.calendar-tfb{display:flex;align-items:center;gap:.25rem;width:100%}.calendar-tfb--grayed{opacity:.6}.calendar-tfb__icon-wrapper{flex-shrink:0;width:16px;display:flex;align-items:center;justify-content:center}.calendar-tfb__type-icon{flex-shrink:0}.calendar-tfb__bar{display:grid;grid-template-columns:repeat(48,1fr);flex:1;height:16px;border:1px solid var(--border-color);border-radius:4px;overflow:hidden;-webkit-user-select:none;user-select:none;background-color:var(--card-bg)}.calendar-tfb__bar--empty{opacity:.3}.calendar-tfb-cell{position:relative;display:flex;align-items:center;justify-content:center;height:100%;background-color:transparent}.calendar-tfb-cell:not(:last-child){border-right:1px dotted var(--calendar-divider-color, rgba(0, 0, 0, .1))}.calendar-tfb-cell:nth-child(2n):not(:last-child){border-right:1px dotted var(--calendar-divider-color, rgba(0, 0, 0, .15))}.calendar-tfb-cell:nth-child(4n):not(:last-child){border-right:1px solid var(--calendar-month-divider-color, rgba(0, 0, 0, .25))}.calendar-tfb-cell__icon{color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}@media (prefers-color-scheme: dark){.calendar-tfb-cell:not(:last-child){border-right-color:var(--calendar-divider-color, rgba(255, 255, 255, .1))}.calendar-tfb-cell:nth-child(2n):not(:last-child){border-right-color:var(--calendar-divider-color, rgba(255, 255, 255, .15))}.calendar-tfb-cell:nth-child(4n):not(:last-child){border-right-color:var(--calendar-month-divider-color, rgba(255, 255, 255, .3))}.calendar-tfb-cell__icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}}@media (max-width: 768px){.calendar-tfb__bar{height:14px}.calendar-tfb-cell__icon{width:6px;height:6px}}.tip-popover{position:relative;display:inline-flex}.tip-popover__trigger{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:background-color .15s ease}.tip-popover__trigger:hover{background-color:var(--hover-bg, rgba(0, 0, 0, .05))}.tip-popover__trigger:focus{outline:none;box-shadow:0 0 0 2px var(--primary-color)}.tip-popover__content{position:fixed;padding:.5rem .75rem;background-color:var(--popover-bg, var(--card-bg));border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;min-width:200px;max-width:280px;z-index:1000}.tip-popover__content:after{content:"";position:absolute;top:100%;right:.5rem;border:6px solid transparent;border-top-color:var(--popover-bg, var(--card-bg))}.tip-popover__content:before{content:"";position:absolute;top:100%;right:calc(.5rem - 1px);border:7px solid transparent;border-top-color:var(--border-color)}.tip-popover__header{display:flex;align-items:center;gap:.375rem;margin-bottom:.375rem}.tip-popover__title{font-size:.75rem;font-weight:600;color:var(--text-color)}.tip-popover__body{font-size:.8125rem;line-height:1.4;color:var(--text-muted)}@media (prefers-color-scheme: dark){.tip-popover__trigger:hover{background-color:var(--hover-bg, rgba(255, 255, 255, .08))}.tip-popover__content{box-shadow:0 4px 12px #0006}}@media (max-width: 768px){.tip-popover__content{min-width:180px;max-width:240px}}.zone-indicator{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.125rem .375rem;font-size:.625rem;font-weight:600;border-radius:4px;white-space:nowrap;text-transform:uppercase;letter-spacing:.025em}.zone-indicator__warning-icon{flex-shrink:0}.zone-indicator--match{background-color:var(--zone-match-bg, rgba(76, 175, 80, .15));color:var(--zone-match-color, var(--primary-color))}.zone-indicator--mismatch{background-color:var(--zone-mismatch-bg, rgba(255, 179, 0, .15));color:var(--zone-mismatch-color, #f57c00)}@media (prefers-color-scheme: dark){.zone-indicator--match{background-color:var(--zone-match-bg, rgba(76, 175, 80, .2));color:var(--zone-match-color, #81c784)}.zone-indicator--mismatch{background-color:var(--zone-mismatch-bg, rgba(255, 179, 0, .2));color:var(--zone-mismatch-color, #ffb74d)}}.calendar-row-ov{display:grid;grid-template-columns:180px 1fr;gap:.5rem;padding:.5rem 1rem;border-bottom:1px solid var(--border-color);align-items:center}.calendar-row-ov:last-child{border-bottom:none}.calendar-row-ov:hover{background-color:var(--hover-bg, rgba(0, 0, 0, .02))}.calendar-row-ov__species{display:flex;align-items:center}.calendar-row-ov__timeline{min-width:300px}.calendar-row-ov__bar{display:grid;grid-template-columns:repeat(48,1fr);height:20px;border:1px solid var(--border-color);border-radius:4px;overflow:hidden;background-color:var(--card-bg)}.calendar-ov-cell{height:100%;background-color:transparent}.calendar-ov-cell:not(:last-child){border-right:1px dotted var(--calendar-divider-color, rgba(0, 0, 0, .1))}.calendar-ov-cell:nth-child(2n):not(:last-child){border-right:1px dotted var(--calendar-divider-color, rgba(0, 0, 0, .15))}.calendar-ov-cell:nth-child(4n):not(:last-child){border-right:1px solid var(--calendar-month-divider-color, rgba(0, 0, 0, .25))}.calendar-ov-cell--has-tip{cursor:help}.calendar-ov-tip{position:fixed;padding:.5rem .75rem;background-color:var(--popover-bg, var(--card-bg));border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;min-width:200px;max-width:280px;z-index:1000;pointer-events:none}.calendar-ov-tip__section{display:flex;flex-direction:column;gap:.125rem}.calendar-ov-tip__section+.calendar-ov-tip__section{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.calendar-ov-tip__header{font-size:.75rem;font-weight:600;color:var(--text-color);padding-left:.5rem;border-left:3px solid transparent}.calendar-ov-tip__body{font-size:.8125rem;line-height:1.4;color:var(--text-muted)}@media (prefers-color-scheme: dark){.calendar-row-ov:hover{background-color:var(--hover-bg, rgba(255, 255, 255, .03))}.calendar-ov-cell:not(:last-child){border-right-color:var(--calendar-divider-color, rgba(255, 255, 255, .1))}.calendar-ov-cell:nth-child(2n):not(:last-child){border-right-color:var(--calendar-divider-color, rgba(255, 255, 255, .15))}.calendar-ov-cell:nth-child(4n):not(:last-child){border-right-color:var(--calendar-month-divider-color, rgba(255, 255, 255, .3))}.calendar-ov-tip{box-shadow:0 4px 12px #0006}}@media (max-width: 1024px){.calendar-row-ov{grid-template-columns:140px 1fr;padding:.5rem}}@media (max-width: 768px){.calendar-row-ov{grid-template-columns:120px 1fr;padding:.5rem}}.calendar-table{display:flex;flex-direction:column;width:100%;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.calendar-header{display:grid;grid-template-columns:180px 1fr 120px;gap:.5rem;padding:.5rem 1rem;background-color:var(--header-bg, var(--card-bg));border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:5}.calendar-header__months{display:grid;grid-template-columns:repeat(12,1fr);gap:0;min-width:300px}.calendar-header__month{text-align:center;font-size:.75rem;font-weight:500;color:var(--text-muted);padding:.25rem 0}.calendar-header--overview{grid-template-columns:180px 1fr}.calendar-table__body{position:relative;overflow-x:auto}.calendar-table__timeline-container{position:relative;min-width:fit-content}.calendar-row{display:grid;grid-template-columns:180px 1fr 120px;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);align-items:flex-start}.calendar-row:last-child{border-bottom:none}.calendar-row:hover{background-color:var(--hover-bg, rgba(0, 0, 0, .02))}.calendar-row__species{display:flex;flex-direction:column;justify-content:center;min-height:100%;padding-top:.25rem}.calendar-row__name{font-size:.875rem;font-weight:500;color:var(--text-color);line-height:1.3}.calendar-row__variety{font-weight:400;color:var(--text-muted);font-size:.8125rem}.calendar-row__timeline{display:flex;flex-direction:column;gap:.25rem;min-width:300px}.calendar-row__no-timeframes{font-size:.75rem;color:var(--text-muted);font-style:italic;padding:.25rem 0}.calendar-row__details{display:flex;flex-direction:column;gap:.5rem;padding-top:.25rem}.calendar-row__metadata{display:flex;flex-wrap:wrap;gap:.25rem}.calendar-row__chip{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;border-radius:9999px;white-space:nowrap}.calendar-row__chip--family{background-color:var(--chip-family-bg, rgba(0, 0, 0, .06));color:var(--chip-family-color, var(--text-muted))}.calendar-row__chip--f1{background-color:var(--chip-f1-bg, #e8f5e9);color:var(--chip-f1-color, #2e7d32);font-weight:600}.calendar-row__tips{display:flex;flex-wrap:wrap;gap:.25rem}.today-line{position:absolute;top:0;width:2px;background-color:var(--today-line-color, #ef5350);z-index:10;pointer-events:none}@media (prefers-color-scheme: dark){.calendar-row:hover{background-color:var(--hover-bg, rgba(255, 255, 255, .03))}.calendar-row__chip--family{background-color:var(--chip-family-bg, rgba(255, 255, 255, .08))}.calendar-row__chip--f1{background-color:var(--chip-f1-bg, rgba(76, 175, 80, .2));color:var(--chip-f1-color, #81c784)}}@media (max-width: 1024px){.calendar-header--overview{grid-template-columns:140px 1fr}.calendar-header,.calendar-row{grid-template-columns:140px 1fr 100px;padding:.5rem}}@media (max-width: 768px){.calendar-header{grid-template-columns:120px 1fr;padding:.5rem}.calendar-header__details{display:none}.calendar-row{grid-template-columns:120px 1fr;padding:.5rem}.calendar-row__details{display:none}.calendar-header__month{font-size:.625rem}.calendar-row__name{font-size:.8125rem}.calendar-row__variety{font-size:.75rem}}.timeframe-filter{display:flex;flex-wrap:wrap;gap:.5rem}.timeframe-filter__chip{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;color:var(--text-color);background-color:transparent;border:1px solid var(--border-color);border-radius:9999px;cursor:pointer;transition:all .15s ease}.timeframe-filter__chip:hover{background-color:var(--hover-bg, rgba(0, 0, 0, .04));border-color:var(--text-muted)}.timeframe-filter__chip:focus{outline:none;box-shadow:0 0 0 2px var(--primary-color)}.timeframe-filter__chip--selected{background-color:var(--chip-color, var(--primary-color));border-color:var(--chip-color, var(--primary-color));color:#fff}.timeframe-filter__chip--selected:hover{background-color:var(--chip-color, var(--primary-color));border-color:var(--chip-color, var(--primary-color));opacity:.9}.timeframe-filter__chip--selected .timeframe-filter__icon{color:#fff!important}.timeframe-filter__icon{flex-shrink:0}.timeframe-filter__label{white-space:nowrap}@media (prefers-color-scheme: dark){.timeframe-filter__chip:hover{background-color:var(--hover-bg, rgba(255, 255, 255, .06))}}@media (max-width: 768px){.timeframe-filter{gap:.375rem}.timeframe-filter__chip{padding:.375rem .625rem;font-size:.75rem}.timeframe-filter__icon{width:12px;height:12px}}@media (max-width: 480px){.timeframe-filter{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem}.timeframe-filter__chip{justify-content:center}}.calendar-page{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.calendar-page__header{display:flex;flex-direction:column;gap:.5rem}.calendar-page__title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0}.calendar-page__description{font-size:.875rem;color:var(--text-muted);margin:0}.calendar-page__plan-selector-row{display:flex;justify-content:flex-start}.calendar-plan-selector{display:flex;align-items:center;gap:.75rem}.calendar-plan-selector__label{font-size:.9375rem;font-weight:500;color:var(--text-color);white-space:nowrap}.calendar-plan-selector__wrapper{position:relative;display:flex;align-items:center}.calendar-plan-selector__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.625rem 2.5rem .625rem 1rem;font-size:.9375rem;font-family:inherit;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;min-width:200px;transition:border-color .2s ease,box-shadow .2s ease}.calendar-plan-selector__select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2c5f2d26}.calendar-plan-selector__select:disabled{opacity:.6;cursor:not-allowed}.calendar-plan-selector__icon{position:absolute;right:.75rem;pointer-events:none;color:var(--text-muted)}.calendar-page__create-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);text-decoration:none;cursor:pointer;transition:background-color .2s ease}.calendar-page__create-button:hover{background-color:var(--primary-light)}.calendar-view-toggle{display:flex;gap:0;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;flex-shrink:0}.calendar-view-toggle__btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:transparent;border:none;cursor:pointer;font-size:.8125rem;color:var(--text-muted);transition:background-color .15s,color .15s;white-space:nowrap}.calendar-view-toggle__btn:first-child{border-right:1px solid var(--border-color)}.calendar-view-toggle__btn:hover{background-color:var(--hover-bg, rgba(0, 0, 0, .05));color:var(--text-color)}.calendar-view-toggle__btn--active,.calendar-view-toggle__btn--active:hover{background-color:var(--primary-color);color:#fff}.calendar-page__toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}.calendar-items-per-page{display:flex;align-items:center;gap:.5rem}.calendar-items-per-page__label{font-size:.8125rem;color:var(--text-muted);white-space:nowrap}.calendar-items-per-page__select{padding:.375rem .75rem;font-size:.875rem;color:var(--text-color);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer}.calendar-items-per-page__select:focus{outline:none;border-color:var(--primary-color)}.calendar-page__footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem}.calendar-page__count{font-size:.8125rem;color:var(--text-muted)}.calendar-pagination{display:flex;align-items:center;gap:.25rem}.calendar-pagination__btn{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 .5rem;font-size:.875rem;font-weight:500;color:var(--text-color);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:all .15s ease}.calendar-pagination__btn:hover:not(:disabled){background-color:var(--hover-bg, rgba(0, 0, 0, .04));border-color:var(--text-muted)}.calendar-pagination__btn:disabled{opacity:.5;cursor:not-allowed}.calendar-pagination__btn--active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.calendar-pagination__btn--active:hover:not(:disabled){background-color:var(--primary-color);border-color:var(--primary-color)}.calendar-pagination__ellipsis{padding:0 .5rem;color:var(--text-muted)}.calendar-page__loading{display:flex;justify-content:center;align-items:center;min-height:300px}.calendar-page__error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:200px;padding:2rem;text-align:center;color:var(--error-color, #ef5350)}.calendar-page__error-detail{font-size:.875rem;color:var(--text-muted)}.calendar-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;text-align:center;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}.calendar-page__empty-icon{color:var(--text-muted);opacity:.5}.calendar-page__empty-title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0}.calendar-page__empty-description{font-size:.875rem;color:var(--text-muted);margin:0;max-width:400px}.calendar-page__no-results{display:flex;align-items:center;justify-content:center;padding:2rem;font-size:.875rem;color:var(--text-muted);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}@media (prefers-color-scheme: dark){.calendar-pagination__btn:hover:not(:disabled){background-color:var(--hover-bg, rgba(255, 255, 255, .06))}}@media (max-width: 768px){.calendar-page{padding:1rem;gap:1rem}.calendar-page__title{font-size:1.25rem}.calendar-plan-selector{flex-direction:column;align-items:stretch;width:100%}.calendar-plan-selector__select{width:100%;min-width:unset}.calendar-page__toolbar{flex-direction:column;align-items:stretch}.calendar-items-per-page{justify-content:space-between}.calendar-page__footer{flex-direction:column;align-items:center}}.calendar-main-toggle{display:flex;border:1px solid var(--border-color);border-radius:var(--border-radius, 6px);overflow:hidden}.calendar-main-toggle__btn{display:flex;align-items:center;gap:.375rem;padding:.4rem .875rem;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--text-secondary);transition:background .15s,color .15s}.calendar-main-toggle__btn:hover{background:var(--bg-hover);color:var(--text-primary)}.calendar-main-toggle__btn--active{background:var(--color-primary, #42a5f5);color:#fff}.map-card{display:flex;flex-direction:column;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.map-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.map-card:focus{outline:2px solid var(--primary-color);outline-offset:2px}.map-card__preview{display:flex;align-items:center;justify-content:center;height:120px;background-color:var(--bg-color);border-bottom:1px solid var(--border-color)}.map-card__icon{color:var(--text-muted);opacity:.5}.map-card__content{padding:1rem}.map-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.map-card__name{font-size:1rem;font-weight:600;color:var(--text-color);margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-card__date{font-size:.8125rem;color:var(--text-muted);margin:.5rem 0 0}.map-card__menu{position:relative;flex-shrink:0}.map-card__menu-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:background-color .2s ease,color .2s ease}.map-card__menu-button:hover{background-color:var(--bg-color);color:var(--text-color)}.map-card__dropdown{position:absolute;top:100%;right:0;min-width:140px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;z-index:10;overflow:hidden}.map-card__dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.625rem .875rem;font-size:.875rem;color:var(--text-color);background:transparent;border:none;cursor:pointer;transition:background-color .2s ease;text-align:left}.map-card__dropdown-item:hover{background-color:var(--bg-color)}.map-card__dropdown-item--danger{color:var(--error-color)}.map-card__dropdown-item--danger:hover{background-color:rgba(var(--error-color-rgb, 220, 53, 69),.1)}.maps-list-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.maps-list-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.maps-list-page__header-text{flex:1}.maps-list-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.maps-list-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.maps-list-page__add-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.maps-list-page__add-button:hover{background-color:var(--primary-light)}.maps-list-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.maps-list-page__error{text-align:center;padding:2rem;color:var(--error-color)}.maps-list-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.maps-list-page__empty-icon{color:var(--text-muted);margin-bottom:1.5rem;opacity:.5}.maps-list-page__empty-title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.maps-list-page__empty-description{font-size:1rem;color:var(--text-muted);margin:0 0 1.5rem;max-width:400px}.maps-list-page__create-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.maps-list-page__create-button:hover{background-color:var(--primary-light)}.maps-list-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.maps-list-page__migration{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;margin-bottom:1.5rem;background-color:var(--info-bg, #e7f3ff);border:1px solid var(--info-border, #b6d4fe);border-radius:var(--border-radius)}.maps-list-page__migration-content{display:flex;align-items:center;gap:.75rem;color:var(--info-color, #084298)}.maps-list-page__migration-text h3{font-size:.9375rem;font-weight:600;margin:0 0 .25rem}.maps-list-page__migration-text p{font-size:.875rem;margin:0;opacity:.9}.maps-list-page__migration-actions{display:flex;gap:.5rem;flex-shrink:0}.maps-list-page__migration-dismiss{padding:.5rem 1rem;font-size:.875rem;color:var(--text-color);background:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.maps-list-page__migration-dismiss:hover:not(:disabled){background-color:var(--bg-color)}.maps-list-page__migration-import{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.maps-list-page__migration-import:hover:not(:disabled){background-color:var(--primary-light)}.maps-list-page__migration-dismiss:disabled,.maps-list-page__migration-import:disabled{opacity:.6;cursor:not-allowed}.maps-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.maps-dialog{background-color:var(--card-bg);border-radius:var(--border-radius);box-shadow:0 4px 24px #0003;width:100%;max-width:400px;padding:1.5rem}.maps-dialog__title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 1.5rem}.maps-dialog__message{font-size:.9375rem;color:var(--text-color);margin:0 0 1.5rem;line-height:1.5}.maps-dialog__field{margin-bottom:1.5rem}.maps-dialog__label{display:block;font-size:.875rem;font-weight:500;color:var(--text-color);margin-bottom:.5rem}.maps-dialog__input{width:100%;padding:.625rem .75rem;font-size:.9375rem;color:var(--text-color);background-color:var(--input-bg, var(--bg-color));border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .2s ease,box-shadow .2s ease}.maps-dialog__input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb, 66, 135, 245),.15)}.maps-dialog__input--error{border-color:var(--error-color)}.maps-dialog__error{font-size:.8125rem;color:var(--error-color);margin:.5rem 0 0}.maps-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem}.maps-dialog__cancel{padding:.625rem 1rem;font-size:.9375rem;color:var(--text-color);background:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.maps-dialog__cancel:hover:not(:disabled){background-color:var(--bg-color)}.maps-dialog__submit{display:inline-flex;align-items:center;justify-content:center;min-width:80px;padding:.625rem 1rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.maps-dialog__submit:hover:not(:disabled){background-color:var(--primary-light)}.maps-dialog__submit--danger{background-color:var(--error-color)}.maps-dialog__submit--danger:hover:not(:disabled){background-color:var(--error-color-light, #e04a5d)}.maps-dialog__cancel:disabled,.maps-dialog__submit:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.maps-list-page{padding:1rem}.maps-list-page__header{flex-direction:column;align-items:stretch}.maps-list-page__title{font-size:1.5rem}.maps-list-page__add-button{justify-content:center}.maps-list-page__empty{padding:2rem 1rem}.maps-list-page__grid{grid-template-columns:1fr}.maps-list-page__migration{flex-direction:column;align-items:stretch;text-align:center}.maps-list-page__migration-content{flex-direction:column;text-align:center}.maps-list-page__migration-actions{justify-content:center}}.bg-image-panel{position:absolute;top:16px;right:16px;width:240px;padding:16px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);z-index:100}.bg-image-panel__title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text-color);margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.bg-image-panel__hint{font-size:11px;color:var(--text-muted);margin:0 0 14px;line-height:1.5}.bg-image-panel__field{margin-bottom:12px}.bg-image-panel__field--grow{flex:1;margin-bottom:0}.bg-image-panel__label{display:block;font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:4px}.bg-image-panel__input{width:100%;padding:8px 10px;font-size:14px;font-family:inherit;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--card-bg);color:var(--text-color);transition:border-color .15s;box-sizing:border-box}.bg-image-panel__input:focus{outline:none;border-color:var(--primary-color)}.bg-image-panel__input[type=number]{-moz-appearance:textfield}.bg-image-panel__input[type=number]::-webkit-outer-spin-button,.bg-image-panel__input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bg-image-panel__size-row{display:flex;align-items:flex-end;gap:8px;margin-bottom:12px}.bg-image-panel__lock-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:34px;height:36px;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:transparent;color:var(--text-muted);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}.bg-image-panel__lock-btn--active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.bg-image-panel__lock-btn:hover:not(.bg-image-panel__lock-btn--active){background-color:var(--hover-bg, rgba(0, 0, 0, .05))}.bg-image-panel__range{width:100%;cursor:pointer;accent-color:var(--primary-color)}.bg-image-panel__remove-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;margin-top:4px;font-size:14px;font-family:inherit;font-weight:500;color:var(--error-color);background-color:var(--error-bg);border:1px solid var(--error-color);border-radius:var(--border-radius);cursor:pointer;transition:opacity .15s}.bg-image-panel__remove-btn:hover{opacity:.85}.bg-image-panel__section{margin-bottom:4px}.bg-image-panel__divider{height:1px;background-color:var(--border-color);margin:12px 0}.bg-image-panel__calibrate-btn{display:flex;align-items:center;gap:6px;width:100%;padding:9px 12px;font-size:13px;font-family:inherit;font-weight:500;color:var(--primary-color);background-color:color-mix(in srgb,var(--primary-color) 8%,transparent);border:1px dashed var(--primary-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .15s}.bg-image-panel__calibrate-btn:hover{background-color:color-mix(in srgb,var(--primary-color) 15%,transparent)}.bg-image-panel__calibrating{display:flex;flex-direction:column;gap:8px}.bg-image-panel__calibrate-status{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-color);line-height:1.4}.bg-image-panel__calibrate-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background-color:#ef4444;animation:pulse 1.2s ease-in-out infinite}.bg-image-panel__calibrate-dot--second{background-color:#ef4444;opacity:.7}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.bg-image-panel__calibrate-prompt{font-size:12px;color:var(--text-muted);margin:0}.bg-image-panel__calibrate-input-row{display:flex;align-items:center;gap:6px}.bg-image-panel__calibrate-input-row .bg-image-panel__input{flex:1}.bg-image-panel__calibrate-unit{font-size:13px;font-weight:500;color:var(--text-muted);white-space:nowrap}.bg-image-panel__calibrate-actions{display:flex;gap:6px}.bg-image-panel__calibrate-apply{display:flex;align-items:center;gap:4px;flex:1;justify-content:center;padding:7px 10px;font-size:13px;font-family:inherit;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:opacity .15s}.bg-image-panel__calibrate-apply:disabled{opacity:.45;cursor:not-allowed}.bg-image-panel__calibrate-apply:not(:disabled):hover{opacity:.88}.bg-image-panel__calibrate-cancel{display:flex;align-items:center;gap:4px;padding:7px 10px;font-size:12px;font-family:inherit;color:var(--text-muted);background-color:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .15s}.bg-image-panel__calibrate-cancel:hover{background-color:var(--hover-bg, rgba(0,0,0,.05))}@media (max-width: 768px){.bg-image-panel{width:200px;padding:12px;right:8px;top:auto;bottom:16px}}.map-editor-page{display:flex;flex-direction:column;height:100vh;overflow:hidden}.map-editor-page__header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);flex-shrink:0}.map-editor-page__back-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;color:var(--text-color);background:transparent;border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.map-editor-page__back-link:hover{background-color:var(--bg-color)}.map-editor-page__title-container{flex:1;min-width:0}.map-editor-page__title{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0;cursor:pointer;padding:.25rem .5rem;border-radius:var(--border-radius);transition:background-color .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-editor-page__title:hover{background-color:var(--bg-color)}.map-editor-page__title-input{width:100%;font-size:1.125rem;font-weight:600;color:var(--text-color);background-color:var(--input-bg, var(--bg-color));border:1px solid var(--primary-color);border-radius:var(--border-radius);padding:.25rem .5rem;outline:none;box-shadow:0 0 0 3px rgba(var(--primary-color-rgb, 66, 135, 245),.15)}.map-editor-page__header-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.map-editor-page__save-indicator{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-muted)}.map-editor-page__save-icon{flex-shrink:0}.map-editor-page__save-icon--spinning{animation:spin 1s linear infinite}.map-editor-page__save-icon--success{color:var(--success-color, #28a745)}.map-editor-page__save-error{color:var(--error-color)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.map-editor-page__save-button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.map-editor-page__save-button:hover:not(:disabled){background-color:var(--primary-light)}.map-editor-page__save-button:disabled{opacity:.5;cursor:not-allowed}.map-editor-page__canvas-area{position:relative;flex:1;overflow:hidden}.map-editor-page__canvas-area>.garden-canvas-container{position:absolute;top:0;left:0;right:0;bottom:0}.map-editor-page__loading{display:flex;justify-content:center;align-items:center;height:100%}.map-editor-page__error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;height:100%;padding:2rem;text-align:center}.map-editor-page__error h2{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0}.map-editor-page__error p{font-size:1rem;color:var(--text-muted);margin:0}.map-editor-page__back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:500;color:var(--text-color);background:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.map-editor-page__back-button:hover{background-color:var(--bg-color)}@media (max-width: 768px){.map-editor-page__header{padding:.5rem}.map-editor-page__title{font-size:1rem}.map-editor-page__save-indicator,.map-editor-page__save-button span{display:none}.map-editor-page__save-button{padding:.5rem}}.journal-entry-card{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease}.journal-entry-card:hover{box-shadow:0 2px 8px #0000001a;border-color:var(--primary-color)}.journal-entry-card:focus{outline:2px solid var(--primary-color);outline-offset:2px}.journal-entry-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.journal-entry-card__type{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:9999px;text-transform:capitalize}.journal-entry-card__type--seedstarting{background-color:#4caf5026;color:#2e7d32}.journal-entry-card__type--direct_sow{background-color:#8b451326;color:#6d4c14}.journal-entry-card__type--transplant{background-color:#2196f326;color:#1565c0}.journal-entry-card__type--thinning{background-color:#9c27b026;color:#7b1fa2}.journal-entry-card__type--harvest{background-color:#ff980026;color:#e65100}.journal-entry-card__type--watering{background-color:#00bcd426;color:#00838f}.journal-entry-card__type--check_in{background-color:#9e9e9e26;color:#616161}@media (prefers-color-scheme: dark){.journal-entry-card__type--seedstarting{background-color:#4caf5033;color:#81c784}.journal-entry-card__type--direct_sow{background-color:#a0785033;color:#c9a66b}.journal-entry-card__type--transplant{background-color:#2196f333;color:#64b5f6}.journal-entry-card__type--thinning{background-color:#9c27b033;color:#ba68c8}.journal-entry-card__type--harvest{background-color:#ff980033;color:#ffb74d}.journal-entry-card__type--watering{background-color:#00bcd433;color:#4dd0e1}.journal-entry-card__type--check_in{background-color:#9e9e9e33;color:#bdbdbd}}.journal-entry-card__actions{position:relative}.journal-entry-card__menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:none;border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:background-color .2s ease,color .2s ease}.journal-entry-card__menu-btn:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.journal-entry-card__menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.journal-entry-card__menu{position:absolute;top:100%;right:0;z-index:11;min-width:150px;padding:.375rem 0;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026}.journal-entry-card__menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .875rem;font-size:.875rem;font-family:inherit;color:var(--text-color);background-color:transparent;border:none;cursor:pointer;text-align:left;transition:background-color .2s ease}.journal-entry-card__menu-item:hover{background-color:var(--nav-link-hover-bg)}.journal-entry-card__menu-item--danger{color:var(--error-color)}.journal-entry-card__title{font-size:1rem;font-weight:600;color:var(--text-color);margin:0 0 .375rem;line-height:1.4}.journal-entry-card__datetime{font-size:.8125rem;color:var(--text-muted);margin:0 0 .625rem}.journal-entry-card__description{font-size:.875rem;color:var(--text-muted);margin:0 0 .75rem;line-height:1.5}.journal-entry-card__thumbnails{display:flex;gap:.5rem;margin-top:.75rem}.journal-entry-card__thumbnail{position:relative;width:56px;height:56px;border-radius:var(--border-radius);overflow:hidden;background-color:var(--bg-primary)}.journal-entry-card__thumbnail img{width:100%;height:100%;object-fit:cover}.journal-entry-card__thumbnail--more{display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);color:var(--text-muted);font-size:.8125rem;font-weight:500}@media (max-width: 480px){.journal-entry-card__thumbnail{width:48px;height:48px}}.journal-month-group{margin-bottom:2rem}.journal-month-group__header{font-size:1.125rem;font-weight:600;color:var(--text-color);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border-color)}.journal-month-group__entries{display:flex;flex-direction:column;gap:.75rem}@media (max-width: 768px){.journal-month-group__header{font-size:1rem}}.journal-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.journal-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.journal-page__header-text{flex:1}.journal-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.journal-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.journal-page__header-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.journal-page__filter-wrapper{position:relative}.journal-page__filter-btn{display:flex;align-items:center;justify-content:center;position:relative;width:40px;height:40px;padding:0;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:border-color .2s ease,color .2s ease}.journal-page__filter-btn:hover{border-color:var(--primary-color);color:var(--text-color)}.journal-page__filter-btn--active{border-color:var(--primary-color);color:var(--primary-color)}.journal-page__filter-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;font-size:.6875rem;font-weight:600;color:#fff;background-color:var(--primary-color);border-radius:9999px;display:flex;align-items:center;justify-content:center}.journal-page__filter-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.journal-page__filter-menu{position:absolute;top:calc(100% + .5rem);right:0;z-index:11;min-width:200px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026}.journal-page__filter-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);font-size:.875rem;font-weight:500;color:var(--text-color)}.journal-page__filter-clear{font-size:.75rem;color:var(--primary-color);background:none;border:none;cursor:pointer;padding:0}.journal-page__filter-clear:hover{text-decoration:underline}.journal-page__filter-options{padding:.5rem 0;max-height:300px;overflow-y:auto}.journal-page__filter-option{display:flex;align-items:center;gap:.625rem;padding:.5rem 1rem;font-size:.875rem;color:var(--text-color);cursor:pointer;transition:background-color .2s ease}.journal-page__filter-option:hover{background-color:var(--nav-link-hover-bg)}.journal-page__filter-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer}.journal-page__add-button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.journal-page__add-button:hover{background-color:var(--primary-light)}.journal-page__active-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.journal-page__active-filter{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.8125rem;color:var(--primary-color);background-color:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:9999px;cursor:pointer;transition:background-color .2s ease}.journal-page__active-filter:hover{background-color:#4caf5033}.journal-page__content{margin-top:1rem}.journal-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.journal-page__error{text-align:center;padding:2rem;color:var(--error-color)}.journal-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.journal-page__empty-icon{color:var(--text-muted);opacity:.5;margin-bottom:1rem}.journal-page__empty-title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.journal-page__empty-text{font-size:.9375rem;color:var(--text-muted);margin:0 0 1.5rem;max-width:400px}.journal-page__empty-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--primary-color);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease}.journal-page__empty-cta:hover{background-color:var(--primary-light)}.journal-page__load-more{display:flex;justify-content:center;padding:2rem 0}.journal-page__end-message{font-size:.875rem;color:var(--text-muted);margin:0}@media (max-width: 768px){.journal-page{padding:1rem}.journal-page__header{flex-direction:column;align-items:stretch}.journal-page__title{font-size:1.5rem}.journal-page__header-actions{justify-content:flex-end}.journal-page__add-button span{display:none}.journal-page__add-button{width:40px;height:40px;padding:0;justify-content:center}}@media (max-width: 480px){.journal-page__filter-menu{position:fixed;left:1rem;right:1rem;top:auto;bottom:1rem;min-width:auto}}.image-upload-section__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.image-upload-section__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;border:2px dashed var(--border-color);border-radius:var(--border-radius);background-color:var(--bg-primary);transition:border-color .2s ease,background-color .2s ease}.image-upload-section__dropzone--dragging{border-color:var(--primary-color);background-color:#4caf500d}.image-upload-section__dropzone--disabled{opacity:.6;cursor:not-allowed}.image-upload-section__icon{color:var(--text-muted);margin-bottom:.75rem}.image-upload-section__text{font-size:.9375rem;color:var(--text-color);margin:0 0 1rem;text-align:center}.image-upload-section__buttons{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.image-upload-section__button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-family:inherit;font-weight:500;color:var(--primary-color);background-color:transparent;border:1px solid var(--primary-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,color .2s ease}.image-upload-section__button:hover:not(:disabled){background-color:var(--primary-color);color:#fff}.image-upload-section__button:disabled{opacity:.5;cursor:not-allowed}.image-upload-section__button--camera{display:none}@media (pointer: coarse){.image-upload-section__button--camera{display:inline-flex}}.image-upload-section__hint{font-size:.75rem;color:var(--text-muted);margin:.75rem 0 0;text-align:center}.image-upload-section__error{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;margin-top:.75rem;background-color:#d32f2f1a;border:1px solid rgba(211,47,47,.3);border-radius:var(--border-radius);color:var(--error-color);font-size:.875rem}.image-upload-section__error-dismiss{display:flex;align-items:center;justify-content:center;padding:.25rem;background-color:transparent;border:none;color:var(--error-color);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.image-upload-section__error-dismiss:hover{background-color:#d32f2f33}.image-upload-section__previews{margin-top:1rem}.image-upload-section__previews-title{font-size:.875rem;font-weight:500;color:var(--text-muted);margin:0 0 .75rem}.image-upload-section__preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem}.image-upload-section__preview{position:relative;aspect-ratio:1;border-radius:var(--border-radius);overflow:hidden;background-color:var(--bg-primary)}.image-upload-section__preview img{width:100%;height:100%;object-fit:cover}.image-upload-section__preview--uploading{opacity:.7}.image-upload-section__preview--error{border:2px solid var(--error-color)}.image-upload-section__preview-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background-color:#0000004d}.image-upload-section__preview-progress-bar{height:100%;background-color:var(--primary-color);transition:width .2s ease}.image-upload-section__preview-remove{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background-color:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:0;transition:opacity .2s ease,background-color .2s ease}.image-upload-section__preview:hover .image-upload-section__preview-remove{opacity:1}.image-upload-section__preview-remove:hover{background-color:var(--error-color)}.image-upload-section__preview-remove:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.image-upload-section__dropzone{padding:1rem}.image-upload-section__preview-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:.5rem}.image-upload-section__preview-remove{opacity:1}}.journal-entry-form{display:flex;flex-direction:column;gap:1.25rem}.journal-entry-form__field{display:flex;flex-direction:column;gap:.5rem}.journal-entry-form__label{font-size:.9375rem;font-weight:500;color:var(--text-color)}.journal-entry-form__required{color:var(--error-color)}.journal-entry-form__input,.journal-entry-form__select,.journal-entry-form__textarea{padding:.625rem .875rem;font-size:.9375rem;font-family:inherit;color:var(--text-color);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color .2s ease,box-shadow .2s ease}.journal-entry-form__input:focus,.journal-entry-form__select:focus,.journal-entry-form__textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #4caf5026}.journal-entry-form__input:disabled,.journal-entry-form__select:disabled,.journal-entry-form__textarea:disabled{opacity:.6;cursor:not-allowed}.journal-entry-form__input--error,.journal-entry-form__select--error{border-color:var(--error-color)}.journal-entry-form__input--error:focus,.journal-entry-form__select--error:focus{box-shadow:0 0 0 3px #d32f2f26}.journal-entry-form__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem;cursor:pointer}.journal-entry-form__textarea{resize:vertical;min-height:100px}.journal-entry-form__error{font-size:.8125rem;color:var(--error-color);margin:0}.journal-entry-form__actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.journal-entry-form__button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-family:inherit;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.journal-entry-form__button:disabled{opacity:.6;cursor:not-allowed}.journal-entry-form__button--primary{background-color:var(--primary-color);color:#fff;border:none}.journal-entry-form__button--primary:hover:not(:disabled){background-color:var(--primary-light)}.journal-entry-form__button--secondary{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color)}.journal-entry-form__button--secondary:hover:not(:disabled){background-color:var(--nav-link-hover-bg)}@media (max-width: 480px){.journal-entry-form__actions{flex-direction:column-reverse}.journal-entry-form__button{width:100%}}@media (prefers-color-scheme: dark){.journal-entry-form__select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}}.journal-entry-form-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.journal-entry-form-page__header{margin-bottom:2rem}.journal-entry-form-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.journal-entry-form-page__subtitle{font-size:1rem;color:var(--text-muted);margin:0}.journal-entry-form-page__content{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}.journal-entry-form-page__loading{display:flex;justify-content:center;align-items:center;min-height:200px}.journal-entry-form-page__error{text-align:center;padding:2rem;color:var(--error-color)}@media (max-width: 768px){.journal-entry-form-page{padding:1rem}.journal-entry-form-page__title{font-size:1.5rem}.journal-entry-form-page__content{padding:1rem}}.journal-detail-page{padding:1.5rem;max-width:var(--content-max-width);margin:0 auto}.journal-detail-page__loading,.journal-detail-page__error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:1rem;color:var(--text-muted)}.journal-detail-page__breadcrumb{margin-bottom:1.5rem}.journal-detail-page__back-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.journal-detail-page__back-link:hover{color:var(--primary-color)}.journal-detail-page__article{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem}.journal-detail-page__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap}.journal-detail-page__actions{display:flex;gap:.5rem}.journal-detail-page__action-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease;text-decoration:none;border:1px solid var(--border-color)}.journal-detail-page__action-btn--edit{color:var(--text-color);background-color:var(--card-bg)}.journal-detail-page__action-btn--edit:hover{background-color:var(--nav-link-hover-bg)}.journal-detail-page__action-btn--delete{color:var(--error-color);background-color:var(--card-bg)}.journal-detail-page__action-btn--delete:hover{background-color:#ef444414;border-color:var(--error-color)}.journal-detail-page__title{font-size:1.75rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem;line-height:1.3}.journal-detail-page__datetime{font-size:.875rem;color:var(--text-muted);margin:0 0 1.25rem}.journal-detail-page__description{font-size:.9375rem;color:var(--text-color);line-height:1.7;margin-bottom:1.5rem}.journal-detail-page__description p{margin:0 0 .75rem}.journal-detail-page__description p:last-child{margin-bottom:0}.journal-detail-page__section-title{font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .875rem}.journal-detail-page__gallery{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.journal-detail-page__gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.journal-detail-page__gallery-item{aspect-ratio:1;border:none;padding:0;border-radius:var(--border-radius);overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;background-color:var(--nav-link-hover-bg)}.journal-detail-page__gallery-item:hover{transform:scale(1.02);box-shadow:0 4px 16px #00000026}.journal-detail-page__gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.journal-detail-page__files{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.journal-detail-page__file-list{display:flex;flex-direction:column;gap:.5rem}.journal-detail-page__file-item{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background-color:var(--nav-link-hover-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease;text-align:left;color:var(--text-color);font-size:.875rem}.journal-detail-page__file-item:hover{background-color:var(--border-color)}.journal-detail-page__file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-detail-page__file-size{font-size:.75rem;color:var(--text-muted);flex-shrink:0}@media (max-width: 768px){.journal-detail-page,.journal-detail-page__article{padding:1rem}.journal-detail-page__title{font-size:1.375rem}.journal-detail-page__gallery-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.journal-detail-page__header{flex-direction:column;align-items:flex-start}}.journal-entry-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:detailFadeIn .2s ease}@keyframes detailFadeIn{0%{opacity:0}to{opacity:1}}.journal-entry-detail{position:relative;width:100%;max-width:600px;max-height:90vh;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);display:flex;flex-direction:column;animation:detailSlideIn .2s ease}@keyframes detailSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.journal-entry-detail__header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.journal-entry-detail__type{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:9999px;text-transform:capitalize}.journal-entry-detail__type--seedstarting{background-color:#4caf5026;color:#2e7d32}.journal-entry-detail__type--direct_sow{background-color:#8b451326;color:#6d4c14}.journal-entry-detail__type--transplant{background-color:#2196f326;color:#1565c0}.journal-entry-detail__type--thinning{background-color:#9c27b026;color:#7b1fa2}.journal-entry-detail__type--harvest{background-color:#ff980026;color:#e65100}.journal-entry-detail__type--watering{background-color:#00bcd426;color:#00838f}.journal-entry-detail__type--check_in{background-color:#9e9e9e26;color:#616161}@media (prefers-color-scheme: dark){.journal-entry-detail__type--seedstarting{background-color:#4caf5033;color:#81c784}.journal-entry-detail__type--direct_sow{background-color:#a0785033;color:#c9a66b}.journal-entry-detail__type--transplant{background-color:#2196f333;color:#64b5f6}.journal-entry-detail__type--thinning{background-color:#9c27b033;color:#ba68c8}.journal-entry-detail__type--harvest{background-color:#ff980033;color:#ffb74d}.journal-entry-detail__type--watering{background-color:#00bcd433;color:#4dd0e1}.journal-entry-detail__type--check_in{background-color:#9e9e9e33;color:#bdbdbd}}.journal-entry-detail__header-actions{display:flex;align-items:center;gap:.5rem}.journal-entry-detail__action{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background-color:transparent;border:none;border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:background-color .2s ease,color .2s ease}.journal-entry-detail__action:hover{background-color:var(--nav-link-hover-bg);color:var(--text-color)}.journal-entry-detail__action--danger:hover{color:var(--error-color)}.journal-entry-detail__action--close{margin-left:.25rem}.journal-entry-detail__content{padding:1.25rem;overflow-y:auto;flex:1}.journal-entry-detail__title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem;line-height:1.4}.journal-entry-detail__datetime{font-size:.875rem;color:var(--text-muted);margin:0 0 1rem}.journal-entry-detail__description{font-size:.9375rem;color:var(--text-color);line-height:1.6;margin-bottom:1.5rem}.journal-entry-detail__description p{margin:0 0 .75rem}.journal-entry-detail__description p:last-child{margin-bottom:0}.journal-entry-detail__gallery{margin-top:1rem}.journal-entry-detail__gallery-title{font-size:.875rem;font-weight:500;color:var(--text-muted);margin:0 0 .75rem}.journal-entry-detail__gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.journal-entry-detail__gallery-item{aspect-ratio:1;border:none;padding:0;border-radius:var(--border-radius);overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.journal-entry-detail__gallery-item:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.journal-entry-detail__gallery-item img{width:100%;height:100%;object-fit:cover}.journal-entry-detail__lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000f2;z-index:1001;display:flex;flex-direction:column;animation:lightboxFadeIn .2s ease}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.journal-entry-detail__lightbox-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background-color:#00000080}.journal-entry-detail__lightbox-filename{color:#fff;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-entry-detail__lightbox-actions{display:flex;align-items:center;gap:.5rem}.journal-entry-detail__lightbox-action{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background-color:transparent;border:none;color:#fff;cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease}.journal-entry-detail__lightbox-action:hover{background-color:#ffffff1a}.journal-entry-detail__lightbox-content{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:1rem}.journal-entry-detail__lightbox-image{max-width:100%;max-height:100%;object-fit:contain}.journal-entry-detail__lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background-color:#00000080;border:none;color:#fff;cursor:pointer;border-radius:50%;transition:background-color .2s ease}.journal-entry-detail__lightbox-nav:hover{background-color:#000000b3}.journal-entry-detail__lightbox-nav--prev{left:1rem}.journal-entry-detail__lightbox-nav--next{right:1rem}@media (max-width: 640px){.journal-entry-detail{max-height:100vh;height:100vh;border-radius:0;margin:0}.journal-entry-detail-overlay{padding:0}.journal-entry-detail__gallery-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.journal-entry-detail__lightbox-nav{width:40px;height:40px}}:root{--primary-color: #2c5f2d;--primary-light: #4caf50;--primary-dark: #1e5f1f;--primary-hover: #1e5f1f;--background: #f5f5f5;--card-bg: #ffffff;--text-color: #1a1a1a;--text-muted: #666666;--border-color: #e0e0e0;--border-radius: 8px;--error-color: #d32f2f;--error-bg: #fdecea;--success-bg: #e8f5e9;--success-text: #1a1a1a;--success-border: #4caf50;--text-primary: var(--text-color);--text-secondary: var(--text-muted);--text-tertiary: #999999;--bg-primary: var(--card-bg);--bg-hover: var(--hover-bg);--bg-input: var(--card-bg);--bg-secondary: #f0f0f0;--bg-tertiary: #e8e8e8;--danger-color: #dc2626;--danger-bg: #fee2e2;--success-color: #16a34a;--border-radius-sm: 4px;--border-radius-lg: 12px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--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-mono: "Courier New", Courier, monospace;--content-max-width: 1152px;--calendar-divider-color: rgba(0, 0, 0, .1);--calendar-month-divider-color: rgba(0, 0, 0, .25);--today-line-color: #ef5350;--header-bg: var(--card-bg);--hover-bg: rgba(0, 0, 0, .02);--popover-bg: var(--card-bg);--chip-family-bg: rgba(0, 0, 0, .06);--chip-family-color: var(--text-muted);--chip-f1-bg: #e8f5e9;--chip-f1-color: #2e7d32}@media (prefers-color-scheme: dark){:root{--background: #121212;--card-bg: #1e1e1e;--text-color: #e0e0e0;--text-muted: #a0a0a0;--border-color: #333333;--error-bg: #2d1f1f;--success-bg: rgba(34, 197, 94, .15);--success-text: #86efac;--success-border: #22c55e;--text-tertiary: #777777;--bg-secondary: #1a1a1a;--bg-tertiary: #242424;--calendar-divider-color: rgba(255, 255, 255, .1);--calendar-month-divider-color: rgba(255, 255, 255, .3);--today-line-color: #ff7043;--hover-bg: rgba(255, 255, 255, .03);--chip-family-bg: rgba(255, 255, 255, .08);--chip-f1-bg: rgba(76, 175, 80, .2);--chip-f1-color: #81c784}}[data-theme=dark]{--background: #121212;--card-bg: #1e1e1e;--text-color: #e0e0e0;--text-muted: #a0a0a0;--border-color: #333333;--error-bg: #2d1f1f;--success-bg: rgba(34, 197, 94, .15);--success-text: #86efac;--success-border: #22c55e;--text-tertiary: #777777;--bg-secondary: #1a1a1a;--bg-tertiary: #242424;--hover-bg: rgba(255, 255, 255, .03)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--background);color:var(--text-color);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.header{background-color:var(--primary-color);color:#fff;padding:2rem;text-align:center}.header h1{font-size:2.5rem;margin-bottom:.5rem}.subtitle{opacity:.9;font-size:1.1rem}.main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.card{background:var(--card-bg);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border-color)}.card h2{color:var(--primary-color);margin-bottom:1rem}.card h3{color:var(--primary-color);margin-bottom:.75rem}.status-card{background:var(--card-bg)}.status{display:flex;align-items:center;gap:.5rem}.status-indicator{width:12px;height:12px;border-radius:50%}.status-indicator.healthy{background-color:var(--primary-light)}.error{color:var(--error-color)}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--background)}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.feature{background:var(--card-bg);border-radius:var(--border-radius);padding:1.5rem;text-align:center;border:1px solid var(--border-color);transition:transform .2s,box-shadow .2s}.feature:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.feature .icon{font-size:2rem;display:block;margin-bottom:.75rem}.feature h4{color:var(--primary-color);margin-bottom:.5rem}.feature p{color:var(--text-muted);font-size:.9rem}.footer{background-color:var(--primary-color);color:#fff;padding:1rem;text-align:center}
