/* ============================================================
   竞赛系统前端主题：蓝金（Blue & Gold）
   参考 bm/index.html 的深蓝 + 金色风格
   ============================================================ */
:root{
  --ink-900:#0a1c3d;        /* 深蓝底 */
  --ink-800:#102a55;
  --ink-700:#16386f;
  --blue:#1f5fd6;
  --blue-600:#2f6bff;
  --gold:#e8b94a;
  --gold-600:#d9a32e;
  --paper:#f5f7fb;
  --white:#ffffff;
  --text:#1f2a44;
  --text-3:#6b7793;
  --line:#e3e8f2;
  --ok:#1a9d5a;
  --danger:#e0483c;
}
*{box-sizing:border-box;}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--paper);color:var(--text);line-height:1.6;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}

/* 顶部条 */
.cmp-top{background:var(--ink-900);color:#fff;padding:10px 0;}
.cmp-top-inner{max-width:1080px;margin:0 auto;padding:0 16px;display:flex;justify-content:space-between;align-items:center;font-size:13px;}
.cmp-top-inner .links a{color:#cdd7ee;margin-left:14px;}

/* 首屏 HERO */
.cmp-hero{position:relative;background:linear-gradient(135deg,var(--ink-900),var(--ink-700));color:#fff;overflow:hidden;}
.cmp-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:360px;height:360px;
  background:radial-gradient(circle,rgba(232,185,74,.25),transparent 70%);}
.cmp-hero-inner{max-width:1080px;margin:0 auto;padding:64px 16px 72px;position:relative;z-index:1;}
.cmp-hero h1{font-size:34px;margin:0 0 12px;letter-spacing:1px;}
.cmp-hero .sub{font-size:18px;color:#cdd7ee;margin:0 0 10px;}
.cmp-hero .slogan{display:inline-block;margin-top:14px;padding:6px 16px;border:1px solid var(--gold);
  color:var(--gold);border-radius:999px;font-size:14px;letter-spacing:2px;}
.cmp-hero .logo{font-size:40px;margin-bottom:14px;}

/* 倒计时 */
.cmp-countdown{background:var(--gold);color:var(--ink-900);text-align:center;padding:14px;font-size:16px;font-weight:600;}

/* 区块 */
.cmp-section{max-width:1080px;margin:36px auto;padding:0 16px;}
.cmp-section h2{font-size:24px;color:var(--ink-900);border-left:4px solid var(--gold);padding-left:12px;margin:0 0 20px;}
.cmp-grid{display:grid;gap:18px;}
.cmp-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));}
.cmp-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px;
  box-shadow:0 4px 18px rgba(16,42,85,.05);transition:transform .15s,box-shadow .15s;}
.cmp-card:hover{box-shadow:0 10px 28px rgba(16,42,85,.12);}
.cmp-card .ico{font-size:34px;}
.cmp-card h3{margin:10px 0 6px;color:var(--ink-800);font-size:19px;}
.cmp-card p{margin:0;color:var(--text-3);font-size:14px;}
.cmp-card .meta{margin-top:10px;font-size:13px;color:var(--blue);}

/* 项目卡 */
.cmp-project{background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;}
.cmp-project .ph{background:linear-gradient(135deg,var(--ink-800),var(--blue));color:#fff;padding:22px;font-size:40px;}
.cmp-project .pb{padding:18px;flex:1;display:flex;flex-direction:column;}
.cmp-project h3{margin:0 0 6px;color:var(--ink-900);}
.cmp-project .cat{font-size:12px;color:var(--gold-600);font-weight:600;}
.cmp-project .desc{color:var(--text-3);font-size:13px;margin:8px 0;flex:1;}
.cmp-project .scale{font-size:13px;color:var(--text-3);margin-bottom:12px;}
.cmp-project .acts{display:flex;gap:8px;}

/* 比赛聚合卡（首页） */
.cmp-event{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px;
  display:flex;flex-direction:column;box-shadow:0 4px 18px rgba(16,42,85,.05);transition:transform .15s,box-shadow .15s;}
.cmp-event:hover{box-shadow:0 10px 28px rgba(16,42,85,.12);}
.cmp-event-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;}
.cmp-event-head h3{margin:0;color:var(--ink-900);font-size:19px;}
.cmp-event-cnt{font-size:12px;color:var(--gold-600);font-weight:600;white-space:nowrap;}
.cmp-event-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.cmp-event-desc{color:var(--text-3);font-size:13px;line-height:1.6;margin-bottom:14px;flex:1;}
.cmp-event-foot{display:flex;align-items:center;gap:14px;}
.cmp-event-qr{text-align:center;flex:0 0 auto;}
.cmp-event-qr img{border:1px solid var(--line);border-radius:8px;}
.cmp-event-qr-tip{font-size:11px;color:var(--text-3);margin-top:4px;}
.cmp-event-foot .cmp-btn{flex:1;}

