.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#000000b3;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0;overflow:hidden}.modal-overlay.modal-overlay-top{align-items:flex-start;padding-top:2.5rem;padding-bottom:2rem}.modal-overlay.modal-overlay-top .modal-content{margin-top:0}.modal-content{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;max-width:800px;max-height:calc(100vh - 4rem);box-shadow:var(--shadow-glass);flex-direction:column;display:flex}.modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-body{flex:1;padding:1.25rem;overflow:hidden auto}.modal-footer{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}.modal-content.modal-landscape{width:95vw;max-width:1600px}@media (min-width:900px){.modal-grid-desktop{grid-template-columns:450px 1fr;align-items:start;gap:1.5rem;display:grid}}.fin-panel-row{border-bottom:1px solid var(--border-color);flex-direction:column;display:flex}@media (min-width:640px){.fin-panel-row{flex-direction:row}}@media (max-width:768px){.modal-overlay{align-items:flex-start;padding:0}.modal-content,.modal-content.modal-landscape{border:none;border-radius:0;flex-direction:column;width:100vw;max-width:100vw;height:100vh;max-height:100vh;display:flex}.modal-header{border-radius:0;padding:1rem}.modal-body{flex:1;padding:1rem;overflow-y:auto}.modal-footer{padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}.modal-toast{z-index:1100;border-radius:var(--radius-sm);color:#fff;box-shadow:var(--shadow-md);border:1px solid #ffffff1a;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;animation:.2s fadeIn;display:flex;position:absolute;top:1rem;left:1rem;right:1rem}.modal-toast--error{background:var(--accent-danger)}.modal-toast--warning{background:var(--accent-warning)}.modal-toast--success{background:var(--accent-success)}.inline-confirm{border-radius:var(--radius-sm);background:#f59e0b14;border:1px solid #f59e0b4d;flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.inline-confirm__message{color:var(--accent-warning);font-size:.875rem;font-weight:500}.inline-confirm__actions{justify-content:flex-end;gap:.5rem;display:flex}.toast-container{z-index:9999;border-radius:var(--radius-md);color:#fff;-webkit-backdrop-filter:blur(16px);cursor:pointer;border:1px solid #ffffff1a;align-items:center;gap:.75rem;max-width:420px;padding:.85rem 1.25rem;font-size:.9rem;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;position:fixed;top:1.5rem;right:1.5rem;box-shadow:0 10px 25px -5px #0006,0 8px 16px -6px #0000004d}.toast-container--success{border-left:4px solid var(--accent-success);background:#10b981d9}.toast-container--warning{border-left:4px solid var(--accent-warning);background:#f59e0bd9}.toast-container--error{border-left:4px solid var(--accent-danger);background:#ef4444d9}.toast-container--info{border-left:4px solid var(--accent-primary);background:#6366f1d9}.toast-message{flex:1}.toast-close-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.2rem;display:flex}.toast-close-btn:hover{color:#fff;background:#ffffff1a}.confirm-overlay{-webkit-backdrop-filter:blur(8px);z-index:9998;background:#0a0b0ebf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.confirm-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:440px;animation:.3s cubic-bezier(.34,1.56,.64,1) scaleIn;overflow:hidden;box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0006}.confirm-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.confirm-title{color:#fff;margin:0;font-size:1.15rem;font-weight:600}.confirm-close-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;display:flex}.confirm-close-btn:hover{background:var(--bg-hover);color:#fff}.confirm-body{padding:1.5rem}.confirm-message{color:var(--text-main);margin:0;font-size:.95rem;line-height:1.6}.confirm-footer{border-top:1px solid var(--border-color);background:#00000026;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}
