:root {
  --ink: #111d3b;
  --muted: #66728e;
  --line: #d9e3f4;
  --soft: #f1f5ff;
  --blue: #1668f7;
  --blue-dark: #041f72;
  --violet: #773bf4;
  --magenta: #e737ce;
  --cyan: #16c7f1;
  --green: #168a62;
  --warning: #a85e14;
  --shadow: 0 26px 78px rgba(0, 15, 73, 0.28);
}

* { box-sizing: border-box; }
.share-preview-image { position: absolute; left: -10000px; top: -10000px; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.hidden { display: none !important; }
html { background: #03114c; scroll-behavior: smooth; }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background:
    linear-gradient(180deg, rgba(0, 12, 64, .08), rgba(1, 8, 48, .24)),
    url("/qicai-neon-bg.png") center top / cover fixed,
    #03114c;
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }

.company-shell { width: min(1120px, calc(100% - 36px)); margin: 0 auto; padding: 26px 0 54px; }
.company-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  min-height: 580px;
  overflow: hidden;
  color: white;
  border: 1px solid rgba(118,185,255,.28);
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(1,16,73,.96), rgba(11,67,176,.9) 55%, rgba(100,30,167,.88));
  box-shadow: 0 30px 90px rgba(0,7,56,.45);
}
.company-hero::before { content: ""; position: absolute; left: -110px; bottom: -170px; width: 470px; height: 360px; border-radius: 50%; background: rgba(18,207,255,.12); filter: blur(50px); }
.company-hero-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; padding: 56px 24px 54px 58px; }
.company-brand-logo { width: 220px; height: 112px; margin-bottom: 14px; background: url("/qicai-logo.png") left center / contain no-repeat; filter: drop-shadow(0 14px 30px rgba(0,0,0,.24)); }
.company-kicker { margin: 0 0 14px; color: #5fe3ff; font-size: 13px; font-weight: 800; letter-spacing: .14em; }
.company-hero h1 { margin: 0; font-size: clamp(35px,4.65vw,55px); line-height: 1.14; letter-spacing: -.05em; text-shadow: 0 8px 32px rgba(0,0,50,.4); }
.company-lead { max-width: 580px; margin: 22px 0 30px; color: rgba(239,246,255,.8); font-size: 15px; line-height: 1.9; }
.company-hero-actions { display: flex; align-items: center; gap: 12px; }
.company-enter { align-self: flex-start; min-width: 220px; padding-inline: 25px; }
.company-enter span { margin-left: 12px; font-size: 19px; }
.company-share-button { min-width: 132px; color: white; border: 1px solid rgba(107,217,255,.48); background: rgba(5,31,105,.55); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.company-share-button:hover { background: rgba(20,62,155,.72); }
.share-button-icon { margin-right: 6px; font-size: 18px; }
.company-form-note { margin: 13px 0 0; color: rgba(225,236,255,.6); font-size: 12px; }
.company-hero-photo { position: relative; min-height: 580px; overflow: hidden; }
.company-hero-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#0a3c9d 0%,rgba(10,60,157,.15) 36%,rgba(16,21,72,.12)); }
.company-hero-photo img { width: 100%; height: 100%; object-fit: cover; }
.company-hero-photo span { position: absolute; z-index: 2; right: 22px; bottom: 22px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: rgba(255,255,255,.9); background: rgba(2,13,62,.64); backdrop-filter: blur(12px); font-size: 12px; }
.company-proof { display: grid; grid-template-columns: repeat(4,1fr); margin: 15px 0; overflow: hidden; border: 1px solid rgba(140,187,255,.32); border-radius: 20px; background: rgba(5,25,91,.78); box-shadow: 0 18px 50px rgba(0,8,56,.25); backdrop-filter: blur(15px); }
.company-proof article { display: flex; flex-direction: column; gap: 5px; padding: 25px 20px; text-align: center; border-right: 1px solid rgba(149,194,255,.17); }
.company-proof article:last-child { border-right: 0; }
.company-proof strong { color: white; font-size: 25px; }
.company-proof span { color: rgba(215,229,255,.67); font-size: 12px; }
.company-section { margin-top: 15px; padding: 54px; border-radius: 26px; box-shadow: 0 24px 70px rgba(0,9,60,.28); }
.company-positioning { position: relative; overflow: hidden; color: white; background: linear-gradient(145deg,rgba(4,25,93,.96),rgba(12,61,159,.91) 58%,rgba(72,29,147,.9)); border: 1px solid rgba(119,190,255,.3); }
.company-positioning::before { content: ""; position: absolute; right: -120px; top: -160px; width: 380px; height: 380px; border-radius: 50%; border: 52px solid rgba(73,208,255,.07); box-shadow: 0 0 70px rgba(201,48,255,.12); pointer-events: none; }
.company-positioning > * { position: relative; z-index: 1; }
.company-positioning .company-section-heading p { color: #64e5ff; }
.company-positioning .company-section-heading h2 { color: white; text-shadow: 0 8px 28px rgba(0,8,55,.32); }
.company-section-heading p, .company-cta > p:first-child { margin: 0 0 9px; color: #506af0; font-size: 12px; font-weight: 900; letter-spacing: .16em; }
.company-section-heading h2 { max-width: 720px; margin: 0; font-size: clamp(28px,4vw,43px); line-height: 1.28; letter-spacing: -.04em; }
.company-section-heading.light p { color: #5de4ff; }
.company-section-heading.light h2 { color: white; }
.company-support .company-section-heading h2 { max-width: none; font-size: clamp(24px,2.85vw,34px); line-height: 1.18; letter-spacing: -.045em; white-space: nowrap; }
.company-position-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 37px; }
.company-position-grid article { position: relative; min-width: 0; padding: 25px 18px; border: 1px solid rgba(143,202,255,.25); border-radius: 18px; background: linear-gradient(145deg,rgba(14,51,137,.72),rgba(36,38,123,.58)); box-shadow: inset 0 1px 0 rgba(255,255,255,.07); backdrop-filter: blur(13px); }
.company-position-grid article > span { color: #6ee4ff; font-size: 11px; font-weight: 900; }
.company-position-grid h3 { margin: 15px 0 9px; font-size: 19px; }
.company-position-grid p { margin: 0; color: rgba(224,237,255,.74); line-height: 1.75; font-size: clamp(11.5px, 1.16vw, 13px); letter-spacing: -.035em; white-space: nowrap; }
.company-support { color: white; border: 1px solid rgba(114,178,255,.26); background: linear-gradient(145deg,rgba(2,20,83,.96),rgba(14,68,169,.9) 54%,rgba(93,28,154,.9)); }
.company-support-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 35px; }
.company-scene { position: relative; overflow: hidden; min-height: 310px; margin: 0; border-radius: 19px; border: 1px solid rgba(151,202,255,.28); background: #081448; }
.company-scene::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent,rgba(1,8,43,.92)); }
.company-scene img { width: 100%; height: 310px; object-fit: cover; }
.company-operation-scene img { object-position: center 64%; }
.company-scene figcaption { position: absolute; z-index: 2; left: 22px; right: 22px; bottom: 19px; display: flex; flex-direction: column; gap: 5px; }
.company-scene figcaption b { font-size: 18px; }
.company-scene figcaption span { color: rgba(229,239,255,.72); font-size: 12px; }
.company-service-flow { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 28px; color: rgba(232,241,255,.76); font-size: 12px; }
.company-service-flow span { padding: 7px 11px; border: 1px solid rgba(115,209,255,.24); border-radius: 999px; background: rgba(16,32,104,.48); }
.company-service-flow i { color: #5de4ff; font-style: normal; }
.company-services { position: relative; overflow: hidden; min-height: 0; padding: 36px 42px 40px; color: white; border: 1px solid rgba(98,192,255,.3); background: linear-gradient(150deg,rgba(1,24,91,.98),rgba(13,59,147,.94) 57%,rgba(70,27,142,.94)); }
.company-services::before { content: ""; position: absolute; top: -170px; right: -130px; width: 430px; height: 430px; border-radius: 50%; border: 56px solid rgba(95,78,255,.12); box-shadow: 0 0 90px rgba(226,49,255,.18); pointer-events: none; }
.company-services::after { content: ""; position: absolute; left: -160px; bottom: -190px; width: 420px; height: 420px; border-radius: 50%; border: 42px solid rgba(25,220,255,.09); pointer-events: none; }
.company-services > * { position: relative; z-index: 1; }
.company-services-topline { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.company-service-badges { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.company-service-badges span { padding: 6px 14px; border: 1px solid rgba(79,220,255,.52); border-radius: 999px; color: #f7fbff; background: rgba(2,66,137,.62); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); font-size: 11px; font-weight: 850; }
.company-service-badges span:nth-child(2) { border-color: rgba(196,103,255,.58); background: rgba(75,45,160,.6); }
.company-services-heading { min-width: 0; display: flex; align-items: baseline; gap: 14px; }
.company-services-heading h2 { margin: 0; color: white; font-size: clamp(27px,3.1vw,34px); letter-spacing: -.04em; }
.company-services-heading p { margin: 0 0 3px; color: #65e3ff; font-size: 12px; font-weight: 800; letter-spacing: .1em; white-space: nowrap; }
.company-services-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 18px 0 0; padding: 0; list-style: none; }
.company-services-grid li { min-width: 0; min-height: 60px; display: flex; align-items: center; gap: 13px; padding: 11px 14px; border: 1px solid rgba(135,191,255,.23); border-radius: 13px; background: linear-gradient(135deg,rgba(25,70,146,.68),rgba(35,48,124,.66)); box-shadow: inset 0 1px 0 rgba(255,255,255,.055); }
.company-services-grid li:last-child { grid-column: 1 / -1; }
.company-services-grid li > span { flex: 0 0 30px; width: 30px; height: 30px; display: grid; place-items: center; color: #6feaff; border: 1px solid rgba(76,214,255,.28); border-radius: 9px; background: rgba(7,118,183,.28); font-size: 11px; font-weight: 900; }
.company-services-grid li:nth-child(even) > span { color: #efa2ff; border-color: rgba(199,100,255,.28); background: rgba(109,53,185,.28); }
.company-services-grid p { margin: 0; color: rgba(245,248,255,.93); font-size: 13px; font-weight: 700; line-height: 1.45; }
.company-cta { margin-top: 15px; padding: 62px 30px; text-align: center; border: 1px solid rgba(187,215,255,.58); border-radius: 26px; background: rgba(250,252,255,.97); box-shadow: 0 24px 70px rgba(0,9,60,.28); }
.company-cta h2 { margin: 0; font-size: clamp(30px,4.5vw,48px); line-height: 1.22; letter-spacing: -.04em; }
.company-cta-copy { max-width: 630px; margin: 18px auto 27px; color: var(--muted); line-height: 1.8; font-size: 14px; }
.company-cta .company-enter { align-self: auto; }
.company-cta small { display: block; margin-top: 14px; color: #8a95aa; }
.share-modal { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; padding: 22px; background: rgba(0,7,42,.78); backdrop-filter: blur(14px); }
.share-dialog { position: relative; width: min(620px,100%); max-height: calc(100vh - 44px); overflow: auto; padding: 30px; border: 1px solid rgba(166,205,255,.56); border-radius: 24px; background: #f7f9ff; box-shadow: 0 30px 100px rgba(0,0,35,.55); }
.share-dialog .eyebrow { margin: 0 0 8px; color: #506af0; }
.share-dialog h2 { margin: 0 44px 18px 0; font-size: 28px; }
.share-close { position: absolute; right: 18px; top: 17px; width: 38px; height: 38px; color: #52617e; border: 0; border-radius: 50%; background: #e9eefb; cursor: pointer; font-size: 25px; line-height: 1; }
.share-card-preview { display: block; width: 100%; border-radius: 16px; box-shadow: 0 16px 36px rgba(14,36,105,.2); }
.share-wechat-tip { margin: 0 0 16px; padding: 12px 14px; color: #234372; border: 1px solid #c9d9fb; border-radius: 12px; background: #eaf2ff; line-height: 1.6; font-size: 13px; }
.share-actions { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 10px; margin-top: 18px; }
.share-actions .button { min-height: 48px; padding: 12px; text-decoration: none; text-align: center; }
.share-feedback { min-height: 20px; margin: 11px 0 0; color: #375a97; text-align: center; font-size: 12px; }

/* Recruitment application and management */
.recruitment-page, .recruitment-admin-page { min-height: 100vh; background: #06165e url("/qicai-neon-bg.png") center top / cover fixed no-repeat; }
.recruitment-share-page { min-height: 100vh; background: #06165e url("/qicai-neon-bg.png") center / cover fixed no-repeat; }
.recruitment-share-shell { width: min(760px, calc(100% - 32px)); min-height: 100vh; display: grid; place-items: center; margin: 0 auto; padding: 34px 0; }
.recruitment-share-card { width: 100%; padding: 42px; text-align: center; border: 1px solid rgba(174,207,255,.78); border-radius: 30px; background: linear-gradient(145deg,rgba(252,253,255,.99),rgba(239,244,255,.98)); box-shadow: 0 28px 90px rgba(0,8,58,.5); }
.recruitment-share-brand { width: 220px; height: 116px; margin: 0 auto 12px; background: url("/qicai-logo.png") center / contain no-repeat; }
.recruitment-share-card .eyebrow { margin: 0 0 9px; color: #5070ee; }
.recruitment-share-card h1 { max-width: 590px; margin: 0 auto; color: #0d1e48; font-size: clamp(30px,5vw,46px); line-height: 1.18; letter-spacing: -.045em; }
.recruitment-share-intro { max-width: 610px; margin: 18px auto 25px; color: #64728f; line-height: 1.8; }
.recruitment-qr-panel { display: grid; grid-template-columns: 240px minmax(0,1fr); align-items: center; gap: 25px; padding: 24px; text-align: left; border: 1px solid #d9e5f8; border-radius: 22px; background: white; box-shadow: 0 18px 40px rgba(38,68,146,.12); }
.recruitment-qr-frame { display: grid; place-items: center; padding: 10px; border: 1px solid #d8e4f7; border-radius: 18px; background: white; }
.recruitment-qr-frame img { display: block; width: 100%; height: auto; }
.recruitment-qr-copy { display: grid; gap: 10px; min-width: 0; }
.recruitment-qr-copy strong { color: #122249; font-size: 21px; line-height: 1.45; }
.recruitment-qr-copy span { color: #536889; line-height: 1.65; }
.recruitment-qr-copy code { overflow-wrap: anywhere; padding: 11px 12px; color: #315ac6; border-radius: 11px; background: #eef4ff; font-family: inherit; font-size: 12px; line-height: 1.6; }
.recruitment-share-actions { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 10px; margin-top: 22px; }
.recruitment-share-actions .button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 14px; text-decoration: none; }
.recruitment-share-feedback { min-height: 22px; margin: 12px 0 0; color: #3560c4; font-size: 13px; }
.recruitment-share-note { margin: 2px 0 0; color: #7c89a2; font-size: 12px; line-height: 1.7; }
.recruitment-shell { width: min(980px, calc(100% - 30px)); margin: 0 auto; padding: 30px 0 50px; }
.recruitment-hero { position: relative; overflow: hidden; padding: 38px 42px; color: white; border: 1px solid rgba(112,176,255,.32); border-radius: 28px 28px 12px 12px; background: linear-gradient(135deg,rgba(1,18,79,.94),rgba(13,70,174,.86) 57%,rgba(92,34,178,.82)); box-shadow: 0 26px 70px rgba(0,9,55,.38); }
.recruitment-hero::after { content: ""; position: absolute; right: -80px; top: -120px; width: 340px; height: 340px; border-radius: 50%; border: 56px solid rgba(77,210,255,.08); box-shadow: 0 0 90px rgba(226,49,255,.18); }
.recruitment-logo { position: relative; z-index: 1; display: block; width: 190px; height: 96px; margin-bottom: 26px; background: url("/qicai-logo.png") left center / contain no-repeat; filter: drop-shadow(0 10px 24px rgba(0,0,0,.2)); }
.recruitment-hero .eyebrow { position: relative; z-index: 1; color: #5ee0ff; }
.recruitment-hero h1 { position: relative; z-index: 1; max-width: 700px; margin: 0; font-size: clamp(36px,6vw,64px); line-height: 1.13; letter-spacing: -.055em; }
.recruitment-hero > p:not(.eyebrow) { position: relative; z-index: 1; max-width: 650px; margin: 20px 0 0; color: rgba(240,246,255,.77); line-height: 1.8; }
.recruitment-pills { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.recruitment-pills span { padding: 7px 13px; border: 1px solid rgba(94,222,255,.38); border-radius: 99px; color: #eafcff; background: rgba(5,37,115,.5); font-size: 12px; }
.recruitment-form { padding: 8px 42px 34px; border: 1px solid rgba(187,215,255,.58); border-radius: 12px 12px 28px 28px; background: rgba(249,251,255,.98); box-shadow: 0 26px 70px rgba(0,9,55,.35); }
.recruitment-form-section { padding: 36px 0 32px; border-bottom: 1px solid #dbe5f5; }
.recruitment-form-section:last-of-type { border-bottom: 0; }
.recruitment-two-column { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; }
.recruitment-field { display: block; min-width: 0; }
.recruitment-field > b { display: flex; align-items: center; gap: 7px; margin: 19px 0 9px; font-size: 14px; }
.recruitment-field em { color: #df5757; font-size: 11px; font-style: normal; }
.recruitment-field b > span { color: #8a94a8; font-size: 11px; font-weight: 500; }
.recruitment-field select { appearance: auto; }
.recruitment-textarea { width: 100%; min-height: 130px; resize: vertical; padding: 14px 15px; color: var(--ink); border: 1px solid #d9e1ef; border-radius: 13px; background: #fbfcff; outline: none; line-height: 1.7; }
.recruitment-textarea.compact { min-height: 100px; }
.recruitment-textarea:focus { border-color: #5b76ed; box-shadow: 0 0 0 4px rgba(89,76,225,.11); }
.recruitment-consent { margin-top: 8px; }
.secondary-consent { margin-top: 22px; background: #f6f9ff; }
.recruitment-submit { display: block; min-width: 240px; margin: 24px auto 0; }
.recruitment-success { margin-top: 10px; padding: 70px 30px; text-align: center; border: 1px solid rgba(187,215,255,.58); border-radius: 16px 16px 28px 28px; background: rgba(249,251,255,.98); box-shadow: 0 26px 70px rgba(0,9,55,.35); }
.recruitment-success .success-check { width: 68px; height: 68px; display: grid; place-items: center; margin: 0 auto 22px; color: white; border-radius: 50%; background: linear-gradient(135deg,#1684fa,#6d44ed 66%,#df3ac9); font-size: 34px; box-shadow: 0 14px 35px rgba(72,70,220,.28); }
.recruitment-success h2 { margin: 0; font-size: 32px; }
.recruitment-success > p:not(.eyebrow) { color: var(--muted); }
.recruitment-success dl { width: min(430px,100%); margin: 24px auto; padding: 18px; border: 1px solid #dbe5f5; border-radius: 14px; background: #f4f7fc; }
.recruitment-success dt { color: var(--muted); font-size: 12px; }
.recruitment-success dd { margin: 7px 0 0; font-size: 21px; font-weight: 850; letter-spacing: .04em; }
.recruitment-admin-nav a { text-decoration: none; }
.recruitment-admin-shell { width: min(1320px, calc(100% - 40px)); padding-top: 28px; }
.recruitment-admin-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 16px;
  padding: 26px 28px;
  color: var(--ink);
  border: 1px solid rgba(199,216,247,.9);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,245,255,.96));
  box-shadow: 0 20px 58px rgba(0,19,82,.22);
  backdrop-filter: blur(22px);
}
.recruitment-admin-heading { display: flex; align-items: center; gap: 20px; min-width: 0; }
.recruitment-admin-heading .admin-small-logo { flex: 0 0 142px; width: 142px; height: 76px; background: url("/qicai-logo.png") left center / contain no-repeat; }
.recruitment-admin-heading .eyebrow { margin-bottom: 7px; color: #486de0; font-size: 11px; letter-spacing: .12em; }
.recruitment-admin-heading h1 { margin: 0; color: #101e40; font-size: clamp(28px, 3vw, 38px); line-height: 1.18; letter-spacing: -.035em; }
.recruitment-admin-identity { display: flex; align-items: center; gap: 10px; margin: 10px 0 0; color: #5e6d8b; font-size: 13px; font-weight: 750; }
.recruitment-admin-header .role-badge { border-color: #d9c9ff; color: #6637b8; background: #f3ecff; }
.recruitment-admin-header .role-badge.super { border-color: #e4b9ef; color: #8d288c; background: #faeefe; }
.recruitment-admin-actions { justify-content: flex-end; flex-wrap: wrap; }
.recruitment-admin-actions .button { min-height: 43px; padding: 10px 16px; text-decoration: none; white-space: nowrap; }
.recruitment-admin-tabs { display: flex; gap: 8px; margin: 0 0 14px; padding: 8px; border: 1px solid rgba(199,216,247,.9); border-radius: 16px; background: rgba(248,251,255,.96); box-shadow: 0 13px 34px rgba(12,35,104,.13); }
.recruitment-admin-tabs button { min-height: 42px; padding: 10px 18px; color: #425474; border: 0; border-radius: 11px; background: transparent; cursor: pointer; font-weight: 800; }
.recruitment-admin-tabs button.active { color: white; background: linear-gradient(135deg,#1684fa,#6546ef 65%,#dc39ca); box-shadow: 0 10px 24px rgba(77,76,223,.24); }
.recruitment-admin-panel .reviewer-summary { padding-top: 4px; }
.recruitment-admin-panel .reviewer-card-row { box-shadow: 0 12px 30px rgba(28,58,133,.06); }
.recruitment-admin-shell .recruitment-stat-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.recruitment-stat-grid article { display: grid; gap: 10px; min-width: 0; padding: 18px 20px; border: 1px solid rgba(213,225,246,.95); border-radius: 17px; background: rgba(252,253,255,.96); box-shadow: 0 13px 34px rgba(12,35,104,.13); }
.recruitment-stat-grid article span { color: #63728f; font-size: 12px; font-weight: 700; }
.recruitment-stat-grid article b { color: #13244a; font-size: 30px; line-height: 1; }
.recruitment-stat-grid article:nth-child(2) b { color: #286dde; }
.recruitment-stat-grid article:nth-child(3) b { color: #7a47d1; }
.recruitment-stat-grid article:nth-child(4) b { color: #b43cab; }
.recruitment-stat-grid article:nth-child(5) b { color: #178060; }
.recruitment-admin-panel { background: rgba(250,252,255,.98); }
.recruitment-filter-grid { display: grid; gap: 13px; margin: 18px 0 22px; }
.recruitment-filter-primary { display: grid; grid-template-columns: minmax(320px,1fr) auto auto; gap: 12px; }
.recruitment-filter-secondary { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 12px; padding: 13px; border: 1px solid #e1e8f4; border-radius: 16px; background: #f5f8fd; }
.recruitment-filter-grid select { width: 100%; min-width: 0; min-height: 48px; padding: 11px 14px; color: #344159; border: 1px solid #d9e1ef; border-radius: 12px; background: #fff; }
.recruitment-list { display: grid; gap: 16px; }
.recruitment-card { padding: 24px; border: 1px solid #dce5f2; border-radius: 18px; background: white; box-shadow: 0 12px 30px rgba(28,58,133,.06); }
.recruitment-card-head { padding-bottom: 17px; border-bottom: 1px solid #e2e9f4; }
.recruitment-status { padding: 5px 9px; border-radius: 99px; color: #315bb5; background: #eaf1ff; font-size: 11px; font-style: normal; font-weight: 800; }
.recruitment-status.status-hired { color: #11734f; background: #ddf8ec; }
.recruitment-status.status-rejected { color: #a44249; background: #fff0f1; }
.recruitment-status.status-interview, .recruitment-status.status-offer { color: #6f3cac; background: #f4eaff; }
.recruitment-details { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px 24px; margin: 21px 0; }
.recruitment-details div { min-width: 0; }
.recruitment-details .wide { grid-column: span 2; }
.recruitment-details dt { margin-bottom: 6px; color: var(--muted); font-size: 11px; }
.recruitment-details dd { margin: 0; overflow-wrap: anywhere; color: #17223e; line-height: 1.55; font-size: 13px; font-weight: 650; }
.recruitment-details a { color: #315bd3; }
.interview-evaluation { margin: 18px 0; border: 1px solid #dbe4f2; border-radius: 15px; background: #f8faff; }
.interview-evaluation summary { padding: 15px 18px; color: #263d70; cursor: pointer; font-size: 13px; font-weight: 850; }
.interview-evaluation[open] summary { border-bottom: 1px solid #dbe4f2; }
.interview-score-guide { margin: 14px 18px 0; padding: 10px 12px; color: #4f6285; border-radius: 10px; background: #edf3ff; font-size: 11px; line-height: 1.55; }
.interview-score-grid, .interview-meta-grid, .interview-notes-grid { display: grid; gap: 12px; padding: 16px 18px 0; }
.interview-score-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.interview-meta-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.interview-notes-grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding-bottom: 18px; }
.interview-evaluation label { display: grid; gap: 7px; color: #62708a; font-size: 11px; font-weight: 750; }
.interview-score-field { grid-template-rows: auto minmax(42px,auto) auto; align-content: start; padding: 12px; border: 1px solid #e2e9f4; border-radius: 12px; background: #fff; }
.interview-score-name { color: #314263; font-size: 12px; font-weight: 850; }
.interview-score-help { color: #77849c; font-size: 10px; font-weight: 500; line-height: 1.55; }
.interview-evaluation select, .interview-evaluation input, .interview-evaluation textarea { width: 100%; min-width: 0; color: #21304f; border: 1px solid #d5dfed; border-radius: 10px; background: white; }
.interview-evaluation select, .interview-evaluation input { min-height: 42px; padding: 8px 10px; }
.interview-evaluation textarea { min-height: 86px; padding: 10px 12px; resize: vertical; }
.recruitment-management { display: grid; grid-template-columns: 180px 220px minmax(260px,1fr) auto; gap: 14px; align-items: end; padding: 18px; border-radius: 15px; background: #f4f7fd; }
.recruitment-management label { display: grid; gap: 7px; color: #62708a; font-size: 11px; font-weight: 750; }
.recruitment-management select, .recruitment-management textarea { width: 100%; color: #21304f; border: 1px solid #d5dfed; border-radius: 10px; background: white; }
.recruitment-management select { min-height: 44px; padding: 9px 11px; }
.recruitment-management textarea { min-height: 74px; padding: 10px 12px; resize: vertical; }
.recruitment-card-actions { display: flex; align-items: center; gap: 9px; padding-bottom: 2px; }

@media (max-width: 1050px) {
  .recruitment-admin-header { align-items: flex-start; flex-direction: column; }
  .recruitment-admin-actions { justify-content: flex-start; width: 100%; }
  .recruitment-admin-shell .recruitment-stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .recruitment-filter-primary { grid-template-columns: minmax(0,1fr) auto auto; }
  .recruitment-filter-grid .button { width: auto; }
  .recruitment-details { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .recruitment-management { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .interview-score-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .recruitment-note { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .recruitment-share-shell { width: 100%; padding: 0; }
  .recruitment-share-card { min-height: 100vh; padding: 28px 20px calc(28px + env(safe-area-inset-bottom)); border: 0; border-radius: 0; }
  .recruitment-share-brand { width: 180px; height: 94px; }
  .recruitment-share-card h1 { font-size: 32px; }
  .recruitment-share-intro { margin-bottom: 20px; font-size: 14px; }
  .recruitment-qr-panel { grid-template-columns: 1fr; gap: 17px; padding: 18px; text-align: center; }
  .recruitment-qr-frame { width: min(240px,100%); margin: 0 auto; }
  .recruitment-qr-copy strong { font-size: 18px; }
  .recruitment-share-actions { grid-template-columns: 1fr 1fr; }
  .recruitment-share-actions .primary { grid-column: 1 / -1; }
  .recruitment-admin-shell { width: calc(100% - 24px); padding-top: 12px; }
  .recruitment-admin-header { padding: 20px; border-radius: 20px; }
  .recruitment-admin-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .recruitment-admin-heading .admin-small-logo { width: 125px; height: 64px; }
  .recruitment-admin-heading h1 { font-size: 28px; }
  .recruitment-admin-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .recruitment-admin-actions .button:first-child, .recruitment-admin-actions .button:nth-child(2) { grid-column: 1 / -1; }
  .recruitment-admin-shell .recruitment-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .recruitment-stat-grid article:last-child { grid-column: 1 / -1; }
  .recruitment-shell { width: 100%; padding: 0 0 28px; }
  .recruitment-hero { padding: 25px 22px 30px; border-radius: 0 0 22px 22px; }
  .recruitment-logo { width: 155px; height: 76px; margin-bottom: 18px; }
  .recruitment-hero h1 { font-size: 36px; }
  .recruitment-form { margin: 12px 12px 0; padding: 4px 18px 26px; border-radius: 22px; }
  .recruitment-two-column, .recruitment-details, .recruitment-management { grid-template-columns: 1fr; }
  .recruitment-filter-primary, .recruitment-filter-secondary { grid-template-columns: 1fr; }
  .recruitment-filter-grid .button { width: 100%; }
  .interview-score-grid, .interview-meta-grid, .interview-notes-grid { grid-template-columns: 1fr; }
  .recruitment-details .wide, .recruitment-note { grid-column: auto; }
  .recruitment-submit { width: 100%; min-width: 0; }
  .recruitment-success { margin: 12px; padding: 50px 22px; border-radius: 22px; }
  .recruitment-card { padding: 18px; }
  .recruitment-management { padding: 14px; }
  .recruitment-card-actions { flex-wrap: wrap; }
}

.survey-shell { width: min(840px, calc(100% - 28px)); margin: 0 auto; padding: 30px 0 40px; }
.survey-header {
  position: relative;
  overflow: hidden;
  padding: 34px 38px 30px;
  color: white;
  border-radius: 26px 26px 12px 12px;
  border: 1px solid rgba(112, 176, 255, .26);
  background:
    linear-gradient(135deg, rgba(1, 17, 77, .84) 0%, rgba(10, 48, 145, .68) 56%, rgba(85, 30, 164, .62) 100%);
  box-shadow: 0 24px 70px rgba(0, 10, 61, .38), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
}
.survey-header::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -95px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  border: 44px solid rgba(70, 203, 255, .08);
  box-shadow: 0 0 60px rgba(197, 50, 255, .16);
}
.brand-row { position: relative; z-index: 1; display: flex; align-items: center; gap: 16px; margin-bottom: 26px; }
.anchor-survey-header .brand-row { margin-bottom: 10px; }
.brand-logo { width: 178px; height: 82px; background: url("/qicai-logo.png") left center / contain no-repeat; filter: drop-shadow(0 10px 24px rgba(0,0,0,.22)); }
.time-pill { margin-left: auto; padding: 8px 13px; border-radius: 999px; color: white !important; font-size: 12px; background: rgba(10, 27, 96, .54); border: 1px solid rgba(70, 218, 255, .34); box-shadow: inset 0 0 18px rgba(70, 120, 255, .14); }
.eyebrow { margin: 0 0 9px; color: #6894ff; font-weight: 800; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; }
.survey-header .eyebrow { position: relative; z-index: 1; color: #5ee0ff; text-shadow: 0 0 18px rgba(40, 210, 255, .45); }
.survey-header h1 { position: relative; z-index: 1; margin: 0; font-size: clamp(27px, 5vw, 40px); line-height: 1.2; letter-spacing: -.04em; text-shadow: 0 6px 24px rgba(0,0,45,.35); }
.survey-header .survey-title { margin: 30px 0 0; }
.lead { position: relative; z-index: 1; max-width: 610px; margin: 15px 0 26px; color: rgba(255,255,255,.76); line-height: 1.75; font-size: 14px; }
.progress-track { position: relative; z-index: 1; height: 7px; overflow: hidden; border-radius: 99px; background: rgba(2,8,56,.36); border: 1px solid rgba(135,190,255,.16); }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #21d4ff, #246bff 43%, #8a40ff 72%, #f139cc); box-shadow: 0 0 18px rgba(46,148,255,.72); transition: width .35s ease; }
.step-row { position: relative; z-index: 1; display: flex; justify-content: space-between; margin-top: 10px; color: rgba(255,255,255,.7); font-size: 12px; }

.form-card { margin-top: 10px; padding: 34px 38px 28px; background: rgba(250,252,255,.97); border: 1px solid rgba(187,215,255,.56); border-radius: 12px 12px 26px 26px; box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.92); backdrop-filter: blur(18px); }
.step-panel { animation: rise .24s ease; }
.step-panel + .step-panel { margin-top: 38px; padding-top: 38px; border-top: 1px solid var(--line); }
@keyframes rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.section-title { display: flex; align-items: center; gap: 15px; margin-bottom: 28px; }
.section-title > span { color: white; font-size: 12px; font-weight: 900; padding: 9px 10px; border-radius: 10px; background: linear-gradient(135deg, #126df8, #7941f1 72%, #df3fc8); box-shadow: 0 7px 18px rgba(77,76,229,.2); }
.section-title h2 { margin: 0 0 3px; font-size: 22px; letter-spacing: -.02em; }
.section-title p { margin: 0; color: var(--muted); font-size: 13px; }
.field-label { display: flex; align-items: center; gap: 8px; margin: 20px 0 9px; font-size: 14px; font-weight: 750; }
.field-label em, .question legend em { color: #e05757; font-size: 11px; font-style: normal; }
.field-label span { color: #8a94a8; font-size: 11px; font-weight: 500; }
.text-input, .search-input {
  width: 100%;
  border: 1px solid #d9e1ef;
  border-radius: 13px;
  padding: 14px 15px;
  color: var(--ink);
  background: #fbfcff;
  outline: none;
  transition: border .18s ease, box-shadow .18s ease, background .18s ease;
}
.text-input:focus, .search-input:focus { border-color: #5b76ed; background: white; box-shadow: 0 0 0 4px rgba(89, 76, 225, .11), 0 8px 24px rgba(33, 84, 190, .08); }
.text-input::placeholder, .search-input::placeholder { color: #9aa5b7; }
.consent-card { display: flex; gap: 12px; margin-top: 24px; padding: 16px; border-radius: 14px; border: 1px solid #d7e3f8; background: linear-gradient(135deg, #f3f8ff, #f7f3ff); cursor: pointer; }
.consent-card input { width: 18px; height: 18px; accent-color: var(--blue); margin-top: 2px; }
.consent-card span { display: flex; flex-direction: column; gap: 5px; }
.consent-card b { font-size: 13px; }
.consent-card small { color: var(--muted); line-height: 1.55; }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; opacity: 0; }
.question { min-width: 0; padding: 0; margin: 0 0 30px; border: 0; }
#learningCommitmentQuestion { scroll-margin-top: 20px; }
.question legend { width: 100%; margin-bottom: 10px; font-size: 15px; font-weight: 800; line-height: 1.5; }
.question-hint { margin: -5px 0 11px; color: var(--muted); font-size: 12px; }
.number-answer-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.number-input-wrap, .score-input-wrap { display: flex; align-items: center; overflow: hidden; border: 1px solid #d9e1ef; border-radius: 13px; background: #fbfcff; transition: border .18s ease, box-shadow .18s ease, opacity .18s ease; }
.number-input-wrap:focus-within, .score-input-wrap:focus-within { border-color: #5b76ed; box-shadow: 0 0 0 4px rgba(89, 76, 225, .11); }
.number-input-wrap.disabled { opacity: .52; }
.number-input-wrap input, .score-input-wrap input { min-width: 0; width: 100%; padding: 14px 15px; color: var(--ink); border: 0; outline: 0; background: transparent; }
.number-input-wrap span, .score-input-wrap span { flex: 0 0 auto; padding: 0 14px; color: var(--muted); font-size: 12px; }
.score-input-wrap { width: min(330px, 100%); }
.none-choice { min-width: 92px; padding: 12px 16px; color: #344159; font-weight: 750; border: 1px solid #dfe6f0; border-radius: 13px; background: #fff; cursor: pointer; }
.none-choice.selected { color: #172f8d; border-color: #626ee8; background: linear-gradient(135deg, #edf7ff, #f3edff); }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.choice {
  min-height: 50px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  text-align: left;
  color: #344159;
  border: 1px solid #dfe6f0;
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
  transition: transform .16s ease, border .16s ease, background .16s ease, box-shadow .16s ease;
}
.choice:hover { transform: translateY(-1px); border-color: #879ff0; box-shadow: 0 8px 22px rgba(52, 71, 166, .07); }
.choice.selected { color: #172f8d; border-color: #626ee8; background: linear-gradient(135deg, #edf7ff, #f3edff); box-shadow: 0 8px 22px rgba(62, 70, 193, .12); }
.radio-shape, .check-shape { flex: 0 0 21px; width: 21px; height: 21px; display: grid; place-items: center; color: white; font-size: 12px; font-weight: 900; border: 1.5px solid #bac4d6; background: white; }
.radio-shape { border-radius: 50%; }
.check-shape { border-radius: 6px; }
.selected .radio-shape, .selected .check-shape { border-color: #5b62ec; background: linear-gradient(135deg, #1476fb, #8240ec 70%, #e536ca); }
.file-drop { min-height: 90px; display: flex; align-items: center; gap: 14px; padding: 18px; border: 1.5px dashed #93a9e4; border-radius: 15px; background: linear-gradient(135deg, #f2f8ff, #f7f3ff); cursor: pointer; }
.file-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.file-icon { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; color: white; font-size: 25px; border-radius: 12px; background: linear-gradient(145deg, #1882fb, #763fed); box-shadow: 0 8px 18px rgba(55,77,204,.2); }
.file-drop > span:last-child { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.file-drop b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-drop small { color: var(--muted); }
.upload-box { margin-top: 12px; padding: 14px; border: 1px solid #d7e2f6; border-radius: 13px; background: #f8faff; }
.upload-line { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; }
.upload-line b { color: #315bd3; }
.upload-track { height: 8px; overflow: hidden; margin: 9px 0 0; border-radius: 99px; background: #e5ebf5; }
.upload-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #16bff1, #1668f7, #773bf4); transition: width .2s ease; }
.upload-box .button { margin-top: 11px; min-height: 38px; padding: 7px 13px; }
.error-banner { margin-bottom: 22px; padding: 13px 15px; color: #8e3535; background: #fff1f1; border: 1px solid #f1c6c6; border-radius: 12px; font-size: 13px; line-height: 1.5; }
.form-actions { display: flex; justify-content: flex-end; gap: 11px; padding-top: 6px; }
.button { min-height: 46px; border: 0; border-radius: 12px; padding: 11px 20px; font-weight: 800; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease; }
.button:hover { transform: translateY(-1px); }
.button:disabled { opacity: .65; cursor: wait; transform: none; }
.button.primary { color: white; background: linear-gradient(115deg, #087af8 0%, #6046f1 52%, #e33aca 100%); box-shadow: 0 11px 28px rgba(58, 66, 210, .28), 0 0 24px rgba(36, 168, 255, .12); }
.button.secondary { color: #2f4369; background: #edf1f8; }
.button.full { width: 100%; }
.survey-footer { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 18px; padding-top: 20px; color: rgba(227,238,255,.72); font-size: 11px; }
.survey-footer span::before { content: "✓"; margin-right: 5px; color: #3ee4ff; font-weight: 900; text-shadow: 0 0 12px rgba(54,224,255,.7); }
.icp-link { color: inherit; text-decoration: none; }
.icp-link:hover { color: #fff; text-decoration: underline; }
.site-legal-footer { padding: 18px 20px 28px; color: rgba(227,238,255,.76); font-size: 12px; text-align: center; }
.success-shell { min-height: 100vh; display: grid; place-items: center; }
.success-card { width: min(560px, 100%); padding: 46px 38px; text-align: center; border: 1px solid rgba(188,216,255,.56); border-radius: 26px; background: rgba(250,252,255,.97); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.success-mark { width: 68px; height: 68px; display: grid; place-items: center; margin: 0 auto 22px; color: white; font-size: 34px; font-weight: 900; border-radius: 50%; background: linear-gradient(145deg, #20a476, #2576cb); box-shadow: 0 14px 34px rgba(25, 143, 105, .25); }
.success-card h1 { margin: 0 0 14px; font-size: 30px; }
.success-card > p:not(.eyebrow) { color: var(--muted); line-height: 1.8; }
.success-note { margin-top: 24px; padding: 15px; color: #59677e; font-size: 13px; line-height: 1.65; border-radius: 12px; background: var(--soft); }
.application-number { display: flex; flex-direction: column; gap: 5px; margin-top: 22px; padding: 17px; border: 1px solid #d6e5ff; border-radius: 14px; background: linear-gradient(135deg, #eff8ff, #f5efff); }
.application-number span, .application-number small { color: var(--muted); font-size: 11px; }
.application-number strong { color: #213e9f; font-size: 22px; letter-spacing: .04em; }
.closed-shell { min-height: 100vh; display: grid; place-items: center; }
.closed-shell .success-mark { background: linear-gradient(145deg, #d49d23, #d36142); }
.privacy-shell { width: min(820px, calc(100% - 28px)); margin: 0 auto; padding: 30px 0 60px; }
.privacy-card { padding: 40px; border: 1px solid rgba(188,216,255,.56); border-radius: 26px; background: rgba(250,252,255,.97); box-shadow: var(--shadow); }
.privacy-card h1 { margin: 0 0 10px; font-size: 32px; }
.privacy-lead { margin: 0 0 30px; color: var(--muted); }
.privacy-card section { padding: 20px 0; border-top: 1px solid var(--line); }
.privacy-card h2 { margin: 0 0 9px; font-size: 17px; }
.privacy-card section p { margin: 0; color: #55617a; line-height: 1.85; }
.privacy-back { display: inline-flex; align-items: center; justify-content: center; margin-top: 14px; text-decoration: none; }

/* Admin */
.admin-login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.admin-login-card { width: min(440px, 100%); padding: 38px; background: rgba(250,252,255,.97); border: 1px solid rgba(188,216,255,.56); border-radius: 24px; box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.admin-brand-logo { width: 176px; height: 94px; margin-bottom: 18px; background: url("/qicai-logo.png") left center / contain no-repeat; }
.admin-login-card h1 { margin: 0 0 12px; font-size: 28px; }
.admin-login-card > p:not(.eyebrow) { margin: 0 0 22px; color: var(--muted); line-height: 1.7; }
.admin-login-card .text-input { margin-bottom: 14px; }
.admin-login-card .field-label { margin: 13px 0 7px; }
.admin-login-links { display: flex; justify-content: center; margin-top: 18px; font-size: 12px; }
.admin-login-links a { color: #315bd3; text-decoration: none; }
.admin-shell { width: min(1200px, calc(100% - 36px)); margin: 0 auto; padding: 34px 0 60px; }
.admin-topbar { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 24px; }
.admin-topbar h1 { margin: 0 0 4px; font-size: 34px; }
.admin-topbar h1 { color: white; text-shadow: 0 6px 24px rgba(0,0,45,.35); }
.admin-topbar p:not(.eyebrow) { margin: 0; color: rgba(225,235,255,.7); }
.admin-actions { display: flex; gap: 10px; }
.admin-nav { display: flex; gap: 8px; margin-bottom: 18px; padding: 7px; border: 1px solid rgba(176,210,255,.22); border-radius: 15px; background: rgba(3,19,79,.48); backdrop-filter: blur(16px); }
.admin-nav-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.admin-tab { padding: 10px 15px; color: rgba(226,237,255,.72); border: 0; border-radius: 10px; background: transparent; cursor: pointer; font-weight: 800; }
.admin-tab.active { color: white; background: linear-gradient(120deg, rgba(24,119,247,.82), rgba(116,60,238,.84)); box-shadow: 0 8px 22px rgba(20,56,156,.32); }
.admin-heading-row { display: flex; align-items: center; gap: 10px; margin-bottom: 5px; }
.admin-heading-row .eyebrow { margin: 0; }
.role-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 9px; border: 1px solid rgba(111, 206, 255, .42); border-radius: 999px; color: #d9f5ff; background: rgba(11, 128, 226, .22); font-size: 12px; font-weight: 800; }
.role-badge.super { border-color: rgba(244, 150, 255, .5); color: #ffe2ff; background: rgba(161, 65, 210, .25); }
.admin-error { margin: 0 0 18px; }
.success-banner { color: #176148; border-color: #a9dfcb; background: #edfff8; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.stat-card { display: flex; flex-direction: column; gap: 12px; padding: 20px; border: 1px solid rgba(255,255,255,.75); border-radius: 17px; background: rgba(255,255,255,.82); box-shadow: 0 12px 35px rgba(43, 65, 110, .07); }
.stat-card span { color: var(--muted); font-size: 12px; }
.stat-card b { font-size: 30px; }
.statistics-panel { display: grid; gap: 18px; }
.statistics-controls { display: grid; grid-template-columns: auto minmax(150px, 1fr) minmax(150px, 1fr) auto; align-items: end; gap: 12px; }
.period-switch { display: inline-flex; gap: 5px; padding: 5px; border: 1px solid #dbe3f1; border-radius: 12px; background: #f5f8fd; }
.period-button { min-height: 38px; padding: 8px 12px; color: #5d6981; border: 0; border-radius: 8px; background: transparent; cursor: pointer; font-weight: 800; white-space: nowrap; }
.period-button.active { color: white; background: linear-gradient(120deg, #2478ed, #8348e7); box-shadow: 0 7px 18px rgba(58, 75, 195, .22); }
.statistics-date-field { display: grid; gap: 6px; color: #55627a; font-size: 11px; font-weight: 800; }
.statistics-date-field input { min-height: 48px; padding: 10px 12px; color: #25324c; border: 1px solid #d9e1ef; border-radius: 11px; background: #fbfcff; font: inherit; }
.statistics-definition { margin: -4px 0 0; padding: 11px 13px; color: #53637e; border-radius: 10px; background: #eef4ff; font-size: 12px; line-height: 1.65; }
.statistics-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.statistics-cards article { display: grid; gap: 6px; min-width: 0; padding: 18px; border: 1px solid #e1e8f4; border-radius: 15px; background: linear-gradient(145deg, #fbfdff, #f2f6ff); }
.statistics-cards span { color: #64718a; font-size: 12px; }
.statistics-cards b { color: #172647; font-size: 28px; }
.statistics-cards small { color: #8a95a8; font-size: 10px; line-height: 1.5; }
.statistics-chart-panel { padding: 18px; border: 1px solid #e1e8f4; border-radius: 16px; background: #fbfcff; }
.statistics-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.statistics-section-heading h3 { margin: 0 0 4px; font-size: 16px; }
.statistics-section-heading p { margin: 0; color: var(--muted); font-size: 11px; }
.trend-list { display: grid; gap: 9px; }
.trend-row { display: grid; grid-template-columns: 105px minmax(0, 1fr); align-items: center; gap: 14px; padding: 11px 12px; border-radius: 11px; background: white; }
.trend-row time { color: #53637e; font-size: 11px; font-weight: 800; }
.trend-series { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.trend-series label { display: grid; grid-template-columns: 105px minmax(0, 1fr); align-items: center; gap: 8px; color: #66728a; font-size: 10px; }
.trend-series progress { width: 100%; height: 9px; overflow: hidden; border: 0; border-radius: 999px; background: #e9eef8; appearance: none; }
.trend-series progress::-webkit-progress-bar { border-radius: 999px; background: #e9eef8; }
.trend-series progress::-webkit-progress-value { border-radius: 999px; }
.trend-series progress::-moz-progress-bar { border-radius: 999px; }
.lead-progress::-webkit-progress-value { background: linear-gradient(90deg, #287cf3, #734fe5); }
.lead-progress::-moz-progress-bar { background: linear-gradient(90deg, #287cf3, #734fe5); }
.joined-progress::-webkit-progress-value { background: linear-gradient(90deg, #19a987, #42d4bf); }
.joined-progress::-moz-progress-bar { background: linear-gradient(90deg, #19a987, #42d4bf); }
.statistics-table-wrap { overflow-x: auto; }
.statistics-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.statistics-table th, .statistics-table td { padding: 12px 13px; text-align: left; border-bottom: 1px solid #e5eaf2; }
.statistics-table th { color: #627089; background: #f2f6fc; font-size: 10px; }
.statistics-table td { color: #263550; font-weight: 700; }
.statistics-freshness { color: #8a95a8; font-size: 10px; }
.empty-state.compact { padding: 34px 16px; }
.admin-panel { padding: 24px; border-radius: 21px; background: rgba(255,255,255,.92); box-shadow: var(--shadow); }
.panel-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.panel-toolbar h2 { margin: 0 0 4px; font-size: 20px; }
.panel-toolbar p { margin: 0; color: var(--muted); font-size: 12px; }
.export-actions { display: flex; gap: 8px; }
.search-row { display: flex; gap: 8px; }
.search-input { width: 240px; padding: 11px 13px; }
.filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto auto; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.filter-grid .search-input { width: 100%; min-height: 42px; grid-column: 1 / 5; grid-row: 1; padding: 9px 12px; }
.filter-grid #searchButton { grid-column: 5; grid-row: 1; }
.filter-grid #resetFilterButton { grid-column: 6; grid-row: 1; }
.filter-grid .button { min-height: 42px; padding: 8px 16px; font-size: 14px; }
.filter-grid select { min-height: 42px; font-size: 14px; }
.filter-grid select, .followup-box select { min-width: 0; padding: 8px 12px; color: #36425b; border: 1px solid #d9e1ef; border-radius: 11px; background: #fbfcff; outline: none; }
.response-list { display: grid; gap: 12px; padding-top: 18px; }
.response-card { padding: 19px; border: 1px solid #e2e8f2; border-radius: 16px; background: #fff; }
.response-main { display: flex; align-items: center; gap: 12px; }
.response-avatar { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; color: white; font-weight: 900; border-radius: 13px; background: linear-gradient(145deg, #315bd3, #7a58c7); }
.response-title { display: flex; align-items: center; gap: 9px; }
.response-title h3 { margin: 0; font-size: 16px; }
.response-title span { color: #647089; font-size: 11px; padding: 3px 7px; border-radius: 6px; background: #eff2f7; }
.response-main p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0; }
.tag { color: #33539b; font-size: 11px; padding: 5px 8px; border-radius: 7px; background: #edf2ff; }
.tag.warning { color: #92531a; background: #fff1dc; }
.answers-heading { margin-top: 15px; padding-top: 14px; color: #263652; border-top: 1px solid #edf0f5; font-size: 12px; font-weight: 900; }
.response-details { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px 10px; margin: 0; padding: 13px 0; border-top: 1px solid #edf0f5; border-bottom: 1px solid #edf0f5; }
.response-details div { min-width: 0; }
.response-details .wide { grid-column: span 2; }
.response-details dt { margin-bottom: 4px; color: var(--muted); font-size: 10px; }
.response-details dd { margin: 0; overflow-wrap: anywhere; white-space: normal; font-size: 12px; font-weight: 700; line-height: 1.65; }
.response-details a { color: #315bd3; }
.response-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 13px; color: #8a95a7; font-size: 10px; }
.file-button { max-width: 55%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0; color: #315bd3; border: 0; background: none; cursor: pointer; font-size: 11px; }
.response-actions { display: flex; align-items: center; justify-content: flex-end; gap: 13px; max-width: 65%; }
.delete-button { padding: 5px 9px; border: 1px solid #f1b7bb; border-radius: 8px; color: #b9333d; background: #fff4f5; cursor: pointer; font-size: 11px; font-weight: 800; white-space: nowrap; }
.delete-button:hover { background: #ffe7e9; }
.followup-box { display: grid; grid-template-columns: 170px 210px minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-top: 14px; padding: 14px; border-radius: 13px; background: #f6f8fc; }
.followup-box label { display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.followup-box textarea, .admin-textarea { width: 100%; min-height: 74px; resize: vertical; padding: 10px 12px; color: var(--ink); border: 1px solid #d9e1ef; border-radius: 11px; background: white; outline: none; }
.team-assignment-box { display: grid; gap: 12px; margin-top: 14px; padding: 15px; border: 1px solid #dce5f5; border-radius: 14px; background: linear-gradient(145deg, #f8fbff, #f3f0ff); }
.team-assignment-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.team-assignment-heading b { color: #172647; font-size: 14px; }
.team-assignment-heading span { color: #74819a; font-size: 11px; }
.team-assignment-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: 12px; }
.team-assignment-fields label { display: grid; gap: 6px; color: #68758d; font-size: 11px; font-weight: 800; }
.team-assignment-fields input { width: 100%; min-height: 43px; padding: 9px 12px; color: #1f2c47; border: 1px solid #d7e0ef; border-radius: 11px; background: #fff; outline: none; }
.team-assignment-fields input:focus { border-color: #6d6cff; box-shadow: 0 0 0 3px rgba(93, 102, 255, .12); }
.readonly-team-assignment { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; padding: 12px 14px; color: #58677f; border: 1px solid #dce5f5; border-radius: 12px; background: #f7f9fd; font-size: 12px; }
.readonly-team-assignment b { color: #22314e; }
.douyin-account-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-top: 14px; padding: 14px; border: 1px solid #dce5f5; border-radius: 13px; background: linear-gradient(145deg, #f8fbff, #f5f2ff); }
.followup-box .douyin-account-row { grid-column: 1 / -1; margin-top: 0; }
.douyin-account-row label { display: grid; gap: 6px; color: #68758d; font-size: 11px; font-weight: 800; }
.douyin-account-row input { width: 100%; min-width: 0; min-height: 43px; padding: 9px 12px; color: #1f2c47; border: 1px solid #d7e0ef; border-radius: 11px; background: #fff; outline: none; }
.douyin-account-row input:focus { border-color: #6d6cff; box-shadow: 0 0 0 3px rgba(93,102,255,.12); }
.douyin-account-row input:disabled { color: #8a95a8; background: #eef2f8; cursor: not-allowed; }
.douyin-account-row small { color: #8a95a8; font-size: 10px; font-weight: 500; }
.assignment-statistics-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.assignment-statistics-grid > section { min-width: 0; padding: 18px; border: 1px solid #e1e8f4; border-radius: 16px; background: #fbfcff; }
.assignment-statistics-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.assignment-statistics-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 12px; min-width: 0; padding: 12px 14px; border: 1px solid #e1e8f4; border-radius: 12px; background: linear-gradient(145deg, #fff, #f3f6ff); }
.assignment-statistics-list span { overflow: hidden; color: #2c3a57; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.assignment-statistics-list b { grid-row: 1 / 3; grid-column: 2; color: #4f46d8; font-size: 22px; }
.assignment-statistics-list small { color: #8a95a8; font-size: 10px; }
.trend-assignment-summary { display: flex; flex-wrap: wrap; gap: 5px 12px; color: #7a879c; font-size: 10px; }
.manage-actions { display: flex; align-items: center; gap: 8px; padding-bottom: 1px; }
.readonly-status { display: flex; flex-wrap: wrap; gap: 8px 15px; margin-top: 14px; padding: 12px; color: var(--muted); border-radius: 11px; background: #f6f8fc; font-size: 11px; }
.readonly-status b { color: #2f53b4; }
.settings-panel { display: grid; gap: 16px; }
.settings-panel > h2, .settings-panel > p { margin: 0; }
.settings-panel > p, .restore-note { color: var(--muted); line-height: 1.7; }
.switch-row { display: flex; align-items: center; gap: 12px; width: fit-content; padding: 14px 16px; border-radius: 13px; background: #f3f6fb; cursor: pointer; }
.switch-row input { width: 22px; height: 22px; accent-color: var(--blue); }
.switch-row span { display: flex; flex-direction: column; gap: 3px; }
.switch-row small { color: var(--muted); }
.backup-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.restore-note { padding: 13px; border-radius: 11px; background: #f6f8fc; font-size: 12px; }
.log-list { display: grid; gap: 8px; padding-top: 16px; }
.log-list article { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(220px, 1fr) auto; gap: 14px; padding: 13px; border: 1px solid #e4e9f2; border-radius: 11px; }
.log-list span, .log-list small { color: var(--muted); font-size: 11px; }
.reviewer-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding: 17px 0; }
.reviewer-summary article { display: flex; justify-content: space-between; align-items: center; padding: 14px; border: 1px solid #e4e9f2; border-radius: 12px; background: #f8faff; }
.reviewer-summary span { color: var(--muted); font-size: 12px; }
.reviewer-summary b { font-size: 22px; }
.reviewer-list { display: grid; gap: 13px; }
.reviewer-card-row { padding: 18px; border: 1px solid #e1e7f1; border-radius: 16px; background: white; }
.reviewer-person { display: flex; align-items: center; gap: 12px; }
.reviewer-person p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.reviewer-status { padding: 4px 8px; border-radius: 999px; font-size: 10px; font-style: normal; font-weight: 800; }
.status-pending { color: #8a5b16; background: #fff3d6; }
.status-approved { color: #176148; background: #ddf8ec; }
.status-rejected, .status-disabled { color: #9a3640; background: #ffe8eb; }
.reviewer-details { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin: 14px 0 0; padding: 13px 0; border-top: 1px solid #edf0f5; }
.reviewer-details dt { margin-bottom: 4px; color: var(--muted); font-size: 10px; }
.reviewer-details dd { margin: 0; font-size: 12px; font-weight: 700; line-height: 1.55; }
.reviewer-details .span-three { grid-column: 1 / -1; }
.reviewer-review { display: grid; grid-template-columns: 190px minmax(0, 1fr) auto; gap: 12px; align-items: end; padding: 14px; border-radius: 13px; background: #f5f8fd; }
.reviewer-review label { display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.reviewer-review select, .reviewer-review textarea { width: 100%; padding: 10px 12px; border: 1px solid #d9e1ef; border-radius: 10px; background: white; }
.reviewer-review textarea { min-height: 66px; resize: vertical; }
.reviewer-actions { display: flex; gap: 8px; }
.reviewer-actions .button { white-space: nowrap; }

/* Reviewer application */
.reviewer-shell { padding-bottom: 52px; }
.reviewer-survey-header .lead { max-width: 690px; margin-bottom: 0; }
.reviewer-form-card { margin-top: 10px; }
.reviewer-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; margin-top: 28px; }
.reviewer-form-grid label { display: flex; flex-direction: column; gap: 7px; color: #303b53; font-size: 13px; font-weight: 800; }
.reviewer-form-grid label span em { color: #e05757; font-style: normal; }
.reviewer-form-grid .span-full { grid-column: 1 / -1; }
.reviewer-card form .consent-card { margin-bottom: 18px; }
.reviewer-result { padding: 32px 0 10px; text-align: center; }
.reviewer-result h2 { margin: 0 0 8px; }
.reviewer-result p { color: var(--muted); }
.status-lookup { margin-top: 32px; padding-top: 26px; border-top: 1px solid var(--line); }
.status-lookup h2 { margin: 0 0 6px; font-size: 18px; }
.status-lookup > p { margin: 0 0 15px; color: var(--muted); font-size: 12px; }
.status-lookup-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.status-result { display: flex; align-items: center; gap: 13px; margin-top: 13px; padding: 15px; border-radius: 12px; }
.status-result b { flex: 0 0 auto; }
.status-result span { line-height: 1.6; font-size: 12px; }
.reviewer-footer { justify-content: space-between; margin-top: 0; }
.reviewer-footer a { color: rgba(227,238,255,.82); text-decoration: none; }
.reviewer-footer a::before { content: "←"; margin-right: 5px; color: #3ee4ff; }
.reviewer-footer span::before { content: "✓"; }
.media-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(0,5,34,.82); backdrop-filter: blur(12px); }
.media-dialog { width: min(960px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 14px; border: 1px solid rgba(154,197,255,.35); border-radius: 18px; background: #081447; box-shadow: 0 30px 90px rgba(0,0,0,.55); }
.media-head { display: flex; justify-content: space-between; align-items: center; padding: 3px 3px 13px; color: white; }
.media-head button { width: 34px; height: 34px; color: white; border: 0; border-radius: 50%; background: rgba(255,255,255,.13); cursor: pointer; font-size: 24px; }
.media-dialog video, .media-dialog img { display: block; max-width: 100%; max-height: calc(100vh - 120px); margin: 0 auto; border-radius: 11px; background: black; }
.empty-state { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 70px 20px; color: var(--muted); }
.empty-state b { color: var(--ink); }

@media (max-width: 700px) {
  body { background-position: center top; background-size: auto 100%; background-attachment: fixed; }
  .company-shell { width: 100%; padding: 0 0 24px; }
  .company-hero { grid-template-columns: 1fr; min-height: auto; border-width: 0 0 1px; border-radius: 0 0 26px 26px; }
  .company-hero-copy { padding: 28px 22px 34px; }
  .company-brand-logo { width: 175px; height: 90px; margin-bottom: 8px; }
  .company-hero h1 { font-size: clamp(32px,9vw,43px); }
  .company-lead { margin: 18px 0 25px; font-size: 14px; }
  .company-hero-actions { display: grid; grid-template-columns: 1fr .72fr; gap: 9px; }
  .company-enter { width: 100%; }
  .company-share-button { width: 100%; min-width: 0; }
  .company-hero-photo { min-height: 270px; }
  .company-hero-photo::after { background: linear-gradient(180deg,#174cb5 0%,rgba(10,48,142,.08) 38%,rgba(2,9,48,.55)); }
  .company-proof { grid-template-columns: 1fr 1fr; margin: 12px; }
  .company-proof article:nth-child(2) { border-right: 0; }
  .company-proof article:nth-child(-n+2) { border-bottom: 1px solid rgba(149,194,255,.17); }
  .company-section { margin: 12px; padding: 34px 20px; border-radius: 22px; }
  .company-support .company-section-heading h2 { font-size: clamp(27px,8vw,38px); white-space: normal; }
  .company-position-grid, .company-support-grid { grid-template-columns: 1fr; }
  .company-position-grid { margin-top: 27px; }
  .company-position-grid p { font-size: 13px; letter-spacing: 0; white-space: normal; }
  .company-scene, .company-scene img { min-height: 245px; height: 245px; }
  .company-service-flow { gap: 7px; }
  .company-service-flow i { display: none; }
  .company-services { min-height: 0; padding: 28px 18px; }
  .company-services-topline { align-items: flex-start; flex-direction: column; gap: 14px; }
  .company-service-badges { justify-content: flex-start; }
  .company-services-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
  .company-services-heading p { margin: 0; font-size: 11px; }
  .company-services-grid { grid-template-columns: 1fr; gap: 8px; margin-top: 18px; }
  .company-services-grid li, .company-services-grid li:last-child { grid-column: auto; min-height: 60px; padding: 11px 12px; gap: 12px; }
  .company-services-grid li > span { flex-basis: 30px; width: 30px; height: 30px; }
  .company-services-grid p { font-size: 13px; line-height: 1.45; }
  .company-cta { margin: 12px; padding: 43px 20px; border-radius: 22px; }
  .share-modal { align-items: end; padding: 0; }
  .share-dialog { width: 100%; max-height: 92vh; padding: 24px 18px calc(20px + env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; }
  .share-dialog h2 { font-size: 24px; }
  .share-actions { grid-template-columns: 1fr 1fr; }
  .share-actions .primary { grid-column: 1 / -1; }
  .survey-shell { width: min(100%, 560px); padding: 0 0 22px; }
  .survey-header { padding: 22px 20px 26px; border-width: 0 0 1px; border-radius: 0 0 22px 22px; }
  .survey-header .survey-title { margin-top: 23px; }
  .brand-row { margin-bottom: 22px; }
  .anchor-survey-header .brand-row { margin-bottom: 8px; }
  .brand-logo { width: 150px; height: 74px; }
  .time-pill { padding: 7px 11px; }
  .form-card { margin: 12px 12px 0; padding: 27px 18px 24px; border: 1px solid rgba(188,216,255,.54); border-radius: 20px; box-shadow: 0 20px 54px rgba(0,10,60,.32); }
  .step-panel + .step-panel { margin-top: 30px; padding-top: 30px; }
  .choice-grid { grid-template-columns: 1fr; }
  .choice { min-height: 48px; }
  .number-answer-row { grid-template-columns: 1fr; }
  .none-choice { min-height: 48px; }
  .form-actions { position: static; margin: 0; padding: 8px 0 0; background: transparent; border-top: 0; backdrop-filter: none; }
  .form-actions .button { flex: 1; }
  .survey-footer { padding: 18px 12px 8px; background: transparent; }
  .success-shell { padding: 20px; }
  .success-card { padding: 38px 23px; }
  .privacy-card { padding: 30px 21px; }
  .admin-shell { width: min(100% - 22px, 640px); padding-top: 22px; }
  .admin-topbar, .panel-toolbar { align-items: stretch; flex-direction: column; }
  .admin-topbar h1 { font-size: 28px; }
  .admin-actions .button { flex: 1; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .statistics-controls { grid-template-columns: 1fr 1fr; }
  .period-switch { grid-column: 1 / -1; justify-content: stretch; }
  .period-button { flex: 1; }
  .statistics-cards { grid-template-columns: 1fr 1fr; }
  .trend-row { grid-template-columns: 1fr; gap: 7px; }
  .trend-series { grid-template-columns: 1fr; }
  .trend-series label { grid-template-columns: 92px minmax(0, 1fr); }
  .admin-panel { padding: 16px; }
  .search-row, .search-input { width: 100%; }
  .admin-nav { overflow-x: auto; }
  .admin-tab { flex: 0 0 auto; }
  .filter-grid { grid-template-columns: 1fr 1fr; }
  .filter-grid .search-input { grid-column: 1 / -1; grid-row: auto; }
  .filter-grid select, .filter-grid #searchButton, .filter-grid #resetFilterButton { grid-column: auto; grid-row: auto; }
  .export-actions .button { flex: 1; }
  .response-details { grid-template-columns: 1fr; }
  .response-details .wide { grid-column: auto; }
  .response-details dd { white-space: normal; }
  .response-footer { align-items: flex-start; flex-direction: column; }
  .file-button { max-width: 100%; }
  .response-actions { align-items: flex-end; flex-direction: column; max-width: 100%; }
  .followup-box { grid-template-columns: 1fr; }
  .team-assignment-fields, .assignment-statistics-grid, .douyin-account-row { grid-template-columns: 1fr; }
  .assignment-statistics-list { grid-template-columns: 1fr; }
  .manage-actions { justify-content: space-between; }
  .log-list article { grid-template-columns: 1fr; gap: 5px; }
  .reviewer-form-grid { grid-template-columns: 1fr; }
  .reviewer-form-grid .span-full { grid-column: auto; }
  .status-lookup-row { grid-template-columns: 1fr; }
  .reviewer-footer { flex-direction: column; }
  .reviewer-summary { grid-template-columns: 1fr 1fr; }
  .reviewer-details { grid-template-columns: 1fr; }
  .reviewer-details .span-three { grid-column: auto; }
  .reviewer-review { grid-template-columns: 1fr; }
  .reviewer-actions { flex-wrap: wrap; }
}

.repeatable-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:22px 0 12px; }
.repeatable-heading h3 { margin:0; color:#102040; font-size:22px; }
.repeatable-heading h3 span,.repeatable-heading h3 em { color:#7886a6; font-size:14px; font-style:normal; font-weight:500; }
.repeatable-heading p { margin:6px 0 0; color:#72809e; }
.work-heading { margin-top:32px; }
.compact-button { min-height:44px; padding:0 18px; white-space:nowrap; }
.repeatable-list { display:grid; gap:14px; }
.repeatable-card { padding:22px; border:1px solid #d6e0f3; border-radius:22px; background:rgba(255,255,255,.72); }
.repeatable-card-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.repeatable-card-title strong { color:#17284a; font-size:18px; }
.repeatable-card-title strong em { color:#f05b63; font-size:14px; font-style:normal; }
.repeatable-card-title strong span,.repeatable-card-title small { color:#7886a6; font-size:14px; font-weight:500; }
.record-delete { border:0; background:transparent; color:#e05263; font:inherit; cursor:pointer; padding:7px 10px; }
.record-date-grid { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:16px; margin-bottom:16px; }
.record-date-grid>label:not(.current-record) { display:grid; gap:8px; color:#394a6b; font-weight:600; }
.current-record { display:flex; align-items:center; gap:8px; min-height:58px; padding:0 8px; color:#394a6b; font-weight:600; }
.current-record input { width:22px; height:22px; accent-color:#5a55ef; }
.resume-upload-box { position:relative; display:grid; gap:7px; padding:24px; border:2px dashed #91aaf0; border-radius:20px; background:#f7f9ff; cursor:pointer; }
.resume-upload-box input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.resume-upload-box strong { color:#20345d; font-size:18px; }
.resume-upload-box small { color:#7483a2; line-height:1.5; }
.priority-fieldset { border:0; padding:0; margin:0; }
.priority-fieldset legend { margin-bottom:12px; color:#132443; font-size:18px; font-weight:700; }
.priority-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.priority-options label { position:relative; }
.priority-options input { position:absolute; opacity:0; }
.priority-options span { display:flex; justify-content:center; align-items:center; min-height:52px; padding:8px 12px; border:1px solid #d5deef; border-radius:14px; background:#fff; color:#314261; text-align:center; cursor:pointer; }
.priority-options input:checked+span { border-color:#6259ee; color:#263b83; background:#f0efff; box-shadow:0 0 0 2px rgba(98,89,238,.1); }
.recruitment-textarea.compact { min-height:118px; }
.recruitment-details .timeline-row { display:grid; gap:5px; padding:10px 0; border-bottom:1px solid #e5eaf4; }
.recruitment-details .timeline-row:last-child { border-bottom:0; }
.recruitment-details .timeline-row b { color:#182744; }
.recruitment-details .timeline-row span { white-space:pre-wrap; color:#485977; line-height:1.55; }
.recruitment-details dd small { margin-left:10px; color:#71809e; }

@media (max-width: 760px) {
  .repeatable-heading { align-items:stretch; flex-direction:column; }
  .compact-button { align-self:flex-start; }
  .record-date-grid { grid-template-columns:1fr; gap:12px; }
  .current-record { min-height:auto; padding:4px 0; }
  .priority-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
