/* 企业管家 - 赛博主题 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
:root{
  --sidebar-width:240px;
  --primary:#6366f1;--primary-light:#818cf8;--primary-glow:rgba(99,102,241,.3);
  --danger:#ef4444;--warning:#f59e0b;--success:#22c55e;--info:#38bdf8;
  --dark:#1a1a2e;--darker:#0f0f1a;--card-bg:rgba(255,255,255,.85);
  --border:rgba(0,0,0,.06);--border-glow:rgba(99,102,241,.2);
  --text:#1a1a2e;--text-muted:rgba(0,0,0,.5);
  --shadow:0 0 30px rgba(0,0,0,.04),0 2px 8px rgba(0,0,0,.06);
  --shadow-hover:0 0 40px rgba(99,102,241,.1),0 4px 16px rgba(0,0,0,.1);
}
*{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body{background:#f0f0f5;min-height:100vh;color:var(--text)}

/* Sidebar */
.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:linear-gradient(180deg,#1a1a2e 0%,#12121f 100%);z-index:1000;overflow-y:auto;border-right:1px solid rgba(255,255,255,.06)}
.sidebar-brand{padding:24px 20px;border-bottom:1px solid rgba(99,102,241,.1);display:flex;flex-direction:column;align-items:flex-start}
.sidebar-brand a{color:#fff!important;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex;align-items:center;gap:10px}
.sidebar-brand .icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary),#4f46e5);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:0 0 20px var(--primary-glow)}
.sidebar-nav{padding:12px 0}
.sidebar-nav .nav-section{padding:16px 20px 6px;font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.3);font-weight:600}
.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:10px 20px;color:rgba(255,255,255,.65);text-decoration:none;font-size:.88rem;font-weight:500;border-left:3px solid transparent;transition:all .2s}
.sidebar-nav a:hover,.sidebar-nav a.active{color:#fff;background:rgba(99,102,241,.12);border-left-color:var(--primary);box-shadow:inset 0 0 20px rgba(99,102,241,.05)}
.sidebar-nav a i{font-size:1.1rem;width:20px;text-align:center}

/* Main */
.main-content{margin-left:var(--sidebar-width);min-height:100vh}
.main-header{background:rgba(255,255,255,.8);padding:16px 28px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.main-header h4{margin:0;font-weight:600;color:var(--dark)}
.main-body{padding:28px}

/* Cards */
.card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);transition:all .3s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.card:hover{box-shadow:var(--shadow-hover);border-color:var(--border-glow)}
.card-header{background:rgba(99,102,241,.03);border-bottom:1px solid var(--border);border-radius:16px 16px 0 0!important;padding:16px 20px;font-weight:600;color:var(--dark);letter-spacing:.5px}
.card-header h5,.card-header h6{color:var(--dark)}
.stat-card h4,.stat-card h3,.stat-card h2{color:var(--dark)}
.stat-card small,.stat-card .text-muted{color:var(--text-muted)}

/* Stats */
.stat-card{border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow);background:var(--card-bg);transition:all .3s}
.stat-card.cursor-pointer{cursor:pointer}
.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--border-glow)}
.stat-card .card-body{padding:20px}
.stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:12px;box-shadow:0 0 20px rgba(99,102,241,.15)}

/* Tables */
.table{--bs-table-hover-bg:rgba(99,102,241,.04);color:var(--text)}
.table thead th{font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border)}
.table td,.table th{border-color:rgba(99,102,241,.05)}
.table-striped>tbody>tr:nth-of-type(odd){background:rgba(99,102,241,.02)}

/* Forms */
.form-control,.form-select{background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:10px;padding:10px 14px;font-size:.9rem;color:var(--text);transition:all .2s}
.form-control:focus,.form-select:focus{background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.1);color:var(--text)}
.form-control::placeholder{color:rgba(0,0,0,.3)}
.form-label{color:var(--text-muted);font-weight:500;font-size:.85rem}

/* Buttons */
.btn{border-radius:10px;font-weight:500;padding:8px 20px;transition:all .2s;letter-spacing:.3px}
.btn-primary{background:linear-gradient(135deg,var(--primary),#4f46e5);border:none;box-shadow:0 4px 16px rgba(99,102,241,.3)}
.btn-primary:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary));box-shadow:0 6px 24px rgba(99,102,241,.45);transform:translateY(-1px)}
.btn-outline-primary{border-color:var(--primary);color:var(--primary-light)}
.btn-outline-primary:hover{background:var(--primary);border-color:var(--primary)}
.btn-outline-secondary{border-color:rgba(255,255,255,.15);color:var(--text-muted)}
.btn-outline-danger{border-color:var(--danger);color:var(--danger)}
.btn-outline-warning{border-color:var(--warning);color:var(--warning)}
.btn-outline-success{border-color:var(--success);color:var(--success)}
.btn-outline-info{border-color:var(--primary);color:var(--primary-light)}

