.modal-overlay{background:var(--overlay-dark);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;justify-content:center;align-items:flex-start;padding:16px;animation:.2s overlay-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--bg-modal);border:1px solid var(--border-modal);width:100%;max-width:640px;box-shadow:0 16px 64px var(--overlay-mid), 0 0 0 1px var(--purple-a10);border-radius:20px;margin:auto;padding:28px 28px 24px;animation:.2s modal-in}@keyframes modal-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid var(--purple-a18);justify-content:space-between;align-items:center;margin:-28px -28px 20px;padding:20px 28px 16px;display:flex}.modal-title{color:var(--purple-300);font-size:1.2rem;font-weight:700}.modal-close{color:var(--purple-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:color .2s,background .2s;display:flex}.modal-close:hover{color:var(--pink-500);background:var(--pink-a10)}.modal-error{background:var(--error-bg);border:1px solid var(--error-bd);color:var(--red-300);border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:.87rem;display:flex}.modal-success{background:var(--success-bg);border:1px solid var(--success-bd);color:var(--green-300);border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-size:.87rem;display:flex}.modal-form{flex-direction:column;gap:12px;display:flex}.modal-row-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.modal-field{flex-direction:column;gap:5px;display:flex}.modal-field label{color:var(--purple-300);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.modal-field input,.modal-input-wrap input{background:var(--bg-input);border:1px solid var(--border-input);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .2s,background .2s}.modal-field input::placeholder,.modal-input-wrap input::placeholder{color:var(--text-ph)}.modal-field input:focus,.modal-input-wrap input:focus{border-color:var(--border-focus);background:var(--bg-input-focus)}.modal-input-wrap{align-items:center;display:flex;position:relative}.modal-eye{cursor:pointer;color:var(--purple-500);background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:10px}.modal-eye:hover{color:var(--pink-500)}.modal-divider{align-items:center;gap:10px;margin:4px 0;display:flex}.modal-divider:before,.modal-divider:after{content:"";background:var(--purple-a18);flex:1;height:1px}.modal-divider span{color:var(--purple-muted);white-space:nowrap;font-size:.75rem}.modal-actions{gap:10px;margin-top:4px;display:flex}.modal-cancel-btn{background:var(--cancel-btn-bg);border:1px solid var(--cancel-btn-bd);color:var(--cancel-btn-clr);cursor:pointer;border-radius:10px;flex:1;padding:11px;font-size:.9rem;font-weight:600;transition:all .2s}.modal-cancel-btn:hover{background:var(--bg-hover)}.modal-save-btn{background:var(--gradient-main);color:var(--white);cursor:pointer;box-shadow:0 2px 12px var(--purple-a35);border:none;border-radius:10px;flex:2;justify-content:center;align-items:center;min-height:42px;padding:11px;font-size:.9rem;font-weight:700;transition:opacity .2s,transform .1s;display:flex}.modal-save-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.modal-save-btn:disabled{opacity:.5;cursor:not-allowed}.modal-spinner{border:2.5px solid var(--white-a25);border-top-color:var(--white);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite modal-spin}@keyframes modal-spin{to{transform:rotate(360deg)}}.modal-theme-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px;display:grid}.modal-theme-btn{border:2px solid var(--purple-a20);background:var(--purple-a05);color:var(--purple-muted);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:14px 12px;font-size:.85rem;font-weight:500;transition:all .18s;display:flex}.modal-theme-btn:hover{border-color:var(--purple-a40);color:var(--purple-200)}.modal-theme-btn.active{border-color:var(--purple-500);background:var(--purple-a15);color:var(--purple-100)}.sess-list{flex-direction:column;gap:8px;max-height:320px;margin-top:4px;margin-bottom:8px;padding-right:4px;display:flex;overflow-y:auto}.sess-loading{justify-content:center;padding:16px;display:flex}.sess-empty{text-align:center;color:var(--text-muted);padding:12px 0;font-size:.85rem}.sess-item{border:1px solid var(--purple-a18);background:var(--white-a03);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.sess-item.sess-current{border-color:var(--purple-a30);background:var(--purple-a08)}.sess-icon{background:var(--purple-a12);width:34px;height:34px;color:var(--purple-400);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sess-info{flex:1;min-width:0}.sess-device{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:3px;display:flex}.sess-browser{color:var(--text-primary);font-size:.88rem;font-weight:600}.sess-os{color:var(--text-muted);font-size:.82rem}.sess-badge{background:var(--purple-a20);color:var(--purple-300);border:1px solid var(--purple-a30);cursor:default;-webkit-user-select:none;user-select:none;border-radius:6px;padding:4px 10px;font-size:.78rem;font-weight:600}.sess-badge-out{background:var(--white-a05);color:var(--text-muted);border-color:var(--white-a10)}.sess-loggedout{opacity:.55}.sess-meta{flex-wrap:wrap;gap:4px 14px;display:flex}.sess-meta span{color:var(--text-muted);white-space:nowrap;font-size:.78rem}@media (width<=480px){.sess-meta{flex-direction:column;gap:2px}}.sess-right{flex-shrink:0;justify-content:flex-end;align-items:center;margin-left:auto;display:flex}.sess-logout-btn{border:1px solid var(--red-a25);cursor:pointer;color:var(--red-400);background:0 0;border-radius:6px;flex-shrink:0;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s;display:flex}.sess-logout-btn:hover{background:var(--red-a10);border-color:var(--red-400)}.sess-logout-btn:disabled{opacity:.5;cursor:default}@media (width<=600px){.modal-row-2{grid-template-columns:1fr}.modal-box{padding:20px 16px}}
