.empty-state{text-align:center;padding:var(--spacing-6,1.5rem);color:var(--color-text-secondary,var(--surface-500));flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state--sm{padding:var(--spacing-3,.75rem)}.empty-state--sm .empty-state__icon{margin-bottom:var(--spacing-2,.5rem);font-size:1.25rem}.empty-state--sm .empty-state__title{font-size:.8rem}.empty-state--sm .empty-state__subtitle{font-size:.7rem}.empty-state--md{padding:var(--spacing-6,1.5rem)}.empty-state--md .empty-state__icon{margin-bottom:var(--spacing-3,.75rem);font-size:2rem}.empty-state--md .empty-state__title{font-size:.95rem}.empty-state--md .empty-state__subtitle{font-size:.8rem}.empty-state--lg{padding:var(--spacing-10,2.5rem)}.empty-state--lg .empty-state__icon{margin-bottom:var(--spacing-4,1rem);font-size:3rem}.empty-state--lg .empty-state__title{font-size:1.1rem}.empty-state--lg .empty-state__subtitle{font-size:.9rem}.empty-state--default{height:100%;min-height:120px}.empty-state--card{background:var(--color-surface-secondary,var(--surface-50));border-radius:var(--radius-lg,.75rem);border:2px dashed var(--color-border,var(--surface-200));min-height:150px}.empty-state--inline{gap:var(--spacing-3,.75rem);padding:var(--spacing-3,.75rem)var(--spacing-4,1rem);text-align:left;flex-direction:row}.empty-state--inline .empty-state__icon{margin-bottom:0}.empty-state--inline .empty-state__content{flex:1}.empty-state__icon{opacity:.4;color:var(--color-text-tertiary,var(--surface-400))}.empty-state__content{gap:var(--spacing-1,.25rem);flex-direction:column;display:flex}.empty-state__title{color:var(--color-text-secondary,var(--surface-500));margin:0;font-weight:500}.empty-state__subtitle{color:var(--color-text-tertiary,var(--surface-400));margin:0}.empty-state__action{margin-top:var(--spacing-4,1rem)}.empty-state__btn{align-items:center;gap:var(--spacing-2,.5rem);padding:var(--spacing-2,.5rem)var(--spacing-4,1rem);border-radius:var(--radius-md,.5rem);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.empty-state__btn--primary{background:var(--color-primary,var(--info));color:var(--bg-white);border:none}.empty-state__btn--primary:hover{background:var(--color-primary-dark,var(--info))}.empty-state__btn--secondary{background:var(--bg-white);color:var(--color-text-primary,var(--surface-700));border:1px solid var(--color-border,var(--surface-200))}.empty-state__btn--secondary:hover{background:var(--color-surface-secondary,var(--surface-50));border-color:var(--color-border-dark,var(--surface-300))}.empty-state__btn--link{color:var(--color-primary,var(--info));padding:var(--spacing-1,.25rem)var(--spacing-2,.5rem);background:0 0;border:none}.empty-state__btn--link:hover{text-decoration:underline}@container (max-width:200px){.empty-state{padding:.75rem}.empty-state__icon{margin-bottom:.5rem!important;font-size:1.25rem!important}.empty-state__title{font-size:.75rem!important}.empty-state__subtitle,.empty-state__action{display:none}}@container (max-width:150px){.empty-state__title{display:none}}
.filter-panel{gap:var(--spacing-3,.75rem);padding:var(--spacing-3,.75rem)var(--spacing-4,1rem);background:var(--color-surface-secondary,var(--surface-50));border-bottom:1px solid var(--color-border,var(--surface-200));flex-direction:column;display:flex}.filter-group{gap:var(--spacing-2,.5rem);flex-direction:column;display:flex}.filter-group--inline,.filter-group--select{align-items:center;gap:var(--spacing-3,.75rem);flex-direction:row}.filter-group__label{color:var(--color-text-secondary,var(--surface-500));text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;font-weight:600}.filter-group--inline .filter-group__label,.filter-group--select .filter-group__label{min-width:60px}.filter-options{gap:var(--spacing-2,.5rem);flex-wrap:wrap;display:flex}.filter-options--icons{gap:var(--spacing-1,.25rem)}.filter-option{align-items:center;gap:var(--spacing-1,.25rem);padding:var(--spacing-1,.25rem)var(--spacing-3,.75rem);color:var(--color-text-secondary,var(--surface-500));background:var(--bg-white);border:1px solid var(--color-border,var(--surface-200));border-radius:var(--radius-md,.5rem);cursor:pointer;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.filter-option:hover{border-color:var(--option-color,var(--color-primary,var(--info)));color:var(--option-color,var(--color-primary,var(--info)))}.filter-option.active{background:var(--option-color,var(--color-primary,var(--info)));border-color:var(--option-color,var(--color-primary,var(--info)));color:var(--bg-white)}.filter-option__icon{align-items:center;font-size:.85em;display:flex}.filter-option__label{white-space:nowrap}.filter-option--icon{padding:var(--spacing-2,.5rem);border-radius:var(--radius-md,.5rem);justify-content:center;min-width:36px}.filter-option--icon .filter-option__emoji{font-size:1.1rem}.filter-option--icon.active{background:var(--option-color,var(--color-primary,var(--info)));transform:scale(1.05)}.filter-select{padding:var(--spacing-1,.25rem)var(--spacing-3,.75rem);color:var(--color-text-primary,var(--surface-700));background:var(--bg-white);border:1px solid var(--color-border,var(--surface-200));border-radius:var(--radius-md,.5rem);cursor:pointer;min-width:100px;font-size:.8rem}.filter-select:focus{border-color:var(--color-primary,var(--info));outline:none;box-shadow:0 0 0 3px #3b82f61a}.filter-badge{min-width:18px;height:18px;padding:0 var(--spacing-1,.25rem);color:var(--bg-white);background:var(--color-primary,var(--info));border-radius:9px;justify-content:center;align-items:center;font-size:.65rem;font-weight:600;display:inline-flex}.filter-toggle-btn{align-items:center;gap:var(--spacing-1,.25rem);padding:var(--spacing-1,.25rem)var(--spacing-2,.5rem);border-radius:var(--radius-sm,.25rem);color:inherit;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;transition:all .15s;display:flex}.filter-toggle-btn:hover,.filter-toggle-btn.active{background:#ffffff4d}.filter-toggle-icon{width:14px;height:14px}.filter-toggle-count{min-width:16px;height:16px;color:var(--color-primary,var(--info));background:#ffffffe6;border-radius:8px;justify-content:center;align-items:center;font-size:.6rem;font-weight:600;display:inline-flex}@media (max-width:576px){.filter-panel{padding:var(--spacing-2,.5rem)var(--spacing-3,.75rem);gap:var(--spacing-2,.5rem)}.filter-options{gap:var(--spacing-1,.25rem)}.filter-option{padding:var(--spacing-1,.25rem)var(--spacing-2,.5rem);font-size:.75rem}}@container (max-width:280px){.filter-panel{gap:.5rem;padding:.5rem}.filter-option{padding:.2rem .4rem;font-size:.7rem}.filter-option__label{display:none}.filter-option__icon{font-size:1rem}.filter-group__label{font-size:.65rem}}@container (max-width:200px){.filter-group__label{display:none}}
.header-actions{align-items:center;gap:var(--w-space-sm);margin-left:auto;display:flex}.header-action-btn{align-items:center;gap:var(--w-space-2xs);padding:var(--w-space-3xs)var(--w-space-sm);border-radius:var(--w-radius-sm);color:var(--w-surface-base);font-size:var(--w-font-2xs);cursor:pointer;transition:all var(--w-transition-base);background:#fff3;border:.0625rem solid #ffffff4d;display:flex}.header-action-btn:hover{background:#ffffff4d}.header-action-btn .action-label{font-size:var(--w-font-3xs);font-weight:var(--w-font-medium)}.filter-count-badge{font-size:var(--w-font-3xs);padding:var(--w-space-3xs)var(--w-space-2xs)}.widget-footer{padding:var(--w-space-sm)var(--w-space-md);background:var(--w-surface-raised);border-top:.0625rem solid var(--w-border-light);color:var(--w-text-tertiary);font-size:var(--w-font-xs);font-weight:var(--w-font-medium);flex-shrink:0;justify-content:center;align-items:center;display:flex}.widget-footer--clickable{cursor:pointer;transition:all var(--w-transition-base)}.widget-footer--clickable:hover{background:var(--w-surface-sunken);color:var(--w-cat-primary)}.widget-error-message{height:100%;padding:var(--w-space-lg);text-align:center;color:var(--w-status-error);flex-direction:column;justify-content:center;align-items:center;display:flex}.widget-error-message p{font-size:var(--w-font-sm);margin:0}.widget-list{flex-direction:column;display:flex}.widget-item--clickable{cursor:pointer}@container widget (max-width:15.625rem){.header-action-btn .action-label{display:none}.widget-footer{padding:var(--w-space-xs)var(--w-space-sm);font-size:var(--w-font-2xs)}}@container widget (max-width:11.25rem){.header-actions{gap:var(--w-space-2xs)}.header-action-btn{padding:var(--w-space-3xs)var(--w-space-xs)}}
.modal-body .row:last-child .mb-3{margin-bottom:0!important}.modal-body .form-label{color:var(--color-text-primary,var(--surface-700));margin-bottom:.35rem;font-size:.85rem;font-weight:500}.modal-body .text-danger{font-weight:600}.modal-body .form-control,.modal-body .form-select{border-radius:var(--radius-md,.5rem);border-color:var(--color-border,var(--surface-200));font-size:.9rem;transition:border-color .15s,box-shadow .15s}.modal-body .form-control:focus,.modal-body .form-select:focus{border-color:var(--color-primary,var(--info));box-shadow:0 0 0 3px #3b82f61a}.modal-body .form-control::placeholder{color:var(--color-text-tertiary,var(--surface-400));font-size:.85rem}.modal-body textarea.form-control{resize:vertical;min-height:60px}.modal-body .form-check:not(.form-switch){padding-left:1.75rem}.modal-body .form-check:not(.form-switch) .form-check-input{width:1.1rem;height:1.1rem;margin-top:.15rem}.modal-body .form-check:not(.form-switch) .form-check-label{color:var(--color-text-secondary,var(--surface-500));font-size:.9rem}.modal-footer{border-top-color:var(--color-border-light,var(--surface-100));padding:.75rem 1rem}.modal-footer .btn{border-radius:var(--radius-md,.5rem);padding:.5rem 1.25rem;font-size:.9rem}.modal-footer .spinner-border{border-width:2px;width:1rem;height:1rem}@media (max-width:576px){.modal-body .col-md-4,.modal-body .col-md-6,.modal-body .col-md-8{flex:0 0 100%;max-width:100%}.modal-footer{flex-direction:column-reverse;gap:.5rem}.modal-footer .btn{width:100%}}
.desktop-only-page{min-height:calc(100vh - 120px);padding-bottom:calc(var(--mobile-bottom-nav-height-safe,64px) + 32px);justify-content:center;align-items:center;display:flex}.desktop-only-page .card{border-radius:16px;max-width:320px;margin:0 auto}.desktop-only-icon{background:linear-gradient(135deg,var(--info-light)0%,var(--info-light)100%);width:80px;height:80px;color:var(--tertiary-600);border-radius:50%;justify-content:center;align-items:center;margin:0 auto;display:flex}.desktop-only-page h5{color:var(--surface-800);font-weight:600}.desktop-only-page p{font-size:.9rem;line-height:1.5}.desktop-only-page .btn-primary{border-radius:8px;padding:10px 20px;font-weight:500}
