:root {
  --isipc-navy: #071326;
  --isipc-navy-soft: #0d1b34;
  --isipc-gold: #cfa65d;
  --isipc-gold-light: #edd397;
  --isipc-ivory: #fffaf0;
  --isipc-paper: #ffffff;
  --isipc-ink: #19253a;
  --isipc-muted: #667085;
  --isipc-line: #e8dcc6;
  --isipc-good: #18794e;
  --isipc-alert: #b42318;
  --isipc-pending: #9a6700;
  --isipc-serif: "Noto Serif TC", "Songti TC", "PMingLiU", serif;
  --isipc-sans: Inter, "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", Arial, sans-serif;
}

.isipc-portal-shell,
.isipc-portal-shell * { box-sizing: border-box; }
.isipc-portal-shell { width: min(760px, calc(100% - 28px)); margin: 48px auto; font-family: var(--isipc-sans); color: var(--isipc-ink); }
.isipc-portal-shell.is-wide { width: min(1160px, calc(100% - 28px)); }
.isipc-portal-brand { display:flex; align-items:center; gap:20px; padding:26px 30px; color:#fff; background:linear-gradient(135deg,var(--isipc-navy),#172b4d); border:1px solid rgba(207,166,93,.45); border-bottom:4px solid var(--isipc-gold); }
.isipc-portal-brand img { width:90px; height:70px; object-fit:contain; background:rgba(255,255,255,.96); padding:8px; border-radius:10px; }
.isipc-portal-brand span { display:block; color:var(--isipc-gold-light); font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.isipc-portal-brand h1 { margin:4px 0 0; color:#fff; font:600 clamp(24px,4vw,36px)/1.2 var(--isipc-serif); }
.isipc-portal-panel { padding:32px; background:linear-gradient(180deg,#fff,#fffaf0); border:1px solid var(--isipc-line); border-top:0; box-shadow:0 20px 55px rgba(7,19,38,.12); }
.isipc-portal-footer { padding:18px; color:var(--isipc-muted); text-align:center; font-size:11px; letter-spacing:.04em; }

.isipc-portal-form { display:grid; gap:18px; }
.isipc-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.isipc-portal-form label { display:grid; gap:7px; color:var(--isipc-ink); font-weight:700; font-size:14px; }
.isipc-portal-form label > span { color:var(--isipc-muted); font-weight:400; font-size:11px; letter-spacing:.04em; }
.isipc-portal-form input,
.isipc-portal-form select,
.isipc-verify-form input { width:100%; min-height:48px; padding:10px 13px; border:1px solid #cfd5df; border-radius:6px; background:#fff; color:var(--isipc-ink); font:inherit; }
.isipc-portal-form input:focus,
.isipc-portal-form select:focus,
.isipc-verify-form input:focus { outline:3px solid rgba(207,166,93,.24); border-color:var(--isipc-gold); }
.isipc-portal-form small { color:var(--isipc-muted); font-weight:400; }
.isipc-portal-check { grid-template-columns:auto 1fr!important; align-items:center; justify-content:start; font-weight:400!important; }
.isipc-portal-check input { width:18px; min-height:18px; }
.isipc-portal-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 17px; border:1px solid transparent; border-radius:5px; text-decoration:none!important; font-weight:700; font-size:13px; cursor:pointer; }
.isipc-portal-button.primary { background:linear-gradient(135deg,var(--isipc-navy),#1d355b); color:#fff; }
.isipc-portal-button.secondary { border-color:#b6c2d2; background:#fff; color:var(--isipc-navy); }
.isipc-portal-button.gold { border-color:#bd8f3e; background:linear-gradient(135deg,var(--isipc-gold-light),var(--isipc-gold)); color:var(--isipc-navy); }
.isipc-portal-button.disabled { border-color:#d9dee6; background:#f2f4f7; color:#98a2b3; cursor:not-allowed; }
.isipc-portal-form-links { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.isipc-portal-form-links a,.isipc-text-link { color:#7a5518; text-decoration:underline; }
.isipc-portal-note { margin-bottom:24px; padding:16px 18px; border-left:4px solid var(--isipc-gold); background:#fff7e6; color:#59410e; font-size:13px; line-height:1.7; }
.isipc-portal-message { margin-bottom:22px; padding:15px 17px; border-radius:5px; font-size:14px; line-height:1.6; }
.isipc-portal-message.success { background:#ecfdf3; border:1px solid #abefc6; color:#067647; }
.isipc-portal-message.error { background:#fef3f2; border:1px solid #fecdca; color:#b42318; }
.isipc-portal-message.info { background:#eff8ff; border:1px solid #b2ddff; color:#175cd3; }

.isipc-portal-welcome { display:flex; justify-content:space-between; gap:20px; align-items:center; padding-bottom:22px; border-bottom:1px solid var(--isipc-line); }
.isipc-portal-welcome div { display:grid; }
.isipc-portal-welcome span { color:var(--isipc-muted); font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.isipc-portal-welcome strong { font:600 22px/1.3 var(--isipc-serif); }
.isipc-portal-welcome a { color:#7a5518; }
.isipc-portal-tabs { display:flex; gap:4px; margin:24px 0; padding:5px; overflow:auto; border-radius:7px; background:#f2eee6; }
.isipc-portal-tabs a { position:relative; flex:1 0 auto; padding:11px 16px; border-radius:5px; color:#475467; text-align:center; text-decoration:none!important; font-size:13px; font-weight:700; }
.isipc-portal-tabs a.active { background:#fff; color:var(--isipc-navy); box-shadow:0 2px 7px rgba(7,19,38,.08); }
.isipc-unread-badge { display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; margin-left:7px; padding:0 5px; border-radius:20px; background:#b42318; color:#fff; font-size:11px; }
.isipc-entry-year > h2 { margin:32px 0 16px; color:var(--isipc-navy); font:600 25px/1.2 var(--isipc-serif); }
.isipc-entry-year:first-child > h2 { margin-top:0; }
.isipc-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.isipc-entry-card { padding:22px; border:1px solid var(--isipc-line); border-top:4px solid var(--isipc-gold); border-radius:8px; background:#fff; box-shadow:0 8px 22px rgba(7,19,38,.06); }
.isipc-entry-card-head { display:flex; justify-content:space-between; gap:15px; align-items:flex-start; }
.isipc-entry-card-head div { display:grid; }
.isipc-entry-card-head small { color:var(--isipc-muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.isipc-entry-card-head strong { color:var(--isipc-navy); font-size:18px; }
.isipc-entry-card h3 { margin:22px 0 4px; color:var(--isipc-navy); font:600 22px/1.3 var(--isipc-serif); }
.isipc-entry-item { min-height:42px; margin:0 0 18px; color:#475467; font-size:13px; line-height:1.6; }
.isipc-entry-details { margin:0; display:grid; gap:0; }
.isipc-entry-details div { display:grid; grid-template-columns:105px 1fr; gap:12px; padding:9px 0; border-top:1px solid #edf0f4; }
.isipc-entry-details dt { color:var(--isipc-muted); font-size:11px; }
.isipc-entry-details dd { margin:0; color:#344054; font-size:12px; text-align:right; }
.isipc-status { display:inline-flex; padding:4px 8px; border-radius:999px; font-size:10px; font-weight:800; white-space:nowrap; }
.status-good { background:#ecfdf3; color:var(--isipc-good); }
.status-alert { background:#fef3f2; color:var(--isipc-alert); }
.status-pending { background:#fffaeb; color:var(--isipc-pending); }
.isipc-entry-result { display:grid; gap:3px; margin-top:15px; padding:14px; border-radius:5px; background:linear-gradient(135deg,#fff8e7,#f4dfb5); }
.isipc-entry-result span { color:#7a5518; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.isipc-entry-result strong { color:var(--isipc-navy); font:600 18px/1.3 var(--isipc-serif); }
.isipc-entry-result small { color:#6b532d; }
.isipc-entry-result p { margin:8px 0 0; padding-top:8px; border-top:1px solid rgba(122,85,24,.25); color:#594923; font-size:12px; line-height:1.65; }
.isipc-entry-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:18px; }
.isipc-portal-empty { padding:40px 24px; border:1px dashed #c8ced8; background:#fbfcfe; text-align:center; }
.isipc-portal-empty h3 { margin:0 0 8px; color:var(--isipc-navy); }
.isipc-portal-empty p { margin:0; color:var(--isipc-muted); }

.isipc-notice-list { display:grid; gap:14px; }
.isipc-notice-card { padding:21px; border:1px solid var(--isipc-line); border-left:5px solid #98a2b3; background:#fff; }
.isipc-notice-card.priority-important { border-left-color:var(--isipc-gold); }
.isipc-notice-card.priority-urgent { border-left-color:#b42318; background:#fffafa; }
.isipc-notice-card.is-read { opacity:.78; }
.isipc-notice-meta { display:flex; justify-content:space-between; color:var(--isipc-muted); font-size:10px; letter-spacing:.06em; }
.isipc-notice-card h3 { margin:10px 0 8px; color:var(--isipc-navy); font:600 19px/1.35 var(--isipc-serif); }
.isipc-notice-content { color:#475467; font-size:13px; line-height:1.7; }
.isipc-text-button { padding:0; border:0; border-bottom:1px solid currentColor; background:transparent; color:#7a5518; font:inherit; font-size:12px; cursor:pointer; }

.isipc-verify-form { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:end; }
.isipc-verify-form label { display:grid; gap:7px; font-weight:700; }
.isipc-verification { margin-top:25px; padding:24px; border-radius:7px; }
.isipc-verification.valid { border:1px solid #75e0a7; background:#ecfdf3; }
.isipc-verification.invalid { border:1px solid #fda29b; background:#fef3f2; }
.isipc-verification > span { font-size:10px; font-weight:800; letter-spacing:.16em; }
.isipc-verification h3 { margin:6px 0 18px; }
.isipc-verification dl { display:grid; gap:8px; margin:0; }
.isipc-verification dl div { display:grid; grid-template-columns:110px 1fr; }
.isipc-verification dt { color:var(--isipc-muted); }
.isipc-verification dd { margin:0; font-weight:700; }

.isipc-document-body { margin:0; padding:24px; background:#e8ebef; color:var(--isipc-ink); font-family:var(--isipc-sans); }
.isipc-pass-document { width:min(760px,100%); margin:0 auto; padding:36px; border:1px solid #b98c3d; border-top:12px solid var(--isipc-navy); background:#fff; box-shadow:0 20px 50px rgba(0,0,0,.15); }
.isipc-pass-document header { display:flex; align-items:center; gap:22px; padding-bottom:24px; border-bottom:2px solid var(--isipc-gold); }
.isipc-pass-document header img { width:120px; height:85px; object-fit:contain; }
.isipc-pass-document header small { color:#7a5518; letter-spacing:.14em; }
.isipc-pass-document h1 { margin:4px 0; color:var(--isipc-navy); font:600 34px/1.2 var(--isipc-serif); }
.isipc-pass-document header p { margin:0; color:var(--isipc-muted); }
.isipc-pass-number { display:flex; justify-content:space-between; align-items:center; margin:26px 0; padding:16px 20px; background:var(--isipc-navy); color:#fff; }
.isipc-pass-number span { color:var(--isipc-gold-light); font-size:11px; letter-spacing:.14em; }
.isipc-pass-number strong { font-size:26px; }
.isipc-pass-document dl { margin:0; }
.isipc-pass-document dl div { display:grid; grid-template-columns:220px 1fr; gap:18px; padding:14px 0; border-bottom:1px solid #e6e9ee; }
.isipc-pass-document dt { color:var(--isipc-muted); }
.isipc-pass-document dd { margin:0; font-weight:700; text-align:right; }
.isipc-pass-document footer { margin-top:26px; padding:18px; background:#fff8e7; color:#604b28; }
.isipc-pass-document footer p { margin:0 0 7px; }
.isipc-document-actions { display:flex; justify-content:center; gap:12px; margin:20px auto; }
.isipc-document-actions button { padding:10px 18px; border:0; border-radius:5px; background:var(--isipc-navy); color:#fff; cursor:pointer; }

.isipc-certificate-document { width:1120px; max-width:100%; min-height:790px; margin:0 auto; padding:18px; background:#fff; box-shadow:0 20px 55px rgba(0,0,0,.14); }
.isipc-certificate-border { position:relative; min-height:754px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:55px 90px; border:4px double #b68a3a; outline:1px solid #ead8b4; outline-offset:-14px; background:radial-gradient(circle at center,#fff 0,#fffaf0 68%,#f4e4c3 100%); text-align:center; }
.isipc-certificate-logo { width:155px; height:95px; object-fit:contain; margin-bottom:14px; }
.isipc-certificate-kicker { margin:0; color:#81622f; font-size:12px; letter-spacing:.22em; }
.isipc-certificate-document h1 { margin:22px 0; color:var(--isipc-navy); font:600 48px/1.15 Georgia,var(--isipc-serif); }
.isipc-certificate-presented,.isipc-certificate-for { margin:4px 0; color:#667085; font:18px/1.5 Georgia,var(--isipc-serif); }
.isipc-certificate-document h2 { margin:18px 0; color:#8c6119; font:600 42px/1.2 var(--isipc-serif); border-bottom:1px solid #cba45c; padding:0 35px 8px; }
.isipc-certificate-document h3 { margin:14px 0; color:#344054; font:600 23px/1.35 var(--isipc-serif); }
.isipc-certificate-award { margin:22px 0; padding:11px 32px; border:1px solid #b88837; background:linear-gradient(135deg,#f7dfaa,#c99843); color:var(--isipc-navy); font:700 27px/1.2 var(--isipc-serif); }
.isipc-certificate-footer { position:absolute; left:70px; right:70px; bottom:46px; display:flex; justify-content:space-between; color:#6d5733; font-size:12px; }
.isipc-certificate-verify { position:absolute; bottom:20px; margin:0; color:#8a8175; font-size:9px; }

@media (max-width: 720px) {
  .isipc-portal-shell { margin:24px auto; width:min(100% - 18px,760px); }
  .isipc-portal-panel { padding:20px; }
  .isipc-portal-brand { padding:20px; gap:14px; }
  .isipc-portal-brand img { width:70px; height:58px; }
  .isipc-entry-grid { grid-template-columns:1fr; }
  .isipc-entry-actions { grid-template-columns:1fr; }
  .isipc-entry-details div { grid-template-columns:95px 1fr; }
  .isipc-verify-form { grid-template-columns:1fr; }
  .isipc-pass-document { padding:22px; }
  .isipc-pass-document header { align-items:flex-start; }
  .isipc-pass-document header img { width:90px; }
  .isipc-pass-document dl div { grid-template-columns:1fr; gap:4px; }
  .isipc-pass-document dd { text-align:left; }
  .isipc-certificate-border { padding:35px 24px 90px; }
  .isipc-certificate-document h1 { font-size:34px; }
  .isipc-certificate-document h2 { font-size:30px; }
  .isipc-certificate-footer { left:28px; right:28px; bottom:48px; }
}

@media print {
  @page { size:A4; margin:10mm; }
  .isipc-document-body { padding:0; background:#fff; }
  .isipc-document-actions { display:none!important; }
  .isipc-pass-document,.isipc-certificate-document { width:100%; max-width:none; box-shadow:none; }
  .isipc-certificate-document { min-height:270mm; }
  .isipc-certificate-border { min-height:250mm; }
}

/* v0.2.0 multi-competition registration */
.isipc-portal-button.compact{padding:8px 12px;font-size:13px}.isipc-registration-intro{padding:18px 20px;margin-bottom:18px;background:linear-gradient(135deg,#071a3c,#173b78);color:#fff;border-radius:14px}.isipc-registration-intro h2{color:#fff;margin:0 0 6px}.isipc-registration-intro p{margin:0;color:#e9eef9}.isipc-form-section{border:1px solid #e2e6ed;border-radius:14px;padding:18px;margin:18px 0;background:#fff}.isipc-form-section h3{margin-top:0;color:#0d2d61}.isipc-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.isipc-new-candidate{margin-top:14px;padding:15px;border:1px dashed #b8c2d3;border-radius:12px;background:#f8fafc}.isipc-new-candidate.is-hidden{display:none}.isipc-edition-list{display:grid;gap:18px}.isipc-edition-card{border:1px solid #dfe4ec;border-radius:14px;overflow:hidden;background:#fff}.isipc-edition-card>header{padding:16px 18px;background:#f2f5fa;border-bottom:1px solid #dfe4ec}.isipc-edition-card>header span{font-size:12px;text-transform:uppercase;color:#9a6a10;font-weight:700}.isipc-edition-card>header h4{font-size:20px;margin:3px 0;color:#0b2a59}.isipc-edition-card>header small{color:#596579}.isipc-category-list{display:grid}.isipc-category-option{display:grid!important;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:14px 18px!important;margin:0!important;border-bottom:1px solid #edf0f4;cursor:pointer}.isipc-category-option:last-child{border-bottom:0}.isipc-category-option:hover{background:#fffaf0}.isipc-category-option input[type=checkbox]{width:20px;height:20px}.isipc-category-option span{display:flex;flex-direction:column}.isipc-category-option span strong{color:#132a4d}.isipc-category-option span small{font-size:12px;color:#697487}.isipc-category-option b{white-space:nowrap;color:#9a6a10}.isipc-category-option em{font-style:normal;font-size:12px;color:#4d5a6e}.isipc-category-option select{width:auto;min-width:100px}.isipc-registration-summary{position:sticky;bottom:10px;z-index:3;display:flex;justify-content:space-between;gap:15px;padding:15px 18px;margin:18px 0;background:#071a3c;color:#fff;border:1px solid #c99a35;border-radius:12px;box-shadow:0 8px 28px rgba(7,26,60,.18)}.isipc-registration-summary strong{color:#f2c767}.isipc-application-list{display:grid;gap:16px}.isipc-application-card{border:1px solid #dfe4ec;border-radius:14px;background:#fff;overflow:hidden}.isipc-application-card>header{display:flex;justify-content:space-between;gap:15px;padding:16px 18px;background:#f6f8fb}.isipc-application-card>header h3{margin:2px 0;color:#0b2a59}.isipc-application-card>header div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.isipc-application-card ul{list-style:none;padding:0;margin:0}.isipc-application-card li{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(200px,1.5fr) auto;gap:12px;padding:12px 18px;border-top:1px solid #edf0f4}.isipc-application-card li span{color:#667085}.isipc-application-card li b{color:#172b4d}.isipc-application-card li em{font-style:normal;color:#9a6a10;white-space:nowrap}.isipc-application-card>footer{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;background:#fbfbfc;border-top:1px solid #e8ebf0}.isipc-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:700px){.isipc-two-cols{grid-template-columns:1fr}.isipc-category-option{grid-template-columns:auto 1fr}.isipc-category-option b,.isipc-category-option em,.isipc-category-option select{grid-column:2}.isipc-application-card>header{flex-direction:column}.isipc-application-card>header div:last-child{align-items:flex-start}.isipc-application-card li{grid-template-columns:1fr}.isipc-registration-summary{flex-direction:column;gap:5px}}

/* v0.3.0 discounts and payments */
.isipc-discount-badge{display:inline-block;margin-top:8px;padding:4px 9px;border-radius:999px;background:#fff3c9;color:#76530a;font-weight:700;font-size:12px}
.isipc-category-option del{opacity:.6;font-size:.86em;margin-right:4px}
.isipc-application-discount{display:grid;gap:4px;padding:12px 18px;background:#fff9e8;border-top:1px solid rgba(184,138,43,.22)}
.isipc-application-discount strong{color:#8a620c}.isipc-application-discount small{opacity:.75}
.isipc-payment-buttons{display:flex;gap:10px;flex-wrap:wrap;padding:16px 18px;border-top:1px solid rgba(23,59,120,.12)}
.isipc-payment-buttons form{margin:0}.isipc-payment-unavailable{padding:14px 18px;margin:0;border-top:1px solid rgba(23,59,120,.12);font-size:14px}
.isipc-registration-summary [hidden]{display:none!important}

/* v0.4.0 Smart Check-in */
.isipc-pass-qr-section{margin:24px 0 0;padding:18px;border:1px solid rgba(184,138,43,.45);background:#fffaf0;border-radius:14px;display:flex;gap:20px;align-items:center}.isipc-pass-qr{width:220px;min-width:220px;height:220px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(23,59,120,.08)}.isipc-pass-qr svg{display:block;max-width:100%;height:auto}.isipc-pass-qr-section>div:last-child strong{display:block;color:#173b78;font-size:1.05rem;letter-spacing:.08em}.isipc-pass-qr-section>div:last-child p{margin:.5rem 0 0;line-height:1.6;color:#4f5969;font-size:.92rem}
.isipc-checkin-shell{max-width:980px}.isipc-checkin-toolbar{display:flex;gap:14px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}.isipc-checkin-search{display:flex;align-items:end;gap:10px;flex:1;min-width:280px}.isipc-checkin-search label{font-weight:700;flex:1}.isipc-checkin-search input{width:100%;margin-top:6px}.isipc-checkin-camera-note{background:#eef5ff;border-left:4px solid #173b78;padding:12px 14px;border-radius:8px;line-height:1.55}.isipc-checkin-result{margin:20px 0;padding:24px;border-radius:18px;border:2px solid #d7deea;background:#fff;box-shadow:0 14px 40px rgba(23,59,120,.09)}.isipc-checkin-result.is-success{border-color:#28a36a;background:#f3fff8}.isipc-checkin-result.is-error{border-color:#c94141;background:#fff5f5}.isipc-checkin-result.is-ready{border-color:#b88a2b;background:#fffaf0}.isipc-checkin-state{display:flex;align-items:center;gap:12px;margin-bottom:12px}.isipc-checkin-state span{font-size:.75rem;letter-spacing:.12em;font-weight:800;color:#697386}.isipc-checkin-state strong{font-size:1rem;color:#173b78}.isipc-checkin-result h2{font-size:2rem;margin:.2rem 0;color:#112b57}.isipc-checkin-entry-number{font-size:1.25rem;font-weight:800;color:#b07d16;margin-bottom:18px}.isipc-checkin-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0}.isipc-checkin-details>div{padding:10px 0;border-bottom:1px solid #e8edf5}.isipc-checkin-details dt{font-size:.78rem;color:#697386}.isipc-checkin-details dd{margin:3px 0 0;font-weight:700;color:#1f2f46}.isipc-checkin-audit{margin-top:14px;padding:10px 12px;border-radius:8px;background:#eaf8f0;color:#245e42}.isipc-checkin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.isipc-checkin-action-form{margin:0}.isipc-portal-button.danger{background:#b42318;color:#fff;border-color:#b42318}.isipc-checkin-duplicate-note{width:100%;font-weight:700;color:#267452;margin-bottom:4px}.isipc-checkin-summary{margin:22px 0}.isipc-checkin-summary h2{margin-bottom:2px}.isipc-checkin-stats{display:grid;grid-template-columns:repeat(6,minmax(95px,1fr));gap:10px;margin-top:14px}.isipc-checkin-stats>div{background:#fff;border:1px solid #dce4ef;border-top:3px solid #173b78;border-radius:12px;padding:14px;text-align:center}.isipc-checkin-stats strong{display:block;font-size:1.75rem;color:#173b78}.isipc-checkin-stats span{font-size:.78rem;color:#667085}.isipc-checkin-recent{margin-top:28px}.isipc-checkin-log-list{border:1px solid #e3e8ef;border-radius:12px;overflow:hidden}.isipc-checkin-log-list>div{display:grid;grid-template-columns:150px 1fr 120px;gap:10px;padding:10px 12px;background:#fff;border-bottom:1px solid #edf1f5;align-items:center}.isipc-checkin-log-list>div:last-child{border-bottom:0}.isipc-checkin-log-list span{font-size:.82rem;color:#697386}.isipc-checkin-log-list strong{color:#1f2f46}.isipc-checkin-log-list em{font-style:normal;font-weight:700;color:#173b78;text-align:right}.isipc-checkin-login{text-align:center;padding:30px 12px}
@media (max-width:700px){.isipc-pass-qr-section{flex-direction:column;text-align:center}.isipc-pass-qr{width:200px;min-width:200px;height:200px}.isipc-checkin-search{flex-direction:column;align-items:stretch}.isipc-checkin-details{grid-template-columns:1fr}.isipc-checkin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.isipc-checkin-log-list>div{grid-template-columns:1fr}.isipc-checkin-log-list em{text-align:left}.isipc-checkin-result h2{font-size:1.6rem}}
@media print{.isipc-pass-qr-section{break-inside:avoid}.isipc-pass-qr{box-shadow:none}}

/* v0.5.0 Supporting Group Portal */
.isipc-partner-login-hero{padding:22px;border-radius:18px;background:linear-gradient(135deg,#102e61,#1f4f91);color:#fff;margin-bottom:22px}.isipc-partner-login-hero span{font-size:12px;letter-spacing:.18em;color:#e9c86c}.isipc-partner-login-hero h2{margin:6px 0 8px;color:#fff}.isipc-partner-login-hero p{margin:0;color:#eaf0fb}.isipc-partner-welcome small{display:block;margin-top:4px;color:#6b7280}.isipc-partner-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.isipc-partner-stats>div{background:#fff;border:1px solid #e2e8f0;border-radius:15px;padding:16px;box-shadow:0 8px 20px rgba(23,59,120,.05)}.isipc-partner-stats span{display:block;color:#64748b;font-size:13px}.isipc-partner-stats strong{display:block;color:#173b78;font-size:28px;margin-top:5px}.isipc-student-library-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.isipc-student-library-head h2{margin:0 0 6px}.isipc-student-library-head p{margin:0;color:#64748b;max-width:760px}.isipc-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.isipc-student-card{border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:18px;box-shadow:0 10px 26px rgba(15,23,42,.05)}.isipc-student-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #eef2f7;padding-bottom:12px;margin-bottom:12px}.isipc-student-card header small{color:#9a762d;text-transform:uppercase;letter-spacing:.08em}.isipc-student-card header h3{margin:3px 0 0;color:#173b78}.isipc-student-card header>span{background:#f6f1e5;color:#7c5c19;border-radius:999px;padding:5px 9px;font-size:12px;white-space:nowrap}.isipc-student-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.isipc-student-card dl div{min-width:0}.isipc-student-card dt{font-size:12px;color:#64748b}.isipc-student-card dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}.isipc-student-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px}.isipc-candidate-editor{margin-top:24px;padding:20px;border:1px solid #e2e8f0;border-radius:18px;background:#f8fafc}.isipc-candidate-editor h3{margin-top:0;color:#173b78}.isipc-payment-ledger>h2{margin-bottom:4px}.isipc-payment-ledger>p{color:#64748b}.isipc-payment-row{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #e5e7eb}.isipc-payment-row>div:first-child{display:flex;flex-direction:column}.isipc-payment-row small{color:#64748b}.isipc-payment-row strong{font-size:18px;color:#173b78}.isipc-payment-row .isipc-payment-buttons{margin-left:auto}.isipc-partner-account-card{border:1px solid #e2e8f0;border-radius:18px;padding:22px;background:#fff}.isipc-partner-account-card h2{margin-top:0;color:#173b78}.isipc-partner-account-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.isipc-partner-account-card dl div{padding:12px;border-radius:12px;background:#f8fafc}.isipc-partner-account-card dt{color:#64748b;font-size:12px}.isipc-partner-account-card dd{margin:3px 0 0;font-weight:700}.isipc-portal-button.compact{padding:8px 12px;font-size:13px}
@media(max-width:760px){.isipc-partner-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.isipc-student-grid{grid-template-columns:1fr}.isipc-student-library-head{flex-direction:column}.isipc-partner-account-card dl{grid-template-columns:1fr}.isipc-payment-row{align-items:flex-start;flex-direction:column}.isipc-payment-row .isipc-payment-buttons{margin-left:0}.isipc-student-card dl{grid-template-columns:1fr}}

/* v0.5.1 PayPal-first checkout */
.isipc-payment-buttons.isipc-paypal-only{align-items:center;justify-content:space-between;background:#fbfcff;border:1px solid rgba(23,59,120,.12);border-radius:14px;margin-top:12px;padding:14px 16px}.isipc-paypal-copy{display:flex;flex-direction:column;gap:3px;min-width:220px}.isipc-paypal-copy strong{color:#173b78}.isipc-paypal-copy span{font-size:13px;color:#64748b}.isipc-payment-buttons.isipc-paypal-only form{margin-left:auto}@media(max-width:620px){.isipc-payment-buttons.isipc-paypal-only{align-items:stretch;flex-direction:column}.isipc-payment-buttons.isipc-paypal-only form{margin-left:0}.isipc-payment-buttons.isipc-paypal-only button{width:100%}}

/* v0.5.3 Email-only participant login */
.isipc-email-login-intro{margin:0 0 22px;padding:22px 24px;border:1px solid #dce4ef;border-radius:18px;background:linear-gradient(145deg,#f8fbff,#fff);box-shadow:0 12px 34px rgba(23,59,120,.06)}
.isipc-email-login-intro h2{margin:0 0 8px;color:#173b78;font-size:1.45rem}
.isipc-email-login-intro p{margin:0;color:#566579;line-height:1.7}
.isipc-pilot-note{margin-top:15px;padding:10px 12px;border-left:3px solid #b88a2b;background:#fff9e8;color:#6f5318;border-radius:7px;font-size:.88rem}
.isipc-login-help{margin:0;color:#68758a;font-size:.88rem;line-height:1.6}
.isipc-email-code-form input[name="code"]{font-size:1.45rem;letter-spacing:.26em;text-align:center;font-weight:800;color:#173b78}
.isipc-portal-form input:focus,.isipc-portal-form select:focus,.isipc-portal-form textarea:focus{outline:none;border-color:#315b9c;box-shadow:0 0 0 3px rgba(49,91,156,.14)}
