/* Shared UI: buttons, inputs, modal sheet, empty-state */
.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted);}
.empty-state i{font-size:2.5rem;margin-bottom:12px;opacity:.4;}
.btn-main { width:100%; padding:14px; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); color:white; border:none; border-radius:12px; font-weight:700; font-size:1rem; box-shadow:0 4px 15px rgba(79,70,229,0.4); cursor:pointer; }
.btn-main:disabled { background:#cbd5e1; box-shadow:none; cursor:not-allowed; color:#94a3b8; }
.btn-sm { padding:8px 16px; font-size:0.8rem; border-radius:8px; }
.input-group { position:relative; margin-bottom:15px; }
.input-group i { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--text-muted); font-size:1.1rem; }
.input-box { width:100%; padding:14px 16px; border:2px solid transparent; background:var(--bg-input); border-radius:12px; font-size:0.95rem; color:var(--text-main); transition:0.3s; font-family:'Inter'; }
.input-box:focus { border-color:var(--primary); background:#fff; box-shadow:0 0 0 4px var(--primary-light); }
.modal-wrap { position:fixed; top:0; left:0; width:100%; height:100%; z-index:5000; opacity:0; pointer-events:none; transition:0.3s; visibility:hidden; }
.modal-wrap.active { opacity:1; pointer-events:all; visibility:visible; }
.modal-overlay { position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.4); }
.modal-sheet { position:absolute; bottom:0; left:0; width:100%; background:var(--bg-card); border-radius:24px 24px 0 0; padding:30px; transform:translateY(100%); transition:0.3s cubic-bezier(0.2,1,0.2,1); max-height:90vh; overflow-y:auto; }
.modal-wrap.active .modal-sheet { transform:translateY(0); }
.sheet-handle { width:40px; height:5px; background:var(--border); border-radius:5px; margin:0 auto 20px; }
