.btn-primary{width:100%;padding:17px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent-grad-1),var(--accent-grad-2));color:#fff;font-weight:700;font-size:17.5px;transition:filter .15s, transform .12s;}
.btn-primary:active{transform:scale(.99);}
.btn-primary:hover{filter:brightness(1.08);}
.login-error{background:var(--lost-bg);color:var(--lost);font-size:15px;padding:12px 15px;border-radius:9px;margin-bottom:20px;display:none;}
.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--ink-soft);transition:background .15s,color .15s,transform .15s;flex-shrink:0;}
.theme-toggle-btn:hover{background:var(--line);color:var(--ink);transform:rotate(-8deg);}
.theme-toggle-btn svg{width:18px;height:18px;}
.login-theme-toggle{position:absolute;top:24px;right:24px;z-index:5;}
.login-theme-toggle .theme-toggle-btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff;}
.login-theme-toggle .theme-toggle-btn:hover{background:rgba(255,255,255,.16);}
#app-shell{display:flex;min-height:100vh;}
.sidebar{width:248px;background:var(--rail-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--line);color:var(--ink);display:flex;flex-direction:column;padding:18px 14px;flex-shrink:0;position:sticky;top:0;height:100vh;transition:background-color .25s ease,border-color .25s ease;}
.sidebar .brand{display:flex;align-items:center;gap:9px;font-size:17px;font-weight:700;letter-spacing:.02em;padding:6px 10px 20px;margin-bottom:4px;border-bottom:1px solid var(--line);}
.sidebar .brand .mark{width:28px;height:28px;border-radius:9px;background:linear-gradient(135deg,var(--accent-grad-1),var(--accent-grad-2));color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 10px rgba(109,95,211,.35);}
:root[data-theme="dark"] .sidebar .brand .mark{box-shadow:0 4px 10px rgba(23,184,130,.35);}
.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;color:var(--ink-soft);font-size:14px;font-weight:500;margin-bottom:2px;transition:background .12s,color .12s;position:relative;}
.nav-item:hover{background:var(--surface2);color:var(--ink);}
.nav-item.active{background:var(--surface2);color:var(--ink);}
.nav-item.active::before{content:'';position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--gold);}
.nav-item.active svg{color:var(--gold);}
.nav-item svg{width:17px;height:17px;flex-shrink:0;}
.sidebar-spacer{flex:1;}
.sidebar-user{border-top:1px solid var(--line);padding-top:14px;margin-top:8px;cursor:pointer;border-radius:9px;padding:12px 10px 0;transition:background .12s;}
.sidebar-user:hover .name{color:var(--gold);}
.sidebar-user .name{font-size:13.5px;font-weight:600;transition:color .12s;}
.sidebar-user .role{font-size:11px;color:var(--gold);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;font-family:'JetBrains Mono',monospace;}
.sidebar-user .email{font-size:11px;color:var(--ink-soft);margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.logout-btn{width:100%;background:var(--surface2);border:1px solid var(--line);color:var(--ink);padding:9px;border-radius:8px;font-size:13px;font-weight:500;}
.logout-btn:hover{background:var(--line);}
.main{flex:1;min-width:0;}
.topbar{padding:20px 34px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--topbar-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;}
.topbar h1{font-size:21px;margin:0;font-weight:600;}
.topbar .actions{display:flex;gap:10px;}
.content{padding:28px 34px 60px;}
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:11px;font-size:13.5px;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:all .12s;}
.btn:hover{border-color:var(--line);background:var(--surface2);}
.btn svg{width:15px;height:15px;}
.btn-accent{background:linear-gradient(135deg,var(--accent-grad-1) 0%,var(--accent-grad-2) 100%);border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(109,95,211,.3);}
.btn-accent:hover{filter:brightness(1.08);box-shadow:0 8px 20px rgba(109,95,211,.4);}
:root[data-theme="dark"] .btn-accent{box-shadow:0 6px 16px rgba(23,184,130,.3);}
:root[data-theme="dark"] .btn-accent:hover{box-shadow:0 8px 20px rgba(23,184,130,.4);}
.btn-ghost{border:none;background:transparent;color:var(--ink-soft);}
.btn-ghost:hover{background:var(--surface2);color:var(--ink);}
.btn-icon-ghost,.btn-danger-ghost{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:9px;color:var(--ink) !important;transition:background .12s,border-color .12s,color .12s;}
.btn-icon-ghost svg,.btn-danger-ghost svg{width:16px;height:16px;display:block;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round;fill:none;}
.btn-icon-ghost{color:var(--blue) !important;background:var(--contacted-bg);border-color:var(--line);}
.btn-icon-ghost:hover{color:#fff !important;background:var(--blue);border-color:var(--blue);}
.btn-danger-ghost{color:var(--lost) !important;background:var(--lost-bg);border-color:var(--line);}
.btn-danger-ghost:hover{color:#fff !important;background:var(--lost);border-color:var(--lost);}
.btn-sm{padding:6px 11px;font-size:12.5px;}
.row-actions{display:flex;gap:2px;align-items:center;}
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px;}
.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 18px;box-shadow:var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,.05);transition:transform .15s,box-shadow .15s,background-color .25s ease,border-color .25s ease;position:relative;}
.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.stat-card .top-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px;}
.stat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.stat-icon svg{width:18px;height:18px;}
.stat-card .label{font-size:12.5px;color:var(--ink-soft);font-weight:600;}
.stat-value{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:600;line-height:1;margin-top:4px;letter-spacing:-.01em;}
.stat-sub{font-size:12px;color:var(--ink-soft);margin-top:8px;}
.trend-pill{font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px;display:inline-flex;align-items:center;gap:2px;white-space:nowrap;}
.trend-up{background:var(--booked-bg);color:var(--booked);}
.trend-down{background:var(--lost-bg);color:var(--lost);}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,.05);transition:background-color .25s ease,border-color .25s ease;}
.panel-head{padding:16px 20px;border-bottom:1px solid var(--line);}
.panel-head h3{margin:0;font-size:15px;font-weight:600;font-family:'Poppins',sans-serif;}
.panel-head-inline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;}
