.modal-overlay{z-index:1000;background:#101820b8;justify-content:center;align-items:flex-end;animation:.18s modal-fade-in;display:flex;position:fixed;inset:0}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-lg);width:100%;max-width:100%;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;animation:.28s cubic-bezier(.34,1.2,.64,1) sheet-slide-up;display:flex;overflow:hidden}@keyframes sheet-slide-up{0%{opacity:0}to{opacity:1}}.modal-panel:before{content:"";background:var(--color-border);border-radius:99px;flex-shrink:0;width:40px;height:4px;margin:.75rem auto 0;display:block}.modal-panel--lg,.modal-panel--sm{max-width:100%}@media (width>=768px){.modal-overlay{align-items:center;padding:1rem}.modal-panel{border-radius:var(--radius-xl);max-width:520px;padding-bottom:0;animation:.22s cubic-bezier(.34,1.56,.64,1) modal-slide-in}.modal-panel:before{display:none}.modal-panel--lg{max-width:640px}.modal-panel--sm{max-width:400px}}@keyframes modal-slide-in{0%{opacity:0}to{opacity:1}}.modal-header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:1.5rem;display:flex}.modal-header-info{align-items:center;gap:.75rem;display:flex}.modal-header-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.modal-header-icon--create{background:var(--color-accent-muted);color:#728500}[data-theme=dark] .modal-header-icon--create{color:var(--color-accent)}.modal-header-icon--edit{background:var(--color-warning-bg);color:var(--color-warning)}.modal-header-icon--delete{background:var(--color-danger-bg);color:var(--color-danger)}.modal-header-icon--view{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.modal-title{color:var(--color-text-heading);letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:800}.modal-subtitle{color:var(--color-text-muted);margin:0;font-size:.8125rem;font-weight:400}.modal-header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.modal-close-btn{border-radius:var(--radius-md,8px);border:1px solid var(--color-border);background:var(--color-bg-secondary);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;transition:all .18s;display:flex}.modal-close-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-heading);border-color:var(--color-border-hover);transform:scale(1.04)}.modal-close-btn:active{transform:scale(.96)}.modal-body{-webkit-overflow-scrolling:touch;flex:1;padding:1.25rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-border);background:var(--color-bg);flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;display:flex}@media (width<=767px){.modal-footer{flex-direction:column-reverse}.modal-footer .crud-btn{justify-content:center;width:100%;min-height:48px;font-size:1rem}}[data-theme=dark] .modal-endor-dark{color:#fff!important;background:#151e2c!important;border:1px solid #3849678c!important;box-shadow:0 25px 50px -12px #000c,0 0 0 1px #c0df1633!important}[data-theme=dark] .modal-endor-dark .modal-header{background:#101820!important;border-bottom:1px solid #38496773!important}[data-theme=dark] .modal-endor-dark .modal-title{color:#fff!important;font-family:Montserrat,sans-serif!important;font-weight:700!important}[data-theme=dark] .modal-endor-dark .modal-header-icon--create{color:#c0df16!important;background:#c0df1629!important}[data-theme=dark] .modal-endor-dark .modal-close-btn{color:#94a3b8!important;background:#38496740!important;border:1px solid #38496759!important}[data-theme=dark] .modal-endor-dark .modal-close-btn:hover{color:#fff!important;background:#38496780!important}[data-theme=dark] .modal-endor-dark .modal-body{background:#151e2c!important}[data-theme=dark] .modal-endor-dark .modal-footer{background:#101820!important;border-top:1px solid #38496773!important}
