/* =====================================================
   TOOLOF Auth & Dashboard — Styles
   toolof-auth.css v1.0
   ===================================================== */

/* ── Auth Modal ────────────────────────────────────── */
.auth-modal-overlay{
  position:fixed;top:0;left:0;width:100%;height:100%;
  background:rgba(0,0,0,0.6);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  z-index:9999;
}
.auth-modal{
  background:var(--card-bg, #fff);border-radius:20px;
  width:380px;max-width:90vw;padding:28px;
  box-shadow:0 20px 60px rgba(0,0,0,0.3);
}
.auth-modal-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:20px;
}
.auth-modal-title{
  font-size:18px;font-weight:700;color:var(--center-text, #1a1a1a);
}
.auth-modal-close{
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;border-radius:8px;font-size:16px;
  color:var(--center-muted, #888);
  transition:background 0.15s;
}
.auth-modal-close:hover{background:rgba(0,0,0,0.06);}

.auth-field{margin-bottom:14px;}
.auth-field label{
  display:block;font-size:12px;font-weight:600;
  color:var(--center-dim, #555);margin-bottom:4px;
  text-transform:uppercase;letter-spacing:0.05em;
}
.auth-field input{
  width:100%;padding:10px 14px;border-radius:10px;
  border:1.5px solid var(--center-border, #e8e8e8);
  background:var(--card-bg, #fff);color:var(--center-text, #1a1a1a);
  font-size:14px;outline:none;transition:border-color 0.15s;
  box-sizing:border-box;
}
.auth-field input:focus{
  border-color:var(--pal-1, #E8611A);
}
.auth-field input::placeholder{color:var(--center-muted, #aaa);}

.auth-btn{
  width:100%;padding:12px;border:none;border-radius:12px;
  background:var(--pal-1, #E8611A);color:#fff;
  font-size:15px;font-weight:700;cursor:pointer;
  transition:opacity 0.15s;margin-top:4px;
}
.auth-btn:hover{opacity:0.9;}
.auth-btn:disabled{opacity:0.5;cursor:wait;}

.auth-error{
  background:rgba(229,68,68,0.08);border:1px solid rgba(229,68,68,0.2);
  color:#c53030;border-radius:8px;padding:8px 12px;
  font-size:12px;margin-bottom:10px;
}
.auth-switch{
  text-align:center;font-size:13px;color:var(--center-muted, #888);
  margin-top:14px;
}
.auth-switch a{color:var(--pal-1, #E8611A);text-decoration:none;font-weight:600;}

/* ── User Menu Dropdown — dark sidebar style ─────── */
.user-menu-dropdown{
  position:absolute;bottom:calc(100% + 8px);left:8px;right:8px;
  background:rgba(52,52,56,0.95);backdrop-filter:blur(12px);
  border-radius:14px;border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 8px 30px rgba(0,0,0,0.4);
  padding:6px;z-index:100;
}
.user-menu-item{
  display:flex;align-items:center;gap:10px;
  padding:11px 14px;border-radius:10px;
  font-size:13px;font-weight:600;color:rgba(255,255,255,0.85);
  cursor:pointer;transition:all 0.15s;
}
.user-menu-item:hover{background:rgba(255,255,255,0.08);color:#fff;}
.user-menu-item svg{opacity:0.7;}
.user-menu-item:hover svg{opacity:1;}
.user-menu-divider{
  height:1px;background:rgba(255,255,255,0.08);margin:4px 8px;
}
.sidebar-account{position:relative;}

/* ── Dashboard Panel ───────────────────────────────── */
.dashboard-panel{
  padding:24px 28px;height:100%;overflow-y:auto;
  display:flex;flex-direction:column;gap:16px;
}
.dash-header{margin-bottom:4px;}
.dash-greeting{
  font-size:22px;font-weight:700;color:var(--center-text, #1a1a1a);
}
.dash-role{
  font-size:12px;font-weight:600;color:var(--pal-1, #E8611A);
  text-transform:uppercase;letter-spacing:0.05em;margin-top:2px;
}

/* ── Stats Cards ───────────────────────────────────── */
.dash-stats{display:flex;gap:10px;}
.dash-stat-card{
  flex:1;padding:14px 16px;border-radius:14px;
  background:rgba(232,97,26,0.06);
  border:1px solid rgba(232,97,26,0.12);
  text-align:center;
}
.dash-stat-value{
  font-size:28px;font-weight:800;color:var(--pal-1, #E8611A);
  font-family:'JetBrains Mono',monospace;
}
.dash-stat-label{
  font-size:11px;font-weight:600;color:var(--center-dim, #555);
  text-transform:uppercase;letter-spacing:0.05em;margin-top:2px;
}

/* ── Tabs ──────────────────────────────────────────── */
.dash-tabs{
  display:flex;gap:4px;background:rgba(0,0,0,0.03);
  border-radius:12px;padding:4px;
}
.dash-tab{
  flex:1;padding:8px 12px;border-radius:9px;
  font-size:12px;font-weight:700;text-align:center;
  color:var(--center-muted, #888);cursor:pointer;
  transition:all 0.15s;
}
.dash-tab:hover{color:var(--center-text, #1a1a1a);}
.dash-tab.active{
  background:var(--card-bg, #fff);color:var(--center-text, #1a1a1a);
  box-shadow:0 2px 8px rgba(0,0,0,0.06);
}

/* ── Tab Content ───────────────────────────────────── */
.dash-tab-content{
  flex:1;overflow-y:auto;min-height:200px;
}
.dash-loading{
  text-align:center;padding:40px;color:var(--center-muted, #888);
  font-size:14px;
}
.dash-empty{
  text-align:center;padding:40px;color:var(--center-muted, #888);
  font-size:14px;
}
.dash-more{
  text-align:center;padding:12px;color:var(--center-muted, #888);
  font-size:12px;
}

/* ── List Items ────────────────────────────────────── */
.dash-list{display:flex;flex-direction:column;gap:2px;}
.dash-list-item{
  display:flex;align-items:center;gap:12px;
  padding:10px 14px;border-radius:10px;
  transition:background 0.1s;
}
.dash-list-item:hover{background:rgba(0,0,0,0.02);}
.dash-list-icon{font-size:18px;width:28px;text-align:center;flex-shrink:0;}
.dash-list-body{flex:1;min-width:0;}
.dash-list-title{
  font-size:13px;font-weight:700;color:var(--center-text, #1a1a1a);
  font-family:'JetBrains Mono',monospace;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.dash-list-sub{
  font-size:11px;color:var(--center-dim, #555);margin-top:1px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.dash-list-meta{
  display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;
}
.dash-list-date{font-size:10px;color:var(--center-muted, #aaa);}

.dash-status{
  font-size:10px;font-weight:700;padding:2px 8px;border-radius:6px;
  text-transform:uppercase;letter-spacing:0.03em;
}
.status-found{background:rgba(34,197,94,0.1);color:#16a34a;}
.status-notfound{background:rgba(239,68,68,0.1);color:#dc2626;}
.status-pending{background:rgba(234,179,8,0.1);color:#ca8a04;}

.dash-list-actions{flex-shrink:0;}
.dash-action-btn{
  width:28px;height:28px;border:none;border-radius:8px;
  background:rgba(0,0,0,0.04);color:var(--center-muted, #888);
  cursor:pointer;font-size:14px;transition:all 0.12s;
  display:flex;align-items:center;justify-content:center;
}
.dash-action-btn:hover{background:rgba(229,68,68,0.1);color:#dc2626;}

/* ── Profile ───────────────────────────────────────── */
.dash-profile{max-width:400px;}

/* ── Toast ─────────────────────────────────────────── */
.auth-toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  padding:10px 20px;border-radius:12px;
  background:var(--center-text, #1a1a1a);color:#fff;
  font-size:13px;font-weight:600;
  box-shadow:0 8px 24px rgba(0,0,0,0.2);
  opacity:0;transition:all 0.3s;z-index:10000;
  pointer-events:none;
}
.auth-toast-show{opacity:1;transform:translateX(-50%) translateY(0);}
.auth-toast-error{background:#dc2626;}

/* ── Mobile ────────────────────────────────────────── */
@media(max-width:700px){
  .auth-modal{width:100%;max-width:100%;border-radius:20px 20px 0 0;position:fixed;bottom:0;}
  .dash-stats{flex-wrap:wrap;}
  .dash-stat-card{min-width:80px;}
  .dash-tabs{flex-wrap:wrap;}
  .user-menu-dropdown{position:fixed;bottom:auto;top:0;left:0;right:0;border-radius:0 0 16px 16px;}
}

/* ── Favorite Button (in result cards) ─────────────── */
.fav-btn{
  display:inline-flex;align-items:center;gap:4px;
  padding:8px 14px;border-radius:10px;font-size:11px;font-weight:600;
  color:#fff;background:linear-gradient(145deg,#F0631E,#D45518);
  cursor:pointer;transition:all 0.2s ease;margin-left:4px;
  border:none;
  box-shadow:4px 4px 7px rgba(174,168,158,0.6),-3px -3px 5px rgba(255,255,255,0.5),inset 0 2px 3px rgba(255,255,255,0.25),inset 0 -1px 2px rgba(0,0,0,0.15);
}
.fav-btn:hover{background:linear-gradient(145deg,#D45518,#C04E14);transform:translateY(-1px);}
.fav-btn.added{color:#fff;background:rgba(22,163,74,0.7);pointer-events:none;box-shadow:inset 3px 3px 6px rgba(0,0,0,0.15),inset -2px -2px 4px rgba(255,255,255,0.1);}
.fav-btn svg{flex-shrink:0;}