/* 按钮 */
.cmp-btn{display:inline-block;padding:10px 18px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;border:0;text-align:center;}
.cmp-btn-primary{background:var(--gold);color:var(--ink-900);}
.cmp-btn-primary:hover{background:var(--gold-600);}
.cmp-btn-blue{background:var(--blue-600);color:#fff;}
.cmp-btn-blue:hover{background:var(--blue);}
.cmp-btn-ghost{background:transparent;color:var(--ink-900);border:1px solid var(--line);}
.cmp-btn-block{width:100%;}

/* 概览三栏 */
.cmp-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;}
.cmp-ov{border:1px solid var(--line);border-radius:12px;padding:18px;background:#fff;text-align:center;}
.cmp-ov .n{font-size:24px;font-weight:700;color:var(--blue-600);}
.cmp-ov .l{font-size:13px;color:var(--text-3);}

/* 时间线 / 条件 */
.cmp-list{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;}
.cmp-list li{margin:8px 0;color:var(--text);}

/* 咨询 */
.cmp-contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;}
.cmp-contact{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff;}
.cmp-contact .t{font-weight:600;color:var(--ink-900);}
.cmp-contact .n{color:var(--text);margin:4px 0;}
.cmp-contact .p{color:var(--blue-600);font-weight:600;}

/* 页脚 */
.cmp-footer{background:var(--ink-900);color:#9fb0d4;text-align:center;padding:24px 16px;font-size:13px;margin-top:40px;}
.cmp-footer-copy{margin:0 auto;font-size:12px;opacity:.75;}
.cmp-filing{margin-top:10px;display:flex;gap:8px 20px;justify-content:center;flex-wrap:wrap;font-size:12px;color:#9fb0d4;opacity:.85;}
.cmp-filing-item{display:inline-block;white-space:nowrap;}

/* 表单（报名 / 考试登录） */
.cmp-form{max-width:520px;margin:30px auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 8px 30px rgba(16,42,85,.08);}
.cmp-form h2{margin:0 0 18px;color:var(--ink-900);}
/* 宽版表单（字段较多的登记表 / 资料表） */
.cmp-form-wide{max-width:860px;}
.cmp-hint{font-size:13px;color:var(--text-3);margin:-8px 0 18px;line-height:1.7;}
.cmp-hint a{color:var(--blue-600);font-weight:600;}
.cmp-field{margin-bottom:16px;}
.cmp-field label{display:block;font-size:14px;color:var(--text);margin-bottom:6px;font-weight:600;}
.cmp-input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font-size:15px;box-sizing:border-box;}
.cmp-input:focus{border-color:var(--blue-600);outline:none;}
.cmp-input[disabled],.cmp-input[readonly]{background:var(--paper);color:var(--text-3);cursor:not-allowed;}
textarea.cmp-input{resize:vertical;font-family:inherit;line-height:1.7;}
/* 小号按钮（表单内联操作） */
.cmp-btn-sm{padding:8px 12px;font-size:13px;border-radius:8px;}

/* 考试页 */
.cmp-exam{max-width:760px;margin:24px auto;padding:0 16px;}
.cmp-q{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:14px;}
.cmp-q .qt{font-weight:600;margin-bottom:12px;}
.cmp-q .qt .tag{font-size:12px;color:#fff;background:var(--blue-600);border-radius:6px;padding:2px 8px;margin-right:8px;}
.cmp-opt{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;cursor:pointer;}
.cmp-opt:hover{border-color:var(--blue-600);}
.cmp-opt input{margin-right:10px;}
.cmp-nav{display:flex;justify-content:space-between;gap:12px;margin-top:18px;}

/* 结果 */
.cmp-result{text-align:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px;max-width:520px;margin:30px auto;}
.cmp-result .score{font-size:56px;font-weight:800;color:var(--blue-600);}
.cmp-result .pass{color:var(--ok);}
.cmp-result .fail{color:var(--danger);}

/* 导航条（考试） */
.cmp-navbar{background:var(--ink-900);color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;}
.cmp-navbar a{color:#cdd7ee;}

/* 状态胶囊（与赛事工作台 yl.css .chip 语义对齐：approved 绿 / rejected 红 / pending 金） */
.chip{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;
  font-size:12px;line-height:18px;font-weight:500;background:var(--line);color:var(--text-3);}
.chip.pending{color:var(--gold-600);background:rgba(232,185,74,.16);}
.chip.submitted{color:var(--blue-600);background:rgba(47,107,255,.12);}
.chip.approved,.chip.accepted{color:var(--ok);background:rgba(26,157,90,.14);}
.chip.rejected,.chip.cancelled{color:var(--danger);background:rgba(224,72,60,.14);}

/* 提示 toast（轻量，独立于 admin.js） */
.toast{position:fixed;left:50%;top:24px;transform:translateX(-50%);background:rgba(10,28,61,.92);color:#fff;
  padding:10px 18px;border-radius:10px;font-size:14px;z-index:9999;opacity:0;transition:opacity .25s;pointer-events:none;}
.toast.show{opacity:1;}
.toast.err{background:rgba(224,72,60,.95);}
.toast.ok{background:rgba(26,157,90,.95);}