/* Badges */
.badge{font-weight:500;border-radius:6px;padding:4px 10px;letter-spacing:.3px;color:#1a1a2e!important}
.bg-primary,.bg-opacity-10.bg-primary{background:rgba(99,102,241,.12)!important;color:var(--primary)!important}
.bg-danger,.bg-opacity-10.bg-danger{background:rgba(239,68,68,.1)!important;color:#dc2626!important}
.bg-warning,.bg-opacity-10.bg-warning{background:rgba(245,158,11,.1)!important;color:#b45309!important}
.bg-success,.bg-opacity-10.bg-success{background:rgba(34,197,94,.1)!important;color:#15803d!important}
.bg-info,.bg-opacity-10.bg-info{background:rgba(56,189,248,.1)!important;color:#0369a1!important}

/* Alerts */
.alert{border-radius:12px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);backdrop-filter:blur(8px)}
.alert-success{border-color:rgba(34,197,94,.2);background:rgba(34,197,94,.05)}
.alert-danger{border-color:rgba(239,68,68,.2);background:rgba(239,68,68,.05)}
.alert-warning{border-color:rgba(245,158,11,.2);background:rgba(245,158,11,.05)}
.alert-info{border-color:rgba(99,102,241,.2);background:rgba(99,102,241,.05)}

/* Breadcrumb */
.breadcrumb-item a{color:var(--primary-light);text-decoration:none}
.breadcrumb-item.active{color:var(--text-muted)}

/* Drop zone */
.drop-zone{border:2px dashed var(--border);border-radius:12px;padding:28px 20px;text-align:center;cursor:pointer;transition:all .3s;background:rgba(99,102,241,.02);min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.drop-zone:hover,.drop-zone.border-primary{border-color:var(--primary);background:rgba(99,102,241,.06);box-shadow:0 0 30px rgba(99,102,241,.1)}
.drop-zone.has-file{border-color:var(--success);background:rgba(34,197,94,.04)}

/* Avatar */
.avatar-lg{width:100px;height:100px;border-radius:50%;object-fit:cover;border:2px solid var(--primary);box-shadow:0 0 30px var(--primary-glow)}
.avatar-sm{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}

/* Person card */
.person-card{border:none;border-radius:16px;box-shadow:var(--shadow);transition:all .3s;background:var(--card-bg)}
.person-card:hover{box-shadow:var(--shadow-hover);border-color:var(--border-glow)}

/* Cert card */
.cert-card{transition:all .2s;background:linear-gradient(135deg,var(--primary),#4f46e5)!important;color:#fff!important;border:2px solid rgba(129,140,248,.3)!important;border-radius:12px}
.cert-card:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary))!important;transform:translateY(-1px);box-shadow:0 4px 16px rgba(99,102,241,.3)}

/* Tabs */
.btn-pill-group .btn{border-radius:50px;transition:all .2s}
.btn-pill-group .btn.active{transform:scale(1.02)}

/* Progress */
.progress{background:rgba(99,102,241,.1);border-radius:10px}
.progress-bar{background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:10px}

/* Modal */
.modal-content{background:linear-gradient(180deg,#0f1228,#0a0c1e);border:1px solid var(--border);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.7)}
.modal-header{border-bottom:1px solid var(--border)}

/* Accordion */
.accordion-button{background:var(--card-bg);color:var(--text);border-color:var(--border)}
.accordion-button:not(.collapsed){background:rgba(99,102,241,.08);color:#fff}
.accordion-button:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.accordion-item{background:transparent;border-color:var(--border)}

/* Responsive */
@media (max-width:768px){
  .sidebar{display:none}
  .main-content{margin-left:0}
  .mobile-nav{display:flex;background:rgba(10,12,28,.95);border-bottom:1px solid var(--border);padding:4px;gap:4px}
  .mobile-nav a{flex:1;text-align:center;padding:8px 4px;border-radius:8px;text-decoration:none;font-size:.8rem;color:var(--text-muted);font-weight:500}
  .mobile-nav a.active{background:linear-gradient(135deg,var(--primary),#4f46e5);color:#fff}
  .mobile-nav a i{display:block;font-size:1.2rem;margin-bottom:2px}
}

/* Readonly */
.readonly-mode{opacity:.7;pointer-events:none}
@keyframes slideIn{from{transform:translateX(100px);opacity:0}to{transform:translateX(0);opacity:1}}
